Time-Sensitive Networking(TSN)をWiresharkで調べてみた

本サイトはアフィリエイト広告を利用しています。
産業用イーサネット

Time-Sensitive Networking(TSN)のパケットを確認してみました。

TSNネットワークの極一部ですが、Wiresharkで調べています。

実行環境からTSN通信の中身(プロトコル・パケット)まで紹介します。

 

スポンサーリンク

Time-Sensitive Networking(TSN)をWiresharkで調べてみた

Time-Sensitive Networking(TSN)について調べてみました。

実際にTSN通信している中で、Wiresharkでパケットキャプチャしました。

どのようなプロトコル・パケットの中身だったか含めて紹介します。

 

TSNの通信環境

テスト環境は「PTP対応のLANカード(NIC)」と「TSN対応のFPGAボード(KR260)」です。

  • PTP対応のLANカード(NIC)…Master
  • TSN対応のFPGAボード(KR260)…Slave

 

PTP対応のLANカード(NIC)の詳細については下記記事で紹介しています。

IEEE-1588/PTP対応のLANカード(NIC)を動かしてみた

IEEE-1588/PTP対応のLANカード(NIC)を動かしてみた
IEEE-1588/PTP対応のLANカード(NIC)を購入してみました。 実際にPCにカードを取り付けて、PTPの動作確認まで実施しています LANカード(NIC)の選定から、PTP通信までの内容を紹介します。

 

またTSNに対応のFPGAボード(KR260)に関しては下記記事で紹介しています。

KR260を購入してUbuntuを動かすまでのメモ

KR260を購入してUbuntuを動かすまでのメモ
XilinxのKria KR260のロボティクス スターター キットを買ってみました。 Digi-Keyから個人で購入しています。 Ubuntuを動かすまでの流れを紹介します。

 

TSNの時刻同期について下記記事で紹介しています。

PTP対応したLANカードへのWiresharkの使い方も一緒に説明しています。

TSNの時刻同期の仕組み。IEEE 802.1QBVを試してみた

TSNの時刻同期の仕組み。IEEE 802.1QBVを試してみた
TSNの時刻同期の仕組みの重要なポイントである、IEEE 802.1QBVを試してみました。 通信トラフィックをスケジューリングする仕様を確認しています。 実際の通信テストから解析方法まで紹介します。

 

TSNイーサネットをパケットキャプチャする

今回はTSN通信が確立した段階で、Wiresharkにてパケットキャプチャしています。

特にデータは送信していない状態を測定しています。

ただTSN通信中は伝送遅延の測定のため、メッセージ・パケットが飛び交っています。

 

Wiresharkの画面を見ると、下記の形です。

 

ほんの一部箇所ですが、TSNのパケット一覧と詳細を確認していきます。

主に伝送遅延を測定している下記箇所を中心に見てみました。

・Sync Message
・Follow_Up Message
・Peer_Delay_Req Message
・Peer_Delay_Resp Message
・Peer_Delay_Resp_Follow_Up Message

 

パケットの一覧

パケットの一連の流れが分かるところを切り出して貼り付けています。

Master(マスター)・Slave(スレーブ)のSource名は下記表記です。

  • PTP対応のLANカード(NIC)…Master ※Source名→Shenzhen_52:9d:82
  • TSN対応のFPGAボード(KR260)…Slave ※Source名→Xilinx_00:01:2e

 

確認すると、主なTSN通信の特徴が出ていました。

  • ProtocolはPTP(v2) ※詳細にはgPTPというPTPv2の軽量版
  • DestinationはLLDP_Multicast ※L2(レイヤー2)のネットワーク層
  • Sync→Follow Up が続く。 ※FOLLOW_UPメッセージ
  • 端末(Peer)間の遅延調整Req→Resp→Resp_Follow_Up ※P2Pメカニズム
Summary

No.	Time	Source	Destination	Protocol	Length	Info
1	0.000000000	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
2	0.000174983	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
3	0.125300587	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
4	0.125531406	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
5	0.250403092	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
6	0.250472578	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
7	0.375716230	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
8	0.375960516	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
9	0.416877165	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Req Message
10	0.417025390	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp Message
11	0.417247412	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp_Follow_Up Message
12	0.500946729	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
13	0.501137761	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
14	0.626243271	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
15	0.626448279	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
16	0.751507776	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
17	0.751614653	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
18	0.793432990	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Req Message
19	0.793641806	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp Message
20	0.793742217	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp_Follow_Up Message
21	0.876812479	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
22	0.877045171	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message

 

TSN通信の特徴・設定に関しては下記記事でも紹介しています

TSNとPTPの違いは?通信テストの設定・ログから確認してみた

TSNとPTPの違いは?通信テストの設定・ログから確認してみた
TSNの環境構築して、PTPの通信テストを行いました。 そしてテストしたPTPの設定が、TSNの規格に適応しているのか確認してみました。 設定・ログを見直しながら、PTPとTSNの違いを確認した内容を紹介します。

 

Sync Message

各メッセージの詳細も紹介していきます。

最初にSync Messageです。ネットワークの伝送遅延時間の測定に必要なものです。

7 0.375716230 Shenzhen_52:9d:82 LLDP_Multicast PTPv2 58 Sync Message

Frame 7: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 06:43:03.349482690 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678484583.349482690 seconds
    [Time delta from previous captured frame: 0.125243652 seconds]
    [Time delta from previous displayed frame: 0.125243652 seconds]
    [Time since reference or first frame: 0.375716230 seconds]
    Frame Number: 7
    Frame Length: 58 bytes (464 bits)
    Capture Length: 58 bytes (464 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ptp]
    [Coloring Rule Name: Broadcast]
    [Coloring Rule String: eth[0] & 1]
Ethernet II, Src: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
        Address: LLDP_Multicast (01:80:c2:00:00:0e)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
    Source: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
        Address: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: PTPv2 over Ethernet (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)
    0001 .... = transportSpecific: 0x1
    .... 0000 = messageId: Sync Message (0x0)
    0000 .... = Reserved: 0
    .... 0010 = versionPTP: 2
    messageLength: 44
    subdomainNumber: 0
    Reserved: 0
    flags: 0x0200
    correction: 0.000000 nanoseconds
    Reserved: 0
    ClockIdentity: 0x6cb311fffe529d82
    SourcePortID: 1
    sequenceId: 435
    control: Sync Message (0)
    logMessagePeriod: -3
    originTimestamp (seconds): 0
    originTimestamp (nanoseconds): 0

 

Follow_Up Message

次にFollow_Up Messageです。より高精度に伝送遅延時間の測定できます。

8 0.375960516 Shenzhen_52:9d:82 LLDP_Multicast PTPv2 90 Follow_Up Message

Frame 8: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 06:43:03.349726976 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678484583.349726976 seconds
    [Time delta from previous captured frame: 0.000244286 seconds]
    [Time delta from previous displayed frame: 0.000244286 seconds]
    [Time since reference or first frame: 0.375960516 seconds]
    Frame Number: 8
    Frame Length: 90 bytes (720 bits)
    Capture Length: 90 bytes (720 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ptp]
    [Coloring Rule Name: Broadcast]
    [Coloring Rule String: eth[0] & 1]
Ethernet II, Src: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
        Address: LLDP_Multicast (01:80:c2:00:00:0e)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
    Source: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
        Address: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: PTPv2 over Ethernet (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)
    0001 .... = transportSpecific: 0x1
    .... 1000 = messageId: Follow_Up Message (0x8)
    0000 .... = Reserved: 0
    .... 0010 = versionPTP: 2
    messageLength: 76
    subdomainNumber: 0
    Reserved: 0
    flags: 0x0000
    correction: 0.000000 nanoseconds
    Reserved: 0
    ClockIdentity: 0x6cb311fffe529d82
    SourcePortID: 1
    sequenceId: 435
    control: Follow_Up Message (2)
    logMessagePeriod: -3
    preciseOriginTimestamp (seconds): 1678484583
    preciseOriginTimestamp (nanoseconds): 97941120
    Follow Up information TLV

 

Peer_Delay_Req Message

Peer_Delay_Req Messageです。

このメッセージではスレーブのFPGAボード(KR260)側から遅延測定の要求しています。

※後のNo18のメッセージのように、マスター側のLANカードからも要求する場合もあります。

9 0.416877165 Xilinx_00:01:2e LLDP_Multicast PTPv2 68 Peer_Delay_Req Message

Frame 9: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 06:43:03.390643625 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678484583.390643625 seconds
    [Time delta from previous captured frame: 0.040916649 seconds]
    [Time delta from previous displayed frame: 0.040916649 seconds]
    [Time since reference or first frame: 0.416877165 seconds]
    Frame Number: 9
    Frame Length: 68 bytes (544 bits)
    Capture Length: 68 bytes (544 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ptp]
    [Coloring Rule Name: Broadcast]
    [Coloring Rule String: eth[0] & 1]
Ethernet II, Src: Xilinx_00:01:2e (00:0a:35:00:01:2e), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
    Source: Xilinx_00:01:2e (00:0a:35:00:01:2e)
    Type: PTPv2 over Ethernet (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)
    0001 .... = transportSpecific: 0x1
    .... 0010 = messageId: Peer_Delay_Req Message (0x2)
    0000 .... = Reserved: 0
    .... 0010 = versionPTP: 2
    messageLength: 54
    subdomainNumber: 0
    Reserved: 0
    flags: 0x0000
    correction: 0.000000 nanoseconds
    Reserved: 0
    ClockIdentity: 0x000a35fffe00012e
    SourcePortID: 1
    sequenceId: 56
    control: Other Message (5)
    logMessagePeriod: 0

 

Peer_Delay_Resp Message

Peer_Delay_Resp Messageです。

スレーブ側からの遅延測定のためのメッセージに対して、マスター側が応答しています。

10 0.417025390 Shenzhen_52:9d:82 LLDP_Multicast PTPv2 68 Peer_Delay_Resp Message

Frame 10: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 06:43:03.390791850 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678484583.390791850 seconds
    [Time delta from previous captured frame: 0.000148225 seconds]
    [Time delta from previous displayed frame: 0.000148225 seconds]
    [Time since reference or first frame: 0.417025390 seconds]
    Frame Number: 10
    Frame Length: 68 bytes (544 bits)
    Capture Length: 68 bytes (544 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ptp]
    [Coloring Rule Name: Broadcast]
    [Coloring Rule String: eth[0] & 1]
Ethernet II, Src: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
    Source: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
    Type: PTPv2 over Ethernet (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)
    0001 .... = transportSpecific: 0x1
    .... 0011 = messageId: Peer_Delay_Resp Message (0x3)
    0000 .... = Reserved: 0
    .... 0010 = versionPTP: 2
    messageLength: 54
    subdomainNumber: 0
    Reserved: 0
    flags: 0x0200
    correction: 0.000000 nanoseconds
    Reserved: 0
    ClockIdentity: 0x6cb311fffe529d82
    SourcePortID: 1
    sequenceId: 56
    control: Other Message (5)
    logMessagePeriod: 127
    requestreceiptTimestamp (seconds): 1678484583
    requestreceiptTimestamp (nanoseconds): 138839030
    requestingSourcePortIdentity: 0x000a35fffe00012e
    requestingSourcePortId: 1

 

Peer_Delay_Resp_Follow_Up Message

Peer_Delay_Resp_Follow_Up Messageです。

高精度に遅延測定するために、Respの後にもFollowupメッセージを送ります。

11 0.417247412 Shenzhen_52:9d:82 LLDP_Multicast PTPv2 68 Peer_Delay_Resp_Follow_Up Message

Frame 11: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 06:43:03.391013872 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678484583.391013872 seconds
    [Time delta from previous captured frame: 0.000222022 seconds]
    [Time delta from previous displayed frame: 0.000222022 seconds]
    [Time since reference or first frame: 0.417247412 seconds]
    Frame Number: 11
    Frame Length: 68 bytes (544 bits)
    Capture Length: 68 bytes (544 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ptp]
    [Coloring Rule Name: Broadcast]
    [Coloring Rule String: eth[0] & 1]
Ethernet II, Src: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
    Source: Shenzhen_52:9d:82 (6c:b3:11:52:9d:82)
    Type: PTPv2 over Ethernet (IEEE1588) (0x88f7)
Precision Time Protocol (IEEE1588)
    0001 .... = transportSpecific: 0x1
    .... 1010 = messageId: Peer_Delay_Resp_Follow_Up Message (0xa)
    0000 .... = Reserved: 0
    .... 0010 = versionPTP: 2
    messageLength: 54
    subdomainNumber: 0
    Reserved: 0
    flags: 0x0000
    correction: 0.000000 nanoseconds
    Reserved: 0
    ClockIdentity: 0x6cb311fffe529d82
    SourcePortID: 1
    sequenceId: 56
    control: Other Message (5)
    logMessagePeriod: 127
    responseOriginTimestamp (seconds): 1678484583
    responseOriginTimestamp (nanoseconds): 139245728
    requestingSourcePortIdentity: 0x000a35fffe00012e
    requestingSourcePortId: 1

 

まとめ

Time-Sensitive Networking(TSN)のパケットをWiresharkで確認してみました。

TSN通信の中身(プロトコル・パケット)まで解析できています。

 

下記記事にて、筆者個人でTSN通信テストした内容をまとめています。

よろしければ一緒にご覧ください。(リンク先はこちら)

TSN通信の仕組みのまとめ。実際にテスト・調べてみた

TSN通信の仕組みのまとめ。実際にテスト・調べてみた
TSN(Time Sensitive Networking)について、開発・調査してみました。 今までに調べた内容を、一つの記事にまとめて紹介します。 個人でもTSNの環境構築から実装・通信テストまで可能です。

コメント