(除选项外的报头区总共20个字节)

1)版本:IPV4/IPV6

2)头长度:报头区长度,用于计算数据区的开始位置,比如头长度为6,代表报头区长度为6*4个字节,头长度的单位为4字节,所以报头区长度不为4字节的倍数时必须填充字节,满足倍数要求

3)服务类型TOS:

8位二进制,用于规定本数据报的处理方式

1.优先权(0-7):数字越大,表示该数据报的优先级越高,网络中的路由器可以使用优先级进行拥塞控制,如当网络发生堵塞时可以根据数据报的优先级来决定数据报的取舍

2.短延迟位D:该位为1代表数据报请求以短延迟信道传输,0表示正常延时

3.高吞吐量位T:该位为1代表数据报请求以高吞吐量信道传输,0表示普通

4.高可靠位R:该位置为1时代表数据报请求以高可靠信道传输,0表示普通

5.保留位:没有使用

下面是各网际协议的IP数据报的服务类型TOS的值:

从上表可以得到的结论:

对于与用户直接交换的,一般选用短延时

对于有大量数据传输的,一般选用高吞吐量

对于传输控制信息的,一般选用高可靠

4)总长度

IP数据报的总长度(报头区+数据区),总长度理论长度为2的16次方(65536)字节,但由于物理网络限制,远远达不到这个理论值

5)标识:相同的标识可以使得分片后的各数据报片最后能正确的重新组装成原来的数据报

6)标志:标志为1代表后面“还有分片”的数据报

7)片偏移:在较长的分组分片后,某片在原组中的相对位置,片偏移以8个字节为单位,也就是说每个分片的长度都是8的倍数

8)生存时间TTL:指定了IP数据报可以在网络中传输的最长时间,实际中设置为最大经过的路由器跳数,经过1个路由器,TTL就减去1,当TTL为0还没有到达目的地时就丢弃该IP数据报

TTL为1代表该数据报只能在本局域网中传输,TTL最大为2的8次方255

TTL存在的目的就是避免数据报在网络中不断的兜圈子,白白的消耗网络资源

9)上层协议:指明该IP数据报使用的是传输层的那种协议

10)首部校验和:采用反码求和的方式校验数据报的首部,路由器进行首部校验【不能绝对的保证首部不出问题,只能在绝大多数情况下保证

【面试】IP数据报格式分析的更多相关文章

  1. 以太网帧、TCP与UDP段以及IP数据报格式总结

    传输层及其以下的机制由内核提供,是操作系统的一部分,应⽤层由⽤户进程提供应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装.不同的协议层对数据包有不同的称谓,在传 ...

  2. 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解

    转载:http://www.cnblogs.com/lifan3a/articles/6649970.html 以太网帧格式.IP数据报格式.TCP段格式+UDP段格式 详解   1.ISO开放系统有 ...

  3. IP数据报格式和IP地址路由

    一.IP数据报格式 IP数据报格式如下: 注:需要注意的是网络数据包以大端字节序传输,当然头部也得是大端字节序,也就是说: The most significant bit is numbered 0 ...

  4. 计算机网络(3)-----IP数据报格式

    IP数据报(IP Datagram) 格式 解析 (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.目前广泛使用的IP协议版本号为4(即IPv4). (2)首部长度 占4位,可 ...

  5. IP数据报格式 及路由转发算法

    ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本--占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度--占 4 位,可表示的最大数值 是 ...

  6. IP数据报格式 及分组转发算法

    ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本——占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度——占 4 位,可表示的最大数值 是 ...

  7. 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层协议 MAC帧、IP数据报、TCP报文 关系 IP地址与硬件地址 链路层与网络层

    小结: 1. 网络层两种服务 虚电路服务 virtual circuit  电信网 网络层负责可靠交付 数据报服务  网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务 ...

  8. tcp、udp、ip、icmp报文格式分析

    TCP .UDP .IP. ICMP协议报文格式分析 Tcp报文格式: Wireshark抓包如图: 源端口/目的端口(16bit): 在TCP报文中包涵了源端口/目的端口,源端口标识了发送进程,目的 ...

  9. IP数据报首部格式

    IP协议提供不可靠.无连接的数据报传送服务. 不可靠:尽力而为地传输,不保证IP数据报能成功到达目的地. 无连接:每一个数据报之间相互独立地进行路由选择,可不按发送顺序接收. IP首部格式例如以下: ...

随机推荐

  1. [Flutter + Firebase] Enable Firebase for Flutter

    Anroid Firebase Project setup: 1. In firebase console, cerate a Android app setup you can find in co ...

  2. 使用for循环签到嵌套制作直角三角形

    注意代码的运行顺序: for(i = 0 ; i<9 ; i++){ for(j = 0 ; j<i-1 ; j++){ document.write("*")//** ...

  3. rpmlint 方便的rpm spec 以及rpm 文件检查工具

    rpmlint 可以方便的让我们检查rpm spec 的信息,给予我们提示以及改进,同时也支持对于rpm 文件处理 安装 yum install -y rpmlint 使用 spec 检查 rpmli ...

  4. 1.typescirpt学习之路,*.d.ts和@types关系理解

    今天看了看ts,文档上很多没用讲,小编疑惑了很久一个问题! *.d.ts和@types啥关系,小编查阅了很多文档,才弄明白. 首先,@types是npm的一个分支,我们把npm包发上去,npm包就会托 ...

  5. 干货 | 10分钟带你彻底了解column generation(列生成)算法的原理附java代码

    OUTLINE 前言 预备知识预警 什么是column generation 相关概念科普 Cutting Stock Problem CG求解Cutting Stock Problem 列生成代码 ...

  6. GDOI2018 小学生图论题 [NTT]

    并没有传送门qwq 思路 首先要知道一个结论(或者说是一个套路):一个竞赛图缩点之后必定是一条链. 那么强联通分量的个数,就是这条链的边数+1. 考虑一条边什么时候会出现:当且仅当点集可以被分成\(S ...

  7. mysql lower()函数

    mysql> select " DFREF"; +--------+ | DFREF | +--------+ | DFREF | +--------+ row in set ...

  8. Maven中使用<version>LATEST</version>自动依赖最新版本引发的问题

    今天在打包项目的过程中出现了编译问题,奇怪的是这个项目已经好久没有修改过了,报错如下. 找不到符号 [ERROR] 符号: 方法 intent(java.lang.String) [ERROR] 位置 ...

  9. Linux 权限规划ACL

    什么是ACL ACL是Access Control List的缩写,主要目的是提供传统的owner.group.others的read.write.execute权限之外的具体权限设置 ACL可以针对 ...

  10. TypeScript之Https通信

    NetWorkRequest.ts(源代码如下) import * as https from "https"; import * as vscode from 'vscode'; ...