TCP/IPの高速化を知る読書「ASCII.technologies」

ASCII.technologies(2010年10月号)の特集は、「激変するTCP/IP」だ。IPv4IPv6の基本説明は日経NETWORK等の雑誌にもよく載っている記事だけど、その記事に続く「高速TCP」や「次世代トランスポートプロトコル」はASCII.technologiesらしい技術満載の内容だった。

ネットワーク回線が高速化されたおかげで、データのやり取りが高速に行われていると思いがちだが、実際にはTCPプロトコルが仕様として持つ本質的な制約のために、実効速度が出ないケースが珍しくない。

具体的には、日本とアメリ東海岸帯域幅1Git/sの専用線で接続しても、実効通信速度は2.5Mbit/s程度にしかならない。また、日本国内の東京⇔大阪間でも25Mbit/s程度で頭打ちとなる。

http://tech.ascii.jp/elem/000/000/549/549289/

そんな課題を解決するために幾つもの方法が提案され、従来技術と互換性を持つものは既に一部が実装されてきている。

  • ウインドウサイズの改善
    • 「ウインドウスケーリング (RFC 1323)」(ウインドウサイズの改善)
    • 「大容量初期ウインドウ (RFC 3390)」(最初のウインドウサイズを増やす)
  • 輻輳制御のアルゴリズム改善
    • Loss-Based手法(輻輳状態をパケットロスで検知)
      • High Speed TCP (HSTCP) (RFC 3649), Scalable TCP (STCP), Binary Increase Congestion Control TCP (BIC-TCP)
    • Delay-Based手法(RTTの変化を監視)
    • 上記のハイブリッド手法
      • Compound TCP (CTCP), CUBIC

TCP/IPはかなり歴史があるし、毎日当たり前に使っているものだから既に枯れた技術のように思えるけれど、実際には課題が山積みであり、その解決に向かって改善が続いている様子は興味深い。現在進行形で続いているTCP/IPの技術を知るには良い雑誌だと思う。

ちなみに下記の記事では、TCPではなくUDPFTP代わりのデータ転送に使ってしまうという凄い技が紹介されている。スループットの出ないTCPを技術的に改善するのではなく、本来確実な転送が見込めないはずのUDPを使ってしまうという、その斬新な発想に驚いてしまう。TCPUDPの世界は、実はまだまだ奥が深いのかも知れない。

そのような問題を解決したのが、Aspera社のFASPという製品だったそうです。FASPは、トランスポート層TCPの代わりにUDPを使い、その上のアプリケーション層でパケットロスを管理する仕組みにしているそうです。TCPとは異なり、パケットロスがある状況下でもウィンドウサイズを大きく保ち、ロストパケットだけをうまく再送するような仕組みになっているそうです。このケースでは、FTPの15〜30倍のスループットをたたき出したとのこと。

AVATAR製作時、その超巨大データはどのように大陸間転送されたか? - Wataru's blog