
olifer_v_g_olifer_n_a_kompyuternye_seti_principy_tehnologii / glava_12-1
.docЧасть III. Локальные сети
Локальные сети являются неотъемлемой частью любой современной компьютерной сети. Если мы рассмотрим структуру глобальной сети, например Интернета или крупной корпоративной сети, то обнаружим, что практически все информационные ресурсы этой сети сосредоточены в локальных сетях, а глобальная сеть является транспортом, который соединяет многочисленные локальные сети.
Одним из основных назначений локальной сети является объединение компьютеров в пределах одного здания или нескольких близко стоящих зданий для предоставления пользователям сети доступа к информационным услугам локальных серверов. Локальные сети также являются удобным средством группирования компьютеров для объединения их в глобальную сеть, так как глобальной сети проще маршрутизировать данные между сетями, а не отдельными компьютерами. Примером могут служить беспроводные локальные сети, обслуживающие аэропорты или вокзалы. Они используются, как правило, не для обмена информацией между временными пользователями такой сети, а для доступа этих пользователей в Интернет — и доступ организуется не для каждого отдельного пользователя, а для локальной сети в целом. Локальные сети применяются также и в телекоммуникационных сетях другого типа, например в телефонных и первичных сетях. Так, системы управления телефонными коммутаторами или первичными сетями обычно строятся на основе локальной сети, которая объединяет компьютеры ее операторов и обеспечивает им доступ к устройствам управления, встроенным в оборудование телекоммуникационной сети.
Технологии локальных сетей прошли большой путь. Практически во всех технологиях 80-х годов использовалась разделяемая среда как удобное и экономичное средство объединения компьютеров на физическом уровне. В главе 2 уже обсуждались принципиальные подходы к разделению среды, в этой части книги мы возвращаемся к этому вопросу, чтобы рассмотреть его более подробно, на уровне конкретных алгоритмов и стандартов.
С середины 90-х в локальных сетях стали также применяться коммутируемые версии технологий. Отказ от разделяемой среды позволил повысить производительность и масштабируемость локальных сетей. В коммутируемых локальных сетях применяются те же протоколы, что и в локальных сетях на разделяемой среде, но в дуплексном режиме. Преимуществом коммутируемых локальных сетей является также возможность применения разнообразных методов обеспечения QoS, что важно, когда в локальной сети передается трафик реального времени, например, трафик IP-телефонов. Несмотря на популярность коммутируемых локальных сетей, мы по-прежнему часто встречаемся с использованием разделяемых сред в традиционных и новых технологиях. Они эффективны в небольших сегментах проводных локальных сетей, а также в беспроводных локальных сетях, где среда является разделяемой по своей природе.
В локальных сетях меняются не только принципы использования среды. Быстро растет верхний предел информационной скорости LAN-протоколов. С принятием в 2002 году стандарта 10G Ethernet технологии локальных сетей стали поддерживать иерархию скоростей, не уступающую иерархии скоростей первичных сетей — от 10 Мбит/с до 10 Гбит/с. Это дает возможность строить на этих технологиях не только локальные сети, но и сети мегаполисов.
Развитие локальных сетей идет и в направлении «миниатюризации» — появился новый тип сетей — персональные сети (Personal Area Networks, PAN), которые объединяют электронные устройства одного пользователя в радиусе нескольких десятков метров.
Современные локальные сети существуют в условиях одной победившей технологии — Ethernet, точнее — семейства технологий Ethernet. Естественно, что этой технологии в книге уделяется значительно большее внимание, чем остальным. В главе 12 рассматривается классическая технология Ethernet 10 Мбит/с на разделяемой среде, а в главе 13 — высокоскоростные версии Ethernet на разделяемой среде — Fast Ethernet и Gigabit Ethernet. В главе 14 описаны другие технологии LAN, также использующие разделяемую среду, — Token Ring, FDDI, а также две беспроводные технологии — IEEE 802.11 LAN и Bluetooth PAN.
Последние две главы этой части (главы 15 и 16) посвящены коммутируемым локальным сетям. В первой из них рассматриваются основные принципы работы таких сетей: алгоритм работы коммутатора локальной сети, дуплексные версии LAN-протоколов, особенности реализации LAN-коммутаторов. В главе 16 изучаются расширенные возможности сетей этого типа: резервные связи на основе алгоритма связующего дерева, агрегирование каналов, а также техника виртуальных локальных сетей.
-
Глава 12. Технология Ethernet
-
Глава 13. Высокоскоростной стандарт Ethernet
-
Глава 14. Локальные сети на основе разделяемой среды
-
Глава 15. Коммутируемые локальные сети
-
Глава 16. Интеллектуальные функции коммутаторов
ГЛАВА 12 Технология Ethernet
Ethernet — это самый распространенный сегодня стандарт локальных сетей. Общее количество сетей, работающих по протоколу Ethernet в настоящее время, оценивается в несколько миллионов.
Когда говорят Ethernet, то под этим обычно понимают любой из вариантов этой технологии, в которую входят сегодня также Fast Ethernet, Gigabit Ethernet и 10G Ethernet.
В более узком смысле Ethernet — это сетевой стандарт передачи данных со скоростью 10 Мбит/с, который появился в конце 70-х годов как стандарт трех компаний — Digital, Intel и Xerox. В начале 80-х Ethernet был стандартизован рабочей группой IEEE 802.3 и с тех пор он является международным стандартом. Технология Ethernet была первой технологией, которая предложила использовать разделяемую среду для доступа к сети.
Локальные сети, являясь пакетными сетями, используют принцип временного мультиплексирования, то есть разделяют передающую среду во времени. Алгоритм управления доступом к среде является одной из важнейших характеристик любой технологии LAN, в значительно большей степени определяющей ее облик, чем метод кодирования сигналов или формат кадра. В технологии Ethernet в качестве алгоритма разделения среды применяется метод случайного доступа. И хотя его трудно назвать совершенным — при росте нагрузки полезная пропускная способность сети резко падает, — он благодаря своей простоте послужил основной причиной успеха технологии Ethernet.
Популярность стандарта Ethernet 10 Мбит/с послужила мощным стимулом его развития. В 1995 году был принят стандарт Fast Ethernet, в 1998 — Gigabit Ethernet, а в 2002 году — 10G Ethernet. Каждый из новых стандартов превышал скорость своего предшественника в 10 раз, образуя впечатляющую иерархию скоростей 10 Мбит/с — 100 Мбит/с — 1000 Мбит/с — 10 Гбит/с.
В этой главе мы подробно рассмотрим классическую технологию Ethernet 10 Мбит/с, большинство механизмов которой используется и на более высоких скоростях.
Общая характеристика протоколов локальных сетей
Список ключевых слов: общая среда передачи данных, стандартные топологии физических связей, метод случайного доступа, коллизия, слот, детерминированный доступ, передача токена, алгоритмы опроса, транспортировка кадров, дейтаграммный полудуплексный режим передачи, интерфейсные функции LLC, точка входа службы приемника, точка входа службы источника, доставка кадров с заданной степенью надежности, услуги LLC1, LLC2 и LLC3, стандарты межсетевого взаимодействия.
Технология Ethernet принадлежит к семейству технологий локальных сетей, в которое входят также такие технологии, как Token Ring, FDDI, IEEE 802.11 и 100VG-AnyLAN (технология 100VG-AnyLAN сегодня практически не применяется, однако теоретический интерес представляет использованная в ней оригинальная концепция разделения среды). Несмотря на определенную специфику, все эти технологии имеют единое назначение — создание локальных сетей. Поэтому полезно начать изучение Ethernet с рассмотрения общих принципов, использованных при разработке технологий LAN.
Стандартная топология и разделяемая среда
Основная цель, которую ставили перед собой разработчики первых локальных сетей во второй половине 70-х годов, заключалась в нахождении простого и дешевого решения для объединения в вычислительную сеть нескольких десятков компьютеров, находящихся в пределах одного здания. Решение должно было быть недорогим, поскольку в сеть объединялись недорогие компьютеры — появившиеся и быстро распространявшиеся тогда мини-компьютеры стоимостью в 10000-20000 долларов. Количество их в одной организации было небольшим, поэтому предел в несколько десятков компьютеров представлялся вполне достаточным для практически любой локальной сети. Задача связи локальных сетей в глобальные не была первоочередной, поэтому практически все технологии локальных сетей ее игнорировали.
Для упрощения и, соответственно, удешевления аппаратных и программных решений разработчики первых локальных сетей остановились на совместном использовании общей среды передачи данных.
Этот метод связи компьютеров впервые был опробован при создании радиосети
ALOHA Гавайского университета в начале 70-х под руководством Нормана Абрамсона (Norman Abramson). Радиоканал определенного диапазона частот естественным образом является общей средой для всех передатчиков, использующих частоты этого диапазона для кодирования данных. Сеть ALOHA работала по методу случайного доступа, когда каждый узел мог начать передачу пакета в любой момент времени. Если после этого он не дожидался подтверждения приема в течение определенного тайм-аута, он посылал этот пакет снова. Общим был радиоканал с несущей частотой 400 МГц и полосой 40 кГц, что обеспечивало передачу данных со скоростью 9600 бит/с.
Немного позже Роберт Меткалф (R. Metcalfe) повторил идею разделяемой среды уже для проводного варианта технологии LAN. Непрерывный сегмент коаксиального кабеля стал аналогом общей радиосреды. Все компьютеры присоединялись к этому сегменту кабеля по схеме монтажного ИЛИ (рис. 12.1), поэтому при передаче сигналов одним из передатчиков все приемники получали один и тот же сигнал, как и при использовании радиоволн.
Рис. 12.1. Разделяемая среда на коаксиальном кабеле
В технологиях Token Ring и FDDI тот факт, что компьютеры используют разделяемую среду, не так очевиден, как в случае Ethernet. Физическая топология этих сетей — кольцо, каждый узел соединяется кабелем с двумя соседними узлами (рис. 12.2). Однако эти отрезки кабеля также являются разделяемыми, так как в каждый момент времени только один компьютер может использовать кольцо для передачи своих пакетов.
Простые стандартные топологии физических связей (звезда у коаксиального кабеля Ethernet и кольцо у Token Ring и FDDI) обеспечивают простоту разделения кабельной среды.
Рис. 12.2. Разделяемая среда в кольцевых топологиях
Использование разделяемых сред позволяет упростить логику работы узлов сети. Действительно, поскольку в каждый момент времени выполняется только одна передача, отпадает необходимость в буферизации кадров в транзитных узлах. Транзитных узлов также нет (мы уже рассматривали этот необычный вариант сети с коммутацией пакетов в главе 2). Соответственно, отпадает необходимость в сложных процедурах управления потоком и борьбы с перегрузками.
Основной недостаток разделяемой среды — плохая масштабируемость. Этот недостаток является принципиальным, так как независимо от метода доступа к среде ее пропускная способность делится между всеми узлами сети. Здесь применимо положение теории очередей, которое мы изучали в главе 7: как только коэффициент использования общей среды превышает определенный порог, очереди к среде начинают расти нелинейно, и сеть становится практически неработоспособной. Значение порога зависит от метода доступа. Так, в сетях ALOHA это значение является крайне низким — всего около 18 %, в сетях Ethernet — около 30 %, а в сетях Token Ring и FDDI оно выросло до 60-70 %.
Стек протоколов локальных сетей
Технологии локальных сетей реализуют, как правило, функции только двух нижних уровней модели OSI — физического и канального (рис. 12.3). Функциональности этих уровней достаточно для доставки кадров в пределах стандартных топологий, которые поддерживают LAN — звезда (общая шина), кольцо и дерево.
Рис. 12.3. Соответствие протоколов LAN уровням модели OSI
Однако из этого не следует, что компьютеры, связанные в локальную сеть, не поддерживают протоколы уровней, расположенных выше канального. Эти протоколы также устанавливаются и работают на узлах локальной сети, но выполняемые ими функции не относятся к технологии LAN. Сетевой и транспортный протоколы нужны узлу локальной сети для того, чтобы взаимодействовать с компьютерами, подключенными к другим локальным сетям, путь к которым проходит, возможно, через глобальные сети. Если бы нужно было обеспечить взаимодействие компьютеров только в пределах одной локальной сети, то прикладные протоколы могли бы работать непосредственно над канальным уровнем. Но так как такое ограниченное взаимодействие не устраивает пользователей, то каждый компьютер локальной сети поддерживает полный стек протоколов, так что над канальным уровнем работает один из сетевых протоколов, например IP или IPX.
Кроме того, установка на конечных узлах LAN полных стеков протоколов, а не только физического и канального, необходима для обеспечения совместимости приложений — приложения должны корректно исполняться в любой сетевой среде, во всяком случае, не зависеть от того, является сеть односегментной локальной сетью или крупной локальной сетью, построенной на маршрутизаторах.
Канальный уровень локальных сетей делится на два подуровня, которые часто также называют уровнями:
-
уровень управления логическим каналом (Logical Link Control, LLC);
-
уровень управления доступом к среде (Media Access Control, MAC).
Функции уровня LLC обычно реализуются программно, соответствующим модулем операционной системы, а функции уровня MAC реализуются программно аппаратно: сетевым адаптером и его драйвером.
Уровень MAC
Основными функциями уровня MAC являются:
-
обеспечение доступа к разделяемой среде;
-
передача кадров между конечными узлами, используя функции и устройства физического уровня.
Метод случайного доступа является одним из основных методов захвата разделяемой среды. Он основан на том, что узел, у которого есть кадр для передачи, пытается его отправить без какой бы то ни было предварительной процедуры согласования времени использования разделяемой среды с другими узлами сети.
Метод случайного доступа является децентрализованным, он не требует наличия в сети специального узла, который играл бы роль арбитра, регулирующего доступ к среде. Результатом этого является высокая вероятность коллизий, то есть случаев одновременной передачи кадра несколькими станциями (термины «станция» и «узел» используются здесь и далее как синонимы). Во время коллизии происходит наложение сигналов нескольких передатчиков, из-за чего информация всех передаваемых на периоде коллизии кадров искажается. Поскольку в локальных сетях применяются достаточно простые методы кодирования, то они не позволяют выделить нужный сигнал из суммарного, как это, например, может делать технология CDMA.
Существует большое количество алгоритмов случайного доступа, которые снижают вероятность коллизий и тем самым повышают производительность сети. Например, существует класс алгоритмов, которые разрешают начать передачу кадров только в начале очередного временного интервала, обычно называемого слотом. Впервые такое улучшение было предложено для сети ALOHA. В этой сети метод случайного доступа разрешает узлу передавать кадр в любой момент времени без всяких предварительных условий. Синхронизация передачи кадров с началом очередного слота позволила снизить вероятность коллизий в модифицированном алгоритме ALOHA по сравнению с первоначальным вариантом ALOHA в два раза, обеспечив нормальную работу сети с коэффициентом использования среды до 36 %.
Еще одним способом улучшения случайного доступа является введение процедуры прослушивания среды перед передачей. Узел не имеет права передавать кадр, если он обнаруживает, что среда уже занята передачей другого кадра. Это снижает вероятность коллизий (хотя, как увидим позже, и не исключает их).
Алгоритмы случайного доступа не гарантируют узлу, что он получит доступ к разделяемой среде в течение определенного времени. Какое бы большое время ожидания мы ни выбрали, всегда есть ненулевая вероятность, что реальное время ожидания превысит этот предел. Алгоритмы случайного доступа также не предоставляют никаких возможностей для дифференцированной поддержки характеристик QoS для разных типов трафика — все кадры получают одинаковый уровень доступа к среде.
Детерминированный доступ — это другой популярный подход к обеспечению доступа к разделяемой среде. Он получил свое название благодаря тому, что максимальное время ожидания доступа к среде всегда известно.
Алгоритмы детерминированного доступа используют два механизма - передачу
токена и опрос.
Передача токена обычно реализуется децентрализовано. Каждый компьютер, получивший токен, имеет право на использование разделяемой среды в течение фиксированного промежутка времени — времени удержания токена. В это время компьютер передает свои кадры. После истечения этого промежутка компьютер обязан передать токен другому компьютеру. Таким образом, если мы знаем количество компьютеров в сети, то максимальное время ожидания доступа равно произведению времени удержания токена на это число. Время ожидания может быть и меньше, поскольку, если компьютер, получивший токен, не имеет кадров для передачи, то он передает его следующему компьютеру, не дожидаясь истечения времени удержания. Последовательность передачи токена от компьютера к компьютеру может определяться разными способами. В сетях Token Ring и FDDI она определяется топологией связей. Компьютер в кольце получает токен от предыдущего соседа, а передает токен следующему. Алгоритм передачи токена можно реализовать не только в кольце. Например, в прекратившей свое существование технологии ArcNet использовался общий коаксиальный кабель для физического подключения компьютеров, а в качестве метода доступа — передача токена. При этом токен передавался между компьютерами в заранее определенной последовательности, не зависящей от мест подключения компьютеров к кабелю.
Алгоритмы опроса чаще всего основаны на централизованной схеме. В сети существует выделенный узел, который играет роль арбитра в споре узлов за разделяемую среду. Арбитр периодически опрашивает остальные узлы сети, есть ли у них кадры для передачи. Собрав заявки на передачу, арбитр решает, какому узлу он предоставит право использования разделяемой среды. Затем он сообщает свое решение выбранному узлу, и тот передает свой кадр, захватывая разделяемую среду. После завершения передачи кадра фаза опроса повторяется.
Алгоритм опроса может быть также децентрализованным. В этом случае все узлы должны предварительно сообщить друг другу с помощью разделяемой среды свои потребности в передаче кадров. Затем на основе этой информации и в соответствии с определенным критерием каждый из узлов, желающих передать кадр, независимо от других узлов определяет свою очередь в последовательности передач.
Алгоритмы детерминированного доступа отличаются от алгоритмов случайного доступа тем, что они более эффективно работают при большой загрузке сети, когда коэффициент использования приближается к единице. В то же время при
небольшой загрузке сети более эффективными являются алгоритмы случайного доступа, так как они позволяют передать кадр немедленно, не тратя время на процедуры определения права доступа к среде.
Достоинство детерминированных методов доступа также заключается в том, что они могут приоритезировать трафик, а значит, поддерживать требования QoS.
Транспортировка кадров осуществляется уровнем MAC в несколько этапов, которые в общем случае не зависят от выбранного метода доступа.
-
Формирование кадра. На этом этапе осуществляется заполнение полей кадра на основании информации, получаемой от протокола верхнего уровня, такой как адреса источника и назначения, пользовательские данные, признак протокола верхнего уровня, отсылающего эти данные. После того как кадр сформирован, уровень MAC подсчитывает контрольную сумму кадра и помещает ее в соответствующее поле.
-
Передача кадра через среду. Когда кадр сформирован и доступ к разделяемой среде получен, уровень MAC передает кадр на физический уровень, который побитно передает все поля кадра в среду. Функции физического уровня выполняет передатчик сетевого адаптера, который преобразует байты кадра в последовательность битов и кодирует их соответствующими электрическими или оптическими сигналами. После прохождения сигналов по среде они поступают в приемники сетевых адаптеров, подключенных к разделяемой среде, которые выполняют обратное преобразование сигналов в байты кадра.
-
Прием кадра. Уровень MAC каждого узла сети, подключенного к разделяемой среде, проверяет адрес назначения поступившего кадра, и если он совпадает с его собственным адресом, то продолжает его обработку, в противном случае кадр отбрасывается. Продолжение обработки заключается в проверке корректности контрольной суммы кадра. Кадр с корректной контрольной суммой передается уровнем MAC вверх по стеку, на чем функции уровня MAC заканчиваются. Если же контрольная сумма кадра говорит о том, что информация при передаче через среду была искажена, то кадр отбрасывается.
Из этого описания следует, что Ethernet реализует дейтаграммный полудуплексный режим передачи данных.
Уровень LLC
Уровень LLC выполняет две функции:
-
организует интерфейс с прилегающим к нему сетевым уровнем;
-
обеспечивает доставку кадров с заданной степенью надежности.
Интерфейсные функции LLC заключаются в передаче пользовательских и служебных данных между уровнем MAC и сетевым уровнем. При передаче данных сверху вниз уровень LLC принимает от протокола сетевого уровня пакет (например, IP- или IPX-пакет), в котором уже находятся пользовательские данные. Помимо пакета сверху также передается адрес узда назначения в формате той технологии LAN, которая будет использована для доставки кадра в пределах данной локальной сети. Напомним, что в терминах стека TCP/IP такой адрес называется аппаратным. Полученные от сетевого уровня пакет и аппаратный адрес уровень LLC передает далее вниз — уровню MAC. Кроме того, LLC при необходимости решает задачу мультиплексирования, передавая данные от нескольких протоколов сетевого уровня единственному протоколу уровня MAC.
При передаче данных снизу вверх LLC принимает от уровня MAC пакет сетевого уровня, пришедший из сети. Теперь ему нужно выполнить еще одну интерфейсную функцию — демультиплексирование, то есть решить, какому из сетевых протоколов передать полученные от MAC данные (рис. 12.4).
Рис. 12.4. Демультиплексирование кадров протоколом LLC
Задачи мультиплексирования и демультиплексирования свойственны не только LLC, но и любому протоколу, над которым может работать несколько протоколов. Для демультиплексирования данных LLC использует в своем заголовке специальные поля (рис. 12.5). Поле DSAP (Destination Service Access Point — точка входа службы приемника) используется для хранения кода протокола, которому адресовано содержимое поля данных. Соответственно, поле SSAP (Source Service Access Point — точка входа службы источника) используется для указания кода протокола, от которого посылаются данные. Применение двух полей для целей демультиплексирования является нетипичным, обычно протоколы обходятся одним полем, например, протокол IP всегда посылает свои пакеты протоколу IP, а протокол IPX — протоколу IPX. Два поля полезны в тех случаях, когда вышележащий протокол поддерживает несколько режимов работы, так что протокол на узле-отправителе может использовать различные значения DSAP и SSAP для уведомления узла-получателя о переходе в новый режим работы. Этим свойством протокола LLC часто пользуется протокол NetBEUI.
Рис. 12.5. Формат LLC-кадра
Обеспечение доставки кадров с заданной степенью надежности — вторая основная функция уровня LLC. Протокол LLC поддерживает несколько режимов работы, отличающихся наличием или отсутствием процедур восстановления кадров в случае их потери или искажения, то есть отличающихся надежностью доставки. Уровень LLC, непосредственно прилегающий к сетевому уровню, принимает от него запрос на выполнение транспортной операции канального уровня с тем или иным качеством.
Внимание. Возможно, функции LLC по обеспечению надежной передачи данных в LAN напомнят читателю функции транспортного уровня моделей OSI и TCP/IP. Действительно, соотношение функций протоколов LLC и MAC во многом подобно соотношению функций протоколов UDP/TCP и IP. Как и протоколы транспортного уровня UDP/TCP, протокол LLC не занимается непосредственно доставкой кадров узлам сети. Передачу данных между узлами, подобно IP, выполняет после получения доступа к разделяемой среде уровень MAC. MAC, так же как и IP, обеспечивает доставку в дейтаграммном режиме, то есть без установления соединения и без восстановления потерянных или поврежденных кадров. В том случае, когда протоколы верхних уровней запрашивают у LLC надежный транспортный сервис, LLC устанавливает соединение с узлом назначения и организует повторную доставку кадров.
Уровень LLC предоставляет верхним уровням три типа транспортных услуг.