尝试理解为何选择网络数据包路由

尝试理解为何选择网络数据包路由

我来这里是为了寻找有关网络路由问题的解释。

我有两台笔记本电脑 A 和 B,笔记本电脑 A 连接到公共网络,而笔记本电脑 B 通过笔记本电脑 A 的热点连接到笔记本电脑 A。因此,笔记本电脑 B192.168.137.128也能够与公共网络通信。

笔记本电脑 A 有三个网络适配器:

  1. 无线局域网适配器- 192.168.1.6(物理)
  2. vmware 虚拟网络适配器- 192.168.88.1(由 vmware 创建)
  3. 无线局域网虚拟适配器- 192.168.137.1(由笔记本电脑 A 热点创建)

另外,我已经关闭了防火墙。

这是我的笔记本电脑 路线表(只是一部分)

Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1      192.168.1.6     50 // <--- physical interface WIFI
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
     192.168.88.0    255.255.255.0         On-link      192.168.88.1    291 // <--- virtual interface VMnet8
     192.168.88.1  255.255.255.255         On-link      192.168.88.1    291 // <--- virtual interface VMnet8
    192.168.137.0    255.255.255.0         On-link     192.168.137.1    306 // <--- virtual wireless interface
    192.168.137.1  255.255.255.255         On-link     192.168.137.1    306 // <--- virtual wireless interface

这是我的笔记本电脑 B 路由表

Destination        Gateway            Flags        Netif Expire
default            192.168.137.1      UGSc           en0       
127                127.0.0.1          UCS            lo0       
127.0.0.1          127.0.0.1          UH             lo0       
169.254            link#4             UCS            en0      !
192.168.137        link#4             UCS            en0      !
192.168.137.1/32   link#4             UCS            en0      !
192.168.137.1      2:bb:60:21:8c:2a   UHLWIir        en0   1128
192.168.137.102/32 link#4             UCS            en0      !
192.168.137.255    ff:ff:ff:ff:ff:ff  UHLWbI         en0      !

据我理解,每个 IP 数据包都根据上表来决定使用哪个接口传出。

笔记本电脑 A ping ip192.168.88.134将使用网络接口192.168.88.1发送包(正在工作)。

在此处输入图片描述

笔记本B通过网络接口与公网通信192.168.1.6(正在工作)

在此处输入图片描述

但是为什么笔记本B无法ping192.168.88.134通笔记本A里面的网口,网口192.168.88.1没有收到任何包。(wireshark抓包显示)

在此处输入图片描述

在此处输入图片描述

我不明白为什么会发生这种情况,根据我的理解,当笔记本电脑 A 接受笔记本电脑 B 的 IP 数据包时,由于上面的路由表配置,它应该通过 192.168.88.1 接口发送出去。我误解了吗?有人能指出我错在哪里吗?

答案1

最可能的原因是 192.168.88.134 的路由表没有配置,无法让该节点知道 B 可以通过 A 到达。在企业网络中,我们使用路由协议让节点交换路由。对于较小的网络,我们可以在任何路由器(包括 192.168.88.134 或其默认网关)上设置固定路由。如果不可能,A 上的网络地址转换 (NAT) 可以将 B 的 IP 流转换为似乎来自 A 的 IP 流。然后,发往 A 的答案被转换回来并发送给 B。

相关内容