【軟件測試】網絡應用篇:第二章 互聯網底層協議—ARP、RARP、ICMP、IGMP

 

第二章 互聯網底層協議—ARPRARPICMPIGMP

一、ARP:地址解析協議,Adress Resolution Protocl

 

ARP用途32位網絡層IP地址(網絡號+網絡中PC號)是虛地址,只在路由器中有效。IP分組進入物理網絡LAN(或ATM等),LAN網絡硬件不能根據IP地址定位PC-B。當IP分組穿越實際物理網絡(如LANDDNATMFR)時到達下站協議地址(路由器或PC)前,IP地址必須先翻譯爲等價的硬件地址,即地址解析。

 

ARP技術實現

查表法( Table Lookup),把地址聯編的信息存儲在內存的一張表中,當需要ARP時查詢表。適用WAN,維護麻煩。

相近計算法(Close-Form Computation),精心選擇網絡中的IP地址,使之能通過IP地址的簡單計算得出硬件地址。計算效率高,無須維護表,但管理員地址分配麻煩。

消息交換法(Message Exchange),當解析一個地址時,發出某個地址解析的請求(廣播或定向),另一臺計算機(目的計算機或代理)返回一個應答信息。通用性強,但增加網絡通信量,適用靜態編址網絡。

TCP/IP協議包含了ARP協議,通常採用廣播的消息交換方式,即向網絡中計算機廣播發出請求包,目的IP地址計算機應答返回其硬件地址。

 

以太網封裝的ARP分組格式

      

 

二、RARP:逆地址解析協議,Reverse Adress Resolution Protocl

字面可以想象出RARP是從過程硬件地址獲取IP地址的處理!通常計算機可以從磁盤的配置文件中直接讀取IP地址,但對無盤PC、無盤工作站等情況下,就需要從RARP的方法獲取自身的IP地址。所以, RARP協議是無盤PC、無盤工作站在系統引導時用來獲取IP的。

 

RARP實現複雜性

APR服務器構成簡單,是TCP/IP內核一部分,由於內核知道計算機的IP地址和硬件地址,所以請求和應答過程很方便。

RAPR服務器要爲所有無盤機提供硬件地址和IP地址的聯編服務,需要放置在磁盤文件中。由於內核一般不讀磁盤文件,所以RAPR服務器功能只有在用戶進程中實現 RARP概念簡單,但實現與系統有關,而不一定是TCP/IP內核實現的一部分。

 

以太網封裝的RARP分組格式

       基本結構完全和ARP一致,只是在幀類型、操作類型定義不同。

      

 

三、ICMPInternet控制報文協議,Internet Control Message Protocol

       IP提供的盡力數據報通信服務無連接服務,而並不能解決網絡低層的數據報丟失、重複、延遲或亂序等問題,TCPIP基礎建立有連接服務解決以上問題,不能解決網絡故障或其它網絡原因無法傳輸的包的問題。

       所以, ICMP設計的本意就是希望對IP包無法傳輸時提供報告,這些差錯報告幫助了發送方瞭解爲什麼無法傳遞,網絡發生了什麼問題,確定應用程序後續操作。

       注意:IP中有關於差錯檢測的機制——用於檢測傳輸錯誤的頭部檢驗和。

 

ICMP的兩級封裝:每個ICMP報文放在IP數據報的數據部分中通過互聯網傳遞,而IP數據報本身放在幀的數據部分中通過物理網絡傳遞。

 

ICMP報文格式ICMP定義了五種常用差錯報文和六種詢問報文類型,以及用代碼表達某類型下面不同情況的細分。

類型(用來標識報文,有15個不同的值)

代號

校驗和(覆蓋整個ICMP報文)

ICMP數據(取決於消息類型)

………………

(提供有關報文類型的進一步信息)

 

ICMP應用:有三種基於ICMP的簡單而廣泛使用的應用爲:PingTracerouteMTU測試。Ping是應用層直接使用網絡層ICMP的一個例子,它沒有通過運輸層的TCPUDP

 

四、IGMP:因特網組管理協議,Internet Group Multicast Protocol

IGMP基礎知識:

單播(unicast:一個主機向網上的單個目的主機發送幀。

廣播(broadcast:一個主機向網上的所有其它主機發送幀。

多播(multicast:介於單播和廣播之間,幀僅傳送給屬於多播組的多個主機。

能夠接收發往一個特定多播組地址數據的主機集合稱爲多播組。能夠運行多播協議的路由器稱爲多播路由器(multicast router)。多播路由器可以是一個單獨的路由器,也可以是運行多播軟件的普通路由器。

多播的應用:音頻會議、多媒體會議、數據分發、博奕和模擬、實時數據多播等。

因特網多播地址:D類是專用多播地址,範圍 224.0.0.0-239.255.255.255

 

因特網組管理協議(IGMP:一臺主機如何加入或離開多播羣組呢?有一個標準協議——因特網組管理協議,每當主機需要加入或離開某個特定的多播羣組時,該協議允許該主機去通知鄰近的路由器。該協議只用在主機與路由器之間的網絡上。而且,協議只把計算機(不是應用進程)定義爲羣組成員。如果在一給定計算機上有多個進程要加入到一個多播羣組,計算機必須要把接收到的每個數據報復制多個副本給每個進程。只有當最後一個進程離開羣組時,計算機才利用IGMP通知本地的路由器,表明它不再是羣組的成員了。

 

IGMP報文格式

      

 

IGMP協議優化處理:目的儘量避免多播信息對網絡增加大量開銷。

       1、主機和多播路由器的所有通信使用IP多播,只要有可能,攜帶IGMP報文的數據報都使用硬件多播來傳送。

       2、多播路由器在探詢組成員關係時,只需要對所有多播組只發一個查詢,而不是對每一個組發送一個查詢,默認125S一次。

 

多播路由選擇問題的複雜性

       1IGMP協議只解決多播組的成員關係變化,而沒有涉及多播的路由選擇問題。

       2、多播組成員的動態變化,使多播的路由是動態變化的;多播轉發不僅要考慮目的地址,而且還要考慮源地址,以確定複製和轉發副本;多播數據報可能不是組成員主機產生,也可能通過無組成員的網絡。

       3、目前採用的多播路由算法思想:尋找從源開始的多播樹,使每個數據報在每條鏈路上傳一次(不兜圈子)。

 

       CSDN博文地址:http://blog.csdn.net/lwlliang/archive/2011/03/13/6246982.aspx

       官方博文地址:http://www.17core.com/blog/html/201103/226.html

 

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