首页> 中国专利> 防止用户获得运营商网络信息的方法和装置

防止用户获得运营商网络信息的方法和装置

摘要

本发明提供了一种防止用户获得运营商网络信息的方法和装置,本发明所述方法主要包括:确定运营商网络和用户网络之间的边缘路由器;所述边缘路由器将接收到的从运营商网络发往用户网络的互联网控制报文协议ICMP超时报文进行过滤处理。利用本发明可以使运营商网络不将用户数据的路径信息返回给用户。

著录项

  • 公开/公告号CN1893392A

    专利类型发明专利

  • 公开/公告日2007-01-10

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200510082717.6

  • 发明设计人 苗福友;

    申请日2005-07-07

  • 分类号H04L12/56(20060101);

  • 代理机构11260 北京凯特来知识产权代理有限公司;

  • 代理人郑立明

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 18:04:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-24

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20090617 终止日期:20170707 申请日:20050707

    专利权的终止

  • 2009-06-17

    授权

    授权

  • 2007-04-18

    实质审查的生效

    实质审查的生效

  • 2007-01-10

    公开

    公开

说明书

技术领域

本发明涉及通讯领域,尤其涉及一种防止用户获得运营商网络信息的方法和装置。

背景技术

IP协议是因特网协议系列的核心部分,它以统一的选路机制屏蔽了底层物理网络,从而实现了异种网络的广域互联。目前在因特网上使用的IP协议版本为IPv4协议。

IP协议虽然具有强大的传递报文的能力,但IP协议并不负责报文的丢失、重复、延迟和乱序等情况,因此,IP协议并不能保证报文一定能够投递到目的地。于是,为了提高IP报文交付成功的概率,准确反映报文的投递情况,IETF(因特网工程部)设计了ICMP(互联网控制报文协议)。

从因特网的结构看,因特网是由收发报文的主机和中转报文的路由器组成。鉴于IP协议本身的一些不可靠性,ICMP协议主要用于传输网络设备和结点之间的控制和差错报告报文。即ICMP协议的目的仅仅是向源发主机告知网络环境中出现的问题。ICMP协议主要支持通过路由器将报文传输的结果信息反馈回源发主机。

ICMP的使用者主要是路由器,接收者为IP报文的源发主机端,ICMP报文的简单传输过程如下:

1、当路由器发现某份IP报文因为某种原因无法继续转发和投递时,相关的实体(一般为上层实体)便形成ICMP报文。

2、路由器根据判断的故障类别,在该ICMP报文中分别填入报文类型、报文代码、报文检验和以及报文的数据部分。

3、路由器从出现故障的IP报文中截取源发送主机的IP地址,形成新的携带该ICMP报文的IP报文;

4、路由器利用信道通过一定的路由把该IP报文转发给源发主机;

5、源发主机端收到携带ICMP报文的IP报文后,从中提取出ICMP报文,读取ICMP报文各字段值,进而判断出现故障的IP报文的故障类型及其故障原因。

携带ICMP报文的IP报文在反馈传输过程中不具有任何优先级,与正常的IP报文一样进行转发,唯一不同的是如果携带ICMP报文的IP报文在传输过程中出现故障,转发该IP报文的路由器就将不产生任何新的差错报文。

ICMP报文主要可分为两类报文,即ICMP错误性报告报文和ICMP信息性报文。

ICMP错误性报告报文主要有五种,即

1、目的站不可达报文:当路由器或主机不能向目的站交付报文时,就向源站发送目的站不可达的报文。

2、源站抑制报文:当路由器或主机由于拥塞而丢弃报文时,就向源站发送源站抑制报文报文,使源站知道应该将报文的发送速率放慢。

3、超时报文:当路由器收到生存时间为零的报文时,除丢弃该报文外,还要向源站发送超时报文。当目的站在预先规定的时间内不能收到一个报文的全部内容时,就将已收到的报文内容都丢弃,并向源站发送超过报文。

4、参数问题报文:当路由器或目的主机发现收到的报文的首部中有的字段的值不正确时,就丢弃该报文,并向源站发送参数问题报文。

5、改变路由(重定向)报文:路由器通过将改变路由报文发送给主机,让主机知道下次应将报文发给另外的路由器。

不应发送ICMP错误性报告报文的几种情况如下:

1、对ICMP错误性报告报文不再发送ICMP错误性报告报文;

2、对第一个分片的报文片的所有后续报文片都不发送ICMP错误性报告报文;

3、对具有多播地址的报文都不发送ICMP错误性报告报文;

4、对具有特殊地址(如127.0.0.0或0.0.0.0)的报文不发送ICMP错误性报告报文。

ICMP信息性报文有四种:

1、回送请求(Echo Request)和回答报文(Echo Reply):当主机或路由器向一个特定的目的主机发出回送请求报文后,收到此报文的机器必须给源发主机或路由器返回回答报文。

2、时间戳请求和回答报文:该报文主要用于请某个主机或路由器回答当前的日期和时间。

3、掩码地址请求报文:该报文主要用于从子网掩码服务器得到某个接口的地址掩码。

4、路由器询问和通告报文:该报文主要用于了解连接在本网络上的路由器是否正常工作。主机将路由器询问报文进行广播。收到询问报文的一个或多个路由器就使用路由器通告报文广播其路由选择信息。

通过将回送请求和应答两类报文(信息性报文)和超时报文(错误报文)两种报文的功能进行组合,能够获得IP报文的网络传输路径。

下面我们以IPv4网络为例来说明traceRoute(一种跟踪数据传输路径的方法或程序)功能。

目前使用的traceroute包括两种:ICMP traceroute和UDP(用户数据报协议)traceroute。某些软件公司使用ICMP traceroute,所以,某些操作系统上发出的traceRT使用的是ICMP traceroute,其它操作系统,比如unix和某些公司的路由器都使用UDP traceroute。

在路由器和主机中,TraceRoute根据报文TTL(Time to Live,生存时间)的值来决定下一步的操作:

如果收到的报文TTL=0,则丢弃该报文,同时向源节点发送ICMP超时报文;

如果收到的报文TTL不等于0,则将TTL减1后,将该报文转发给上层协议处理。

一般TraceRoute都将TTL的值设置得很小,刻意让路径上的节点返回ICMP超时报文来获得路径信息。

ICMP traceroute的工作原理如下:

ICMP traceroute使用ICMP Echo Request报文,ICMP Echo Reply报文和ICMP TTL-expired报文。源主机发出ICMP Echo Request报文,第一个request报文的TTL为1,第二个request报文的TTL为2,以后依此递增直至TTL为30;中间的路由器送回ICMP TTL-expired(ICMP type 11)报文通知源主机,packet同时因TTL超时而被drop,由此源主机知晓报文一路上经过的每一个路由器,最后的目的主机送回ICMP Echo Reply报文。

UDP traceroute的工作原理如下:

UDP traceroute使用ICMP TTL-expired(type 11)报文,ICMP portunreachable(type 3,code 3)报文和UDP port>32768报文。源主机发出UDPpacket,源端口使用随机的任何大于32768的高段port#,destination port#从33434开始每送个probe依此递增,直至33434+29,(cisco router上使用extended-traceroute命令可以修改这个起始的33434 port#),同时TTL从1开始依此递增,直至1+29=30(最多送30个probe)。中间的路由器送回ICMP TTL-expired报文,使得源主机得知了中间的每一个路由器,最后的目的主机送回TTL-expired报文和ICMP port unreachable报文(因为任何主机上都没有应用使用UDP port#>32768这样的高段port#)。

根据上面所述的ICMP traceroute和UDP traceroute的工作原理,用户可以利用ICMP traceroute和UDP traceroute来获得网络中的节点信息和路径信息,并且可以通过改变报文的目的地址,获得多个路径信息,这些信息组合起来就能够产生网络拓扑。

从用户的角度来看,用户关心的是服务质量,用户不必关心通过哪些节点来完成报文的传输,用户获得路径信息也无益于提高用户的满意度。但不良攻击者却可以利用路径信息来对网络发起攻击,所以,应该限制用户获得网络路径信息。

现有技术中一种针对ICMP TraceRoute的安全防范方法为:通过改变路由器的报文处理规则来限制路由器返回系统信息。该方法改变的报文处理规则主要为:

1、中间路径上任何一个路由器如果过滤ICMP Echo Request,Traceroute就不能工作;

2、封了type 11(Time Exceeded)报文,中间的路由器全看不到,但能看到报文到达了最后的目的地;

3、封了ICMP Echo Reply报文,中间的所有节点能够返回TimeExceeded信息,最后的目的地看不到,因此,用户仍旧能够获得路径信息。

现有技术中一种针对UDP TraceRoute的安全防范方法为:通过改变路由器的报文处理规则来限制路由器返回系统信息。该方法改变的报文处理规则主要为:

1、中间路径上任何一个路由器如果过滤掉UDP port>32768,traceroute就不能工作;

2、封掉TTL超时报文,使源主机看不到中间的路由器;

3、封掉Echo Reply报文,使源主机不能获得目的节点的反应。

所述现有技术中针对ICMP TraceRoute和UDP TraceRoute的安全防范方法的缺点为:该方法将导致运营商网络内部使用TraceRoute也受到限制,而TraceRoute功能是运营商管理和维护网络的重要工具。

发明内容

鉴于上述现有技术所存在的问题,本发明的目的是提供一种防止用户获得运营商网络信息的方法和装置,从而可以使运营商网络不将路径信息返回给用户。

本发明的目的是通过以下技术方案实现的:

一种防止用户获得运营商网络信息的方法,包括:

A、确定运营商网络和用户网络之间的边缘路由器;

B、所述边缘路由器将接收到的从运营商网络发往用户网络的互联网控制报文协议ICMP超时报文进行过滤处理。

所述的步骤B具体包括:

所述边缘路由器将接收到的从运营商网络发往用户网络的ICMP超时报文丢弃。

所述的步骤B具体包括:

所述边缘路由器将接收到的从运营商网络发往用户网络的ICMP超时报文的源地址进行修改,然后将报文进行正常转发。

所述的步骤B具体包括:

所述边缘路由器将接收到的从运营商网络发往用户网络的ICMP超时报文的源地址修改为自身的地址,然后将报文进行正常转发。

所述的步骤B还包括:

所述边缘路由器将接收到的从运营商网络发往用户网络的ICMP超时报文的目的地址修改为引起该ICMP超时报文的主机的地址,该地址从ICMP超时报文的报文体中获得。

所述的步骤B具体包括:

所述边缘路由器将接收到的从运营商网络发往用户网络的ICMP超时报文中包含的运营商网络信息进行删除或转换处理,然后将经过删除或转换处理后的ICMP超时报文转发给目的用户网络。

所述的步骤B具体包括:

B1、所述边缘路由器根据携带ICMP超时报文的IP报文本身的属性,判断接收到的从运营商网络发往用户网络的ICMP超时报文的源节点是来自运营商网络还是用户网络,如果是来自运营商网络,则执行步骤B2;否则,执行步骤B3;

B2、所述边缘路由器对接收到的ICMP超时报文进行丢弃或地址修改操作,或者对接收到的ICMP超时报文中包含的运营商网络信息进行删除或转换处理;

B3、所述边缘路由器将接收到的ICMP超时报文转发给目的用户网络。

所述的步骤B1所述的IP报文本身的属性包括IP报文的生存时间TTL或跳数限制Hop Limit。

所述方法适用于IPv4或IPv6网络。

一种防止用户获得运营商网络信息的装置,该装置通过路由器来实现,其特征在于,所述路由器包括:

报文过滤模块:用于将经过该路由器的,从运营商网络发往用户网络的ICMP超时报文进行过滤处理。

所述报文过滤模块包括:

报文丢弃模块:用于将经过该路由器的,从运营商网络发往用户网络的ICMP超时报文进行丢弃;

和/或,

运营商网络信息处理模块:用于将经过该路由器的,从运营商网络发往用户网络的ICMP超时报文中包含的运营商网络信息进行删除或转换处理;

和/或,

报文地址修改模块:用于对经过该路由器的,从运营商网络发往用户网络的ICMP超时报文进行地址修改。

由上述本发明提供的技术方案可以看出,本发明通过对经过运营商网络边缘发送到用户网络的ICMP超时报文进行过滤、丢弃或修改,可以防止运营商网络将包含运营商网络路径信息的ICMP超时报文返回给用户,或返回的ICMP超时报文不能够用来生成运营商网络路径信息。本发明同时保证在运营商网络内仍旧能够成功使用TraceRoute等路径跟踪程序。

附图说明

图1为本发明所述方法的具体处理流程图;

图2为本发明所述实施例的组网示意图;

图3为本发明所述装置的结构图。

具体实施方式

本发明提供了一种防止用户获得运营商网络信息的方法和装置。本发明的核心为:在ICMP超时报文经过运营商网络边缘路由器发送到用户网络的时候,网络边缘路由器对该ICMP超时报文进行过滤操作。

下面结合附图来详细描述本发明,本发明所述方法的具体处理流程如图1所示,包括如下步骤:

步骤1-1、用户设备通过运营商网络向目的用户发送ICMP Echo或UDP报文,并产生ICMP超时报文。

用户设备,可能是一台主机,也可能是多台主机、路由器、交换机组成的网络,通过运营商网络向目的用户发送多个ICMP TraceRoute功能中的ICMP Echo报文,或者发送多个UDP TraceRoute功能中的UDP报文。

一些ICMP Echo报文或UDP报文到达运营商网络中的中间路由器或边缘路由器,以及运营商网络外的其它一些用户网络中的路由器时,报文中的TTL=0,于是,根据路由器中的ICMP报文处理规则,路由器将接收到的ICMP Echo报文或UDP报文丢弃,并根据IP协议规程产生一个ICMP超时报文,将该ICMP超时报文的目的地址设置为源用户设备的地址,源地址设置为路由器自身的地址。

步骤1-2、运营商网络中的中间路由器或边缘路由器接收到ICMP超时报文。

所述步骤1-1产生的ICMP超时报文将通过运营商网络发送给源用户设备。因此,运营商网络中的中间路由器或边缘路由器将接收到该ICMP超时报文,如果是中间路由器接收到该ICMP超时报文,则执行步骤1-3;如果是边缘路由器接收到该ICMP超时报文,则执行步骤1-4。

步骤1-3、中间路由器对ICMP超时报文进行正常转发。

中间路由器根据正常的报文转发规则,对接收到的ICMP超时报文进行转发,不对报文做特殊处理。

步骤1-4、边缘路由器判断超时报文是否是从运营商网络发往用户网络。

边缘路由器接收到ICMP超时报文后,需要判断该ICMP超时报文是否是从运营商网络发往用户网络,如果是,则执行步骤1-6;否则,执行步骤,1-5。

步骤1-5、边缘路由器对ICMP超时报文进行正常转发。

边缘路由器根据正常的报文转发规则,对接收到的ICMP超时报文进行转发,不对报文做特殊处理。

步骤1-6、边缘路由器对ICMP超时报文进行过滤操作。

如果边缘路由器判断该ICMP超时报文是从运营商网络发往用户网络,则丢弃该ICMP超时报文;或者对该ICMP超时报文中包含的运营商网络信息进行删除或转换处理,使用户根据该ICMP超时报文不能生成运营商网络的路径信息,该路径是请求报文经过的路径;或者将该ICMP超时报文的源地址替换为边缘路由器自身的地址,目的地址替换为报文中原先的源地址,即将该ICMP超时报文返回。

因此,经过上面所述的操作后,将可以防止用户根据ICMP超时报文获得运营商网络中的网络连接信息。

对本发明所述方法的步骤1-6,本发明还提出了一种改进方案,具体描述如下:

边缘路由器利用携带ICMP超时报文的IP报文本身的一些属性,判断产生该ICMP超时报文的源节点是来自运营商网络还是用户网络。由于在一些网络方案中,运营商网络中的节点产生的报文的TTL和用户网络中的节点产生的报文的TTL被分配了不同的范围,因此,能够根据报文TTL值来实现该判断。

边缘路由器在判断了ICMP超时报文的来源后,对于来自运营商网络的ICMP超时报文,不允许其从运营商网络转发到用户网络,即根据上面的描述,对ICMP超时报文进行过滤操作;对于来自用户网络的ICMP超时报文,仍旧正常地转发给用户网络。

上述改进方案对VPN(虚拟专用网)有一定的意义,因为两个在不同地理位置的多个用户网络/场所/站点属于同一个客户,这样同一个VPN内的用户都可以跟踪到属于同一个VPN的其他用户网络/场所/站点中,同时用户也不会获得运营商网络的信息。

本发明还提供了一个本发明所述方法的实施例,该实施例的组网示意图如图2所示。

在图2所示的组网中,CPN为用户设备,可能是一台主机,也可能是多台主机、路由器或交换机组成的网络,CPN可能属于同一个或不同的个人用户、家庭用户、企业用户或内容提供商、IDC(因特网数据中心)。

PE为运营商边缘路由器,位于用户网络同运营商网络的边界,PE需要具有两个主要功能:

1、根据需要对ICMP超时报文进行过滤操作,其中包括对报文进行丢弃或地址修改操作,或者对报文中包含的运营商网络信息进行删除或转换处理。

2、根据ICMP协议规程,对报文进行正常的转发;产生ICMP超时报文。

P为运营商核心路由器,其主要功能为:根据ICMP协议规程,对报文进行正常的转发;产生ICMP超时报文。

在图2所示的组网中,用户发起的一个路径跟踪流程如下:

1、CPN1内的用户Host1发送Echo报文到CPN4内的目的节点Host4,Host1从返回的Echo Reply报文中获得到目的节点的跳数N(中间需要经过的转发节点数)。

2、CPN1内的Host1发送多个ICMP Echo或UDP报文,目的地址为CPN4内的节点Host4的地址,并将各报文的TTL依次设为TTL=1,2,3,...,N,这里N即为到目的节点的跳数N。

3、Host1发送的某些ICMP Echo或UDP报文在到达PE1、P1、P2、PE4后,其TTL=0,于是,根据路由器中的ICMP报文处理规则,这些PE1、P1、P2、PE4将接收到的ICMP Echo报文或UDP报文丢弃,并根据IP规程产生一个ICMP超时报文,将该ICMP超时报文的目的地址设置为Host1的地址,源地址设置为PE1、P1、P2、PE4自身的地址。

4,PE1、PE2、PE3、PE4等运营商边缘路由器接收到ICMP超时报文后,将检查该报文,判断该报文是否是从运营商网络发往用户网络,如果是,则对该报文进行过滤操作;否则,继续转发该报文。

比如,如果PE1接收到P2发往Host1的ICMP超时报文,则对该报文进行过滤操作;如果PE4接收到Host4发往Host1的ICMP超时报文,则继续转发该报文。该报文随后将到达PE1。

如果不采用上面所述的本发明的一种改进方案,PE1接收到Host4发往Host1的ICMP超时报文后,则对该报文进行过滤操作。

如果采用上面所述的本发明的一种改进方案,PE1接收到Host4发往Host1的ICMP超时报文后,则继续转发该报文。

本发明所述装置的结构图如图3所示。该装置通过路由器来实现,并且在路由器中增加如下模块:

报文丢弃模块、用于将经过该路由器的,从运营商网络发往用户网络的ICMP超时报文进行丢弃。

报文地址修改模块、用于对经过该路由器的,从运营商网络发往用户网络的ICMP超时报文进行地址修改,使该ICMP超时报文不能到达用户网络。

运营商网络信息处理模块:用于将经过该路由器的,从运营商网络发往用户网络的ICMP超时报文中包含的运营商网络信息进行删除或转换处理。使用户不能根据处理后的ICMP超时报文获得运营商网络的路径信息。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号