Теллекоммуникации

Азы информатики.
Выходим в интернет

А.А. Дуванов
г. Перславль-Залесский,
kurs@robotland.pereslavl.ru

Продолжение. Начало см. в № 17, 18/2006

Компьютерные сети. Академия-2.
Локальные сети Ethernet

В этом разделе — описание принципов и алгоритмов работы локальных сетей на примере сетей Ethernet.

Ethernet — самый распространенный международный стандарт локальных сетей (несколько миллионов сетей с этой технологией по всему миру).

Разработкой стандартов локальных сетей занимаются рабочие группы IEEE (Institute of Elecrical and Electronics Engineers — Институт инженеров электротехники и электроники) — международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике и электротехнике. Эта общественная некоммерческая ассоциация профессионалов ведет свою историю с 1884 года, объединяет 380 000 индивидуальных членов из 150 стран (25% членов проживают вне США).

Ethernet — это не один, а целое семейство стандартов, имеющих разные пользовательские характеристики.

Если за основу сравнения этих стандартов взять скорость передачи данных и максимально возможное расстояние между двумя узлами (диаметр сети), то получим такую сравнительную таблицу:

Сначала рассмотрим принцип построения локальных сетей на основе исторически первого варианта Ethernet (10 Мбит/с), который появился в конце 70-х годов как стандарт трех компаний — Digital, Intel, Xerox.

Эта технология, как и технологии Fast Ethernet, Gigabit Ethernet, основана на понятии разделяемой среды: каждый узел получает все, что передается по сети; передачу выполняет только один узел, остальные ждут паузы для начала собственной передачи.

В основе технологии 10G Ethernet положен другой принцип: информация не “разбрасывается” по всей сети, а целенаправленно “проталкивается” от узла к узлу по направлению к пункту назначения. За продвижение данных в такой сети отвечают маршрутизаторы. Они определяют соседний узел, в который нужно передвинуть информационный пакет для приближения его к пункту назначения. Такие сети называются сетями с коммутацией пакетов.

Ethernet

На рис. 3.1 показана схема сети Ethernet на коаксиальном кабеле. Сегмент кабеля на концах оборудован терминаторами (“заглушками”) для поглощения распространяемого сигнала (на рисунке терминаторы нарисованы черными квадратиками).

Рис. 3.1. Ethernet на общей шине

Кабель при помощи Т-образного разъема соединяет между собой сетевые адаптеры компьютеров.

Принцип работы

Любой участник может послать в сеть сообщение, но только тогда, когда в ней “тихо” — нет другой передачи.

Например, узел 2 (рис. 3.1) слушает сеть и стартует передачу, начиная ее адресами отправителя и получателя (“компьютер 2 передает сообщение для компьютера 4”).

Передача распространяется по кабелю в обе стороны (поглощаясь терминаторами на концах), и все участники слышат ее (в том числе и сам отправитель).

Все, кроме компьютера 4, игнорируют передаваемые данные, обнаружив чужой адрес получателя, а компьютер 4 принимает данные полностью.

Понятно, что при таком способе передачи нельзя допустить длительного захвата сети одним узлом. Если компьютер 2 задумает переслать компьютеру 4 большой файл, все остальные сетевые участники не скоро получат возможность начать передачу.

В силу этой причины сообщения передаются разделенными на пакеты (в технологии Ethernet они называются кадрами). Длина пакета лежит в диапазоне от 64 до 1518 байт.

Передав один пакет, узел на некоторое время прерывает работу и, если в сети “тихо”, отправляет следующий пакет. Но паузой может воспользоваться другой узел и начать свой сеанс передачи. Таким образом, все узлы разделяют одну среду (кабель), имея равные возможности для посылки в сеть информационных пакетов.

MAC-адреса

Узлы в сети Ethernet адресуются при помощи
6-байтового двоичного числа, называемого MAC-адресом (Media Access Control — управление доступом к носителю).

Обычно MAC-адрес записывают в виде шести пар шестнадцатеричных цифр, разделенных тире или двоеточиями, например, 10:A1:17:3D:56:AF.

Уникальный MAC-адрес “зашивается” в сетевой адаптер при его изготовлении. Он не может совпадать ни с каким другим MAC-адресом в мире и не может меняться во время эксплуатации устройства.

Распределением MAC-адресов между производителями оборудования занимается международная некоммерческая организация IEEE (Institute of Elecrical and Electronics Engineers — Институт инженеров электротехники и электроники).

MAC-адрес состоит из 48 бит, таким образом, адресное пространство насчитывает 248 (или 281 474 976 710 656) адресов. Согласно подсчетам IEEE, этого запаса адресов хватит по меньшей мере до 2100 года.

Коллизии

Компьютер 1 послушал сеть (свободна!) и начал передачу пакета (рис. 3.2).

Рис. 3.2. Узел 1 начал передачу пакета

Сигнал не успел дойти до компьютера 5, когда тот тоже начал передачу, решив, что сеть свободна (рис. 3.3).

Рис. 3.3. Узел 5 тоже начал передачу пакета, решив, что сеть свободна

Понятно, что через некоторое время в сети произойдет наложение сигналов. Такая ситуация называется коллизией.

Когда передающая станция обнаружит несовпадение переданного в сеть сигнала с полученным из сети, она фиксирует коллизию и обрывает передачу пакета согласно протоколу Ethernet.

И компьютер 1, и компьютер 5 обрывают передачу, обнаружив коллизию.

Коллизия в сети Ethernet не является исключительным событием — это обычная рабочая ситуация.

Вопрос в том, как долго ждать узлу, чтобы попытаться вновь передать в сеть испорченный коллизией пакет? Если ждать фиксированный промежуток времени, то коллизия со 100%-ной вероятностью возникнет вновь (компьютеры 1 и 5 одновременно возобновят передачу, если одновременно прервали ее из-за коллизии).

В протоколе Ethernet пауза после обнаружения коллизии выбирается из интервала от 0 до 52,4 мс случайным образом.

Как это ни покажется странным, именно случайная пауза после коллизии обеспечивает работоспособность сети Ethernet. Этот простейший механизм обработки коллизий был предложен в далеких 70-х годах и успешно работает до сих пор!

Диаметр сети

Что произойдет, если кабель длинный, а пакет маленький?

Коллизия может возникнуть после того, как узел завершит передачу пакета!

На рис. 3.4 показана именно такая ситуация. Коллизия происходит, когда узел 1 закончил передачу пакета:

Рис. 3.4. Поздняя коллизия (коллизия после того, как узел закончил передачу пакета)

Такая коллизия называется поздней. При поздней коллизии пакет пропадает безвозвратно (узел 1 считает, что передача пакета произошла успешно, и удаляет его из своей буферной памяти).

Для нормальной работы сети необходимо, чтобы передающая станция могла обнаружить коллизию до того, как закончит передачу пакета в сеть. Такая коллизия называется ранней. При ранней коллизии узел передает испорченный пакет заново после случайной паузы.

Для предотвращения поздних коллизий приходится ограничивать длину кабеля величиной, при которой время передачи пакета наименьшей длины (64 байта) было бы больше удвоенного времени прохождения сигнала по всей длине кабеля.

Почему в расчет берется удвоенная длина кабеля?

Пусть узел 1, расположенный на одном конце кабеля, начал передачу пакета. Передача должна продолжаться все время, за которое первый переданный сигнал достигнет узла 5 на противоположном конце кабеля и вернется назад, искаженный коллизией (ведь может случиться, что узел 5 начнет свою передачу за мгновение до прихода к нему сигнала от узла 1). То есть необходимо учитывать прохождение сигнала по удвоенной длине кабеля.

Ограничение диаметра сети Ethernet величиной 2500 м как раз и основано на расчете такой длины кабеля, при которой в сети не могла бы возникнуть поздняя коллизия, даже при передаче самого короткого пакета между двумя крайними станциями. Стандарт называет величину 2500 м с хорошим запасом (более чем в три раза).

При передаче сигнала по кабелю возникает его ослабление (затухание). Приходится делить кабель на сегменты и соединять их между собой повторителями.

Повторитель (repeater) — это простое электронное устройство (без всякого программного обеспечения), которое усиливает сигнал при передаче его из одного сегмента кабеля в другой.

На рис. 3.5 показана сеть, в которой кабель состоит из трех сегментов, соединенных двумя повторителями:

Рис. 3.5. Сеть с повторителями

Для разного типа кабеля стандарт определяет разные величины для максимальной длины сегмента:

В зависимости от типа используемого кабеля, технология Ethernet предусматривает несколько вариантов стандарта, основанных на свойствах физической среды передачи данных.

10Base-5 — коаксиальный кабель диаметром 0,5 дюйма, называемый “толстым”.

10Base-2 — коаксиальный кабель диаметром 0,25 дюйма, называемый “тонким”.

10Base-T — неэкранированная витая пара.

10Base-F — волоконно-оптический кабель.

Число 10 в указанных обозначениях обозначает битовую скорость передачи в этих стандартах — 10 Мбит/с.

Стандарт 10Base-5

В качестве передающей среды используется коаксиальный кабель диаметром 0,5 дюйма.

Кабель такой “толстый”, что в отличие от стандарта 10Base-2 (с кабелем диаметра 0,25 дюйма) его сложно подсоединять непосредственно к сетевому адаптеру компьютера. Поэтому “толстый” коаксиал соединяют с адаптером при помощи трансивера и дополнительного соединительного шнура на витых парах (длиной до 50 м) (рис. 3.6).

Рис. 3.6. Сеть на толстом коаксиале с трансиверами

Трансивер — это не просто механический соединитель (как Т-образный разъем для тонкого коаксиала). Фактически трансивер — это часть сетевого адаптера, вынесенного прямо на кабель (рис. 3.7). С кабелем трансивер обычно соединяется методом прокалывания.

Рис. 3.7. Трансивер — часть адаптера, “вынесенного” на кабель

Сети по этому стандарту строятся по топологии общая шина, которую иллюстрируют все приведенные выше рисунки. Кабель делится на сегменты длиной не более 500 метров. Сегменты соединяются между собой повторителями.

К одному сегменту допускается подключение не более 100 станций, причем подключение выполняется в специально промаркированных точках на кабеле (маркеры располагаются через каждые 2,5 м).

Стандарт разрешает использовать в сети не более 4 повторителей и, соответственно, не более 5 сегментов кабеля (получается, что максимальный диаметр сети 10Base-5 не превышает 2500 м).

Только 3 сегмента из 5 могут быть нагруженными (с подключенными рабочими станциями). Между нагруженными сегментами должны быть ненагруженные. Максимальная конфигурация сети 10Base-5 показана на рис. 3.8.

Рис. 3.8. Максимальная конфигурация сети 10Base-5

Говорят, что сеть Ethernet 10Base-5 строится по правилу 5–4–3: пять сегментов, четыре повторителя, три нагруженных сегмента.

Так как одно подсоединение к кабелю в сегменте занято повторителем, то для рабочих станций остается 99 кабельных маркеров. Таким образом, в такой сети может работать 99 х 3 = 297 компьютеров.

Стандарт 10Base-2

В качестве передающей среды используется коаксиальный кабель диаметром 0,25 дюйма, более дешевый, но имеющий худшие характеристики.

Топология: общая шина (рис. 3.9).

Рис. 3.9. Сеть на тонком коаксиале с Т-образными разъемами

На рис. 3.10 показан вид Т-образного разъема. Он подключается к сетевой карте и соединяет фрагменты кабеля:

Рис. 3.10. Т-образный разъем

По-прежнему работает правило 5–4–3: пять сегментов, четыре повторителя, три нагруженных сегмента.

Ниже приводится сравнительная таблица стандартов, основанных на “толстом” и “тонком” коаксиальном кабеле.

Стандарт 10Base-T

Среда передачи — две неэкранированные витые пары, то есть 4 проводника, скрученных попарно между собой. Одна пара работает на прием, другая — на передачу.

Соединение узлов топологически выглядит как звезда, в центре которой расположен хаб (hub, буквально — ступица колеса). Другие названия хаба: многопортовый повторитель, концентратор.

Сетевой кабель подсоединяется к хабу (рис. 3.11) при помощи портов (соединительных разъемов).

Рис. 3.11. Хаб

На рис. 3.12 показана сеть с хабом, у которого четыре порта. К каждому порту подсоединен сетевой адаптер рабочей станции.

Рис. 3.12. Сеть, построенная по топологии звезда с хабом в центре

Несмотря на то что физические соединения в изображенной сети образуют звезду, принципиально она не отличается от сети с общей шиной: хаб объединяет компьютеры общей разделяемой средой. Говорят, что физическая топология сети — звезда, логическая — общая шина.

Сигнал, полученный с одного порта, транслируется на все другие порты (кроме порта, с которого он получен), и сеть работает по прежнему протоколу:

1. Если в сети “тишина”, можно начать передачу пакета.

2. Если обнаружена коллизия, нужно прекратить передачу.

3. Через случайную паузу нужно повторить передачу испорченного пакета.

Стандарт определяет длину сегмента (длину кабеля от станции до хаба) не более 100 метров.

Сеть можно расширить, соединяя хабы между собой (при помощи тех же портов) в древовидную структуру (рис. 3.13).

Рис. 3.13. Древовидная сеть на хабах

Но и в этой сети по-прежнему одна разделяемая среда, то есть логически она работает как общая шина по старому алгоритму. Говорят, что вся сеть представляет собой один домен коллизий (все узлы этой сети конкурируют за общую разделяемую среду передачи).

Построение сети в виде дерева, листья которого — рабочие станции (или сервера), а остальные узлы — хабы, удобно на практике.

Разрыв сети на отдельной ветви не мешает работе других ветвей дерева (в отличие от соединений по общей шине), и, кроме того, иерархия соединений может повторять иерархию пользователей сети или их пространственного положения.

На рис. 3.14 приведена схема школьной сети Ethernet, в которой к корневому школьному хабу подсоединены хабы трех компьютерных классов и две рабочих станции — один компьютер в кабинете директора, другой в учительской.

Рис. 3.14. Пример школьной Ethernet-сети на хабах

В стандарте 10Base-T работает правило четырех хабов: максимальное количество хабов между любыми двумя станциями сети не должно быть больше четырех (иначе сеть работать не будет из-за поздних коллизий).

Общее количество станций в сети 10Base-T не должно превышать числа 1024. Это количество, прописанное в стандарте, определяет предельную нагрузку сети, при которой она еще будет функционировать, несмотря на обилие возможных коллизий.

На рис. 3.15 показан пример сети, в которой это количество станций может быть достигнуто:

Рис. 3.15. Максимальная конфигурация сети на хабах

Из правила четырех хабов следует, что в сети 10Base-T между любыми двумя станциями не может быть более 5 сегментов. Получается, что максимальный диаметр такой сети не превышает 5 х 100 = 500 м.

Диаметр сети может быть существенно увеличен, если в качестве соединительного устройства использовать не хаб, а коммутатор (рис. 3.16). Другие названия этого устройства: мост (bridge), переключатель (switch).

Рис. 3.16. Коммутатор

Коммутатор своими портами разбивает сеть на несколько частей, в каждой из которых — свой домен коллизий.

Происходит так потому, что коммутатор в отличие от хаба не транслирует полученный пакет на другие порты, если получатель находится на том же самом порту, с которого получен пакет.

Рис. 3.17. Сеть 1 с хабом, а сеть 2 с коммутатором в корне дерева

Сеть 1 на рис. 3.17 построена полностью на хабах. Пакет от узла A для узла B будет распространяться хабами по всем направлениям и достигнет всех узлов этой сети. При этом передача, начатая любым другим узлом (например, C), может испортить пакет A (возникнет коллизия). Сеть 1 образует один домен коллизий.

В сети 2 корневой хаб заменен коммутатором. Пакет от узла A для узла B не будет передан коммутатором на порт 2 и не может быть причиной коллизии в подсети с хабом 2. Сеть 2 образует два домена коллизий. Правило четырех хабов будет работать отдельно для двух ее частей. Получается, что сети с коммутаторами можно строить очень большого диаметра, без угроз поздних коллизий и длительного ожидания паузы для начала передачи.

А что произойдет, когда узел A передает пакет для узла C в сети с коммутатором? Коммутатор обязан передать этот пакет в порт 2. Он сделает это по алгоритму работы рабочей станции. То есть дождется тишины в этой подсети, затем начнет передачу. Если какой-то узел в подсети 2 тоже начнет посылку, возникнет коллизия, но она останется внутренним делом второго домена и не выйдет за его пределы.

Возникает вопрос: откуда коммутатор знает, что узел B подключен к порту 1 (и пакет к нему из порта 1 не надо транслировать на другие порты), а узел C подключен к порту 2 (и пакет к нему из порта 1 надо транслировать на порт 2)?

В отличие от хаба коммутатор обладает “интеллектом” (микропроцессором с программным обеспечением), который позволяет ему автоматически строить таблицу соответствий между узлами и портами (таблицу маршрутизации) и использовать ее при своей работе.

Рассмотрим алгоритм работы коммутатора на примере сети, изображенной на рис. 3.18.

Рис. 3.18. Пример сети с коммутатором

В начальный момент (при включении питания) таблица маршрутизации коммутатора пуста.

Пусть узел A передает пакет для узла B. Пакет содержит не только адрес получателя, но и адрес отправителя. Когда пакет приходит на порт 1, коммутатор делает в таблице первую запись:

Теперь коммутатор ищет в таблице строчку для узла B, чтобы решить, что делать с пакетом: игнорировать, если B расположен на том же порту, что и A, или транслировать пакет в порт, к которому подключен B.

Строки с узлом B в таблице еще нет. Коммутатор вынужден работать как хаб: он транслирует пакет к неизвестному адресату на все порты, кроме того порта, с которого пакет получен, то есть на порты 2 и 3.

Пусть теперь узел F передает пакет для узла A.

В таблице появляется новая строка:

Коммутатор находит в таблице порт получателя и передает пакет в порт 1.

Таким образом, заполняется таблица маршрутизации, и коммутатор, начав как обычный хаб, быстро обучается, повышая свою “квалификацию”.

Еще боRльшим интеллектом обладает устройство под названием маршрутизатор (другое название — роутер, от английского слова router).

Это устройство позволяет строить сети с ячеистой топологией и коммутировать в ней пакеты, выбирая наиболее рациональные маршруты.

Стандарт 10Base-F

В качестве единой разделяемой среды передачи используется оптоволоконный кабель.

Сеть 10Base-F строится по тем же правилам и из тех же элементов, что и сеть 10Base-T.

По-прежнему работает правило четырех хабов для одного домена коллизий.

Максимальная длина сегмента сети — 2000 м. Максимальный диаметр одного домена коллизий — 2500 м. Максимальное число рабочих станций в нем — 1024.

Fast Ethernet

Скорость передачи данных в сетях, построенных по этому стандарту, — 100 Мбит/c.

Логика работы сетей Fast Ethernet и Ethernet совершенно одинаковая. Все отличия лежат на физическом уровне построения сети.

В 10 раз увеличилась скорость передачи сигнала, значит, в 10 раз должен уменьшиться максимальный диаметр одного разделяемого сегмента (чтобы избежать в нем поздних коллизий).

Признаком свободного состояния среды в Fast Ethernet является передача специального символа простоя источника (а не отсутствие сигнала, как в стандарте классической Ethernet).

Коаксиальный кабель исключен из списка разрешенных сред передачи. Стандарт Fast Ethernet установил три спецификации:

100Base-TX — неэкранированная или экранированная витая пара (две пары в кабеле).

100Base-T4 — неэкранированная витая пара (четыре пары в кабеле).

100Base-FX — волоконно-оптический кабель (с двумя волокнами).

Максимальные длины для кабельных сегментов приводятся в таблице:

(Полудуплексный канал работает на передачу и прием по очереди, а дуплексный — одновременно.)

Правило четырех хабов для Fast Ethernet превращается в правило одного или двух хабов (в зависимости от класса хаба).

Среда передачи — 2 витых пары в одной общей оболочке.

Среда передачи — 4 витых пары в одной общей оболочке.

Три пары используются для параллельной передачи сигнала со скоростью 33,3 Мбит/с (всего получается 100 Мбит/с), четвертая пара всегда “слушает” сеть на предмет обнаружения коллизий.

Среда передачи — оптоволоконный кабель с двумя волокнами.

Gigabit Ethernet

Скорость передачи данных в сетях, построенных по этому стандарту, — 1000 Мбит/c.

Поддерживаются кабели, используемые в Fast Ethernet: волоконно-оптический, витая пара.

Для предотвращения поздних коллизий длина сегмента кабеля должна уменьшиться в 10 раз по сравнению со стандартом Fast Ethernet, но это было бы неприемлемо. Вместо этого в технологии Gigabit Ethernet увеличена длина минимального пакета с 64 до 512 байт и, кроме того, разрешено передавать несколько пакетов подряд (общий размер — не более 8192 байт). Конечно, это увеличивает ожидание паузы для начала передачи, но на скорости 1000 Мбит/c эта задержка не слишком существенна.

Для поддержки заявленной скорости передачи в технологии Gigabit Ethernet применяются и некоторые другие технические решения, но структура сети остается прежней:

дерево разделяемых сред;

для соединения узлов в одном домене коллизий используются хабы;

коммутаторы и маршрутизаторы соединяют домены коллизий.

10G Ethernet

Скорость передачи данных в сетях, построенных по этому стандарту, — 10 000 Мбит/c.

Технология построения сети 10G Ethernet принципиально отличается от других Ethernet-технологий.

Сети 10G Ethernet — это сети с коммутацией пакетов.

Если в сетях с разделяемыми средами пакет, переданный одной станцией, поступает на все другие станции, то в коммутируемых сетях пакет следует от передающей станции к станции назначения по маршруту, который уточняется по мере продвижения пакета от одного маршрутизатора к другому.

Сеть с разделяемыми средами, построенная только на хабах и коммутаторах, должна иметь строго иерархическую структуру: на схеме соединений не должно быть циклов.

Сеть, приведенная на рис. 3.19, имеет иерархическую структуру. Между любыми двумя узлами существует ровно один путь, например, путь от А к Б пролегает через узлы: А–2–1–3–5–Б:

Рис. 3.19. Иерархическая сеть

На рис. 3.20 показана сеть с циклом. Между узлами А и Б теперь имеются два пути: А–2–1–3–5–Б и А–5–Б.

Сети с коммутацией пакетов могут иметь ячеистую структуру, в которой между двумя станциями может существовать два и более вариантов прохождения пакета.

Рис. 3.20. Ячеистая сеть

Ячеистые сети более надежны: если один маршрут перестает работать по техническим причинам, для доставки пакета выбирается другой.

Сети с коммутацией пакетов имеют бoRльшую пропускную способность по сравнению с сетями на разделяемых средах (пакеты не транслируются во все стороны, а следуют строго к пункту назначения; станции передают, не дожидаясь тишины в сети).

В качестве проводящей среды в сетях 10G Ethernet используют оптоволоконный кабель и кабель с витыми парами.

Длина сегмента оптического кабеля может достигать 40 км, а длина сегмента витой пары — 100 м. Причина ограничения длины кабеля теперь не в поздних коллизиях (при коммутации пакетов коллизий не бывает), а в затухании сигнала при его прохождении по кабелю.

Продолжение в след. номере