Ward Christensen が 1977 年に開発したファイル転送プロトコル。128 バイトブロック単位で送信・チェックサムで誤り検出・ACK/NAK 確認応答という単純な ARQ (Automatic Repeat Request) 方式を採用し、BBS 時代の標準ファイル転送プロトコルとなった。
XMODEM は、Ward Christensen が 1977 年に開発したファイル転送プロトコルで、CP/M 用 MODEM プログラムから派生し、IBM PC 移行後 1980 年代に事実上の世界標準ファイル転送プロトコルとなった歴史的プロトコルです。128 バイトブロック単位で送信し、チェックサム (1 バイト加算)・ACK/NAK 確認応答という単純な ARQ (Automatic Repeat Request) 方式を採用。BBS (Bulletin Board System) 時代に最も普及したプロトコルで、Hayes Smartmodem 300/1200 + Telix/CCT/WTERM 等の通信ソフトの組み合わせで広範に使用されました。エラー検出を CRC-16 に強化した XMODEM-CRC (1981)・1KB ブロック対応 XMODEM-1K (1982) が派生し、1985 年 YMODEM・1986 年 ZMODEM へと進化していきました。
| プロトコル | 年 | ブロック | エラー検出 | 効率 |
|---|---|---|---|---|
| XMODEM | 1977 | 128B | チェックサム | 72% |
| XMODEM-CRC | 1981 | 128B | CRC-16 | 72% |
| XMODEM-1K | 1982 | 1024B | CRC-16 | 90% |
| YMODEM | 1985 | 1024B | CRC-16 | 92% |
| YMODEM-G | 1985 | 1024B | なし (V.42 依存) | 95% |
| ZMODEM | 1986 | 可変 | CRC-32 | 96% |
XMODEM は 1990 年代後半まで BBS ファイル転送の標準でしたが、ZMODEM 普及と Internet (HTTP/FTP) 化で 2000 年代以降は事実上絶滅。レトロ PC 趣味では minicom (Linux)・TeraTerm (Windows)・Serial (Mac) など現代のターミナルソフトに XMODEM 実装が残されており、シリアル接続 (RS-232C) 経由のレトロ機器ファイル転送で活用可能。Raspberry Pi USB シリアル → PC-9801・X68000 への BIOS イメージ転送など、現代のレトロハードウェア趣味で実用的に利用されています。
Q1: XMODEM の最大の欠点は? A: Stop-and-Wait ARQ で次ブロック送信前に ACK 待ち、回線品質悪化時に時間ロス大。ZMODEM の Streaming で大幅改善。
Q2: 現代でも使うことはある? A: BIOS フラッシュ・組み込み機器のシリアル経由ファームウェア更新で稀に使用、TeraTerm 等のソフトでサポート継続。
Q3: Ward Christensen は誰? A: 米国 Chicago の BBS パイオニア、1978 年世界初の BBS 「CBBS」を運営、XMODEM 開発で BBS 文化基盤を構築した重要人物。