设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1447|回复: 5
收起左侧

{知识分享}VLAN的跨越在2层实现

[复制链接]
发表于 2016-5-10 17:00:12 | 显示全部楼层 |阅读模式
                  
     关于vlan跨越的问题,有许多华为认证或者HCIE培训的朋友都有所困惑,那么跨越如何在2层实现呢,在泰克网络实验室老师的耐性解答后,为大家整理资料如下:
  要实现多个VLAN之间在2层上通信不经过路由器的转换,
  1 :用华为的hybird模式,比较简单实现起来因为hybird模式的接口可以传输多个不带标记的frame ,所有不带标记的frame都会带上PVID号,因此可以与接口所属于的PVIDVLAN通信,实现多个2层的VLAN通信,
  2 :华为的VLAN汇聚,在这里小提一下,因为是比较特殊的应用非PVLAN哦,它叫super VLAN
  可以使同在一个子网的多个小VLAN1个大VLAN通信 小VLAN相互隔离,注意我在这里说与PVLAN不一样原因是有的,因为PVLAN 你是ping不到主VLANVLAN接口IP的,而这里他利用了arp代理查找同子网主机的MAC,注意必须是同一个子网!
  3 :华为的PVLAN,在这里可以独立的使 多个小VLAN与主VLANPC通信,但注意。你无法与主VLAN所建立的VLAN接口通信,其实PVLAN就是利用了hybird模式,它的主 VLAN所属于的接口,允许下面所有的子VLAN不带标签传过来,之后打上主VLANPVID,这里就可以接收来自任何VLANframe ,子VLAN呢,只允许主VLAN是非标记的,打上的是该子VLANPVID号因此 所有的子VLAN是隔离的,仅能与主VLAN通,关于为什么不能ping到主VLAN所定义的VLAN接口那是因为,VLAN接口是属于该交换机的,因此 不会经过取消tag的处理,而PVLAN的所有VLAN包过主VLAN中必须有物理接口,当frame到达物理接口时,才会进行相关的hybird方式的 处理,比如你的主VLAN 2 VLAN分别是 3 4 5 6 那从3 4 5 6来的frame必须到达 VLAN 2下的一个物理接口才会进行去标记的操作,否则交换机认为你门依然是属于 34 56 的,恰好 主VLAN的接口是逻辑接口该接口并非hybird 方式,你去ping它显然是不通的。
  4 :如何不经过3层路由器做独臂使2PC通,很简单,PC1----SW1---------------SW2 --PC2
  左边是VLAN2 右边是VLAN3 ,中间用一根线,在线2端 的接口都用access模式分别加到VLAN2VLAN3
  这样在PC1进入SW1使打上tag,(注意实际交换机内是不带标签传的但这里为了把问题简单化,我门就这样理解效果其实是一样的别专牛角尖),之后从 SW1 SWE2时,去消标记。当PC1 frame没带标记到达SW2的这边时,将带着SW2VLAN3 ,提交给PC2 刚好PC2也在VLAN3 所以我说线2头分别属于VLAN2VLAN3 大家可以实验下。
  5:还是刚才那个图PC1----SW1---------------SW2 --PC2
  中间这次我门用trunk口,看看效果。是如何的哦
  SW1上有VLAN 2 VLAN 3       SW2上也有VLAN 2 VLAN 3
  PC1属于SW1VLAN2    PC2属于 SW2VLAN3
  现在PC1 想与 PC2通信,如何做。
  中间是trunk,华为定义过一点 trunk可以传输一个不打标记的frame其他的都得带着标签。就是当trunk上传的VLANIDPVID一样时tag将被取消。这给了我门一个机 会。开始trunk2边都允许VLAN 2 VLAN 3传输默认的PVID VLAN1 因此我门传的内容都是带tag的,这样只能按常规方式传输。但如果我把SW1trunk口改成PVID
  VLAN2 SW2trunk口的PVID该为VLAN 3 那大家想想会发生什么。PC1frame带着TAG 标记为 VLAN2 经过trunk口,trunk口一看pvid与该VLAN2一样因此tag没了,此frame到了SW2时会怎么样呢?带上SW2trunk的默认 PVID 3,发向PC2所属于的VLAN3了,PC2回的frameVLAN3的经过SW2的时候一看PVID 3恰好与该frameTAG一样于是TAG又没了,回给了SW1SW1打上自己trunkPVID2,发给PC1 OK 通了。
  6PC1---SW----PC2 (仅是实验,必须先知道目标MAC
  PC1属于VLAN2  PC2属于VLAN3
  你如何使他们通信,方法是这样的
  首先去交换机上看到PC2MAC
  看到了之后来PC1中用 arp -s 直接捆绑 PC2 IPPC2MAC
  PC2也一样捆绑PC1的。
  之后,便可以直接跨越VLAN通信了 2PC
  7 PC1---SW----PC2
  2个网段,PC11.0的网段 PC22.0的网段,
  他们想通信如何做,实现很简单
  把网关相互一指就完了,
  方法2,把网段都指到自己的IP
  为什么呢?因为PC想发数据首先得在3层看有无对方的路由,你没设置网关,那直接就是目标不可到达,为什么
  因为PC1只有一个与自己同一网段的路由,如果你配了网关,那PC里将出现一个默认路由,那预示着什么?
  我的包绝对可以往下封装绝对不会提示主机不可到达(主机不可到达通常是没网关,有了网关网关还是到不了目标的话,提示是主机或网络不可到达,注意提示不一 样排错用)。然后再查找目标的MAC地址,很显然会去发ARP查询广播ff-ff-ff-ff-ff-ff的目标,交换机根本不隔离,别人一定收的到此广 播,只要对方也一样设置网关为自己,那arp回复包绝对会封装好,绝对会发出来,因此绝对可以同。
  8 3层交换机的一点点转发逻辑,是这样的其实,PC1-----SW----PC2
  PC1PC2MAC,如果能找到就SW就进行2层转发,
  但PC1通常与PC2不在一个网段,
  那PC1就会把包交给了SWVLAN2接口(或是其他VLAN接口),因为那是PC1的一个网关,
  PC2回复的时候呢, 也会叫给SW的一个VLAN接口VLAN3 ,因为那也是它的网关。
  关键是该3层交换机是如何转发这些frame的。
  首先,PC1发的frame的目标不再是PC2的了而是3层交换机的VLAN接口的一个虚拟MAC,因此3层交换机接到了便交给了自己的3层模块处理,3层模块 查看自己的路由表,把该frame里的目标IP进行查找匹配,
  如果有了便交给自己的下一跳所指的设备。去查询那个设备的MAC地址了,而这里PC2是直接接在SW上的,因此SW直接请求PC2MAC了,有了便交给2层模块进行硬件转发。从而把该PC2MAC缓存到MAC表,以及ARP表中。以后该SW就不用再找了,
  但注意了PC1还是不会知道PC2MAC,因此以后发的数据依然是交给SWVLAN2接口的,SW依然还是要进行3层处理,但此时不会再找路由表了, 只要发现你目标IPPC2的便由以前建立的FIB转发信息表,直接找到PC2MAC然后发给PC2(注意FIB确实是张表,不是MAC表也不是ARP 表,就是一张转发表)3层交换机利用它,高端路由器也利用它,因为它是临时建立的放在cache内,因此速度比较快不用一步一步去查路由表了麻烦。
  注意到了实际上还是要经过3层的转发每个数据包才能到PC2的。并不是说一次路由就以后都直接走2层了。
  如果想实现直接走2层那也有办法。什么办法。
  直接在主机上建立ARP -S的静态缓存与第6点一样!

发表于 2018-6-11 14:45:40 | 显示全部楼层
感谢版主,学习下
5# 2018-6-11 14:45:40 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2018-6-11 14:45:47 | 显示全部楼层
感谢版主,学习下
6# 2018-6-11 14:45:47 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-19 14:52 , Processed in 0.065638 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表