計算機網絡(二十二):虛電路和數據報網絡

網絡層也能夠在兩臺主機之間提供無連接服務或連接服務,網絡層的連接和無連攘服務在許多方面與運輸層的面向連接和無連接服務類似。
例如,網絡層連接服務以源和目的主機間的握手開始;網絡層無連接服務則沒有任何握手預備步驟。
儘管網絡層連接和無連接服務與運輸層面向連接和無連接服務有類似之處,但也存在重大差異:
①、在網絡層中,這些服務是由網絡層向運輸層提供的主機到主機的服務。在運輸層中,這些服務則是運輸層嚮應用層提供的進程到進程的服務。
②、在至今爲止的所有主要的計算機網絡體系結構中,網絡層或者提供了主機到主機的無連接服務,或者提供了主機到主機的連接服務,而不同時提供這兩種服務。僅在網絡層提供連接服務的計算機網絡稱爲虛電路網絡(虛擬了一條不存在的電路連接);僅在網絡層提供無連接服務的計算機網絡稱爲數據報網絡(通過直接發送數據報文實現通信)。
③、在運輸層實現面向連接的服務與在網絡層實現連接服務是根本不同的。運輸層面向連接服務是在位於網絡邊緣的端系統中實現的;網絡層連接服務除了在端系統中,也在位於網絡核心的路由器中實現。

1、虛電路網絡:

一條虛電路的組成如下:
①、源和目的主機之間的路徑(即一系列鏈路和路由器);
②、VC號,沿着該路徑的每段鏈路的一個號碼;
③、沿着該路徑的每臺路由器中的轉發表表項。
屬於一條虛電路的分組將在它的首部攜帶一個VC號,因爲一條虛電路在每條鏈路上可能具有不同的VC號,每臺中間路由器必須用一個新的VC號替代每個傳輸分組的VC號,該新的VC號從轉發表獲得。
對於虛電路網絡,每臺路由器的轉發表包括vc號的轉換。無論何時跨越一臺路由器創建一條新的虛電路,轉發表就增加了一個新表項。無論何時終止一條虛電路,沿着該路徑每個表中的相應項將被刪除。
簡單地講,就是說每當建立一條虛電路時,會對虛電路上所需要經過的鏈路進行一次編號,然後在每個鏈路交界處的路由器中的轉發表中,按照入VC和出VC的形式進行存儲。即便是同一條鏈路,在不同的虛電路中的VC號是不同的。
之所以不簡單的保持相同VC號的原因是:
①、逐鏈路代替該號碼減少了在分組首部中vc宇段的長度
②、通過允許沿着該虛電路路徑每條鏈路有一個不同的vc號,大大簡化了虛電路的建立。在具有多個vc號的路徑,其上的每條鏈路能夠獨立於沿着該路徑的其他鏈路所選的號碼選擇一個vc號。如果沿着某路徑的所有鏈路要求一個共同的vc的話,路由器將不得不交換並處理相當大量的報文,以約定一個共同的vc號用於一次鏈接。
簡單地講就是可以讓同一條鏈路在兩端的路由器中具有完全不同的vc號,比方說在R1中是出鏈路,出VC號爲1,而在R2中是入鏈路,入VC號爲任意一個數字,不一定非是1。
在虛電路網絡中,該網絡的路由器必須爲進行中的連接維持連接狀態信息。每當跨越一臺路由器創建一個新連接,必須在該路由器的轉發表中增加一個新的連接項;每當釋放一個連接,必須從該表中刪除該項。
虛電路有三個階段:
①、虛電路建立:在建立階段,發送運輸層與網絡層聯繫,指定接收方地址,等待網絡建立虛電路。網絡層決定發送方與接收方之間的路徑,即該虛電路的所有分組要通過的一系列鏈路與路由器。網絡層也爲沿着該路徑的每條鏈路決定一個vc號。最後,網絡層在沿着路徑的每臺路由器的轉發表中增加一個表項。在虛電路建立期間,網絡層還可以預留該虛電路路徑上的資源(如帶寬)。即確認發送方與接收方主機,確認路徑(鏈路+路由器,通過最短路徑算法確定),修改轉發表。
②、數據傳送:一旦創建了虛電路,分組就可以開始沿該虛電路流動了。
③、虛電路拆除:當發送方(或接收方)通知網絡層它希望終止該虛電路時,就啓動這個階段。然後網絡層通常將通知網絡另一側的端系統結束呼叫,並更新路徑上每臺分組路由器中的轉發表以表明該虛電路已不存在了。即修改轉發表。
運輸層的連接建立僅涉及兩個端系統。在運輸層的連接建立期間,兩個端系統獨自決定運輸層連接的參數(如初始序號與流量控制窗口長度)。雖然這兩個端系統已經知道該運輸層連接,但網絡中的路由器則對這些完全不知情。
在另一方面,對於一個虛電路網絡層,沿兩個端系統之間路徑上的路由器都要參與虛電路的建立,且每臺路由器都完全知道經過它的所有虛電路。
對於虛電路網絡,簡單地講,就是說運輸層只需要調用網絡層的服務,給定一個發送方和一個接收方,就可以搭建一條連接。而網絡層需要在給定的發送方和接收方的基礎上,計算出這條路徑上所需要的鏈路和路由器,然後告知這些路由器,由此建立一條虛擬電路。
端系統向網絡發送指示虛電路啓動與終止的報文,以及路由器之間傳遞的用於建立虛電路(即修改路由器表中的連接狀態)的報文,它們被稱爲信令報文,用來交換這些報文的協議常稱爲信令協議。

2、數據報網絡

在數據報網絡中,每當一個端系統要發送分組,它就爲該分組加上目的端系統的地址,然後將分組推進網絡中。無需建立任何虛電路,路由器不維護任何虛電路的狀態信息。
當分組從源到目的地傳輸,它通過一系列路由器傳遞。路由器中的每臺都使用分組的目的地址來轉發該分組。每臺路由器有一個將目的地址映射到鏈路接口的轉發表;當分組到達路由器時,路由器使用該分組的目的地址在轉發表中查找適當的輸出鏈路接口。然後路由器有意將分組向該輸出鏈路接口轉發。
在路由器的轉發表中就沒有必要有40億表項(全部表項),因爲針對一個路由器,其能夠到達的目的地址是有限的,而且不同分支能夠到達的目的地址可以有明顯的相似性。
使用這種風格的轉發表,路由器用分組的目的地址的前綴與該表中的表項進行匹配;如果存在一個匹配項,則路由器向與該匹配項相聯繫的鏈路轉發分組。例如,假設分組的目的地址是11001000000101110001011010100001; 因爲該地址的21比特前綴匹配該表的第一項,所以路由器向鏈路接口0轉發該分組。如果一個前綴不匹配前3項中的任何一項,則路由器向鏈路接口3轉發該分組。
儘管昕起來足夠簡單,但這裏還是有重要的微妙之處。一個目的地址可能與不止一個表項相匹配。例如,地址11001000000101110001000010101010的前24比特與表中的第二項匹配,而該地址的前21比特與表中的第三項匹配。當有多個匹配時,該路由器使用最長前綴匹配規則;即在該表中尋找最長的匹配項,並向與最長前綴匹配相關聯的鏈路接口轉發分組。即相當於找最接近目的地址的路由器轉發分組。
雖然在數據報網絡中的路由器不維持連接狀態信息(即不知道目的地和起始地,不知道如何路由),但它們在其轉發表中維持了轉發狀態信息(即知道中間轉向方式,知道如何轉發)。然而,轉發狀態信息表變化的時間尺度相對要慢。實際上,在數據報網絡中的轉發表是通過路由選擇算法進行修改的,這通常每5分鐘左右更新一次轉發表。即由於數據報網路不需要實時的建立連接,在創建實體網絡的時候,其轉發就相對固定,所以不需要經常修改轉發表。
在虛電路網絡中,通過路由器建立一條新的連接,或通過路由器拆除一條現有的連接,路由器中的轉發表就被更新。對一臺第一層主幹路由器而言,這很容易以微秒的時間尺度進行更新。即由於每次建立連接都要新的鏈路連接,所以需要實時對轉發表進行更新,表更新更頻繁。
因爲在數據報網絡中的轉發表能夠在任何時刻修改,從一個端系統到另一個端系統發送一系列分組可能在通過網絡時走不同的路徑,並可能無序到達。即由於轉發表的轉換和分組並無太大關聯,並不是同步的,所以可能一系列分組沒有傳輸完,而轉發表就發生了改變。

3、虛電路和數據報網絡的由來:

虛電路的概念來源於電話界,它採用了真正的電路。因特網作爲一種數據報網絡,是由將計算機連接在一起的需求發展而來的。由於端系統設備複雜得多,因特網架構師們選擇使網絡層服務模型儘可能簡單。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章