一台路由器,WAN口IP为公网IP:219.236.XXX.XXX,LAN口IP:192.168.1.1
内网两台PC通过这台路由器共享上网,PC1的IP为:192.168.1.100,PC2的IP为:192.168.1.101
我们知道:对于TCP传输协议,报文里有源端口和目的端口信息,经过IP层封装后又加上了源IP地址和目的IP地址信息
我用Ethereal在内网里对PC1的MAC帧进行分析,发现对外网的任何数据请求,源IP地址都是PC1的IP(192.168.1.100);外网返回的数据目的IP也都是PC1的IP(192.168.1.100)
由此我想请问:真正的外网返回数据不可能路由到192.168.1.100这样的私有IP,路由器的WAN口IP(219.236.XXX.XXX)在一次通信中扮演什么角色?是不是从内网出去的数据经过路由器时,路由器要有相应的处理?使得从外网的返回数据能根据路由器的WAN口IP准确路由到该路由器,然后该路由器在经过逆处理将数据准确转发给相应端口的PC?
你们的答案可能是NAPT,也许只有NAPT才能解释我所描述的这个问题,如果是NAPT,那是不是路由器在处理从内网出去的数据时在传输层重新将用户的数据在该层封装,仅仅改变包头中的源端口(该源端口匹配唯一一台内网PC),然后路由出去;当数据返回路由器时再在传输层拆包两次???可是。。。路由器没有传输层。。。怎么对端口操作。。。
这个问题困惑小弟有段时间了,希望有高人解答一下,了却小弟数日来的一桩心愿,先行谢过!