概要
在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統?
介紹
有些人認為應當借助于電信網的成功經驗,讓網絡負責可靠交付。大家知道,傳統電信網的主要業務是提供電話服務。電信網使用昂貴的程控交換機(其軟件也非常復雜),用面向連接的通信方式,使電信網絡能夠向用戶(實際上就是電話機)提供可靠傳輸的服務。因此他們認為,計算機網絡也應模仿打電話所使用的面向連接的通信方式。當兩臺計算機進行通信時,也應當先建立連接,以預留雙方通信所需的一切網絡資源。然后雙方就沿著已建立的虛電路發送分組。這樣的分組的首部不需要填寫完整的目的主機地址,而只需要填寫這條虛電路的編號,因而減少了分組的開銷。這種通信方式如果再使用可靠傳輸的網絡協議,就可使所發送的分組無差錯按序到達終點,當然也不丟失、不重復。在通信結束后要釋放建立的虛電路。
但互聯網的先驅者卻提出一種嶄新的網絡設計思路。他們認為,電信網提供的端到端可靠傳輸的服務對電話業務無疑是很合適的,因為電信網的終端(電話機)非常簡單,沒有智能,也沒有差錯處理能力。因此電信網必須負責把用戶電話機產生的話音信號可靠地傳送到對方的電話機,使還原后的話音質量符合技術規范的要求。但計算機網絡的端系統是有智能的計算機。計算機有很強的差錯處理能力。因此,互聯網在設計上就采用了和電信網完全不同的思路,
其實互聯網采用的設計思路多樣化,網絡層就是提供簡單靈活的無連接,把數據傳輸出去的服務,
解決
您可能已經通過郵局發送了一封信,在這樣做時,您需要在信封上寫下收件人的地址,并且很可能是您的地址以便回復。
以相同的方式,網絡層負責識別網絡中的各種設備。但是,與郵政地址不同,網絡層中的尋址是合乎邏輯的。這意味著地址不固定到設備,它們可能會更改。
此層中使用的地址用于遠程傳遞,如果我們使用郵局類比,遠程傳遞將向另一個組織發送信件。本地交付 - 將在后面的章節中討論,可以比作向坐在您旁邊的同事發送備注。
封裝
網絡層PDU協議數據單元是分組。封裝需要基于來自傳輸層的段添加第3層特定信息。此類信息包括標題和預告片。它還將段與傳輸層分開以進行遠程傳遞。
路由
在網絡層中,這些是將數據從主機定向到目標的服務。在許多情況下,數據包可能必須通過許多中間設備(如路由器)。路由確保到目的地的路徑是管理員定義的最有效路徑。
解封
當數據包到達目的地時,必須對其進行解碼并將OSI層向上移動到應用層,從而移動到人類網絡。網絡層承載數據包,不包含有關上層的信息,例如應用程序類型。解封裝用于將分組重新組裝成分段,然后在傳輸層中使用分段。
網絡層協議
在網絡層中,有兩個主要協議用于承載數據。這些是:
Internet協議版本4(IPv4)
Internet協議版本6(IPv6)
還有其他協議使用,但是,它們超出了本課程的范圍,將不再討論。
IP(互聯網協議) - Ipv4和IPv6。
在本課程的大部分內容中,我們將討論IPv4,我們還將簡要討論IPv6,因為在更高級的課程(如CCNP)中更詳細地討論了IPv6中的概念。
IP定義了通過網絡將數據包從源設備傳輸到目標設備所需的功能。網絡可能包含許多節點,因此IP地址不會更改。IP不會跟蹤各種數據包或管理其流量。這些功能在其他層執行。IP的一些特征包括以下內容。
無連接 - 這意味著在發送數據包之前不必建立連接。
媒體獨立 - 無論媒體如何; 即無線,銅線或光纖,IP地址不會改變。
不可靠的傳輸(盡力而為) - 這意味著無法保證數據包的傳輸,當數據包在傳輸過程中丟失時,可能會根據其他層(如傳輸層)的協議重新傳輸數據包。例如,如果VOIP數據包丟失,則不會重新發送,因為VOIP使用UDP,但是,當HTTP數據包丟失時,由于HTTP使用TCP,因此必須重新發送它們。
劃分網絡
網絡層的一個功能是尋址網絡中的主機。隨著網絡的增長,網絡管理員需要一種方法來管理這些地址。以一個國家為例,如果沒有計劃所有的地址,你能想象在發送信件時會出現混亂嗎?這將是一場噩夢。同樣,隨著網絡的發展,網絡管理員需要找到一種定義不同網段的方法。
如果網絡中的主機被分成不同的網絡組,那么它將更易于管理。這些網絡組稱為子網。
網絡可以分為不同的方式,例如:
目的
地理范圍
所有權
為什么要劃分網絡呢?
隨著網絡的發展,可能面臨的一些常見問題包括:
性能下降
安全問題
地址管理
要解決這些問題,我們需要子網。
將主機劃分為不同的子網或網絡有助于提高性能。
子網劃分可以幫助創建安全邊界,因為并非網絡中的所有主機都應該相互通信。例如,銷售部門中的主機可能需要與財務部門中的主機分開。
互聯網使用第3層地址。如果連接到互聯網的所有主機都在一個網絡上,那么幾乎不可能進行通信。因此,當在諸如因特網的大型網絡上進行通信時,子網分離并使網絡更易于管理。
如何劃分網絡 - 分層尋址
當我們劃分網絡時,我們通常使用分層尋址結構。分層地址很重要,因為可以識別每個主機。您可以將其比作使用家譜來追蹤親戚。
分割網絡時,分層地址的工作方式與發送信件時可能使用的地址類似。考慮下面的圖表。
在此圖中,地址結構是分層的,第一級是我們發送到的國家,第二級是城市,第三級是收件人的確切地址。類似地,網絡層中的邏輯地址包含網絡部分和主機部分。
在郵局,郵遞員只需要知道郵件發送到的郵局,這與代碼類似。當信件到達郵局時,那里的帖子負責將信件發送給預定的收件人。
第3層地址還具有網絡和主機部分。網絡中的路由器僅通過查看目標網絡在各個單獨的網絡之間轉發數據包。當數據包到達目的地時,路由器必須查看整個地址,以便將數據包傳送到預定目的地。
在將大型網絡劃分為較小的網絡時,我們需要創建其他級別或層次的尋址。就像我們上面的郵政示例一樣,當我們使用分層尋址方案時,我們可以保留更高級別,例如國家/地區。然后我們可以將國家劃分到不同的城市,最后解決最低級別的各種主機或用戶。
IPv4地址由兩部分組成,即網絡和主機部分。地址應該具有兩個部分以便通信成功。
IPv4地址由32位組成,我們可以不同地劃分這些位以創建更多主機地址或更多網絡,但是,在任何一種情況下,地址必須是32位長才能完成地址。
第3層的溝通
當主機想要與不同網絡上的主機通信時,必須使用諸如路由器之類的中間設備。路由器充當到其他網絡的網關,如下圖所示。
從上圖中可以看出,2個不同的網絡上有兩臺主機。為了使它們之間的通信成為可能,在它們之間需要中間設備,在這種情況下是路由器。路由器具有主機的默認網關,來自這些主機的流量將通過路由器。路由器的工作是確定數據包的所在位置。
只有路由存在時才能轉發數據包。所有第3層設備必須具有邏輯地址才能轉發數據包。
在上面的場景中,連接到主機B的網絡是來自主機A的遠程網絡,因此,我們必須具有從主機A到主機B的到該網絡的路由。路由器可以基于已靜態配置的路由或者路由來轉發數據包。動態學習。
注意:我們將在后續章節中討論路由。
路由器使用其內存中包含的路由表轉發數據包,該路由表包含目標網絡,度量標準和下一跳設備等信息。