ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

IP首部学习

2021-11-29 18:34:57  阅读:155  来源: 互联网

标签:字节 比特 首部 IP 学习 分片 32


一. 概述

  在数据链路层中,通过MAC地址进行通信,每种数据链路的最大传输单元(MTU)都不尽相同. 而在网络层通过IP地址来进行通信.  鉴于IP层属于数据链路层的上一层,它必须不受限与不同数据链路的MTU大小.  可以说,IP抽象化了底层的数据链路. 

 

二. IP报文的分片与重组

  IP报文为什么要进行分片,如何分片? 下面举例来说明.

  如在以太网中,默认的MTU是1500字节, 如果是要传输4342字节的IP数据报就无法在一个帧当中发送完成.  这时,路由器将此IP数据报划分成3个分片进行发送. 

而这种分片处理只要路由器认为有必要,会周而复始的进行(分片以8个字节的倍数为单位进行).

  经过分片之后的IP数据报在被重组的时候,只能由目标主机进行.  路由器虽然做分片但不会进行重组. 

三. IPv4首部

  通过IP进行通信时,需要在数据的前面加入IP首部心形.  IP首部中包含着用于IP协议进行发包控制时所要的必要信息.  

  包含以下信息:  

  1. 版本          由4比特组成,表示标识IP首部的版本号. IPv4的版本号即为4. 
  2. 首部长度    由4比特构成,表明IP首部的大小,单位为4字节(32比特).对于没有可选项的IP包,首部长度则设置为“5”. 也就是说,当没有可选项时,IP首部的长度为20字节(4*5=20).
  3. 区分服务(type of service).  由8比特构成,用来表明服务质量.
  4. 总长度 表示IP首部与数据部分合起来的总字节数. 该字段长16比特.  因此IP包的最大长度为65535(2的16次方)字节.
  5. 标识(ID) 由16比特构成,用于分片重组.同一个分片的标识值相同,不同分片的标识值不同.  通常,每发送一个IP包,它的值也逐渐递增.  此外,即使ID相同,如果目标地址,源地址或者协议不同的话,也会被认为是不同的分片.
  6. 标志(flags) 由3比特构成. 标识包被分片的相关新.
    • 比特0表示未使用.  
    • 比特1指示是否进行分片,0-可以分片,1-不可以分片.  
    • 比特2表示包被分片的情况下,表示是否为最后一个包,0-最后一个分片的包,1-分片中段的包.
  7. 片偏移 (FO:fragment offset) 由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置. 
  8. 生存时间 (TTL: time to live) 由8比特构成, 它最初的意思是以秒为单位记录当前包在网络上应该生存的期限. 然而,在实际中它是指可以中转多少个路由器的意思. 每经过一个路由器,TTL会减少1,直到变成0则丢弃该包(TTL占8位,因此可以表示0~255的数字.因此一个包的中转路由的次数不会超过2的8次方256个,由此可以避免IP包在网络内无限传递的问题).
  9. 协议 由8比特构成,表示IP首部的下一个首部隶属于哪个协议.  如属于TCP,UDP,还是ICMP等可以在这个字段来指定.
  10. 首部校验和   16比特(2字节)构成. 该字段只校验数据报的首部,不校验数据部分.  它主要用来确保IP数据报文不被破坏.
  11. 源地址     32比特(4字节)构成,表示发送端IP地址.
  12. 目标地址  32比特(4字节)构成,表示接收端IP地址.
  13. 可选项   长度可变,通常指在进行实验或诊断时使用. 包括以下信息: 安全级别,源路径,路径记录,时间戳.
  14. 填充(padding) 也称作填充物.  在有可选项的情况下,首部长度可能不是32比特的整数倍. 为此,通过向字段填充0,调整为32比特的整数倍.
  15. 数据    存入数据.  将IP上层协议的首部也作为数据处理.

 

 

标签:字节,比特,首部,IP,学习,分片,32
来源: https://www.cnblogs.com/sunnydaybyday/p/15620656.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有