10. Аппаратное обеспечение сетей ЭВМ. (сетевые карты, мосты, коммутаторы, маршрутизаторы, модемы, мультиплексоры). Разделение устройств по уровням OSI.
Теперь пора от вопросов применения сетей и социальных аспектов перейти к рассмотрению технической стороны разработки сетей. Единой общепринятой системы, которой удовлетворяют все сети, не существует, однако есть два важнейших параметра: технология передачи и размеры. Рассмотрим оба параметра по очереди. Если смотреть в общих чертах, существует два типа технологии передачи:
- широковещательные сети;
- сети с передачей от узла к узлу.
Широковещательные сети обладают единым каналом связи, совместно используемым всеми машинами сети. Короткие сообщения, называемые в некоторых случаях пакетами, которые посылаются одной машиной, получают все машины. Поле адреса в пакете указывает, кому направляется сообщение. При получении пакета машина проверяет его адресное поле. Если пакет адресован этой машине, она его обрабатывает. Пакеты, адресованные другим машинам, игнорируются.
В качестве иллюстрации представьте себе человека, стоящего в конце коридора с большим количеством комнат и кричащего: «Ватсон, идите сюда. Вы мне нужны». И хотя это сообщение может быть получено (услышано) многими людьми, ответит только Ватсон. Остальные просто не обратят на него внимания. Другим примером может быть объявление в аэропорту, предлагающее всем пассажирам рейса 644 подойти к выходу номер 12.
Широковещательные сети также позволяют адресовать пакет одновременно всем машинам с помощью специального кода в поле адреса. Когда передается пакет с таким кодом, его получают и обрабатывают все машины сети. Такая операция называется широковещательной передачей. Некоторые широковещательные системы также предоставляют возможность посылать сообщения подмножеству машин, и это называется многоадресной передачей. Одной из возможных схем реализации этого может быть резервирование одного бита для признака многоадресной передачи. Оставшиеся п-1 разрядов адреса могут содержать номер группы. Каждая машина может «подписаться» на одну, несколько или все группы. Когда пакет посылается определенной группе, он доставляется всем машинам, являющимся членами этой группы.
Сети с передачей от узла к узлу, напротив, состоят из большого количества соединенных пар машин. В сети подобного типа пакету, чтобы добраться до пункта назначения, необходимо пройти через ряд промежуточных машин. Часто при этом существует несколько возможных путей от источника до получателя, поэтому алгоритмы вычисления таких путей играют очень важную роль в сетях с передачей от узла к узлу. Обычно (хотя имеются и исключения) небольшие, географически локализованные в одном месте сети используют широковещательную передачу, тогда как в более крупных сетях применяется передача от узла к узлу. В последнем случае имеется один отправитель и один получатель, и такую систему иногда называют однонаправленной передачей.
Другим признаком классификации сетей является их размер. На рис. 1.4 приведена классификация мультипроцессорных систем в зависимости от их размеров. В верхней строке таблицы помещаются персональные сети, то есть сети, предназначенные для одного человека. Примером может служить беспроводная сеть, соединяющая компьютер, мышь, клавиатуру и принтер. Устройство типа PDA, контролирующее работу слухового аппарата или являющееся кардиостимулятором, тоже попадает в эту категорию. Далее в таблице следуют более протяженные сети. Их можно разделить на локальные, муниципальные и глобальные сети. И замыкают таблицу объединения двух и более сетей.
Процессоры расположены
Расстояние между процессорами
1 м |
На одном квадратном метре |
Юм |
Комната |
100 м |
Здание |
1км |
Кампус |
10 км |
Город |
100 км |
Страна |
1000 км |
Континент |
10000 км |
Планета |
Пример Персональная сеть
Локальная сеть
Муниципальная сеть
Глобальная сеть
Интернет Классификация многопроцессорных систем по размеру
Хорошо известным примером такого объединения выступает Интернет. Размеры сетей являются весьма важным классификационным фактором, поскольку в сетях различного размера применяется различная техника. В данной книге мы рассмотрим сети всех размеров, а также их объединения. Далее мы дадим краткое описание сетевого оборудования.
Модемы
Поскольку, как было отмечено ранее, ослабление и скорость распространения сигнала зависят от частоты, то было бы очень нежелательно иметь широкий спектр частот передаваемого сигнала. К сожалению, последовательности прямоугольных импульсов, соответствующие цифровому сигналу, имеют широкий спектр частот, следовательно, подвергаются значительному затуханию и искажению. Эти эффекты делают невозможной передачу в исходном диапазоне (при постоянном токе). Исключение может составлять только передача на малое расстояние при невысокой скорости.
Для решения этой проблемы вместо постоянного тока для передачи данных, особенно по телефонным линиям, применяется переменный ток. Непрерывный сигнал на частоте от 1000 до 2000 Гц называется синусоидальной несущей частотой. Амплитуда, частота и фаза несущей могут изменяться (модулироваться) для передачи информации. При амплитудной модуляции используются две различные амплитуды сигнала, соответствующие значениям нуля и единицы. При частотной модуляции, называемой также частотной манипуляцией (термин «манипуляция» широко используется в качестве синонима «модуляции»), для передачи цифрового сигнала используется несколько различных частот. При простейшей фазовой модуляции применяется сдвиг фазы несущей частоты на 180° через определенные интервалы времени. Улучшенным вариантом фазовой модуляции является сдвиг фазы на постоянный угол, например, на 45, 135, 225 или 315° для передачи 2 бит информации за один временной интервал. Можно также изменять фазу по окончании интервалов, что позволяет приемнику более четко распознать их границы.
На рис. 2.20 показаны три формы модуляции. Рисунок 2.20, б дает представление о том, как выглядит исходный сигнал при амплитудной модуляции. Амплитуда его либо ненулевая, либо равна нулю. На рис. 2.20, в показано, что тот же исходный сигнал кодируется двумя разными частотами. Наконец, из рис. 2.20, г видно, что два состояния кодируются наличием либо отсутствием фазового сдвига на границе каждого бита.
Устройство, принимающее последовательный поток битов и преобразующее его в выходной сигнал, модулируемый одним или несколькими из приведенных способов, а также выполняющий обратное преобразование, называется модемом (сокращение от «модулятор-демодулятор»). Модем устанавливается между (цифровым) компьютером и (аналоговой) телефонной линией.
Добиться увеличения скорости простым увеличением частоты дискретизации невозможно. Теорема Найквиста утверждает, что даже при наличии идеального канала с частотой 3000 Гц (каковым телефонная линия не является) невозможно передавать отсчеты сигнала чаще, чем с частотой 6000 Гц. На практике большинство модемов делают 2400 отсчетов в секунду и стремятся не к повышению этого значения, а к повышению числа бит на отсчет. Число отсчетов (сэмплов) в секунду измеряется в бодах. За каждый бод передается один символ. Таким образом, линия, работающая со скоростью п бод, передает п символов в секунду. Например, линия со скоростью 2400 бод отправляет 1 символ за 416,667 мкс. Если символ состоит из двух состояний линии (к примеру, 0 В означает логический ноль, 1 В означает логическую единицу), то битовая скорость составляет 2400 бит/с. Если же используются четыре уровня напряжений (например, 0, 1, 2, 3), тогда каждый символ будет состоять уже из двух бит, поэтому та же самая линия на 2400 бод сможет передавать все те же 2400 символов в секунду, но уже с битовой скоростью 4800 бит/с. Аналогично, можно задать четыре степени фазового сдвига вместо двух, тогда и модулированный сигнал будет кодировать один символ двумя битами, а битовая скорость, опять же, будет в два раза выше. Такой метод применяется очень широко и называется квадратурной фазовой манипуляцией, QPSK (Quadrature Phase Shift Keying). Полосой пропускания среды называется диапазон частот, которые могут передаваться в этой среде с минимальным затуханием. Это физическое свойство материала. Полоса варьируется обычно от 0 до какого-то максимального значения и измеряется в герцах (Гц).
Скорость двоичной передачи, baud rate (в бодах) - это число отсчетов, совершаемых за одну секунду. Каждый отсчет передает единицу информации, то есть символ. Таким образом, скорость двоичной передачи равна скорости передачи символов. Метод модуляции (например, QPSK) определяет число бит, из которых состоит один символ.
Битовой скоростью называется объем информации, передаваемый по каналу за секунду. Битовая скорость равна произведению числа символов в секунду и числа бит на символ (символ/с х бит/символ).
Все хорошие модемы используют комбинированные методы модуляции сигналов для передачи максимального количества бит в одном боде. Зачастую, например, комбинируются амплитудная и фазовая модуляции. На рис. 2.21, а изображены точки, расположенные под углами 45, 135, 225 и 315°, с постоянным уровнем амплитуды (это видно по расстоянию до них от начала координат). Фаза этих точек равна углу, который линия, проведенная через точку и начало координат, составляет с положительным направлением горизонтальной оси. На рис. 2.21, а видно, что возможны четыре положения фазового сдвига, значит, можно переда-вать 2 бита на символ. Это метод QPSK.
Сетевые карты отправляют и принимают кадры, основываясь на 48-разрядных Ethernet-адресах. О 32-разрядных IP-адресах им ничего не известно.
Коммутируемые сети Ethernet
При добавлении станций к Ethernet трафик сначала будет расти. Наконец, локальная сеть насытится. Одним из решений в данном случае является увеличение скорости передачи данных - например, переход с 10 Мбит/с на 100 Мбит/с. Однако доля мультимедийных данных в общем потоке становится все заметнее, и даже 100-мегабитные и гигабитные версии Ethernet могут перестать справляться со своей задачей.
К счастью, возможно не столь радикальное решение, а именно, коммутированная локальная сеть Ethernet, показанная на рис. 4.19. Сердцем системы является коммутатор, содержащий высокоскоростную плату, в слоты которой обычно вставляются от 4 до 32 контроллеров линий, в каждом из которых от одного до восьми разъемов. Чаще всего к разъему подключается витая пара 10Base-T, соединяющая коммутатор с единственным хостом.
Когда станция хочет передать кадр Ethernet, она посылает стандартный кадр в коммутатор. Плата в коммутаторе, получив кадр, проверяет, не адресован ли этот кадр станции, подсоединенной к той же плате. Если да, то кадр пересылается ей. В противном случае кадр пересылается по объединительной плате карте, к которой подключена станция-получатель. Объединительная плата обычно работает на скорости в несколько гигабит в секунду с использованием собственного протокола.
Что произойдет, если две машины, присоединенные к одной и той же карте коммутатора, одновременно станут передавать кадры? Результат зависит от конструкции карты. Одним из вариантов может быть объединение всех портов карты вместе с образованием на карте небольшой локальной сети. Столкновения в такой сети обнаруживаются и обрабатываются так же, как и в любой другой сетиCSMA/CD - при помощи повторных передач кадров с использованием алгоритма двоичного экспоненциального отката. При использовании такого типа карт в каждый момент времени возможна передача только одной станции из подключенных к карте, но все карты могут передавать или принимать данные параллельно. При такой схеме коммутатора каждая карта образует свое пространство столкновений, независимое от других. Наличие только одной станции в пространстве столкновений исключает собственно столкновения и повышает производительность.
Возможна также и другая разновидность карт - с буферизацией данных, приходящих на каждый вход, в оперативной памяти карты. При этом все входные порты могут передавать и принимать кадры одновременно в дуплексном режиме, что далеко не всегда удается реализовать в моноканале с применением CSMA/CD. После приема кадра карта может проверить, кому он предназначается. Если адресатом является какой-то из портов текущей карты, то кадр сразу же туда и направляется. Если же нужно передать данные на порт другой карты, то это делается с помощью объединительной платы. При этом каждый порт обладает отдельным пространством коллизий, поэтому столкновения не возникают. Общая производительность системы может быть повышена на порядок по сравнению с 10Base5, поскольку в последней используется единое пространство столкновений.
Так как коммутатор ожидает на каждом входном порту кадры Ethernet, можно использовать некоторые из этих портов в качестве концентраторов. На рис. 4.19 порт в правом верхнем углу соединен не с одной станцией, а с 12-порто-вым концентратором. Прибывая в концентратор, кадры состязаются самым обычным образом, включая столкновения и двоичный откат. Удачливые кадры попадают в коммутатор и подвергаются там той же процедуре, что и все остальные кадры, то есть перенаправляются на нужные выходные линии через высокоскоростную объединяющую плату. Концентраторы дешевле коммутаторов, однако их быстрое удешевление означает лишь намечающуюся тенденцию к устареванию. Тем не менее, все еще существуют действующие концентраторы.
В большинстве глобальных сетей подсеть состоит из двух раздельных компонентов: линий связи и переключающих элементов. Линии связи, также называемые каналами или магистралями, переносят данные от машины к машине. Переключающие элементы являются специализированными компьютерами, используемыми для соединения трех или более линий связи. Когда данные появляются на входной линии, переключающий элемент должен выбрать выходную линию -дальнейший маршрут этих данных. В прошлом для названия этих компьютеров не было стандартной терминологии. Сейчас их называют маршрутизаторами (router), однако читателю следует знать, что по поводу терминологии в данном случае единого мнения не существует. К сожалению, многие остряки-самоучки любят рифмовать «router» с «doubter», что в переводе означает «скептик», а некоторые вместо «router» пишут «rooter» («корчеватель»).
В модели, показанной на рис. 1.7, каждый хост соединен с локальной сетью, в которой присутствует маршрутизатор, хотя в некоторых случаях хост может быть связан с маршрутизатором напрямую. Набор линий связи и маршрутизаторов (но не хостов) образует подсеть.
Локальная сеть Рис. 1.7.Связь хостов и подсети в ЛВС
Следует также сделать замечание по поводу термина «подсеть» (subnet). Изначально его единственным значением являлся набор маршрутизаторов и линий связи, используемый для передачи пакета от одного хоста к другому. Однако спустя несколько лет этот термин приобрел второй смысл, связанный с адресацией в сети (что будет обсуждаться в главе 5). Таким образом, имеется некая двусмысленность, связанная с термином «подсеть». К сожалению, этому термину в его изначальном смысле нет никакой альтернативы, поэтому нам придется использовать его в обоих смыслах. По контексту всегда будет ясно, что имеется в виду.
Большинство глобальных сетей содержат большое количество кабелей или телефонных линий, соединяющих пару маршрутизаторов. Если какие-либо два маршрутизатора не связаны линией связи напрямую, то они должны общаться при помощи других маршрутизаторов. Когда пакет посылается от одного маршрутизатора другому через несколько промежуточных маршрутизаторов, он получается каждым промежуточным маршрутизатором целиком, хранится на нем, пока требуемая линия связи не освободится, а затем пересылается дальше. Подсеть, работающая по такому принципу, называется подсетью с промежуточным хранением (store-and-forward) или подсетью с коммутацией пакетов (packet-switched). Почти у всех глобальных сетей (кроме использующих спутники связи) есть подсети с промежуточным хранением. Небольшие пакеты фиксированного размера часто называют ячейками (cell).
О принципе организации сетей с коммутацией пакетов стоит сказать еще несколько слов, поскольку они используются очень широко. В общем случае, когда у процесса какого-нибудь хоста появляется сообщение, которое он собирается отправить процессу другого хоста, первым делом отправляющий хост разбивает последовательность на пакеты, каждый из которых имеет свой порядковый номер. Пакеты один за другим направляются в линию связи и по отдельности передаются по сети. Принимающий хост собирает пакеты в исходное сообщение и передает процессу. Продвижение потока пакетов наглядно показано на рис. 1.8.
Подсеть
Маршрутизатор
Отправляющий процесс
Отправляющий хост
Маршрутизатор С принял
решение переслать пакеты
в точку Е, а не в точку D
Принимающий процесс
Рис. 1.8. Поток пакетов от отправляющего процесса к принимающему
На рисунке видно, что все пакеты следуют по пути АСЕ, а не ABDE или ACDE. В некоторых сетях путь всех пакетов данного сообщения вообще является строго определенным. В других сетях путь пакетов может прокладываться независимо. Решения о выборе маршрута принимается на локальном уровне. Когда пакет приходит на маршрутизатор А, именно последний решает, куда его перенаправить - на В или на С. Метод принятия решения называется алгоритмом маршрутизации. Их существует огромное множество, и некоторые из них мы изучим в главе 5.
Не все глобальные сети используют коммутацию пакетов. Второй возможностью соединить маршрутизаторы глобальной сети является радиосвязь с использованием спутников. Каждый маршрутизатор снабжается антенной, при помощи которой он может принимать и посылать сигнал. Все маршрутизаторы могут принимать сигналы со спутника, а в некоторых случаях они могут также слышать передачи соседних маршрутизаторов, передающих данные на спутник. Иногда все маршрутизаторы соединяются обычной двухточечной подсетью, и только некоторые из них снабжаются спутниковой антенной. Спутниковые сети являются широковещательными и наиболее полезны там, где требуется широковещание.