局域网里面机器的IP地址192.168.0.*是公用的可自由分配地址,是不在internet上出现的,只在局域网内有效,那么internet上的主机A跟局域网内B通信(普通的通信,不使用端口映射),那A发给B的数据报的IP是怎么样的呢,
如果就只有这个局域网网关的地址,那就不知道到底是发给局域网中的哪一个的呀?
參考答案:其实不必担心这些问题,因为网关会帮你解决.
网关具有NAT功能,一般有端口映射表,通过它比较外部地址和内部地址以及相应端口,可以很好的将INTERNET上接受到的数据报的IP和端口转换成内部的IP和端口.
具体是:NAT从服务器那接收到这些数据包,然后将数据包与其端口映射表进行比较。如果 NAT 发现某个端口映射的远程主机 IP 地址、远程端口、外部端口及网络协议与输入数据包的源 IP 地址、源端口、目标端口和网络协议匹配,NAT 就会进行反向转换。NAT 将把数据包目标字段中的外部 IP 地址和外部端口替换为客户机的专用 IP 地址和内部端口。
如图:
然后,NAT 将内部网络上的数据包发送给客户机。然而,如果 NAT 找不到对应的端口映射,它就会丢弃输入数据包并中断连接。
详细请参见: