TCP/IP协议详解 卷1 Traceroute程序[通俗易懂]

TCP/IP协议详解 卷1 Traceroute程序[通俗易懂]作用可以让我们看到IP数据报从1台主机传到另一台主机所经过的路由。比Ping程序看到更多东西优势不是所有路由器都支持RR选项。所以有些路由器上会出现不记录IP的现象。Traceroute不需要路由器具备任何特殊的功能RR选项的数据报的目的Ping服务器(主机)会将接受到的RR清单Copy回去。然后再加上回去的IP清单。这样就是X2。这会收到一些限制IP首部的空间有限,不能存放太多的IP…

大家好,又见面了,我是你们的朋友全栈君。

作用

可以让我们看到IP数据报从1台主机传到另一台主机所经过的路由。比Ping程序看到更多东西

优势

  1. 不是所有路由器都支持RR选项。所以有些路由器上会出现不记录IP的现象。Traceroute不需要路由器具备任何特殊的功能
  2. RR选项的数据报的目的Ping服务器(主机)会将接受到的RR清单Copy回去。然后再加上回去的IP清单。这样就是X2。这会收到一些限制
  3. IP首部的空间有限,不能存放太多的IP(最多9个)
  4. 将TTL字段改成跳站的计数器

TTL

如果TTL的值为1或0时,路由器丢弃该数据报。并且给源主机发送一份ICMP超时信息。Traceroute程序将该路由器的IP地址包含在这份ICMP数据报中

如果是主机返回的ICMP是端口不可达的ICMP数据报。以此来区分路由器发送回来的还是主机发送回来的

ICMP超时报文

在这里插入图片描述

如果是TTL值等于0的时候产生的那code字段的值为0
如果是组装分片的时候发生超时,则code字段的值为1

Traceroute注意事项

不能保证ICMP报文的路由与Traceoute程序发送的UDP数据报采用同一路由
返回的ICMP数据报中包含的信源地址是路由器地址。但是IP记录路由选项(RR)是记录发送接口的地址。由于路由器有多个接口因此 A-B和B-A上运行Traceroute的返回结果可能会有所不同

IP源站选路选项

路由器发现下一站需要转发的路由器通常是采用Traceroute这样的程序完成。由发送者指定路由
规则有两种,严格的源路由选择(SSRR)和宽松的源路由选择(LSRR)
严格的源路由选择: 发送端指明IP数据报所要经过的确切路由,如果该IP不在其直接相连的网络上,则返回一个“源站路由失败”的ICMP差错报文
宽松的源路由选择:发送端指名IP数据报所要经过的IP清单,清单上的任意两个IP地址之间可以通过其他路由器

IP首部路由选项通用格式
在这里插入图片描述
跟IP路由选项的格式一样,不同的是源站选路一开始就要把清单填入。并且只需要分配足够的空间即可(IP地址清单通长会少于9个)
宽松的源站选路的code是0x83,严格的是0x89

源站路由选项运行过程:

  1. 发送主机收到源站路由清单,将第1个表项去掉(数据报的最终目的地),将剩下的项往前移动,然后将目的地址作为清单最后一项,类似把原本第一行的数据丢到最后一行去
  2. 每个处理数据报的路由都会检查自己的IP是否是清单中的最终地址。如果不是则转发(宽松的源站选路才可以)
  3. 如果路由是最终地址了那就将路由器的外出接口相对应的IP设为源地址,指针+4
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151535.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 关于pin码破解的原理和reaver参数的解释「建议收藏」

    关于pin码破解的原理和reaver参数的解释「建议收藏」  路由器开启wps功能后,会随机生成一个8位的pin码,通过暴力枚举pin码,达到破解的目的,尤其现在很多路由器默认开启了wps功能。大家可能会想到8位的随机pin码将会有100000000种情况,这要pin到何年何月呀。。。。。。不过接下来讲解一下原理,大家会发现其实没多少种情况,这也是这种攻击方式比较流行的原因。 1.pin码破解的原理:  pin码是由8位纯数字组成的识别码,pin码破解是分三部分进行的,规律是这样的:pin码分为三部分,如图:      前4位为…

  • [运算放大器系列]二、电压转4 – 20MA电流电路分析

    [运算放大器系列]二、电压转4 – 20MA电流电路分析[运算放大器系列]]二、电压转4-20MA电流电路分析偶然在网上看到一个4-20MA转换电路原理图如下:2.原理分析偶然在网上看到一个4-20MA转换电路原理图如下:2.原理分析RLR_LRL​为负载,分析电流流向如上图箭头所示可以得到假设Rloop上的压降为VlV_lVl​则:①Vi−V+R1=V+−(Vo−Vl)R2\frac{V_i-V_+}{R_1}=\frac{V_+-(V_o-V_l)}{R2}R1​Vi​−V+​​=R2V+​−(Vo​−Vl​)

  • Ubuntu16.04 环境 Kubeedge安装「建议收藏」

    Ubuntu16.04 环境 Kubeedge安装「建议收藏」前期准备换源#备份sudocp/etc/apt/sources.list/etc/apt/sources.list.bak#更新sources.listsudotee/etc/apt/sources.list<<-‘EOF’debhttp://mirrors.aliyun.com/ubuntu/xenialmaindeb-srchttp://mirrors.aliyun.com/ubuntu/xenialmaindebhttp://mirr

  • c语言循环中按键跳出,C语言跳出循环

    c语言循环中按键跳出,C语言跳出循环C语言跳出循环C语言在程序员中备受青睐,成为最近25年使用最为广泛的编程语言。那么大家知道C语言跳出循环是怎么回事呢?下面一起来看看!使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。break关键字在《C语言switch语句》一节中,我们讲到了break,用它来跳出switch语句。当break关键字用于w…

  • 用python爬虫爬取网页信息_爬虫python

    用python爬虫爬取网页信息_爬虫python【一、项目背景】[蜜柑计划-MikanProject]:新一代的动漫下载站。是一个专门为喜欢动漫的小伙伴们打造的动漫视频在线播放网站,为大家第一时间分享最新动漫资源,每日精选最优质的动漫推荐。【二、项目目标】实现获取动漫种子链接,并下载保存在文档。【三、涉及的库和网站】1、网址如下:https://mikanani.me/Home/Classic/{}2、涉及的库:reques**ts、lxml、fake_useragent**3、软件:PyCharm【四、项目分析】…

    2022年10月21日
  • nfv网络功能虚拟化[通俗易懂]

    nfv网络功能虚拟化[通俗易懂]标题作者及单位文件名日期概述数据度量OnOrchestratingVirtualNetworkFunctionsinNFVMd.FaizulBari,ShihaburRahmanChowdhury,ReazAhmed,andRaoufBoutabaDavidR.CheritonSchoolofComputerScienc…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号