IP报文

位,它表示32位字长的IP报头长度,设计报头长度的原因是数据包可选字段大小会发生变化。IP报头最小20个八位组,最大可以扩展到60个八位组。这个字段也可以描述32位字的组大长度。
位,它用来指定特殊的数据包处理方式。服务类型字段实际上被划分为2个子字段:优先权和Tos。优先权用来设置数据包的优先级。Tos允许按照吞吐量、时延、可靠性和费用方式选择传输服务。Tos通常不用所有位都被设置为0.在OSPF路由协议的早期规范中还称为Tos路由选择。优先级偶尔在服务质量(QoS)应用中使用。
下图简单的说明了8个Tos位。

但是随着网络的发展 ToS字段已经作为区分服务架构的一部分被重新定义了。(diffserv)
8位

开始的6个位(0-5)现在构成了区分代码点(DSCP),利用这6位我们可以使用任意数值或根据在区分服务体系结构中预先定义的服务类别,最多可以定义64个不同服务类别,并可以整理到PHB中。
PHB理解:在Diffser中,能够在一台路由器定义服务分类,将数据包归类到这些分类中去。路由器可以根据它们的分类使用不同的优先级对数据包进行排序和转发。每一个排序和处理被称为Per-Hop behavior(逐跳行为PHB)是由Diffse定义的这个机制本身称为区分服务类别(Cos).
显示拥塞通知(Explicit Congestion Notification ECN)在上图中显示拥塞通知是某些路由器支持显示拥塞通知的。当路由器支持该特性时,这些位可用于拥塞信号(ECN=11)
位,以8位为单位计数。其中包括IP报头。接收者用IP数据包总长度减去IP报头长度,就可以确定数据包有效载荷大小。16位长的二进制数用十进制表示最大可以为65535,所以IP数据包最大长度是65535。
位,通常与标记字段和分段偏移一起用于数据包的分段。也就是当数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU)那么分段必须将数据包分段为更小的数据包。
位其中第1位没有使用。
第2位是不分段(DF),当DF位置被置为1时,路由器将不能对数据包进行分段处理。如果数据包因为不能被分段而不能转发,那么路由器将丢弃数据包并向数据发送方发送错误信息。
第3位表示更多分段(MF) 当路由器对数据包分段时除了最后一个分段的MF职位0 ,其它分段的MF位全设置为1,当接收者收到MF为0的分段停止分段。
位,以8个八位组为单位。用于指明分段起始点相对于根头起始点的偏移量。由于分段经过网络肯定会发生错序,所以分段偏移字段可以使接收者按正确的顺序重组数据包。
位,在最初创建数据包时TTL被设定某个特定的值,当数据包逐个经过路由器时,每台路由器都会降低TTL的数值,当TTL值为0时,路由器将会丢弃这个数据包并向数据发送源发送错误信息 这样就可以防止数据包无休止的传下去。TTL实际上是表示跳数。常见的是15和32 缺省值是64. tracert这样的命令就是利用TTL字段。
位,他给出了主机到主机的层或传输层协议的“地址”或协议号。协议字段指定了数据包中信息的类型。
常见协议号

Sourceaddress(源地址):指数据包发送源ip地址。
Destination address(目标地址):数据包将要到达的目的地地址。
Options(可选项):是一个长度可变的字段。它是可选的。
可选项如下:
个地址之间可跳过多台路由器。
ⅱ严格源路由选择(strict source routing)也给出了一连串路由器接口的IP地址序列,不同于松散源路由选择的是,数据包必须按照路由转发。如果下一条不在路由表,就将会发生错误。
ⅲ记录路由(Record Router)当数据包离开时为每台路由器提供空间记录数据包的出站接口地址。
ⅳ时间戳(timestamp):时间戳相当于路由记录选项,这样数据包不仅可以知道自己到过那里。而且还可以记录到达的时间。
来补足32位,主要是保证报头是32位的倍数。

IP报文的更多相关文章
- Tcp/ip 报文解析
在编写网络程序时,常使用TCP协议.那么一个tcp包到底由哪些东西构成的呢?其实一个TCP包,首先需要通过IP协议承载,而IP报文,又需要通过以太网传送.下面我们来看看几种协议头的构成 一 .Ethe ...
- 转自:Tsihang 三层网络设备对于IP报文的分片和重组处理原理
三层网络设备对于IP报文的分片和重组处理原理 对于网络分片,我一年前就想整理出来,虽然说网络上的资料很多,但是真正掌握精髓的除非真正做过分片程序,不然很难将协议栈整体联系起来理解.这篇文章,包括设计分 ...
- Linux中处理需要传输的IP报文流程
本文主要讲解了Linux中处理需要传输的IP报文流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式对Linux中处理需要传输的IP报文流程进行了讲解,希望可以对 ...
- 【转】TCP/IP报文格式
1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被封装在以太网帧(见本章1.3节)中传送.而所有 ...
- IP报文头详解
IPv4报头: 报头长度:20-60字节bytes 白色部分为固定头部部分(20 bytes),绿色option选项部分为可选部分. 固定头部大小计算: 4bit + 4bit + 8bit + 16 ...
- 网络层——IP报文头介绍
IP数据包也叫IP报文分组,传输在ISO网络7层结构中的网络层,它由IP报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节. ...
- 【转】以太网帧、IP报文格式
原文:https://www.cnblogs.com/yongren1zu/p/6274460.html https://blog.csdn.net/gufachongyang02/article/d ...
- 以太网帧、IP报文格式
这几天完成一个对比以太网帧的程序(c语言),老师给了以太网帧头部和IP报文头部的结构体,跟实际抓取到的数据包的格式是相同的. 以太网帧头部的数据结构: typedef struct { unsigne ...
- 【转】IP报文格式详解
下图为常见的IP报文格式表: 上面是IP的报文格式,接下来我们先说明各个字段的意义.然后,用Etheral软件转包分析IP的报文格式. 1.版本:ip报文中,版本占了4位,用来表示该协议采用的是那一个 ...
- TCP/IP报文 三次握手 四次挥手
1.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序 ...
随机推荐
- 《转载》Python3安装Scrapy
运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载自:http://blog.csdn.net/c406495762/article/detail ...
- Bootstrap学习总结笔记(24)-- 基于BootstrapValidator的Form表单验证
Form表单进行数据验证是十分必要的,我们可以自己写JS脚本或者使用JQuery Validate 插件来实现.对于Bootstrap而言,利用BootstrapValidator来做Form表单验证 ...
- bootstrapValidator插件动态添加和移除校验
bootstrapValidator对动态生成的表单进行校验,需要调用方法:addField. 方法:addField(field,option); field可以是表单的name也可以是jQue ...
- linux源码编译安装php出现 cannot find -lltdl
原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcry ...
- 树莓派3安装opencv2程序无法运行
在raspberry pi3 上安装opencv3已测试,没有问题,而opencv2报错如下: Xlib: extension "RANDR" missing on display ...
- 【WEB前端系列之CSS】CSS3动画之Animation
前言 动画使用示例https://github.com/AndyFlower/web-front/tree/master/css3/loading 学习CSS3中Animation之前先来看一个动画特 ...
- mysql配置文件my.cnf模板
[client] default-character-set = utf8mb4 port = PORT socket = /srv/myPORT/run/mysql.sock [mysqld] us ...
- vue比较模板来跟新数据
一,使用场景: 点击menu通过路由,跳转当前列表,第二次点击menu,希望可以刷新列表: 二,解决思路: 给路由添加时间戳: 三,参考观点: 用 :key管理可复用的元素 模板相同,会造成一种“复用 ...
- 3-1 vue-resource基础介绍
1.静态引用 <script src="https://cdn.bootcss.com/vue-resource/1.3.4/vue-resource.js">< ...
- Android中openmax实现框架
OMX中 OMXNodeInstance 负责创建并维护不同的实例,这些实例是根据上面需求创建的,以node作为唯一标识.这样播放器中每个OMXCodec在OMX服务端都对应有了自己的OMXNodeI ...