| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
XMODEMをベースとしたファイル転送プロトコルの一つ。名称は、Xの次だからYなのだと思われる。
XMODEMと比較し、次のような特徴を持つ。
XMODEM 1024/CRCに、ファイル情報の自動転送機能を付けたようなもの、ともいえる。
基本的なプロトコルは、XMODEMとほぼ同じで、両方に対応した実装を作ることも難しくない。
XMODEMの場合、ブロック番号1から始まるが、YMODEMはこれに対し、ブロック番号0としてヘッダー情報を最初に送信する。
ヘッダーは、データ部に格納され、余った部分はNUL(0/0、0x00)で埋める。^Z(1/10、0x1A)ではないので注意。
データ部の最初に、ファイル名をASCIIZで格納する。これは必須である。フルパスでファイル名を格納する場合、MS-DOSやWindowsのパスの区切り\は、/に変換する。
ファイル名、0x00に続いて、最大で次の3情報を格納できる。
サイズは10進文字列で、タイムスタンプはUNIXのThe Epochつまり1970年1月1日00:00:00(UTC)からの経過秒数を10進文字列で、記述する。ファイルモードは100644、のような形式の8進文字列で記述する。
この情報は、間を空白(2/0、0x20)で区切って記述する。
バッチ転送においては、複数をファイルを連続して送るので、ファイルの区切りのシーケンスが存在するのが、XMODEM等に対する特徴と言える。
送信側は、一つのファイルが終わったらEOTを送る所はXMODEM等と同様だが、受信側は一旦故意にNAKを返す。送信側はそれに対しEOTを再送し、受信側がACKを返して一つのファイル送信を終える。
そして、受信側は'C'またはNAKを送信し、次のファイルの送受信をする。
全ファイルが転送されたら、送信側は、送信側からの次のファイル要求に対して、ブロックのデータ内容を全てNUL(0/0、0x00)で埋めたヘッダー情報(ブロック番号0)を送信する。受信側はこれを見て一連の送信が終了した旨を認識し、これにACKを返信して終了する。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます