networking - 路由器如何利用路由表来选择出线呢?

标签 networking routing

路由器如何知道哪条线路是发送数据包的最佳线路。我的意思是,路由表通常不包含 IP 数据包的目标网络号条目。它只知道与其相邻或附近的目的地。它不知道地址是否存在。假设我向我的 LAN 代理请求 stackoverflow.com。接下来它将请求发送到路由器。看到该路由器只知道附近的地址,数据包如何使用最佳路径一直传输到美国的服务器? 提前谢谢你...

最佳答案

在 Internet 的边缘,每个路由器都有一个或多个默认路由。默认路由用于路由器没有特定路由的所有目标地址,并指向“向内” - 即。它被分配给路由器的上游链路。

因此,每个数据包都倾向于向上游流动,流向网络的核心。当您靠近网络核心时,路由器往往具有越来越大的路由表 - 它们“了解”更多网络。核心路由器本身没有默认路由——如果它们不知道如何到达目的地,它们只会丢弃数据包。此级别的路由器使用外部路由协议(protocol),BGP , 与其他核心路由器交换路由。如果您的数据包到达了这么远,它将再次开始向下游流动,直到到达目的地。

关于networking - 路由器如何利用路由表来选择出线呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769993/

相关文章:

php - 由验证引起的 Laravel 路由中的重定向循环?

networking - VirtualBox NAT 网络与 VMWare NAT 有根本的不同吗?

docker - 在 gitlab ci 中查找在 docker-compose 中运行的容器的 url/ip

networking - 使用 UDP 的 netcat 的奇怪行为

ruby-on-rails - has_many 嵌套中的自定义 RESTful 路由

ruby-on-rails - rails : How do I write a spec for a route that does a redirect?

java - Apache Camel 条件路由

java - 远程客户端收不到 UDP 数据包

c# - 使用异步套接字的 TCP 端口转发

ruby-on-rails - 使用单表继承处理表单