路由器工作在OSI参考模型的网络层,主要功能是为数据包选择最佳路由路径并最终到达目的地。那么路由器如何选择路径呢?路由器的工作原理是什么?下面来解释一下。
路由器是用于网络互联的专用计算机设备,在网络建设中发挥着重要作用。路由器工作在OSI参考模型的第三层(网络层),主要功能是为接收到的报文找到正确的路径并转发出去。在这个过程中,路由器被认为执行两个最重要的基本功能:路由功能和交换功能。
(1)路由功能(Routing function)是指路由器通过运行动态路由协议或其他方式学习和维护网络拓扑知识,生成和维护路由表的机制。为了完成路由功能,路由器需要学习和维护以下基本信息:首先,需要知道被路由的协议是什么。一旦在接口上配置了IP地址和子网掩码,也就是在接口上启动了IP协议(默认开启IP路由),如果路由接口处于正常状态,他们就可以使用这个了。其次,目的网络地址是否已经存在,通常IP包的转发依据是目的网络地址,只有路由表中有匹配的路由条目才能转发这个包,否则这个IP包会被路由器丢弃;第三,路由器还包含信息,如数据包需要从哪个端口发出,以及在将数据包转发到目的网络时应该转发到哪个下一跳地址。
(2)路由器的交换/转发功能不同于以太网交换机执行的交换功能的概念。指数据在路由器内部移动和处理的过程:从路由器的一个接口接收,然后选择合适的窗口进行转发,在此期间对帧进行解封装,并对数据包进行相应的处理,如下图所示。
首先,当一个数据帧到达某个端口时,该端口会检查该帧的CRC,并检查目的数据链路层地址是否与该端口匹配。如果通过检查,它将解包帧,读取IP数据包中的目的地址信息,查询路由表,并决定转发接口和下一跳地址。
获得转发接口和下一跳地址信息后,路由器将缓存出接口上是否有数据链路层封装所需的信息。如果没有这些信息,路由器会通过一个合适的过程来获取这些信息:如果出接口是以太网,则通过ARP协议获取下一跳IP地址对应的MAC地址;如果出接口是WAN接口,则通过手动配置或自动映射过程获取相应的二层地址信息,然后做一个新的数据链路层包,根据出接口上做的QOS策略,进入相应的队列,等待端口空闲进行数据转发。
(3)路由器工作过程总结:对于一个特定的路由协议,可以找到到达目的网络的所有路径,根据路由算法给每条路径赋予度量值,比较度量值,选择度量值最小的路径作为最佳路径;在路由器交换的过程中,可能会发现多个路由条目可以匹配。这时路由器会按照最长匹配原则转发数据。路由器将转发匹配最深的路由,即匹配掩码长度最长的路由。
以上是边肖为大家分享的路由器工作原理。希望能帮到你。