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

相关推荐
静默追光8 分钟前
服务器——看门狗
linux·运维·服务器
nVisual17 分钟前
巡检任务与工单闭环方案
运维·服务器·数据库·数据中心基础设施
A-刘晨阳17 分钟前
低配N1也能搭家庭录像中心:Go2RTC与EasyNVR双容器实战
运维·云计算·cpolar
chen<>20 分钟前
网络 IO 多路复用万字深度详解:select/poll/epoll/io_uring
网络·select·epoll·io_uring
隔窗听雨眠37 分钟前
GitHub Actions自动化运维实战:从零构建一体化CI/CD流水线
运维·自动化·github
MXsoft61837 分钟前
国产智能运维平台如何选型?(国产智能运维平台哪家强?
运维
初圣魔门首席弟子1 小时前
TypeScript 类型系统完全指南:从基础到高级工具类型(知识库版)
linux·运维·ubuntu
CQU_JIAKE1 小时前
7.23[a]
linux·运维·服务器
想学好C++的oMen1 小时前
socket编程TCP
linux·网络·网络协议·tcp/ip
weixin_457340212 小时前
ssh 本地链接服务器地址和服务器查看本地地址
运维·服务器·ssh