メインコンテンツまでスキップ

3. エラーチェック

3a. ネットワーク上で送信されるすべてのメッセージは、ソフトウェアおよびハードウェアのバグの切り分けを助けるために、当初はエラーチェックされる。​

3b. 各メッセージにはチェックサムが関連付けられ、それは順序に依存する。​

3b1. 次に挙げるアルゴリズムは、使用される可能性のあるものの一つである:​

3b1a. 長さ 1 のチェックサムは、検査対象の文字列中の連続するフィールドを直列に加算し、その和の最下位ビット位置に桁上げビットを加えることによって形成できる。​

              +--------------+
| |
+---FIELD 1----+

ADD +--------------+
| |
+----FIELD 2---+

+-+--------------+
| | |
+-+--------------+
\
\ +--+
ADD CARRY---> | |
+--+

+--------------+
| |
+----RESULT----+
3b1a1. このプロセスは折り畳みとして知られている。​
3b1a2. 複数のフィールドは、加算後に適切に折り畳まれるならば、並列に加算および折り畳みできる。​
              +---------+---------+---------+---------+
              | FIELD 4 | FIELD 3 | FIELD 2 | FIELD 1 |
              +---------+---------+---------+---------+

              +---------+---------+---------+---------+
              | FIELD 8 | FIELD 7 | FIELD 6 | FIELD 5 |
              +---------+---------+---------+---------+
            ADD
            +-+---------+---------+---------+---------+
            | |         |         |         |         |
            +-+---------+---------+---------+---------+
             |      |        |         |         |
             |      |        |         |         v
             |      |        |         |    +---------+
             |      |        |         |    |         |
             |      |        |         |    +---------+
             |      |        |         |
             |      |        |         \    +---------+
             |      |        |          `-> |         |
             |      |        |              +---------+
             |      |        |
             |      |        \              +---------+
             |      |         `-----------> |         |
             |      |                       +---------+
             |      |
             |      \                       +---------+
             |       `--------------------->|         |
             |                              +---------+
             |
             \                                    +---+
              `-----CARRY------------------------>|   |
                                                  +---+
                                  ADD
                                  +---------+---------+
                                  |         |         |
                                  +--CARRY--+---------+
                                       |
                                       \        +-----+
                                    ADD `-----> |     |
                                                +-----+

                                            +---------+
                                            |         |
                                            +-RESULT--+
3b1a2a. この方式を用いると、n 個のフィールドがある場合、最初の n-1 個のフィールドからの桁上げは自動的に次の上位フィールドの下位位置に加算されると仮定される。したがって折り畳みでは、[n] 個の結果フィールドを第 n フィールドからの桁上げに加算し、次にその加算からの適切な大きさの桁上げを加算するだけでよい (そして結果を得るために所望の回数だけ繰り返す。​
3b1a3. この方法で計算されたチェックサムは、異なる機械の語長をそれぞれ最適に使用できるという利点を持つ:​
3b1a3a. チェックサムの計算に適した長さの文字列が選ばれ、適切なチェックサム・フィールド長が選択されるならば、各機械のチェックサム技法は相対的に最適となる。​
3b1a3a1. フィールド長: 288 ビット ((24,32,36) の最小公分母​
3b1a3a2. チェックサム長: 8 ビット (すべての機械にとって都合のよいフィールド・サイズ)​

3b1b. メッセージがフィールドのグループに分割され、各グループがこの方法でチェックサムされる場合、順序に依存するチェックサムは、各グループのチェックサムをシフトし、それを (逐次) 次のグループのチェックサムに加算することによって得られる。​

3c. 2 つの HOST が、すべてのメッセージの肯定的な検証を要求するモードに入れる機能が提供される。この検証は制御リンクを介して送信される。​