Технология коммутации оставляет метод доступа к среде в неизменном виде. Это позволяет подключать к портам не только отдельные компьютеры, как это было показано на рисунке 2.12, но и сегменты локальных сетей (рисунок 2.14).
Рис. 2.14. Коммутатор сохраняет в сегментах локальных сетей
метод доступа к разделяемой среде
Узлы сегмента разделяют общую среду передачи данных, используя либо пассивный коаксиальный кабель, либо концентраторы, как показано в примере, приведенном на рисунке. Если это коммутатор Ethernet, то каждый его порт участвует в процессе обнаружения и отработки коллизий, и без этой функции коммутатор нельзя было бы подключать к сегменту, так как он бы полностью нарушил нормальную работу остальных узлов сегмента. Если это коммутатор колец FDDI, то его порты должны участвовать в процессе захвата и освобождения токена доступа к кольцу в соответствии с алгоритмами МАС-уровня стандарта FDDI.
Однако, когда к каждому порту коммутатора подключен только один компьютер, ситуация становится не такой однозначной.
В обычном режиме работы коммутатор по-прежнему распознает коллизии. Если сеть представляет собой Ethernet на витой паре, то доменом коллизий в этом случае будет участок сети, включающий передатчик коммутатора, приемник коммутатора, передатчик сетевого адаптера компьютера, приемник сетевого адаптера компьютера и две витые пары, соединяющие передатчики с приемниками (рисунок 2.15).
Коллизия возникает, когда передатчики порта коммутатора и сетевого адаптера одновременно или почти одновременно начинают передачу своих кадров, считая, что изображенный на рисунке сегмент свободен. В результате строгого соблюдения правил разделения среды по протоколу Ethernet порт коммутатора и сетевой адаптер используют соединяющий их кабель в полудуплексном режиме, то есть по очереди - сначала кадр или кадры передаются в одном направлении, а затем в другом. При этом максимальная производительность сегмента Ethernet в 14880 кадров в секунду при минимальной длине кадра делится между передатчиком порта коммутатора и передатчиком сетевого адаптера. Если считать, что она делится пополам, то каждому предоставляется возможность передавать примерно по 7440 кадров в секунду.
Рис. 2.15. Домен коллизий, образуемый компьютером и портом коммутатора
В то же время, передатчик и приемник как сетевого адаптера, так и порта коммутатора способны принимать и передавать кадры с максимальной скоростью 14880 кадров в секунду. Такая скорость достигается в том случае, когда в течение длительного времени передача идет в одном направлении, например, от компьютера к коммутатору.
Способность оборудования стандарта 10Base-T, то есть Ethernet'a на витой паре, работать с максимальной скоростью в каждом направлении использовали разработчики коммутаторов в своих нестандартных реализациях технологий, получивших название полнодуплексных версий Ethernet, Token Ring, FDDI и т.д.
Полнодуплексный режим работы возможен только при существовании независимых каналов обмена данными для каждого направления и при соединении "точка-точка" двух взаимодействующих устройств. Естественно, необходимо, чтобы МАС-узлы взаимодействующих устройств поддерживали этот специальный режим. В случае, когда только один узел будет поддерживать полнодуплексный режим, второй узел будет постоянно фиксировать коллизии и приостанавливать свою работу, в то время как другой узел будет продолжать передавать данные, которые никто в этот момент не принимает.
Так как переход на полнодуплексный режим работы требует изменения логики работы МАС-узлов и драйверов сетевых адаптеров, то он сначала был опробован при соединении двух коммутаторов. Уже первые модели коммутатора EtherSwitch компании Kalpana поддерживали полнодуплексный режим при взаимном соединении, поддерживая скорость взаимного обмена 20 Мб/с.
Позже появились версии полнодуплексного соединения FDDI-коммутаторов, которые при одновременном использовании двух колец FDDI обеспечивали скорость обмена в 200 Мб/с.
Сейчас для каждой технологии можно найти модели коммутаторов, которые поддерживают полнодуплексный обмен при соединении коммутатор-коммутатор. Существуют коммутаторы, которые позволяют объединить два коммутатора полнодуплексным каналом более чем по одной паре портов. Например, коммутаторы LattisSwitch 28115 компании Bay Networks имеют по два порта, с помощью которых можно соединять коммутаторы, образуя полнодуплексный канал с производительностью 400 Мб/c (рисунок 2.16).
Рис. 2.16. Транковое полнодуплексное соединение коммутаторов
LattisSwitch 28115 компании Bay Networks
Такие соединения называются транковыми и являются частной разработкой каждой компании, выпускающей коммуникационное оборудование, так как нарушают не только логику доступа к разделяемым средам, но и топологию соединения мостов, запрещающую петлевидные контуры (а такой контур всегда образуется при соединении коммутаторов более чем одной парой портов). При соединении коммутаторов разных производителей транк работать не будет, так как каждый производитель добавляет к логике изучения адресов сети коммутатором по транковой связи что-то свое, чтобы добиться от него правильной работы.
После опробования полнодуплексной технологии на соединениях коммутатор-коммутатор разработчики реализовали ее и в сетевых адаптерах, в основном адаптерах Ethernet и Fast Ethernet. Многие сетевые адаптеры сейчас могут поддерживать оба режима работы, отрабатывая логику алгоритма доступа CSMA/CD при подключении к порту концентратора и работая в полнодуплексном режиме при подключении к порту коммутатора.
Однако, необходимо осознавать, что отказ от поддержки алгоритма доступа к разделяемой среде без какой-либо модификации протокола ведет к повышению вероятности потерь кадров коммутаторами, а, следовательно, к возможному снижению полезной пропускной способности сети (по отношению к переданным данным приложений) вместо ее повышения.
В разделе 2.2 уже говорилось о том, что использование мостов несет в себе потенциальную угрозу потерь кадров при превышении интенсивности входного потока производительности моста. Коммутаторы встречаются с аналогичной проблемой, даже если их внутренняя производительность выше, чем требуется для обслуживания входных потоков, поступающих на каждый порт с максимально возможной скоростью, то есть выше, чем N(C, где N - число портов коммутатора, а С - максимальная скорость передачи пакетов по протоколу, поддерживаемому коммутатором (например, 148809 кадров в секунду, если коммутатор поддерживает протокол Fast Ethernet на всех своих портах).
Причина здесь в ограниченной пропускной способности отдельного порта, которая определяется не производительностью процессора, который обслуживает порт, а временными параметрами протокола. Например, порт Ethernet не может передавать больше 14880 кадров в секунду, если он не нарушает временных соотношений, установленных стандартом.
Поэтому, если входной трафик неравномерно распределяется между выходными портами, то легко представить ситуацию, когда в какой-либо выходной порт коммутатора будет направляться трафик с суммарной средней интенсивностью большей, чем протокольный максимум. На рисунке 2.17 изображена как раз такая ситуация, когда в порт 3 коммутатора направляется трафик от портов 1, 2, 4 и 6, с суммарной интенсивностью в 22 100 кадров в секунду. Порт 3 оказывается загружен на 150%. Естественно, что когда кадры поступают в буфер порта со скоростью 20 100 кадров в секунду, а уходят со скоростью 14 880 кадров в секунду, то внутренний буфер выходного порта начинает неуклонно заполняться необработанными кадрами.
Рис. 2.17. Переполнение буфера порта из-за несбалансированности трафика
Какой бы ни был объем буфера порта, он в какой-то момент времени обязательно переполнится. Нетрудно подсчитать, что при размере буфера в 100 Кбайт в приведенном примере полное заполнение буфера произойдет через 0.22 секунды после начала его работы (буфер такого размера может хранить до 1600 кадров размером в 64 байта). Увеличение буфера до 1 Мбайта даст увеличение времени заполнения буфера до 2.2 секунд, что также неприемлемо.
В территориальных сетях технология коммутации кадров и пакетов применяется уже очень давно. Сети Х.25 используют ее уже более 20 лет. Технологию коммутации используют и новые территориальные сети, в частности сети frame relay и АТМ. В этих сетях конечные узлы подключаются к коммутаторам полнодуплексными каналами связи, такие же каналы используются и для соединения коммутаторов между собой. Протоколы территориальных сетей сразу разрабатывались для организации полнодуплексной связи между узлами сети, поэтому в них были заложены процедуры управления потоком данных. Эти процедуры использовались коммутаторами для снижении интенсивности поступления кадров на входные порты в случае заполнения внутренних буферов коммутатора свыше опасного предела. В таких ситуациях коммутатор направлял соседнему узлу специальный служебный кадр "Приемник не готов", при получении которого соседний узел обязан был приостановить передачу кадров по данному порту. При перегрузках сети в конце концов служебные кадры доходили и до конечных узлов - компьютеров - которые прекращали на время заполнять сеть кадрами, пока имеющиеся в буферах кадры не передавались узлам назначения. Вероятность потери кадров при наличии встроенных в протокол процедур управления потоком становится очень небольшой.
При разработке коммутаторов локальных сетей ситуация коренным образом отличалась от ситуации, при которой создавались коммутаторы территориальных сетей. Основной задачей было сохранение конечных узлов в неизменном виде, что исключало корректировку протоколов локальных сетей. А в этих протоколах процедур управления потоком не было - использование общей среды передачи данных в режиме разделения времени исключало возникновение ситуаций, когда сеть переполнялась бы необработанными кадрами. Сеть не накапливала данных в каких-либо промежуточных буферах при использовании только повторителей или концентраторов.
Поэтому применение коммутаторов без изменения протокола работы оборудования всегда порождает опасность потерь кадров. Если порты коммутатора работают в обычном, то есть в полудуплексном режиме, то у коммутатора имеется возможность оказать некоторое воздействие на конечный узел и заставить его приостановить передачу кадров, пока у коммутатора не разгрузятся внутренние буфера. Нестандартные методы управления потоком в коммутаторах при сохранении протокола доступа в неизменном виде будут рассмотрены ниже.
Если же коммутатор работает в полнодуплексном режиме, то протокол работы конечных узлов, да и его портов все равно меняется. Поэтому имело смысл для поддержки полнодуплексного режима работы коммутаторов разработать новые протоколы взаимодействия узлов, которые бы использовали явные и стандартные механизмы управления потоком при сохранении неизменным только формата кадров. Сохранение формата кадров необходимо для того, чтобы к одному и тому же коммутатору можно было бы подключать новые узлы, имеющие сетевые адаптеры полнодуплексного режима, и старые узлы или сегменты узлов, поддерживающие алгоритм доступа к разделяемой среде.
Работа над выработкой стандарта для полнодуплексных версий Ethernet, Fast Ethernet и других технологий локальных сетей идет уже несколько лет, однако на момент написания этого пособия такие стандарты пока не приняты из-за разногласий членов соответствующих комитетов по стандартизации, отстаивающих подходы фирм, в которых они работают.
Тем не менее, каждая из крупных компаний, выпускающих коммуникационное оборудование, имеет свою версию полнодуплексных технологий и поддерживает их в своих продуктах - сетевых адаптерах и коммутаторах. Эти версии используют встроенные процедуры управления потоком. Обычно это несложные процедуры, использующие две команды - "Приостановить передачу" и "Возобновить передачу" - для управления потоком кадров соседнего узла сети.
ATM-коммутация
Кроме коммутаторов, поддерживающих стандартные протоколы локальных сетей и передающих кадры с порта на порт по алгоритмам моста, в локальных сетях стали применяться коммутаторы другого вида, а именно коммутаторы технологии АТМ. В связи с этим коротко рассмотрим основные принципы работы таких коммутаторов и способы их взаимодействия с коммутаторами технологий локальных сетей.
Технология АТМ (Asynchronous Transfer Mode - режим асинхронной передачи) разрабатывалась изначально для совмещения синхронного голосового трафика и асинхронного компьютерного трафика в рамках одной территориальной сети. Затем сфера применения технологии АТМ была расширена и на локальные сети. В данном курсе мы не будем рассматривать все аспекты технологии АТМ, а ограничимся изучением способов коммутации данных в сетях АТМ, которые используются в коммутаторах АТМ, применяемых в локальных сетях. Такие АТМ-коммутаторы чаще всего не используют все возможности технологии, в частности поддержку синхронного трафика, в основном из-за отсутствия приложений, которые могли бы воспользоваться таким сервисом.
Сеть АТМ изначально разрабатывалась для поддержки полнодуплексного высокоскоростного режима обмена как между узлами сети, так и между ее коммутаторами (рисунок 3.1).
Рис. 3.1. Структура сети АТМ
АТМ-станции и АТМ-коммутаторы обмениваются между собой кадрами фиксированного размера в 53 байта. Эти кадры принято называть ячейками. Поле данных ячейки занимает 48 байт, а заголовок - 5 байт. Адреса конечных узлов локальных сетях АТМ составляют 20 байт.
Для того, чтобы пакеты содержали адрес узла назначения, и в то же время процент служебной информации не был большим по сравнению с размером поля данных пакета, в технологии ATM применен стандартный для глобальных вычислительных сетей прием - передача ячеек по виртуальным каналам. Техника коммутации данных в соответствии с номерами их виртуальных каналов давно использовалась в сетях Х.25, а затем нашла применение и в новых технологиях территориальных сетей - frame relay и АТМ.
Принцип коммутации пакетов на основе виртуальных каналов поясняется рисунком 3.2. Конечные узлы не могут просто начать обмениваться данными, как это принято в большинстве протоколов канального уровня локальных сетей. Они должны перед обменом установить между собой логическое соединение. При установлении соединения между конечными узлами используется специальный тип пакета - запрос на установление соединения - который содержит многоразрядный адрес узла-адресата, а также номер виртуального соединения, присвоенного данному соединению в узле-отправителе, например, 15. Ячейки АТМ имеют 3-х байтное поле номера виртуального соединения, что позволяет коммутаторам и конечным узлам поддерживать одновременно очень большое количество виртуальных соединений.
Рис. 3.2. Коммутация в сетях с виртуальными соединениями
Адрес назначения используется для маршрутизации запроса на установление соединения на основании таблиц маршрутизации, аналогичных тем, которые используются маршрутизаторами IP или IPX. В этих таблицах для каждого адреса назначения (или для группы адресов, имеющих общую старшую часть, соответствующую адресу сети) указывается номер порта, на который нужно передать приходящий пакет. Таблица маршрутизации по назначению аналогична адресной таблице коммутатора, но образуется она не путем изучения адресов проходящего трафика, а либо вручную администратором, либо с помощью обмена между коммутаторами АТМ специальных служебных данных о топологии связей сети. Протокол обмена топологической информацией для сетей АТМ имеет название PNNI - Private Network to Network Interface. Он разработан и принят в качестве стандарта, хотя не все АТМ-коммутаторы пока его поддерживают.
В приведенном примере в соответствии с таблицей маршрутизации оказалось необходимым передать пакет запроса на установление соединения с порта 1 на порт 0. Одновременно с передачей пакета маршрутизатор изменяет у пакета номер виртуального соединения - он присваивает пакету первый не использованный номер виртуального канала для данного порта данного коммутатора. Каждый конечный узел и каждый коммутатор ведет свой список использованных и свободных номеров виртуальных соединений для своих портов.
Кроме таблицы маршрутизации для каждого порта составляется таблица коммутации. В таблице коммутации входного порта маршрутизатор отмечает, что в дальнейшем пакеты, прибывшие на этот порт с номером 15, должны передаваться на порт 0, причем номер виртуального канала должен быть изменен на 10. Одновременно делается и соответствующая запись в таблице коммутации порта 0 - пакеты, пришедшие по виртуальному каналу 10 в обратном направлении нужно передавать на порт с номером 1, меняя номер виртуального канала на 15.
В результате действия такой схемы пакеты данных уже не несут длинные адреса конечных узлов, а имеют в служебном поле только номер виртуального канала, на основании которого и производится маршрутизация всех пакетов, кроме пакета запроса на установление соединения. В сети прокладывается виртуальный канал, который не изменяется в течение всего времени существования соединения. Пакеты в виртуальном канале циркулируют в двух направлениях, то есть в полнодуплексном режиме, причем, конечные узлы не замечают изменений номеров виртуальных каналов при прохождении пакетов через сеть.
После образования таблицы коммутации, ячейки АТМ обрабатываются коммутаторами АТМ примерно так же, как и коммутаторами технологий локальных сетей. Исключение составляет только режим фильтрации - он отсутствует, так как в АТМ нет разделяемых сред и переданную коммутатору ячейку всегда нужно передать на какой-либо порт.
Виртуальные каналы бывают коммутируемыми (Switched Virtual Channel) и постоянными (Permanent Virtual Channel). Коммутируемые виртуальные каналы устанавливаются узлами динамически, в процессе работы, а постоянные виртуальные каналы образуются администратором на продолжительный срок. Для постоянных виртуальных каналов не нужно выполнять процедуру установления соединения, так как коммутаторы уже настроены на их обработку - соответствующие таблицы коммутации уже сформированы администратором.
Коммутаторы АТМ, работающие с компьютерным трафиком, предоставляют конечным узлам два вида сервиса. Сервис с неопределенной пропускной способностью (Unspecified Bit Rate) подобен сервису коммутаторов локальных сетей - он не гарантирует конечному узлу какой-то определенной доли пропускной способности сети и не гарантирует, что все ячейки конечного узла будут доставлены по назначению. Это самый простой вид сервиса и он не использует какие-либо процедуры управления потоком, а при переполнении буферов коммутатора приходящие ячейки отбрасываются точно так же, как это делают коммутаторы локальных сетей.
Сервис ABR (Available Bit Rate) в отличие от сервиса UBR использует технику управления потоком для предотвращения перегрузок сети и дает некоторые гарантии доставки ячеек узлу назначения.
Для этого при установлении соединения ABR между конечным узлом и коммутаторами сети заключается соглашение о двух скоростях передачи данных - пиковой скорости и минимальной скорости. Заключение соглашения о параметрах трафика - прием, в локальных сетях обычно не применяющийся. Пользователь соединения ABR соглашается не передавать данные со скоростью, выше пиковой, то есть PCR, а сеть соглашается всегда обеспечивать минимальную скорость передачи ячеек - MCR.
Если приложение при установлении ABR-соединения не определяет максимальную и минимальную скорости, то по умолчанию считается, что максимальная скорость совпадает со скоростью линии доступа станции к сети, а минимальная скорость считается равной нулю.
Пользователь соединения ABR получает гарантированное качество сервиса в отношении потери ячеек и пропускной способности, а сеть при использовании трафика ABR не переполняется.
Для преобразования кадров, циркулирующих в локальных сетях, в 53-байтные ячейки, в технологии АТМ определены функции сегментации и сборки (Segmentation And Reassembling). Когда кадр поступает в коммутатор АТМ, то он с помощью функции сегментации разделить его на последовательность ячеек. После передачи ячеек по сети коммутаторов АТМ они вновь собираются в последнем коммутаторе с помощью функции реассемблирования в исходный кадр.
Технология АТМ работает с несколькими скоростями доступа конечных узлов к сети. Чаще всего используется скорость 155 Мб/c, более редкой является скорость доступа в 622 Мб/с. Существует и низкоскоростной доступ по линии в 25 Мб/с. Иерархия скоростей доступа - это также одна из особенностей технологии АТМ, делающей ее очень удобной для применения в сложных сетях. При насыщении какой-либо части сети слишком интенсивным трафиком конечных узлов не нужно переходить на принципиально новую технологию, достаточно просто установить новый, более скоростной интерфейсный модуль коммутатора.
Очевидно, что различные принципы коммутации кадров в коммутаторах локальных сетей и в коммутаторах АТМ требуют использования каких-то устройств, согласующих работу этих коммутаторов. Одной функции преобразования кадров и ячеек с помощью функций SAR явно недостаточно, так как нужно на основании МАС-адресов конечных узлов сети устанавливать виртуальные пути ячеек через АТМ-коммутаторы.
Существуют частные решения отдельных производителей, позволяющие в рамках одного коммутатора совмещать обе технологии. Обычно, для подключения конечных пользователей используются порты традиционных технологий локальных сетей, например, Ethernet, а коммутаторы используют для обмена между собой технологию АТМ, более масштабируемую.
Имеется и стандартный вариант решения этой задачи. Он носит название LAN Emulation - эмуляции локальных сетей и рассматривается далее.
Дата: 2019-05-29, просмотров: 268.