YMODEM
YMODEMïŒãããã§ãïŒãšã¯ããã€ããªè»¢éãããã³ã«ã®äžçš®ã§ãããXMODEMãMODEM7ãçºå±ããããã®ã§ãChuck Forsbergã«ããéçºããã1985幎ã«YMODEMãšããåç§°ãã€ããããã
ç¹åŸŽ
[ç·šé]- 1024ãã€ããããã¯128ãã€ãåäœã§ããŒã¿ã転éããã
- ãšã©ãŒæ€åºã«16ãããã®CRC笊å·ãå©çšããã
- 転éãšã©ãŒããã£ãå Žåããšã©ãŒã®ãã£ããããã¯ãåéããããšãã§ããããããæå®ãããããã¯ããããçŽãæ©èœã¯ãªãã
- ãã¡ã€ã«åããã¡ã€ã«ãµã€ãºãã¿ã€ã ã¹ã¿ã³ããªã©ã®ãã¡ã€ã«æ å ±ã転éããããšãã§ããã
- äžåºŠã«è€æ°ã®ãã¡ã€ã«ã転éããããšãã§ããïŒããã転éïŒã
- ã³ã³ãããŒã«ã³ãŒãã®ã¯ã©ãŒãïŒçœ®æïŒåŠçãè¡ããªãããã®ãããXON/XOFFæåã«ãããããŒå¶åŸ¡ãè¡ã£ãŠããå Žåã«ã¯äžå ·åããããå¯èœæ§ãããã
YMODEMã®çš®é¡
[ç·šé]- YMODEM
- XMODEM/1kã«ãã¡ã€ã«æ å ±ã®è»¢éãè€æ°ãã¡ã€ã«ã®è»¢éæ©èœã远å ãããã®ãåã« "YMODEM" ãšç§°ããå Žåã¯éåžžãããæãã
- YMODEM-g
- åä¿¡åŽã®å¿çãæ±ããã«æ¬¡ã ãšããŒã¿ã転éããYMODEMãé«é転éãå¯èœã ãããšã©ãŒãèµ·ãã£ãŠãå埩ããããšã¯ã§ããªãã
- YMODEM(-g)ã·ã³ã°ã«ã¢ãŒã
- è€æ°ãã¡ã€ã«ã®è»¢éæ©èœãæããªãYMODEMã§ãããæ¬æ¥ã®ä»æ§ã«ã¯ååšããªãã¢ãŒããæ¥æ¬ã§åã« "YMODEM" ãšç§°ããå Žåã¯ãã¡ããæãå Žåãããããã®éè€æ°ãã¡ã€ã«ã転éå¯èœãªYMODEM(-g)㯠"YMODEM(-g)/Batch" ãªã©ãšç§°ããåºå¥ãããã
æé
[ç·šé]SOH(01h)ãSTX(02h)ãEOT(04h)ãACK(06h)ãNAK(15h)ãCAN(18h)ã®6ã€ã®ã³ã³ãããŒã«ã³ãŒããšæå âCâ(43h)ãâGâ(47h) ã䜿çšããŠéä¿¡å¶åŸ¡ãè¡ããåŸè¿°ããããŒã¿ãããã¯ã®åäœã§ããŒã¿ã転éããã
åºæ¬çãªæµã
[ç·šé]YMODEM
[ç·šé]| åä¿¡åŽ | éä¿¡åŽ | |
|---|---|---|
| âCâïŒéä¿¡èŠæ±ïŒ | â | |
| â | ãããã¯0ïŒ1ã€ãã®ãã¡ã€ã«ïŒ | |
| ACKïŒè¯å®å¿çïŒ | â | |
| âCâïŒéä¿¡èŠæ±ïŒ | â | |
| â | ãããã¯1 | |
| ACK | â | |
| â | ãããã¯2 | |
| ACK | â | |
| ïŒäžç¥ïŒ | ||
| â | æçµããã㯠| |
| ACK | â | |
| â | EOTïŒè»¢éçµäºïŒ | |
| NAK | â | |
| â | EOT | |
| ACK | â | |
| ïŒ1ãã¡ã€ã«è»¢éçµäºïŒ | ||
| âCâïŒæ¬¡ã®ãã¡ã€ã«ãèŠæ±ïŒ | â | |
| â | ãããã¯0ïŒ2ã€ãã®ãã¡ã€ã«ïŒ | |
| ïŒäžç¥ïŒ | ||
| â | æçµãããã¯ïŒæåŸã®ãã¡ã€ã«ïŒ | |
| ACK | â | |
| â | EOT | |
| NAK | â | |
| â | EOT | |
| ACK | â | |
| âCâ | â | |
| â | ãããã¯0ïŒãå šãŠã®ãã¡ã€ã«ã転éçµäºãïŒ | |
| ACK | â | |
| ïŒéä¿¡çµäºïŒ | ||
- åä¿¡åŽãéä¿¡èŠæ±ãšã㊠âCâ ãéåºããã
- éä¿¡åŽããã¡ã€ã«æ å ±ã®å ¥ã£ãããŒã¿ãããã¯ïŒãããã¯0ïŒãéåºãããå šãŠã®ãã¡ã€ã«ã転éãçµãã£ãŠããå Žåã¯ãã®æšã瀺ãããŒã¿ãããã¯ãéåºããã
- åä¿¡åŽã¯ãããã¯çªå·ãCRC笊å·ã確èªããåä¿¡ããããŒã¿ã«ãšã©ãŒããªãããšã確èªããåŸã«ACKãéåºãããå šãŠã®ãã¡ã€ã«ã®è»¢éãçµãã£ãŠããå Žåã¯ããããã£ãŠéä¿¡ãçµäºããã
- åä¿¡åŽã¯éä¿¡èŠæ±ãšã㊠âCâ ãéåºããã
- éä¿¡åŽãããŒã¿ãããã¯ãéåºããã
- åä¿¡åŽã¯ãåä¿¡ããããŒã¿ã«ãšã©ãŒããªãããšã確èªããåŸã«ACKãéåºããã
- ACKãåããéä¿¡åŽã¯æ¬¡ã®ããŒã¿ãããã¯ãéåºããã
- å šãŠã®ããŒã¿ãéåºãããŸã§6ïœ7ãç¹°ãè¿ããå šãŠã®ããŒã¿ãéåºãçµãã£ãå Žåãéä¿¡åŽã¯éä¿¡ãã¹ãããŒã¿ãçµäºããããšã瀺ãEOTãéåºããã
- åä¿¡åŽãACKãéåºãããã·ã³ã°ã«ã¢ãŒãã®å Žåã¯ããããã£ãŠéä¿¡ãçµäºããã
- æé 1ã«æ»ãã
YMODEM-g
[ç·šé]| åä¿¡åŽ | éä¿¡åŽ | |
|---|---|---|
| âGâïŒéä¿¡èŠæ±ïŒ | â | |
| â | ãããã¯0ïŒ1ã€ãã®ãã¡ã€ã«ïŒ | |
| âGâ | â | |
| â | ãããã¯1 | |
| â | ãããã¯2 | |
| â | ãããã¯3 | |
| ïŒäžç¥ïŒ | ||
| â | æçµããã㯠| |
| â | EOTïŒè»¢éçµäºïŒ | |
| ACK | â | |
| ïŒ1ãã¡ã€ã«è»¢éçµäºïŒ | ||
| âGâïŒæ¬¡ã®ãã¡ã€ã«ãèŠæ±ïŒ | â | |
| â | ãããã¯0ïŒ2ã€ãã®ãã¡ã€ã«ïŒ | |
| ïŒäžç¥ïŒ | ||
| â | æçµãããã¯ïŒæåŸã®ãã¡ã€ã«ïŒ | |
| â | EOT | |
| ACK | â | |
| âGâ | â | |
| â | ãããã¯0ïŒãå šãŠã®ãã¡ã€ã«ã転éçµäºãïŒ | |
| ïŒéä¿¡çµäºïŒ | ||
- åä¿¡åŽãéä¿¡èŠæ±ãšã㊠âGâ ãéåºããã
- éä¿¡åŽããã¡ã€ã«æ å ±ã®å ¥ã£ãããŒã¿ãããã¯ïŒãããã¯0ïŒãéåºãããå šãŠã®ãã¡ã€ã«ã転éãçµãã£ãŠããå Žåã¯ãã®æšã瀺ãããŒã¿ãããã¯ãéåºããããããã£ãŠéä¿¡ãçµäºããã
- åä¿¡åŽã¯ãããã¯çªå·ãCRC笊å·ã確èªããåä¿¡ããããŒã¿ã«ãšã©ãŒããªãããšã確èªããåŸã«ãéä¿¡èŠæ±ãšã㊠âGâ ãéåºããã
- éä¿¡åŽãããŒã¿ãããã¯ã次ã ã«éåºããæåŸã«EOTãéåºããã
- åä¿¡åŽã¯ãåä¿¡ããããŒã¿å šãŠã«ãšã©ãŒããªãããšã確èªããåŸã«ACKãéåºãããã·ã³ã°ã«ã¢ãŒãã®å Žåã¯ããããã£ãŠéä¿¡ãçµäºããã
- æé 1ã«æ»ãã
ãšã©ãŒãçºçããå Žå
[ç·šé]| åä¿¡åŽ | éä¿¡åŽ | |
|---|---|---|
| â | ãããã¯7 | |
| ACK | â | |
| â | ãããã¯8 | |
| ïŒãããã¯8ã«äœããã®ãšã©ãŒããã£ãïŒ | ||
| NAKïŒåéèŠæ±ïŒ | â | |
| â | ãããã¯8ïŒå床åããããã¯ãéåºïŒ | |
| ACK | â | |
| â | ãããã¯9 | |
ãããã¯çªå·ããããããCRC笊å·ãšããŒã¿ã®éã«ççŸããããªã©ã®ãšã©ãŒãçºçããå Žåãåä¿¡åŽã¯ACKã®ä»£ããã«NAKïŒåŠå®å¿çïŒãéåºãããNAKãåä¿¡ããéä¿¡åŽã¯å床åãããŒã¿ãããã¯ãéåºããããããã¯çªå·ãæå®ããŠéä¿¡ãèŠæ±ããæ©èœã¯ãªãããããããã¯çªå·ãé£ç¶ããªãå ŽåãYMODEM-gã®å Žåã¯äžæåŠçïŒåŸè¿°ïŒãè¡ãããšã«ãªãã
äžæåŠç
[ç·šé]äœããã®äºæ ã«ãã転ééäžã«éä¿¡ãçµäºããããå Žåã¯CANãéåºãããããã¯åä¿¡åŽã»éä¿¡åŽã®ã©ã¡ããéåºããŠãè¯ãã
ããŒã¿ãããã¯æ§æ
[ç·šé]| ããã | ããŒã¿ãããã¯çªå· | ããŒã¿ãããã¯çªå·ã®1ã®è£æ° | ããŒã¿ | CRCç¬Šå· |
|---|---|---|---|---|
| 8ããã | 8ããã | 8ããã | 1024ãã€ããããã¯128ãã€ã | 16ããã |
- ããã
- ããŒã¿ã®ãµã€ãºã衚ãã1024ãã€ãã§ããã°STXã128ãã€ãã§ããã°SOHãã»ãããããéä¿¡ããããŒã¿ã«æé©ãªãµã€ãºã䜿çšããã
- ããŒã¿ãããã¯çªå·
- ãããã¯çªå·ãã»ããããã0ããéå§ããŠ1ãã€ã«ãŠã³ãã¢ãããã255ã®æ¬¡ã¯0ã«ãªãã
- ããŒã¿ãããã¯çªå·ã®1ã®è£æ°
- ãããã¯çªå·ã®1ã®è£æ°ïŒå šããããå転ããããã®ïŒãã»ããããã
- ããŒã¿
- éä¿¡ããããŒã¿ã1024ãã€ããããã¯128ãã€ãåäœã§ã»ãããããéä¿¡ããããŒã¿ã1024ãã€ããããã¯128ãã€ãã«æºããªãå Žåã¯EOF(1Ah)ã§ããã£ã³ã°ããïŒç©ºããéšåãåããïŒã
- CRC笊å·
- 16ãããã®CRC笊å·ãããã°ãšã³ãã£ã¢ã³ã§ã»ããããã
ãããã¯0
[ç·šé]ããŒã¿ãã¡ã€ã«æ¬äœã®è»¢éã«å ç«ã£ãŠéåºãããããã¯0ã®ããŒã¿éšåã«ã¯ã以äžã«ç€ºããã©ãŒãããã§ãã¡ã€ã«æ å ±ãã»ããããã128ãã€ããããã¯1024ãã€ãã«æºããªãéšåã¯NUL(00h)ã§ããã£ã³ã°ããïŒEOFã§ã¯ãªãïŒããŸããããŒã¿éšåãå šãŠNULãšãããšãç¶ããŠéä¿¡ãããã¡ã€ã«ã¯ãããªãããšããæå³ã«ãªãã
| ãã¡ã€ã«å | NUL(00h) | ãã¡ã€ã«ãµã€ãº | 空çœ(20h) | ã¿ã€ã ã¹ã¿ã³ã | ç©ºçœ | ããŒããã·ã§ã³ | ç©ºçœ | ã·ãªã¢ã«ãã³ã㌠| NULïŒããã£ã³ã°ïŒ |
| 1ãã€ã | 1ãã€ã | 1ãã€ã | 1ãã€ã | ||||||
| 128ãã€ããããã¯1024ãã€ã | |||||||||
- ãã¡ã€ã«å
- ãã¡ã€ã«åãã»ããããã
- ãã¡ã€ã«ãµã€ãº
- ãã¡ã€ã«ã®å€§ãããåé²ASCIIæååã§ã»ããããã
- ã¿ã€ã ã¹ã¿ã³ã
- ãã¡ã€ã«ã®æŽæ°æ¥æãã°ãªãããžæšæºæ1970幎1æ1æ¥ããã®çµéç§æ°ã«çŽããå «é²ASCIIæååã§ã»ããããã
- ããŒããã·ã§ã³
- UNIXã§ã¯ãããå «é²ASCIIæååã§ã»ãããããå¿ èŠã®ãªãå ŽåãUNIX以å€ã§ã¯NULãã»ããããã
- ã·ãªã¢ã«ãã³ããŒ
- UNIXã§ã¯ãããå «é²ASCIIæååã§ã»ãããããå¿ èŠã®ãªãå ŽåãUNIX以å€ã§ã¯NULãã»ããããã
çºå±
[ç·šé]YMODEMã¯ããã¡ã€ã«æ å ±ã転éã§ããªããªã©ã®XMODEMã®æ¬ ç¹ãå æãããããããããŒã¿ãããã¯ãéåºããããšã«ACKãåŸ ããªããã°ãªããªãã®ã§è»¢éé床ãé ã (YMODEM)ã転éã¯éãããšã©ãŒãèµ·ãã£ãŠãå埩ã§ããªã (YMODEM-g)ãã³ã³ãããŒã«ã³ãŒãã®ã¯ã©ãŒãåŠçãè¡ããªããªã©ã®æ¬ ç¹ãæ®ã£ãŠããããã®ããããããã®åé¡ãå æãã¹ããZMODEMãç¿å¹Žã«Chuck Forsbergãéçºããã