Реализация этой политики сводится к принятию решений о том, какой трафик будет передаваться между АС и какие каналы будут использоваться. Один из распространенных вариантов выглядит так: провайдер-клиент платит другому провайдеру за обмен пакетами с любыми получателями в интернете, то есть покупает транзитные услуги (transit service). Эта ситуация аналогична тому, как обычный пользователь домашней сети покупает у провайдера доступ в интернет. Чтобы это сработало, провайдер сообщает абоненту маршруты ко всем интернет-адресам по каналу между ними. Тогда пользователь будет знать путь, по которому можно отправить пакет куда угодно. И наоборот, абонент информирует провайдера о путях ко всем адресам в пределах своей сети. Это позволит провайдеру передавать пакеты только на эти адреса — клиенту не нужен трафик, предназначенный для кого-то еще.
Предоставление транзитных услуг показано на илл. 5.68. Перед нами четыре АС (AS1, AS2, AS3, AS4), соединенные между собой. Соединение часто осуществляется через точку обмена интернет-трафиком (Internet eXchange Point, IXP). Это инфраструктура, к которой подключаются многие интернет-провайдеры, чтобы получить доступ к другим провайдерам. AS2, AS3 и AS4 — клиенты AS1. Они покупают у AS1 транзитные услуги. Таким образом, пакет, отправленный источником A на C, передается из AS2 в AS1, а затем в AS4. Объявления о маршрутах перемещаются в противоположном направлении. Чтобы источник мог передать пакет C через AS1, AS4 объявляет C в качестве адреса назначения своему провайдеру (AS1). Затем AS1 объявляет путь до C остальным своим клиентам, включая AS2, чтобы они могли отправлять трафик на C через AS1.
Илл. 5.68. Политика маршрутизации между четырьмя АС
На илл. 5.68 все остальные АС покупают транзитные услуги у AS1. Благодаря этому они могут связаться с любым интернет-хостом. Но за эту возможность им приходится платить. Пусть AS2 и AS3 обмениваются большим объемом трафика. Если эти сети соединены, они могут выбрать другую политику — передавать трафик напрямую и бесплатно. Это уменьшит количество трафика, пересылаемого AS1 от их имени, и сократит их расходы. Такая политика называется пирингом без взаиморасчетов (settlement-free peering) или подключением без взаиморасчетов (settlement-free interconnection).
Для реализации пиринга без взаиморасчетов две АС передают друг другу объявления о маршрутах для своих адресов. Это позволяет AS2 отправлять пакеты AS3 из A в B и наоборот. Но следует заметить, что пиринг без взаиморасчетов не транзитивен. На илл. 5.68 сети AS3 и AS4 тоже используют политику пиринга, поэтому трафик от C к B может передаваться напрямую в AS4. Но что, если пакет нужно отправить от C к A? AS3 объявляет AS4 маршрут до B, но не объявляет маршрута до A. Поэтому трафик не сможет пройти из AS4 в AS3, а затем в AS2, хотя физический путь существует. Но именно это и выгодно AS3. Она хочет обмениваться трафиком с AS4, но не хочет, чтобы AS4 передавала через нее трафик для остального интернета. Вместо этого AS4 придется пользоваться транзитными услугами AS1, которая, кстати, и передаст пакет от C к A.
Теперь, разобравшись с транзитными услугами и пирингом без взаиморасчетов, мы видим, что у хостов A, B и C есть транзитные соглашения. К примеру, клиент A должен покупать интернет-доступ у AS2. A может быть представлен одним компьютером или сетью организации с многочисленными LAN. Но в любом случае клиент A не нуждается в BGP, так как он является тупиковой сетью (stub network), соединенной с остальным интернетом одной линией. Отправлять пакеты за пределы сети можно только по этой единственной линии к AS2. Такой маршрут можно задать в качестве пути по умолчанию. Именно поэтому клиенты A, B и C на рисунке не представлены в качестве АС, участвующих в междоменной маршрутизации.
Коммерческие договоренности о транзите и пиринге без взаиморасчетов реализуются за счет объединения двух принципов маршрутизации — приоритизации путей к получателю и фильтрации способов их объявления в соседних сетях. Приоритизация состоит в следующем: в первую очередь обрабатываются маршруты для платных пользователей, затем — для узлов пиринговой сети без взаиморасчетов и, наконец, — для сетей провайдеров. За этим стоит простая логика: АС предпочитает передавать трафик по тем маршрутам, где за него платят, а не по тем, где за него приходится платить. По тем же причинам АС объявляет клиентам все свои маршруты, но не должна при этом повторно объявлять маршруты, полученные от узла пиринговой сети без взаиморасчетов или от транзитного провайдера, остальным узлам пиринговой сети или провайдерам. АС также реализуют и несколько других коммерческих договоренностей, включая платный пиринг (paid peering), при котором одна АС платит другой за доступ к маршрутам, полученным от ее клиентов. Это похоже на пиринг без взаиморасчетов, но с денежными выплатами. Также возможны договоренности о частичном транзите (partial transit), при котором одна АС платит другой за маршруты к некоторому подмножеству получателей в интернете.