以该图为例:
什么都没配置的时候(两台PC配置了同一IP地址段,PC1 192.168.1.1,PC2 192.168.1.2)
华为交换机接口
默认配置
:
port hybrid untagged vlan 1
port hybrid pvid vlan 1
此时通信原理:
PC1pingPC2的icmp请求包发送给sw1,此时ether0/0/1口配置为
不要看接口配置什么都没有,其实里面有
默认配置!
port hybrid untagged vlan 1
port hybrid pvid vlan 1
此时
icmp请求包
发送到该接口时没有携带tag值。
所以默认打上缺省的vlan ID(即vlan 1);
然后从允许该vlan ID通过的接口发送出去,
这里我只配置了一个e 0/0/1口和e 0/0/2口,所以只能从e 0/0/2口发送出去,
因为e 0/0/2口默认配置的是untagged vlan 1,所以该接口发送该
icmp请求包
时,会剥离tag再发送出去, 所以在 e 0/0/1和e 0/0/2口捉包时发现没有携带802.1q标识符
此时,
icmp请求包到达SW2时,e 0/0/2口重复sw1的e 0/0/1口的步骤,e 0/0/1口重复sw1的e 0/0/2口的步骤;
最后PC2收到了PC1的
icmp请求包,然后回复,步骤跟上面差不多,我就不再赘述了。
接下来。讲一下
Access、Trunk、Hybrid接口原理
1.首先我们要认识到这三个接口的用处分别是什么
:
1.1access端口:用于连接终端设备
1.2trunk端口:用于连接交换机
1.3hybrid端口:access端口和trunk端口的结合版
2.三种类型的端口对收发报文的处理方式:
接口类型
|
对接收不带Tag的报文处理
|
对接收带Tag的报文处理
|
发送帧处理过程
|
Access端口
|
接收该报文,并打上缺省的VLAN ID。
|
当VLAN ID与缺省VLAN ID相同时,接收该报文。
当VLAN ID与缺省VLAN ID不同时,丢弃该报文。
|
先剥离帧的PVID Tag,然后再发送。
|
Trunk端口
|
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。
打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
|
当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。
当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
|
当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。
当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
|
Hybrid端口
|
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。
打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
|
当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。
当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
|
当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。如果配置的是tagged vlan。则会携带802.1q标签发送出去,如果配置的是untagged vlan,则会剥离该vlan ID在发送出去。
|
3.access端口和trunk端口以及hybrid的案例:
以这个拓扑为例:
在SW1 和SW2 上创建vlan 10
然后e 0/0/1口的配置为
e 0/0/2口的配置为
两个交换机的配置是一样的
此时两个PC之间的icmp请求包过程是这样的:
首先PC1发送一个icmp请求包到达sw1的e1口,因为该报文没有携带tag值,而该接口配置为access模式,所以该接口会为这个报文打上默认vlan 10,
然后从允许该vlan id通过的端口发送出去,e2口的配置为trunk模式,且允许该vlan通过,因为该vlan不是本征vlan,所以发送该报文出去的时候不会剥离该vlan,
所以从该接口捉包的时候能够看到802.1q标识符
此时SW2的e2口收到了携带vlan id为10的报文,因为该端口配置了trunk模式,且允许vlan10通过,所以SW2会接收该报文,并从允许该vlanid通过的端口发送出去,e1口发送该报文前,因为是配置为access模式,所以会先剥离tag值,再从该接口发送出去,此时该PC2收到的是没有携带802.1q标签的报文,然后PC2回复PC1的icmp请求包的过程跟前面的步骤一样,我就不再赘述了。
tip:sw2发送给PC2的报文如果携带802.1q标签,则PC2不能识别该报文,则会将其丢弃。
例如:将SW2的e1口配置改为如下:
则PC1不能PING通PC2
捉包发现,PC1发送给PC2的ARP请求包携带802.1q标签
因为上面我讲过PC是不能够识别802.1q标签的所以PC2会丢弃PC1的ARP请求包,PC1不知道PC2的MAC地址,自然也不能完成icmp请求报文的封装,自然就ping不通PC2了。
此时将e1口的tagged vlan 10改为untagged vlan 10
则PC1又能够PING通PC2
写的不对欢迎指正!
by in 100%丢包率