UDP报头、TCP报头、IP报头、MAC头部、ARP头部

news2024/12/29 13:11:00

前言:DUP报头、TCP报头、IP报头、MAC头部、ARP头部。

UDP报头: 

UDP报头由八个字节组成,每个字段都是两个字节 :

1.源端口号:发送方端口号,需要对方回信的时候选用,不需要对方回信的时候置0

2.目的端口号:接收方端口号在终点交付报文时需要用到

3.长度:UDP用户数据报的长度,最小值是8(仅有首部)

4.校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

TCP报头:

TCP报头20个字节组成 :

1.源端口号:发送方端口号

2.目的端口号:接收方端口号

3.序列号:本报文段的数据的第一个字节的序号

4.确认序号:期望收到对方下一个报文段的第一个数据字节的序号

5.首部长度(数据偏移):TCP报文段的数据起始处距离TCP报文段的起始处有多远,即首部长度。单位:32位,即以4字节为计算单位。

6.保留:占6位,保留为今后使用,目前应置为0

7.紧急URG: 此位置1,表明紧急指针字段有效,它告诉系统此报文段中有紧急数据,应尽快传送

8.确认ACK: 仅当ACK=1时确认号字段才有效,TCP规定,在连接建立后所有传达的报文段都必须把ACK置1

9.推送PSH:当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。在这种情况下,TCP就可以使用推送(push)操作,这时,发送方TCP把PSH置1,并立即创建一个报文段发送出去,接收方收到PSH=1的报文段,就尽快地(即“推送”向前)交付给接收应用进程,而不再等到整个缓存都填满后再向上交付

10.复位RST: 用于复位相应的TCP连接

11.同步SYN: 仅在三次握手建立TCP连接时有效。当SYN=1而ACK=0时,表明这是一个连接请求报文段,对方若同意建立连接,则应在相应的报文段中使用SYN=1和ACK=1.因此,SYN置1就表示这是一个连接请求或连接接受报文

12.终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已经发送完毕,并要求释放运输连接。

13.窗口:指发送本报文段的一方的接收窗口(而不是自己的发送窗口)

14.校验和:校验和字段检验的范围包括首部和数据两部分,在计算校验和时需要加上12字节的伪头部

15.紧急指针:仅在URG=1时才有意义,它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),即指出了紧急数据的末尾在报文中的位置,注意:即使窗口为零时也可发送紧急数据

16.选项:长度可变,最长可达40字节,当没有使用选项时,TCP首部长度是20字节

IP报头:

 IP报头20-60个字节组成:

  1. 版本:IP协议的版本。通信双方使用过的IP协议的版本必须一致,目前最广泛使用的IP协议版本号为4(即IPv4 )
  2. 首部长度:单位是32位(4字节)
  3. 服务类型:一般不适用,取值为0
  4. 总长度:指首部加上数据的总长度,单位为字节
  5. 标识(identification):IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段
  6. 标志(flag):目前只有两位有意义。
  • 标志字段中的最低位记为MF。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
  • 标志字段中间的一位记为DF,意思是“不能分片”,只有当DF=0时才允许分片
  1. 片偏移:指出较长的分组在分片后,某片在源分组中的相对位置,也就是说,相对于用户数据段的起点,该片从何处开始。片偏移以8字节为偏移单位。
  2. 生存时间:TTL,表明是数据报在网络中的寿命,即为“跳数限制”,由发出数据报的源点设置这个字段。路由器在转发数据之前就把TTL值减一,当TTL值减为零时,就丢弃这个数据报。
  3. 协议:指出此数据报携带的数据时使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程,常用的ICMP(1),IGMP(2),TCP(6),UDP(17),IPv6(41)
  4. 首部校验和:只校验数据报的首部,不包括数据部分。
  5. 源地址:发送方IP地址
  6. 目的地址:接收方IP地址

MAC头部:

 1.CRC、PAD 在组包时可以忽略

ARP头部:

  1. Dest MAC:目的MAC地址
  2. Src MAC:源MAC地址
  3. 帧类型:0x0806
  4. 硬件类型:1(以太网)
  5. 协议类型:0x0800(IP地址)
  6. 硬件地址长度:6
  7. 协议地址长度:4
  8. OP:1(ARP请求),2(ARP应答),3(RARP请求),4(RARP应答)

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

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

相关文章

[LeetCode复盘] LCCUP‘23春季赛组队赛 20230507

[LeetCode复盘] LCCUP23春季赛组队赛 20230507 一、本周周赛总结1. 符文储备1. 题目描述2. 思路分析3. 代码实现 2. 城墙防线1. 题目描述2. 思路分析3. 代码实现 3. 提取咒文1. 题目描述2. 思路分析3. 代码实现 4. 生物进化录1. 题目描述2. 思路分析3. 代码实现 5. 与非的谜题…

HNU-操作系统OS-实验Lab3

OS_Lab3_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 了解虚拟内存的Page Fault异常处理实现了解页替换算法在操作系统中的实现 实验内容 本次实验是在lab2的基础上,借助于页表机制…

【python数据分析】运算符与表达式

🙋‍ 哈喽大家好,本次是python数据分析、挖掘与可视化专栏第三期 ⭐本期内容:运算符与表达式 🏆系列专栏:Python数据分析、挖掘与可视化 👍保持开心,拒绝拖延,你想要的都会有&#x…

车载软件架构——闲聊几句AUTOSAR BSW(四)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 我们并不必要为了和谐,而时刻保持通情达理;我们需要具备的是,偶尔有肚量欣然承认在某些方面我们可能会有些不可理喻。该有主见的时候能掷地有声地镇得住场…

iOS 对https App内部的http请求进行白名单设置

苹果从iOS9开始要求应用使用Https链接来对请求进行加密,来保证数据的安全.如果使用http请求将会报错,当然,如果你想继续使用http请求,有两种方式: 1.使用ASIHttpRequest来请求,ASI是使用CFNetwork来处理请求的,更底层些,避开了苹果的限制 2.在Info.plist文件设置如下 <key…

Docker安装常用软件-Apollo(有问题)

零&#xff1a;apollo概念介绍 官网网站&#xff1a;GitHub - apolloconfig/apollo: Apollo is a reliable configuration management system suitable for microservice configuration management scenarios. gitee网址&#xff1a;mirrors / ctripcorp / apollo GitCode …

自学软件测试简历没项目写怎么办?

目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程&#xff0c;其目的在于检验…

Python:Python进阶:Python字符串驻留技术

Python字符串驻留技术 1.什么是字符串驻留2. 为什么要驻留字符串3. Python的字符串驻留4. Python 字符驻留原理4.1 如何驻留字符串4.2 如何清理驻留的字符串 5. 字符串驻留的实现5.1. 变量、常量与函数名5.2 字典的键5.3 任何对象的属性5.4 显式地驻留 6 字符串驻留的其他发现 …

MySQL --- DML

接下来学习第二个部分&#xff1a;根据页面原型以及需求进行相关功能的开发&#xff0c;进而完成数据库的操作。 学习数据库的DML操作 3. 数据库操作-DML-insert&#xff0c;update,delete DML DML英文全称是Data Manipulation Language(数据操作语言)&#xff0c;用来对数据…

176_工具_Power BI 实用工具 pbi-utils 更新至 v1.0.3.1

176_工具_Power BI 实用工具 pbi-utils 更新至 v1.0.3.1 pbi-utils 更新至&#xff1a;v1.0.3.1, 从 v1.0.0.0 到 v1.0.3.1 更新了 8 次。 文档地址&#xff1a;https://jiaopengzi.com/2880.html 主要功能&#xff1a; 快速设置 Power BI 模板&#xff0c;实现高复用。设计…

【大数据基础】Spark+Kafka构建实时分析Dashboard

https://dblab.xmu.edu.cn/post/spark-kafka-dashboard/ https://dblab.xmu.edu.cn/post/8116/ 实验环境准备 Kafka安装 访问Kafka官方下载页面,下载稳定版本0.10.1.0的kafka.此安装包内已经附带zookeeper,不需要额外安装zookeeper.按顺序执行如下步骤: cd ~/下载 sudo tar …

《Markdown编辑器》的使用

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

Simulink 自动代码生成电机控制:方波高频注入仿真到代码生成开发板演示

目录 前言 方波高频注入仿真 生成代码开发板运行 总结 前言 最近换了一个小电机&#xff0c;于是尝试了一下方波高频注入的仿真到代码生成的实验&#xff0c;正弦波注入的方式已经实现 STM32 Simulink 自动代码生成电机控制——脉振高频注入_高频注入代码_卡洛斯伊的博客-…

【Linux】进程信号(下)

文章目录 1.信号处理相关问题内核态与用户态概念的理解为什么要有 用户态和内核态CR3寄存器的使用信号处理的整体过程 1.信号处理相关问题 信号处理&#xff0c;不是可以立即处理的&#xff0c;而是在合适的时候 不懂点击: 信号的产生第三点 什么时候是合适的时候&#xff1f;…

Android Studio下载及安装和Gradle的配置

文章目录 下载安装双击打开exe文件 修改Sdk的位置创建项目修改Gradle的位置 下载 下载地址&#xff1a;官方下载地址 打开后往下拉&#xff0c;直到最后的I agree to the terms. 这里选择的android studio版本是&#xff1a;2021.2.1.16&#xff0c;也可以根据自己的需要下载…

语义分割总结

文章目录 0. 前言1. 数据集2. 经典网络2.1 FCN2.2 U-Net2.3 DeepLab2.4 PSPNet2.5 SegNet2.6 CCNet2.7 SegFormer 3. 损失函数4. 评价指标5. 最新进展&#xff08;2023.4&#xff09; Segment Anything 0. 前言 语义分割是一种计算机视觉领域的图像分割技术&#xff0c;旨在将…

校内赛WP

Web题目镜像如下&#xff1a; docker pull lauaiwin/hzuctf-flaskrce:latest docker pull lauaiwin/hzuctf-ezphp:latest docker pull lauaiwin/hzuctf-babysql:latest docker pull lauaiwin/hzuctf-sign:latest docker pull lauaiwin/hzuctf-ezupload:latestWeb-签到 通过loc…

sentinel 随笔 2-降级处理

0. 像喝点东西&#xff0c;但不知道喝什么 先来段源码&#xff0c;看一下 我们在dashboard 录入的降级规则&#xff0c;都映射到哪些字段上 package com.alibaba.csp.sentinel.slots.block.degrade;public class DegradeRule extends AbstractRule {public DegradeRule(String…

Spring的第十二阶段(03):Spring实现AOP的简单使用

1、获取拦截方法的返回值和抛的异常信息 获取方法返回的值分为两个步骤&#xff1a; 1、在返回值通知的方法中&#xff0c;追加一个参数 Object result 2、然后在AfterReturning注解中添加参数returning“参数名” 获取方法抛出的异常分为两个步骤&#xff1a; 1、在异常通…