网络层协议(IPV4报头)

一、网络层协议定义

网络层提供了无连接数据的传输服务,即网络在发送数据报文时不需要先建立连接,每一个IP数据报文独立发送;

网络层包含:IP协议、ICMP协议、IPX协议

二、测试网络不同的常用命令

监测网络通信测试

①Ping + 目标地址

②ping -a 源地址 目标地址 \\指定源地址

③ping -c X 目的地址 \\指定测试访问的报文数量(默认5个)

④ping -s (20 - 9600) \\指定数据包的字节长度

三、IPV4报头的组成结构

IPv4报文格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)

①Version:版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100(十进制是4)

②HeaderLength:首部长度(4):IP数据包的包头长度(不包括数据)

③Type -f Service:优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。用于数据包的快速转发,用于Qos

④Total Length:总长度(16),IP数据包的总长度,最长为 65535 字节,包括包头和数据。

第二层主要用于数据包分片

⑤Identifcation标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片数据分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。

⑥Flags标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整)。 第一个bit是保留的

第二个bit是DF(不分片),置0代表可以分片,置1代表不可以分片

第三个bit是MF(多分片),置0代表没有后续分片,置1代表后续还有分片

⑦Fragment offset片偏移量(13):一个数据包需要分片,将收到所有分片报文,按照原有顺序进行排列,作用重组数据。

每一个分片报文都会存在偏移量值

第一个分片报文,偏移量值为0

第二个分片报文,偏移量值为上一个分片报文的(偏移量+携带的数据长度)

⑧TTL(time to live):生命周期(8)可以防止一个数据包在网络中无限循环的转发下去,每经过一个三层设备 -1,当TTL的值为0时,该数据包将被丢弃 0-255 。(注意经过二层设备不减)

⑨Protocol : 协议号(8)封装的上层哪个协议,ICMP:1 TCP:6 UDP:17

⑩Header Checksum:首部校验和(16),校验头部完整性,这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为一些字段如生存时间、标志、片偏移等可能发生变化)

源地址(32):源ip地址,表示发送端的IP地址

目标地址(32):目标ip地址,表示接收端的IP地址

Options:可选项,选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据

相关推荐
折哥的程序人生 · 物流技术专研7 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky7 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238567 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白667 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
专注VB编程开发20年7 小时前
c#Modbus上位机开发-一次读10个地址和100个地址速度一样
网络·网络协议·tcp/ip
2401_834636998 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
爱喝水的鱼丶8 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
aosky9 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器9 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz10 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习