CN1210914C - 以太网交换机堆叠加速处理方法 - Google Patents

以太网交换机堆叠加速处理方法 Download PDF

Info

Publication number
CN1210914C
CN1210914C CN 02107650 CN02107650A CN1210914C CN 1210914 C CN1210914 C CN 1210914C CN 02107650 CN02107650 CN 02107650 CN 02107650 A CN02107650 A CN 02107650A CN 1210914 C CN1210914 C CN 1210914C
Authority
CN
China
Prior art keywords
frame
link
port
stack
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 02107650
Other languages
English (en)
Other versions
CN1447563A (zh
Inventor
林郁
谭锐
林辉
孙杰
杨智明
崔靖杰
张志强
饶伟年
唐焰
刘永志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 02107650 priority Critical patent/CN1210914C/zh
Publication of CN1447563A publication Critical patent/CN1447563A/zh
Application granted granted Critical
Publication of CN1210914C publication Critical patent/CN1210914C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种涉及电通信技术的以太网交换机堆叠加速处理方法,在交换芯片构成的堆叠链路中,交换芯片接收的数据帧所经过的正常转发流程如下:a.接收数据帧;b.帧的协议处理和帧的目的端口转发查找;c.判断其目的端口是否为本地端口,若其目的端口为本地端口,则经过流程d.发到该帧的目的端口,其特征在于:在所述的流程(b)之前,设置一堆叠处理分支(2)判断数据帧的源端口是否为堆叠端口,对于源端口被判定为堆叠端口的数据帧,再进行当前芯片是否为堆叠链路末端的判断,若当前芯片不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;对于源端口被判定为不是堆叠端口的数据帧,若该数据帧的目的端口被判断为不是本地端口,则将数据帧快速发到下一个堆叠端口。本发明能够加快堆叠链路转发,实用性强,可靠性高,成本低廉,适于芯片实现。

Description

以太网交换机堆叠加速处理方法
[技术领域]
本发明涉及电通信技术,尤其涉及一种以太网交换机堆叠加速处理方法。
[背景技术]
如图1至图3为采用堆叠链路实现多芯片堆叠的示意图,以上各图中的“Rx/Tx”表示某一个以太网物理端口的“接收/发送”方向。单工堆叠方式是指一个交换芯片只有一个端口连接到堆叠链路,该堆叠端口的发送方向连接到下一个交换芯片堆叠端口的接收方向,依次相联而形成一个环形,如图1所示,这种堆叠方式的一个特点是没有边缘设备,所有交换芯片都处相同的相对位置上。
双工堆叠方式是每个芯片有两个端口连接到堆叠链路,交换芯片的一个堆叠端口的“接收/发送”方向分别连接到相邻交换芯片的“接收/发送”方向,如图2所示。双工堆叠方式的一个特点是存在堆叠链路的边缘设备,如图2中计算机A和B所接的交换芯片即为该堆叠链路的边缘设备。
冗余双工堆叠方式在双工堆叠的基础上提供了一条冗余的路径,如图3中的虚线所示,在正常工作时,该链路不起作用,当有其他的路径出现故障而不能工作时,可以通过协议使冗余路径开始工作,从而保证整个堆叠芯片组的正常工作。
从上面的图中可以看出,无论何种堆叠方式,当有数据帧要从端口1发往端口x时,必须经过堆叠链路,即以上图1、图2、图3中的粗线部分。
以太网交换机是利用地址查找表ARL完成端口间数据包的转发的,地址查找表保存的是连接在交换机各端口上的计算机的媒体访问控制地址MAC及其对应的端口号,每台计算机的媒体访问控制地址是全世界唯一的,而地址查找表主要是通过自动学习过程建立起来的。
例如,在图1中,计算机A连接在交换芯片1的端口1,如果计算机A向其他计算机发送数据包,交换芯片1就会学习到计算机A的地址并在地址查找表中设置一条表项,指明计算机A的地址在端口1。如果其他端口有发往计算机A的数据包,查找地址表就可以知道计算机A在端口1,从而将数据包转发到端口1的计算机A。
如果交换芯片1从来没有收到过来自计算机B的数据包,那么地址查找表中不会有关于计算机B的表项,若计算机A向计算机B发送数据包,交换芯片1查找地址表会发现无法找到输出端口,此时交换芯片1通常会把这个数据包广播到所有端口,包括堆叠端口,这样数据包就会逐步传递到计算机B。对于广播到其他计算机的数据包,这些计算机会自己检查,当它们发现数据包的目标地址是计算机B而不是自己时,会自动将这些数据包丢弃。
以上也是以太网交换机的基本转发原理。
根据以太交换的基本原理可知,交换机地址查找表的迅速建立对交换的性能致关重要,如果学习过程太慢就会导致各个端口出现大量广播报文,不仅占据端口的有效带宽,以太网交换机也可能无法及时完成发送,造成拥塞。
交换芯片堆叠实际上是将多个交换芯片连接在一起当作一个设备使用,为了减少广播流量,提高设备转发性能,各个交换机的地址查找表更应该尽量保持一致。
统一地址查找表通常有两种方法:
1、堆叠设备间发送专门的地址更新消息,用于地址表同步,这种方法需要许多软件操作,设计复杂,性能比较差。
2、所有上了堆叠链路的帧必须走完整个链路,以使其它芯片也能学习到该地址,即便该帧的目的端口可能不在该芯片上。这种方法不带来任何额外设计要求,操作过程由硬件自动完成,性能非常好。
采用上述方法2的每个芯片的转发流程如图4所示,堆叠的每个设备,对于接收到的每个数据帧,都首先进行地址学习,然后通过地址表查找获得目的端口,接下来需要判断是否要把报文发送到堆叠端口,如果是来自堆叠端口的数据帧,为了保证数据帧能走完全部链路,则必须保证该数据包能重新发送到堆叠链路,如图4中的粗线所指示的数据路径。这种技术的缺点是:每个芯片的转发过程是基本固定的,延迟也是固定的,对于每个进入堆叠链路的数据帧,需要走完整个堆叠链路,也就是走完所有芯片的转发流程。这样,当堆叠的设备比较多时,整个堆叠链路就会产生很大的转发延迟,降低堆叠时的转发性能。
[发明内容]
本发明的目的在于提供一种能够缩短进入堆叠链路的数据帧在每个堆叠芯片中的转发延迟,从而加快堆叠链路转发的以太网交换机堆叠加速处理方法。
本发明所采用的方法为:这种以太网交换机堆叠加速处理方法,在交换芯片构成的堆叠链路中,交换芯片接收的数据帧所经过的正常转发流程如下:a.接收数据帧;b.帧的协议处理和帧的目的端口转发查找;c.判断其目的端口是否为本地端口,若其目的端口为本地端口,则经过流程d.发到该帧的目的端口,其特征在于:在所述的流程(b)之前,设置一堆叠处理分支(2)判断数据帧的源端口是否为堆叠端口,对于源端口被判定为堆叠端口的数据帧,再进行当前芯片是否为堆叠链路末端的判断,若当前芯片不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;对于源端口被判定为不是堆叠端口的数据帧,若该数据帧的目的端口被判断为不是本地端口,则将数据帧快速发到下一个堆叠端口。
所述的堆叠处理分支中,判断当前芯片是否为堆叠链路末端时,在双工方式堆叠的以太网中,判断当前芯片是否为边缘设备,若不是边缘设备,当前芯片被判断为不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;若是边缘设备,当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
数据帧可在前面添加自定义的标签TAG以传递堆叠链路的控制信息;所述的自定义的标签TAG中,在单工方式堆叠时,包含链路生存时间TTL域,第一个将数据帧送上单工堆叠链路的交换芯片设置链路生存时间TTL的初始值,链路生存时间TTL的初始值就是堆叠芯片的个数减去1,数据帧进入下一交换芯片后,在堆叠处理分支中,这个交换芯片就检查它的链路生存时间值,若检查到的链路生存时间值大于1,用该检查到的链路生存时间TTL值减去1所得到的值替代成为当前的链路生存时间TTL值,而且当前交换芯片被判断为不是堆叠链路末端,将数据帧快速发到下一个堆叠端口;若检查到的链路生存时间TTL值小于或等于1,则当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
本发明的有益效果为:在本发明中,一个数据帧一旦上了堆叠链路就必须经过堆叠链路“广播”到所有堆叠芯片,这样可以尽快保证各交换芯片地址查找表的同步,在堆叠处理分支中,对于源端口被判定为堆叠端口的数据帧,并且当前芯片不是堆叠链路末端时,则将数据帧快速发到下一个堆叠端口,这些堆叠端口来的数据帧跳过耗时较长的协议处理和目的端口转发查找流程,直接将帧发到堆叠端口,大大减少了堆叠链路的转发延迟,多台设备堆叠时效果尤其明显,因此,本发明能够缩短进入堆叠链路的数据帧在每个堆叠芯片中的转发延迟,从而加快堆叠链路转发;在堆叠处理分支中,对于源端口被判定为不是堆叠端口的数据帧,若该数据帧的目的端口被判断为不是本地端口,则将数据帧快速发到下一个堆叠端口,这样,若一个交换芯片有机会学习到一个新计算机的位置,则使其他交换芯片也能学到,提高了本发明的可靠性;为了更便于堆叠链路转发,在正常数据帧的前面添加自定义的标签TAG以传递控制信息,该标签只被堆叠链路中传递的数据帧使用,被参加堆叠的交换芯片识别,数据帧通过非堆叠端口发往其他设备时为正常数据帧格式,任何自定义标签都被去除,以保证和其他设备的良好兼容性,提高了本发明的实用性;在单工方式堆叠时,自定义标签包含链路生存时间TTL域,第一个将数据帧送上单工堆叠链路的交换芯片设置链路生存时间TTL的初始值,链路生存时间TTL的初始值就是堆叠芯片的个数减去1,数据帧进入下一交换芯片后,在堆叠处理分支中,这个交换芯片就检查它的链路生存时间TTL值,若检查到的链路生存时间值大于1,用该检查到的链路生存时间TTL值减去1所得到的值替代成为当前的链路生存时间TTL值,而且当前交换芯片被判断为不是堆叠链路末端,将数据帧快速发到下一个堆叠端口;若检查到的链路生存时间TTL值小于或等于1,则当前芯片被判断为堆叠链路末端,则丢弃该数据帧,这样可以保证若一个交换芯片有机会学习到一个新计算机的位置,则使其他交换芯片也能学到,同时,又保证该数据帧不在堆叠链路中重复发送;在双工方式堆叠的以太网中,在堆叠处理分支中,判断当前芯片是否为边缘设备,若不是边缘设备,当前芯片被判断为不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口,若是边缘设备,当前芯片被判断为堆叠链路末端,则丢弃该数据帧,这样也使得若一个交换芯片有机会学习到一个新计算机的位置,则使其他交换芯片也能快速学到,同时,又保证该数据帧不至于在堆叠链路中重复发送,在双工堆叠模式下,主要通过判断当前芯片是否为边缘设备决定是否继续传递数据帧,此时链路生存时间TTL域没有作用,但可从统一起见仍保留在TAG中。是否边缘设备由软件通过寄存器在每个交换芯片内设置;标签中的其他域可用于在堆叠芯片间传递控制信息,这对统一各个芯片的转发行为是必须的;本发明只需对以太网交换芯片的电路进行非常小的改动,成本低廉,适于芯片实现。
总之,本发明能够缩短进入堆叠链路的数据帧在每个堆叠芯片中的转发延迟,从而加快堆叠链路转发,本发明实用性强,一个交换芯片有机会学习到一个新计算机的位置时,使其他交换芯片也能学到,同时,又保证该数据帧不至于在堆叠链路中重复发送,可靠性高,成本低廉,适于芯片实现。
[附图说明]
图1为单工堆叠方式示意图;
图2为双工堆叠方式示意图;
图3为冗余双工堆叠方式示意图;
图4现有交换芯片转发和处理流程示意图;
图5为本发明的交换芯片转发和处理流程示意图;
图6为具体应用实例堆叠链路示意图。
[具体实施方式]
下面根据附图和实施例对本发明作进一步详细说明:
本发明的交换芯片转发和处理流程如下:如图5所示,在交换芯片构成的堆叠链路中,交换芯片接收的数据帧所经过的正常转发流程如下:a.接收数据帧;b.帧的协议处理和帧的目的端口转发查找;c.判断其目的端口是否为本地端口,若其目的端口为本地端口,则经过流程d.发到该帧的目的端口,在流程b之前,设置一堆叠处理分支2判断数据帧的源端口是否为堆叠端口,对于源端口被判定为堆叠端口的数据帧,再进行当前芯片是否为堆叠链路末端的判断,若当前芯片不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;在堆叠处理分支2中,进行源端口是否为堆叠端口的判断时,对于源端口被判定为不是堆叠端口的数据帧,若该数据帧的目的端口被判断为不是本地端口,则将数据帧快速发到下一个堆叠端口。
在双工方式堆叠的以太网中,判断当前芯片是否为堆叠链路末端时,判断当前芯片是否为边缘设备,若不是边缘设备,当前芯片被判断为不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;若是边缘设备,当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
在单工方式堆叠的以太网中,可在正常数据帧的前面添加自定义的标签TAG以传递控制信息,该自定义标签包含链路生存时间TTL域,第一个将数据帧送上单工堆叠链路的交换芯片设置链路生存时间TTL的初始值,链路生存时间TTL的初始值就是堆叠芯片的个数减去1,数据帧进入下一交换芯片后,在堆叠处理分支2中,这个交换芯片就检查它的链路生存时间TTL值,若检查到的链路生存时间值大于1,用该检查到的链路生存时间TTL值减去1所得到的值替代成为当前的链路生存时间TTL值,而且当前交换芯片被判断为不是堆叠链路末端,将数据帧快速发到下一个堆叠端口;若检查到的链路生存时间TTL值小于或等于1,则当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
下面举一具体应用实例说明本发明的流程,如图6所示一单工堆叠链路,如果有数据帧从交换芯片C1的端口M发到交换芯片C3的端口N,现假设端口N曾经向端口M发送过数据,因此交换芯片C1、C2和C4都通过地址查找表知道端口N目的端口在相应的堆叠端口,交换芯片C3知道端口N在本地端口:
1.数据帧进入交换芯片C1后,经过协议处理目的端口转发查找,发现目的端口是堆叠端口,由于源端口M不是堆叠端口,且目的端口被判断为不是本地端口,则交换芯片C1置链路生存时间TTL=3,并且将数据帧快速发往堆叠端口;
2.数据帧进入交换芯片C2,由于数据帧的源端口是堆叠端口,在堆叠处理分支2中,因TTL>1,堆叠处理分支2将链路生存时间TTL减为2后立刻将数据帧从堆叠端口送出,在正常转发流程中,经过较长时间的协议处理和转发查找后,才确定目的端口不是本地端口,但因为数据帧源端口是堆叠端口,所以该数据帧不再重复发送,因此,交换芯片C2学习到端口M的地址,以后发送可以不必广播;
3.交换芯片C2的转发和处理流程未完全完成前,数据帧可能已经到达交换芯片C3,由于是来自堆叠端口的数据帧,数据帧同样在堆叠处理分支2中,链路生存时间TTL的值被减为1,数据帧从堆叠端口送出,同时,在正常转发流程中,数据帧向端口N转发。同样,交换芯片C3也学到端口M的地址,以后发送可以不必广播;
4.交换芯片C3未将报文传递到端口N之前,数据帧可能已经到达交换芯片C4,数据帧在堆叠处理分支2中,由于链路生存时间TTL已经等于1,堆叠处理分支2将不发送数据帧,在正常转发流程中,确定目的端口不是本地端口,但因为数据帧源端口是堆叠端口,所以该数据帧不再重复发送,数据帧在堆叠链路上的广播结束,数据帧发送全部结束,同样,交换芯片C4也学到端口M的地址,以后发送可以不必广播。
在这里,需要说明的是,当数据帧通过非堆叠端口发往其他设备时为正常数据帧格式,以保证和其他设备的良好兼容性。

Claims (6)

1、一种以太网交换机堆叠加速处理方法,在交换芯片构成的堆叠链路中,交换芯片接收的数据帧所经过的正常转发流程如下:a.接收数据帧;b.帧的协议处理和帧的目的端口转发查找;c.判断其目的端口是否为本地端口,若其目的端口为本地端口,则经过流程d.发到该帧的目的端口,其特征在于:在所述的流程(b)之前,设置一堆叠处理分支(2)判断数据帧的源端口是否为堆叠端口,对于源端口被判定为堆叠端口的数据帧,再进行当前芯片是否为堆叠链路末端的判断,若当前芯片不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;对于源端口被判定为不是堆叠端口的数据帧,若该数据帧的目的端口被判断为不是本地端口,则将数据帧快速发到下一个堆叠端口。
2.根据权利要求1所述的以太网交换机堆叠加速处理方法,其特征在于:所述的堆叠处理分支(2)中,判断当前芯片是否为堆叠链路末端时,在双工方式堆叠的以太网中,判断当前芯片是否为边缘设备,若不是边缘设备,当前芯片被判断为不是堆叠链路末端,则将数据帧快速发到下一个堆叠端口;若是边缘设备,当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
3、根据权利要求1所述的以太网交换机堆叠加速处理方法,其特征在于:数据帧在前面添加自定义的标签(TAG)以传递堆叠链路的控制信息。
4、根据权利要求3所述的以太网交换机堆叠加速处理方法,其特征在于:所述的自定义的标签(TAG)中,在单工方式堆叠时,包含链路生存时间(TTL)域,第一个将数据帧送上单工堆叠链路的交换芯片设置链路生存时间(TTL)的初始值,链路生存时间(TTL)  的初始值就是堆叠芯片的个数减去1,数据帧进入下一交换芯片后,在堆叠处理分支(2)中,这个交换芯片就检查它的链路生存时间(TTL)值,若检查到的链路生存时间值大于1,用该检查到的链路生存时间(TTL)值减去1所得到的值替代成为当前的链路生存时间(TTL)值,而且当前交换芯片被判断为不是堆叠链路末端,将数据帧快速发到下一个堆叠端口;若检查到的链路生存时间(TTL)值小于或等于1,则当前芯片被判断为堆叠链路末端,则丢弃该数据帧。
5、根据权利要求3所述的以太网交换机堆叠加速处理方法,其特征在于:所述的自定义的标签(TAG)只被堆叠链路中传递的数据帧使用,被参加堆叠的交换芯片识别,数据帧通过非堆叠端口发往其他设备时为正常数据帧格式。
6、根据权利要求4所述的以太网交换机堆叠加速处理方法,其特征在于:所述的自定义的标签(TAG)只被堆叠链路中传递的数据帧使用,被参加堆叠的交换芯片识别,数据帧通过非堆叠端口发往其他设备时为正常数据帧格式。
CN 02107650 2002-03-22 2002-03-22 以太网交换机堆叠加速处理方法 Expired - Fee Related CN1210914C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02107650 CN1210914C (zh) 2002-03-22 2002-03-22 以太网交换机堆叠加速处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02107650 CN1210914C (zh) 2002-03-22 2002-03-22 以太网交换机堆叠加速处理方法

Publications (2)

Publication Number Publication Date
CN1447563A CN1447563A (zh) 2003-10-08
CN1210914C true CN1210914C (zh) 2005-07-13

Family

ID=28048408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02107650 Expired - Fee Related CN1210914C (zh) 2002-03-22 2002-03-22 以太网交换机堆叠加速处理方法

Country Status (1)

Country Link
CN (1) CN1210914C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100481814C (zh) * 2004-10-28 2009-04-22 阿尔卡特公司 具备自动建立机制的堆叠管理系统中的交换设备
CN100393070C (zh) * 2005-06-14 2008-06-04 杭州华三通信技术有限公司 堆叠设备中报文重定向的方法
CN1960324B (zh) * 2005-11-02 2010-07-21 盛科网络(苏州)有限公司 以回路完成隧道封装和解封装处理的网络交换机和方法
CN100349423C (zh) * 2005-12-31 2007-11-14 杭州华三通信技术有限公司 堆叠系统中文件的访问方法
CN101436901B (zh) * 2008-12-05 2011-06-22 中兴通讯股份有限公司 一种用以太网管理epon的olt芯片的装置及方法
CN107317762A (zh) * 2017-06-29 2017-11-03 北京东土军悦科技有限公司 基于工业互联网现场层装置的拥塞控制方法及现场层装置
CN112019459B (zh) * 2020-09-09 2021-10-26 苏州盛科通信股份有限公司 基于堆叠系统中设备动态上下线的报文处理方法及系统

Also Published As

Publication number Publication date
CN1447563A (zh) 2003-10-08

Similar Documents

Publication Publication Date Title
CN101695047B (zh) 一种实现动态隧道报文转发的方法及交换机
US6337861B1 (en) Method and apparatus to properly route ICMP messages in a tag-switching network
EP1234428B1 (en) Method and apparatus for packet delay reduction using scheduling and header compression
US6345301B1 (en) Split data path distributed network protocol
TW419919B (en) TCP resegmentation
US8605752B2 (en) Communication apparatus, communication method, and computer program
US6760766B1 (en) Data transmission method and device
EP1180883A2 (en) Distributed source learning for data communication switch
CN100505693C (zh) 分组传输方法和设备
CN1791106A (zh) 响应选择确认重发时改进传输控制协议性能的方法和系统
CN1260101A (zh) 移动网络中改善用户响应时间的方法和端站
CN1653741A (zh) 优先协议数据单元的再传输以协助无线电链路控制再传输的系统及方法
CN1631008A (zh) 调度消息处理的方法和设备
CN1825836A (zh) 避免网络设备拥塞的系统和方法
EP1708445A1 (en) Communication device and logical link abnormality detection method
CN1625158A (zh) 改善传输效率的网络系统及相关方法
CN102035751A (zh) 一种数据的传输方法和设备
CN101123529A (zh) 基于pcie交换网的组播实现方法、系统及设备
CN1210914C (zh) 以太网交换机堆叠加速处理方法
CN1946040A (zh) 一种组播业务的保护方法和装置
CN105141521A (zh) 使用保护切换机制实现多系统链路聚合的装置及方法
CN1929435A (zh) 分组传送装置与方法
CN1960316A (zh) 分片报文的网络地址转换方法
CN1494277A (zh) 网络通信中数据发送/接收缓冲区的管理方法
CN1561062A (zh) 实现网络数据多路传输的方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050713

Termination date: 20190322