计算机网络11种协议报文格式

article/2025/10/13 22:23:11

文章目录

  • TCP
  • UDP
  • IP
  • IPV6
  • IPSec
  • 以太网帧结构
  • 802.1Q以太网帧结构
  • 802.11无线链路帧
  • SSL记录
  • RTP实时传输协议
  • OpenFlow流表
  • 参考

TCP

请添加图片描述

  1. 源端口号和目的端口号: 用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解
  2. 序号: 用于TCP重发时区分是第一次发送还是重发的TCP段,还可以在一次连接的范围防止重放攻击,不重数可以在很久时间防止重放攻击
  3. 重放攻击: 攻击者拿到加密片段重新发给服务器,比如我们加密了密码,但攻击者仍然可以在不破解我们密码情况下,可以拿我们加密的密码直接去登录我们账号,所以可以在加密的时候把我们的密码和一个不重数拼在一起再加密,所以我们的密码加密版本,每次都会不同
  4. 确认号: 和序号对应,指示发送确认号的一方下一次想接收的数据的序号,即接收方发送的确认号,表示接收方希望发送方下次发送数据的序号为确认号
  5. 首部长度: 4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以TCP首部最长为64字节,一般如果没有选项字段只有20字节
  6. 标志字段: 每个占1bit,SYN用于建立TCP连接,FIN用于终止连接,ACK用于确认收到,RST用于重置连接(相当于异常终止连接),PSH用于指示接收方尽快把数据交给上层,URG用于表示TCP报文段中有紧急数据,CWR和ECE用于明确拥塞通告
  7. 明确拥塞通告: 当路由器发现网络拥塞后设置IP数据报的ECN比特,接收方收到这个ECN比特的信息后,将TCP报文段上面的ECE比特置为1,然后发回给发送方,发送方收到ECE信息后,以减半拥塞窗口作为回应,并在下一次发送TCP报文段时把报文段上的CWR比特置为1,以告诉接收方拥塞窗口已减半
  8. 接收窗口: 用于流量控制,是表示接收方接收缓冲还能容纳多少数据,发送方发送时会以接收窗口和拥塞窗口之中最小的为滑动窗口来流水线式发送数据
  9. 因特网校验和: 16位,即两个字节,用于检测TCP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错
  10. 紧急数据指针: 紧急数据的最后一个字节由16比特的紧急数据指针字段指出

UDP

在这里插入图片描述

  1. 源端口号和目的端口号: 用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解
  2. 长度: UDP是一次性发送上层的数据,不会像TCP一样将上层的报文进行分段处理,16bit最多可以表示65535个字节,是首部加数据的长度,首部长度固定8字节
  3. 因特网校验和: 16位,即两个字节,用于检测UDP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错

IP

在这里插入图片描述

  1. 版本: 4比特,最多表示16,用来标识是IPv4,还是IPv6
  2. 首部长度: 4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以IP首部最长为64字节,一般如果没有选项字段只有20字节
  3. 服务类型: 用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好
  4. 数据报(包)长度: 16bit,理论上最多65535字节,但实际上很少超过1500字节,因为链路层的帧的负载一般最多1500字节(加上帧头最多1518字节,就是下面的以太网帧),IP数据包太长得分片
  5. 标识、标志、片偏移: 用于分片,标识号相当于TCP的序号,把包分片后给每个分片加一个标识,相邻的分片标识数差1,标志是为了指示接收方接收完成了,通常最后一个分片的标志比特设为0,其他的为1,片偏移相当于偏移量,用于指示该分片是在整个数据报的哪个位置,便于目的主机接收后重新组装
  6. 寿命: 8bit,最多255,IP数据报每经过一个路由器该字段减一,如果减为0,该数据报被丢弃
  7. 协议: 用于表示IP数据报要交给哪个上层运输层协议,值为6是TCP,值为17是UDP
  8. 首部检验和: 计算方式和上面一样,但是运输层首部检验和检验头和数据,IP只检验IP头,这样是为了提高转发效率
  9. 源和目的IP地址: 用于标识源主机和目的主机,而运输层的端口用于标识主机上面的进程

IPV6

在这里插入图片描述

  1. 版本: 4比特,最多表示16,用来标识是IPv4,还是IPv6
  2. 流量类型: 用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好
  3. 流标签: 用于区分不同的流,和流量类型作用类似
  4. 有效载荷长度: 16bit,最大65535字节,IPv6不会分片,表示是数据长度不包括IPv6头部,因为IPv6头部固定是40字节
  5. 下一个首部: 相当于IPv4的选项字段,把选项放在下一个首部里面,而且可以表示上层协议的首部在什么位置,相当于指示了上层协议,可以理解为把选项和IPv4的协议字段融合起来
  6. 跳限制: 和寿命一样,8bit,最多255跳
  7. 源和目的IP地址: IPv6地址为128位

IPSec

在这里插入图片描述

ESP(Encapsulation Security Payload): 封装安全性载荷
SPI(Security Parameter Index): 安全参数索引

IPsec是为了加密IP数据报,加密步骤如下:

  1. 在初始IPv4数据报(包括首部和数据)后面附加一个ESP尾部
  2. 使用算法和SA(Security Association) 安全关联规定的密钥加密第一步结果
  3. 在加密后的数据附加ESP首部
  4. 使用算法和SA规定的密钥为上述所有生成一个MAC(Message Authentication Code)报文鉴别码即ESP MAC
  5. 将该MAC放在尾部
  6. 重新生成一个IPv4首部,这个新IP首部的地址是安全通道两端的地址,先经过安全通道传输,后面解密后再把里面初始IP数据报拿出来传输

以太网帧结构

在这里插入图片描述

  1. 前同步码: 前7个字节的值都是10101010,最后一个字节的值是10101011,前7个字节用于唤醒接收适配器,将接收方时钟和发送方时钟同步,为什么会不同步呢,因为适配器会以10Mbps、100Mbps、10Gbps传输速率,所以时钟不同,第8个字节最后两个11告诉适配器重要的内容要来了
  2. 目的地址和源地址: 即MAC(Media Access Control)地址,占6个字节,如AA-AA-AA-AA-AA
  3. 类型: 相当于IP数据报头里面的协议,指示上层协议(网络层),网络层不只有IP协议
  4. CRC : 循环冗余检验,比检验和更加强的检测,即数据比特一直和一个特定二进制序列异或,最后剩下的二进制串就是CRC,虽然可以检测错误,并把错误帧丢弃,但是没有重发机制,无法提供可靠性服务

802.1Q以太网帧结构

在这里插入图片描述
大部分和上面一样,802.1Q是一种扩展以太网格式,用于跨越VLAN干线的帧,新加入了一个VLAN标签,VLAN标签由2字节的标签协议标识符,一个2字节的标签控制信息字段和一个3比特优先权字段

802.11无线链路帧

在这里插入图片描述

  1. 帧控制: 类型和子类型用于区分关联、RTS、CTS、ACK和数据帧,从(form)和到(to)AP字段用于定义不同地址字段的含义(这些含义随着自组织模式或者基础设施模式而改变,而且在使用基础设施模式时,也随着是无线站点还是AP在发送帧而变化),WEP字段指示了是否使用加密
  2. 持续期: 802.11无线网络中可以预约信道,用于表示预约时长,在数据帧和RTS即CTS帧都存储,RTS(Request to Send)请求发送帧,CTS(Clear to Send)允许发送帧,
  3. RTS和CTS处理隐藏终端 当站点监听到信道空闲,等待DIFS(Distributed Inter-Frame Space)分布式帧间间隔后发送RTS,在发送RTS后接收方等待SIFS(Short Inter-Frame Spacing)短帧间间隔后发送CTS,然后发送方收到该CTS,等待SIFS后发送数据,最后接收完数据后接收方等待SIFS后发送ACK
  4. 地址字段: 每个地址都是一个MAC地址,地址2是传输该帧站点的MAC地址,地址1是要接收该帧的无线站点的MAC地址,地址3是路由器接口MAC地址,地址4是AP(Access Point)接入点自组织模式中互相转发时使用的地址
  5. 有效载荷: 包含有效数据,最大为2312字节,通常小于1500字节
  6. CRC: 循环冗余校验

SSL记录

在这里插入图片描述
可以看我这篇文章 SSL
前三个字段不加密

  1. 类型: 指出该字段是握手报文还是包含应用数据的报文,也可以用于关闭SSL连接
  2. 版本: 版本字段是自解释的
  3. 长度: 长度字段用来从到达的TCP自己流提取SSL记录,SSL记录是在TCP的上层的

RTP实时传输协议

在这里插入图片描述

  1. 有效载荷类型: 7比特,对于音频流有效载荷类型字段用于指示音频编码类型如(PCM、适应性增量调制、线性预测编码),通过改变类型可以提高语音质量和减少RTP流比特率(相当于降低质量)
  2. 序号: 16比特,用于检测丢包和恢复分组序列,每发送一个RTP分组则该序号加1
  3. 时间戳: 反映RTP数据分组中的第一个字节采样时刻
  4. 同步源标识符: 表示RTP流的源,表示发送方的IP地址,而是新的流开始时源随机分片的一个数

OpenFlow流表

在这里插入图片描述
计算机网络各层协议和操作抽象成匹配加动作转发表,即匹配某些字段,进行某些操作,如网络层路由器路由表,匹配IP转发数据报,都可以抽象为流表

参考

《计算机网络 自顶向下》


http://chatgpt.dhexx.cn/article/A2d64tjj.shtml

相关文章

EndNote X8使用总结

本文记录在使用EndNote X8(Word2013)过程中遇到的一些问题,持续更新。 1.插入参考文献序号与文本的缩进问题 问题描述:在Word中使用EndNote插入参考文献后,在文末的参考文献出现文献序号与文本内容相距较大的情况&am…

EndNote20 安装方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Endnote是什么?二、安装步骤 1.安装库2.中文版总结 前言 管理文献工具是科研入门的一个必要学习方面。随着写作论文的增多,以及学习…

安装 EndNote X 9.3.3

下载 链接:https://pan.baidu.com/s/1d4njrGQUZQxE-VeSA_M1Zw 提取码:0226 安装 双击 .exe文件 不想安装在C盘的可以点击 Browse 自己设置一个路径,点击 OK 出现下图这一幕是因为我 office 打开着,只要把 wor…

Endnote操作

记录一下一些要点,以便之后毕设用到 1. 用endnote插入文献后,mathtype的公式显示域代码。word-文件-选项-高级 2.word中想修改endnote格式出现can not be formatted because it is no longer open. Please chose another document. word-endnote20-Too…

EndNote安装与使用

一、安装 1、双击ENX9Inst.msi安装 2、进入安装目录,使用CHS或ENG里的文件替换安装目录文件 CHS 中文版 ENG 英文版 二、软件优化 1、EndNote Import.enf 此文件用于导入中文文献时期刊名解析错误的问题,右击使用EndNoteX9打开后关闭即可 2、geebin…

EndNote X9导入文献的5种方式

上一篇介绍了EndNote X9下载与简介。 这里再介绍一下EndNote X9导入文献的5种方式,分别如下: 1. 从数据库网站导入参考文献 2. 在网页浏览中导入参考文献 3. 轻松导入本地参考文献 4. 在线检索导入参考文献 5. 手工添加参考文献信息 1. 从数据库网站导…

学习记录:关于如何安装EndnoteX9以及汉化过程

1、下载 Endnote X9安装包,并解压。 百度网盘地址: 链接:https://pan.baidu.com/s/1s1o81RVPsYIekr9as2M-kg 提取码:iw6h 2、 点击ENX9Inst.msi开始安装。 3、安装过程 Next accept Next accept、Next Typical、Next 可默认地址…

EndnoteX9下载并安装

Endnotex9 安装包链接链接:链接:https://pan.baidu.com/s/1lZYXIkZ-LjeHAH32DT4DmQ 提取码:yz2d 破解码:1、79SHT-UQFTD-FE94J-FRRBW-UDHXL 2、3VLXS-VVXSR-RMSJ7-AKURY-GPQFG 3、LTF3T-KJ778-RPRSC-8G4FN-5LWJN 4、3SF6V-TYK7C-…

Mac版本EndNote基本用法

NoteExpress在Mac上并未覆盖,转而探索了下Mac版EndNote基本用法: 以北京科技大学为例: 一、下载安装: 1.在校外访问学校VPN:http://n.ustb.edu.cn/。登录个人账号后,点击“电子资源数据导航”进入到学校图…

EndNote X9使用方法

要先下载,word里不自带 一、如何添加引用 1、打开EndNote x9。点击文件->新建,在弹出的对话框中选择一个地址,修改文件名,新建文献库。 新建之后的效果如图所示: 2、在谷歌学术、百度学术或知网上搜索自己需要的…

「Juc并发编程」什么是可重入锁?

「Juc并发编程」什么是可重入锁? 文章目录 「Juc并发编程」什么是可重入锁?一、概述二、解释三、可重入锁种类隐式锁同步块同步方法 显式锁 四、Synchronized的重入的实现机理 一、概述 可重入锁又名递归锁,是指在同一个线程在外层方法获取锁…

可重入锁和不可重入锁 ReentrantLock synchronize

http://blog.csdn.net/qq838642798/article/details/65441415 https://www.cnblogs.com/dj3839/p/6580765.html 用lock来保证原子性(this.count这段代码称为临界区) 什么是原子性,就是不可分,从头执行到尾,不能被其他…

到底什么是重入锁,拜托,一次搞清楚!

相信大家在工作或者面试过程中经常听到重入锁这个概念,或者与关键字 synchrozied 的对比,栈长面试了这么多人,80%的面试者都没有答对或没有答到点上,或者把双重效验锁搞混了,哭笑不得。。 那么你对重入锁了解有多少呢&…

重入锁-ReentrantLock

ReentrantLock 一.重入锁的特点1)实现重进入功能2)分为公平锁和非公平锁: 二.ReentrantLock和AQS的关系 一.重入锁的特点 1)实现重进入功能 重进入是指任意线程获取锁之后能够再次获取该锁而不会被锁阻塞 锁的获取和释放过程如下: 线程再次获取锁。锁…

详述重入锁-ReentrantLock

什么是重入锁? 锁主要用来控制多线程访问的行为,对于同一个线程,如果连续两次对同一把锁进行lock,那么这个线程会被卡死在那里,这样的特性很不好,在实际的开发中,方法之间的调用方式错综复杂&a…

进行LDPC编码时扔掉了前面2Zc的信息位,为何如此设计?在解码时如何恢复?

好久没发文章了,拿去年的周报水一篇吧。 其实我也不是研究LDPC的,就是之前被导师提过这个问题,就看了一阵子。下面进入正文—— LDPC基础概念 对于这个问题,还是需要对LDPC码有初步的了解,下面先由一个普通的规则LDPC…

基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...

基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)(开题报告,论文10700字,程序代码,录像) 摘 要 随着无线通信技术的不断发展与进步,数字电视广播、移动视频点播等对数据吞吐量要求很高的业务逐渐变得可能。为了在有限的带宽内用有限的发射功率保证信息在空间传…

ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码

ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码 1、ldpcMATLAB(ldpc编码的MATLAB例子,内容相对来说还是比较详细的。值得参考借鉴。) 2、LDPCmatlab(LDPC码的matlab实现,把解码的部分改过了&#xff…

通信算法之四十:5G NR LDPC编码译码性能仿真

1.码率1/5,增益14dB 2.码率1/12,增益17.8dB [ 相应MATLAB仿真代码。咨询qq:1279682290 ]

DVB-S2系统中LDPC译码器的实现 LDPC编码器的实现 FPGA DVB-S2、DVB-S2X LDPC 编码IP、LDPC译码 IP

DVB S2 LDPC 译码器.IP core IP Core特点: 1.全部代码由FPGA代码实现; 2.支持DVB-S2、DVB-S2X全部格式; 3.支持编码、译码; 4.支持标标准中16200、32400、64800三种帧长; 5.支持ACM、VCM、CCM模式,参…