Ch9IP地址與網(wǎng)絡(luò)控制報(bào)文協(xié)議_第1頁
Ch9IP地址與網(wǎng)絡(luò)控制報(bào)文協(xié)議_第2頁
Ch9IP地址與網(wǎng)絡(luò)控制報(bào)文協(xié)議_第3頁
Ch9IP地址與網(wǎng)絡(luò)控制報(bào)文協(xié)議_第4頁
Ch9IP地址與網(wǎng)絡(luò)控制報(bào)文協(xié)議_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第九章ARP、RARP、ICMP協(xié)議網(wǎng)絡(luò)互聯(lián)層(IP層)的目標(biāo)之一是將各種底層物理網(wǎng)絡(luò)所使用的物理地址隱藏起來,向上提供全網(wǎng)統(tǒng)一的、便于記憶的IP地址;IP層并沒有對物理地址進(jìn)行改動,也就是說,在物理層還是用的物理地址,IP層以上用IP地址,二者如何結(jié)合呢?

----通過ARP、RARP地址解析協(xié)議進(jìn)行二者的映射;IP層采用的是不可靠的數(shù)據(jù)報(bào)方式進(jìn)行數(shù)據(jù)傳遞,也就是說目的端的IP層對數(shù)據(jù)包不會應(yīng)答,源端的IP層也不會重傳。但I(xiàn)P層對IP包還是有一定的控制功能,如流量控制、擁塞控制和路由控制。如何進(jìn)行控制的呢?

----通過ICMP網(wǎng)絡(luò)控制報(bào)文協(xié)議來實(shí)現(xiàn)。9.1ARP協(xié)議(AddressResolutionProtocol)

IP層為了把IP包(以IP地址標(biāo)示源端和目的端)通過鏈路層和物理層從源端傳送到目的端,必須處理IP地址轉(zhuǎn)換為物理地址的問題;

IP層為了進(jìn)行地址轉(zhuǎn)換,需要維護(hù)一個(gè)IP地址與物理地址映射表;在發(fā)送端,由IP層先查IP地址與物理地址映射表得到源IP、目的IP地址對應(yīng)的物理地址,然后把IP包及源、目主機(jī)的MAC地址交給網(wǎng)絡(luò)接口層,由網(wǎng)絡(luò)接口層按數(shù)據(jù)幀格式封裝(不同的網(wǎng)絡(luò)格式不同),然后通過物理網(wǎng)絡(luò)發(fā)送;在接收端,網(wǎng)絡(luò)接口層把收到的幀的物理地址取出,與本機(jī)的物理地址比較,若相同,則交給IP層處理,否則丟棄之;關(guān)鍵問題:如何維持IP地址與物理地址映射表呢?

——通過ARP、RARP地址解析協(xié)議完成。當(dāng)源端主機(jī)與目的端主機(jī)在同一物理網(wǎng)絡(luò)時(shí)(如下圖示):1、ARP的工作原理(1)查表——當(dāng)主機(jī)1向主機(jī)2發(fā)送IP包時(shí),先在映射表中查對應(yīng)的物理地址,若查到,則返回相應(yīng)的物理地址;(2)詢問——若查不到,則主機(jī)1向網(wǎng)絡(luò)發(fā)送的一個(gè)稱為ARP包的廣播包,向所有機(jī)器詢問“誰的IP地址為192.168.25.2,請把你的物理地址告訴給192.168.25.1/E1”;(3)響應(yīng)——當(dāng)主機(jī)2收到ARP詢問包后,馬上向主機(jī)1即192.168.25.1/E1回一個(gè)包含自己IP地址192.168.25.2和物理地址E2的ARP包,并在自己的地址映射表中記錄或更新主機(jī)1的IP和物理地址;InternetAddr.PhysicalAddr.Type------------------------------------------------------192.168.25.100-11-22-33-44-55static192.168.25.200-11-22-33-44-55staticInternetAddr.PhysicalAddr.Type------------------------------------------------------192.168.25.100-11-22-33-44-55static192.168.25.200-11-22-33-44-55static(4)學(xué)習(xí)——網(wǎng)絡(luò)上其他主機(jī)收到主機(jī)1的詢問包后也會在自己的地址映射表中記錄或更新主機(jī)1的IP和物理地址E1;(5)通報(bào)——對于新入網(wǎng)的主機(jī),要求它主動廣播自己的IP地址和物理地址,以便本廣播域內(nèi)的計(jì)算機(jī)都知道它的IP和MAC對應(yīng)關(guān)系。arp-a------顯示目前的ARP表arp-s192.168.25.19800-aa-bb-22-33-44 ------增加一個(gè)ARP項(xiàng)arp–d192.168.25.198------刪除一個(gè)ARP項(xiàng)ARP表示例:ARP協(xié)議的演示假設(shè)主機(jī)1的IP為192.168.25.168,主機(jī)2的IP為192.168.25.188,兩主機(jī)在同一個(gè)網(wǎng)絡(luò)中,主機(jī)1的ARP表中沒有主機(jī)2的MAC地址,在主機(jī)1上向主機(jī)2發(fā)ping檢測包,通過Pktdump抓包程序分析arp

協(xié)議的工作過程;假設(shè)主機(jī)1的IP為192.168.25.168,主機(jī)2的IP為192.168.25.188,兩主機(jī)在同一個(gè)網(wǎng)絡(luò)中,主機(jī)1的ARP表中已有主機(jī)2的MAC地址,在主機(jī)1上向主機(jī)2發(fā)ping檢測包,通過Pktdump抓包程序分析arp

協(xié)議的工作過程;ARP的工作原理(cont.)ARP的工作原理(cont.)當(dāng)源端主機(jī)與目的端主機(jī)不在同一個(gè)物理網(wǎng)絡(luò)上時(shí)(如下圖示):(1)當(dāng)主機(jī)1向主機(jī)4發(fā)送IP包時(shí),由于主機(jī)4與主機(jī)1不在同一物理網(wǎng)上,主機(jī)4不可能收到主機(jī)1發(fā)的ARP包(不在同一廣播域內(nèi)),所以主機(jī)1會把要發(fā)給主機(jī)4的IP包發(fā)給自己的缺省路由器1(缺省路由器1

的MAC地址也通過ARP協(xié)議獲?。?2)路由器1收到包后,根據(jù)包中目的主機(jī)4的網(wǎng)絡(luò)號202.197.11把IP包按網(wǎng)絡(luò)2的幀格式重新封裝,然后轉(zhuǎn)發(fā)給與該網(wǎng)絡(luò)號相連的路由器2;源IP:202.197.12.1目的IP:202.197.11.6----------------------------源MAC:E1目的MAC:E3源IP:202.197.12.1目的IP:202.197.11.6----------------------------源MAC:F1目的MAC:F3主機(jī)1主機(jī)4ARP的工作原理(cont.)(3)路由器2收到FDDI幀后,根據(jù)幀中主機(jī)4的網(wǎng)絡(luò)號202.197.11把IP包按網(wǎng)絡(luò)3的幀格式重新封裝,然后轉(zhuǎn)發(fā)給目的主機(jī)4(其MAC地址也通過ARP協(xié)議獲取);(4)發(fā)送過程中,源IP和目的IP始終不會改變,但MAC地址在不斷改變,在某個(gè)物理網(wǎng)上,如果路由器不知道下一個(gè)路由器或主機(jī)的物理地址,則采用ARP協(xié)議得到。源IP:202.197.12.1目的IP:202.197.11.6----------------------------源MAC:E4目的MAC:E6主機(jī)1主機(jī)4源IP:202.197.12.1目的IP:202.197.11.6----------------------------ARP協(xié)議的演示假設(shè)主機(jī)1的IP為192.168.25.168,其缺省網(wǎng)關(guān)IP為192.168.25.118,主機(jī)1的ARP表中沒有缺省網(wǎng)關(guān)的MAC地址,主機(jī)2的IP為192.168.26.168,兩主機(jī)不在同一個(gè)網(wǎng)絡(luò)中,在主機(jī)1上向主機(jī)2發(fā)ping檢測包,通過Pktdump抓包程序分析arp

協(xié)議的工作過程;ARP的工作原理(cont.)2、RARP協(xié)議(Reverse-ARP)如果已知自己的MAC地址,需要獲取IP地址怎么辦?例如:無盤工作站沒有OS,如何解決IP地址分配的問題;在使用動態(tài)主機(jī)配置協(xié)議DHCP自動分配IP地址的網(wǎng)絡(luò)中,如何為用戶分配IP地址?通過RARP可以實(shí)現(xiàn),RARP的工作原理:在網(wǎng)絡(luò)上設(shè)置一個(gè)RARP/DHCP服務(wù)器;工作站/主機(jī)啟動時(shí),向網(wǎng)絡(luò)上廣播RARP包“我的物理地址為aa.bb.cc.dd.ee.ff,有誰知道我的IP地址請告訴我”。RARP/DHCP服務(wù)器收到RARP廣播包后,根據(jù)IP地址當(dāng)時(shí)的使用情況為該工作站/主機(jī)分配一個(gè)IP地址,并通過RARP包返回給aa.bb.cc.dd.ee.ff;3、ARP/RARP報(bào)文的格式

ARP與RARP的報(bào)文格式完全相同:08162431bit硬件類型:物理網(wǎng)絡(luò)類型,ETH10M/ETH100M;協(xié)議類型:IP協(xié)議,0x800操作類型:1—ARP請求;2—ARP響應(yīng);3--RARP請求;4—RARP響應(yīng);發(fā)送者硬件地址:6Byte發(fā)送者IP地址:4Byte目的硬件地址:6Byte目的IP地址:4ByteARP/RARP包結(jié)構(gòu)的實(shí)現(xiàn)typedef

struct_arphdr//定義ARP首部{

u_short

hw_type;

u_short

prot_type;

u_char

hw_addr_size;

u_char

prot_addr_size;

u_short op;

u_char sndr_hw_addr[6];

u_char sndr_ip_addr[4];

u_char rcpt_hw_addr[6];

u_char rcpt_ip_addr[4];

u_char padding[18];}ARP_HEADER;9.2ICMP協(xié)議(InternetControlMessageProtocol)由于IP層采用的數(shù)據(jù)報(bào)方式,當(dāng)通信介質(zhì)或路由器出現(xiàn)故障、目的端主機(jī)不可到達(dá)、IP報(bào)文生存定時(shí)器超時(shí)、路由器或通信線路擁塞等問題出現(xiàn)時(shí),IP包都無法正常到達(dá)目的主機(jī),而源主機(jī)卻無法判斷發(fā)送失敗的原因,怎么辦?----通過網(wǎng)絡(luò)控制報(bào)文協(xié)議ICMP來處理;為了讓路由器可以向源主機(jī)報(bào)告差錯(cuò)情況,IP協(xié)議族中引入Internet控制報(bào)文協(xié)議ICMP;ICMP是網(wǎng)絡(luò)互連層的一部分,在網(wǎng)絡(luò)互連層協(xié)議軟件中都包含了ICMP協(xié)議的實(shí)現(xiàn)模塊;ICMP報(bào)文通過IP協(xié)議來傳輸,當(dāng)路由器要發(fā)送ICMP報(bào)文時(shí),它會創(chuàng)建一個(gè)IP數(shù)據(jù)報(bào)并將ICMP報(bào)文封裝到IP報(bào)文的數(shù)據(jù)區(qū)中,然后這個(gè)數(shù)據(jù)報(bào)象普通的IP報(bào)文一樣通過Internet。9.2.1、ICMP報(bào)文格式報(bào)文類型報(bào)文編碼校驗(yàn)和field1

field2field3

8bits8bits16bits16bits

16bits32bitsICMP報(bào)文

ICMP包是通過IP包發(fā)送的;

在IP包中ICMP包沒有特別優(yōu)先權(quán),當(dāng)ICMP包本身出錯(cuò)時(shí),不會產(chǎn)生ICMP包的ICMP包,而是產(chǎn)生一個(gè)網(wǎng)絡(luò)異常中斷;

ICMP包的數(shù)據(jù)區(qū)除了包含出錯(cuò)IP包的報(bào)頭外,還包含其數(shù)據(jù)區(qū)的前64bit數(shù)據(jù),以便接收方更準(zhǔn)確地判斷由哪個(gè)高層協(xié)議來負(fù)責(zé)。IP包數(shù)據(jù)幀typedef

struct_icmphdr//定義ICMP首部{ BYTE i_type; //8位類型

BYTE i_code; //8位代碼

USHORT i_cksum; //16位校驗(yàn)和

USHORT i_id; //識別號(一般用進(jìn)程號作為 識別號)

USHORT i_seq; //報(bào)文序列號

ULONG timestamp; //時(shí)間戳}ICMP_HEADER;ICMP包結(jié)構(gòu)的實(shí)現(xiàn) 差錯(cuò)報(bào)文ICMP報(bào)文類型控制報(bào)文

請求/應(yīng)答報(bào)文目的端不可達(dá)(type=3)超時(shí)報(bào)文(type=11)參數(shù)出錯(cuò)(type=12)源抑制報(bào)文(type=4)重定向報(bào)文(type=5)回應(yīng)請求/應(yīng)答報(bào)文(type=8/0)時(shí)戳請求/應(yīng)答報(bào)文(type=13/14)地址請求/應(yīng)答報(bào)文(type=17/18)9.2.2、ICMP報(bào)文的類型1、差錯(cuò)報(bào)文 當(dāng)路由器或目的主機(jī)認(rèn)為某IP包傳輸出錯(cuò)如:目的端不可達(dá)、超時(shí)報(bào)文、參數(shù)出錯(cuò),則丟棄該IP包,同時(shí)向源主機(jī)報(bào)告出錯(cuò)情況。目的端不可到達(dá)報(bào)文8bits8bits8bits8bitsTypecodeChecksumUnusedInternetHeader+64bitsofOriginalDataDatagram

typecodeDescription30netunreachable31hostunreachable32protocolunreachable33portunreachable34fragmentationneededandDFset35sourceroutefailed差錯(cuò)報(bào)文(續(xù))報(bào)文超時(shí)當(dāng)IP包經(jīng)過一段時(shí)間或經(jīng)過一個(gè)路由器時(shí),IP包中TTL的值減1,當(dāng)變?yōu)?時(shí),路由器將該IP包丟棄,以防止IP包在網(wǎng)絡(luò)中逗圈,此時(shí)路由器需要發(fā)一個(gè)報(bào)文超時(shí)包以通知源主機(jī);當(dāng)主機(jī)在規(guī)定的時(shí)間內(nèi)未收到某個(gè)分段的IP包因而不能正常組裝IP包時(shí),主機(jī)也將該IP包丟棄,此時(shí)主機(jī)也需要發(fā)一個(gè)報(bào)文超時(shí)包以通知源主機(jī);8bits8bits8bits8bitsTypecodeChecksumUnusedInternetHeader+64bitsofOriginalDataDatagram

typecodeDescription110timetoliveexceededintransit111fragmentreassemblytimeexceeded差錯(cuò)報(bào)文(續(xù))應(yīng)用網(wǎng)絡(luò)超時(shí)報(bào)文可以用來跟蹤從源端到目的端是否可達(dá),并記錄沿途經(jīng)過的路由器的IP地址;方法為:第一次時(shí),源端向目的端發(fā)送一個(gè)TTL=1的IP包,到達(dá)第一個(gè)路由器后,TTL的值減為0,于是路由器丟棄該IP包,并向源端返回一個(gè)包含該路由器IP地址的ICMP包;第二次時(shí),源端向目的端發(fā)送一個(gè)TTL=2的IP包,到達(dá)第二個(gè)路由器后,TTL的值減為0,于是第二個(gè)路由器丟棄該IP包,并向源端返回一個(gè)包含該路由器IP地址的ICMP包;依次類推,可得到從源端到目的端所經(jīng)過的所有路由器的IP地址(如果可到達(dá)的話)

Tracert

的演示:假設(shè)主機(jī)1的IP為192.168.25.168,主機(jī)2的IP為192.168.25.188,兩主機(jī)在同一個(gè)網(wǎng)絡(luò)中,在主機(jī)1上向主機(jī)2發(fā)tracert

檢測包,通過Pktdump抓包程序分析arp&icmp

協(xié)議的工作過程;假設(shè)主機(jī)1的IP為192.168.25.168,其缺省網(wǎng)關(guān)IP為192.168.25.118,主機(jī)2的IP為192.168.26.168,兩主機(jī)不在同一個(gè)網(wǎng)絡(luò)中,在主機(jī)1上向主機(jī)2發(fā)tracert

檢測包,通過Pktdump抓包程序分析arp&icmp

協(xié)議的工作過程;差錯(cuò)報(bào)文(續(xù))差錯(cuò)報(bào)文(續(xù))參數(shù)出錯(cuò) 當(dāng)路由器/主機(jī)發(fā)現(xiàn)IP包頭中的參數(shù)出錯(cuò)時(shí)(如可選參數(shù)出錯(cuò)),將丟棄該IP包,同時(shí)產(chǎn)生該報(bào)文以通知源節(jié)點(diǎn)。8bits8bits8bits8bitsTypecodeChecksumPointerUnusedInternetHeader+64bitsofOriginalDataDatagram

typecodeDescription120Pointeridentifiestheoctetwhereanerrorwasdetected

源抑制報(bào)文--即抑制源端發(fā)送報(bào)文的速率。當(dāng)路由器收到一個(gè)IP包后,如果到其目的節(jié)點(diǎn)的輸出緩沖區(qū)隊(duì)列沒有足夠的空間時(shí),路由器將丟棄該IP包,同時(shí)產(chǎn)生該報(bào)文以通知源節(jié)點(diǎn);當(dāng)目的主機(jī)的從某個(gè)節(jié)點(diǎn)上收包的速度大大快于包的處理速度時(shí),目的主機(jī)也產(chǎn)生該報(bào)文以通知源節(jié)點(diǎn)減慢發(fā)包的速度;當(dāng)源端IP協(xié)議收到源抑制報(bào)文后,將會按指示減慢發(fā)送速率,經(jīng)過一個(gè)周期后,如果沒收到新的抑制報(bào)文,則源端認(rèn)為擁塞解除,將提高發(fā)送速率,否則將再次降低發(fā)送速率。2、控制報(bào)文8bits8bits8bits8bitsTypecodeChecksumUnusedInternetHeader+64bitsofOriginalDataDatagram

typecodeDescription40SourceQuenchMessage重定向報(bào)文--用于路由器告訴上一個(gè)路由器或主機(jī)去往目的地的最優(yōu)路徑。假設(shè)網(wǎng)關(guān)G1從網(wǎng)絡(luò)上接收到一個(gè)IP包,查路由表后得到去目的地的下一個(gè)網(wǎng)關(guān)為G2,如果G2和目的主機(jī)在同一網(wǎng)絡(luò)上,則G1將向源節(jié)點(diǎn)發(fā)一個(gè)重定向報(bào)文,建議源節(jié)點(diǎn)直接將數(shù)據(jù)報(bào)發(fā)向網(wǎng)關(guān)G2,因?yàn)檫@更近,同時(shí)網(wǎng)關(guān)G1向前(G2)繼續(xù)發(fā)送此數(shù)據(jù)報(bào);如果在IP包中指定了IP源路由和目的網(wǎng)關(guān)地址域,即使有更好的路由路由器也不會發(fā)送該報(bào)文。2、控制報(bào)文(續(xù))8bits8bits8bits8bitsTypecodeChecksumGatewayInternetAddressInternetHeader+64bitsofOriginalDataDatagram

typecodeDescription50RedirectdatagramsfortheNetwork51RedirectdatagramsfortheHost52RedirectdatagramsfortheTypeofServiceandNetwork53RedirectdatagramsfortheTypeofServiceandHostG1G2目標(biāo)源 通過請求/應(yīng)答報(bào)文可獲得網(wǎng)絡(luò)狀態(tài)信息,以便進(jìn)行故障診斷和控制?;貞?yīng)請求/應(yīng)答—用于測試目的端的可達(dá)性,源端向目的端發(fā)送一個(gè)具有序列號的回應(yīng)請求報(bào)文,其中包括測試數(shù)據(jù),目的端收到后返回一個(gè)包含同樣序列號和數(shù)據(jù)的應(yīng)答報(bào)文,源端如在給定的時(shí)間內(nèi)收到并比較二者數(shù)據(jù)一致,則說明源端到目的端是可達(dá)的,且二者的IP協(xié)議、ICMP協(xié)議以及中間經(jīng)過的所有路由器的工作是正常的。3、請求/應(yīng)答報(bào)文8bits8bits8bits8bitsTypecodeChecksumIdentifierSequenceNumberData。。。

typecodeDescription80echomessagerequest00echoreplymessageIdentifier、SequenceNumber用戶協(xié)助請求和響應(yīng)之間的配對;Data:用于測試的數(shù)據(jù),長度可變。連通性命令測試Ping正是基于該原理的;Ping的演示:假設(shè)主機(jī)1的IP為192.168.25.168,主機(jī)2的IP為192.168.25.188,兩主機(jī)在同一個(gè)網(wǎng)絡(luò)中,在主機(jī)1上向主機(jī)2發(fā)ping檢測包,通過Pktdump抓包程序分析icmp

協(xié)議的工作過程;假設(shè)主機(jī)1的IP為192.168.25.168,其缺省網(wǎng)關(guān)IP為192.168.25.118,主機(jī)2的IP為192.168.26.168,兩主機(jī)不在同一個(gè)網(wǎng)絡(luò)中,在主機(jī)1上向主機(jī)2發(fā)ping檢測包,通過Pktdump抓包程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論