路由器两面五表指的是什么?
路由器的两个平面指的是控制平面和转发平面。
路由器的五张表指的是路由表、FIB表、快速转发表、ARP表和MAC地址表。
什么是控制平面?
控制平面(Control Plane):控制平面负责路由器的管理和控制功能。它包括路由协议运行、路由信息交换、路由算法计算、路由表的构建和更新等操作。控制平面决定了数据包在网络中的路径以及如何进行转发。
图1
路由协议运行:
控制平面负责运行路由协议,如常见的OSPF、BGP、IS-IS等。这些协议用于在路由器之间交换路由信息,以确定网络中各个目的地网络的最佳路径。
路由信息交换:
控制平面负责路由信息的交换。路由器通过控制平面将自身的路由信息广播给其他路由器,同时也接收其他路由器发送过来的路由信息,并进行处理和更新。
路由算法计算:
控制平面中的路由算法负责计算路由表。它根据收集到的路由信息,应用特定的算法(如最短路径算法)来决定数据包转发的路径和优先级。
路由表的构建和更新:
控制平面负责构建和更新路由表。路由表中存储着目的地网络的IP地址、下一跳和出接口等信息,控制平面根据路由算法计算的结果,将最佳的路由信息存储到路由表中,并在需要时对路由表进行动态更新。
路由策略的定义:
控制平面允许管理员定义特定的路由策略。通过配置控制平面,管理员可以指定特定网络流量的转发路径、优先级和转发策略,以满足网络管理的需求。
什么是转发平面?
转发平面(Forwarding Plane):转发平面负责实际的数据包转发和转发决策。它根据控制平面提供的路由信息,在路由表中查找目标地址,并根据转发策略将数据包从一个接口转发到另一个接口。
数据包处理:
转发平面接收来自输入接口的数据包,并根据特定的转发策略进行处理。它会检查数据包的目的地IP地址,并在路由表中查找相应的路由信息。
转发决策:
转发平面根据路由表中的路由信息,决定数据包应该从哪个输出接口发送出去。它会查找与目的地IP地址匹配的最佳路由,确定下一跳和出接口。
数据包转发:
转发平面根据转发决策,将数据包从输入接口转发到相应的输出接口。它会进行MAC地址的转发表查询,为每一个数据包关联正确的目的地MAC地址,并结合接口的转发能力,将数据包发送到正确的目的地。
转发表维护:
转发平面会维护MAC转发表和ARP表的信息。MAC转发表存储接口之间的MAC地址映射关系,用于确定数据包的目的地MAC地址。ARP表存储IP地址与MAC地址的对应关系,用于解析目的地IP地址对应的MAC地址。
数据包处理优化:转发平面也负责实现一些数据包处理的优化技术,如快速转发缓存(Fast Forwarding Cache)和硬件加速。这些技术可以提高数据包转发的速度和效率,加快网络传输速度。
总的来说,控制平面负责管理和控制路由器的各个方面,包括运行路由协议、交换路由信息、计算和更新路由表,以及定义路由策略。它确保了路由器能够正确、高效地转发数据包,以构建一个稳定、可靠的网络环境。转发平面负责实际的数据包转发和转发决策,将数据包从输入接口转发到输出接口,并根据路由表和转发表进行正确的转发。它是确保路由器能够高效、准确地传输数据包的关键组成部分
什么是路由表?
路由表(Routing Table):
路由表存储着路由器对于不同目的地网络的路由信息。它包含了目的地网络的IP地址、下一跳和出接口等重要信息,用于路由器进行数据包转发的决策。路由表是路由器最初始的一张表,也是最大的一张表,它囊括了已激活的(Active)和未被激活的(Inactive)所有路由表项。路由表是路由器转发数据包时的重要参考,它在数据包到达路由器后,用于决策数据包的转发路径。通过路由表中的目的地网络、下一跳地址、出接口和优先级等信息,路由器可以选择最佳的转发路径,将数据包正确地转发到目标地址。
目的地网络:
路由表中的每一项记录描述了一个目的地网络,即数据包的最终目标。目的地网络通常由网络的IP地址表示,可以是一个具体的主机地址或者一个网络地址。
下一跳地址:
路由表中的每一项记录包含下一跳地址,即数据包在转发时应该转发到的接口或路由器。下一跳地址指示了数据包离开当前路由器后的下一个路由器或接口。
出接口:
路由表中的每一项记录还包含出接口信息,即数据包从当前路由器出去的物理接口或逻辑接口。出接口指示了数据包离开路由器时应该使用的接口。
路由优先级:
路由表中的每一项记录还会包含路由的优先级或跃点数等信息,用于判断不同路由的优先级。优先级决定了路由器在多个可选路由中选择最佳路由时的策略。
最佳匹配原则:
路由表中的多个记录按照最佳匹配原则进行查找和匹配。即当数据包的目标地址与路由表中的多个目的地网络匹配时,选择最长前缀匹配的目标网络作为最佳匹配。
动态更新路由表可以通过静态配置或动态协议进行更新。静态配置是由管理员手动配置的固定路由信息,而动态协议如OSPF、BGP等可以根据网络的变化和协议的规则自动更新路由表。
路由表是如何生成的?
路由表的生成过程可以通过两种方式:静态路由和动态路由。
静态路由:
静态路由是由网络管理员手动配置的路由信息,通过手动添加路由表条目来指定网络流量的转发路径。管理员根据网络拓扑、需求和策略,手动添加路由表的条目,包括目的地网络、下一跳地址和出接口等信息。静态路由的优点是简单易懂、避免了漫游消息的交换,但是需要手动配置和维护,对于大型网络或网络拓扑变化频繁的环境可能不够灵活和高效。
动态路由:
动态路由是通过路由协议自动交换和更新路由信息,以动态地生成路由表。常见的动态路由协议有OSPF、BGP、RIP等。路由器通过这些协议与其他路由器交换路由信息,更新和维护路由表。具体步骤如下:
a. 邻居发现:路由器通过路由协议与相邻路由器建立邻居关系,并交换邻居表信息。
b. 路由信息交换:通过路由协议,路由器将自己的路由信息与相邻路由器交换,并接收相邻路由器发送的路由信息。
c. 路由表计算:路由器根据接收到的路由信息和路由协议的算法,计算最佳的路由路径,并生成路由表。
d. 路由表更新:路由器在接收到新的路由信息后,根据算法和策略,更新路由表中的路由信息。
e. 路由表传播:更新后的路由表可以通过路由协议传播给其他相邻路由器,实现整个网络中路由表的同步和协调。
动态路由的优点是自动化的路由信息交换和更新,可以适应网络拓扑的变化,并根据具体的策略和算法选择最优的路由。但是动态路由需要占用一定的网络带宽,协议交换过程中可能会带来一定的开销,对于复杂网络和大规模网络环境来说,需要仔细配置和管理路由协议。
无论是静态路由还是动态路由,路由表的生成都是为了决定数据包的最佳转发路径,确保数据包能够准确、高效地到达目标地址。
什么是FIB表?
FIB表(Forwarding Information Base Table)是路由器中用于数据包转发的重要数据结构。FIB表存储了路由器在转发数据包时所需的转发信息,包括目的地网络、下一跳地址和出接口等。FIB表又称转发表,FIB表项来自于IP路由表,它会将IP路由表中的Active路由导过来,作为系统转发的依据。因为FIB表中只有已激活路由,那么参照FIB表来匹配,可以有效加快转发速率。FIB表与IP路由表是同步更新的。当系统的控制平面发现新的路由信息时,会根据新的路由信息更新IP路由表,生成新的Active路由,然后更新FIB表。
目的地网络:
FIB表中的每一项记录描述了一个目的地网络,即数据包的最终目标。目的地网络通常由网络的IP地址表示,可以是一个具体的主机地址或者一个网络地址。
转发决策:
FIB表中的每一项记录包含转发决策,即数据包在转发时应该转发到的下一个路由器或出接口。转发决策是通过查找最佳匹配的目的地网络来确定的,即找到最长前缀匹配的目的地网络。
下一跳地址:
FIB表中的每一项记录还包含下一跳地址,即数据包在转发时应该转发到的下一个路由器的地址。下一跳地址指示了数据包离开当前路由器后的下一个路由器或接口。
出接口:
FIB表中的每一项记录包含出接口信息,即数据包在转发时应该使用的出接口。出接口指示了数据包离开路由器时应该使用的物理或逻辑接口。
最佳匹配原则:
在FIB表中,多个记录按照最佳匹配原则进行查找和匹配。即当数据包的目标地址与FIB表中的多个目的地网络匹配时,选择最长前缀匹配的目标网络作为最佳匹配。
动态更新:
FIB表可以通过静态配置或动态路由协议进行更新。静态配置是由管理员手动配置的固定转发信息,而动态路由协议可以根据网络的变化和协议的规则自动更新FIB表。
FIB表是路由器在转发数据包时的重要参考。根据FIB表中的目的地网络、转发决策、下一跳地址和出接口等信息,路由器能够选择最佳的转发路径,将数据包准确、高效地转发到目标地址。FIB表的生成和更新是通过静态配置或动态路由协议,确保路由器在数据包转发时能够根据网络环境的变化和优化选择最佳的转发路径。
什么是快速转发表?
快速转发表(Fast Forwarding Table)是网络交换机中用于实现快速数据包转发的关键数据结构。它类似于路由器中的转发表(Routing Table),但在交换机中起到更为关键的作用。虽然FIB表显著增加了转发速率,但是仍然和IP路由表一样,在查找路由时,需要一条一条地匹配,都是CPU在内存中查找数据。而快速转发表不需要经过CPU,而是直接在高速缓存区cache中进行,而cache是不需要访问内存的,所以很快。快速转发表是通过学习和更新来构建的。交换机在接收到数据包时,会查看数据包中的源MAC地址,并将其与相应的输入接口关联,将这条信息存储到快速转发表中。当交换机再次接收到来自相同源MAC地址的数据包时,就可以直接根据快速转发表中的记录进行转发,而无需广播到整个网络。快速转发表的匹配规则比较简单,通常只需要比较目的MAC地址。当交换机收到一个数据包时,它会在快速转发表中查找与目的MAC地址最匹配的记录,并将数据包转发到相应的出接口。为了提高转发效率,交换机通常会使用缓存机制来加速转发过程。当交换机收到数据包时,它会将数据包中的目的MAC地址与快速转发表进行匹配,并将匹配的结果(出接口)缓存在快速转发表中。这样,当下次收到相同目的MAC地址的数据包时,就可以直接从缓存中获取对应的出接口,减少了查找时间。快速转发表的设计旨在实现高速数据包转发,以满足交换机对低延迟和高吞吐量的需求。它通过直接映射目的MAC地址和出接口的方式,避免了广播和多播的转发,提高了转发效率。
产生快速转发表的过程通常包括以下几个步骤:
学习阶段:
交换机通过监听网络中的数据包流量来学习和构建快速转发表。当交换机接收到一个数据包时,它会提取数据包中的源MAC地址、目的MAC地址和接收端口等信息。
记录学习:
交换机将接收到的数据包的源MAC地址、目的MAC地址和接收端口等信息记录在快速转发表中。这样,交换机就能够得知数据包的源设备和目的设备之间的对应关系,以及通过哪个接口将数据包发送出去。
表项创建:
交换机根据接收到的数据包的源MAC地址和对应的接收端口信息,将其作为一项记录添加到快速转发表中。这个过程称为“学习”。快速转发表的每个记录都包含了源MAC地址、目的MAC地址以及与之相关联的接收端口。
转发决策:
当交换机接收到一个数据包时,它会根据数据包的目的MAC地址在快速转发表中进行查找。如果能够找到与目的MAC地址匹配的记录,交换机就会使用快速转发表中的接收端口信息,将数据包转发到对应的出端口。这样就实现了快速的数据包转发过程。
更新和刷新:
快速转发表会根据网络中的数据包流量不断进行更新和刷新。如果交换机接收到一个具有新的目的MAC地址的数据包,它会更新原有记录中的对应接收端口,或者添加新的记录。当某个记录长时间没有被使用时,可能会被认为是过期的,交换机会移除这些过期的记录,以便进行快速的转发数据包。
快速转发流程为:
首先路由器接收到数据流的第一个报文,在cache中查找快速转发表,但是因为是第一个报文,所以快速转发表中没有相关信息,于是CPU在内存中查找FIB表中的路由表项进行转发,同时系统会记录报文的五元组,并在cache中生成相应的快速转发信息。在收到后续的报文时,便依据快速转发表转发,不需要CPU在内存中查找,速率更快
什么是ARP表?
ARP表(Address Resolution Protocol Table):ARP表用于存储IP地址与MAC地址之间的映射关系。当一个数据包需要发送到某个目标IP地址时,路由器需要在ARP表中查找对应的MAC地址,以便进行数据包转发。
IP地址:
ARP表中的每一项记录了一个IP地址。IP地址是网络层的地址,用于唯一标识网络中的设备。
MAC地址:
ARP表中的每一项记录了对应的MAC地址。MAC地址是数据链路层的地址,用于在局域网中唯一标识设备。
IP-MAC对应关系:
ARP表记录了IP地址与对应的MAC地址之间的映射关系。当一个主机需要发送数据包到某个目标IP地址时,在发送前会查找ARP表中是否已经存在该IP地址对应的MAC地址。如果存在,则直接使用该MAC地址进行数据包的封装和发送;如果不存在,则需要发送ARP请求广播,查询网络中该IP地址对应的MAC地址,并将查询结果添加到ARP表中。
动态更新:
ARP表是动态更新的,当主机或路由器收到ARP请求或ARP应答时,会将收到的IP地址与MAC地址的对应关系更新到ARP表中。这样,在后续的数据包转发中,就可以直接查找ARP表中的对应关系,快速地转发数据包。
过期时间:
ARP表中的每一项记录通常还会包含一个过期时间。过期时间表示该条目在表中有效的时间段。如果在过期时间内没有使用该IP地址对应的MAC地址,条目可能会过期并从ARP表中移除,需要重新发送ARP请求来查询。
ARP缓存:
ARP表也被称为ARP缓存,因为它在网络设备中临时缓存了IP地址与MAC地址之间的对应关系。ARP缓存的存在可以提高数据包转发的速度和效率,避免频繁的ARP请求。
ARP表在网络设备中起到了非常重要的作用。它通过存储IP地址与MAC地址之间的对应关系,实现在局域网中的数据包转发。当主机或路由器需要发送数据包到目标IP地址时,通过查询ARP表,能够快速地获取目标IP地址对应的MAC地址,从而确保数据包能够正确地转发到目标设备。
什么是MAC地址表?
MAC转发表(MAC Forwarding Table):MAC转发表存储了MAC地址与接口之间的映射关系。它用于将接收到的数据帧转发到正确的接口,以确保数据正确到达目标设备。MAC地址表帮助交换机进行数据帧的转发和交付,提高了网络的性能和效率。通过学习源MAC地址和接口的映射关系,并根据MAC地址表进行转发决策,交换机可以将数据帧仅发送到目标设备所在的接口,避免了广播和多播的网络拥塞问题。这样,交换机能够提供高速、精确的数据帧转发服务。
MAC地址:
MAC地址是一个48位的地址,用来唯一标识网络设备。每个网络设备都被赋予一个唯一的MAC地址,用于在以太网环境中进行通信。
接口:
MAC地址表中的每一项记录了一个MAC地址和对应的接口。接口可以是交换机的物理端口,也可以是逻辑端口。接口信息指示了数据帧在交换机中进入和离开的接口。
记录学习:
当交换机接收到一个数据帧时,它会提取数据帧中的源MAC地址,并将其与进入该数据帧的接口相关联。交换机根据学习到的源MAC地址和接口信息,更新MAC地址表的条目。
转发决策:
当交换机收到一个目标MAC地址为目的的数据帧时,它会在MAC地址表中查找该目标MAC地址对应的接口。交换机会将数据帧转发到该接口上,以实现数据帧的目标设备的直接传递。
刷新和更新:
MAC地址表会根据网络中的数据帧流量不断进行刷新和更新。如果交换机长时间没有收到来自某个MAC地址的数据帧,相关的MAC地址表条目可能会被认为是过期的,并从MAC地址表中移除。
广播和未知目标处理:
当交换机收到一个广播数据帧或具有未知目标MAC地址的数据帧时,它会将数据帧发送到所有的接口(除了接收该数据帧的接口)。这样可以将广播消息传递给所有的设备,或者通过广播洪泛学习新的源MAC地址。
MAC地址表帮助交换机进行数据帧的转发和交付,提高了网络的性能和效率。通过学习源MAC地址和接口的映射关系,并根据MAC地址表进行转发决策,交换机可以将数据帧仅发送到目标设备所在的接口,避免了广播和多播的网络拥塞问题。这样,交换机能够提供高速、精确的数据帧转发服务。
。