ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

假装网络工程师4——多VLAN间通信

2019-11-09 21:55:05  阅读:289  来源: 互联网

标签:10 vlan Ethernet0 VLAN 间通信 假装 trunk SW1 port


一、背景介绍

交换是疏通领域另一个知识块,与路由一样有着举足轻重的地方,本片就通过不同vlan间通信的三个实现方式来讲解交换的通信过程。

二、不同vlan间通信实现方法

1.使用二层设备实现

如下图所示,两个交换机之间使用端口绑定的方式以trunk连接,下联2台同网段的pc,但不属于同一个vlan,大部分的案例都是不同的vlan属于不同网段通过子接口进行通信,本示例则以纯二层网络设备进行通信,顺便说明通信的过程。
假装网络工程师4——多VLAN间通信
(1)创建vlan2,并将连接pc的端口加入vlan2

[SW1]vlan 2  
[SW1-vlan2]q  
[SW1]int e0/0/1  
[SW1-Ethernet0/0/1]port link-type access   
[SW1-Ethernet0/0/1]port default vlan 2  

(2)创建eth-trunk接口,并将10/11接口加入eth-trunk

[SW1]int Eth-Trunk 1  
[SW1-Eth-Trunk1]int e0/0/10  
[SW1-Ethernet0/0/10]eth-trunk 1  
[SW1-Ethernet0/0/10]int e0/0/11  
[SW1-Ethernet0/0/11]eth-trunk 1  

(3)将eth-trunk口类型设置为trunk,并将SW1上eth-trunk口pvid改为2

[SW1]int Eth-Trunk 1  
[SW1-Eth-Trunk1]port link-type trunk   
[SW1-Eth-Trunk1]port trunk pvid vlan 2  

(4)通过display interface brief命令查看端口都已激活
假装网络工程师4——多VLAN间通信
(5)再通过display port vlan查看每个端口的vlan信息,此时可以看到eth-trunk1的pvid虽然已经为2,但是默认放通vlan仍为1,1为默认放通的管理vlan,所有端口默认pvid也为1
假装网络工程师4——多VLAN间通信
此时ping操作发现pc1与pc2之间无法正常通信,原因就在于尽管sw1的eth-trunk口pvid是2,但是他并没有放通vlan 2,sw2也是没有放通vlan 3,只有当使用命令

[SW1]int Eth-Trunk 1  
[SW1-Eth-Trunk1]undo port trunk allow-pass vlan 1  #取消默认放通的vlan 1,可省略
[SW1-Eth-Trunk1]port trunk allow-pass vlan 2  

再查看sw1确认vlan2已经放通,两个pc间才能正查光通信,sw2上的配置类似,不再赘述。
假装网络工程师4——多VLAN间通信
通过本实例可以总结出数据通信的过程为:
(1)pc1发出报文从sw1的e0/0/1口进入,再通过e0/0/1口时被打上该端口的default vlan
(2)报文再通过eth-trunk 1口发出前先判断是否允许通过,如果没有放通,即使tag等于该端口的pvid也会丢弃,本例中pvid与tag相同,所以从eth-trunk 1口出来时剥离tag变为纯以太网帧
(3)报文进入sw2的eth-trunk 1口时打上该端口的pvid
(4)从sw2的e0/0/1流出时,因为tag等于该端口的pvid所以脱掉tag变为纯以太网帧发送给pc2。tag是由交换机添加的信息,pc并不能识别,pc只能识别纯以太网帧
这样,尽管没有借用三层设备但最终pc1和oc2实现了通信。

2.借助路由器子接口

拓扑如下图所示,此时交换机上联路由器,属于不同vlan的pc1和pc2将通过路由器子接口的方式进行通信。
假装网络工程师4——多VLAN间通信
(1) SW1上的配置
创建vlan10,20

[SW1]vlan batch 10 20   

将e0/0/1口加入vlan 10

[SW1]int e0/0/1  
[SW1-Ethernet0/0/1]port link-type access  
[SW1-Ethernet0/0/1]port default vlan 10  

将e0/0/1口加入vlan 20

[SW1-Ethernet0/0/1]int e0/0/2  
[SW1-Ethernet0/0/2]port link-type access   
[SW1-Ethernet0/0/2]port default vlan 20  

将g0/0/1口配置成trunk模式,并放通vlan 10/20

[SW1]int g0/0/1  
[SW1-GigabitEthernet0/0/1]port link-type trunk   
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20  
[SW1-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 1  

检查配置,至此SW上配置完成
假装网络工程师4——多VLAN间通信
(2) 路由器上配置
首先能看到,在交换机上并没有三层口,g0/0/1属于二层端口
假装网络工程师4——多VLAN间通信
而在路由器上g0/0/1是三层端口,此时是用交换机的二层口连接路由器的三层口,且tag是二层标签,三层口无法直接识别,所以要先进行dot1q封装
假装网络工程师4——多VLAN间通信
路由器上创建子接口,用dot1q封装用于终结vlan标签,并将网关地址配置在该端口上

[R1]interface g0/0/1.10  
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10  
[R1-GigabitEthernet0/0/1.10]ip add 192.168.10.254 24  
[R1-GigabitEthernet0/0/1.10]arp broadcast enable   
[R1]interface g0/0/1.20  
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 10  
[R1-GigabitEthernet0/0/1.20]ip add 192.168.20.254 24  
[R1-GigabitEthernet0/0/1.20]arp broadcast enable 

至此,R1的配置完成,此时pc1与pc2就能正常通信了,需要注意的是:当开启子接口后,物理接口的功能就将小时此时的物理接口只是接收数据,子接口默认情况下不启用arp广播,所以需要手动开启。

3.使用vlanif子接口实现

方法2的方法固然能实现不同vlan间通信,但实际生产环境中很少会用到,原因是:单臂路由引入了单点故障,尽管可以通过eth-trunk的方式将多跟链路绑定做冗余,但vlan的1次间通信会在该链路上一进一出,该链路的负载较大,所以常见的方式是使用三层交换机完成,如下图所示:
假装网络工程师4——多VLAN间通信
创建vlan10/20,并加入对应vlan

SW1]vlan batch 10 20  
[SW1]int e0/0/1  
[SW1-Ethernet0/0/1]port link-type access   
[SW1-Ethernet0/0/1]port default vlan 10  
[SW1-Ethernet0/0/1]int e0/0/2  
[SW1-Ethernet0/0/2]port link-type access   
[SW1-Ethernet0/0/2]port default vlan 20  

创建vlanif子接口,并将网关配置到该接口上

[SW1]interface Vlanif 10  
[SW1-Vlanif10]ip address 192.168.10.254 24  
[SW1-Vlanif10]int vlanif 20  
[SW1-Vlanif20]ip add 192.168.20.254 24  

至此,SW1配置完成pc1与pc2之间能够正常通信,此时有几个需要注意的地方:
(1)vlanif的子接口必须要跟vlan号保持一致
(2)vlanif是一个三层逻辑端口,使用三层交换机进行多vlan间通信时,不需要进行dot1q封装,因为二层的tag信息在交换机的物理口就已经被剥离

标签:10,vlan,Ethernet0,VLAN,间通信,假装,trunk,SW1,port
来源: https://blog.51cto.com/arkling/2449149

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有