以太网收发及TSN概述

news2024/11/16 5:28:19

一、概述

TSN(Time-Sensitive Networking)时间敏感网络,即在非确定性的以太网中实现确定性的最小时间延时的协议族,是IEEE 802.1工作组中的TSN工作组开发的一套协议标准,定义了以太网数据传输的时间敏感机制,为标准以太网增加了确定性和可靠性,以确保数据实时、确定和可靠地传输。

TSN是符合IEEE802.1Q标准的VLAN,在标准的以太帧中插入4个字节长度的VLAN tag。TSN通过VLAN tag中的PCP(Priority Code Point)和VID(VLAN ID)定义流的不同优先级。

 

TSN VLAN tag各字段的含义如下:

1)Tag Protocol Indentifier:16bit长度,标签协议识别,标识TSN网络,数值为0X8100。

2)Priority Code Point:3bit长度,优先级代码,标识流量优先级,3位PCP定义了8个优先级,传输类型对应关系参见:

表1:TSN优先级与传输类型的对应关系

3)Drop Eligible Indicator:1bit长度,丢弃标识位,对于低QoS要求的数据可置位,网络拥塞时可丢弃,以确保高优先级数据的QoS。

4)VLAN Identifier(VID):12bit长度,VLAN网络的识别号。VID=0用于识别帧优先级,VID=FFF作为预留,其余值用于标识VLAN。

TSN需要硬件的支持配合才能实现,不能单纯在软件中实现,需要硬件来加速。TSN主要用于解决以太网网络的确定性及QoS问题

1.1 TSN的组成

TSN主要由5部分组成:时间同步、延时控制、安全、可靠性、资源管理,其中每个部分所包含的协议组成如下:

 其中已发布的标准如下:

部分继承AVB的标准(Referred to AVB standards)如下:

 以上部分不是所有协议都需要去了解,我们只需要学习一些关键的协议标准:

  • 802.1 AS——时间同步协议

  • 802.1 Qbv——时间感知整形器(Time Aware Shaper)

  • 802.1 Qav——基于信用的整形器(Credit Based Shaper)

其中流量整形(Qbv、Qav)用于控制通信的带宽和延时,Qbv用于塑造每种流量类的时隙,Qav用于限制每种流量类的带宽(解决突发问题)。

那么,在以太网的接受和发送过程中,TSN在其中充当怎样的角色,又是如何工作的呢?下面讲述一下关键协议在收发过程中充当的角色。

1.2 接收过程简述

1.3 发送过程简述

发送过程如下图所示。在单port发送过程中,Tx队列数量=DMA通道数量,因此DMA通道ID与队列ID是一一对应的,DMA0对应的队列0,以此类推。在队列中,通过MTL_Txn_Operation_Mode寄存器将一个队列映射到一个流量类,可以将一个或多个队列映射到一个流量类,8个队列,因此最多对应8个流量类。通过MTL_TCn_Quantum_Weight寄存器来编程每个流量类所需的带宽。

DMA的发送与接收都需要仲裁,根据DMA的通道号不同而确定,执行的是固定优先级仲裁,以下是发送的DMA通道优先级方案。

注:WRR加权循环仲裁针对的是多通道DMA。

可以为所有队列禁用CBS算法,也可以为一部分较低优先级的队列禁用CBS算法(注:要禁用就禁用更低id号的优先级队列,即不能在比禁用的这个优先级队列id更低的id队列中启用的情况),禁用CBS算法的通道默认使用SP算法,通过配置,也可以配置为WRR算法。

1.4 算法类型简述

  • 1)基于信用的整形算法——credit-based shaper algorithm(CBS):Qav中的算法,可用于传输通道

      基于信用的整形算法,传输条件为:队列包含多个数据包、队列的信用是正的。

  • 2)严格的优先级算法——Strict priority algorithm(SP):Qav中的算法,可用于传输通道

  • 3)加权循环仲裁算法—— Weighted Round Robin arbitration(WRR):以太网中的DMA仲裁

未完待续。。。

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

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

相关文章

探析青少年口才训练在个人发展中的重要性与影响

论文题目:探析青少年口才训练在个人发展中的重要性与影响 摘要: 本论文旨在探讨青少年口才训练对个人发展的重要性和影响。通过对相关文献的综述和实证研究的分析,论文将阐述口才训练对青少年自信心、表达能力和思维能力的提升,以…

常见分布式ID解决方案总结:数据库、算法、开源组件

常见分布式ID解决方案总结 分布式ID分布式ID方案之数据库数据库主键自增数据库号段模式Redis自增MongoDB 分布式ID方案之算法UUIDSnowflake(雪花算法) 雪花算法的使用IdWorker工具类配置分布式ID生成器 分布式ID方案之开源组件uid- generator(百度)Tinyid(滴滴&…

Leetcode.1559 二维网格图中探测环

题目链接 Leetcode.1559 二维网格图中探测环 rating : 1838 题目描述 给你一个二维字符网格数组 g r i d grid grid ,大小为 m x n ,你需要检查 g r i d grid grid 中是否存在 相同值 形成的环。 一个环是一条开始和结束于同一个格子的长度 大于等于…

Java基础(四)

循环结构 1. while循环 循环变量初始化 while (循环条件){循环体; }循环条件是一个布尔类型的表达式,他的值为 true 时执行循环体,如果为 false 时终止循环体。while 循环是先判断条件是否成立,再决定是否执行循环体。如果第一次循环时&…

【APITable】教程:创建并运行一个自建小程序

1.进入APITable,在想要创建小程序的看板页面点击右上角的【小程序】,进入小程序编辑页面。 2.创建一个新的小程序区。 点击【 添加小程序】 点击创建小程序,选择模板,输入名字。 3.确定后进入小程序部署引导页面。 4.打开Xshell 7…

06-3_Qt 5.9 C++开发指南_多窗体应用程序的设计(主要的窗体类及其用途;窗体类重要特性设置;多窗口应用程序设计)

文章目录 1. 主要的窗体类及其用途2. 窗体类重要特性的设置2.1 setAttribute()函数2.2 setWindowFlags()函数2.3 setWindowState()函数2.4 setWindowModality()函数2.5 setWindowOpacity()函数 3. 多窗口应用程序设计3.1 主窗口设计3.2 QFormDoc类的设计3.3 QFormDoc类的使用3.…

Win10语言设置 - 显示语言和应用语言

前言 Win10的语言设置可以设置显示语言和应用语言。其中,显示语言用于显示系统文字;应用语言用于应用程序显示文字。下文介绍如何设置。 显示语言 打开系统设置,选择时间和语言,如下图: 修改Windows显示语言即可更…

开源数据库Mysql_DBA运维实战 (名词解释)

SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。 SQL语言分类: DDL语句 数据库定义语言:数据库、表、视图、索引、存储过程…

CentOS7安装JDK8(实操版 | 源码安装和yum安装)

😊 作者: Eric 💖 主页: https://blog.csdn.net/weixin_47316183?typeblog 🎉 主题:CentOS7安装JDK8(实操版 | 源码安装和yum安装) ⏱️ 创作时间: 2023年08月04日 …

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

目录 一、SpringBootApplication 二、SpringBootConfiguration 三、EnableAutoConfiguration 四、ComponentScan 一、SpringBootApplication SpringBootApplication是Spring Boot框架的核心注解之一,它用于标识一个主配置类,通常是项目的入口类。该…

Titanic细节记录一

目录 chunker header index_col names Series与DataFrame的区别 df.columns del和drop的区别 reset_index loc与iloc的区别 不同的排序方式 sort_values sort_index DataFrame相加 describe函数查看数据基本信息 查看多个列的数据时使用列表 处理缺失值的几种思路 …

Adjusted frame length exceeds 1677216:16777318-discarded

问题背景 消息队列的nameser和broker运行后,在console无法显示,进入broker.log,namesrv.log 显示如下报错Adjusted frame length exceeds 1677216:16777318-discarded 问题原因 经定位,rocketmq底层集群间使用netty通信&#…

多语言海外购物商城APP系统(java开源)快速搭建

搭建一个多语言海外购物商城APP系统需要考虑以下几个方面:系统设计、技术架构、多语言支持和快速搭建。 一、系统设计: 1. 市场调研:了解海外购物市场的特点和需求,确定目标用户群体。 2. APP功能设计:根据市场需求&a…

【Axure高保真原型】JS版日期区间下拉选择器

今天和大家分享JS版日期区间下拉选择器的原型模板,该模板通过调用浏览器的下拉列表,所以可以获取真实的日历效果,具体包括哪一年二月份有29天,几号对应星期几,都是真实的。建议使用谷歌浏览器来演示,其他浏…

leetcode 399-除法求值

法一:并查集 分析示例1: a / b 2.0 a/ b 2.0 a/b2.0,说明 a 2 b a2b a2b, a a a和 b b b在同一个集合中 b / c 3.0 b/c3.0 b/c3.0,说明 b 3 c b3c b3c, b b b和 c c c在同一个集合中 求 a / c a/…

C++ Primer(第5版) 全书重点学习笔记

目录 第12章 动态内存 12.1 动态内存与智能指针 12.1.6 weak_ptr 12.2 动态数组 12.2.1 new和数组 12.2.2 allocator类 第12章 动态内存 12.1 动态内存与智能指针 12.1.6 weak_ptr weak_ptr是一种不控制所指向对象生存期的智能指针,它指向由一个shared_pt…

微信小程序申请步骤

微信公众平台链接:https://mp.weixin.qq.com/ 1、进到微信公众平台,点一下“点击注册”,挑选账号申请种类“小程序”,填好微信小程序用户信息,包含电子邮箱、登陆密码等。 2、微信公众平台会发送一封电子邮件&#xf…

监控Elasticsearch的关键指标

Elasticsearch 的核心职能就是对外提供搜索服务,所以搜索请求的吞吐和延迟是非常关键的,搜索是靠底层的索引实现的,所以索引的性能指标也非常关键,Elasticsearch 由一个或多个节点组成集群,集群自身是否健康也是需要我…

Linux网络服务之SSH

SSH 一、SSH概述1.1 定义1.2 SSH的优点1.3 OpenSSH1.3.1 定义1.3.2 SSH服务器-----sshd 二、SSH原理三、SSH登录方式3.1 方式一3.2 方式二3.3 方式三:跳板连接3.3.1 跳板连接概述3.3.2 具体配置 3.4 方式四:远程控制 四、服务端配置4.1 系统安全架构----…

企业内部wiki,让知识不再流于表面,让企业管理更加高效

企业内部wiki是一种基于wiki技术的内部知识管理平台,通常由企业自行搭建和维护,用于收集和整理企业内部的知识、经验和流程等信息。它可以帮助企业实现知识共享、协作和沟通,提高工作效率和团队协作能力。企业内部wiki还可以作为企业文化建设…