ISO 15893:2010 宇宙データおよび情報転送システム—宇宙通信プロトコル仕様(SCPS)—トランスポートプロトコル(SCPS-TP) | ページ 4

この規格 プレビューページの目次

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

1 はじめに

1.1 目的

この勧告の目的は、宇宙通信プロトコル仕様 (SCPS) トランスポート サービスを提供するサービスとプロトコルを定義することです。この定義により、SCPS ネットワークの宇宙セグメントと地上セグメントにおけるプロトコルの独立した実装が相互運用できるようになります。

1.2 範囲

この勧告は、SCPS トランスポート プロトコルへの適合を主張するすべてのシステムに適用されることを意図しています。

1.3 適用性

この勧告は、複雑さに関係なく、あらゆる種類の宇宙ミッションまたはインフラストラクチャに適用できるように設計されています。この勧告は、すべての CCSDS 機関の間で統一された標準になることが意図されています。

1.4 合理的

CCSDS は、提案された変更または改善の将来の評価が以前の決定を見失うことがないように、選択された推奨事項の根底にある理論的根拠を文書化することが重要であると考えています。 SCPS-TP の概念と理論的根拠は、参考文献 [B2] に記載されています。

1.5 この勧告の構成

この勧告には、6 つのセクションと 4 つの付属書が含まれています。このセクションでは、ドキュメントの残りの部分のコンテキストを確立する入門資料を示します。セクション 2 には、プロトコルの概要が含まれており、主要な技術要件を要約し、プロトコルのサービスを提供するために使用されるアプローチについて説明しています。セクション 3 と 4 では、SCPS 環境における伝送制御プロトコル (TCP) とユーザー データグラム プロトコル (UDP) の仕様を示します。セクション 5 は、管理情報を維持するための要件を確立します。セクション 6 では、実装の適合要件を示します。

この勧告の 4 つの付属文書は、サポート情報を提供します。附属書には、規範的な資料が含まれているものもあれば、有益な資料が含まれているものもあります。附属書 A は参考情報であり、文書全体で一般的に使用される頭字語と略語が含まれています。附属書 B は参考情報であり、文書全体で引用されている参考文献が含まれています。附属書 C は規範的であり、プロトコル実装適合宣言 (PICS) のプロフォーマが含まれています。 PICS は、プロトコルの実装によって提供される機能を明確に説明しています。附属書 D は規範的であり、サービス仕様が含まれています。

1.6 この文書の読み方

このドキュメントは、宇宙船の通信環境で使用するために、TCP と UDP に変更と拡張を行います。これは、潜在的に長い遅延、不均衡な転送および返信リンク データ レート、および潜在的に高いエラー率を特徴とします。このドキュメントの一部の読者は、プロトコルの実装者であり、おそらく TCP 実装の経験があると予想されます。その他の読者は、プロトコルよりも特定のアプリケーション環境に精通している個人です。

TCP と UDP の内部構造にすでに精通している読者と実装者にとって、このドキュメントは次の方法で使用するのが最適です。

  • 1)このドキュメントのセクション 6 を確認してください。それは、TCP と UDP の実装要件を説明し、変更された TCP と UDP 内の機能を示します (「このドキュメントの abc によって修正された」という趣旨のテキストで示されます。ここで、abc はこのドキュメントのセクション参照です)ドキュメント)。また、セクション 6 には、ミッションのニーズに応じて、プロトコルの基本機能に追加するのに役立つミッション固有の機能のリストがあります。セクション 6 では、これらの機能を紹介し、機能が指定されているセクション 3 と 4 へのポインタを示します。読者は、ミッションに必要な機能セットを特定する手段としてセクション 6 を使用する必要があります。ミッションに必要な機能の一部は、他の機能の可用性に依存します。これらの依存関係は、実装要件の再記述とともに、付録 C にあるプロトコル実装適合宣言に表形式で文書化されています。付録 C は、実装者が実装の詳細を文書化する必要がある形式を指定します。
  • 2) TCP と UDP の SCPS-TP 固有のオプションと変更を指定するセクション 3 と 4 を確認してください。
  • 3)管理情報の要件を特定するセクション 5 を確認します。

一般的に TCP と UDP の操作に精通しているが、プロトコルの内部には精通していない読者と実装者にとっては、このドキュメントを確認する次のアプローチが役立つ場合があります。

  • 1) UDP および TCP RFC を読みます。 UDP 仕様は非常に短い (3 ページ) TCP 仕様はかなり長くなりますが、かなりの量の背景情報も提供します。これらのドキュメントは、それぞれ 1980 年と 1981 年に作成されました。
  • 2) RFC 1122 のセクション 4 を読んでください。このドキュメントは、1989 年の時点で TCP と UDP を使用して学んだテッソンを捉えています。特定の要件。 RFC 1122 は、実装要件の記述に加えて、基本 TCP および UDP 仕様の拡張を構成します。
  • 3)このドキュメントのセクション 6 を読みます。これは、TCP および UDP RFC と RFC 1122 を参照し、RFC 1122 で提唱された要件を承認または改訂します。「ミッション固有の機能」サブセクションを読み、これらの機能のいずれかが必要かどうかを識別します。その場合は、ミッション固有の機能セクションのそれぞれで特定された参照を確認してください。
  • 4)最後に、セクション 3 から 5 を読みます。

TCP や UDP にあまり詳しくない読者は、この件に関する紹介テキストを検討することを検討してください。 1 つの優れた例は、W Richard Stevens によるTCP/IP Illustrated, Volume 1 (Copyright 1994, Addison-Wesley Professional Computing Series) です。第 1 章、第 11 章、および第 17 章から第 24 章が特に関連しています。ミッション固有の機能の 1 つ (トランザクションをサポートするための TCP の変更) に関する追加情報は、W. Richard Stevens によるTCP/IP Illustrated, Volume 3の第 1 章から第 12 章に示されていることに注意してください (Copyright 1996, Addison-Wesley Professionalコンピューティング シリーズ)。

1.7 規約と定義

1.7.1 オクテットの番号付け規則と命名法

このドキュメントでは、1 オクテットより小さいデータ要素の送信は扱いません。そのため、オクテット内のビットの送信順序は、下位層で処理される問題です。ただし、ワード内のオクテットの相対的な順序付けと、オクテット内のビットの明確な番号付けは、ここで関連しています。このドキュメントで定義されているマルチ オクテット フィールドが送信のために送信される順序は、「ビッグ エンディアン」バイト順序と呼ばれます。ネットワークに適用される場合、「ネットワーク バイト オーダー」と呼ばれます。この順序付け方式では、32 ビット値のビット 0 が最上位ビットです。ビット 31 は最下位ビットです。ビット 0 ~ 7 を含むオクテットが最初に送信され、次にビット 8 ~ 15 を含むオクテット、ビット 16 ~ 23 を含むオクテット、最後にビット 24 ~ 31 を含むオクテットが送信されます。 「ビッグ エンディアン」のバイト順は、一部のマシン (特に 80x86 クラ​​スのマシン) が内部で使用するものではないことに注意してください。実装では、送信のためにヘッダーがネットワーク バイト オーダーに変換されるようにする必要があります。

この推奨事項全体を通して、次の規則が適用されます。

  • a) 「しなければならない」および「しなければならない」という言葉は、拘束力のある検証可能な仕様を意味します。
  • b) 「すべき」という言葉は、オプションではあるが望ましい仕様を意味します。
  • c) 'may' という単語は、オプションの仕様を意味します。
  • d) 「is」、「are」、および「will」という単語は、事実の陳述を意味します。

1.7.2 定義

アドレス ファミリ: アドレス ファミリは、アドレスの内部フィールドを解釈するために必要な構造規則を指定します。 SCPS ネットワークは、SCPS アドレス ファミリ、インターネット プロトコル (IP) アドレス ファミリ、およびインターネット プロトコル バージョン 6 (IPv6) アドレス ファミリの 3 つのアドレス ファミリをサポートしています。

アドレス タイプ: アドレス タイプは、アドレスが持つ意味 (つまり、エンド システムまたはエンド システム間のパスを識別するかどうか)、SCPS ネットワーク プロトコル ヘッダーに表示されるアドレスの数 (アドレスがエンド システムを識別する場合は 2 つのアドレス) を定義します。システム、アドレスがエンド システム間のパスを識別する場合は 1 つのみ)、およびアドレスに有効なアドレス ファミリ。

接続: 接続は、名前が付けられ、永続的で、通信のインスタンスをサポートするシステム間で共有される情報によって定義されます。トランスポート プロトコルの場合、これらのシステムはトランスポート プロトコルを終了するエンドポイントですが、中間システムではありません。

エンド システム: SCPS ネットワーク内のアドレス指定可能なネットワーク エンティティ。

拡張エンド システム アドレス: 拡張エンド システム アドレスは、単一のエンド システムまたはエンド システム グループを識別します。拡張エンド システム アドレスは、SCPS アドレス ファミリまたは IP アドレス ファミリのいずれかの構造規則に準拠しています。拡張エンド システム アドレスは、ユニット データ サービスのプリミティブに対するパラメータである場合があります。

ゲートウェイ: 特定の層でプロトコルを終了し、隣接するネットワークの同じ層で同様のサービスを呼び出すネットワーク アドレス指定可能なシステム。

ホスト: ネットワーク層のパケットを送受信できるが、パケットの転送は行わない、ネットワークでアドレス指定可能なシステム。

インターネット プロトコル番号: インターネット プロトコル番号は、インターネット プロトコルで使用されるトランスポート プロトコル識別子です。値の範囲は 0 ~ 255 で、有効な値は参考文献 [1] で定義されています。

IP アドレス ファミリ: IP アドレス ファミリは、拡張エンド システム アドレスを解釈するための構造規則のセットを指定し、参考文献 [1] で定義されています。 ]))

最大セグメント サイズ: セグメント で伝送できるユーザー データの最大量。この値は、ネットワーク、セキュリティ、およびトランスポート層のヘッダーのサイズを MTU サイズから差し引いて計算されます。

最大伝送単位: 最大伝送単位 (MTU) は、サブネットワーク層が単一のサブネットワーク サービス要求で受け入れるデータの最大量を指定します。ルートの MTU は、そのルートに沿ったすべての既知の MTU の最小値です。

注 —この値は、ルーティング テーブル情報の一部として認識され、管理されることが予想されます。ただし、ルートの MTU を動的に検出する技術が存在します。詳細については、RFC 1191 の「Path MTU Discovery」(参照 [B3]) を参照してください。

N-Address: SCPS ネットワーク内のアドレス。 N アドレスの属性は、アドレス タイプとアドレス ファミリです。

N-Basic_Quality_of_Service パラメータ: N-UNITDATA サービス プリミティブの Basic Quality of Service (QOS) パラメータは、データグラムに特別なネットワーク処理サービスを提供するために必要な情報を運びます。これは、優先順位、ルーティング要件、およびプログラム固有のフィールドの 3 つのサブパラメーターを含むデータ構造です。

N-Destination_Address: N-Destination_Address は、すべての SCPS ネットワーク サービス プリミティブのパラメーターです。これは、SCPS ネットワーク内のパケットの宛先エンド システムを識別する N アドレスです。 N-Destination_Address パラメータは、拡張エンド システムのアドレス タイプである必要があり、IP または SCPS アドレス ファミリのいずれかである可能性があります。

ネットワーク サービス データ ユニット: N-SDU を参照してください。

N-Expanded_Quality_of_Service パラメータ: Expanded QOS パラメータは、地上関連の QOS 要求を指定するメカニズムを提供します。このパラメーターの有効な値は、RFC 2474 (参照 [B7]) で定義されています。

N-SDU: ネットワーク サービス データ ユニット (N-SDU) は、ユニット データ サービス プリミティブのパラメーターです。これは、任意の形式の可変長のオクテットで整列されたデータ ユニットです。 N-SDU の最大長は 8145 オクテットです。

注 — N-SDU フィールドの最大サイズは、SCPS-NP PDU の最大長から SCPS-NP ヘッダーの最大長を差し引いた長さに制限されます。 SCPS-NP ヘッダーの最大長は 46 オクテットです。 SCPS-NP ヘッダーの長さフィールドは 13 ビットで、合計 8191 オクテットのパケット長が可能です。したがって、SCPS-NP PDU に収まることが保証されている N-SDU の最大サイズは 8145 オクテットです。パケット サイズのローカル制限またはプロトコルの拡張により、このサイズがさらに制限される場合があり、実装者は N-SDU の最大実装サイズを文書化する必要があります。

N-Source_Address: N-Source_Address は、SCPS ネットワーク サービスのプリミティブの多くに対するパラメータです。これは、SCPS ネットワークでパケットを発信するエンド システムを識別する N アドレスです。 N-Source_Address は、拡張エンド システムのアドレス タイプである必要があり、IP または SCPS アドレス ファミリのいずれかである可能性があります。 N-Source_Address は、マルチキャストまたはブロードキャスト アドレスではない場合があります。

N-Source_Timestamp パラメータ: N-Source_Timestamp は、いくつかの SCPS ネットワーク サービス プリミティブのパラメータです。このパラメータにより、Network Service ユーザは、N-SDU に付随するソース タイムスタンプを提供できます。 Source Timestamp パラメータは、タイムスタンプ形式フィールドとタイムスタンプ値フィールドで構成されます。

N-User_Internet_Protocol_Number パラメータ: N-User_Internet_Protocol_Number は、いくつかの SCPS ネットワーク サービス プリミティブに対するパラメータです。 SCPS-TP で使用されるこのパラメータの値を表 1-1 に示します。

表 1-1 — SCPS-TP で使用される N-User_Internet_Protocol_Number パラメータの値

ネットワーク サービス ユーザーインターネットプロトコル
数値 (10 進数)
TCP6
UDP17
圧縮された TCP105

ポート: トランスポート サービス ユーザーの識別子。

Precedence パラメータ: Precedence パラメータ は、N-UNITDATA サービス プリミティブの NBasic_Quality_of_Service パラメータの要素です。優先順位パラメータは、ネットワーク内の他のデータと比較したこのデータの相対的な重要性を識別するために、ネットワーク サービス ユーザーによって指定されます。これは、有効な範囲が 0 から 15 の整数で、0 が最低の優先順位で、15 が最高の優先順位です。ローカル ポリシーにより、ユーザー指定の優先順位パラメーターがオーバーライドされる場合があります。ネットワーク サービスのユーザーは、優先順位パラメーターに null 値を指定することもできます。この場合、ネットワーク サービスは優先順位パラメーターに既定値を割り当てます。

プログラム固有のパラメーター: プログラム固有のパラメーターは、NBasic_Quality_of_Service パラメーターの要素であり、プログラムが SCPS-NP ヘッダーで 2 ビットの情報を運ぶメカニズムを提供します。この情報は、SCPS-NP に対するプログラム固有の拡張によって解釈され、デフォルト値は 0 です。

疑似ヘッダー: TCP および UDP の疑似ヘッダーは、チェックサム計算の目的で使用される情報のコレクションですが、実際にはトランスポート層プロトコル データ ユニットの一部として出荷されません。疑似ヘッダーの情報は、送信元アドレスと宛先アドレス、トランスポート プロトコルのインターネット プロトコル番号、およびトランスポート プロトコル データ ユニットの長さで構成されます。

ルーター: ネットワーク層のパケットを送信、受信、または転送できるネットワーク アドレス指定可能なシステム。

Routing Requirements パラメータ: Routing Requirements パラメータは、N-UNITDATA サービス プリミティブの N-Basic_Quality_of_Service パラメータの要素です。 Routing Requirements パラメータには、現在定義されている 2 つの値があります。「通常の」ルーティングと「フラッド」ルーティングです。

SCPS ネットワーク アドレス: SCPS ネットワーク アドレスは、(FMT-ID パラメータを介して) 可能な SCPS アドレス形式の 1 つと、その形式に必要なパラメータの値を指定します。

セグメント: セグメントは、伝送制御プロトコル (TCP) のプロトコル データ ユニットです。

サービス アクセス ポイント: サービス アクセス ポイント (SAP) は、レイヤーのサービスがその上のレイヤーで利用可能になるポイントです。

サイレントに破棄 : 破棄の結果としてエラー メッセージが生成されない場合 (ローカル ユーザーまたはリモート ユーザーに対して)、パケットは「サイレントに破棄」されます。

注 —パケットを静かに破棄することにより、設定を誤ったホストが誤ったトラフィックを制御不能に生成する可能性が減少します。 「サイレント破棄」という用語は、破棄についてネットワーク サービス ユーザーに通知するなどの特定のアクションがサイレント破棄では実行されないという点で「破棄」とは異なります。 「破棄」という用語が使用されている場合、ネットワーク サービスのユーザーに通知するかどうかを判断するには、他の情報を使用する必要があります。

T-SDU: トランスポート サービス データ ユニット (T-SDU) は、いくつかの SCPS-TP サービス プリミティブのパラメーターです。これは、任意の形式の可変長のオクテットで整列されたデータ ユニットです。 T-SDU の最大長は実装上の問題です。

Timestamp Format フィールド: N-Source_Timestamp パラメータの Timestamp Format フィールドは、ネットワーク ユーザーによって提供されるソース タイムスタンプのフォーマットを識別します。利用可能なフォーマットは参考文献[10]で指定されています。

タイムスタンプ値: N-Source_Timestamp パラメータのソース タイムスタンプ値フィールドには、ネットワーク サービス データ ユニットに付随するタイムスタンプの値が含まれます。

トランスポート サービス データ ユニット: T-SDU を参照してください。

1.8 参考文献

次の文書には、この本文で参照することにより、この勧告の規定を構成する規定が含まれています。発行の時点で、示されている版は有効でした。すべてのドキュメントは改訂される可能性があり、この推奨事項のユーザーは、以下に示すドキュメントの最新版を適用する可能性を調査することをお勧めします。 CCSDS 事務局は、現在有効な CCSDS 勧告の記録を維持しています。

  • Jポステル。インターネットプロトコル。 STD 5, 1981 年 9 月。 [RFC 791, RFC 950, RFC 919, RFC 922, RFC 792, RFC 1112]
  • Rブレイデン。ホストの要件。 STD 3, 1989 年 10 月。 [RFC 1122, RFC 1123]
  • Jポステル。ユーザー データグラム プロトコル。 STD 6, 1980 年 8 月。 [RFC 768]
  • Jポステル。伝送制御プロトコル。 STD 7, 1981 年 9 月。 [RFC 793]
  • D ボーマン、R ブレーデン、V ジェイコブソン。高パフォーマンスのための TCP 拡張。 RFC 1323, 1992 年 5 月。
  • P. カム & C. パートリッジ。 「往復時間の見積もり。」 SIGCOMM '87 の議事録: 通信アーキテクチャとプロトコルに関するシンポジウム、1987 年 8 月。
  • V.ジェイコブソン。 「輻輳回避と制御」。 SIGCOMM '88 の議事録: 通信アーキテクチャとプロトコルに関するシンポジウム、1988 年 8 月。
  • J・ネーゲル。 IP/TCP インターネットワークにおける輻輳制御。 RFC 896, 1984 年 1 月。
  • K・マクローリーとM・ローズ。管理情報ベース。 STD 17, 1991 年 3 月。[RFC1213]
  • 宇宙通信プロトコル仕様 (SCPS) - ネットワーク プロトコル (SCPS-NP) 。宇宙データ システム標準の勧告、CCSDS 713.0-B青い本。第 1 号。ワシントン DC: CCSDS, 1999 年 5 月。
  • 宇宙通信プロトコル仕様 (SCPS) - セキュリティ プロトコル (SCPS-SP) 。宇宙データ システム標準の勧告、CCSDS 713.5-B青い本。第 1 号。ワシントン DC: CCSDS, 1999 年 5 月。
  • LS ブラクモ、SW オマリー、LL ピーターソン。 「TCP Vegas: 輻輳の検出と回避のための新しい技術」。 SIGCOMM '94 の議事録: 通信アーキテクチャとプロトコルに関するシンポジウム、1994 年 8 月。
  • Rブレイデン。 T/TCP - トランザクション機能仕様の TCP 拡張。 RFC 1644, 1994 年 7 月。
  • R ラマクリシュナン、S フロイド、D ブラック。 IP への明示的輻輳通知 (ECN) の追加。 RFC 3168, 2001 年 9 月。
  • M. Mathis, et al. TCP 選択的確認応答オプション。 RFC 2018, 1996 年 10 月。

附属書B

参考文献
(この附属書は勧告の一部ではありません。)

[B1]宇宙データシステム諮問委員会の手続きマニュアル。 CCSDS A00.0-Y-イエローブック。第 9 号。ワシントン DC: CCSDS, 2003 年 11 月。
[B2]宇宙通信プロトコル仕様 (SCPS) - 合理的、要件、およびアプリケーション ノート。宇宙データシステム標準に関するレポート、CCSDS 710.0- 【未公開】
[B3]J モーグルと S ディアリング。パス MTU ディスカバリー。 RFC 1191, 1990 年 11 月。†: 短剣
[B4]V ジェイコブソンと R ブレーデン。長い遅延パスの TCP 拡張。 RFC 1072, 1988 年 10 月。
[B5]Rフォックス。 TCP Big Window および Nak オプション。 RFC 1106, 1989 年 6 月。
[B6]V.ジェイコブソン。低速シリアル リンクの TCP/IP ヘッダーを圧縮します。 RFC 1144, 1990 年 2 月。
[B7]K ニコルズ、S ブレイク、F ベイカー、D ブラック。 IPv4 および IPv6 ヘッダーの差別化サービス フィールド (DS フィールド) の定義。 RFC

1 INTRODUCTION

1.1 PURPOSE

The purpose of this Recommendation is to define the services and protocols that provide the Space Communications Protocol Specification (SCPS) Transport service. This definition will allow independent implementations of the protocols in the space and ground segments of the SCPS Network to interoperate.

1.2 SCOPE

This Recommendation is intended to be applied to all systems that claim conformance to the SCPS Transport protocols.

1.3 APPLICABILITY

This Recommendation is designed to be applicable to any kind of space mission or infrastructure, regardless of complexity. It is intended that this Recommendation become a uniform standard among all CCSDS Agencies.

1.4 RATIONALE

The CCSDS believes it is important to document the rationale underlying the recommendations chosen, so that future evaluations of proposed changes or improvements will not lose sight of previous decisions. The concept and rationale for SCPS-TP may be found in reference [B2],

1.5 ORGANIZATION OF THIS RECOMMENDATION

This Recommendation contains six sections and four annexes. This section presents introductory material that establishes the context for the remainder of the document. Section 2 contains an overview of the protocols, summarizing the main technical requirements and describing the approach used to provide the protocols’ services. Sections 3 and 4 present the specifications for Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) in the SCPS environment. Section 5 establishes the requirements for maintaining management information. Section 6 presents conformance requirements for implementations.

The four annexes to this Recommendation provide supporting information. Some of the annexes contain normative material, while some contain informative material. Annex A is informative and contains the acronyms and abbreviations used commonly throughout the document. Annex B is informative and contains the informative references cited throughout the document. Annex C is normative and contains the proforma for the Protocol Implementation Conformance Statement (PICS). The PICS unambiguously describes the capabilities provided by an implementation of the protocol. Annex D is normative and contains the service specification.

1.6 HOW TO READ THIS DOCUMENT

This document makes modifications and extensions to TCP and UDP for use in spacecraft communications environments, characterized by potentially long delays, unbalanced forward- and return-link data rates, and potentially high error rates. It is anticipated that some readers of this document will be protocol implementers, probably with TCP implementation experience. Other readers will be individuals more familiar with the particular application environment than with the protocols.

For readers and implementers already familiar with the internals of TCP and UDP, this document may best be used in the following manner:

  • 1) Review section 6 of this document. It describes the implementation requirements for TCP and UDP, and gives an indication of those capabilities within TCP and UDP that have been modified (indicated by text to the effect ‘as amended by a.b.c of this document’, where a.b.c is a section reference in this document).Also in section 6 is a list of mission-specific capabilities that, depending on the needs of the mission, may be beneficial to add to the basic functionality of the protocols. Section 6 provides an introduction to these capabilities, and pointers back to sections 3 and 4, in which the capabilities are specified. Readers should use section 6 as a means of identifying the capability set required for their mission(s).Some of the capabilities required for a mission depend on the availability of other capabilities. These dependencies, along with a restatement of the implementation requirements, are documented in table form in the Protocol Implementation Conformance Statement that appears in annex C. Annex C specifies the format in which an implementer must document the details of his or her implementation.
  • 2) Review sections 3 and 4, which specify SCPS-TP-unique options and modifications for TCP and UDP.
  • 3) Review section 5, which identifies the management information requirements.

For readers and implementers who are generally familiar with the operation of TCP and UDP, but not the internals of the protocols, the following approach to reviewing this document may be useful:

  • 1) Read over the UDP and TCP RFCs. The UDP specification is quite short (3 pages). The TCP specification is significantly longer, but also provides a substantial amount of background information. These documents were written in 1980 and 1981, respectively.
  • 2) Read section 4 of RFC 1122. This document captures the Tessons learned’ from using TCP and UDP as of 1989. In addition to placing requirements on implementations of TCP and UDP, it provides a significant amount of explanatory information and discussion about rationale for particular requirements. RFC 1122 constitutes an extension to the base TCP and UDP specifications, in addition to describing implementation requirements.
  • 3) Read over section 6 of this document. It refers to the TCP and UDP RFCs and to RFC 1122, and either endorses or revises the requirements put forward in RFC 1122. Read the ‘Mission-Specific Capabilities’ subsection, and identify whether any of these capabilities are necessary. If so, review the references identified in each of the mission-specific capability sections.
  • 4) Finally, read sections 3 through 5.

Readers with little previous familiarity with TCP or UDP should consider reviewing an introductory text on the subject. One excellent example is TCP/IP Illustrated, Volume 1, by W. Richard Stevens (Copyright 1994, Addison-Wesley Professional Computing Series). Chapters 1, 11, and 17-24 are particularly relevant. Note that additional information about one of the mission-specific capabilities—the modifications to TCP to support Transactions— is presented in Chapters 1-12 of TCP/IP Illustrated, Volume 3, by W. Richard Stevens (Copyright 1996, Addison-Wesley Professional Computing Series).

1.7 CONVENTIONS AND DEFINITIONS

1.7.1 OCTET NUMBERING CONVENTION AND NOMENCLATURE

This document does not deal with transmission of any data elements smaller than one octet. As such, the transmission order of bits within an octet is an issue to be dealt with at lower layers. However, the relative ordering of octets within a word and the unambiguous numbering of bits within an octet are relevant here. The order in which multi-octet fields defined in this document are submitted for transmission is called ‘Big Endian’ byte ordering. When applied to networking, it is called ‘network byte order’. In this ordering scheme, bit 0 of a 32-bit value is the most significant bit; bit 31 is the least significant bit. The octet containing bits 0-7 is transmitted first, followed by the octet containing bits 8-15, followed by the octet containing bits 16-23, and finally the octet containing bits 24-31. Note that ‘Big Endian’ byte ordering is NOT what some machines (notably the 80x86 class of machines) use internally. Implemented must ensure that headers are converted to network byte order for transmission.

The following conventions apply throughout this Recommendation:

  • a) the words ‘shall’ and ‘must’ imply a binding and verifiable specification;
  • b) the word ‘should’ implies an optional, but desirable, specification;
  • c) the word ‘may’ implies an optional specification;
  • d) the words ‘is’, ‘are’, and ‘will’ imply statements of fact.

1.7.2 DEFINITIONS

Address Family: An address family specifies the structural rules required to interpret the internal fields of an address. The SCPS Network supports three address families: the SCPS address family, the Internet Protocol (IP) address family, and the Internet Protocol version Six (IPv6) address family.

Address Type: An address type defines the meaning that the addresses have (that is, whether they identify end systems or a path between end systems), the number of addresses that appear in a SCPS Network Protocol header (two addresses if the addresses identify end systems, only one if the address identifies a path between end systems), and the address family that is valid for the addresses.

Connection: A connection is defined by information that is named, persistent, and shared across the systems supporting an instance of communication. For transport protocols, these systems are the endpoints that terminate the transport protocol, but not intermediate systems.

End System: An addressable network entity within the SCPS Network.

Extended End System Address: The Extended End System Address identifies a single end system or an end-system group. The Extended End System Address conforms to the structural rules of either the SCPS Address Family or the IP Address Family. Extended End System Addresses may be parameters to the primitives of the Unit Data service.

Gateway: A network-addressable system that terminates a protocol at a given layer and invokes similar services at the same layer of an adjacent network.

Host: A network-addressable system that may send or receive network-layer packets, but does not forward packets.

Internet Protocol Number: The Internet Protocol Number is the transport protocol identifier used by Internet Protocols. Values may range from 0 through 255, and valid values are defined in reference [1],

IP Address Family: The IP Address Family specifies a set of structural rules for the interpretation of Extended End System Addresses, and is defined in reference [1], and the possible formats are refined in section 3.2.1.3 of RFC 1122 (reference [2]).

Maximum Segment Size: The maximum amount of user data that can be carried in a Segment. This value is calculated by subtracting the size of the network, security, and transport layer headers from the MTU size.

Maximum Transmission Unit: The Maximum Transmission Unit (MTU) specifies the maximum amount of data that the subnetwork layer will accept in a single subnetwork service request. The MTU for a route is the minimum of all known MTUs along that route.

NOTE — It is anticipated that this value will be known and managed as part of the routing table information; however, techniques for dynamically discovering the MTU of a route exist. Refer to RFC 1191, ‘Path MTU Discovery’ (reference [B3]) for more information.

N-Address: an address in the SCPS Network. The attributes of an N-Address are the Address Type and the Address Family.

N-Basic_Quality_of_Service parameter: The Basic Quality of Service (QOS) parameter of the N-UNITDATA service primitives carries information necessary to provide special network processing services for the datagram. It is a data structure that contains three sub-parameters: precedence, routing requirements, and a program-specific field.

N-Destination_Address: The N-Destination_Address is a parameter of all of the SCPS Network service primitives. It is an N-Address that identifies the destination end system of a packet in the SCPS Network. The N-Destination_Address parameter must be of the Extended End System address type, and may be of either the IP or the SCPS address family.

Network-Service Data Unit: See N-SDU.

N-Expanded_Quality_of_Service parameter: The Expanded QOS parameter provides a mechanism for specifying ground-relevant QOS requests. The valid values of this parameter are defined in RFC 2474 (reference [B7]).

N-SDU: The Network Service Data Unit (N-SDU) is a parameter of the Unit Data service primitives. It is a variable-length, octet-aligned data unit of arbitrary format. The maximum length of an N-SDU is 8145 octets.

NOTE — The maximum size of the N-SDU field is limited to the length resulting from subtracting the maximum length of a SCPS-NP header from the maximum SCPS-NP PDU length. The maximum length of the SCPS-NP header is 46 octets. The length field in the SCPS-NP header is 13-bits, which allows an 8191-octet total packet length. Therefore, the maximum size of an N-SDU that is guaranteed to fit in a SCPS-NP PDU is 8145 octets. Local restrictions on packet size or extensions to the protocol may further limit this size, and the maximum implementations size of N-SDU must be documented by the implementer.

N-Source_Address: The N-Source_Address is a parameter to many of the primitives of the SCPS network service. It is an N-Address that identifies the end system originating a packet in the SCPS Network. The N-Source_Address must be of the Extended End System address type and may be of either the IP or the SCPS address family. The N-Source_Address may not be a multicast or a broadcast address.

N-Source_Timestamp parameter: The N-Source_Timestamp is a parameter of several SCPS Network service primitives. This parameter permits the Network Service user to provide a source timestamp to accompany the N-SDU. The Source Timestamp parameter consists of a timestamp format field and a timestamp value field.

N-User_Internet_Protocol_Number parameter: The N-User_Internet_Protocol_Number is a parameter to several of the SCPS Network service primitives. The values of this parameter used by the SCPS-TP are shown in table 1-1.

Table 1-1—Values of the N-User_Internet_Protocol_Number Parameter Used by SCPS-TP

Network Service UserInternet Protocol
Number (decimal)
TCP6
UDP17
Compressed TCP105

Port: An identifier of the transport service user.

Precedence parameter: The precedence parameter is an element of the NBasic_Quality_of_Service parameter of the N-UNITDATA service primitives. The precedence parameter is specified by a network service user to identify the relative importance of this data compared to other data within the network. It is an integer with a valid range from 0 to 15, with 0 being the lowest precedence and 15 being the highest. Local policy may cause the user-specified precedence parameter to be overridden. The network service user may also supply a null value for the precedence parameter, in which case the network service would assign a default value for the precedence parameter.

Program Specific parameter: The program-specific parameter is an element of the NBasic_Quality_of_Service parameter that provides a mechanism for programs to carry two bits of information in the SCPS-NP header. This information is interpreted by program-specific extensions to the SCPS-NP and has a default value of 0.

Pseudo-Header: A pseudo-header, in TCP and UDP, is a collection of information that is used for the purposes of checksum calculation, but not actually shipped as part of the transport layer protocol data unit. The information in the pseudo-header consists of the source and destination addresses, the Internet Protocol Number of the transport protocol, and the length of the transport protocol data unit.

Router: A network-addressable system that may send, receive, or forward network-layer packets.

Routing Requirements parameter: The Routing Requirements parameter is an element of the N-Basic_Quality_of_Service parameter of the N-UNITDATA service primitives. The Routing Requirements parameter has two currently defined values: ‘normal’ routing and ‘flood’ routing.

SCPS Network Address: A SCPS Network Address specifies one of the possible SCPS Address formats (via the FMT-ID parameter) and the values of the parameters required by that format.

Segment: A segment is the Protocol Data Unit of the Transmission Control Protocol (TCP).

Service-Access-Point: A Service-Access-Point (SAP) is the point at which the services of a layer are made available to the layer above it.

Silently Discard: A packet is ‘silently discarded’ if no error message is generated (either to a local user or to a remote user) as a result of the discard.

NOTE — The practice of silently discarding packets reduces the possibility that a misconfigured host will uncontrollably generate erroneous traffic. The term ‘silent discard’ differs from ‘discard’ in that certain actions, such as informing network service users about the discard, are not performed in a silent discard. When the term ‘discard’ is used, other information must be used to determine whether the network service user is informed.

T-SDU: The Transport Service Data Unit (T-SDU) is a parameter of several of the SCPS-TP service primitives. It is a variable-length, octet-aligned data unit of arbitrary format. The maximum length of a T-SDU is an implementation issue.

Timestamp Format field: The Timestamp Format field of the N-Source_Timestamp parameter identifies the format of the source timestamp that is supplied by the Network User. The available formats are specified in reference [10],

Timestamp Value: The Source Timestamp Value field of the N-Source_Timestamp parameter contains the value of the timestamp that shall accompany the Network Service Data Unit.

Transport-Service Data Unit: See T-SDU.

1.8 REFERENCES

The following documents contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All documents are subject to revision, and users of this Recommendation are encouraged to investigate the possibility of applying the most recent editions of the documents indicated below. The CCSDS Secretariat maintains a register of currently valid CCSDS Recommendations.

  • J. Postel. Internet Protocol. STD 5, September 1981. [RFC 791, RFC 950, RFC 919, RFC 922, RFC 792, RFC 1112]
  • R. Braden. Hosts Requirements. STD 3, October 1989. [RFC 1122, RFC 1123]
  • J. Postel. User Datagram Protocol. STD 6, August 1980. [RFC 768]
  • J. Postel. Transmission Control Protocol. STD 7, September 1981. [RFC 793]
  • D. Borman, R. Braden, and V. Jacobson. TCP Extensions for High Performance. RFC 1323, May 1992.
  • P. Kam & C. Partridge. “Round Trip Time Estimation.” In Proceedings of SIGCOMM ’87: Symposium on Communications Architectures and Protocols, August 1987.
  • V. Jacobson. “Congestion Avoidance and Control.” In Proceedings of SIGCOMM ’88: Symposium on Communications Architectures and Protocols, August 1988.
  • J. Nagle. Congestion Control in IP/TCP Internetworks. RFC 896, January 1984.
  • K. McCloghrie and M. Rose. Management Information Base. STD 17, March 1991. [RFC1213]
  • Space Communications Protocol Specification (SCPS)—Network Protocol (SCPS-NP). Recommendation for Space Data System Standards, CCSDS 713.0-B-l. Blue Book. Issue 1. Washington, D.C.: CCSDS, May 1999.
  • Space Communications Protocol Specification (SCPS)—Security Protocol (SCPS-SP). Recommendation for Space Data System Standards, CCSDS 713.5-B-l. Blue Book. Issue 1. Washington, D.C.: CCSDS, May 1999.
  • L. S. Brakmo, S. W. O’Malley, and L. L. Peterson. “TCP Vegas: New Techniques for Congestion Detection and Avoidance.” In Proceedings of SIGCOMM ’94: Symposium on Communications Architectures and Protocols, August 1994.
  • R. Braden. T/TCP—TCP Extensions for Transactions Functional Specification. RFC 1644, July 1994.
  • R. Ramakrishnan, S. Floyd, and D. Black. The Addition of Explicit Congestion Notification (ECN) to IP. RFC 3168, September 2001.
  • M. Mathis, et al.. TCP Selective Acknowledgement Options. RFC 2018, October 1996.

ANNEX B

INFORMATIVE REFERENCES
(This annex is not part of the Recommendation.)

[B1]Procedures Manual for the Consultative Committee for Space Data Systems. CCSDS A00.0-Y-9. Yellow Book. Issue 9. Washington, D.C.: CCSDS, November 2003.
[B2]Space Communications Protocol Specification (SCPS)—Rationale, Requirements, and Application Notes. Report Concerning Space Data System Standards, CCSDS 710.0-G. [Not yet published.]
[B3]J. Mogul and S. Deering. Path MTU Discovery. RFC 1191, November 1990.†: dagger
[B4]V. Jacobson and R. Braden. TCP Extensions for Long-Delay Paths. RFC 1072, October 1988.
[B5]R. Fox. TCP Big Window and Nak Options. RFC 1106, June 1989.
[B6]V. Jacobson. Compressing TCP/IP Headers for Low-Speed Serial Links. RFC 1144, February 1990.
[B7]K. Nichols, S. Blake, F. Baker, and D. Black. Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers. RFC