【杂记-浅谈以太网IP数据帧】

一、以太网数据帧

以太网数据帧是网络通信的基础单元,遵循IEEE 802.3标准,用于在以太网中传输数据。一个典型的以太网数据帧包括前导码、帧开始符、目的MAC地址、源MAC地址、类型或长度字段、数据载荷和帧校验序列。其中,类型字段指明了上层协议的种类,常见的类型值为0x0800代表IP协议帧,而类型字段为0x0806代表ARP协议帧。

二、IP首部

概念
IP首部是IP数据报的核心部分,它确定了数据报的格式和行为。IP首部固定部分通常为20字节,但在某些情况下可扩展到60字节。首部包含了版本、首部长度、区分服务、总长度、标识、标志、片偏移、生存时间(TTL)、协议、首部校验和、源地址和目的地址等关键字段。
内部
1、版本(Version):占用4位,指明了IP协议的版本,通常为IPv4。
2、首部长度(Header Length):占用4位,指明了首部的长度,单位为32位字,因此最小值为5(20字节),最大值为15(60字节)。
3、区分服务(Differentiated Services):占用8位,用于服务质量管理,但目前并不常用。
4、总长度(Total Length):占用16位,指明了整个IP数据报的长度,单位为字节,最大值为65535字节。
5、标识(Identification):占用16位,用于数据报分片和重组,每产生一个数据报,计数器加1,并将此值赋给标识字段。
6、标志(Flags):占用3位,其中最重要的位是DF(Don’t Fragment)位,表示不允许分片;MF(More Fragment)位表示后面还有分片。
7、片偏移(Fragment Offset):占用13位,表示该片在原数据报中的相对位置,以8字节为单位。
8、生存时间(Time To Live):占用8位,设置了数据报可以经过的最多路由器数,防止无限循环。
9、协议(Protocol):占用8位,指明了上层协议的类型,如TCP或UDP。
10、首部校验和(Header Checksum):占用16位,用于校验首部是否完整。
11、源地址(Source Address)和目的地址(Destination Address):各占用32位,分别指明了数据报的发送者和接收者的IP地址。

相关推荐

  1. 杂记-IP数据

    2024-06-17 07:10:02       7 阅读
  2. 杂记-VLAN技术】

    2024-06-17 07:10:02       8 阅读
  3. 杂记-MAC地址】

    2024-06-17 07:10:02       6 阅读
  4. IP 报头和报头

    2024-06-17 07:10:02       16 阅读
  5. 杂记-Internet、Intranet、Extranet】

    2024-06-17 07:10:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 07:10:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 07:10:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 07:10:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 07:10:02       20 阅读

热门阅读

  1. Android.mk的用法

    2024-06-17 07:10:02       5 阅读
  2. 2024.6.15 英语六级 经验与复盘

    2024-06-17 07:10:02       8 阅读
  3. 速盾:网站如何加上cdn?

    2024-06-17 07:10:02       6 阅读
  4. 22.2 正则表达式-数据验证、数据变换

    2024-06-17 07:10:02       6 阅读
  5. golang实现循环队列

    2024-06-17 07:10:02       8 阅读
  6. github基础使用

    2024-06-17 07:10:02       6 阅读
  7. QSharedMemory使用详解

    2024-06-17 07:10:02       7 阅读
  8. Qt 实战(4)信号与槽 | 4.3、信号连接信号

    2024-06-17 07:10:02       6 阅读
  9. 跨域资源共享(CORS)问题与解决方案

    2024-06-17 07:10:02       7 阅读
  10. wxml与标准的html的异同?

    2024-06-17 07:10:02       6 阅读
  11. 3.1. 马氏链-马氏链的定义和示例

    2024-06-17 07:10:02       6 阅读
  12. Android基础-JNI

    2024-06-17 07:10:02       6 阅读
  13. 一个简单的UDP客户端和服务端的完整C++示例

    2024-06-17 07:10:02       7 阅读