首页> 中国专利> 增强型ICMP重定向方法

增强型ICMP重定向方法

摘要

本发明公开了一种增强型ICMP重定向方法,涉及数据通信领域本发明改进了三个机制,分别是:网关地址附加MAC地址机制、使主机学习MAC地址机制和周期发送两种不同ENICMP重定向消息机制。ENICMP重定向的工作原理为:当指定网关收到数据包的入接口和路由后的出接口是同一个接口时,指定网关便向主机发送ENICMP重定向消息。主机收到后,便将原目的IP地址和接收到的MAC地址进行匹配,用来消除原ICMP重定向消息后主机中产生的主机路由表。那么,下次去往目的主机时,便可选择正确路径访问;同时,指定网关会向主机周期发送两种ENICMP重定向消息,目的是使主机能够周期检测指定网关上行链路是否恢复。若恢复,指定网关便停止发送ENICMP重定向消息给主机。

著录项

  • 公开/公告号CN106254237A

    专利类型发明专利

  • 公开/公告日2016-12-21

    原文格式PDF

  • 申请/专利权人 华洋通信科技股份有限公司;

    申请/专利号CN201610657744.X

  • 发明设计人 张永福;张会柱;张传生;王海君;

    申请日2016-08-12

  • 分类号H04L12/707;

  • 代理机构南京钟山专利代理有限公司;

  • 代理人李小静

  • 地址 221116 江苏省徐州市高新技术产业开发区珠江路7号

  • 入库时间 2023-06-19 01:10:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-17

    授权

    授权

  • 2017-01-18

    实质审查的生效 IPC(主分类):H04L12/707 申请日:20160812

    实质审查的生效

  • 2016-12-21

    公开

    公开

说明书

技术领域

本发明涉及数据通信领域,具体是一种增强型ICMP重定向方法。

背景技术

在传统的ICMP重定向过程中,整个过程的工作原理为:

1.当指定网关收到数据包的入接口和路由后的出接口是同一个接口时,指定网关便向主机发送一个携带新网关IP地址的ICMP重定向消息;

2.主机收到ICMP重定向消息后,便根据得到的新网关的IP地址,在本地生成一个本地主机路由表,用来查询转发数据包。并且会生成一个永久存在的重定向表,存储新网关的信息。

如果有一台大型的服务器,要处理数十个子网下的数千台主机的业务,如果需要支持重定向,那么该服务器将会维护一个庞大的充满主机路由的路由表。这将是一笔很大的开销,将在很大程度上降低服务器的服务性能,甚至导致网络服务瘫痪;此外,传统ICMP重定向生成的永久性存在的重定向表将导致即使指定网关恢复后,也无法自动切换到该指定网关,必须管理员手动清除。很多情况下,管理员会选择关闭ICMP重定向,这样传统的ICMP就发挥不出它的作用了。

发明内容

为了克服解决当重定向后主机需维护主机路由表和上行链路恢复后无法自动切换回原网关的问题,本发明提供了一种增强型ICMP重定向方法,即通过三个机制的实现,消除主机中的本地主机路由表和周期性的测试,达到及时诊断指定网关的状态,并在指定网关恢复时恢复到最佳路径的效果。

本发明是以如下技术方案实现的:一种增强型ICMP重定向方法,指定网关和备份网关构成了本地PC和外部主机通信的媒介;其特征在于:两个网关的内部端口连接到一个二层交换机上;这两个端口配置的IP地址分别为本地PC的指定网关和指定网关故障后本地PC所要切换到的网关地址;当指定网关出现问题时,将发送设置了三种新的机制的ICMP重定向消息,三种机制如下:

网关地址附加MAC地址机制:ENICM重定向消息中包含的信息分为一类ENICMP重定向消息和二类ENICMP重定向消息;一类ENICMP重定向消息包括指定网关地址+指定网关MAC地址;二类ENICMP重定向消息包括指定网关地址+备份网关MAC地址两种类型。

使本地PC学习MAC地址机制:ENICMP重定向消息到达本地PC后,会使本地PC拆开数据包,并将包中携带的MAC地址和目的IP地址进行匹配。

周期发送两类不同ENICMP重定向消息机制:相同30S间隔内,每发送三个携带备份网关MAC地址的消息包就会发送一个携带指定网关MAC地址的数据包给本地PC。

优选的,当指定网关上行链路正常时,具体流程为:

(1)本地PC首先发送ARP协议包,目标地址为所要访问的不同网段的外部目的主机地址;

(2)指定网关收到ARP请求后,发现自己内部接口的IP地址与本地PC指定网关地址相一致,便给本地PC回复此ARP请求;

(3)备份网关收到ARP请求后,发现自己不是本地PC所指向的网关,不回复此ARP请求,主动发送ARP请求解析本地PC的MAC地址;

(4)本地PC的ARP表中产生了一条外部主机地址和指定网关内部接口MAC地址对应的条目;

(5)二层交换机中生成了一张CAM表,存放了三个接口各自对应的MAC地址信息;

(6)本地PC访问外部主机时,根据携带的源、目的信息,经过二层交换机的转发,顺利通过指定网关路由后到达外部主机。

优选的,当指定网关上行链路故障时,具体流程为:

(1)当指定网关收到数据包进行路由后,发现出接口和收到数据包的入接口一致时,便向本地PC发送一个二类ENICMP重定向数据包;

(2)本地PC收到指定网关的二类ENICMP重定向消息后,将其中包含的MAC地址和外部主机IP地址相匹配;

(3)本地PC再次访问外部主机时,根据数据包中的目的MAC地址直接查询二层交换机的CAM表转发到备份网关上,发送出去;

(4)备份网关将收到的数据包路由出去,到达目的地,即外部主机;

(5)指定网关连续向本地PC发送了三个二类ENICMP重定向消息,30秒后会向本地PC发送一个一类ENICMP重定向消息;

(6)本地PC接收到一类ENICMP消息后,将其中包含的MAC地址和外部主机IP地址相匹配;

(7)本地PC再次访问外部主机时,根据数据包中的目的MAC地址直接查二层交换机的CAM表转发到指定网关上,发送出去;

(8)指定网关收到数据包后,再次判断出接口和收到数据包的入接口是否一致,若一致,则重复步骤上述所有步骤;如果不一致,则表示指定网关上行链路已恢复,于是正常转发数据包,并停止向本地PC发送一类ENICMP重定消息;

(9)此时,数据包恢复到了指定网关正常转发的状态。

本发明的有益效果是:在原先ICMP重定向功能的基础上实现了本地PC路由表的消除,减轻了本地PC维护本地路由表的负担;并且可以周期性检测指定网关的状态,当指定网关恢复后主动恢复链路,自动切换到原先的路径。

附图说明

下面结合附图对本发明作进一步说明。

图1为发明中网络架构整体示意图;

图2为ENICMP重定向报文格式;

图3为ENICMP重定向的工作流程示意图。

具体实施方式

如图1所示,指定网关和备份网关构成了本地PC和外部主机通信的媒介,本地PC以及传统以太网二层设备(交换机、网桥等)的工作原理保持不变。两个网关的内部端口连接到一个二层交换机上,这两个端口配置的IP地址分别为本地PC的指定网关以及指定网关故障后本地PC所要切换到的网关地址。当指定网关发生故障后,将发送设置了三种新的机制的ENICMP重定向消息,三种机制如下:

网关地址附加MAC地址机制:ENICM重定向消息中包含的信息分为一类ENICMP重定向消息和二类ENICMP重定向消息;一类ENICMP重定向消息包括指定网关地址+指定网关MAC地址;二类ENICMP重定向消息包括指定网关地址+备份网关MAC地址两种类型。

使本地PC学习MAC地址机制:ENICMP重定向消息到达本地PC后,会使本地PC拆开数据包,并将包中携带的MAC地址和目的IP地址进行匹配。

周期发送两类不同ENICMP重定向消息机制:相同30S间隔内,每发送三个携带备份网关MAC地址的消息包就会发送一个携带指定网关MAC地址的数据包给本地PC。

ENICMP重定向的工作原理为:当指定网关收到数据包的入接口和路由后的出接口是同一个接口时,指定网关透过二层交换机便向本地PC发送一个ENICMP重定向消息,该消息分为一类ENICMP重定向消息和二类ENICMP重定向消息两种;一类ENICMP重定向消息携带指定网关IP地址和指定网关MAC地址,用来使本地PC周期检测指定网关状态,自动恢复链路;二类ENICMP重定向消息携带指定网关IP地址和备份网关MAC地址,用来“欺骗”本地PC直接选择备份网关,并不生成本地PC路由表。本地PC收到后,便将原目的IP地址和接收到的MAC地址进行匹配,用来消除原ICMP重定向消息后本地PC中产生的主机路由表。那么,下次去往外部主机时,便可选择正确路径访问;同时,指定网关会向主机周期发送两种ENICMP重定向消息,目的是使主机能够周期检测指定网关上行链路是否恢复;若恢复,指定网关便停止发送ENICMP重定向消息给本地PC。

如图2所示,ENICMP重定向数据包中增加了48bit位的网关MAC地址。

如图3所示,增强型ICMP重定向方法的工作流程为:

当指定网关上行链路正常时,具体流程为:

(1)本地PC首先发送ARP协议包,目标地址为所要访问的不同网段的外部目的主机地址;

(2)指定网关收到ARP请求后,发现自己内部接口的IP地址与本地PC指定网关地址相一致,便给本地PC回复此ARP请求;

(3)备份网关收到ARP请求后,发现自己不是本地PC所指向的网关,不回复此ARP请求,主动发送ARP请求解析本地PC的MAC地址;

(4)本地PC的ARP表中产生了一条外部主机地址和指定网关内部接口MAC地址对应的条目;

(5)二层交换机中生成了一张CAM表,存放了三个接口各自对应的MAC地址信息;

(6)本地PC访问外部主机时,根据携带的源、目的信息,经过二层交换机的转发,顺利通过指定网关路由后到达目的地。

当指定网关上行链路故障时,具体流程为:

(1)当指定网关收到数据包进行路由后,发现出接口和收到数据包的入接口一致时,便向本地PC发送一个二类ENICMP重定向数据包;

(2)本地PC收到指定网关的二类ENICMP重定向消息后,将其中包含的MAC地址和外部主机IP地址相匹配;

(3)本地PC再次访问外部主机时,根据数据包中的目的MAC地址直接查询二层交换机的CAM表转发到备份网关上,发送出去;

(4)备份网关将收到的数据包路由出去,到达目的地,即外部主机;

(5)指定网关连续向本地PC发送了三个二类ENICMP重定向消息,30秒后会向本地PC发送一个一类ENICMP重定向消息;

(6)本地PC接收到一类ENICMP消息后,将其中包含的MAC地址和外部主机IP地址相匹配;

(7)本地PC再次访问外部主机时,根据数据包中的目的MAC地址直接查二层交换机的CAM表转发到指定网关上,发送出去;

(8)指定网关收到数据包后,再次判断出接口和收到数据包的入接口是否一致,若一致,则重复步骤上述所有步骤;如果不一致,则表示指定网关上行链路已恢复,于是正常转发数据包,并停止向本地PC发送一类ENICMP重定消息;

(9)此时,数据包恢复到了指定网关正常转发的状态。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号