路由器是实现网络互联的设备,作用在网络层,提供路由和转发两种重要的机制,可以决定数据包从源端到目的端所经过的路由路径,称为路由;将路由器输入端的数据包移到适当的路由器输出端,这称为转发;实现子网间速率适配(QOS),隔离子网,阻止广播蔓延,指定访问规则;实现不同网络类型互联
路由:使用路由表来实现,包括路由表的建立、更新、维护、查找
路由器结构:
1.路由器分为两个层次:路由与转发
1)路由:
路由选择协议(软件)工作在操作系统上,由路由引擎(CPU和内存)进行计算,计算结果以路由表的形式输出
最简单的路由器:
数据包进入内存,查看路由表,查看从哪个接口出去,在CPU协助下,由内存的一个地方到另一个地方,执行速度慢,CPU是中断时处理,将1s分为多个时间块,处理时占用一个时间块
2)转发:
将路由引擎中的路由表映射到转FIB转发表,数据进入接口查看FIB表,寻找出接口,转发数据包
2.路由器可划分为两个层次:路由选择部分和分组转发部分
1)路由选择部分也叫做控制层面,其核心构建是路由选择处理机
分组转发部分也叫做数据层面,其核心是硬件处理芯片和交换结构
2)
报文处理:
a.控制路径:处理目的地址是本路由器的高层协议报文,特别是路由协议报
文,控制路径不是路由处理的关键路径,但它负责完成路由信息
的交互,保证数据路径上的报文沿最优路径转发,通过路由引擎
实现
b.数据路径:处理目的路径不是本路由器而需要转发的路径,是路由器的关键
路径,影响路由器的整体性能,由转发引擎实现报文经过控制报
文还是数据路径由接口进行判别
3.路由表与转发表
- 路由表通常由路由协议和路由管理模块维护,包括IP地址/IP子网、下一
跳、路由度量、超时时间等 - 转发表基于路由生表成,路由实际转发时使用转发表(只包括IP地址/IP子网
和下一跳/出接口);高性能路由器转发表通常都用硬件实现,有利于高速查
找
4.接口处理
1)输入接口: 物理层处理-------数据链路层处理(去掉前导符,剥去帧首部和尾部)------------网络层处理(分组排队、查表和转发)-----------交换结构(从一个口到另一个口)
2)输出接口:交换结构(缓存)-----网络层处理(排队)-----数据链路层处理(添加帧头和帧尾)--------物理层处理
5.TCAM与CAM
TCAM:三元匹配 匹配 不匹配 don’t care
用于掩码、QOS、ACL、防火墙规则匹配
CAM:二元匹配 匹配 不匹配
无论表大小,都会在一个时间周期内检索出地址
6.路由器演化史
1)第一代路由器
由一个CPU和若干网卡与总线互联而成,主要功能通过软件实现,路由与转发都通过内存,系统性能低,耗时长
2)第二代路由器 接口模块化
不经过内存,通过总线,网卡中存在内存,可以实现一次查表多次路由
IP地址表不断变化会使转发表无效,线卡缓存需要不断从路由处理器中同步转发表
3)第三代路由器
每个线卡拥有自己的处理器,内存和若干网卡的独立子系统,提高了线卡的处理能力,转发与路由分开,由线卡进行转发,主板进行路由计算,共享总线的容量限制路由器吞吐量
4)第四代路由器
接口出现ASIC芯片,依赖TCAM转发,出现交换结构
5)第五代路由器
NP芯片,有可编程性,可支持组播、ipv6、QOS、MPLS vpn等,五代以前均为专用路由器,NP芯片可以对多种业务进行硬件加速,称为全业务路由器
6)第六代路由器
集群路由器