TSNネットワークでTalkerからパケットを送って解析してみた

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

TSNのネットワーク環境でTalkerとしてパケット送信してみました。

1パケットを送信した場合、Wiresharkでキャプチャして解析しています。

どのようなプロトコルで送信されているか確認してみました。

 

スポンサーリンク

TSNネットワークでTalkerからパケットを送って解析してみた

TSNのネットワーク環境でTalker側からパケットを送ってみました。

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を動かすまでの流れを紹介します。

 

Wiresharkの方でTSNの時刻同期を解析した内容を下記記事で紹介しています。

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

Time-Sensitive Networking(TSN)をWiresharkで調べてみた
Time-Sensitive Networking(TSN)のパケットを確認してみました。 TSNネットワークの極一部ですが、Wiresharkで調べています。 実行環境からTSN通信の中身まで紹介します。

 

TSNネットワークの中でパケットを送る

TSN通信が確立した状態でのテストです。

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

その中で任意のパケットを送り、Wiresharkでキャプチャしています。

 

スレーブ側から1パケットを送る

スレーブ側の環境であるXilinxのKR260の環境を利用して、パケットを送っています。

サンプルのスクリプトを基にTSNのtalkerを制御しました。

スクリプトの中身を見ると、tsn_talkerというものが働いています。

 

下記記事でも、同様にtsn_talkerを通信トラフィックの解析に利用しています。

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

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

 

実際に1パケットを送ったコマンド・履歴は下記です。

source /opt/xilinx/tsn-examples/bin/start_latency_test.sh -b

ubuntu@kria:~$ source /opt/xilinx/tsn-examples/bin/start_latency_test.sh -b
Please enter the password for sudo access
[sudo] password for ubuntu:
[2]+  Killed                  tail -f ~/.local/log/ptplog
Adding CAM entry
Dest mac- e0:e0:e0:e0:e0:e0, vlanid- 10, port- swp1, gateid- 3
For latency measurement, this test will send 1 packet
Using following arguments:
Interface: ep
Ethertype: 0x8100
Dest Mac: E0:E0:E0:E0:E0:E0
Src Mac: A0:A0:A0:A0:A0:A0
VLAN: 10
PCP: 1
txlen: 900
seq off: 0
pkt_limit: 1
duration: 0
ratelimit: 0
Trigger Enabled: true
Trigger Type: Publisher
Trigger Mode: SW
Trigger Id: 1
Trigger Oneshot: true
Using UIO device for Test PMOD controller:
        /sys/class/uio/uio4
PysicalBase = 0x80030000
Map Size = 0x1000
TPMod Cntrl Virt Addr: 0xffff9d369000

Starting traffic with dest_mac: e0:e0:e0:e0:e0:e0 vlan: 10 pcp: 1 pkt_size: 900
talker start time: sec: 0 ns: 0
 Triggered
Sent 1 packet for latency measurement
Deleting CAM entry
Dest mac- e0:e0:e0:e0:e0:e0, vlanid- 10

 

Wiresharkで解析

TSNのtalkerから送った1パケットを、マスター側のPCのWiresharkで確認しました。

 

1パケット送付した周辺の履歴が下記です。

464 20.319022039 a0:a0:a0:a0:a0:a0 e0:e0:e0:e0:e0:e0 LLC 900 [Malformed Packet]

No.	Time	Source	Destination	Protocol	Length	Info
457	20.033859507	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
458	20.033934006	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
459	20.141831505	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	78	Announce Message
460	20.159137202	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
461	20.159201907	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
462	20.284219697	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
463	20.284294008	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
464	20.319022039	a0:a0:a0:a0:a0:a0	e0:e0:e0:e0:e0:e0	LLC	900	[Malformed Packet]
465	20.320386021	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Req Message
466	20.320685920	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp Message
467	20.320686057	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp_Follow_Up Message
468	20.331936006	Xilinx_00:01:2e	LLDP_Multicast	PTPv2	68	Peer_Delay_Req Message
469	20.332046753	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp Message
470	20.332086119	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	68	Peer_Delay_Resp_Follow_Up Message
471	20.409289718	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
472	20.409407725	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
473	20.534584485	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message
474	20.534775263	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	90	Follow_Up Message
475	20.659868939	Shenzhen_52:9d:82	LLDP_Multicast	PTPv2	58	Sync Message

 

パケットの詳細が下記となります。プロトコルが「LLC」となっていました。

TSNのデータリンク層で応答している様子です。

[Malformed Packet: LLC]

Frame 464: 900 bytes on wire (7200 bits), 900 bytes captured (7200 bits) on interface enp4s0, id 0
    Interface id: 0 (enp4s0)
    Encapsulation type: Ethernet (1)
    Arrival Time: Mar 11, 2023 07:24:45.361316846 JST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1678487085.361316846 seconds
    [Time delta from previous captured frame: 0.034728031 seconds]
    [Time delta from previous displayed frame: 0.034728031 seconds]
    [Time since reference or first frame: 20.319022039 seconds]
    Frame Number: 464
    Frame Length: 900 bytes (7200 bits)
    Capture Length: 900 bytes (7200 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:vlan:ethertype:vlan:llc]
Ethernet II, Src: a0:a0:a0:a0:a0:a0 (a0:a0:a0:a0:a0:a0), Dst: e0:e0:e0:e0:e0:e0 (e0:e0:e0:e0:e0:e0)
    Destination: e0:e0:e0:e0:e0:e0 (e0:e0:e0:e0:e0:e0)
        Address: e0:e0:e0:e0:e0:e0 (e0:e0:e0:e0:e0:e0)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: a0:a0:a0:a0:a0:a0 (a0:a0:a0:a0:a0:a0)
        Address: a0:a0:a0:a0:a0:a0 (a0:a0:a0:a0:a0:a0)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN, PRI: 1, DEI: 0, ID: 10
    001. .... .... .... = Priority: Background (1)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 0000 1010 = ID: 10
    Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 0
    000. .... .... .... = Priority: Best Effort (default) (0)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 0000 0000 = ID: 0
    Length: 0
    Padding: 0405060708090a0b0c0d0e0f101112131415161718191a1b…
    Trailer: 2a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041…
[Malformed Packet: LLC]
    [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]

 

まとめ

簡単にですが、WiresharkでTSNの1パケットを解析してみました。

 

他にもTSNでテストした内容に関しては、下記記事でまとめています。

是非一緒にご覧ください。(リンク先はこちら)

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

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

コメント