这是一道面试题:
Rank A 上有两台服务器,按照以下配置在两台主机上设置网络:
服务器A: ifconfig eth0 10.10.15.129 网络掩码 255.255.255.0 up route add default gw 10.10.15.2
服务器B: ifconfig eth0 10.10.15.6 网络掩码 255.255.255.192 up route add default gw 10.10.15.2
假设配置有效,现在两个服务器可以通过 TCP 通信吗?
我认为它们可以通过 TCP 互相通信,因为它们在同一个网络上,只需要一个交换机就可以互相连接,对吗?
答案1
取决于它们是否在同一个 l2 子网上。
如果是 - 可以。但是第二台主机(具有 /26 掩码的主机)会认为它们位于不同的物理网络上,并将通过路由器 10.10.15.2 发送数据包(因此以太网帧、封装 IP 帧、封装 TCP 帧将具有 10.10.15.2 mac 地址),而 10.10.15.2 会将它们重新发送到 10.10.15.129,后者将直接应答 10.10.15.6。
如果它们确实位于不同的物理子网上 - 10.10.15.129 设置不正确,因此它们将无法连接。