您好,登錄后才能下訂單哦!
MAC幀格式:
以太網(wǎng)幀格式由5個(gè)字段組成,前兩個(gè)字段分別是6字節(jié)長的目的地址和源地址字段,是指網(wǎng)卡的硬件地址(MAC地址)。第三個(gè)字段是2字節(jié)的類型字段,用來標(biāo)識上一層使用的是什么協(xié)議,以便把收到的MAC幀的數(shù)據(jù)上交給上一層的這個(gè)協(xié)議。例如,當(dāng)類型字段的值是0X0800時(shí),就表示上層使用的是IP數(shù)據(jù)報(bào)。第四個(gè)字段是數(shù)據(jù)字段,其長度在46~1500字節(jié)之間。最后一個(gè)字段是4字節(jié)的幀檢驗(yàn)序列FCS(CRC檢驗(yàn))。最大值1500稱為以太網(wǎng)的最大傳輸單元(MTU),如果數(shù)據(jù)報(bào)長度大于這個(gè)長度,需要對數(shù)據(jù)報(bào)進(jìn)行分片。MTU指數(shù)據(jù)幀中有效載荷的最大長度,不包括幀首部的長度。
我們可以發(fā)現(xiàn),在MAC幀格式中,沒有一個(gè)幀長度字段,MAC子層怎么知道從接收的以太網(wǎng)幀中取出多少字節(jié)的數(shù)據(jù)交付上一層呢?我們知道以太網(wǎng)發(fā)送的數(shù)據(jù)都使用曼徹斯特編碼信號的,在曼徹斯特編碼的每一個(gè)碼元的正中間一定有一次電壓的轉(zhuǎn)換,當(dāng)發(fā)送方把一個(gè)以太網(wǎng)幀發(fā)送完畢后,就不在發(fā)送其他碼元了,因此發(fā)送方網(wǎng)絡(luò)適配器的接口上的電壓也就不再變換了。這樣接收方就可以知道以太網(wǎng)幀的結(jié)束位置了。
ARP數(shù)據(jù)報(bào)格式:
下面我們解釋一下數(shù)據(jù)報(bào)格式中的部分字段:
幀類型為:ARP協(xié)議類型
硬件類型:指鏈路層網(wǎng)絡(luò)類型,1為以太網(wǎng);
協(xié)議類型:指要轉(zhuǎn)換的地址類型,例0X0800為IP地址;
后面兩個(gè)地址長度:相對于以太網(wǎng)地址和IP地址分別為6字節(jié)和4字節(jié);
op字段:op為1表示ARP請求,op為2表示應(yīng)答;
在我們實(shí)際已經(jīng)知道了一個(gè)機(jī)器(主機(jī)或路由器)的IP地址,需要找到其相應(yīng)的硬件地址,地址解析協(xié)議ARP就是幫我們解決這個(gè)問題的。它是為了從網(wǎng)絡(luò)層使用的IP地址解析出在數(shù)據(jù)鏈路層使用的硬件地址。每個(gè)主機(jī)都維護(hù)一個(gè)ARP緩存表,里面有本局域網(wǎng)上的各個(gè)主機(jī)和路由器的IP地址到硬件地址的映射表。
當(dāng)主機(jī)A要向本局域網(wǎng)上的某個(gè)主機(jī)B發(fā)送IP數(shù)據(jù)報(bào)時(shí),就先在其ARP高速緩存中查看有主機(jī)B的IP地址。如有,就在ARP高速緩存中查出其對應(yīng)的硬件地址,再把這個(gè)硬件地址寫入MAC幀,然后通過局域網(wǎng)把該MAC幀發(fā)往此硬件地址。當(dāng)查不到主機(jī)B的IP地址時(shí),主機(jī)A自動運(yùn)行ARP,然后按下面的方法找到主機(jī)B的硬件地址:
1.ARP進(jìn)程在本局域網(wǎng)上廣播發(fā)送一個(gè)ARP請求分組;
2.在本局域網(wǎng)上的所有主機(jī)上運(yùn)行的ARP進(jìn)程都能收到此ARP請求分組;
3.主機(jī)B的IP地址與ARP請求分組中要查詢的IP地址一致,就收下這個(gè)ARP請求分組,并向主機(jī)A 發(fā)送ARP響應(yīng)分組,并在這個(gè)ARP響應(yīng)分組中寫上自己的硬件地址。其他所有的主機(jī)IP地址都與請求分組中查詢的IP地址不一致,不予回應(yīng)這個(gè)ARP請求分組。
4.主機(jī)A收到主機(jī)B的ARP響應(yīng)分組后,就在其ARP高速緩存中寫入主機(jī)B的IP地址到硬件地址的映射。
注意:ARP是解決同一個(gè)局域網(wǎng)上的主機(jī)或路由器的IP地址和硬件地址的映射問題。
IP數(shù)據(jù)報(bào)格式:
IP數(shù)據(jù)報(bào)格式能夠說明IP協(xié)議具有什么功能。一個(gè)IP數(shù)據(jù)報(bào)由首部和數(shù)據(jù)兩部分組成。首部的前一部分是固定長度,共20字節(jié)。后面是一些可選字段,其長度是可變的。下面我們來說下各字段的意義:
4位版本:對于IPv4,4位版本字段是4;
首部長度:占4位,首部長度字段所表示數(shù)的單位是32位子。因此,首部長度字段的最小值是5.也就是說,首部長度最小是20字節(jié),4位能表示的最大值是15,也就是首部長度最大是60字節(jié)。
8位服務(wù)類型:有3個(gè)位用來指定IP數(shù)據(jù)報(bào)的優(yōu)先級,還有4個(gè)位表示可選的服務(wù)類型,還有一個(gè)位總是0.
16位總長度:是整個(gè)數(shù)據(jù)報(bào)的字節(jié)數(shù)。
16位標(biāo)識:每傳送一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器就加1
3位標(biāo)識和13位片移用于分片
生存時(shí)間:TTL,表明數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命。由發(fā)出數(shù)據(jù)報(bào)的原點(diǎn)設(shè)置這個(gè)字段。其,其目的是防止無法交付的數(shù)據(jù)報(bào)無限制的在因特網(wǎng)中逗留而白白消耗網(wǎng)絡(luò)資源;
8位協(xié)議字段指出此數(shù)據(jù)包攜帶的數(shù)據(jù)是何種協(xié)議,以便使目的主機(jī)IP層知道應(yīng)將數(shù)據(jù)部分上交到那個(gè)處理過程
16位首部校驗(yàn)和:這個(gè)字段只檢驗(yàn)數(shù)據(jù)報(bào)的首部,但不包括數(shù)據(jù)部分。這是因?yàn)閿?shù)據(jù)報(bào)每經(jīng)過一個(gè)路由器,路由器都要重新計(jì)算一下首部校驗(yàn)和。數(shù)據(jù)的校驗(yàn)由更高層協(xié)議負(fù)責(zé)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。