CARP steht für Common Address Redundancy Protocol und ist ein Protokoll, das in [[netzwerk|Netzwerken]] zur Implementierung von IP-Adressen-Failover und Lastausgleich verwendet wird. Es ist ein offenes [[netzwerkprotokolle|Protokoll]] und wird häufig in Verbindung mit [[firewall|Firewalls]], Load Balancern und anderen Netzwerkgeräten eingesetzt. Siehe auch [[HSRP]], [[VRRP]], [[GLBP]]. CARP ermöglicht es einer Gruppe von Netzwerkgeräten, eine gemeinsame virtuelle IP-Adresse zu verwenden, um den eingehenden Netzwerkverkehr zu empfangen. Innerhalb dieser Gruppe wird ein Hauptgerät ausgewählt, das den eingehenden Verkehr bearbeitet, während die anderen Geräte im Hintergrund als Backup dienen. CARP unterstützt auch die Lastverteilung, indem es mehrere Geräte innerhalb der Gruppe dazu befähigt, eingehenden Traffic basierend auf verschiedenen Algorithmen wie Round Robin oder Hashing zu verteilen. Dadurch kann die Netzwerkauslastung besser auf die verfügbaren Geräte verteilt werden. Die Funktionsweise von CARP basiert auf dem Austausch von sogenannten "Advertisement"-Nachrichten zwischen den Geräten innerhalb der Gruppe. Jedes Gerät sendet regelmäßig Advertisement-Pakete aus, um seinen Status und die Verfügbarkeit der virtuellen IP-Adresse anzuzeigen. Wenn das Hauptgerät ausfällt oder nicht mehr erreichbar ist, erkennen die anderen Geräte dies anhand des Ausbleibens von Advertisement-Nachrichten und wählen ein neues Hauptgerät aus, das den eingehenden Verkehr übernimmt. CARP ist eng mit dem BSD-Betriebssystem (Berkeley Software Distribution) verbunden. Es wurde ursprünglich als Teil des OpenBSD-Projekts entwickelt, das eine Variante des BSD-Betriebssystems ist. CARP wurde entwickelt, um die Ausfallsicherheit von Netzwerkdiensten auf BSD-Systemen zu verbessern.