TCP/IP 网络中故障节点的诊断方法

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:gipy2a1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文描述了一种在TCP/IP网络中进行故障节点诊断的程序实现,该方法基于VxWorks操作系统的网络测试仪环境,但此程序算法的实现,并不依赖于底层的操作系统及硬件环境,经过少量修改可以在任何提供TCP/IP协议栈的操作系统中实现,比如Linux,Windows等。
  关键词:ICMP;TCP;UDP;路由追踪
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c
  
  1 背景
  
  网路故障的一般表现是网速变慢或者无法访问互联网或内网服务器,在现场进行网络故障诊断时,往往需要借助各种工具软件如Sniffer、ping、traceroute等进行逐步排查,最后经过分析,选择怀疑的网络节点,然后在局端或现场对怀疑的网络节点进行各种连通性、替代性测试,方法步骤繁杂,而且往往无法准确诊断。
  经过分析,故障诊断的过程,可以使用专用的设备,并编写相应的诊断程序,自动完成网络故障节点的测试和判断。
  
  2 算法和设计
  
  当测试节点到达目的网络位置的链路存在问题时,一般可能是:物理链路断开(线缆或节点设备故障);目的地址的相应端口没有开放,或者中间链路经过的设备(交换机,路由器等)禁止了协议或端口;终端设备故障。故,处理流程首先是找到测试节点到达连接服务器节点的路径,确定经过的网络节点位置,然后对节点中的各个位置实施连通性测试,最后根据测试结果判断故障节点位置和原因。
  2.1 网络路由的查询
  该部分的功能类似于Linux系统中提供的命令traceroute,不同的是,该部分功能进行路由诊断依赖的协议不仅仅是ICMP。
  ICMP的原理是链路上的节点设备都要在转发该 ICMP 回显请求报文之前将报文头部的 TTL 值减 1,当报文的 TTL 值减少到 0 时,节点设备向源发回 ICMP 超时信息。该诊断实用程序通过向目的地发送具有不同生存时间 (TTL) 的 ICMP报文,确定至目的地的路由。通过发送 TTL 为 1 的第一个回显报文并且在随后的发送中每次将 TTL 值加 1,直到目标响应或达到最大 TTL 值,可以确定链路经过的路由。通过检查链路中间节点设备发回的 ICMP 超时信息,可以确定故障节点。
  如果使用ICMP协议无法完成测试,则改为使用UDP协议和TCP协议分别进行路由侦测。源发出UDP数据包,源端口使用随机的大于32768的高段端口号,目的端口从33434开始依此递增,直至33434 29,同时TTL从1开始依此递增,直至1 29=30。节点设备送回的 ICMP超时报文,使得源可以侦测到链路上每一个节点。
  2.2 网络节点诊断
  向节点发送TCP握手信号,如果该节点可以通过connect连接成功,表示节点可以正常连接,如果回应RST,表示该节点禁止了该端口的访问,如果该节点长时间不回复SYN,也可以认为该节点禁止端口。
  因此,依据上述现象可以很容易判断当前故障节点——离测试者最近的故障点,可以被认定为当前网络故障点。
  2.3 故障节点位置的判断策略
  如果路由寻找完整,一般能够找到节点。在所有不回应SYN包或者回应RST包的
  节点中,应该是离源最近跳数的节点设备将端口关闭。
  如果路由寻找不完整,有可能找不到所找的故障点。如果在找到的n个节点中,只有非最远离源的一个节点不回应,或回应RST包,则不能确定故障节点;如果是包括最远离源在内的一个或多个节点不回应或回应RST包,则最右端节点可能为故障节点,但并不能确定在整个路由中的故障节点所在,因为路由不完整。
  2.4 不能覆盖的异常情况
  如果使用ICMP和UDP都无法寻找到完整路由,则有可能找不到故障节点,但这种情况非常少,因为根据UDP的测试原理,除非中间节点将大于32768的端口全部封掉,否则都可以得到完整的路由路径。
  
  3 代码片段和程序流程
  
  3.1 整体框架代码
  
  int f_procon_scan_showerr(char *re_info)
  {char err_node[16];
  inet_ntoa_b(info_scan.node[info_scan.err_num],err_node);
  if(err_tcpscan == ERR_PORTSCAN_ROUTE_HALF){
  sprintf(re_info,"路由信息不完整,故障点可能是:%s",err_node);
  }else if(err_tcpscan == ERR_PORTSCAN_ROUTE_NO){
  sprintf(re_info,"未找到达到目的地址的路径,无法诊断故障");
  }else{
  sprintf(re_info,"路由信息完整,故障点是:%s",err_node);
  }
  return OK;
  }
  
  static int quitflag=0;
  int f_procon_scan_tcp(void)
  {char * re_info; /* 测试完后返回的信息 */
  int re_find;
  int i,rv;
  char buf[512];
  int numBytes,count;
  int on,len;
  int ctrlSock;
  struct sockaddr_in ctrlAddr;
  struct router_node bak_router_node;
  sprintf(buf,"正在使用ICMP获取路由信息...");
  server_virtual_display_output(buf,0);
  bzero((char *)
其他文献
语言学是对语言的表达方式、蕴含价值及情感思想等进行研究的理论。要进入语言学的世界,体会语言的精妙之处,探寻语言的形成发展历程,就要从基础的课程展开,循序渐进,在语言学的知识学习中,感受语言的魅力,体会语言所传递的丰富知识与多元信息。《语言学基础教程》由苗兴伟主编,胡壮麟主审,2018年由北京大学出版社出版。本书属于语言学方面的系列教材,围绕着语言学的基础知识展开,对语言学理论进行了全面解读与深度阐
世界上最近的距离是母与子脐带相连,只有神奇的血脉解释出天地的奥秘。  今生 ,我穷极一生也无法丈量运河宽度,一条河早已跨越了人心。  我敬仰中華民族悠久灿烂的文明,只因河不曾断流,中华民族不曾更改信仰。  运河帆影,古道幽幽,你转漕的岂止是江南的米粮,塞北的乌金。儒家的中庸,法家的正道顺着运河水生生不息的奔流。  你是一条连接南来北往,纵贯古今的脐带,你把中华儿女紧紧相系,你让中华文明永不断流。
摘要:作为对欧美文学影响深远的拉丁美洲作家,博尔赫斯用奇特的叙述方式,将传说或是见诸记载的人物、事件进行“重述”和“改写”。在内容上,他“篡改”和“歪曲”他人作品中所叙述的故事,用近乎抄袭的创作方法表现故事和人物命运的多样性可能,及现实生活的丰富多彩。在形式上,作者从时空的多重维度和现实生活的多重组合中构建文本,将夸张的艺术形式与哲理般的思想内容结合起来,用零散性、互文见义、模糊性体裁、迷宫现象和
摘要:软件复用是提高软件生产力和软件质量的重要途径。本文提出了一种用面向对象的UML方法来分析并从中提取可复用构件的方法,并提出了ERP领域构件的一种提取及分类方法。  关键词:统一建模语言;构件;企业资源计划;构件分类  中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2008)18-20ppp-0c    Extraction and classify component
摘要:系统基于C/S、B/S结构,采用C#为程序设计语言,SQLServer2000为后台数据库。该系统实现了进销存的信息化管理,方便了经营者日常经营管理,减少了额外开销,降低成本。  关键词:进销存;C#;SQLServer2000  中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c  Abstract:System is based on C/
摘要:在简要介绍了JSP数据库连接技术的基本原理和实现方法的基础上,提出了在数据存储、正确选择驱动程序、使用连接池技术及代码优化等方面改进数据访问效率的措施。  关键词:JSP;数据库;连接池  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)24-1283-02  Research on Performance Optimization of Database Acc
摘要:INTERNET网络的迅速发展使宽带进入了寻常百姓家,网络爱好者们也勇于尝试,在自己的机器上建设自己的网站成为时尚, Win 2000漏洞百出,Win 2003又专门为服务器设计的,而LINUX或UNIX系统在平时又是很少使用。本文介绍了在WINXP环境中利用IIS架构自己的网站的方法。利用Windows XP的组件就可以满足建站的要求,而且安全性能不错。  关键词: Web;FTP;IIS
摘要:江苏省农业种质资源信息系统及基因库建设项目是江苏省农业种质资源保护与利用平台中的一个子平台。平台由水禽种质资源基因库、水禽研究开放实验室、水禽信息中心、水禽推广服务中心等构成。项目中的重要内容之一是构建水禽信息化中心,根据《江苏省农业种质资源保护与利用平台建设总体方案》的要求,要研究和完善水禽种质资源的描述规范,标准化整理,建立江苏省水禽种质资源数据库,通过e-平台和江苏省科技信息共享网络系
摘要:本文介绍了济南市气象网站的建设及其主要结构和网页内容. 济南气象网站发布的信息内容主要为系列气象预报和其他气象信息,实现了网页气象信息的自动更新,介绍了互联网技术在气象服务中的应用。  关键词:气象网站;气象信息;自动更新;后台管理  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)17-20ppp-0c    Internet Technology in Met
摘要:IPv6技术是下一代互联网的技术核心,对IPv6网络入侵检测系统的研究与下一代网络的安全技术紧密相关。在分析网络安全系统的基本原理和IPv6网络的主要特点之后,提出了一种基于IPv6网络入侵检测系统的框架,同时采用了改进的KMP算法和蜜罐技术。  关键词:IPv6;网络入侵检测;模式匹配;蜜罐技术  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-2pppp