车载以太网测试-14【交换机以及MAC地址表】
目录
- 1 摘要
- 2 车载交换机概述
- 2.1 OSI 模型中的位置
- 2.2 车载交换机在数据链路层的功能
- 3 车载交换机的工作原理
- 3.1 车载交换机的关键工作步骤
- 3.2 车载交换机的关键技术
- 3.3 车载交换机的工作示例
- 3.4 MAC地址表
- 3.4.1 MAC 地址表的工作原理
- 3.4.2 MAC 地址表示例
- 3.4.3 MAC 地址表的超时机制
- 4 总结
1 摘要
车载交换机 工作在 OSI 模型 的 数据链路层(Data Link Layer),具体来说是数据链路层的 MAC 子层。车载交换机在数据交互过程中扮演着很重要的角色,在之前的专题有介绍过以太网的单播、组播、广播;本文重点对车载交换机原理进行详细介绍。
上文专题如下:
车载以太网测试-6【数据链路层】
车载以太网测试-7【数据链路层】补充-单播、组播、广播
2 车载交换机概述
2.1 OSI 模型中的位置
以下是车载交换机在 OSI 模型中的位置及其相关功能:
OSI 模型层 | 功能描述 | 车载交换机的角色 |
---|---|---|
物理层(Physical Layer) | 负责比特流的传输,定义电气、机械和时序特性(如电缆、光纤、无线信号)。 | 车载交换机通过物理端口(如 RJ45 或 M12)连接车载设备,实现物理层的数据传输。 |
数据链路层(Data Link Layer) | 负责帧的传输,提供错误检测和流量控制,分为 LLC 子层 和 MAC 子层。 | 车载交换机主要工作在 MAC 子层,负责 MAC 地址的学习、帧的转发和 VLAN 的管理。 |
网络层(Network Layer) | 负责数据包的路由和转发,实现不同网络之间的通信(如 IP 协议)。 | 车载交换机不直接处理网络层协议,但可以支持 VLAN 和 TSN 等高级功能。 |
传输层(Transport Layer) | 提供端到端的通信服务(如 TCP 和 UDP)。 | 车载交换机不处理传输层协议。 |
会话层(Session Layer) | 管理应用程序之间的会话(如建立、维护和终止会话)。 | 车载交换机不处理会话层协议。 |
表示层(Presentation Layer) | 负责数据格式的转换(如加密、压缩)。 | 车载交换机不处理表示层协议。 |
应用层(Application Layer) | 提供应用程序之间的通信服务(如 HTTP、FTP)。 | 车载交换机不处理应用层协议。 |
2.2 车载交换机在数据链路层的功能
车载交换机在数据链路层的主要功能包括:
(1)MAC 地址学习
- 交换机通过读取数据帧的 源 MAC 地址,动态更新 MAC 地址表,记录每个设备的 MAC 地址与其连接端口的映射关系。
(2)帧的转发
- 交换机根据 目标 MAC 地址 查询 MAC 地址表,将数据帧从输入端口转发到正确的输出端口。
- 如果目标 MAC 地址不在表中,交换机会将数据帧 广播 到所有端口(泛洪)。
(3)VLAN 管理
- 交换机支持 VLAN(虚拟局域网),通过 VLAN ID 将网络划分为多个逻辑段,隔离不同类型的流量(如控制信号、视频流、诊断数据)。
(4)流量控制
- 交换机通过 IEEE 802.3x 流量控制 或 优先级队列 管理网络流量,避免拥塞和数据丢失。
(5)错误检测
- 交换机通过 CRC(循环冗余校验) 检测数据帧是否在传输过程中发生错误,并丢弃错误的数据帧。
车载交换机主要工作在 数据链路层(MAC 子层),负责 MAC 地址的学习、帧的转发、VLAN 管理、流量控制和错误检测。虽然它主要处理数据链路层的任务,但也支持一些高级功能(如 TSN 和网络管理),以满足现代车载网络的需求。
3 车载交换机的工作原理
车载交换机 是车辆电子网络中的核心设备,负责在车载网络中的各个设备(如 ECU、传感器、摄像头等)之间高效、可靠地传输数据。以下是车载交换机的工作原理详解:
3.1 车载交换机的关键工作步骤
车载交换机的工作原理可以分为以下几个关键步骤:
(1)数据接收
- 当数据包从某个端口进入交换机时,交换机会读取数据包的 源 MAC 地址 和 目标 MAC 地址。
- 交换机会将源 MAC 地址与接收端口绑定,并更新其 MAC 地址表(也称为转发表)。
(2)MAC 地址表查询 - 交换机根据目标 MAC 地址查询 MAC 地址表,确定数据包应该转发到哪个端口。
- 如果目标 MAC 地址不在表中,交换机会将数据包 广播 到所有端口(泛洪)。
(3)数据转发 - 如果目标 MAC 地址在表中,交换机会将数据包转发到对应的端口。
- 如果目标 MAC 地址与源 MAC 地址位于同一端口,交换机会丢弃数据包(避免环路)。
(4)流量控制 - 交换机通过 流量控制机制(如 IEEE 802.3x)管理网络流量,避免端口拥塞。
- 如果某个端口负载过高,交换机会通知发送设备暂停发送数据。
(5)错误检测与处理 - 交换机通过 CRC(循环冗余校验) 检测数据包是否在传输过程中发生错误。
- 如果检测到错误,交换机会丢弃错误的数据包。
(6)时间同步(TSN 支持) - 对于支持 时间敏感网络(TSN) 的交换机,交换机会根据 IEEE 802.1AS 等标准实现时间同步。
- 交换机通过 时间戳 和 调度机制 确保实时数据(如传感器数据、控制信号)的低延迟传输。
3.2 车载交换机的关键技术
车载交换机的工作原理依赖于以下关键技术:
(1)MAC 地址表
- MAC 地址表记录了每个设备的 MAC 地址与其连接的交换机端口的映射关系。
- 交换机通过学习和更新 MAC 地址表,实现高效的数据转发。
(2)VLAN(虚拟局域网)
- VLAN 技术将网络划分为多个逻辑段,隔离不同类型的流量(如控制信号、视频流、诊断数据)。
- 交换机通过 VLAN ID 标识不同的网络段,确保数据仅在特定段内传输。
(3)流量控制
- 交换机通过 IEEE 802.3x 流量控制 或 优先级队列 管理网络流量,避免拥塞和数据丢失。
- 高优先级的数据(如实时控制信号)会被优先转发。
(4)时间敏感网络(TSN)
- TSN 技术支持时间同步、流量调度和低延迟通信,适用于实时性要求高的应用(如 ADAS 和自动驾驶)。
- 交换机通过 TSN 机制确保关键数据的实时传输。
(5)冗余与可靠性
- 车载交换机通常支持 冗余网络拓扑(如环形拓扑),确保在某个链路故障时,数据仍能通过其他路径传输。
- 交换机通过 快速生成树协议(RSTP) 或 介质冗余协议(MRP) 实现快速故障恢复。
3.3 车载交换机的工作示例
以下是一个 车载交换机工作原理 的详细示例,包含具体的 报文数据。假设场景如下:
- 网络设备:
- 车载交换机:支持 VLAN 和 TSN。
- 摄像头:IP 地址
192.168.1.2
,MAC 地址00:1B:2C:3D:4E:5F
,连接交换机端口 1。 - ECU(电子控制单元):IP 地址
192.168.1.3
,MAC 地址00:1C:2D:3E:4F:5A
,连接交换机端口 2。 - 雷达:IP 地址
192.168.1.4
,MAC 地址00:1D:2E:3F:4A:5B
,连接交换机端口 3。
- VLAN 配置:
- 摄像头和 ECU 属于 VLAN 10。
- 雷达属于 VLAN 20。
- TSN 支持:交换机支持时间敏感网络(TSN),确保实时数据的低延迟传输。
1. 数据接收
摄像头通过端口 1 发送一个数据包到交换机,目标 MAC 地址为 ECU 的 MAC 地址。
-
报文数据:
- 源 MAC 地址:
00:1B:2C:3D:4E:5F
(摄像头) - 目标 MAC 地址:
00:1C:2D:3E:4F:5A
(ECU) - VLAN ID:
10
- 数据内容:
车速:60 km/h,温度:25°C
- 源 MAC 地址:
-
报文示例:
Ethernet Header: Destination MAC: 00:1C:2D:3E:4F:5A Source MAC: 00:1B:2C:3D:4E:5F VLAN Tag: 10 IP Header: Destination IP: 192.168.1.3 Source IP: 192.168.1.2 Data Payload: 车速:60 km/h,温度:25°C
2. MAC 地址表查询
交换机读取数据包的源 MAC 地址和目标 MAC 地址,并更新 MAC 地址表。
-
MAC 地址表更新:
- 端口 1:
00:1B:2C:3D:4E:5F
(摄像头) - 端口 2:
00:1C:2D:3E:4F:5A
(ECU)
- 端口 1:
-
查询结果:
- 目标 MAC 地址
00:1C:2D:3E:4F:5A
绑定到端口 2。
- 目标 MAC 地址
3. 数据转发
交换机根据 MAC 地址表将数据包从端口 1 转发到端口 2,发送给 ECU。
-
转发后的报文数据:
- 源 MAC 地址:
00:1B:2C:3D:4E:5F
(摄像头) - 目标 MAC 地址:
00:1C:2D:3E:4F:5A
(ECU) - VLAN ID:
10
- 数据内容:
车速:60 km/h,温度:25°C
- 源 MAC 地址:
-
报文示例:
Ethernet Header: Destination MAC: 00:1C:2D:3E:4F:5A Source MAC: 00:1B:2C:3D:4E:5F VLAN Tag: 10 IP Header: Destination IP: 192.168.1.3 Source IP: 192.168.1.2 Data Payload: 车速:60 km/h,温度:25°C
4. 流量控制
如果端口 2 的负载过高,交换机会通过 IEEE 802.3x 流量控制 通知摄像头暂停发送数据。
-
流量控制报文:
- 类型:
0x8808
(IEEE 802.3x 流量控制) - 操作码:
0x0001
(暂停) - 暂停时间:
100 ms
- 类型:
-
报文示例:
Ethernet Header: Destination MAC: 01:80:C2:00:00:01 (IEEE 802.3x 组播地址) Source MAC: 00:1A:2B:3C:4D:5E (交换机 MAC) Control Frame: Type: 0x8808 Opcode: 0x0001 Pause Time: 100 ms
5. 时间同步(TSN 支持)
交换机支持 TSN,为数据包添加时间戳,并根据调度机制确保数据包在指定时间内到达 ECU。
-
时间戳报文:
- 时间戳:
1633035600.123456
(Unix 时间戳,精确到微秒) - 调度优先级:
高
- 时间戳:
-
报文示例:
Ethernet Header: Destination MAC: 00:1C:2D:3E:4F:5A Source MAC: 00:1B:2C:3D:4E:5F VLAN Tag: 10 TSN Header: Timestamp: 1633035600.123456 Priority: High IP Header: Destination IP: 192.168.1.3 Source IP: 192.168.1.2 Data Payload: 车速:60 km/h,温度:25°C
6. 错误检测与处理
交换机通过 CRC(循环冗余校验) 检测数据包是否在传输过程中发生错误。
- CRC 校验:
- 计算数据包的 CRC 值,并与报文中的 CRC 字段进行比较。
- 如果 CRC 校验失败,交换机会丢弃数据包。
7. 冗余与故障恢复
交换机支持 冗余网络拓扑(如环形拓扑),确保在某个链路故障时,数据仍能通过其他路径传输。
- 故障检测:
- 如果端口 2 发生故障,交换机会通过 快速生成树协议(RSTP) 或 介质冗余协议(MRP) 重新计算路径。
- 数据包通过备用路径(如端口 3)转发。
以上示例展示了车载交换机的工作原理,包括数据接收、MAC 地址表查询、数据转发、流量控制、时间同步、错误检测和冗余机制。车载交换机通过高效的数据转发和网络管理,确保车载网络的高性能和可靠性,满足 ADAS 和自动驾驶等应用的需求。
3.4 MAC地址表
车载交换机的 MAC 地址表 是其核心功能之一,用于记录网络中设备的 ==MAC 地址与其连接的交换机端口的映射关系。==通过 MAC 地址表,交换机能够高效地转发数据包,避免广播泛洪。以下是 MAC 地址表的工作原理及示例,包含具体的报文数据。
3.4.1 MAC 地址表的工作原理
(1)MAC 地址表的功能
- 记录映射关系:MAC 地址表记录了每个设备的 MAC 地址与其连接的交换机端口的映射关系。
- 数据转发:交换机根据 MAC 地址表将数据包从输入端口转发到正确的输出端口。
- 动态更新:交换机通过 学习机制 动态更新 MAC 地址表。
(2)MAC 地址表的学习机制
- 当交换机从某个端口接收到数据包时,会读取数据包的 源 MAC 地址。
- 交换机会将源 MAC 地址与接收端口绑定,并更新 MAC 地址表。
- 如果 MAC 地址表中已经存在该 MAC 地址,交换机会更新其对应的端口和生存时间。
(3)MAC 地址表的查询机制
- 当交换机需要转发数据包时,会读取数据包的 目标 MAC 地址。
- 交换机会查询 MAC 地址表,找到目标 MAC 地址对应的端口。
- 如果目标 MAC 地址不在表中,交换机会将数据包 广播 到所有端口(泛洪)。
(4)MAC 地址表的超时机制
- 每个 MAC 地址表项都有一个 生存时间(TTL),通常为 300 秒。
- 如果某个 MAC 地址在生存时间内没有再次出现,交换机会将其从表中删除。
3.4.2 MAC 地址表示例
假设车载交换机的 MAC 地址表初始为空,以下是其工作流程及报文数据示例。
(1)初始状态
- MAC 地址表:空
(2)摄像头发送数据包
摄像头通过端口 1 发送一个数据包到交换机,目标 MAC 地址为 ECU 的 MAC 地址。
-
报文数据:
- 源 MAC 地址:
00:1B:2C:3D:4E:5F
(摄像头) - 目标 MAC 地址:
00:1C:2D:3E:4F:5A
(ECU) - 数据内容:
车速:60 km/h
- 源 MAC 地址:
-
报文示例:
Ethernet Header: Destination MAC: 00:1C:2D:3E:4F:5A Source MAC: 00:1B:2C:3D:4E:5F IP Header: Destination IP: 192.168.1.3 Source IP: 192.168.1.2 Data Payload: 车速:60 km/h
-
交换机操作:
- 交换机读取源 MAC 地址
00:1B:2C:3D:4E:5F
,并将其与端口 1 绑定。 - 更新 MAC 地址表:
MAC 地址 端口 00:1B:2C:3D:4E:5F
1
- 交换机读取源 MAC 地址
(3)ECU 发送数据包
ECU 通过端口 2 发送一个数据包到交换机,目标 MAC 地址为摄像头的 MAC 地址。
-
报文数据:
- 源 MAC 地址:
00:1C:2D:3E:4F:5A
(ECU) - 目标 MAC 地址:
00:1B:2C:3D:4E:5F
(摄像头) - 数据内容:
确认收到车速数据
- 源 MAC 地址:
-
报文示例:
Ethernet Header: Destination MAC: 00:1B:2C:3D:4E:5F Source MAC: 00:1C:2D:3E:4F:5A IP Header: Destination IP: 192.168.1.2 Source IP: 192.168.1.3 Data Payload: 确认收到车速数据
-
交换机操作:
- 交换机读取源 MAC 地址
00:1C:2D:3E:4F:5A
,并将其与端口 2 绑定。 - 更新 MAC 地址表:
MAC 地址 端口 00:1B:2C:3D:4E:5F
1 00:1C:2D:3E:4F:5A
2
- 交换机读取源 MAC 地址
(4)雷达发送数据包
雷达通过端口 3 发送一个数据包到交换机,目标 MAC 地址为 ECU 的 MAC 地址。
-
报文数据:
- 源 MAC 地址:
00:1D:2E:3F:4A:5B
(雷达) - 目标 MAC 地址:
00:1C:2D:3E:4F:5A
(ECU) - 数据内容:
前方障碍物距离:10 米
- 源 MAC 地址:
-
报文示例:
Ethernet Header: Destination MAC: 00:1C:2D:3E:4F:5A Source MAC: 00:1D:2E:3F:4A:5B IP Header: Destination IP: 192.168.1.3 Source IP: 192.168.1.4 Data Payload: 前方障碍物距离:10 米
-
交换机操作:
- 交换机读取源 MAC 地址
00:1D:2E:3F:4A:5B
,并将其与端口 3 绑定。 - 更新 MAC 地址表:
MAC 地址 端口 00:1B:2C:3D:4E:5F
1 00:1C:2D:3E:4F:5A
2 00:1D:2E:3F:4A:5B
3
- 交换机读取源 MAC 地址
(5)数据转发
当交换机需要转发数据包时,会查询 MAC 地址表。例如:
- 如果目标 MAC 地址是
00:1C:2D:3E:4F:5A
(ECU),交换机会将数据包转发到端口 2。 - 如果目标 MAC 地址不在表中,交换机会将数据包广播到所有端口。
3.4.3 MAC 地址表的超时机制
- 如果某个 MAC 地址在生存时间(例如 300 秒)内没有再次出现,交换机会将其从表中删除。
- 例如,如果摄像头在 300 秒内没有发送数据,交换机会删除其 MAC 地址表项:
MAC 地址 端口 00:1C:2D:3E:4F:5A
2 00:1D:2E:3F:4A:5B
3
车载交换机的 MAC 地址表通过动态学习和更新机制,记录了网络中设备的 MAC 地址与其连接端口的映射关系。通过查询 MAC 地址表,交换机能够高效地转发数据包,避免广播泛洪。MAC 地址表的超时机制确保了表的实时性和准确性。
4 总结
以上详细介绍了车载交换机的功能、工作原理、通信机制示例、MAC地址表机制以及示例;能更好地帮助大家理解车载以太网的通信,希望能对大家有所帮助!