2015-09-03 69 views
0

我的朋友告訴我,TCP不需要端口轉發。 他說的究竟是如果服務器端口轉發客戶端可以請求的東西和服務器將沒有端口轉發的響應。 我同意這一點,即使我不確定它是否屬實。TCP/UDP和NAT

後來他說這跟我不相信的UDP一樣。

主要問題IS 如果一個客戶端請求與TCP服務器上的東西,它需要將端口轉發給接收響應? 也是這樣的UDP?

+0

當使用NAT時,端口轉發是在路由器和機器之間發生的事情。如果您的路由器在收到請求時不知道向網絡上發送請求的計算機,您希望發生什麼? – TZHX

+0

這是關於IP/NAT的更多問題,因爲TCP和UDP只是傳輸層的一部分。 – Coyote

回答

0

如果來自客戶端的請求是用於連接呼叫的SYN,則只有通過NAT允許SYN-ACK響應。如果NAT支持同時打開連接,則來自服務器的SYN響應也將通過NAT被允許。建立連接後,客戶端和服務器可以自由通信而不受任何限制。端口轉發不是必需的。

對於UDP從客戶機到服務器的分組之後被髮送然後從服務器什麼都可以通過從該第一數據包被髮送的NAT的完全相同的公共端口來接收。不需要端口轉發。