複製鏈接
請複製以下鏈接發送給好友

Ymodem

鎖定
YModem協議是由XModem協議演變而來的,每包數據可以達到1024字節,是一個非常高效的文件傳輸協議。
外文名
Ymodem
前    身
XModem協議
類    型
文件傳輸協議
優    點
非常高效

Ymodem協議介紹

(Ymodem) Ymodem 協議。Ymodem是一種錯誤糾正協議。使用較大數據塊的調製解調採用這種協議,以獲得更高的工作效率。採用Ymodem協議的調制解調器以1024字節數的塊發送數據。成功接收的不會被確認。有錯誤的塊被確認(NAK),並重發。Ymodem類似於Xmodem-1K,不同之處是提供批處理模式(batch mode)。在批處理模式下,可以使用一個命令發送一些文件。Ymodem使用循環冗餘碼校驗作為錯誤校驗方式。 [1] 
等同於Xmodem-1K 加批文件傳送的一種文件傳送協議 ( 也稱 Ymodem Batch) 。它比標準 Xmodem 要快,而且在發送數據之前發送文件名。 Ymodem-G 無需無錯誤通道的認可或當調制解調器自糾錯時就可傳送,但是一旦出現錯誤傳送就會取消。

Ymodem基本操作流程

Ymodem Ymodem
YMODEM協議的基本操作流程
數據包開始信號
發送序號
發送序號反碼
數據區
CRC高字節
CRC低字節
SOH/STX
01
FE
1Byte
1Byte
1Byte
128/1024Byte
1Byte
1Byte
1開啓是由接收方開啓傳輸,接收方發送一個字符'C',然後進入等待(SOH)狀態,如果沒有迴應,就會超時退出。
2發送方開始時處於等待過程中,等待字符'C'。發送方收到'C'後,發送第一幀數據包,內容如下:
SOH 00 FF Foo.c NUL[123] CRC CRC (Foo.c為文件名,NUL[123]補0)
進入等待(ACK)狀態。
3接收方收到第一幀數據包後,CRC校驗滿足,則發送ACK。
4發送方接收到ACK,又進入等待“文件傳輸開啓”信號,即重新進入等待“C”的狀態。
上面接收方只是收到了一個文件名,現在正式開啓文件傳輸,Ymodem支持128字節和1024字節一個數據包。128字節以(SOH)開始,1024字節以(STX)開始。
5接收方又發出一個字符'C',開始準備接收文件。進入等待“SOH”或者“STX”狀態。
6發送方收到字符'C'後,開始發送第二幀,第二幀中的數據存放的是第一包數據。內容如下:
(SOH/STX)(01序號)(FE反碼)(128/1024字節數據)(CRC校驗),等待接收方“ACK”。
7接收方收到數據後,發送一個ACK,然後等待下一包數據傳送完畢,繼續ACK應答。直到所有數據傳輸完畢。…
8數據傳輸完畢後,發送方發EOT,第一次接收方以NAK應答,進行二次確認。發送方收到NAK後,重發EOT,接收方第二次收到結束符,就以ACK應答。最後接收方再發送一個字符'C'開啓另一次傳輸,發送方在沒有第二個文件要傳輸的情況下,發送如下數據:SOH 00 FF 00~00(共128個) CRCH CRCL,接收方應答ACK後,正式結束數據傳輸。
參考資料
  • 1.    Ymodem  .TechTarget網絡[引用日期2015-06-08]