SYN數據包與已建立的連接具有相同的源目標IP地址&端口,那麼在這種情況下會發生什麼情況?當已經建立了TCP連接時,如果我向服務器發送SYN數據包會發生什麼?
1
A
回答
1
由於服務器在ESTABLISHED狀態下已經有一個連接,因此服務器將靜默地丟棄數據包,因此(客戶端ip,src端口,服務器ip,dest端口)的四個值之一必須與新的SYN被接受。
0
服務器將嘗試一個新的連接。在技術術語中,它將發送syn,ack數據包並等待客戶端完成tcp握手 並打開連接。 http://en.wikipedia.org/wiki/Transmission_Control_Protocol 將比我更好地解釋這個過程。
服務器將發送一些信息來識別其syn,ack數據包中的連接。 並且該信息用於保持與其他人分離的連接。
大多數時候,端口會不一樣 但是當它是,它可能會導致低等級的NAT路由器, 他們試圖重寫端口的使用,並能得到困惑的連接問題。
相關問題
- 1. 如果服務器終止,TCP數據包會發生什麼?
- 2. 如果客戶端發送SYN到udp服務器會發生什麼
- 3. 想要手動發送SYN ACK數據包來建立TCP連接(如果可能的話,使用PHP)
- 4. 客戶端向tcp服務器發送數據,tcp服務器向另一臺服務器發送數據
- 5. 服務器重新嘗試發送TCP「連接已關閉」數據包嗎?
- 6. TCP:服務器發送[RST,ACK]從客戶機接收[SYN]後立即
- 7. 當我嘗試通過原始套接字連接時,爲什麼tcp服務器不回覆syn包?
- 8. 建立TCP連接後,服務器向客戶端發送RST消息,爲什麼?
- 9. 將SQl服務器數據庫脫機時連接會發生什麼?
- 10. 如果Ansible失敗了幾個服務器會發生什麼服務器
- 11. 與遠程服務器建立連接時發生logcat錯誤
- 12. WSASend在向服務器發送數據時發生10060錯誤?
- 13. 「您已經創建了一項服務。」這怎麼發生的?
- 14. 當在android中從服務器下載網絡連接時會發生什麼?
- 15. 實時向服務器發送數據
- 16. 當localStorage已滿時會發生什麼?
- 17. 當AsyncTasks已滿時會發生什麼?
- 18. 當VRAM已滿時會發生什麼?
- 19. 當我向我自己的域發送郵件時發生了什麼?
- 20. 當我發出REST請求時,服務器端發生了什麼?
- 21. 服務器不發送SYN + ACK
- 22. 如果客戶端連接到Netty服務器時發生錯誤,會發生什麼情況?
- 23. 爲什麼數據包發送不發送數據(與Minecraft服務器握手)?
- 24. 試圖瞭解我通過TCP連接發送/接收的UART數據包
- 25. socket.io:如何在套接字斷開連接時向服務器發送數據?
- 26. 如果我已經連接到服務器。那麼我如何顯示異常說它已經連接
- 27. 。服務器上發生了什麼?
- 28. 當我將MPI_Send發送到已完成的進程時會發生什麼?
- 29. tcp套接字服務器不發送
- 30. TCP不接收已發送的數據
謝謝你的幫助。 –
-1服務器不會在任何數據包中「發送一些信息」來識別連接。對於同一個客戶端,源端口必須不同才能建立新的連接。識別TCP連接的唯一方法是通過一個唯一的4元組(client-ip,src-port,server-ip,dest-port)。 – jman
我重新閱讀了wiki頁面,並且糾正了,Jaidev是正確的 – Nor