Если пакеты должны пройти через одну или несколько сетей, прежде чем достичь сети назначения, может возникнуть множество проблем на интерфейсах между ними. Во-первых, источник должен иметь возможность адресовать пакет получателю. Что делать, если отправитель находится в сети Ethernet, а получатель — в мобильной телефонной сети? Даже если удастся задать адрес назначения, пакеты еще нужно как-то переправить из сети, не требующей соединения, в сеть, ориентированную на установление соединения. Это может потребовать создания нового соединения в кратчайшие сроки, что приведет к задержке и неэффективному использованию ресурсов, так как этот канал не будет активно использоваться.
Показатель
Возможные варианты
Предлагаемая служба
Ориентированные на установление соединения или не требующие соединения
Адресация
Разного размера, плоская или иерархическая
Широковещание
Присутствует/отсутствует (то же относится к многоадресной рассылке)
Размер пакета
У каждой сети есть свой максимум
Порядок доставки
Упорядоченная и неупорядоченная доставка
QoS
Присутствует/отсутствует; много разновидностей
Надежность
Различные уровни потерь
Безопасность
Правила секретности, шифрование и т.д.
Параметры
Различные тайм-ауты, спецификация потока и др.
Тарификация
По времени соединения, за пакет, побайтно или никак
Илл. 5.36. Некоторые показатели, по которым сети могут отличаться
Существует еще много различий, к которым необходимо приспособиться. К примеру, как передать пакет группе, некоторые участники которой находятся в сети, не поддерживающей многоадресную рассылку? Различные ограничения по размеру пакета также могут стать серьезной проблемой. Как передать 8000-байтный пакет по сети с максимальным размером пакета 1500 байт? Когда пакеты из ориентированной на соединение сети пересекают сеть, не требующую соединений, их порядок может нарушиться. Для отправителя это может оказаться неприятной неожиданностью — впрочем, как и для получателя.
При определенных усилиях с такими различиями можно справиться. Например, шлюз на стыке двух сетей может имитировать многоадресную рассылку, генерируя отдельные пакеты для каждого адреса назначения. Крупные пакеты могут разбиваться на части, пересылаться по частям, а затем снова объединяться. Принимающие устройства могут помещать пакеты в буфер, а затем доставлять их в правильном порядке.
Однако сети могут отличаться и в более сложных вопросах. Самый яркий пример — QoS. Если одна сеть предоставляет хороший уровень обслуживания, а другая — best effort, нельзя гарантировать определенную пропускную способность и задержку для непрерывного трафика в реальном времени. Точнее, это можно сделать, только если вторая сеть работает с низкой загрузкой или почти не используется, что маловероятно. Проблему представляют и механизмы безопасности, но по крайней мере шифрование в целях конфиденциальности и целостности данных можно обеспечить там, где они не поддерживаются. И наконец, разная тарификация может стать причиной неожиданно высоких счетов за обычные операции — ситуация, в которой часто оказываются пользователи мобильных телефонов в зоне роуминга.
5.5.3. Объединение гетерогенных сетей
Существует два основных способа объединения различных сетей. Можно создать специальные устройства, транслирующие или конвертирующие пакеты между сетями разного типа. Или, как это часто делают специалисты в области компьютерных наук, можно добавить уровень косвенной адресации и создать общий уровень над сетями. В любом случае на границе между сетями размещаются устройства, которые изначально назывались шлюзами (gateways).
Идея создания общего уровня для устранения различий между сетями была предложена Серфом и Каном (Cerf and Kahn) в 1974 году. Этот подход имел невероятный успех и нашел применение в протоколах IP и TCP. Почти 40 лет спустя IP стал основой современного интернета. За это достижение в 2004 году Серф и Кан были удостоены премии Тьюринга, которая неофициально считается Нобелевской премией в области информатики. В IP используется универсальный формат пакетов, который распознается всеми маршрутизаторами и может быть передан почти по любой сети. Действие IP распространяется также и на телефонные сети. Кроме того, сегодня этот протокол работает в сенсорных сетях и на малых устройствах, хотя раньше считалось, что это невозможно из-за ограничений на ресурсы.