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

相关推荐
阿里云大数据AI技术9 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
你好潘先生15 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术2 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
小猿姐2 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站3 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控