Общий протокол резервирования адресов
Протокол Common Address Redundancy Protocol или CARP — это протокол компьютерной сети , который позволяет нескольким хостам в одной локальной сети совместно использовать набор IP-адресов . Его основная цель — обеспечить резервирование при отказе , особенно при использовании с межсетевыми экранами и маршрутизаторами . В некоторых конфигурациях CARP также может обеспечивать балансировки нагрузки функцию . CARP обеспечивает функциональность, аналогичную протоколу резервирования виртуального маршрутизатора (VRRP) и Cisco Systems ( протоколу маршрутизатора горячего резерва HSRP). Он реализован в нескольких BSD на базе операционных системах и портирован на Linux ( ucarp). [1]
Пример
[ редактировать ]Если на одном компьютере установлен пакетный фильтр , и он выходит из строя, сети по обе стороны от пакетного фильтра больше не могут взаимодействовать друг с другом или взаимодействуют без какой-либо фильтрации пакетов. Однако если есть два компьютера, на которых работает фильтр пакетов и работает CARP, то в случае сбоя одного его управление возьмет на себя другой, и компьютеры по обе стороны от фильтра пакетов не будут знать об отказе, поэтому работа продолжится в обычном режиме. . Чтобы гарантировать, что новый активный/основной компьютер работает так же, как и старый, используемый фильтр пакетов должен поддерживать синхронизацию состояния между двумя компьютерами.
Принцип резервирования
[ редактировать ]Группа хостов, использующих CARP, называется «группой резервирования». Группа резервирования выделяет себе IP-адрес, который является общим или разделенным между членами группы. Внутри этой группы хост обозначается как «активный/основной». Остальные участники находятся в режиме ожидания. Основной хост — это тот, который «принимает» IP-адрес. Он отвечает на любой трафик или запрос ARP, доведенный до сведения этого адреса. Каждый хост может принадлежать к нескольким группам резервирования. Каждый хост должен иметь второй уникальный IP-адрес.
Обычное использование CARP — создание группы резервных межсетевых экранов. Виртуальный IP-адрес, выделенный группе резервирования, указывается как адрес маршрутизатора по умолчанию на компьютерах за этой группой межсетевых экранов. Если основной межсетевой экран выйдет из строя или будет отключен от сети, виртуальный IP-адрес будет занят одним из подчиненных межсетевого экрана, и доступность услуги не будет нарушена.
История
[ редактировать ]В конце 1990-х годов Инженерная группа Интернета (IETF) начала работу над протоколом резервирования маршрутизаторов. В 1997 году Cisco сообщила IETF, что имеет патенты в этой области, а в 1998 году указала на свой патент на HSRP . [2] Тем не менее, IETF продолжил работу над VRRP . После некоторых дебатов рабочая группа IETF VRRP решила одобрить стандарт, несмотря на то, что он опирается на запатентованные технологии, при условии, что Cisco предоставит патент третьим сторонам на разумных и недискриминационных условиях лицензирования.
Cisco сообщила разработчикам OpenBSD , что будет защищать свой патент на HSRP. Позиция Cisco могла быть обусловлена судебным процессом с Alcatel. Поскольку условия лицензирования Cisco не позволяли реализовать VRRP с открытым исходным кодом, разработчики OpenBSD вместо этого начали разработку CARP. OpenBSD фокусируется на безопасности. Они разработали CARP для использования криптографии . Это принципиально отличало CARP от VRRP и гарантировало, что CARP не будет нарушать патент Cisco. CARP стал доступен в октябре 2003 года. [3] Позже он был интегрирован во FreeBSD (впервые выпущен в мае 2005 года вместе с FreeBSD 5.4). [4] NetBSD и Linux (ucarp). [1] Хотя срок действия патента Cisco в США истек в 2014 году, два несовместимых протокола продолжают сосуществовать.
Несовместимость со стандартами IETF.
[ редактировать ]OpenBSD использует номер протокола VRRP и MAC-адреса. Проект OpenBSD запросил уникальные номера у Управления по присвоению номеров в Интернете (IANA), но получил отказ.
Для распределения номеров у IANA есть несколько требований. В то время они были указаны в RFC 2780 . Требования включают участие в совместном длительном процессе обсуждения в IETF и составление подробной текстовой спецификации протокола. Разработчики OpenBSD не выполнили ни одного требования. [ нужна ссылка ] . На сайте OpenBSD указано следующее: [5]
В заключение, конечно, когда мы обратились в IANA, орган IETF, регулирующий [sic] «официальные» номера интернет-протоколов, с просьбой предоставить нам номера для CARP и pfsync , наш запрос был отклонен. Очевидно, нам не удалось пройти через официальную организацию по стандартизации. Следовательно, мы были вынуждены выбрать номер протокола, который не конфликтовал бы ни с чем другим, имеющим значение, и решили поместить CARP на IP-протокол 112. Мы также поместили pfsync на открытый и неиспользуемый номер. Мы проинформировали IANA об этих решениях, но они отказались отвечать.
IANA присвоило VRRP номер протокола 112 (в 1998 году через RFC 2338). [6] Протокол номер 112 продолжает использоваться VRRP.
CARP также использует диапазон Ethernet MAC-адресов , которые IEEE назначил IANA/IETF для протокола VRRP. [7]
Несмотря на перекрытие, по-прежнему возможно использовать VRRP и CARP в одном и том же широковещательном домене , если идентификатор группы VRRP и идентификатор виртуального хоста CARP различны.
См. также
[ редактировать ]- Протокол балансировки нагрузки шлюза (GLBP)
- HSRP
- пфсинк
- ВРРП
- Многопутевое использование IP-сети (IPMP)
Ссылки
[ редактировать ]- ^ Перейти обратно: а б справочная страница ucarp
- ^ «ВРРП-CISCO» . IETF. Архивировано из оригинала 13 марта 2014 г. Проверено 26 ноября 2011 г.
- ^ Райан Макбрайд (17 октября 2003 г.). « КАРП » . Список рассылки ARChives.
- ^ Примечания к выпуску FreeBSD 5.4 i386 , получено 6 января 2010 г.
- ^ «Лицензия КАРП» . Песни релиза OpenBSD . 01.05.2004.
- ^ «Номера протоколов» . ИАНА . Проверено 19 июня 2014 г.
- ^ «Номера Ethernet» . Проверено 19 июня 2014 г.
Внешние ссылки
[ редактировать ]- OpenBSD по интерфейсам ядра Руководство –
- FreeBSD по интерфейсам ядра Руководство –
- UCARP: реализация CARP в пользовательском пространстве
- NetBSD-порт CARP
- Песня OpenBSD 3.5: «Лицензия CARP» и «Избыточность должна быть бесплатной»