gPTP Master 报文的源 MAC 地址

1. 标准答案

报文类型 源 MAC 地址 说明

Sync FPGA-PL Port12 的单播 MAC 发送端口的物理 MAC

Follow_Up FPGA-PL Port12 的单播 MAC 与 Sync 相同

结论 :Sync 和 Follow_Up 的源 MAC 地址相同,都是发送该报文的物理端口(FPGA-PL Port12)的单播 MAC 地址。

2. 报文结构对比

复制代码
gPTP 报文帧结构 (Ethernet Layer 2):

┌─────────────────┬─────────────────┬─────────────┬──────────────────┐
│   目的 MAC      │    源 MAC       │  EtherType  │     PTP Payload    │
├─────────────────┼─────────────────┼─────────────┼──────────────────┤
│ 01-80-C2-00-00- │ FPGA-PL Port12  │   0x88F7    │  Sync / Follow_Up │
│       0E        │  的单播 MAC     │  (PTP协议)  │  / Announce ...   │
│  (多播地址)      │  (例如: 00-1A...)│             │                   │
└─────────────────┴─────────────────┴─────────────┴──────────────────┘

关键区别

  • 目的 MAC = 01-80-C2-00-00-0E(多播,所有 PTP 设备接收)
  • 源 MAC = 发送端口的单播 MAC(标识具体的 Master 设备)

3. 在当前拓扑中的对应关系

复制代码
FPGA-PL (gPTP Master)
├─ Port12 (XFI 10Gbps)
│   ├─ MAC 地址: 00:1A:2B:3C:4D:5E (示例)
│   │           ↑ 这是源 MAC
│   │
│   └─ 发送 Sync/Follow_Up
│       │
│       ▼
SWITCH1 Port12 (接收)
├─ 识别源 MAC: 00:1A:2B:3C:4D:5E
├─ 识别目的 MAC: 01-80-C2-00-00-0E
├─ 判断: 这是 PTP 报文 → 转发到所有 PTP 使能端口
└─ 更新 CF (Correction Field)

4. 源 MAC 的具体值

4.1 如何查看 FPGA-PL 的 MAC 地址

复制代码
# 方法1: 通过 ethtool 查看永久 MAC
$ ethtool -P eth0
Permanent address: 00:1a:2b:3c:4d:5e

# 方法2: 通过 ifconfig/ip 查看当前 MAC
$ ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff

# 方法3: 读取 sysfs
$ cat /sys/class/net/eth0/address
00:1a:2b:3c:4d:5e

4.2 FPGA 板卡的 MAC 地址来源

来源 说明

EEPROM/Flash 出厂烧录的 OUI + 唯一序列号

FPGA 设计 通过 RTL 代码硬编码

软件配置 启动脚本通过 ifconfig 设置

Bootloader U-Boot 传递的设备树参数

5. 为什么 Sync 和 Follow_Up 源 MAC 相同?

复制代码
时间轴:
T1 ─┤ FPGA-PL 发送 Sync (源 MAC = 00:1A:2B:3C:4D:5E)
    │   │
    │   └── 报文内容:
    │       ├─ 目的 MAC: 01-80-C2-00-00-0E
    │       ├─ 源 MAC: 00:1A:2B:3C:4D:5E  ← 同一个端口
    │       └─ PTP 类型: Sync (0x0)
    │
T1'─┤ FPGA-PL 发送 Follow_Up (源 MAC = 00:1A:2B:3C:4D:5E)
    │   │
    │   └── 报文内容:
    │       ├─ 目的 MAC: 01-80-C2-00-00-0E
    │       ├─ 源 MAC: 00:1A:2B:3C:4D:5E  ← 同一个端口!
    │       └─ PTP 类型: Follow_Up (0x8)
    │       └─ 携带 T1 精确时间戳

原因

  • Sync 和 Follow_Up 是一对报文 ,由同一个端口发送
  • 在 two-step 模式下,Follow_Up 紧接着 Sync 发送
  • 两个报文的目的 MAC 相同,源 MAC 也相同

6. 交换机如何处理源 MAC?

复制代码
SWITCH1 (BCM89586) 接收到 Sync/Follow_Up 后的处理:

1. 读取目的 MAC = 01-80-C2-00-00-0E
   └─ 判断: 这是 PTP 多播地址,需要特殊处理

2. 读取源 MAC = 00:1A:2B:3C:4D:5E
   └─ 记录: 这是 PTP GrandMaster 的 MAC
   └─ 用于: 后续构建转发表/过滤表

3. PTP 引擎处理:
   ├─ Port12 (Slave Port) 接收
   ├─ 测量进入时间 (t_rx)
   ├─ 计算驻留时间 (residence = t_tx - t_rx)
   ├─ 更新 CF (Correction Field)
   └─ 泛洪到所有 Master 端口 (Port0~11, 16, 14)

4. 转发时:
   ├─ 源 MAC 保持不变 (还是 00:1A:2B:3C:4D:5E)
   ├─ 目的 MAC 保持不变 (还是 01-80-C2-00-00-0E)
   └─ CF 值被更新 (加上本交换机的驻留时间)

重要 :交换机在转发时不会修改源 MAC,只是更新 CF 字段。

7. 抓包验证

复制代码
# 抓取 gPTP 报文,显示源/目的 MAC
$ tcpdump -i eth0 -e -vvv ether proto 0x88f7

# 预期输出:
# 14:30:01.123456 00:1a:2b:3c:4d:5e > 01:80:c2:00:00:0e, ethertype PTP (0x88f7), length 64
#   PTPv2, Sync message, length 44
#   domain 0, correction 0ns
#
# 14:30:01.123500 00:1a:2b:3c:4d:5e > 01:80:c2:00:00:0e, ethertype PTP (0x88f7), length 64
#   PTPv2, Follow_Up message, length 44
#   domain 0, originTimestamp: 1725123456.123456789

# 注意:
# - 源 MAC 始终是 00:1a:2b:3c:4d:5e (FPGA-PL 的 MAC)
# - 目的 MAC 始终是 01:80:c2:00:00:0e (PTP 多播)

8. 常见误区

误区 正确理解

9. 一句话总结

gPTP Master (FPGA-PL) 发送的 Sync 和 Follow_Up 报文,源 MAC 地址都是 FPGA-PL Port12 端口的单播 MAC 地址(如 00:1A:2B:3C:4D:5E**),目的 MAC 地址都是** 01-80-C2-00-00-0E**(PTP 多播)。交换机在转发过程中不会改变源 MAC,只会更新 CF 字段。**

相关推荐
2301_7931210419 小时前
基于单片机的水平角度仪系统设计
单片机·嵌入式硬件
KaifuZeng19 小时前
通信与接口协议面试十、PCIe
单片机·嵌入式硬件·面试·通信与接口协议
lzx1864884370219 小时前
【AH8966】可替代 KP3211 非隔离 AC110220V转12V 0.5A 降压转换芯片
人工智能·单片机·嵌入式硬件·集成测试·硬件工程·ic
csg110720 小时前
PIC单片机防破解:从硬件到软件的全面防护
单片机·嵌入式硬件·物联网·自动化
电化学仪器白超21 小时前
低阻域 ADC 与参考源选型理论分析
人工智能·python·单片机·嵌入式硬件·自动化
bu_shuo1 天前
STM32-BOOT的三种启动方式
stm32·单片机·嵌入式硬件
YYRAN_ZZU1 天前
Lattice 自定义IP业务逻辑核
嵌入式硬件·fpga开发
AI的探索之旅1 天前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
ACP广源盛139246256731 天前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件