CN101931565A - 一种网段检测方法及装置 - Google Patents
一种网段检测方法及装置 Download PDFInfo
- Publication number
- CN101931565A CN101931565A CN2009101081147A CN200910108114A CN101931565A CN 101931565 A CN101931565 A CN 101931565A CN 2009101081147 A CN2009101081147 A CN 2009101081147A CN 200910108114 A CN200910108114 A CN 200910108114A CN 101931565 A CN101931565 A CN 101931565A
- Authority
- CN
- China
- Prior art keywords
- address
- message
- network segment
- internet control
- request message
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种网段检测方法和装置,本发明通过在路由器上增加对icmp-request(Internet控制报文协议请求)报文目的IP地址的判断,当接收icmp-request报文的路由器判断出目的IP地址与本地直连网段上的IP地址相等,则所述网段可达,并向icmp-request报文的发起者返回响应。本发明仅在现有的ping处理过程中增加网段IP地址判断处理,在逻辑上和主机IP地址判断是并行的,不会给终端增加额外的处理负担,而且不需要路由转发路径上的中间路由器参与目的网段可达性的检测判断,实现简单、直接。
Description
技术领域
本发明涉及数据通信领域,具体涉及一种检测目的网段可达性的方法及装置。
背景技术
随着因特网的高速发展,IP网络逐渐成为人们日常工作和生活中必不可少的工具。目前以太网IP报文路由转发机制一般采用的是路由最长匹配原则,路由最长匹配原则是指:当被转发报文的目的IP地址同时匹配路由器转发表中多条转发路由条目时,一般选择具有最长匹配子网掩码的那条路由条目作为该报文的转发路由。
现在几乎所有的网络通信设备都具备了对目的主机可达性的检测功能,既Ping(Packet Internet Groper,英特网报探测器),Ping技术是基于对目的主机的IP地址来发挥作用和功能,目前Ping技术仅用于对目的主机可达性(即主机是否存在)的检测。
为了完成对目的网段可达性的检测,当前通用的方法是基于ping技术配合使用Traceroute(路由追踪)技术完成。Traceroute的基本原理是在IP路由过程中建立一个UDP(UserDatagramProtocol,用户数据报协议)数据报文,不断修改TTL(Time To Live,存活时间)值并发送出去,TTL是有效的跳转计数,路径上的每个路由器都要在转发ICMP(Internet Control Message Protocol,Internet控制报文协议)回应报文之前将其TTL值至少减1,如果收到ICMP超时数据报文,表示刚刚到达的是路由器,而如果收到的是ICMP不可达消息,表示刚刚到达的是目的主机,具体是这样实现的:
输入Traceroute命令,Traceroute发送一个TTL为1的UDP数据报文(所述报文包括源地址、目的地址和发出的时间标签)给目的主机,当UDP数据报文到达第1个路由器时,路由器返回一个ICMP超时报文(报文包括发IP包的源地址,IP包的所有内容及路由器的IP地址)给Traceroute,通知Traceroute发送过来的UDP数据报文已超时,并将TTL减1,此时TTL变为0,丢掉该UDP数据报文,发现路径中的第1个路由器;然后Traceroute发送TTL为2的UDP数据报文给目的主机,当UDP数据报文到达第2个路由器时,路由器返回一个ICMP超时报文(报文包括发IP包的源地址,IP包的所有内容及路由器的IP地址)给Traceroute,通知Traceroute发送过来的UDP数据报文已超时,并将TTL减2,此时TTL变为0,丢掉该UDP数据报文,发现路径中的第2个路由器,同样地,Traceroute每次将发出去的UDP数据报文的TTL加1来发现一个路由器,直到发送的UDP数据报文到达目的主机,当UDP数据报文到达目的主机后,目的主机返回一个ICMP端口不可达报文。Traceroute每次接收到的ICMP报文中包含路径上路由器的IP地址,这样Traceroute将得到的所有路由器的IP地址做域名解析,打印出转发路径上所有经过的路由器。
综上所述,可以通过ping目的网段中的任何一个主机(不用关心主机是否存在),根据目的网段所在的路由器响应的ICMP超时数据报文来判定目的网段是否可达,但是当Traceroute来检测特定网段可达性时,要求该route path(路由转发路径)上所有的路由器都要参与对UDP数据报文的检测并且做ICMP的创建响应,但实践中在进行网段可达性检测时,其实只关心目的网段所在路由器的响应,route path上其他路由器的响应对网段检测没有意义。
发明内容
有鉴于此,本发明提出一种网段检测方法,用以解决现有技术中存在的在对网段进行检测时,需要转发路径上所有的路由器都要参与对UDP数据报文的检测和ICMP的创建响应的问题,为此,本发明还提出一种网段检测装置。采用本发明可简单、直接地对目的网段可达性实施检测。
为达到上述目的,本发明的技术方案是这样实现的:
一种网段检测方法,包括如下处理步骤:
步骤1,转发路径上的路由器判断接收到源主机的Internet控制报文协议请求报文中的目的IP地址是否与本地三层接口IP地址或本地的网段IP地址相等,若均不相等,则转入步骤2,反之转入步骤3;
步骤2,发送所述Internet控制报文协议请求报文;
步骤3,向源主机发送Internet控制报文协议应答报文。
进一步在所述的检测方法中,所述步骤1中:
所述Internet控制报文协议请求报文是源主机根据其控制台上输入的英特网报探测器ping命令触发。
进一步在所述的检测方法中,所述步骤2具体包括如下步骤:
查找所述路由器本地的路由转发表,判断Internet控制报文协议请求报文是否存在转发出接口,若是,则从所述转发出接口将所述报文转发出去,否则,向源主机返回端口不可达的Internet控制报文协议差错报文。
进一步在所述的检测方法中,所述步骤3中向源主机发送Internet控制报文协议应答报文前,判断所述目的IP地址是与本地的网段IP地址还是本地三层接口IP地址相等,若是与所述本地的网段IP地址相等,则发送源主机请求的目的网段是可达的应答报文,反之若是与所述本地三层接口IP地址相等,则发送源主机ping的目的主机是可达的应答报文。
一种网段检测装置,包括:
接收模块,用以接收源主机的Internet控制报文协议请求报文;
判决模块,用以判断转发路径上的路由器接收到的所述请求报文中的IP地址是否与本地三层接口IP地址或本地的网段IP地址相等;
转发模块,用以在所述请求报文中的IP地址与本地三层接口IP地址和本地的网段IP地址均不相等时,发送所述Internet控制报文协议请求报文;
应答模块,用以在所述请求报文中的IP地址与本地三层接口IP地址或本地的网段IP地址相等时,向源主机发送Internet控制报文协议应答报文。
进一步在所述的检测装置中,还包括:
触发模块,用以在所述源主机根据输入的英特网报探测器ping命令触发Internet控制报文协议请求报文。
进一步在所述的检测装置中:
所述转发模块在发送所述Internet控制报文协议请求报文前,还用以通过查找所述路由器本地的路由转发表确认发送所述报文的转发出接口存在。
进一步在所述的检测装置中:
所述转发模块,在不存在所述转发出接口时,还用以向源主机发送端口不可达的Internet控制报文协议差错报文。
进一步在所述的检测装置中:
所述应答模块在向源主机发送Internet控制报文协议应答报文前,还用于根据所述目的IP地址是本地的网段IP地址还是本地三层接口IP地址确定应答报文的类型。
与现有技术相比,本发明在对网段可达性进行检测时,对于设备终端而言,仅在现有的ping处理过程中增加网段IP地址判断处理,在逻辑上和主机IP地址判断是并行的,不会给终端增加额外的处理负担,而且不需要route path上的中间路由器参与目的网段可达性的检测判断,中间路由器只需要按照普通的三层转发规则直接转发icmp-request报文,只需要icmp-request报文到达route path上最后一台路由器时,由该路由器判断被检测目的网段是否可达,相对Traceroute判断过程,本发明处理流程简单且不会产生多余的icmp差错报告报文。
综上所述,本发明不但在具体实现时,能和现有的主机可达性检测ping技术完全兼容,且实现简单、直接。
附图说明
图1是本发明所述方法具体实施步骤处理流程图;
图2是本发明所述方法一实施例的具体示意图。
具体实施方式
本发明的主要技术思想:基于ping技术,在现有的ping处理过程中增加对网段IP地址的判断,具体是通过在路由器上增加对icmp-request报文目的IP地址的判断,当接收icmp-request报文的路由器判断出目的IP地址与本地直连网段上的IP地址相等,则所述网段可达,并向icmp-request报文的发起者返回响应。
下面结合附图对本发明技术方案的实施作进一步的详细描述。
如图1所示,本发明所述方法具体实施步骤如下:
S11,路由器数据通信接口接收到源主机发送过来icmp-request报文;所述icmp-request报文中包括,源IP地址和目的IP地址。
S12,判断icmp-request报文中的目的IP地址是与本地的网段IP地址或本地三层接口IP地址相等,若均不相等,则转入S13,反之,则转入S14;
S13,查找路由器本地的路由转发表,判断此icmp-request报文是否存在转发出接口,若存在,则把icmp-request报文从查找到的转发出接口转发出去,反之则丢弃icmp-request报文,并向源主机发送端口不可达的icmp差错报文;
S14,判断所述与目的IP地址相等的IP地址是本地的网段IP地址还是本地三层接口IP地址,若是本地的网段IP地址,则转入S15,反之则转入S16;
S15,路由器向源主机发送icmp-reply报文,确认源主机请求的目的网段是可达的,即在网段内可以实现通讯;
S16,目的主机向源主机发送icmp-reply报文,确认目的主机是可达的,即目的主机是存在的。
如图2所示,本发明所述方法一实施例的具体步骤如下,作为源主机的IP主机1和作为目的主机的IP主机10之间相隔了9台路由器,IP主机1属于1.1.1.0/24网段,IP主机10属于10.1.1.0/24网段,中间路由器的直连网段依次是1.1.1.0/24到10.1.1.0/24,基于上述设置,IP主机1检测目的主机IP主机10所属于的网段10.1.1.0/24的可达性的具体处理步骤如下:
步骤1,在IP主机1的控制台上输入ping 10.1.1.0,IP主机1的IP协议栈根据此命令触发一个源IP地址是1.1.1.10,目的IP地址是10.1.1.0的icmp-request报文,并将该报文从网络接口卡发送给router1;
在该实施例中所述命令ping可以用来检测网段可达性,也可用来检测目的主机可达性。
步骤2,router(路由器)1收到icmp-request报文,经过判断确认报文中包含的目的IP地址(10.1.1.0)与本地的网段IP地址(1.1.1.0/24)和本地三层接口IP地址(1.1.1.1和2.1.1.1)都不相等;
步骤3,查找router1本地的路由转发表确认所述icmp-request报文的转发出接口是与其连接的router2的转发出接口,于是router1把icmp-request报文发送给router2;
若不存在所述icmp-request报文的转发出接口,则丢弃icmp-request报文,并向IP主机1发送端口不可达的icmp差错报文,流程结束。
步骤4,router2收到该icmp-request报文后,重复步骤2和步骤3,把icmp-request报文发送给router3,以此类推,该icmp-request报文最终被转发到router9上;
步骤5,router9收到该icmp-request报文,根据报文中包含的目的IP地址(10.1.1.0)确认得到所述目的IP地址与本地的直连网段的IP地址(10.1.1.0/24)相等,于是终结该icmp-request报文的发送,直接给IP主机1回应一个icmp-reply报文;
步骤6,Router9回应的icmp-reply报文被中间的路由器按照三层转发规则逐步转发下去,最终发送到IP主机1;
步骤7,IP主机1收到router 9的icmp-reply报文后,确认其ping的目的IP地址10.1.1.0这个目的网段是可达的,处理流程结束。
上述例举的是检测Router9的10.1.1.0/24这个网段的可达性,下面再例举一个检测10.1.1.1目的主机可达性的示例:
步骤1,在IP主机1的控制台上输入ping 10.1.1.1,IP主机1的IP协议栈根据此命令触发一个源IP地址是1.1.1.10,目的IP地址是10.1.1.1的icmp-request报文,并将该报文从网络接口卡发送给router1;
步骤2,router1收到icmp-request报文,经过判断确认报文中包含的目的IP地址(10.1.1.1)与本地的网段IP地址(1.1.1.0/24)和本地三层接口IP地址(1.1.1.1和2.1.1.1)都不相等;
步骤3,查找router1本地的路由转发表确认所述icmp-request报文的转发出接口是与其连接的router2的转发出接口,于是router1把icmp-request报文发送给router2;
若不存在所述icmp-request报文的转发出接口,则丢弃icmp-request报文,并向IP主机1发送端口不可达的icmp差错报文,流程结束。
步骤4,router2收到该icmp-request报文后,重复步骤2和步骤3,把icmp-request报文发送给router3,以此类推,该icmp-request报文最终被转发到router9上;
步骤5,router9收到该icmp-request报文,根据报文中包含的目的IP地址(10.1.1.1)确认得到所述目的IP地址与本地的三层接口IP地址(10.1.1.1/24)相等,于是终结该icmp-request报文的发送,直接给IP主机1回应一个icmp-reply报文;
步骤6,Router9回应的icmp-reply报文被中间的路由器按照三层转发规则逐步转发下去,最终发送到IP主机1;
步骤7,IP主机1收到router 9的icmp-reply报文后,确认其ping的目的IP地址10.1.1.1的目的主机是可达的,流程结束。
以上所述为本发明较佳的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种网段检测方法,其特征在于包括如下处理步骤:
步骤1,转发路径上的路由器判断接收到源主机的Internet控制报文协议请求报文中的目的IP地址是否与本地三层接口IP地址或本地的网段IP地址相等,若均不相等,则转入步骤2,反之转入步骤3;
步骤2,发送所述Internet控制报文协议请求报文;
步骤3,向源主机发送Internet控制报文协议应答报文。
2.如权利要求1所述的检测方法,其特征在于,所述步骤1中:
所述Internet控制报文协议请求报文是源主机根据其控制台上输入的英特网报探测器ping命令触发。
3.如权利要求1所述的检测方法,其特征在于,所述步骤2具体包括如下步骤:
查找所述路由器本地的路由转发表,判断Internet控制报文协议请求报文是否存在转发出接口,若是,则从所述转发出接口将所述报文转发出去,否则,向源主机返回端口不可达的Internet控制报文协议差错报文。
4.如权利要求1所述的检测方法,其特征在于,所述步骤3中向源主机发送Internet控制报文协议应答报文前,判断所述目的IP地址是与本地的网段IP地址还是本地三层接口IP地址相等,若是与所述本地的网段IP地址相等,则发送源主机请求的目的网段是可达的应答报文,反之若是与所述本地三层接口IP地址相等,则发送源主机ping的目的主机是可达的应答报文。
5.一种网段检测装置,其特征在于包括:
接收模块,用以接收源主机的Internet控制报文协议请求报文;
判决模块,用以判断转发路径上的路由器接收到的所述请求报文中的IP地址是否与本地三层接口IP地址或本地的网段IP地址相等;
转发模块,用以在所述请求报文中的IP地址与本地三层接口IP地址和本地的网段IP地址均不相等时,发送所述Internet控制报文协议请求报文;
应答模块,用以在所述请求报文中的IP地址与本地三层接口IP地址或本地的网段IP地址相等时,向源主机发送Internet控制报文协议应答报文。
6.如权利要求5所述的检测装置,其特征在于还包括:
触发模块,用以在所述源主机根据输入的英特网报探测器ping命令触发Internet控制报文协议请求报文。
7.如权利要求5所述的检测装置,其特征在于:
所述转发模块在发送所述Internet控制报文协议请求报文前,还用以通过查找所述路由器本地的路由转发表确认发送所述报文的转发出接口存在。
8.如权利要求7所述的检测装置,其特征在于:
所述转发模块,在不存在所述转发出接口时,还用以向源主机发送端口不可达的Internet控制报文协议差错报文。
9.如权利要求5所述的检测装置,其特征在于:
所述应答模块在向源主机发送Internet控制报文协议应答报文前,还用于根据所述目的IP地址是本地的网段IP地址还是本地三层接口IP地址确定应答报文的类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101081147A CN101931565B (zh) | 2009-06-23 | 2009-06-23 | 一种网段检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101081147A CN101931565B (zh) | 2009-06-23 | 2009-06-23 | 一种网段检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101931565A true CN101931565A (zh) | 2010-12-29 |
CN101931565B CN101931565B (zh) | 2012-07-18 |
Family
ID=43370499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101081147A Active CN101931565B (zh) | 2009-06-23 | 2009-06-23 | 一种网段检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101931565B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447597A (zh) * | 2012-01-11 | 2012-05-09 | 浪潮(北京)电子信息产业有限公司 | 一种实现ip有效性检测的方法及装置 |
CN103874105A (zh) * | 2012-12-10 | 2014-06-18 | 中国移动通信集团公司 | 一种路径追踪方法、系统及一种网关设备 |
WO2016061947A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 三层接口ip地址冲突的检测方法及装置 |
CN109347670A (zh) * | 2018-10-24 | 2019-02-15 | 杭州数梦工场科技有限公司 | 路径追踪方法及装置、电子设备、存储介质 |
CN112468415A (zh) * | 2020-10-21 | 2021-03-09 | 浪潮思科网络科技有限公司 | 一种协议报文处理方法、装置、设备及介质 |
CN112887173A (zh) * | 2021-02-19 | 2021-06-01 | 山东英信计算机技术有限公司 | 一种存储网络检测方法、装置、设备及可读存储介质 |
CN114071544A (zh) * | 2021-11-01 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 网络测试方法、装置和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159623B (zh) * | 2007-11-02 | 2010-09-01 | 杭州华三通信技术有限公司 | 一种目标设备可达性的检测方法和装置 |
CN100579034C (zh) * | 2007-11-30 | 2010-01-06 | 华为技术有限公司 | 上报设备信息的方法、获取设备信息的系统和设备 |
CN101197733A (zh) * | 2007-12-18 | 2008-06-11 | 中兴通讯股份有限公司 | 网络连通性的自动检测方法及装置 |
-
2009
- 2009-06-23 CN CN2009101081147A patent/CN101931565B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447597A (zh) * | 2012-01-11 | 2012-05-09 | 浪潮(北京)电子信息产业有限公司 | 一种实现ip有效性检测的方法及装置 |
CN103874105A (zh) * | 2012-12-10 | 2014-06-18 | 中国移动通信集团公司 | 一种路径追踪方法、系统及一种网关设备 |
WO2016061947A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 三层接口ip地址冲突的检测方法及装置 |
CN109347670A (zh) * | 2018-10-24 | 2019-02-15 | 杭州数梦工场科技有限公司 | 路径追踪方法及装置、电子设备、存储介质 |
CN109347670B (zh) * | 2018-10-24 | 2021-09-28 | 杭州数梦工场科技有限公司 | 路径追踪方法及装置、电子设备、存储介质 |
CN112468415A (zh) * | 2020-10-21 | 2021-03-09 | 浪潮思科网络科技有限公司 | 一种协议报文处理方法、装置、设备及介质 |
CN112887173A (zh) * | 2021-02-19 | 2021-06-01 | 山东英信计算机技术有限公司 | 一种存储网络检测方法、装置、设备及可读存储介质 |
CN114071544A (zh) * | 2021-11-01 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 网络测试方法、装置和电子设备 |
CN114071544B (zh) * | 2021-11-01 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 网络测试方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101931565B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101931565B (zh) | 一种网段检测方法及装置 | |
US8320384B2 (en) | Packet forwarding apparatus suitable for real time packets | |
US9094330B2 (en) | Data transport system and control method of data transport system | |
CN101984587B (zh) | 一种检测组播转发树上两点间连通性的方法、系统和装置 | |
CN104301146A (zh) | 软件定义网络中的链路切换方法和装置 | |
CN100531071C (zh) | 链路故障检测的方法、系统和实现链路故障检测的设备 | |
CN102577238A (zh) | 用于追踪多播流的方法和装置 | |
CN101179479A (zh) | 一种以太网的操作管理和维护报文的传输方法、系统和节点 | |
CN104717259B (zh) | 分布式中转服务器网络辅助的多路径数据传输系统与方法 | |
CN101616078B (zh) | 一种路径最大传输单元的发现方法、路由器及节点设备 | |
US20130279508A1 (en) | Communication apparatus | |
JP5579325B2 (ja) | 通信装置及び通信システム | |
CN101640645A (zh) | 报文传输方法和系统 | |
CN101964719B (zh) | 基于主控板倒换的数据处理方法、线卡及主控板 | |
US20100322247A1 (en) | Internetwork device | |
WO2013044827A1 (zh) | 一种跟踪路由测试方法、系统、装置及设备 | |
US20140233577A1 (en) | Communication system, control apparatus, and control method thereof | |
CN101599948B (zh) | 回声探测的方法、装置和系统 | |
CN110611590A (zh) | 一种物联网网关通信备份的方法和系统 | |
CN101674312A (zh) | 一种在网络传输中防止源地址欺骗的方法及装置 | |
CN102281165A (zh) | 一种基于服务质量的故障检测方法、系统和装置 | |
CN101552728B (zh) | 一种面向IPv6的路径MTU发现方法及系统 | |
JP2007208818A (ja) | マルチホーム接続方法と装置 | |
CN101888338A (zh) | 信息转发方法及网关 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |