幫助中心

   

熱門搜索: 免費續期  推廣  永久會員

代理IP介紹TCP的3次握手

網絡對我們工作跟生活都帶來了很多的便利,數字化的時代,一切都可以被記錄,這當中當然有好處也有壞處。代理IP在爬蟲中的使用,讓數據挖掘、分析變得簡化,想要了解更多有關于互聯網的信息,迅聯加速帶你探索網絡的世界。

今天我們來了解什么是TCP 的 3 次握手?

拿到域名對應的 IP 地址后,User-Agent(一般是指瀏覽器)會以一個隨機端口(1024 < 端口 < 65535)向服務器的 WEB 程序發起 TCP 的連接請求。

這里還涉及 ARP(地址解析協議):是根據 IP 地址獲取物理地址 (MAC 地址) 的一個協議。

當一個數據幀經過多次路由到達目的網絡時,路由器只能知道其數據幀中的目的 IP 地址,而不知目標主機的硬件地址,網絡層使用的是 IP地址,但是在實際網絡鏈路上傳送數據幀時,最終必須使用該網絡的硬件地址,此時需要目的主機的硬件地址,就要使用 ARP 來獲取到對應 IP 地址主機的物理地址。

這個連接請求(原始的 Http 請求經過 TCP/IP 4層模型的層層封包)到達服務器端后(這中間通過各種路由設備,局域網內除外),進入到網卡,然后是進入到內核的 TCP/IP 協議棧(用于識別該連接請求,解封包,一層一層的剝開),還有可能要經過Netfilter防火墻(屬于內核的模塊)的過濾,最終到達WEB程序,最終建立了TCP/IP的連接。

代理IP介紹TCP的3次握手

從上面這張圖,我們可以看到整個流程:

1、Client 首先發送一個連接試探,SYN = 1 表示這是一個連接請求或連接接受報文,同時表示這個數據報不能攜帶數據,seq = x 表示 Client 自己的初始序號(seq = 0 就代表這是第 0 號包),這時候 Client 進入 syn_sent 狀態,表示客戶端等待服務器的回復。

2、Server 監聽到連接請求報文后,如同意建立連接,則向 Client 發送確認。報文中的 SYN 和 ACK 都置 1 ,ACK = x + 1 表示期望收到對方下一個報文段的第一個數據字節序號是 x+1,同時表明 x 為止的所有數據都已正確收到(ACK = 1 其實是 ACK = 0 + 1,也就是期望客戶端的第 1 個包),seq = y 表示 Server 自己的初始序號(seq = 0 就代表這是服務器這邊發出的第 0 號包)。這時服務器進入 syn_rcvd,表示服務器已經收到 Client 的連接請求,等待確認。

3、Client 收到確認后還需再次發送確認,同時攜帶要發送給 Server 的數據。ACK 置 1 表示確認號 ack= y + 1 有效(代表期望收到服務器的第 1 個包),Client自己的序號 seq= x + 1(表示這就是我的第1個包,相對于第0個包來說的),一旦收到Client的確認之后,這個TCP連接就進入 Established 狀態,就可以發起請求了。

以上就是有關TCP三次握手的相關介紹,大家可以做一個基礎的了解,方便大家開展互聯網工作。

關閉
19907977089
關注微信公眾號,免費送2小時時長
3d开奖结果133