【RS】VLAN端口数据处理过程

### 端口的缺省vlan Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的vlan,不用设置; hybrid端口和trunk端口属于多个vlan,所以需要设置缺省vlan ID。 缺省情况下,hybrid端口和trunk端口的缺省vlan为 vlan 1 , 当端口接收到不带vlan tag的报文后,则将报文转发到属于缺省vlan的端口(如果设置了端口的缺省vlan ID)。当端口发送带有vlan tag的报文时,如果该报文的vlan ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN tag ,然后再发送该报文。 注:华为交换机缺省vlan被称为"Pvid Vlan" , 思科交换机缺省VLAN被称为 "Native Vlan" ### 交换机接口出入数据处理过程 #### Access端口收报文 收到一个报文,判断是否有vlan信息,如果没有则打上端口的PVID,并进行转发,如果有则直接丢弃(缺省) #### Access端口发报文 将报文的VLAN信息剥离,直接发送出去 (所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级联时的缺省VLAN1报文交换,但不能实现VLAN透传) #### trunk端口收报文 收到一个报文,判断是否有vlan信息,如果有,判断该trunk端口是否允许该VLAN数据进入;如果可以则转发,否则丢弃;如果没有VLAN信息则打上端口的PVID,并进行转发。 #### trunk端口发报文 比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。 (所以,将交换机级连口统统设置为trunk并允许所有vlan通过后,vlan2 ~ vlan4000 直接透传,而vlan1 则因为和trunk缺省PVID相同,所以需要通过剥离vlan信息又添加VLAN信息实现透传。而如果更改trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。) #### hybrid端口收报文 收到一个报文,判断是否有vlan信息,如果有 则判断该hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃 (此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);如果没有VLAN则打上端口的PVID,并进行交换转发。 #### hybrid端口发报文 1. 判断该VLAN在本端口的属性(display interface 即可看到该端口对哪些vlan是untag,哪些是tag) 1. 如果是untag则剥离vlan信息,再发送,如果是tag则直接发送(所以hybrid实现了不同vlan下的主机的通信) ```shell hybrid端口只能发送放行vlan中的帧,可以通过命令来控制发送时是否携带vlan tag 例子: [Huawei-GigabitEthernet0/0/6]port hybrid pvid vlan 10 [Huawei-GigabitEthernet0/0/6]port hybrid tagged vlan 10 20 30 [Huawei-GigabitEthernet0/0/6]port hybrid untagged vlan 100 200 300 # 此端口为hybrid端口,PVID为10,放行的vlan有10、20、30、100、200、300 # 端口接收帧时同trunk是一样。 # 端口发送帧时,vlan ID为10、20、30的帧时有vlan tag的;vlan ID为100、200、300的帧时没有vlan tag。 ``` ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623832010206068.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
上一篇:iOS制作cocoaPods库


下一篇:实践:Cocoapods私有库搭建、制作、引用