一个报文的路由器之旅
2019年10月1日,星期二
23:26
数据包在网络中的传输情况
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------红线以前是讲PFE检查二层端口的相关信息(PFE Packet Forwarding Engine包转发引擎)
有些报文是不需要进行查表转发的。比如,PFE解析二层帧头时,从二层帧头的协议字段就可以直接判断出某些协议报文是需要上送本机CPU处理的,如ARP、RARP、IS-IS、LLDP、LACP、PPP控制报文等等;还有一些协议报文,其目的地址为特定的保留组播IP地址(标准中定义,组播地址224.0.0.1~224.0.0.255供路由协议使用),可直接判断其需要上送本机CPU处理,因此这
类协议报文也不需要查表转发。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
分区OSPF 的第1 页
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------报文的标识
分区OSPF 的第2 页
令牌桶算法总结
分区OSPF 的第3 页
流分类(简单流分类和复杂流分类)、流量限速(CAR和流量整形)、拥塞管理(队列机制)和拥塞避免(丢弃策略)称为QoS的四大组件。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
User Network Route
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------策略路由(Policy-based Routing),也称为路由重定向(Redirect)
策略路由与路由策略(Routing Policy)不同,请不要混淆。策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照先行路由表进行转发,而是根据需要,依
照某种策略改变其转发路径的方法。而路由策略的操作对象是路由信息,在正常的路由协议之上,根据某种规则、通过改变某些参数或者设置某种控制方式来改变路由产生、发布、选择的结果——路由表。
分区OSPF 的第4 页
1. 判断报文的目的MAC是否等于本机MAC,如果不是,则做L2转发;是则继续下一步骤。
2. 判断报文的协议类型是否为IPv4(例如以太帧,eth_type = 0x800),如果不是,则进入其他转发流程;是则继续下一步骤。
3. 检查报文的长度、IP地址、Checksum字段是否正确,如果不正确,则丢弃报文,否则继续下一步骤。
4. 判断目的IP地址是否为单播地址,如果不是单播则其他转发处理,是则进入继续下一步骤。
5. 用目的IP地址查FIB表得到的下一跳IP、出接口等信息(如果是公网的报文,查公网FIB表,如果是VPN报文,则查对应VPN的FIB表)。FIB:
Destination/Mask Nexthop Flag TimeStamp Interface TunnelID
10.2.5.0/24 10.2.5.5 U t[5847] GigabitEthernet1/0/0 0x010.2.5.5/32 127.0.0.1 HU t[5847] InLoop0 0x0
–如果是负载分担,会查到多份这样的信息,于是根据负载分担哈希算法选取其中的一份。关于负载分担的详细
介绍请参见《负载分担专题》。
–如果是FRR(Fast Reroute)状态,则会根据出接口状态做主备路由选择,如果出接口正常工作,则会选择主路由;否则选择FRR备份路由。
–如果出接口为Trunk接口,会再根据Trunk负载分担哈希算法,选择Trunk成员口中的其中一个作为最终的出接
分区OSPF 的第5 页