网络层协议(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一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
wuyk5553 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog3 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
琥珀色糖3 天前
SimlpeHttp
linux·服务器
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
第十人i3 天前
Linux 日志管理系统:journald 配置与优化
linux·服务器