PROFINET 网络拓扑图是如何生成的?

一些 PROFINET 网络调试和诊断工具,如西门子公司的 PRONETA 软件和 HMS 旗下 PROCENTEC Atlas 产品,能够在线扫描并生成整个 PROFINET 网络的拓扑图,这种拓扑图是如何生成的呢?


拓扑生成依赖 LLDP 协议

PROFINET 设备(Conformance Class - A)都需要支持 IEEE 802.1 AB 规范所定义的链路层发现协议(Link Layer Discovery Protocol)简称 LLDP,相互连接的 PROFINET 设备之间使用 LLDP 协议来交互连接信息,诊断工具通过读取这些信息来生成拓扑图。

💡 Tips

在 PROFINET 网络中应避免使用不支持 LLDP 协议的设备,如交换机等网络组件。

PROFINET 设备在启动后,将定期地通过每个已连接的端口对外发送 LLDP 以太网报文。


LLDP 报文格式

LLDP 以太网报文格式
LLDP 以太网报文格式
  • 目标 MAC 使用固定的多播地址 01:80:C2:00:00:0E, 确保所有的 PROFINET 设备都能正确接收此以太网帧,但任何收到此以太网帧的设备都不应进行转发。

  • 源 MAC 使用的是发送该以太网帧的 PROFINET 设备端口 MAC,同一个设备如果有多个端口,那么每个端口发送的 LLDP 源 MAC 都是不一样的

💡 Tips

PROFINET 设备有多个 MAC 地址,设备本身有 MAC 地址,设备的每一个端口也有其唯一的 MAC 地址。

  • 以太网类型使用固定值 0x88CC

Wireshark 实际抓包报文
  • LLDPDU 数据字段包含多个 IEEE 802.1AB 规定和 PNIO 扩展的 TLV(Type Length Value)

每一个 TLV 都至少包含以下三个字段:

  • 类型(Type)

  • 信息字符串长度(Information String Length)

  • 信息字符串(Information String)

下面为大家介绍 LLDPDU 里面包含的各种 TLV 内容。


LLDPDU 中 TLV 介绍

Chassis ID TLV

Chassis ID TLV 是 IEEE 802.1AB 规定的必需项

  • 当 PROFINET 设备的设备名称还未分配上,则 Sub Type=4,Chassis ID 里面实际包含的是 PROFINET 设备的设备 MAC

  • 当 PROFINET 设备的设备名称已经分配,则 Sub Type=7,Chassis ID 里面实际包含的是 PROFINET 设备的设备名称

Wireshark 实际抓包报文


Port ID TLV

Port ID TLV 是 IEEE 802.1AB 规定的必需项

里面包含的是发送该数据帧的设备端口号的字符串表示。

Wireshark 实际抓包报文


TTL TLV

TTL TLV 是 IEEE 802.1AB 规定的必需项

TTL 给出了数据的有效时长,单位为秒,由于只有 2 个字节长,因而最大有效时间是 65536 秒

如果在这个时间到期了还没有新的 LLDPDU 被收到,则该 TLV 所属的那个 LLDPDU 携带的信息会被从 MIB 中删除。

Wireshark 实际抓包报文


Management Address TLV

大多数 PROFINET 设备在发送 LLDP 帧时也会填充可选的 Management Address, TLV Type=8, 该 TLV 包含的是 PROFINET 设备正在使用的 IP 地址信息

Wireshark 实际抓包报文

当 TLV Type=127 时,Information String 中的格式可由其他组织进行扩展。


IEEE 802.3 TLV

IEEE 802.3 (OUI = 00:12:0F) 扩展了设备的 MAC/PHY 配置和状态信息,用于通知接收方其支持的 MAU 类型和当前使用的配置信息。

Wireshark 实际抓包报文


PNIO TLV

PNIO (OUI = 00:0E:CF) 通过扩展 LLDP 可以向接收方通知其延时测量值、端口状态、MRP 连接状态、设备 MAC 地址等信息。

Wireshark 实际抓包报文


End of LLDPDU TLV

在 LLDPDU 的最后都需要包含一个 End of LLDPDU TLV, 用于指示接收方

Wireshark 实际抓包报文


PROFINET 设备如何存储 LLDP 信息

支持 LLDP 的设备,会定期对外发送 LLDP 数据帧,也会实时更新其每个端口接收到的 LLDP 数据帧并进行解析。通过这种方式,LLDP 设备能够获悉其每个端口连接的邻居设备的详细信息,并会将这些信息保存到设备内部

PROFINET Conformance Class – A 等级的设备会将这些信息保存到 PDev 数据库中.

PROFINET Conformance Class – B 等级的设备也会向这些数据保存到 LLDP-MIB (Management Information Base) 数据库中。

PROFINET 网络调试和诊断工具,如西门子公司的 PRONETA 软件,可以通过扫描网络上所有设备,并读取设备上保存的 LLDP 信息,生成网络连接表,也可以通过可视化的方式生成网络拓扑图。

  • PDev 中保存的信息可以通过 PROFINET 非周期读取索引 PDPortDataReal

  • LLDP-MIB 中的信息可以通过标准的 SNMP 协议读取(需要设备是 PROFINET Conformance Class – B 等级)

  • 或者使用 PROFINET DCP 读取命令读取 StationNameAlias

示例

上图所示的连接通过读取网络上所有设备保存的 LLDP 信息,可以生成如下表所示的网络设备连接表,用于图形化的显示

💡 Tips

自 2022 年 9 月起,Ethernet/IP 设备如需一致性认证也需要支持 LLDP 协议

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 O PROFINET IO 网络拓扑 1.1 简介 从STEP 7 V5.4 SP 2开始支持网络拓扑组态, 您可以在拓扑上组态 PROFINET IO 系统。 有了拓扑组态,可以使用 PROFINET 的一些功能,例如“在操作期间更改 IO 设备”或 “设备更换无需存储介质/PG”。 在下列任务中,拓扑编辑器可为您提供支持: § 获得关于项目中 PROFINET 设备的所有部件的拓扑信息 § 采用简单的拖拽操作将接口和端口进行互连,然后在 PROFINET 上组态拓扑集,并设 置属性 拓扑编辑器具有一系列功能,可用于设置、互连和诊断包括端口在内的所有 PROFINET 设备的属性。可提供下列功能和信息: § 项目中所有 PROFINET 设备及其端口的显示 § 使用计算的信号运行时间,为每个端口组态电缆长度和组态电缆类型 § 通过本地识别各个 PRORINET 设备来互连数据 § 每个单独端口的 PRORINET 设备的诊断信息 § 通过在线/离线比较节点数据,简化默认检测 § 从图形视图调用诊断(模块信息) § 导入网络拓扑 设备操作在 PROFINET 拓扑环境中,必须支持简单网络管理协议(SNMP),链路层发现协 议(LLDP),物理设备(PDEV),发现和组态协议(DCP)。其中 PDEV 来源于 PNO 标准的以太 网接口/端口描述。其中包括 IP/MAC 地址,诊断,FO 属性,冗余,同步,邻接,参数化 等。对于支持 PDEV 的设备和不支持 PDEV 的设备,在 Step7 硬件组态中可以查看两者之 间的差异。其中支持 PDEV 的设备带有一个接口和 N 个端口。参考图 1 是否支持 PDEV 的 两类设备的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值