分享

汽车以太网权威指南-第05章

 yeshuheng 2020-10-18

车载以太网-第05章

网络基础

前言:本章只介绍网络基础的相关概念,对网络有一定了解的人员可以略过。

网络分层

网络技术通常通过将其功能划分为多层进行区分,各层有各自的软硬件。各层负责执行特定类型的任务,以及与上下层交互。从概念上来说,这些网络分层形成一个垂直堆栈:低层负责执行更具体的任务,如硬件信号传输和向高层提供基本包发送等服务。因此,高层利用这些服务来实现更抽象的功能,如确保可靠通信或实现特定用户功能。如我们熟知的OSI七层体系模型,TCP/IP四层体系结构。

图源 湖科大教书匠

实体与协议

在了解协议之前,首先需要了解实体的概念,计算机网络中规定任何可发送或接收信息的硬件或软件进程称为实体,如CAN节点的收发器就可以称为一个实体。对等实体顾名思义就是收发双方相同层次中的实体。

图源 湖科大教书匠

协议就是控制两个对等实体进行逻辑通信的规则的集合,注意这里的实体是对等实体。

协议的三要素

Ø语法:定义所交换信息的格式

Ø语义:定义收发双方所要完成的操作

Ø同步:定义收发双方的时序关系

在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。这也就解释了为什么UDS on CAN的诊断中会在应用层使用ISO 14229-1协议,在传输层使用ISO 15765-2,在链路层使用ISO 11898-1协议的原因,因为协议是“水平的”,服务是“垂直的”

图源 Vector

三种交换方式:电路交换、报文交换、分组交换

电路交换(Circuit Switching)

这种方法是指在两台设备间建立一条电路用于整个通信。电路性质信息由网络和网络设备进行维护。电路可以是一条始终存在的固定电路,或者是根据需要建立的一条电路。

电路交换的三个步骤:

  • 建立连接(分配通信资源)

  • 数据传输(不管有没有数据在传输都需要一直占用通信资源)

  • 释放连接(归还通信资源)

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。

图源 湖科大教书匠

报文交换(Message Switching)

报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式,报文交换是分组交换的前身。

分组交换(Packet Switching)

在分组交换网络中,数据的传输没有特定的路径。数据被划分成很多称为分组的小块,然后在网络中发送。分组可以通过不同的路径发送,按需要组合或分解并发送到最终目的地。

图源 湖科大教书匠

图源 湖科大教书匠

计算机网络的分类

图源 湖科大教书匠

面向连接和无连接协议

面向连接的协议

这些协议要求两台设备在传输数据之前建立逻辑连接。通常,逻辑连接是通过一组特定的规则来实现的,这些规则规定了连接的发起、协商、管理和断开。通常一台设备首先发送请求建立连接,而另一台设备作出响应。这两台设备相互传送控制信息以确定是否需要建立连接以及应如何建立连接。如果连接成功建立,数据将在设备之间发送。数据发送完成后,连接将断开。(TCP协议)

图源 湖科大教书匠

无连接协议

这些协议不要求在设备间建立连接。只要一台设备有数据发送需求,该数据将直接向另一台设备发送。(UDP协议)

图源 湖科大教书匠

报文:数据包、帧、数据报等

如上,对于数据我们有不同的称呼,对于常见的CAN总线来说,你一定在工作中听到有人称之为CAN报文,有人称之为CAN帧,到底哪种是正确的呢?

对于OSI七层模型而言,不同层级称呼该层传输的数据有不同的命名,为统一叫法,规定对等层次之间传送的数据包称为该层的协议数据单元(PDU)。同一系统内,层与层之间交换的数据包称为服务数据单元(SDU)。如下图所示(该体系采用五层模型,将七层模型中的应用层、表示层、会话层统一为应用层)

图源 湖科大教书匠

所以对于CAN协议ISO 11898只定义了物理层和数据链路层的内容,更为标准的称呼应该是CAN帧(Frame)。但“报文”这一术语是网络中数据通信最通用的词,被广泛使用并通常与其他术语结合使用,所以在工作中大部人会把CAN总线中传输的数据称为CAN报文。

报文格式:报头、净荷、报尾

报头

位于实际数据之前的信息。报头包含数个字节的控制信息,用于发送报文包含的重要数据事实以及解释和使用报文的方法。报头用于实现不同设备上协议元素之间的通信和控制功能。有时候还可控制共享信道的管理和访问,或者控制报文目的地等其他用途。

数据

实际传输的数据,通常称为净荷,多数报文都包含某种形式的数据,但一些报文可能没有任何数据:这些报文只用于控制和通信目的。例如,在数据发送前,利用这类报文来建立或终止逻辑连接。

报尾

位于数据之后的信息。与报头一样,这些字段通常包含了控制信息。有时也用“trailer”一词称呼报尾。

图源 Automotive Ethernet

报文寻址和传输方法:单播、广播和组播

单播

在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。

广播

广播指所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和网络设备控制广播传输。

组播

组播在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个接收者传输相同的数据,也只需复制一份相同的数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。

组播解决了单播和广播方式效率低的问题。当网络中的某些用户需求特定信息时,组播源(即组播信息发送者)仅发送一次信息,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。

对等网络、客户/服务器网络、主/从网络

对等网络

在严格的对等网络设置中,网络中的各个设备是平等或对等的。各个机器能够与任何其他机器共享资源。任何设备均未被指定角色,且所有设备上运行的软件也相差无几。任何设备能够向其他设备发送请求。

图源 Automotive Ethernet

客户端/服务器网络

在此模型中,少量计算机或其他设备被指定为中央服务器向更多数的客户端设备提供服务。这些服务器通常为能力更强的设备,具有更大的处理能力并能读取网络上多个设备需要定期读取的重要数据。通常,客户端为更小的设备,且至少在某些数据和功能方面依赖于服务器。

图源 Automotive Ethernet

主/从网络

主/从网络的布局在概念上与客户端/服务器网络类似,但主/从网络中的主机比客户端/服务器网络中的服务器起着更具体且更核心的作用。主机不仅仅向其他设备提供服务,还负责控制整个网络的运行。

车载网络LIN是很好的阐述主/从原理的例子。LIN网络指定一个特殊的ECU作为主机,然后告知所有其他节点(从机)什么时候开始传输报文。从机未得到主机的“确认”前不会有任何动作。

图源 LIN总线协议2.0版

串行传输和并行传输

串行传输

串行传输将数据按位依次传输,每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

并行传输

并行传输指的是数据以成组的方式,在多条并行信道上同时进行传输,是在传输中有多个数据位同时在设备之间进行的传输。(一般在计算机内部进行)

图源 湖科大教书匠

同步传输和异步传输

同步传输

同步传输是一种连续串行传送数据的通信方式,同步传输要求发送时钟和接收时钟保持严格的同步,不然会由于时钟的不同步而造成累计误差。

异步传输

异步传输中发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。(异步是指字节的异步,异步中的同步是只字节中的比特仍然要同步,即比特的位宽是相等的)

图源 湖科大教书匠

单工、半双工和全双工通信

单工通信

单工模型下,网线或信道只支持单向数据传输。

半双工通信

半双工模式下,任何设备都可传输数据,但同时只能有一台设备进行数据传输。如果两台设备通过端口直接连接,设备将轮流发送和接收数据。例如,CAN总线就采用半双工方式,因为任何数量的设备都能够传输数据,但有一个特殊的仲裁方案用于确保一次只有一台设备传输数据。

全双工通信

在全双工操作中,两台设备可以同时发送和接收数据。有两种方法可以实现全双工模式。较早的一种简单方法是使用两个单工通信信道实现双向数据传输。100BASE-TX快速以太网就是采用这个技术,在两个方向上分别使用一组双绞线。较新的一种方法是允许同时在一个信道上双向传输数据。新技术多采用全双工模式,包括为车载以太网奠基的BroadR-Reach标准。

图源 湖科大教书匠

网络性能指标

速率

连接在计算机网缩上的主机在数字信道上传送比特的速率,也称为比特率或数据率;基本单位:bit/s(b/s,bps),常用单位:kb/s,Mb/s,Gb/s,Tb/s

带宽

用来表示网缩的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网缩中的某一点到另一点所能通过的“最高数据率”;单位与速率单位相同。

吞吐量

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络;吞吐量受网络的带宽或额定速率的限制。

时延

一般包括发送时延、传指时延、处理时延等

时延带宽积

传播时延和带宽的乘积;若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;链路的时延带宽积又称为以比特为单位的链路长度。

往返时间RTT

在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互;我们有时很需要知道双向交互一次所需的时间。

利用率

信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过);

网络利用率:全网络的信道利用率的加权平均;

利用率并非越高越好:当某信道的利用率增大时,该信道引起的时延也会迅速增加;也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。

丢包率

丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率;分组丢失的两个主要原因:分组误码,结点交换机缓存队列满(网络拥塞);

参考文献:

[1]Charles M.Kozierok.Automotive Ethernet-The Definitive Guide[M];

[2]谢希仁.计算机网络(第7版)[M].电子工业出版社,2017.1;

[3]LIN Specification Package Revision 2.0,September 23,2003

[4]Vector公开培训资料

[5]B站UP主湖科大教书匠公开视频资料https://space.bilibili.com/360996402/channel/detail?cid=87338

写在后面:

虽然互联网时代,复制粘贴的成本很低,但我依然尝试联系了我个人可以联系到的信息源主,下图是联系湖南科技大学计算机系老师的聊天记录,该老师的视频质量极高,如果想对计算机网络有深入的了解,强烈推荐该老师的视频;但对于网络上公开的协议,比如ISO国际标准,SAE制定的标准以及ASAM的协议标准,后续将只在参考文献中进行标注。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多