一、IP数据报结构分析

1.整体结构

一个IP数据报由首部和数据两部分组成。

首部的前一部分固定长20字节,这是所有IP数据报必须具有的;在首部的固定部分后面是一些可选字段,其长度是可变的。

IP数据报的整体格式如下:

其中首部又可拆分为以下格式:

2.逐项分析

==========================================================================

版本 ===> 4位;代表IP的版本,分为IPV4和IPV6

==========================================================================

首部长度 ===> 4位;单位为 4byte,即 32bit

若首部长度为 0101=5,则代表首部的固定长度为4 x 5 = 20(字节),即160(bit)

==========================================================================

区分服务 ===> 8位;旧版叫服务类型,一般不使用,只有在使用区分服务时才被使用

==========================================================================

总长度 ===> 16位;单位为 1byte,即 8bit

因此最大长度为 2^16 - 1 = 65535(byte)

==========================================================================

标识 ===> 16位;IP计数器。

每产生一个数据报就加1。但并不是序号。因为IP是无连接服务,只是在数据报超过MTU时必须分片。这样相同序号的分片就会重装成原来的数据

==========================================================================

标志 ===> 3位;

数据长度占3位,但目前仅2位有意义

MF = 1 代表后面还有分片

MF = 0 代表后面没有分片

DF = 1 代表不能分片

DF = 0 代表允许分片

==========================================================================

片偏移 ===> 13位;单位为 8 byte 即 64 bit

用来指出该分片在原数据报中的相对位置

==========================================================================

生存时间 ===> 8位;简称TTL。

最初TTL以秒为单位,即每经过一个路由器用了多少秒,TTL就减几,若不足1秒就减1;

后来TTL以跳数为单位。数据报每经过一个路由器TTL值就减1

==========================================================================

协议 ===> 8位;

用来指出该IP数据报携带何种协议数据报。目的IP主机通过该字段确定将该数据提交给哪个协议层处理

常见协议及其字段值如下:

数值

值描述

0 保留字段,用于IPv6(跳跃点到跳跃点选项)
1 Internet控制消息 (ICMP)
2 Internet组管理 (IGMP)
3 网关到网关 (GGP)
4 1P中的IP(封装)  
5
6 传输控制 (TCP)
7 CBT
8 外部网关协议 (EGP)
9 任何私有内部网关(Cisco在它的IGRP实现中使用) (IGP)
10 BBNRCC监视
11 网络语音协议
12 PUP
13 ARGUS
14 EMCON
15 网络诊断工具
16 混乱(Chaos)
17 用户数据报文 (UDP)
18 复用
19 DCN测量子系统
20 主机监视
21 包无线测量
22 XEROXNSIDP
23 Trunk-1
24 Trunk-2
25 leaf-1
26 1eaf-2
27 可靠的数据协议
28 Internet可靠交易
29 1SO传输协议第四类 (TP4)
30 大块数据传输协议
31 MFE网络服务协议
32 MERIT节点之间协议
33 序列交换协议
34 第三方连接协议
35 域之间策略路由协议
36 XTP
37 数据报文传递协议
38 IDPR控制消息传输协议
39 TP+ +传输协议
40 IL传输协议
41 1Pv6
42 资源命令路由协议
43 1Pv6的路由报头
44 1Pv6的片报头
45 域之间路由协议
46 保留协议
47 通用路由封装
48 可移动主机路由协议
49 BNA
50 1Pv6封装安全有效负载
51 1Pv6验证报头
52 集成的网络层安全TUBA
53 带加密的IP
54 NBMA地址解析协议
55 IP可移动性
56 使用Kryptonet钥匙管理的传输层安全协议
57 SKIP
58 1Pv6的ICMP
59 1Pv6的无下一个报头
60 IPv6的信宿选项
61 任何主机内部协议
62 CFTP
63 任何本地网络
64 SATNET和BackroomEXPAK
65 Kryptolan
66 MIT远程虚拟磁盘协议
67 Internet Pluribus包核心
68 任何分布式文件系统
69 SATNET监视
70 VISA协议
71 Internet包核心工具
72 计算机协议Network Executive
73 计算机协议Heart Beat
74 Wang Span网络
75 包视频协议
76 Backroom SATNET监视
77 SUN ND PROTOCOL—临时
78 WIDEBAND监视
79 WIDEBAND EXPAK
80 ISO Internet协议
81 VMTP
82 SECURE—VMTP(安全的VMTP)
83 VINES
84 TTP
85 NSFNET—IGP
86 不同网关协议
87 TCF
88 EIGRP
89 OSPF IGP
90 Sprite RPC协议
9] Locus地址解析协议
92 多播传输协议
93 AX.25帧
94 IP内部的IP封装协议
95 可移动网络互连控制协议
96 旗语通讯安全协议
97 IP中的以太封装
98 封装报头
99 任何私有加密方案
100 GMTP
101 Ipsilon流量管理协议
102 PNNI over IP
103 协议独立多播
104 ARIS
105 SCPS
106 QNX
107 活动网络
108 IP有效负载压缩协议
109 Sitara网络协议
110 Compaq对等协议
111 IP中的IPX
112 虚拟路由器冗余协议
113 PGM可靠传输协议
114 任何0跳跃协议
115 第二层隧道协议
116 D-II数据交换(DDX)
117 交互式代理传输协议
118 日程计划传输协议
119 SpectraLink无线协议
120 UTI
121 简单消息协议
122 SM
123 性能透明性协议
124 ISIS over IPv4
125 FIRE
126 Combat无线传输协议
127 Combat无线用户数据报文
128 SSCOPMCE
129 IPLT
130 安全包防护
131 IP中的私有IP封装
132 流控制传输协议
133~254 未分配
255 保留

==========================================================================

首部校验和 ===> 16位;

这个字段只检验数据报的首部,但不检验数据部分。数据报每经过一个路由器,路由器都要重新计算一下首部校验和

==========================================================================

源地址 ===> 数据报发送方

==========================================================================

目的地址 ===> 数据报接收方

==========================================================================

首部的可变部分 ===> 该字段长度可变(1字节到40字节)

可以用来排错、测量、以及安全等措施。中间不需要分隔符,最后用0填充字段,使其成为4字节的整数倍

==========================================================================

计算机网络协议,IPV4数据报分析的更多相关文章

  1. 计算机网络协议,TCP数据报的分析

    一.TCP协议的特点 TCP是面向连接的运输层协议:即应用程序在使用TCP协议通信之前,要先建立TCP连接,通信结束后必须释放已建立的TCP连接 每一条TCP连接只能有两个端点:即TCP是点对点(一对 ...

  2. 计算机网络协议,UDP数据报的分析

    一.UDP数据报的特点 1.基本特性 UDP是在IP数据报的基础上增加了复用和分用以及差错检测的功能 UDP的主要特点如下: UDP是无连接的:即发送数据之前不需要建立连接 UDP使用尽最大努力交付, ...

  3. 一些重要的计算机网络协议(IP、TCP、UDP、HTTP)

    一.计算机网络的发展历程 1.计算机网络发展 与其说计算机改变了世界,倒不如说是计算机网络改变了世界.彼时彼刻,你我都因网络而有了交集,岂非一种缘分? 计算机与网络发展大致经历如下过程:

  4. 【转帖】计算机网络协议(三)——UDP、TCP、Socket

    计算机网络协议(三)——UDP.TCP.Socket 2019年09月04日 11:09:41 to_be_better_one 阅读数 28794 文章标签: 计算机网络UDPTCPSocket 更 ...

  5. TCP协议的安全性分析

    有算法就有破解法,因为它们都遵循了一定的数据结构和数学知识.所以网络安全是一个相对的概念,不可能出现绝对的安全!作为当今最流行的网络协议--TCP也是如此.那么TCP的安全问题究竟是哪些因素引起的呢? ...

  6. MAC帧格式、IPV4数据报格式、TCP报文格式、UDP数据报格式

    1.MAC帧格式 类型:2字节,指出数据域中携带的数据应交给哪些协议实体处理 校验码:校验数据段(采用32位CRC冗余校验方式进行校验) 2.IPV4数据报 版本:IP协议版本,这里为4 首部长度:占 ...

  7. IPv4数据报格式

    网络层的分组为数据报,数据报为首部和数据两部分组成,如下图所示. 首部的长度是以4个字节为单位,长度可以是20-60字节,这跟首部的HLEN字段有关. 版本: 这个4位字段定义了IP协议的版本,目前主 ...

  8. 计算机网络协议层次(转发:http://blog.csdn.net/gavin_john/article/details/53186570)

    计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.计算机网络协议同我们的语言一样,多种多样. 为了给网络协议的设计提供一个结构,网络 ...

  9. IPv4数据报格式及其语义

    一.IP数据报的格式如下图所示 版本 首部长度 服务类型 数据报长度 16比特标识 标志 13比特片偏移 寿命 上层协议 首部检验和 32比特源IP地址 32比特目的IP地址 选项(如果有的话) 数据 ...

随机推荐

  1. 【python】提取sql语句中的表名

    前言 最近刚学python,写一个小工具时需要提取sql语句中表名,查询一番后找到一篇文章挺不错的,mark一下 PS.那篇文章是转载的,且没有标注转载自哪里 正文 import ply.lex as ...

  2. 【Python】2.11学习笔记 注释,print,input,数据类型,标识符

    前面学了好多内存什么的知识,没什么用(我有眼不识泰山233 吐槽一句,这课简直就是讲给完全的编程小白听得 就从语言开始写吧(其实好多已经看过了,再来一遍 话说我已经忘了\(Markdown\)怎么写了 ...

  3. PDIUSBD12指令

    PDIUSBD12指令 端点描述 PDIUSBD12的端点适用于不同类型的设备,端点可通过[Set mode]命令配置为4种不同的模式,分别为: 模式0(NON-ISO模式):非同步模式 模式1(IS ...

  4. Altium Designer 20下载与安装教程

    目录 一.Altium Designer 20下载 二.Altium Designer 20安装 三.Altium Designer 20破解 四.Altium Designer 20汉化 作者:st ...

  5. 部署prometheus监控kubernetes集群并存储到ceph

    简介 Prometheus 最初是 SoundCloud 构建的开源系统监控和报警工具,是一个独立的开源项目,于2016年加入了 CNCF 基金会,作为继 Kubernetes 之后的第二个托管项目. ...

  6. Requests发送带cookies请求

    一.缘 起 最近学习[悠悠课堂]的接口自动化教程,文中提到Requests发送带cookies请求的方法,笔者随之也将其用于手头实际项目中,大致如下 二.背 景 实际需求是监控平台侧下发消息有无异常, ...

  7. router路由的使用

    router路由的使用 1.使用nuxt-link来跳转路由 <!-- 要跳转的路由的地址就是pages文件夹中定义的xxx.vue的前缀名--> <nuxt-link to=&qu ...

  8. Linux下MySQL主主同步

    主主复制:主从相互授权连接,读取对方binlog日志并更新到本地数据库的过程:只要对方数据改变,自己就跟着改变. 本节介绍主主复制模式的配置. 前提条件 已安装MySQL两台服务器.服务器规划示例如表 ...

  9. identityserver4源码解析_3_认证接口

    目录 identityserver4源码解析_1_项目结构 identityserver4源码解析_2_元数据接口 identityserver4源码解析_3_认证接口 identityserver4 ...

  10. django中基于python3.6使用容联发送短信

    一. Django基于python3.6使用容联发送短信流程 容联官方的python支持2.7版本,当我们python解释器采用3版本时,需要修改容联接口中的一些参数及方法. 首先去容联官网注册账号, ...