计算机网络【IP数据包首部的各个字段详解】

这篇具有很好参考价值的文章主要介绍了计算机网络【IP数据包首部的各个字段详解】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 网络层简述

计算机网络【IP数据包首部的各个字段详解】
一个IP数据包的首部至少是20个字节!


二 网络层首部–版本,首部长度,区分服务,总长度

计算机网络【IP数据包首部的各个字段详解】


版本:
就是指出IP数据包是什么版本;常见的版本就是0100 IPV40110 IPV6


首部长度:
整个IP数据包的首部长度,不包括数据部分;
但是首部长度只用4个bit存储,表示最大值也是1111,即15;
而我们实际上首部长度还需要乘于5才可以得到实际答案;
假如首部长度为0101,也就是4,那么实际的首部长度为4×5=20;
假如首部长度为1111,也就是15,那么实际的首部长度为15×4=60;
常见的首部长度一般都是20字节,因为IP数据包至少需要20字节


区分服务:
整个字段主要是用来提高网络服务质量的,至于细节我们不用深究!举个例子描述以下它是如何提高网络服务质量的,比如说我们有一个客户端要给服务器发数据包,这中间过程需要经过路由器,而路由器接收到这个IP数据包时候,会检查它的首部字段的区分服务是否有设置什么值,这些值是可以提高网络服务的,比如可能会优先传送该IP数据包,大概就是这样!!!


总长度:

计算机网络【IP数据包首部的各个字段详解】

总长度表示IP数据包整个大小;
总长度占两个字节,也就是说有16个bit可以表示总长度,也就是说总长度的范围是0-65535数据范围;
但是我们知道网络层的数据包需要传输给数据链路层的帧数据部分,而数据链路层帧的数据部分长度不可以超过1500;也就是IP假如是65535那么大的话,是无法传输给数据链路层的帧部分的,那么我们就需要对IP数据包进行分片,拆分成小于1500的数据包再传输给数据链路层;至于如何分片,分片后如何找到那些片段是同一个数据包,传输过去后,如何正确的拼回原来的数据包都是未解决的问题。接下来都会讲到这几个问题。


三 网络层首部–标识,标志,片偏移

计算机网络【IP数据包首部的各个字段详解】
标识:
就是标识该数据包是某一个大的IP包的分片包,标识一样的数据包都是属于同一数据包的分片中的某一片;
比如有一个IP包很大:3800字节,很明显,传输给数据链路层是无法接收的,那么就需要分片,假设分了3片,那么这三片数据包的标识都是一模一样的,因为这三片数据包都是同一个大的IP数据包分片出来的;
标识的字段也解决了一个问题,就是分片后的数据包,是如何找回来的拼接成为原来的大IP数据包的问题


片偏移:
计算机网络【IP数据包首部的各个字段详解】
片偏移字段主要是说明:该数据包被分片后,相对于第一片偏移了多少个字节;
但是实际上我们在IP数据包看到的片偏移字段结果不是实际的结果,实际的结果还是需要片偏移的值×8,也就是字节偏移
如上图:我们IP数据包3800字节,被分了三片!
片偏移字段的主要作用是:说明该IP数据包是分片后的具体位置在哪一片中,根据片偏移可以一个一个的拼凑成一个完整的包,相当于拼会成原来大的IP数据包有了参考一样;
比如上图:当我们在服务器的网络层拿到了三个分片的IP数据包后,我们是可以根据每个包的标志位,和片偏移位组合成为一个完整的IP数据包!标志位相同说明上面三个分片都是同一个大的IP数据包分片出来的,偏移位标识拼接的顺序是怎么样,如何拼接才会保持数据顺序变;

有一个问题:为什么字节偏移需要用片偏移字段×8才可以得到实际的值呢?
其实很好想,因为片偏移只有13个bit去存放片偏移的信息,很明显13个bit存放的信息是有限的,所以我们了表示更多的信息,就需要×8才可以;


实际上:我们仅仅通过标识和片偏移是无法确定IP数据包是什么时候拼接结束的问题,我们拿到片偏移,只能确定拼接的顺序,而结束的标志却没有!
所以为了解决这个问题,我们的IP数据包首部字段中还是有一个比较重要字段:标志位

标志位:
标志位:占3个bit;
第一个bit我们通常作为保留位:直白一点就是基本不用这个位的信息,通常我们抓包见到都是0;
第二个bit表示不要分片的意思:也就是说,当我们看到第二个bit位置是1时候, 表示这个数据包不需要分片;为0时候就表示需要分片;通常该数据包过大时候需要分片那么该数据包的第二个bit就是为1;
第三个bit表示更多分片:直白点就是该位置为1时候,表示不是最后一片,为0时候就是最后一片数据包;
所以:我们在拼接数据包时候,我们是可以根据标志位的第三个bit位为0,就知道这个IP数据包时最后一片数据包了,当把这个数据包拼接过后,那么就表示大的IP数据包就完成了拼接;


四 网络层首部–生存时间,协议,首部检验和

我们先来看看协议字段
协议:
计算机网络【IP数据包首部的各个字段详解】
协议字段表示上一层传输下来的是什么协议!如上图,不同的值表示不同的协议;
假如说IP数据包数据部分,封装是TCP协议,那么就说明协议字段的值为6,假如为UDP,那么值为17;
抓个ICMP包看看,对于协议字段的值为1;也就是表面为上一层传下来是ICMP包
计算机网络【IP数据包首部的各个字段详解】


首部检验和:
其实这个字段没什么好说的就是检验你的包是否正确;


生存时间:
计算机网络【IP数据包首部的各个字段详解】
TTL一般是操作系统内定设置好的,每个操作系统的TTL的值都可能不一样!


五 可选字段,填充字段,源IP,目标IP,

可选字段一般都是在一个IP数据包头部的20个字节无法表达完整信息时候,才会使用它;
填充字段一般也是为了筹够20个字节的IP数据包的首部才会使用;
其实这个两个字段都不是很常见,也就是说,我们通常看到的IP数据包的首部这两个字段是五具体信息的!
源IP地址和目标IP地址,我们都很清楚,发数据包过去肯定需要这两个字段的信息。


六 总结

其实要学明白IP数据包的首部各个字段,最主要的是结合理论信息,通过手动抓包分析去理解各个字段!反正这写字段理解了就很容易记住!
而我并没有放抓包的信息的图,因为我觉得这个放上去可能信息有点乱,但是你们不会学习时候,必须自己抓包分析,这样才会理解深刻!
最后附上我自己花的IP数据包首部字段的图给你们!!!
计算机网络【IP数据包首部的各个字段详解】文章来源地址https://www.toymoban.com/news/detail-460023.html

到了这里,关于计算机网络【IP数据包首部的各个字段详解】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络笔记】Internet网络的网络层——IP协议之IP数据报的结构

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(54)
  • 【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)

    3.7.1 MAC地址 MAC地址(Media Access Control address)是网络设备(如网卡、无线网卡)在数据链路层上的唯一标识符。以下是有关MAC地址的一些要点: 描述:MAC地址是一个由48个二进制位(通常以十六进制表示)组成的全球唯一标识符,用于识别计算机网络中每个网络接口(NIC)的

    2024年02月13日
    浏览(51)
  • 计算机网络(2)从十六进制的ip数据报中得到详细字段信息

    本博文介绍如何将十六进制的ip报文拆分出具体的字段信息。社会计算机网络和网络协议分析的初学者参考(今天看了网络协议分析期末复习重点的最后一个大题,竟然一头雾水,然后快马加鞭翻阅各种资料,然后差不多学会 了) wireshark抓包: 我们看到ip字段是用 45 00 00 5

    2024年02月16日
    浏览(46)
  • 计算机网络---网络IP简介

    概述:每台计算机或路由器都有一个由授权机构分配的号码,称为IP地址。 IP地址的构成:网络号+主机号。其中,网络号用来标识一个逻辑网络,主机号用来标识网络中的一台主机。 (1)二进制表示法:直接用二进制表示,例如一个常见的32位的II地址10001010 00001011 00000011 0001111. (2)点分十

    2024年04月14日
    浏览(33)
  • 计算机网络-IP地址

    目录 子网划分 定长子网划分 子网划分的方法 子网掩码 可变长子网划分 无类别编址 网络前缀 路由聚合 特殊用途的IP地址 专用网络地址 链路本地地址 运营商级NAT共享地址 用于文档的测试网络地址 IP地址的规划和分配 IP地址的规划和分配方法 IP地址的规划和分配实例 从IP地

    2024年02月08日
    浏览(47)
  • 【计算机网络】IP协议

      目录 前言         IP协议 基本概念 IP协议格式 分片  16位标识 3位标志与13位片偏移 分片流程 网段划分 网络号和主机号 DHCP协议 CIDR划分方案 特殊的ip地址 ip地址数量限制 私有ip地址与公网ip地址 路由转发         我们前面讲了HTTP/HTTPS协议和TCP/UDP协议,分别对应四层

    2024年02月08日
    浏览(39)
  • 【计算机网络】网络层——详解IP协议

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 四位版本号:用来表示IP协议的版本,现有的IP协议只有两个版本,一个

    2024年01月20日
    浏览(52)
  • 计算机网络 01 IP地址

    01.IPV4和IPV4的表示方式(点分四组) 二进制表达 02.IPV6(十六进制表达) 计算理解:一个十六进制的数转化成为二进制 是 4位 128/4=32 ,一共用32个十六进制 简化书写IPV6 02. 03.IPV4转换成为IPV6 04.IPV6的低32位 05.在URL中使用IPV6 1. 2. 3.

    2024年04月09日
    浏览(83)
  • 计算机网络-IP地址解析

    局域网 是指一个较小范围内的计算机网络,由多台计算机、服务器、打印机、网络存储设备和其他网络设备组成,通过局域网,这些设备可以方便地进行数据通信和互相访问共享资源。局域网使用一些标准的网络协议来连接和管理网络设备,如TCP/IP、以太网等。我们大家理解

    2024年02月01日
    浏览(57)
  • 计算机网络 01 IP协议

    01.IP协议,也就是IP报文。 宏观: 首部长度:由于固定部分是20B,所以数值最小是5。 02.IP报文,中的IP地址,常见的是IPV4,也就是四个字节,32位。 常见的IP地址有三种: 第一种:四种分类地址 A类:网络号共8位,首位固定为 0,接下来连续的7位可以自由设定。从00000001-01

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包