TCP/UDP 和 NAT
TCP/UDP And NAT
我朋友告诉我TCP不需要端口转发。
他的确切意思是,如果服务器是端口转发的,则客户端可以请求某些内容,而服务器将在没有端口转发的情况下做出响应。
我同意这一点,尽管我不确定这是真的。
后来他说UDP也是一样,我不信
主要是问题
如果客户端使用 TCP 在服务器上请求某些内容,是否需要端口转发才能接收响应?
UDP也一样吗?
如果来自客户端的请求是用于连接调用的 SYN,则仅允许 SYN-ACK 响应通过 NAT。如果 NAT 支持同时打开连接,那么来自服务器的 SYN 响应也将被允许通过 NAT。建立连接后,客户端和服务器可以不受任何限制地自由通信。不需要端口转发。
对于 UDP,在从客户端向服务器发送数据包后,可以通过与发送第一个数据包的 NAT 完全相同的 public 端口接收来自服务器的任何内容。无需端口转发。
我朋友告诉我TCP不需要端口转发。 他的确切意思是,如果服务器是端口转发的,则客户端可以请求某些内容,而服务器将在没有端口转发的情况下做出响应。 我同意这一点,尽管我不确定这是真的。
后来他说UDP也是一样,我不信
主要是问题 如果客户端使用 TCP 在服务器上请求某些内容,是否需要端口转发才能接收响应? UDP也一样吗?
如果来自客户端的请求是用于连接调用的 SYN,则仅允许 SYN-ACK 响应通过 NAT。如果 NAT 支持同时打开连接,那么来自服务器的 SYN 响应也将被允许通过 NAT。建立连接后,客户端和服务器可以不受任何限制地自由通信。不需要端口转发。
对于 UDP,在从客户端向服务器发送数据包后,可以通过与发送第一个数据包的 NAT 完全相同的 public 端口接收来自服务器的任何内容。无需端口转发。