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)を動かしてみた
またTSNに対応のFPGAボード(KR260)に関しては下記記事で紹介しています。
Wiresharkの方でTSNの時刻同期を解析した内容を下記記事で紹介しています。
Time-Sensitive Networking(TSN)をWiresharkで調べてみた
TSNネットワークの中でパケットを送る
TSN通信が確立した状態でのテストです。
(TSN通信中は伝送遅延の測定のため、メッセージ・パケットが飛び交っています。)
その中で任意のパケットを送り、Wiresharkでキャプチャしています。
スレーブ側から1パケットを送る
スレーブ側の環境であるXilinxのKR260の環境を利用して、パケットを送っています。
サンプルのスクリプトを基にTSNのtalkerを制御しました。
スクリプトの中身を見ると、tsn_talkerというものが働いています。
下記記事でも、同様にtsn_talkerを通信トラフィックの解析に利用しています。
TSNの時刻同期の仕組み。IEEE 802.1QBVを試してみた
実際に1パケットを送ったコマンド・履歴は下記です。
source /opt/xilinx/tsn-examples/bin/start_latency_test.sh -b
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
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]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
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でテストした内容に関しては、下記記事でまとめています。
是非一緒にご覧ください。(リンク先はこちら)
コメント