日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络 链路层 | 以太网协议与ARP协议

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络 链路层 | 以太网协议与ARP协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據鏈路層是計算機網絡的底層,主要負責相鄰設備之間的數據幀傳輸

鏈路層就是負責每一個相鄰結點之間的數據傳輸,但是相鄰設備之間也需要描述識別,主要是因為每一個設備都有可能有多個相鄰的設備。這種識別在鏈路層中是通過MAC地址來實現的

MAC地址:mac地址就是網卡的硬件地址,用于識別相鄰的設備,它是一個無符號6字節的整數 uint8_t mac[6]

以太網協議

以太網協議格式

目的地址和源地址:描述識別相鄰的設備之間的數據傳輸
上層協議類型:網絡層的協議類型,進行數據分用時選擇上層的解析協議
數據:網絡層的數據報文
CRC:數據幀尾,包含校驗和,校驗數據的一致性

如何獲取對端的mac地址
一個主機,第一次通過網線連接到路由器上,然后發送DHCP請求,路由器收到之后就會進行響應,給主機分配IP地址,但是此時是不知道對方的mac地址,那我們如何獲取呢?

ARP協議

ARP協議:ARP不是一個單純的數據鏈路層的協議, 而是一個介于數據鏈路層和網絡層之間的協議。主要功能是通過IP地址獲取mac地址

ARP協議格式

以太網目的地址和以太網源地址:描述識別相鄰的設備之間的數據傳輸
上層協議類型:網絡層的協議類型,進行數據分用時選擇上層的解析協議
硬件類型:鏈路層網絡類型,1為以太網
協議類型:要轉換的地址類型,0x0800為IP地址
硬件地址長度:對于以太網地址為6字節
協議地址長度:對于和IP地址為4字節
op字段:1表示ARP請求,op字段為2表示ARP應答

arp協議如何通過IP地址獲取MAC地址
封裝arp請求,然后將arp請求廣播到整個局域網(私網)中,(以太網頭中設置的對端mac地址為FFFFFFFFFFFF,在arp請求中描述自己的mac地址和ip地址,以及對端的IP地址和對端的mac地址空白),相鄰設備收到arp請求之后,檢測目的IP地址是否與自己相符,若相符則組織arp響應,填充自己的mac地址回復過去,若不符合則直接丟棄。

主機獲取相鄰設備mac地址之后,會緩存一段時間(默認為20 ~30分鐘)

arp局域網欺騙攻擊:惡意主機收到arp廣播請求,偽裝自己,告訴主機自己就是目標主機,將自己的mac地址發送過去。解決方案:防火墻白名單,直接列出受信任的相鄰主機,如果發送過來的mac地址不在白名單上,則直接丟棄

MTU

MTU:MTU為最大傳輸單元,是鏈路層限制的數據幀大小(根據組網方式不同,默認數值也不同,以太網默認為1500B)

mtu對上層協議應用的影響

tcp協議:tcp在傳輸層進行三次握手時,進行MSS協商,也就是最大數據段大小協商,告訴對方自己的mss是多少,然后通信時取較小的一方作為最大傳輸數據段大小,每次從緩沖區中取出不大于mss大小數據進行傳輸。因此通常也說tco在傳輸層會自動進行數據分段。MSS = MTU - 最小IP報頭長度 - 最小TCP報頭長度;

udp協議:因為udp不考慮mss,只要數據段大小小于64k-28,就可以進行傳輸,但是這個數據大小若是大于mtu,則會在網絡層進行數據分片
udp不保證數據可靠傳輸,一個udp報文若在網絡層進行了分片,則傳輸過程中,一個分片出問題,整個udp報文都會被丟棄;也就意味著udp傳輸過程中,分片越多,在傳輸過程中出現問題的幾率就越大
解決方案:程序員在應用層使用udp協議時最好考慮mss問題,將udp數據段按照計算的mss進行分包處理

總結

以上是生活随笔為你收集整理的网络 链路层 | 以太网协议与ARP协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。