Common Address Redundancy Protocol
Channel: 宇宙のすべての知識 プリンシピア
Date: 03/10/2021

Common Address Redundancy Protocol, by Wikipedia https://ja.wikipedia.org/wiki?curid=2946874 / CC BY SA 3.0

#通信プロトコル
#OpenBSD
#FreeBSD
Common Address Redundancy Protocol (一般アドレス冗長化プロトコル・以下CARPと略す) は、ローカルネットワーク内で複数のサーバがIPアドレスの設定を共有することを可能とするプロトコルである。
 主な目的は、(ファイアウォールルーターの使用時においては特に)フェイルオーバーの冗長性を確保する為である。
CARPの構成では、VRRPとHSRPの両方に似たサーバロードバランスの機能がある。
CARPは、BSD系のOSに実装され、Linuxにも移植されている。
その作者は、(シスコシステムズ社がHSRPで取得した)アメリカ合衆国特許第5,473,599号の特許に抵触していないと主張している。
 もしパケットフィルタを実行している1台のコンピュータがダウンしてしまった場合、パケットフィルタの片側のネットワークはもはや通信できないか、パケットフィルタ無しで通信する。
しかし、2台のコンピュータがCARPでIPアドレスを共有している状態でパケットフィルタを実行していて、障害が発生した場合、バックアップ用パケットフィルタに引き継がれ、障害に合わずに残った方のパケットフィルタのコンピュータは、障害を認識することなく、操作は通常通り続行される。
新しいパケットフィルタが古いものと同様の動作の実行を確実にする為に、pfsyncdプロトコルがパケットフィルタの状態を同期させるために使用される。
 CARPを利用しているホストのグループは、「冗長グループ」と呼ばれている。
冗長グループは、グループのメンバー間で共有または分割されたIPアドレスを自身に割り当てる。
 グループ内部は、1つのホストが「master(マスター)」に指名され、 残りは「slave(スレーブ)」と呼ばれる。
 マスターホストは、目下、共有IPアドレスを「take(所持)」しているホストで; そのIPに対するあらゆるトラフィックやARP要求に応答する。
各ホストは複数の冗長グループに所属することも出来る。
各ホストは2つ目の固有IPアドレスを持っている必要がある。
 CARPの一般的な使用方法は、冗長ファイアウォールのグループを作ることである。
冗長グループに割り当てられた仮想IPアドレスはデフォルトのゲートウェイとしてクライアント機に設定される。
もし、マスターファイアウォールが故障したりネットワークと繋がらなくなった場合、仮想IPアドレスはスレーブファイアウォールの1つが引き継ぎ、サービスは 中断なく利用できる。
 1990年代後半に、IETFは、共有IPの問題の解決策に取り組み始めた。
1997年には、シスコシステムズ(以下、シスコと呼ぶ)は、共有IPについて、シスコの特許でカバーされたことをIETFに伝えた。
1998年に、シスコはHSRPの特許でカバーしたことを伝えた。
それにもかかわらず、IETFはVRRPの作業を続けた。
数度の議論を経た後、IETFのVRRPワーキンググループは、RANDライセンス(合理的なかつ非差別)ライセンス条件の下でサードパーティーが利用できるように公開される標準規格の特許の資料に相応しいと決定した。
VRRPはHSRPプロトコルに関する問題を修正していた為、シスコはまだHSRPの特許を主張しながらも、代わりとしてVRRPの使用を始めた。
 シスコはOpenBSDの開発者達にHSRPの特許を施行することを知らせた。
これはアルカテルとの訴訟が関連している可能性がある。
したがって、VRRPのフリーな実装を作れなかった。
OpenBSDの開発者は、「合理的かつ非差別的」ライセンスの条項は必ずオープンソースでの実装を除外するものとして、特許を取得したVRRPの代わりとしてCARPを作り始めた。
HSRPの特許に抵触しないように、彼らは、CARPのアイデアを根本的に異なるようにしてアイデアを守った。
OpenBSDのセキュリティに焦点をあてた開発の為に、CARPはセキュリティを考慮して暗号化の技術を取り入れられて設計された。
2003年10月に、完全に特許フリーな形で利用可能になった。
2005年5月には、FreeBSD5.4でFreeBSDに統合されて最初にリリースされた。
以降、NetBSDに統合された。
 OpenBSD.orgより引用： もちろん、最後の注意として、IANAに請願した時に、IETFの主要部を規定している「official ...