带你认识路由器:路由器的两个平面和三张表

目录

 

一、路由器的两个平面

1、控制平面

2、转发平面

二、路由器的三张表

1、IP路由表

2、FIB表

3、快速转发表


 


 

 

首先认识一下路由器的结构:控制平面和转发平面,以及转发路由的依据:路由表。

一、路由器的两个平面

路由器在网络中相当于快递站,用来转发数据包。而路由器除了转发数据外,还要能够计算以及学习路由,例如动态路由协议就是在启用协议之后让路由器自主计算并学习路由。

为了使转发效率更高,路由器系统定义了控制平面和转发平面,来将两种功能分离。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUmlhYnM=,size_20,color_FFFFFF,t_70,g_se,x_16

 

1、控制平面

路由器的控制平面承担了路由计算和学习部分,例如协议报文的收发、协议表项的计算、维护等都属于控制平面的范畴。控制平面不会转发数据,在控制平面计算好路由后,会生成路由表项,并下发到转发平面。

因为控制平面涉及到计算等功能,一般由CPU进行。

2、转发平面

路由器的转发平面承担着数据报文的封装、转发功能,例如数据报文的接受、解封装、封装、转发等都属于转发平面的范畴。

转发平面一般由专门的转发芯片来进行,不过对于一些初级的网络设备,没有专门的转发芯片,这时候会由操作系统将CPU和内存划分给不同的进程,让专门的进程来负责转发。

二、路由器的三张表

路由器在内部规定了三张表,来引导路由转发,分别是IP路由表、FIB表和快速转发表。

1、IP路由表

IP路由表是路由器最初始的一张表,也是最大的一张表,它囊括了已激活的(Active)和未被激活的(Inactive)所有路由表项。

匹配路由时,会因为路由的优先级从而导致有些路由项暂时不会被用到,这种路由称为Inactive路由。例如路由器接收到一条目的地址为192.168.1.2的数据包,查找路由表后,发现有两条192.168.1.0/24路由可以匹配,一条的优先级为100,而另一条的优先级为120,那么优先级120的路由项会被定义为Inactive路由,不会添加到目前在用的路由表上,使用命令 display ip routing-table 是看不到优先级为120的路由的,因为这条命令只是用来查看路由表中当前激活路由的摘要信息,但是这条路由确实存在于路由表中,使用命令 display ip routing-table verbose 即可看到IP路由表中的所有路由及其详细信息。

相关命令:


display ip routing-table  // 查看当前使用的路由摘要
display ip routing-table verbose   //查看完整的路由表信息
display ip routing-table [目的IP地址]  //查看指定目的IP地址的路由信息

因为路由器在匹配路由时,是一条一条进行的,当用IP路由表进行匹配时,即使是Inactive路由,也会被匹配一次,这种无效匹配减慢了路由器转发的工作效率。所以有了FIB表。

2、FIB表

FIB(Forwarding Information Base)表,又称转发表。FIB表项来自于IP路由表,它会将IP路由表中的Active路由导过来,作为系统转发的依据。因为FIB表中只有已激活路由,那么参照FIB表来匹配,可以有效加快转发速率。

FIB表与IP路由表是同步更新的。当系统的控制平面发现新的路由信息时,会根据新的路由信息更新IP路由表,生成新的Active路由,然后更新FIB表。

相关命令:

display fib  // 查看FIB转发信息
display fib [目的IP地址]  //查看指定目的IP地址的FIB信息

3、快速转发表

虽然FIB表显著增加了转发速率,但是仍然和IP路由表一样,在查找路由时,需要一条一条地匹配,都是CPU在内存中查找数据。而快速转发表不需要经过CPU,而是直接在高速缓存区cache中进行(涉及到计算机组成原理的知识,读者只需明白在内存中查找数据对于计算机而言是很慢的,而cache是不需要访问内存的,所以很快)。

快速转发表用在一段数据流的转发中。通常用五元组来表示一个数据流:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUmlhYnM=,size_20,color_FFFFFF,t_70,g_se,x_16

 而快速转发表则是基于五元组来转发,因为同一段数据流中每一个数据报文的五元组是一样的,当知道了该数据流的五元组后,可以直接进行转发。

快速转发流程为:首先路由器接收到数据流的第一个报文,在cache中查找快速转发表,但是因为是第一个报文,所以快速转发表中没有相关信息,于是CPU在内存中查找FIB表中的路由表项进行转发,同时系统会记录报文的五元组,并在cache中生成相应的快速转发信息。在收到后续的报文时,便依据快速转发表转发,不需要CPU在内存中查找,速率更快。

相关命令:

ip fast-forwarding [inbound | outbound]  //允许接口在入方向或出方向进行快速转发
display ip fast-forwarding cache // 查看目前的快速转发表
reset ip fast-forwarding cache //清除快速转发缓存

快速转发表默认只存在30s。

当路由器转发数据时,会先查看快速转发表,如果没有再查看FIB表,一般不会用到IP路由表,因为FIB表是从IP路由表导出的,假如FIB表中没有,那么IP路由表中也没有。

 

 

 

 

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

库巴巴星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值