CN105337851B - 一种报文处理方法及端口扩展板 - Google Patents
一种报文处理方法及端口扩展板 Download PDFInfo
- Publication number
- CN105337851B CN105337851B CN201410313154.6A CN201410313154A CN105337851B CN 105337851 B CN105337851 B CN 105337851B CN 201410313154 A CN201410313154 A CN 201410313154A CN 105337851 B CN105337851 B CN 105337851B
- Authority
- CN
- China
- Prior art keywords
- message
- loading
- target
- forwarding chip
- filtering rule
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000001914 filtration Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101150082208 DIABLO gene Proteins 0.000 description 2
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 101001011382 Homo sapiens Interferon regulatory factor 3 Proteins 0.000 description 1
- 102000043138 IRF family Human genes 0.000 description 1
- 102100029843 Interferon regulatory factor 3 Human genes 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种报文处理方法及端口扩展板,所述方法由端口扩展板PE执行,所述PE包括转发芯片和中央处理单元;所述方法包括:所述转发芯片接收加载报文,所述加载报文携带所述PE待加载的文件数据;所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,并将所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理;所述目标加载报文的目的地址是所述PE。本发明提高了PE的启动速度。
Description
技术领域
本发明涉及通信技术,特别涉及一种报文处理方法及端口扩展板。
背景技术
在第三代智能弹性架构(Intelligent Resilient Framework3.0,简称:IRF3)***中,包括控制桥(Control Bridge,简称:CB)和端口扩展板(Port Extender,简称:PE),各PE设备连接在CB设备上,并为CB设备提供端口扩展功能。PE在启动时,是需要加载启动所需的版本文件的,但是PE本身并不会保存这些版本文件,而是在PE每次启动时,由CB通过CB与PE之间的数据链路,将PE启动所需的版本文件发送给PE,具体可以是通过加载报文来发送。
具体的,CB会将文件所发送的目的PE的设备标识设置在加载报文中,例如,假设CB在发送PE1所需的版本文件时,则将PE1的设备标识设置在加载报文中。如果将设置设备标识的字段称为标识字段,那么在PE侧,会由中央处理单元(Central Processing Unit,简称:CPU)加载预先存储在PE中的识别软件来执行对该标识字段的识别;比如,PE1中的CPU将判断标识字段中设置的设备标识是否是PE1自身的标识,如果是,则确定该报文是发送给PE1的,CPU继续处理报文中携带的版本文件数据。但是,PE在执行上述的报文识别处理时,不仅速度较慢,而且容易发生处理失败的情况,严重降低了PE的启动速度。
发明内容
有鉴于此,本发明提供一种报文处理方法及端口扩展板,以提高PE的启动速度。
具体地,本发明是通过如下技术方案实现的:
第一方面,提供一种报文处理方法,所述方法由端口扩展板PE执行,所述PE包括转发芯片和中央处理单元;所述方法包括:
所述转发芯片接收加载报文,所述加载报文携带所述PE待加载的文件数据;
所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,并将所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理;所述目标加载报文的目的地址是所述PE。
结合第一方面,在第一种可能的实现方式中,所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,包括:所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第一PE设备信息相同,则所述转发芯片确定所述加载报文是所述目标加载报文,所述第一PE设备信息用于表示所述加载报文的目的地址是所述PE。
结合第一方面,在第二种可能的实现方式中,所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,包括:所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第二PE设备信息不同,则所述转发芯片确定所述加载报文是所述目标加载报文,所述第二PE设备信息用于表示所述加载报文的目的地址是所述PE之外的其他PE。
结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识之前,还包括:所述转发芯片获取所述加载报文中的类型字段设置的报文类型信息,并确定所述报文类型信息与所述预设的报文过滤规则中的目标类型信息相同,所述目标类型信息用于表示需要根据所述报文过滤规则确定所述加载报文是否是所述目标加载报文的报文类型。
结合第一方面,在第四种可能的实现方式中,在所述转发芯片接收加载报文之前,还包括:所述转发芯片在用户自定义域中,以访问控制列表的方式存储所述预设的报文过滤规则。
第二方面,提供一种端口扩展板PE,包括:转发芯片和中央处理单元;所述转发芯片包括:报文接收单元,用于接收加载报文,所述加载报文携带所述PE待加载的文件数据;报文过滤单元,用于根据预设的报文过滤规则,从所述报文接收单元接收到的所述加载报文中选择目标加载报文,所述目标加载报文的目的地址是所述PE;报文发送单元,用于将所述报文过滤单元得到的所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理。
结合第二方面,在第一种可能的实现方式中,所述报文过滤单元,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第一PE设备信息相同,则确定所述加载报文是所述目标加载报文,所述第一PE设备信息用于表示所述加载报文的目的地址是所述PE。
结合第二方面,在第二种可能的实现方式中,所述报文过滤单元,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第二PE设备信息不同,则确定所述加载报文是所述目标加载报文,所述第二PE设备信息用于表示所述加载报文的目的地址是所述PE之外的其他PE。
结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述报文过滤单元,还用于在获取所述加载报文中的标识字段设置的PE设备标识之前,获取所述加载报文中的类型字段设置的报文类型信息,并确定所述报文类型信息与所述预设的报文过滤规则中的目标类型信息相同,所述目标类型信息用于表示需要根据所述报文过滤规则确定所述加载报文是否是所述目标记载报文的报文类型。
结合第二方面,在第四种可能的实现方式中,所述转发芯片,还包括:存储单元,用于在所述报文接收单元接收加载报文之前,在用户自定义域中,以访问控制列表的方式存储所述预设的报文过滤规则。
本实施例中,由PE中的硬件即转发芯片来进行上述的报文识别,由转发芯片来判断报文是否是目标加载报文,处理速度将大大提高,并且硬件处理后相应减轻了CPU的负担,PE也较为稳定,较不容易出现加载失败的情况。这样,PE在接收到CB的发送版本文件的加载报文后,能够快速识别出该报文是属于PE的,并能够快速地成功加载,从而提高PE的启动速度。
附图说明
图1为本发明实施例提供的一种可选的应用***架构;
图2为本发明实施例提供的一种报文处理方法的流程示意图;
图3为本发明实施例提供的报文处理方法的应用PE结构示意图;
图4为本发明实施例提供的另一种报文处理方法的应用场景图;
图5为本发明实施例提供的报文处理方法中应用的报文格式;
图6为本发明实施例提供的报文处理方法中的报文字段示意图;
图7为本发明实施例提供的报文处理方法中的报文发送顺序图;
图8为本发明实施例提供的一种端口扩展板PE的结构示意图;
图9为本发明实施例提供的另一种端口扩展板PE的结构示意图。
具体实施方式
本发明实施例提供了一种报文处理方法,该方法可以应用于CB和PE之间的报文传输的场景。参见图1,示意了一种可选的应用***架构,各PE连接在CB设备上,并为CB提供端口扩展功能。CB可以为PE提供一些PE本身需要加载的文件,比如PE启动所需要的版本文件、或者补丁文件、或者升级文件等,可以将这些文件统称为PE待加载的文件,这些文件都可以由CB通过加载报文发送给PE。不论是何种文件,都可以采用本发明实施例提供的报文处理方法,该方法是由PE执行,主要是PE使用该方法对接收到的加载报文进行过滤,并且是由PE中的硬件进行过滤。如下将详细描述该方法:
实施例一
图2为本发明实施例提供的一种报文处理方法的流程示意图,该方法由PE执行,更具体的,是由PE中的转发芯片执行。结合图3所示,图3提供了PE的硬件结构,该PE可以包括转发芯片31和中央处理单元32;其中,转发芯片31可以用于接收各种报文,并将接收到的报文发送给中央处理单元32进行处理。比如,对于PE待加载的版本文件,转发芯片31发送给中央处理单元32后,中央处理单元32可以将该文件加载在PE上,从而PE可以通过该文件的数据进行启动。如图2所示,该方法可以包括:
201、转发芯片接收加载报文,该加载报文携带PE待加载的文件数据;
其中,CB发送的报文到达PE后,被PE的转发芯片接收,比如,本实施例中,该转发芯片接收到加载报文,携带有PE待加载的文件数据,比如版本文件、升级文件等的数据。在本发明的实施例的后续描述中,均以版本文件为例进行说明,但本领域技术人员可以理解,该方法同样可以适用于其他文件的处理。
202、转发芯片根据预设的报文过滤规则,从接收到的加载报文中选择目标加载报文,并将目标加载报文的文件数据发送至中央处理单元进行处理;该目标加载报文的目的地址是转发芯片所在的PE。
本实施例中,转发芯片在接收到加载报文后,将根据报文过滤规则从接收到的加载报文中选择目标加载报文,该目标加载报文的目的地址是转发芯片所在的PE本身,即目标加载报文中承载了PE自身待加载的文件数据。
举例如下:假设CB下连接了三个PE,分别是PE1、PE2和PE3,CB发送了某一个加载报文B1,该报文是要发送给PE1和PE2的,那么CB可以在该加载报文中设置PE设备标识,用于标识报文是发送给哪个PE的(也可以说,用于标识报文中的文件数据是哪个PE待加载的),那么,PE1和PE2的PE设备标识将设置在报文中。在PE侧,PE1和PE2就可以根据报文过滤规则确定上述接收到的报文B1是目标加载报文,因为B1的目的地址是PE本身;而对于PE3,由于报文B1的目的地址并不包含PE3,所以该B1并不是PE3的目标加载报文。
其中,所述的报文过滤规则可以是预设在转发芯片上的;转发芯片在确认目标加载报文后,可以将该目标加载报文的文件数据发送至中央处理单元进行处理,比如将版本文件的数据加载以启动PE。
将本发明实施例的报文处理方法与现有技术的报文处理方法进行比较:现有技术中,PE侧将由CPU加载识别软件来判断某个接收到的报文是否是该PE的目标加载报文,这种处理方式由于是软件执行,不仅速度较慢,而且容易发生处理失败的情况;而本发明实施例中,由PE中的硬件即转发芯片来进行上述的报文识别,由转发芯片来判断报文是否是目标加载报文,处理速度将大大提高,并且硬件处理后相应减轻了CPU的负担,PE也较为稳定,较不容易出现加载失败的情况。这样,PE在接收到CB的发送版本文件的加载报文后,能够快速识别出该报文是属于PE的,并能够快速地成功加载,从而提高PE的启动速度。而对于其他类型的PE加载文件,比如升级文件等,PE也同样能够快速识别和加载。
实施例二
本实施例通过一具体的应用场景来描述本发明实施例提供的报文处理方法的应用。图4为本发明实施例提供的另一种报文处理方法的应用场景图,CB下连接了三个PE,分别是PE1、PE2和PE3;当前,CB要将某个版本文件发送给这三个PE,并且采用组播方式,文件需要发送给该三个PE。这种情况下,对于CB来说,其发送的承载有版本文件的某加载报文,是均需要发送给该三个PE;而每个PE,都需要执行本实施例的报文处理方法,来识别该报文。
为了使得对本实施例提供的方法更加清楚和容易理解,本实施例分别对CB侧的报文发送过程、以及PE侧的报文处理过程进行描述。
首先,CB侧发送的报文格式:CB侧生成的承载有PE待加载文件(例如版本文件)的加载报文,其基本的报文格式可以参见图5,参见图5,加载报文包括报文头和数据部分,数据部分承载有具体的文件数据,例如版本文件数据;而报文头包括多个字段。各字段的说明如下:
DMAC:该字段占用6个字节,具体为0180-c2xx-xxxx协议族里面未使用的MAC,防止和现有协议MAC地址冲突;例如,0180-c2ff-fff0,本发明实施例描述都用该地址;具体的,本实施例发送报文采用的是组播的发送方式,一般自定义的组播都是01开始的,而通用的二层组播地址一般都是0180-c2开头的,这个地址可以自由定制(前提是不和其他的协议有冲突就可以),本实施例是以0180-c2ff-fff0为例。
SMAC:该字段占用6个字节,一般为CPU的内部MAC,通常是单播地址MAC,本实施例的该字段比如是CB的MAC;
802.1Q:该字段占用4个字节,默认字段为0x81000001,使用默认VLAN-tag以及ID;
ETYPE:该字段占用2个字节,使用私有类型,比如,0xDCBA,如果该字段是0xDCBA(当然具体实施中,该字段的设置可以进行变更为其他形式),则表明是版本文件的加载报文;该字段可以称为类型字段,上述的例如0xDCBA的信息可以称为报文类型信息;
DEST NODE BITMAP(DNBMP):IRF3管理域中,每一台PE设备有一个全局唯一的节点号,也就是板号;报文对于当前板有效时,在DNBMP字段中与该板号对应的位置设置为1。
如下举例说明上述的DNBMP字段的结构:可选的一种方式是,参见图6,DNBMP字段是从第19个字节开始的,因为前边的DMAC、SMAC等字段已经总共占据了18个字节。图6中仅示出了DNBMP中的三个字节,每一个字节包括8个比特位。本实施例中,可以将每一个比特位对应一块PE,如果选择某PE作为报文的目的地址,则将该PE对应的比特位的数值设置为1。
比如图6中所示的,假设PE与比特位的对应关系如下:slot id是1的PE——对应第19字节的第1个比特位;slot id是2的PE——对应第19字节的第2个比特位;slot id是3的PE——对应第19字节的第3个比特位,以此类推。假设要将slot id是2的PE设置为报文的发送目的地址,则如图6中所示的,将第19字节的第2个比特位设置为1,其他比特位置为0。更进一步的,假设slot id是10的PE设置为报文的发送目的地址,那么就可以计算10%8,相除得到整数是1,余数是2,该整数是1,表明要从DNBMP的起始字节往后推一个字节,那就是图6中的第20个字节,余数是2,表明是在第20个字节的第2个比特位,那么将该比特位设置为1即可。
接着,CB侧的报文发送方法:本实施例提供一种可选的报文发送方式,但具体实施中并不局限于此。结合参见图4所示的场景,设每台PE的所需要的携带版本文件数据的加载报文的数量为N个;对于图4中所示的PE1、PE2和PE3,CB采用顺序发送,比如,PE1开始加载报文的时刻为t1,PE2开始加载报文的时刻为t2,PE3开始加载报文的时刻为t3,其中,t1<t2<t3,即CB先给PE1发送加载报文,过一段时间后再给PE2发送加载报文,再过一段时间后再给PE3发送加载报文。本实施例假设每台PE如果独立加载完成所用的总时间为T(即只有这一台PE加载),且设置t2-t1<T,t3–t1<T,假设CB的包转发率为r=N/T。
结合图7说明CB发送加载报文时的顺序安排:如图7所示,CB发送报文分为以下几段:
第一轮发送:
1、在t1~t2时间段,创建组播组1,填充PE1的DNBMP,即CB会在发送的加载报文中的DNBMP字段中的对应PE1的标志位设置为“用于表示PE1是报文发送的目的地址的信息”,如果将DNBMP字段称为标识字段,那么也就是说,将PE1的设备标识设置在该标识字段中,以用于表示PE1是报文目的地址;需要说明的是,在该t1~t2时间段内,报文仅发送至PE1,所以上述的组播组1中仅包括PE1。
此阶段CB发送的加载报文的个数n1为:n1=(t2-t1)*r;
2、在t2~t3时间段,创建组播组2,填充PE1和PE2的DNBMP,即CB会在发送的加载报文中的DNBMP字段中,将分别对应PE1和PE2的标志位设置为“用于表示PE1和PE2是报文发送的目的地址的信息”,也就是说,将PE1和PE2的设备标识设置在该标识字段中,以用于表示PE1和PE2均是报文目的地址;在该t2~t3时间段内,报文同时发送至PE1和PE2;
此阶段CB发送的加载报文的个数n2为:n2=(t3-t2)*r;
3、在t3~(t1+T)时间段,创建组播组3,填充PE1、PE2、PE3的DNBMP,也就是说,将PE1、PE2和PE3的设备标识均设置在标识字段中,以用于表示PE1、PE2和PE3均是报文目的地址;在该t3~(t1+T)时间段内,报文同时发送至PE1、PE2和PE3:
此阶段CB发送的加载报文的个数n3为:n3=((t1+T)-t3)*r;
此时,已经发送完N个报文,三台PE的状态如下:PE1加载完成,PE2差t1~t2时间段内的n1个报文,PE3差t1~t3时间段内的(n1+n2)个报文;
接着CB开始第二轮发送:
4、在(t1+T)~(t2+T)时间段,创建组播组4,填充PE2、PE3的DNBMP;在这段时间内,由于PE1已经加载完成,CB将不再将PE1作为报文的目的地址,而是仅将PE2和PE3的设备标识设置在标识字段中,以用于表示PE2和PE3均是报文目的地址;在该(t1+T)~(t2+T)时间段内,报文同时发送至PE2和PE3;
此阶段CB发送的加载报文的个数n4为:n4=(t2-t1)*r;
5、在(t2+T)~(t3+T)时间段,创建组播组5,填充PE3的DNBMP;在这段时间内,PE1和PE2都已经加载完成,CB仅将PE3的设备标识设置在标识字段中,以用于表示PE3是报文目的地址;在该(t2+T)~(t3+T)时间段内,报文发送至PE3;
此阶段CB发送的加载报文的个数n5为:n5=(t3-t2)*r;
此时三台设备才完全加载OK,实际用时:
t=(n1+n2+n3+n4+n5)/r=T+(t3-t1)
采用上述的CB侧报文发送方法,将可以相对于现有技术缩短报文的加载时间,即提高PE的启动速度;比如,如果采用单播方式加载,CB实际发送的报文数量是3N个,三台PE加载完成实际用时t=3N/r=3T。
最后,PE侧的报文处理方法:图4中所示的三台PE,在接收到CB发送的加载报文时,都可以采用同样的处理流程,即通过PE的转发芯片来对报文进行过滤。实际在处理时,PE会从接收到的加载报文中获取一些信息,比如标识字段设置的PE设备标识等,将这些信息与PE上预设的报文过滤规则中的对应信息进行比较,通过信息比较,来采取与比较结果对应的操作处理。本发明实施例并不限制上述的报文过滤规则的设置形式。
可选的,一种转发芯片确认报文是否是目标加载报文的方式如下:转发芯片在根据预设的报文过滤规则,从接收到的加载报文中选择目标加载报文时(该目标加载报文是目的地址是PE自身的报文),具体可以是:转发芯片获取加载报文中的标识字段设置的PE设备标识,该标识字段例如是上述的DNBMP字段;若PE设备标识与预设的报文过滤规则中的第一PE设备信息相同,则转发芯片据此确定所述加载报文是目标加载报文,上述的第一PE设备信息用于表示加载报文的目的地址是PE。
举例如下:假设应用场景是图4中的CB仅向PE1发送加载报文,那么CB要在DNBMP字段设置PE1的设备标识;可选的一种方式是,PE1、PE2和PE3,本场景下,将PE1对应的比特位设置为“1”,这就是上述的在DNBMP字段设置PE1的设备标识。
PE1在接收到报文后,其转发芯片获取的标识字段设置的PE设备标识就是PE1对应的DNBMP字段中的相应比特位的信息是“1”。预设的报文过滤规则中也设置了第一PE设备信息,该第一PE设备信息用于表示加载报文的目的地址是PE,比如可以设置为“PE1——1”,这与上面从加载报文获取的信息是相同的,就可以据此确定加载报文是目标加载报文,即该报文是发送给PE自己的。而如果是PE2接收到该报文,其获取的标识字段设置的PE设备标识也是信息“PE1——1”,但是PE2上的预设的报文过滤规则中的第一PE设备信息就是“PE2——1”,即PE2要选择的目标加载报文是PE2自己的,因此PE2会将上述报文判断为不是PE2的目标加载报文。
在具体实施中,PE上预设报文过滤规则,可以是PE在转发芯片的用户自定义域(User Defined Field,简称:UDF)中配置访问控制列表(Access Control Lists,简称:ACL),该规则是以ACL的形式呈现的,并且上述的标识字段设置的PE设备标识等信息也是存储在ACL中。更具体的,PE可以在上电初始化后,配置MAC地址表,将转发芯片的出端口设置为发往CPU,以将接收到的PE加载报文转发至CPU;并且,PE在转发芯片的UDF配置ACL。
可选的,该ACL的形式可以参见如下的表1:
表1肯定形式的ACL列表
在上述的表1中,是根据Rule中的信息,来执行对应所述信息的Action。如下,结合图6详细描述表1中的各字段的含义:offset表示从起始字节开始往右偏移的字节,比如,ETYPE字段,很明显从图6看到,该字段前边有16个字节,所以offset值是16,参见Rule中的第一行条件;length表示字段长度,结合图6,ETYPE字段的长度是2字节,所以表1中Rule中的第一行条件的length值是2;mask表示掩码,data表示掩码值,这个mask和data其实就是表示offset16个字节后,在2个字节的长度上的数值,所以,综合来看表1中的Rule中的第一行条件“16———2——0xffff——0xDCBA”,该条件表明需要满足“图6中的ETYPE字段的值,需要是OxDCBA”。
再参见Rule中的第二行条件“18+(Slot ID/8)———1——1>>(SlotID%8)——1”,其中,18+(Slot ID/8)表示从DNBMP字段起始字节开始需要查看“将板号slot id除以8得到的整数表示的字节”,比如,slot id是3,那么将板号slot id除以8得到的整数是0,那就是说18+0=18,即从起始字节(左侧DMAC处的起始字节)开始右移18个字节,然后看length=1,查看之后的1个字节内的内容,参见图6,起始右移18个字节的1个字节就是第19个字节,余数是3,就查看第19个字节的第3个比特位;假设slot id是10,那么将板号slotid除以8得到的整数是1,那就是说18+1=19,即从起始字节右移19个字节后的1个字节就是第20个字节,余数是2,就查看第20个字节中的第2个比特位;1>>(SlotID%8)就是指的根据余数在某字节内的第几个比特位。根据Rule中的第二行条件,该条件需要满足对应的比特位是1,即该比特位对应的PE被选择。
比如,在表1中,Rule中设置了两条信息,一条信息是,加载报文中的类型字段设置的报文类型信息是OxDCBA,可以称为目标类型信息,用于表示报文类型比如是加载报文;另一条信息是,加载报文的标识字段设置的PE设备标识是在本PE对应的标志位(比如某个比特位)上的值是1。
那么,PE在接收到加载报文时,可以先获取所述加载报文中的类型字段设置的报文类型信息,该报文类型信息比如就是OxDCBA,这与预设的报文过滤规则中的目标类型信息相同,即与表1中的第一条信息设置的OxDCBA相同,是加载报文;那么,PE接着从报文中获取标识字段设置的PE设备标识,比如PE1从报文的DNBMP字段的PE1对应的标志位获取值是1,这与报文过滤规则中的第一PE设备信息相同,即与表1中的第二条信息设置的值“1”相同,表明该报文的目的地址是本PE,则据此PE将该报文确定为目标加载报文。接着,PE执行表1中对应的Action,将报文发送至CPU。
可选的,另一种转发芯片确认报文是否是目标加载报文的方式如下:转发芯片在根据预设的报文过滤规则,从接收到的加载报文中选择目标加载报文时(该目标加载报文是目的地址是PE自身的报文),具体可以是:转发芯片获取加载报文中的标识字段设置的PE设备标识,该标识字段例如是上述的DNBMP字段;若PE设备标识与预设的报文过滤规则中的第二PE设备信息不同,则转发芯片据此确定所述加载报文是目标加载报文,上述的第二PE设备信息用于表示加载报文的目的地址是该PE之外的其他PE。
举例如下:结合表2来说明会更加清楚:
表2拒绝形式的ACL列表
参见表2,本实施例的Rule中的第二条信息中第二PE设备信息是“该PE对应的标志位的值是0”,如果以图7为例,那就是PE1上面的ACL中,其第二条信息中设置的是“PE1对应的标志位是0”,对应的Action是拒绝(Deny),意思是,PE1如果发现其接收到的报文中,DNBMP中的PE1对应的标志位是0,则表明该报文的目的地址不是该PE1,则PE1采取的处理Action是拒绝接收,丢弃该报文,不将该报文发送给CPU。那么反过来看,如果PE1接收到的加载报文中,获取所述加载报文中的标识字段设置的PE设备标识是PE1的标志位是1,即该PE设备标识与ACL中的第二PE设备信息(PE1——0)是不同的,那么就表明该加载报文是目标加载报文。从上面可以看到,其实表2中的ACL中设置的第二PE设备信息是用于表示所述加载报文的目的地址不是该PE自身,那也就是该PE之外的其他PE。
在表2所对应的实施方式中,转发芯片同样可以在获取加载报文中的标识字段设置的PE设备标识之前,还获取加载报文中的类型字段设置的报文类型信息,当确定所述报文类型信息与预设的报文过滤规则中的目标类型信息相同时,确定该报文需要继续根据报文过滤规则来确定其目的地址是否是该PE本身。
本发明实施例提供的报文处理方法,通过由PE中的硬件即转发芯片来进行报文过滤,处理速度将大大提高,并且硬件处理后相应减轻了CPU的负担,PE也较为稳定,较不容易出现加载失败的情况;这样,PE在接收到CB的发送版本文件的加载报文后,能够快速识别出该报文是属于PE的,并能够快速地成功加载,从而提高PE的启动速度。
实施例三
本发明实施例提供了一种端口扩展板PE,该PE可以执行本发明任意实施例的方法,本实施例仅对该PE的结构做简单说明,其具体的工作原理可以结合参见方法实施例。
可以结合参见图3,图3中的转发芯片,用于接收加载报文,所述加载报文携带所述PE待加载的文件数据;并且,转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,并将所述目标加载报文的所述文件数据发送至所述中央处理单元,所述目标加载报文的目的地址是所述PE;而中央处理单元,可以用于对从转发芯片接收到的报文进行处理。
具体的,可以根据转发芯片的功能将芯片划分为多个单元,参见图8,但是需要说明的是,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
图8为本发明实施例提供的一种端口扩展板PE的结构示意图,如图8所示,该PE可以包括:转发芯片31和中央处理单元32,转发芯片31包括:报文接收单元311、报文过滤单元312和报文发送单元313;其中,
报文接收单元311,用于接收加载报文,所述加载报文携带所述PE待加载的文件数据;
报文过滤单元312,用于根据预设的报文过滤规则,从所述报文接收单元接收到的所述加载报文中选择目标加载报文,所述目标加载报文的目的地址是所述PE;
报文发送单元313,用于将所述报文过滤单元得到的所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理。
进一步的,报文过滤单元312,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第一PE设备信息相同,则确定所述加载报文是所述目标加载报文,所述第一PE设备信息用于表示所述加载报文的目的地址是所述PE。
进一步的,报文过滤单元312,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第二PE设备信息不同,则确定所述加载报文是所述目标加载报文,所述第二PE设备信息用于表示所述加载报文的目的地址是所述PE之外的其他PE。
进一步的,报文过滤单元312,还用于在获取所述加载报文中的标识字段设置的PE设备标识之前,获取所述加载报文中的类型字段设置的报文类型信息,并确定所述报文类型信息与所述预设的报文过滤规则中的目标类型信息相同,所述目标类型信息用于表示需要根据所述报文过滤规则确定所述加载报文是否是所述目标记载报文的报文类型。
图9为本发明实施例提供的另一种端口扩展板PE的结构示意图,在图8所示结构的基础上,该PE还包括:存储单元33,用于在所述报文接收单元接收加载报文之前,在用户自定义域中,以访问控制列表的方式存储所述预设的报文过滤规则。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种报文处理方法,其特征在于,所述方法由端口扩展板PE执行,所述PE包括转发芯片和中央处理单元;所述方法包括:
所述转发芯片接收加载报文,所述加载报文携带所述PE待加载的文件数据;
所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,并将所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理;所述目标加载报文的目的地址是所述PE。
2.根据权利要求1所述的方法,其特征在于,所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,包括:
所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识;
若所述PE设备标识与所述预设的报文过滤规则中的第一PE设备信息相同,则所述转发芯片确定所述加载报文是所述目标加载报文,所述第一PE设备信息用于表示所述加载报文的目的地址是所述PE。
3.根据权利要求1所述的方法,其特征在于,所述转发芯片根据预设的报文过滤规则,从接收到的所述加载报文中选择目标加载报文,包括:
所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识;
若所述PE设备标识与所述预设的报文过滤规则中的第二PE设备信息不同,则所述转发芯片确定所述加载报文是所述目标加载报文,所述第二PE设备信息用于表示所述加载报文的目的地址是所述PE之外的其他PE。
4.根据权利要求2或3所述的方法,其特征在于,在所述转发芯片获取所述加载报文中的标识字段设置的PE设备标识之前,还包括:
所述转发芯片获取所述加载报文中的类型字段设置的报文类型信息,并确定所述报文类型信息与所述预设的报文过滤规则中的目标类型信息相同,所述目标类型信息用于表示需要根据所述报文过滤规则确定所述加载报文是否是所述目标加载报文的报文类型。
5.根据权利要求1所述的方法,其特征在于,在所述转发芯片接收加载报文之前,还包括:
所述转发芯片在用户自定义域中,以访问控制列表的方式存储所述预设的报文过滤规则。
6.一种端口扩展板PE,其特征在于,包括:转发芯片和中央处理单元;
所述转发芯片包括:
报文接收单元,用于接收加载报文,所述加载报文携带所述PE待加载的文件数据;
报文过滤单元,用于根据预设的报文过滤规则,从所述报文接收单元接收到的所述加载报文中选择目标加载报文,所述目标加载报文的目的地址是所述PE;
报文发送单元,用于将所述报文过滤单元得到的所述目标加载报文的所述文件数据发送至所述中央处理单元进行处理。
7.根据权利要求6所述的PE,其特征在于,
所述报文过滤单元,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第一PE设备信息相同,则确定所述加载报文是所述目标加载报文,所述第一PE设备信息用于表示所述加载报文的目的地址是所述PE。
8.根据权利要求6所述的PE,其特征在于,
所述报文过滤单元,具体用于获取所述加载报文中的标识字段设置的PE设备标识;若所述PE设备标识与所述预设的报文过滤规则中的第二PE设备信息不同,则确定所述加载报文是所述目标加载报文,所述第二PE设备信息用于表示所述加载报文的目的地址是所述PE之外的其他PE。
9.根据权利要求7或8所述的PE,其特征在于,
所述报文过滤单元,还用于在获取所述加载报文中的标识字段设置的PE设备标识之前,获取所述加载报文中的类型字段设置的报文类型信息,并确定所述报文类型信息与所述预设的报文过滤规则中的目标类型信息相同,所述目标类型信息用于表示需要根据所述报文过滤规则确定所述加载报文是否是所述目标记载报文的报文类型。
10.根据权利要求6所述的PE,其特征在于,所述转发芯片,还包括:
存储单元,用于在所述报文接收单元接收加载报文之前,在用户自定义域中,以访问控制列表的方式存储所述预设的报文过滤规则。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410313154.6A CN105337851B (zh) | 2014-07-02 | 2014-07-02 | 一种报文处理方法及端口扩展板 |
PCT/CN2015/083142 WO2016000627A1 (en) | 2014-07-02 | 2015-07-02 | Message processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410313154.6A CN105337851B (zh) | 2014-07-02 | 2014-07-02 | 一种报文处理方法及端口扩展板 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337851A CN105337851A (zh) | 2016-02-17 |
CN105337851B true CN105337851B (zh) | 2018-11-27 |
Family
ID=55018465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410313154.6A Active CN105337851B (zh) | 2014-07-02 | 2014-07-02 | 一种报文处理方法及端口扩展板 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105337851B (zh) |
WO (1) | WO2016000627A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259228B (zh) * | 2017-12-22 | 2021-06-08 | 新华三技术有限公司 | 一种网络设备虚拟化***及其设备配置方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184109A (zh) * | 2011-04-12 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种Boot软件自动升级控制方法和装置 |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
CN103516609A (zh) * | 2013-09-17 | 2014-01-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
CN103763135A (zh) * | 2014-01-06 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种pe流量调度方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446503C (zh) * | 2005-03-22 | 2008-12-24 | 杭州华三通信技术有限公司 | 一种增强型vpn网络优化的方法及设备 |
JP5022863B2 (ja) * | 2007-11-01 | 2012-09-12 | 株式会社東芝 | 利用者のアドレス情報を登録する端末、方法およびプログラム |
CN102281181B (zh) * | 2010-06-08 | 2015-01-28 | 中兴通讯股份有限公司 | 扩展端口桥设备中实现多播转发的方法、装置及*** |
CN102143026B (zh) * | 2011-04-29 | 2014-03-12 | 杭州华三通信技术有限公司 | 一种在虚拟二层网络中避免环路的方法 |
CN103166874B (zh) * | 2013-03-25 | 2016-03-02 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
-
2014
- 2014-07-02 CN CN201410313154.6A patent/CN105337851B/zh active Active
-
2015
- 2015-07-02 WO PCT/CN2015/083142 patent/WO2016000627A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184109A (zh) * | 2011-04-12 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种Boot软件自动升级控制方法和装置 |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
CN103516609A (zh) * | 2013-09-17 | 2014-01-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
CN103763135A (zh) * | 2014-01-06 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种pe流量调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
《H3C核心交换机智能弹性架构技术原理及应用》;王春璞;《科技信息》;20121215(第35期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105337851A (zh) | 2016-02-17 |
WO2016000627A1 (en) | 2016-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109698788B (zh) | 流量转发方法、装置及计算机可读介质 | |
US10931580B2 (en) | Packet processing method and network device | |
US9838462B2 (en) | Method, apparatus, and system for data transmission | |
US10148595B2 (en) | Handling dynamic port/LAG changes without breaking communication in an extended bridge | |
US9219698B2 (en) | Providing a layer-3 interface | |
US11233724B2 (en) | Multicast data packet processing method, and apparatus | |
WO2014131350A1 (en) | Multicasting a data message in a multi-site network | |
JP2017520214A (ja) | フローエントリ構成の方法、装置及びシステム | |
US10348603B1 (en) | Adaptive forwarding tables | |
EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
US8432833B2 (en) | Auto MEP ID assignment within CFM maintenance association | |
US10250485B2 (en) | Broadcast message translation in a network device | |
JP7124206B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
EP4099648A1 (en) | Method for processing segment id, and apparatus | |
CN109150638A (zh) | 一种路由管理方法及装置 | |
WO2021082812A1 (zh) | 报文的发送方法和第一网络设备 | |
US20170289035A1 (en) | Method for determining management domain, network device, and virtual cluster | |
CN112787922A (zh) | 一种报文处理的方法、网络节点和*** | |
US20230115034A1 (en) | Packet verification method, device, and system | |
CN112887229A (zh) | 一种会话信息同步方法及装置 | |
US9712458B2 (en) | Consolidation encodings representing designated receivers in a bit string | |
US10103944B2 (en) | Purposely corrupted packet for connection information | |
EP4068705A1 (en) | Packet transmission method and apparatus and storage medium | |
CN111464443B (zh) | 基于服务功能链的报文转发方法、装置、设备及存储介质 | |
CN105337851B (zh) | 一种报文处理方法及端口扩展板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |