| |
|
开发:
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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/25 23:34:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |