以太网层级
车载以太网
以太网的层级结构
一般来说,以太网自下而上分为以下层级:
- 物理层(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网络管理。
以太网数据收发原理
数据发送
当以太网数据从发送方传输到接收方时,经历了以下层级的处理:
- 应用层(Application Layer):
应用层的应用程序生成要发送的数据。例如,Web浏览器通过HTTP协议生成HTTP请求。 - 传输层(Transport Layer):
传输层将应用层的数据分割成更小的数据块,添加传输层协议头部,并为数据提供端到端的可靠传输。常见的传输层协议有传输控制协议(TCP)和用户数据报协议(UDP)。
如果使用TCP协议,数据将被分割成TCP段,并在每个段上添加TCP头部信息。
如果使用UDP协议,数据将被封装为UDP数据包,并在每个数据包上添加UDP头部信息。 - 网络层(Network Layer):
网络层将传输层的数据包封装为网络层数据包,添加网络层协议头部,例如Internet协议(IP)头部。
IP头部包含源IP地址和目标IP地址,以便在网络中路由数据包。 - 数据链路层(Data Link Layer):
数据链路层将网络层的数据包封装为数据链路层的帧(Frame),并添加数据链路层协议头部。
以太网使用以太网帧格式,将网络层数据包封装为以太网帧。以太网帧包含源MAC地址和目标MAC地址,以及其他控制信息。 - 物理层(Physical Layer):
物理层负责将数据链路层的帧转换为电信号,并通过物理介质(如双绞线、光纤等)传输到接收方。
总结来说,以太网数据在发送到接收的过程中经历了应用层、传输层、网络层、数据链路层和物理层。每个层级都负责添加头部信息、封装数据、提供协议功能和传输数据,以确保数据的可靠传输和正确处理。
数据接收
当以太网数据在接收方进行接收时,经历了以下层级的处理和解析:
- 物理层(Physical Layer):
物理层接收到通过物理介质传输的电信号,并将其转换为数据链路层可以处理的数字信号。 - 数据链路层(Data Link Layer):
数据链路层接收到物理层传输的数字信号,并进行解封装。它检查帧的完整性、错误检测,验证目标MAC地址等。
如果目标MAC地址与接收方的MAC地址匹配,数据链路层会将帧传递到上一层,即网络层。 - 网络层(Network Layer):
网络层接收到数据链路层传递的帧,并解析网络层的头部信息,如IP头部。
它检查目标IP地址,确定是否是接收方应该处理的数据包。如果是,则将数据包传递到上一层,即传输层。 - 传输层(Transport Layer):
传输层接收到网络层传递的数据包,并进行解封装。它检查传输层头部信息,如TCP头部或UDP头部。
根据传输层协议,它可能进行流量控制、分段重组和数据包排序等处理。如果数据包是目标端口所期望的,则将数据传递到上一层,即应用层。 - 应用层(Application Layer):
应用层接收到传输层传递的数据,并进行进一步的处理。它解析应用层协议头部,如HTTP头部或FTP头部。
最终,应用层将数据提供给目标应用程序进行处理、显示或存储。
在接收方,数据逐层进行解封装和处理,直到达到应用层,其中每个层级负责处理相应的协议头部和数据,以确保正确的数据传输和协议操作。
注意:
目标的mac地址的获取方式:
-
通过ARP请求广播来获取。
ARP原理:- IP地址与MAC地址的映射:
- 在IPv4网络中,每个设备都有唯一的IP地址和MAC地址。
- ARP的目标是找到特定IP地址对应的MAC地址。
- ARP请求广播:
- 当设备需要解析目标IP地址的MAC地址时,它会发送一个ARP请求广播到本地网络中的所有设备。该广播包含源设备的MAC地址、源IP地址以及目标IP地址(待解析的IP地址)。
- ARP请求广播的目的是询问本地网络中是否有设备具有待解析IP地址对应的MAC地址。
- ARP响应:
- 在接收到ARP请求广播的设备中,与待解析IP地址相匹配的设备会发送一个ARP响应。ARP响应包含该设备的MAC地址、IP地址和目标设备的MAC地址。
- 其他设备接收到ARP响应后,将提取其中的MAC地址和IP地址,并将其存储在本地的ARP高速缓存中。
- ARP高速缓存:
- 设备在处理ARP请求和ARP响应时,会将接收到的MAC地址与IP地址进行映射,并将其存储在本地的ARP高速缓存中。
- 当设备需要与之前通信过的设备通信时,它会首先检查本地的ARP高速缓存,以确定目标设备的MAC地址。如果有对应的条目,则直接使用缓存中的MAC地址,避免发送新的ARP请求。
- 数据帧封装:
- 一旦发送方设备获取到目标设备的MAC地址,它将构建一个以太网数据帧,并填入目标MAC地址、源MAC地址等相关信息。
- 数据帧中的目标MAC地址被设置为待解析的目标IP地址对应的MAC地址。
通过这种方式,ARP允许设备通过IP地址查找目标设备的MAC地址,并确保数据能够正确地发送到目标设备。ARP协议是基于广播和响应机制的,使得设备可以在需要时动态地获取并维护IP地址与MAC地址的映射关系。
-
静态配置,直接指定mac地址,比较罕见,通常用于特定要求的场景。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 jhhuangのblog!