IPv4数据报的首部由固定首部(20字节)和可变部分组成(40字节).选项可用于网络的测试和排错.

1:选项的组成(TLV:type-length-value)

  1.1:一个字节的类型字段.

    1.1.1:类型(8位一个字节)

      第一位(复制):

        0:仅在第一个分片中复制

        1:复制到所有分片

      第二位和第三位(类别):

        00:数据报控制

        01:保留

        10:排错和管理

        11:保留

      第四位到第八位(编号):

        00000:选项结束

        00001:无操作

        00011:不严格的源路由

        00100:时间戳

        00111:记录路由

        01001:严格路由

  1.2:一个字节的长度字段.表示选项的总长度

  1.3:可变长度的值.

2:目前仅使用了六种选项,其中俩种是单字节选项,塔门不需要长度字段和值,剩下四种多字节选项,需要长度和字节

  单字节选项:无操作(00000),选项结束(00001)

  多字节选项:记录路由(00111),严格路由(01001),时间戳(00100),不严格路由(00011)

2.1

  1:无操作是1字节的选项,主要用于选项和选项之间的填充符,使下一个选项在16位或32位边界上对齐

  2:选项结束也是1字节选项,用于选项字段结束时的填充,只能用于最后一个选项,并且只能用一次,在这个选项之后,解析器就开始寻找净负荷.

  3:记录路由选项用来记录处理数据报的因特网路由器.它可以列出最多九个路由器IP地址.格式如下

   

      指针一个字节,指针是一个偏移量的整数字段,它包含第一个空项的字节号,当报文离开,这个值是4,指向第一个空字段.在数据报的前进过程中,处理

      这个数据报的每一个路由器都要比较指针字段的值和长度字段的值,若指针值大于长度值,则选项满,不做任何改变,如果没有,路由器就插入字节的出口IP,

      同时把指针值加4,

  4:严格路由,源点用来预先指定数据报在因特网中传送时的路由,发送方可以选择具有特定服务类型的路由,如最小延时,最大吞吐量,也可以选择数据报的某条路由路线

    不经过对手的网络.数据报必须经过在选项中定义的所有路由器,如果某个路由器收到报文,但是未被列入,丢弃报文,回送一个差错报文,如果报文达到终点有列入的路由器

    未达到,也丢弃报文,回送差错报文.在数据报前进的过程中.若指针值大于长度,则这个数据报已经通过了所有预设定的路由器,不能再转发,丢弃,回送差错报文.

    若指针值小于长度,比较该帧的目的IP地址是否与自己入口IP地址一致,一致,处理,用输出帧的目的IP地址来替换指针指向的IP地址,指针值加4,转发,如果不相等,丢弃,

    回送差错报文.报文格式.

    

  5:不严格路由和严格路由选项相似,但条件要放宽一些,表中列出的路由器必须通过,但数据报还可以访问其他的路由器.格式和上面一样

    

   6:时间戳选项用来记录路由器处理数据报的时间,很少用.因为路由器的时间可能并没有同步,所以只是估计值.

相关命令:

ping

ping -R实现记录路由,

traceroute -g ip地址1 ip地址2。。。。。。目的ip地址 实现不严格的路由

traceroute -G  ip地址1 ip地址2。。。。。。目的ip地址   严格路由

我这个win7是-r来记录,然后好像ping 百度的ping不通

我的数据报被那个路由器给丢弃了么

最新文章

  1. Dapper一个轻量级的ORM库
  2. PhpSms 稳定可靠的php短信发送库
  3. NGUI事件监听之UIEventListener的使用
  4. C# 命令绑定
  5. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
  6. TeeChart 的应用
  7. ArrayList 转换为DataTable
  8. oracle还原数据库及遇到的问题
  9. 关于C++中的虚拟继承的一些总结
  10. vs2013出现ISO C++ conformant解决办法
  11. python链接MySQLdb报错:2003
  12. lsof 命令用法详解
  13. python编写文件统计脚本
  14. 网站性能优化小结和spring整合redis
  15. MySQL 索引优化 Using where, Using filesort
  16. python kmeans实战 - 单机一层聚类(小玩具哦),下次再弄个分布式多次聚类
  17. (转)mysql的sql_mode合理设置
  18. Tensorflow笔记——神经网络图像识别(四)搭建模块化的神经网络八股(正则化,指数衰减学习率,滑动平均等优化)
  19. javaWeb项目中到底什么是单例,多例
  20. /etc/ssh/sshd_config 配置(ssh连接)

热门文章

  1. Slack 开发入门之 Incoming Webhooks:往 Slack 的 Channel 中发消息
  2. HDU 1814 模板题 2-sat
  3. stenciljs 学习四 组件装饰器
  4. leetcode -day28 Unique Binary Search Trees I II
  5. 单变量微积分笔记20——三角替换1(sin和cos)
  6. python之 数据类型判定与类型转换
  7. [boost] : test库
  8. Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。
  9. 关于有时候导入maven项目时候报错(有红色叹号,类中导入的包提示"the import java.util cannot be resolve,")
  10. WPF Demo6