Передача трафика IP через сети АТМ
Технология АТМ привлекает к себе общее внимание, так как претендует на роль всеобщего и очень гибкого транспорта, на основе которого строятся другие сети. И хотя технология АТМ может использоваться непосредственно для транспортировки сообщений протоколов прикладного уровня, пока она чаще переносит пакеты других протоколов канального и сетевого уровней (Ethernet, IP, IPX, frame relay, X.25), сосуществуя с ними, а не полностью заменяя. Поэтому протоколы и спецификации, которые определяют способы взаимодействия технологии АТМ с другими технологиями, очень важны для современных сетей. А так как протокол IP является на сегодня основным протоколом построения составных сетей, то стандарты работы IP через сети АТМ являются стандартами, определяющими взаимодействие двух наиболее популярных технологий сегодняшнего дня.
Протокол Classical IP (RFC 1577) является первым (по времени появления) протоколом, определившим способ работы интерсети IP в том случае, когда одна из промежуточных сетей работает по технологии АТМ. Из-за классической концепции подсетей протокол и получил свое название - Classical.
Одной из основных задач, решаемых протоколом Classical IP, является традиционная для IP-сетей задача - поиск локального адреса следующего маршрутизатора или конечного узла по его IP-адресу, то есть задача, возлагаемая в локальных сетях на протокол ARP. Поскольку сеть АТМ не поддерживает широковещательность, традиционный для локальных сетей способ широковещательных ARP-запросов здесь не работает. Технология АТМ, конечно, не единственная технология, в которой возникает такая проблема, - для обозначения таких технологий даже ввели специальный термин - «Нешироковещательные сети с множественным доступом» (Non-Broadcast networks with Multiple Access, NBMA). К сетям NBMA относятся, в частности, сети X.25 и frame relay.
В общем случае для нешироковещательных сетей стандарты TCP/IP определяют только ручной способ построения ARP-таблиц, однако для технологии АТМ делается исключение - для нее разработана процедура автоматического отображения IP-адресов на локальные адреса. Такой особый подход к технологии АТМ объясняется следующими причинами. Сети NBMA (в том числе X.25 и frame relay) используются, как правило, как транзитные глобальные сети, к которым подключается ограниченное число маршрутизаторов, а для небольшого числа маршрутизаторов можно задать ARP-таблицу вручную. Технология АТМ отличается тем, что она применяется для построения не только глобальных, но и локальных сетей. В последнем случае размерность ARP-таблицы, которая должна содержать записи и о пограничных маршрутизаторах, и о множестве конечных узлов, может быть очень большой. К тому же, для крупной локальной сети характерно постоянное изменение состава узлов, а значит, часто возникает необходимость в корректировке таблиц. Все это делает ручной вариант решения задачи отображения адресов для сетей АТМ мало пригодным.
В соответствии со спецификацией Classical IP одна сеть АТМ может быть представлена в виде нескольких IP-подсетей, так называемых логических подсетей (Logical IP Subnet, LIS). Все узлы одной LIS имеют общий адрес сети. Как и в классической IP-сети, весь трафик между подсетями обязательно проходит через маршрутизатор, хотя и существует принципиальная возможность передавать его непосредственно через коммутаторы АТМ, на которых построена сеть АТМ. Маршрутизатор имеет интерфейсы во всех LIS, на которые разбита сеть АТМ.
ПРИМЕЧАНИЕ Подход спецификации Classical IP к подсетям напоминает технику виртуальных локальных сетей VLAN -там также вводятся ограничения на имеющуюся возможность связи через коммутаторы для узлов, принадлежащих разным VLAN.
В отличие от классических подсетей маршрутизатор может быть подключен к сети АТМ одним физическим интерфейсом, которому присваивается несколько IP-адресов в соответствии с количеством LIS в сети.
Решение о введении логических подсетей связано с необходимостью обеспечения традиционного разделения большой сети АТМ на независимые части, связность которых контролируется маршрутизаторами, как к этому привыкли сетевые интеграторы и администраторы. Решение имеет и очевидный недостаток — маршрутизатор должен быть достаточно производительным для передачи высокоскоростного трафика АТМ между логическими подсетями, в противном случае он станет узким местом сети. В связи с повышенными требованиями по производительности, предъявляемыми сетями АТМ к маршрутизаторам, многие ведущие производители разрабатывают или уже разработали модели маршрутизаторов с общей производительностью в несколько десятков миллионов пакетов в секунду.
Все конечные узлы конфигурируются традиционным образом — для них задается их собственный IP-адрес, маска и IP-адрес маршрутизатора по умолчанию. Кроме того, задается еще один дополнительный параметр — адрес АТМ (или номер VPI/VCI для случая использования постоянного виртуального канала, то есть PVC) так называемого сервера ATMARP. Введение центрального сервера, который поддерживает общую базу данных для всех узлов сети, — это типичный прием для работы через нешироковещательную сеть. Этот прием используется во многих протоколах, в частности в протоколе LAN Emulation, рассматриваемом далее.
Каждый узел использует адрес АТМ сервера ATMARP, чтобы выполнить обычный запрос ARP. Этот запрос имеет формат, очень близкий к формату запроса протокола ARP из стека TCP/IP. Длина аппаратного адреса в нем определена в 20 байт, что соответствует длине адреса АТМ. В каждой логической подсети имеется свой сервер ATMARP, так как узел может обращаться без посредничества маршрутизатора только к узлам своей подсети. Обычно роль сервера ATMARP выполняет маршрутизатор, имеющий интерфейсы во всех логических подсетях.
При поступлении первого запроса ARP от конечного узла сервер сначала направляет ему встречный инверсный запрос ATMARP, чтобы выяснить IP- и АТМ- адреса этого узла. Этим способом выполняется регистрация каждого узла в сервере ATMARP, и сервер получает возможность автоматически строить базу данных соответствия IP- и АТМ - адресов. Затем сервер пытается выполнить запрос ATMARP узла путем просмотра своей базы. Если искомый узел уже зарегистрировался в ней и он принадлежит той же логической подсети, что и запрашивающий узел, то сервер отправляет в качестве ответа запрашиваемый адрес. В противном случае дается негативный ответ (такой тип ответа в обычном широковещательном варианте протокола ARP не предусматривается).
Конечный узел, получив ответ ARP, узнает АТМ-адрес своего соседа по логической подсети и устанавливает с ним коммутируемое виртуальное соединение. Если же он запрашивал АТМ-адрес маршрутизатора по умолчанию, то он устанавливает с ним соединение, чтобы передать IP-пакет в другую сеть.
Для передачи IP-пакетов через сеть АТМ спецификация Classical IP определяет использование протокола уровня адаптации AAL5, при этом спецификация ничего не говорит ни о параметрах трафика и качества обслуживания, ни о требуемой категории услуг CBR, rtVBR, nrtVBR или UBR.