2.4 Телефонные сети
Когда надо соединить несколько рядом стоящих компьютеров, то обычно прокладывают кабель. Когда кабель должен пройти через дорогу или пересечь общественные, городские коммуникации дело становиться сложнее, а стоимость огромной. В этих случаях единственным выходом является обратиться к телефонной компании.
Телефонная сеть создавалась давно и с целями далекими от тех, которые преследуются при передаче данных между ЭВМ. Поэтому качество передачи данных далеко от совершенства. Однако, ситуация меняется по мере замены меди на оптоволокно и переходе на цифровую систему передачи. Телефонные сети тесно переплетаются с компьютерными сетями, особенно с WAN.
Проиллюстрируем проблему. Если соединить две машины проводом, то скорость передачи будет около 107-108 bps. Ошибка возникает где-то раз в день. При такой скорости количество бит переданных между последовательными ошибками будет порядка 1012-1013 бит. Телефонная линия даст не более 104bps и одну ошибку на 105 переданных бит. Разница в 11 порядков! Поэтому много усилий было положено, чтобы научиться использовать столь низкого качества линии для передачи данных между компьютерами.
2.4.1 Немного истории
Когда в 1876 Александр Белл запатентовал телефон, структура сети представлялась ему очень простой. Абоненты соединялись неизолированным проводом каждый с каждым. Если абонент хотел поддерживать связь с несколькими абонентами в городе, то к нему приходило несколько проводов. Вскоре некоторые дома напоминали джунгли. К 1878 году стало ясно, что так развивать сеть нельзя. (Рис.2-14(а))
В 1878 году Белл строит первую станцию коммутации, с которой соединяются абоненты. Чтобы соединиться абонент крутил ручку, вызывая оператора, сообщал ему с кем он хочет соединиться (классическое :Барышня, дайте Смольный, пожалуйста.), и оператор механически, с помощью штыря соединял проводом гнезда коммутатора. В результате получилось что-то как на рис.2-14(b).
Спустя некоторое врем абоненты выразили желание сообщаться с абонентами в других городах. Потребовалось соединять между собой станции коммутации. Рис.2-14(c).
К 1890 году появились три основные компонента телефонной сети: соединение клиент-станция коммутации, станции коммутации, соединения между станциями коммутации.. Естественно эти три компонента постоянно совершенствовались, но в основных своих чертах они остались все эти 100 лет такими, как их создал Белл.
2.4.2 Структура телефонной сети
Структура современного соединения при звонке показана на рис.2-15.
В настоящее время все шире используется цифровая передача. Она имеет ряд преимуществ перед аналоговой:
Итак, современная телефонная сеть состоит из
2.4.3 Локальная петля
На рис.2-17 показана организация петли. Как видно из рисунка при передаче данных приходится четыре раза их преобразовывать из цифровой формы в аналоговую и обратно. Несмотря на то, что между станциями коммутации передача осуществляется в цифровой форме в петле она аналоговая. Похоже что она останется таковой в ближайшие 20 лет в силу очень больших затрат на переоборудование.
Искажения при передаче
При передаче аналогового сигнала есть три источника искажений:
Затухание возникает из-за потери энергии сигнала при его распространении в любой среде. При передаче по медному проводу затухание исчисляется в несколько dB на километр. Затухание также зависит от частоты передаваемого сигнала. Как мы уже отмечали промежуточное усиление может помочь лишь частично. Усилитель не может полностью восстановить исходную форму сигнала.
Искажения формы происходят также из-за разницы в скорости распространения сигналов разной частоты. Поскольку каждый сигнал есть комбинация гармоник разной частоты, а гармоники разной частоты распространяются с разной скоростью, то гармоники одного сигнала могут налезать на гармоники предыдущего и вызывать искажения.
Шум возникает в следствии посторонних источников энергии, кроме передатчика. Одним из таких источников является тепловой шум. Он неизбежен. Другими источниками могут быть атмосферные явления, соседние линии и т.п.
Модем
Из-за выше рассмотренных искажений сигнала желательно использовать как можно меньше гармоник при передаче. Однако, скачкообразная форма цифрового сигнала как раз требует большого числа гармоник при передаче.
Решение проблемы лежит в использовании несущей частоты в сочетании с разными способами модуляции сигнала. Три основные способа показаны на рис.2-18.
(Рис.2-18)
При фазовой модуляции несущая частота сдвигается периодически на 45, 135, 225 и 315 градусов. Устройство, которое преобразует поток битов в модулированный сигнал и обратно называется модем. Чтобы увеличить скорость передачи недостаточно увеличивать частоту несущей волны. Надо увеличивать число бит на осциляцию. На рис.2-19 показаны две схемы как это можно делать комбинируя фазовую модуляцию с амплитудной.
Для соединения оба модема должны поддерживать одну и ту же схему модуляции. Схема на рис.2-19 b соответствует стандарту UTI V-32 на 9600 bps. Для 14,400 применяется стандарт V32 bis. Для 24,800bps - V34.
В моде также встраиваются средства для контроля и коррекции ошибок, используя специальные коды. Самый простой способ - добавление бита четности. В сочетании с кодами, исправляющим ошибку используются алгоритмы сжатия. Например, широко распространенный алгоритм MNP 5 убирает из потока повторяющиеся байты. Есть и другие.
Другой важной проблемой при использовании телефонной линии является эхо. Причина этого явления проста - когда сигнал достигает приемника, часть его энергии отражается и возвращается к передатчику. Когда расстояние между приемником и передатчиком не большее это практически незаметно. Когда расстояние велико задержка между сигналом и эхом становится значительной. При телефонном разговоре наверняка сталкивались с эффектом эхо.
На рис.2-20 показана схема для подавления эха. Недостаток этой схемы, что она не позволяет использовать полный дуплекс. Только полу дуплекс. Есть другое решение: устройство периодически измеряет величину эха и удаляет его из обратно получаемого согнала. Здесь не требуется релейных устройств, а связь становиться дуплексной.
RS-232
Стандарт RS-232 соответствует международному стандарту ITU V.24. В этом стандарте компьютер или терминал называется DTE ( Data Terminal Equipment) а модем - DCE (Data Circuit-Terminating Equipment).
Механически этот стандарт определяет 25 штырьковый разъем. Функционально используется 9. Их назначение показано на рис.2-21. Когда компьютер включают, то на линии Data Terminal Ready появляется 1. Когда включают модем, на 6-ом штырьке Data Set Ready появляется 1. Когда модем обнаруживает несущую частоту на телефонной линии, то на штырьке 8 Carrier Detect появляется 1. Появление 1 на 4 штырьке - Request to Send - означает, что компьютер готов передавать данные. 1 на 5 штырьке - Clear to Send - означает, что модем готов принимать. Данные передаются по Transmit circuit (штырь 2) и принимаются по Receive (штырь 3).
Для соединения между собой двух машин через RS-232 используют нуль модем специальным образом за коммутированные два разъема RS-232.
В настоящее время вышел новый стандарт RS-423, который с функциональной точки зрения является полным аналогом RS-232.
Петля из оптоволокна.
Для развития услуг, доступных через сеть, например, видео по запросу, пропускной способности на 3КГц линий не хватит. Что делать?
Прокладывать оптоволокно в каждый дом, в каждую квартиру очень дорого. Вряд ли это будет сделано даже в ближайшем будущем. Есть два других решения. Одно предполагает использовать телефонную сеть и сократить длину петли с 3 км до 100 метров. Для этого установить в микрорайонах или скопления домов соединительные коробки, которые соединены с местной АТС оптоволокном. По короткой петле на 100м можно достичь около 1Мbps. Это решение показано рис.2-23(а). Здесь вместо множества соединений точка-точка применяется канал с множественным доступом.
Другое решение - использовать сеть кабельного телевидения. Это решение показано на рис.2-23(b). И в том и в другом случае стоимость подводки оптоволокна распределиться между 100-1000 пользователей, что вполне приемлемо.
2.4.4 Магистраль и мультиплексирование
Одним из существенных достижений телефонных компаний - магистрали с мультиплексированием данных. Эти компании научились запускать по одному и тому же кабелю несколько разговоров одновременно. Это чрезвычайно важно, так как позволяет распределить стоимость по прокладке кабеля между многими абонентами. Созданные ими схемы мультиплексирования можно разделить на два большие класса: мультиплексирование с разделением частот и мультиплексирование с разделением по времени.
Идея мультиплексирования с разделением частот очень проста: весь диапазон частот разбивается на каналы и по каждому каналу идет независимая передача. Пример: трансляция на УКВ. При мультиплексировании с разделением по времени все время работы канала разделяется на кванты. Каждый разговор, передача данных занимает поочередно один квант времени.
Мультиплексирование с разделением частот.
На рис.2-24 показано как три телефонных канала могут быть мультиплексированы. С помощью фильтров ограничивают пропускную способность каждого канала 3 000Гц. При мультиплексировании большого числа каналов полосу увеличивают до 4 000 Гц для того, чтобы предотвратить налезание одной полосы на другую (по 500Гц с каждой стороны).
12 голосовых каналов с пропускной способностью по 4 000Гц мультиплексируют в полосе от 60 до 108 КГц. Пять групп по 12 каналов мультиплексируют в супергруппу, затем пять супергрупп - в мастер группу. Современные стандарты позволяют объединять до 230 000 голосовых каналов.
Мультиплексирование с разделением длины волны.
Этот способ мультиплексирования используется для оптоволоконных каналов. Самый простой способ показан на рис.2-25.
Свет пройдя через призму (или дифракционную решетку) смешивается в единый пучок, который на другом конце разделяется с помощью другой призмы. Поскольку каждый канал занимает не более нескольких ГГц, а пропускная способность одного оптоволоконного канала около 25 000ГГц ( быстрее преобразовывать световой сигнал в электрический пока не могут), то ясно каковы возможности для мультиплексирования. Современные системы не позволяют коммутировать оптические каналы.
Мультиплексирование с разделением по времени.
Частотное мультиплексирование требует применения аналоговых схем и мало пригодно для управления компьютером. Мультиплексирование с разделением времени наоборот хорошо соответствует возможностям компьютера. Следует отметить, что он подходит только для работы с данными в цифровой форме. Поэтому сначала аналоговый сигнал надо отцифровать.
Отцифровка сигнала происходит на АТС куда приходит петля с аналоговым сигналом с помощью устройства, называемого кодек (codec - coder-decoder). Codec снимает показания с линии 8000 раз в секунду ( каждый 125 mсек). Теорема Найквиста говорит, что бессмыслено опрашивать канал с пропускной способностью 4000Гц чаще чем 8000 раз в секунду. Такой способ отцифровки данных называется импульсно кодовая модуляция (РСМ). Он составляет основу современных телефонных систем.
Когда РСМ стало развиваться, МКТТ не смогла добиться международного стандарта. В результате в разных странах действуют разные соглашения и приходиться ставить "черные ящики" на стыках систем, чтобы согласовать передачу.
На рис.2-26 показан стандарт распространенный в США и Японии Т1. Канал Т1 мультиплексирует 24 голосовых канала в течении каждых 125 mсек. Каждый канал отцифровывается последовательно один за другим, а не все одновременно. Каждый канал несет 8 бит: 7 бит - данные, 1 бит - сигнальный. Кроме этого Т1 кадр начинается со специального сигнального бита. Итого Т1 кадр несет 193 бита. Общая скорость передачи такого канала 125 mсек по 193 бита дает 1544Мbps. Собственно для данных используется 23 байта, а 24 байт используется для синхронизации.
В Европе и Великобритании используется другой стандарт Е1. Основный его отличия состоят в том, что:
При использовании техники отцифровки аналогового сигнала возникает искушение сжать передаваемые данные. Метод разностной импульсно кодовой модуляции. Идея его в том, что если разность между соседними значениями не превосходит например 16, в то время как собственно значения колеблются в диапазоне [-64;+64], то вместо 6 разрядов нам потребуется всего 4. Есть другой метод, так называемая, дельта модуляция. В этом методе предполагается, что соседние значения отличаются не более чем на 1. Для голоса этот метод работает не плохо. Он показан на рис.2-27.
Другой метод - основан на экстраполяции очередного значения, на основе предыдущих. При этом передается разница между предсказанием и фактическим значением. Очевидно, что на обоих концах канала должен быть использован один и тот же алгоритм предсказания.
Мультиплексирование с разделением времени позволяет мультиплексировать смультиплексированные каналы. Так согласно стандарту Т1 4 канала Т1 могут быть объединены в один, затем 6 в один и 7 в один. Рис.2-28. Согласно Е1 каналы могут группироваться только 4, но имеется 4 уровня вложенности, а не три как в Т1. Поэтому скорость передачи в случае E1 : 2048, 8848, 34304, 139264, 565148 Мbps.
2.4.5 Коммутация
Здесь мы рассмотрим третью важную компоненту телефонной сети - коммутаторы. Коммутаторы составляют основу организации АТС разного уровня.
В телефонных сетях используются два разных способа коммутации: коммутация каналов и коммутация пакетов. Сначала познакомимся с коммутацией каналов, а позднее при рассмотрении высокоскоростных систем ISDN, рассмотрим коммутацию пакетов.
2.4.5.1 Коммутация каналов
На рис.2-34(a,b) показаны схемы работы при коммутации каналов и при коммутации пакетов.
Коммутацию каналов изобрел в ХIХ в. Алмонд Строугер (Almond Strowger). История этого изобретения достаточно интересна. Строугер был владельцем похоронного бюро в небольшом городке. В этом же городе было еще одно похоронное бюро, жена владельца которого работала на телефонной станции.. Поэтому когда родственники умершего звонили и просили соединить с похоронным бюро ловкая жена тут же соединяла их со своим мужем. Поэтому Строугер оказался перед выбором: либо изобрести автоматический коммутатор, либо закрыть дело. Он предпочел первый вариант. Так был изобретен телефонный коммутатор. За истекшие 100 лет мало что изменилось.
Основной особенностью коммутации каналов является то, что канал точка-точка создается до того как данные начнут передаваться. Время соединения исчисляется секундами, а при удаленных звонках - до минуты. Прежде чем соединение возникнет, сигнал запроса должен проложить маршрут. Это требует времени. Для многих компьютерных приложений такая большая задержка не приемлема или не желательна.
Если соединение установлено, то задержка при передачи составит 5 msec. на 1000 км. Если соединение установлено, то нет опасности что во время разговора Вы услышите сигнал занято.
Альтернативой коммутации каналов является коммутация сообщений рис.2-35(b). Этот метод использовался при передаче телеграмм. Сообщение получали целиком, затем целиком передавали по каналу, ведущему к абоненту. И так от оператора к оператору, пока сообщение не приходило к адресату. Здесь не надо было создавать соединение заранее. Однако, для такого способа передачи необходимо обеспечить нужное количество памяти для буферизации любого сообщения, сколь угодно длинного. Для преодоления этого недостатка был предложен метод коммутации пакетов.
Основные различия этих методов:
Эти различия сведены в таблицу 2-36.
2.4.5.2 Иерархия коммутаторов
На рис.2-37 представлена схема иерархии коммутаторов компании АТ&Т. Это типичная иерархия. Прежде всего обратим внимание на то, что любое соединение стараются сделать на самом нижнем уровне. Именно этим хороша структура подсети типа дерево (вспомним топологии подсетей, рассмотренные нами в главе 1). Однако, если в ходе эксплуатации подсети выясняются узкие места, например, между Москвой и Ст.Питербургом звонки чаще, чем между остальными городами, прокладывается прямая линия между этими городами.
2.4.5.3 Коммутаторы каскадные
Теперь давайте рассмотрим как коммутатор устроен внутри. Самый простой вид коммутаторов - это прямой коммутатор n x n. Он показан на рис.2-38. В каждой точке пересечения стоит полупроводниковый переключатель, который замыкает соответствующие линии.
Основной недостаток этого типа коммутаторов - квадратичный рост сложности (число пересечений) при увеличении n. Даже если учесть, что нам требуется только половина пересечений (выше или ниже диагонали), то все равно нам надо порядка n2/2 переключателей. При n=1000 на кристале можно поместить такое количество переключателей, но приделать к нему 2000 ножек невозможно. Поэтому такие прямолинейный решения возможны лишь для небольших организаций.
На рис.2-39 показан каскадный коммутатор. Идея построения этого типа коммутаторов такова: разделить простой коммутатор на части, которые соединить между собой промежуточными дополнительными коммутаторами. Рассмотрим пример трехслойного каскадного коммутатора. В первом слое N входных линий разбиваются на k группы по n линий в каждой. На втором слое N/n простых коммутаторов соединяются с k коммутаторами (N/n)x(N/n) каждый. Третий каскад повторяет первый в обратном порядке: не n x k, а k x n.
Посчитаем сложность. Первый каскад содержит (N/n) x nk = Nk точек пересечения.
Второй каскад имеет k(N/n) точек пересечения. Третий каскад по сложности такой же как и первый. Таким образом получаем: 2kN + k(N/n)2 точек пересечения.
При N=1000, n=50 и k= 10 нам потребуется всего 24000 точек пересечения, вместо 499500, как было бы при простом коммутаторе.
Однако, каскадные коммутаторы имеют недостаток - блокировка коммутаторов второго слоя. На рис.2-39(а) второй слой может коммутировать одновременно только 8 звонков. Девятый звонок буден заблокирован. Коммутатор на 2-39(b) лучше. Там 12 входов на втором каскаде, но он и дороже. Клос (Clos) в 1953 году показал, что при k = 2n - 1 блокировок не будет.
2.4.5.4 Коммутаторы с разделением времени
Другой способ коммутации с разделением времени показан на рис.2-40. Пусть у нас есть n линий, которые нам надо коммутировать. Эти линии сканируются в течении определенного временного слота последовательно. Образуется кадр из n ячеек по k битов в каждой. Например в стандарте Т1 каждая ячейка содержит по 8 бит, а всего 8000 кадров секунду.
Затем кадр попадает в коммутатор ячеек. Коммутатор ячеек переставляет ячейка в соответствии с таблицей коммутации. Обработка кадра происходит следующим образом. Входной кадр записывается в память в том порядка как ячейки считывались с линий. Затем ячейка считываются из памяти в порядка, задаваемом таблицей коммутации.
Ясно что таблица коммутации - это вектор перестановок, а скорость коммутации ограничена скоростью считывания из памяти. Например, если временной слот 125 mсек и нам надо обработать кадр из n ячеек, а время считывания из памяти Т, то 2nT = 125 или n= 125/2T. Если скорость памяти 100 mсек, то мы сможем обработать не более 625 линий.
2.4.6 Цифровые сети с интегрированным сервисом (ISDN)
Более ста лет основной инфраструктурой, используемой в обществе для передачи данных, была телефонная сеть. Эта сеть создавалась исключительно для передачи голоса в аналоговой форме и не удовлетворяла современным требованиям. Под давлением требований пользователей в цифровой передачи данных, МКТТ в 1984 году собрал конгресс, где было принято решение о создании новой полностью цифровой телефонной сети с коммутацией каналов в начале 21 века. Эта новая сеть называется Цифровая Сеть с Интегрированным Сервисом (ISDN - Integrated Service Digital Network).
Основной целью ISDN объединение в рамках одной сети голоса, звука, изображения и цифры. Однако по прежнему в центре внимания телефон. ISDN телефон должен обеспечивать самый разнообразный сервис: программируемые функции, показ номера телефона, от которого поступил звонок, имя звонящего, умение работать с компьютером - выдать запрос к базе данных и высветить на экране ответ, переадресовать звонки, удаленный доступ к своему телефону, автоматические звонки в скорую помощь, полицию, пожарную службу в случае опасности и т.д.
Здесь мы рассмотрим что дает ISDN и как он работает.
2.4.6.1 Архитектура N-ISDN сетей
Основой ISDN архитектуры является концепция потока битов в цифровой форме или просто цифрового потока между пользователем и системой передачи, через которую этот поток будет передаваться. При этом не важно как был сформирован этот поток битов - телефоном, факс- машиной, компьютером и т.п.
Цифровые потоки могут и фактически мультиплексируются. Концепция цифрового потока строго специфицирована. Там строго определены интерфейсы, формат цифрового потока и правила мультиплексирования потоков. Было разработано два стандарта: один для низко скоростной передачи для домашнего использования и высоко скоростной - для бизнес приложений. Бизнес потоки также могут мультиплексироваться.
На рис.2-41 показаны основные конфигурации использования ISDN дома или в небольшой организации. Поставщик сервиса устанавливает сетевое оконечное устройство пользователя - NT1. NT1 соединено с одной стороны с ISDN оборудованием пользователя, а с другой с ISDN устройством обмена в помещении поставщика сервиса. NT1 может быть удалено от ISDN устройства обмена на несколько километров и соединено с ним витой парой, оставшейся от обычного телефонного соединения. К одному NT1 может быть подключено до 8 ISDN устройств пользователя. С точки зрения пользователя, граница сети - NT1 устройство.
Для производственных нужд модель 2-41(а) не подходит, так как там может потребоваться существенно больше ISDN оконечных устройств, функционирующих одновременно, например, телефонов. Поэтому там используется схема 2-41b. В этой схеме используется устройство NT2 - PBX (Private Branch eXchange), которое мы будем называть устройством обмена второго уровня. PBX соединен с NT1 и обеспечивает связь с телефонами, терминалами в офисе и их мультиплексирование. Таким образом, PBX - это по существу ISDN коммутатор.
МКТТ определило четыре вида точек подключения для ISDN сетей: R, S, T, U. U - определяет соединение между ISDN устройством обмена и NT1. На сегодня это медная витая пара, вскоре - оптоволоконная линия. Т - определяет подключение NT1 к оборудованию в офисе пользователя. S - подключение PBX и ISDN терминалов. R - адаптер между ISDN терминалом и не ISDN оборудованием.
Подключение типа Т позволяет подключить 23 64 Kbps каналов, что хорошо укладывается в стандарт Т1 в США и Японии и 30 64Kbps для Евпропы. Однако, надо подчеркнуть, что для одного N-ISDN терминала доступна скорость не более 64 Kbps.
64Кbps в 1980-х это было смело, сейчас когда LAN - 10Mbps и переходят на 100Mbps, своего рода шутка. Описанный выше ISDN сервис, изначально столь интенсивно внедрявшийся, к сожалению быстро устарел. Дело в том, что успехи в области электроники (микропроцессоры), быстрый рост пропускной способности каналов передачи данных, развитие сферы развлечений и бизнес приложений быстро обогнали возможности ISDN. С другой стороны процесс стандартизации в области ISDN шел столь медленно, что не поспевал за потребностями. Поэтому этот вид ISDN стали называть низкоскоростным ISDN или N-ISDN. N-ISDN может сохранить свою актуальность для недорогих домашних приложений типа, недорого доступа к Internet.
2.4.6.2 Высокоскоростные ISDN сети и ATM сети
МКТТ быстро осознало отставание N-ISDN и предложило новое поколение ISDN сетей B-ISDN (Broadband ISDN) - высокоскоростной ISDN. B-ISDN фактически - это цифровые виртуальные каналы, по которым движутся пакеты фиксированной длины (ячейки) со скоростью 155 Mbps. Такой скорости вполне достаточно, чтобы удовлетворить даже такие приложения как высоко качественное телевидение и , похоже, что эта скорость будет увеличена в ближайшие годы.
Если N-ISDN был смелый шаг вперед, то B-ISDN - прыжок в неизвестное. Открываются огромные перспективы, но надо проделать огромный объем работы. Основу B-ISDN составляет АТМ, который мы бегло рассмотрели в первой части курса. АТМ - технология с коммутацией пакетов, в то время как PSTN и ISDN - сети с коммутацией каналов. Области коммутации каналов накоплен огромный опыт. Так что переход на коммутацию пакетов - это технологический, принципиальный сдвиг.
Ясно, что для B-ISDN витая пара, основа телефонной петли не годится. Она должна быть заменена , по крайней мере на витую пару 5 категории. Существующие телефонные коммутаторы не годятся и должны быть заменены коммутаторами нового поколения, работающих на иных принципах. Единственно, что похоже удастся сохранить - оптоволоконные магистрали.
Итак, весь более чем вековой опыт, накопленный людьми в области телекоммуникаций, плюс затраты на создание соответствующей инфраструктуры должны быть выброшены. А это сотни миллиардов долларов. Так что это не такой простой шаг. Однако, если он не будет сделан телефонными компаниями, его сделает кабельное телевидение.
В силу выше сказанного мы подробнее остановимся на B-ISDN и АТМ соответственно.
2.4.6.3 Виртуальные каналы и коммутация каналов
B-ISDN построен на своего рода компромиссе между коммутацией каналов и коммутацией пакетов. Сервис в этих сетях ориентирован на соединения, но эти соединения не есть с коммутированные каналы. Это - коммутированные виртуальные каналы. Есть два вида коммутируемых каналов - постоянно виртуальные каналы и коммутируемые виртуальные каналы.
В сети с коммутацией каналов установить соединение означает создать физическое соединение между источником и получателем. Это очень четко видно на каскадных коммутаторах, с коммутаторами с разделением времени это не столь очевидно. В сетях с виртуальными каналами, таких как АТМ, то, что соединение установлено означает, что маршрут между источником и получателем выбран. Это означает, что в таблицах коммутаторов заранее известно по какому маршруту направлять тот или иной пакет. На рис.2-43 показан пример коммутации виртуальных каналов между Н1 и Н5. Когда пакет поступает в коммутатор, то просматривает его заколов, чтобы определить к какому виртуальному соединению он принадлежит и направляется по надлежащей физической линии. Подробно как это происходит мы рассмотрим позднее.
Установление постоянного соединения означает, что в таблицах коммутаторов заранее прописаны соответствующие значения без относительного того есть трафик или нет.
2.4.7 Передача в ATM сетях
К уже было сказано АТМ - это асинхронный способ передачи. В стандарте Т1 данные передаются строго синхронно. Каждые 125 mсек порождается новый кадр. Эта скорость поддерживается специальными часами - мастер таймером. Каждый слот в кадре содержит один бит из вполне определенного источника. Порядок сканирования источников строго фиксирован.
В АТМ нет строго порядка поступления ячеек от различных источников. Ячейки могут поступать от разных источников и в разном порядке. Не важно даже, чтобы поток ячеек, от одного компьютера, был непрерывен. Если возникают разрывы, то они заполняются ячейками ожидания.
АТМ не ограничивает формат самой ячейки. Единственно что требуется, чтобы ячейки могли передаваться носителями (кадрами, фреймами и т.п.) в рамках таких стандартов как Т1, Т3, Е1 и т.п.
В настоящее время скорость 155,52Mbps является стандартной для АТМ, равно как и учетверенная скорость - 622,08Mbps. Однако, в ближайшем будущем ожидается достижение 44 736 Mbps.
Стандартной средой передачи является оптоволокно. Однако на расстояниях в сотни метров можно использовать коаксиал или витую пару 5 категории. Оптоволокно может покрывать расстояния на многие километры. Каждая линия соединяет либо компьютер с АТМ переключателем или два АТМ переключателя. По каждой линии передача возможна только в одном направлении. Поэтому для обеспечения полного дуплекса надо две АТМ линии. С помощью АТМ переключателей возможно дублирование одной и той же ячейки для передачи ее по нескольким линиям.
АТМ подуровень зависимости от физической среды (PMD) обеспечивает съем битов с линии и передачу их на линию. Для физически разных линий (коаксиал, оптоволокно и т.п.) требуется разное оборудование. Подуровень преобразования при передаче (TC) обеспечивает единый интерфейс с АТМ уровнем при передаче в обоих направлениях. АТМ уровень обеспечивает поток ячеек, а PMD подуровень преобразует их в поток битов во вне.
При входящем потоке, PMD передает поток битов на ТС подуровень. Задача ТС подуровня - как-то определить где кончается одна ячейка, а где начинается другая. Поскольку в поступающем потоке битов нет никаких признаков деления между ячейками, то это весьма сложная задача. Как они решается мы рассмотрим в разделе, посвященном канальному уровню, поскольку именно канальный уровень отвечает за преобразование потока битов в поток кадров или ячеек.
2.4.7.1 АТМ переключатели
Здесь мы рассмотрим основные принципы организации АТМ переключателей и их функционирования.
Рис.2-45 показана общая схема организации АТМ переключателя. Есть набор входных линий, по которым ячейки поступают в переключатель. Как правило, такое же число выходных линий, по которым ячейки двигаются после коммутации. Переключатель работает синхронно, в том смысле, что за один цикл считывается одна ячейка с одной из входных линий, передается на переключающий центр и затем на соответствующую выходную линию.
Переключатель может быть конвейерным, т.е. обработка одной ячейки может занимать более одного цикла. Ячейки поступают асинхронно, т.е. таймер переключателя отмечает момент начала поступления ячейки. Если ячейка не поступили за один цикл, то она должна ожидать начала следующего цикла.
Обычно ячейки поступают со скоростью 150 Mbps. Учитывая размер ячейки 53 байта, получаем около 360 000 ячеек/сек. Таким образом, на обработку одной ячейки приходится около 2.7 mсек. Коммерческие переключатели имеют от 16 до 1024 входных линий, т.е. переключатель должен быть в состоянии обрабатывать за 2.7 mсек от 16 до 1024 ячеек. При скорости 622Mbps переключающий центр должен обрабатывать одну ячейку примерно за 100 nсек. Это возможно благодаря тому, что ячейки фиксированной длины и небольшого размера (53 байта). При переменной длине и большем размере задача создания АТМ переключателя была бы намного сложнее.
Все АТМ переключатели должны:
Первое требование означает, что АТМ переключатель должен обеспечивать скорость переключения достаточно большой, чтобы не терять ячейки. 1 ячейка на 1012 ячеек - вполне приемлемая скорость. В больших переключателях теряется 1-2 ячейки за час работы. Второе требование сохранять порядок поступления ячеек неизменным естественно существенно усложняет конструкцию переключателя, но это требование АТМ стандарта.
Одной из ключевых проблем конструкции АТМ переключателей является - что делать когда сразу по нескольким линиям пришли ячейки, которые должны быть отправлены по одной и той же выходной линии? Напрашивается решение: взять одну ячейку, обработать ее, а другую сбросить. Но в силу требования 2 оно не годиться.
Возможно другое решение: буферизовать ячейки на входе. Идея этого решения показана на рис.2-46. Пусть в начале цикла 1 (2-46а) поступило четыре ячейки, две из которых должны быть отправлены по линии 2. Поскольку за линию 2 возник конфликт, то только три ячейки предаются на выходные линии. Поэтому к началу цикла 2 (2-46b) на выходе переключателя появятся три ячейки, но на вход поступят новые. К началу цикла 3 (2-46с) на входе останется только одна ячейка, и очередь рассосется только на четвертом цикле. Здесь надо быть очень осторожным, чтобы дисциплина обслуживания возникающих очередей была бы справедливой и равномерно обслуживала очереди на всех линиях.
Недостаток этого решения в том, что очередь на входе может блокировать даже те ячейки, которые должны быть перекоммутированы на те линии, не которых нет конфликтов. Поэтому по соответствующему виртуально соединению скорость упадет. Этот эффект называется блокировкой на входе. Кроме этого буферизация ячейки на входе требует дополнительной логики в схемах, что усложняет конструкцию.
Альтернативным решение может быть буферизация на выходе. Это решение показано на рис.2-47. Если несколько ячеек должно уйти по одной и той же линии, то они передаются на выход и буферизуются там. Это требует меньше циклов. В нашем примере только 3.
Рассмотрим конструкцию АТМ переключателя с буферизацией на выходе. Этот тип переключателей называется переключатель выталкивающего типа. Он показан на рис.2-48 для конфигурации 8х8 линий. Здесь каждая входная линия соединена с шиной, к которой подключены все выходные линии. Каждая входная шина имеет свой механизм управления, не зависящий от других , что существенно упрощает конструкцию.
У каждой поступающей ячейки аппаратно анализируется заголовок, чтобы определить какому виртуальному соединению она принадлежит. Затем, с помощью таблицы коммутации, определяется выходная линия, через которую эта ячейка должна покинуть переключатель. Пересечение с соответствующей выходной линией активизируется. Поэтому когда пакет доходит до этого пересечения он поступает в буфер. Быстродействия переключателя достаточно, чтобы за буферизовать на одном выходе все ячейки, если это потребуется, или размножить ячейки, если их надо разослать по нескольким виртуальным соединениям.
Естественно было бы буферизовать все конфликтующие ячейки в выходном буфере. Однако, для переключателей, например, на 1024 линии, нам потребовалось 1024х1024х53 байтов буферов. Too much! Выходом из этой ситуации - выделение лишь n байтов на буфер. Если конфликтующих ячеек больше, то не попавшие в буфер сбрасываются. Здесь опять-таки надо быть осторожным, определяя на каких входных линиях сбрасывать ячейки, из каких выходных буферов выталкивать ячейки на очередном цикле так, чтобы не было дискриминации. Регулируя параметром n, можно варьировать стоимость и число сбрасываемых ячеек, что влияет на цену переключателя.
Переключатели Батчера-Баньяна.
Основным недостатком переключателей выталкивающего типа является то, что переключающий цент - простой коммутатор, а это означает, что его сложность растет квадратично от числа коммутируемых линий. Из рассмотрения принципов построения коммутаторов для коммутации каналов мы уже знаем, что одно из решений - каскадные коммутаторы. Аналогичное решение возможно и для коммутации пакетов.
Это решение называется переключатели Батчера-Баньяна. Как и переключатели выталкивающего типа переключатель Батчера-Баньяна синхронный, т.е. за один цикл может обрабатывает несколько входных линий. На рис.2-49а показан трех ступенчатый переключатель 8х8 Баньяна. Он так называется, поскольку похож на корни баньянового дерева. В баньяновых переключателях для каждого входа существует ровно один путь к любому из выходов. Маршрутизация пакета происходит в каждом узле на основе адреса выходной линии, которой должен достичь пакет. Адрес выходной линии известен из таблицы коммутации на входе. В данном случае трех битовый номер впереди ячейки используется в каждом узле для маршрутизации.
В каждом из 12 переключающих элементов есть два входа и два выхода. В зависимости от значения старшего разряда ячейка направляется либо в порт 0 либо в порт 1. Если обе ячейки, поступившие на вход одного и того же коммутирующего элемента, должны быть направлены на один и тот же порт, то направляется одна, а вторая сбрасывается.
Итак, адрес выходной линии анализируется в каждом элементе слева направо. Например, код 001 означает, что соответствующая ячейка бут направлена на верхний, верхний, а затем нижний порты. Коллизии в баньяновской сети возникают, когда в одном и том же элементе в одно и тоже время надо использовать один и тот же порт. На рис.2-50а показаны коллизии. На рис.2-50b те же 8 ячеек коммутируются без коллизий. Вывод: в зависимости от распределения ячеек на входе баньяновская сеть либо будет терять ячейки либо нет.
Идея Батчера состояла в том, чтобы переставить ячейки на входах так, чтобы в баньяновской сети конфликтов не возникало. Рис.2-50b.
Для сортировки входов Батчер предложил специальный коммутатор. Подобно баньяновскому переключателю переключатель Батчера строится из элементов 2х2, работает синхронно и дискретно. В каждом элементе выходные адреса ячеек сравниваются. Больший направляется по стрелке, а меньший в противоположном направлении. Если ячейка одна, то против стрелки. Подчеркнем, что сравниваются не отдельные биты, а число.
На рис.2-51 показан переключатель Батчера 8х8. Сложность операции перестановки для Батчера - nlog2n . Ячейки, отсортированные Батчеровской сетью, подаются на вход сети баньяна, где они пересылаются без конфликтов. На рис.2-52 показана комбинация Батчеровской и баньяновской сетей.
Переключатели Батчера-Баньяна имею два основных недостатка:
Было предложено несколько промышленных переключателей этого типа, которые по разному преодолевают эти недостатки.