1、引言
工业以太网交换技术解决了现场总线网络的性能局限,每个以太网设备都能够独享高带宽,从而缓解了带宽不足和网络瓶颈的问题,为未来更丰富更强大的自动化应用打下坚实的基础。本文主要探讨交换技术的基本原理。
2、交换机制
交换是按照通信两端传输信息的需要,用设备自动完成的方法,把需要传输的信息送到符合要求的对象上的技术统称。广义的交换机就是一种在通信系统中完成信息交换功能的设备。
在网络系统中,交换概念的提出是对于共享工作模式的改进。HUB集线器就是一种共享设备,HUB本身不能识别目的地址,当一局域网内的A设备给B设备传输数据时,数据包在以HUB为架构的网络上是以广播的方式传输的,由每一台设备通过验证数据包头的地址信息来确定是否接收。也就是说,在这种工作方式下,同一时刻网络上只能传输一组数据帧的通讯,如果发生碰撞还得重试。这种方式就是共享网络带宽。
交换机根据数据帧的MAC(Media Access Control)地址进行数据帧的转发操作。交换机转发数据帧时,遵循以下规则:
如果数据帧的目的MAC地址是广播地址或者组播地址,则向交换机(除源端口外)所有端口转发;
如果数据帧的目的MAC地址是单播地址,但是这个地址并不在交换机的地址表内,那么也会向交换机(除源端口外)所有端口转发;
如果数据帧的目的MAC地址在交换机的地址表内,那么根据地址表转发到相应的端口;
如果数据帧的目的MAC地址与数据帧的源地址在同一个端口上,它就会丢弃这个数据帧,交换也不会发生。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有端口都挂接在这条背部总线上,通过交换机地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离广播风暴,减少误包和错包的出现,避免共享冲突。
交换机的交换地址表中,一条表项主要由一个MAC地址和该地址所位于的交换机端口号组成。整张地址表的生成采用动态自学习的方法,既当交换机收到一个数据帧以后,将数据帧的源地址和输入端口记录在交换地址表中。每一条地址表项都有一个时间标记,用来指示该表项存储的时间周期。如果在一定时间范围内地址表项仍然没有被引用,它就会从地址表中被移走。因此,交换地址表中所维护的一直是最有效和最精确的地址-端口信息。
交换机在同一时刻可进行多个端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。
3、交换方式
目前主要有以下三种交换技术:
1、端口交换(Port switch)
端口交换最早出现在插槽式的集线器中,这类集线器的背板通常划分有多条以太网段,不用网桥或路由器连接时,是不能互相通信的。模块插入后通常被分配到某个背板的网段上,端口交换用于将模块的端口在背板的多个网段之间进行分配、平衡。根据支持的程度,端口交换可细分为:
模块交换:将整个模块进行网段迁移。
端口组交换:通常模块上的端口被划分为若干组,每组端口允许进行网段迁移。
端口级交换:支持每个端口在不同网段之间进行迁移。这种交换技术是基于OSI第一层上完成的,具有灵活性和负载平衡能力等优点,但没有改变共享传输介质的特点,故而未能称之为真正的交换。
2、帧交换(Frame switch)
帧交换是目前应用最广的局域网交换技术,它通过对传统传输媒介进行微分段,提供并行的传送机制,以减小冲突域,获得高带宽。一般有三种处理方式:
直通交换方式(Cut-through)
采用直通交换方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于它只检查数据包的包头(通常只检查14个字节),不需要存储,所以切入方式具有延迟小,交换速度快的优点。所谓延迟(Latency)是指数据包进入一个网络设备到离开该设备所花的时间。
它的缺点主要有三个方面:一是因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力;第二,由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。如果要连到高速网络上,如提供快速以太网(100BASE-T)、FDDI或ATM连接,就不能简单地将输入/输出端口“接通”,因为输入/输出端口间有速度上的差异,必须提供缓存;第三,当以太网交换机的端口增加时,交换矩阵变得越来越复杂,实现起来就越困难。
碎片隔离式(Fragment Free)
这是介于直通式和存储转发式之间的一种解决方案。它在转发前先检查数据包的长度是否够64个字节(512 bit),如果小于64字节,说明是假包(或称残帧),则丢弃该包;如果大于64字节,则发送该包。该方式的数据处理速度比存储转发方式快,但比直通式慢,但由于能够避免残帧的转发,所以被广泛应用于低档交换机中。
使用这类交换技术的交换机一般是使用了一种特殊的缓存。这种缓存是一种先进先出的FIFO(First In First Out),比特从一端进入然后再以同样的顺序从另一端出来。当帧被接收时,它被保存在FIFO中。如果帧以小于512比特的长度结束,那么FIFO中的内容(残帧)就会被丢弃。因此,不存在普通直通转发交换机存在的残帧转发问题,是一个非常好的解决方案。数据包在转发之前将被缓存保存下来,从而确保碰撞碎片不通过网络传播,能够在很大程度上提高网络传输效率。
存储转发方式(Store-and-Forward)
存储转发(Store and Forward)是网络领域使用得最为广泛的技术之一,以太网交换机的控制器先将输入端口到来的数据包缓存起来,先检查数据包是否正确,并过滤掉冲突包错误。确定包正确后,取出目的地址,通过查找表找到想要发送的输出端口地址,然后将该包发送出去。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,并且能支持不同速度的输入/输出端口间的交换,可有效地改善网络性能。它的另一优点就是这种交换方式支持不同速度端口间的转换,保持高速端口和低速端口间协同工作。实现的办法是将10Mbps低速包存储起来,再通过100Mbps速率转发到端口上。
3、信元交换(ATM switch
ATM采用固定长度53字节的信元交换。由于长度固定,因而便于用硬件实现。ATM采用专用的非差别连接,并行运行,通过一个交换机同时建立多个节点,但并不会影响每个节点之间的通信能力。ATM还容许在源节点和目标节点建立多个虚拟链接,以保障足够的带宽和容错能力。ATM采用了统计时分电路进行复用,因而能大大提高通道的利用率。ATM技术,在电信骨干级线路被广泛采用。
4、结束语
由上可见,采用帧交换技术存储转发方式的交换机,最符合工业自动化准确性、经济性、实时性的要求。在工业自动化通信领域中,采用工业以太网交换技术,将是未来的主流。