什么叫路由器?
简单来说,就是能够进行路由和转发的设备,把成千上万的网络连接起来的设备
定义:是一种实现网络互联的设备,三层设备,提供路由与转发两种重要机制;可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的最佳传输路径),这个过程称为路由;将路由器输入端的数据包 移送至适当的路由器输出端(在路由器内部进行),这称之为转发(基于ip头进行转发,即查询目的地址,匹配路由表,然后转发,进出后源目Mac改变)。
数据到三层会查询转发信息表,即FIB表(路由表进行映射形成FIB表,它是硬件上的表)
路由器其他作用:
路由:使用路由表来实现,包括路由表的建立,更新、维护、查找,使用静态路由和动态路由协议来获知远端网络构建路由表
子网间速率适配:两个口,一个10m,一个100m,可相互转换
隔离子网,防止广播蔓延,指定访问规则
不同类型的网络互连
典型的路由器结构:
路由引擎:硬件上要有CPU和内存,软件上要有操作系统,来计算路由,计算结果以路由表的形式输出出来,存在内存中。CPU不参与转发,只参与路由的计算
转发引擎:核心是芯片(ASIC芯片:直接烧录好的芯片),查询转发表,核心是FIB表,是路由表映射来的,直接在FIB表中找到出接口。完成转发。
控制层面与数据层面:控制层面就是路由引擎;数据层面就是转发引擎,因此路由器有两种不同的报文处理路径,在接口处判断收到的报文类型,如果是控制报文则走控制引擎,如果是数据报文则走数据引擎
控制路径:处理目的地址是本路由器的高层协议报文,特别是各种路由协议报文。虽然控制路劲不是路由器的关键路径,但是他负责完成路由信息的交互,从而保证了数据路劲上的报文沿最优路劲转发
数据路径:处理目的地址不是本路由器而需要转发的报文,因此数据路径是整个路由器的关键路劲,他直接影响路由器的整体性能
路由表与转发表:
这两个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,包括跟多的信息(IP地址/IP⼦⽹、下⼀跳、路由度量、超时时间等);转发表是基于路由表生成的,路由器实际转发时使用转发表(只包括IP地址/IP⼦⽹和下⼀跳/出接⼝),这个表交给硬件(TCAM)来完成,有利于高速查找。
转发表:
二元匹配:交换机的CAM表是二元匹配,基于0 ,1来匹配,而且必须都匹配才是真的匹配。CAM是一种特殊的存储器,无论表大小如何,都会在一个时间周期内检索出地址。
三元匹配:基于0 ,1 ,不关注匹配,如TCAM(表从精确到不精确来排列),TCAM用于路由器的掩码,acl的反掩码,QOS,以及一些防火墙的匹配。TCAM是一种特殊的存储器,无论表大小如何,都会在一个时间周期内检索出地址
交换结构:
交换结构是⼀台路由器的核⼼组件,它的作用就是根据转发表(forwarding table)对分组进⾏处理,将某个输入端⼝进⼊的分组从一个合适的输出端⼝转发出去。交换结构本身就是⼀种⽹络,但这种⽹网络完全包含在路由器中,因此交换结构又可看成是”在路由器中的网络”
路由器的演化史:
一代路由器:集成化
以电脑作为路由器以及家用路由器的工作原理:
当有另一段数据进入路由表内存中,先找到目的地址,将目的地址提取出来,丢给CPU,CPU丢给由路由引擎计算的路由表,路由表查表得知从哪个口出去,完成工作。其工作速度慢。转发能力不行
二代路由器:模块化
网卡升级,增加了转发缓存和存储缓存(缓存表),直接在缓存中查表,找到出口,然后直接从总线中出去即可,即一次查表多次路由。但只有一根总线,性能不行
三、四代路由器
路由和转发分开了,与四代路由器相比,四代路由器已近有了ASIC芯片了,直接在接口处理数据,转发性能大大提高。
五代路由器
np芯片:四代的转发速度较快,但路由功能不行,在np芯片出现之前,路由器往往是专用路由器,如局域网路由器,广域网路由器,语言路由器等,于是出了np芯片,其特点是有编程性,可以同时对很多业务进行硬件处理,如qos,ipv6,,MPLS VPN等。