Home > Database > Mysql Tutorial > 华为交换机trunk、hybrid及access接口收发包解析

华为交换机trunk、hybrid及access接口收发包解析

WBOY
Release: 2016-06-07 15:31:13
Original
1359 people have browsed it

Hybrid特性是 华为 交换机 的专有特性,该特性为局域网的搭建提供了更多的灵活性和安全性。那么就让我们一起走进hybrid世界,去体验hybrid特性给我们带来的快乐。 首先让我们来看一个网路拓扑图: 650) this.width=650;" name="image_operate_58701291620681


Hybrid特性是华为交换机的专有特性,该特性为局域网的搭建提供了更多的灵活性和安全性。那么就让我们一起走进hybrid世界,去体验hybrid特性给我们带来的快乐。
  首先让我们来看一个网路拓扑图:

<strong><strong>华为</strong></strong><strong><strong>交换机</strong></strong>trunk、hybrid及access<strong><strong>接口</strong></strong>收<strong><strong>发包</strong></strong><strong>解析</strong>

这是一个公司的小型网络拓扑图,该公司现有财务和工程两个部门以及一个文件服务器,分别处于不同的VLAN,现要求财务部和工程部都能访问公司内部文件服务器,但是财务部和工程部之间不能互相访问。看到这里,大家都想通过路由器或三层交换机做访问控制列表实现,没错是可以实现,但是现在只有二层设备。怎么办?好办。现在分别讲一下在huawei和cisco环境下的解决方法。

  Huawei环境:

  在华为环境下我们可以利用华为专有的hybrid特性。首先我们先了解一下华为交换机的几种接口类型。

  Aaccess接口:access端口只能承载一个vlan的流量,通常用于交换机与PC相连的接口,当access接口收到一个数据帧时,先判断是否有vlan信息,如果没有则打上自己的PVID,如果有则直接丢弃;当access接口要转发一个数据帧时,先判断该数据帧的vlan是否和自己在一个vlan,如果是,则剥离vlan信息,再转发,如果不是,则丢弃。

  Trunk接口:trunk接口可以承载多个vlan的流量,但在华为交换机上默认情况下只允许默认vlan的流量通过,只允许对默认vlan不打标记。通常用于与其它交换机相连的接口。当trunk接口收到一个数据帧时,先判断是否允许该vlan的流量通过,如果允许,则转发到相应的接口,由相应的接口进行处理,如果不允许,则丢弃。Trunk接口发送数据帧时,同样判断是否允许该vlan通过,如果允许则转发到相应的接口,由相应的接口进行处理,如果不允许,则直接丢弃。

  Hybrid接口:hybrid接口可以承载多个vlan的流量,可用在与PC或交换机相连的接口,与trunk接口的最大区别是可以对任何vlan打标记或不打标记。当hybrid接口接收数据帧时,先判断该数据帧是否有vlan信息,如果有,则看该接口是否对该vlan打标记,如果对该vlan打标记,则直接转发到相应的接口,由相应的接口进行处理;如果没有明确说对该vlan打标记,则丢弃。因为默认情况下,hybrid 接口只允许默认vlan的数据帧通过,如果要允许其它的vlan 通过,就要对相应的vlan打标记。如果收到的数据帧没有任何标记,则标记为自己的PVID。在接口上配置对某些vlan标记所起的作用只是允许和不允许该vlan的数据帧通过的问题,在接口上配置为对某些vlan不打标记时只在接口发送数据帧时起作用,当接口收数据时,是不起作用的。hybrid 接口发送数据帧时,若该数据帧有标记,则判断该数据帧的标记vlan和自己是否在同一个vlan,如果是在同一个vlan,则去掉标记后转发;如果该数据帧和自己不在同一个vlan,则判断接口对该数据帧是标记还是不标记,如果是不标记,则去掉标记后再进行转发,如果是标记,则直接转发,若没有明确说明是标记,还是不标记,则直接丢弃。如果要发送的数据帧没有标记,则直接转发。当把一个接口加入到vlan2后,再把该接口设置为hybrid接口时,该接口的PVID就变成了vlan2,同时对vlan2的数据帧不打标记。

  了解这些之后,我们就可以很容易的进行配置了,配置过程如下:
[Switch1]vlan 2
[Switch1-vlan2]port ethernet 0/2
[Switch1]interface ethernet 0/2
[Switch1-ethernet0/2]port link-type hybrid
[Switch1-ethernet0/2]port hybrid vlan 1 untagged
[Switch1]interface ethernet 0/1
[Switch1-ethernet0/1]port link-type hybrid
[Switch1-ethernet0/1]port link-type hybrid vlan 2 untagged
[Switch2]vlan 3
[Switch2-vlan3]port ethernet 0/3
[Switch2]vlan 4
[Switch2-vlan4]port ethernet 0/4
[Switch2]interface ethernet 0/3
[Switch2-ethernet0/3]port link-type hybrid
[Switch2-ethernet0/3]port hybrid vlan 1 untagged
[Switch2]interface ethernet 0/4
[Switch2-ethernet0/4]port link-type hybrid
[Switch2-ethernet0/4]port hybrid vlan 1 untagged
[Switch2]interface ethernet 0/1
[Switch2-ethernet0/1]port link-type hybrid
[Switch2-ethernet0/1]port link-type hybrid vlan 3 4 untagged

  为什么要对vlan1不打标记呢?好吧,让我们看一下整个流程。

  根据我的配置,当财务部们的PC发送一个数据到文件服务器时:

  数据去------switch2的ethernet 0/3接口接收该数据,这时交换机会将该数据标记为vlan3的数据,然后根据mac地址表转发到相应的接口--------switch2的ethernet 0/1接口,发现该接口对vlan3的数据不标记,于是去掉标记后再进行转发---------switch1的ethernet 0/1接口接收该数据帧,发现该数据是没有任何标记的,于是标记为自己的PVID(vlan1),然后进行转发,这个时候数据发生了很大的变化,二层原本是被封装为vlan3的数据现在变成了vlan1的,-------switch1的ethernet0/2,发现该接口对vlan1的数据是不标记的,于是去掉标记后进行转发,这时数据就到达了文件服务器。

  数据回------switch1的ethernet 0/2接口接收该数据,这时交换机会将该数据标记为vlan2的数据,然后根据mac地址表转发到相应的接口--------switch1的ethernet 0/1接口,发现该接口对vlan2的数据不标记,于是去掉标记后再进行转发---------switch2的ethernet 0/1接口接收该数据帧,发现该数据是没有任何标记的,于是标记为自己的PVID(vlan1),然后进行转发,这个时候数据同样发生了很大的变化,二层原本是被封装为vlan2的数据帧,但现在变成了vlan1的,-------switch2的ethernet0/3,发现该接口对vlan1的数据是不标记的,于是去掉标记后进行转发,这时数据就到达了财务部门的PC。

  工程部门和文件服务器的通讯是一样的。

  现在再来说一说财务部和工程部直间的通讯:

  从财务部到市场部:数据去------switch1的ethernet 0/3接口接收该数据,这时交换机会将该数据标记为vlan3的数据,然后根据mac地址表转发到相应的接口--------switch1的ethernet 0/4接口,发现该接口既没有说明对vlan3的数据标记还是不标记,于是丢弃。既然去都去不了,还说什么回呢?

  从市场部到财务部:数据去------switch2的ethernet 0/4接口接收该数据,这时交换机会将该数据标记为vlan4的数据,然后根据mac地址表转发到相应的接口--------switch1的ethernet 0/3接口,发现该接口既没有说明对vlan4的数据标记还是不标记,于是丢弃。

  总结:hybrid接口确实是一个非常不错的特性,在安全性和灵活性方面有着非常广泛的应用价值。强烈建议先一定要把原理搞明白之后再去应用到实际工作中,否则将会出现你无法预料和解决的问题。


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template