ZMODEM プロトコル (1986)(ゼットモデムプロトコル)
Chuck Forsberg が 1986 年に開発した XMODEM/YMODEM 後継のファイル転送プロトコル。Streaming (連続送信)・自動再開・CRC-32・可変ブロックサイズで前世代の制約を解消、BBS 時代後期 (1988-1995) の事実上世界標準として君臨した。
概要
ZMODEM は、Chuck Forsberg が 1986 年に開発した XMODEM/YMODEM 後継のファイル転送プロトコルで、BBS 時代後期 (1988-1995) の事実上世界標準として君臨した最高峰のプロトコルです。Streaming (連続送信)・自動再開 (中断地点から再開)・CRC-32 強力エラー検出・可変ブロックサイズ (32B-1024B 動的調整)・8bit クリーンパス対応・自動起動 (ZRQINIT で送信側が一方的に転送開始) などの革新的機能を実装し、前世代 XMODEM/YMODEM の制約をほぼ完全に解消しました。Telix・ProComm Plus・WTERM・CCT などの主要通信ソフトすべてに実装され、NIFTY-Serve・PC-VAN・F-NET など 1990 年代日本のパソコン通信で標準利用されました。インターネット ISP 普及 (1995-1999) で BBS が衰退する 2000 年頃まで現役、ZMODEM の Streaming・自動再開の概念は現代の HTTP Range Request・rsync 差分転送に思想的に継承されています。
主な特徴・仕組み
- 開発者: Chuck Forsberg (1986 年、Omen Technology)
- エラー検出: CRC-32 (XMODEM の 256 倍強力)
- ブロックサイズ: 32-1024B 動的、回線品質に応じ自動調整
- Streaming: ACK 待ちなし、連続送信で帯域フル活用
- 自動再開: 中断地点 (ZRPOS) から再開、長時間転送の救済機能
- 8bit クリーン: バイナリファイル完全対応、エスケープ処理
- 自動起動 (ZRQINIT): 送信側が単独で開始、受信側操作不要
- ファイル属性: ファイル名・サイズ・タイムスタンプ・モードを送信
- エラー処理: 再送要求・部分再送・タイムアウト・接続切断対応
- 対応モデム: V.22bis 2400bps から V.92 56kbps まで広範
スペック比較表
| プロトコル | 年 | エラー検出 | Streaming | 自動再開 | 効率 |
|---|---|---|---|---|---|
| XMODEM | 1977 | チェックサム | × | × | 72% |
| YMODEM | 1985 | CRC-16 | × | × | 92% |
| YMODEM-G | 1986 | なし (V.42 依存) | ○ | × | 95% |
| ZMODEM | 1986 | CRC-32 | ○ | ○ | 96% |
| Kermit | 1981 | CRC-16 | △ (window) | △ | 80% |
具体例・対応ソフト
- Telix (DOS, 1986-): ZMODEM 標準実装、1990 年代日本で広く普及
- ProComm Plus (1989-): 商用 DOS 通信、ZMODEM 必須
- TeraTerm (1994-): 日本製 Windows ターミナル、現代も ZMODEM サポート
- minicom (Linux): sz/rz コマンドで ZMODEM 送受信
- PuTTY plink: 部分的 ZMODEM サポート、シリアル経由ファイル転送
- NetTerm (Windows): 商用、ZMODEM 高速実装で評価高い
自作PCでの選び方・注意点
ZMODEM は BBS 時代に最も高速・安定したファイル転送プロトコルでしたが、インターネット FTP/HTTP 普及で 2000 年代以降は事実上絶滅。ただし TeraTerm・minicom・SecureCRT などの現代ターミナルソフトに実装が残っており、シリアル経由のレトロ機器・組み込み機器のファイル転送で実用利用可能。Raspberry Pi USB シリアル経由で PC-9801・X68000 への HDD イメージ転送・BIOS フラッシュ・Linux ルータ (OpenWrt) のファームウェア更新などで活用例があります。1990 年代パソコン通信再現コミュニティでは ZMODEM が標準プロトコルで、現代 PC から V.92 モデム + ATA + Asterisk + レトロ BBS への接続で歴史的体験を再現できます。
関連用語との違い
- XMODEM/YMODEM: 前身、Stop-and-Wait・限定機能、ZMODEM で全面置換
- Kermit: 競合、柔軟だが ZMODEM 比で低速
- HTTP Range Request: 思想的後継、自動再開機能の現代版
よくある質問(FAQ)
Q1: ZMODEM の最大の長所は? A: Streaming + 自動再開の組み合わせ。長時間ダウンロード中に回線切断しても再接続で続きから可能、当時のユーザの命綱だった。
Q2: 現代でも使う場面は? A: シリアル経由のレトロ機器ファイル転送・組み込み機器ファームウェア更新・低帯域回線でのファイル送信など。TeraTerm/minicom で実装継続。
Q3: 後継プロトコルは? A: FTP (1985)・HTTP (1991)・rsync (1996) など IP プロトコル世代で置換。ZMODEM の Streaming・自動再開思想は現代でも有効。
まとめ
- ZMODEM = 1986 年 Chuck Forsberg 開発、XMODEM/YMODEM 後継の決定版
- Streaming + 自動再開 + CRC-32 + 8bit クリーン
- BBS 時代後期 (1988-1995) の事実上世界標準
- HTTP Range Request・rsync 差分転送の思想的源流