Evita中规定的安全汽车车载电子网络架构

news2024/10/6 14:29:10

摘要

文章目的

安全需求

安全架构

硬件和软件分区

EVITA硬件安全模块

​编辑硬件接口

安全软件

部署

 摘要和展望

REFERENCES

摘要

        本文介绍了用于安全汽车车载网络的硬件和软件组件,为保护外部车辆通信提供基础。基于欧洲研究项目EVITA(http://evita-project.org)的工作,提供了一个框架,涵盖跨层安全,针对平台完整性、通信通道、访问控制、入侵检测和管理进行安全保护。

        提出了一个模块化的硬件/软件协同设计:硬件安全模块(HSM)提供了保护平台完整性、确保关键材料的完整性和保密性,并增强了加密操作,从而保护了架构的关键资产。为了提供具有成本效益的硬件解决方案,指定了三种不同的HSM变体:

  1. 用于保护外部通信接口的完整HSM
  2. 用于保护电子控制单元(ECU)之间车载通信的中型HSM
  3. 以及用于保护与传感器和执行器之间车载通信的轻型HSM

        软件框架提供与HSM交互的应用特定接口。在整个工作中,遵循了最小权限设计和分离原则等高级设计考虑。

文章目的

        基于车辆对车辆和车辆对基础设施(V2X)通信的汽车应用被认为是未来减少致命交通事故数量和智能交通管理的手段。然而,对实施这些功能的嵌入式IT系统和网络进行恶意攻击,以及对车辆和基础设施之间传输的消息进行恶意侵入,例如发送虚假消息和在无线网络上进行欺骗,可能会产生严重影响。因此,车载网络需要提供适当的安全措施,以防范恶意消息。敏感的车内数据必须是可信的,并且受到修改的保护。

        潜在攻击和相关的安全要求列表(1)作为设计安全车载架构的起点。根据风险级别对攻击进行了分类,以选择适当的保护级别。我们从安全要求(2)中推导出车内安全机制。安全功能在软件和硬件之间进行分割,成本和安全级别是主要的考虑标准。安全密钥的安全存储以及车内电子组件之间的安全和可信通信为车辆或基础设施服务之间的可靠数据交换奠定了基础。因此,我们将“信任根(“root of trust”)”放置在硬件安全模块中,作为车辆电控单元的芯片扩展实现。这使得能够可靠地实施特定于应用程序的安全属性,例如真实性、机密性或新鲜性,以及可靠的访问控制。

        本文的其余部分组织如下:在概述V2X和车载通信领域的相关工作并总结(1)中的安全要求之后,提出了安全架构。

        过去十年来,车辆通信领域取得了巨大的增长,然而还没有定义涵盖车载通信各个方面(数据保护、安全通信、应用程序的安全和防篡改执行平台)的综合性安全架构解决方案。另一方面,一些项目,如

GST, Global Systems for Telematics, EU FP6 project, http://www.gst-forum.org/、

C2C-CC, Car2Car Communication Consortium, http://www.car-to-car.org/、

IEEE WAVE, Wireless Access in Vehicular Environments, IEEE standard 1609.2.和

SeVeCOM SeVeCOM, Secure Vehicle Communication EU FP6 project, http://www.sevecom.org/关注的是车辆间通信,并提出了用于保护车辆对车辆和车辆对基础设施通信的安全架构。这些提案主要针对通信特定的安全需求,采用了基于主机的安全架构风格,因为攻击者被假设为在一个无法定义安全边界的网络中。

        例如,(7) 提出了C2C通信联盟的解决方案,集成了先前的方法(8)(15)(16)(17)用于安全的车辆通信。这些提案主要将汽车视为一个单一实体,使用安全协议与其他汽车进行通信。特别是,该架构依赖于复杂的安全后端基础设施(包括权威机构,尤其是实施PKI,例如用于伪名和身份管理)。这是为了保护车辆的身份,同时在需要时能够管理其标识符。然而,除了需要保护节点标识符之外,这些提案没有提出具体的执行平台要求:所有提案都提到车辆注册和加密材料等数据应以防篡改的方式存储。不幸的是,这个要求没有伴随对车辆内部数据完整性和身份验证可能面临的具体威胁的进一步分析,这可能会指导这种存储的设计。EVITA项目填补了这一空白,通过提供具有安全存储、受信任的执行环境以及硬件中的加密处理器和用于通信、身份验证、授权以及软件中的入侵检测和管理的安全框架,提供了一个车内平台。

安全需求

在最高级别上,涵盖的安全目标包括:

  1. 防止对车载通信网络的未经授权的篡改。
  2. 防止对车辆应用程序的未经授权的修改,尤其是涉及安全和移动商务应用。
  3. 保护车辆驾驶员的隐私。
  4. 保护车辆制造商和供应商的知识产权。
  5. 同时保持应用程序和安全服务的操作性能。

EVITA项目已经推导出以下一组安全需求和相关的功能需求,以满足上述安全目标(1):

  1. 电子安全相关数据的完整性/真实性:对于关键信息,基于对来源、内容和时间的完整性和真实性的保证,应该决定相应的行动。至少应能检测到这类信息的伪造、篡改或重放。
  2. ECU/固件安装/配置的完整性/真实性:对于车辆中的任何ECU及其固件或配置的更换或添加,应保证其在来源、内容和时间上的真实性。特别是对于新的安全算法、安全凭证或授权的上传应受到保护。
  3. 安全执行环境:ECU的受损不应导致系统范围的攻击,尤其是对于电子安全应用程序。成功的ECU攻击对于平台的分离和/或更可信任的区域应该具有有限的影响。
  4. 车辆访问控制:对于车辆数据和功能的访问应受到控制(例如诊断、资源等)。
  5. 可信的车载平台:应确保操作软件的完整性和真实性。如果需要,可以通过与可信参考的比较来防止以不可信的配置运行的修改后的平台。
  6. 安全的车内数据存储:应用程序应能够使用功能,以确保对车辆内部存储的数据的访问控制,以及数据的完整性、新鲜性和机密性,特别是个人信息和安全凭证。
  7. 某些车内和外部通信的机密性:应确保现有软件/固件以及更新和安全凭证的机密性。某些应用程序可能还需要对其内部或外部发送/接收的部分流量保持机密性。
  8. 隐私:应对存储在车辆内部或从车辆发送到外部的个人数据执行隐私策略。例如,某些应用程序应限制将发送的消息进行关联的能力。
  9. 安全功能的干扰:安全服务的操作不能对总线系统、CPU、RAM或无线介质的可用性产生负面影响。

上述要求是出于安全方面的考虑而产生的约束。如何满足这些约束在接下来的章节中进行描述。

安全架构

硬件和软件分区

在软件和硬件中对系统进行分区意味着在各种候选硬件架构上执行一组应用功能(包括与安全相关的功能)找到最佳解决方案(11)。这些架构通常建立在硬件节点上,例如CPU、总线、存储器、硬件加速器和传感器/执行器。选择最佳架构的标准通常包括硬件元件的成本、功耗、系统的执行时间或吞吐量,以及能够在不产生重大成本的情况下改变系统功能的能力。

在软件/硬件分区中,通常采用以下方法:描述应用程序功能、候选架构、将应用程序功能映射到架构,然后进行映射的模拟。通过分析模拟结果得到的跟踪,通常可以选择“最佳”架构。

我们使用了一个模型,其中包括硬件安全功能、软件安全功能、安全需求、攻击概率和风险,以及初步的协议定义。我们使用了名为TTool的软件(12)来实现这一目的,它使我们能够回答关于部署和设计决策的问题,并根据特定的安全需求为特定的车辆类型和模型量身定制软件和硬件安全架构。

EVITA硬件安全模块

下图展示了汽车HSM的一般架构。在满足(1)中的安全要求的基础上,选择了一种经济高效的HSM设计,提供足够的安全性和灵活性。在这种架构中,HSM位于与应用CPU核心相同的芯片中。

        HSM的组件分为必选和可选组件,因为根据使用情况,需要满足不同的安全需求。图1中用虚线表示可选组件。为了提供经济高效的硬件解决方案,我们规定了三种不同的EVITA HSM变体,以满足不同的安全需求:

  • 完整的EVITA HSM:该HSM专注于保护车辆内部域免受V2X通信的安全漏洞的影响。这需要创建和验证电子签名。为了满足性能要求,需要一个非常高效的非对称加密引擎。完整的HSM提供了所有不同HSM变体中功能、安全性和性能的最高水平。它还旨在提供至少20年的安全寿命,这意味着ECRYPT II Level 7的“长期保护”(13)和/或NIST 2030+(14)。
  • 中等的EVITA HSM:该HSM专注于保护车辆内部通信的安全。除了非对称加密模块和性能略低的CPU(例如25 MHz对比100 MHz),中等HSM与完整HSM相似。中等HSM在硬件上没有非对称加密模块;然而,它能够在软件中执行一些非实时关键的非对称加密操作,例如建立共享密钥。由于出于效率和成本的考虑,几乎所有的内部通信保护都基于对称加密算法,因此不包含非对称加密引擎是为了节省成本和硬件尺寸。
  • 轻量级的EVITA HSM:该HSM专注于保护受保护的ECU与传感器和执行器之间的交互。它只需要包含一个对称加密引擎和相应的功能缩减的硬件接口。因此,轻量级HSM能够满足传感器和执行器典型的严格的成本和效率要求(例如消息大小、时序、协议限制或处理器消耗)。所需的共享密钥可以通过不同的方式建立,例如在制造过程中进行预配置,通过自初始化(例如基于物理不可克隆函数),甚至在连接的应用处理器中运行软件中的密钥建立协议。

        下表展示了不同HSM变种的组件。所有技术细节,如RAM大小、时钟频率等都是当前的估计值,可能会有所变动。

硬件接口

        EVITA硬件安全模块提供了一个异步(即非阻塞)、几乎完全支持多会话(即可中断)和部分支持多线程的硬件接口。它符合汽车HIS联盟提出的安全硬件扩展(Secure Hardware Extension,SHE)规范(10)。

        硬件接口涵盖了所有加密硬件安全模块的调用规范、更高级别的安全功能(如安全引导、安全时间戳)以及所有必要的安全管理功能(如设备管理、密钥创建、密钥导入/导出)。此外,它还定义了所有硬件解释的数据结构和直接的相互依赖关系,例如密钥层次结构、重放保护计数器或基本访问逻辑。

        EVITA硬件接口的一个独特特点是其固有的细粒度应用特定授权,与使用内部密钥的通用授权(例如)相比。因此,相同的密钥可以针对不同的用途具有不同的授权(称为用途标志)。例如,对称密钥可以针对使用该密钥进行加密、解密、MAC生成或MAC验证具有不同的授权。这些授权反过来可以直接基于密码,也可以间接基于各个ECU平台配置类似于可信计算(Trusted Computing,TC)方法(例如,TC身份验证引导),甚至可以是两者的组合(即,配置和密码)。

        此外,每个单独的用途标志都可以具有其个别的导出约束。因此,密码界面的定义如下(此处简化):

EVITA_RETURNCODE cipher_init(
    
in algorithm_identifier, // 引用硬件密码算法

in cipher_mode{encrypt|decrypt}, // 指示使用标志“encrypt”或“decrypt”

in operation_mode{CBC|GCM|..}, // 指示密码操作模式

in padding_scheme{none|bit|..}, // 指示填充方案(如果需要)

in initialization_vector, // 初始化向量(如果需要)

in key_handle, // 引用要使用的内部密钥

in key_authorization_size, // 请求使用标志的密钥授权

out max_chunk_size, // 处理(process)函数的最大块大小

out session_handle ); // 多会话身份验证句柄



EVITA_RETURNCODE cipher_process(

in session_handle, // 来自init()的会话引用

in input_data_size, // 要进行加密或解密的输入数据大小

out output_data ); // 加密或解密的输出数据



EVITA_RETURNCODE cipher_finish(

in session_handle, // 释放会话句柄

out final_output ); // 最后一个输出块(例如,来自填充方案)

        首先,通过定义所有相关的操作参数,并在创建引用的密钥时提供(直接或间接)必要的密钥使用授权(如果已设置相应的授权),对密码进行初始化。然后,初始化将返回所有相关的处理参数(例如,最大块大小)和会话标识符,用于中断和并行处理相应的密码操作。在加密或解密所有数据块之后,密码会话被关闭,并通过调用最终化命令释放会话句柄。

安全软件

我们采用了一种灵活且模块化的安全框架,可以实现分布式部署(2)。由于使用情况可能要求满足一部分安全需求,模块化架构可以在可能的情况下重复使用安全组件。安全框架提供以下功能:

  1. 访问控制:管理和执行策略。
  2. 身份验证服务:根据需求提供身份验证机制。
  3. 安全通信:建立经过身份验证和/或保密的通信通道。
  4. 入侵检测:模块提供在不同抽象级别上检测和管理入侵的手段。

这些模块可以以面向策略的方式进行配置。为了实现最大程度的灵活性和适应性,所有安全模块可以通过接受和执行个别安全策略来进行配置(静态或动态配置),例如:

  1. 授权策略:指定某个实体在特定条件下被允许访问和使用特定资源的程度,例如文件访问、网络和输入/输出设备访问、外部和内部通信(即过滤策略,定义可以在某些通信端点之间进行通信的内容、来源、协议或服务),以及连接的外围设备的使用。
  2. 隐私策略:定义需要对数据和信息进行多大程度的隐藏,以防止第三方访问,或者至少需要对一定程度的隐私进行匿名处理。
  3. 身份验证策略:定义所需的身份验证级别(例如密码、智能卡)以进行相应的角色授权。
  4. 入侵检测策略:定义特定的攻击场景和攻击启发式规则。
  5. 入侵响应策略:定义对特定类型的检测到的攻击执行的反制措施类型。

        安全软件框架的模块可以部署到各个电子控制单元(ECU)上,具体取决于ECU的角色、需求和性能要求。

部署

        我们概述了基于一个名为“主动制动”(Active Brake)的电子安全场景的硬件安全模块部署,该场景是在(9)中定义的使用案例的一部分。该场景使用车辆间通信。在图2中,显示了参与此场景通信的接收车辆内的电子控制单元(ECU)。数据在通信控制单元(CCU)进行真实性和授权的分析,然后分发到各个域和ECU,执行相应的操作。每个接收ECU都会检查数据的真实性(即其是否源自CCU)。为此,这些ECU配备了HSM。根据ECU的性能和运行环境,使用中型或轻量级HSM(对于传感器而言,由于平台的限制,仅可使用轻量级HSM)。

 摘要和展望

        我们已经设计和规定了一个模块化的安全硬件和软件概念,将用于汽车车载网络和相应的电子控制单元。安全硬件的不同变体使得部署具有成本效益。它们反映了不同领域和电子组件的安全要求。

        EVITA项目将在车载组件之间定义安全协议。在实施和集成到汽车操作系统和运行环境之前,将使用形式化方法和模拟来验证这些协议。HSM将使用来自Infineon的FPGA逻辑板和汽车微控制器进行原型设计。最后,硬件和软件将部署到演示车辆中。

REFERENCES

(1) A. Ruddle, D. Ward, B. Weyl, S. Idrees, Y. Roudier, M. Friedewald, T. Leimbach,

A. Fuchs, S. Gürgens, O. Henniger, R. Rieke, M. Ritscher, H. Broberg, L. Apvrille,

R. Pacalet, G. Pedroza, “Security requirements for automotive on-board networks based

on dark-side scenarios”, EVITA Deliverable D2.3, 2009.

(2) B. Weyl, M. Wolf, F. Zweers, T. Gendrullis, M.S. Idrees, Y. Roudier, H. Schweppe,

H. Platzdasch, R. El Khayari, O. Henniger, D. Scheuermann, A. Fuchs, L. Apvrille,

G. Pedroza, H. Seudié, J. Shokrollahi, A. Keil, “Secure on-board architecture specification”, EVITA Deliverable D3.2, 2010.

(3) GST, Global Systems for Telematics, EU FP6 project, http://www.gst-forum.org/

(4) C2C-CC, Car2Car Communication Consortium, http://www.car-to-car.org/

(5) IEEE WAVE, Wireless Access in Vehicular Environments, IEEE standard 1609.2.

(6) SeVeCOM, Secure Vehicle Communication EU FP6 project, http://www.sevecom.org/

(7) M. Gerlach, A. Festag, T. Leinmüller, G. Goldacker and C. Harsch, “Security Architecture for a Vehicular Communication”. In International Workshop on Intelligent Transportation (WIT), 2005.

(8) T. Kosch: Local Danger Warning based on Vehicle Ad-hoc Networks: Prototype and

Simulation. In Proceedings of 1st International Workshop on Intelligent Transportation

(WIT), Hamburg, Germany, March 2004.

(9) E. Kelling, M. Friedewald, T. Leimbach, M. Menzel, P. Saeger, H. Seudié, B. Weyl,

“Specification and evaluation of e-security relevant use cases”, EVITA Deliverable

D2.1, 2009.

(10) R. Escherich, I. Ledendecker, C. Schmal, B. Kuhls, C. Grothe, F. Scharberth: SHE –

Secure Hardware Extension – Functional Specification Version 1.1. Hersteller-Initiative

Software (HIS) AK Security, 2009.

(11) S. Künzli. Efficient Design Space Exploration for Embedded Systems. PhD thesis.

2006.

(12) TTool, the TURTLE Toolkit. http://labsoc.comelec.enst.fr/ttool.html

(13) ECRYPT II: Yearly Report on Algorithms and Keysizes (2008-2009), D.SPA.7 Rev.

1.0, ICT-2007-216676, 07/2009.

(14) NIST: Recommendation for Key Management, Special Publication 800-57 Part 1,

03/2007.

(15) M. Raya, P. Papadimitratos, and J.-P. Hubaux, “Securing vehicular communications,”

IEEE Wireless Communications Magazine, Special Issue on Inter-Vehicular Communications, October 2006.

(16) M. Raya, D. Jungels, P. Papadimitratos, I. Aad, and J.-P. Hubaux, “Certificate Revocation in Vehicular Networks,” Laboratory for Computer Communications and Applications (LCA), EPFL, Tech. Rep. LCAREPORT-2006-006, 2006.

(17) P. Papadimitratos, V. Gligor, and J.-P. Hubaux, “Securing Vehicular Communications –

Assumptions, Requirements, and Principles,” in Proc. 4th Workshop on Embedded

Security in Cars (escar), 2006.

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

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

相关文章

数据结构之初识树与堆

前言:前面学习了顺序表,队列,栈,链表,我们知道他们都是一种线性表,是一种线性结构,而除此之外,仍有许多我们还没认识的结构,比如树形结构,不同于线性结构&…

这个框架真心可以!10分钟就搞定一个网站!

最近有很多小伙伴问我:有没有能快速能搭建网站的框架。 首先我去尝试了低代码,快确实快,但是样式和功能确实差点意思。 偶然间,我发现一款神奇的网站框架:VuePress。 我尝试部署了下,然后一下爱上了它。我发现很多博…

百度飞桨语音PaddleSpeech在win上运行语音识别(ASR)与语音合成(TTS)

百度飞桨语音PaddleSpeech在win上运行语音识别(ASR)与语音合成(TTS) 前言 PaddleSpeech是PaddlePadle百度飞桨深度学习框架下的语音服务工具包。PaddleSpeech包括自监督学习模型、带标点符号的 SOTA/流式 ASR、带文本前端的流式 TTS、说话人验证系统、端到端语音翻译和关键字…

【Scala---01】Scala 基础 『 变量和数据类型 | 控制语句 | 函数式编程』

文章目录 1. 变量和数据类型1.1 变量和常量1.2 字符串1.3 数据类型1.4 伴生对象与伴生类1.5 代码块1.6 Unit、null、Nothing1.7 强制转换1.8 与 equals 2. 控制语句2.1 分支语句2.2 循环语句(1)for循环(2)while/do-while循环&…

QT客户端外包开发流程及难点

QT是一种跨平台的C应用程序开发框架,可以用于开发各种类型的客户端软件,包括桌面应用程序、移动应用程序、嵌入式应用程序等。在开发跨平台的客户端语言中,QT应该是应用最广泛的,今天和大家分享开发流程及技术难点,希望…

Consul系列:让服务Running in anywhere

引言 随着微服务概念深入人心,越来越多的解决方案选择使用微服务架构,这类架构的共同点是服务数量多,因此种类繁多的服务之间如何互相访问就变成了一个很现实的问 题。目前比较流行的分布式存储比如:Consul, etcd, ZooKeeper,如何…

【CSS】

目录 1. 什么是 CSS 2. CSS的引入方式 3. CSS 选择器 3.1 基础选择器 3.1.1 标签选择器 3.1.2 类选择器 3.1.3 id 选择器 3.1.4 通配符选择器 3.2 复合选择器 4. CSS 字体设置 5. CSS 文本属性 6. CSS 背景设置 7. CSS 的 display 属性 8. CSS 的盒子模型 9. CSS 的弹…

apple pencil二代平替笔哪个好用?ipad第三方电容笔了解下

近几年来,人们开始使用互联网的频率不断提高,网络教学也日益普及。再加上ipad在所有平板设备中都是数一数二的存在,所以很多人都将它当成了无纸化学习的首选。当然,如果要把 ipad变成一个可以用来学习的东西,那配件肯定…

软件工程实验:数据库设计

前言 本实验的主要内容是数据库设计,即如何根据需求分析,设计合理的数据模型,创建和管理数据库,以及实现数据的增删改查等操作。数据库设计是软件工程的重要组成部分,它涉及到数据的存储、组织、查询和处理等方面&…

JavaWeb-VUEElement综合案例

VUE&Element 今日目标: 能够使用VUE中常用指令和插值表达式能够使用VUE生命周期函数 mounted能够进行简单的 Element 页面修改能够完成查询所有功能能够完成添加功能 1,VUE 1.1 概述 接下来我们学习一款前端的框架,就是 VUE。 Vue 是…

晶圆切割机如何选用切割刀对崩边好

晶圆切割机在切割晶圆时,崩边是一种常见的切割缺陷,影响切割质量和生产效率。要选用合适的切割刀以减少崩边,可以考虑以下几点: 根据晶圆尺寸和切割要求,选择合适的金刚石颗粒尺寸和浓度的切割刀。金刚石颗粒越大&…

十大排序算法(下):计数排序,基数排序,桶排序

文章目录 5. 其他非基于比较的排序5.1 计数排序5.2 桶排序5.3 基数排序 5. 其他非基于比较的排序 5.1 计数排序 有n个数,取值范围是 0~n,写出一个排序算法,要求时间复杂度和空间复杂度都是O(n)的 我们知道,前面介绍的基于比较的排…

javaIO之字符流

目录 一、简介二、字符流入流1.1FileReader构造方法1.2FileReader读取字符数据 三、字符流出流3.1 FileWriter 构造方法3.2FileWriter写入数据3.3关闭close和刷新flush3.4FileWriter的续写和换行3.5文本文件复制 四、IO异常处理五、小结 一、简介 字符流 Reader 和 Writer 的故…

2023最全最细的Selenium+Pytest自动化测试框架实战

选前言# selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架简介# 测试框架有什么优点呢: 代码复用率…

马斯克开造人形AI 变形金刚要成真?

当5个人形机器人迎面走来,你会下意识地期待它们具备怎样的能力。特斯拉最近公布的视频给出答案,它自研的机器人“擎天柱”(Optimus)能够探索环境,复刻人类动作,自主操纵物品。 特斯拉CEO埃隆马斯克对这些与…

chatgpt赋能Python-python3_4_4怎么打代码

Python3.4.4的入门指南:如何打出高效的Python代码? 作为一名有10年Python编程经验的工程师,我深深地了解到Python3.4.4的强大和灵活性。Python是一种易于学习和使用的编程语言,因此它已成为数据科学家,人工智能和机器…

700页!阿里120W架构师推荐学习的微服务架构解析,到底牛在哪里?

前言 当前,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统。 在过去几年里,DevOps、云原生、面向演进式架构等理念已经深入人心,围绕微服务生态也出现了大…

JavaEE(系列9) -- 多线程案列2(堵塞队列)

目录 1. 堵塞队列 2. 生产者消费者模型 2.1 解耦合 2.2 削峰填谷 2.3 代码实现生产者消费者模型 3. 构建堵塞队列 3.1 实现普通队列(循环队列) 3.2 普通队列加上线程安全 3.3 普通队列实现堵塞功能 3.4 堵塞队列最终代码 4. 使用生产者消费者模型测试自己构建的堵塞队列 1. …

IP协议的相关特性、数据链路层相关内容讲解

文章目录 IP协议相关特性地址管理NAT机制IP地址的组成特殊的IP地址 路由选择 数据链路层相关内容以太网MTU IP协议相关特性 首先我们来认识一下IP协议的报头: 4位版本号:指定IP协议的版本,对于IPv4就是4. 4位头部长度:IP头部的长…

每日一题158—— 图片平滑器

图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。 每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即…