IP協議 課後筆記二

網絡互聯方案是:面向連接的(Connect-oriented)和無連接的(Connectionless)

面向連接的解決方案

要求在通信的源端和目標端之間建立一條邏輯通路,一般稱爲虛電路(Virtual Circuit)

源端和目標端之間通信時的所有信息都通過該通路傳輸,這與交通圖中送信過程的第一種方式類似

這種方式看似簡單,易於實現,但其最大的缺點是如果不能保證虛電路中沿途經過的節點都能可靠地發送數據,就可能使網絡崩潰

由於互聯網所連網絡的複雜性和多樣性,因而很難保證所有節點都能可靠地發送數據。

無連接的互聯網解決方案

在源端和目標端之間不建立一條邏輯通路

送到網絡中的每個分組帶有完整的目標主機地址,收到分組的節點(主要是路由器)根據目標地址和當前網絡狀況(如通信量等),選擇一條合適的線路把分組發送到接近目標端的下一個節點,通過多個節點的轉發,最終把分組送達目標節點

使用這種方式時,由源端順序送出的各分組,由於每個分組在網絡中可能經過不同的路徑到達目標端,所以先發出的分組不一定就先到達目標端

另外,也不能保證每個分組都能可靠地到達目標端。

Internet使用的就是無連接的方式,由IP協議來實現。解決了異構網絡互連的問題

(1)  IP協議是一種無連接(Connectionless)不可靠(Unreliable)的數據報傳輸協議

(2) IP互聯網中的計算機沒有主次之分,所有主機地位平等(因爲惟一標識它們的是IP地址),當然從邏輯上來說,所有網絡(不管規模大小)也沒有主次之分

(3) IP互聯網沒有確定的拓撲結構

(4) IP互聯網中的任何一臺主機,都至少有一個獨一無二的IP地址,有多個網絡接口卡的計算機每個接口可以有一個IP地址,這樣一臺主機可能就有多個IP地址。有多個IP地址的主機叫多宿主機(Multi-home Host)

(5) 在互聯網中有IP地址的設備不一定就是一臺計算機,如IP路由器、網關等,因爲與互聯網有獨立連接的設備都要有IP地址。

IP地址用32位二進制數表示,從數學上計算,應該一共有4 294 967 296IP地址

在點分十進制數表示法中,每個位組用0255之間的一個十進制數表示,因此最小的IP地址值爲0.0.0.0,最大的地址值爲255.255.255.255

然而由於有相當一部分IP地址有特殊用途,因而實際主機可用的IP地址要比這個範圍小很多。

IP地址用來標識互聯網中的主機,但少數IP地址有特殊用途,不能分配給主機

如果IP地址的32位二進制數全爲“1”,則這樣的地址用於對本網廣播通信。也就是說,如果一臺主機發送的數據報,其目標IP地址爲255.255.255.255,則該數據報被送到本網中的每一臺主機。

網絡地址爲127的地址是一個保留地址,用於網絡軟件測試或本機進程間通信。發送到這種地址的數據報不輸出到線路上,而是立即被返回,又當作輸入數據報在本機內部進行處理,所以將這種地址稱爲回送(Look Back)地址。在任何網絡上不可能出現網絡地址爲127的數據報在傳輸,它一般只用來對本機協議的正確性進行測試。

全“0”IP地址表示本網絡上的本主機。

 

子網

1)在現有的三類網絡的基礎上將網絡作進一步劃分所得到的網絡成爲子網。即在內部可以直接通信的IP主機的集合

(2)每一個子網是一個完全獨立的網絡,子網之間,子網與一般的網絡之間必須通過路由器作爲網關來實現互聯。

(3)劃分子網有利於提高地址空間的實際利用率;在以太網的環境下有利於提高子網內的傳輸帶寬。

(4)路由器通過子網掩碼識別子網的地址。

如果子網佔用的位數越多,子網內的主機就越少

究竟在一個IP地址中哪些位用來表示網絡號,哪些位用來表示子網號,以及哪些位用來表示主機號呢,這就要使用子網掩碼(Subnet Mask)來標識,子網掩碼用32位二進制數表示,常用點分十進制數格式來書寫,掩碼中用於標識網絡號和子網號的位置爲1,主機位爲0

 

 

IP數據報格式

版本號ipv4或ipv6

頭長度,整個報頭的長度,接收端通過此域可以計算出報文頭在何處結束及從何處開始讀數據

服務類型,

總長度字段是指整個IP數據報的長度,以字節爲單位。

生存時間指定了數據報可以在網絡中傳輸的最長時間。在實際應用中爲了簡化處理過程,把生存時間字段設置成了數據報可以經過的最大路由器數。當該字段的值減爲0時,數據報就被丟棄,併發送ICMP報文(2.4節介紹)通知源主機,這樣可以防止進入一個循環迴路時,數據報無休止地傳輸。 

校驗和用16位二進制數表示,這個域用於協議頭數據有效性的校驗,可以保證IP報頭區在傳輸時的正確性和完整性。

 

當一個IP數據報要通過鏈路層進行傳輸時,如果IP數據報的長度比鏈路層MTU大,IP層就需要對將要發送的IP數據報進行分片,把一個數據報分成若干個長度小於或等於鏈路層MTUIP數據報,這個過程稱爲分片(Fragmentation)。分片通常由路由器進行。分片後的IP數據報與原來未分片的IP數據報頭部有兩點主要不同:標誌和片偏移。

當分了片的IP數據報被傳輸到最終目標主機時,目標主機要對收到的各分片重新進行組裝,以恢復成源主機發送時的IP數據報,這個過程叫IP數據報的重組。

 

Internet控制報文協議(ICMP)

IP數據報在傳輸中發生差錯時,互聯網中的路由器使用ICMP協議把錯誤或有關控制信息報告給源主機

ICMP協議是一個用於差錯報告和報文控制的協議。

ICMP差錯報文都是由路由器發送到源主機的, ICMP差錯報文只提供IP數據報在傳輸過程中的差錯報告,並不規定對各類差錯應採取什麼樣的處理措施。

ICMP差錯報文不享受任何優先權,也沒有特別的可靠性保證措施,與普通的IP數據報一樣進行傳輸,傳輸過程中可能被丟失、損壞,甚至被拋棄。

在有些情況下,爲了防止在網絡中產生大量的ICMP差錯報文(廣播風暴),影響網絡的正常工作,即使發生差錯,也不會產生ICMP差錯報文。

地址解析

TCP/IP協議族專門設計了用於地址解析的協議ARP(Address Resolution Protocol),它可以把一個IP地址映射成對應的物理地址(MAC地址)。另外,對於無法保存IP地址的主機(如無盤工作站)TCP/IP協議族中也提供了從物理地址到IP地址映射的反向地址解析協議RARP(Reverse Address Resolution Protocol)

IP層及以上是邏輯地址,鏈路層只能識別物理地址,當向另一臺主機傳輸時要獲得其物理地址,如果只知道IP地址就可以用ARP協議解析。

工作原理:由知道目標主機IP地址但不知道物理地址的主機發出一份ARP請求廣播報文,報文中填有發送方硬件地址、IP地址和目標方IP地址,操作代碼爲1。目標方硬件地址填的是廣播地址,該網絡內所有主機都能收到該報文。目標方主機收到報文,識別出自己的IP地址,發送一個單播ARP應答報文。請求方收到ARP應答報文後,獲得目標方物理地址,就可以進行IP數據報發送。

 

IP數據報的路由選擇

路由選擇的本質是發現、比較、選擇通過網絡到達任何目的IP地址的路徑的過程,該功能一般由路由器來實現

IP路由選擇是逐跳(hop-by-hop)進行的。IP並不知道到達任何目的的完整路徑。所有的IP路由選擇只爲數據報傳輸提供下一站路由器的IP地址。

 

路由選擇算法

路由選擇算法(Routing Algorithm)工作在網絡層,它負責確定對所收到的IP數據報應通過哪條傳輸線傳出(轉發)

(1) 路由器從收到的IP數據報中取出目標IP地址。

(2) 搜索路由表,尋找能與目的IP地址匹配表目。如果找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口,路由選擇過程結束;如果找不到,則執行下一步。

(3) 搜索路由表,把目標IP地址與子網掩碼逐位求“與”後,尋找能與目的網絡號相匹配的表目。如果找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口,路由選擇過程結束;如果找不到,則執行下一步。

(4) 搜索路由表,尋找標爲“默認(Default)”的表目。如果找到,則把報文發送給該表目指定的下一站路由器;如果找不到,則本次選路失敗,發送一個“目標不可達”的ICMP報文給源主機

 

靜態路由是由互聯網網絡管理員根據網絡的拓撲結構和連接方式人工建立的。

動態路由指互聯網中的路由器可以通過自身的學習,自動修改和刷新路由表。通過相鄰路由器之間的通信告知對方每個路由器當前連接的網絡;路由器上有個進程稱爲路由守護程序(Routing Daemon),它運行選路協議;路由守護程序選擇最佳路由是根據一定的選路策略(Routing Policy)來進行的;動態路由的刷新要通過執行路由選擇協議來實現

 

路由選擇協議

距離向量協議

最小跳距

距離->跳距;向量->地址

鏈路狀態協議

每條鏈路有一個狀態值

路由選擇的標準是構成該路徑的所有鏈路的度量總和最小

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章