在出局域网的时候,会加一个端口, 然后路由器通过这个端口知道回来的数据是局域网哪个 ip 的, 这个端口是什么意思, 是 tcp 报头那个目标端口和源端口吗
1
gamexg 2019-02-24 21:43:22 +08:00 1
路由器做的操作是将 包的源地址由[内网计算机 ip:端口 1] 改为 [路由器 ip:端口 2] ,并且路由器内部保留了一个 [内网计算机 ip:端口 1] <--> [路由器 ip:端口 2] 的映射表。
当路由器收到 WAN 发来的目的地地址是 [路由器 ip:端口 2] 的包时,会将目的地址改为 [内网计算机 ip:端口 1] 并转发给内网计算机。 |
2
ThirdFlame 2019-02-24 22:15:12 +08:00
楼上解释已经很准确了。
|
3
thomaswang OP @gamexg 端口 2 是随机生成的吗?, 比如 tcp socket, 你说这个 [路由器 ip] 是 ip 报文头部那个源地址 ip, [端口 2]是 tcp 报文头部那个源端口号?
|
4
ThirdFlame 2019-02-24 22:34:40 +08:00
[路由器 ip] 是路由器 wan 口 ip。 端口 2 基本上可以认为是随机生成的。
源 内网计算机 IP:源端口 目的 目的 ip:目的端口 转换后 源 路由器 wanip:一个随机端口 目的 目的 IP:目的端口。 |
5
gamexg 2019-02-24 23:16:49 +08:00
@thomaswang #3
是的,ip 报文的源 ip,端口是 tcp、udp 报文头部的端口。 |