在哪種情況下,TCP接收器收到一個有效的SYN段,但仍然發送一個SYN-ACK段作爲響應?在哪些情況下,tcp接收器接收到有效的syn段但仍然沒有syn ACK?
2
A
回答
1
這是平臺依賴。在Unix中,如果積壓隊列已滿,則傳入的SYN將被刪除。在其他平臺中,這種情況會導致RST。
0
如果系統內存不足,可能會在系統內丟棄收到的SYN數據包。另一種情況是,如果服務器處理積壓隊列的速度很慢,那麼它可能會達到高水位,並且任何新的recv SYN都將被丟棄。 backlog隊列深度是通過linux中listen()調用的第二個參數設置的。 Linux套接字上的backlog參數的行爲隨Linux 2.2而改變。現在它指定了等待被接受的完全建立的套接字的隊列長度,而不是不完整的連接請求的數量。不完整套接字隊列的最大長度可以使用/ proc/sys/net/ipv4/tcp_max_syn_backlog來設置。 Linux上的默認值是128。較低的值可能會降低負載下的服務器響應時間。
相關問題
- 1. nginx tcp SYN包沒有收到ACK
- 2. Linux TCP接受沒有SYN | ACK
- 3. 使用RAW套接字發送SYN後未收到SYN/ACK
- 4. TCP:SYN請求接收SYN響應代替SYN-ACK
- 5. 爲什麼在從客戶端收到SYN後沒有切斷髮送SYN/ACK?
- 6. hping send SYN:收到SYN/ACK後怎麼不發送RST?
- 7. 服務器沒有收到TCP SYN數據包
- 8. TCP網絡 - 手動編程SYN,SYN ACK,ACK?
- 9. TCP:沒有RST來自路由器的SYN/ACK後的響應
- 10. TCP:服務器發送[RST,ACK]從客戶機接收[SYN]後立即
- 11. 爲什麼此連接保持關閉 - SYN-> SYN,ACK-> ACK-> RST,ACK
- 12. 忽略SYN/ACK
- 13. 如何通過原始套接字接收「syn」數據包時使用「syn ack」數據包進行響應?
- 14. TCP序列號小於初始序號(在TCP SYN中接收到的序號)
- 15. 在syn後取回ack
- 16. TCP syn掃描
- 17. Android註銷接收器,但仍然收到
- 18. 服務器不發送SYN + ACK
- 19. TFTP C++沒有收到ACK
- 20. TCP Socket沒有接收到數據c
- 21. 如何在沒有AJAX的情況下接收xml代碼
- 22. connect()調用的數量= TCP SYN段數?
- 23. Xamarin廣播接收器沒有收到
- 24. 如何在建立TCP連接但沒有收到確認的情況下暫停Javamail POP3
- 25. Linux在ESTABLISHED連接上不響應SYN
- 26. Android客戶端告訴Syn的和收到Rst的確認
- 27. 如何在沒有關注文本字段的情況下接收按鍵?
- 28. TCP接收窗口
- 29. 如何在沒有接收器的情況下使用Ruby的send方法?
- 30. A-GPS可否在沒有GPS接收器的情況下工作?
這幾天默認值更像500。 Windows在這種情況下不會丟棄SYN,它會發出RST。 – EJP
是的,我編輯它 –