共计 1035 个字符,预计需要花费 3 分钟才能阅读完成。
TTL 是 TIme To Live 的缩写,该字段指定 IP 包被路由器丢弃之前允许通过的最大网段数量。TTL 是 IPv4 包头的一个 8 bit 字段。
TTL 的作用是限制 IP 数据包在计算机网络中的存在的时间。TTL 的最大值是 255,TTL 的一个推荐值是 64。
虽然 TTL 从字面上翻译,是可以存活的时间,但实际上 TTL 是 IP 数据包在计算机网络中可以转发的最大跳数。TTL 字段由 IP 数据包的发送者设置,在 IP 数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个 TTL 字段值,具体的做法是把该 TTL 的值减 1,然后再将 IP 包转发出去。如果在 IP 包到达目的 IP 之前,TTL 减少为 0,路由器将会丢弃收到的 TTL= 0 的 IP 包并向 IP 包的发送者发送 ICMP TIme exceeded 消息。
TTL 的主要作用是避免 IP 包在网络中的无限循环和收发,节省了网络资源,并能使 IP 包的发送者能收到告警消息。
TTL 传输中过期问题:
上 renren 时遇到一问题,突然间就无法登陆,看了下网络,正常呀,别的网站完全 ok,就这不成,所以就 ping 了一下做以校验:如下图示:
传输中过期 ttl,赶紧查了查:原来可能是产生了环路,或是局域网存在 ARP 病毒攻击。对局域网安全性进行了判断,发现问题出在第一个:环路问题 —— 于是采用 tracert 命令进行了测试实验:如下:
果然是网络产生了回路问题,从第五跳开始就一直在.182 和.221 间循环了
TTL 传输中过期解决方法:
一、可能是网络自身存在的问题,造成环路问题
二、本地 dns 问题:所以使用下面的命令把本地的 DNS 缓存给清除了下,问题就能解决了
具体解决方法:
1. 关闭所有浏览器,右键点击“网络邻居”,选择“属性”,在“本地连接”上点击右键,选择“修复”即可。
2. 在 DOS 窗口下 (如果是 XP,点击屏幕左下角的“开始”,“运行”,输入“cmd”回车) 输入:ipconfig/flushdns 即可清空 DNS 缓存。
如果以上两种方法都试过,还不能正确访问,那就得检查域名指向是否正确,以及新指向是否扩散到其他 DNS 解析服务器上。
针对于程序员自己开发的程序,也就是我上文说的第二种情况,解决方案如下:
一、检查代码是否有错误,生成是否成功
二、IIS 网站配置是否正确
三、页面路径是否正确
四、检查 HOST 配置文件
五、cmd 命令中 ping 网站域名
六、检查 IIS,调整端口号,再 cmd 命令中 ping 网站域名
七、最后结合上面红色字体解决方案操作,基本刷新 DNS 缓存就 OK
注意操作 IIS 时,进行重启操作