首页|傲世皇朝注册|平台
首页|傲世皇朝注册|平台
全站搜索
 
 
新闻详情
 
当前位置
首页·卧龙注册·首页
作者:管理员    发布于:2022-11-13 00:15    文字:【】【】【
       

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
  • 大摩平台怎么登录_大摩招商注册开户全教程
  • 首页.「摩鑫注册」.首页
  • 首页,恩佐注册挂机
  • 鼎点娱乐主管-首选注册
  • 首页〈天顺娱乐〉首页
  • 恒悦注册平台-在线注册
  • 首页[T6娱乐平台]首页
  • 欧陆娱乐-在线
  • 万恒娱乐-挂机
  • 宗盛娱乐-官方首页
  • 脚注信息
    友情链接: