3Dラボを読み込み中…
レッスンを読み込み中…
← インターネットの仕組みワールド 1・レッスン 4/4すべてのレッスン ↓

再構成と確認
これを教える? プロジェクターモードを開く
1つのメッセージのパケットは、送信者から順番に送り出されますが、必ずしも順番どおりに届くとは限りません。経路が違ったり、回線が混雑していたり、パケットが失われて再送されたりすると、順番が入れ替わることがあります。そこで受信者には、メッセージを組み立て直す方法が必要です。
そのために、各ヘッダーにあるシーケンス番号を使います。受信者は、本のページに番号が付いているように、その番号の順番にパケットを並べ、ペイロードをつなぎ合わせます。
例として、メッセージ「NETWORKS ARE FUN」を1〜4の4つのパケットに分けて送るとします。パケットは3、1、4、2の順に届きました。受信者はそれらを1、2、3、4の順に並べ直し、メッセージ全体を読みます。もしパケット3が届かなかったら、受信者は1、2、4はあるのに、番号3がないという空白に気づけます。
壊れているか見つける:チェックサム。 ケーブルや電波は完璧ではないため、ビットが0から1に変わることがあります。それを見つけるために、送信者はデータから小さな数を計算し、ヘッダーに入れます。受信者は、受け取ったデータから同じ数を計算して比較します。
簡単な例では、すべてのペイロードのバイトを足し、256で割った余りを使います。72、101、108、108、111という5バイト(「Hello」の文字)の合計は500です。そして、500 − 256 = 244 となります。途中で1バイトでも変わると、受信者が計算した合計は244にならないため、パケットが壊れているとわかり、そのパケットを破棄します。実際のインターネットのチェックサムはもう少し工夫されていますが、考え方は同じです。つまり、データが変わると変わる小さな数です。
チェックサムでエラーを検出することはできますが、直すことはできません。直すには、パケットをもう一度送ってもらいます。
足りないパケットに気づくのは誰で、そのあと何が起こるのでしょうか? インターネットでは、TCP(World 5)というプロトコルがこの仕事をします。受信側は、何が届いたかを伝える「確認応答」と呼ばれる短いメッセージを送り返します。パケットが足りないと、送信側はそのパケットについて何も受け取らないので、もう一度送ります。ブラウザーなどのアプリケーションには、抜けや順番の入れ替わりは見えません。完成したファイルだけを受け取ります。
ダウンロードするものはすべて、このように分割されています。ファイルや写真だけではありません。1つのウェブページや曲、検索への答えでさえ、1つのパケットに入るより大きいため、パケットに分けられます。
パケットが3、1、4、2の順番で届きました。受信側はどうやってメッセージを復元しますか?
チェックサムは何のためにありますか?
インターネット上で、パケットがなくなったことに気づくのは誰ですか?
おもちゃのチェックサムは、ペイロードのバイトの合計を256で割った余りです。バイトは10、20、30です。チェックサムはいくつですか?