——以太網(wǎng)協(xié)議有兩種,一種是IEEE802.2/IEEE802.3,還有一種是以太網(wǎng)的封裝格式。
——現(xiàn)代的操作系統(tǒng)均能同時支持這兩種類型的協(xié)議格式。因此對我們來說只需要了解其中的一種就夠了,特別是對單片機(jī)來說,不可能支持太多的協(xié)議格式。
——以太網(wǎng)的物理傳輸幀:(僅介紹第二種格式)
PR | SD | DA | SA | TYPE | DATA | PAD | FCS |
56位 | 8位 | 48位 | 48位 | 16位 | 不超過1500字節(jié) | 可選 | 32位 |
——PR:同步位,用于收發(fā)雙方的時鐘同步,同時也指明了傳輸?shù)乃俾剩?0M和100M的時鐘頻率不一樣,所以100M網(wǎng)卡可以兼容10M網(wǎng)卡),是56位的二進(jìn)制數(shù)101010101010.....
——SD: 分隔位,表示下面跟著的是真正的數(shù)據(jù),而不是同步時鐘,為8位的10101011,跟同步位不同的是最后2位是11而不是10.
——DA:目的地址,以太網(wǎng)的地址為48位(6個字節(jié))二進(jìn)制地址,表明該幀傳輸給哪個網(wǎng)卡.如果為FFFFFFFFFFFF,則是廣播地址,廣播地址的數(shù)據(jù)可以被任何網(wǎng)卡接收到.
——SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個網(wǎng)卡發(fā)的,即發(fā)送端的網(wǎng)卡地址,同樣是6個字節(jié).
----TYPE:類型字段,表明該幀的數(shù)據(jù)是什么類型的數(shù)據(jù),不同的協(xié)議的類型字段不同。如:0800H 表示數(shù)據(jù)為IP包,0806H 表示數(shù)據(jù)為ARP包,814CH是SNMP包,8137H為IPX/SPX包,(小于0600H的值是用于IEEE802的,表示數(shù)據(jù)包的長度。)
----DATA:數(shù)據(jù)段 ,該段數(shù)據(jù)不能超過1500字節(jié)。因?yàn)橐蕴W(wǎng)規(guī)定整個傳輸包的最大長度不能超過1514字節(jié)。(14字節(jié)為DA,SA,TYPE)
----PAD:填充位。由于以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60字節(jié), 除去(DA,SA,TYPE 14字節(jié)),還必須傳輸46字節(jié)的數(shù)據(jù),當(dāng)數(shù)據(jù)段的數(shù)據(jù)不足46字節(jié)時,后面補(bǔ)000000.....(當(dāng)然也可以補(bǔ)其它值)
----FCS:32位數(shù)據(jù)校驗(yàn)位.為32位的CRC校驗(yàn),該校驗(yàn)由網(wǎng)卡自動計(jì)算,自動生成,自動校驗(yàn),自動在數(shù)據(jù)段后面填入.對于數(shù)據(jù)的校驗(yàn)算法,我們無需了解.
----事實(shí)上,PR,SD,PAD,FCS這幾個數(shù)據(jù)段我們不用理它 ,它是由網(wǎng)卡自動產(chǎn)生的,我們要理的是DA,SA,TYPE,DATA四個段的內(nèi)容.
----所有數(shù)據(jù)位的傳輸由低位開始(但傳輸?shù)奈涣魇怯寐鼜厮固鼐幋a的)
----以太網(wǎng)的沖突退避算法就不介紹了,它是由硬件自動執(zhí)行的.
DA+SA+TYPE+DATA+PAD最小為60字節(jié),最大為1514字節(jié).
----以太網(wǎng)卡可以接收三種地址的數(shù)據(jù),一個是廣播地位,一個是多播地址(我們用不上),一個是它自已的地址.但網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包(用于網(wǎng)絡(luò)分析和監(jiān)控).
----任何兩個網(wǎng)卡的物理地址都是不一樣的,是世界上唯一的,網(wǎng)卡地址由專門機(jī)構(gòu)分配.不同廠家使用不同地址段,同一廠家的任何兩個網(wǎng)卡的地址也是唯一的.根據(jù)網(wǎng)卡的地址段(網(wǎng)卡地址的前三個字節(jié)),可以知道網(wǎng)卡的生產(chǎn)廠家.有些網(wǎng)卡的地址也可以由用戶去設(shè)定,但一般不需要.