多接口网络设备和多接口网络设备的报文发送方法转让专利

申请号 : CN201010222169.3

文献号 : CN101883160B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈乾业

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种多接口网络设备和多接口网络设备的报文发送方法,所述网络设备通过多个IP地址发送报文,所述网络设备配置有系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表,该方法包括:当所述网络设备指定IP地址与对端设备通信时,所述网络设备在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;所述网络设备根据查找得到的路由转发报文。本发明解决了MIF主机通过指定IP地址进行报文转发时的路径选择混乱问题。

权利要求 :

1.一种多接口网络设备的报文发送方法,所述网络设备通过多个IP地址发送报文,其特征在于,所述网络设备配置有系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表,该方法包括:当所述网络设备指定IP地址与对端设备通信时,所述网络设备在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;

所述网络设备根据查找得到的路由转发报文。

2.如权利要求1所述的方法,其特征在于,所述临时路由表中存储的路由表项包括源IP地址、目的IP地址、下一跳和出接口。

3.如权利要求2所述的方法,其特征在于,还包括:

在所述临时路由表中没有查找得到对应的路由时,所述网络设备进一步在所述系统路由表中查找路由;

所述网络设备获取在所述系统路由表中查找得到的路由的出接口;

若所述出接口的IP地址与所述指定IP地址相同,所述网络设备直接根据在所述系统路由表中查找得到的路由转发报文;

若所述出接口的IP地址与所述指定IP地址不相同,所述网络设备在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由,并根据该添加的路由转发报文。

4.如权利要求3所述的方法,其特征在于,所述网络设备进一步在所述系统路由表中查找路由之后,还包括:当在所述系统路由表中没有查找得到对应的路由、或者向所述对端设备发送报文失败时,所述网络设备通过所述指定IP地址对应的出接口向所述对端设备发送路径探测报文;

所述网络设备根据接收到的所述路径探测报文的响应报文,根据接收到的所述路径探测报文的响应报文在所述临时路由表中配置以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由,并根据该路由转发报文。

5.如权利要求1-4任一项所述的方法,其特征在于,还包括:

当所述网络设备没有指定IP地址与对端设备通信时,所述网络设备在所述临时路由表和系统路由表中查找与所述对端设备对应的路由;

当所述临时路由表和系统路由表中都没有查找得到对应的路由时,所述网络设备通过所有出接口向所述对端设备发送路径探测报文;

所述网络设备根据接收到的所述路径探测报文的响应报文确定到达所述对端设备的最优路径,并根据该最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由,根据该路由进行报文转发。

6.如权利要求5所述的方法,其特征在于,所述临时路由表中存储的与源IP地址和目的IP地址共同对应的路由表项中还包括路径开销;

当所述网络设备没有指定IP地址与对端设备通信、且在所述临时路由表查找到多条与所述对端设备对应的路由时,所述网络设备根据所述路径开销选择路由进行报文转发。

7.如权利要求1-4任一项所述的方法,其特征在于,所述临时路由表中存储的与源IP地址和目的IP地址共同对应的路由表项中还包括目的端口;

以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由有多条时,所述网络设备根据所述目的端口进一步区分该多条路由。

8.如权利要求1-4任一项所述的方法,其特征在于,还包括:

当所述网络设备与所述对端设备的连接中断时,所述网络设备删除所述临时路由表中所有到达所述对端设备的路由;

所述网络设备通过所有出接口向所述对端设备发送路径探测报文;

所述网络设备根据接收到的所述路径探测报文的响应报文确定到达所述对端设备的最优路径,并根据该最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由,根据该路由进行报文转发。

9.一种多接口网络设备,通过多个IP地址发送报文,其特征在于,该网络设备包括:存储单元,用于存储系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表;

查找单元,与所述存储单元连接,用于当指定IP地址与对端设备通信时,在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;

转发单元,与所述查找单元连接,用于根据所述查找单元在所述临时路由表中查找得到的路由转发报文。

10.如权利要求9所述的多接口网络设备,其特征在于,所述临时路由表中存储的路由表项包括源IP地址、目的IP地址、下一跳和出端口。

11.如权利要求9所述的多接口网络设备,其特征在于,

所述查找单元还用于:在所述临时路由表中没有查找得到对应的路由时,进一步在所述系统路由表中查找路由;

获取单元,与所述查找单元连接,用于获取在所述系统路由表中查找得到的路由的出接口;

判断单元,与所述获取单元连接,用于判断所述获取单元获取的出接口的IP地址与所述指定IP地址是否相同;

添加单元,与所述判断单元连接,用于当所述判断单元判断所述出接口的IP地址与所述指定IP地址不相同时,在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;

所述转发单元还用于:与所述判断单元和添加单元连接,当所述判断单元判断所述出接口的IP地址与所述指定IP地址相同时,直接根据在所述系统路由表中查找得到的路由转发报文;当所述判断单元判断所述出接口的IP地址与所述指定IP地址不相同时,根据所述添加单元添加的路由转发报文。

12.如权利要求11所述的多接口网络设备,其特征在于,还包括:

收发单元,与所述查找单元连接,用于所述查找单元在所述系统路由表中没有查找得到对应的路由时,通过所述指定IP地址对应的出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;

路径获取单元,与所述收发单元连接,用于根据所述收发单元接收到的所述路径探测报文的响应报文获取到达所述对端设备的路径,由所述转发单元根据该路径转发报文;

所述添加单元还用于:与所述路径获取单元连接,用于根据所述路径在所述临时路由表中配置以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由。

13.如权利要求11所述的多接口网络设备,其特征在于,当所述网络设备没有指定IP地址与对端设备通信时,所述查找单元还用于:在所述临时路由表和系统路由表中查找与所述对端设备对应的路由;

还包括收发单元,用于当所述临时路由表和系统路由表中都没有查找得到对应的路由时,通过所有出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;

还包括路径获取单元,与所述收发单元连接,用于根据所述收发单元接收到的所述路径探测报文的响应报文获取到达所述对端设备的最优路径,由所述转发单元根据该最优路径转发报文;

所述添加单元还用于:与所述路径获取单元连接,用于根据所述最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由。

14.如权利要求13所述的多接口网络设备,其特征在于,所述存储单元存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括路径开销;

所述查找单元还用于:当没有指定IP地址与对端设备通信、且在所述临时路由表查找到多条与所述对端设备对应的路由时,根据所述路径开销选择路由进行报文转发。

15.如权利要求9-14任一项所述的多接口网络设备,其特征在于,所述存储单元存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括目的端口;

所述查找单元还用于:以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由有多条时,进一步查找所述目的端口对应的路由。

16.如权利要求9-14任一项所述的多接口网络设备,其特征在于,还包括:删除单元,与所述存储单元连接,用于当所述网络设备与所述对端设备的连接中断时,删除所述临时路由表中所有到达所述对端设备的路由。

说明书 :

多接口网络设备和多接口网络设备的报文发送方法

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种多接口网络设备和多接口网络设备的报文发送方法。

背景技术

[0002] 在一个MIF(Multiple Interfaces,多接口)主机上,存在多个网络接口。在某些情况下,MIF主机的多个接口连接的是同一个网络。如图1所示,主机host有两个网络接口I1和I2,这两个接口都与节点CN连接,其中I1的IP地址为IP1,I2的IP地址为IP2,CN的IP地址为IP3。
[0003] 一开始主机使用IP1通过I1接口与CN通讯,在该主机上针对节点CN的出接口为N1,即主机中的系统路由中到达CN的路由的出接口为I1。如果此时在主机上有服务需要使用I2接口,因此发送的数据包源地址为IP2、目的地址为IP3。然而在主机上系统路由中IP3对应的出接口为I1,因此上述数据包还是会经由I1接口到达IP3,因此连接会出现混乱,即根据MIF主机当前的网络处理机制,系统无法区分多个接口,在路径选择时会出现混乱,无法提供理想的网络服务。

发明内容

[0004] 本发明提供了一种多接口网络设备和多接口网络设备的报文发送方法,解决了MIF主机的路径选择混乱问题。
[0005] 本发明提供了一种多接口网络设备的报文发送方法,所述网络设备通过多个IP地址发送报文,所述网络设备配置有系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表,该方法包括:
[0006] 当所述网络设备指定IP地址与对端设备通信时,所述网络设备在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;
[0007] 所述网络设备根据查找得到的路由转发报文。
[0008] 所述临时路由表中存储的路由表项包括源IP地址、目的IP地址、下一跳和出端口。
[0009] 还包括:
[0010] 在所述临时路由表中没有查找得到对应的路由时,所述网络设备进一步在所述系统路由表中查找路由;
[0011] 所述网络设备获取在所述系统路由表中查找得到的路由的出接口;
[0012] 若所述出接口的IP地址与所述指定IP地址相同,所述网络设备直接根据在所述系统路由表中查找得到的路由转发报文;
[0013] 若所述出接口的IP地址与所述指定IP地址不相同,所述网络设备在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由,并根据该添加的路由转发报文。
[0014] 所述网络设备进一步在所述系统路由表中查找路由之后,还包括:
[0015] 当在所述系统路由表中没有查找得到对应的路由、或者向所述对端设备发送报文失败时,所述网络设备通过所述指定IP地址对应的出接口向所述对端设备发送路径探测报文;
[0016] 所述网络设备根据接收到的所述路径探测报文的响应报文,根据接收到的所述路径探测报文的响应报文在所述临时路由表中配置以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由,并根据该路由转发报文。
[0017] 还包括:
[0018] 当所述网络设备没有指定IP地址与对端设备通信时,所述网络设备在所述临时路由表和系统路由表中查找与所述对端设备对应的路由;
[0019] 当所述临时路由表和系统路由表中都没有查找得到对应的路由时,所述网络设备通过所有出接口向所述对端设备发送路径探测报文;
[0020] 所述网络设备根据接收到的所述路径探测报文的响应报文确定到达所述对端设备的最优路径,并根据该最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由,根据该路由进行报文转发。
[0021] 所述临时路由表中存储的与源IP地址和目的IP地址共同对应的路由表项中还包括路径开销;
[0022] 当所述网络设备没有指定IP地址与对端设备通信、且在所述临时路由表查找到多条与所述对端设备对应的路由时,所述网络设备根据所述路径开销选择路由进行报文转发。
[0023] 所述临时路由表中存储的与源IP地址和目的IP地址共同对应的路由表项中还包括目的端口;
[0024] 以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由有多条时,所述网络设备根据所述目的端口进一步区分该多条路由。
[0025] 还包括:
[0026] 当所述网络设备与所述对端设备的连接中断时,所述网络设备删除所述临时路由表中所有到达所述对端设备的路由;
[0027] 所述网络设备通过所有出接口向所述对端设备发送路径探测报文;
[0028] 所述网络设备根据接收到的所述路径探测报文的响应报文确定到达所述对端设备的最优路径,并根据该最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由,根据该路由进行报文转发。
[0029] 一种多接口网络设备,通过多个IP地址发送报文,该网络设备包括:
[0030] 存储单元,用于存储系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表;
[0031] 查找单元,与所述存储单元连接,用于当指定IP地址与对端设备通信时,在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;
[0032] 转发单元,与所述查找单元连接,用于根据所述查找单元在所述临时路由表中查找得到的路由转发报文。
[0033] 所述临时路由表中存储的路由表项包括源IP地址、目的IP地址、下一跳和出端口。
[0034] 所述查找单元还用于:在所述临时路由表中没有查找得到对应的路由时,进一步在所述系统路由表中查找路由;
[0035] 获取单元,与所述查找单元连接,用于获取在所述系统路由表中查找得到的路由的出接口;
[0036] 判断单元,与所述获取单元连接,用于判断所述获取单元获取的出接口的IP地址与所述指定IP地址是否相同;
[0037] 添加单元,与所述判断单元连接,用于当所述判断单元判断所述出接口的IP地址与所述指定IP地址不相同时,在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;
[0038] 所述转发单元还用于:与所述判断单元和添加单元连接,当所述判断单元判断所述出接口的IP地址与所述指定IP地址相同时,直接根据在所述系统路由表中查找得到的路由转发报文;当所述判断单元判断所述出接口的IP地址与所述指定IP地址不相同时,根据所述添加单元添加的路由转发报文。
[0039] 还包括:
[0040] 收发单元,与所述查找单元连接,用于所述查找单元在所述系统路由表中没有查找得到对应的路由时,通过所述指定IP地址对应的出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;
[0041] 路径获取单元,与所述收发单元连接,用于根据所述收发单元接收到的所述路径探测报文的响应报文获取到达所述对端设备的路径,由所述转发单元根据该路径转发报文;
[0042] 所述添加单元还用于:与所述路径获取单元连接,用于根据所述路径在所述临时路由表中配置以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由。
[0043] 当所述网络设备没有指定IP地址与对端设备通信时,
[0044] 所述查找单元还用于:在所述临时路由表和系统路由表中查找与所述对端设备对应的路由;
[0045] 还包括收发单元,用于当所述临时路由表和系统路由表中都没有查找得到对应的路由时,通过所有出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;
[0046] 还包括路径获取单元,与所述收发单元连接,用于根据所述收发单元接收到的所述路径探测报文的响应报文获取到达所述对端设备的最优路径,由所述转发单元根据该最优路径转发报文;
[0047] 所述添加单元还用于:与所述路径获取单元连接,用于根据所述最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由。
[0048] 所述存储单元存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括路径开销;
[0049] 所述查找单元还用于:当没有指定IP地址与对端设备通信、且在所述临时路由表查找到多条与所述对端设备对应的路由时,根据所述路径开销选择路由进行报文转发。
[0050] 所述存储单元存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括目的端口;
[0051] 所述查找单元还用于:以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由有多条时,进一步查找所述目的端口对应的路由。
[0052] 还包括:
[0053] 删除单元,与所述存储单元连接,用于当所述网络设备与所述对端设备的连接中断时,删除所述临时路由表中所有到达所述对端设备的路由。
[0054] 与现有技术相比,本发明至少具有以下优点:
[0055] 本发明中,多接口网络设备中添加临时路由表,在该临时路由表中存储与源IP地址和目的IP地址共同对应的路由,并在指定IP地址与对端设备通信时,通过临时路由表中的路由向对端设备发送报文,解决了多接口主机路由选择混乱的问题;而且,本发明中在没有指定IP地址与对端设备通信时,依次在临时路由表和系统路由表中查找与对端设备对应的路由,在查找失败时通过探测报文获取到达对端设备的最优路径,并在临时路由表中添加最优路径对应的路由,后续通过该最优路径与对端设备通信,从而提高在没有指定IP地址时报文转发的效率。

附图说明

[0056] 图1是现有技术中MIF主机的网络连接方式示意图;
[0057] 图2是本发明中当指定MIF主机使用某一地址与对端设备进行通信时的报文发送方法流程示意图;
[0058] 图3是本发明中当没有指定MIF主机使用某一地址与对端设备进行通信时的报文发送方法流程示意图;
[0059] 图4是本发明中多接口网络设备的结构示意图。

具体实施方式

[0060] 现有技术中,网络设备通过系统路由表进行报文转发,由于系统路由表中不支持源IP地址信息,因此这种转发方式不支持根据源IP地址查找对应的路由转发报文。对于多接口网络设备,当需要指定源IP地址发送报文时,即需要指定源端口发送报文,根据现有的系统路由表无法满足这一要求。为了克服上述问题,本发明在多接口网络设备中提供一种临时路由表,该临时路由表中存储与源IP地址对应的路由,并设置该临时路由表的优先级高于系统路由表,当需要指定源IP地址进行报文转发时,网络设备查找该临时路由表获得对应的路由转发报文。
[0061] 具体的,当多接口网络设备中指定IP地址与对端设备通信时,网络设备在临时路由表中查找以指定IP地址为源IP地址、以对端设备的IP地址为目的IP地址的路由,根据查找得到的路由转发报文;在所述临时路由表中没有查找得到对应的路由时,所述网络设备进一步在所述系统路由表中查找路由,获取在所述系统路由表中查找得到的路由的出接口;若所述出接口的IP地址与所述指定IP地址相同,所述网络设备直接根据在所述系统路由表中查找得到的路由转发报文;若所述出接口的IP地址与所述指定IP地址不相同,所述网络设备在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由,并根据该添加的路由转发报文。
[0062] 其中,临时路由表中存储源地址和目的地址共同对应的路由,例如,临时路由表中的路由表项信息可以包括:源地址、目的地址、目的端口、下一跳、出接口、路径开销;该临时路由表的结构如表1所示:
[0063] 表1
[0064]源地址 目的地址 目的端口 下一跳 出接口 路径开销
Src1 Dest1 Port1 GW1 IF1 Metric1
Src2 Dest1 Port2 GW2 IF2 Metric2
[0065] 上述表项存储的记录为MIF使用某地址到达某目的主机及主机端口路由信息。需要说明的是,表1所示的临时路由表的结构仅为一个具体的实现方式,其中的各项信息可以根据实际需要灵活添加或者删除。其中的目的端口为对端设备的端口,当需要指定到达对端设备的某个端口时,则可以根据该表项信息进行精确匹配;如果目的端口号为0,则表示不需要区分到达对端设备的路由。
[0066] 下面多接口网络设备以MIF主机为例对本发明中提供的报文发送方法进行进一步详细介绍。其中,该方法应用的场景包括下述两种情况:指定MIF主机使用某一地址(本发明中该地址指IP地址)与对端设备进行通信、以及没有指定MIF主机使用地址(本发明中该地址指IP地址)与对端设备进行通信。
[0067] 首先介绍第一种情况,当指定MIF主机使用某一地址与对端设备进行通信时,如图2所示,该报文发送方法包括以下步骤:
[0068] 步骤201,MIF主机根据指定的地址查询临时路由表;如果在临时路由表中存在源地址为指定地址、且目的地址为对端设备地址的路由表项,则多接口主机根据该表项将报文从指定出接口发往指定的下一跳;如果没有在临时路由表中找到该表项,则继而在系统路由表中查找。
[0069] 步骤202,在系统路由表中查找到对应的路由信息时,判断该路由的出接口是否与指定地址所在的接口相同;如果相同,则根据系统路由转发;否则,在临时路由表添加一条主机路由,根据该添加的路由发送报文。
[0070] 其中,添加的路由的源地址为指定的源地址、目的地址为对端设备的IP地址。以表1所示为例,则添加的路由中的端口为对端设备和报文入端口、下一跳为指定出接口的网关,出接口为指定地址所在的接口,开销为默认值(该默认值为临时路由表中优先级最小的值)。后续的报文传输根据临时路由表中添加的表项进行转发。
[0071] 步骤203,在系统路由表中没有查找到对应的路由信息时,或者向对端设备发送的报文失败时,在与指定地址对应的接口上进行路径探测。
[0072] 具体的,MIF主机通过与指定地址对应的接口向对端设备发送路径探测报文,如果接收不到对端设备发送的响应报文,即没有控测到可用路径,则表示对端设备不可达;如果接收到对端设备发送的响应报文,即探测到可用路径,则获取该路径并在临时路由表中配置以指定地址为源IP地址、以对端设备的IP地址为目的IP地址的路由。
[0073] 为了更清楚地介绍该方式,以图1中所示的情况为例对该方法进行说明:
[0074] 由于之前host与CN之间通过N1连接,因此系统的路由表中目的为CN的路由信息如表2所示:
[0075] 表2
[0076]目的网络 目的网络掩码 下一跳 出接口
IP3 NetMask GW1 I1
[0077] 当上层应用选择IP2作为源地址连接IP3时,此时先查找临时路由表,由于之前没有进行过连接,因此临时路由表中没有匹配项;继而查询系统路由表,匹配表项如表1,然而在检查出接口时,发现不匹配(IP2对应的出接口为I2,而系统路由表中的出接口为I1);因此需要在监时路由表中添加一条记录,使得该连接上的报文能够从I2接口发出,添加的表项如表3所示:
[0078] 表3
[0079]源地址 目的地址 目的端口 下一跳 出接口 开销
IP2 IP3 dstPort GW2 I2 Metric2
[0080] 之后从IP2到IP3dstPort端口的报文都会匹配该表项经由I2接口发出。
[0081] 下面介绍第二种情况,当没有指定MIF主机使用某一地址与对端设备进行通信时,如图3所示,该报文发送方法包括以下步骤:
[0082] 步骤301,MIF主机依次在临时路由表和系统路由表中查找到达对端设备的路由;当临时路由表中具有与所述对端设备匹配的路由时,执行步骤302;否则执行步骤303。
[0083] 需要说明的是,当指定MIF主机使用某一地址与对端设备进行通信时,MIF主机在临时路由表中查找与指定地址和对端设备地址同时对应的路由,当没有指定MIF主机使用某一地址与对端设备进行通信时,MIF主机在临时路由表中只查找与对端设备地址对应的路由,不考虑临时路由表中源IP地址的作用。此时,如果临时路由表中与对端设备地址对应的路由有多条,则根据多条路由的路径开销选择一条路由,例如选择路径开销最小的路由。
[0084] 步骤302,根据在所述临时路由表中查找得到的路由向所述对端设备发送报文。
[0085] 步骤303,在系统路由表中查询与所述对端设备匹配的路由,查询成功时执行步骤304;否则执行步骤305。
[0086] 步骤304,根据在系统路由表中查找得到的路由向对端设备发送报文。
[0087] 步骤305,通过MIF主机的所有端口向对端设备发送探测报文,获取到达对端设备的最优路径,并将最优路径添加到临时路由表中。
[0088] 具体的,网络探测方式为依次使用各个接口的地址,往对端设备的指定端口发送ICMP(Internet Control Message Protocol,因特网控制报文协议)探测报文,MIF主机根据返回的ICMP报文,来判断各接口与目的节点间的网络情况(跳数、延时等),然后根据网络情况,来选择最优路径(开销最小),其中的开销是由跳数、延时等信息计算而来,例如开销=跳数*权重1+延时*权重2+其他判断标准;之后在临时路由表中添加该最优路径。
[0089] 为了更清楚地介绍该方式,以图1中所示的情况为例对该方法进行说明:1系统路由表如表4所示:
[0090]目的网络 目的网络掩码 下一跳 出接口
IP3 NetMask GW1 I1
[0091] 临时路由表为空。此时当上层应用发起与节点CN的连接时,依次查询临时路由表、系统路由表,发现系统路由表中有匹配项,因此根据该路由信息选择I1接口往CN发起连接;当连接建立之后,MIF主机开始在所有接口上进行路径探测,当获取到I1和I2上的路径信息后,进行比较,如果发现I2路径优于I1(如跳数更少或延时更少等),则在临时路由表中添加如表5所示,之后发往IP3dstPort端口的数据包都经由I2接口往外发送。
[0092] 表5
[0093]源地址 目的地址 目的端口 下一跳 出接口 开销
IP2 IP3 dstPort GW2 I2 Metric2
[0094] 此外,当MIF主机与外界的连接中断时,处理如下:当出现连接中断时,首先删除所有在临时路由表中到外界节点的路径;然后开始在所有接口上进行路径探测,路径探测过程与上述的路径管理相同;MIF主机根据返回的路径网络情况,选择最优路径;在临时路由表中添加该最优路径,之后应用进行重连接时即可通过该路径进行连接。
[0095] 需要说明的是,本发明提供的方法中,还可以在多接口网络设备中配置开关功能,用于控制是否启动临时路由表查询功能。若不需要启动临时路由表查询功能,则多接口网络设备直接查找系统路由表进行报文转发,当启动临时路由表查询功能后,多接口网络设备优先查找临时路由表进行报文转发。
[0096] 通过采用本发明提供的方法,多接口网络设备中添加临时路由表,在该临时路由表中存储与源IP地址和目的IP地址共同对应的路由,并在指定IP地址与对端设备通信时,通过临时路由表中的路由向对端设备发送报文,解决了多接口主机路由选择混乱的问题;而且,本发明中在没有指定IP地址与对端设备通信时,依次在临时路由表和系统路由表中查找与对端设备对应的路由,在查找失败时通过探测报文获取到达对端设备的最优路径,并在临时路由表中添加最优路径对应的路由,后续通过该最优路径与对端设备通信,从而提高在没有指定IP地址时报文转发的效率。
[0097] 本发明提供一种多接口网络设备,通过多个IP地址发送报文,如图4所示,该网络设备包括:
[0098] 存储单元11,用于存储系统路由表与临时路由表,所述临时路由表中存储与源IP地址和目的IP地址共同对应的路由,所述临时路由表的优先级高于所述系统路由表。所述临时路由表中存储的路由表项包括源IP地址、目的IP地址、下一跳和出端口。
[0099] 查找单元12,与所述存储单元11连接,用于当指定IP地址与对端设备通信时,在所述临时路由表中查找以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由。
[0100] 转发单元13,与所述查找单元12连接,用于根据所述查找单元在所述临时路由表中查找得到的路由转发报文。
[0101] 所述查找单元12还用于:在所述临时路由表中没有查找得到对应的路由时,进一步在所述系统路由表中查找路由;相应的,该设备还包括获取单元14,与所述查找单元12连接,用于获取在所述系统路由表中查找得到的路由的出接口;判断单元15,与所述获取单元14连接,用于判断所述获取单元14获取的出接口的IP地址与所述指定IP地址是否相同;添加单元16,与所述判断单元15连接,用于当所述判断单元15判断所述出接口的IP地址与所述指定IP地址不相同时,在所述临时路由表中添加以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由;所述转发单元13还用于:与所述判断单元15和添加单元16连接,当所述判断单元15判断所述出接口的IP地址与所述指定IP地址相同时,直接根据在所述系统路由表中查找得到的路由转发报文;当所述判断单元15判断所述出接口的IP地址与所述指定IP地址不相同时,根据所述添加单元16添加的路由转发报文。
[0102] 该设备还可以包括:
[0103] 收发单元17,与所述查找单元12连接,用于所述查找单元12在所述系统路由表中没有查找得到对应的路由时,通过所述指定IP地址对应的出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;
[0104] 相应的,该设备还可以包括路径获取单元18,与所述收发单元17连接,用于根据所述收发单元17接收到的所述路径探测报文的响应报文获取到达所述对端设备的路径,由所述转发单元13根据该路径转发报文;所述添加单元16还用于:与所述路径获取单元18连接,用于根据所述路径在所述临时路由表中配置以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由。
[0105] 当所述网络设备没有指定IP地址与对端设备通信时,
[0106] 所述查找单元12还用于:在所述临时路由表和系统路由表中查找与所述对端设备对应的路由;相应的,收发单元17,用于当所述临时路由表和系统路由表中都没有查找得到对应的路由时,通过所有出接口向所述对端设备发送路径探测报文,并接收所述路径探测报文的响应报文;路径获取单元18,与所述收发单元17连接,用于根据所述收发单元接收到的所述路径探测报文的响应报文获取到达所述对端设备的最优路径,由所述转发单元根据该最优路径转发报文;所述添加单元16还用于:与所述路径获取单元18连接,用于根据所述最优路径在所述临时路由表中配置源IP地址和目的IP地址共同对应的路由。
[0107] 所述存储单元11存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括路径开销;所述查找单元12还用于:当没有指定IP地址与对端设备通信、且在所述临时路由表查找到多条与所述对端设备对应的路由时,根据所述路径开销选择路由进行报文转发。
[0108] 所述存储单元11存储的临时路由表中与源IP地址和目的IP地址共同对应的路由表项中还包括目的端口;所述查找单元12还用于:以所述指定IP地址为源IP地址、以所述对端设备的IP地址为目的IP地址的路由有多条时,进一步查找所述目的端口对应的路由。
[0109] 还包括:
[0110] 删除单元19,与所述存储单元11连接,用于当所述网络设备与所述对端设备的连接中断时,删除所述临时路由表中所有到达所述对端设备的路由。
[0111] 通过采用本发明提供的多接口网络设备,多接口网络设备中添加临时路由表,在该临时路由表中存储与源IP地址和目的IP地址共同对应的路由,并在指定IP地址与对端设备通信时,通过临时路由表中的路由向对端设备发送报文,解决了多接口主机路由选择混乱的问题;而且,本发明中在没有指定IP地址与对端设备通信时,多接口网络设备依次在临时路由表和系统路由表中查找与对端设备对应的路由,在查找失败时通过探测报文获取到达对端设备的最优路径,并在临时路由表中添加最优路径对应的路由,后续通过该最优路径与对端设备通信,从而提高在没有指定IP地址时报文转发的效率。。
[0112] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0113] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0114] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0115] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0116] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。