网络

前言

在一个网络中,最常见的网络设备就是交换机、路由器、防火墙(如下图)。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图1
那么这些网络设备是如何工作的,如何处理数据报文的呢?今天我们就以交换机、路由器为例,给大家介绍下。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图2

网络设备介绍

1、框式网络设备

如下图所示,是华为的一款框式交换机 S12708。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图3
这款交换机的硬件满配组成如下:2个主控板、4个交换网板、8个接口板卡、2个集中监控板、6个电源模块、4个风扇模块等。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图4
那么这些硬件组成的作用是什么呢?

(1)主控板

主控板其实就是设备的“大脑”,对设备进行整体的管理和控制。
主控板提供了整个系统的管理平面和控制平面。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图5

(2)接口板卡

接口板卡就是我们常说的业务板卡,提供丰富的端口类型和端口数量,不同的板卡类型提供的端口数量和端口类型(光口、电口)也不一样,端口的速率也不一样(10G/25G/40G/100G等)。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图6

(3)交换网板

交换网板从字面上理解就是用作数据交换的,可以理解成是整个设备的通信总线,业务板之间通信都需要经过交换网板。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图7
例如下图:不同槽位的接口板卡通信都需要通过交换网板。(这个大家记住,后面讲转发流程会涉及)
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图8

2、盒式网络设备

盒式网络设备相对于框式设备而言,不具备扩展性,端口数量固定,将各个模块集成在一起了。但是价格相对框式设备便宜。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图9

3、网络设备的逻辑平面

网络设备从逻辑上可以分为:控制平面、数据平面、监控平面;

网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图10
(1)控制平面:用于控制和管理所有网络协议的运行。控制平面由设备的主控板和业务板卡中的管理单元组成。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图11
例如:交换机是基于MAC地址表转发的,那么这个表项就是控制平面干的活;路由器是基于路由表转发的,那么这个表项就是控制平面干的活;
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图12
(2)数据平面:实现各个业务模块之间的业务交换功能。
转发平面有接口板和交换网板组成。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图13
其实网络设备简单来看就是接受数据,处理数据,转发数据。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图14
(3)监控平面:完成系统的运行状态监控、环境监控、日志和告警信息处理、系统加载、系统升级等功能。
监控平面由主控板、接口板监控单元组成,框式设备还会有集中监控板。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图15
大家都应该通过TELNET、SSH、SNMP等方式来登录管理设备,那么这些其实就是和监控管理平面相关的。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图16

网络设备报文处理流程

1、什么是上行、下行?

上行:设备从LPU接口板收到报文转发到交换网板的过程;
下行:设备从交换网板发给LPU接口板的过程;
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图17

2、什么是协议报文、业务报文?

网络设备处理的报文可以分为业务报文和协议报文;
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图18

(1)业务报文:服务、应用在交互过程中涉及的报文;

设备收到业务报文只会进行转发,从接口板的一个端口进入之后根据转发表项从另一个接口转发出去;
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图19

(2)协议报文:

设备收到协议报文(如BGP、OSPF、ARP等协议报文),会上送给控制平面处理;
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图20
如ARP报文交由控制层面处理、判断之后决定是否回应,是否学习ARP报文中的源MAC、源IP。

3、业务报文转发流程

网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图21

(1)业务报文从接口板进来后,首先通过PFE(包转发引擎)对报文进行处理;
A、解封装:对报文进行解封装,获取二层或者三层报文头信息;
B、查表转发:如果是二层转发,就查找MAC地址表,确认报文的出接口;如果是三层转发,就查找路由表,确认报文的出接口;
如果报文送往交换网板之前,需要进行切片处理,就把报文按一定粒度进行切片,切成固定长度。
(2)入接口板通过数据总线交给交换机网板,交换网板交由下行接口板。
(3)下行接口板对分片后的报文进行重组,并通过PFE(包转发引擎)对报文进行处理,获取封装信息,对报文进行封装,并通过出接口转发出去。


硬件转发:

1、框式设备的业务报文转发一般不经过主控板CPU,直接由接口板查询表项进行数据转发。这种直接由接口板完成数据转发,没有主控板参与的转发方式就是硬件转发
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图22
2、接口板上的转发信息(例如:FIB表项)是由主控板根据生成的路由表下发到接口板上的。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图23

4、协议报文转发流程

(1)设备收到协议报文(ospf、bgp、ARP等)后,需要上送到主控板进行处理。
网络设备转发流程:路由器、交换机、防火墙报文数据处理流程 - 图24
(2)主控板CPU收到协议报文之后进行相应的处理,如果需要回应报文,则主控板会构造协议报文进行回应。
如收到发往自身的ARP Request、ICMP Echo Request报文,主控板处理之后构造ARP Reply、ICMP Echo Reply进行回应。