在TCP/IP网络中,网络层并不对数据包进行可靠性传输保证,只通过ICMP报文提供反馈机制(例如:差错控制)。PING命令就是ICMP的请求/响应报文,也是网络最常用的测试手段。通常使用PING命令测试互通性时有以下几种消息反馈:
1、Request Time Out

2、Destination Unreachable

3、TTL Expired in transit

情况1:当信源机PING某信宿机时,信源机在一段时间内(信源机发送ICMP请求报文后,会启动定时器0)无法收到ICMP响应报文,就会产生该种情况。出现上述问题的原因在于,信源到信宿的路由正常,而信宿到信源无可用通路。

情况2:当信源机到信宿机无可用通路时,就会产生该种原因。

情况3:当信源机发送IP数据包时(ICMP是被直接封装在IP包中),会加上包的TTL(Time to Live)时间,数据包在每经过一个路由器时,路由器会将包的TTL时间减1,如果在ICMP请求报文未到信宿机之前,该数据包的TTL为0,则相应的网关丢弃该报文,同时向信源机发送ICMP的超时报文,在信源机上应将显示TTL Expired in transit消息。该问题主要是在网络内部出现了路由循环造成数据包无法到达信宿机,可使用Tracert跟踪,判断故障出处(使用该命令时最好在主机上完成)。

注:某些路由器对包的TTL时间并不是减1,但一般情况是这样。

方法:如果正常PING通某主机的情况下,可简单从回应信息中分析数据包所经过的路由跳数

i.e. replay xxx.xxx.xxx.xxx: byte=xxx time=xxxms ttl=xxx

用256减去该条信息中TTL的值,即可得所经的路由跳数,如TTL时间过小,则可能网络中出现短暂的路由环路。

在配置静态路由时易出现该种情况,动态路由协议中RIPV1易出现,而RIPV2和OSPF不易出现。

TTL 超时问题的更多相关文章

  1. Ping出现TTL expired in transit的原因

    今天上班检查服务器时发现出现TTL expired in transit的提示,这种提示还是第一次见,如图: ping 和 tracert 的结果 用tracert来看路由状况,原来是出现路由环路导致 ...

  2. rabbitmq~消息失败后重试达到 TTL放到死信队列(事务型消息补偿机制)

    这是一个基于消息的分布式事务的一部分,主要通过消息来实现,生产者把消息发到队列后,由消费方去执行剩下的逻辑,而当消费方处理失败后,我们需要进行重试,即为了最现数据的最终一致性,在rabbitmq里,它 ...

  3. tracert显示为超时

    1.那一跳禁PING2.那一跳不对TTL超时做响应处理,直接丢弃3.MPLS VPN网络  

  4. Nmap参数详解

    转自:http://blog.csdn.net/huangwwu11/article/details/20230795 Nmap--networkmapper,网络探测工具和安全/端口扫描器 nmap ...

  5. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  6. IP协议

    因特网协议(Internet Protocol, IP)是Internet的核心协议之一, 工作在网络层.IP协议提供节点间的寻址,路由以及顺序控制, 流量控制等服务. IP协议分为IPv4和IPv6 ...

  7. Hbase&Hadoop常用命令

    Hbase中根据Rowkey的前缀Prefix查询数据: scan 'test_xiaomifeng_monitoring_log',{FILTER => "(PrefixFilter ...

  8. IM客户端Socks 5代理协议应用

    之前编写的一个基于openfire服务器的即时通讯软件,因为部署环境需要,需要增加代理登录通信的实现.整理了一下相关代理的知识分享一下. 一个基于TCP协议的客户端希望与一个只能通过特定网络节点才可以 ...

  9. backtrack5渗透 笔记

    目录        1.信息收集        2.扫描工具        3.漏洞发现        4.社会工程学工具        5.运用层攻击msf        6.局域网攻击       ...

随机推荐

  1. Tcl语言笔记之二

    1,表达式 1.1 操作数 TCL表达式的操作数通常是整数或实数.整数一般是十进制的, 但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作 ...

  2. 基于visual Studio2013解决算法导论之019栈实现(基于数组)

     题目 用数组实现栈 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <time.h> #in ...

  3. 神奇的矩阵 NOI模拟题

    神奇的矩阵 题目大意 有一个矩阵\(A\),第一行是给出的,接下来第\(x\)行,第\(y\)个元素的值为数字\(A_{x-1,y}\)在\(\{A_{x-1,1},A_{x-1,2},A_{x-1, ...

  4. 提高mysql查询效率的六种方法

    1,表设计一定要优化,冗余数据最少,少用连接查询.如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了. 2,尽量用char而不是varchar,因为固定长度得string用起 ...

  5. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

    相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...

  6. AOP编程

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. VC6.0 导入资源崩溃

    等我以后挣钱了一定买正版! 最近学习Win32编程,为了锻炼自己,在网上下载了一个VC6.0作为开发工具,应该是兼容性的问题吧,VC6 经常闹毛病. 今天导入资源的时候VC6出现崩溃的现象. 马上寻求 ...

  8. python去掉html标签

    s = '<SPAN style="FONT- SIZE: 9pt">开始1~3<SPAN lang=EN-US>& lt;?xml:namespa ...

  9. javascript操作元素的css样式

    我们经常要使用Javascript来改变页面元素的样式.当中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们一般是通过处理HTML Dom的classname特性 ...

  10. JNI 详细解释

    JNI事实上,Java Native Interface缩写,那是,java本地接口.它提供了许多API实现和Java和其它语言的通信(主要是C&C++). 或许不少人认为Java已经足够强大 ...