首页 > 其他分享 >数据帧与IP数据包头

数据帧与IP数据包头

时间:2023-09-16 12:13:56浏览次数:30  
标签:协议 数据 IP MAC 分片 包头 数据包

帧的定义


 

帧是数据链路层的协议数据单元,报文在经过网卡添加目标MAC、FCS(帧校验序列)、源MAC和类型后成为帧

格式有802.3(无线网卡)和802.11(有线网卡) (IEEE协议)以太网标准:IEEE 802.3简介及各分类标准汇总_ieee802.3_Sigent_思佳科技-车载以太网的博客-CSDN博客

 

帧的结构


帧由帧头,帧尾以及上三层数据组成

·帧头:

包含目标MAC地址(MAC地址的组成:前24bit(厂商编号)+后24bit(厂商具体生产的网卡号) 一共 48bit(bit代表0或 1)

8个bit(位)为一个字节)、源MAC地址、类型(表示上层在处理数据时所用协议)

·帧尾:

FCS,帧校验序列是指特别的检测码字符被添加到在一个通信协议中的帧中进行检错和纠错。发送主机在整个帧中发送一个检测码。接收主机在整个帧中的检测码使用相同的运算法则,并将它与接收到的 FCS 相比较。以此来探测数据是否在运输中丢失或被改变。

·数据:

 包含上三层的数据,如用户发送的数据、IP数据包等

其中TCP协议和UDP协议来自传输层,分别应对不同情况

简略来说TCP为可靠的传输协议,TCP连接必须要经过三次“握手”才能建立起来     三次握手细则:深入浅出TCP三次握手 (多图详解) - 知乎 (zhihu.com)

UDP是不可靠的传输协议,传输数据之前源端和终端不建立连接

 一张很好用的图:

 

 

IP数据包


 结构:大部分IP数据包由版本、首部长度、优先级与服务类型、总长度、标识符、标志、段偏移量、TTL、协议号、首部校验和、源地址和目标地址组成,总共有20个字节

 

各部分作用


 

·版本号(4bit)

记录IP地址为IPV4还是IPV6

 

·首部长度(4bit)

记录包头长度(可以此推断有无可选项)

 

·优先级与服务类型(8bit)

按位被定义为 PPP DTRM0

PPP:定义包的优先级(值越大越重要)

000 普通 (Routine)
001 优先的 (Priority)
010 立即的发送 (Immediate)
011 闪电式的 (Flash)
100 比闪电还闪电式的 (Flash Override)
101 CRI/TIC/ECP
110 网间控制 (Internetwork Control)
111 网络控制 (Network Control)
Delay 时间延迟,0:普通 1:延迟尽量小
Throughput 吞吐量, 0:普通 1:流量尽量大
Reliability 可靠性, 0:普通 1:可靠性尽量大
Cost 传输成本,0:普通 1:成本尽量小
0 最后一位被保留,恒定为0

 

·总长度(16bit)

记录总长度,最大为1500字节(超过的数据将进行分片)

 

·标识符(16bit)

 区分不用IP数据包的分片数据

 

·标志(3bit)

共三位

000 需要分片且当前为最后一个分片

010 不需要分片

001 需要分片且还有后续分片

 

·段偏移量(13bit)

决定IP分片数据的先后顺序,只能是0或1480的倍数,第一个分片数据发送时偏移量为0, 用于重组数据包时靠偏移量来按顺序组合分片数据

 

·TTL(8bit)

范围为1-255,单位为跳数,数据包每经过一台路由器即为一跳,数值同时减一,当值为0时自动丢弃数据包,用于防止数据包在网络中永久的循环

Windows系统TTL一般为128,Linux系统TTL为1-128之间,通常为56,64(跳点跟踪命令:tracert IP地址)

 

·协议号(8bit)

区分上层协议;6代表TCP协议,17代表UDP协议

 

·首部校验和(16bit)

校验三层IP包头是否出错

 

·源地址(32bit)

记录主机地址

 

·目标地址(32bit)

记录接收数据包的目标主机地址

 

 

一图流:

 

标签:协议,数据,IP,MAC,分片,包头,数据包
From: https://www.cnblogs.com/gooder-hacker/p/17697933.html

相关文章

  • 数据定义语言
        ......
  • P2669 [NOIP2015 普及组] 金币
    题目背景NOIP2015普及组T1题目描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连......
  • 无涯教程-JavaScript - ROWS函数
    描述ROWS函数返回引用或数组中的行数。语法ROWS(array)争论Argument描述Required/OptionalArrayAnarray,anarrayformula,orareferencetoarangeofcellsforwhichyouwantthenumberofrows.Required适用性Excel2007,Excel2010,Excel2013,Excel......
  • 对厦门二手房的数据分析与可视化分析
    1、选题背景房价的迅速飞涨,即将毕业的我们,就要面对高昂的房价,虽然我们不能做出实际行动,但是除此之外我们还可以房价分析。利用科学的技术手段,洞察房价的趋势。本次项目选择了厦门城市,通过了解厦门市二手房的情况,可以帮助人们在购房、出租等方面做出更明智的决策。可以帮助人们了......
  • P1009 [NOIP1998 普及组] 阶乘之和
    题目描述用高精度计算出 S=1!+2!+3!+\cdots+n!S=1!+2!+3!+⋯+n!(n\le50n≤50)。其中 ! 表示阶乘,定义为 n!=n\times(n-1)\times(n-2)\times\cdots\times1n!=n×(n−1)×(n−2)×⋯×1。例如,5!=5\times4\times3\times2\times1=1205!=5×4×3×2×1=......
  • iPhone 15 Pro A17 Pro Geekbench 跑分曝光 性能接近 M1
    苹果刚刚发布了新一代的iPhone,其中包括iPhone15Pro和iPhone15ProMax。这两款新机型使用了全新的A17Pro晶片,这是首款使用3纳米制程技术打造的晶片。苹果先前已经确认,A17Pro的运算速度比上一代的A16Bionic快达20%。CPU比A16快10%iPhone15Pro的首批Geekbench结果也......
  • 无涯教程-JavaScript - OFFSET函数
    描述OFFSET函数返回对范围的引用,该范围是一个单元格或单元格范围中指定的行数和列数。返回的引用可以是单个单元格或单元格范围。您可以指定要返回的行数和列数。语法OFFSET(reference,rows,cols,[height],[width])争论Argument描述Required/OptionalReference......
  • Python中的​​display​​​函数 from IPython.display import display
    Python中的display函数通常与JupyterNotebook或其他交互式开发环境一起使用,用于显示各种类型的数据,包括文本、图像、音频、视频等。这个函数通常是由IPython.display模块提供的,主要用于创建富媒体输出,以便在笔记本中直观地呈现数据。以下是有关display函数的一些重要信息:导入模块:......
  • 安装R包相关的一些scripts – 备份
    1.options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")BiocManager::install("DESeq2",ask=F,update=F)该设置方式中镜像的作用域似乎只在当前session#解决依赖install.packages(c("curl","openssl"),ask=F,updat......
  • 基于CODESYS的数据跟踪
    概述CODESYS上位机编程软件支持Trace,也就是变量跟踪功能,用波形记录某个变量,在联机调试时可以使用波形来协助用户分析程序逻辑,帮助用户分析设备运行状态。下图中的Trace跟踪了4个变量,波形的横轴为时间,纵轴为变量值。基本配置鼠标右击设备的“Application”节点,弹出如下图所示的......