TCP/IP协议第一卷第三章 IP首部分析
IP介绍
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP数据都以IP数据报格式传输。
IP提供不可靠、无连接的数据报传送服务。
不可靠(unreliable)它不能保证IP数据报能够成功地到达目的地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何要求可靠性必须由上层来提供(如TCP)。
无连接(connectionless)IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。IP数据报可以不按发送顺序接收。如果信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的线路,因此B可能在A到达之前先到达。
接下来就是使用wireshark抓包对所讲内容进行分析
4位版本:
如上图中第二行一共有4位以二进制的0100来代表了十进制的4,说明这是IPv4,若是IPv6则应该使用二进制的0110来显示。
4位首部长度:
首部长度字段表示了IP头报的总长度,它并没有直接表示,其中明确定义了首部长度为4个位,4位的二进制则为1111四个一,则为十进制的15,实际的IP头部报总长度等于首部长度字段表示的值乘以4,也就是IP首部长度为60个字节,一般IP数据首部都没有选择项,长度通常为20个字节。
头长度 5 根据IP首部其中 ”4位首部长度“的定义, 二进制表示则为0101,其长度为5表示共有20个字节
在此感谢李佳宇老师解惑。
额这里好像好像使用wireshark抓包显得不是很专业那么就使用专业点的吧
Diff,Services:%00000000[15] 这是8位服务类型TOS
将这八位分为 3个000一组表示优先权字段(取值可以从000-111所有值一共有8个) 再分为4个0000 ,最后1个0未使用强制为0。
其中第一组3个000的代表着网络优先权:越大优先权越高
111 Network Control 网络控制 ----8
110 Internetwork Control 网间控制 ----7
101 Critic 关键 ----6
100 Flash Override 疾速 ----5
011 Flash 闪速 ----4
010 Immediate 快速 ----3
001 Priority 优先 ----2
000 Routine 普通 ----1
6、7 一般保留给网络控制数据使用。5推荐给语音数据使用。4视频使用。3语音使用。2和1数据业务使用,0为默认。
4个0000表示了服务类别: 其中只能1位为1,其他位必须为0
1000 -- minimize delay ----最小延迟
0100 -- maximize throughput ----最大吞吐量
0010 -- maximize reliability ----最高可靠性
0001 -- minimize monetary cost ----最小费用
0000 -- normal service ----一般服务
最后1个0未使用强制为0
图上所表示的8个位为0表示了普通网络优先权、一般服务类型。
Total Length:数据报总长度 ,共占用16位则为2的16次方,单位字节代表了整体数据报报最大长度不超过65535字节。
上图是表示的是数据报总长度52字节
Identifier:标识 唯一标识主机发送的每一份数据报。每一个包都有一个ID,不同的系统起始点不同,每多发一个包,则增加1,组装时根据ID组装,分片时ID不变。
上图标识包的ID是31955
Fragmentation Flags: 分片标识位,分三个字段,第一个是保留位,第二个是不分片位,第三个是更多分片位。
首位被默认保留位:被置为0
不分片位:表示该数据报是否被分片,为什么要分片?--》“因为以太网对数据帧的长度有一个限制,链路层这个特性被称为MTU,以太网MTU为1500字节,802.3MTU为1492字节。必须要小于TMU才能传输。”若不进行分片则置为1,如果要进行分片则反之为0。
更多分片位:
0 最后的没有后续的分片 , 1还未发送完还有片未发送。
上图010:表示不要分片,若要分片请丢弃返回协议。
Fragment Offset: 片偏移量 当前包所在整体报的绝对位置
上图中0表示没有分片,所以不存在片偏移量。
Time To Live:生存时间 每过一个路由设备则减一,若生存时间等于0时,会被丢弃。
上图是64 ,我ping了一下本机起始值是64,一定是发生了不可描述的错误,明天去请教一下李老师、
Protocol:协议位 1代表:ICMP 6代表:TCP 17代表:UDP
上图是:6 代表TCP
Header Checksum:首部检验和 检验数据的完整性。
Source IP Address:源IP
Dest IP Address:目的IP
字节单位换算:
“1位”表示为1bit
“1个字节”表示为1Byte
“1个字节”=“8位” 即1Bytes=8bit
TCP/IP协议第一卷第三章 IP首部分析的更多相关文章
- 【TCP/IP协议 卷一:协议】第三章 IP:网际协议
3.1 引言 unreliable不可靠的意思是它并不能保证IP数据报能成功的到达目的地.IP只提供尽力而为的传输服务. conectionless无连接的意思是IP并不维护任何关于后续数据报的状态信 ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- TCP/IP协议第一卷第一章
1.链路层 链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节.把链路层地址和网络层地址联系起来 ...
- 网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集
第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...
- 《TCP/IP详解 卷1:协议》第3章 IP:网际协议
3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输(见图1-4).许多刚开始接触TCP/IP的人对IP提供不可靠.无连接的数据报 ...
- TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集
第一章:概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN (Virturl LAN) ,翻译成中文是:“虚拟局域网”.VLAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计 ...
- TCP/IP协议全解析 三次握手与四次挥手[转]
所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.所谓四次挥手(Four-Way Wavehand) ...
随机推荐
- 【python小随笔】字典的使用
字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关 ...
- [JavaScript] 《JavaScript高级程序设计》笔记
1.|| 和 && 这两个逻辑运算符和c#是类似的,都是惰性的计算 a() || b() 若a()为真返回a()的结果,此时b()不计算: a()为假则返回b() a() &am ...
- .NET进阶篇-语言章-2-Delegate委托、Event事件
知识只有经过整理才能形成技能 整个章节分布简介请查看第一篇 内容目录 一.概述 二.解析委托知识点 1.委托本质 2.委托的使用 3.委托意义 逻辑解耦,减少重复代码 代码封装支持扩展 匿名方法和La ...
- eclipse中Tomcat version 9.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, 7, and 8 Web modules
eclipse中导入了一个别人的项目,运行时提示没有可以使用的服务器,如下: 查看了下项目属性设置中的服务器,还是提示没有可用服务器: 尝试对部署在已有服务器下的项目Add and Remove... ...
- 总结下var、let 和 const 的区别
一.var变量 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 基于Spring AOP实现的权限控制
1.AOP简介 AOP,面向切面编程,往往被定义为促使软件系统实现关注点的分离的技术.系统是由许多不同的组件所组成的,每一个组件负责一块特定的功能.除了实现自身核心功能之外,这些组件还经常承担着额外的 ...
- Ubuntu 重装vmtool
1. 虚拟机菜单 -> 更新虚拟机 : 2. 弹出的窗口中: 3. 拷贝红色的文件到可读写的目录: 4. 解压,运行解压出来的绿色脚本文件,一路回车:
- 第三方软件 vnc提权
通过读取注册表十进制数 将得出的十进制数去掉第一个数其他转换成16进制 破解16进制数得到密码 vncx.exe -W 回车 输入16进制数 连接vnc 读取 vncx4.exe -w 8个数 自动破 ...
- python学习-面向对象(六)
1.类中的实例方法 self参数最大的作用是引用当前方法的调用者 类调用实例方法,python不会位为一个参数绑定调用者(因为实例方法的调用者应该是对象,而此时是类) 2.类方法与静态方法
- 百万年薪python之路 -- 前端CSS样式
CSS样式 控制高度和宽度 width宽度 height高度 块级标签能设置高度和宽度,而内联标签不能设置高度和宽度,内联标签的高度宽度由标签内部的内容来决定. 示例: <!DOCTYPE ht ...