YMODEM プロトコル (1985)(ワイモデムプロトコル)
Chuck Forsberg が 1985 年に開発した XMODEM 拡張ファイル転送プロトコル。1024 バイトブロック・複数ファイル送信・ファイル名/サイズ自動転送に対応し、XMODEM の主要欠点を改善。BBS 時代の中堅プロトコルとして 1990 年前後に普及した。
概要
YMODEM は、Chuck Forsberg が 1985 年に開発した XMODEM 拡張ファイル転送プロトコルで、XMODEM-1K (1982) をベースに XMODEM の主要欠点 (ファイル名非送信・単一ファイルのみ・大きなブロック非対応) を改善した中堅プロトコルです。1024 バイトブロック・複数ファイル送信 (Batch)・ファイル名/サイズ/タイムスタンプ自動転送に対応し、BBS 時代の 1986-1991 年に広範に普及。ヘッダ Block 0 でファイル名・サイズ・タイムスタンプを送信、本体データブロックを連続送信、ファイル末尾で次ファイルがあれば Batch 継続する革新的設計を実現しました。YMODEM-G は ACK 廃止で MNP4/V.42 エラー訂正モデム前提の高速版、ZMODEM (1986) 登場までは XMODEM と並ぶ主流プロトコルの一翼を担いました。
主な特徴・仕組み
- 開発者: Chuck Forsberg (1985 年、Omen Technology)
- ベース: XMODEM-1K
- ブロックサイズ: 1024 バイト (128 バイトも互換維持)
- エラー検出: CRC-16
- ヘッダ Block 0: ファイル名 (最大 128 文字)・ファイルサイズ (10 進数字)・タイムスタンプ (8 進)・ファイルモード
- Batch 転送: 複数ファイル連続送信、各ファイル末で次ファイル選択
- YMODEM-G: ACK 廃止・全フロー Stream 方式、エラー時は再送なし・接続切断
- シリアル制御: SOH (128B)・STX (1024B)・EOT (終了)・ACK・NAK・CAN
- 対応モデム: V.22bis 2400bps・V.32 9600bps・V.32bis 14.4kbps で広く実用化
- 後継: ZMODEM (1986、同じく Chuck Forsberg 開発)
スペック比較表
| プロトコル | 年 | ブロック | Batch | 効率 |
|---|---|---|---|---|
| XMODEM | 1977 | 128B | × | 72% |
| XMODEM-1K | 1982 | 1024B | × | 90% |
| YMODEM | 1985 | 1024B | ○ | 92% |
| YMODEM-G | 1986 | 1024B (Stream) | ○ | 95% |
| ZMODEM | 1986 | 可変 | ○ | 96% |
具体例・対応ソフト
- Telix (DOS): YMODEM 標準実装、1980 年代後半標準
- ProComm Plus: 商用 DOS 通信ソフト、YMODEM 必須機能
- WTERM (PC-9801): 日本製、YMODEM 1990 年代に対応
- TeraTerm: 現代も YMODEM サポート、シリアル経由レトロ機器更新
- minicom (Linux): YMODEM 送受信機能継続実装
自作PCでの選び方・注意点
YMODEM は 1980 年代後半-1990 年代前半の BBS 時代に XMODEM と並んで主流でしたが、ZMODEM 登場後は使用頻度が低下、現代では事実上絶滅。ただし TeraTerm・minicom・PuTTY plink などの現代ターミナルソフトに実装が残っており、レトロ PC 趣味 (PC-9801・X68000・MSX 等) のファイル転送で活用可能。組み込み機器のシリアルファームウェア更新・BIOS フラッシュなどの低レベル用途でも稀に利用されます。Raspberry Pi の USB シリアル変換を介して PC-9801 への HDD イメージ転送など、現代環境からレトロハードへの橋渡し技術として実用価値が残っています。
関連用語との違い
- XMODEM: 前身、ファイル名非送信・単一ファイル・128B ブロック
- YMODEM-G: 派生、ACK 廃止 Stream 方式、V.42 モデム必須
- ZMODEM: 後継、自動再開・Streaming・CRC-32、最終形
よくある質問(FAQ)
Q1: YMODEM と XMODEM-1K の違いは? A: YMODEM は Batch 転送 (複数ファイル)・ファイル名自動転送を追加。XMODEM-1K は 1024 ブロック化のみ。
Q2: YMODEM-G は何が違う? A: ACK を廃止し全 Stream 送信、MNP4/V.42 モデムの誤り訂正に依存。高速だがエラー時は接続切断必要。
Q3: Chuck Forsberg は何者? A: Omen Technology 創業者、YMODEM・ZMODEM の開発者として通信プロトコル史に名を残す重要人物。1991 年事業から引退。
まとめ
- YMODEM = 1985 年 Chuck Forsberg 開発、XMODEM 拡張
- 1024B ブロック・Batch 転送・ファイル名/サイズ自動転送
- YMODEM-G で Stream 化、V.42 モデム前提の高速版
- ZMODEM (1986) の前身、現代もレトロ用途で残存