Rsync
したがって、1 バイト目から 25 バイト目までのローリングチェックサムを既に計算していた場合、2 バイト目から 26 バイト目までのローリングチェックサムは、単に 1 バイト目と 26 バイト目の値がわかれば計算できる。
rsync で使われているローリングチェックサムはマーク・アドラー(Mark Adler)の adler-32 チェックサムに基づいている。adler-32 は、フレッチャーのチェックサムに基づいており、zlib でも使われている。
次に送信側は受信側が送ってきたチェックサムと一致するものがあるかを調べる。一致する場合、その位置について MD4 チェックサムを計算し、受信側が送ってきた MD4 の値と比較する。
一致が見つけられない場合、送信側は自身の持つファイルの部分にマージのための手順を付けて受信側に送信し、ファイル内容が全く同じになるようにする。
送信側と受信側のファイルの内容が多くの部分で一致する場合、同期のために転送が必要となるデータ量は少なくなる。
rsync のこのようなアルゴリズムはアプリケーションとしての rsync の中核であり、2つのコンピュータ間での TCP/IP 上の転送量を最適化するものである。rsync は他にもデータ転送やバックアップに役立つ機能を備えている。
Zstandard, LZ4, zlib を使ったブロック単位の圧縮/伸張
ssh や stunnel などのプロトコルをサポートし、暗号化が可能