网络协议之以太网协议解析
Ethernet :以太網(wǎng)協(xié)議,用于實現(xiàn)鏈路層的數(shù)據(jù)傳輸和地址封裝(MAC),以太網(wǎng)是局域網(wǎng)使用最廣泛的協(xié)議,由于部署簡單,價格低廉,被IEEE委員會標(biāo)準(zhǔn)化。
?
封裝原理:
?
以太網(wǎng)的數(shù)據(jù)幀格式如下圖所示:
?
它由6個字節(jié)的目的MAC地址,6個字節(jié)的源MAC地址,2個字節(jié)的類型域(用于標(biāo)示封裝在這個Frame、里面的數(shù)據(jù)的類型)。接下來是46-1500字節(jié)的數(shù)據(jù)和4字節(jié)的幀校驗。
?
?? 前同步碼:8字節(jié),前7個0,1交替的字節(jié)(10101010)用來同步接收站,一個1010101011字節(jié)指出幀的開始位置。報頭提供接收器同步和幀界定服務(wù)。
?
?? 目標(biāo)地址:標(biāo)識目的通信方的MAC地址,6個字節(jié),單播多播或者廣播。單播地址叫個人、物理、硬件或MAC地址,廣播地址為全1,? 0xFF FF FF FF 。
?
?? 源地址:標(biāo)識發(fā)送端的MAC地址,6個字節(jié),指出發(fā)送節(jié)點的單點廣播地址。
?
?? 以太類型:2個字節(jié),用來指出以太網(wǎng)幀內(nèi)所含的上層協(xié)議。即幀格式的協(xié)議標(biāo)識符。對于IP報文來說,該字段值是0x0800。對于ARP信息來說,以太類型字段的值是0x0806。
?
以太類型值(16進(jìn)制)對應(yīng)協(xié)議?
0x0000 -0x05DC ?? ????? IEEE 802.3 長度 ?
0x0101-0x01FF? ?? 實驗 ?
0x0600??? ????????????????????????? XEROX NS IDP ?
0x0660-0x0661??????????????? DLOG ?
0x0800?????????????????????????????? 網(wǎng)際協(xié)議(IP) ?
0x0801 ??????????????????????????? X.75 ?Internet ?
0x0802 ??????????????????????????? NBS Internet ?
0x0803 ??????????????????????????? ECMA Internet ?
0x0804 ??????????????????????????? ?Chaosnet ?
0x0805?????????????????????????????? X.25 Level 3 ?
0x0806?????????????????????????????? 地址解析協(xié)議(ARP : Address Resolution Protocol)?
0x0808 ??????????????????????????? 幀中繼 ARP (Frame Relay ARP) [RFC1701]?
0x6559 ??????????????????????????? 原始幀中繼(Raw Frame Relay) [RFC1701]?
0x8035?????????????????????????????? 動態(tài) DARP (DRARP:Dynamic RARP)反向地址解析協(xié)議(RARP:Reverse Address Resolution Protocol)?
0x8037?????????????????????????????? Novell Netware IPX ?
0x809B????????????????????????????? EtherTalk ?
0x80D5????????????????????????????? IBM SNA Services over Ethernet ?
0x80F3????????????????????? AppleTalk 地址解析協(xié)議(AARP:AppleTalk Address Resolution Protocol)?
0x8100 ??????????????????????????? 以太網(wǎng)自動保護(hù)開關(guān)(EAPS:Ethernet Automatic Protection Switching)?
0x8137 ??????????????????????????? 因特網(wǎng)包交換(IPX:Internet Packet Exchange)?
0x814C ??????????????????????????? 簡單網(wǎng)絡(luò)管理協(xié)議(SNMP:Simple Network Management Protocol)?
0x86DD????????????????????????????? 網(wǎng)際協(xié)議v6(IPv6,Internet Protocol version 6)?
0x8809 ??????????????????????????? OAM?
0x880B????????????????????????????? 點對點協(xié)議(PPP:Point-to-Point Protocol)?
0x880C ??????????????????????????? 通用交換管理協(xié)議(GSMP:General Switch Management Protocol)?
0x8847????????????????????? 多協(xié)議標(biāo)簽交換(單播) MPLS:Multi-Protocol Label Switching <unicast>)?
0x8848????????????????????? 多協(xié)議標(biāo)簽交換(組播)(MPLS, Multi-Protocol Label Switching <multicast>)?
0x8863????????????????????? 以太網(wǎng)上的 PPP(發(fā)現(xiàn)階段)(PPPoE:PPP Over Ethernet <Discovery Stage>)?
0x8864??? 以太網(wǎng)上的 PPP(PPP 會話階段) (PPPoE,PPP Over Ethernet<PPP Session Stage>)?
0x88BB ???????????????????? 輕量級訪問點協(xié)議(LWAPP:Light Weight Access Point Protocol) ?0x88CC ?鏈接層發(fā)現(xiàn)協(xié)議(LLDP:Link Layer Discovery Protocol)?
0x8E88 ??????????????????????????? 局域網(wǎng)上的 EAP(EAPOL:EAP over LAN)?
0x9000 ??????????????????????????? 配置測試協(xié)議(Loopback)?
0x9100 ??????????????????????????? VLAN 標(biāo)簽協(xié)議標(biāo)識符(VLAN Tag Protocol Identifier)?
0x9200?????????????????????????????? VLAN 標(biāo)簽協(xié)議標(biāo)識符(VLAN Tag Protocol Identifier) ?
0xFFFF ???????????????????????????? 保留
?
幀檢驗序列:4個字節(jié)。驗證比特完整性。
以太網(wǎng)協(xié)議中的數(shù)據(jù):指的是包含上層各種協(xié)議頭在內(nèi)和真正實際數(shù)據(jù)的總和
相關(guān)知識點解析:
1.MAC地址
①所有設(shè)備的MAC地址都是全球唯一的;
②MAC地址是16進(jìn)制表示的,長度為48bit,采用冒號分16進(jìn)制表示;
③MAC地址前半部分被稱為“OUI代碼”廠商唯一標(biāo)志符,用于唯一標(biāo)志一個企業(yè)/公司,例如思科、TP-LINK、華為;后半部分廠商自行分配,B8:bc:1b表示華為OUI代碼,極路由Hiwifi的OUI代碼為d4:ee:07
?
2.有效負(fù)載:由一個上層協(xié)議的協(xié)議數(shù)據(jù)單元PDU構(gòu)成。可以發(fā)送的最大有效負(fù)載是1500字節(jié)。由于以太網(wǎng)的沖突檢測特性,有效負(fù)載至少是46個字節(jié)。如果上層協(xié)議數(shù)據(jù)單元長度少于46個字節(jié),必須增補到46個字節(jié)。如下抓包中的padding字段就是數(shù)據(jù)小于46個字節(jié),填充的0
?
3. 以太網(wǎng)協(xié)議僅僅是鏈路層/局域網(wǎng)通信中的一種標(biāo)準(zhǔn),還有其他鏈路層協(xié)議,令牌網(wǎng)、總線網(wǎng)、FDDI等,以太網(wǎng)幀結(jié)構(gòu)按IEEE劃分還包括IEEE802.3和IEEE802.2標(biāo)準(zhǔn),細(xì)分如下:
總結(jié)
以上是生活随笔為你收集整理的网络协议之以太网协议解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022年终总结(脚踏实地,仰望星空)
- 下一篇: JavaScript中的break