网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来上次我们讲到了怎么使用vlan将交换机上的广播域在逻辑上进行分割。有同学就问了,假如公司有多个楼层,每个楼层都有一个交换机,怎么把这些交换机连起

大家好,欢迎来到IT知识分享网。

上次我们讲到了怎么使用vlan将交换机上的广播域在逻辑上进行分割。有同学就问了,假如公司有多个楼层,每个楼层都有一个交换机,怎么把这些交换机连起来让不同楼层的相同部门也能互相通信呢?

有的同学想:我把vlan理解成逻辑的小交换机,那我只要给每个vlan都多划分一个接口用于级联,这样将楼层之间的相同vlan连接到一起就可以实现互相通信了。

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

这个办法的确能实现需求,但是如果有很多个vlan,是不是过于浪费接口了。假如有5个vlan,那至少每个交换机就要拿出5个接口用于级联,如果串联交换机数量超过2台,那中间的交换机就要拿出10个接口用于级联,可是交换机普遍都是24口或者48口的,这样浪费接口显然不合适,况且如果有上百个vlan的话该怎么办呢?

这时候就该我们的trunk技术登场了,相对于access链路,trunk链路可以同时承载多个vlan的流量,适合交换机之间的级联使用,那么trunk是怎么实现的这种功能呢?从trunk链路收到数据帧以后,交换机是怎么知道这个数据帧属于哪个vlan的呢?

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

其实原理很简单,我们用IEEE802.1q封装来举例,当数据帧进入trunk链路时会在数据帧的封装中加入了一个tag字段,标记这个数据帧属于哪一个vlan,接收到数据帧的交换机识别到tag标记后,知道要转发到的相应vlan之后把tag剥掉,然后再进行转发。

ISL封装方式不一样但基本原理是一样的(ISL是思科私有的封装方式,现网很少用,且高端设备如N7k都是不支持isl的,现网几乎所有用到trunk的环境用的都是IEEE802.1q)

接下来我们来一边做实验一边来慢慢了解~

实验拓扑

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

基础配置描述:我们假设有两个楼层,每个楼层都有部门1和部门2。部门1划分到vlan10,部门2划分到vlan20,Ip地址使用192.168.1.x。

接下来我们要进行的就是使用一根trunk链路承载多个vlan的流量进行通信,配置好基础配置后,首先我们使用show interface trunk来看一下

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

可以看到,我们没有对trunk链路进行配置,它的状态就自动协商成了trunk,这就是我们上一期所说的思科DTP动态协商。

默认的协商模式是desirable所以我们只要在两台思科交换机之间插上线,不需要进行任何配置就能协商成trunk,但此时封装的协议是n-isl,其中n代表negotiated,表示协商出来的,如果是手工指定封装isl,Encapsulation中就只会显示isl,接下来我们验证一下:

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

当我们手工指定的封装模式,encapsulation项中的n就没有了,代表这是手工指定的,接下来,我们把封装方式改成我们常用的802.1q

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

先在sw1上使用switchport trunk encapsulation dot1q命令封装为802.1q,然后再sw2上看看是什么效果:

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

因为有DTP的存在,sw2即使没有配置也会自动协商为negotiated-802.1q,接下来我们对sw2进行配置:

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

我们将sw2手工指定为802.1q,并且手工指定接口模式为trunk,此时接口不再进行协商,可以看到mode从desirable变成了on

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

最后我们在主机上使用ping命令验证一下,利用trunk链路成功的实现了使用一条链路承载多个vlan的流量,有的同学可能注意到了show出来的信息中有个native vlan,这又是什么呢?

Native vlan 可以翻译为本征vlan,默认本征vlan是vlan1,802.1q的本征vlan默认在通过trunk链路的时候是不打标签的,这样做是因为当对一个数据帧插入802.1q标签时,由于帧校验发生改变,尾部的FCS校验和就需要重新进行计算,减少了打标签的动作可以节省硬件资源

那不打标签交换机如何识别出它是哪个vlan的数据呢?

事实上,因为只有本征vlan这一个vlan不打标签,所以“不打标签”也是一种“打标签”。

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

那么默认本征vlan是vlan1,如果我有某个vlan中接口的数量吵过了vlan1中接口的数量,在合理的规划下,本征vlan可以通过以上命令被修改,但一条trunk链路两端的本征vlan必须一致,不然就不能正确的识别这一个不打标签的帧到底应该属于哪个vlan,从而出现错误(本征vlan不匹配时stp首先就会认为端口状态不一致将端口block)

另外如果想让本征vlan打标通过trunk链路可以使用vlan dot1q tag native命令让本征vlan打标,这样做的好处有两点:1是可以防止vlan跳跃攻击;2是tag中有3个bit的实验位可以用于做qos标记。

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

在trunk链路中,我们还可以控制其允许通过的vlan流量,思科默认允许全部vlan流量通过,可以通过add | remove参数去增加或移除允许通过的vlan,allowed vlan | allowed vlan except对应的是只允许某几个vlan通过和除了某几个vlan允许其他所有,all | none参数代表的是允许所有vlan通过和拒绝所有vlan通过。

接下来我们使用相同的拓扑看看华为的配置情况:

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

由于华为只有802.1q一种封装,所以不需要指定封装这一过程,一条命令即可成功配置trunk

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

但此时我们通过pc1去ping同为vlan10下的pc3,发现不能正常通信。

注意重点来了:华为的交换机与思科的不同,思科的trunk链路默认放行所有vlan流量,更容易连通;华为默认trunk链路只放行vlan1的流量,更侧重于安全考虑。

因此我们vlan10和vlan20的流量在华为的trunk上被挡住了无法进行通信。

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

通过display port vlan这条命令可以验证这一点,所以同学们一定要记住,在华为的交换机上配置完trunk链路要多敲一条port trunk allow-pass vlan all,这样才能放行所有的vlan流量通过。

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

至于为什么display出来配置里是2-4094,那是因为1默认就是放行的,接下来我们再次用pc1测试现象:

网工知识角|交换基础trunk超详细实例讲解,@所有人速度敲起来

现象正常,以上就是IELAB网络实验室本期关于trunk链路的技术分享,点赞关注不迷路~疯狂输出技术干货免费学习!


2022,IE-LAB网络实验室【网工知识角】技术分享专题板块,强势回归

IE-LAB有好师资,全面的学习平台和完善的教学服务,我们培养了一批又一批的CCIE/HCIE及广大IT精英人才,加入我们,成就未来。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59915.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信