Портал вычислительной техники
 

Мы - лучшие!

 

 


 

Сетевые технологии для пользователей


 

Эталонная модель OSI

Способы реализации физического уровня

 

Сегодня, в период стремительного взлета информационных технологий, одной из основных движущих сил прогресса является стремление к объединению, интеграции отдельных единиц оборудования и целых компьютерных систем. Корпоративные сети охватывают континенты, Всемирная паутина оплела весь земной шар. Главным орудием такой интеграции, бесспорно, являются сетевые технологии. Развитие сетевых технологий шло постепенно, по мере формирования микроэлектронной базы и решения других сопутствующих проблем. Некоторые из направлений уже успели умереть или близки к этому, другие — приспособились, трансформировались, третьи — бурно и успешно развиваются. Данный цикл статей предназначен для тех, кто хочет понять, КАК все это работает. Речь не о том, плохо или хорошо, быстро или медленно, а в том, что происходит внутри всех этих ящиков, коробок и коробочек. По аналогии с водителем, который умеет не только завести двигатель, но и предпринять меры для надежной работы (сменить масло, подрегулировать зазоры и т.д.), а также диагностировать простейшие неисправности (пересосал, провода подмокли). Можно, конечно, просто позвонить по сотовому на сервис, но одним не позволяет гордость, а другим — финансы.

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

Эталонная модель OSI

В основе сетевых технологий лежит эталонная модель OSI (Open System Interconnection, взаимодействие открытых систем). Она подразделяет работающее оборудование и процессы, происходящие при объединении компьютерных сетей, согласно логике их работы. Каждый из уровней выполняет свою специфическую функцию, тем самым облегчая проектирование и понимание всей системы в целом. При сетевом обмене каждый из уровней на одном компьютере сообщается со своим «коллегой» на другом компьютере. Делается это не напрямую, а путем запроса на обслуживание у нижележащего. Уровни могут иметь одинаковую реализацию (пример — сеть на основе Windows) или разную (UNIX-хост и ПК с модемом и Web-браузером). Самое главное — они идентично работают, демонстрируя полное взаимопонимание. Самому нижнему уровню свалить работу не на кого, поэтому физическая реализация должна совпадать (по крайней мере, на уровне одного сегмента сети). В целом все напоминает сообщение по почте, когда отправитель и адресат обмениваются информацией, не вступая в непосредственный контакт друг с другом, а запрашивая услуги почты, которая, в свою очередь, запрашивает услуги у транспортных компаний.

Как принимающий запрос (оказывающий услугу) уровень понимает, что от него требуется? Для этого предназначена дополнительная информация, называемая заголовком и помещаемая перед полезной информацией, которую следует передать. В некоторых случаях, но не всегда, добавляется еще и концевик. Служебные пакеты, например запрос о ближайшем сервере, могут состоять из одного заголовка (и, возможно, концевика). Например, уровень 4 добавляет к сообщению, полученному сверху, свой заголовок и передает все это вниз. Уровень 3 добавляет свой заголовок, и теперь данными уже является и то, что получил номер 4, и заголовок, который он добавил. Таким образом, короткое сообщение, пройдя все уровни сверху донизу, может вырасти во много раз (причем чем меньше сообщение, тем больше относительный рост). Компьютер-адресат разбирает сообщение, снимая заголовки и концевики, при этом каждый из уровней снимает свой заголовок и согласно содержащейся в нем информации передает данные выше. 

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

Важно понимать, что эталонная модель не является чем-то реальным, обеспечивающим связь. Сама по себе она не заставляет коммуникации работать, но служит лишь для протоколов. Протоколом мы будем считать набор спецификаций, согласно которым происходит воплощение в жизнь одного или нескольких уровней OSI. Спецификации протоколов разрабатываются стандартизирующими организациями либо производителями оборудования. Многие разработанные производителями протоколы оказываются настолько успешными, что применяются не только разработчиками, но и другими фирмами, становясь стандартом де-факто. Впоследствии они часто утверждаются в качестве стандарта де-юре.

 

Уровень 1 — физический, который, как следует из названия, определяет механические и электрические параметры среды передачи, интерфейсных плат, соединителей, а также способы помещения информации в среду передачи и извлечения ее оттуда. Спецификации физического уровня определяют тип разъема и назначение ножек, уровни сигналов, скорость передачи и т.д. Примеры спецификаций физического уровня — RS-232, RS-449.

Уровень 2 — канальный, формирующий последовательности пакетов или фреймов из битов, получаемых от физического уровня. Грубой аналогией может служить телеграфный аппарат, преобразующий последовательность точек и тире в буквы национального алфавита. Здесь также осуществляется управление доступом к передающей среде, разделяемой всеми сетевыми устройствами, обнаруживается и корректируется часть ошибок. Как и большинство других уровней, канальный добавляет заголовок к передаваемой информации. В заголовке обычно содержится адрес (физический) приемника, адрес источника и, возможно, другая информация.

Уровень 3 — сетевой, заведует движением информации по сетям, состоящим из нескольких или многих сегментов. Для успешного решения этой задачи в протокол данного уровня вносится информация о логическом адресе источника и адресата пакета. При прохождении пакетов через узлы, соединяющие различные сети, эта информация анализируется и пакет пересылается к следующему узлу, принадлежащему уже к другому сегменту. Информация о том, куда пересылать пакет, может содержаться в таблицах устройства, выполняющего роль маршрутизатора, или вычисляться в реальном времени (что делается значительно реже). Таким образом, переходя от узла к узлу, пакеты путешествуют по сети. В функции сетевого уровня входят также идентификация и удаление «заблудившихся» пакетов, то есть таких, которые прошли через некоторое число узлов, но так и не попали к адресату.

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

Уровень 5 — сеансовый, отвечает за вызовы удаленных процедур (Remote Procedure Calls, RPC). Это специальный интерфейс, поддерживаемый соответствующими протоколами, когда вызов программной процедуры производится на одном компьютере, а выполнение — на другом, затем результат возвращается вызвавшей программе так, словно процедура была выполнена локально. Такой интерфейс практически прозрачен для локального ПО. Сеансовый уровень также контролирует установление, течение и завершение сеанса связи между взаимодействующими программами, о чем и говорит его название.

Уровень 6 — представительский, занимается преобразованиями формата, упаковкой, распаковкой, шифрованием и дешифрованием. Здесь осуществляется преобразование лишь формата, а не логической структуры данных. То есть уровень 6 представляет данные в том виде и формате, какой необходим для последнего из вышележащих уровней.

Последний уровень модели OSI называется прикладным. Он отвечает за интерфейс с пользователем и взаимодействие прикладных программ, выполняемых на взаимодействующих компьютерах. Предоставляемые услуги — электронная почта, идентификация пользователей, передача файлов и т.п.

Описанная очень кратко и упрощенно, эталонная модель, тем не менее, весьма полезна для лучшего понимания при дальнейшем изучении предмета.

Способы реализации физического уровня

Физический уровень состоит из кабелей и соединительных разъемов. Наиболее дешевым и, пожалуй, самым распространенным сегодня кабелем является неэкранированная витая пара (Unshielded Twisted Pair, UTP). Такой кабель состоит из четырех пар одножильных изолированных проводов, заключенных в оболочку из гибкого пластика. Провода каждой пары свиты между собой для повышения помехоустойчивости. С целью снижения взаимных наводок шаг скрутки у всех пар разный. Провода пар различаются цветом изоляции (оранжевый, зеленый, коричневый, голубой), причем один из них окрашен целиком, а другой — белого цвета, с нанесенной полоской цвета пары. Достаточно часто наносятся поперечные колечки, но при работе с кабелем они менее удобны (колечко пришлось обкусить, а следующее спрятано под оболочкой) и, кроме того, легко стираются. Цвета, шаг скрутки и диаметр проводов жестко нормированы. Для соединения применяются разъем RJ-45, похожий на телефонный, но с восемью контактами. Кабель разделывается соответствующим образом и вставляется в разъем, который обжимается специальными щипцами. Надежный контакт достигается за счет того, что позолоченные контактные пластины врезаются в медные жилы проводов. Механическая прочность обеспечивается тем, что оболочка кабеля также обжимается. В большинстве случаев, а именно в сетях, реализованных по стандартам 10Base-T, 100Base-TX и 1000Base-T, используются только две пары из четырех — одна пара для приема и одна для передачи. Тем не менее для обеспечения совместимости рекомендуется разводить все четыре пары, то есть полностью выполнять все требования Категории 5. Поскольку тип разъема во всех сетях, использующих кабель с витой парой, одинаков, при замене оборудования не понадобится проводить наиболее трудоемкую операцию — замену кабельной системы.

Кроме того, встречается и другой тип кабеля — так называемый тонкий коаксиальный кабель (Thin Coaxial Cable). Почему его называют тонким? Да просто потому, что тот кабель, с которого начиналась история Ethernet, был гораздо толще, весьма неудобен при прокладке, стоил дороже, требовал специальных адаптеров для присоединения к плате, но позволял иметь большую длину сегмента. В настоящее время подобный кабель (толстый, Thick Ethernet) не используется. Так что в дальнейшем речь будет идти только о тонком кабеле, соответствующем спецификации RG58 A/U (это именно спецификация, определяющая волновое сопротивление, затухание и другие параметры, а не тип кабеля). Волновое сопротивление кабеля (параметр, показывающий отношение между амплитудами падающих волн напряжения и тока, определяется конструктивными характеристиками) составляет 50 Ом, что исключает его использование для присоединения домашнего телевизора к антенне. Вполне допустимо применение кабеля РК50 российского производства. Для соединения отрезков кабеля между собой используются BNC-разъемы, центральный контакт которых позолочен. Использование разъемов типа СР75 российского производства не рекомендуется, так как у них центральный контакт покрыт слоем серебра, которое имеет свойство со временем покрываться прочной черной пленкой сульфида серебра. Для присоединения к сетевым платам и другим устройствам используются T-коннекторы. Во избежание возникновения стоячих волн к обоим концам каждого из сегментов присоединяется терминатор, представляющий собой BNC-разъем, не имеющий отверстия для подключения кабеля и с помещенным внутри резистором сопротивлением 50 Ом. Для соединения отдельных отрезков кабеля между собой с целью удлинения без соединения с сетевым оборудованием используются специальные соединители, напоминающие T-коннекторы, но без гнезда для подключения к сетевой плате.

Следующим важным и активно развивающимся типом среды передачи является оптоволокно. При этой технологии передача информации происходит посредством световых импульсов. Для обеспечения приемлемой дальности при разумной мощности сигнала свет излучается внутрь световода, который направляет его к точке доставки. Световод изготовляется из оптически прозрачного материала (пластик, стекло, кварц) и представляет собой тонкое волокно, у которого коэффициент преломления изменяется по диаметру таким образом, чтобы отклонившийся к краю луч возвращался обратно к центру. Достоинства: большая дальность (до 40 км), устойчивость к электромагнитным помехам. Недостатки: высокая стоимость и сложность монтажа, особенно соединения кабеля. Для достижения приемлемых потерь размеры оптических разъемов выдерживаются с прецизионной точностью, а для сращивания кабеля используется специальная, также прецизионная аппаратура. В настоящее время оптоволоконная технология для локальных сетей все еще остается экзотикой, применяемой для связи высокопроизводительных серверов, тем более что наличие стандарта 1000Base-T позволяет получить приемлемые характеристики при меньших затратах. Широкое применение оптоволоконные технологии нашли в коммуникационной сфере, но это уже другая тема.

Другие типы кабеля в России применяются редко, так как в основном используются в сетях IBM Token Ring и FDDI, не получивших в России широкого распространения.

 

Часть 2

Сергей Самохин
КомпьютерПресс 3'2002

 

 

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

Кольцевая топология характеризуется тем, что каждое из сетевых устройств связано с двумя соседними. Начало и конец цепочки соединены, так что в целом образуется структура в виде кольца (по крайней мере — с логической точки зрения, на местности же сетевые устройства не должны водить идеально ровный «хоровод»). Такая схема соединения кажется на первый взгляд несколько странной, но она позволяет легко решить все проблемы, связанные с доступом к среде передачи. В самом деле, каждое из устройств связано лишь с двумя соседями по индивидуальным линиям связи, поэтому ни о каком арбитраже при доступе к среде передачи речь идти не может. В Token Ring (разработка IBM) — наиболее распространенном стандарте, использующем кольцевую архитектуру, компьютеры присоединяются к кольцу не непосредственно, а при помощи специальных устройств, называемых MAU (Multiple Access

Unit — устройство множественного доступа).

Шинная топология

Топология «звезда» характеризуется тем, что все сетевые устройства связаны с центральным узлом, который может быть активным или пассивным. Пассивный центральный узел просто соединяет между собой все лучи звезды, как это имеет место в сетях Ethernet на витой паре.
Результатом является полная идентичность топологии «звезда» с пассивным центральным узлом и шинной топологии (в действительности же, просто-напросто каждый соединен с каждым). Таким образом, несмотря на то что компьютеры в сетях Ethernet подключены к концентратору или коммутатору, эта топология фактически является шинной, а не «звездой», что и приводит к необходимости использования соответствующих способов арбитража среды передачи.

Кольцевая топология

К физическому уровню относятся также такие устройства, как повторители (Repeater), концентраторы (Hub), коммутаторы и конверторы. Повторители применяются в основном в сетях на коаксиальном кабеле и служат для компенсации потерь, которые испытывает сигнал при прохождении по кабелю. За счет гистерезисной характеристики входных цепей сигнал также очищается от помех, чего не произошло бы при простом линейном усилении, когда помехи усиливаются вместе с сигналом. Концентратор является, по сути дела, набором повторителей: одна сторона присоединена к рабочим станциям, серверам и другому оборудованию, а другая — объединена в общую шину. Для объединения концентраторов с целью увеличения количества абонентов сети без установки на сервер дополнительных сетевых карт служат специальные входы объединения (Uplink). Многие концентраторы имеют переключатель, при помощи которого вход объединения превращается в обычный. Конверторы служат для соединения сетей Ethernet с различным типом кабеля, но с одинаковой скоростью передачи, например для подключения сегмента 10Base 2 к концентратору 10Base-T. При установке повторителей и концентраторов в сетях 10Base-T следует помнить правило «5—4—3». Для сети на коаксиальном кабеле оно звучит следующим образом: количество сегментов — не более 5, количество повторителей — не более 4, сетевые устройства можно подключать только к 3 сегментам. Для сетей на витой паре это правило вырождается в правило «5—4»: между двумя любыми сетевыми устройствами может располагаться не более 5 сегментов кабеля и 4 концентраторов. В общем случае для смешанной сети один концентратор считается за один повторитель. В сетях 100Base-Tx действует правило «2—1», иначе говоря, 2 сегмента могут быть соединены при помощи 1 концентратора.

Топология «звезда»

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

Протоколы и эталонная модель ISO

Большинство сетевых стандартов не соответствуют полностью модели OSI. Некоторые из них могут быть с ней соотнесены, другие — реализуют все уровни. Стандарты IBM SNA и DECnet поддерживаются в основном фирмами-разработчиками, не являются стандартами де-юре, поэтому можно считать, что они покрывают все семь уровней. Более открытые стандарты, такие как UNIX, Novell, Windows, предоставляют интерфейс для сторонних разработчиков, причем как сверху — на прикладном уровне, так и снизу — на сетевом. Эти интерфейсы соответствуют стандартам де-юре, среди которых особенно важное значение имеют стандарты IEEE 802. Они были в свое время разработаны на базе уже существующих технологий, доказавших свою жизнеспособность. Группа стандартов IEEE 802 определяет спецификации физического, канального и, частично, сетевого уровня. Основные способы реализации физического уровня мы уже рассмотрели выше.

Стандарты IEEE 802

Главной особенностью той или иной реализации канального уровня является метод доступа к среде передачи. В целом эти методы можно разделить на две основные группы — доступ с соревнованием и доступ с передачей маркера. При доступе с соревнованием станция начинает передачу немедленно, как только в этом возникает необходимость. Однако столь простое решение приводит к чересчур большому количеству столкновений (коллизий), то есть ситуаций, когда пакеты от двух или более станций налагаются друг на друга. Поэтому для доступа с соревнованием применяется более сложный, но обеспечивающий результаты метод CSMA/CD (Carrier Sense Multiple Access/Collision Detection — множественный доступ с прослушиванием несущей/обнаружение коллизий). Заключается он в следующем: прежде чем начать передачу, станция некоторое короткое время прослушивает среду (CS, Carrier Sense — прослушивание несущей). В случае если среда занята, станция откладывает передачу, а обнаружив, что среда свободна, начинает передавать пакет. При передаче производится контроль соответствия того, что передается, и реального состояния среды. Несоответствие означает коллизию (CD, сollision detection — обнаружение коллизий). Коллизия может случиться вследствие задержек сигнала в кабеле и аппаратуре, из-за чего несколько станций одновременно или почти одновременно принимают решение о том, что среда свободна. Обнаружив коллизию, станция вместо остатка пакета начинает передавать случайную помеху (jam) продолжительностью 32-48 бит, для того чтобы коллизия продолжалась достаточно долго и все передающие станции ее обнаружили. После завершения передачи помехи станция замолкает на некоторое случайное количество периодов тактовой частоты. Инициализация генератора случайных чисел происходит при запуске сетевой карты, и в ней участвует сетевой адрес, который уникален для любого сетевого оборудования. Сетевой адрес состоит из шести двухбайтных шестнадцатеричных чисел. Первые три из них идентифицируют фирму-изготовителя, три последних соответствуют порядковому номеру оборудования (карты, концентратора, принт-сервера и т.д.), так что каждый из изготовителей может выпустить до 16 777 215 единиц оборудования. В случае нескольких коллизий подряд происходит перезапуск с перезагрузкой генератора случайных чисел. Таким образом, первый источник потерь времени (а следовательно, и снижения пропускной способности сети) — это время на обнаружение несущей. В случае столкновения второй источник — это передача помехи и вынужденный простой на случайный период времени, а третий — время, затраченное на передачу испорченного пакета. Поскольку количество столкновений растет с увеличением нагрузки, то наступает момент, когда все полезное время уходит на вышеперечисленные потери. В результате полезная пропускная способность падает до нуля. Реально максимум пропускной способности, которую может обеспечить сеть с соревновательным методом доступа, составляет 40-60% от номинальной, то есть 4-6 или 40-60 Мбит/с для 10Base или 100Base соответственно.

Спецификации 802.3

Появление стандарта Full Duplex, разработанного в рамках проекта 100Base-Tx, улучшило ситуацию, позволив повысить пропускную способность сетей Ethernet практически до 100%. При этом коллизии отсутствуют, а регулирование трафика происходит за счет передачи коротких служебных пакетов Pause (Пауза) от ведущего участника соединения (обычно от коммутатора) к ведомому (к серверу или к рабочей станции). Этот пакет имеет зарезервированные значения величин «длина/тип и адрес приемника», поэтому он обрабатывается только на канальном уровне и не передается протоколам верхнего уровня.

Соревнование

Другой метод доступа — с передачей маркера. Он заключается в том, что каждой из станций поочередно дается право на передачу путем пересылки ей специального служебного пакета — маркера. Это может происходить централизованно (требуются топология типа «звезда» и активное центральное устройство) или децентрализованно (станции просто передают маркер друг другу). Наиболее известные стандарты, использующие доступ с передачей маркера, — это 100VG AnyLan, Arcnet, Token Ring, FDDI. Первый предусматривает топологию «звезда» и активное центральное устройство — концентратор. Второй использует различные виды топологии («звезда», «шина», смешанная) и передачу маркера от станции к станции, то есть станция получает маркер, в случае готовности передает имеющиеся данные и вслед за ними маркер для следующей станции. В сетях Token Ring и FDDI используется кольцевая топология и передача маркера от станции к станции. Они также используют особые методы инициализации и восстановления целостности, вследствие чего пользуются заслуженной популярностью за рубежом. В России стандарты с передачей маркера не распространены, возможно — из-за относительной слабости (по сравнению с Западной Европой и США) позиций IBM и Hewlett-Packard на нашем сетевом рынке.

Передача маркера

На канальном уровне также работают некоторые сетевые устройства, такие как мосты (Bridge, ныне мало используемые) и коммутаторы (Switch). Основное их отличие от концентраторов состоит в том, что они анализируют принимаемые по сети кадры, по крайней мере их адресную часть. Рассмотрим работу моста, называемого прозрачным (он прозрачен для всех уровней модели OSI, начиная с сетевого и выше) и имеющего два порта. На первой фазе происходит обучение: мост анализирует кадры, приходящие по обоим портам, и формирует базы данных физических адресов устройств, имеющихся в обоих сегментах. Затем начинается фаза полезной работы, протекающей следующим образом: кадр принимается и анализируется.

Повторитель (Repeater)

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

Зависимость пропускной способности от нагрузки

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

Мост (Bridge)

Из описания работы видно, что мост эффективно разделяет трафик двух и более сегментов сети, локализуя его внутри сегментов и обеспечивая межсегментную передачу только тогда, когда это требуется. Например, если в корпоративной сети имеются две различные рабочие группы, каждая из которых в основном использует свой файл-сервер, а доступ к серверу другой группы нужен лишь от случая к случаю, то подключение сегментов этих групп к разным портам моста заметно разгрузит сеть. Памятуя о том, что пропускная способность сетей Ethernet зависит от нагрузки нелинейно, можно понять, что такое разбиение очень благоприятно влияет на отдельные сегменты, на пропускную способность сети, а значит, и на время отклика.

Мост (Bridge)

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

Сергей Самохин
КомпьютерПресс 3'2002

 

 

 

 

 

 

Часть 3

 

В этой статье мы рассмотрим еще один класс устройств, работающих на канальном уровне семиуровневой модели OSI, — коммутаторы (switch). В отдельный класс они были выделены, поскольку обладают большим набором функций.

В основе работы коммутаторов, так же как и работы мостов, лежит анализ физических адресов сетевого оборудования, но применяемые здесь алгоритмы сложнее, количество выполняемых функций больше, производительность выше. Выполняя все то, что положено мостам, коммутаторы предоставляют ряд дополнительных возможностей. По определению компании IDC (International Data Corporation), коммутатор — это устройство, конструктивно выполненное в виде сетевого концентратора и действующее как высокоскоростной многопортовый мост, причем встроенный механизм коммутации позволяет осуществлять широковещательное сегментирование локальной сети, а также выделять полосу пропускания конечным станциям в сети. Формальное отличие коммутатора от моста состоит в том, что коммутатор является активным устройством, посылающим в сеть не только кадры, поступающие на него, но и кадры, генерируемые им самим для исследования конфигурации сети. Результаты этого исследования используются затем для установления оптимальной (с точки зрения заложенного алгоритма функционирования) конфигурации. Другим существенным отличием коммутатора от моста является возможность параллельной работы нескольких или всех его портов, то есть возможность одновременно осуществлять обработку нескольких кадров, проходящих по разным путям.

Коммутирующая матрица

Конструктивно коммутаторы выполняются в основном по схемам с коммутирующей
Разделяемая память

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

В схеме с разделяемой памятью порты подключены к последней через коммутаторы входа и выхода, управляемые центральным процессором. Входы и выходы процессоров портов подключены к памяти через входные и выходные коммутаторы соответственно. При работе этой схемы происходит следующее: входные блоки процессоров принимают кадры и посылают центральному процессору запросы на запись кадров в очереди, соответствующие портам назначения. Центральный процессор подключает коммутаторы входа к памяти, и часть кадра записывается в очередь соответствующего порта назначения. Далее, по мере заполнения очередей, происходит подключение выходов портов назначения к памяти и кадры переписываются в их буферы. Особенность этой схемы в том, что буферизованные кадры могут быть проверены на корректность и изъяты в случае нарушения целостности.

В коммутаторах с общей шиной для обмена кадрами между портами используется высокоскоростная магистраль, применяющаяся в режиме разделения времени. Эта шина является чисто пассивным устройством, наподобие интерфейсов ISA или PCI. Для обеспечения необходимой производительности коммутатора шина должна обладать высокой пропускной способностью (в настоящее время более 1 Гбит/с). Как и матрица, шина не обеспечивает буферизации кадров. По сути дела, в схеме с магистралью используется принцип временного уплотнения, тогда как в схеме с матрицей — принцип коммутации каналов. Каждая из схем имеет свои достоинства и недостатки, что объясняет их частое совместное применение в сложных коммутаторах.

Возникновение перегрузки может обусловить потерю кадров, что чревато значительным снижением производительности сети из-за образующегося дополнительного трафика. Чтобы этого не происходило, в коммутаторах применяют различные методы регулирования нагрузки. Регулировать нагрузку (на коммутатор, а не на сеть) можно путем захвата среды передачи или посылки пустых кадров. Первый способ называется «агрессивным поведением» и заключается в том, что порт концентратора начинает передачу кадра раньше, чем это разрешено протоколом канального уровня. Станция, имеющая данные для передачи, не может получить доступ к среде, и нагрузка на порт коммутатора со стороны сети снижается (хотя нагрузка на сеть при этом может и возрасти). Второй способ называется «методом обратного давления» и заключается в том, что в ответ на каждый принятый кадр передается один фиктивный. Применение такого способа не ведет к нарушению протоколов канального уровня, но снижает нагрузку на коммутатор примерно вдвое.

Чем же еще, кроме быстродействия, коммутаторы отличаются от мостов? Тем, что они могут транслировать кадры из сетей 1000-100 Мбит/с в сети 10 Мбит/с и обратно без потери пропускной способности среды. Полноценное объединение всех типов карт в одной сети возможно только за счет применения коммутаторов. Это позволит внедрять новые технологии, не заменяя сразу весь имеющийся парк оборудования.

Файл-сервер — внутренний мост. Топология

Очень важным свойством коммутаторов является их способность к изучению топологии сети и реконфигурации на основе полученных данных. Такая способность основана на поддержке протокола IEEE 802.1d. Этот протокол, называемый STP (Spanning Tree Protocol — протокол покрывающего дерева), описывает способы

Устранение петель — 1

устранения петель в топологии, образовавшихся как по ошибке, так и намеренно, в целях резервирования, что будет рассмотрено ниже. В протокол включены также алгоритмы реконфигурации, помогающие сохранить целостность и функциональность сети при сбоях и отказах. Для функционирования протокола используются специальные пакеты, называемые BPDU (Bridge Protocol Data Unit), которые вставляются в кадры канального уровня.

Устранение петель — 2

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

Логическая петля

Протокол STP исключает логические петли при помощи специальной процедуры «выбора корневого коммутатора». Эта процедура проводится на основании идентификаторов, присвоенных коммутаторам администратором при настройке. Наивысшему приоритету соответствует минимальное значение идентификатора. В начале процедуры все коммутаторы рассылают пакеты BDPU, в которых указывают в качестве адреса корневого коммутатора свой адрес и идентификатор. Получив пакет, в котором корневым указан коммутатор с меньшим идентификатором, коммутатор начинает рассылать пакеты, в которых в качестве корневого указан уже этот новый коммутатор с меньшим идентификатором. Таким образом все коммутаторы узнают о том, какой из них находится в корне дерева. После того, как корневой коммутатор определен, начинается этап определения структуры дерева. Теперь пакеты BDPU посылает только корневой коммутатор. Для определения структуры дерева определяется кратчайший путь от каждого коммутатора до корневого. Формат пакета BDPU включает стоимость пути до корня, причем каждый коммутатор, получая пакет, добавляет в это поле свою стоимость и отправляет пакет по всем портам, кроме корневого. Стоимость задается администратором при настройке или определяется по умолчанию; в таком случае она равна 1000/S, где S — скорость передачи порта, выраженная в Мбит/с. Корневым портом каждого из коммутаторов назначается тот, на который приходит пакет BDPU от корневого коммутатора с наименьшим значением стоимости. Порты, которые получают пакеты BDPU от корневого коммутатора с большим значением стоимости или с равным, но позже по времени, переводятся в блокированное состояние, так как они пришли по имеющимся в топологии сети петлям.

Переконфигурация

Порт, находящийся в блокированном состоянии, воспринимает только пакеты BDPU, не передавая их далее. Весь остальной трафик не принимается и не передается. Из блокированного состояния порт может выйти только в случае, если не получит в течение определенного времени пакета BDPU, что означает изменение конфигурации сети по каким-либо причинам. Выход из блокированного состояния возможен только в состояние прослушивания, которое представляет собой задержку, призванную минимизировать риск неправильного определения новой топологии при переконфигурации. Фактически во время прослушивания порт получает подтверждение о необходимости изменения конфигурации. Если за время прослушивания пакеты BDPU так и не были получены, то порт переходит в состояние обучения, то есть построения базы данных о подключенных к нему станциях. Закончив период обучения, равный по длительности периоду прослушивания, порт переходит в режим передачи, то есть работы с полной функциональностью.

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

При построении сети на коммутаторах (и конечно, в мостах и маршрутизаторах) следует иметь в виду, что правило 5-4-3 в данном случае неприменимо, то есть между двумя рабочими станциями или рабочей станцией и сервером может быть любое количество коммутаторов, мостов и маршрутизаторов. Это объясняется тем, что данные устройства, в отличие от концентраторов и повторителей, работают на канальном уровне или выше, то есть кадры полностью перетранслируются и передаются в другой сегмент сети, при этом вносимая задержка происходит не на физическом, а на канальном уровне.

Распределенная магистраль

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

Файл-сервер — внутренний мост. Магистральная структура

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

Файл-сервер — внутренний мост. Нагрузка

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

В большинстве случаев программное обеспечение моста включено в сетевые ОС либо легко может быть туда установлено. Программный мост, работающий на сервере, может быть применен в ряде случаев, объединяемых одним признаком: трафик через этот мост невелик, так что нагрузка на сервер возрастает не слишком сильно. Обычно такое условие соблюдается в сетях с одним сервером при отсутствии или незначительном использовании одноранговых сетей.

Сергей Самохин
КомпьютерПресс 4

 

 

Главная | Микросхемотехника | Периферийные устройства СВТ | ЭВМ и системы | Цифровая схемотехника | Вычислительная техника | Электронная техника | Обратная связь © Все права защищены.
Web-4-U - Бесплатные сайты