当前位置:文档之家› 交换机基本原理和转发过程

交换机基本原理和转发过程

交换机基本原理和转发过程(李建昂 0023000149 专用设备/驱动科室)本文主要介绍了一下交换机的工作原理,通过本文能够熟悉交换机的原理并对二层交换的一些概念有较深的理解。

首先介绍一下几个设备。

我们经常会看到一些设备的名字,比如HUB、交换机等。

这些设备之间到底有什么区别和联系,下面就简单说一下。

1、Ethernet HUBEthernet HUB的中文名称叫做以太网集线器,其基本工作原理是广播技术(broadcast),也就是HUB从任何一个端口收到一个以太网数据帧后,它都将此以太网数据帧广播到其它所有端口,HUB不存储哪一个MAC地址对应于哪一个端口。

以太网数据帧中含有源MAC地址和目的MAC地址,对于与数据帧中目的MAC地址相同的计算机执行该报文中所要求的动作;对于目的MAC地址不存在或没有响应等情况,HUB既不知道也不处理,只负责转发。

HUB工作原理:(1) HUB从某一端口A收到的报文将发送到所有端口;(2) 报文为非广播报文时,仅与报文的目的MAC地址相同的端口响应用户A;(3) 报文为广播报文时,所有用户都响应用户A。

随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备HUB已经越来越不能满足网络规划和系统集成的需要,它的缺陷主要表现在以下两个方面:(1) 冲突严重——HUB对所连接的局域网只作信号的中继,所有物理设备构成了一个冲突域;(2) 广播泛滥2、二层交换技术二层交换机的出现能够在一定程度上解决HUB存在的缺陷——主要是冲突严重的问题,其与HUB的区别从大的方面来看可以分为以下三点:(1)从OSI体系结构来看,HUB属于OSI模型的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。

也就意味着HUB只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。

(2)从工作方式来看,HUB是一种广播模式,当HUB的某个端口工作的时候,其他所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大的影响;而当交换机工作的时候,只有发出请求的端口和目的端口之间相互响应而不影响其他端口,因此交换机就能够隔离冲突域,并在一定程度上抑制广播风暴。

(3)从带宽来看,HUB不管有多少个端口,所有端口都是共享一条带宽,在同一时刻只能有二个端口传送数据,其他端口只能等待,同时HUB只能工作在半双工模式下(半双工模式——在通道中同时只能沿着一个方向传输数据);而对于交换机而言,每个端口都有一条独占的带宽,当两个端口工作时并不影响其他端口的工作,同时交换机不但可以工作在半双工模式下而且可以工作在全双工模式下(全双工模式——在通道中同时双向数据传输的能力)。

二层交换技术的工作原理:由于二层交换技术是在OSI七层网络模型中的第二层,即数据链路层进行操作的,因此交换机对数据报文的转发是建立在MAC(Media Access Control )地址基础之上的,对于IP 网络协议来说,它是透明的,即交换机在转发数据报文时,无须知道目的设备的IP 地址,只需知其物理地址(MAC 地址)即可。

交换机在工作过程当中会不断的检测报文的源和目的MAC地址来建立MAC地址表,这个表说明了某个MAC 地址是在哪个端口上被发现的。

这样当交换机收到一个报文时,它便会看一下该数据报文的目的MAC 地址,核对一下自己的MAC地址表以确认应该从哪个端口把数据报文发出去;但若交换机收到的报文在目的MAC地址不能在地址表中找到时,交换机会把IP 报文广播出去。

下图是BCM56504中二层表项的部分字段,可以看到,里面包含MAC地址、VLAN 信息以及对应的Port信息。

二层交换机的报文转发涉及到两个关键的过程:(l)学习过程:1)交换机接收网段上的所有数据帧,利用接收数据帧的源MAC地址建立MAC地址表;2)端口移动机制:交换机如果发现一个报文的入端口和报文中源MAC地址的所在端口不同,就产生端口移动,将MAC地址学习到新的端口;3)地址老化机制:如果交换机在很长一段时间内没有收到主机发出的报文,则该主机对应的MAC地址就会被删除,等下次报文来的时候重新学习。

(2)报文转发过程:1)交换机在MAC地址表中查找数据帧的目的MAC地址,如果找到就将该数据发送到相应的端口,如果找不到就向所有的端口发送(广播);2)如果交换机收到的报文中源MAC与目的MAC地址相同,则丢弃该报文;3)交换机向入端口以外的所有其它端口发送广播报文。

二层交换机的缺点:传统的以太网交换机对接收到的数据帧根据MAC地址进行二层转发,因此将网段上的冲突域限制到了端口级,但却无法限制广播域的大小,在主机数量很多的情况下,广播泛滥的现象仍然很严重。

3、VLAN技术VLAN(Virtual Local Area Network)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术。

IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。

VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。

虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。

802.1Q 协议规定了一段新的以太网帧字段,与标准的以太网帧头相比,VLAN报文格式在源地址后增加了一个4字节的802.1Q标签。

4个字节的802.1Q标签中,包含了2个字节的标签协议标识(TPID--Tag Protocol Identifier,它的值是8100),和两个字节的标签控制信息(TCI--Tag Control Information),TPID 是IEEE定义的新的类型,表明这是一个加了802.1Q标签的报文。

如图1所示:图1VLAN Identified( VLAN ID ): 这是一个12位的域,指明VLAN的ID,一共4096个,每个支持802.1Q协议的主机发送出来的数据包都会包含这个域,以指明自己所属的VLAN。

Canonical Format Indicator( CFI ):这一位主要用于总线型的以太网与FDDI、令牌环网交换数据时的帧格式。

Priority:这3 位指明帧的优先级。

一共有8种优先级,主要用于当交换机阻塞时,优先发送优先级高的数据包。

在交换机中,直接与主机相连的端口是无法识别802.1Q报文的,那么这种端口称为 Access端口;对于交换机相连的端口,可以识别和发送802.1Q报文,那么这种端口称为Tag Aware 端口(HYBRID、TRUNK)。

VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。

但由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。

一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。

引入了VLAN以后,对二层交换机的报文转发过程产生了如下的影响:1) 交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报文的入VLAN和出VLAN是一致的),就将该数据帧发送到相应的端口,如果找不到,就向(VLAN内)所有的端口发送;2) 如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文(这个功能可以选择配置,也可以转发出去);3) 交换机向(VLAN内)入端口以外的其它所有端口转发广播报文VLAN在交换机上的实现方法,可以大致划分为4类:1、基于端口划分的VLAN这种划分VLAN的方法是根据以太网交换机的端口来划分,比如设备的1-4端口为VLAN 10,5-17为VLAN 20,18-24为VLAN 30,当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定,如果有多个交换机,例如,可以指定交换机 1 的1-6端口和交换机 2 的1-4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机,根据端口划分是目前定义VLAN的最广泛的方法,IEEE 802.1Q规定了依据以太网交换机的端口来划分VLAN的国际标准。

这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定义一下就可以了。

它的缺点是如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。

2、基于MAC地址划分VLAN这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。

这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。

尤其是用户的MAC地址用变换的时候就要重新配置。

基于MAC地址划分VLAN 所付出的管理成本比较高。

3、基于网络层(以太网协议、IP地址)划分VLAN这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。

它虽然查看每个数据包的IP地址,但由于不是路由,所以,没有RIP,OSPF等路由协议,而是根据生成树算法进行桥交换,这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。

这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。

当然,这与各个厂商的实现方法有关。

4、根据IP子网(组播)划分VLANIP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。

相关主题