В 1980 году в институте IEEE был организован комитет 802 по стандартизации локальных сетей, в результате работы которого было принято семейство стандартов IEEE 802-х, которые содержат рекомендации по проектированию нижних уровней локальных сетей. Позже результаты работы этого комитета легли в основу комплекса международных стандартов ISO 8802-1...5. Эти стандарты были созданы на основе очень распространенных фирменных стандартов сетей Ethernet, ArcNet и Token Ring.
Помимо IEEE в работе по стандартизации протоколов локальных сетей принимали участие и другие организации. Так, для сетей, работающих на оптоволокне, американским институтом по стандартизации ANSI был разработан стандарт FDDI, обеспечивающий скорость передачи данных 100 Мб/с. Работы по стандартизации протоколов ведутся также ассоциацией ЕСМА, которой приняты стандарты ЕСМА-80, 81, 82 для локальной сети типа Ethernet и впоследствии стандарты ЕСМА-89,90 по методу передачи маркера.
Стандарты семейства IEEE 802.X охватывают только два нижних уровня семи-уровневой модели OSI - физический и канальный. Это связано с тем, что именно эти уровни в наибольшей степени отражают специфику локальных сетей. Старшие же уровни, начиная с сетевого, в значительной степени имеют общие черты как для локальных, так и для глобальных сетей.
Специфика локальных сетей также нашла свое отражение в разделении канального уровня на два подуровня, которые часто называют также уровнями. Канальный уровень (Data Link Layer) делится в локальных сетях на два подуровня:
· логической передачи данных (Logical Link Control, LLC);
· управления доступом к среде (Media Access Control, MAC).
Уровень MAC появился из-за существования в локальных сетях разделяемой среды передачи данных. Именно этот уровень обеспечивает корректное совместное использование общей среды, предоставляя ее в соответствии с определенным алгоритмом в распоряжение той или иной станции сети. После того как доступ к среде получен, ею может пользоваться более высокий уровень - уровень LLC, организующий передачу логических единиц данных, кадров информации, с различным уровнем качества транспортных услуг. В современных локальных сетях получили распространение несколько протоколов уровня MAC, реализующих различные алгоритмы доступа к разделяемой среде. Эти протоколы полностью определяют специфику таких технологий, как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, l00VG-AnyLAN.
Уровень LLC отвечает за передачу кадров данных между узлами с различной степенью надежности, а также реализует функции интерфейса с прилегающим к нему сетевым уровнем. Именно через уровень LLC сетевой протокол запрашивает у канального уровня нужную ему транспортную операцию с нужным качеством. На уровне LLC существует несколько режимов работы, отличающихся наличием или отсутствием на этом уровне процедур восстановления кадров в случае их потери или искажения, то есть отличающихся качеством транспортных услуг этого уровня.
Протоколы уровней MAC и LLC взаимно независимы - каждый протокол уровня MAC может применяться с любым протоколом уровня LLC, и наоборот.
Стандарты IEEE 802 имеют достаточно четкую структуру, приведенную на рис. 3.1:
Рис. 3.1. Структура стандартов IEEE 802.X
Эта структура появилась в результате большой работы, проведенной комитетом 802 по выделению в разных фирменных технологиях общих подходов и общих функций, а также согласованию стилей их описания. В результате канальный уровень был разделен на два упомянутых подуровня. Описание каждой технологии разделено на две части: описание уровня MAC и описание физического уровня. Как видно из рисунка, практически у каждой технологии единственному протоколу уровня MAC соответствует несколько вариантов протоколов физического уровня (на рисунке в целях экономии места приведены только технологии Ethernet и Token Ring, но все сказанное справедливо также и для остальных технологий, таких как ArcNet, FDDI, l00VG-AnyLAN).
Над канальным уровнем всех технологий изображен общий для них протокол LLC, поддерживающий несколько режимов работы, но независимый от выбора конкретной технологии. Стандарт LLC курирует подкомитет 802.2. Даже технологии, стандартизованные не в рамках комитета 802, ориентируются на использование протокола LLC, определенного стандартом 802.2, например протокол FDDI, стандартизованный ANSI.
Особняком стоят стандарты, разрабатываемые подкомитетом 802.1. Эти стандарты носят общий для всех технологий характер. В подкомитете 802.1 были разработаны общие определения локальных сетей и их свойств, определена связь трех уровней модели IEEE 802 с моделью OSI. Но наиболее практически важными являются стандарты 802.1, которые описывают взаимодействие между собой различных технологий, а также стандарты по построению более сложных сетей на основе базовых топологий. Эта группа стандартов носит общее название стандартов межсетевого взаимодействия (internetworking). Сюда входят такие важные стандарты, как стандарт 802. ID, описывающий логику работы моста/коммутатора, стандарт 802.1Н, определяющий работу транслирующего моста, который может без маршрутизатора объединять сети Ethernet и FDDI, Ethernet и Token Ring и т. п. Сегодня набор стандартов, разработанных подкомитетом 802.1, продолжает расти. Например, недавно он пополнился важным стандартом 802.1Q, определяющим способ построения виртуальных локальных сетей VLAN в сетях на основе коммутаторов.
Стандарты 802.3,802.4,802.5 и 802.12 описывают технологии локальных сетей, которые появились в результате улучшений фирменных технологий, легших в их основу. Так, основу стандарта 802.3 составила технология Ethernet, разработанная компаниями Digital, Intel и Xerox (или Ethernet DIX), стандарт 802.4 появился | как обобщение технологии ArcNet компании Datapoint Corporation, а стандарт 802.5 в основном соответствует технологии Token Ring компании IBM.
Исходные фирменные технологии и их модифицированные варианты - стандарты 802.х в ряде случаев долгие годы существовали параллельно. Например, технология ArcNet так до конца не была приведена в соответствие со стандартом 802.4 (теперь это делать поздно, так как где-то примерно с 1993 года производство оборудования ArcNet было свернуто). Расхождения между технологией Token Ring и стандартом 802.5 тоже периодически возникают, так как компания IBM регулярно вносит усовершенствования в свою технологию и комитет 802.5 отражает эти усовершенствования в стандарте с некоторым запозданием. Исключение составляет технология Ethernet. Последний фирменный стандарт Ethernet DIX был принят в 1980 году, и с тех пор никто больше не предпринимал попыток фирменного развития Ethernet. Все новшества в семействе технологий Ethernet вносятся только в результате принятия открытых стандартов комитетом 802.3.
Более поздние стандарты изначально разрабатывались не одной компанией, а группой заинтересованных компаний, а потом передавались в соответствующий подкомитет IEEE 802 для утверждения. Так произошло с технологиями Fast Ethernet, l00VG-AnyLAN, Gigabit Ethernet. Группа заинтересованных компаний образовывала сначала небольшое объединение, а затем по мере развития работ к нему присоединялись другие компании, так что процесс принятия стандарта носил открытый характер.
Сегодня комитет 802 включает следующий ряд подкомитетов, в который входят как уже упомянутые, так и некоторые другие:
· 802.1 - Internetworking - объединение сетей;
· 802.2 - Logical Link Control, LLC - управление логической передачей данных;
· 802.3 - Ethernet с методом доступа CSMA/CD;
· 802.4 - Token Bus LAN - локальные сети с методом доступа Token Bus;
· 802.5 - Token Ring LAN - локальные сети с методом доступа Token Ring;
· 802.6 - Metropolitan Area Network, MAN - сети мегаполисов;
· 802.7 - Broadband Technical Advisory Group - техническая консультационная группа по широкополосной передаче;
· 802,8 - Fiber Optic Technical Advisory Group - техническая консультационная группа по волоконно-оптическим сетям;
· 802.9 - Integrated Voice and data Networks - интегрированные сети передачи голоса и данных;
· 802.12 - Demand Priority Access LAN, l00VG-AnyLAN - локальные сети с методом доступа по требованию с приоритетами.
33Программное обеспечение анализа и оптимизации сети
В последние годы появился новый тип (сетевого) программного обеспечения, призванный обеспечивать эффективную работу сетей ЭВМ.
Дело в том, что современные компьютерные сети тяготеют к глобализации и усложнению топологии, при этом (стихийно) развивающаяся сеть часто становится неэффективной (а иногда и неработоспособной) вследствие неправильного выбора пропускных способностей и распределения потоков в сети; обычно деградация сети внешне (с точки зрения пользователя) проявляется в катастрофической задержке передачи сообщений (вплоть до полной блокировки сети).
Пожалуй, впервые указанные проблемы проявились в 70-х годах в связи с постройкой и эксплуатацией сети принадлежащего Министерству обороны США Управления перспективных исследований (DARPA), принятое название - сеть ARPANET; в настоящее время данная сеть считается прообразом глобальной сети InterNet.
Сеть создавалась на случай ядерной войны и предполагала, что любой компьютер в сети может перестать функционировать в произвольный момент времени, равно как и линии связи между компьютерами. Именно такая постановка задачи привела к рождению сетевой технологии, которая впоследствии фактически стала технологией всемирной сети
ARPANET уже к 1975 году обеспечивала службу передачи сообщений между почти 100 ЭВМ, географически разнесенным по континентальной части США и подключенных спутниковой связью (через Гавайи) к нескольким точкам в Европе, причем соединенные сетью ARPANET вычислительные машины во многих отношениях являлись несовместимыми друг с другом по аппаратному и программному обеспечению. Именно тогда был обеспечен сетевой доступ к мощнейшей для того времени ЭВМ ILLIAC IV и были широко применены (с целью разгрузки вычислительных машин от выполнения задач обработки необходимых для функ1щонирования сети сообщений) вышеупомянутые IMP.
Сеть ARPANET была спроектирована как для быстрой доставки коротких диалоговых сообщений, так и для обеспечения высокой скорости передачи длинных файлов, при этом стратегия выбора маршрута в сети принимается в каждом процессоре IMP на основе получаемой от соседних процессоров IMP информации и местной информации, включающей сведения о состоянии каналов данного IMP-процессора.
Заметим, что сети общего пользования сложной топологии с коммутацией пакетов появились не только в США (сети ARPANET и TELNET), но и в Канаде (DATAPAC), Англии (EPSS), Европе (EIN), Франции (TRANSPAC), Японии, Испании, Швеции и некоторых других странах.
В связи с проектированием и эксплуатацией сети ARPANET формулировались и решались задачи анализа и проектировании сетей нескольких типов. Базовой задачей является анализ задержки - определение средней задержки передачи сообщения по заданному пути в сети (от конкретного источника к конкретному получателю сообщений). Конечным результатом является зависимость задержки от интенсивности требований на обслуживание; обычно график этой зависимости имеет начальный малоизменяемый участок при изменении нагрузки от нуля до некоторой пороговой величины и экспоненциально возрастает при нагрузке выше пороговой (соответствующей нагрузке насыщения сети), нагрузка насыщения сети соответствует блокировке сети по данному маршруту.
На рис.1 приведен типовой график данных расчета времени задержки, ясно видно пороговое значение нагрузки сети.
Рисунок 1 — Зависимость средней времени задержки сообщения (ордината) от нагрузки в сети (абсцисса) по результатам моделирования (слева) и упрощенная пороговая модель (справа).
На основе базовой задачи формулируются (более сложные) задачи расчетов и оптимизации сети:
• Задача выбора пропускных способностей (т.н. ВПС-задача) - оптимальный (обычно по критерию стоимости сети) выбор пропускных способностей из конечного набора их возможных значений (при этом топология и потоки в сети считаются заданными).
• Задача распределения потоков (т.н. РП-задача) - фактически обратная вышеприведенной ВПС-задаче (заданными считаются пропускные способности, а определяются потоки из условия минимизации средней задержки).
• Задача выбора пропускных способностей и распределения потоков - {комбинированная ВПС/РП-задача) - минимизация стоимости сети при заданной топологии и ограничениях на величину максимальной задержки.
При постановке задач используются несколько способов представления сети - географическая и логическая карты сети и структура сети (рис.2).
На левой части рис.3 показана достаточно общая структурная схема сети ЭВМ; при этом прямоугольниками представлены вычислительные средства выполнения задач обработки и хранения, соединенные друг с другом с помощью подсети связи (состоящей из коммутационных ЭВМ и высокоскоростных каналов передачи данных). Правая часть рис.3.5 иллюстрирует последний (перед этапом численного моделирования) этап представления топологии сети.
Рисунок 2 — Географическая (слева) и логическая карта сети ARPANET (состояние на июнь 1975 года).
Вышеуказанные задачи трудоемки в постановке и разрешении, для получения решения необходимо применять компьютерное моделирование. При решении задач используются элементы теории графов и теории массового обслуживания, распределение потока поступления требований (на обслуживание связи) обычно принимается пуассоновским.
Рисунок 3 — Общая структурная схема сети ЭВМ (слева) и используемая при моделировании структурная схема (справа).
Наиболее сложной задачей является задача выбора оптимальных (в соответствие с определенным критерием оптимальности - обычно стоимости) параметров сети (в основном маршрутов передачи сообщений между узлами сети - при заданной топологии) при заданной максимальной средней задержке (ВТПС/РП-задача); часто используют ВМУР {Вогнутый Метод Устранения Ребер) и МЗР (Метод Замены Ребер) - алгоритмы решения задачи.
Обычно предполагается, что 'хорошая' процедура выбора маршрута должна:
1. Обеспечивать быструю и надежную доставку сообщений.
2. Адаптироваться к изменениям топологии сети, происходящим в результате повреждений узлов и каналов.
3. Адаптироваться к меняющейся нагрузке между парами 'источник-получатель
4. Направлять пакеты в сторону от временно перегруженных узлов в сети.
5. Определять связность сети.
6. Допускать простое и автоматическое снятие и установку процессоров IMP.
Такую задачу можно решить лишь путем применения распределенного алгоритма управления. Это значит, что не существует центра, который принимал бы обязательные для всей сети решения, все узлы выносят местные решения относительно маршрутов динамическим образом. Основанное на подобных предпосылках программное обеспечение было протестировано применительно к сети ARPANET; было показано, что процедура выбора маршрутов является в основном стабильной и приводит к очень хорошим результатам, в разумной степени реагирует на повреждения узлов и каналов сети, автоматически 'узнает' о появлении нового узла (как только он присоединяется к сети или возвращается после исправления), эта особенность сети ARPANET является замечательной технической стороной данной сети. Заметим, что в дальнейшем многие из перечисленных разработок были использованы в сети InterNet.
Таким образом, логично предположить, что в состав сетевого ПО (даже для ЭВМ уровня персонального компьютера) все чаще будут включаться решающее вышеприведенные задачи программные компоненты. Например, для обслуживания баз данных фирмой Inprise Corp. в настоящее врет разрабатывается эффективная технология выбора сервера с учетом загрузки процессоров и сетевого трафика функционирующих в сети серверов, что позволит более равномерно распределять нагрузку между серверам!); в будущем они станут обязательными для системы распределенных вычислений (распределенной ОС). Представляет интерес также разработанная для сети InterNet технология (и соответствующий протокол) MPLS (Multiprotocol Label Switching - многопроцессорная коммутация с заменой меток), реализующая концепции известной ATM-технологии в обобщенном виде (Asynchronous Transfer Mode - поддерживаемая консорциумом известных компаний технология, основанная на использовании упаковки разнородных типов данных в ячейки - 'cells' и создании функционирующих определенное время виртуальных соединений в физическом канале связи с целью обеспечения гарантированной по времени доставки сообщений; в настоящее время ATN-технология считается перспективной для транспортировки чувствительных к временной задержке сообщений - например, цифровой телефонии, телевидения).
35 сокеты, датаграммы и каналы связи
В локальных и глобальных сетях существует два принципиально разных способа передачи данных.
Первый из них предполагает посылку пакетов данных от одного узла другому (или сразу нескольким узлам) без получения подтверждения о доставке и даже без гарантии того, что передаваемые пакеты будут получены в правильной последовательности. Примером такого протокола может служить протокол UDP (User Datagram Protocol ), который используется в сетяхTCP/IP, или протокол IPX , который является базовым в сетях Novell NetWare .
Основные преимущества датаграмных протоколов заключаются в высоком быстродействии и возможности широковещательной передачи данных, когда один узел отправляет сообщения, а другие их получают, причем все одновременно.
Второй способ передачи данных предполагает создание канала передачи данных между двумя различными узлами сети. При этом канал создается средствами датаграммных протоколов, однако доставка пакетов в канале является гарантированной. Пакеты всегда доходят в целостности и сохранности, причем в правильном порядке, хотя быстродействие получается в среднем ниже за счет посылки подтверждений. Примерами протоколов, использующих каналы связи, могут служить протоколы TCP и SPX (протоколNETBIOS допускает передачу данных с использованием как датаграмм, так и каналов связи).
Для передачи данных с использованием любого из перечисленных выше способов каждое приложение должно создать объект, который называется сокетом.
По своему назначению сокет больше всего похож на идентификатор файла (file handle), который нужен для выполнения над файлом операций чтения или записи. Прежде чем приложение, запущенное на узле сети сможет выполнять передачу или прием данных, оно должно создать сокет и проинициализировать его, указав некоторые параметры.
Для сокета необходимо указать три параметра. Это IP адрес, связанный с сокетом, номер порта, для которого будут выполняться операции передачи данных, а также тип сокета.
Что касается последнего параметра (тип сокета), то существуют сокеты двух типов. Первый тип предназначен для передачи данных в виде датаграмм, второй - с использованием каналов связи.
36 создание и инициализация сокета
После инициализации интерфейса Windows Sockets ваше приложение должно создать один или несколько сокетов, которые будут использованы для передачи данных.