车载以太网

以太网的层级结构

一般来说,以太网自下而上分为以下层级:

  • 物理层(Physical Layer):在底部,包括物理介质(如双绞线、光纤等)和物理连接方式(如以太网插口)。
  • 数据链路层(Data Link Layer):在物理层上方,包括以太网帧格式、帧的封装和解封装,以及物理地址(MAC地址)的管理。
  • 网络层(Network Layer):在数据链路层上方,包括IP地址的分配和路由功能,负责将数据包从发送方传输到接收方。
  • 传输层(Transport Layer):在网络层上方,提供端到端的可靠数据传输服务,通常使用传输控制协议(TCP)或用户数据报协议(UDP)。
  • 应用层(Application Layer):在顶部,提供各种网络应用和服务,如HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等。

除了物理层、UDP-NM、DOIP、SOME/IP、SD这五个模块为车载以太网技术协议规范之外,其余均为传统以太网技术。
名词解释:

  • AVB:音视频桥接。
  • ICMP:Internet Control Message Protocol(互联网控制报文协议),ping就是其中的一个功能。
  • ARP:Address Resolution Protocol(地址解析协议),是一种用于在IPv4网络中将IP地址解析为MAC地址的协议。
  • DHCP:代表动态主机配置协议(Dynamic Host Configuration Protocol)。
    DHCP是一种网络协议,用于自动分配IP地址和其他网络配置参数给计算机和其他网络设备。它允许设备在加入网络时自动获取网络配置信息,而无需手动配置每个设备的IP地址、子网掩码、默认网关、DNS服务器等。
  • DOIP(Diagnostic Over Internet Protocol)是一种用于在汽车领域进行诊断和通信的协议。它是在以太网上实现诊断通信的一种标准化协议。
  • UDP-NM:Network Management,UDP网络管理。

以太网数据收发原理

数据发送

当以太网数据从发送方传输到接收方时,经历了以下层级的处理:

  1. 应用层(Application Layer):
    应用层的应用程序生成要发送的数据。例如,Web浏览器通过HTTP协议生成HTTP请求。
  2. 传输层(Transport Layer):
    传输层将应用层的数据分割成更小的数据块,添加传输层协议头部,并为数据提供端到端的可靠传输。常见的传输层协议有传输控制协议(TCP)和用户数据报协议(UDP)。
    如果使用TCP协议,数据将被分割成TCP段,并在每个段上添加TCP头部信息。
    如果使用UDP协议,数据将被封装为UDP数据包,并在每个数据包上添加UDP头部信息。
  3. 网络层(Network Layer):
    网络层将传输层的数据包封装为网络层数据包,添加网络层协议头部,例如Internet协议(IP)头部。
    IP头部包含源IP地址和目标IP地址,以便在网络中路由数据包。
  4. 数据链路层(Data Link Layer):
    数据链路层将网络层的数据包封装为数据链路层的帧(Frame),并添加数据链路层协议头部。
    以太网使用以太网帧格式,将网络层数据包封装为以太网帧。以太网帧包含源MAC地址和目标MAC地址,以及其他控制信息。
  5. 物理层(Physical Layer):
    物理层负责将数据链路层的帧转换为电信号,并通过物理介质(如双绞线、光纤等)传输到接收方。
    总结来说,以太网数据在发送到接收的过程中经历了应用层、传输层、网络层、数据链路层和物理层。每个层级都负责添加头部信息、封装数据、提供协议功能和传输数据,以确保数据的可靠传输和正确处理。

数据接收

当以太网数据在接收方进行接收时,经历了以下层级的处理和解析:

  1. 物理层(Physical Layer):
    物理层接收到通过物理介质传输的电信号,并将其转换为数据链路层可以处理的数字信号。
  2. 数据链路层(Data Link Layer):
    数据链路层接收到物理层传输的数字信号,并进行解封装。它检查帧的完整性、错误检测,验证目标MAC地址等。
    如果目标MAC地址与接收方的MAC地址匹配,数据链路层会将帧传递到上一层,即网络层。
  3. 网络层(Network Layer):
    网络层接收到数据链路层传递的帧,并解析网络层的头部信息,如IP头部。
    它检查目标IP地址,确定是否是接收方应该处理的数据包。如果是,则将数据包传递到上一层,即传输层。
  4. 传输层(Transport Layer):
    传输层接收到网络层传递的数据包,并进行解封装。它检查传输层头部信息,如TCP头部或UDP头部。
    根据传输层协议,它可能进行流量控制、分段重组和数据包排序等处理。如果数据包是目标端口所期望的,则将数据传递到上一层,即应用层。
  5. 应用层(Application Layer):
    应用层接收到传输层传递的数据,并进行进一步的处理。它解析应用层协议头部,如HTTP头部或FTP头部。
    最终,应用层将数据提供给目标应用程序进行处理、显示或存储。
    在接收方,数据逐层进行解封装和处理,直到达到应用层,其中每个层级负责处理相应的协议头部和数据,以确保正确的数据传输和协议操作。

注意:
目标的mac地址的获取方式:

  • 通过ARP请求广播来获取。
    ARP原理:

    1. IP地址与MAC地址的映射:
    • 在IPv4网络中,每个设备都有唯一的IP地址和MAC地址。
    • ARP的目标是找到特定IP地址对应的MAC地址。
    1. ARP请求广播:
    • 当设备需要解析目标IP地址的MAC地址时,它会发送一个ARP请求广播到本地网络中的所有设备。该广播包含源设备的MAC地址、源IP地址以及目标IP地址(待解析的IP地址)。
    • ARP请求广播的目的是询问本地网络中是否有设备具有待解析IP地址对应的MAC地址。
    1. ARP响应:
    • 在接收到ARP请求广播的设备中,与待解析IP地址相匹配的设备会发送一个ARP响应。ARP响应包含该设备的MAC地址、IP地址和目标设备的MAC地址。
    • 其他设备接收到ARP响应后,将提取其中的MAC地址和IP地址,并将其存储在本地的ARP高速缓存中。
    1. ARP高速缓存:
    • 设备在处理ARP请求和ARP响应时,会将接收到的MAC地址与IP地址进行映射,并将其存储在本地的ARP高速缓存中。
    • 当设备需要与之前通信过的设备通信时,它会首先检查本地的ARP高速缓存,以确定目标设备的MAC地址。如果有对应的条目,则直接使用缓存中的MAC地址,避免发送新的ARP请求。
    1. 数据帧封装:
    • 一旦发送方设备获取到目标设备的MAC地址,它将构建一个以太网数据帧,并填入目标MAC地址、源MAC地址等相关信息。
    • 数据帧中的目标MAC地址被设置为待解析的目标IP地址对应的MAC地址。

    通过这种方式,ARP允许设备通过IP地址查找目标设备的MAC地址,并确保数据能够正确地发送到目标设备。ARP协议是基于广播和响应机制的,使得设备可以在需要时动态地获取并维护IP地址与MAC地址的映射关系。

  • 静态配置,直接指定mac地址,比较罕见,通常用于特定要求的场景。