CN1412984A - 网络设备中基于接口的数据报类型报文的发送方法 - Google Patents
网络设备中基于接口的数据报类型报文的发送方法 Download PDFInfo
- Publication number
- CN1412984A CN1412984A CN02117892A CN02117892A CN1412984A CN 1412984 A CN1412984 A CN 1412984A CN 02117892 A CN02117892 A CN 02117892A CN 02117892 A CN02117892 A CN 02117892A CN 1412984 A CN1412984 A CN 1412984A
- Authority
- CN
- China
- Prior art keywords
- message
- interface
- transmission interface
- sending method
- specify
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种网络设备中基于接口的数据报类型报文的发送方法。该方法包括:首先,根据需要在封装报文的数据结构中建立指定发送接口字段,指定发送接口字段用于承载接口信息;然后,判断报文是否为通过指定的发送接口发送,如果是,从封装报文的数据结构中查找报文的发送接口信息;否则,从路由转发表中查找报文的发送接口信息;最后,将报文从查找到的发送接口发送出去。本发明提供了一种简单、有效的基于接口的数据报类型报文的发送方法,使得发送数据报文时可以指定报文的发送接口,以满足某些特殊情况下的需要。同时,本发明还具有提高了报文的发送效率的优点。另外,本发明和标准的SOCKET选项的实现及应用保持一致,保证了本发明的实现简单、方便。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络设备中基于接口的数据报类型报文的发送方法。
背景技术
目前,网络设备中报文的发送是根据报文的源地址,查找路由转发表确定报文的发送接口,然后将报文从该发送接口发送出去,而无法将报文从某个指定的接口发送出去。但是,在实际应用过程中,对报文的发送经常需要指定发送接口,例如接口A通过“IP unnumber”命令借用接口B的IP地址,向外发送报文,即接口A希望以接口B的IP地址为源地址进行报文发送。然而,应用程序处理该报文时,仅根据其源地址查找路由转发表确定发送接口,因此为该报文确定的发送接口将会是接口B,无法将该报文从接口A发送出去。还有一些路由协议在发送数据报文时,往往知道网络拓扑结构,它也希望能够指定数据的发送接口。这样的应用还有DHCP(Dynamic Host Configuration Protocol:动态主机配置协议)中继,NTP(Network Time Protocol:网络时间协议)等。
发明内容
本发明的目的是提供一种网络设备中基于接口的数据报类型报文的发送方法,该方法可以根据需要将报文由指定的接口发送出去,满足一些特殊情况下发送报文的需要。
本发明的目的是这样实现的:网络设备中基于接口的数据报类型报文的发送方法,包括:
(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(接口)选项的实现及应用保持一致,保证了本发明的实现简单、方便。
附图说明
图1为本发明的具体实施流程图。
具体实施方式
本发明所述网络设备中基于接口的数据报类型报文的发送方法的具体实施方式结合附图叙述如下,数据报类型报文包括UDP(用户数据报协议)报文、raw IP(原始套接口)协议报文等有报文边界的报文,参见图1:
步骤1:在标准的SOCKET_S(接口函数)数据结构中增加一个SENDDATAIF_S(指定发送接口)类型结构体域,该结构体域类型包含两个变量:
typedef struct tagSENDDATAIF
{
ULONG ulIfIndex;
ULONG ulSrcAddr;
}SENDDATAIF_S;
其中:
变量“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。
Claims (6)
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结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021178925A CN1192559C (zh) | 2002-05-27 | 2002-05-27 | 网络设备中基于接口的数据报类型报文的发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021178925A CN1192559C (zh) | 2002-05-27 | 2002-05-27 | 网络设备中基于接口的数据报类型报文的发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1412984A true CN1412984A (zh) | 2003-04-23 |
CN1192559C CN1192559C (zh) | 2005-03-09 |
Family
ID=4744563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021178925A Expired - Fee Related CN1192559C (zh) | 2002-05-27 | 2002-05-27 | 网络设备中基于接口的数据报类型报文的发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1192559C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007115431A1 (fr) * | 2006-04-07 | 2007-10-18 | Huawei Technologies Co., Ltd. | Procédé de transmission de messages de données sur la base d'un protocole de transmission en temps réel et dispositif correspondant |
CN100466598C (zh) * | 2004-10-22 | 2009-03-04 | 华为技术有限公司 | 一种基于rtp的数据报文传输的实现方法 |
CN100477639C (zh) * | 2005-11-30 | 2009-04-08 | 中国科学院计算技术研究所 | 一种无线网络节点缓冲数据包处理方法 |
CN101193127B (zh) * | 2007-11-28 | 2010-06-09 | 中兴通讯股份有限公司 | 一种间接获取数据包输入接口信息的方法及装置 |
CN101197781B (zh) * | 2007-12-18 | 2010-08-04 | 中兴通讯股份有限公司 | 一种ip报文发送方法及系统 |
CN101699810B (zh) * | 2009-06-02 | 2012-02-15 | 北京研弘科技有限公司 | 一种多运营商共用一套接入服务器和宽带接入网络的方法 |
-
2002
- 2002-05-27 CN CNB021178925A patent/CN1192559C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100466598C (zh) * | 2004-10-22 | 2009-03-04 | 华为技术有限公司 | 一种基于rtp的数据报文传输的实现方法 |
CN100477639C (zh) * | 2005-11-30 | 2009-04-08 | 中国科学院计算技术研究所 | 一种无线网络节点缓冲数据包处理方法 |
WO2007115431A1 (fr) * | 2006-04-07 | 2007-10-18 | Huawei Technologies Co., Ltd. | Procédé de transmission de messages de données sur la base d'un protocole de transmission en temps réel et dispositif correspondant |
CN101193127B (zh) * | 2007-11-28 | 2010-06-09 | 中兴通讯股份有限公司 | 一种间接获取数据包输入接口信息的方法及装置 |
CN101197781B (zh) * | 2007-12-18 | 2010-08-04 | 中兴通讯股份有限公司 | 一种ip报文发送方法及系统 |
CN101699810B (zh) * | 2009-06-02 | 2012-02-15 | 北京研弘科技有限公司 | 一种多运营商共用一套接入服务器和宽带接入网络的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1192559C (zh) | 2005-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1188983C (zh) | 通过网管设备修改网络设备ip地址的方法 | |
CN1303798C (zh) | Ip组播分布系统、流数据分布系统及其程序 | |
CN1193532C (zh) | 高延迟低带宽无线系统中的稀疏反馈 | |
CA2468480A1 (en) | System for converting data based upon ipv4 into data based upon ipv6 to be transmitted over an ip switched network | |
JP2005529545A (ja) | パケットフローに基づくセッションサービスの適用 | |
US20030225889A1 (en) | Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports | |
CN1929472A (zh) | 数据网络中管理数据传输的方法、系统、信号及介质 | |
CN1716963A (zh) | 用于选择网络接口的方法、具有多个网络接口的设备及应用 | |
EP1109376A3 (en) | A route server | |
CN102333124A (zh) | 一种提升云计算模式下语音或视频传输质量的方法及装置 | |
CN102938736A (zh) | 一种实现IPv4报文穿越IPv6网络的方法和设备 | |
CN1192559C (zh) | 网络设备中基于接口的数据报类型报文的发送方法 | |
US20050157727A1 (en) | Server, software, and system for data delivery | |
CN1917512A (zh) | 一种建立对等直连通道的方法 | |
CN1496651A (zh) | 将网络端点动态分配到网络区域的方法和装置 | |
CN1791053A (zh) | 一种对多服务器进行最优选择的方法 | |
CN100344122C (zh) | 一种实现从指定端口发送数据报类型报文的方法 | |
CN1863309A (zh) | 音频/视频流加速系统 | |
CN1201546C (zh) | 通信网中的方法、网关系统和设备 | |
JP6732966B2 (ja) | データ配信システム、データ配信方法、マーカ及びプログラム | |
CN1305259C (zh) | 一种网管网关的实现方法 | |
CN1848795A (zh) | 在实时通信系统中实现大数据包快速转发的方法 | |
CN1711742A (zh) | 用于处理具有移动功能的数据网中的数据包的方法 | |
US20040160964A1 (en) | IP packet transmission apparatus, IP packet transmission method, and recording medium holding program for same | |
CN1705266A (zh) | 远程获取特定报文的方法及其应用及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050309 Termination date: 20110527 |