Ethernet帧结构
TCP/IP支持多種不同的鏈路層協(xié)議,這取決于網(wǎng)絡(luò)所使用的硬件,如Ethernet,令牌環(huán)網(wǎng),FDDI(Fiber Distributed Data Interface,光纖分布式數(shù)據(jù)接口)等。基于不同的硬件的網(wǎng)絡(luò)使用不同形式的幀結(jié)構(gòu),Ethernet是當(dāng)今應(yīng)用最廣泛的局域網(wǎng)技術(shù)。
Ethernet V2.0的幀結(jié)構(gòu):
| 前導(dǎo)碼 | 幀前定界符 | 目的地址DA | 源地址SA | 類型字段 | 數(shù)據(jù)字段 | 幀校驗(yàn)字段 |
| 7B | 1B | 6B | 6B | 2B | 46~1500B | 4B |
1.前導(dǎo)碼和幀前定界符字段
前導(dǎo)碼由56位(7B)的101010...1010比特序列組成,幀前定界符由一個(gè)8位的字節(jié)組成,其比特序列為10101011。
如果將前導(dǎo)碼與幀前定界符一起看,那么在62位101010...1010比特序列之后出現(xiàn)11。在這個(gè)11之后便是Ethernet幀的目的地址字段。從Ethernet物理層角度看,接收電路從開始接收比特到進(jìn)入穩(wěn)定狀態(tài),需要一定的時(shí)間。設(shè)計(jì)前62位1和0的交替比特序列的目的是保證接收電路在幀的目的地址到來之前到達(dá)正常狀態(tài)。接收端在收到最后兩位11時(shí),標(biāo)志在他之后應(yīng)該是幀的目的地址。前導(dǎo)碼與幀前定界符主要起到接收同步的作用,這8個(gè)字節(jié)接收后不需要保留,也不計(jì)入幀頭長(zhǎng)度。
2.目的地址和源地址
目的地址與源地址分別表示幀的接收節(jié)點(diǎn)與發(fā)送節(jié)點(diǎn)的硬件地址。硬件地址一般稱作MAC地址,物理地址或Ethernet地址。地址長(zhǎng)度為6B(即48位)。為了方便起見,通常使用十六進(jìn)制數(shù)字書寫。
Ethernet幀的目的地址可分為3種:
單播地址(unicast address):目的地址的第一位為0表示單播地址。目的地址是單播地址,則表示該幀只被與目的地址相同的節(jié)點(diǎn)所接收。
多播地址(multicast address):目的地址第一位為1表示多播地址。目的地址是多播地址,則表示該幀被一組節(jié)點(diǎn)所接收。
廣播地址(broadcast address):目的地址全為1表示廣播地址。目的地址是廣播地址,則表示該幀被所有所有節(jié)點(diǎn)接收。
3.類型字段
類型字段表示的是網(wǎng)絡(luò)層使用的協(xié)議類型。常見的協(xié)議類型:0800表示網(wǎng)絡(luò)層使用IP協(xié)議,0806表示網(wǎng)絡(luò)層使用ARP協(xié)議,8137表示網(wǎng)絡(luò)層使用Novell IPX協(xié)議,809b表示網(wǎng)絡(luò)層使用Apple Talk協(xié)議。
4.數(shù)據(jù)字段
IEEE 802.3協(xié)議規(guī)定數(shù)據(jù)的長(zhǎng)度在46~1500B之間。如果數(shù)據(jù)的長(zhǎng)度少于46B,需要加填充字節(jié),補(bǔ)充到46B。填充字節(jié)是任意的,不計(jì)入長(zhǎng)度字段中。幀頭部分長(zhǎng)度為18B,包括6B的目的地址字段,6B的源地址字段,2B的類型字段和4B的幀校驗(yàn)和字段,而前導(dǎo)碼與幀前界定符不計(jì)入幀頭長(zhǎng)度中,那么,Ehternet幀的最小長(zhǎng)度為64B(46B+18B),最大長(zhǎng)度為1518B(1500B+18B)。設(shè)置最小幀長(zhǎng)度的一個(gè)目的是使每個(gè)接收節(jié)點(diǎn)能夠有足夠的時(shí)間檢測(cè)到?jīng)_突。
5.幀校驗(yàn)字段
幀校驗(yàn)字段FCS采用CRC校驗(yàn)。校驗(yàn)的范圍包括目的地址字段,源地址字段,類型字段,數(shù)據(jù)字段。在接收端進(jìn)行校驗(yàn),如果發(fā)生錯(cuò)誤,幀將被丟棄。
32位CRC校驗(yàn)的生成多項(xiàng)式為:
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1
轉(zhuǎn)載于:https://www.cnblogs.com/TerryLiang/archive/2009/05/02/1447817.html
總結(jié)
以上是生活随笔為你收集整理的Ethernet帧结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运行初始化过程代码笔记
- 下一篇: 获取repeater控件模版列中的控件