VLAN的跨越在2层实现

 

要实现多个VLAN之间在2层上通信不经过路由器的转换,
1 :用华为的hybird模式,比较简单实现起来因为hybird模式的接口可以传输多个不带标记的frame ,所有不带标记的frame都会带上PVID号,因此可以与接口所属于的PVID的VLAN通信,实现多个2层的VLAN通信,

2 :华为的VLAN汇聚,在这里小提一下,因为是比较特殊的应用非PVLAN哦,它叫super VLAN
可以使同在一个子网的多个小VLAN与1个大VLAN通信 小VLAN相互隔离,注意我在这里说与PVLAN不一样原因是有的,因为PVLAN 你是ping不到主VLAN的VLAN接口IP的,而这里他利用了arp代理查找同子网主机的MAC,注意必须是同一个子网!

3 :华为的PVLAN,在这里可以独立的使 多个小VLAN与主VLAN的PC通信,但注意。你无法与主VLAN所建立的VLAN接口通信,其实PVLAN就是利用了hybird模式,它的主VLAN所属于的接口,允许下面所有的子VLAN不带标签传过来,之后打上主VLAN的PVID,这里就可以接收来自任何VLAN的frame ,子VLAN呢,只允许主VLAN是非标记的,打上的是该子VLAN的PVID号因此 所有的子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层路由器做独臂使2台PC通,很简单,PC1----SW1---------------SW2 --PC2
左边是VLAN2 右边是VLAN3 ,中间用一根线,在线2端 的接口都用access模式分别加到VLAN2与VLAN3
这样在PC1进入SW1使打上tag,(注意实际交换机内是不带标签传的但这里为了把问题简单化,我门就这样理解效果其实是一样的别专牛角尖),之后从SW1 去SWE2时,去消标记。当PC1 的frame没带标记到达SW2的这边时,将带着SW2的VLAN3 ,提交给PC2 刚好PC2也在VLAN3 所以我说线2头分别属于VLAN2与VLAN3 大家可以实验下。

5:还是刚才那个图PC1----SW1---------------SW2 --PC2
中间这次我门用trunk口,看看效果。是如何的哦
SW1上有VLAN 2 与VLAN 3       SW2上也有VLAN 2 与VLAN 3
PC1属于SW1的VLAN2    PC2属于 SW2的VLAN3 。
现在PC1 想与 PC2通信,如何做。
中间是trunk,华为定义过一点 trunk可以传输一个不打标记的frame其他的都得带着标签。就是当trunk上传的VLANID与PVID一样时tag将被取消。这给了我门一个机会。开始trunk2边都允许VLAN 2 与VLAN 3传输默认的PVID 是 VLAN1 因此我门传的内容都是带tag的,这样只能按常规方式传输。但如果我把SW1的trunk口改成PVID为
VLAN2 SW2的trunk口的PVID该为VLAN 3 那大家想想会发生什么。PC1的frame带着TAG 标记为 VLAN2 经过trunk口,trunk口一看pvid与该VLAN2一样因此tag没了,此frame到了SW2时会怎么样呢?带上SW2的trunk的默认PVID 3,发向PC2所属于的VLAN3了,PC2回的frame是VLAN3的经过SW2的时候一看PVID 3恰好与该frame的TAG一样于是TAG又没了,回给了SW1,SW1打上自己trunk的PVID2,发给PC1 OK 通了。

6:PC1---SW----PC2 (仅是实验,必须先知道目标MAC)
PC1属于VLAN2  PC2属于VLAN3
你如何使他们通信,方法是这样的
首先去交换机上看到PC2的MAC。
看到了之后来PC1中用 arp -s 直接捆绑 PC2 IP与 PC2MAC
PC2也一样捆绑PC1的。
之后,便可以直接跨越VLAN通信了 2台PC

7 PC1---SW----PC2
2个网段,PC1是1.0的网段 PC2是2.0的网段,
他们想通信如何做,实现很简单
把网关相互一指就完了,
方法2,把网段都指到自己的IP
为什么呢?因为PC想发数据首先得在3层看有无对方的路由,你没设置网关,那直接就是目标不可到达,为什么
因为PC1只有一个与自己同一网段的路由,如果你配了网关,那PC里将出现一个默认路由,那预示着什么?
我的包绝对可以往下封装绝对不会提示主机不可到达(主机不可到达通常是没网关,有了网关网关还是到不了目标的话,提示是主机或网络不可到达,注意提示不一样排错用)。然后再查找目标的MAC地址,很显然会去发ARP查询广播ff-ff-ff-ff-ff-ff的目标,交换机根本不隔离,别人一定收的到此广播,只要对方也一样设置网关为自己,那arp回复包绝对会封装好,绝对会发出来,因此绝对可以同。

8:  3层交换机的一点点转发逻辑,是这样的其实,PC1-----SW----PC2
PC1查PC2的MAC,如果能找到就SW就进行2层转发,
但PC1通常与PC2不在一个网段,
那PC1就会把包交给了SW的VLAN2接口(或是其他VLAN接口),因为那是PC1的一个网关,
PC2回复的时候呢, 也会叫给SW的一个VLAN接口VLAN3 ,因为那也是它的网关。
关键是该3层交换机是如何转发这些frame的。
首先,PC1发的frame的目标不再是PC2的了而是3层交换机的VLAN接口的一个虚拟MAC,因此3层交换机接到了便交给了自己的3层模块处理,3层模块 查看自己的路由表,把该frame里的目标IP进行查找匹配,
如果有了便交给自己的下一跳所指的设备。去查询那个设备的MAC地址了,而这里PC2是直接接在SW上的,因此SW直接请求PC2的MAC了,有了便交给2层模块进行硬件转发。从而把该PC2的MAC缓存到MAC表,以及ARP表中。以后该SW就不用再找了,
但注意了PC1还是不会知道PC2的MAC,因此以后发的数据依然是交给SW的VLAN2接口的,SW依然还是要进行3层处理,但此时不会再找路由表了,只要发现你目标IP是PC2的便由以前建立的FIB转发信息表,直接找到PC2的MAC然后发给PC2(注意FIB确实是张表,不是MAC表也不是ARP表,就是一张转发表)3层交换机利用它,高端路由器也利用它,因为它是临时建立的放在cache内,因此速度比较快不用一步一步去查路由表了麻烦。
注意到了实际上还是要经过3层的转发每个数据包才能到PC2的。并不是说一次路由就以后都直接走2层了。
如果想实现直接走2层那也有办法。什么办法。
直接在主机上建立ARP -S的静态缓存与第6点一样!

你可能感兴趣的:(职场,休闲)