IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> IP数据包的格式(1) -> 正文阅读

[网络协议]IP数据包的格式(1)

IP数据包结构图

(引用千锋教育)

IP包头长度可变,20-60字节。

1、版本: 告诉大家使用的是ipv4还是ipv6? (这四位是0100或0110)

2、首部长度:告诉接收端IP包头长度,别多收少收。

(注意:数据帧前14字节是二层帧头,故从14往后根据首部长度就可以直到三层IP包头的长度)

3、优先级与服务类型(QOS与TOS): 前3bit是优先级,服务类型是4bit,最后留一个bit不用,扩展开发使用。 比如公司分公司之间跨城市连接专线,给专业运营商交点钱,让网速快很多。

4、总长度: 数据帧由2层帧头,3层ip包头,四层tcp/udp包头,五层数据,2层帧尾组成

首部长度指的是3层ip包头的长度,而总长度是3,4,5层加起来。

5、分片:

举个例子,这个是数据帧中三四五层内容,比如五层待发数据为4000字节,其他两个为20字节,

假如每个ip数据包最多容纳1500个字节,那上面这个情况肯定要分片,如何分呢?下面解释。

直观来看,1500是上限,那4000字节肯定要分3份。

把20字节的IP包头拿出来复制3份,把TCP/IP包头和data放一起,变成了4020字节。(下图)

注意,TCP/UDP层为什么不拿出复制,因为主要起导航作用的是3层IP包头,故TCP/UDP安全到终点即可。

接下来开始组合,如下图

这样就组合完成了!

注意,只是单纯从字节角度分析分片,后面还会提到标志位和偏移量。

6、段偏移量和标识位

还是刚刚的图,我加上偏移量

7、标志位(3位): 第一位没有启用,统一是0,第二位0表示分片了,1表示未分片,

第三位为1表示还有后续分片,自己不是最后一个。

8、TTL(time to live): 也是转为10进制来算,100以上基本是windows主机,以下是linux

发送数据,每经过一个路由器TTL就减一,如果为0时,那就销毁该数据帧。

目的是防止无用数据包在网络上当垃圾。如果接收方无法接收数据或者出错,导致发送方找不到,那不能让该数据帧永远游荡在网络上,故TTL归零时就销毁。

9、协议号:如果是6往TCP走,17往UDP走,1是往同层ICMP协议走

看下图,数据从下到上所经过的协议:

该图表示下层为上层服务的简单结构图,数据链路层中MAC子层协议包含了IP和ARP两种类型,在

MAC帧中的(类型)一栏通过类型号来进行选择。(0x0800走IP协议,0x0806走ARP协议)

网络层中IP协议中也包含了去往TCP和UDP的途径,协议号6走TCP,17走UDP,1走ICMP。

10、首部校验和: 和帧尾FCS类似,FCS用于校验整个帧,而这里主要校验IP数据包的(20-60字节)

11、源地址和目的地址: 32位大小,比如10.1.1.1 ,每个10进制数字转换8个二进制位,共32位

补充:MAC地址48位,IP地址32位。即6字节和4字节

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:14:36  更:2022-08-06 11:14:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 21:54:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计