-
L2
设备报文转发概述
对于一般的
L2
设备(
Bridge
、
Switc
h
等)和一些
L2/L3
设备来说,报
文在设备中的流
程一般有下面三个顺序:
1)
In
gress
:入口,一般担负着报文交换转发中的决策角色,在整个转发流程中是最关键
和
重要的部分。
Ingress
将报文
和相应的转发信息发送到
MMU
进行
b
uffering
和
scheduling
。
2)
Buffer
:报文缓冲,有些叫
MMU
(
Memory Management Unit
)
p>
。它负责从
Ingress
端口接
收报文、进行报文调度(包括
COS
处理)
p>
、发送报文到
Egress
端口,并对内外
部报文缓
冲进行预算和管理,更新相应的状态寄存器等。
3)
Egress
< br>:出口,它负责相应
MMU
的请求将报文发送到相应的端
口。
需要指出的一点是:
上面所说的处理
流程是指正常的通过
Switch
进行转发的报文,不包括通过
CPU
口(软
件处理过的报文)出入的
报文。
对于
CPU
< br>端口,
我们单独提出一种
CMIC
(
CPU Management Interface
Controller
)
Ingress
和
CMIC
Egress
的概念。
CMIC I
ngress
:与
Ingress
有所
不同,
CMIC Ingrss
并不进行报文转发(交换)的决
定。
它只是简单接收来自
CPU
端口的
报文
(通过
DMA
等手段)
,
并将这些报文交给
MMU
即可。
至于报文的转发决策权是由软件来决定的。
CMIC
Egress
:和
Egress
一样,只是负责接收
MMU
处理的报文并将这些报文发送到
CPU
端口(
通过
DMA
等手段)即可。
下面将详细介绍一下报文在各流程点的处理过程。
Ingress
:
1)
首先
进行
IEEE802.3
有效性检查。该检查不影响报文处理流
程。
IEEE802.3的MAC
层
合法性检查
N
帧长合法
Y
N
CRC合法
Y
N
Alignment
合法
Y
计数器++
N
Dribble合
法
Y
N
其他检查
合法
Y
丢弃
Ingress处理
p>
2)
Ingress
处理
Ingress处理
基本变量初始化
PORT_BIT
MAP = 0
UT_PORT_BITMAP =
0
DROP = FALSE
CPU =
FALSE
EPORT = 0x3f
IPORT =
{Ingress
port}
Untagged/
Priority tagge
d
PTABLE
Tagged
VLAN
信息和
tagging
VTABLE
不
存在
VID匹配
存在
添加tag
DROP = TRUE
是
Ingress过
滤
否
否
丢弃Untagged/
Pri tagged报文
是
是
端口不在
VLAN成员组
中
否
DROP = TRUE
DROP =
TRUE
特殊mac地址处理
PORT_BITMAP =
VTABLE[VID]/PTABLE[IPORT]
UT_PORT_BITMAP
= VTABLE[VID]/PTABLE[IPORT]
DROP =
FALSE
CPU = FALSE/TRUE
EPORT =
0x3f
IPORT = {Ingress port}
是<
/p>
保留地址处理
0180c2000000-0180c20000
10、
018c2000020-0180c200002f、
可编程的BPDU地址
否
是
BPDU<
/p>
否
丢弃该端口所
有报文
< br>是
关闭
DROP =
FALSE
CPU = FALSE
STP激活/关
闭
激活
DROP =
TRUE
CPU = TRUE
关闭
其
他协议报文
激活
DROP =
FALSE
CPU =
TRUE
否
DROP =
TRUE
DROP = TRUE/FALSE
CPU = F
ALSE
否
学习IEEE协
议报文SA
是
DiffServ
Mac地址学习<
/p>
3)
mac
地址学习
Mac地址学习
IVL
IVL/SVL
SVL
ARL[SA+VID]是否
存
在
否
是
是<
/p>
ARL[SA+vlan1]是否
存在
否
Learning
否
SA+VID过滤
是
Upgrade
DROP = TR
UE
Listening/
blocking
< br>DROP = TRUE
STP的状态判断
Forwar
ding/
Learning/
disable
Listening/
blocking
DROP =
TRUE
STP的状态判断
Forwarding/
Learning/
disable
Static
/
Dynamic地址
SA是否有效
s
tatic
dynamic
Upgrade/
< br>Learning
有效
无效
DR
OP = TRUE
CPU = TRUE
CPU =
True
DiffServ
-
-
-
-
-
-
-
-
-
上一篇:2020年度个人思想工作总结范文
下一篇:AWSSAA考试经验总结