一.超級終端1K Xmodem文件傳輸協議
超級終端的1K Xmodem文件傳輸協議爲基於點對點連接的服務與客戶端間的通信,提供了一種固定包長度的簡單的連續文件傳輸協議。每一個包都包含1024字節的文件數據,並且都單獨的被接收客戶端響應。每次只能傳輸一個文件,並且失敗後只能從新開始傳輸。
超級終端的1K Xmodem 文件傳輸協議是超級終端Xmodem文件傳輸協議的擴展,包大小由Xmodem中的128字節增加到1024字節。該協議通過使用一個交替的開始字符(包頭SOH<0x02>)來標識1K Xmodem包的開始。
二.1K Xmodem協議傳輸流程
超級終端1K Xmodem文件傳輸協議並不需要向接收客戶端發送待發送文件的名稱 ,該文件將會被接收方授予一個局部有效的文件名。
要開始文件傳輸的過程,首先接收方向發送方發送一個輪詢字符,來提示發送方客戶端已經準備好了。如果接收方支持check-sum (CRC)校驗,則輪詢字符可以用0x43 (ASCII 字母 C);如果接收方只支持舊的checksum (求總和)校驗,則輪詢字符可以用0x15 (NACK線控制字符)。
發送方響應接收方的啓動字符,開始發送文件數據包,每個包都是1024字節的固定長度。如果最後一個文件數據包不足1024字節,則利用NACK(0x1A)填充到1024字節。接收方通過ACK(正常接收)或者NACK(非正接收)來響應每一個包。
如果發送方收到ACK,則發送下一個包知道文件傳輸完成;乳溝發送方收到NACK,則重新發送上一個包。
當發送方發送完成後,發送EOT通知接收方文件傳輸結束;接收方發送ACK來響應;發送方收到ACK後則文件傳輸完成。
文件數據包的結構:
<SOH><包序號><包序號反碼><文件數據(1024字節)><校驗位>
文件傳輸流程:
字符(16進制) |
含義 |
0x01 |
SOH: 包頭 |
0x04 |
EOT: 結束文件傳輸 |
0x06 |
ACK: 正常響應,如:數據包正確接收 |
0x15 |
NACK: 非正常響應 |
0x18 |
CAN: 取消文件傳輸 |
0x43 |
C: ASCII字符C |