TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Целью BGP
Например (см. рис. 8.23), система BGP в автономной системе 34 сообщает автономной системе (АС) 205, что сети M к N находятся в этой АС. АС 205 отчитывается о пути к M и N через себя и через АС 34. Затем АС 654 указывает на путь к M к N через себя и АС 205 и 34. В этом процессе происходит увеличение длины маршрута, но для каждой следующей системы в отчете приводится описание полного пути. Таким образом, информация о доступности в BGP включает полную цепочку автономных систему которые пересекаются по пути следования к точке назначения.
Рис. 8.23. Цепочка BGP из автономных систем
Путь приводится в том порядке, в котором будут пересекаться автономные системы по пути следования к точке назначения:
654, 205, 34
Когда эти сведения будет передавать АС 117, она добавит себя в начало:
117, 654, 205, 34
Отметим, насколько просто выявляются и устраняются кольца зацикливания. Когда АС получает объявление, в котором видит собственный идентификатор, она просто игнорирует такое объявление.
Кроме отчета о маршруте к отдельной сети, BGP способен распознать объединенный набор сетей, используя для этого префикс CIDR.
8.17.1 Объединение маршрутов в BGP
Маршрут в Интернете состоит из сети назначения и инструкций по ее достижению. Наблюдается огромное увеличение числа маршрутов вследствие увеличения числа сетей.
Необходимы меры по управлению маршрутами. Текущим методом сокращения количества маршрутов является присваивание блока адресов с общим префиксом каждому провайдеру, который выделяет из этого блока подблоки своим клиентам.
Длина префикса провайдера определяется числом, указывающим в битах размер префикса в IP-адресе. Трафик может направляться из внешней автономной системы к провайдеру и его клиентам, предполагая использование одного маршрута, соответствующего префиксу. Затем провайдер самостоятельно использует длинный префикс для направления трафика каждой из автономных систем своих клиентов.
Это несложно сделать для входящего трафика, но приходится выполнять обратные действия, когда провайдеру требуется обрабатывать выходящий трафик на основе внешних объявлений. Клиентская автономная система будет информировать провайдера о маршруте к своей внутренней сети. Далее провайдер объединит (aggregate) маршруты с общим префиксом в единый элемент описания маршрута, перед тем как об этом маршруте будет объявлено во внешнем мире.
8.17.2 Механизмы BGP
Системы BGP открывают соединение TCP с общеизвестным (well-known) портом 179 соседа по BGP. Каждое сообщение об открытии определяет автономную систему отправителя и имеет идентификатор BGP, а также может содержать дополнительные сведения.
После открытия соединения равные между собой соседи обмениваются информацией о маршрутах. Соединение остается открытым и используется при необходимости для пересылки сведений об изменениях. Для проверки продолжения контакта системы периодически (обычно каждые 30 с) обмениваются сообщениями Keep-alive (продолжаю работать).
Сеть провайдера переносит трафик между автономными системами, и очень неплохо, когда многие системы могут общаться через BGP. Такие системы способны взаимодействовать друг с другом через внутренние соединения BGP. Внешние соединения BGP используются для коммуникации между равными друг другу системами, находящимися в различных автономных системах (такие соединения называются связями, даже если это соединения TCP, которые, возможно, проходят через промежуточные маршрутизаторы).
Существенным отличием BGP от других протоколов маршрутизации является способность обмена информацией о маршрутизации с хостами, а не только с маршрутизаторами. Возможна конфигурация, в которой хост возьмет на себя всю работу по общению с внешними системами BGP в соседних автономных системах. Хост может использоваться как сервер маршрутизации, пересылая информацию граничному серверу собственной автономной системы.
8.17.3 Содержание сообщения об изменениях в BGP
Сообщение об изменениях в BGP может содержать сведения только об одном пригодном маршруте. Однако в нем может присутствовать список из одного или нескольких изолированных (withdrawn) маршрутов, которые не следует более использовать.
Описание маршрута состоит из нескольких атрибутов маршрута, которые включают:
Origin of Path Information | Источник информации о пути: IGP исходной автономной системы, EGP или иной источник сведений. |
AS Path Путь к автономной системе | Маршрут, по которому поступило сообщение об изменениях. |
Next Hop Следующее попадание | IP-адрес граничного маршрутизатора, который нужно применять для следующего попадания на пути к точке назначения. Это может быть локальный маршрутизатор автономной системы или внешний маршрутизатор, который напрямую подключен к отправителю и получателю сообщения об изменениях. |
Multi-exit Discriminator Многовыходной дискриминатор | Если существует несколько точек выхода для соединения с соседней автономной системой, сосед может присвоить им номера, чтобы указать, какой выход будет лучшим. Меньший номер определяет лучший маршрут. |
Local Preference Локальное предпочтение | Чистая внешняя информация используется для пересылки изменений BGP элементам локальной автономной системы. Когда есть несколько BGP-маршрутизаторов на пути к точке назначения, более предпочтительный из них имеет больший номер. |
Atomic Aggregate Атомарное объединение | Указывает, что автономная система объединила несколько точек назначения в единый маршрут. |
Aggregator Объединитель | IP-адрес и номер автономной системы для последней из систем, которые объединяли несколько маршрутов в один. |
Reachable Nets Достижимые сети | Список префиксов сетей, которых можно достичь через данный маршрутизатор. |