网络协议底层原理4——网络层

网络层

网络层数据包(IP数据包,Packet)由首部、数据2部分组成
数据:很多时候是由传输层传递下来的数据段(Segment)
在这里插入图片描述
在这里插入图片描述

1.网络层首部 - 版本、首部长度、区分服务
版本(Version):占4位
0b0100:IPv4
0b0110:IPv6

首部长度(Header Length):占4位,二进制乘以4才是最终长度
0b0101:20(最小值)
0b1111:60(最大值)

区分服务(Differentiated Services Field):占8位
可以用于提高网络的服务质量(QoS,Quality of Service)

2.网络层首部 - 总长度
总长度(Total Length):占16位
首部 + 数据的长度之和,最大值是 65535
在这里插入图片描述
由于帧的数据不能超过1500字节,所以过大的IP数据包,需要 分片(fragments) 传输给数据链路层,每一片都有自己的网络层首部(IP首部)

3.网络层首部 - 标识、标志
标识(Identification):占16位,数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识都是一样的
有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1

标志(Flags):占3位
第1位(Reserved Bit):保留
第2位(Don’t Fragment):1代表不允许分片,0代表允许分片
第3位(More Fragments):1代表不是最后一片,0代表是最后一片

4.ping 的几个用法、wireshark抓包
ping ip地址-l数据包大小 发送指定大小的数据包:ping www.baidu.com -l 800
ping ip地址-f 不允许网络层分片:ping www.baidu.com -l 800 -f
ping ip地址-i TTL 设置TTL的值
在这里插入图片描述
在这里插入图片描述
ping www.baidu.com -l 800测试
在这里插入图片描述
在这里插入图片描述
我们按照800字节数据ping域名,查看包数据,发现是828个字节
分析:800数据包 + 20包头 + 8ICMP头

ping www.baidu.com -l 4000
分析:按照帧数据不能大于1500来看,我们的这个4000数据量的包会被分成三分来发送,如下图
在这里插入图片描述
丢包有点高
在这里插入图片描述
第一个数据包1480数据+20包头
第二个数据包1480数据+20包头
第三个数据包1040数据+20包头+8 ICMP协议头
刚好4000数据发完
在这里插入图片描述
在这里插入图片描述

5.网络层首部 - 片偏移
片偏移(Fragment Offset):占13位
片偏移乘以8:字节偏移(wireshark显示的是字节偏移)
每一片的长度一定是8的整数倍
在这里插入图片描述

6.网络层首部 - 生存时间
生存时间(Time To Live,TTL):占8位
每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告
观察使用 ping 命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器
在这里插入图片描述
在这里插入图片描述
根据TTL追踪经过路由器:ping ip地址 -i TTL 设置TTL的值
通过 tracert、pathping 命令,可以跟踪数据包经过了哪些路由器

ping baidu.com -i 1 经过1次就消亡,显然由网关回复
在这里插入图片描述
通过 ping baidu.com -i 1、ping baidu.com - i 2、ping baidu.com -i 3 … 可以追踪发包到百度经过的路由器。
在这里插入图片描述
tracert 和 pathping 命令实际上更简单也可以追踪路由器:
tracerrt baidu.com
在这里插入图片描述
pathping baidu.com
在这里插入图片描述

7.网络层首部 - 协议、首部校验和
协议(Protocol):占8位
表明所封装的数据是使用了什么协议
在这里插入图片描述
首部校验和(Header Checksum):用于检查首部是否有错误
在这里插入图片描述

8.Wireshark 完整网络层首部
在这里插入图片描述
资料学习:小码哥教育
B站学习链接:网络协议学习
文章借鉴:网络协议从入门到底层原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅*默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值