UART - ZMODEM



如眾所知, uart 比起 其他的介面傳輸 protocol, 並不穩定可靠.
所以很早以前, 就在上層有相關的 protocol 輔助.


 最早是 XMODEM, 1977年發明.

 XMODEM協議 :

- 以128字節塊的形式傳輸數據,每個塊都使用一個校驗和過程來進行錯誤檢測。

- 如果接收方關於一個塊的校驗和與它在發送方的校驗和相同時,
  收方就向發送方發送一個認可字節。

- 但這種對每個塊都進行認可的策略將導致低性能,
  特別是具有很長傳播延遲的衛星連接的情況時,問題更加嚴重。


 而 XMODEM 經過改良後有 YMODEM, 到 1986年 有 ZMODEM.
 90年代時, BBS 興起, ZMODEM 被廣泛使用在 BBS 上. 


ZMODEM 協議 :

- 不需要對每個塊都進行認可。只是簡單地要求對損壞的塊進行重發。
   不需要認可回送分組在很大程度上減少了通信量。

- Xmodem 文件傳輸協議的一種增強形式,不僅能傳輸更大的數據,而且錯誤率更小。

- 包含一種名為檢查點重啟的特性,如果通信連結在數據傳輸過程中中斷,
   能從斷點處而不是從開始處恢復傳輸。


 所以後來 XMODEM 幾乎都被 ZMODEM 取代.
 像 Linux/Mac 中有 rz / sz 指令, protocol 用的就是 zmodem


 ZModem source 


Ref: https://read01.com/4APKy7.html

Ref: http://www.crifan.com/order_kermit_xmodem_xmodem-1k_ymodem_ymodem-g_ymodem-1k_zmodem/

Ref: http://www.cnblogs.com/pengdonglin137/p/3423691.html


留言

熱門文章