第4章 網路層
一、網路層的功能
主要任務是把分組從源端傳到目的端,為分組交換網上的不同主機提供通信服務
網路層傳輸單位是資料報
分組、包,packet,資訊在互聯網當中傳輸的單元,網路層實作分組交付,用抓包工具抓到的一條條記錄就是包
資料報,Datagram,通過網路傳輸的資料的基本單元,包含一個報頭(header)和資料本身,其中報頭描述了資料的目的地以及和其它資料之間的關系,可以理解為傳輸資料的分組,我們將通過網路傳輸的資料的基本單元稱為資料報
1.異構網路互聯
1.1 異構網路互聯定義
所謂異構網路互聯,是指將兩個以上的不同的計算機網路,通過一定的方法,用一種或多種通信處理設備(即中間設備)相互連接起來,以構成更大的網路系統(中間設備又稱中間系統或中繼系統)
網路互聯通常是指用路由器進行網路互聯和路由選擇
路由器是一臺專用計算機,用于在互聯網中進行路由選擇
1.2 根據所在的層次,中繼系統分為以下4種:
1)物理層的中繼系統:中繼器,集線器(Hub)
2)資料鏈路層的中繼系統:網橋或交換機
3)網路層的中繼系統:路由器
4)網路層以上的中繼系統:網關
2.路由選擇與分組轉發
2.1 路由器主要完成兩個功能
路由選擇 (確定哪一條路徑)
指按照復雜的分布式演算法,根據從各相鄰路由器所得到的關于整個網路拓撲的變化情況,動態地改變所選擇的路由,
分組轉發 (當一個分組 到達時所采取的動作)
指路由器根據轉發表將用戶的IP資料報從合適的埠轉發出去,
路由表是根據路由選擇演算法得出的,而轉發表是從路由表得出的,
路由表則需要對網路拓撲變化的計算最優化, 轉發表的結構應當使查找程序最優化,
3.擁塞控制
3.1 擁塞控制的方法有兩種:
若所有結點都來不及接受分組,而要丟棄大量分組的話,網路就處于擁塞狀態,因此要采取一定措施,緩解這種擁塞,
1)開環控制,在設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在作業時不產生擁塞,這是一種靜態的預防方法,一旦整個系統啟動并運行,中途就不再需要修改,開環控制手段包括確定何時可接收新流量、何時可丟棄分組及丟棄哪些分組,確定何種調度決策等,所有這些手段的共性是,在做決定時不考慮當前網路的狀態,
2)倍訓控制,事先不考慮有關發生擁塞的各種因素,采用監測網路系統去監視,及時檢測哪里發生了擁塞,然后將擁塞資訊傳到合適的地方,以便調整網路系統的運行,并解決出現的問題,倍訓控制是基于反饋環路的概念,是一種動態的方法
二、資料交換方式

1.電路交換(主要應用于電話網路)
1.1 電話通信分為三個階段:
建立連接(呼叫/電路建立)
通信
釋放連接(電路拆除)
1.2 優點:
1.通信時延小
2.有序傳輸
3.沒有沖突
4.實時性強
1.3 缺點:
1.建立連接時間長
2.線路獨占,使用效率低
3.靈活性差
4.無差錯控制能力
2.報文交換(報文:源應用發送的資訊整體(比如一個pdf檔案))
2.1 報文交換定義
報文交換(英文:message switching),又稱存盤轉發交換,報文整個地發送,一次一跳,報文交換是分組交換的前身
報文交換的主要特點是:存盤接收到的報文,判斷其目標地址以選擇路由,最后,在下一跳路由空閑時,將資料轉發給下一跳路由,報文交換系統現今都由分組交換或電路交換網路所承載
2.2 優點:
1.無需建立連接
2.存盤轉發,動態分配線路
3.線路可靠性較高
4.線路利用率較高
5.多目標服務
2.3 缺點:
1.有存盤轉發時延
2.報文大小不定,需要網路節點有較大快取空間
3.分組交換(分組:把大的資料塊分割成小的資料塊)
3.1 優點:
1.無需建立連接
2.存盤轉發,動態分配線路
3.線路可靠性較高
4.線路利用率較高
5.相對于報文交換,存盤管理更容易
3.2 缺點:
1.有存盤轉發時延
2.需要傳輸額外的資訊量
3.亂序到目的主機時,要對分組排序重組
3.3 資料報方式
資料報方式為網路層提供無連接服務
無連接服務:不事先為分組的傳輸確定傳輸路徑,每個分組獨立確定傳輸路徑,不同分組傳輸路徑可能不同
每個分組攜帶源和目的地址
路由器根據分組的目的地址轉發分組(基于路由協議/演算法構建轉發表;檢索轉發表;每個分組獨立選路)
3.4 虛電路方式
虛電路方式為網路層提供連接服務
連接服務:首先為分組的傳輸確定傳輸路徑(建立連接),然后沿該路徑(連接)傳輸系列分組,系列分組傳輸路徑相同,傳輸結束后拆除連接
虛電路將資料報方式和電路交換方式結合,以發揮兩者優點
虛電路:一條源主機到目的主機類似于電路的路徑(邏輯連接),路徑上所有結點都要維持這條虛電路的建立都維持一張虛電路表,每一項記錄了一個打開的虛電路的資訊
通信程序:
建立連接(虛電路建立)
每個分組攜帶虛電路號(標志著走哪條虛電路),而非目的地址
源主機發送“呼叫請求”分組,收到“呼叫應答’分組后才算建立連接
資料傳輸
全雙工通信
釋放連接(虛電路釋放)
源主機發送“釋放請求”分組,然后拆除虛電路

4.幾種傳輸單元名詞辨析
4.1 應用層:
報文(比如用qq發送一個檔案,這一個檔案就是一個報文)
4.2 傳輸層:
報文段(報文分割而成,如果應用層的報文比較小,傳輸層可能不用切割,也是報文)
4.3 網路層:
IP資料報(要將報文段封裝上網路層的ip地址(源地址和目的地址))
分組(如果IP資料報過大(資料鏈路層有最大傳送單元MTU),就要進行切割,切割下來的就叫一個分組)
4.4 資料鏈路層:
幀(在分組的基礎之上,加頭加尾,加頭加上MAC地址,加上物理地址,加尾加上FCS幀檢驗序列)
4.5 物理層:
位元流

三、路由演算法及路由協議
1.路由演算法
1.1 靜態路由演算法(非自適應路由演算法)
管理員手工配置路由資訊
簡便、可靠,在負荷穩定、拓撲變化不大的網路中運行效果很好,廣泛用于高度安全性的軍事網路和較小的商業網路,路由更新慢,不適用大型網路
1.2 動態路由演算法(自適應路由演算法)
路由器間彼此交換資訊,按照路由演算法優化出路由表項
路由更新快,適用大型網路,及時回應鏈路費用或網路拓撲變化演算法復雜,增加網路負擔
全域性鏈路狀態路由演算法(OSPF協議)
所有路由器掌握完整的網路拓撲和鏈路費用資訊
分散性距離向量路由演算法(RIP協議)
路由器只掌握物理相連的鄰居及鏈路費用

四、IP
1.IP資料報格式
1.1 TCP/IP協議堆疊

1.2 IP資料報


版本:IPv4 / IPv6
首部長度:單位是4B,最小為5(0101)
區分服務:指示期望獲得哪種型別的服務
總長度:首部+資料,單位是1B
標識:同一資料報的分片使用同一標識
標志:只有2位有意義(x _ _)
(中間位DF (Don’t Fragment) : DF=1,禁止分片,DF=0,允許分片
最低位MF (More Fragment): MF=1,后面“還有分片”MF=0,代表最后一片/沒分片)
片偏移:指出較長分組分片后,某片在原分組中的相對位置,以8B位單位
生存時間(TTL) :IP分組的保質期,經過一個路由器-1,變成0則丟棄
協議:資料部分的協議

首部檢驗和:占 16 位,只檢驗資料報的首部,不檢驗資料部分,這里不采用 CRC 檢驗碼而采用簡單的計算方法(資料報每經過一個路由器,路由器都要重新計算一下首部檢驗和)
源IP地址和目的IP地址:32位
可選欄位:0~40B ,用來支持排錯、測量以及安全等措施
填充:,全0,把首部補成4B的整數倍
例 一資料報的總長度為 3820 位元組,其資料部分的長度為 3800 位元組(使用固定首部),需要分片為長度不超過 1420 位元組的資料報片,試問應當劃分為幾個短些的資料報片?各資料報片的總長度、片偏移欄位、MF、DF標志應為何值?

IP 資料報首部中與分片有關的欄位中的數值

現在假定資料報片2經過某個網路時還要再進行分片,即劃分為資料報片2-1(攜帶資料800位元組)和資料報片2-2(攜帶資料600位元組)
那么這兩個資料報片的
總長度、標識、MF、DF和片偏移分別為:
820,12345,1,0,175
620.12345.1,0,275
2.IP資料報分片
2.1 最大傳送單元MTU
鏈路層資料幀可封裝資料的上限,以太網的MTU是1500位元組

3.IPv4地址



3.1 子網劃分和子網掩碼


例 已知IP地址是141.14.72.24,子網掩碼是255.255.192.0,求網路地址
01001000
11000000
01000000
如果子網掩碼是255.255.224.0,求網路地址
01001000
11100000
01000000
(說明同樣的IP地址和不同的子網掩碼相與,可以得到相同的網路地址)
例 某主機的IP地址為180.80.77.55,子網掩碼為255.255.252.0,若該主機向其所在子網發送廣播分組,則目的地址可以是( )
A.180.80.76.0
B.180.80.76.255
C.180.80.77.255
D.180.80.79.255
因該主機向其所在子網發送廣播分組,所以主機號全1,排除選項A
77:01001101
252:11111100
01001100(76)
所以這個IP地址所在的網路是180.80.76.0
所以目的地址可以是180.80.79.255(把主機號變為全一)
3.2 無分類編址CIDR(構成超網)
CIDR (Classless Inter-Domain Routing) :無分類域間路由選擇
消除了傳統的 A 類、B 類和 C 類地址以及劃分子網的概念,可以更加有效地分配 IPv4 的地址空間,但無法解決 IP 地址枯竭的問題
網路前綴

地址塊
CIDR把網路前綴都相同的連續的IP地址組成一個CIDR地址塊

地址掩碼 (address mask)

例 路由器 R 0 R_0 R0?的路由表見下表:若進入路由器 R 0 R_0 R0?的分組的目的地址為132.19.237.5,請問該分組應該被轉發到哪一個下一跳路由器

第一個:132.0.0.0/8(網路前綴為8)
對應
R
0
R_0
R0?:132.19.237.5/8
R
0
R_0
R0?對應的網路號
?
\Rightarrow
? 132.0.0.0
所以可能是
R
1
R_1
R1?
第二個:132.0.0.0/11(網路前綴為11)
對應
R
0
R_0
R0?:132.19.237.5/11
R
0
R_0
R0?對應的網路號
?
\Rightarrow
? 132.0.0.0
所以可能是
R
2
R_2
R2?
第三個:132.19.232.0/22(網路前綴為11)
對應
R
0
R_0
R0?:132.19.237.5/22
R
0
R_0
R0?對應的網路號
?
\Rightarrow
? 132.19.236.0
所以不可能是
R
3
R_3
R3?
R
4
R_4
R4? 是一個特殊IP地址,默認路由
(默認路由(Default route),是對IP資料包中的目的地址找不到存在的其他路由時,路由器所選擇的路由,目的地不在路由器的路由表里的所有資料包都會使用默認路由,這條路由一般會連去另一個路由器,而這個路由器也同樣處理資料包: 如果知道應該怎么路由這個資料包,則資料包會被轉發到已知的路由;否則,資料包會被轉發到默認路由,從而到達另一個路由器,每次轉發,路由都增加了一跳的距離)
綜上選擇
R
2
R_2
R2?,即網路前綴較長的一個
例 某網路的IP地址空間為192.168.5.0/24,采用定長子網劃分,子網掩碼為255.255.255.248,則該網路中的最大子網個數、每個子網內的最大可分配地址個數分別是
在CIDR基礎上劃分子網,子網掩碼為255.255.255.248,由 248
?
\Rightarrow
? 11111000 可以得出,最后的一個位元組當中,前5位作為子網號,后邊3位作為主機號
所以最大子網個數為
2
5
=
32
2^5=32
25=32 個(CIDR技術中子網號是可以全0和全1的,所以不需要減2)
最大可分配地址個數為
2
3
?
2
=
6
2^3-2=6
23?2=6 個(全0代表本網路,全1代表廣播地址)
4.NAT(Network Address Translation,網路地址轉換)
是1994年提出的,當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但又想和因特網上的主機通信(并不需要加密)時,可使用NAT方法
這種方法需要在專用網(私網IP)連接到因特網(公網IP)的路由器上安裝NAT軟體,裝有NAT軟體的路由器叫做NAT路由器,它至少有一個有效的外部全球IP地址(公網IP地址),這樣,所有使用本地地址(私網IP地址)的主機在和外界通信時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網連接
另外,這種通過使用少量的全球IP地址(公網IP地址)代表較多的私有IP地址的方式,將有助于級訓可用的IP地址空間的枯竭,在RFC 2663中有對NAT的說明
五、ARP協議
1.ARP協議
完成主機或路由器IP地址到MAC地址的映射,解決下一跳走哪的問題(由于在實際網路的鏈路上傳送資料幀時,最終必須使用MAC地址)
處于鏈路層和網路層中間的一個協議,但主要劃分成網路層的協議,主要為IP地址提供服務
2.ARP協議使用程序
檢查ARP高速快取,有對應表項則寫入MAC幀,沒有則用目的MAC地址為FF-FF-FF-FF-FF-FF的幀封裝并廣播ARP請求分組,同一局域網中所有主機都能收到該請求,目的主機收到請求后就會向源主機單播一個ARP回應分組,源主機收到后將此映射寫入ARP快取(10-20min更新一次)
3.ARP協議4種典型情況
3.1 主機A發給本網路上的主機B:用ARP找到主機B的硬體地址
3.2 主機A發給另一網路上的主機B:用ARP找到本網路上一個路由器(網關)的硬體地址
3.3 路由器發給本網路的主機A:用ARP找到主機A的硬體地址
3.4 路由器發給另一網路的主機B:用ARP找到本網路上的一個路由器的硬體地址
(ARP協議自動進行)
例 主機發送lP資料報給主機B,經過了5個路由器,請問此程序總共使用了幾次ARP協議?
6次
六、DHCP協議(Dynamic Host Configuration Protocol)
1.DHCP(動態主機配置協議)
DHCP(動態主機配置協議)是一個局域網的網路協議,指的是由服務器控制一段IP地址范圍,客戶機登錄服務器時就可以自動獲得服務器分配的IP地址和子網掩碼,默認情況下,DHCP作為Windows Server的一個服務組件不會被系統自動安裝,還需要管理員手動安裝并進行必要的配置
動態主機配置協議DHCP是應用層協議,使用客戶/服務器方式,客戶端和服務端通過廣播方式進行互動,基于UDP
DHCP提供即插即用聯網的機制,主機可以從服務器動態獲取P地址、子網掩碼、默認網關、DNS服務器名稱與IP地址,允許地址重用,支持移動用戶加入網路,支持在用地址續租
2.作業流程
2.1 主機廣播DHCP發現報文(試圖找到網路中的服務器,服務器獲得一個IP地址)
2.2 DHCP服務器廣播DHCP提供報文(服務器擬分配給主機一個IP地址及相關配置,先到先得)
2.3 主機廣播DHCP請求報文(主機向服務器請求提供IP地址)
2.4 DHCP服務器廣播DHCP確認報文(正式將IP地址分配給主機)
七、ICMP

1.ICMP差錯報告報文
ICMP差錯報告報文資料欄位

2.ICMP詢問報文
3.ICMP的應用
3.1 PING
測驗兩個主機之間的連通性,使用了ICMP回送請求和回答報文,
3.2 Traceroute
跟蹤一個分組從源點到終點的路徑,使用了ICMP時間超過差錯報告報文,
八、IPv6(要從根本上解決地址耗盡問題)
1.lPv6資料報格式


指明了協議版本,總是6
區分資料報的類別和優先級
“流”是互聯網路上從特定源點到特定終點的一系列資料報,所有屬于同一個流的資料報都具有同樣的流標簽
標識下一個擴展首部或上層協議首部
相當于IPv4的TTL
2.lPv6和IPv4比較
1.IPv6將地址從32位(4B)擴大到128位(16B),更大的地址空間
2.IPv6將IPv4的校驗和欄位徹底移除,以減少每跳的處理時間
3.IPv6將IPv4的可選欄位移出首部,變成了擴展首部,成為靈活的首部格式,路由器通常不對擴展首部進行檢查,大大提高了路由器的處理效率
4.IPv6支持即插即用(即自動配置),不需要DHCP協議
5.IlPv6首部長度必須是8B的整數倍,IPv4首部是4B的整數倍
6.IPv6只能在主機處分片,IPv4可以在路由器和主機處分片
7.ICMPv6:附加報文型別“分組過大”
8.IPv6支持資源的預分配,支持實時視像等要求,保證一定的帶寬和時延的應用
9.IPv6取消了協議欄位,改成下一個首部欄位
10.IPv6取消了總長度欄位,改用有效載荷長度欄位,11.IPv6取消了服務型別欄位
3.lPv6地址表示形式
3.1 一般形式
4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170(冒號十六進制記法)
3.2 壓縮形式
4BF5:0000:0000:0000:BA5F:039A:000A:2176
4BF5:0:0:0:BA5F:39A:A:2176
零壓縮:一連串連續的0可以被一對冒號取代(雙冒號表示法在一個地址中僅可出現一次)
FF05:0:0:0:0:0:0:B3
FF05::B3
4.lPv6基本地址型別
單播
一對一通信可做源地址+目的地址
多播
一對多通信可做目的地址
任播
一對多中的一個通信可做目的地址
5.lPv6向IPv4過渡的策略
5.1 雙堆疊協議
雙協議堆疊技術就是指在一臺設備上同時啟用lPv4協議堆疊和IPv6協議堆疊,這樣的話,這臺設備既能和IPv4網路通信,又能和IPv6網路通信,如果這臺設備是一個路由器,那么這臺路由器的不同介面上,分別配置了IPv4地址和IPv6地址,并很可能分別連接了IPv4網路和IPv6網路,如果這臺設備是一個計算機,那么它將同時擁有IPv4地址和IPv6地址,并具備同時處理這兩個協議地址的功能
5.2 隧道技術
通過使用互聯網路的基礎設施在網路之間傳遞資料的方式,使用隧道傳遞的資料(或負載)可以是不同協議的資料幀或包,隧道協議將其它協議的資料幀或包重新封裝然后通過隧道發送
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/319676.html
標籤:其他
