Networking 路由器如何将数据包路由到它们所选择的很远的目的地';我从来没有和你联系过?

Networking 路由器如何将数据包路由到它们所选择的很远的目的地';我从来没有和你联系过?,networking,routing,Networking,Routing,我在学校上过几节网络课程,我记得路由器是如何建立附近路由器/与其交互的路由器的路由表的 我的问题是,我在美国的路由器肯定在很多时候都不知道在地球遥远的角落有路由器。或者,如果一个路由器刚刚打开,它将不会被更多的地方知道比它的本地邻居 那么,路由到某个遥远地方的数据包会发生什么情况呢?我的本地家庭路由器怎么知道怎么把它送到这个地方?是否有下一跳,如果路由器不知道发送到哪里,它只会将其传递给可能有更大路由表(ISP或类似的东西)的路由器 谢谢 大家伙:通过BGP互连,小家伙(包括您的家庭路由器)使用

我在学校上过几节网络课程,我记得路由器是如何建立附近路由器/与其交互的路由器的路由表的

我的问题是,我在美国的路由器肯定在很多时候都不知道在地球遥远的角落有路由器。或者,如果一个路由器刚刚打开,它将不会被更多的地方知道比它的本地邻居

那么,路由到某个遥远地方的数据包会发生什么情况呢?我的本地家庭路由器怎么知道怎么把它送到这个地方?是否有下一跳,如果路由器不知道发送到哪里,它只会将其传递给可能有更大路由表(ISP或类似的东西)的路由器

谢谢

大家伙:通过BGP互连,小家伙(包括您的家庭路由器)使用下一跳默认路由

通常,DHCP为您的计算机/路由器/笔记本电脑/手机提供至少:

  • IP地址/子网掩码/网关
这足以到达地球的另一边

网关是下一跳/默认路由


电话(网关:通过dhcp)>>Wifi(网关:通过dhcp)>>电缆调制解调器(网关:通过dhcp)>>ISP(各种igp,最后是bgp)>>其他AS(世界)

路由协议用于分发有关每个IP地址位置的信息

一些路由协议(例如RIP、OSPF、ISIS)在地理范围上受到限制,即它们覆盖单个组织。这些被称为域内路由协议

其他路由协议(如BGP)的范围是全局的,即它们覆盖整个世界。这些被称为域间路由协议

无论哪种方式,路由协议都不会分发关于世界上每个IP地址的信息。如果他们这样做了,他们将不得不分发数十亿个IP地址的信息,这是不可行的

相反,路由器做的事情被称为“聚合”。它们只为大型IP地址组发布摘要路由(称为“聚合”)

例如,BGP可能为180.24.0.0/16播发一条路由,该路由是前16位为180.24、后16位可以是任何内容的所有IP地址的聚合

例如,波士顿(美国)的路由器对于法国的所有目的地可能只有一条聚合路由。一旦数据包到达法国(比如巴黎),法国路由器将有“更具体”的路线到达法国境内的目的地

默认路由(0.0.0.0/0)只是聚合的最极端情况:它是覆盖整个世界所有目的地的单一路由

将笔记本电脑连接到Wifi路由器时,笔记本电脑会安装一条指向Wifi路由器的默认路由(0.0.0.0/0)

从本质上讲,无论互联网上的最终目的地是什么,从笔记本电脑到Wifi路由器的第一跳始终是

“路由器如何将数据包路由到他们从未接触过的很远的目的地?”他们没有。路由器通过向下一个路由器接口向目的地发送数据包,在网络之间路由数据包。如果路由表没有匹配的目的地,路由器将丢弃数据包。互联网路由表是巨大的。您的家庭路由器只是有一个指向
0.0.0.0/0
的目的地,它匹配每个IPv4地址,指向ISP路由器。“网络工程”将是解决此问题的更好社区;这不是一个编程问题。