基础知识

如何三层交换机收到一个数据帧以后,如何判断是做二层转发还是三层转发?
		看数据帧的MAC,如果这个数据帧的MAC地址是自己接口的MAC的话,就应该做三层转发。不是就做二层转发。
		
	PVID表示交换机端口的VLAN ID(只有802.1Q的协议才有PVID)
	每个VLAN有单独的MAC地址表,当交换机收到带有标签的数据帧,交换机首先会查这个数据帧的PVID是多少,然后查找相应的本地VLAN ID的MAC表。

VLAN帧格式

交换机三层口默认是access还是trunk 三层交换机端口类型_数据帧

字段 长度 含义
Destination address 6字节 目的MAC地址
Source address 6字节 源MAC地址
Type 3比特 帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。
CFI 1比特 表示MAC地址是否是经典格式。CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
VID 12比特 表示该帧所属的VLAN。在VRP中,可配置的VLAN ID取值范围为1~4094。0和4095协议中规定为保留的VLAN ID。

三种类型

Untagged帧:VID 不计
Priority-tagged帧:VID为 0x000
VLAN-tagged帧:VID范围0~4095

三个特殊的VID

0x000:设置优先级但无VID
0x001:缺省VID
0xFFF:预留VID

用户主机和交换机之间的链路为接入链路,交换机和交换机之间的链路为干道链路。
在交换网络中存在两种数据帧的,一种是有tag字段的数据帧,一种是没有tag字段的数据帧。

PVID表示端口在缺省情况下所属的VLAN
在缺省情况下,交换机的每个端口的PVID是1。
这里所说的数据帧“收”是指交换机端口接收从对端设备发来的数据帧,而不是接收从交换机内部的另一个端口发来的数据帧,因为在交换机内部中传输的数据帧都是带有VLAN标签的,无论是从哪种交换机端口发来的数据帧。同理,这里所说的数据帧“发”是指从交换机端口向对端设备发送数据帧,而不是指本地交换机中一个端口向另一个交换机端口发送数据帧。这一点要特别注意,否则很难理解这些端口的数据接收、发送规则。

Access端口

ACCESS端口在发送数据帧之前,作如下处理: 当ACCESS端口转发数据帧之前,根据MAC地址表项中目的地址所对应的表项,并取出该转发端口的VLAN ID 与接收进来的数据帧中所带的VLAN ID作比较,如果相同,则脱标,以原始数据帧的格式,从ACCESS端口转发出去,如果不同,则不转发直接丢弃,从这一点来说,这也就可以解释为什么在交换机内部同一VLAN数据能被转发,而不同VLAN的数据不能被转发的原因。

Access端口收发规则总结:
1、 ACCESS端口收规则:
ACCESS端口收到一个数据帧以后判断是否带有VLAN TAG 信息,如果有,那么ACCESS端口默认情况下,不予于转发,会直接丢弃该数据帧,如果没有,在进入该端口时,则会在原始数据帧的内部打上(插入)该access端口的PVID后接收进来,然后接下来把带有TAG的数据帧交给交换机作下一步数据转发处理  
2、 ACCESS端口发规则:
在收到一个带有TAG的数据帧后,ACCESS端口在转发出去之前,比较帧中的VLANID与自己的PVID是否相同,如果相同,则去掉帧中的VLAN TAG标记,然后转发出去,如果不相同,则直接丢弃 
3、请记住从ACCESS端口接收进来的一定是带有VLANTAG标记的帧,而从ACCESS端口发送出去的一定是原始的以太帧(即所谓的不带VLANTAG的裸帧)

Trunk端口

trunk端口收发规则总结:
1、trunk端口收规则
	Trunk端口收到数据帧后,作如下处理: 首先判断帧中是否带有VLAN TAG标记,如果没有则打上Trunk端口的PVID,(默认这个TRUNK PVID是 1,关于这一点稍后作更详细的解释说明),如果有则判断帧中的VLAN ID是否允许在该TRUNK端口中转发出去,如果允许则转发,如果不允许则丢弃。
2、trunk 端口发规则
	Trunk端口在转发数据帧之前,比较收到帧中的VLAN ID与TRUNK端口的PVID是否相同,如果相同,则剥离VLAN TAG标记,恢复成裸帧后转发出去。如果不相同,则保持帧中的标记不作修改,然后判断帧中的VLAN ID 是否允许在该TRUNK端口中转发出去,如果允许则转发,如果不允许则丢弃。
3、关于TRUNK端口PVID为什么默认是1的说明:
	其原因其实很简单:因为交换机出厂默认建有一个VLAN1,并且配置所有的端口都被划分到VLAN1中,因此交换机的所有端口的默认PVID都为VLAN 1 (包括TRUNK端口),那么这个默认的PVID,当然是可以通过配置被修改的,因此在你没有对TRUNK端口作单独特殊的配置之前,其PVID还是为默认的PVID 为VLAN1。

Hybrid端口

Hybrid端口是一个混合端口,同时具备Access和Trunk端口的特性,Hybrid端口既可以用在连接终端的接口,也可以用在交换机互联的端口。华为交换机默认的端口类型是Hybrid端口。

Hybrid端口端口收发数据帧的规则如下:
入方向:
1,Hybrid端口收到一个无标签的数据帧,会打上端口PVID的VLAN标签。
2,Hybrid端口收到一个带标签的数据帧,将标签中的VLAN ID和Hybrid端口的Tagged List Untagged List做对比,如果VLAN ID存在于列表中,接收带标签的数据帧,否则丢弃。

出方向:
1,Hybrid端口发送一个带标签的数据帧,如果标签中的VLAN ID在Hybrid端口的Untagged List中,则剥离VLAN标签还原成普通数据帧后转发。
2,Hybrid端口发送一个带数据帧,如果标签中的VLAN ID在Hybrid端口Tagged List, Untagged List列表中,如果匹配Tagged List则转发带标签的数据帧,如果匹配Untagged List则剥离标签还原成普通数据帧后转发。

交换机三层口默认是access还是trunk 三层交换机端口类型_List_02

使用案例一

交换机三层口默认是access还是trunk 三层交换机端口类型_List_03

# LSW1
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094

# LSW2
interface Vlanif8
interface GigabitEthernet0/0/1
port link-type trunk
port trunk pvid vlan 8
port trunk allow-pass vlan 2 to 4094
interface GigabitEthernet0/0/2
port link-type access
port default vlan 8

使用案例二

交换机三层口默认是access还是trunk 三层交换机端口类型_优先级_04

要求:
    PC1可以访问所有主机,但PC4和PC2不能访问PC5和PC3,
    PC2.PC3. PC4. PC5.可以访问PC1。

LSW1
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 10
port hybrid untagged vlan 10 20 30
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20
#
interface GigabitEthernet0/0/4
port hybrid pvid vlan 30
port hybrid untagged vlan 10 30
LSW2
interface GigabitEthernet0/0/1
port hybrid tagged vlan 10 20 30
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 30
port hybrid untagged vlan 10 30
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20