【干货】你还不知道路由器工作原理吗,99%的人都看
优质文章,及时送达
1
路由器工作原理
路由器(router)是互联网的枢纽,是连接英特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送数据。
作用在OSI模型的第三层,提供了路由与转发两种重要机制
路由:路由器控制层面的工作,决定数据包从来源端到目的端所经过的路由路径(host到host至今的最佳传输路径)
转发:路由器数据层面的工作,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳的路由器。
下一跳的路由器也按照这种方法处理分组,直到该分组到达终点为止。
2
路由器的功能
路由:收集网络拓扑信息并动态形成路由表
转发:根据转发表(FIB)转发IP数据包
子网间速率适配
隔离子网
隔离广播域
指定访问规则
不同类型的网络互联:路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型。
3
基本工作过程
路由器工作在OSI模型三层(网络层)
收到数据包后根据OSI模型层层将数据包拆开,到网络层后根据IP进行路由转发
根据接口协议层层封装,实现异种网络的互联
4
路由器的结构
路由器内部整体分为两部分:路由选择部分、分组转发部分
路由选择部分:软件、控制层面、核心是路由选择处理机
分组转发部分:硬件、数据层面、核心是处理芯片和交换结构
5
报文处理路径
控制路径: 处理目的地址是本路由器的高层协议报文,特别是各种路由协议报文。虽然控制路径不是路由器的关键路径,但是它负责完成路由信息的交互,从而保证了数据路径上的报文沿着最优的路径转发。
数据路径: 处理目的地址不是本路由器而需要转发的报文,因此数据路径是整个路由器的关键路路径,它直接影响路由器的整体性能。
6
路由表和转发表
每个路由器中都有一个路由表和FIB(Forward Information Base)表:路由表用来决策路由,FIB用来转发分组。
路由表:这里个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,包括更多的信息(IP地址/IP子网、下一跳、路由度量、超时间等);
路由表中路由有三类:
(1)链路层协议发现的路由(即是直连路由)
(2)静态路由
(3)动态路由协议发现的路由。
转发表(FIB):是基于路由生成的,路由器实际转发时使用转发表(只包括IP地址/IP子网和下一跳/出接口);
转发表中每条转发项都指明分组到某个网段或者某个主机应该通过路由器的那个物理接口发送,然后就可以到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
高性能路由器转发表通常都用硬件来实现,有利于高速查找。
CAM、TCAM是一种特殊的存储器,无论表大小如何,都会在一个时钟周期内检索出地址。
CAM:执行二元运算
基于0或1匹配;所有比特都必须匹配
“命中”将返回结果(出接口)
用于MAC地址查询
TCAM:执行三元运算
基于0、1或X(不关心)匹配
最长匹配返回“命中”
适用于并非所有值都需要精确匹配的查询(ACL或IP路由表)
7
分组转发部分
输入端口
交换结构
交换结构是一台路由器的核心组件,它的作用就是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去