Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
タイムセンシティブネットワーキングにつ
いて
タイムセンシティブネットワーク(TSN)とは何でしょうか。TSNを平たく言えば、標準的なイーサネットにおいて確定的なメッセージングを実現するため、IEEE 802.1Qによって定義された標準規格の技術です。TSN技術は一元的に管理され、時間のスケジューリングを使用して、確定性が必要なリアルタイムのアプリケーションに対して配信および最小限のジッターを保証しま
す。
TSNはレイヤー 2技術です。IEEE 802.1Q規格は、OSIのレイヤ 2で動作します。TSNはイーサネットの規格であり、インターネットプロトコルの規格ではありません。TSNブリッジが行う転送の判断には、IPアドレスではなくイーサネットヘッダーの内容が使用されます。イーサネットフレームのペイロードはどのようなものでもよく、インターネットプロトコルに限定されま
せん。つまり TSNは、標準的なイーサネット環境であればどこでも使用できるため、産業用アプリケーションやプロトコルの種類を問わずペイロードを伝送できます。
暗黙の要件として、TSNを実装するネットワーキングデバイス(エンドデバイスおよびブリッジ)は、時間の概念を共有する必要があります。共通の時間の概念を保持するためには、PrecisionTime Protocol(PTP)が使用されます。TSNでの使用のために選ばれた PTPプロファイルは、IEEE 802.1ASおよび IEEE 802.1ASRevです。
• 共有された時間の概念, 2 ページ
• TSNシステムのコンポーネント, 2 ページ
• シスコ TSNソリューションの概要, 3 ページ
• CNCから TSNブリッジへのコントロールプレーン, 5 ページ
• TSNフローの入力, 9 ページ
• TSNフローの出力, 9 ページ
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール1
共有された時間の概念確定性を実現するための鍵は、共有された時間の概念です。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 システムのコンポーネント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を提供しています。
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール2
タイムセンシティブネットワーキングについて
共有された時間の概念
シスコ TSN ソリューションの概要シスコは、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アドレス、VLANID、およびCoS値が含まれます。これらの3つの項目により、TSNブリッジがTSNフローを識別することと、正しいスケジュールに基づいてフローを送信することが可能になります。
図 1は、すべてのコンポーネントとそれらの間の関係を示します。CUCは、REST APIを使用して CNCと通信します。CNCは、CUCと TSNブリッジの両方と通信します。CUCは、トーカー/
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール3
タイムセンシティブネットワーキングについて
シスコ TSN ソリューションの概要
リスナーであるエンドデバイスと通信します。TSNブリッジは、トーカーとリスナーの間のTSNフローのイーサネットフレームを切り替えます。
図 1:TSN ネットワーキングコンポーネントのトポロジ例
CUCと CNCの間の APIは、シスコ TSNドキュメンテーションの一部として定義されており、使用可能になっています。APIは、CUCがネットワークにおけるTSNフローを完全にプログラムするために必要なあらゆるもののために提供されています。
図 1は、トーカーとリスナーが TSN通信(TSNフローなど)の交換を開始できるようになる前にCUCと CNCとの間で発生するメッセージのコントロールプレーン通信の流れを示します。
次の手順はワークフローに典型的なもので、各エンティティが相互に通信する方法と理由を示す
ことのみを目的として記載されています。免責事項:次の手順は、この順序でないと実行できな
いものではありません。
1 CUCが物理トポロジのディスカバリを開始スケジュールの計算を正常に行えるようになる前に、CNCは、物理トポロジを学習する必要があります。エンジニアは CNCに対し、物理トポロジのディスカバリを行うよう(CUC経由で)要求を開始します。CNCは、LLDPおよびシードデバイスを使用して物理トポロジを参照し、各デバイスと、それらがどのように接続されているかを検出します。これには、LLDPをサポートするエンドデバイスが含まれます。
完了後、エンジニアは CNCに対し、検出されたトポロジを返すよう(CUC経由で)要求を発行します。この時点でエンジニアは、必要に応じ、CNCがトポロジを正しく検出したかどうか確認します。
2 CUCがネットワークリソースを要求
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール4
タイムセンシティブネットワーキングについて
シスコ TSN ソリューションの概要
エンドツーエンドの通信を定義することに責任を負うエンジニアによって行われます。エン
ジニアは、どのエンドデバイス(トーカー)が他のエンドデバイス(リスナー)と通信する
必要があるかを割り出します。1つのTSNフローに複数のリスナーがある場合もあるため、エンジニアには、すべてのリスナーを特定する責任があります。エンジニアは、通信のレイテン
シ要件(たとえば、リスナーは伝送の開始から500マイクロ秒以内に受信すること)、送信されるイーサネットパケットの最大サイズ、およびその他の依存関係(たとえば、TSNフローの順序の有無)も定義することができます。CUCは、これをすべての TSNフロー要求について収集し、要求を受け付けるため、APIを使用して CNCに送信します。
3 スケジュールの計算
トポロジが検出されており、CNCがすべての TSNフロー要求を受信したことを確認したら、エンジニアは CNCに対し、スケジュールを計算するよう(CUC経由で)要求を開始します。CNCは、この要求に対し、成功または失敗を返します。最終的なスケジュールは、CNCが物理トポロジを学習していないと算出できません。手順 3は、手順 1および 2に依存します。
4 計算結果の表示
通常、ネットワークエンジニアは、スケジュールを実行する前に、スケジュールを表示して確
認を行います。エンジニアは CNCに対し、算出されたスケジュールの詳細を返すよう(CUC経由で)要求します。これには、TSNフローに関与する各デバイスの詳細が含まれます。この詳細には、TSNを設定するためにエンドデバイスおよびブリッジに与える必要があるすべての情報が含まれます。
•各 TSNフローの一意の識別情報(宛先MACアドレス、VLAN、CoS)
•各ホップにおける送信の時間枠の開始と終了(トーカーとブリッジ)
•各ホップにおける受信の時間枠の開始と終了(リスナーとブリッジ)
•計算されたエンドツーエンド遅延
手順 1から 4までは、必要な回数だけ繰り返すことができます。(注)
5 スケジュールの配布
スケジュールに問題がないと確認したら、エンジニアは CNCに対し、算出されたスケジュールをTSNブリッジに配布するよう(CUC経由で)要求を発行します。CUCは、TSNフローのトーカーとリスナーのプログラムも行います。トーカーには、すべての TSNフローをスケジュールに従って送信することが期待されます。
6 TSNブリッジへのスケジュール配布の確認この手順は任意です。トラブルシューティングのシナリオでは、ユーザは、TSNブリッジにログインして TSNフローのスケジュールを確認することができます。
CNC から TSN ブリッジへのコントロールプレーン1 ネットワークディスカバリ
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール5
タイムセンシティブネットワーキングについて
CNC から TSN ブリッジへのコントロールプレーン
CNCは、配布を行えるようになる前に、ディスカバリを行う必要があります。CNCは、配布先となる場所と、スケジュールの計算方法を知っている必要があります。すべてのトーカーと
リスナーがどのように接続されているか正確に分かるまで、CNCは、スケジュールを正確に計算することができません。CNCは、TSNブリッジのLLDPテーブルをクロールすることで、ネットワークを検出します。
CNCには、ディスカバリを開始するための「シード」デバイスが必要です。「シード」から開始するためには、管理者は、ブリッジのためのデバイスのホスト名と IPアドレスを提供する必要があります。そこから、CNCは見つけることができるすべての TSNブリッジおよびエンドデバイスを参照します。ネットワークディスカバリを成功させるには、各 TSNブリッジに一意のホスト名が必要です。つまり、管理者は、ホスト名を「Switch」からネットワーク内で一意の名前に変更する必要があります。エンドデバイスにも一意の名前が必要です。
ネイバーとその詳細を表示するには、TSNブリッジ上で IOS CLIコマンド「show lldp neighbordetail」を使用します。このコマンドの出力は、CNCが使用する情報と同じ情報です。
CNCは、Telnetを使用して TSNブリッジにログインします。これを正常に行うには、ログインパスワードを設定し、CNCにそれを知らせる必要があります。これは、すべての TSNブリッジで同じにする必要があります。デフォルトでは、CNCは、ログインパスワードとして「admin」を使用します。CNC上でログインパスワードを変更しない限り、TSNブリッジにも「admin」を設定する必要があります。
2 スケジュールの配布
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 ofCNC>
CNCが TSNブリッジと通信していることを確認するには、コマンド「show tsn cnc」および「show tsn schedule」を使用します。TSN_Bridge # show tsn scheduleDevice ID: TSN_BridgeSchedule ID: 1492128178 - 0x58F011B2Status : TSN schedule has been programmed successfully
TSN_Bridge # show tsn cncCNC Connection Status----------------------------------------------------------------------Device name: TSN_BridgeCNC server: 2.1.28.16:4569Last CNC Contact: 17:22:50 Fri May 5 2017Last Good CNC Connection: 17:22:52 Fri May 5 2017
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール6
タイムセンシティブネットワーキングについて
CNC から TSN ブリッジへのコントロールプレーン
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フローが期待されるインターフェイスは、自動的にトランクモードに設定されます。TSNVLANは、イーサネットインターフェイス上の「アクセス」VLANになることができません。
内部のスイッチングインフラストラクチャ内で TSNフローに適正な QoSが提供されることを確保するため、シスコ TSNブリッジでは、入力および出力に関するサービスポリシーを使用します。TSNフローは、出力の輻輳時に遅延することを防ぐため、高プライオリティキューを使用します。TSNフローをサポートするすべてのインターフェイスには、QoSのため、入力および出力に関するサービスポリシーが自動的に適用されます。
次の図は、シスコ TSNブリッジのハードウェアアーキテクチャを示します。これは、TSNフローのトラブルシューティングおよびモニタリングに役立ちます。
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール7
タイムセンシティブネットワーキングについて
CNC から TSN ブリッジへのコントロールプレーン
TSNブリッジのためにスケジュールされた TSNフローを表示するために、2つの CLIコマンドが用意されています。一方は概要表示用、他方は詳細表示用です。TSN_Volt1# show tsn flow summaryFlow-ID Stream-ID DMAC Status Ingress Egress------- ----------------------- -------------- ------ -------- ----------1001 flow1 0300.5EA0.03E9 up Gi1/5 Gi1/41002 flow2 0300.5EA0.03EA up Gi1/4 Gi1/5
TSN_Bridge# show tsn flow detailsFlow 1001
Stream ID : flow1Stream Address : 0300.5EA0.03E9Frame Size : 64BIngress Interface : Rx ScheduleGi1/5: 13-26 (us)Egress Interface : TX ScheduleGi1/4: 207-220 (us)Period cycle time : 1000 (us)
Flow 1002Stream ID : flow2Stream Address : 0300.5EA0.03EAFrame Size : 64BIngress Interface : Rx ScheduleGi1/4: 245-258 (us)Egress Interface : TX ScheduleGi1/5: 283-295 (us)Period cycle time : 1000 (us)
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール8
タイムセンシティブネットワーキングについて
CNC から TSN ブリッジへのコントロールプレーン
TSN フローの入力TSNブリッジに入力される各フローには、入力が期待される時間枠があります。時間枠は、1000Mbpsのリンクでは約 13マイクロ秒、100 Mbpsのリンクでは 130マイクロ秒です。10 Mbpsのリンクでは、TSNはサポートされていません。シスコTSNブリッジは、特定のフローが時間内(指定時間枠内)に入力されたかどうかを判定できます。TSNフローごとに、予定より早い、予定通り、および遅れた入力件数が保持されます。これは、エンドツーエンドの TSNフローに問題があり、根本原因分析が必要な場合に役立ちます。TSNフローが時間どおりに入力されない場合、考えられる理由の1つは、トランスミッタがネットワークとクロック同期されていないことです。
各 TSNフローの入力統計情報を確認するには、コマンド「show interface <interface id> tsn ingressstats <flow id>」を使用します。インターフェイス IDと TSNフロー IDが必要です。
例:TSN_Switch # show interface Gig1/4 tsn ingress stats 1002
Latest Accumulated------ ------------
Unexpected 0 0In 254476 267372Early 0 0Late 0 9003
「In」は、期待される時間枠内で受信されたフローをカウントします。「Latest」列は、読み取りごとにクリアされ、前回の読み取り以降のカウントを表示します。「Accumulated」列は履歴を保持し、カウンタをクリアするための明示的なアクションが取られない限りクリアされません。
TSN フローの出力入力と同様、出力される各TSNフローにも、TSNブリッジから出力されることが期待される時間枠があります。当該のインターフェイスがブリッジからブリッジへのインターフェイスであるか、
ブリッジからリスナーエンドデバイスへのインターフェイスであるかは問わず、シスコ TSNブリッジは、その時間になるまで TSNフローのフレームを送信しません。つまり、TSNブリッジは TSNフレームを保持して遅延させる必要があります。
出力の時間枠を表示するには、「show tsn flow details」CLIコマンドを使用します。
出力においてTSNフローが正常に機能していることを確認する最も簡単な方法は、各フローの出力カウントを表示することです。フローごとの出力カウントを表示するには、次のコマンドを使
用します。show interface <intf id> tsn flow-stats <flow id>
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール9
タイムセンシティブネットワーキングについて
TSN フローの入力
Cisco IE4000 スイッチへの IOS SW TSN Support のインストール10
タイムセンシティブネットワーキングについて
TSN フローの出力