NAT如何跟踪连接

给定一个NAT,其中多台PC共享一个IP地址,那么NAT如何才能知道将传入的数据发送到哪里。 它是否翻译了SYN-ACK ID?

当设备连接到路由器另一端的服务器时,它将在其临时端口范围内使用源端口。 这通常是49152到65535之间的一个端口,它是随机分配的。 NAT路由器将此端口号以及目标IP地址logging在NAT转换表中。 当数据从服务器重新开始时,它会查找该表从哪里开始。

给定一个NAT,其中多台PC共享一个IP地址,那么NAT如何能够知道在哪里发送传入的数据。

不以alheimer作为模型进行编程。 基本上它有一个内存 – 关于哪个内部端口/ IP地址映射到外部目标端口/ IP,所以它可以做翻译。 对于简单的TCP,对于UDP,内部程序会更好地定期向外发送数据包(以便NAT刷新路由表)。

它是否翻译了SYN-ACK ID?

不,正确的NAT不遵循TCP协议。 这是为了确保TCP不起作用。

笑话 – 自然必须在必要的时候翻译,否则会打破执行。 NAT必须是透明的,所以必须做好所有的翻译工作。