如何分组从发送方发送到接收器

问题描述 投票:0回答:1

假设我有一个连接到相同的调制解调器或他们是从同一个ISP获得互联网两台计算机A和B。当我在谷歌搜索“什么是我的IP地址?”它显示了两个计算机A和B 14.141.56.230同一个IP地址。我想知道,如果想发送者希望将数据发送到计算机A,则调制解调器或路由器怎么会认识到,这包属于计算机A上没有计算机B上,因为它们都根据谷歌有相同的IP地址。

ip
1个回答
0
投票

这是NAT的作用。外部服务器无法联系A或B直接:A或B必须首先联系服务器,使NAT知道如何对待由外部服务器接收到的数据包。

特别是,this应该是有趣:

当专用(内部)网络上的计算机发送IPv4数据包到外部网络,NAT设备在分组报头(发件人地址)与NAT设备的外部IP地址的源字段替换内部IP地址。然后PAT可从可用端口的池中分配的连接的端口号,插入在源端口字段(很像邮政信箱号码)此端口号,并且将数据包转发到外部网络。 NAT设备然后使得在包含内部IP地址,原始的源端口,和转换后的源端口的转换表中的条目。从相同的连接的后续数据包将被转换为相同的端口号。

这样的想法是使A试图外部服务器E.当从A消息到达A的路由器R,则R改变分组的源IP,它分配一个端口P,并以E. [R记住发送此请求它当E答案就用端口P R,路由器将这种回并转发给A.分配了这口P A.

这也意味着,电子无法在直接接触。 A必须启动连接。现在考虑A和E都是一个NAT后面的情况;他们都需要发起连接,直接是不可能的。为了找到一个解决方案,你需要寻找到TCP hole punching

© www.soinside.com 2019 - 2024. All rights reserved.