VLAN

一、共享式以太网

所有节点连在同一物理介质上,在同一冲突域中,相互通信要借助CSMA/CD手段。

共享式以太网的典型代表是使用10Base2/10Base5的总线型网络以集线器为核心的星型网络

集线器并不处理或检查其上的通信量,仅通过将一个端口接收的信号重复分发给其他端口来扩展物理介质。所有连接到集线器的设备共享同一介质,其结果是它们也共享同一冲突域、广播和带宽。因此集线器和它所连接的设备组成了一个单一的冲突域。如果一个节点发出一个广播信息,集线器会将这个广播传播给所有同它相连的节点,因此它也是一个单一的广播域

集线器多用于小规模的以太网,由于集线器一般使用外接电源(有源),对其接收的信号有放大处理。在某些场合,集线器也被称为“多端口中继器”。集线器同中继器一样都是工作在物理层的网络设备。

共享式以太网存在的弊端:由于所有的节点都接在同一冲突域中,不管一个帧从哪里来或到哪里去,所有的节点都能接受到这个帧。随着节点的增加,大量的冲突将导致网络性能急剧下降。而且集线器同时只能传输一个数据帧,这意味着集线器所有端口都要共享同一带宽

     

 

二、交换式以太网

在以太网中,所有节点共享一条通行线路,因此当多个节点同时访问线路时,会造成线路拥塞,从而降低数据的传输速率。而交换式以太网以交换器为中心,所有的节点都与之连接,由它来提供数据的传输,就好像每个节点都拥有一条直接的通信线路,所以不会造成线路阻塞,引起传输速率降低。

以太网交换机的原理很简单,它检测从以太端口来的数据包的源和目的地的MAC地址,然后与系统内部的动态查找表进行比较,若数据包的MAC层地址不在查找表中,则将该地址加入查找表中,并将数据包发送给相应的目的端口。

交换式以太网解决了共享式以太网存在的所有端口共享同一带宽,所有节点都在同一冲突域的问题。

 

参考:http://lieba.ceq.com.cn/174/content_103072.aspx

 

三、为什么需要VLAN

在此先复习一下广播域。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。因为不使用vlan功能的二层交换机只能构建单一的广播域。

图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARP Request)信息”,来尝试获取计算机B的MAC地址。
  
交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。

请大家注意一下,这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。
  
广播信息是那么经常发出的吗?
  
读到这里,也许会问:广播信息真是那么频繁出现的吗?
  
答案是:是的!实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。
参考:http://www.bitscn.com/network/manage/200604/14708.html

 

四、VLAN

VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
  
VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。

VLAN的优点如下:

  • 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
  • 增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。
  • 灵活构建虚拟工作组。用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

 

五、VLAN原理

要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。由于普通交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。

IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN标识的报文结构进行了统一规定。

传统的以太网数据帧在目的MAC地址和源MAC地址之后封装的是上层协议的类型字段,如下图所示。


                            传统以太网帧封装格式

其中DA表示目的MAC地址,SA表示源MAC地址,Type表示报文所属协议类型。

IEEE 802.1Q协议规定在目的MAC地址和源MAC地址之后封装4个字节的VLAN Tag,用以标识VLAN的相关信息。

                          VLAN Tag的组成字段

如上图所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。

  • TPID用来判断本数据帧是否带有VLAN Tag,长度为16bit,缺省取值为0x8100。
  • Priority表示报文的802.1P优先级,长度为3bit,相关内容请参见“ACL和QoS配置指导”中的“QoS”。
  • CFI字段标识MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。
  • VLAN ID标识该报文所属VLAN的编号,长度为12bit,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。

网络设备利用VLAN ID来识别报文所属的VLAN,根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。

 

六、基于端口的VLAN

基于端口划分VLAN是VLAN最简单、最有效的划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发指定VLAN的报文。

1. 端口的链路类型
根据端口在转发报文时对Tag标签的不同处理方式,可将端口的链路类型分为三种:

  • Access连接:端口发出去的报文不带tag标签。一般用于和不能识别VLAN tag的终端设备相连,或者不需要区分不同VLAN成员时使用。
  • Trunk连接:端口发出去的报文,端口缺省VLAN内的报文不带tag,其它VLAN内的报文都必须带tag。通常用于网络传输设备之间的互连。
  • Hybrid连接:端口发出去的报文可根据需要设置某些VLAN内的报文带tag,某些VLAN内的报文不带tag。Hybrid类型端口既可以用于网络传输设备之间的互连,又可以直接连接终端设备。

2. 缺省VLAN
除了可以设置端口允许通过的VLAN,还可以设置端口的缺省VLAN。在缺省情况下,所有端口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。

  • Access端口的缺省VLAN就是它所在的VLAN,不能配置。
  • Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。
  • 当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。

 

在配置了端口链路类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看下表

                             不同链路类型端口收发报文的差异

参考:http://www.h3c.com.cn/Service/Document_Center/Switches/Catalog/S3100V2/S3100V2-EI/Configure/Operation_Manual/H3C_S3100V2_CG-Release_5103-6W100/02/201306/788400_30005_0.htm

 

七、VLAN实例

 

PacketTracer图如下,可以下载实验包进行跟踪查看:

下载:实验包

跟踪描述:

(1) A1的L3层产生ICMP报文,并设置好IP报文的源和目的IP,送到L2层处理

1、Ping进程创建一个ICMP Echo Request消息,并把它发送到较一级进程
2、源IP地址未指定。设备将其设置为端口的IP地址
3、目的IP地址不在同一个子网,且不是广播地址
4、设置了默认网关,于是设备将默认网关设为下一跳

 

(2) A1的L2层从ARP表中查找默认网关的mac地址,如果没有则发ARP请求并缓存IP数据包。

1、下一跳IP地址是一个单播。ARP进程查看ARP表
2、下一跳IP地址不在ARP表中,ARP进程尝试发送该IP地址的ARP请求,并缓存这个IP数据包

(3) A1的L2层生成ARP请求并发送。

1、ARP进程构建一个请求目标IP地址对应mac的ARP请求报文
2、设备将PDU封装到以太网帧中

 

(4) SW1的Fa0/1口收到数据帧,并交由L2层处理。

(5) SW1的L2层入口处理过程。

1、交换机的MAC地址表中不存在帧的源MAC地址,交换机添加新的MAC地址表项(处理源MAC:更新MAC地址表)
2、帧的目的MAC地址是广播地址,多层交换机需要处理该帧(处理目的MAC:看该数据帧是否需要本机处理)
3、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址(处理目的MAC:看该数据帧是否需要本机处理)
4、将PDU从以太网帧中解封装(此时二层数据帧没用了)
5、该帧是一个ARP帧,将ARP进程处理
6、ARP帧是一个请求(处理opcode字段)
7、ARP请求的目标IP地址与接收端口的IP地址匹配(处理PDU中的目标IP地址)
8、ARP进程用收到的信息更新ARP表(处理PDU中的源IP地址:更新ARP表)

 

(6) SW1的L2层出口处理过程。

1、ARP进程用接收端口的MAC地址应答请求
2、封装PDU到以太网帧
3、多层交换机采用活动VLAN接口作为出口VLAN号
4、这是一个单播帧,多层交换机在MAC表中查找目的MAC地址
5、出端口为access端口,多层交换机将帧从该端口发出
6、这是一个广播帧,多层交换机将帧发送到同一VLAN中的除接收端口外的所有端口

(7) SW1的L1层出口处理过程。

1、将帧从FastEthernet0/1、FastEthernet0/2、GigabitEthernet0/1、GigabitEthernet0/2发出去

 

 (8) 多层交换机SW1应答A1,并广播A1最初发来的ARP请求。

 

(8.1) A1处理收到的报文。

1、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
2、对以太网帧中的PDU进行解封装
3、该帧是一个ARP帧,ARP过程处理它
4、ARP帧是一个应答帧
5、ARP进程用收到的信息更新ARP表(处理PDU中的源MAC)
6、ARP进程取出并发送等待这个ARP应答的缓冲报文(即ICMP报文)

(8.2) D1处理收到的报文。

1、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
2、对以太网帧中的PDU进行解封装
3、该帧是一个ARP帧,ARP过程处理它
4、ARP帧是一个请求帧
5、接收端口没有IP地址
6、ARP进程丢弃该帧

(8.3) SW2处理收到的报文。

1、帧的目的MAC是广播,交换机处理该帧
2、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
3、从以太网帧中解封装出PDU
4、该帧是一个ARP帧,ARP进程处理它
5、活动的VLAN接口没起来。ARP进程忽略该帧
6、交换机没有IEEE802.1Q帧标记中的VLAN。将帧发送到所有其他允许此VLAN的trunk端口

 

(9) A1发送ICMP报文。

1、ARP进程将数据包从缓冲区中移出,并重新发送它
2、将PDU封装到以太网帧

 

(10) SW1处理A1发过来的ICMP报文。

(10.1) SW1的L2层入口处理。

1、帧的源MAC地址,被发现在多层交换机的MAC地址表中
2、帧的目的MAC地址与活动的VLAN接口的MAC地址相匹配
3、帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
4、将PDU从以太网帧中解封装

(10.2) SW1的L3层入口处理。

1、路由器在路由表中查找目标IP地址

(10.3) SW1的L3层出口处理。

1、路由表中找到去目标IP地址的路由表项
2、目的网络直连。路由器设置目的地作为下一跳
3、该路由器对数据包中的TTL递减

 

(11) SW1发送ARP请求,请求192.168.2.100的MAC地址。

1、ARP过程构建一个目标IP地址的MAC的请求,并封装到以太网帧中
2、多层交换机采用活动VLAN接口作为出口VLAN号
3、这是一个广播帧。多层交换机将帧发送到同一个VLAN中的除接收端口外的所有端口

 

(12) SW2的L2的入口处理。

1、帧的源MAC地址不存在交换机的MAC表中,交换机添加新的MAC条目表
2、帧的目的MAC地址是广播。交换机处理该帧
3、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
4、对以太网帧中的PDU进行解封装
5、该帧是一个ARP帧。ARP进程处理它
6、ARP帧是一个请求
7、ARP请求的目标IP地址与接收端口的IP地址不匹配

(13) SW2的L2的出口处理。

1、这是一个广播帧。多层交换机将帧发送到同一个VLAN中的除接收端口外的所有端口

(14) SW3收到ARP的处理。

1、帧的目的MAC地址是广播。交换机处理该帧
2、该帧的目的MAC地址匹配接收端口的MAC地址,广播地址,或多播地址
3、对以太网帧中的PDU进行解封装
4、该帧是一个ARP帧。ARP进程处理它
5、ARP帧是一个请求
6、活动的VLAN接口没起来。ARP进程忽略该帧
7、交换机没有IEEE802.1Q帧标记中的VLAN。将帧发送到所有其他允许此VLAN的trunk端口。

(15) B1收到ARP的处理。

1、更新ARP表
2、发送ARP应答

 

 

(16) SW2收到ARP应答的处理。

 

(17) SW1收到ARP应答的处理。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值