【技术实现步骤摘要】
分布式设备中的报文处理方法和分布式设备
本申请涉及计算机及通信
,尤其涉及一种分布式设备中的报文处理方法及一种分布式设备。
技术介绍
为了提高报文转发设备的处理能力,越来越多的作为报文转发节点的网络设备采用分布式处理构架。分布式处理构架通过横向扩展的方式扩展性能,即通过增加设备中具有类似功能的并行处理单元的数量来提升性能。采用分布式处理构架的网络设备包括但不限于路由器、交换机、防火墙、和服务器负载均衡器等。然而,分布式处理构架的应用场景存在一定局限。这种局限体现在设备性能提升的效果与网络设备工作所依赖的数据的性质具有很强的相关性。对于路由器或交换机来说,其工作所依赖的数据主要是路由表(英文:RoutingInfoBase,RIB)和转发表(英文:ForwardInformationBase,FIB)。路由表和转发表中保存的主要是网络拓扑信息。路由表和转发表中保存的数据的特点是变化速度不快(一般变化以秒计),数据量不大(路由表中表项的数量范围是几万条到几十万条,转发表中表项数量更少)。路由器或交换机在其中包含的每个处理单元上同步地复制一份路由表、转发表或者MA ...
【技术保护点】
1.一种分布式设备中的报文处理方法,所述分布式设备部署于第一网络和第二网络之间,所述分布式设备包括第一分流单元、第二分流单元、以及至少两个处理单元,所述至少两个处理单元中的每个处理单元与所述第一分流单元和所述第二分流单元连接,其特征在于,所述方法包括:所述第一分流单元从所述第一网络接收第一报文,根据所述第一报文的数据流标识和第一分流算法,从所述至少两个处理单元中选择第一处理单元,所述第一报文的数据流标识至少包括所述第一报文的源互联网协议IP地址、目的IP地址、源端口号和目的端口号;所述第一分流单元将所述第一报文发送给所述第一处理单元;所述第一处理单元为所述第一报文分配一个I ...
【技术特征摘要】
1.一种分布式设备中的报文处理方法,所述分布式设备部署于第一网络和第二网络之间,所述分布式设备包括第一分流单元、第二分流单元、以及至少两个处理单元,所述至少两个处理单元中的每个处理单元与所述第一分流单元和所述第二分流单元连接,其特征在于,所述方法包括:所述第一分流单元从所述第一网络接收第一报文,根据所述第一报文的数据流标识和第一分流算法,从所述至少两个处理单元中选择第一处理单元,所述第一报文的数据流标识至少包括所述第一报文的源互联网协议IP地址、目的IP地址、源端口号和目的端口号;所述第一分流单元将所述第一报文发送给所述第一处理单元;所述第一处理单元为所述第一报文分配一个IP地址、以及一个端口号,分配的所述端口号满足条件:根据地址转换后的所述第一报文的反向报文的数据流标识和第二分流算法,从所述至少两个处理单元中选择出的第二处理单元与所述第一处理单元为同一处理单元,所述地址转换后的所述第一报文的源端口号为所述分配的端口号,所述地址转换后的所述第一报文的源IP地址和目的IP地址中的一个为所述分配的IP地址,所述第二分流算法是所述第二分流单元对所述地址转换后的所述第一报文的反向报文进行分流时使用的算法;所述第一处理单元对所述第一报文进行地址转换,从而得到所述地址转换后的第一报文,所述地址转换包括将所述第一报文的源端口号替换为所述分配的所述端口号;所述第一处理单元向所述第二分流单元发送所述地址转换后的第一报文;所述第二分流单元向所述第二网络发送所述地址转换后的第一报文。2.根据权利要求1所述的方法,其特征在于,所述第一网络是私网,所述第二网络是公网,所述第二分流算法是指将输入报文的源IP地址、目的IP地址、源端口号、协议号,以及第一端口号按照第一方式指示的顺序输入预定哈希算法后,将所述哈希算法的结果与调整值求和后,对求和结果执行对N取余运算,将取余运算结果对应的处理单元作为选择出的处理单元,所述调整值为所述输入报文的目的端口号减去第一端口号得到的差值,N为所述分布式设备包含的处理单元的数目,所述至少两个处理单元中的每个处理单元分别对应0至N-1中的一个值;所述第一处理单元为所述第一报文分配一个IP地址、以及一个端口号,包括:所述第一处理单元为所述第一报文分配预先配置的公网IP地址作为分配的IP地址;所述第一处理单元从所述第一处理单元对应的端口段中选择一个端口号作为第二端口号,所述第一处理单元与所述至少两个处理单元中的其他处理单元分配的IP地址相同、且第一处理单元与所述至少两个处理单元中的其他处理单元对应的端口段互不重叠;所述第一处理单元按照第二方式指示的顺序,将所述地址转换后的所述第一报文的源IP地址、目的IP地址、目的端口号,以及所述第二端口号输入所述预定哈希算法,得到哈希运算结果,所述地址转换后的所述第一报文的源IP地址为所述分配的IP地址,所述第二方式指示的顺序中源IP地址与所述第一方式指示的顺序中目的IP地址的位置相同、目的IP地址与所述第一方式指示的顺序中源IP地址的位置相同、目的端口号与所述第一方式指示的顺序中源端口号的位置相同;所述第一处理单元求取所述哈希运算结果对N的取余运算结果;所述第一处理单元求取所述第一处理单元对应的0至N-1中的值与取余运算结果之间的差值;所述第一处理单元为所述第一报文分配所述第二端口号和所述差值之和作为所述分配的端口号。3.根据权利要求2所述的方法,其特征在于,所述从对应的端口段中选择一个端口号作为第二端口号,包括:所述第一处理单元按照预定数量的端口号划分为一组的方式,将所述端口号段划分为至少一个端口号组;随机从所述至少一个端口号组中选取一个端口号组,确定选取的端口号组中预定位置的端口号为所述第二端口号。4.根据权利要求2所述的方法,其特征在于,所述从对应的端口段中选择一个端口号作为第二端口号,包括:将从预留端口号开始的连续端口号划分为至少一个端口号组,所述至少一个端口号组中的第一个端口号用十六进制表示时后三位为0;随机从所述至少一个端口号组中选取一个端口号组,确定选取的端口号组中预定位置的端口号为所述第二端口号。5.根据权利要求2至4任一所述的方法,其特征在于,所述第一分流算法与所述第二分流算法相同。6.根据权利要求5所述的方法,其特征在于,所述第一分流算法的输入报文是所述第一报文,所述根据所述第一报文的数据流标识和第一分流算法,从所述至少两个处理单元中选择第一处理单元,包括:所述第一分流单元确定所述第一端口号和所述调整值;按照第一方式指示的顺序,将所述第一报文的源IP地址、目的IP地址、源端口号、以及所述第一端口号输入所述预定哈希算法;将所述哈希算法的结果与所述调整值求和后,对求和结果执行对N取余运算,将取余运算结果对应的处理单元作为所述第一处理单元。7.根据权利要求6所述的方法,其特征在于,所述确定所述第一端口号和所述调整值,包括:将从预留端口号开始至所述第一报文的目的端口号为止的连续端口号,按照预定数量的端口号划分为一组的方式,划分为至少一个端口号组;确定所述第一报文的目的端口号所在的端口号组中所述目的端口号之前预定位置的端口号为所述第一端口号;确定所述调整值为所述第一报文的目的端口号减去所述第一端口号得到的差值。8.根据权利要求6所述的方法,其特征在于,所述确定所述第一端口号和所述调整值,包括:将从预留端口号开始的连续端口号划分为至少一个端口号组,所述至少一个端口号组中的第一个端口号用十六进制表示时后三位为0;确定所述第一报文的目的端口号所在的端口号组中所述目的端口号之前预定位置的端口号为所述第一端口号;确定所述调整值为所述第一报文的目的端口号减去所述第一端口号得到的差值。9.根据权利要求1所述的方法,其特征在于,所述第一网络是公网,所述第二网络是私网,所述第一报文为来自所述公网的报文,所述第二分流算法是指将输入报文的源IP地址、目的IP地址、源端口号、协议号,以及第一端口号按照第一方式指示的顺序输入预定哈希算法后,将所述哈希算法的结果与调整值求和后,对求和结果执行对N取余运算,将取余运算结果对应的处理单元作为选择出的处理单元,所述调整值为所述输入报文的目的端口号减去第一端口号得到的差值,N为所述分布式设备包含的处理单元的数目,所述至少两个处理单元中的每个处理单元分别对应0至N-1中的一个值;所述第一处理单元为所述第一报文分配一个IP地址、以及一个端口号,包括:所述第一处理单元按照负载均衡策略,从保存的至少一个地址端口对中选择出第一地址端口对,所述第一地址端口对包括一个私网IP地址和一个端口号;所述第一处理单元为所述第一报文分配所述第一地址端口对中的私网IP地址作为分配的IP地址;所述第一处理单元根据所述第一报文的源端口号确定所述第二端口号;所述第一处理单元按照第二方式指示的顺序,将所述地址转换后的所述第一报文的源IP地址、目的IP地址、目的端口号、以及所述第二端口号输入所述预定哈希算法,得到哈希运算结果,所述地址转换后的所述第一报文的目的IP地址中的一个为所述分配的IP地址,所述地址转换后的所述第一报文的目的端口号是所述第一地址端口对中的端口号,所述第二方式指示的顺序中源IP地址与所述第一方式指示的顺序中目的IP地址的位置相同、目的IP地址与所述第一方式指示的顺序中源IP地址的位置相同、目的端口号与所述第一方式指示的顺序中源端口号的位置相同;所述第一处理单元求取所述哈希运算结果对N的取余运算结果;所述第一处理单元计算所述第一处理单元对应的0至N-1中的值与所述取余运算结果之间的差值;所述第一处理单元为所述第一报文分配所述第二端口号和所述差值之和作为所述分配的端口号。10.根据权利要求9所述的方法,其特征在于,所述第一分流算法的输入报文是所述第一报文,所述根据所述第一报文的数据流标识和第一分流算法,从所述至少两个处理单元中选择第一处理单元,包括:所述第一分流单元确定所述第一端口号和所述调整值;按照所述第一方式指示的顺序,将所述第一报文的源IP地址、目的IP地址、源端口号、以及所述第一端口号输入所述预定哈希算法;将所述哈希算法的结果与所述调整值求和后,对求和结果执行对N取余运算,将取余运算结果对应的处理单元作为所述第一处理单元。11.根据权利要求9-10任一所述的方法,其特征在于,所述地址转换还包括:将所述第一报文的目的IP地址替换为所述第一地址端口对中的私网IP地址,将所述第一报文的目的端口号替换为所述第一地址端口对中的端口号。12.根据权利要求1所述的方法,其特征在于,第三处理单元与所述第一处理单元为同一处理单元,所述第三处理单元是根据所述第一报文的反向报文的数据流标识和所述第二分流算法从所述两个处理单元中选择出的处理单元。13.根据权利要求12所述的方法,其特征在于,所述第二分流算法是指将输入报文的源IP地址、目的IP地址、源端口号、协议号,以及第一端口号按照第一方式指示的顺序输入预定哈希算法后,将所述哈希算法的结果与调整值求和后,对求和结果执行对N取余运算,将取余运算结果对应的处理单元作为选择出的处理单元,所述第一端口号和所述调整值之和为所述输入报文的目的端口号,N为所述分布式设备包含的处理单元的数目,所述至少两个...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。