Rom*_*huk 4 router internet network-protocols
我知道 LAN 中的计算机如何相互通信(所有以太网/MAC 地址/NAT 等),但我想知道 Internet 路由器如何通信?它们是否连接到某种巨大的局域网中?使用什么协议来传送数据包(例如 IP 和 BGP 数据包)?
路由器形成了一个网状结构。每个都连接到其他几个(可以想象在 LAN 上,但通常只是直接连接,可能像海底电缆或 T 载波或光纤链路一样长距离连接),并且每个人都知道它连接到哪个。每个路由器通常有许多 IP 地址,每个 IP 地址都指向它拥有的另一台路由器。
路由器通常运行路由协议,允许它们发现它们的邻居(它们直接连接的路由器)所连接的设备。它们是 IS-IS、BGP、EIGRP、RIP、OSPF 等。它们也可以静态跟踪;路由协议是一种节省劳力的设备,可让网络管理员在发生更改(有意或由于故障)时自动维护路由表。因此,每个路由器都连接到其他几个路由器,并且或多或少知道在哪里。这些信息可以被允许通过互联网过滤;路由器也会相互通知其邻居的邻居,因此可以构建每个方向(大约)可到达的所有内容的视图。路由器还跟踪事物的距离(之间有多少路由器,
某些路由器(例如您的 LAN 网关,或您的某些 ISP 的路由器)只有几条路由:它们是 LAN 的网关,并且通常是 Internet 其余部分的一个默认路由(在 IPv4 网络中,这是 0.0.0.0.0 0.0/0,或“默认”路由)。因此,他们知道进入 LAN 的数据包是一个方向(从 LAN 接口出来),而去其他地方的数据包则是另一个方向(出 WAN 接口)。
其他具有更多链路和更多网络的路由器在某种程度上扩展了这一概念。他们将知道几个方向中的每个方向的前缀(IP 地址的网络号部分,正式),并沿该路由发送数据包(因此它们的名称)。它们以这种方式相互中继数据包,直到它到达目的地;如果这是不可能的,有几种机制可以丢弃它并表明它已被丢弃。
因此,您的数据包到达您的 ISP,可能来自您的 LAN 路由器,该路由器知道 Internet 所在的接口并以这种方式发送。每个连续的路由器查看目标地址,并根据其路由表确定它属于哪个网络以及它的去向;它会知道以某个数字开头的地址在一个特定的其他 ISP 的“方向”上,并以这种方式发送(为此更改每一跳的第 2 层信息,因此 MAC 地址例如将更改在每一跳)。最终,它到达与您尝试到达的主机位于同一网络上的路由器,并到达该目的地。
这些中继步骤中的每一个都称为一跳。您可以使用该traceroute
实用程序(tracert
在 Windows 上)查看这项工作,但由于 ICMP 过滤非常普遍,您可能看不到所有跃点。
归档时间: |
|
查看次数: |
2678 次 |
最近记录: |