路由器
什么是路由器?
简单的回答就是能够进行路由和转发的网络设备。下面具体说一下:
1.决定数据包从来源端到目的端所经过的路路由路路径 (host到host之间的最佳传输路径),这个过程称为路由。
2.将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称之为转发。(基于ip头部进行转发,即查询目的地址,匹配路由表,然后转发,进出后源Mac目标Mac进行改变)
3.
数据撕掉二层头部后会查询转发信息表,即FIB表(由路由表进行映射形成FIB表)这是基于硬件的表。
4.路由 :使⽤路由表来实现,包括路由表的建立、更新、维护、查找 。 使用静态路由和动态路由协议来获知远端⽹络构建路由表
5.子网间速率适配
6.隔离子网,防⽌⼴播蔓延,指定访问规则
7.不同类型网络互联: 路由器经常会收到以某种类型的数据链路路帧封装的数据包,当转发这种数据 包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装 取决于路由器接⼝口的类型及其连接的介质类型
路由器的结构
路由引擎:硬件上有CPU和内存,软件上有操作系统,来计算路由,计算结果以路由表的形式输出,存在内存中。CPU不参与转发,只参与路由的计算
也叫作控制层面。
转发引擎:核心是ASIC芯片,查询FIB表,其是路由表映射来的,直接在FIB表中找到出接口,完成转发
也叫作数据层面。
路由表和转发表
这里的表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,包括更 多的信息(IP地址/IP⼦网、下⼀跳、路由度量、超时时间等);转发表是基于路由生 成的,路由器实际转发时使用转发表(只包括IP地址/IP⼦⽹和下⼀跳/出接口);高性 能路由器转发表通常都用硬件(CAM/TCAM)来实现,有利于高速查找。
我们这里来看一下转发表:
这个称为二元匹配,交换机的CAM便使用二元匹配。
CAM是一种特殊的存储器,无论表大小如何,都会在一个时间周期内检索出地址。
这个称为三元匹配,基于0 ,1 ,不关注匹配,如TCAM(表从精确到不精确来排列),TCAM用于路由器的掩码,acl的反掩码,QOS,以及一些防火墙的匹配。TCAM是一种特殊的存储器,无论表大小如何,都会在一个时间周期内检索出地址
交换结构
交换结构是⼀台路由器的核⼼组件,它的作用就是根据转发表(forwarding table)对分组进⾏处理,将某个输入端⼝进⼊的分组从一个合适的输出端⼝转发出去。交换结构本身就是⼀种⽹络,但这种⽹网络完全包含在路由器中,因此交换结构又可看成是”在路由器中的网络”
路由器的发展史
第一代:集成式
以电脑结构作为路由器以及家用路由器的工作原理。
第二代:模块化
一次查表多次路由。但只有一根总线性能不行。
第三代:分布式软件转发
将路由和转发已经分开。
第四代:在路由与转发分开的基础上,硬件已经采用了ASIC芯片,转发能力大大提升。
第五代:np芯片的出现改变了格局
其特点是有编程性,可以同时对很多业务进行硬件处理,如qos,ipv6,,MPLS VPN等。
NP与ASIC比较之前 性能更高:对新的增 值业务(MPLS、QOS、组播等等)迅速⽀持;