王道计算机网络 网络层整理 超详细版
網絡層功能概述
主要任務是把分組從源端傳到目的端,為分組交換網上的不同主機提供通信服務。網絡層傳輸單位是數據報。
1、路由選擇與分組轉發
2、異構網絡互聯
3、擁塞控制
數據交換方式
電路交換
在進行數據傳輸時,兩個結點之間必須先建立一條專用(雙方獨占)的物理通信路徑(由通信雙方之間的交換設備和鏈路逐段連接而成),該路徑可能經過許多中間結點。這一路徑在整個數據傳輸期間一直被獨占,直到通信結束后才被釋放。
電路交換的階段:建立連接、數據傳輸、釋放連接。
電路交換的關鍵點是,在數據傳輸的過程中,用戶始終占用端到端的固定傳輸帶寬。
電路交換技術的優點:
1、通信時延小。由于通信線路為通信雙方用戶專用,數據直達,因此傳輸數據的時延非常小。當傳輸的數據量較大時,這一優點非常明顯。
2、有序傳輸。雙方通信時按發送順序傳送數據,不存在失序問題。
3、沒有沖突。不同的通信雙方擁有不同的信道,不會出現爭用物理信道的問題。
4、適用范圍廣。電路交換既適用于傳輸模擬信號,又適用于傳輸數字信號。
5、實時性強。通信雙方之間的物理通路一旦建立,雙方就可以隨時通信。
6、控制簡單。電路交換的交換設備及控制均較簡單。
電路交換的缺點:
1、建立連接時間長。電路交換的平均連接建立時間對計算機通信來說太長。
2、線路獨占,使用效率低。電路交換連接建立后,物理通路被通信雙方獨占,即使通信線路空閑,也不能供其他用戶使用,因而信道利用率低。
3、靈活性差。只要在通信雙方建立的通路中的任何一點出了故障,就必須重新撥號建立新的連接,這對十分緊急和重要的通信是很不利的。
4、難以規格化。電路交換時,數據直達,不同類型、不同規格、不同速率的終端很難相互進行通信,也難以在通信過程中進行差錯控制。
報文交換
數據交換的單位是報文,報文攜帶有目標地址、源地址等信息。
報文交換在交換結點采用的是存儲轉發的傳輸方式。
報文交換的優點:
1、無需建立連接。報文交換不需要為通信雙方預先建立一條專用的通信線路,不存在建立連接時延,用戶可以隨時發送報文。
2、動態分配線路。當發送方把報文交給交換設備時,交換設備先存儲整個報文,然后選擇一條合適的空閑線路,將報文發送出去。
3、提高線路可靠性。如果某條傳輸路徑發生故障,那么可重新選擇另一條路徑傳輸數據,因此提高了傳輸的可靠性。
4、提高線路利用率。通信雙方不是固定占有一條通信線路,而是在不同的時間一段一段地部分占有這條物理通道,因而大大提高了通信線路的利用率。
5、提供多目標服務。一個報文可以同時發送給多個目的地址,這在電路交換中是很難實現的。
報文交換的缺點:
1、由于數據進入交換結點后要經歷存儲、轉發這一過程,因此會引起轉發時延。
2、報文交換對報文的大小沒有限制,這就要求網絡結點需要有較大的緩存空間。
同報文交換一樣,分組交換也采用存儲轉發方式,但解決了報文交換中大報文傳輸的問題。
分組交換限制了每次傳送的數據塊大小的上限,把大的數據塊劃分為合理的小數據塊,在加上一些必要的控制信息(如源地址、目的地址和編號信息等),構成分組。
分組交換的優點:
1、無建立時延。不需要為通信雙方預先建立一條專用的通信線路,不存在建立連接時延,用戶可以隨時發送分組。
2、線路利用率高。通信雙方不是固定占有一條通信線路,而是在不同的時間一段一段地部分占有這條物理通道,因而大大提高了通信線路的利用率。
3、簡化了存儲管理(相對于報文交換)。因為分組的長度固定,相應的緩沖區的大小也固定,在交換結點中存儲器的管理通常被簡化為對緩沖區的管理,相對比較容易。
4、加速傳輸。分組時逐個傳輸的,可以使后一個分組的存儲操作與前一個分組的轉發操作并行,這種流水線方式減少了報文的傳輸時間。此外,傳輸一個分組所需的緩沖區比傳輸一次報文所需的緩沖區小得多,這樣因緩沖區不足而等待發送的概率及時間也必然少得多。
5、減少了出錯概率和重發數據量。因為分組較短,其出錯概率必然減小,所以每次重發的數據量也就大大減少,這樣不僅提高了可靠性,也減少了傳輸時延。
分組交換的缺點:
1、存在傳輸時延。盡管分組交換比報文交換的傳輸時延少,但相對于電路交換仍存在存儲轉發時延,而且其結點交換機必須具有更強的處理能力。
2、需要傳輸額外的信息量。每個小數據塊都要加上源地址、目的地址和分組編號等信息。從而構成分組,因此使得傳送的信息量增大了 5% ~ 10%,一定程度上降低了通信效率,增加了處理的時間,使控制復雜,時延增加。
3、當分組交換采用數據報服務時,可能會出現失序、丟失或重復分組,分組達到目的結點時,要對分組按編號進行排序等工作,因此很麻煩。若采用虛電路服務,雖無失序問題,但有呼叫建立、數據傳輸和虛電路釋放三個過程。
imp.
1、報文交換和分組交換都采用存儲轉發。
2、傳送數據量大,且傳送時間遠大于呼叫時間,選擇電路交換。電路交換傳輸時延最小。
3、從信道利用率看,報文交換和分組交換優于電路交換,其中分組交換時延更小。
數據報方式 & 虛電路方式
數據報方式為網絡層提供無連接服務。
虛電路方式為網絡層提供連接服務。
無連接服務:不事先為分組的傳輸確定傳輸路徑,每個分組獨立確定傳輸路徑,不同分組傳輸路徑可能不同。
連接服務:首先為分組的傳輸確定傳輸路徑(建立連接),然后沿該路徑(連接)傳輸系列分組,系列分組傳輸路徑相同,傳輸結束后拆除連接。
數據報
1、發送分組前不需要建立連接。發送方可隨時發送分組,網絡中的結點可隨時接收分組。
2、網絡盡最大努力交付,傳輸不保證可靠性,所以可能丟失,為每個分組獨立地選擇路由,轉發的路徑可能不同,因而分組不一定按序到達目的結點。
3、發送的分組中要包括發送端和接收端的完整地址,以便可以獨立傳輸。
4、分組在交換結點存儲轉發時,需要排隊等待處理,這會帶來一定的時延。通過交換結點的通信量較大或網絡發生擁塞時,這種時延會大大增加,交換結點還可根據情況丟棄部分分組。
5、網絡具有冗余路徑,當某個交換結點或一條鏈路出現故障時,可相應地更新轉發表,尋找另一條路徑轉發分組,對故障的適應能力強。
6、收發雙發不獨占某條鏈路,資源利用率較高。
路由器根據分組的目的地址轉發分組:基于路由協議/算法構建轉發表;檢索轉發表;每個分組獨立選路。
虛電路
虛電路將數據報方式和電路交換方式結合,以發揮兩者優點。
虛電路:一條源主機到目的主機類似于電路的路徑(邏輯連接),路徑上所有結點都要維持這條虛電路的建立,都維持一張虛電路表,每一項記錄了一個打開的虛電路的信息。
建立連接(虛電路建立):每個分組攜帶虛電路號,而非目的地址。源主機發送“呼叫請求”分組并收到“呼叫應答”分組后才算建立連接。
數據傳輸:全雙工通信。
釋放連接(虛電路釋放):源主機發送“釋放請求”分組以拆除虛電路。
路由算法
1、靜態路由算法(非自適應路由算法):指由網絡管理員手工配置路由信息。
優點:簡單、可靠,在負荷穩定、拓撲變化不大的網絡中運行效果很好,廣泛用于高度安全性的軍事網絡和較小的商業網絡。
缺點:當網絡的拓撲結構或鏈路的狀態發生變化時,網絡管理員需要手工去修改路由表中相關的靜態路由信息。它不能及時適應網絡狀態的變化,路由更新慢,對于簡單的小型網絡,可以采用靜態路由。
2、動態路由算法(自適應路由算法):指路由器上的路由表項是通過相互連接的路由器之間彼此交換信息,然后按照一定的算法優化出來的。
優點:路由更新快。這些路由信息會在一定時間間隙里不斷更新,以適應不斷變化的網絡,隨時獲得最優的尋路效果。
缺點:算法復雜,增加網絡負擔。
常用的動態路由算法可分為兩類:距離-向量路由算法 OSPF 和 鏈路狀態路由算法 RIP 。
-------------------------------------------------------------分界線---------------------------------------------------------------
層次路由
1)當網絡規模擴大時,路由器的路由表成比例地增大。這不僅會消耗越來越多的路由器緩沖區空間,而且需要用更多CPU時間來掃描路由表,用更多的帶寬來交換路由狀態信息。因此路由選擇必須按照層次的方式來進行。
2)許多單位不想讓外界知道自己的路由選擇協議,但還想連入因特網。
自治系統(Autonomous System,AS):單一技術管理下的一組路由器,這些路由器使用一種AS內部的路由選擇協議和共同的度量來確定分組在該AS內的路由,同時還使用一種AS之間的路由選擇協議來確定分組在AS之間的選擇。
一個自治系統內的所有網絡都由一個行政單位(如一家公司、一所大學、一個政府部門等)管轄,一個自治系統的所有路由器在本自治系統內都必須是連通的。
因特網把路由選擇協議劃分為兩大類:
1)一個自治系統內部所使用的路由選擇協議稱為 內部網關協議(IGP),也稱為域內路由選擇,具體的協議有RIP和OSPF等。
2)自治系統之間所使用的路由選擇協議稱為 外部網關協議(EGP),也稱域間路由選擇,在不同自治系統的路由器之間交換路由信息,并負責為分組在不同自治系統之間選擇最優的路徑。具體的協議有BGP。
-------------------------------------------------------------分界線---------------------------------------------------------------
IP數據報格式
1)版本:指IP的版本,IPv4 / IPv6
2)首部長度:占4位,單位是4B。可以表示的最大十進制數是15。以32位為單位,最大值為60B(15x4B)。最常用的首部長度是20B。
3)區分服務:指示期望獲得哪種類型的服務。
4)總長度:占16位,首部 + 數據,單位是 1B。數據報的最大長度位 2^16 - 1 = 65535B。以太網幀的最大傳送單元(MTU)位1500B,因此當一個IP數據報封裝成幀時,數據報的總長度一定不能超過下面的數據鏈路層的MTU指。
5)標識:占16位。它時一個計數器,每產生一個數據報就加1,并賦值給標識字段。當一個數據報的長度超過網絡的MTU時,必須分片,此時每個數據報片都復制一次標識號,以便能正確重裝成原來的數據報。同一數據報的分片使用同一標識。
6)標志:占3位。標志字段的最低位位 MF,MF = 1 表示后面還有分片,MF = 0 表示最后一個分分片。標志字段中間的一位時 DF,只有當 DF = 1 時才允許分片。
7)片偏移:占13位。它指出較長的分組在分片后,某片在原分組中的相對位置。片偏移以8各字節為偏移單位,即每個分片的長度一定是8B(64位)的整數倍。
8)生存時間(TTL):占8位。數據報在網絡中可通過的路由器數的最大值,標識分組在網絡中的壽命,以確保分組不會永遠在網絡中循環。經過一個路由器 -1,變成 0 則丟棄。
9)協議:占8位。指出此分組攜帶的數據使用何種協議,即分組的數據部分應交給哪個傳輸層協議,如TCP、UDP等。其中值為6表示TCP,值為17表示UDP。
10)首部校驗和:占16位。IP數據報的首部校驗和只校驗分組的首部,而不校驗數據部分。
11)源地址字段:占32位,標識發送方的IP地址。
12)目的地址字段:占32位,標識接收方的IP地址。
13)可選字段:0~40B,用來支持排錯、測量以及安全等措施。
14)填充:全0,把首部補成4B的整數倍。
IP數據報分片
一個數據鏈路層數據報能承載的最大數據量稱為最大傳送單元(MTU)。因為IP數據報被封裝在數據鏈路層數據報中,因此數據鏈路層的MTU嚴格地限制著 IP 數據報的長度。
當IP數據報的總長度大于鏈路MTU時,就需要將IP數據報中的數據分裝在兩個或多個較小的IP數據報中,這些較小的數據報稱為片。
for example
IPv4地址
IP地址:全世界唯一的32位/4字節標識符,標識路由器主機的接口。
IP地址:: = {<網絡號>,<主機號>}
網絡號標志主機(或路由器)所連接到的網絡。主機號標志著該主機(或路由器)。
分類的IP地址
在各類IP地址中,有些IIP地址具有特殊用途,不用做主機的IP地址:
私有IP地址
路由器對目的地址是私有IP地址的數據報一律不進行轉發。
采用私有IP地址的互聯網絡稱為專用互聯網或本地互聯網。
常用的三種類別IP地址的使用范圍
網絡地址轉換NAT
網絡地址轉換(NAT)是指通過將專用網絡地址轉換為公用地址,從而對外隱藏內部管理的IP地址。它使得整個專用網只需要一個全球IP地址就可以與因特網連通,由于專用網本地IP地址是可重用的,所以NAT大大節省了IP地址的消耗。
私有IP地址只用于LAN,不用于WAN連接(因此私有IP地址不能直接用于Internet,必須通過網關利用NAT把私有IP地址轉換為Internet中合法的全球IP地址后才能用于Internet),并且允許私有IP地址被LAN重復使用。這有效地解決了IP地址不足的問題。
使用NAT時需要在專用網連接到因特網的路由器上安裝NAT軟件,NAT路由器至少有一個有效的外部全球地址。使用本地地址的主機和外界通信時,NAT路由器使用NAT轉換表將本地地址轉換成全球地址,或將全球地址轉換成本地地址。NAT轉換表中存放著{本地IP地址:端口} 到{全球IP地址:端口}的映射。通過{ip地址:端口}這樣的映射方式,可讓多個私有IP地址映射到同一個全球IP地址。
子網劃分
分類的IP地址的弱點:
1、IP地址空間的利用率有時很低。
2、給每個物理網絡分配一個網絡號會使路由表變得太大而網絡性能變壞。
3、兩級IP地址不夠靈活。
子網劃分:在IP地址中增加一個子網號字段,使兩級IP地址變成了三級IP地址。
基本思路
1)子網劃分純屬一個單位內部的事情。單位對外仍然表現為沒有劃分子網的網絡。
2)從主機號借用若干比特作為子網號,當然主機號也就相應減少了相同比特。三級IP地址的結構如下:IP地址 = {<網絡號>,<子網號>,<主機號>}。
3)凡是從其他網絡發送給本單位某臺主機的IP數據報,仍然是根據IP數據報的目的網絡號,先找到連接到本單位網絡上的路由器。然后該路由器在收到IP數據報后,按目的網絡號和子網號找到目的子網。最后把IP數據報直接交付給目的主機。
imp.
不論是分類的IPv4地址還是CIDR,其子網中的主機號為全0或全1的地址都不能被指派。
子網中主機號全0的地址為子網的網絡號,主機號全1的地址為子網的廣播地址。
子網掩碼
子網掩碼是一個與IP地址相對應的、長32bit的二進制串,它由一串1和跟隨的一串0組成。
其中,1對應于IP地址中的網絡號及子網號,而0對應于主機號。
計算機只需將IP地址和其對應的子網掩碼逐位“與”(邏輯AND運算),就可得出相應子網的網絡地址。
imp.
使用子網掩碼時路由器的分組轉發算法:
1)從收到的分組的首部提取目的IP地址,記為D。
2)先判斷是否為直接交付。對路由器直接相連的網絡逐個進行檢查:用各網絡的子網掩碼和D逐位相“與”,看結果是否和相應的網絡地址匹配。若匹配,則將分組直接交付,否則間接交付,執行步驟3)。
3)若路由器中有目的地址為D的特定主機路由,則將分組傳給路由表中所指明的下一跳路由器;否則,執行步驟4)。
4)對路由表中的每一行(目的網絡地址、子網掩碼、下一跳地址)中的子網掩碼和D逐位相“與”,其結果為N。若N與該行的目的網絡地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執行步驟5)。
5)若路由表中有一個默認路由,則將分組傳送給路由表中所指明的默認路由器;否則,執行步驟6)。
6)報告轉發分組出錯。
無分類域間路由選擇 CIDR
無分類域間路由選擇是在變長子網掩碼的基礎上提出的一種消除傳統 A、B、C類網絡劃分,并且可以在軟件的支持下實現超網構造的一種IP地址的劃分方法。
IP地址的無分類兩級編址為:IP:: = {<網絡前綴>, <主機號>}
斜線記法:IP地址/網絡前綴所占比特數
其中,網絡前綴所占比特數對應于網絡號的部分,等效于子網掩碼中連續1的部分。
構成超網
將多個子網聚合成一個較大的子網,叫做構成超網,或路由聚合。
方法:將網絡前綴縮短。
CIDR地址塊中的地址數一定是2的整數次冪,實際可指派的地址數通常為 2^N - 2,N 表示主機號的位數,主機號全0代表網絡號,主機號全1為廣播地址。
最長前綴匹配
使用CIDR時,路由表中的每個項目由“網絡前綴”和“下一跳地址”組成。查找路由表可能得到幾個匹配結果,應選擇具有最長網絡前綴的路由。前綴越長,地址塊越小,路由越具體。
地址解析協議 ARP
IP地址與硬件地址
IP地址是網絡層使用的地址,它是分層次等級的。硬件地址是數據鏈路層使用的地址(如MAC地址),它是平面式的。在網絡層及網絡層之上使用IP地址,IP地址放在IP數據報的首部,而MAC地址放在MAC幀的首部。通過數據封裝,把IP數據報分組封裝為MAC幀后,數據鏈路層看不見數據報分組中的IP地址。
在實際網絡的鏈路上傳送數據幀時,最終必須使用硬件地址。
APR協議:完成主機或路由器IP地址到MAC地址的映射。
ARP協議工作原理:
檢查ARP高速緩存,有對應表項則寫入MAC幀,沒有則用目的MAC地址為FF-FF-FF-FF-FF-FF的幀封裝并廣播ARP請求分組,同一局域網中所有主機都能收到該請求。目的主機收到請求后就會向源主機單播一個ARP響應分組,源主機收到后將此映射寫入ARP緩存(10-20min更新一次)。
ARP協議4種典型情況:
1、主機A發給本網絡上的主機B:用ARP找到主機B的硬件地址;
2、主機A發給另一網絡上的主機B:用ARP找到本網絡上一個路由器(網關)的硬件地址;
3、路由器發給本網絡的主機A:用ARP找到主機A的硬件地址;
3、路由器發給另一網絡的主機B:用ARP找到本網絡上一個路由器(網關)的硬件地址。
從IP地址到硬件地址的解析是自動進行的,主機的用戶并不知道這種地址解析過程。只要主機或路由器和本網絡上的另一個已知IP地址的主機或路由器進行通信,ARP就會自動地將這個IP地址解析為數據鏈路層所需要的硬件地址。
動態主機配置協議 DHCP
動態主機配置協議(Dynamic Host Configuration Protocol)常用于給主機動態地分配IP地址。
DHCP是應用層協議,使用客戶/服務器方式,客戶端和服務端通過廣播方式進行交互,基于UDP。
它提供了即插即用地聯網機制,這種機制允許一臺計算機加入新的網絡和獲取IP地址而不用手工參與。
工作原理
需要IP地址的主機在啟動時就向DHCP服務器廣播發現報文,這時該主機就成為DHCP客戶。本地網絡上所有主機都能收到此廣播報文,但只有DHCP服務器才回答此報文。DHCP服務器先在其數據庫中查找該計算機的配置信息。若找到,則返回找到的信息。若找不到,則從服務器的IP地址池中取一個地址分配給高計算機。DHCP服務器的回答報文稱為提供報文。
DHCP服務器聚合DHCP客戶端的交換過程:
1、DHCP客戶機廣播”DHCP發現“信息,試圖找到網絡中的DHCP服務器,以便從DHCP服務器獲得一個IP地址。
2、DHCP服務器收到”DHCP發現“消息后,向網絡中廣播”DHCP提供“消息,其中包括提供DHCP客戶機的IP地址和相關配置信息。
3、DHCP客戶機收到”DHCP提供“消息,如果接收DHCP服務器所提供的相關參數,那么通過廣播”DHCP請求“消息向DHCP服務器請求提供IP地址。
4、DHCP服務器廣播“DHCP確認”消息,將IP地址分配給DHCP客戶機。
imp.
1、DHCP允許網絡上配置多臺DHCP服務器,當DHCP客戶機發出DHCP請求后,有可能收到多個應答消息,這時DHCP客戶機通常挑選最先到達的。
2、DHCP服務器分配給DHCP客戶的IP地址是臨時的,因此DHCP客戶只能在一段有限時間內使用這個分配到的IP地址。DHCP稱這段時間為租用期。租用期的數值應由DHCP服務器自己決定,DHCP客戶也可以在自己發送的報文中提出對租用期的要求。
3、采用廣播方式進行交互的原因是在DHCP執行初期,客戶端不知道服務器端的IP地址,而在執行中間,客戶端并未分配IP地址,從而導致兩者之間的通信必須采用廣播方式。采用UDP而不采用TCP的原因也很明顯:TCP需要建立連接,如果連對方的IP地址都不知道,那么更不可能通過雙方的套接字建立連接。
網際控制報文協議 ICMP
TCP/IP協議棧
為了提高IP數據報交付成功的機會,在網絡層使用了網際控制報文協議(Internet Control Message Protocol,ICMP)來讓主機或路由器報告差錯和異常情況。ICMP報文作為IP層數據報的數據,加上數據報的首部,組成IP數據報發送出去。ICMP是IP層協議。
ICMP報文分為 ICMP差錯報告報文 和 ICMP 詢問報文。
ICMP差錯報告報文用于目標主機或到目標主機路徑上的路由器向源主機報告差錯和異常情況。共5種類型。
1)終點不可達。當路由器或主機不能交付數據報時,就向源點發送終點不可達報文。
2)源點抑制。當路由器或主機由于擁塞而丟棄數據報時,就向源點發送源點抑制報文,使源點知道應當把數據報的發送速率放慢。
3)時間超過。當路由器收到生存時間(TTL)為零的數據報時,除丟棄該數據報外,還要向源點發送時間超過報文。當終點在預先規定的時間內不能收到一個數據報的全部數據報片時,就把已收到的數據報片都丟棄,并向源點發送時間超過報文。
4)參數問題。當路由器或目的主機收到的數據報的首部中有的字段的值不正確時,就丟棄該數據報,并向源點發送參數問題報文。
5)改變路由(重定向)。路由器把改變路由報文發送給主機,讓主機知道下次應將數據報發送給另外的路由器(可通過更好的路由)。
不應發送ICMP差錯報告報文的幾種情況:
1、對ICMP差錯報告報文不再發送ICMP差錯報告報文。
2、對第一個分片的數據報片的所有后續數據報片都不發送ICMP差錯報告報文。
3、對具有組播地址的數據報都不發送ICMP差錯報告報文。
4、對具有特殊地址(如127.0.0.0或0.0.0.0)的數據報不發送ICMP差錯報告報文。
ICMP詢問報文有4種類型:回送請求和回答報文、時間戳請求和回答報文、掩碼地址請求和回答報文、路由器詢問和通告報文。
- PING:用來測試兩臺主機之間的連通性。使用了ICMP回送請求和回答報文。工作在應用層。
- Trancerout/Tracert:用來跟蹤分組經過的路由。使用了ICMP時間超過報文。工作在網絡層。
IPv6
解決“IP地址耗盡”問題的措施有以下三種:
1、采用無類別編制CIDR,使IP地址的分配更加合理。
2、采用網絡地址轉換(NAT)方法以節省全球IP地址。
3、采用具有更大地址空間的新版本的IPv6。 ---- 根本上解決。
IPv6數據報格式
IPv6 & IPv4
1、IPv6將地址從32位(4B)擴大到128位(16B),更大的地址空間。
2、IPv6將IPv4的校驗和字段徹底移除,以減少每跳的處理時間。
3、IPv6將IPv4的可選字段移出首部,變成了擴展首部,成為靈活的首部格式,路由器通常不對擴展首部進行檢查,大大提高了路由器的處理效率。
4、IPv6支持即插即用(即自動配置),不需要DHCP協議。
5、IPv6首部必須是8B的整數倍,IPv4首部是4B的整數倍。
6、IPv6只能在主機處分片,IPv4可以在路由器和主機處分片。
7、ICMPv6:附加報文類型“分組過大”。
8、IPv6支持資源的預分配,支持實時視像等要求,保證一定的帶寬和時延應用。
9、IPv6取消了協議字段,改成下一個首部字段。
10、IPv6取消了總長度字段,改用有效載荷長度字段。
11、IPv6取消了服務類型字段。
12、增大了安全性。身份驗證和保密功能是IPv6的關鍵特征。
IPv6地址表現形式
一般形式:冒號十六進制記法:把地址種的每4位用一個十六進制數表示,并用冒號分隔每16位。
壓縮形式:當16位域的開頭有一些0時,可以采用一種縮寫表示法,但在域中必須至少有一個數字。
零壓縮:一連串連續的0可以被一對冒號取代。
IPv6基本地址類型
1、單播。單播就是傳統的點對點通信。
2、多播。多播是一點對多點的通信,分組被交付到一組計算機的每臺計算機。
3、任播。IPv6增加的一種類型。任播的目的站是一組計算機,但數據報在交付時只交付其中的一臺計算機,通常是距離最近的一臺計算機。
IPv6向IPv4過渡的策略
雙棧協議:在一臺設備上同時裝有IPv4和IPv6協議棧,那么這臺設備既能和IPv4網絡通信,又能和IPv6網絡通信。如果這臺設備是一個路由器,那么在路由器的不同接口上分別配置了IPv4地址和IPv6地址,并很可能分別連接了IPv4網絡和IPv6網絡;如果這臺設備是一臺計算機,那么它將同時擁有IPv4地址和IPv6地址,并且具備同時處理這兩個協議地址的功能。
隧道技術:將整個IPv6數據報封裝到IPv4數據報的數據部分,使得IPv6數據報可以在IPv4網絡的隧道中傳輸。
路由信息協議RIP與距離向量算法
路由信息協議(Routing Information Protocol,RIP)是內部網關協議(IGP)中最先得到廣泛應用的協議。
RIP是一種分布式的基于距離向量的路由選擇協議,其最大的優點就是簡單。
RIP規定
1)網絡中的每個路由器都要維護從它自身到其他每個目的網絡的距離記錄(因此這是一組距離,稱為距離向量)。
2)距離也稱為跳數(Hop Count),規定從一個路由器到直接連接網絡的距離(跳數)為1。而每經過一個路由器,距離(跳數)加1。
3)RIP認為好的路由就是它通過的路由器的數目少,即優先選擇跳數少的路徑。
4)RIP允許一條路徑最多只能包含15個路由器(即最多允許15跳)。因此距離等于16時,它表示網絡不可達。可見RIP只適用于小型互聯網。距離向量路由可能會出現環路的情況。規定路徑上的最高跳數的目的是為了防止數據報不斷循環在環路上,減少網絡擁塞的可能性。
5)RIP默認在任意兩個使用RIP的路由器之間每30秒廣播一次RIP路由更新信息,以便自動建立并維護路由表(動態維護)。
6)在RIP中不支持子網掩碼的RIP廣播。所以RIP中每個網絡的子網掩碼必須相同。但在新的RIP2中,支持變長子網掩碼和CIDR。
距離向量算法
每個路由表項目都有三個關鍵數據:<目的網絡N,距離d,下一跳路由器地址X>。對于每個相鄰路由器發送過來的RIP報文,執行如下步驟:
1)對地址為X的相鄰路由器發來的RIP報文,先修改此報文中的所有項目:把“下一跳”字段中的地址都改為X,并把所有“距離”字段的值都加1。
2)對修改后的RIP報文中的每個項目,執行如下步驟:
? i)當原來的路由表中沒有目的網絡N時,把該項目添加到路由表中。
? ii)當原來的路由表中有目的網絡N,且下一跳路由器的地址是X時,用收到的項目替換原路由表中的項目。
? iii)當原來的路由表中有目的網絡N,且下一跳路由器的地址不是X時,如果收到的項目中的距離d小于路由表中的距離,那么就用收到的項目替換原路由表中的項目;否則什么也不做。
3)如果180秒(RIP默認超時時間為180秒)還沒有收到相鄰路由器的更新路由表,那么把此相鄰路由器記為不可達路由器,即把距離設置為16(距離為16表示不可達)。
4)返回。
RIP優點:實現簡單、開銷小、收斂過程較快。
RIP缺點:
1、限制了網絡的規模,能使用的最大距離為15。
2、路由器之間交換的是路由器中的完整路由表,因此網絡規模越大,開銷也越大。
3、網絡出現故障時,會出現慢收斂現象(即需要較長的時間才能將此信息傳送到所有路由器),俗稱“壞消息傳得慢”,使更新過程的收斂時間長。
imp.
RIP 是應用層協議,使用UDP傳送數據(端口520)。RIP選擇的路徑不一定是時間最短的,但一定是具有最少路由器的路徑。因為它是根據最少跳數進行路徑選擇的。
開放最短路徑優先 OSPF 協議與鏈路狀態算法
“開放”表明OSPF協議不是受某一廠商控制,而是公開發表的。
OSPF最主要的特征就是使用分布式的鏈路狀態協議。
基本特點
和誰交換?
使用洪泛法向自治系統內所有路由器發送信息,即路由器通過輸出端口向所有相鄰的路由器發送信息,而每一個相鄰路由器又再次將此信息發往其所有的相鄰路由器。(廣播)
最終整個區域內所有路由器都得到了這個信息的一個副本。
----- 而RIP僅向自己相鄰的幾個路由器發送信息。
交換什么?
發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態(本路由器和哪些路由器相鄰,以及該鏈路的度量/代價 —— 費用、距離、時延、帶寬等)。
----- 而RIP發送的信息是本路由器所知道的全部信息,即整個路由表。
多久交換?
只有當鏈路狀態發生變化時,路由器才向所有路由器洪泛發送此信息。收斂過程快,不會出現“壞消息傳得慢”的問題。
最終,所有路由器都能建立一個鏈路狀態數據庫,即全網拓撲圖。
----- 而RIP中,路由器之間會定期交換路由表的信息。
- OSPF是網絡層協議,不使用UDP或TCP,而直接用IP數據報傳送(其IP數據報首部的協議字段為89)。
- 而RIP是應用層協議,使用UDP。
OSPF支持可變長度的子網劃分和CIDR。
鏈路狀態算法
為了確保鏈路狀態數據庫與全網狀態保持一致,OSPF規定每隔一段時間(30分鐘)就刷新一次數據庫中的鏈路狀態。由于一個路由器的鏈路狀態只涉及與相鄰路由器的連通狀態,因而與整個互聯網的規模并無直接關系。當互聯網規模很大時,OSPF要比RIP好得多。
OSPF的基本操作
OSPF的區域
為使OSPF能夠用于規模很大的網絡,OSPF將一個自治系統再劃分為若干更小的范圍,稱為區域。
每個區域都有一個32位的區域標識符。
劃分區域的好處是,將利用洪泛法交換鏈路狀態信息的范圍局限于每個區域而非整個自治系統,減少了整個網絡上的通信量。在一個區域內部的路由器只知道本區域的完整網絡拓撲,而不知道其他區域的網絡拓撲情況。
處在上層的域稱為主干區域,負責連通其他下層的區域,并且還連接其他自治域。
邊界網關協議 BGP
邊界網關協議(Border Gateway Protocol,BGP)是不同自治系統的路由器之間交換路由信息的協議,是一種外部網關協議。
路由表包含已知路由器的列表、路由器能夠達到的地址及到達每個路由器的路徑的跳數。
BGP只能力求尋找一條能夠到達目的網絡且比較好的路由,而并非尋找一條最佳路由。
BGP采用的是路徑向量路由選擇協議。
BGP是應用層協議,它是基于TCP的。
BGP工作原理
每個自治系統的管理員要選擇至少一個路由器(可以有多個)作為該自治系統的“BGP發言人”。一個BGP發言人與其他自治系統中的BGP發言人要交換路由信息,就要先建立TCP連接(BGP報文是TCP報文的數據部分),然后在此連接上交換BGP報文以建立 BGP會話,再利用BGP會話交換路由信息。當所有 BGP發言人都相互交換網絡可達性的信息后,各 BGP發言人就可找出到達各個自治系統的較好路由。
每個 BGP發言人除必須運行BGP外,還必須運行該AS所用的內部網關協議,如 OSPF 或RIP。BGP所交換的網絡可達性信息就是要到達某個網絡(用網絡前綴表示)所要經過的一系列AS。
BGP特點
1、BGP交換路由信息的結點數量級是自治系統的數量級,要比這些自治系統中的網絡數少很多。
2、每個自治系統中 BGP發言人(或邊界路由器)的數目是很少的。這樣就使得自治系統之間的路由選擇不致過分復雜。
3、 BGP支持 CIDR,因此BGP的路由表也就應當包括目的網絡前綴、下一跳路由器,以及到達該目的網絡所要經過的各個自治系統序列。
4、在BGP 剛運行時,BGP的鄰站交換整個BGP 路由表,但以后只需在發生變化時更新有變化的部分。這樣做對節省網絡帶寬和減少路由器的處理開銷都有好處。
BGP-4共使用4種報文
1、打開(Open)報文。用來與相鄰的另一個BGP發言人建立關系。
2、更新(Update)報文。用來發送某一路由的信息,以及列出要撤銷的多條路由。
3、保活(Keepalive)報文。用來確認打開報文并周期性地證實鄰站關系。
4、通知(Notification)報文。用來發送檢測到的差錯。
三種路由協議的比較
IP 組播
IP數據報的三種傳輸方式
單播:單播用于發送數據包到單個目的地,且每發送一份單播報文都使用一個單播IP地址作為目的地址。是一種 點對點傳輸方式。
廣播:廣播是指發送數據包到同一廣播域或子網內的所有備份的一種數據傳輸方式,是一種點對多點傳輸方式。
組播(多播):當網絡中的某些用戶需要特定數據時,組播數據發送者僅發送一次數據,借助組播路由協議為組播數據包建立組播分發樹,被傳遞的數據到達距離用戶端盡可能近的節點后才開始復制和分發,是一種點對多點傳輸方式。
使用組播的緣由:
有的應用程序要把一個分組發送給多個目的地主機。不是讓源主機給每個目的地主機都發送一個單獨的分組,而是讓源主機把單個分組發送給一個組播地址,該組播地址標識一組地址。網絡把這個分組的副本投遞給該組中的每臺主機。
主機可以選擇加入或離開一個組,因此一臺主機可以同時屬于多個組。
主機組播時僅發送一份數據,只有數據在傳送路徑出現分岔時才將分組復制后繼續轉發。因此,對于發送方而言,數據只需發送一次就可發送到所有接收者,大大減輕了網絡的負載和發送者的負擔。
組播需要路由器的支持才能實現,能夠運行組播協議的路由器稱為組播路由器。
IP組播地址
IP組播地址讓源設備能夠將分組發送給一組設備。屬于多播組的設備將被分配一個組播組IP地址。
IP組播使用D類地址格式。D類的前四位是1110,因此D類地址范圍是 224.0.0.0 ~ 239.255.255.255。
imp.
1、組播數據報也是“盡最大努力交付”,不提供可靠交付,組播一定僅應用于UDP。
2、組播地址只能用于目的地址,而不能用于源地址。
3、對組播數據報不產生ICMP差錯報文。
4、并非所有的D類地址都可作為組播地址。
IP組播分為:在局域網上進行硬件組播;在因特網范圍內進行組播。
硬件組播
組播MAC地址以十六進制值 01-00-5E 打頭,余下的6個十六進制位是根據IP組播組地址的最后23位轉換得到的。
TCP/IP 協議使用的以太網索伯地址的范圍是:
從 01-00-5E-00-00-00 到 01-00-5E-7F-FF-FF。
由于組播IP地址與以太網硬件地址的映射關系不是唯一的,因此收到組播數據報的主機,還要在IP層利用軟件進行過濾,把不是本主機要接收的數據包丟棄。
IGMP 與 組播路由算法
因特網組管理協議(Internet Group Management Protocol,IGMP)。
IGMP協議讓路由器知道本局域網上是否有主機(的進程)參加或退出了某個組播組。
IGMP和ICMP都使用IP數據報傳遞報文。
IGMP工作的兩個階段
組播路由協議
組播路由選擇實際上就是要找出以源主機為根節點的組播轉發樹,其中每個分組在每條鏈路上只傳送一次。不同的多播組對應于不同的多播轉發樹:同一個多播組,對不同的源點也會有不同的多播轉發樹。
常用的三種算法:
1、基于鏈路狀態的路由選擇
2、基于距離-向量的路由選擇
3、協議無關的組播(稀疏/密集)【可以建立在任何路由器協議之上】
移動IP
移動IP技術是移動結點(計算機/服務器等)以固定的網絡IP地址,實現跨越不同網段的漫游功能,并保證了基于網絡IP的網絡權限在漫游過程中不發生任何改變。
移動結點:具有永久IP地址的移動設備。
歸屬代理(本地代理):一個移動結點擁有的就“居所”稱為歸屬網絡,在歸屬網絡中代表移動節點執行移動管理功能的實體叫做歸屬代理。
外部代理(外地代理):在外部網絡中幫助移動節點完成移動管理功能的實體稱為外部代理。
永久地址(歸屬地址/主地址):移動站點在歸屬網絡中的原始地址。
轉交地址(輔地址):移動站點在外部網絡使用的臨時地址。
移動IP通信過程
網絡層設備
路由器
路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,其任務是連接異構網絡并完成路由轉發。
路由選擇:根據所選定的路由選擇協議構造出路由表,同時經常或定期和相鄰路由器交換路由信息而不斷地更新和維護路由表。
分組轉發:由三部分組成,交換結構、一組輸入端口、一組輸出端口。
輸入端口在從物理層收到地比特流中提取出數據鏈路層幀,進而從幀中提取出網絡層數據報。
輸出端口則執行恰好相反地操作。
交換結構:路由器的關鍵部件,根據轉發表(路由表得來)對分組進行轉發。
當源主機要向目標主機發送數據報時,路由器先檢查源主機與目標主機是否連接在同一個網絡上。
1、如果源主機和目標主機在同一個網絡上,那么直接交付而無須通過路由器。
2、如果源主機和目標主機不在同一個網絡上,那么路由器按照轉發表(路由表)指出地路由將數據報轉發給下一個路由器,這稱為間接交付。
路由表隔離了廣播域。
三層設備的區別
路由器可以互聯兩個不同網絡層協議的網段。
網橋可以互聯兩個物理層和鏈路層不同的網段。
集線器不能互聯兩個物理層不同的網段。
路由表與路由轉發
路由表根據路由選擇算法得出的,主要用途是路由選擇。
路由表有4個項目:目的網絡IP地址、子網掩碼、下一跳IP地址、接口。
轉發表從路由表得出的。
轉發表有2個項目:一個分組將要發往的目的地址、分組的下一跳(即下一步接收者的目的地址,實際為MAC地址。
路由表總是用軟件來實現;轉發表可以用軟件來實現,甚至也可以用特殊的硬件來實現。
轉發和路由選擇的區別:
轉發 是路由器根據轉發表把收到的IP數據報從合適的端口轉發出去,它僅涉及一個路由器。
而 路由選擇 則涉及很多路由器,路由表是許多路由器協同工作的結果。這些路由器按照復雜的路由算法,根據從各相鄰路由器得到的關于網絡拓撲的變化情況,動態地改變所選擇的路由,并由此構造出整個路由表。
10723_102257.jpg" style=“zoom:30%;” />
三層設備的區別
路由器可以互聯兩個不同網絡層協議的網段。
網橋可以互聯兩個物理層和鏈路層不同的網段。
集線器不能互聯兩個物理層不同的網段。
路由表與路由轉發
路由表根據路由選擇算法得出的,主要用途是路由選擇。
路由表有4個項目:目的網絡IP地址、子網掩碼、下一跳IP地址、接口。
轉發表從路由表得出的。
轉發表有2個項目:一個分組將要發往的目的地址、分組的下一跳(即下一步接收者的目的地址,實際為MAC地址。
路由表總是用軟件來實現;轉發表可以用軟件來實現,甚至也可以用特殊的硬件來實現。
轉發和路由選擇的區別:
轉發 是路由器根據轉發表把收到的IP數據報從合適的端口轉發出去,它僅涉及一個路由器。
而 路由選擇 則涉及很多路由器,路由表是許多路由器協同工作的結果。這些路由器按照復雜的路由算法,根據從各相鄰路由器得到的關于網絡拓撲的變化情況,動態地改變所選擇的路由,并由此構造出整個路由表。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的王道计算机网络 网络层整理 超详细版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark安装及其sbt和maven 打
- 下一篇: Windows终止进程