为什么我可以从不同的子网连接?Windows 10 PC 已连接到 Ubuntu PC

为什么我可以从不同的子网连接?Windows 10 PC 已连接到 Ubuntu PC

好的,我使用以太网电缆将 Linux 笔记本电脑连接到 Windows 10 笔记本电脑。

Windows 计算机

我为 Windows 笔记本电脑以太网适配器指定了手动 IP 设置:

IP 地址 192.168.255.126

子网掩码 255.255.255.0

我将默认网关留空。

然后我使用 Linux 的 Windows 子系统启动了 TCP 监听器:

wsl nc -l 192.168.255.126 1234 -v

Linux 计算机

我运行 ifconfig 来检查 eth0

IP 地址 169.254.10.116

子网掩码 255.255.255.0

然后我运行:

北卡 192.168.255.126 1234

和我有一个联系。

问题是为什么?反过来不行,Windows 笔记本电脑无法 ping 或连接到 Linux 机器上托管的服务器。

Windows 的子网掩码实现是否存在缺陷?

答案1

您使用的是直接连接,而不是通过路由器,这就是它有效的原因。您在这里使用的是 数据链路层 或计算机网络 OSI 模型的第 2 层,它与寻址等高级概念无关。

每台计算机上的网络适配器都会向整个网络发送数据包。每台监听的计算机都会拾取发往自己的数据包,并丢弃其他数据包。

Windows 计算机有一个 IP 地址,并且会应答发往自己的包裹,显然对源 IP 地址的要求不是很严格。

Linux 计算机尝试查找 DHCP 服务器但失败了,因此为自己分配了一个 链路本地地址 从开始169.254。对于要回答哪些网络包,它显然比 Windows 更严格。

相关内容