=======================================================================================
版本(Version)
-
占4位
-
0b0100:IPv4
-
0b0110:IPv6
首部长度(Header Length)
-
占4位,二进制乘以4才是最终长度
-
0b0101:20(最小值)
-
0b1111:60(最大值)
区分服务(Differentiated Services Field)
-
占8位
-
可以用于提高网络的服务质量(QoS,Quality of Service),这个了解即可
==============================================================================
总长度(Total Length)
-
占16位
-
首部 + 数据的长度之和,最大值是 65535
由于帧的数据不能超过1500字节,所以过大的IP数据包,需要 分片(fragments) 传输给数据链路层,每一片都有自己的网络层首部(IP首部)
================================================================================
标识(Identification)
-
占16位
-
数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识都是一样的
-
有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1
标志(Flags)
-
占3位
-
第1位(Reserved Bit):保留
-
第2位(Don’t Fragment):1代表不允许分片,0代表允许分片
-
第3位(More Fragments):1代表不是最后一片,0代表是最后一片
=============================================================================================
ping /?
查看ping的用法
ping ip地址 -l 数据包大小
发送指定大小的数据包(ping www.baidu.com -l 1400
)
ping ip地址 -f
不允许网络层分块 (ping www.baidu.com -l 2000 -f
)
通过 Wireshark 抓包查看 ping www.baidu.com
发送的包
通过 ping
命令,实际上发送了4次 ICMP数据包:
通过 Wireshark 可以证实:
==============================================================================
片偏移(Fragment Offset)
-
占13位
-
片偏移乘以8:字节偏移(wireshark显示的是字节偏移)
-
每一片的长度一定是8的整数倍
ping ke.qq.com -l 4000
以前可以往腾讯课程发长度为4000的数据包,现在似乎不行了。。
===============================================================================
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。**
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
[外链图片转存中…(img-n4MP3xbV-1710431530340)]