报文发送方法、装置及存储介质与流程

文档序号:24815365发布日期:2021-04-27 13:46阅读:196来源:国知局
报文发送方法、装置及存储介质与流程

1.本申请涉及技术领域,具体而言,涉及一种报文发送方法、装置及存储介质。


背景技术:

2.网络的负载平衡(network load balancing,nlb)群集技术会使用大量的广播包,交换芯片中的各个端口下的节点都会收到大量的广播报文,这不仅会导致资源浪费,而且会对网络性能要求较高的应用产生不利的影响。为了解决该问题,需要对交换芯片端口进行隔离,以保证被隔离的两个端口之间不会有数据交互且不会产生单播,多播和广播。
3.然而,在现有的端口隔离技术中,若交换芯片通过外接端口接收到的报文中携带虚拟局域网标签(virtual local area neork tag,vlan tag)的原始值,那么,交换芯片会将该报文中的vlan tag的原始值修改之后再转发出去,由于从交换芯片转发出去的报文中未携带vlan tag的原始值,那么从交换芯片转发出去的报文已经失去意义,继而导致网络流量异常。


技术实现要素:

4.鉴于此,本申请实施例的目的在于提供一种报文发送方法、装置及存储介质,以在实现端口隔离的基础上,保证网络流量正常。
5.第一方面,本申请实施例提供一种报文发送方法,应用于交换芯片,所述交换芯片包括:外接端口,所述交换芯片与中央处理器连接,所述方法包括:确定当前接收到报文的外接端口的端口标识;在所述报文中添加所述端口标识,得到待转发报文;将所述待转发报文发送给所述中央处理器;接收所述中央处理器基于所述待转发报文返回的反馈报文,所述反馈报文包括所述端口标识;通过与所述端口标识对应的外接端口外发所述反馈报文。
6.在上述实现过程中,交换芯片在当前接收到的报文中添加接收该报文的外接端口的端口标识,得到待转发报文之后,再将该待转发报文发送给处理器,以使处理器能够确定出待转发报文中的所述端口标识。与当前接收到的报文相比,待转发报文仅是新增一个端口标识,未修改接收到的报文中的虚拟局域网标签(virtual local area neork tag,vlan tag)的原始值,继而不会影响报文的正常处理。通过接收处理器基于待转发报文返回的反馈报文,由于反馈报文中包括所述端口标识,交换芯片能通过与所述端口标识对应的外接端口外发所述反馈报文,实现从哪个端口接收报文,对应的反馈报文也从相应端口外发出去,继而实现端口隔离。
7.基于第一方面,在一种可能的设计中,所述交换芯片还包括:中转端口;所述交换芯片通过所述中转端口与所述中央处理器连接;所述将所述待转发报文发送给所述中央处理器,包括:将所述待转发报文通过所述中转端口发送给所述中央处理器;对应的,所述接收所述中央处理器基于所述待转发报文返回的反馈报文,包括:通过所述中转端口接收所述反馈报文。
8.在上述实现过程中,通过所述交换芯片的中转端口将待转发报文传输给处理器,
并接收处理器返回的反馈报文,继而能在处理器只能与交换芯片中的一个端口直接连接时,且交换芯片的外接端口的数量为至少两个的情况下,也能保证交换芯片的外接端口与处理器之间正常发送报文。
9.基于第一方面,在一种可能的设计中,所述在所述报文中添加所述端口标识,得到待转发报文,包括:在所述报文中新增一个目标字段;在所述目标字段中写入所述端口标识,得到所述待转发报文。
10.在上述实现过程中,通过在报文中新增一个目标字段,并在目标字段中写入端口标识,得到待转发报文,以使处理器能准确地确定出待转发报文中的端口标识为新增的标识。
11.基于第一方面,在一种可能的设计中,所述通过所述对应的外接端口外发所述反馈报文,包括:将所述反馈报文中的所述端口标识删除,得到处理后的反馈报文;通过所述对应的外接端口外发所述处理后的反馈报文。
12.在上述实现过程中,通过将所述反馈报文中的所述端口标识删除之后,再进行外发,以使外发的报文符合协议标准,避免外发的报文中由于携带端口标识而无法被正常转发。
13.第二方面,本申请实施例提供一种报文发送方法,应用于中央处理器,所述中央处理器与交换芯片连接,所述交换芯片包括:外接端口,所述方法包括:接收所述交换芯片发送的报文;其中,所述报文中包括:所述交换芯片中接收所述报文的外接端口的端口标识;将所述报文中的所述端口标识删除之后进行处理,得到处理后的报文;在所述处理后的报文中添加所述端口标识,得到反馈报文;将所述反馈报文发送给所述交换芯片。
14.在上述实现过程中,通过在处理后的报文中添加端口标识,得到反馈报文,并将反馈报文发送给交换芯片,以使交换芯片能够根据反馈报文中的端口标识,将反馈报文从与端口标识对应的端口外发出去,实现从哪个端口接收报文,对应的反馈报文也从相应端口外发出去,继而实现端口隔离。
15.基于第二方面,在一种可能的设计中,所述将所述处理后的报文中添加所述端口标识,得到反馈报文,包括:在所述处理后的报文中新增一个目标字段;在所述目标字段中写入所述端口标识,得到所述反馈报文。
16.在上述实现过程中,通过在处理后的报文中新增一个目标字段,并在目标字段中写入端口标识,得到反馈报文,以使交换芯片能准确地确定出反馈报文中的端口标识为新增的标识。
17.第三方面,本申请实施例提供一种报文发送方法,应用于网络设备,所述网络设备包括:交换芯片和中央处理器,所述交换芯片包括:外接端口,所述交换芯片与所述中央处理器连接,所述方法包括:所述交换芯片确定当前接收到报文的外接端口的端口标识;所述交换芯片在所述报文中添加所述端口标识,得到待转发报文;所述交换芯片将所述待转发报文发送给所述中央处理器;所述中央处理器接收所述待转发报文;所述中央处理器将所述待转发报文中的所述端口标识删除之后进行处理,得到处理后的报文;所述中央处理器在所述处理后的报文中添加所述端口标识,得到反馈报文;所述中央处理器将所述反馈报文发送给所述交换芯片;所述交换芯片接收所述反馈报文;所述交换芯片通过与所述端口标识对应的外接端口外发所述反馈报文。
18.在上述实现过程中,交换芯片在当前接收到的报文中添加接收该报文的外接端口的端口标识,得到待转发报文之后,再将该待转发报文发送给处理器,以使处理器能够确定出待转发报文中的所述端口标识,与当前接收到的报文相比,待转发报文仅是增加一个端口标识,未修改当前接收到的报文中的原始vlan tag的值,继而不会影响报文的正常处理;通过接收处理器基于待转发报文返回的反馈报文,由于反馈报文中包括所述端口标识,交换芯片能通过与所述端口标识对应的外接端口外发所述反馈报文,实现从哪个端口接收报文,对应的反馈报文也从相应端口外发出去,继而实现端口隔离。
19.第四方面,本申请实施例提供一种报文发送装置,应用于交换芯片,所述交换芯片包括:外接端口,所述交换芯片与中央处理器连接,所述装置包括:标识确定单元,用于确定当前接收到报文的外接端口的端口标识;添加单元,用于在所述报文中添加所述端口标识,得到待转发报文;转发单元,用于将所述待转发报文发送给所述中央处理器;反馈报文接收单元,用于接收所述中央处理器基于所述待转发报文返回的反馈报文,所述反馈报文包括所述端口标识;外发单元,用于通过与所述端口标识对应的外接端口外发所述反馈报文。
20.基于第四方面,在一种可能的设计中,所述交换芯片还包括:中转端口;所述交换芯片通过所述中转端口与所述中央处理器连接;所述转发单元,具体用于将所述待转发报文通过所述中转端口发送给所述中央处理器;对应的,所述反馈报文接收单元,具体用于通过所述中转端口接收所述反馈报文。
21.基于第四方面,在一种可能的设计中,所述添加单元,具体用于在所述报文中新增一个目标字段;以及在所述目标字段中写入所述端口标识,得到所述待转发报文。
22.基于第四方面,在一种可能的设计中,所述外发单元,具体用于将所述反馈报文中的所述端口标识删除,得到处理后的反馈报文;以及通过所述对应的外接端口外发所述处理后的反馈报文。
23.第五方面,本申请实施例提供一种报文发送装置,应用于中央处理器,所述中央处理器与交换芯片连接,所述交换芯片包括:外接端口,所述装置包括:报文接收单元,用于接收所述交换芯片发送的报文;其中,所述报文中包括:所述交换芯片中接收所述报文的外接端口的端口标识;第一处理单元,用于将所述报文中的所述端口标识删除之后进行处理,得到处理后的报文;第二处理单元,用于在所述处理后的报文中添加所述端口标识,得到反馈报文;反馈单元,用于将所述反馈报文发送给所述交换芯片。
24.基于第五方面,在一种可能的设计中,所述第二处理单元,具体用于在所述处理后的报文中新增一个目标字段;以及在所述目标字段中写入所述端口标识,得到所述反馈报文。
25.第六方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面、第二方面或第三方面所述的方法。
26.本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
27.为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1为本申请实施例提供的网络设备的结构示意图。
29.图2为本申请实施例提供的报文发送方法的流程示意图。
30.图3为本申请实施例提供的报文发送装置的结构示意图。
31.图4为本申请实施例提供的另一种报文发送装置的结构示意图。
32.图标:310

标识确定单元;320

添加单元;330

转发单元;340

反馈报文接收单元;350

外发单元;410

报文接收单元;420

第一处理单元;430

第二处理单元;440

反馈单元。
具体实施方式
33.下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
34.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
35.请参照图1,图1为本申请实施例提供的网络设备的结构示意图,所述网络设备包括:交换芯片和中央处理器,所述交换芯片包括外接端口,所述交换芯片与所述中央处理器连接。
36.请参照图2,图2为本申请实施例提供的一种报文发送方法的流程示意图,所述方法应用于图1所述的网络设备,下面将对图2所示的流程进行详细阐述,所述方法包括步骤:s11

s19。
37.s11:所述交换芯片确定当前接收到报文的外接端口的端口标识。
38.s12:所述交换芯片在所述报文中添加所述端口标识,得到待转发报文。
39.s13:所述交换芯片将所述待转发报文发送给所述中央处理器。
40.s14:所述中央处理器接收所述待转发报文。
41.s15:所述中央处理器将所述待转发报文中的所述端口标识删除之后进行处理,得到处理后的报文。
42.s16:所述中央处理器在所述处理后的报文中添加所述端口标识,得到反馈报文。
43.s17:所述中央处理器将所述反馈报文发送给所述交换芯片。
44.s18:所述交换芯片接收所述反馈报文。
45.s19:所述交换芯片通过与所述端口标识对应的外接端口外发所述反馈报文。
46.下面对上述方法进行详细介绍。
47.s11:所述交换芯片确定当前接收到报文的外接端口的端口标识。
48.在实际实施过程中,s11可以按照如下方式实施,在所述交换芯片通过一外接端口接收到报文之后,确定接收到所述报文的外接端口的端口标识。
49.可以理解的是,所述交换芯片中的每个外接端口均具有端口标识,该交换芯片中的不同外接端口的端口标识不同,以便于对外接端口进行区分。
50.在实施例中,外接端口的数量为至少一个。
51.其中,在实施例中,端口标识为虚拟局域网标签(virtual local area neork tag,vlan tag)的值。
52.在接收到报文,以及确定出端口标识之后,执行步骤s12。
53.s12:所述交换芯片在所述报文中添加所述端口标识,得到待转发报文。
54.作为一种实施方式,s12包括步骤:a1和a2。
55.a1:所述交换芯片在所述报文中新增一个目标字段。
56.在实际实施过程中,a1可以按照如下方式实施,所述交换芯片在接收到报文之后,对所述报文进行解析,在解析后的报文中与vlan tag字段相邻的位置处新增一个目标字段。其中,在本实例中,所述目标字段的格式与vlan tag字段相同。
57.在其他实施例中,也可以在解析后的报文中的其他位置出新增一个目标字段。
58.a2:所述交换芯片在所述目标字段中写入所述端口标识,得到所述待转发报文。
59.作为一种实施方式,s12可以按照如下方式实施,直接在所述报文的vlan tag字段中写入所述端口标识,值得一提的是,若vlan tag字段不为空,则在所述vlan tag字段中写入的端口标识不会覆盖vlan tag字段中已有的值。
60.在得到待转发报文之后,执行步骤s13。
61.s13:所述交换芯片将所述待转发报文发送给所述中央处理器。
62.所述交换芯片还包括:中转端口;作为一种实施方式,s13包括:所述交换芯片通过所述中转端口将所述待转发报文发送给所述中央处理器。
63.若交换芯片通过一外接端口与所述中央处理器直接连接;作为一种实施方式,s13可以按照如下方式实施,所述交换芯片通过交换芯片中与处理器直接连接的外接端口,将所述待转发报文发送给处理器。
64.s14:所述中央处理器接收所述待转发报文。
65.若所述交换芯片还包括:中转端口;作为一种实施方式,s14可以按照如下方式实施,所述中央处理器接收所述中转端口发送的待转发报文。
66.若交换芯片通过一外接端口与所述中央处理器直接连接;作为一种实施方式,s14可以按照如下方式实施,处理器接收交换芯片中与处理器直接连接的外接端口发送的待转发报文。
67.处理器在接收到待转发报文之后,执行步骤s15。
68.s15:所述中央处理器将所述待转发报文中的所述端口标识删除之后进行处理,得到处理后的报文。
69.若所述待转发报文中包括所述目标字段,则s15可以按照如下方式实施,对所述待转发报文进行解析,得到解析后的报文,将所述解析后的报文中的所述目标字段删除之后进行处理,得到处理后的报文。
70.若所述待转发报文中不包括所述目标字段,则s15可以按照如下方式实施,对所述待转发报文进行解析,得到解析后的报文,将所述解析后的报文中的所述端口标识删除之后进行处理,得到处理后的报文。值得一提的是,在这种实施方式中,不会将携带所述端口标识的字段删除。
71.s16:所述中央处理器在所述处理后的报文中添加所述端口标识,得到反馈报文。
72.作为一种实施方式,s16包括步骤:b1和b2。
73.b1:所述中央处理器在所述处理后的报文中新增一个目标字段。
74.b2:所述中央处理器在所述目标字段中写入所述端口标识,得到所述反馈报文。
75.其中,s16的具体实施方式可以参照步骤s12,因此,在此不再赘述。
76.所述中央处理器在得到所述反馈报文之后,执行步骤s17。
77.s17:所述中央处理器将所述反馈报文发送给所述交换芯片。
78.若所述交换芯片还包括:中转端口,s17可以按照如下方式实施,所述中央处理器将所述反馈报文发送给中转端口。
79.若交换芯片通过一外接端口与所述中央处理器直接连接;作为一种实施方式给,s17也可也按照如下方式实施,所述中央处理器将所述反馈报文发送给交换芯片中与处理器直接连接的一个外接端口。
80.s18:所述交换芯片接收所述反馈报文。
81.若所述交换芯片还包括:中转端口;作为一种实施方式,s18包括:所述交换芯片通过所述中转端口接收所述反馈报文。
82.若交换芯片通过一外接端口与所述中央处理器直接连接;作为一种实施方式,s18可以按照如下方式实施,所述交换芯片通过与所述中央处理器直接连接的外接端口接收所述反馈报文。
83.交换芯片在接收到所述反馈报文之后,执行步骤s19。
84.s19:所述交换芯片通过与所述端口标识对应的外接端口外发所述反馈报文。
85.在实际实施过程中,s19可以按照如下方式实施,对所述反馈报文进行解析,确定出解析后的报文中的所述端口标识,并确定解析后的报文中是否包含目标字段,若不包含,则根据所述端口标识,从交换芯片的外接端口中,确定出与所述端口标识对应的外接端口,继而通过所述对应的外接端口外发所述反馈报文。
86.作为一种实施方式,s19包括步骤:c1和c2。
87.c1:将所述反馈报文中的所述端口标识删除,得到处理后的反馈报文。
88.若所述反馈报文中包括目标字段,则s19可以按照如下方式实施,对所述反馈报文进行解析,确定出所述反馈报文中的目标字段,以及目标字段中的端口标识,并将解析后的报文中的所述目标字段删除,得到处理后的反馈报文。
89.若所述反馈报文中不包括目标字段,则s19可以按照如下方式实施,对所述反馈报文进行解析,从解析后的报文中确定出端口标识,并从解析后的报文中,将包含端口标识的字段中的端口标识删除,得到处理后的反馈报文。
90.在确定出反馈报文中携带的端口标识,以及得到处理后的反馈报文之后,执行步骤c2。
91.c2:通过所述对应的外接端口外发所述处理后的反馈报文。
92.根据所述端口标识,从交换芯片的外接端口中,确定出与所述端口标识对应的外接端口,继而通过所述对应的外接端口外发所述处理后的反馈报文。
93.请参照图3,图3是本申请实施例提供的一种报文发送装置的结构框图。所述装置应用于交换芯片,所述交换芯片包括:外接端口,所述交换芯片与中央处理器连接,下面将对图3所示的结构框图进行阐述,所示装置包括:
94.标识确定单元310,用于确定当前接收到报文的外接端口的端口标识。
95.添加单元320,用于在所述报文中添加所述端口标识,得到待转发报文。
96.转发单元330,用于将所述待转发报文发送给所述中央处理器。
97.反馈报文接收单元340,用于接收所述中央处理器基于所述待转发报文返回的反馈报文,所述反馈报文包括所述端口标识。
98.外发单元350,用于通过与所述端口标识对应的外接端口外发所述反馈报文。
99.作为一种实施方式,所述交换芯片还包括:中转端口;所述交换芯片通过所述中转端口与所述中央处理器连接;所述转发单元330,具体用于将所述待转发报文通过所述中转端口发送给所述中央处理器;对应的,所述反馈报文接收单元340,具体用于通过所述中转端口接收所述反馈报文。
100.作为一种实施方式,所述添加单元320,具体用于在所述报文中新增一个目标字段;以及在所述目标字段中写入所述端口标识,得到所述待转发报文。
101.作为一种实施方式,所述外发单元350,具体用于将所述反馈报文中的所述端口标识删除,得到处理后的反馈报文;以及通过所述对应的外接端口外发所述处理后的反馈报文。
102.请参照图4,图4是本申请实施例提供的一种报文发送装置的结构框图。所述装置应用于中央处理器,所述中央处理器与交换芯片连接,所述交换芯片包括:外接端口,下面将对图4所示的结构框图进行阐述,所示装置包括:
103.报文接收单元410,用于接收所述交换芯片发送的报文;其中,所述报文中包括:所述交换芯片中接收所述报文的外接端口的端口标识。
104.第一处理单元420,用于将所述报文中的所述端口标识删除之后进行处理,得到处理后的报文。
105.第二处理单元430,用于在所述处理后的报文中添加所述端口标识,得到反馈报文。
106.反馈单元440,用于将所述反馈报文发送给所述交换芯片。
107.作为一种实施方式,所述第二处理单元430,具体用于在所述处理后的报文中新增一个目标字段;以及在所述目标字段中写入所述端口标识,得到所述反馈报文。
108.本实施例对的各功能单元实现各自功能的过程,请参见上述图1

2所示实施例中描述的内容,此处不再赘述。
109.此外,本申请实施例还提供了一种存储介质,在该存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本申请任一项实施方式所提供的方法。
110.综上所述,本申请各实施例提出的报文发送方法、装置及存储介质,交换芯片在当前接收到的报文中添加接收该报文的外接端口的端口标识,得到待转发报文之后,再将该待转发报文发送给处理器,以使处理器能够确定出待转发报文中的所述端口标识,与当前接收到的报文相比,待转发报文仅是新增一个端口标识,未修改接收到的报文中的vlan tag的原始值,继而不会影响报文的正常处理;通过接收处理器基于待转发报文返回的反馈报文,由于反馈报文中包括所述端口标识,交换芯片能通过与所述端口标识对应的外接端口外发所述反馈报文,实现从哪个端口接收报文,对应的反馈报文也从相应端口外发出去,
继而实现端口隔离。
111.在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
112.另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1