TCP IP協議中,一端要給另一端傳送資料,是先進行ARP請求和應答,還是先建立TCP連線?

時間 2021-05-12 06:09:27

1樓:位元流

ARP請求會先於TCP連線SYN報文段的傳送(假設傳送端ARP快取中沒有到目標主機的IP-MAC對映表項的話)

因為如果要將TCP報文段正確地發往目標主機,必須要先知道目標主機IP對應網路介面的實體地址,而ARP的職責就是提供IP到實體地址之間對映。

2樓:軒脈刃

建立tcp連線一定會有ip和mac位址對映,只是這個對映要考慮兩個

1 是目標位址的對映還是閘道器位址的對映?這個取決於是直連還是非直連。

2 是是否需要發起arp請求?這個取決於本機的arp是否有快取到目標位址或到閘道器位址的mac對映。可以通過arp -a來檢視

3樓:

幾個回答都說的比較明確了。

其實對於這個問題很有可能是題主自己思路繞進去了轉不出來。簡單提示一下:

強調分層。研究網路基礎的時候時時刻刻記得每一層幹每一層的事兒,如果混淆,可能會產生奇怪的問題回答起來也很糾結。但事後理解了之後會發現問題本身有瑕疵。

注意主體。題主審視一下自己的題目,會發現你有意無意的沒有寫主體,這就是陷阱。假如你潛意識裡認為主體就是乙個傳送發乙個接收方,那就是違反了分層本身的意義。

如果你釐清主體,例如TCP連線是系統TCP/IP協議棧傳送和接受,而ARP是網絡卡驅動或者交換機進行處理,會發現你的問題其實是混淆主體導致的。分層以後,所謂的跨層的先後順序其實意義就不大了。

4樓:車小胖

1. 和自己在同乙個網段

1.1 IP層 ARP cache table 有 destination IP 對應的MAC位址

通過呼叫網路介面send函式提交給網路介面,引數有(IP Packet,Destination MAC),網路介面完成Ethernet Header + IP + CRC 的封裝,並傳送出去

1.2 IP層 ARP cache table 空

IP層將TCP SYN快取下來,傳送ARP廣播請求destination IP 的MAC,成功接收ARP Reply ,將其快取在 ARP cache,將TCP SYN完成IP封裝,並採用類似1.1 的方法將Ethernet Frame傳送出去。

2. 不在同乙個網段

需要將包傳送給default gateway,所以需要知道其MAC位址

2.1 IP層 ARP cache table 有 default gateway對應的MAC位址

通過呼叫網路介面send函式提交給網路介面,引數有(IP Packet,Default gateway's MAC),網路介面完成Ethernet Header + IP + CRC 的封裝,並傳送出去

2.2 IP層 ARP cache table 空

IP層將TCP SYN快取下來,傳送ARP廣播請求default gateway 的MAC,成功接收ARP Reply ,將其快取在 ARP cache,將TCP SYN完成IP封裝,並採用類似的2.1的方法將Ethernet Frame傳送出去。

當彈簧一端連線重物,另一端暫時固定時,現解除固定,也就是說一端沒有連線物體,那彈簧彈力是否會突變?

Viancie 不會吧彈力不會突變 F k L k是彈簧勁度係數,為常數。L是彈簧的長度變化量,長度變化需要時間積累,在連線重物一段斷掉後,L暫時沒變,彈力也就不會突變。彈力不是突變力。 初戀 高中老師講過,彈簧彈力是不會發生突變的。因為彈簧的長度是不會突然改變的,這裡的的突然指的是解除固定的瞬間 ...

120平家裡路由器在一端,另一端的網不好,應該換路由器挪路由器用擴充套件器還是公升級寬頻或者以上哪些的組合?

數碼那些事87 遇到這種問題,你可以先把路由器換乙個兩端中心的位置放置,看下兩端的訊號如何。如果兩端的訊號不能讓你滿意,說明你家乙個這樣的路由器是不能滿足全覆蓋的。或者你家在裝修的時候,在兩端中間沒有安裝網線埠。如果是這樣的話,我建議你買兩個 根據你家的面積建議的的路由器個數 支援Mesh組網路由器...

一百公尺的水管一端吹氣另外一端可以立馬出氣無延遲麼

鬱金香 氣壓傳遞的速度應該是當前環境下的音速,一般來說就是340公尺 秒以上 空氣中最慢音速340 考慮管道阻力,這個速度比音速要略低。那麼吹氣之後的傳遞延遲時間為 管道長度 當前音速 阻力修正值 管道越長這個阻力影響越大。 人可玉 氣壓以音速去傳播,但能量會有傳輸損耗。常壓室溫下,空氣裡的音速約為...