thomaswang
V2EX  ›  问与答

NAT-PAT 技术

  •  
  •   thomaswang · Feb 24, 2019 · 1756 views
    This topic created in 2655 days ago, the information mentioned may be changed or developed.

    在出局域网的时候,会加一个端口, 然后路由器通过这个端口知道回来的数据是局域网哪个 ip 的, 这个端口是什么意思, 是 tcp 报头那个目标端口和源端口吗

    5 replies    2019-02-24 23:16:49 +08:00
    gamexg
        1
    gamexg  
       Feb 24, 2019   ❤️ 1
    路由器做的操作是将 包的源地址由[内网计算机 ip:端口 1] 改为 [路由器 ip:端口 2] ,并且路由器内部保留了一个 [内网计算机 ip:端口 1] <--> [路由器 ip:端口 2] 的映射表。
    当路由器收到 WAN 发来的目的地地址是 [路由器 ip:端口 2] 的包时,会将目的地址改为 [内网计算机 ip:端口 1] 并转发给内网计算机。
    ThirdFlame
        2
    ThirdFlame  
       Feb 24, 2019
    楼上解释已经很准确了。
    thomaswang
        3
    thomaswang  
    OP
       Feb 24, 2019
    @gamexg 端口 2 是随机生成的吗?, 比如 tcp socket, 你说这个 [路由器 ip] 是 ip 报文头部那个源地址 ip, [端口 2]是 tcp 报文头部那个源端口号?
    ThirdFlame
        4
    ThirdFlame  
       Feb 24, 2019
    [路由器 ip] 是路由器 wan 口 ip。 端口 2 基本上可以认为是随机生成的。
    源 内网计算机 IP:源端口 目的 目的 ip:目的端口
    转换后
    源 路由器 wanip:一个随机端口 目的 目的 IP:目的端口。
    gamexg
        5
    gamexg  
       Feb 24, 2019
    @thomaswang #3
    是的,ip 报文的源 ip,端口是 tcp、udp 报文头部的端口。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1067 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:38 · PVG 02:38 · LAX 11:38 · JFK 14:38
    ♥ Do have faith in what you're doing.