部落客介紹:
– 我是了 凡 微信公衆号【了凡銀河系】期待你的關注。未來大家一起加油啊~
前言
衆所周知計算機網絡共分五層(從底向上)分别是
-
- 實體層(最底部的)
- 資料鍊路層
- 網絡層
- 運輸層
- 應用層(最接近使用者的)
計算機網絡的第三層要做什麼?
資料鍊路層遺留了兩個問題
-
- 問題1:資料鍊路層無法做到可靠傳輸,網絡層是否可以做到?
- 問題2:資料鍊路層無法做到使用者在不同網絡之間的通信,網絡層是否可以做到?
文章目錄
-
- 前言
- 4.1 網絡層提供的兩種服務
- 第一個觀點:假如讓網絡負責可靠傳遞
-
- 結論
- 第二種觀點:網絡提供資料報服務
-
- 結論
- 做了哪些努力
- 總結
4.1 網絡層提供的兩種服務
首先我們跟着前言的問題思路走,身為計算機網絡的第三層,目的是什麼?網絡層提供了哪兩種服務?
網絡層應該向運輸層(網絡的第四層)提供怎樣的服務(“面向連接配接”還是“無連接配接”),這個一直處于争論狀态。争論的問題就是:在計算機通信中,可靠傳遞應當由誰來負責?是網絡還是端系統?
第一個觀點:假如讓網絡負責可靠傳遞
-
- 借助于電信網的成功經驗,讓網絡負責可靠傳遞,計算機網絡應模仿電信網絡,使用面向連接配接的通信方式。
- 通信之前先建立虛電路,以保證雙方通信所需的一切網絡資源。
- 如果再使用可靠傳輸的網絡協定,就可使所發送的分組無差錯按序到達終點,不丢失、不重複。
虛電路服務,H1發送給H2的所有分組都沿着同一條虛電路傳送
為什麼叫做虛電路?因為是邏輯連接配接的。
-
- 虛電路表示這隻是一條邏輯上的連接配接,分組都沿着這條邏輯連接配接按照存儲轉發方式傳送,而并不是真正建立了一條實體連接配接。
- 注意,電路交換的電話通信是先建立一條真正的連接配接。
- 是以分組交換的虛連接配接和電路交換的連接配接隻是類似,但并不完全一樣。
結論
這個時候我們可以看到缺點顯而易見,建立一條真正的連接配接,在這個時候也隻有這條連接配接可以做到可靠傳輸,如果還有使用者要使用建立連接配接的那個路由就不能用了,這樣做也造成了資源浪費,并且使用率也很低。這樣就出現了新的觀點
第二種觀點:網絡提供資料報服務
網際網路的先驅者提出了一種嶄新的網絡設計思路。
網絡層向上隻提供簡單靈活的、無連接配接的、盡最大努力傳遞的資料報服務。
網絡在發送分組時不需要先建立連接配接。每一個分組(即IP資料報)獨立發送,與其前後的分組無關(不進行編号)。
網絡層不提供服務品質的承諾。即所傳送的分組可能出錯、丢失、重複和失序(不按序到達終點),當然也不保證分組傳送的時限。
結論
是以到這裡也就看到了之前使用網絡的方式做可靠傳輸,可行但是目前不适用,是以還是使用端系統方式,這種方式意思就是既然網絡無法做到可靠傳輸就把這個問題給了連接配接的兩端來做,那麼我們既然沒有義務做可靠傳輸,那就可以允許傳送的分組可能出錯、丢失、重複和失序等問題,那網絡層的作用到這裡有些眉目了,向上層隻提供簡單靈活的、無連接配接的、盡最大努力傳遞的資料報服務。具體如何盡最大努力看後續做了哪些工作。
做了哪些努力
-
- 由于傳輸網絡不提供端的可靠傳輸服務,這就使網絡中的路由器可以做的比較簡單,而且價格低廉(與電信網的交換機相比較)。
- 如果主機(即端系統)中的程序之間的通信需要是可靠的,那麼就由網絡的主機中的運輸層負責可靠傳遞(包括差錯處理、流量控制等)。
- 采用這種設計思路的好處是:網絡的造價大大降低,運作方式靈活,能夠适應多種應用。
- 網際網路能夠發展到今日的規模,充分證明了當初采用這種設計思路的正确性。
總結
到這裡【問題1】相信已經很清楚了,網絡不做可靠傳輸服務。是以網絡不需要保證可靠性,可靠性要通過兩個端進行保障,網絡隻需要提供一個簡單靈活的、無連接配接的、盡最大努力傳遞的資料報服務的就可以了。
下一節我們繼續去看網絡層做的最大努力有多少
資料報服務