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

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

有人能向我解释一下 IP 路由的工作原理吗?

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

答案1

如果您需要更多详细信息,请告诉我,此解释将简化。它并不完全准确,但应该能给您一个很好的解释。

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

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

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

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

使用路线,我的默认路线是显示为:

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

这里的IFACE很重要,因为它告诉电脑这个192.168.1.1的路由器连接了什么网卡,我的电脑会把所有位置不明的数据包都通过网卡发送出去eth0

答案2

每个路由器都会收到一个带有目标地址的 IP 数据包。它会根据与目标最匹配的具体路由来选择下一跳。

如果我们从您的计算机开始,它将安装两条(可能更多,但“两条”是典型情况)路由。一条用于它所在的 LAN,另一条用于 0.0.0.0/0(“互联网”,通常称为默认路由)。如果您 p​​ing 的机器不在 LAN 本地,则数据包将被发送到默认网关。

然后,每个中间路由器,直到连接目标 LAN 的路由器,都会做同样的事情。查找到达目的地的最具体路由,然后发送数据包。

中间路由器很可能已经使用一种或多种路由协议(BGP、OSPF 或类似协议)了解了最佳路由,以减轻管理负担并提供容错措施。

相关内容