将我的 IPv4 更改为 ssh 到 rpi2 上的 OpenWRT - 之后在我的主机上执行 dhclient - 现在我在一个 NIC 上有两个 IPv4 - 并且它可以工作!如何?

将我的 IPv4 更改为 ssh 到 rpi2 上的 OpenWRT - 之后在我的主机上执行 dhclient - 现在我在一个 NIC 上有两个 IPv4 - 并且它可以工作!如何?

如标题中所述,抱歉,我想要一个特定的标题,但我无法获得具体且简短的标题,同时,我执行了以下操作:

  1. 使用 OpenWRT 闪存 SD 卡以在 Raspberry Pi 上进行测试。
  2. OpenWRT 禁用了 dhcp 客户端,并在该映像中放置了一个与我的网络 IPv4 模式不对应的静态 IP。
  3. 因此,我将主机 IPv4 更改为 192.168.1.2,以便连接到 192.168.1.1。那行得通。
  4. 注销后,我在主机上执行了 dhclient 。

现在我可以像以前一样访问所有网络设备,并且仍然可以连接到我上面描述的 OpenWRT 机器。我的主机系统上只有一张网卡。所以我想知道这是如何运作的?

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether *somevalue* brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.88.88.80/24 brd 10.88.88.255 scope global dynamic eth0
       valid_lft 863229sec preferred_lft 863229sec
    inet6 XXX/64 scope global dynamic mngtmpaddr 
       valid_lft forever preferred_lft forever
    inet6 XXX/64 scope global dynamic mngtmpaddr 
       valid_lft 7013sec preferred_lft 1613sec
    inet6 XXX/64 scope link 
       valid_lft forever preferred_lft forever

答案1

OS简单地说:这是通过将多个接口分配给同一接口的能力IPv4 addresses以及使用路由表和ARP-地址解析协议

当一个节点(A)想要与另一个节点( )对话时B,最初只知道 的IPv4 addressB首先它会查阅其路由表以找到到达目的地的最短路径(可能有更复杂的情况,例如循环策略,但对于为了简单起见,我们在这里假设最短路径策略)。
此时A还知道两件事:a) 使用哪个源地址,b) 是G参与交换的网关设备 ( )。

然后检查其缓存表中A是否存在B的地址条目(如果要使用网关,则在此处以及所有后续请求中检查并使用 的地址)。IPARPAG

如果缓存的条目存在,则从该条目中A选择MAC要发送到的地址。IP packet

如果没有缓存信息,则A通过广播Address Resolution RequestLAN segment查明是否有人知道B( G) 的 IP 地址到MAC地址的映射:

06:14:26.622107 7a:df:9c:b5:9a:ef > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.8.145 tell 192.168.8.160, length 28
06:14:26.665609 ac:ed:5c:76:01:38 > 7a:df:9c:b5:9a:ef, ethertype ARP (0x0806), length 60: Reply 192.168.8.145 is-at ac:ed:5c:76:01:38, length 46

这是主机192.168.8.160尝试解析MAC的地址192.168.8.145。任何拥有所请求信息的节点都会发回响应。请注意,请求以广播MAC地址 ( FF:FF:FF:FF:FF:FF) 作为目标地址发送,而响应则使用MAC请求者的单播地址发送。这是为了防止连接到该网段的所有节点的 IP 堆栈被不必要的信息淹没。

现在节点A收到响应并ARP使用 的条目填充缓存B,因此下次A需要向其发送IP packetB不需要再次查询网络。

这样,节点就可以保持与使用相同接口IPv4 subnets物理连接到同一节点的不同节点进行通信的能力。LAN segment

请注意,您的192.168.1.1节点不知道您192.168.1.2的以太网接口分配了另一个额外的 IP 地址。

相关内容