没有到主机的路由_漫话TCP/IP:网络层-路由控制(2)

d69e64060d8388599723ce3c99706881.png
表弟:漫话TCP/IP:网络层-IP寻址(1)​zhuanlan.zhihu.com
900694f2c51f587f83b2c9387c658ea7.png

序言

在上一章,我们学习了IP地址的相关基础知识。有了IP地址以后,我们就能将分组数据分组数据发送到最终目标地址。一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。

发送数据包时所使用的地址是网络层的地址,即IP地址。然而仅仅有IP地址还不足以实现将数据包发送到对端目标地址,在数据发送过程中还需要类似于“指明路由器或主机”的信息,以便真正发往目标地址。保存这种信息的就是路由控制表(RoutingTable)。实现IP通信的主机和路由器都必须持有一张这样的表。它们也正是在这个表格的基础上才得以进行数据包发送的。

路由表的形成方式有两种:一种是管理员手动设置,另一种是路由器与其他路由器相互交换信息时自动刷新。前者也叫静态路由控制,而后者叫做动态路由控制。

为了让动态路由及时刷新路由表,在网络上互连的路由器之间必须设置好路由协议,保证正常读取路由控制信息。IP协议始终认为路由表是正确的。然而,IP本身并没有定义制作路由控制表的协议。即IP没有制作路由控制表的机制。该表是由一个叫做“路由协议”的协议制作而成。

路由控制

IP地址的网络地址部分用于进行路由控制。如下图:

cb9e55ef28ba5b3367cbddb84231c8fb.png

路由控制表中记录着网络地址与下一步应该发送至路由器的地址。在发送IP包时,首先要确定IP包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将IP包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。所谓最为吻合是指相同位数最多的意思。

  • 路由表

路由表中的每一项都包含下面这些信息:

  1. 目的IP地址。它既可以是一个完整的主机地址,也可以是一个网络地址,由该表目中的标志字段来指定。主机地址有一个非 0的主机号,以指定某一特定的主机,而网络地址中的主机号为0,以指定网络中的所有主机。
  2. 下一跳路由器的IP地址,或者有直接连接的网络 IP 地址。下一跳路由器是指一个在直接相连网络上的路由器,通过它可以转发数据报。下一跳路由器不是最终的目的,但是它可以把传送给它的数据报转发到最终目的。
  3. 标志。其中一个标志指明目的 I P 地址是网络地址还是主机地址,另一个标志指明下一跳路由器是否为真正的下一跳路由器,还是一个直接相连的接口。
  • 默认路由

默认路由是指路由表中任何一个地址都能与之匹配的记录。默认路由一般标记为0.0.0.0/0或default。这里的0.0.0.0/0并不是指IP地址是0.0.0.0。由于后面是“/0”,所以并没有标识IP地址。它只是为了避免人们误以为0.0.0.0是IP地址。有时默认路由也被标记为default,但是在计算机内部和路由协议的发送过程中还是以0.0.0.0/0进行处理。

目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。

  • 路由表聚合

路由表越大,管理它所需要的内存和CPU也就越多。并且查找路由表的时间也会越长,导致转发IP数据包的性能下降。如果想要构建大规模、高性能网络,则需要尽可能削减路由表的大小。

eaadac2e3dde782be7ab6438dd9157f9.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值