一种ip报文发送方法及系统的制作方法

文档序号:7668841阅读:153来源:国知局
专利名称:一种ip报文发送方法及系统的制作方法
技术领域
本发明涉及通信领域,更具体地涉及一种IP报文发送方法及系统。
背景技术
在第三代移动通信(3G)和数据通信领域,网际互连协议 (Internet Protocol,简称IP )冲支术净皮广泛采用。随着4言息:技术的飞 速发展,通信业务量也在急剧膨胀。为了可靠高效地^接入大流量的 IP数据流,通信系统中普遍采用多4妻口负荷分担的方法。即,多个 以太网4妻口同时处于主用工作状态,配置多个下一逸W各由,采耳又一 定的方法来实现IP才艮文在这些4妄口上的负载均4軒。
比專交常见的负荷分担策略和算法有基于源IP/目的IP地址的策 略、基于传输层端口号的策略、以及逐IP报文的加权轮循算法。前 面两种比较复杂且存在很多的限制,而逐IP报文的加权轮循算法简 单高岁文,应用广;乏。
传#T层协i义主要有传输控制协i义(Transmission Control Protocol,简称TCP )、用户数据报协议(User Datagram Protocol, 简称UDP)、和流控制传输-协i义(Stream Control Transmission Protocol,简称SCTP)。其中,TCP和SCTP是面向连4妄的,UDP 一般是无连接的。TCP和SCTP对报文序号的连续性有要求,而承 载于UDP之上的4艮多协议,对才艮文连续性也有一定的要求。例如,
实时传l命十办-汉(Real-time Transport Protocol,简称RTP )。当传-举俞层 报文被多个接口负荷分担时,存在以下问题
(1 )逐IP报文的轮循方式容易使SCTP/TCP等协议报文到达 对端的顺序发生混乱,影响SCTP/TCP等协议处理的收发效率。
(2 )如果某个接口的外部网络路由发生故障或软中断,但本系 统中的路由条目依然存在,则逐IP报文的轮循发送方式会使 SCTP/TCP等协议发生大量的丢包(如果是2个接口负荷分担,则 丢包达到一半),SCTP/TCP等协议的连接和业务受到极大的影响。
(3 )无论是采用何种负荷分担策略和算法,只要下一跳设备上 配置的到本系统的入向3各由与本系统的出向3各由不完全匹配,同一 条SCTP偶联(或TCP连接)的出接口和入接口就会存在不一致, 这可能会带来交换机广播风暴、交换芯片限速丢包等问题,对SCTP 偶联(或TCP连接)产生不利。

发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种IP报文发 送方法及系统。
才艮据本发明实施例的IP才艮文发送方法,包括以下步骤步骤一, IP入接口 4妻收到外部IP才艮文后,IP入接口所在的才妄口板将外部IP 报文和IP入接口的接口信息封装在一起生成第 一内部报文,并将第 一内部报文发送至协议处理板的IP层处理模块;步骤二, IP层处理 模块从第 一 内部报文中解析出IP入接口的接口信息和外部IP才艮文, 并将IP入接口的接口信息和外部IP报文放入第一数据包结构中发 送至协议处理板的传输层处理模块;步骤三,传输层处理模块根据 外部IP报文的地址和IP入接口的接口信息确定相应的传输层连接, 并判断传输层连接保存的IP出接口是否与IP入接口一致;步骤四,如果判断结果为否,则传输层处理^^莫块指定新的IP出4妄口,并将新 的IP出接口的接口信息和外部IP报文放入第二数据包结构中发送
至IP层处理一莫块;步骤五,IP层处理一莫块将外部IP纟艮文和新的IP
出接口的接口信息封装在一起生成第二内部报文,并将第二内部报
文发送至IP出接口所在的接口板;以及步骤六,IP出接口所在的接 口板从第二内部报文中解析出新的IP出接口的接口信息和外部IP 报文,并通过新的IP出接口将外部IP报文发送出去。
其中,传输层处理才莫块指定新的IP出4妄口的过程包括以下步 骤步骤a,传输层处理才莫块预指定新的IP出接口;步骤b,传输 层处理模块根据下一跳路由判断预指定的新的IP出接口是否有效; 以及步骤c,如果判断结果为是,则将预指定的新的IP出接口作为 新的IP出接口 ,否则采用传输层连接序号对下一跳路由数目取模的 方式指定新的IP出接口。其中,在步骤a中,传输层处理模块根据 特定的规则决定是否将IP入接口作为预指定的新的IP出接口 。具 体地,传输层处理才莫块4艮据以下失见则来决定是否将IP入4妄口作为预 指定的新的IP出接口 如果IP入接口变化后,连续收到的IP报文 数量超过特定门限值,则将IP入接口作为预指定的新的IP出接口。
其中,传输层连接可以是SCTP偶联、TCP连接、或UDP/RTP 会话中的任一种。
其中,IP入接口和IP出才妄口都是负荷分4旦的以太网接口 。各 以太网接口配置有不同的对外IP地址和介质访问控制地址。通过接 口五元组标识各以太网4妾口 。 4妾口五元组包4舌以下信息才几架号、 才几斗匡号、槽位号、中央处理单元号、以及端口号。
才艮据本发明实施例的IP报文发送系统包括至少一个接口板, 包括报文接收单元和报文发送单元,用于接收和发送外部IP报文; 以及协议处理板,包括IP层处理模块和传输层处理才莫块,用于4艮据
接收外部IP报文的接口的信息确定发送外部IP报文的接口板,并 通过所确定的发送外部IP报文的接口将外部IP报文发送出去。
其中,IP层处理模块用于将接收外部IP报文的接口的信息和 外部IP报文放入数据包结构中发送至传输层处理模块,以及用于将 发送外部IP报文的接口的信息和外部IP报文封装成内部报文发送 至接口板。
其中,传输层处理才莫块用于才艮据外部IP才艮文的地址和4妄收外部 IP报文的接口的信息确定相应的传输层连接,判断传输层连接保存 的发送外部IP净艮文的才妄口是否与接收外部IP才艮文的4妄口一致,并 在不一致的情况下,指定新的发送外部IP报文的接口 。其中,传输 层处理才莫块还根据下一条^各由判断所指定的新的发送外部IP报文 的接口是否有效,并在无效的情况下,重新指定。
根据本发明实施例的IP报文发送系统还包括^各由处理板,包 括接口表单元和路由表单元,用于存储各接口板的相关信息以及对 应于发送外部IP报文的接口的路由的相关信息。其中,路由处理板 还包括接口管理单元,用于根据各接口板的状态变化,对接口表 单元禾口3各由表单元进4亍实时更新。
其中,接口板还包括接口状态^r测单元,用于定期或不定期 地检测接口板的状态,并在接口板的状态发生变化时,向路由处理 板报告接口板的状态变化情况。
其中,协议处理—反还包括^各由查找单元,用于在发送或4妻收 外部IP报文的过程中,查找接口表单元和路由表单元,以保证所指 定的新的发送外部IP才艮文的接口有效。
本发明为传输层和会话层协议提供了一种新的IP纟艮文发送方 法,解决了多接口负荷分担时存在的IP报文乱序和链路可靠性等问 题。另外,本发明的使用方便可靠,对本端IP网络层的实现方式以 及对端的处理方式没有特殊要求,通用性强,效率高。


此处所说明的附图用来才是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并
不构成对本发明的不当限定。在附图中
图1是根据本发明实施例的IP报文发送系统的组网及连接示 意图2是根据本发明实施例的内部板间通信报文封装格式的示 意图3是图1所示的系统从外部接收报文的处理流程图;以及
图4是图1所示的系统向外部发送报文的处理流程图。
具体实施例方式
下面参考附图,详细说明本发明的具体实施方式

参考图1,说明根据本发明实施例的IP报文发送系统的组网及 连接情况。如图1所述,该系统由多块以太网接口板(2、 3)、多块 协议处理板(5、 6、 7)、以及路由处理板4构成,它们之间通过内 部交换网8进4亍通信。在图1中,接口板2的外部以太网4妄口 a和 4妄口玲反3的外部以太网4妄口 b配置为互为负荷分担的关系,以太网 才妄口 a和b分别通过单独的以太网线4姿入网全各交换:4几9和10,网绍_ 交换机9和10再通过路由器11连接承载网12。
其中,以太网4妻口才反可以包括IP才艮文4妻收单元和IP才艮文发
送单元,分别用于在以太网接口板的以太网4妄口处于主用状态时,
接收和发送IP才艮文;4妻口状态才企测单元,用于定时才企测以太网4妄口 一反的以太网4妾口的当前状态,并在以太网4妻口才反的以太网4妻口的状 态乂人失效变为有效或者/人有效变为失效时,发出接口状态变化消息, 并通知^各由处理一反。
其中,路由处理板可以包括接口表单元,用于存储IP报文发 送系统中的所有以太网接口信息,其中,每一个以太网接口用接口 五元组标识,并分配一个索引值;路由表单元,用于在发送IP报文 时选择路由以及出接口 ,接收IP报文时选择路由并进行分发,其中, 路由表中的每个路由条目与一个接口索引值关联,根据索引值可以 从接口表中查找到相应的4妄口 ;以及冲妾口管理单元,用于在以太网 接口状态变化时更新4妾口表和路由表,同时负责向各个以太网接口 板和协议处理板同步接口表及路由表的信息。
其中,协议处理板可以包括IP层处理才莫块和传输层处理才莫块, 用于IP才艮文的收发和处理,为上层业务才莫块才是供承载应用,在业务 报文发送时通过路由查找和出接口选择策略指定合适的出接口 ,将 净艮文发往目的端;^各由查找单元,用于在IP净艮文的发送和接收过程 中,查找路由表和接口表,以保证查找到的以太网接口一定是可用 的、处于主用工作状态的"l妄口。
具体地,IP层处理模块用于将接收外部IP报文的接口的信息 和外部IP报文放入数据包结构中发送至传输层处理模块,以及用于 将发送外部IP报文的接口的信息和外部IP报文封装成内部报文发 送至接口板。传输层处理模块用于根据外部IP报文的地址和接收外 部IP报文的接口的信息确定相应的传输层连接,判断传输层连接保 存的发送外部IP报文的接口是否与当前接收外部IP报文的接口一 致,并在不一致的情况下,指定新的发送外部IP报文的接口。其中,
传输层处理模块还根据路由下一跳判断所指定的新的发送外部ip 报文的接口是否有效,并在无效的情况下,重新指定。
需要说明的是,图1中的以太网4妻口 a和b可以^立于同一块才妻 口才反,也就是4妻口板2和3可以是同一i殳备;网络交换:才几9和10 可以是集线器、二层交换机、三层交换机等设备,而且可以是同一 个设备。
图1中的接口才反2和3分别通过内部以太网4妻口 c和d连4妄内 部交4奐网8,协i义处理一反5、 6、 7则分别通过内部以太网4妄口 e、 f、 g连接内部交换网8。每块协议处理板上可以同时包含sctp、 tcp 和udp/rtp协议处理模块,也可以各自只包含一个传输层处理模 块。
上述4姿口板2和3,用于将外部以太网接口 a和b上收到的ip 报文根据协议转发表分发到相应的协议处理板处理,同时将协议处 理板5、 6、 7发出的ip报文送往外部网络。
需要说明的是,协议转发表是通过人工配置的,协议转发表的 每个条目包括协议类型、源ip、源端口 、目的ip、目的端口 、归属 模块号等字段。其中,模块号是协议处理板的编号,由机架号、机
才匡号、#曹4立号、cpu号这四元纟且p眷一确定。
参考图2,说明根据本发明实施例的内部板间通信报文的封装 格式。如图2所述,接口板和协议处理板之间的内部通信是在外部 ip才艮文前封装内部以太网头、内部ip头和接口信息实现的。图1 所示的系统从外部接收ip报文时,图2中的接口信息为接口板外部 以太网接口的接口五元组信息(机架号、机框号、槽位号、cpu号、 端口号);图1所示的系统向外部发送ip报文时,图2中的接口信 息为4妄口板外部以太网接口的端口号。
参考图3,说明图1所示的系统从外部接收IP报文的处理流程。如图3所示,该处理流禾呈包4舌以下步-骤
S302,外部以太网接口 a或b从外部网络接收到一个IP报文, 检查IP报文头中的协议类型,是SCTP/TCP/UDP协议,则根据协 议类型、源IP、源端口、目的IP、目的端口来查找协议转发表,得 到该报文的归属模块号(即协议处理板编号),然后根据模块号查找 才莫块映射表,得到该协议处理板对应的内部以太网4妾口 ( e、 f或g ) 的内部介质访问控制地址(MAC )和内部IP,进入步骤S304。
S304, "l妄口板在外部IP前封装入4妄口 a或b的4妄口五元组信息, 接着再封装内部IP头及MAC头,其中内部目的IP和目的MAC地 址为步骤S302中查表得到的内部以太网接口 (e、 f或g)对应的内 部IP和内部MAC,内部源IP和源MAC为4妄口板(2或3 )内部 以太网4妾口 ( c或d )对应的内部IP和内部MAC。封装成内部才艮文 后,通过内部交4灸网8送往协i义处理一反(5 、 6或7 )对应的内部以 太网才妾口 (e、 f或g),进入步艰采S306。
S306,协议处理板(5、 6或7)解析内部报文得到外部IP报文 和7U妄口五元组信息,将外部IP才艮文和入才妄口五元组信息都放入统 一的凄t悟包(packet)结构包中,交SCTP、 TCP或UDP/RTP协i义 处理才莫块处理,进入步-骤S308。
S308, SCTP、 TCP或UDP/RTP协议处理模块才艮据外部IP报 文中的源IP、源端口、目的IP、目的端口等^f言息确定该IP才艮文所 属的SCTP偶联(或TCP连接、RTP会话),然后进入步骤S310。
S310,出接口跟随入接口调整的原则是如果该偶联(或连接、 会话)的入接口发生变化,则需要在新的入接口上连续收到的报文 数量超过门限值的情况下,才将该入接口指定为出接口;否则仍保 持原出接口不变。因此在步骤S310,判断该偶联(或连接、会话)
以往保存的入接口与当前的入接口五元组信息是否相同,如果不同,
则说明入接口发生了变化,进入步骤S312;否则,进入步骤S316。
S312,累积计数器置1,表明在变化后新的入接口上收到第1 个报文。
S314,将当前的入接口五元组信息保存到该偶联(或连接、会 话)的控制参数中,这是新的入接口上收到的第一个报文,进入步 骤S324。
S316,判断该偶联(或连接、会话)当前的入接口与当前的出 ^接口五元组〗言息是否一致,如果不一致,则进入步-骤S318,否则, 进入步骤S324。
S318,说明在新的入接口上连续收到了报文,因此需要对累积 计数器加l,然后判断是否超过门限值,此为步骤S320。
S320,如果计数器没有超过门限值,不需要改变当前的出接口, 进入步骤S324;如果计数器大于门限值,则说明在新的入接口上连 续收到的报文数量超过门限值,进入步骤S322。
S322,将该入接口指定为新的出接口 ,计数器恢复为0,这里 的门限值可以根据实际组网情况进行手工配置。
S324, 4呆持出4妄口不变。
参考图4,说明图1所示的系统向外部发送报文的处理流程。 如图4所示,该处理流禾呈包4舌以下步-骤
S402,十办i义处理才反上的SCTP (或TCP、 RTP)十办i义处理才莫块 向外发送IP报文时,根据目的IP地址查找^各由表,由于配置的路 由是多下一跳负荷分担,因此得到负荷分担的多个下一跳,每个下 一跳对应一个出接口,进入步骤S404。
S404,判断当前SCTP偶联(或TCP连接、RTP会话)保存的 出接口是否有效,如果无效(当前指定的出接口为空,或者在步骤 S402中查路由后得到的多个出接口中不存在当前指定的这个出接 口 ),则执行步骤S406;如果步骤S404判断当前保存的出接口有效, 则才丸4亍步-骤S410。
S406,采用SCTP偶联(或TCP连接、RTP会话)序号对下一 跳数目取模的方式指定出接口 。
需要说明的是,每个SCTP偶联(或TCP连接号、RTP会话号) 都有唯一的序号,其中,对端IP地址相同的放到一起,配置为连续 的序号,这样在步骤S406中就能够将出向负荷尽可能均分到不同的 出接口上。路由表中多下一跳路由的每一个条目关联一个出接口 , 查询多下一跳路由得到的是一个路由索引数组,数组元素数目等于 出接口数目,步骤S406对下一跳数目取模,实际上也就是对出接口 数目取模。
S408,选才奪新的发送出才妄口。
S410,指定该接口为当前报文发送的出接口。
S412, SCTP (或TCP、 UDP/RTP)协议处理才莫块将指定的出 接口信息随同报文放入packet结构包中,传给IP层处理模块。
S414, IP层处理一莫块首先将传输层纟艮文封装成外部IP报文, 然后将出接口五元组信息中的出接口端口号封装到外部IP报文前。
S416 ,协议处理板上的支撑子系统根据出接口五元组信息查表 得到4姿口 一反对应内部以太网4妄口的内部IP及MAC ,封装成内部以 太网才艮文后通过内部交4奂网送到4妄口 一反。
S418,接口板解封装内部报文,根据出接口信息选择对应的外 部以太网接口,将外部IP才艮文发送出去。
综上所述,本发明既能充分发挥多4妻口负荷分担的优势,又尽 可能地避免了由此带来的IP报文乱序和链路可靠性等问题,提高了 系统对传输层协议处理的性能,用于3G通信设备和数据通信设备 时,可保证信令、语音以及数据传输等业务的稳定性和可靠性。同 时,本发明所述的方法和系统,操作使用简单方便,对本端IP网络 层的实现方式以及外部的组网形式、对端的处理方式都没有特殊要 求,具有很强的通用性和实用性。
此外,本发明所述的出接口自适应调整方法和系统中的接口类 型包含^f旦不局限于以太网类型4妄口 ,对于其〗也类型的4妄口,也可以 实现本发明所述的出接口自适应调整方法和系统,因此,也在本发 明的保护范围之内。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对 于本领i或的才支术人员来i兌,本发明可以有各种更改和变4匕。凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均 应包含在本发明的权利要求范围之内。
权利要求
1.一种IP报文发送方法,其特征在于,包括以下步骤步骤一,IP入接口接收到外部IP报文后,所述IP入接口所在的接口板将所述外部IP报文和所述IP入接口的接口信息封装在一起生成第一内部报文,并将所述第一内部报文发送至协议处理板的IP层处理模块;步骤二,所述IP层处理模块从所述第一内部报文中解析出所述IP入接口的接口信息和所述外部IP报文,并将所述IP入接口的接口信息和所述外部IP报文放入第一数据包结构中发送至所述协议处理板的传输层处理模块;步骤三,所述传输层处理模块根据所述外部IP报文的地址和所述IP入接口的接口信息确定相应的传输层连接,并判断所述传输层连接保存的IP出接口是否与所述IP入接口一致;步骤四,如果判断结果为否,则所述传输层处理模块指定新的IP出接口,并将所述新的IP出接口的接口信息和所述外部IP报文放入第二数据包结构中发送至所述IP层处理模块;步骤五,所述IP层处理模块将所述外部IP报文和所述新的IP出接口的接口信息封装在一起生成第二内部报文,并将所述第二内部报文发送至所述新的IP出接口所在的接口板;以及步骤六,所述新的IP出接口所在的接口板从所述第二内部报文中解析出所述新的IP出接口的接口信息和所述外部IP报文,并通过所述新的IP出接口将所述外部IP报文发送出去。
2. 根据权利要求1所述的方法,其特征在于,所述传输层处理模块指定所述新的IP出接口的过程包括以下步骤步骤a,所述传输层处理才莫块预指定新的IP出接口 ;步骤b,所述传输层处理模块根据下一跳路由判断所述预 指定的新的IP出4妻口是否有步丈;以及步骤c,如果判断结果为是,则将所述预指定的新的IP 出接口作为所述新的IP出接口,否则釆用传输层连接序号对 下一跳路由数目取模的方式指定所述新的IP出接口 。
3. 根据权利要求2所述的方法,其特征在于,在所述步骤a中, 所述传输层处理^t块根据特定的规则决定是否将所述IP入接 口作为所述预指定的新的IP出冲妄口。
4. 根据权利要求3所述的方法,其特征在于,所述传输层处理才莫 块才艮据以下^L则来决定是否将所述IP入接口作为所述预指定 的新的IP出接口 如果所述IP入接口变化后,连续收到的IP 才艮文凄丈量超过特定门限值,则将所述IP入4妻口作为所述预指 定的新的IP出4妻口 。
5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述 IP入接口和所述IP出接口都是负荷分4旦的以太网4妾口 。
6. 根据权利要求5所述的方法,其特征在于,各所述以太网接口 配置有不同的对外IP地址和介质访问控制地址。
7. 根据权利要求6所述的方法,其特征在于,通过接口五元组标 i口、各所述以太网4妄口 。
8. 根据权利要求7所述的方法,其特征在于,所述接口五元组包 括以下信息4几架号、才几框号、槽位号、中央处理单元号、以 及端口号。
9. 一种IP才艮文发送系统,其特征在于,包括至少一个接口板,包括报文接收单元和报文发送单元,用 于接收和发送外部IP报文;以及协议处理板,包括IP层处理才莫块和传输层处理才莫块,用 于根据接收所述外部IP报文的接口的信息确定发送所述外部 IP报文的接口 ,并通过所确定的发送所述外部IP报文的接口 将所述外部IP 4艮文发送出去。
10. 根据权利要求9所述的系统,其特征在于,所述IP层处理模 块用于将接收所述外部IP报文的接口的信息和所述外部IP报 文力文入数据包结构中发送至所述传输层处理模块,以及用于将 发送所述外部IP报文的接口的信息和所述外部IP报文封装成 内部才艮文发送至所述才妻口氺反。
11. 才艮据权利要求10所述的系统,其特征在于,所述传输层处理 才莫块用于#4居所述外部IP才艮文的:t也址和4妄收所述外部IP才艮文 的接口的信息确定相应的传输层连接,判断所述传输层连接保 存的发送所述外部IP报文的接口是否与接收所述外部IP报文 的接口一致,并在不一致的情况下,指定新的发送所述外部IP 才艮文的才妻口 。
12. 根据权利要求11所述的系统,其特征在于,所述传输层处理 模块还根据路由下一跳判断所指定的新的发送所述外部IP报 文的一妻口是否有效,并在无效的情况下,重新指定。
13. 根据权利要求12所述的系统,其特征在于,所述系统还包括 路由处理板,包括接口表单元和^各由表单元,用于存^f诸各 所述接口板的接口的相关信息以及对应于发送所述外部IP报 文的路由的相关信息。
14. 根据权利要求13所述的系统,其特征在于,所述路由处理板 还包括接口管理单元,用于根据各所述接口板的状态变化,对所 述接口表单元和所述路由表单元进行实时更新。
15. 根据权利要求14所述的系统,其特征在于,所述接口板还包 括4妻口d犬态4全测单元,用于定期或不定期地一险测所述冲妻口才反 的状态,并在所述接口板的状态发生变化时,向所述路由处理 板报告所述接口板的状态变化情况。
16. 根据权利要求15所述的系统,其特征在于,所述协议处理板 还包括^各由查找单元,用于在发送或4妻收所述外部IP才艮文的过 程中,查找所述^妾口表单元和所述^各由表单元,以4呆证所指定 的新的发送所述外部IP报文的接口有效。
全文摘要
本发明公开了一种IP报文发送方法及系统。IP入接口所在接口板将IP报文和IP入接口接口信息封装成第一内部报文发送至IP层处理模块;IP层处理模块解析出IP入接口接口信息和IP报文,放入第一数据包结构中发送至传输层处理模块;传输层处理模块根据IP报文的地址和IP入接口接口信息确定传输层连接,判断传输层连接保存的IP出接口是否与IP入接口一致;如果否,传输层处理模块指定新IP出接口,将新IP出接口的接口信息和IP报文放入第二数据包结构中发送至IP层处理模块;IP层处理模块将IP报文和新IP出接口的接口信息封装成第二内部报文发送至新IP出接口所在的接口板;新IP出接口所在的接口板解析出新IP出接口的接口信息和IP报文,将IP报文发送出去。
文档编号H04L12/56GK101197781SQ20071030232
公开日2008年6月11日 申请日期2007年12月18日 优先权日2007年12月18日
发明者多 许, 闫新成 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1