从本地网络创建 tcp 连接时会发生什么

网络工程 tcp
2022-02-14 14:35:34

例如:

we have 2 computers, both out of NAT
computer1 is hosting a tcp-service which computer2 wants to connect to
computer2 knows the IP of computer1 and the port of the service

在 LAN 中,我很清楚它们是如何连接的,但是在本地网络之外看起来如何呢?两者都可能在不同的 ISP 后面,他们如何知道将包裹发送到哪里以及实际去向?

2个回答

IP 数据报总是往返于同一网络上的主机。因此,如果您了解其工作原理,那么难题中唯一缺少的部分就是路由器。

路由器是一种连接到两个或多个本地网络的特殊主机。路由器从其本地网络之一接收数据报,并根据目标 IP 地址和路由表,将它们转发到其他本地网络。路由器是使数据报从一个本地网络“跳”到下一个本地网络的主机。

Source Host -- (local network) --> Router -- (local network) --> Router --> (local network) --> Destination Host

需要提到的重要一点是,这些本地网络不仅是以太网 (LAN) 网络,因此数据包在每个本地网络上从主机到主机的传输方式取决于该网络上使用的第 2 层协议。

如果主机必须向不同网络上的另一台主机发送某些内容,它会发送第 3 层数据包,寻址到目标主机,封装在第 2 层帧中,寻址到其配置的网关(路由器)。网关是知道如何将数据包转发到其他网络的 LAN 主机。