网络设备中基于接口的数据报类型报文的发送方法

文档序号:7906598阅读:310来源:国知局
专利名称:网络设备中基于接口的数据报类型报文的发送方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络设备中基于接口的数据报类型报文的发送方法。
本发明的目的是这样实现的网络设备中基于接口的数据报类型报文的发送方法,包括(1)根据需要在封装报文的数据结构中建立指定发送接口字段,指定发送接口字段用于承载发送接口信息;(2)判断报文是否为通过指定的发送接口发送,如果是,执行步骤(3),否则,执行步骤(4);(3)从封装报文的数据结构中查找报文的发送接口信息;(4)从路由转发表中查找报文的发送接口信息;(5)将报文从查找到的发送接口发送出去。
所述的步骤(1)包括(21)在标准的接口数据结构中增加建立指定发送接口结构体域,指定发送接口结构体域中包括接口索引字段和对应的指定接口IP地址字段;(22)对于需要指定发送接口的报文,将报文的源IP地址和根据接口索引确定的指定接口填入报文的封装结构中;(23)将设定的指定报文发送接口标志传给IP的输出函数。
所述的步骤(2)为根据IP的输出函数中是否存在指定报文发送接口标志,判断报文是否为指定发送接口发送,如果存在指定报文发送接口标志,则报文为指定发送接口发送,执行步骤(3),否则,执行步骤(4)。
所述的报文均为有报文边界的报文。
所述的报文的TTL(time-to-live存活时间)值设置为1。
所述的报文的封结构为MUBF结构。
由上述技术方案可以看出,本发明提供了一种简单、有效的基于接口的数据报类型报文的发送方法,使得某些应用程序在发送数据报文时可以跳过根据IP地址查找路由转发表的处理过程,以满足某些情况下需指定报文发送接口的需要。同时由于跳过了根据IP地址查找路由转发表的处理过程,还提高了报文的发送效率。而且,本发明和标准的SOCKET(接口)选项的实现及应用保持一致,保证了本发明的实现简单、方便。
变量“ulIfIndex”用来保存应用程序所指定报文发送接口的接口索引,该接口索引唯一对应一个接口;变量“ulSrcAddr”用来保存所发送报文的源IP地址;步骤2创建了新的SOCKET(接口)数据结构后,通过标准的SOCKET API(应用程序编程接口)函数“setsockopt”设置SO_SENDDATAIF(指定发送接口)标志选项;并将设置好的SENDDATAIF_S类型的变量传给函数“setsockopt”,所述的变量包括发送报文的接口和源IP地址信息,然后,“setsockopt”函数将该变量的值保存在步骤1中已创建好SOCKET结构中;步骤3将需要指定发送接口进行发送的报文封装成MBUF(存放报文的数据和相关信息的数据结构)结构;步骤4根据保存在新建的SOCKET数据结构中的接口索引确定需要指定的接口,并将其填入该报文的MBUF结构中;步骤5将报文的源IP地址填写为SOCKET数据结构中接口索引对应的IP地址;步骤6调用IP的输出函数,将步骤2中设置的SO_SENDDATAIF标志传给IP的输出函数;步骤7在进行报文发送的处理过程中,判断报文的IP输出函数中是否存在SO_SENDDATAIF标志,如果存在,执行步骤8,否则,执行步骤9;步骤8直接从封装报文的MBUF结构中查找报文发送所应用的接口信息,执行步骤10;
步骤9查找网络设备中的路由转发表获取报文发送所应用的接口信息,执行步骤10;步骤10将该报文从所查找到的接口发送出去。
经过上述对报文封装发送的处理过程,本发明实现了将报文从指定的接口发送出去,而不考虑报文的目的地址信息的发明目的。另外,为了防止目的地址是广播或多播地址的报文引发广播风暴,设置该属性的报文的TTL值为1。
权利要求
1.一种网络设备中基于接口的数据报类型报文的发送方法,包括(1)根据需要在封装报文的数据结构中建立指定发送接口字段,指定发送接口字段用于承载发送接口信息;(2)判断报文是否为通过指定的发送接口发送,如果是,执行步骤(3),否则,执行步骤(4);(3)从封装报文的数据结构中查找报文的发送接口信息;(4)从路由转发表中查找报文的发送接口信息;(5)将报文从查找到的发送接口发送出去。
2.根据权利要求1所述的网络设备中基于接口的数据报类型报文的发送方法,其特征在于所述的步骤(1)包括(21)在标准的接口数据结构中增加建立指定发送接口结构体域,指定发送接口结构体域中包括接口索引字段和对应的指定接口IP地址字段;(22)对于需要指定发送接口的报文,将报文的源IP地址和根据接口索引确定的指定接口填入报文的封装结构中;(23)将设定的指定报文发送接口标志传给IP的输出函数。
3.根据权利要求2所述的网络设备中基于接口的数据报类型报文的发送方法,其特征在于所述的步骤(2)为根据IP的输出函数中是否存在指定报文发送接口标志,判断报文是否为指定发送接口发送,如果存在指定报文发送接口标志,则报文为指定发送接口发送,执行步骤(3),否则,执行步骤(4)。
4.根据权利要求1、2或3所述的网络设备中基于接口的数据报类型报文的发送方法,其特征在于所述的报文为有报文边界的数据报类型报文。
5.根据权利要求1、2或3所述的网络设备中基于接口的数据报类型报文的发送方法,其特征在于所述的报文的TTL(time-to-live存活时间)值设置为1。
6.根据权利要求1所述的网络设备中基于接口的数据报类型报文的发送方法,其特征在于所述的报文的封结构为MUBF结构。
全文摘要
本发明涉及一种网络设备中基于接口的数据报类型报文的发送方法。该方法包括首先,根据需要在封装报文的数据结构中建立指定发送接口字段,指定发送接口字段用于承载接口信息;然后,判断报文是否为通过指定的发送接口发送,如果是,从封装报文的数据结构中查找报文的发送接口信息;否则,从路由转发表中查找报文的发送接口信息;最后,将报文从查找到的发送接口发送出去。本发明提供了一种简单、有效的基于接口的数据报类型报文的发送方法,使得发送数据报文时可以指定报文的发送接口,以满足某些特殊情况下的需要。同时,本发明还具有提高了报文的发送效率的优点。另外,本发明和标准的SOCKET选项的实现及应用保持一致,保证了本发明的实现简单、方便。
文档编号H04L12/54GK1412984SQ0211789
公开日2003年4月23日 申请日期2002年5月27日 优先权日2002年5月27日
发明者马云 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1