汽车以太网对TCP/IP协议簇的应用
Posted 怿星科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汽车以太网对TCP/IP协议簇的应用相关的知识,希望对你有一定的参考价值。
今天,我们要和大家分享的干货是汽车以太网对TCP/IP协议簇的应用。汽车以太网与传统以太网的主要区别在于物理层及应用层,而网络层及传输层大多参考传统应用,即TCP/IP协议簇(TSN暂不讨论)。使用传统网络TCP/IP协议簇,既能加快汽车以太网数据传输的速度,又能与因特网无缝连接,从而实现车内与车外的信息交互。同时,还具有良好的扩展空间以及支持新增上层应用协议的传输。
OSI(开放系统集成)模型是通信行业的基本模型,具体规定了每一层所应具备的功能,而TCP/IP协议簇亦是一种分层结构,相对应OSI模型中的第三层网络层及第四层传输层。TCP/IP(Transmission Control Protocol/Internet Protocol)协议包含了一系列构成互联网络基础的网络协议,是Internet的核心协议。
TCP/IP协议簇的每一层包含的都是一些相对独立的协议,使用时可以根据系统的需要把这些协议混合并重新搭配。当应用层的数据用TCP传送数据时,数据首先被传送到协议栈中,然后逐层封装,最后在物理层以比特流的形式进行传输。其中在每一层的封装过程中都要增加一些首部信息(有时也需要尾部信息)。具体封装过程如上图所示,首部信息中相应字段用来表明本层所服务的上层协议类型,接收端可以依据这些字段进行分用。
接下来分别介绍一下网络层及传输层的一些主要协议。
1网络层
▶IP协议:
▶ARP协议:
第一种情况:如果两个主机不在同一子网内,就需要把数据报文发送到两个子网连接处的路由器或网关(Router/Gateway),让网管处理。
▶ICMP协议:
由于IP协议提供的是不可靠的、无连接的数据传输方式,它本身缺少差错报告和纠正机制,ICMP协议就是为了弥补这个缺憾而产生的,其负责网络中的错误处理。虽然ICMP是一个网络层协议,但是它的报文是先封装成IP报文,然后再封装到以太网帧中。如平时我们使用“ping命令”发送回送请求与应答报文来确定两台主机或路由器在IP层能否通信,就是一种典型的ICMP协议的应用。
2传输层
▶UDP协议:
UDP是一种简单的、无连接、不可靠的传输协议。若某进程需要发送一个不关心其可靠性的报文,可使用UDP。UDP报文同样由首部和数据部分组成,首部主要定义了发送和接收端口。UDP报文封装在IP数据段中。UDP没有流量控制机制,在收到分组之后也不会有确认,但是它提供了某种程度的差错控制。如果在收到的UDP分组中检测到错误,则说明需要丢弃该分组。
▶TCP协议:
不同于UDP,TCP是一种面向连接的、可靠的传输协议。它能够保证两端通信主机之间的信息可达。在传送数据前,源主机需要先和目的主机建立连接,然后在此连接上,按顺序收发带有编号的数据段。同时,需要对每个数据段进行确认,如果指定时间内没有收到确认,源主机重发该数据段。数据传输完毕之后还需要将连接关闭。TCP能够正确处理传输过程中丢包、传输顺序错乱等异常情况。
TCP报文同样由首部和数据部分组成,如上图所示首部中包含了源/目的端口、序号、确认号、控制字段等。这些控制字段主要用在TCP的流量控制、连接建立和终止、连接异常终止以及数据传送方式等方面。虽然在某些特定应用场合中,TCP/IP协议未来有可能会被AVB/TSN协议所取代,但截至目前,仍然是汽车以太网通信中普遍采用的通信方式。许多汽车相关的应用层协议诸如DoIP、SOME/IP、UDPNM等都是基于TCP/IP实现的。TCP/IP中Socket的设计是SOA架构设计中的重要部分,而TCP/IP协议栈的开发或集成则是以太网节点实现中的重要部分。
相关精彩推荐:
怿星一意,专注车载
引领汽车科技新高度
以上是关于汽车以太网对TCP/IP协议簇的应用的主要内容,如果未能解决你的问题,请参考以下文章