【杂记-浅谈以太网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地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/28550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化:让数据讲述故事

数据可视化:让数据讲述故事 引言 在信息爆炸的时代,数据无处不在。然而,数据本身并不直观,很难从中直接获取有价值的信息。数据可视化作为一种强大的工具,能够帮助我们揭示数据背后的故事,让我们以更直观…

Spring Boot顶层接口实现类注入项目的方法

1、背景 在项目中,我们通常会具有同一特性的业务类定义一个顶层接口,让业务类实现这个接口,通过接口规范来管理这些类。我们将这些实现接口的业务类交托给Spring容器接口后,有时候需要根据业务类型来选择动态选择对应的业务类阿里…

尚品汇-(二)

一:环境安装 1.安装JAVA 运行环境 第一步:上传或下载安装包 cd /usr/local jdk-8u152-linux-x64.tar.gz 第二步:解压安装包 tar -zxvf jdk-8u152-linux-x64.tar.gz 第三步:建立软连接(快捷方式) ln -…

SpringBoot配置第三方专业缓存技术Redis

Redis缓存技术 Redis(Remote Dictionary Server)是一个开源的内存中数据结构存储系统,通常用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,并提供了丰富的功能和灵活的…

4.1 初探Spring Boot

初探Spring Boot实战概述 Spring Boot简介 Spring Boot是一个开源的Java框架,由Pivotal团队(现为VMware的一部分)开发,旨在简化Spring应用程序的创建和部署过程。它通过提供一系列自动化配置、独立运行的特性和微服务支持&#…

类加载的初始化阶段的奥秘

一、概述 初始化阶段是类加载机制(加载,链接(验证,准备,解析),初始化)的最后一步。在准备阶段已经为类变量赋过一次值(默认为0或null)。在初始化阶段&#xf…

HTML和CSS基础(一)

前言 HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言。它由各种标签组成,这些标签定义了网页的结构和内容。HTML的早期形式诞生于1989年,由CERN的物理学家Tim Berners-Lee发明,最初用于在科学家之…

js 刷题常用方法

Object 对象共有 toString()valueOf()obj.keys()obj.values()obj.entries()for of 循环…扩展运算符Array.of()Array.from() 数组使用时 toString 返回以逗号分隔的字符串valueOf 返回数组本身 Array 数组 创建数组 Array.from(可迭代对象)Array.of(传入一组参数) let arr…

C语言 | Leetcode C语言题解之第160题相交链表

题目: 题解: struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {if (headA NULL || headB NULL) {return NULL;}struct ListNode *pA headA, *pB headB;while (pA ! pB) {pA pA NULL ? headB : pA->ne…

windows11 x64 23H2 企业纯净版2024.6.16

闲来无事试安装了下da_nao_yan的 【6月12日更新】Windows11 22631.3737企业版 23H2 自用优化版 (原版地址:https://bbs.pcbeta.com/viewthread-1985546-1-1.html),感觉比原版流畅多了,重新按照自己习惯封装了下&#x…

C++作业第四天

#include <iostream> using namespace std; class Per { private: string name; int age; int *high; double *weight; public: //构造函数 Per() { cout << "Per的无参构造" << endl; } Per(str…

Python获取一个列表的全组合

numList [1, 3, 5, 7, 9] from itertools import combinationsfor i in range(1, len(numList) 1): # xrange will return the values 1,2,3,4 in this loopprint(list(combinations(numList, i)))输出&#xff1a; [(1,), (3,), (5,), (7,), (9,)] [(1, 3), (1, 5), (1, 7)…

通讯的一些基本概念 -网卡 -网段 -网桥 -路由表

网卡&#xff08;Network Interface Card, NIC&#xff09; 网卡是安装在计算机或其他设备上的硬件组件&#xff0c;它允许设备通过有线或无线方式连接到计算机网络。网卡工作在OSI模型的数据链路层&#xff08;第二层&#xff09;和物理层&#xff08;第一层&#xff09;&…

排序——希尔排序

希尔排序实际上是插入排序的优化&#xff0c;所以要先介绍插入排序。 目录 插入排序 思想 演示 代码实现 总结 希尔排序 思想 演示 代码 总结 插入排序 思想 又称直接插入排序。它的基本思想是将一个值插入到一个有序序列中。直至将所有的值都插入完。 演示 假设数…

Web前端开发的过程:深入剖析与精彩演绎

Web前端开发的过程&#xff1a;深入剖析与精彩演绎 在数字化时代&#xff0c;Web前端开发作为构建用户界面的关键环节&#xff0c;其重要性不言而喻。这一过程涉及众多技术细节和创意构思&#xff0c;充满了挑战与机遇。本文将从四个方面、五个方面、六个方面和七个方面&#…

Java并发编程三大神器之Semaphore

Java并发编程三大神器之Semaphore 1、Semaphore是什么2、Semaphore小试牛刀3、Semaphore和CountDownLatch组合使用4、Semaphore常用方法5、Semaphore 结语 1、Semaphore是什么 Semaphore 是一个计数信号量&#xff0c;是JDK1.5引入的一个并发工具类&#xff0c;位于java.util.…

实验五:分枝限界法

实验五&#xff1a;分枝限界法 【实验目的】 应用分枝限界法的算法设计思想求解单源最短路径问题。 【实验内容与要求】 采用分支限界法编程求源点0到终点6的最短路径及其路径长度。 要求完成&#xff1a;⑴算法描述⑵写出程序代码⑶完成调试⑷进行过程与结果分析。 【实验…

logTrick

贴一下灵神的题解里面的解释~ 就是一种优化策略&#xff0c;logtrick class Solution { public:int minimumDifference(vector<int>& nums, int k) {int res 0x3f3f3f3f;int n nums.size();for(int i0;i<n;i){res min(res,abs(nums[i]-k));for(int j i-1;j&g…

编程0基础学难吗:深度剖析与实用指南

编程0基础学难吗&#xff1a;深度剖析与实用指南 编程&#xff0c;这个看似神秘而高深的领域&#xff0c;对于许多零基础的学习者来说&#xff0c;往往伴随着一系列的疑问和困惑。那么&#xff0c;编程零基础学习究竟难不难呢&#xff1f;本文将从四个方面、五个方面、六个方面…

算法题解记录28+++对称二叉树(百日筑基)

一、题目描述&#xff1a; 题目难度&#xff1a;简单 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 分割线 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,nul…