この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
タイム センシティブ ネットワーク(TSN)とは何でしょうか。TSN を平たく言えば、標準的なイーサネットにおいて確定的なメッセージングを実現するため、IEEE 802.1Q によって定義された標準規格の技術です。TSN 技術は一元的に管理され、時間のスケジューリングを使用して、確定性が必要なリアルタイムのアプリケーションに対して配信および最小限のジッターを保証します。
TSN はレイヤー 2 技術です。IEEE 802.1Q 規格は、OSI のレイヤ 2 で動作します。TSN はイーサネットの規格であり、インターネット プロトコルの規格ではありません。TSN ブリッジが行う転送の判断には、IP アドレスではなくイーサネット ヘッダーの内容が使用されます。イーサネット フレームのペイロードはどのようなものでもよく、インターネット プロトコルに限定されません。つまり TSN は、標準的なイーサネット環境であればどこでも使用できるため、産業用アプリケーションやプロトコルの種類を問わずペイロードを伝送できます。
暗黙の要件として、TSN を実装するネットワーキング デバイス(エンド デバイスおよびブリッジ)は、時間の概念を共有する必要があります。共通の時間の概念を保持するためには、Precision Time Protocol(PTP)が使用されます。TSN での使用のために選ばれた PTP プロファイルは、IEEE 802.1AS および IEEE 802.1ASRev です。
確定性を実現するための鍵は、共有された時間の概念です。TSN のためには、すべてのネットワーク要素(エンド デバイスおよびブリッジ)で 802.1AS(および将来的には 802.1ASRev)を実装する必要があります。802.1AS PTP プロファイルは、すべての TSN ネットワーク要素が同じ時間の概念を共有することを可能にします。
802.1Qbv は、TSN フレームが時間どおりに配信されるようにするために不可欠です。Qbv は、特定の TSN イーサネット フレームをスケジュールどおりに送信しながら、TSN 以外のイーサネット フレームは TSN フレームに関するベスト エフォートに応じて送信されるようにするための手段を定義しています。すべてのネットワーク要素が同じ時間を共有しているため、Qbv を実装しているエンド デバイスおよびブリッジは、クリティカルな通信を非常に迅速に配信することができ、配信時にジッターを感じさせることがありません。
IEEE 802.1Qcc は、TSN ネットワーク管理を可能にするための管理インタ フェースとプロトコルに焦点を当てています。802.1Qcc は、多くの側面を含む大規模な仕様書です。シスコは、802.1Qcc で定義されている一元的なネットワーク管理方法を使用しています。
TSN システムには、次の 5 つの主要コンポーネントがあります。
TSN フロー:エンド デバイス間のタイム クリティカルな通信を表わす用語。各フローには厳密な時間要件があり、ネットワーキング デバイスはそれに従います。各 TSN フローは、ネットワーク デバイスによって一意に識別されます。
エンド デバイス:確定的通信を必要とするアプリケーション。これらは、トーカーおよびリスナーとも呼ばれます。
ブリッジ:イーサネット スイッチとも呼ばれます。TSN では、これらは、TSN フローのイーサネット フレームをスケジュールに従って送受信できる特別なブリッジになっています。
セントラル ネットワーク コントローラ(CNC):TSN において、CNC は、確定的通信を必要とするアプリケーションに対してプロキシ ネットワーク(TSN ブリッジとそれらの相互接続)の役割を果たします。CNC はスケジュールを定義し、すべての TSN フレームはそれに従って送信されます。CNC アプリケーションは、TSN ブリッジのベンダーによって提供されます。シスコは、TSN において自社の TSN ブリッジを制御するための CNC アプリケーションを開発しています。
一元的ユーザ設定(CUC):CNC およびエンド デバイスと通信するアプリケーションです。CUC は、制御アプリケーションとエンド デバイスのことをいいます。CUC は、確定的通信(TSN フロー)のため、各フローに個別の要件で CNC に要求を行います。CUC は、ベンダーによって異なるアプリケーションです。通常、TSN エンド デバイスのベンダーは、それらのエンド デバイスのための CUC を提供しています。
シスコは、IE 4000 製品ファミリで TSN をサポートしています。IE 4000 のすべてのモデルが TSN をサポートしています。Cisco IOS® ソフトウェアは、リリース 15.2(5)E2 以降で TSN 機能が利用可能になっています。IE 4000 はデータ パスに FPGA があり、それによって TSN のサポートが可能になっています。IE 4000 は TSN ブリッジとして動作します。IE 4000 は、IEEE 802.1Qbv および IEEE 802.1AS を実装しています。IE 4000 は、そのイーサネット インターフェイス全体で、数百の TSN フローをサポートします。
TSN セントラル ネットワーク コント ローラ(CNC)は、その名のとおり、ネットワーク内の TSN ブリッジを制御します。CNC は、(クラウドと違い、)お客様の構内で実行されるソフトウェア アプリケーションです。CNC アプリケーションを搭載するハードウェアに制約はなく、どのようなものでも使用できます。CNC には 2 つの主要な役割があります。1 つめの役割は、ブリッジ型ネットワークを経由する TSN フローのルートおよびスケジュールを決定することです。2 つめの役割は、TSN を動作させるための TSN ブリッジを設定することです。
CNC は、ネットワークが提供する必要がある通信要求を受信するため、CUC と通信します。CNC は、すべての要求を集約し、通信要求ごとに最適なパスを割り出し、各 TSN フローのエンドツーエンドの伝送をスケジュールしたうえで、算出されたスケジュールを各 TSN ブリッジに転送します。スケジュール計算の一環として、CNC は各 TSN フローに一意の識別情報を提供します。この一意の識別情報は、TSN ブリッジが TSN フローを区別するために使用されます。一意の識別情報には、宛先 MAC アドレス、VLAN ID、および CoS 値が含まれます。これらの 3 つの項目により、TSN ブリッジが TSN フローを識別することと、正しいスケジュールに基づいてフローを送信することが可能になります。
図 1 は、すべてのコンポーネントとそれらの間の関係を示します。CUC は、REST API を使用して CNC と通信します。CNC は、CUC と TSN ブリッジの両方と通信します。CUC は、トーカー/リスナーであるエンド デバイスと通信します。TSN ブリッジは、トーカーとリスナーの間の TSN フローのイーサネット フレームを切り替えます。
CUC と CNC の間の API は、シスコ TSN ドキュメンテーションの一部として定義されており、使用可能になっています。API は、CUC がネットワークにおける TSN フローを完全にプログラムするために必要なあらゆるもののために提供されています。
図 1 は、トーカーとリスナーが TSN 通信(TSN フローなど)の交換を開始できるようになる前に CUC と CNC との間で発生するメッセージのコントロール プレーン通信の流れを示します。
次の手順はワークフローに典型的なもので、各エンティティが相互に通信する方法と理由を示すことのみを目的として記載されています。免責事項:次の手順は、この順序でないと実行できないものではありません。
スケジュールの計算を正常に行えるようになる前に、CNC は、物理トポロジを学習する必要があります。エンジニアは CNC に対し、物理トポロジのディスカバリを行うよう(CUC 経由で)要求を開始します。CNC は、LLDP およびシード デバイスを使用して物理トポロジを参照し、各デバイスと、それらがどのように接続されているかを検出します。これには、LLDP をサポートするエンド デバイスが含まれます。
完了後、エンジニアは CNC に対し、検出されたトポロジを返すよう(CUC 経由で)要求を発行します。この時点でエンジニアは、必要に応じ、CNC がトポロジを正しく検出したかどうか確認します。
エンド ツー エンドの通信を定義することに責任を負うエンジニアによって行われます。エンジニアは、どのエンド デバイス(トーカー)が他のエンド デバイス(リスナー)と通信する必要があるかを割り出します。1 つの TSN フローに複数のリスナーがある場合もあるため、エンジニアには、すべてのリスナーを特定する責任があります。エンジニアは、通信のレイテンシ要件(たとえば、リスナーは伝送の開始から 500 マイクロ秒以内に受信すること)、送信されるイーサネット パケットの最大サイズ、およびその他の依存関係(たとえば、TSN フローの順序の有無)も定義することができます。CUC は、これをすべての TSN フロー要求について収集し、要求を受け付けるため、API を使用して CNC に送信します。
トポロジが検出されており、CNC がすべての TSN フロー要求を受信したことを確認したら、エンジニアは CNC に対し、スケジュールを計算するよう(CUC 経由で)要求を開始します。CNC は、この要求に対し、成功または失敗を返します。最終的なスケジュールは、CNC が物理トポロジを学習していないと算出できません。手順 3 は、手順 1 および 2 に依存します。
通常、ネットワーク エンジニアは、スケジュールを実行する前に、スケジュールを表示して確認を行います。エンジニアは CNC に対し、算出されたスケジュールの詳細を返すよう(CUC 経由で)要求します。これには、TSN フローに関与する各デバイスの詳細が含まれます。この詳細には、TSN を設定するためにエンド デバイスおよびブリッジに与える必要があるすべての情報が含まれます。
各 TSN フローの一意の識別情報(宛先 MAC アドレス、VLAN、CoS)
各ホップにおける送信の時間枠の開始と終了(トーカーとブリッジ)
各ホップにおける受信の時間枠の開始と終了(リスナーとブリッジ)
計算されたエンドツーエンド遅延
(注) | 手順 1 から 4 までは、必要な回数だけ繰り返すことができます。 |
スケジュールに問題がないと確認したら、エンジニアは CNC に対し、算出されたスケジュールを TSN ブリッジに配布するよう(CUC 経由で)要求を発行します。CUC は、TSN フローのトーカーとリスナーのプログラムも行います。トーカーには、すべての TSN フローをスケジュールに従って送信することが期待されます。
この手順は任意です。トラブルシューティングのシナリオでは、ユーザは、TSN ブリッジにログインして TSN フローのスケジュールを確認することができます。
CNC は、配布を行えるようになる前に、ディスカバリを行う必要があります。CNC は、配布先となる場所と、スケジュールの計算方法を知っている必要があります。すべてのトーカーとリスナーがどのように接続されているか正確に分かるまで、CNC は、スケジュールを正確に計算することができません。CNC は、TSN ブリッジの LLDP テーブルをクロールすることで、ネットワークを検出します。
CNC には、ディスカバリを開始するための「シード」デバイスが必要です。「シード」から開始するためには、管理者は、ブリッジのためのデバイスのホスト名と IP アドレスを提供する必要があります。そこから、CNC は見つけることができるすべての TSN ブリッジおよびエンド デバイスを参照します。ネットワーク ディスカバリを成功させるには、各 TSN ブリッジに一意のホスト名が必要です。つまり、管理者は、ホスト名を「Switch」からネットワーク内で一意の名前に変更する必要があります。エンド デバイスにも一意の名前が必要です。
ネイバーとその詳細を表示するには、TSN ブリッジ上で IOS CLI コマンド「show lldp neighbor detail」を使用します。このコマンドの出力は、CNC が使用する情報と同じ情報です。
CNC は、Telnet を使用して TSN ブリッジにログインします。これを正常に行うには、ログイン パスワードを設定し、CNC にそれを知らせる必要があります。これは、すべての TSN ブリッジで同じにする必要があります。デフォルトでは、CNC は、ログイン パスワードとして「admin」を使用します。CNC 上でログイン パスワードを変更しない限り、TSN ブリッジにも「admin」を設定する必要があります。
CNC がスケジュールの算出に成功しても、スケジュールは、TSN ブリッジに配布されないとアクティブになりません。CNC と TSN ブリッジは、TSN ブリッジがスケジュールを受信できるよう、レイヤー 3 接続されています。各 TSN ブリッジにはそれぞれ CNC への接続があり、各ブリッジはそれぞれのスケジュールを受信します。各 TSN ブリッジには、CNC の IP アドレスを設定する必要があります。
CNC は、スケジュールの算出に成功するたび、そのスケジュールの ID を生成します。ID は、スケジュールごとに一意な 4 バイトの 16 進数値です。配布が成功すると、TSN ブリッジは、使用中のスケジュール ID を表示します。これは、CNC のスケジュール ID と一致している必要があります。
スケジュール配布を機能させるためには、TSN ブリッジが、CNC と通信してスケジュールを取得する方法を知っている必要があります。そのためには、TSN ブリッジ上で次の 1 行 コンフィギュレーション コマンドが必要です。TSN_Bridge (config)# tsn cnc-server <IP Address of CNC>
CNC が TSN ブリッジと通信していることを確認するには、コマンド「show tsn cnc」および「show tsn schedule」を使用します。
TSN_Bridge # show tsn schedule Device ID: TSN_Bridge Schedule ID: 1492128178 - 0x58F011B2 Status : TSN schedule has been programmed successfully TSN_Bridge # show tsn cnc CNC Connection Status ---------------------------------------------------------------------- Device name: TSN_Bridge CNC server: 2.1.28.16:4569 Last CNC Contact: 17:22:50 Fri May 5 2017 Last Good CNC Connection: 17:22:52 Fri May 5 2017 Current Schedule ID: 1492128178 - 0x58F011B2
IE 4000 のデータ プレーンは、TSN フローの入力および出力にのみ関係しています。CNC がブリッジにスケジュールを配布し、トーカーおよびリスナーとなるエンド デバイスにもそれぞれ TSN フローのスケジュールが与えられると、焦点は CNC ではなくネットワーク デバイスに移ります。
CNC はコントロール プレーンのみに存在します。CNC の電源または接続が切断されても、TSN フローの動作には影響しません。
各 TSN フローは、ブリッジ型のイーサネット ネットワークを介してエンジニアリングされているトラフィックです。CNC は、スケジュール計算の一環として、転送パスを決定します。TSN ブリッジは、CNC の指示に従って TSN フローを転送します。TSN ブリッジは、TSN フローに対して MAC アドレスの動的学習を使用しません。
TSN フローに使用される VLAN は、スパニング ツリーを実行しません。TSN フローを含むすべての VLAN でスパニング ツリーを無効にする必要があります。TSN ブリッジが、VLAN のインターフェイスで期待される TSN フローに属していないイーサネット パケットを受信した場合、ブリッジは、そのパケットをドロップします。TSN VLAN では、ブロードキャスト パケットは許可されません。すべての TSN フローには、イーサネット ヘッダーに VLAN タグがあります。TSN ブリッジ 上の、TSN フローを受信または送信することが予想されるすべてのインターフェイスは、トランク モードである必要があります。IE 4000 では、TSN フローが期待されるインターフェイスは、自動的にトランク モードに設定されます。TSN VLAN は、イーサネット インターフェイス上の「アクセス」VLAN になることができません。
内部のスイッチング インフラストラクチャ内で TSN フローに適正な QoS が提供されることを確保するため、シスコ TSN ブリッジ では、入力および出力に関するサービス ポリシーを使用します。TSN フローは、出力の輻輳時に遅延することを防ぐため、高プライオリティ キューを使用します。TSN フローをサポートするすべてのインターフェイスには、QoS のため、入力および出力に関するサービス ポリシーが自動的に適用されます。
次の図は、シスコ TSN ブリッジのハードウェア アーキテクチャを示します。これは、TSN フローのトラブルシューティングおよびモニタリングに役立ちます。
TSN_Volt1# show tsn flow summary Flow-ID Stream-ID DMAC Status Ingress Egress ------- ----------------------- -------------- ------ -------- ---------- 1001 flow1 0300.5EA0.03E9 up Gi1/5 Gi1/4 1002 flow2 0300.5EA0.03EA up Gi1/4 Gi1/5 TSN_Bridge# show tsn flow details Flow 1001 Stream ID : flow1 Stream Address : 0300.5EA0.03E9 Frame Size : 64B Ingress Interface : Rx Schedule Gi1/5: 13-26 (us) Egress Interface : TX Schedule Gi1/4: 207-220 (us) Period cycle time : 1000 (us) Flow 1002 Stream ID : flow2 Stream Address : 0300.5EA0.03EA Frame Size : 64B Ingress Interface : Rx Schedule Gi1/4: 245-258 (us) Egress Interface : TX Schedule Gi1/5: 283-295 (us) Period cycle time : 1000 (us)
TSN ブリッジに入力される各フローには、入力が期待される時間枠があります。時間枠は、1000 Mbps のリンクでは約 13 マイクロ秒、100 Mbps のリンクでは 130 マイクロ秒です。10 Mbps のリンクでは、TSN はサポートされていません。シスコ TSN ブリッジは、特定のフローが時間内(指定時間枠内)に入力されたかどうかを判定できます。TSN フローごとに、予定より早い、予定通り、および遅れた入力件数が保持されます。これは、エンド ツー エンドの TSN フローに問題があり、根本原因分析が必要な場合に役立ちます。TSN フローが時間どおりに入力されない場合、考えられる理由の 1 つは、トランスミッタがネットワークとクロック同期されていないことです。
各 TSN フローの入力統計情報を確認するには、コマンド「show interface <interface id> tsn ingress stats <flow id>」を使用します。インターフェイス ID と TSN フロー ID が必要です。
TSN_Switch # show interface Gig1/4 tsn ingress stats 1002 Latest Accumulated ------ ------------ Unexpected 0 0 In 254476 267372 Early 0 0 Late 0 9003
「In」は、期待される時間枠内で受信されたフローをカウントします。「Latest」列は、読み取りごとにクリアされ、前回の読み取り以降のカウントを表示します。「Accumulated」列は履歴を保持し、カウンタをクリアするための明示的なアクションが取られない限りクリアされません。
入力と同様、出力される各 TSN フローにも、TSN ブリッジから出力されることが期待される時間枠があります。当該のインターフェイスがブリッジからブリッジへのインターフェイスであるか、ブリッジからリスナー エンド デバイスへのインターフェイスであるかは問わず、シスコ TSN ブリッジ は、その時間になるまで TSN フローのフレームを送信しません。つまり、TSN ブリッジは TSN フレームを保持して遅延させる必要があります。
出力の時間枠を表示するには、「show tsn flow details」CLI コマンドを使用します。
出力において TSN フローが正常に機能していることを確認する最も簡単な方法は、各フローの出力カウントを表示することです。フローごとの出力カウントを表示するには、次のコマンドを使用します。show interface <intf id> tsn flow-stats <flow id>