WAN - особенности, принципы построения сетей
Содержание
Общая классификация
Для классификации компьютерных сетей используются различные признаки, но чаще всего сети делят по территориальному признаку, то есть по величине территории, которую покрывает сеть.
- Глобальные сети - World Area Networks (WAN). Объединяют территориально рассредоточенные компьютеры, которые могут находиться в различных городах и странах. Охватывает большие территории и включает в себя большое число компьютеров.
- Городские сети - Metropolitan Area Networks (MAN). Предназначены для обслуживания территории крупного города - мегаполиса.
- Корпоративные (сети организаций, предприятий) - Enterprise Wide Networks(EWN). Объединяют большое количество компьютеров в территориально распределенных филиалах отдельного предприятия. Корпоративные сети могут быть сложно связаны и покрывать город, регион или даже континент.
- Локальные - Local Area Networks (LAN). К локальным сетям относятся сети компьютеров, сосредоточенные на небольшой территории (обычно в радиусе 1-2 км). В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую одной организации.
- Персональные - Personal Area Networks (PAN). К персональным сетям относятся сети, предназначенные для взаимодействия устройств, принадлежащих одному владельцу на небольшом расстоянии (обычно до 10м).
Все многообразие компьютерных сетей можно классифицировать по группе признаков: территориальная распространенность;
- ведомственная принадлежность;
- скорость передачи информации;
- тип среды передачи.
По принадлежности различают ведомственные и государственные сети: ведомственные принадлежат одной организации и располагаются на ее территории, используются коммерческими бизнес-приложениями, а государственные сети используются в государственных структурах, используются государственными бизнес-приложениями. Программист бизнес-приложений должен ориентироваться в обоих видах сетей. Программист бизнес-приложений зарабатывает в два раза больше других программистов. Все программисты стремятся стать программистом бизнес-приложений. Поэтому нельзя пренебрегать как ведомственными, так и государственными сетями.
По скорости передачи информации компьютерные сети делятся па низко-, средне- и высокоскоростные.
По типу среды передачи разделяются на сети коаксиальные, на витой паре, оптоволоконные, с передачей информации по радиоканалам, в инфракрасном диапазоне.
Особенности WAN, отличия от LAN
- Связывает компьютеры, рассредоточенные на большом расстоянии - сотен и тысяч километров;
- Протяженность, качество и способ прокладки линий связи: в глобальных сетях часто применяются уже существующие линии связи (телеграфные или телефонные), а в локальных сетях они прокладываются заново;
- Более низкие, чем в локальных сетях, скорости передачи данных (десятки килобит в секунду), которые как следствие ограничивают набор услуг передачей файлов;
- В условиях низкой надежности физических каналов в глобальных сетях требуются более сложные методы передачи данных и более сложное оборудование;
- В отличие от локальных сетей, рассчитаны на ограниченное число абонентов и используют некачественные каналы связи. В глобальных сетях намного более важно не качество связи, а ее существование.
- Масштабируемость - локальные сети плохо масштабируются из-за привязанности к топологии, глобальные же масштабируются хорошо, так как изначально разрабатывались в расчете на работу с произвольными топологиями.
Принципы построения WAN
Многие глобальные сети построены для конкретной организации и являются закрытыми. Другие, построенные интернет провайдерами, предоставляют соединение из локальной сети организации в интернет. WAN довольно часто построены с использованием выделенных линий (закрытых двунаправленных линий между двумя или более локациями, предоставляемых за определенную месячную плату). На каждом конце выделенной линии, роутер соединяет локальную сеть на его стороне со вторым роутером, имеющим собственную локальную сеть. Однако, выделенные линии могут быть очень дорогими. Поэтому вместо них WAN также могут быть построены c использованием менее дорогой схемы передачи пакетов.
Основными используемыми протоколами в глобальных сетях являются TCP/IP, SONET/SDH, MPLS, ATM и Frame relay. Ранее был также широко распространён протокол X.25, который может по праву считаться прародителем Frame relay.
Тенденция к сближению локальных и глобальных сетей
Понятно, что глобальные сети имеют множество недостатков, которые хотелось бы оптимизировать. Сближение в методах передачи данных в глобальных и локальных сетях происходит на платформе оптической цифровой (немодулированной) передачи данных по оптоволоконным линиям связи. Из-за резкого улучшения качества каналов связи в глобальных сетях начали отказываться от сложных и избыточных процедур обеспечения корректности передачи данных. Примером могут служить сети Frame relay. В этих сетях предполагается, что искажение бит происходит настолько редко, что ошибочный пакет просто уничтожается, а все проблемы, связанные с его потерей, решаются программами прикладного уровня, которые непосредственно не входят в состав сети Frame relay.
За счет новых сетевых технологий и, соответственно, нового оборудования, рассчитанного на более качественные линии связи, скорости передачи данных в уже существующих коммерческих глобальных сетях нового поколения приближаются к традиционным скоростям локальных сетей (в сетях frame relay сейчас доступны скорости 2 Мбит/с), а в глобальных сетях АТМ и превосходят их, достигая 622 Мбит/с.
С появлением более качественной связи и с увеличением скорости передачи данных, соответственно также нужны новые алгоритмы маршрутизации, оптимальные для новых параметров сетей.
И наконец, появляются новые технологии, изначально предназначенные для обоих видов сетей. Наиболее ярким представителем нового поколения технологий является технология АТМ, которая может служить основой не только локальных и глобальных компьютерных сетей, но и телефонных сетей, а также широковещательных видеосетей, объединяя все существующие типы трафика в одной транспортной сети.
Маршрутизация в WAN
При разработке алгоритмов маршрутизации часто преследуют одну или несколько из перечисленных ниже целей:
- Оптимальность;
- Простота и низкие непроизводительные затраты;
- Живучесть и стабильность;
- Быстрая сходимость;
- Гибкость.
Сами алгоритмы маршрутизации могут быть классифицированы по типам. Например, алгоритмы могут быть:
- Статическими или динамическими;
- Одномаршрутными или многомаршрутными;
- Одноуровневыми или иерархическими;
- С интеллектом в главной вычислительной машине или в маршрутизаторе;
- Внутридоменными и междоменными;
- Алгоритмами состояния канала или вектора расстояний.
Статические алгоритмы маршрутизации вообще вряд ли являются алгоритмами. Распределение статических таблиц маршрутизации устанавливается администратором сети до начала маршрутизации. Оно не меняется, если только администратор сети не изменит его. Алгоритмы, использующие статические маршруты, просты для разработки и хорошо работают в окружениях, где трафик сети относительно предсказуем, а схема сети относительно проста. Т.к. статические системы маршрутизации не могут реагировать на изменения в сети, они, как правило, считаются непригодными для современных крупных, постоянно изменяющихся сетей.
Динамические алгоритмы маршрутизации подстраиваются к изменяющимся обстоятельствам сети в масштабе реального времени. Они выполняют это путем анализа поступающих сообщений об обновлении маршрутизации. Если в сообщении указывается, что имело место изменение сети, программы маршрутизации пересчитывают маршруты и рассылают новые сообщения о корректировке маршрутизации. Динамические алгоритмы маршрутизации могут дополнять статические маршруты там, где это уместно. Например, можно разработать "маршрутизатор последнего обращения" (т.е. маршрутизатор, в который отсылаются все неотправленные по определенному маршруту пакеты). Такой маршрутизатор выполняет роль хранилища неотправленных пакетов, гарантируя, что все сообщения будут хотя бы определенным образом обработаны.
Названия одномаршрутных и многомаршрутных алгоритмов говорят сами за себя. Некоторые сложные протоколы маршрутизации обеспечивают несколько маршрутов к одному и тому же пункту назначения, тем самым увеличивая пропускную способность и надежность. Одномаршрутные же алгоритмы находят лишь один маршрут, что, естесственно, хуже.
Некоторые алгоритмы маршрутизации оперируют в плоском пространстве, в то время как другие используют иерархии маршрутизации. В одноуровневой системе маршрутизации все маршрутизаторы равны по отношению друг к другу. В иерархической системе маршрутизации некоторые маршрутизаторы формируют то, что составляет основу (backbone — базу) маршрутизации. Пакеты из небазовых маршрутизаторов перемещаются к базовым маршрутизаторам и пропускаются через них до тех пор, пока не достигнут общей области пункта назначения. Начиная с этого момента, они перемещаются от последнего базового маршрутизатора через один или несколько небазовых маршрутизаторов до конечного пункта назначения. Основным преимуществом иерархической маршрутизации является то, что она имитирует организацию большинства компаний и следовательно, очень хорошо поддерживает их схемы трафика.
Алгоритмы с интеллектом в главной вычислительной машине или в маршрутизаторе.
Некоторые алгоритмы маршрутизации предполагают, что конечный узел источника определяет весь маршрут. Обычно это называют маршрутизацией от источника. В системах маршрутизации от источника маршрутизаторы действуют просто как устройства хранения и пересылки пакета, без всяких раздумий отсылая его к следующей остановке.
Другие алгоритмы предполагают, что главные вычислительные машины ничего не знают о маршрутах. При использовании этих алгоритмов маршрутизаторы определяют маршрут через объединенную сеть, базируясь на своих собственных расчетах. В первой системе, рассмотренной выше, интеллект маршрутизации находится в главной вычислительной машине. В системе, рассмотренной во втором случае, интеллектом маршрутизации наделены маршрутизаторы.
Внутридоменные или междоменные алгоритмы.
Некоторые алгоритмы маршрутизации действуют только в пределах доменов; другие — как в пределах доменов, так и между ними. Природа этих двух типов алгоритмов различная. Поэтому понятно, что оптимальный алгоритм внутридоменной маршрутизации не обязательно будет оптимальным алгоритмом междоменной маршрутизации.
Алгоритмы состояния канала (известные также как алгоритмы "первоочередности наикратчайшего маршрута") направляют потоки маршрутной информации во все узлы объединенной сети. Однако каждый маршрутизатор посылает только ту часть маршрутной таблицы, которая описывает состояние его собственных каналов.
Алгоритмы вектора расстояния (известные также как алгоритмы Форда-Беллмана) требуют от каждого маршрутизатора посылки всей или части своей маршрутной таблицы, но только своим соседям. Алгоритмы состояния каналов фактически направляют небольшие корректировки по всем направлениям, в то время как алгоритмы вектора расстояний отсылают более крупные корректировки только в соседние маршрутизаторы. Отличаясь более быстрой сходимостью, алгоритмы состояния каналов несколько меньше склонны к образованию петель маршрутизации, чем алгоритмы вектора расстояния. С другой стороны, алгоритмы состояния канала характеризуются более сложными расчетами в сравнении с алгоритмами вектора расстояний, требуя большей процессорной мощности и памяти, чем алгоритмы вектора расстояний.
Принцип работы глобальных сетей
Существуют так называемые «операторы связи», которые содержат собственные каналы и арендуют провайдерам доступ к ним. Собственность каждого оператора, включая все локальные сети провайдеров, подключенные к нему, принято называть «автономной системой».
Автономная система – это ряд связанных между собой машин с единой внутренней политикой маршрутизации (IGP – Internal Gateway Protocol). Сами автономные системы посредством мощных каналов соединяются между собой, образуя единую сеть Internet. Но невозможно передать данные каждому маршрутизатору обо всех остальных роутерах. Поэтому принято выделять так называемые «пограничные шлюзы» автономной системы. Все шлюзы соединяются по единой магистрали и обмениваются данными посредством внешних протоколов маршрутизации (EGP – External Gateway Protocol).
К внутренним протоколам относятся RIP и OSPF.
Прежде чем описать эти протоколы, введем понятие «хоп», использующееся во многих метриках протоколов. Хоп или транзитный участок — участок сети между двумя узлами сети, по которому передаются сетевые пакеты. Обычно используется для определения «расстояния» между узлами. Чем больше хопов — тем сложнее путь маршрутизации и тем «дальше» находятся узлы друг от друга. Например, на иллюстрации ниже количество хопов будет равно 2.
1. RIP
Протокол RIP (Routing Information Protocol) очень прост и универсален, поэтому поддерживается всеми операционными системами и железными маршрутизаторами. Он относится к классу «дистанционно-векторных» протоколов.
Идея RIP очень проста. Каждый маршрутизатор через определенный интервал времени (30 секунд) отсылает информацию о связях своим соседям. Сосед соотносит их со своей базой и добавляет данные, если они актуальны. Таким образом, все роутеры должны знать обо всех своих сетях. Метрика в RIP совпадает с числом хопов до нужной сети. В случае, если метрика равна 16, сеть считается недоступной. Следовательно, протокол может работать с сетью, в которой максимально число шлюзов менее 16.
Бывают случаи, когда происходят внештатные ситуации, получившие названия «зацикливание» и «счет до бесконечности». Зацикливание происходит после отключения одной из сети, когда сторонний роутер оповестит соседа, что сеть доступна через него (в случае, если сосед не успеет оповестить маршрутизатор о недоступности сети). Таким образом, между шлюзами образуется петля.
Чтобы избежать петель, вводят два ограничения в протокол RIP. Первое называется «правилом разделения горизонта». Оно гласит, что маршрутизатор A не должен отправлять данные о сети B, маршрутизатору C, если последний ему сообщил о сети B. Иными словами, роутер не шлет информацию о сети соседу, если изначально получил сведения об этой сети от него. Второе ограничение обязывает шлюз изменить метрику маршрута, если ее разослал тот же самый роутер. Отчасти, эти добавления спасают от петель, но не всегда. Бывает, что маршрутизатор получает ложные данные от стороннего шлюза по цепочке.
Счет до бесконечности происходит в результате несвоевременного оповещения станций. При этом ложный маршрут может существовать, пока метрика сети не станет равной 16.
Более формально, алгоритм работает следующим образом: таблица маршрутизации RIP содержит по записи на каждую обслуживаемую машину. Запись должна включать в себя
- IP-адрес места назначения;
- Метрика маршрута (от 1 до 15; число хопов до места назначения);
- IP-адрес ближайшего маршрутизатора (gateway) по пути к месту назначения;
- Таймеры маршрута.
Периодически (через таймаут) маршрутизатор посылает копию своей маршрутной таблицы всем своим соседям-маршрутизаторам, а те обновляют свои таблицы, если находят более короткий маршрут. На иллюстрации показано финальное состояние после выполнения алгоритма поиска пути от Source до Target:
В процессе алгоритма происходило следующее:
- У Target число хопов равно 0, потому что это расстояние до него самого;
- Затем, когда пройдет таймаут, Target пошлет свою таблицу маршрутизации всем соседям — 70.43.253.42, 71.42.252.40 и 72.42.252.41 (пошлют свои таблицы все роутеры, но только для этого нам интересно что будет);
- У этих его соседей изменится оптимальное расстояние — раньше оно было неизвестно, теперь 1;
- Затем каждый из них пошлет свои таблицы своим соседям, у них число хопов станет равно 2;
- На третьем шаге, дело дойдет до Source, и мы нашли число хопов для него — это 3.
Также обратите внимание на поле Gateway в каждой таблице — благодаря нему можно восстановить весь маршрут.
2. OSPF
На смену RIP пришел протокол OSPF, который снимает ограничение в 15 узлов и сводит к минимуму служебный трафик. Он относится к классу протоколов «состояния связей», а его работа складывается в два этапа:
1. Каждый маршрутизатор после включения рассылает информацию по всем своим интерфейсам обо всех своих соседях.
2. После составления полной сетевой картины роутер начинает искать оптимальный маршрут до каждой сети с помощью алгоритма Дейкстры.
Метрика представляет собой уже не число хопов, а пропускную способность канала (время передачи одного бита в 10-наносекундных интервалах). Так, для Ethernet метрика равна десяти, для Fast Ethernet — единице, а для канала 56 Кб/с — 1785. Полная метрика для определенного маршрута является суммой всех промежуточных каналов. При этом OSPF никогда не пропустит пакет через канал в один хоп, если имеется связь, построенная на Fast Ethernet, пусть даже состоящая из 3-4 хопов.
Следует отметить, что OSPF умеет посылать данные сразу по нескольким каналам, тем самым, уменьшая нагрузку на сеть. Однако в этом случае действует ограничение по метрике. Подробно это здесь описывать не будем.
3. BGP
На текущий момент BGP зарегистрирован под четвертой версией и не имеет конкурентов. Общая схема работы BGP такова. BGP-маршрутизаторы соседних АС, решившие обмениваться маршрутной информацией, устанавливают между собой соединения по протоколу BGP и становятся BGP-соседями
Далее BGP использует подход под названием path vector, являющийся развитием дистанционно-векторного подхода. BGP-соседи рассылают друг другу векторы путей (path vectors). Вектор путей, в отличие от вектора расстояний, содержит не просто адрес сети и расстояние до нее, а адрес сети и список атрибутов (path attributes), описывающих различные характеристики маршрута от маршрутизатора-отправителя в указанную сеть.
Типы BGP-сообщений
- OPEN - посылается после установления TCP-соединения. Ответом на OPEN является сообщение KEEPALIVE, если вторая сторона согласна стать BGP-соседом; иначе посылается сообщение NOTIFICATION с кодом, поясняющим причину отказа, и соединение разрывается.
- KEEPALIVE - сообщение предназначено для подтверждения согласия установить соседские отношения, а также для мониторинга активности открытого соединения: для этого BGP-соседи обмениваются KEEPALIVE-сообщениями через определенные интервалы времени.
- UPDATE - сообщение предназначено для анонсирования и отзыва маршрутов. После установления соединения с помощью сообщений UPDATE пересылаются все маршруты, которые маршрутизатор хочет объявить соседу (full update), после чего пересылаются только данные о добавленных или удаленных маршрутах по мере их появления (partial update).
- NOTIFICATION - сообщение этого типа используется для информирования соседа о причине закрытия соединения. После отправления этого сообщения BGP-соединение закрывается.
Примерная схема работы сообщений в BGP выглядит так:
При выборе протокола маршрутизации необходимо взвесить все «за» и «против». С одной стороны, громоздкий OSPF. С другой — никто не мешает использовать RIP второй версии, который научился понимать маски подсети и аутентификацию, чего не умел его предшественник.
Принцип работы глобальных сетей: пример
Представим, что мы сидим в Нью-Йорке и хотим подключиться к серверу, который находится в Санкт-Петербурге по адресу http://neerc.ifmo.ru. Что примерно будет происходить, когда мы наберем адрес и нажем Enter?
В первую очередь в ход идет DNS-сервер: он транслирует сначала поддомены (neerc), обращаясь к локальному провайдеру, затем транслирует основной домен (ifmo.ru), обращаясь в глобальную сеть. Получив IP-адрес сервера, мы знаем, куда надо подключаться. Наш IP тоже известен, поэтому мы спокойно подключаемся, создаем соединение и передаем/получаем нужную информацию.
Возможное примерное развитие событий представлено на картинке. DNS-серверов обычно несколько, в данном случае рассмотрен вариант двух:
Источники информации
- Википедия — WAN;
- Википедия — Leased line;
- Компьютерные сети. Принципы, технологии, протоколы. В. Олифер, Н. Олифер, 5е издание;
- Сети ЭВМ: протоколы стандарты, интерфейсы. Ю. Блэк; перев. с англ. - М.: Мир, 2005;
- Компьютерные сети. Учебный курс, 2-е изд. - MicrosoftPress, Русская редакция, 2004.