IP路由 – 它又是如何工作的?

有人可以解释IP路由如何工作给我?

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

这个解释将被简化,让我知道你是否想要更多的细节。 这不完全准确,但它应该给你一个很好的解释。

它基本上泡了起来。 当你做平x。 如果你的计算机在路由表中没有地址x,它会进入它的网关(如果你看看你的路由表,它将是目的地默认值或0.0.0.0 ),那么它会查看它的路由表,看看如果它具有与此地址或IP范围相匹配的路由(例如,如果它具有123.123.123.0/24作为路由),则将其发送到与该路由相关联的任何IP地址。 如果没有,它会和你的电脑一样,把它发送到默认路由。

例如,对于你的计算机,当你的ISP收到这个消息时,它将会结束,它将把它发送到它知道有这个地址的一个路由(或者可能也是它们共享那个级别的路由表)。 然后发生相反的过程,直到它到达所涉及的计算机时,它朝向更具体的范围。

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

命令routetraceroutetracert for 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 

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

每个路由器都会获得一个包含目的地址的IP包。 它将根据与目的地匹配的最具体路线select下一个跃点。

如果我们从您的电脑启动,它将有两个(可能会有更多,但典型的情况下,“两个”)路线安装。 一个是局域网,另一个是0.0.0.0/0(“互联网”,通常称为默认路由)。 如果您ping的机器不是LAN本地的,则数据包将被发送到默认网关。

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

中间路由器很可能已经学习了使用一种或多种路由协议(BGP,OSPF或类似的)的最佳路由,以减轻pipe理负担并提供容错度量。