IP 路由 - 它如何再次工作?

Jav*_*cky 5 routing

有人可以向我解释 IP 路由是如何工作的吗?

例如,如果我 ping 123.123.123.123,每个路由器如何知道traceroute转储中显示的走哪条路。

Nic*_*sis 12

如果您需要更多详细信息,将简化此说明。它不完全准确,但它应该给你一个很好的解释。

它基本上是冒泡的。当您执行 ping x 时。如果您的计算机的路由表中没有地址 x,它会转到它的网关(如果您查看路由表,它将是具有目的地默认值的那个,或者0.0.0.0)然后它会查看它的路由表,看看它是否有与此地址或 IP 范围匹配的路由,例如,如果它123.123.123.0/24作为路由,它会将其发送到与该路由关联的任何 IP 地址。如果不是,它将与您的计算机执行相同的操作,请将其发送到默认路由。

例如,对于您的计算机,当您的 ISP 收到此信息时,这将结束,并将其发送到它知道具有该地址路由的任何对等方(或者也可能是,它们在该级别共享路由表)。然后发生相反的过程,它下降到更具体的范围,直到它到达有问题的计算机。

  1. 您的计算机(不匹配,发送到默认路由)
  2. 您的路由器(不匹配,发送到默认路由)->
  3. ....
  4. 路由器 X(找到匹配 123.0.0.0/8与关联地址 10.10.10.1)
  5. 路由器在 10.10.10.1(找到匹配 123.123.0.0/16与关联地址 123.123.0.1)
  6. 路由器在 123.123.0.1(找到匹配 123.123.123.0/24与关联地址 123.123.123.1)
  7. 位于 123.123.123.1 的路由器直接连接到该计算机(或通过交换机)并将数据包发送给它,因为它知道它的网卡 mac 地址。

命令routetraceroutetracert对于windows)可能有助于更清楚地说明这一点。在 unix 上,这些命令有一个-n选项,使它们显示地址而不是特定地址的 DNS 名称。

使用路由,我的默认路由是 show do 是:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
Run Code Online (Sandbox Code Playgroud)

这里的 IFACE 很重要,因为它告诉计算机什么网卡连接到这个位于 192.168.1.1 的路由器。我的电脑会通过eth0网卡发送所有位置未知的数据包。