什么是虛電路和數據報它們的工作原理是什么?
傳輸層能夠為應用程序提供無連接服務或面向連接服務。
類似的,網絡層也能夠提供無連接服務或連接服務。網絡層的連接和無連接服務在許多方面等同于傳輸層的面向連接和無連接服務。
TCP/IP 網絡體系結構(因特網)中,提供了主機到主機的連接服務,稱為數據報網絡.
曾經的 ATM 網絡,是在網絡層提供連接服務的計算機網絡,被稱為虛電路(了解這種技術就可以了,現在已經不用了,但是可以在這種技術的發展、消亡中學到點什么)。
在傳輸層實現面向連接的服務與在網絡層實現連接服務是根本不同的。傳輸層面向連接服務是在位于網絡邊緣的端系統中實現的;而網絡層連接服務除了在端系統中實現外,也在位于網絡核心的路由器中實現。
虛電路和數據報網絡是計算機網絡的兩種基本類型。
一:虛電路網絡
曾經的許多網絡體系結構(包括 ATM、幀中繼)都是虛電路網絡,在網絡層使用連接,這 些網絡層連接被稱為虛電路。
盡管虛電路技術已經不再使用,但是類似的思想在電話網絡和多協議標記交換網絡 (MPLS)還是有其應用,因此學習虛電路技術還是有必要的。
一條虛電路(VC)的組成如下:
①源和目的主機之間的路徑(即一系列鏈路和路由器);
②VC 號,沿著該路徑的每段鏈路一個號碼;
③沿著該路徑的每臺路由器中的轉發表表項。
屬于一條虛電路的分組將在它的首部攜帶一個 VC 號。因為一條虛電路在每條鏈路上可能具有不同的VC號,所以每臺中間路由器必須用一個新的VC號替代每個傳輸分組的VC號。 這個新的 VC 號從轉發表中獲得。
考慮圖中的網絡,現在假定主機 A 請求該網絡在它自己與主機 B 之間創建一條虛電路。 同時假定該網絡為該虛電路選擇路徑 A-R1-R2-B,并為這條路徑上的這 3 條鏈路分配 VC 號 12、22 和 32。在這種情況下,當這條虛電路中的分組離開主機 A 時,該分組首部中的 VC 字段的值是 12;當它離開 R1 時該值是 22,而當它離開 R2 時該值是 32。
對于分組通過某路由器,該路由器怎樣決定 VC 號的更換呢?對于虛電路網絡,每臺路由 器的轉發表包括了 VC 號的轉換。例如,R1 中的轉發表可能是:
當跨越一臺路由器創建一條新的虛電路時,轉發表就增加一個新項。類似地,無論何時 終止一條虛電路,就刪除沿著該路徑每個表中的相應項。
一個分組沿著其路由在每條鏈路上不能保持相同的 VC 號。原因有二:
逐鏈路代替該號碼減少了分組首部中 VC 字段的長度。通過允許沿著該虛電路路徑每條鏈路有一個不同的 VC 號,大大簡化了虛電路的建立。特別是具有多個 VC 號,該路徑上的每條鏈路能夠選擇一個 VC 號,獨立于沿著該路 徑的其他鏈路的 VC 號。如果沿著某路徑的所有鏈路需要一個共同的 VC 號的話,路由器將 不得不交換相當大量的報文,以約定一個共同的 VC 號來用于一次連接。在虛電路中有 3 個明顯不同的階段:
1:虛電路建立。
虛電路的所有分組要通過的一系列鏈路與路由器。網絡層也為沿著該路徑 的每條鏈路確定一個 VC 號。在沿著路徑的每臺路由器的轉發表中增加一表項。在虛電路建 立期間,網絡層還可以預留虛電路路徑上的資源(如帶寬)。
2:數據傳送。一旦創建了虛電路,分組就可以開始沿該虛電路流動了。
3:虛電路拆除。當發送方(或接收方)通知網絡層它想終止該虛電路時,就啟動這個過程。
在網絡層的虛電路建立與傳輸層的連接建立之間的區別:
傳輸層的連接建立僅涉及兩個端系統。
虛電路網絡中,沿兩個端系統之間路徑土的路由器都要參與虛電路的建立,且每臺路由 器都完全知道經過它的所有虛電路。
端系統向網絡發送指示虛電路啟動與終止的報文,以及路由器之間傳遞的用于建立虛電 路(即修改路由器表中的連接狀態)的報文被稱為信令報文,用來交換這些報文的協議常稱為 信令協議。
二:數據報網絡
在數據報網絡中,每當一個端系統要發送分組時,它就為該分組加上目的地端系統的地 址,然后將該分組推進網絡中。
在數據報網絡中,路由器沒有虛電路的概念,當然不維護任何類似虛電路的狀態信息。
分組從源向目的地傳輸通過一系列路由器。路由器中的每個都使用該分組的目的地址來 轉發該分組。
路由器有一個將目的地址映射到鏈路接口的轉發表,當分組到達路由器時,該路由器使 用該分組的目的地址在該轉發表中查找適當的輸出鏈路接口。然后,路由器有意識地將該分 組向該輸出鏈路接口轉發。
由于轉發表使用地址塊索引輸出鏈路,因此一個目的地址可能匹配多項。當有多個匹配時,該路由器使用最長前綴匹配規則,即在該表中尋找最長的匹配項,并向與最長前綴匹配的鏈路接口轉發該分組。
3 虛電路和數據報網絡的由來
虛電路的概念來源于電話領域,它采用了真正的電路,使用 VC 號轉發分組。
因特網作為一種數據報網絡,是由互連計算機的需求發展而來的,使用 IP 地址轉發分組。