Access和Trunk收发报文规则总结及实验测试

Access和Trunk收发报文规则总结及实验测试
本文原理部分转载于网络
原理:
Access端口的报文收发规则如下:
   Access端口在收到一个报文(Access端口通常是从终端PC中接收报文)后,先判断该报文中是否有VLAN标记信息:如果没有VLAN标记,则打上该Access端口的PVID后继续转发(毕竟Access端口收到报文后是向其他端口发送的,可以识别带有VLAN标记的报文);如果有VLAN标记(这个报文肯定是来自其他非Access端口和终端PC,因为Access端口和终端PC网卡不会发送带VLAN标记的报文),则默认直接丢弃。
   Access端口上发送报文时,会先将报文中的VLAN信息去掉(因为Access端口发送报文一般是到终端PC,PC中的网卡是不能识别VLAN标记的。还有一种情况是发送到另一个同VLAN中的Access端口,因为Access端口也不接受带有VLAN标记的报文),然后再直接发送,所以Access端口发关出去的报文都是不带VLAN标记的。




Trunk端口的报文收发规则如下:
在Trunk端口上发送报文时,先会将要发送报文的VLAN标记与Trunk端口的PVID进行比较,如果与PVID相等,则从报文中去掉VLAN标记再发送;如果与PVID不相等,则直接发送。这样一来,如果将交换机级连端口都设置为Trunk,并允许所有VLAN通过后,默认情况下除VLAN 1外的所有来自其他VLAN中的报文将直接发送(因为这些VLAN不是Trunk端口的默认VLAN),而作为Trunk端口默认VLAN的VLAN 1,则需要通过去掉报文中的VLAN信息后再发送。
   在Trunk端口收到一个报文时,会首先判断是否有VLAN信息:如果没有VLAN标记,则打上该Trunk端口的PVID,视同该帧是来自PVID所对应的VLAN转发到PVID所对应的VLAN接口上;如果有VLAN标记,判断该Trunk端口是否允许该VLAN的报文进入,如果允许则直接转发,否则丢弃。
   
实验一:
Access和Trunk收发报文规则总结及实验测试




拓扑:PC1——(access)SW1(access)——(access)SW2(access)——PC4
如图:Sw1和SW2相连的端口分别起属于vlan10和vlan20,问两端的PC之间是否可以正常通信?
答:该情况下,PC1与PC4可以正常通信。

数据帧流向:
PC1数据帧进入SW1时会打上vlan10的tag,离开SW1时会剥掉vlan10的tag,无tag的数据帧进入SW2时会打上vlan20的tag,离开SW2时会剥掉vlan20的tag,最终无tag的数据帧到达PC4;同理,数据帧也能够由PC4到达PC1。

实验验证:
SW1:端口e0/0和端口e0/1属于vlan10
Access和Trunk收发报文规则总结及实验测试

SW2:端口e0/0和端口e0/1属于vlan20
Access和Trunk收发报文规则总结及实验测试

ping测试:
Access和Trunk收发报文规则总结及实验测试

实验二:
Access和Trunk收发报文规则总结及实验测试

拓扑:PC1——SW1(access)——(trunk)SW2——PC4
如图,Sw1和SW2相连的端口分别起access和trunk,问什么情况下两端的PC之间可以正常通信?
答:默认情况下,802.1q中trunk的native vlan是vlan1,交换机的所有接口都属于vlan 1,因为access可以接收带有vlan1标签的报文,所以,该情况下,两端可以互通。除此之外,access在接收到带有vlan标记的报文时,会直接丢弃。

数据帧流向:
PC1数据帧进入SW1的e0/0(access)时,会打上vlan1的tag,然后数据帧进入SW2的e0/0(trunk),由于trunk的native vlan是vlan 1,所以数据帧会被转发到PC4;PC4的数据帧进入SW2的e0/0(trunk)时,会打上vlan1的标签,然后数据帧进入SW1的e0/0(access),Access端口默认接收带有vlan1标记的报文,所以数据帧最终会转发到PC1。

实验验证:
SW1:端口e0/0起access,默认情况下所有端口都属于vlan 1
Access和Trunk收发报文规则总结及实验测试

SW2:端口e0/0起trunk,默认native vlan是vlan 1,所有端口都属于vlan 1
Access和Trunk收发报文规则总结及实验测试

ping测试:
Access和Trunk收发报文规则总结及实验测试

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章