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--+