テレビのアニメはどこから来る? / 第3話

第3話:イトは、空白の一箱を埋めなかった|パケットはなぜ小さい?

ピコルート第3話。長いビット列を小箱へ分けたイトは、別順で届いた映像に一つの空白を見つける。推測で埋めるか、正しい一箱を待つか。パケットのヘッダーと中身、順序のずれを選択の結果から学びます。

パケットデータの分割宛先配送路10分更新

受取台の夕焼けには、四角い穴が一つあいていた。

主人公の手が、仮面へ届く直前。

そこだけが黒い。

イトの映像を運んだ青い小箱は、全部で十二個。

受取台にあるのは、十一個。

共有門が閉じるまで、あと二十七秒。

「近くの夕焼け色で埋めれば、今すぐ完成します」

受取台が、偽物の色を差し出した。

イトは手を伸ばさなかった。

九十秒前、長い列は門に入らなかった

第2話で、イトは最後の映像札をビット列へ変えた。

元の札は、もう手元にない。

残った長い列を、今度は壊さずに運びたい。

けれど配送路の練習門は、細く短かった。

ビット列を一つの巨大な箱へ詰めると、入口の枠につかえる。

その後ろでは、迷子を呼ぶ短い音声の箱が待っていた。

門が閉じるまで、九十秒。

イト

映像を先に全部通したら、後ろの声が間に合わない

ユイ

でも、ばらばらに切っただけでは、どの映像のどの部分か分からなくなりませんか

ピコ

だから、小さくするだけじゃ足りない。運ぶための情報も一緒に持たせるんだ

門の横から、空の小箱が十二個出てきた。

パケットには中身と荷札がある

ピコは、一つの箱を上下に分けて見せた。

大きい部分には、映像のビット列を入れる。

こちらは ペイロード。運びたい中身だ。

小さい帯には、届けるための情報を入れる。

こちらを ヘッダー と呼ぶ。

IPv6の仕様であるRFC 8200では、IPv6パケットをIPv6ヘッダーとペイロードから成るものと定義している。ヘッダーには、送信元や宛先などの欄がある。

また、通信路ごとに一度に運べるパケットの最大サイズがあり、経路全体では途中にある最小の上限が効く。

この街の小箱は、その考え方を最初に見るための模型だ。

現実の通信には、アプリのデータ、TCPのセグメント、IPのパケット、リンク上のフレームなど、層ごとに異なる単位が重なっている。どんなデータも、この街と同じ十二箱になるわけではない。

イト

箱を小さくしたぶん、荷札も十二枚いるんだ

マコト

中身だけを送るより、少し荷物は増えるね

ピコ

うん。それでも、通れる大きさにして、別の荷物と同じ道を使える

イトは十二個の箱へ分けた

イトは、長いビット列を十二の範囲へ区切った。

切る場所を一つずつ確かめ、青い小箱のペイロードへ入れる。

外側には、練習台が用意した宛先の帯を巻く。

内側には、元の流れでどの位置だったかを示す順番札を入れた。

ここで二つを混ぜてはいけない。

IPのヘッダーが持つ宛先と、TCPがデータの流れを追うために使うシーケンス番号は、同じ欄ではない。

練習台では、一つの箱に重ねて見えるようにしているだけだ。

「この音声も、間に入れていい?」

イトは後ろの橙色の小箱を指した。

ピコがうなずく。

イトは青い箱を三個送り、橙色の箱を一個通し、また青い箱を送った。

巨大な映像箱で門を塞がなかったため、迷子を呼ぶ声は先に向こう側へ届いた。

青い箱も止まらない。

ただし、同じ順番では進まなかった。

一本道ではない

配送路は途中で三つに分かれた。

青い箱の多くは中央の道へ進む。

二個は左の橋へ回った。

最後の一個だけが、混み始めた中央を避けて、長い右の坂へ送られた。

イトは追いかけようとしたが、透明な壁に止められた。

イト

ぼくが送った順番が変わっちゃう

ピコ

ネットワークは、送った順に必ず届く一本のベルトじゃない

ユイ

では、受け取る側が順番を見直すんですね

ピコ

その必要がある通信ではね。IPだけに、順番どおりや必ず届くことを全部任せてはいないよ

TCPを使う通信では、データの位置をシーケンス番号で追い、受信側が次に期待する位置を確認する。途中でセグメントが失われることもあるため、TCPには再送の仕組みがある。RFC 9293に定められた、IPの上で動く別の役割だ。

一方、すべての通信がTCPを使うわけではない。

必要な速さや確実さに応じて、別の方法を選ぶ場合もある。

「小箱にすれば、自動で完全になるわけじゃないんだ」

イトは、遠回りする一箱を見失った。

一つだけ空いた映像

受取台には、青い箱が次々と着いた。

着いた順ではなく、内側の順番札が示す位置へ中身を置いていく。

夕焼け。

主人公の肩。

仮面の輪郭。

十一個を置いたところで、再構成が止まった。

仮面へ伸びる手の部分だけが、四角く黒い。

門が閉じるまで、二十七秒。

受取台が三つの方法を出した。

  1. 近くの夕焼け色で空白を埋める
  2. 後の箱を一つ前へ詰める
  3. 空白を残し、正しい箱を待つ

一つ目なら、見た目だけはすぐ完成する。

二つ目なら、黒い穴は消える。けれど、その後の位置がすべてずれる。

三つ目なら、映像は未完成のままだ。門が閉じるまでに届く保証もない。

ユイ

遠回りした箱が来るかもしれません

マコト

でも、あと二十秒だ

ピコ

イト。どの映像を受け取るかは、きみが決めて

イトは、偽物の夕焼け色を見た。

これを置けば、今日ずっと追ってきた最後の一枚を見られる。

けれど、仮面へ伸びる手は、元のデータにはなかった色になる。

「空白のまま待つ」

イトは偽物の色を受取台へ戻した。

後ろの箱を動かさず、十二番目の場所だけを空けた。

イトが夕焼け映像の黒い空白を推測で埋めず、遠回りの道から近づく最後の青い小箱を受取台の前で待っている
着いた箱だけを正しい位置へ置き、推測で埋めずに最後の一箱を待つ。

最後の一箱

残り十二秒。

右の坂は、まだ暗い。

残り七秒。

門の向こうで、迷子を呼ぶ声が最後まで流れた。

残り三秒。

右の坂から、青い光が一つ落ちてきた。

遠回りした小箱だった。

受取台は順番札を読み、空けてあった場所へ中身を置く。

黒い四角が、主人公の指先へ変わった。

夕焼けの一枚が、元のデータどおりにそろった。

門が閉じた。

イトはすぐに笑わなかった。

二十七秒間、完成した映像を見られなかった。

十二個の箱には、それぞれヘッダー分の荷物も増えた。

それでも、偽物の色は一つも混ざっていない。

イト

小さく分けると、別の荷物と道を使える。でも、順番も不足も見ないといけない

ユイ

早く届いたものを、届くはずのものに置き換えてはいけないんですね

ピコ

通信の仕組みは、足りない中身を想像で作るんじゃなく、足りない位置を扱うんだ

もし最後の箱が本当に失われていたら、待つだけでは完成しない。

TCPを使う流れなら、確認応答や再送によって不足から回復しようとする。どこまで待つか、再送するか、途中で諦めるかも、通信の決まりの一部だ。

今日は、遅れた一箱が閉門前に届いた。

一度の成功が、すべての箱は必ず届くという証明にはならない。

宛先のない本物の門

受取台から、十二枚の外側の帯が外れた。

練習中は、台が宛先を自動で入れていたらしい。

その先に、本物の配送門がある。

イトが青い小箱を置くと、門は赤く光って返した。

宛先の欄が空いている。

順番が分かっても、届ける相手が分からなければ道は選べない。

イトは、完成した夕焼けの一枚より、空の宛先欄を見た。

「この小箱は、どこの誰に届けるの?」

閉じた門の奥で、無数の住所札が一斉に光った。

次回:データの住所ってどこにある?

パケットは、ただ小さく切ったデータではない。

運びたい中身に、宛先などを示すヘッダーが重なる。

到着順や不足を扱う必要がある通信では、IPの働きだけでなく、TCPなど上位層の仕組みも使う。

次回、ピコルート第4話。

データの住所ってどこにある?

パケットの基本を図でも整理するなら、パケットとはへ進めます。

この物語を、解説で深める

第3話で生まれた疑問を、解説記事で少し深く見ていきます。物語で感じた不思議さを残したまま、言葉と仕組みを順番に整理しましょう。

パケットとは?データを小分けにする理由と届く仕組みを読む