|
——--以太網協議(用于10MBPS的以太網,作者以下所說的以太網均指10M以太網,而不是100M,1000M的以太網) ——以太網協議有兩種,一種是IEEE802.2/IEEE802.3,還有一種是以太網的封裝格式。 ——現代的操作系統均能同時支持這兩種類型的協議格式。因此對我們來說只需要了解其中的一種就夠了,特別是對單片機來說,不可能支持太多的協議格式。 ——以太網的物理傳輸幀:(僅介紹第二種格式) PR SD DA SA TYPE DATA PAD FCS 56位 8位 48位 48位 16位 不超過1500字節 可選 32位
——PR:同步位,用于收發雙方的時鐘同步,同時也指明了傳輸的速率(10M和100M的時鐘頻率不一樣,所以100M網卡可以兼容10M網卡),是56位的二進制數101010101010..... ——SD: 分隔位,表示下面跟著的是真正的數據,而不是同步時鐘,為8位的10101011,跟同步位不同的是最后2位是11而不是10. ——DA:目的地址,以太網的地址為48位(6個字節)二進制地址,表明該幀傳輸給哪個網卡.如果為FFFFFFFFFFFF,則是廣播地址,廣播地址的數據可以被任何網卡接收到. ——SA:源地址,48位,表明該幀的數據是哪個網卡發的,即發送端的網卡地址,同樣是6個字節. ----TYPE:類型字段,表明該幀的數據是什么類型的數據,不同的協議的類型字段不同。如:0800H 表示數據為IP包,0806H 表示數據為ARP包,814CH是SNMP包,8137H為IPX/SPX包,(小于0600H的值是用于IEEE802的,表示數據包的長度。) ----DATA:數據段 ,該段數據不能超過1500字節。因為以太網規定整個傳輸包的最大長度不能超過1514字節。(14字節為DA,SA,TYPE) ----PAD:填充位。由于以太網幀傳輸的數據包最小不能小于60字節, 除去(DA,SA,TYPE 14字節),還必須傳輸46字節的數據,當數據段的數據不足46字節時,后面補000000.....(當然也可以補其它值) ----FCS:32位數據校驗位.為32位的CRC校驗,該校驗由網卡自動計算,自動生成,自動校驗,自動在數據段后面填入.對于數據的校驗算法,我們無需了解. ----事實上,PR,SD,PAD,FCS這幾個數據段我們不用理它 ,它是由網卡自動產生的,我們要理的是DA,SA,TYPE,DATA四個段的內容. ----所有數據位的傳輸由低位開始(但傳輸的位流是用曼徹斯特編碼的) ----以太網的沖突退避算法就不介紹了,它是由硬件自動執行的. DA+SA+TYPE+DATA+PAD最小為60字節,最大為1514字節. ----以太網卡可以接收三種地址的數據,一個是廣播地位,一個是多播地址(我們用不上),一個是它自已的地址.但網卡也可以設置為接收任何數據包(用于網絡分析和監控). ----任何兩個網卡的物理地址都是不一樣的,是世界上唯一的,網卡地址由專門機構分配.不同廠家使用不同地址段,同一廠家的任何兩個網卡的地址也是唯一的.根據網卡的地址段(網卡地址的前三個字節),可以知道網卡的生產廠家.有些網卡的地址也可以由用戶去設定,但一般不需要.
本篇文章來源于 電子開發網 轉載請以鏈接形式注明出處 網址:http://www.dzkfw.com.cn/Article/danpianji/198.html
|