-
在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。
-
爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統?
面向連接的虛電路服務
一種觀點:讓網絡負責可靠交付
-
這種觀點認為,應借助於電信網的成功經驗,讓網絡負責可靠交付,計算機網絡應模仿電信網絡,使用面向連接的通信方式。
-
通信之前先建立虛電路 (Virtual Circuit),以保證雙方通信所需的一切網絡資源。
-
如果再使用可靠傳輸的網絡協議,就可使所發送的分組無差錯按序到達終點,不丟失、不重復。
發送方 發送給 接收方 的所有分組都沿着同一條虛電路傳送
虛電路表示這只是一條邏輯上的連接,分組都沿着這條邏輯連接按照存儲轉發方式傳送,而並不是真正建立了一條物理連接。
請注意,電路交換的電話通信是先建立了一條真正的連接。
因此分組交換的虛連接和電路交換的連接只是類似,但並不完全一樣
無連接的數據報服務
另一種觀點:網絡提供數據報服務
-
互聯網的先驅者提出了一種嶄新的網絡設計思路。
-
網絡層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。
-
網絡在發送分組時不需要先建立連接。每一個分組(即 IP 數據報)獨立發送,與其前后的分組無關(不進行編號)。
-
網絡層不提供服務質量的承諾。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。
發送方 發送給 接收方 的分組可能沿着不同路徑傳送
盡最大努力交付
如果主機(即端系統)中的進程之間的通信需要是可靠的,那么就由網絡的主機中的運輸層負責可靠交付(包括差錯處理、流量控制等) 。
采用這種設計思路的好處是:網絡的造價大大降低,運行方式靈活,能夠適應多種應用。
互連網能夠發展到今日的規模,充分證明了當初采用這種設計思路的正確性。
虛電路服務與數據報服務的對比
對比的方面 | 虛電路服務 | 數據報服務 |
---|---|---|
思路 | 可靠通信應當由網絡來保證 | 可靠通信應當由用戶主機來保證 |
連接的建立 | 必須有 | 不需要 |
終點地址 | 僅在連接建立階段使用,每個分組使用短的虛電路號 | 每個分組都有終點的完整地址 |
分組的轉發 | 屬於同一條虛電路的分組均按照同一路由進行轉發 | 每個分組獨立選擇路由進行轉發 |
當結點出故障時 | 所有通過出故障的結點的虛電路均不能工作 | 出故障的結點可能會丟失分組,一些路由可能會發生變化 |
分組的順序 | 總是按發送順序到達終點 | 到達終點時不一定按發送順序 |
端到端的差錯處理和流量控制 | 可以由網絡負責,也可以由用戶主機負責 | 由用戶主機負責 |