エンドシステムとアビオニクス・サブシステム
図9 エンドシステムとアビオニクス・サブシステムの例
図9に示すように、アビオニクス・コンピュータ・システムは、エンドシステムを介して、AFDXネットワークに接続します。 一般的に、アビオニクス・コンピュータ・システムは、複数のアビオニクス・サブシステムをサポートできます。パーティションは、同じアビオニクス・コンピュータ・システム内のアビオニクス・サブシステム間の分離を提供します。 この分離は、各パーティションのアドレス空間の制限と、各パーティションに割り当てられたCPU時間の量に制限を置くことにより達成されます。 目的は、あるパーティションで実行されている不規則なアビオニクス・サブシステムが、他のパーティションで実行されているサブシステムに影響を与えないようにすることです。
アビオニクス・アプリケーションは、通信ポートを使用してメッセージを送ることにより、互いに通信します。 ポータブル・アビオニクス・アプリケーションを作成するためのオペレーティング・システムのAPIの仕様は、ARINC 653で見ることができます。 特に、ARINC 653は、2つの型の通信ポート、サンプリングとキューイング・ポートを定義します。したがって、エンドシステムは、サンプリング、およびキューイング・ポートをサポートするために適切な通信インターフェイスを提供する必要があります。 ARINC 664,Part 7で定義されるAFDXポートは、サンプリング、キューイング、およびSAPポートを含みます。AFDXサンプリング、およびキューイング・ポートは、ARINC 653サンプリングとキューイング・ポートに各々一致します。 AFDXは、サービス・アクセス・ポイント(SAP)ポートと呼ばれる第3のポート・タイプを導入します。SAPポートは、AFDXシステム構成要素と非AFDXシステム間の通信用に使用されます。これについては、次章で詳細を説明します。
エンドシステムは、ネットワークIDと機器IDの2つの8ビット量を使用して識別されます。これらは、単一の16ビット量に組み合わされることができます。 見ての通り、エンドシステムの識別は、送信元MACアドレスとユニキャストIPアドレスの形成において使用されます。
AFXD通信ポート
アビオニクス・サブシステムは、相互にメッセージを送信する通信ポートを使用します。一般的にオペレーティング・システムのAPIの一部である通信ポートは、 メッセージの送受信用にプログラミング機構を提供します。サンプリングとキューイング・ポートの2つの型の通信ポートは、アビオニクス・サブシステムにおいて役割を果たします。
AFDXエンドシステムは、ARINC 653に記載されているように、サンプリングとキューイング・ポートの両サービスを提供する必要があります。
図10と図11が示すように、サンプリングとキューイング・ポートは、主に受信で異なっています。サンプリング・ポートは、単一メッセージのためのバッファ記憶があります。 到着メッセージは、バッファに現在格納されているメッセージを上書きします。サンプリング・ポートからの読み込みは、バッファからメッセージを削除しないので、繰り返し読むことができます。 各サンプリング・ポートは、ポート・バッファに含まれるメッセージの新鮮度の指標を提供しなければなりません。 この指標なしでは、送信アビオニクス・サブシステムが送信を停止しているのか、同じメッセージを繰り返し送信しているのか、判断することは不可能です。
キューイング・ポートは、一定数のメッセージ用に十分な記憶(設定パラメータ)を持ち、新しいメッセージは、キューに追加されます。キューイング・ポートからの読み込みは、キューからメッセージを削除します(FIFO)。
メッセージ送受信用の一般的なプログラミング・インターフェイスは、以下の通りです。
- Send_Msg(ポートID、メッセージ)
- Recv_Msg(ポートID、メッセージ)
port_IDは、通信ポート、およびバッファへのメッセージ引数のポイントが、いずれかの送信するメッセージが含まれているか、またはポートから新しいメッセージの受信を識別するために利用可能です
図10 受信機のサンプリング・ポート
図11 受信機のキューイング・ポート
バーチャル・リンク
在来のイーサネット・スイッチにおいて、着信イーサネット・フレームは、イーサネット宛先アドレスに基づく出力リンクにルーティングされます。 AFDXにおいて、バーチャル・リンクIDと呼ばれる16ビットの値は、AFDXネットワークにおいてイーサネット・フレームをルーティングするために使用されます。 図12は、AFDXネットワークにおけるイーサネット宛先アドレスのフォーマットを提供します。
図12 AFDXネットワークにおけるイーサネット宛先アドレスのフォーマット
AFDXネットワークにおけるスイッチは、着信イーサネット・フレームを1以上の出力リンクにルーティングするように「設定」されます。 AFDXネットワークの重要なプロパティは、特定のバーチャル・リンクIDと関連したイーサネット・フレームが、1つ、そしてただ1つのエンドシステムから発信しなければならないことです。 AFDXスイッチは、フレームを同じバーチャル・リンクIDで、エンドシステムの事前決定されたセットに運ぶように設定されます。 このように、バーチャル・リンクは、単一のエンドシステムから発信し、エンドシステムの固定セットにパケットを運びます。 これは、ARINC 429のマルチドロップ・バスに類似しています。
図13 パケット・ルーティングの例
図13の例において、送信元エンドシステム(1)がバーチャル・リンクID(VLID)= 100のイーサネット・フレームをネットワークに送信するとき、AFDXスイッチは、宛先エンドシステムの事前決定されたセット(2と3)にフレームを運びます。 1つ以上のバーチャル・リンクは、エンドシステムから発信することができ、各バーチャル・リンクは、1つ以上の通信ポートからメッセージを運ぶことができます。
メッセージ・フロー
アプリケーションが通信ポートにメッセージを送るとき、送信元エンドシステム、AFDXネットワーク、および宛先エンドシステムは、適切な受信ポートにメッセージを配送するように設定されます。
図14は、アビオニクス・サブシステムによりポート1に送信されているメッセージMを示しています。エンドシステム1は、メッセージをイーサネット・フレームにカプセル化し、 バーチャル・リンク100(イーサネット宛先アドレスは、VLID 100を指定する)のAFDXスイッチング・ネットワークにイーサネット・フレームを送信します。 ネットワーク・スイッチの転送テーブルは、エンドシステム2とエンドシステム3の両方にイーサネット・フレームを配送するように設定されます。 イーサネット・フレームを受信するエンドシステムは、イーサネット・フレームに含まれるメッセージに対して宛先ポートを決定できるように設定されます。 図14に示す場合では、メッセージは、エンドシステム2によりポート5に、エンドシステム3によりポート6に配送されます。
図14 アビオニクス・サブシステムによりポート1に送信されるメッセージ
図15 IP、およびUDPヘッダ、およびペイロードを有するイーサネット・フレーム
メッセージ用に適切な宛先ポートを見つけるために、宛先エンドシステムにより使用される情報は、イーサネット・ペイロード内のヘッダに含まれます。 図15に、イーサネット・ペイロードを構成するヘッダを示します。イーサネット・ペイロードは、IPパケット(ヘッダ、およびペイロード)から構成されています。 IPパケット・ペイロードは、アビオニクス・サブシステムにより送信されるメッセージを含むUDPパケット(ヘッダ、およびペイロード)を含みます。 Padは、UDPペイロードが18バイトより小さい時にのみ必要です。この場合、Pad + UDPペイロードは、18バイトに等しくなります。UDPペイロードが18バイト以上の時、Padフィールドは存在しません。 図は複数のIPペイロード中に断片化されていないUDPペイロードにのみ適用されることに注意してください。IPヘッダの重要な機能は、大きなUDPパケットに対する断片化制御を提供することにあります。
IPヘッダは、宛先エンドシステム識別とパーティション識別子を含むか、またはマルチキャスト・アドレスです。後者の場合、IP宛先アドレスは、バーチャル・リンクID(宛先イーサネット・アドレスにおけるバーチャル・リンクID)を含みます。 UDPヘッダは、送信元と宛先の両UDPポート番号を含みます。一般に、エンドシステムがメッセージの宛先ポートを決定するのに十分な情報がこれらヘッダに存在します。 同様に、送信AFDX通信ポートと関連した十分な情報は、メッセージを含むイーサネット・フレームの構築時、適切なヘッダを構築するために、ソース・エンドシステム用に存在します。
冗長性管理
AFDXシステムに、2つの独立したスイッチング・ネットワーク、AとBネットワークが存在します。エンドシステムによって送信される各パケットは、両ネットワーク上に送信されます。 したがって、正常動作の下で、各エンドシステムは、各パケットの2つのコピーを受信することになります(図16参照)。
図16 AとBネットワーク
図17 AFDXフレームとシーケンス番号
エンドシステムは、AとBネットワークに到着する通信パケット(レプリカ)を識別する方法を必要とします。AFDXにおいて、バーチャル・リンク上を送信される全てのパケットは、1バイトのシーケンス番号フィールドを持ちます シーケンス番号フィールドは、イーサネット・フレームにおけるFCSフィールドの直前に表示されます。このことは、AFDXにおいて、1バイト未満がIP/UDPペイロードに利用できることを意味します。 シーケンス番号は、0で始まり、255まで続き、その後、1に戻ります。シーケンス番号0は、エンドシステムのリセット用に予約されています。シーケンス番号は、 バーチャル・リンク・ベース毎に提供されます。組込シーケンス番号を持つイーサネット・フレームは、AFDXフレームと呼ばれます。
図17は、UDPペイロードが17から1471バイトの間にある時に適用されます。UDPペイロードが17バイトよりも小さい場合、Padフィールドは、UDPペイロードとシーケンス番号フィールド間に導入されます。
バーチャル・リンクとネットワーク・ポート・ベース毎に、受信エンドシステムは、連続するフレーム上のシーケンス番号が順番通りかチェックします。 これは、「整合性チェック」と呼ばれます。整合性チェックが完了した後、エンドシステムは、そのレプリカが既に送られているため、パケットをそのままパスするか、またはドロップするかを決定します。 これは、冗長性管理と呼ばれます。図18は、プロセスをまとめたものです。
図18 イーサネット・フレームの受信処理
ARINC 664解説文書【日本語技術資料プレゼント】
ARINC 664/AFDX通信規格の日本語技術資料(全32ページ)をIPROSにて配布しており、ダウンロードいただけます。