274 113 654KB
Russian Pages [87]
Н. Г. КУЗЬМЕНКО М.В. КУЗЕНКОВ
КОММУТАТОРЫ И IP ТЕЛЕФОНИЯ Пособие для самостоятельной работы студентов
Телефонная сеть
3
ВВЕДЕНИЕ Персональный компьютер – Personal computer (РС) – при всех неоспоримых достоинствах имеет один серьёзный недостаток. В отличие от больших и мини-компьютеров, PC по определению является устройством для одного пользователя. Поскольку PC в каждый момент времени должен удовлетворять потребности только одного пользователя, он не предназначен для разделения своих ресурсов. На отдельном PC должны находиться собственные копии всех используемых пользователем программ. Чтобы запустить какой-либо программный пакет, необходимо приобрести отдельную копию этого пакета. Чтобы использовать принтер, последний нужно подключить к принтерному порту данного PC. Такая изолированность ведет к дублированию. Если, например, в какойлибо компании имеется 50 PC и все 50 пользователей должны использовать текстовый редактор, то необходимо приобрести 50 копий этой программы. (Сделать 50 копий самому – незаконно.) Аналогично, каждому пользователю необходимо предоставить принтер и другое периферийное оборудование – модемы, плоттеры, сканеры и т. д. Сеть способна превратить группу пользователей отдельных PC в скоординированную многопользовательскую компьютерную систему. Соединенные сетью пользователи не испытывают вышеназванных ограничений. Пользователь, подключённый к сети, может легко, и притом законно, использовать копии программного обеспечения совместно с другими пользователями, а также иметь доступ к подключённым к сети принтерам, плоттерам, модемам и другому периферийному оборудованию. Основанная на PC система управления товарами, будучи реализованной в сети, может быть доступна многим пользователям одновременно. Таким образом, совместное использование оборудования и программного обеспечения щедро возмещают усилия и средства, вложенные в создание сети. Кроме того, опытные пользователи говорят ещё об одном существенном преимуществе. Во многих компаниях сети стали "информационными трубопроводами", столь же необходимыми, как и телефоны, факсы, письма и записные книжки. Действующая в сети система электронной почты позволяет пользователям обмениваться информацией оперативно, как по телефону, и подробно, как с помощью писем. В сети могут храниться библиотеки важных документов и другая справочная информация, к которой пользователи имеют доступ; эффективность такого доступа недостижима при использовании бумажных документов. Информация, которую можно получить по сети, не исчерпывается только текстовыми документами. В высокопроизводительных сетях рабочие станции также могут получать звуковую и видеоинформацию.
4
ГЛАВА 1. ПРИНЦИПЫ ПОСТРОЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ Компьютерные сети относятся к распределенным (или децентрализованным) вычислительным системам. Поскольку основным признаком распределенной вычислительной системы является наличие нескольких центров обработки данных, то наряду с компьютерными сетями к распределенным системам относят также мультипроцессорные компьютеры и многомашинные вычислительные комплексы. В мультипроцессорных компьютерах имеется несколько процессоров, каждый из которых может относительно независимо от остальных выполнять свою программу. В мультипроцессоре существует общая для всех процессоров операционная система, которая оперативно распределяет вычислительную нагрузку между процессорами. Взаимодействие между отдельными процессорами организуется наиболее простым способом – через общую оперативную память. Территориальную распределённость мультипроцессор не поддерживает, все его блоки располагаются в одном или нескольких близко расположенных конструктивах, как и у обычного компьютера. Основное достоинство мультипроцессора – его высокая производительность, которая достигается за счет параллельной работы нескольких процессоров. Так как при наличии общей памяти взаимодействие процессоров происходит очень быстро, мультипроцессоры могут эффективно выполнять даже приложения с высокой степенью связи по данным. Еще одним важным свойством мультипроцессорных систем является отказоустойчивость, то есть способность к продолжению работы при отказах некоторых элементов, например процессоров или блоков памяти. При этом производительность, естественно, снижается, но не до нуля, как в обычных системах, в которых отсутствует избыточность. Многомашинная система – это вычислительный комплекс, включающий в себя несколько компьютеров (каждый из которых работает под управлением собственной операционной системы), а также программные и аппаратные средства связи компьютеров, которые обеспечивают работу всех компьютеров комплекса как единого целого. Работа любой многомашинной системы определяется двумя главными компонентами: высокоскоростным механизмом связи процессоров и системным программным обеспечением, которое предоставляет пользователям и приложениям прозрачный доступ к ресурсам всех компьютеров, входящих в комплекс. В состав средств связи входят программные модули, которые занимаются распределением вычислительной нагрузки, синхронизацией вычислений и реконфигурацией системы. Если происходит отказ одного из компьютеров комплекса, его задачи могут быть
5
автоматически переназначены и выполнены на другом компьютере. Если в состав многомашинной системы входят несколько контроллеров внешних устройств, то в случае отказа одного из них, другие контроллеры автоматически подхватывают его работу. Таким образом, достигается высокая отказоустойчивость комплекса в целом. Помимо повышения отказоустойчивости, многомашинные системы позволяют достичь высокой производительности за счет организации параллельных вычислений. По сравнению с мультипроцессорными системами возможности параллельной обработки в многомашинных системах ограничены: эффективность распараллеливания резко снижается, если параллельно выполняемые задачи тесно связаны между собой по данным. Это объясняется тем, что связь между компьютерами многомашинной системы менее тесная, чем между процессорами в мультипроцессорной системе, так как основной обмен данными осуществляется через общие многовходовые периферийные устройства. Территориальная распределенность в многомашинных комплексах не обеспечивается, так как расстояния между компьютерами определяются длиной связи между процессорным блоком и дисковой подсистемой. В вычислительных сетях программные и аппаратные связи являются еще более слабыми, а автономность обрабатывающих блоков проявляется в наибольшей степени – основными элементами сети являются стандартные компьютеры, не имеющие ни общих блоков памяти, ни общих периферийных устройств. Связь между компьютерами осуществляется с помощью специальных периферийных устройств – сетевых адаптеров, соединенных относительно протяженными каналами связи. Каждый компьютер работает под управлением собственной операционной системы. Взаимодействие между компьютерами сети происходит за счет передачи сообщений через сетевые адаптеры и каналы связи. С помощью этих сообщений один компьютер обычно запрашивает доступ к локальным ресурсам другого компьютера. Разделение локальных ресурсов каждого компьютера между всеми пользователями сети – основная цель создания вычислительной сети. Пользователь, если его компьютер подключен к сети, может пользоваться не только файлами, дисками, принтерами и другими ресурсами своего компьютера, но и аналогичными ресурсами других компьютеров, подключенных к той же сети. Правда, для этого недостаточно снабдить компьютеры сетевыми адаптерами и соединить их кабельной системой. Необходимы еще некоторые добавления к операционным системам этих компьютеров. На тех компьютерах, ресурсы которых должны быть доступны всем пользователям сети, необходимо добавить модули, которые постоянно будут находиться в режиме ожидания запросов, поступающих по сети от других компьютеров. На компьютерах, пользователи которых хотят получать доступ к ресурсам других компьютеров, также нужно добавить к операционной системе некоторые специальные программные модули,
6
которые должны вырабатывать запросы на доступ к удаленным ресурсам и передавать их по сети на нужный компьютер. Сетевые адаптеры и каналы связи решают в сети достаточно простую задачу: они передают сообщения с запросами и ответами от одного компьютера к другому, а основную работу по организации совместного использования ресурсов выполняют клиентские и серверные части операционных систем. Пара модулей "клиент – сервер" обеспечивает совместный доступ пользователей к определенному типу ресурсов, например к файлам. Обычно сетевая операционная система поддерживает несколько видов сетевых служб для своих пользователей – файловую службу, службу печати, службу электронной почты, службу удаленного доступа и т. п. Термины "клиент" и "сервер" используются не только для обозначения программных модулей, но и для компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет – клиентом. Иногда один и тот же компьютер может одновременно играть роли и сервера, и клиента. Сетевые службы всегда представляют собой распределенные программы. Распределенная программа – это программа, которая состоит из нескольких взаимодействующих частей, причем каждая часть, как правило, выполняется на отдельном компьютере сети. До сих пор речь шла о системных распределенных программах. Однако в сети могут выполняться и распределенные пользовательские программы – приложения. Распределенное приложение также состоит из нескольких частей, каждая из которых выполняет какую-то определенную законченную работу по решению прикладной задачи. Например, одна часть приложения, выполняющаяся на компьютере пользователя, может поддерживать специализированный графический интерфейс, вторая – работать на мощном выделенном компьютере и заниматься статистической обработкой введенных пользователем данных, а третья – заносить полученные результаты в базу данных на компьютере с установленной стандартной СУБД. Распределенные приложения в полной мере используют потенциальные возможности распределенной обработки, предоставляемые вычислительной сетью, и поэтому часто называются сетевыми приложениями. Следует подчеркнуть, что не всякое приложение, выполняемое в сети, является сетевым. Существует большое количество популярных приложений, которые не являются распределенными и целиком выполняются на одном компьютере сети. Тем не менее и такие приложения могут использовать преимущества сети за счет встроенных в операционную систему сетевых служб. Большинство приложений, используемых в локальных сетях в середине 80-х годов, являлись обычными, нераспределенными приложениями. И это понятно – они были написаны для автономных компьютеров, а потом просто были перенесены в сетевую среду. Создание же распределенных приложений,
7
хотя и сулило много преимуществ (уменьшение сетевого трафика, специализация компьютеров), оказалось делом совсем не простым. Нужно было решать множество дополнительных проблем: на сколько частей разбить приложение, какие функции возложить на каждую часть, как организовать взаимодействие этих частей, чтобы в случае сбоев и отказов оставшиеся части корректно завершали работу, и т. д. Поэтому до сих пор только небольшая часть приложений является распределенными, хотя очевидно, что именно за этим классом приложений будущее, так как они в полной мере могут использовать потенциальные возможности сетей по распараллеливанию вычислений. 1.1. Основные компоненты сети
Даже при первом ознакомлении с работой сети становится ясно, что вычислительная сеть – это сложный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов. Изучение сети в целом предполагает знание принципов работы ее отдельных элементов: • компьютеров; • коммуникационного оборудования; • операционных систем; • сетевых приложений. Весь комплекс программно-аппаратных средств сети может быть описан многослойной моделью. В основе любой сети лежит аппаратный слой стандартизованных компьютерных платформ. В настоящее время в сетях широко применяются компьютеры различных классов – от персональных компьютеров до мэйнфреймов и суперЭВМ. Набор компьютеров в сети должен соответствовать набору разнообразных задач, решаемых сетью. Второй слой – это коммуникационное оборудование. Хотя компьютеры и являются центральными элементами обработки данных в сетях, в последнее время не менее важную роль стали играть коммуникационные устройства. Кабельные системы, повторители, мосты, коммутаторы, маршрутизаторы и модульные концентраторы из вспомогательных компонентов сети превратились в основные наряду с компьютерами и системным программным обеспечением как по влиянию на характеристики сети, так и по стоимости. Сегодня коммуникационное устройство может представлять собой сложный специализированный мультипроцессор, который нужно конфигурировать, оптимизировать и администрировать. Изучение принципов работы коммуникационного оборудования требует знакомства с большим
8
количеством протоколов, используемых как в локальных, так и в глобальных сетях. Третьим слоем, образующим программную платформу сети, являются операционные системы (ОС). От того, какие концепции управления локальными и распределенными ресурсами положены в основу сетевой ОС, зависит эффективность работы всей сети. При проектировании сети важно учитывать, насколько просто данная операционная система может взаимодействовать с другими ОС сети, насколько она обеспечивает безопасность и защищенность данных, до какой степени она позволяет наращивать число пользователей, можно ли перенести ее на компьютер другого типа и многие другие аспекты. Самым верхним слоем сетевых средств являются различные сетевые приложения, такие как сетевые базы данных, почтовые системы, средства архивирования данных, системы автоматизации коллективной работы и др. Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами.
1.2. Связь компьютера с периферийными устройствами Механизмы взаимодействия компьютеров в сети во многом аналогичны схемам взаимодействия компьютера с периферийными устройствами (ПУ), поэтому начнем рассмотрение принципов работы сети с этого "досетевого" случая.
9
Компьютер Приложение
Адрес данных в памяти Тип операции Информация об устройстве
ОС Драйвер
Периферийное устройство
Команды процессора Внутренний порт
Устройство управления
Контроллер ПУ Признак приёма
Признак приёма
Внешний порт
Регистр Интерфейс
Рис. 1. Связь компьютера с периферийным устройством
Для обмена данными между компьютером и ПУ в компьютере предусмотрен внешний интерфейс (рис. 1), то есть набор проводов, соединяющих компьютер и периферийное устройство, а также набор правил обмена информацией по этим проводам. Интерфейс реализуется со стороны компьютера совокупностью аппаратных и программных средств: контроллером ПУ и специальной программой, управляющей этим контроллером, которую часто называют драйвером соответствующего периферийного устройства. Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления, хотя встречаются и программно-управляемые периферийные устройства. Программа, выполняемая процессором, может обмениваться данными с помощью команд ввода/вывода с любыми модулями, подключенными к внутренней шине компьютера, в том числе и с контроллерами ПУ. Периферийные устройства могут принимать от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды управления, в ответ на которые ПУ может выполнить специальные действия, например перевести головку диска на требуемую дорожку или же вытолкнуть лист бумаги из принтера. Периферийное устройство использует внешний интерфейс компьютера не только для приема информации, но и для передачи информации в компьютер, то есть обмен данными по внешнему
10
интерфейсу, как правило, является двунаправленным. Так, например, даже принтер, который по своей природе является устройством вывода информации, возвращает в компьютер данные о своем состоянии. Контроллеры ПУ принимают команды и данные от процессора в свой внутренний буфер, который часто называется регистром или портом, затем выполняют необходимые преобразования этих данных и команд в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс. Распределение обязанностей между контроллером и драйвером ПУ может быть разным, но обычно контроллер выполняет набор простых команд по управлению ПУ, а драйвер использует эти команды, чтобы заставить устройство совершать более сложные действия по некоторому алгоритму. Для одного и того же контроллера можно разработать различные драйверы, которые будут управлять данным ПУ по-разному – одни лучше, а другие хуже – в зависимости от квалификации программистов, их разработавших. Рассмотрим схему передачи одного байта информации от прикладной программы на периферийное устройство. Программа, которой потребовалось выполнить обмен данными с ПУ, обращается к драйверу этого устройства, сообщая ему в качестве параметра адрес байта памяти, который нужно передать. Драйвер загружает значение этого байта в буфер контроллера ПУ, который начинает последовательно передавать биты в линию связи, представляя каждый бит соответствующим электрическим сигналом. Чтобы устройству управления ПУ стало понятно, что начинается передача байта, перед передачей первого бита информации контроллер ПУ формирует стартовый сигнал специфической формы, а после передачи последнего информационного бита – стоповый сигнал. Эти сигналы синхронизируют передачу байта. Кроме информационных бит контроллер может передавать бит контроля четности для повышения достоверности обмена. Устройство управления, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка правильности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления устанавливается признак завершения приема информации. Обычно на драйвер возлагаются наиболее сложные функции протокола (например подсчет контрольной суммы последовательности передаваемых байтов, анализ состояния периферийного устройства, проверка правильности выполнения команды). Но даже самый примитивный драйвер контроллера должен поддерживать как минимум две операции: "Взять данные из контроллера в оперативную память" и "Передать данные из оперативной памяти в контроллер".
11
Существуют как специализированные интерфейсы, пригодные для подключения узкого класса устройств (например графических мониторов высокого разрешения фирмы Vista), так и интерфейсы общего назначения, являющиеся стандартными и позволяющие подключать различные периферийные устройства. 1.3. Простейший случай взаимодействия двух компьютеров
В самом простом случае взаимодействие компьютеров может быть реализовано с помощью тех же самых средств, которые используются для взаимодействия компьютера с периферией, например, через последовательный интерфейс RS-232С. В отличие от взаимодействия компьютера с периферийным устройством, когда программа работает, как правило, только с одной стороны – со стороны компьютера, в сетях происходит взаимодействие двух программ, работающих на каждом из компьютеров. Программа, работающая на одном компьютере, не может получить непосредственный доступ к ресурсам другого компьютера – его дискам, файлам, принтеру. Она может только "попросить" об этом программу, работающую на том компьютере, которому принадлежат эти ресурсы. Эти "просьбы" выражаются в виде сообщений, передаваемых по каналам связи между компьютерами. Сообщения могут содержать не только команды на выполнение некоторых действий, но и собственно информационные данные (например содержимое некоторого файла).
12
Компьютер А
Компьютер В
Приложение А
Приложение В Протокол взаимодействия приложений
MS-DOS
MS-DOS
Драйвер COM-порта
Драйвер COM-порта
Порт
Порт
Контроллер COM-порта А
Контроллер COM-порта В Интерфейс RS-232C
Рис. 2. Взаимодействие двух компьютеров
Рассмотрим случай, когда пользователю, работающему с текстовым редактором на персональном компьютере А, нужно прочитать часть некоторого файла, расположенного на диске персонального компьютера В (рис. 2). Предположим, что эти компьютеры связаны по кабелю связи через СОМ-порты, которые, как известно, реализуют интерфейс RS-232С (такое соединение часто называют нуль-модемным). Пусть для определенности компьютеры работают под управлением MS-DOS, хотя принципиального значения в данном случае это не имеет. Драйвер СОМ-порта вместе с контроллером СОМ-порта работают примерно так же, как и в описанном выше случае взаимодействия ПУ с компьютером. Однако при этом роль устройства управления ПУ выполняют контроллер и драйвер СОМ-порта другого компьютера. Вместе они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В «настоящих» локальных сетях подобные функции передачи данных в линию связи выполняются сетевыми адаптерами и их драйверами). Драйвер компьютера В периодически опрашивает признак завершения приема, устанавливаемый контроллером при правильно выполненной передаче данных, и при его появлении считывает принятый байт из буфера контроллера в оперативную память, делая его тем самым доступным для программ компьютера В. Иногда драйвер вызывается асинхронно, по прерываниям от контроллера.
13
Таким образом, в распоряжении программ компьютеров А и В имеется средство для передачи одного байта информации. Но рассматриваемая в нашем примере задача значительно сложнее, так как нужно передать не один байт, а определенную часть заданного файла. Все связанные с этим дополнительные проблемы должны решить программы более высокого уровня, чем драйверы СОМ-портов. Для определенности назовем такие программы компьютеров А и В приложением А и приложением В соответственно. Итак, приложение А должно сформировать сообщениезапрос для приложения В. В запросе необходимо указать имя файла, тип операции (в данном случае – чтение), смещение и размер области файла, содержащей нужные данные. Чтобы передать это сообщение компьютеру В, приложение А обращается к драйверу СОМ-порта, сообщая ему адрес в оперативной памяти, по которому драйвер находит сообщение и затем передает его байт за байтом приложению В. Приложение В, приняв запрос, выполняет его, то есть считывает требуемую область файла с диска с помощью средств локальной ОС в буферную область своей оперативной памяти, а далее с помощью драйвера СОМ-порта передает считанные данные по каналу связи в компьютер А, где они и попадают к приложению А. Описанные функции приложения А могла бы выполнить сама программа текстового редактора, но включать эти функции в состав каждого приложения – текстовых редакторов, графических редакторов, систем управления базами данных и других приложений, которым нужен доступ к файлам, – не очень рационально (хотя существует большое количество программ, которые действительно самостоятельно решают все задачи по межмашинному обмену данными). Гораздо выгоднее создать специальный программный модуль, который будет выполнять функции формирования сообщений-запросов и приема результатов для всех приложений компьютера. Как уже было выше сказано, такой служебный модуль называется клиентом. На стороне же компьютера В должен работать другой модуль – сервер, постоянно ожидающий прихода запросов на удаленный доступ к файлам, расположенным на диске этого компьютера. Сервер, приняв запрос из сети, обращается к локальному файлу и выполняет с ним заданные действия, возможно, с участием локальной ОС. Программные клиент и сервер выполняют системные функции по обслуживанию запросов приложений компьютера А на удаленный доступ к файлам компьютера В. Чтобы приложения компьютера В могли пользоваться файлами компьютера А, описанную схему нужно симметрично дополнить клиентом для компьютера В и сервером для компьютера А. Очень удобной и полезной функцией клиентской программы является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Если клиентская программа умеет это делать, то приложения не
14
должны заботиться о том, с каким файлом они работают (локальным или удаленным), клиентская программа сама распознает и перенаправляет (redirect) запрос к удаленной машине. 1.4. Проблемы физической передачи данных по линиям связи
Линии связи между компьютерами отличаются по своим электрическим характеристикам от тех, которые существуют внутри компьютера. Главное отличие внешних линий связи от внутренних состоит в их гораздо большей протяженности, а также в том, что они проходят вне экранированного корпуса по пространствам, зачастую подверженным воздействию сильных электромагнитных помех. Это приводит к значительно большим искажениям прямоугольных импульсов, чем внутри компьютера. Поэтому для надежного распознавания импульсов на приемном конце линии связи при передаче данных внутри и вне компьютера не всегда можно использовать одни и те же скорости и способы кодирования. В вычислительных сетях применяют как потенциальное, так и импульсное кодирование дискретных данных, а также специфический способ представления данных, который никогда не используется внутри компьютера, – модуляцию. При модуляции дискретная информация представляется синусоидальным сигналом той частоты, которую хорошо передает имеющаяся линия связи. Потенциальное или импульсное кодирование применяется на каналах высокого качества, а модуляция на основе синусоидальных сигналов предпочтительнее в том случае, когда канал вносит сильные искажения в передаваемые сигналы. Обычно модуляция используется в глобальных сетях при передаче данных через аналоговые телефонные каналы связи, которые были разработаны для передачи голоса в аналоговой форме и поэтому плохо подходят для непосредственной передачи импульсов. Для снижения стоимости линий связи в сетях обычно стремятся к сокращению количества проводов и поэтому используют не параллельную передачу всех бит, а последовательную, побитную передачу, требующую всего одну пару проводов. При организации взаимодействия модулей внутри компьютера проблема синхронизации решается очень просто, так как в этом случае все модули синхронизируются от общего тактового генератора. Проблема синхронизации при связи компьютеров может решаться разными способами; как с помощью обмена специальными тактовыми синхроимпульсами по
15
отдельной линии, так и с помощью периодической синхронизации заранее обусловленными кодами или импульсами характерной формы, отличающейся от формы импульсов данных. Несмотря на предпринимаемые меры – выбор соответствующей скорости обмена данными, линий связи с определенными характеристиками, способа синхронизации приемника и передатчика, существует вероятность искажения некоторых бит передаваемых данных. Для повышения надежности передачи данных между компьютерами часто используется стандартный прием – подсчет контрольной суммы и передача ее по линиям связи после каждого байта или после некоторого блока байтов. Часто в протокол обмена данными включается как обязательный элемент сигнал-квитанция, который подтверждает правильность приема данных и посылается от получателя отправителю. Задачи надежного обмена двоичными сигналами, представленными соответствующими электромагнитными сигналами, в вычислительных сетях решает определенный класс оборудования. В локальных сетях это сетевые адаптеры, а в глобальных сетях – аппаратура передачи данных, к которой относятся, например, устройства, выполняющие модуляцию и демодуляцию дискретных сигналов, – модемы. Это оборудование кодирует и декодирует каждый информационный бит, синхронизирует передачу электромагнитных сигналов по линиям связи, проверяет правильность передачи по контрольной сумме и может выполнять некоторые другие операции. Сетевые адаптеры рассчитаны, как правило, на работу с определенной передающей средой – коаксиальным кабелем, витой парой, оптоволокном и т. п.
1.5. Проблемы объединения нескольких компьютеров
Выше была рассмотрена вырожденная сеть, состоящая всего из двух машин. При объединении в сеть большего числа компьютеров возникает целый комплекс новых проблем. Топология физических связей
Прежде всего необходимо выбрать топологию – способ организации физических связей. Под топологией вычислительной сети понимается конфигурация графа, вершинам которого соответствуют компьютеры сети (иногда и другое оборудование, например концентраторы), а ребрам –
16
физические связи между ними. Компьютеры, подключенные к сети, часто называют станциями или узлами сети. Заметим, что конфигурация физических связей определяется электрическими соединениями компьютеров между собой и может отличаться от конфигурации логических связей между узлами сети. Логические связи представляют собой маршруты передачи данных между узлами сети и образуются путем соответствующей настройки коммуникационного оборудования. Выбор топологии электрических связей существенно влияет на многие характеристики сети. Рассмотрим наиболее часто встречающиеся топологии. Полносвязанная топология (рис. 3, a) соответствует сети, в которой каждый компьютер связан со всеми остальными. Несмотря на логическую простоту, этот вариант оказывается громоздким и неэффективным. Действительно, каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточное для связи с каждым из остальных компьютеров сети. Для каждой пары компьютеров должна быть выделена отдельная электрическая линия связи. Полносвязанные топологии применяются редко. Чаще этот вид топологии используется в многомашинных комплексах или глобальных сетях при небольшом количестве компьютеров. Все другие варианты основаны на неполносвязанных топологиях, когда для обмена данными между двумя компьютерами может потребоваться промежуточная передача данных через другие узлы сети. Ячеистая топология (mesh) получается из полносвязанной путем удаления некоторых возможных связей (рис. 3, б). В сети с ячеистой топологией непосредственно связываются только те компьютеры, между которыми происходит интенсивный обмен данными, а для обмена данными между компьютерами, не соединенными прямыми связями, используются транзитные передачи через промежуточные узлы. Ячеистая топология допускает соединение большого количества компьютеров и характерна, как правило, для глобальных сетей.
17
а
г
б
в
д
е
Рис. 3. Типовые топологии сетей
Общая шина (рис. 3, в) является очень распространенной (а до недавнего времени самой распространенной) топологией для локальных сетей. В этом случае компьютеры подключаются к одному коаксиальному кабелю. Передаваемая информация может распространяться в обе стороны. Применение общей шины снижает стоимость проводки, унифицирует подключение различных модулей, обеспечивает возможность почти мгновенного широковещательного обращения ко всем станциям сети. Таким образом, основными преимуществами такой схемы являются дешевизна и простота разводки кабеля по помещениям. Самый серьезный недостаток общей шины заключается в ее низкой надежности: любой дефект кабеля или какого-нибудь из многочисленных разъемов полностью парализует всю сеть. Другим недостатком этой топологии является ее невысокая производительность, так как при таком способе подключения в каждый момент времени только один компьютер может передавать данные в сеть. Поэтому пропускная способность канала связи всегда делится здесь между всеми узлами сети. Топология «звезда» (рис. 3, г): каждый компьютер подключается отдельным кабелем к общему устройству, называемому концентратором, который находится в центре сети. В функции концентратора входит направление передаваемой компьютером информации одному или всем остальным компьютерам сети. Главное преимущество этой топологии перед общей шиной – существенно большая надежность. Любые проблемы с кабелем касаются лишь того компьютера, к которому этот кабель присоединен, и только неисправность концентратора может вывести из строя
18
всю сеть. Кроме того, концентратор может играть роль интеллектуального фильтра информации, поступающей от узлов в сеть, и при необходимости блокировать запрещенные администратором передачи. К недостаткам этой топологии относится более высокая стоимость сетевого оборудования из-за необходимости приобретения концентратора. Кроме того, возможности по наращиванию количества узлов в сети ограничиваются количеством портов концентратора. Иногда имеет смысл строить сеть с использованием нескольких концентраторов, иерархически соединенных между собой связями типа "звезда" (рис. 3, д). В настоящее время иерархическая звезда является самым распространенным типом топологии связей как в локальных, так и в глобальных сетях. В сетях с кольцевой конфигурацией (рис. 3, е) данные передаются по кольцу от одного компьютера к другому, как правило, в одном направлении. Если компьютер распознает данные как «свои», то он копирует их себе во внутренний буфер. В сети с кольцевой топологией необходимо принимать специальные меры, чтобы в случае выхода из строя или отключения какойлибо станции не прервался канал связи между остальными станциями. Кольцо представляет собой очень удобную конфигурацию для организации обратной связи: данные, сделав полный оборот, возвращаются к узлуисточнику. Поэтому этот узел может контролировать процесс доставки данных адресату. Часто это свойство кольца используется для тестирования связности сети и поиска узла, работающего некорректно. Для этого в сеть посылаются специальные тестовые сообщения. В то время как небольшие сети, как правило, имеют типовую топологию – «звезда», «кольцо» или «общая шина», для крупных сетей характерно наличие произвольных связей между компьютерами. В таких сетях можно выделить отдельные произвольно связанные фрагменты (подсети), имеющие типовую топологию, поэтому их называют сетями со смешанной топологией. Организация совместного использования линий связи
Только в сети с полносвязанной топологией для соединения каждой пары компьютеров имеется отдельная линия связи. Во всех остальных случаях неизбежно возникает вопрос о том, как организовать совместное использование линий связи несколькими компьютерами сети. Как и всегда при разделении ресурсов, главной целью здесь является удешевление сети. В вычислительных сетях используют как индивидуальные линии связи между компьютерами, так и разделяемые (shared), когда одна линия связи попеременно используется несколькими компьютерами. В случае применения разделяемых линий связи возникает комплекс проблем, связанных с их
19
совместным использованием, который включает как чисто электрические проблемы обеспечения нужного качества сигналов при подключении к одному и тому же проводу нескольких приемников и передатчиков, так и логические проблемы разделения во времени доступа к этим линиям. Классическим примером сети с разделяемыми линиями связи являются сети с топологией "общая шина", в которых один кабель совместно используется всеми компьютерами сети. В сетях организация совместного доступа к линиям связи имеет свою специфику вследствие существенно большего времени распространения сигналов по длинным проводам, к тому же это время для различных пар компьютеров может быть различным. По этой причине процедуры согласования доступа к линии связи могут занимать слишком большой промежуток времени и приводить к значительным потерям производительности сети. Несмотря на все эти сложности, в локальных сетях разделяемые линии связи используются очень часто. Однако в последние годы наметилась тенденция отказа от разделяемых сред передачи данных и в локальных сетях. Это связано с тем, что за достигаемое таким образом удешевление сети приходится расплачиваться снижением ее производительности. Сеть с разделяемой средой при большом количестве узлов будет работать всегда медленнее, чем аналогичная сеть с индивидуальными линиями связи, так как пропускная способность последней достается одному компьютеру, а при ее совместном использовании – делится на все компьютеры сети. Зачастую с такой потерей производительности приходится мириться ради увеличения экономической эффективности сети. При использовании индивидуальных линий связи в полносвязанных топологиях конечные узлы должны иметь по одному порту на каждую линию связи. В звездообразных топологиях конечные узлы могут подключаться индивидуальными линиями связи к специальному устройству – коммутатору, что приводит к существенному удорожанию локальной сети. Индивидуальными в таких сетях являются только линии связи между конечными узлами и коммутаторами сети, а связи между коммутаторами остаются разделяемыми, так как по ним передаются сообщения разных конечных узлов. В глобальных сетях отказ от разделяемых линий связи объясняется техническими причинами. Здесь большие временные задержки распространения сигналов принципиально ограничивают применимость техники разделения линии связи. Компьютеры могут затратить больше времени на переговоры о том, кому сейчас можно использовать линию связи, чем непосредственно на передачу данных по этой линии связи. Адресация компьютеров
20
При объединении трех и более компьютеров возникает проблема их адресации. К адресу узла сети и схеме его назначения можно предъявить несколько требований: • адрес должен уникально идентифицировать компьютер в сети любого масштаба; • схема назначения адресов должна сводить к минимуму ручной труд администратора и вероятность дублирования адресов; • адрес должен иметь иерархическую структуру, удобную для построения больших сетей. Так, например, международные почтовые адреса позволяют почтовой службе, организующей доставку писем между странами, пользоваться только названием страны адресата и не учитывать название его города, а тем более улицы; • адрес должен быть удобен для пользователей сети, а это значит, что он должен иметь символьное представление, например Server3 или www.cisco.corn; • адрес должен иметь по возможности компактное представление, чтобы не перегружать память коммуникационной аппаратуры – сетевых адаптеров, маршрутизаторов и т. п. Нетрудно заметить, что эти требования противоречивы. Например, адрес, имеющий иерархическую структуру, скорее всего, будет менее компактным, чем неиерархический (такой адрес часто называют «плоским», то есть не имеющим структуры). Символьный же адрес, скорее всего, потребует больше памяти, чем адрес-число. Так как все перечисленные требования трудно совместить в рамках какой-либо одной схемы адресации, то на практике обычно используется сразу несколько схем, так что компьютер одновременно имеет несколько адресов-имен. Каждый адрес используется в той ситуации, когда соответствующий вид адресации наиболее удобен. А чтобы не возникало путаницы и компьютер всегда однозначно определялся своим адресом, используются специальные вспомогательные протоколы, которые по адресу одного типа могут определить адреса других типов. Наибольшее распространение получили три схемы адресации узлов: • аппаратные (hardm are) адреса предназначены для сети небольшого или среднего размера, поэтому они не имеют иерархической структуры. Типичным представителем адреса такого типа является адрес сетевого адаптера локальной сети. Такой адрес обычно используется только аппаратурой, поэтому его стараются сделать по возможности компактным и записывают в виде двоичного или шестнадцатеричного значения, например 0081005e24a8. Использование аппаратных адресов имеет недостатки: при замене сетевого адаптера изменяется и адрес компьютера, а при установке
21
нескольких сетевых адаптеров у компьютера появляется несколько адресов, что не очень удобно для пользователей сети; • символьные адреса или имена предназначены для запоминания людьми и поэтому обычно несут смысловую нагрузку. Такие адреса легко использовать как в небольших, так и в крупных сетях. Для работы в больших сетях символьное имя может иметь сложную иерархическую структуру. Например, ftp-arch1.ucLac.uk говорит о том, что данный компьютер поддерживает ftp-архив в сети одного из колледжей Лондонского университета (University College London – ucl) и эта сеть относится к академической ветви (ас) Internet Великобритании (United Kingdom – uk). При работе в пределах сети Лондонского университета такое длинное символьное имя явно избыточно и вместо него удобно пользоваться кратким символьным именем, на роль которого хорошо подходит самая младшая составляющая полного имени, то есть имя ftp-arch1; • числовые составные адреса. Символьные имена удобны для людей, но из-за переменного формата и потенциально большой длины их передача по сети не экономична. Поэтому во многих случаях, для работы в больших сетях, в качестве адресов узлов используют числовые составные адреса фиксированного и компактного форматов. Адрес делится на старшую часть – номер сети и младшую – номер узла. Такое деление позволяет передавать сообщения между сетями только на основании номера сети, а номер узла используется только после доставки сообщения в нужную сеть. В современных сетях для адресации узлов применяются, как правило, одновременно все три приведенные выше схемы. Пользователи используют символьные имена, которые автоматически заменяются в сообщениях, передаваемых по сети, на числовые номера. С помощью этих числовых номеров сообщения передаются из одной сети в другую, а после доставки сообщения в сеть назначения вместо числового номера используется аппаратный адрес компьютера. Сегодня такая схема характерна даже для небольших автономных сетей, где, казалось бы, она явно избыточна: это делается для того, чтобы при включении этой сети в большую сеть не нужно было менять состав операционной системы. Проблема установления соответствия между адресами различных типов, которой занимается служба разрешения имен, может решаться как полностью централизованными, так и распределенными средствами. В случае централизованного подхода в сети выделяется один компьютер (сервер имен), в котором хранится таблица соответствия друг другу имен различных типов. Все остальные компьютеры обращаются к серверу имен, чтобы по символьному имени найти числовой номер компьютера. При распределенном подходе каждый компьютер сам решает задачу установления соответствия между именами. Перед началом передачи данных компьютер-отправитель посылает всем компьютерам сети сообщение, (такое сообщение называется широковещательным) с просьбой опознать это
22
числовое имя. Все компьютеры, получив это сообщение, сравнивают заданный номер со своим собственным. Тот компьютер, у которого обнаружилось совпадение, посылает ответ, содержащий его аппаратный адрес, после чего становится возможным отправка сообщений по локальной сети. Распределенный подход хорош тем, что не предполагает выделения специального компьютера, который к тому же часто требует ручного задания таблицы соответствия имен. Недостатком распределенного подхода является необходимость широковещательных сообщений: такие сообщения перегружают сеть, так как требуют обязательной обработки всеми узлами, а не только узлом назначения. Поэтому распределенный подход используется только в небольших локальных сетях. 1.6. Сетевые службы
Для конечного пользователя сеть – это не компьютеры, кабели и концентраторы и даже не информационные потоки, а набор сетевых служб, с помощью которых он получает возможность просмотреть список имеющихся в сети компьютеров, прочитать удаленный файл, распечатать документ на «чужом» принтере или послать почтовое сообщение. Именно совокупность предоставляемых возможностей (насколько широк их выбор, насколько они удобны, надежны и безопасны) определяет для пользователя облик той или иной сети. Реализация сетевых служб осуществляется программными средствами. Основные службы – файловая служба и служба печати – обычно предоставляются сетевой операционной системой, а вспомогательные – служба баз данных, факса или передачи голоса и т. д. – системными сетевыми приложениями или утилитами, работающими в тесном контакте с сетевой ОС. Вообще говоря, распределение служб между ОС и утилитами достаточно условно и меняется в конкретных реализациях ОС. При определении степени удобства пользования разделяемым ресурсом часто употребляют термин "прозрачность". Прозрачный доступ – это такой доступ, при котором пользователь не замечает, где расположен нужный ему ресурс – на его компьютере или на удаленном. После того как он смонтировал удаленную файловую систему в свое дерево каталогов, доступ к удаленным файлам становится для него совершенно прозрачным. Для обеспечения прозрачности важен способ адресации (именования) разделяемых сетевых ресурсов. Имена разделяемых сетевых ресурсов не должны зависеть от их физического расположения на том или ином
23
компьютере. В идеале пользователь не должен ничего менять в своей работе, если администратор сети переместил том или каталог с одного компьютера на другой. Сам администратор и сетевая операционная система имеют информацию о расположении файловых систем, но от пользователя она скрыта. Такая степень прозрачности пока редко встречается в сетях – обычно для получения доступа к ресурсам определенного компьютера сначала приходится устанавливать с ним логическое соединение. 1.7. Проблемы стандартизации
Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в компьютерных сетях приобретает особое значение. Суть сети – соединение разного оборудования, а значит, проблема совместимости является одной из наиболее острых. Без принятия всеми производителями общепринятых правил построения оборудования прогресс в деле "строительства" сетей был бы невозможен. Поэтому все развитие компьютерной отрасли в конечном счёте отражено в стандартах – любая новая технология только тогда приобретает «законный» статус, когда ее содержание закрепляется в соответствующем стандарте. В компьютерных сетях идеологической основой стандартизации является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода была разработана стандартная семиуровневая модель взаимодействия открытых систем, ставшая своего рода универсальным языком сетевых специалистов. Организация взаимодействия между устройствами в сети является сложной задачей. Как известно, для решения сложных задач используется универсальный прием – декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Процедура декомпозиции включает в себя четкое определение функций каждого модуля, решающего отдельную задачу, и интерфейсов между ними. В результате достигается логическое упрощение задачи, кроме того, появляется возможность модификации отдельных модулей без изменения остальной части системы. При декомпозиции часто используют многоуровневый подход, заключающийся в следующем. Все множество модулей разбивают на уровни. Уровни образуют иерархию, то есть имеются вышележащие и нижележащие уровни. Множество модулей, составляющих каждый уровень, сформировано таким образом, что для выполнения своих задач они обращаются с запросами только к модулям непосредственно примыкающего нижележащего уровня. С другой стороны, результаты работы всех модулей, принадлежащих некоторому уровню, могут быть переданы только модулям
24
соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов и может быть реализован как программно, так и аппаратно. Протоколы нижних уровней часто реализуются комбинацией программных и аппаратных средств, а протоколы верхних уровней, как правило, исключительно программными средствами. 1.8. Модель OSI Из того, что протокол является соглашением, принятым двумя взаимодействующими объектами (в данном случае двумя работающими в сети компьютерами), совсем не следует, что он обязательно является стандартным. Однако на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты.
25
Компьютер 1
Компьютер 2
Процесс А
Процесс В
Сообщение
Сообщение Протоколы
Прикладной уровень
7
7
Представительный уровень
6
76
Сеансовый уровень
5
765
Транспортный уровень
4
7654
Сетевой уровень
3
76543
Канальный уровень
2
765432
7
7
67
6
567
5
4567
4
34567
3
234567
2
Передача по сети Физический уровень
1
Интерфейсы
7 654321
Полезная информация
1234567
1
Служебная информация
Рис. 4. Модель взаимодействия открытых систем OSI
В начале 80-х годов ряд международных организаций по стандартизации разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем или моделью OSI (Open System Interconnection). Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании практического опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста. В модели OSI (рис. 4) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой,
26
канальный и физический. Каждый уровень имеет дело только с одним аспектом взаимодействия сетевых устройств. Модель OSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень. Приложение может взять на себя функции некоторых верхних уровней модели OSI. Физический уровень (Physical layer) имеет дело с передачей бит по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих дискретную информацию (например крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов). Кроме того, здесь стандартизуются типы разъемов и назначение каждого контакта. Функции физического уровня реализуются во всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. Одной из задач канального уровня (Data Link layer) является проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра (для его выделения), а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом и добавляя контрольную сумму к кадру. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров. Необходимо отметить, что функция исправления ошибок не является обязательной для канального уровня, поэтому в некоторых протоколах этого уровня она отсутствует. В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, а именно для которой он был
27
разработан. В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень часто обеспечивает обмен сообщениями только между двумя соседними компьютерами, соединенными индивидуальной линией связи. В целом канальный уровень представляет собой весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня оказываются самодостаточными транспортными средствами и могут допускать работу над ними непосредственно протоколов прикладного уровня или приложений, без привлечения средств сетевого и транспортного уровней. Тем не менее для обеспечения качественной транспортировки сообщений в сетях любых топологий и технологий функций канального уровня оказывается недостаточно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня – сетевой и транспортный. Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. На сетевом уровне сам термин «сеть» наделяют специфическим значением. В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии. Внутри сети доставка данных обеспечивается соответствующим канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень, который и поддерживает возможность правильного выбора маршрута передачи сообщения даже в том случае, когда структура связей между составляющими сетями имеет характер, отличный от принятого в протоколах канального уровня. Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Проблема выбора наилучшего пути называется маршрутизацией, и ее решение является одной из главных задач сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту; оно зависит от пропускной способности каналов связи и интенсивности трафика, которая может изменяться с течением времени.
28
В общем случае функции сетевого уровня шире, чем функции передачи сообщений по связям с нестандартной структурой, которые мы сейчас рассмотрели на примере объединения нескольких локальных сетей. Сетевой уровень решает также задачи согласования разных технологий, упрощения адресации в крупных сетях и создания надежных и гибких барьеров на пути нежелательного трафика между сетями. Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части – номера сети и младшей – номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное определение: сеть – это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети. На сетевом уровне определяются два вида протоколов. Первый вид – сетевые протоколы (routed protocols) – реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека – прикладному и сеансовому – передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное – способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного – сетевым, канальным и физическим. Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети – компонентами их сетевых операционных систем.
29
Протоколы нижних четырех уровней обобщенно называют сетевым транспортом или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы. Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад, к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня, часто объединяют с функциями прикладного уровня и реализуют в одном протоколе. Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрирование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб. Прикладной уровень (Application layer) – это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые web-страницы, а также организуют свою совместную работу, например с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message). Сетезависимые и сетенезависимые уровни. Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями. Три нижних уровня – физический, канальный и сетевой – являются сетезависимыми, то есть протоколы этих уровней тесно связаны с технической реализацией сети и используемым коммуникационным оборудованием. Три верхних уровня – прикладной, представительный и сеансовый – ориентированы на приложения и мало зависят от технических особенностей
30
построения сети. На протоколы этих уровней не влияют какие бы то ни было изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических средств непосредственной транспортировки сообщений. Компьютер, с установленной на нем сетевой ОС, взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют опосредованно через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа, коммуникационное устройство может работать: либо только на физическом уровне (повторитель), либо на физическом и канальном (мост), либо на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор). Модель OSI представляет хотя и очень важную, но только одну из многих моделей коммуникаций. Эти модели и связанные с ними стеки протоколов могут отличаться количеством уровней, их функциями, форматами сообщений, службами, поддерживаемыми на верхних уровнях, и прочими параметрами. 1.9. Понятие "открытая система"
Модель OSI, как это следует из её названия (Open System Interconnection), описывает взаимосвязи открытых систем. Что же такое открытая система? В широком смысле открытой системой может быть названа любая система (компьютер, вычислительная сеть, ОС, программный пакет, другие аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями. Напомним, что под термином «спецификация» (в вычислительной технике) понимают формализованное описание аппаратных или программных компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, ограничений и особых характеристик. Понятно, что не всякая спецификация является стандартом. В свою очередь, под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами.
31
Использование при разработке систем открытых спецификаций позволяет третьим сторонам разрабатывать для этих систем различные аппаратные или программные средства расширения и модификации, а также создавать программно-аппаратные комплексы из продуктов разных производителей. Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые ее части, поддерживающие внешние интерфейсы. Модель OSI касается только одного аспекта открытости, а именно открытости средств взаимодействия устройств, связанных в вычислительную сеть. Здесь под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами с использованием стандартных правил, определяющих формат, содержание и значение принимаемых и отправляемых сообщений. Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества: • возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта; • возможность безболезненной замены отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами; • возможность легкого сопряжения одной сети с другой; • простота освоения и обслуживания сети. Ярким примером открытой системы является международная сеть Internet, развивавшаяся в полном соответствии с требованиями, предъявляемыми к открытым системам. В результате сеть Internet сумела объединить в себе самое разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру. 1.10. Стандартные стеки коммуникационных протоколов
Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Наиболее популярными являются стеки: ТСР/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA и OSI. Эти стеки, кроме SNA, на нижних уровнях – физическом и канальном – используют одни и те же хорошо
32
стандартизованные протоколы Ethernet, Token Ring, FDDI и некоторые другие, которые позволяют использовать во всех сетях одну и ту же аппаратуру. Зато на верхних уровнях все стеки работают по своим собственным протоколам. Эти протоколы часто не соответствуют рекомендуемому моделью OSI разбиению на уровни. В частности, функции сеансового и представительного уровня, как правило, объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель OSI появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот. Стек OSI
Следует четко различать модель OSI и стек OSI. В то время как модель OSI является концептуальной схемой взаимодействия открытых систем, стек OSI представляет собой набор вполне конкретных спецификаций протоколов. В отличие от других стеков протоколов стек OSI полностью соответствует модели OSI и включает спецификации протоколов для всех семи уровней взаимодействия, определенных в этой модели. Протоколы стека OSI отличает большая сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все случаи жизни и все существующие и появляющиеся технологии. К этому нужно еще добавить и последствия большого количества политических компромиссов, неизбежных при принятии международных стандартов по такому злободневному вопросу, как построение открытых вычислительных сетей. Из-за своей сложности протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их наиболее подходящими для мощных машин, а не для сетей персональных компьютеров.
Стек TCP/IP
Стек ТСР/IP был разработан по инициативе Министерства обороны США более 20 лет назад для связи экспериментальной сети ARPAnet с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека ТСР/IP, который получил свое название по популярным протоколам IP и TCP, внес
33
университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Популярность этой операционной системы привела к широкому распространению протоколов TCP/IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров всемирной информационной сети Internet, а также в огромном числе корпоративных сетей. Основными протоколами стека, давшими ему название, являются протоколы IP и TCP. Эти протоколы в терминологии модели OSI относятся к сетевому и транспортному уровням соответственно: IP обеспечивает продвижение пакета по составной сети, а TCP гарантирует надежность его доставки. Сегодня стек ТСР/IP представляет собой один из самых распространенных стеков транспортных протоколов вычислительных сетей. Действительно, только в сети Internet объединено около 10 миллионов компьютеров по всему миру, которые взаимодействуют друг с другом с помощью стека протоколов ТСР/IP. Хотя протоколы ТСР/IP неразрывно связаны с Internet и каждый из многомиллионной армады компьютеров Internet работает на основе этого стека, существует большое количество локальных, корпоративных и территориальных сетей, непосредственно не являющихся частями Internet, в которых также используют протоколы ТСР/IР. Чтобы отличать их от Internet, эти сети называют сетями ТСР/IP или просто IP-сетями. Поскольку стек ТСР/IP изначально создавался для глобальной сети Internet, он имеет много особенностей, дающих ему преимущество перед другими протоколами, когда речь заходит о построении сетей, включающих глобальные связи. В частности, очень полезным свойством, делающим возможным применение этого протокола в больших сетях, является его способность фрагментировать пакеты. Действительно, большая составная сеть часто состоит из сетей, построенных на совершенно разных принципах. В каждой из этих сетей может быть установлена собственная величина максимальной длины единицы передаваемых данных (кадра). В таком случае при переходе из одной сети, имеющей большую максимальную длину, в сеть с меньшей максимальной длиной может возникнуть необходимость деления передаваемого кадра на несколько частей. Протокол IP-стека ТСР/IP эффективно решает эту задачу. Другой особенностью технологии ТСР/IP является гибкая система адресации, позволяющая более просто по сравнению с другими протоколами аналогичного назначения включать в интерсеть сети других технологий. Это свойство также способствует применению стека ТСР/IP для построения больших гетерогенных сетей. В стеке ТСР/IP очень экономно используются возможности широковещательных рассылок. Это свойство совершенно необходимо при работе на медленных каналах связи, характерных для территориальных сетей.
34
Однако, как и всегда, за получаемые преимущества надо платить, и платой здесь оказываются высокие требования к ресурсам и сложность администрирования IP-сетей. Мощные функциональные возможности протоколов стека ТСР/IP требуют для своей реализации высоких вычислительных затрат. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети различных централизованных служб разрешения имен. Каждая из этих служб направлена на облегчение администрирования сети, в том числе и на облегчение конфигурирования оборудования, но в то же время сама требует пристального внимания со стороны администраторов. Стек IPX/SPX
Этот стек является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы сетевого и сеансового уровней Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали название стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньшей степени, чем стек IPX/SPX. Популярность стека IPX/SPX непосредственно связана с операционной системой Novell NetWare, которая еще сохраняет мировое лидерство по числу установленных систем. Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare (до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень – в больших корпоративных сетях, так как они слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространенность его только сетями NetWare. Однако с момента выпуска версии NetWare 4.0 компания Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на их
35
адаптацию для работы в корпоративных сетях. Сейчас стек IPX/ SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС, например SCO UNIX, Sun Solaris, Microsoft Windows NT.
Стек NetBIOS/SMB
Этот стек широко используется в продуктах компаний IBM и Microsoft. Протокол NetBIOS (Network Basic Input/Output System) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI – NetBIOS Extended User Interface. Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Протокол SMB (Server Message Block) выполняет функции сеансового, представительного и прикладного уровней. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями. 1.11. Требования, предъявляемые к современным вычислительным сетям
Главным требованием, предъявляемым к сетям, является выполнение сетью ее основной функции – обеспечение пользователей потенциальной возможностью доступа к разделяемым ресурсам всех компьютеров, объединенных в сеть. Все остальные требования – производительность, надежность, совместимость, управляемость, защищенность, расширяемость и масштабируемость – связаны с качеством выполнения этой основной задачи.
36
Производительность
Потенциально высокая производительность – это одно из основных свойств распределенных систем, к которым относятся компьютерные сети. Это свойство обеспечивается возможностью распараллеливания работ между несколькими компьютерами сети. К сожалению, эту возможность не всегда удается реализовать. Существует несколько основных характеристик производительности сети: • время реакции; • пропускная способность; • задержка передачи и вариация задержки передачи. Время реакции сети является интегральной характеристикой производительности сети с точки зрения пользователя. Именно эту характеристику имеет в виду пользователь, когда говорит: "Сегодня сеть работает медленно". В общем случае время реакции определяется как интервал времени между возникновением запроса пользователя к какой-либо сетевой службе и получением ответа на этот запрос. Очевидно, что значение этого показателя зависит от типа службы, к которой обращается пользователь, от того, какой пользователь и к какому серверу обращается, а также от текущего состояния элементов сети – загруженности сегментов, коммутаторов и маршрутизаторов, через которые проходит запрос, загруженности сервера и т. п. Поэтому имеет смысл использовать также и средневзвешенную оценку времени реакции сети, усредняя этот показатель по пользователям, серверам и времени дня (от которого в значительной степени зависит загрузка сети). Время реакции сети обычно складывается из нескольких составляющих. В общем случае в него входит время подготовки запросов на клиентском компьютере, время передачи запросов между клиентом и сервером через сегменты сети и промежуточное коммуникационное оборудование, время обработки запросов на сервере, время передачи ответов от сервера клиенту и время обработки получаемых от сервера ответов на клиентском компьютере. Пропускная способность отражает объем данных, переданных сетью или ее частью в единицу времени. Пропускная способность уже не является пользовательской характеристикой, так как она говорит о скорости выполнения внутренних операций сети – передачи пакетов данных между узлами сети через различные коммуникационные устройства. Зато она непосредственно характеризует качество выполнения основной функции сети – транспортировки сообщений – и поэтому чаще используется при анализе
37
производительности сети, чем время реакции. Пропускная способность измеряется либо в битах в секунду, либо в пакетах в секунду. Пропускная способность может быть мгновенной, максимальной и средней. Средняя пропускная способность вычисляется путем деления общего объема переданных данных на время их передачи, причем выбирается достаточно длительный промежуток времени – час, день или неделя. Мгновенная пропускная способность отличается от средней пропускной способности тем, что для усреднения выбирается очень маленький промежуток времени, например 10 мс или 1 с. Максимальная пропускная способность – это наибольшая мгновенная пропускная способность, зафиксированная в течение периода наблюдения. Важно отметить, что из-за последовательного характера передачи пакетов различными элементами сети общая пропускная способность сети любого составного пути в сети будет равна минимальной из пропускных способностей составляющих элементов маршрута. Для повышения пропускной способности составного пути необходимо в первую очередь обратить внимание на самые медленные элементы (в данном случае таким элементом, скорее всего, будет маршрутизатор). Обычно при определении пропускной способности сегмента или устройства в передаваемых данных не выделяются пакеты каких-то определенных пользователя, приложения или компьютера – подсчитывается общий объем передаваемой информации. Тем не менее для более точной оценки качества обслуживания такая детализация желательна, и в последнее время системы управления сетями все чаще позволяют ее выполнять. Задержка передачи определяется как задержка между моментом поступления пакета на вход какого-либо сетевого устройства или части сети и моментом появления его на выходе этого устройства. Этот параметр производительности по смыслу близок ко времени реакции сети, но отличается тем, что всегда характеризует только сетевые этапы обработки данных, без задержек обработки компьютерами сети. Обычно качество сети характеризуют величинами максимальной задержки передачи и вариацией задержки. Не все типы трафика чувствительны к задержкам передачи. Задержки пакетов, порождаемых файловой службой, службой электронной почты или службой печати, мало влияют на качество этих служб с точки зрения пользователя сети. Задержки же пакетов, переносящих голосовые данные или видеоизображение, могут приводить к значительному снижению качества предоставляемой пользователю информации – возникновению эффекта «эха», невозможности разобрать некоторые слова, дрожание изображения и т. п. Пропускная способность и задержки передачи являются независимыми параметрами, так что сеть может обладать, например, высокой пропускной способностью, но вносить значительные задержки при передаче каждого пакета. Пример такой ситуации дает канал связи, образованный
38
геостационарным спутником. Пропускная способность этого канала может быть весьма высокой, например 2 Мбит/с, в то время как задержка передачи всегда составляет не менее 0,24 с, что определяется скоростью распространения сигнала (около 300 000 км/с) и длиной канала (72 000 км).
Надежность и безопасность
Одной из первоначальных целей создания распределенных систем, к которым относятся и вычислительные сети, являлось достижение большей надежности по сравнению с отдельными вычислительными машинами. Важно различать несколько аспектов надежности. Для технических устройств используются такие показатели надежности, как среднее время наработки на отказ, вероятность отказа, интенсивность отказов. Однако эти показатели пригодны для оценки надежности простых элементов и устройств, которые могут находиться только в двух состояниях – работоспособном или неработоспособном. Сложные системы, состоящие из многих элементов, кроме состояний работоспособности и неработоспособности могут иметь и другие промежуточные состояния, которые эти характеристики не учитывают. В связи с этим для оценки надежности сложных систем применяется другой набор характеристик. Готовность, или коэффициент готовности (availability), означает долю времени, в течение которого система может быть использована. Готовность может быть улучшена путем введения избыточности в структуру системы: ключевые элементы системы должны существовать в нескольких экземплярах, чтобы при отказе одного из них функционирование системы обеспечивали другие. Чтобы систему можно было отнести к высоконадежным, она должна как минимум обладать высокой готовностью, но этого недостаточно. Необходимо обеспечить сохранность данных и защиту их от искажений. Кроме того, должна поддерживаться согласованность (непротиворечивость) данных, например, если для повышения надежности на нескольких файловых серверах хранится несколько копий данных, то нужно постоянно обеспечивать их идентичность. Так как сеть работает на основе механизма передачи пакетов между конечными узлами, то одной из характерных характеристик надежности является вероятность доставки пакета узлу назначения без искажений. Наряду с этой характеристикой могут использоваться и другие показатели: вероятность потери пакета (по любой из причин – из-за переполнения буфера маршрутизатора, из-за несовпадения контрольной суммы, из-за отсутствия
39
работоспособного пути к узлу назначения и т. д.), вероятность искажения отдельного бита передаваемых данных, отношение потерянных пакетов к доставленным. Другим аспектом общей надежности является безопасность (security), то есть способность системы защитить данные от несанкционированного доступа. В распределенной системе это сделать гораздо сложнее, чем в централизованной. Еще одной характеристикой надежности является отказоустойчивость (fault tolerance). В сетях под отказоустойчивостью понимается способность системы скрыть от пользователя отказ отдельных ее элементов. Например, если копии таблицы базы данных хранятся одновременно на нескольких файловых серверах, то пользователи могут просто не заметить отказ одного из них. В отказоустойчивой системе отказ одного из ее элементов приводит к некоторому снижению качества ее работы (деградации), а не к полному останову. Расширяемость и масштабируемость Термины «расширяемость» и «масштабируемость» иногда используют как синонимы, но это неверно, так как каждый из них имеет четко определенное самостоятельное значение. Расширяемость (extensibility) означает возможность сравнительно легкого добавления отдельных элементов сети (пользователей, компьютеров, приложений, служб), наращивания длины сегментов сети и замены существующей аппаратуры более мощной. При этом принципиально важно, что легкость расширения системы иногда может обеспечиваться в некоторых весьма ограниченных пределах. Масштабируемость (scalability) означает, что сеть позволяет наращивать количество узлов и протяженность связей в очень широких пределах, при этом производительность сети не ухудшается. Для обеспечения масштабируемости сети приходится применять дополнительное коммуникационное оборудование и специальным образом структурировать сеть. Прозрачность
Прозрачность (transparency) сети достигается в том случае, когда сеть представляется пользователям не как множество отдельных компьютеров, связанных между собой сложной системой кабелей, а как традиционная единая вычислительная машина с системой разделения времени. Известный
40
лозунг компании Sun Microsystems "Сеть – это компьютер" говорит именно о такой прозрачной сети. Прозрачность может быть достигнута на двух различных уровнях – на уровне пользователя и на уровне программиста. На уровне пользователя прозрачность означает, что для работы с удаленными ресурсами он использует те же команды и привычные для него процедуры, что и для работы с локальными ресурсами. На программном уровне прозрачность заключается в том, что приложению для доступа к удаленным ресурсам требуются те же вызовы, что и для доступа к локальным ресурсам. Прозрачность на уровне пользователя достигается проще, так как все особенности процедур, связанные с распределенным характером системы, маскируются от пользователя программистом, который создает приложение. Прозрачность на уровне приложения требует сокрытия всех деталей распределенности средствами сетевой операционной системы. Поддержка разных видов трафика Компьютерные сети изначально предназначены для совместного доступа пользователя к ресурсам компьютеров: файлам, принтерам и т. п. Трафик, создаваемый этими традиционными службами компьютерных сетей, имеет некоторые особенности и существенно отличается от трафика сообщений в телефонных сетях или, например, в сетях кабельного телевидения. Однако 90-е годы стали временем проникновения в компьютерные сети трафика мультимедийных данных, представляющих в цифровой форме речь и видеоизображение. Компьютерные сети стали использоваться для организации видеоконференций, обучения и досуга на основе видеофильмов и т. п. Естественно, что для динамической передачи мультимедийного трафика требуются иные алгоритмы и протоколы и, соответственно, другое оборудование. Хотя область применения мультимедийного трафика пока ограничена, он уже начал проникать как в глобальные, так и в локальные сети, и этот процесс будет продолжаться с возрастающей скоростью. Трафик компьютерных данных характеризуется крайне неравномерной интенсивностью поступления сообщений в сеть при отсутствии жестких требований к синхронности доставки этих сообщений. Все алгоритмы компьютерной связи, соответствующие протоколы и коммуникационное оборудование были рассчитаны именно на такой «пульсирующий» характер трафика, поэтому необходимость передавать мультимедийный трафик требует внесения принципиальных изменений как в протоколы, так и в оборудование. Сегодня практически все новые протоколы в той или иной степени предоставляют поддержку мультимедийного трафика. Особую сложность представляет совмещение в одной сети традиционного компьютерного и мультимедийного трафика. Передача исключительно мультимедийного трафика компьютерной сетью хотя и
41
связана с определенными сложностями, но вызывает меньшие трудности. А вот случай сосуществования двух типов трафика с противоположными требованиями к качеству обслуживания является намного более сложной задачей. Управляемость Управляемость сети подразумевает возможность централизованно контролировать состояние основных элементов сети, выявлять и разрешать проблемы, возникающие при работе сети, выполнять анализ производительности и планировать развитие сети. В идеале средства управления сетями представляют собой систему, осуществляющую наблюдение, контроль и управление каждым элементом сети – от простейших до самых сложных устройств, при этом такая система рассматривает сеть как единое целое, а не как разрозненный набор отдельных устройств. Хорошая система управления наблюдает за сетью и, обнаружив проблему, активизирует определенное действие, исправляет ситуацию и уведомляет администратора о том, что произошло и какие шаги предприняты. Одновременно с этим система управления должна накапливать данные, на основании которых можно планировать развитие сети. Наконец, система управления должна быть независима от производителя и обладать удобным интерфейсом, позволяющим выполнять все действия с одной консоли. Решая тактические задачи, администраторы и технический персонал сталкиваются с ежедневными проблемами обеспечения работоспособности сети. Эти задачи требуют быстрого решения, обслуживающий сеть персонал должен оперативно реагировать на сообщения о неисправностях, поступающих от пользователей или автоматических средств управления сетью. Постепенно становятся заметны более общие проблемы производительности, конфигурирования сети, обработки сбоев и безопасности данных, требующие стратегического подхода, то есть планирования сети. Планирование, кроме того, включает прогноз изменений требований пользователей к сети, вопросы применения новых приложений, новых сетевых технологий и т. п. В настоящее время в области систем управления сетями много нерешенных проблем: явно недостаточно действительно удобных, компактных и многопротокольных средств управления сетью; большинство существующих средств вовсе не управляют сетью, а всего лишь осуществляют наблюдение за ее работой (они следят за сетью, но не выполняют активных действий, если с сетью что-то произошло или может произойти). Совместимость
42
Совместимость, или интегрируемость, означает, что сеть способна включать в себя самое разнообразное программное и аппаратное обеспечение, то есть в ней могут сосуществовать различные операционные системы, поддерживающие разные стеки коммуникационных протоколов, и работать аппаратные средства и приложения от разных производителей. Сеть, состоящая из разнотипных элементов, называется неоднородной или гетерогенной, а если гетерогенная сеть работает без проблем, то она является интегрированной. Основной путь построения интегрированных сетей – использование модулей, выполненных в соответствии с открытыми стандартами и спецификациями.
43
Контрольные вопросы
1. Назовите основные компоненты сетей передачи данных. 2. Что описывает топология применительно к сети ? 3. Перечислите основные достоинства и недостатки топологии общая шина ? 4. Перечислите основные достоинства и недостатки топологии кольцо ? 5. Перечислите основные достоинства и недостатки топологии звезда ? 6. Перечислите основные достоинства и недостатки звездообразной топологии ? 7. Перечислите основные достоинства и недостатки полносвязанной топологии ? 8. Назовите назначение модели OSI ? 9. Перечислите все уровни модели OSI ? 10. Дайте определение понятия стек протоколов ? 11. Назовите стандартные стеки протоколов ? 12. Перечислите особенности стека протоколов TCP/IP. 13. Перечислите особенности стека протоколов IPX/SPX. 14. Перечислите особенности стека протоколов NetBIOS/SMB. 15. Перечислите основные требования, предъявляемые к вычислительным сетям.
44
ГЛАВА 2. ОСНОВЫ ПЕРЕДАЧИ ДИСКРЕТНЫХ ДАННЫХ Любая сетевая технология должна обеспечить надежную и быструю передачу дискретных данных по линиям связи. И хотя между технологиями имеются большие различия, они базируются на общих принципах передачи дискретных данных. Эти принципы находят свое воплощение в методах представления двоичных единиц и нулей с помощью импульсных или синусоидальных сигналов в линиях связи различной физической природы, обнаружения и коррекции ошибок, методах компрессии и коммутации. 2.1. Типы линий связи
Линия связи состоит в общем случае из физической среды, по которой передаются электрические информационные сигналы, а также аппаратуры передачи данных и промежуточной аппаратуры. Синонимом термина "линия связи" (line) является термин "канал связи" (channel). Физическая среда передачи данных (medium) может представлять собой кабель, то есть набор проводов, изоляционных и защитных оболочек и соединительных разъемов, а также земную атмосферу или космическое пространство, через которые распространяются электромагнитные волны. В зависимости от среды передачи данных линии связи разделяются на следующие: • проводные (воздушные); • кабельные (медные и волоконно-оптические); • радиоканалы наземной и спутниковой связи. Проводные (воздушные) линии связи представляют собой проложенные между столбами и висящие в воздухе провода без каких-либо изолирующих или экранирующих оплеток. По таким линиям связи традиционно передаются телефонные или телеграфные сигналы, но при отсутствии других возможностей эти линии используются и для передачи компьютерных данных. Скоростные качества и помехозащищенность этих линий оставляют желать лучшего. Сегодня проводные линии связи быстро вытесняются кабельными линиями. Кабельные линии представляют собой достаточно сложную конструкцию. Кабель состоит из проводников, заключенных в несколько слоев изоляции: электрической, электромагнитной, механической, а также, возможно, климатической. Кроме того, кабель может быть оснащен разъемами, позволяющими быстро выполнять присоединение к нему различного оборудования. В компьютерных сетях применяются три основных типа кабеля: кабели на основе скрученных пар медных проводов, коаксиальные кабели с медной жилой, а также волоконно-оптические кабели.
45
Скрученная пара проводов называется витой парой (twisted pair). Витая пара существует в экранированном варианте (Shielded Twisted Pair, STP), когда пара медных проводов обертывается в изоляционный экран, и неэкранированном (Unshielded Twisted Раr, UTP), когда изоляционная обертка отсутствует. Скручивание проводов снижает влияние внешних помех на полезные сигналы, передаваемые по кабелю. Коаксиальный кабель (coaxial) имеет несимметричную конструкцию и состоит из внутренней медной жилы и оплетки, отделенной от жилы слоем изоляции. Существует несколько типов коаксиального кабеля, отличающихся характеристиками и областями применения: для локальных, глобальных сетей и кабельного телевидения и т. п. Волоконно-оптический кабель (optical fiber) состоит из тонких (5–60 микрон) волокон, по которым распространяются световые сигналы. Это наиболее качественный тип кабеля: он обеспечивает передачу данных с очень высокой скоростью (до 10 Гбит/с и выше) и к тому же лучше других типов передающей среды обеспечивает защиту данных от внешних помех. Радиоканалы наземной и спутниковой связи образуются с помощью передатчика и приемника радиоволн. Существует большое количество различных типов радиоканалов, отличающихся как используемым частотным диапазоном, так и дальностью канала. Диапазоны коротких, средних и длинных волн (КВ, СВ и ДВ), называемые также диапазонами амплитудной модуляции (Amplitude Modulation, АМ) по типу используемого в них метода модуляции сигнала, обеспечивают дальнюю связь, но при невысокой скорости передачи данных. Более скоростными являются каналы, работающие на диапазонах ультракоротких волн (УКВ), для которых характерна частотная модуляция (Frequency Modulation, FM), а также на диапазонах сверхвысоких частот (СВЧ или microwaves). В диапазоне СВЧ (свыше 4 ГГц) сигналы уже не отражаются ионосферой Земли и для устойчивой связи требуется наличие прямой видимости между передатчиком и приемником. Поэтому такие частоты используют либо спутниковые каналы, либо радиорелейные каналы, где это условие выполняется. В компьютерных сетях в настоящее время применяются практически все описанные типы физических сред передачи данных, но наиболее перспективными являются волоконно-оптические: на них строятся как магистрали крупных территориальных сетей, так и высокоскоростные линии связи локальных сетей. Популярной средой является также витая пара, которая характеризуется отличным соотношением качества к стоимости, а также простотой монтажа. С помощью витой пары обычно подключают конечных абонентов сетей на расстояниях до 100 метров от концентратора. Спутниковые каналы и радиосвязь используются чаще всего в тех случаях, когда кабельные связи применить нельзя, например при прохождении канала через малонаселенную местность или же для связи с мобильным пользователем сети, таким как шофер грузовика, врач, совершающий обход, и т. п. 2.2. Характеристики линий связи
46
К основным характеристикам линий связи относятся: • амплитудно-частотная характеристика; • полоса пропускания; • затухание; • помехоустойчивость; • перекрестные наводки на ближнем конце линии; • пропускная способность; • достоверность передачи данных; • удельная стоимость. В первую очередь разработчика вычислительной сети интересуют пропускная способность и достоверность передачи данных, поскольку эти характеристики прямо влияют на производительность и надежность создаваемой сети. Пропускная способность и достоверность – это характеристики как линии связи, так и способа передачи данных. Поэтому если способ передачи (протокол) уже определен, то известны и эти характеристики. Однако нельзя говорить о пропускной способности линии связи, до того как для нее определен протокол физического уровня. Именно в таких случаях, когда только предстоит определить, какой из множества существующих протоколов можно использовать на данной линии, очень важными являются остальные характеристики линии, такие как полоса пропускания, перекрестные наводки, помехоустойчивость и другие характеристики. Для определения характеристик линии связи часто используют анализ ее реакций на некоторые эталонные воздействия. Такой подход позволяет достаточно просто и однотипно определять характеристики линий связи любой природы, не прибегая к сложным теоретическим исследованиям. Чаще всего в качестве эталонных сигналов для исследования реакций линий связи используются синусоидальные сигналы различных частот. Это связано с тем, что сигналы этого типа часто встречаются в технике и с их помощью можно представить любую функцию времени – как непрерывный процесс колебаний звука, так и прямоугольные импульсы, генерируемые компьютером. Спектральный анализ сигналов на линиях связи
Из теории гармонического анализа известно, что любой периодический процесс можно представить в виде суммы синусоидальных колебаний различных частот и различных амплитуд. Каждая составляющая синусоида называется также гармоникой, а набор всех гармоник называют
47
спектральным разложением исходного сигнала. Непериодические сигналы можно представить в виде интеграла синусоидальных сигналов с непрерывным спектром частот. Например, спектральное разложение идеального импульса (единичной мощности и нулевой длительности) имеет составляющие всего спектра частот – от −∞ до ∞ . Техника нахождения спектра любого исходного сигнала хорошо известна. Для некоторых сигналов, которые хорошо описываются аналитически (например для последовательности прямоугольных импульсов одинаковой длительности и амплитуды), спектр легко вычисляется на основании формул Фурье. Для сигналов произвольной формы, встречающихся на практике, спектр можно найти с помощью специальных приборов – спектральных анализаторов, которые измеряют спектр реального сигнала и отображают амплитуды составляющих гармоник на экране или распечатывают их на принтере. Искажение передающим каналом синусоиды какой-либо частоты приводит в конечном счёте к искажению передаваемого сигнала любой формы, особенно если синусоиды различных частот искажаются неодинаково. Если это аналоговый сигнал, передающий речь, то изменяется тембр голоса за счет искажения обертонов – боковых частот. При передаче импульсных сигналов, характерных для компьютерных сетей, искажаются низкочастотные и высокочастотные гармоники, в результате фронты импульсов теряют свою прямоугольную форму. Вследствие этого на приемном конце линии сигналы могут плохо распознаваться. Кроме искажений сигналов, вносимых внутренними физическими параметрами линии связи, существуют и внешние помехи, которые вносят свой вклад в искажение формы сигналов на выходе линии. Эти помехи создают различные электрические двигатели, электронные устройства, атмосферные явления и т. д. Несмотря на защитные меры, предпринимаемые разработчиками кабелей и усилительно-коммутирующей аппаратуры, полностью компенсировать влияние внешних помех не удается. Поэтому сигналы на выходе линии связи обычно имеют сложную форму, по которой иногда трудно понять, какая дискретная информация была подана на вход линии. Амплитудно-частотная характеристика, полоса пропускания и затухание
Степень искажения синусоидальных сигналов линиями связи оценивается с помощью таких характеристик, как амплитудно-частотная характеристика, полоса пропускания и затухание на определенной частоте.
48
Амплитудно-частотная характеристика (рис. 5) показывает, как затухает амплитуда синусоиды на выходе линии связи по сравнению с амплитудой на ее входе для всех возможных частот передаваемого сигнала. Вместо амплитуды в этой характеристике часто используют также такой параметр сигнала, как его мощность. Знание амплитудно-частотной характеристики реальной линии позволяет определить форму выходного сигнала практически для любого входного сигнала. Для этого необходимо найти спектр входного сигнала, преобразовать амплитуду составляющих его гармоник в соответствии с амплитудно-частотной характеристикой, а затем найти форму выходного сигнала, сложив преобразованные гармоники. Отношение амплитуд
А выход А вход
1
0,5
0 Частота, Гц Полоса пропускания Рис. 5. Амплитудно-частотная характеристика
Несмотря на полноту информации, предоставляемой амплитудночастотной характеристикой о линии связи, ее использование осложняется тем обстоятельством, что получить ее весьма трудно. Поэтому на практике вместо амплитудно-частотной характеристики применяются другие, упрощенные характеристики – полоса пропускания и затухание. Полоса пропускания (bandwidth) – это непрерывный диапазон частот, для которого отношение амплитуды выходного сигнала ко входному превышает некоторый заранее заданный предел, обычно 0,5. То есть полоса пропускания определяет диапазон частот синусоидального сигнала, при которых этот сигнал передается по линии связи без значительных искажений. Знание полосы пропускания позволяет получить с некоторой степенью приближения тот же результат, что и знание амплитудно-частотной характеристики. Ширина полосы пропускания в наибольшей степени влияет на максимально возможную скорость передачи информации по линии связи.
49
Затухание (attenuation) определяется как относительное уменьшение амплитуды или мощности сигнала при передаче по линии сигнала определенной частоты. Таким образом, затухание представляет собой одну точку из амплитудно-частотной характеристики линии. При эксплуатации линии заранее известна основная частота передаваемого сигнала, то есть та частота, гармоника которой имеет наибольшую амплитуду и мощность. Поэтому достаточно знать затухание на этой частоте, чтобы приблизительно оценить искажения передаваемых по линии сигналов. Более точные оценки возможны при знании затухания на нескольких частотах, соответствующих нескольким основным гармоникам передаваемого сигнала. Затухание А обычно измеряется в децибелах (дБ, decibel – dB) и вычисляется по следующей формуле: A=10 log 10 Pвых /Pвх ,
где, Р вых – мощность сигнала на выходе линии, Р вх – мощность сигнала на входе линии. Так как мощность выходного сигнала кабеля без промежуточных усилителей всегда меньше, чем мощность входного сигнала, затухание кабеля всегда является отрицательной величиной. Абсолютный уровень мощности, например уровень мощности передатчика, также измеряется в децибелах. При этом в качестве базового значения мощности сигнала, относительно которого измеряется текущая мощность, принимается значение в 1 мВт. Таким образом, уровень мощности р, мВт, вычисляется по следующей формуле: p=10 log 10 P ,
где Р – мощность сигнала, мВт. Таким образом, амплитудно-частотная характеристика, полоса пропускания и затухание являются универсальными характеристиками, и их знание позволяет сделать вывод о том, как через линию связи будут передаваться сигналы любой формы.
Пропускная способность линии
Пропускная способность (throughput) линии характеризует максимально возможную скорость передачи данных по линии связи. Пропускная способность измеряется в битах в секунду – бит/с, а также в производных единицах, таких как килобит в секунду (Кбит/с), мегабит в секунду (Мбит/с), гигабит в секунду (Гбит/с) и т. д.
50
Пропускная способность линии связи зависит не только от ее характеристик, но и от спектра передаваемых сигналов. Если значимые гармоники сигнала (то есть те гармоники, амплитуды которых вносят основной вклад в результирующий сигнал) попадают в полосу пропускания линии, то такой сигнал будет хорошо передаваться данной линией связи и приемник сможет правильно распознать информацию, отправленную по линии передатчиком (рис. 6, а). Если же значимые гармоники выходят за границы полосы пропускания линии связи, то сигнал будет значительно искажаться, приемник будет ошибаться при распознавании информации, а значит, информация не сможет передаваться с заданной пропускной способностью (рис. 6, б). Полоса пропускания
A
Полоса пропускания
A
Гармоники Гармоники
F
1
0
0
1 а
0
1
F
1
0
0
1
0
1
б
Рис. 6. Соответствие между полосой пропускания линии и спектром сигнала
Выбор способа представления дискретной информации в виде сигналов, подаваемых на линию связи, называется физическим или линейным кодированием. От выбранного способа кодирования зависит спектр сигналов и, соответственно, пропускная способность линии. Таким образом, для
51
одного способа кодирования линия может обладать одной пропускной способностью, а для другого – иной. Большинство способов кодирования используют изменение какоголибо параметра периодического сигнала (частоты, амплитуды и фазы синусоиды) или же знак потенциала последовательности импульсов. Периодический сигнал, параметры которого изменяются, называют несущим сигналом или несущей частотой, если в качестве такого сигнала используется синусоида. Если сигнал изменяется так, что можно различить только два его состояния, то любое его изменение будет соответствовать наименьшей единице информации – биту. Если же сигнал может иметь более двух различимых состояний, то любое его изменение будет нести несколько бит информации. Количество изменений информационного параметра несущего периодического сигнала в секунду измеряется в бодах (baud). Период времени между соседними изменениями информационного сигнала называется тактом работы передатчика. На пропускную способность линии оказывает влияние не только физическое, но и логическое кодирование. Логическое кодирование выполняется до физического кодирования и подразумевает замену бит исходной информации новой последовательностью бит, несущей ту же информацию, но обладающей, кроме этого, дополнительными свойствами, например возможностью для приемной стороны обнаруживать ошибки в принятых данных. При логическом кодировании чаще всего исходная последовательность бит заменяется более длинной последовательностью, поэтому пропускная способность канала по отношению к полезной информации при этом уменьшается. ололололоололололололооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооололололо
Связь между пропускной способностью линии и полосой пропускания
Чем выше частота несущего периодического сигнала, тем больше информации в единицу времени передается по линии и тем выше пропускная способность линии при фиксированном способе физического кодирования. Однако, с другой стороны, с увеличением частоты периодического несущего сигнала увеличивается и ширина спектра этого сигнала, то есть разность между максимальной и минимальной частотами того набора синусоид, которые в сумме дадут выбранную для физического кодирования последовательность сигналов. Линия передает этот спектр синусоид с теми искажениями, которые определяются ее полосой пропускания. Чем больше несоответствие между полосой пропускания линии и шириной спектра
52
передаваемых информационных сигналов, тем больше сигналы искажаются и тем вероятнее ошибки в распознавании информации принимающей стороной, а значит, скорость передачи информации на самом деле оказывается меньше, чем можно было предположить. Связь между полосой пропускания линии и ее максимально возможной пропускной способностью, вне зависимости от принятого способа физического кодирования, установил Клод Шеннон: С=F log 2 1P c /P ш ,
где С – максимальная пропускная способность линии, бит/с; F – ширина полосы пропускания линии, Гц; P c – мощность сигнала; P ш – мощность шума. 1
1
0
1
1
1
0
0
1
0
1
1
0
1
1 а 0 11 01 11 00 10 11 01 11 10 б 01 00 Рис. 7. Повышение скорости передачи за счёт дополнительных состояний сигнала: а) биполярный сигнал передачи; б) 4-полярный сигнал передачи
Из этого соотношения видно, что хотя теоретического предела пропускной способности линии с фиксированной полосой пропускания не существует, на практике такой предел имеется. Действительно, повысить пропускную способность линии можно за счет увеличения мощности передатчика или же уменьшения мощности шума (помех) на линии связи. Обе эти составляющие поддаются изменению с большим трудом. Повышение мощности передатчика ведет к значительному увеличению его габаритов и стоимости. Снижение уровня шума требует применения специальных кабелей с хорошими защитными экранами, что весьма дорого, а также снижения шума в передатчике и промежуточной аппаратуре, чего достичь весьма не просто. К тому же влияние мощностей полезного сигнала и шума на пропускную способность ограничено логарифмической зависимостью, которая растет далеко не так быстро, как прямо пропорциональная. Так, при достаточно
53
типичном исходном отношении мощности сигнала к мощности шума (в 100 раз) повышение мощности передатчика в 2 раза даст только 15 % увеличения пропускной способности линии. Близким по сути к формуле Шеннона является следующее соотношение, полученное Найквистом, которое также определяет максимально возможную пропускную способность линии связи, но без учета шума на линии: С=F log 2 M ,
где М – количество различимых состояний информационного параметра. Если передатчик использует более чем два устойчивых состояния сигнала для кодирования данных, то пропускная способность линии повышается, так как за один такт работы передатчик передает несколько бит исходных данных, например 2 бита при наличии четырех различимых состояний сигнала (рис. 7). Приведенные соотношения дают предельное значение пропускной способности линии, а степень приближения к этому пределу зависит от конкретных методов физического кодирования, рассматриваемых ниже. Помехоустойчивость и достоверность
Помехоустойчивость линии определяет ее способность уменьшать уровень помех, создаваемых во внешней среде, на внутренних проводниках. Помехоустойчивость линии зависит от типа используемой физической среды, а также от экранирующих и подавляющих помехи средств самой линии. Наименее помехоустойчивыми являются радиолинии, хорошей устойчивостью обладают кабельные линии и отличной – волоконнооптические линии, малочувствительные ко внешнему электромагнитному излучению. Для уменьшения помех, появляющихся из-за внешних электромагнитных полей, проводники экранируют и/или скручивают. Перекрестные наводки на ближнем конце (Near End Cross Talk – NEСT) определяют помехоустойчивость кабеля к внутренним источникам помех, когда электромагнитное поле сигнала, передаваемого выходом передатчика по одной паре проводников, наводит на другую пару проводников сигнал помехи. Если ко второй паре будет подключен приемник, то он может принять наведенную внутреннюю помеху за полезный сигнал. Показатель NEСT, выраженный в децибелах, равен, 10 log 2 P вых /Р нав , где Р вых – мощность выходного сигнала, Р нав – мощность наведенного сигнала. Показатель NECT обычно используется применительно к кабелю, состоящему из нескольких витых пар, так как в этом случае взаимные
54
наводки одной пары на другую могут достигать значительных величин. Для коаксиального кабеля этот показатель не имеет смысла. Оптические волокна также не создают сколько-нибудь заметных помех друг для друга. В связи с тем, что в некоторых новых технологиях используется передача данных одновременно по нескольким витым парам, в последнее время стал применяться показатель PowerSUM, являющийся модификацией показателя NECT. Этот показатель отражает суммарную мощность перекрестных наводок от всех передающих пар в кабеле. Достоверность передачи данных характеризует вероятность искажения для каждого передаваемого бита данных. Иногда этот же показатель называют интенсивностью битовых ошибок (Bit Error Rate, BER). Величина BER для каналов связи без дополнительных средств защиты от ошибок составляет, как правило, 10–4 – 10–6, в оптоволоконных линиях связи – 10–9. Значение достоверности передачи данных, например, в 10–4 говорит о том, что в среднем из 10 000 бит искажается значение одного бита. Искажения бит происходят как из-за наличия помех на линии, так и по причине искажений формы сигнала ограниченной полосой пропускания линии. Поэтому для повышения достоверности передаваемых данных нужно повышать степень помехозащищенности линии, снижать уровень перекрестных наводок в кабеле, а также использовать более широкополосные линии связи. 2.3. Стандарты кабелей
Кабель – это достаточно сложное изделие, состоящее из проводников, слоев экрана и изоляции. В компьютерных сетях применяются кабели, удовлетворяющие определенным стандартам, что позволяет строить кабельную систему сети из кабелей и соединительных устройств разных производителей. При стандартизации кабелей принят протокольно независимый подход. Это означает, что в стандарте оговариваются электрические, оптические и механические характеристики, которым должен удовлетворять тот или иной тип кабеля или соединительного изделия – разъема, кроссовой коробки и т. п. Однако для какого протокола предназначен данный кабель, стандарт не указывает. В стандартах кабелей оговаривается достаточно много характеристик, из которых наиболее важны следующие: • затухание (Attenuation) измеряется в децибелах на метр для определенной частоты или диапазона частот сигнала: • перекрестные наводки на ближнем конце (Near End Cross Talk, NEСT) измеряются в децибелах для определенной частоты сигнала;
55 •
импеданс (волновое сопротивление) – это полное (активное и реактивное) сопротивление в электрической цепи. Импеданс измеряется в омах и является относительно постоянной величиной для кабельных систем; • активное сопротивление – это сопротивление постоянному току в электрической цепи. В отличие от импеданса активное сопротивление не зависит от частоты и возрастает с увеличением длины кабеля; • емкость – это свойство металлических проводников накапливать энергию. Два электрических проводника в кабеле, разделенные диэлектриком, представляют собой конденсатор, способный накапливать заряд. Емкость приводит к искажению сигнала и ограничивает полосу пропускания линии; • уровень внешнего электромагнитного излучения, или электрический шум, – это нежелательное переменное напряжение в проводнике. Электрический шум бывает двух типов: фоновый и импульсный. Электрический шум можно также разделить на низко-, среднеи высокочастотный. Источниками фонового электрического шума в диапазоне до 150 кГц являются линии электропередач, телефоны и лампы дневного света; в диапазоне от 150 кГц до 20 МГц – компьютеры, принтеры, ксероксы; в диапазоне от 20 МГц до 1 ГГц – телевизионные и радиопередатчики, микроволновые печи. Основными источниками импульсного электрического шума являются моторы, переключатели и сварочные агрегаты. Электрический шум измеряется в милливольтах; • диаметр, или площадь сечения, проводника. Для медных проводников достаточно употребительной является американская система. В европейских и международных стандартах диаметр проводника указывается в миллиметрах. Здесь приведен не полный перечень характеристик (причем в нем представлены только электромагнитные характеристики), и его нужно дополнить механическими и конструктивными характеристиками, определяющими тип изоляции, конструкцию разъема и т. п. Помимо универсальных характеристик, таких, например, как затухание, которые применимы для всех типов кабелей, существуют характеристики, которые применимы только к определенному типу кабеля. Например, параметр «шаг скрутки проводов» используется только для характеристики витой пары, а параметр NEСT применим только к многопарным кабелям на основе витой пары. Основное внимание в современных стандартах уделяется кабелям на основе витой пары и волоконно-оптическим кабелям. Кабели на основе неэкранированной витой пары
56
Медный неэкранированный кабель UTP в зависимости от электрических и механических характеристик подразделяется на 5 категорий (Category 1 – Category 5). Кабели категории 1 применяются там, где требования к скорости передачи минимальны. Обычно это кабель для цифровой и аналоговой передачи голоса и низкоскоростной (до 20 Кбит/с) передачи данных. До 1983 года это был основной тип кабеля для телефонной разводки. Кабели категории 2 были впервые применены фирмой IBM при построении собственной кабельной системы. Главное требование к кабелям этой категории – способность передавать сигналы со спектром до 1 МГц. Кабели категории 3 были стандартизованы в 1991 году, когда был разработан Стандарт телекоммуникационных кабельных систем для коммерческих сетей. Стандарт определил электрические характеристики кабелей категории 3 для частот в диапазоне до 16 МГц, поддерживающих, таким образом, высокоскоростные сетевые приложения. Кабель этой категории предназначен как для передачи данных, так и для передачи голоса. Шаг скрутки проводов равен примерно 3 витка на 1 фут (30,5 см). Кабели категории 4 представляют собой несколько улучшенный вариант кабелей категории 3. Кабели категории 4 обязаны выдерживать тесты на частоте передачи сигнала 20 МГц и обеспечивать повышенную помехоустойчивость и низкие потери сигнала. Кабели категории 5 были специально разработаны для поддержки высокоскоростных протоколов. Поэтому их характеристики определяются в диапазоне до 100 МГц. Большинство новых высокоскоростных стандартов ориентируются на использование витой пары категории 5. Кабель категории 5 пришел на замену кабелю категории 3. Наиболее важные электромагнитные характеристики кабеля категории 5 имеют следующие значения: • полное волновое сопротивление в диапазоне частот до 100 МГц равно 100 Ом (допускается 120 Ом); • величина перекрестных наводок NEСT в зависимости от частоты сигнала должна принимать значения не менее 74 дБ на частоте 150 кГц и не менее 32 дБ на частоте 100 МГц; • затухание имеет предельные значения от 0,8 дБ (на частоте 64 кГц) до 22 дБ (на частоте 100 МГц); • активное сопротивление не должно превышать 9,4 Ом на 100 м; • емкость кабеля не должна превышать 5,6 нФ на 100 м. Все кабели UTP независимо от их категории выпускаются в 4-парном исполнении. Каждая из четырех пар кабеля имеет определенный цвет и шаг скрутки. Обычно две пары предназначены для передачи данных, а две – для передачи голоса. Особое место занимают кабели категорий 6 и 7, выпускать которые промышленность начала сравнительно недавно. Для кабеля категории 6
57
характеристики определяются до частоты 200 МГц, а для кабелей категории 7 – до 600 МГц. Кабели категории 7 обязательно экранируются, причём как каждая витая пара, так и весь кабель в целом. Кабель категории 6 может быть как экранированным, так и неэкранированным. Основное назначение этих кабелей – поддержка высокоскоростных протоколов на отрезках кабеля большей длины, чем кабель UTP категории 5 за счёт уменьшенного затухания. Кабели фирмы IBM Экранированная витая пара STP хорошо защищает передаваемые сигналы от внешних помех, а также меньше излучает электромагнитных колебаний вовне, что защищает, в свою очередь, пользователей сетей от вредного для здоровья излучения. Наличие заземляемого экрана удорожает кабель и усложняет его прокладку, так как требует выполнения качественного заземления. Экранированный кабель применяется только для передачи данных, а голос по нему не передают. Основным стандартом, определяющим параметры экранированной витой пары, является фирменный стандарт IBM. В этом стандарте кабели делятся не на категории, а на типы: Туре 1, Туре 2, ..., Туре 9. Основным типом экранированного кабеля является кабель Туре 1 стандарта IBM. Он состоит из двух пар скрученных проводов, экранированных проводящей оплеткой, которая заземляется. Электрические параметры кабеля Туре 1 примерно соответствуют параметрам кабеля UTP категории 5. Однако волновое сопротивление кабеля Туре 1 равно 150 Ом. Экранированные витые пары используются также в кабеле IBM Туре 2, который представляет кабель Туре 1 с добавленными 2 парами неэкранированного провода для передачи голоса. Не все типы кабелей стандарта IBM относятся к экранированным кабелям – некоторые определяют характеристики неэкранированного телефонного кабеля (Туре 3) и оптоволоконного кабеля (Туре 5). Коаксиальные кабели
Существует большое количество типов коаксиальных кабелей, используемых в сетях различного типа – телефонных, телевизионных и компьютерных. Ниже приведены основные типы и характеристики этих кабелей: • RG-8 и RG-11 – «толстый» коаксиальный кабель имеет волновое сопротивление 50 Ом и внешний диаметр 0,5 дюйма (около 12 мм). Этот
58
кабель имеет достаточно толстый внутренний проводник диаметром 2,17 мм, который обеспечивает хорошие механические и электрические характеристики (затухание на частоте 10 МГц – не хуже 18 дБ/км). Зато этот кабель сложно монтировать – он плохо гнется; • RG-58/U, RG-58 А/U и RG-58 С/U – разновидности «тонкого» коаксиального кабеля. Кабель RG-58/U имеет сплошной внутренний проводник, а кабель RG-58 А/U – многожильный. Кабель RG-58 С/U проходит "военную приёмку". Все эти разновидности кабеля имеют волновое сопротивление 50 Ом, но обладают худшими механическими и электрическими характеристиками по сравнению с «толстым» коаксиальным кабелем. Тонкий внутренний проводник 0,89 мм не так прочен, зато обладает гораздо большей гибкостью, удобной при монтаже. Затухание в этом типе кабеля выше, чем в «толстом» коаксиальном кабеле, что приводит к необходимости уменьшать длину кабеля для получения одинакового затухания в сегменте; • RG-59 – телевизионный кабель с волновым сопротивлением 75 Ом широко применяется в кабельном телевидении; • RG-62 – кабель с волновым сопротивлением 93 Ома использовался в сетях ArcNet, оборудование которых сегодня практически не выпускается.
Волоконно-оптические кабели
Волоконно-оптические кабели состоят из центрального проводника света (сердечника) – стеклянного волокна, окруженного другим слоем стекла – оболочкой, обладающей меньшим показателем преломления, чем сердечник. Распространяясь по сердечнику, лучи света не выходят за ее пределы, отражаясь от покрывающего слоя оболочки. В зависимости от распределения показателя преломления и от величины диаметра сердечника различают: •
многомодовое волокно со ступенчатым изменением показателя преломления (рис. 8, а); • многомодовое волокно с плавным изменением показателя преломления (рис. 8, б); одномодовое волокно (рис. 8, в). Понятие «мода» описывает режим распространения световых лучей во внутреннем сердечнике кабеля. В одномодовом кабеле (Single Mode Fiber, SMF) используется центральный проводник очень малого диаметра,
59
соизмеримого с длиной волны света – от 5 до 10 мкм. При этом практически все лучи света распространяются вдоль оптической оси световода, не отражаясь от внешнего проводника. Полоса пропускания одномодового кабеля очень широкая – до сотен гигагерц на километр. Изготовление тонких качественных волокон для одномодового кабеля представляет сложный, технологический процесс, что делает одномодовый кабель достаточно дорогим. Кроме того, в волокно такого маленького диаметра достаточно сложно направить пучок света, не потеряв при этом значительную часть его энергии. В многомодовых кабелях (Multi Mode Fiber, MMF) используются более широкие внутренние сердечники, которые легче изготовить технологически. В стандартах определены два наиболее употребительных многомодовых кабеля: 62,5/125 мкм и 50/125 мкм, где 62,5 мкм или 50 мкм – это диаметр центрального проводника, а 125 мкм – диаметр внешнего проводника.
60
Показатель преломления
Покрытие 40 100 мкм
а
Мода 1 Мода 2
Сердечник
Многомодовое волокно со ступенчатым изменением показателя преломления 40 100 мкм б
Мода 1 Мода 2 Многомодовое волокно с плавным изменением показателя преломления 5 15 мкм
в
Одномодовое волокно Рис. 8. Типы оптического кабеля
В многомодовых кабелях во внутреннем проводнике одновременно существует несколько световых лучей, отражающихся от внешнего проводника под разными углами. Угол отражения луча называется модой луча. В многомодовых кабелях с плавным изменением коэффициента преломления режим распространения каждой моды имеет более сложный характер. Многомодовые кабели имеют более узкую полосу пропускания – от 500 до 800 МГц/км. Сужение полосы происходит из-за потерь световой энергии при отражениях, а также из-за интерференции лучей разных мод. В качестве источников излучения света в волоконно-оптических кабелях применяются: светодиоды, полупроводниковые лазеры.
61
Для одномодовых кабелей применяются только полупроводниковые лазеры, так как при таком малом диаметре оптического волокна световой поток, создаваемый светодиодом, невозможно без больших потерь направить в волокно. Для многомодовых кабелей используются более дешевые светодиодные излучатели. Для передачи информации применяется свет с длиной волны 1550 нм (1,55 мкм), 1300 нм (1,3 мкм) и 850 нм (0,85 мкм). Светодиоды могут излучать свет с длиной волны 850 и 1300 нм. Излучатели с длиной волны 850 нм существенно дешевле, чем излучатели с длиной волны 1300 нм, но полоса пропускания кабеля для волн 850 нм уже, например 200 МГц/км вместо 500 МГц/км. Лазерные излучатели работают на длинах волн 1300 и 1550 нм. Быстродействие современных лазеров позволяет модулировать световой поток с частотами 10 ГГц и выше. Лазерные излучатели создают когерентный поток света, за счет чего потери в оптических волокнах становятся меньше, чем при использовании некогерентного потока светодиодов. Использование только нескольких длин волн для передачи информации в оптических волокнах связано с особенностью их амплитудно-частотной характеристики. Именно для этих дискретных длин волн наблюдаются ярко выраженные максимумы передачи мощности сигнала, а для других волн затухание в волокнах существенно выше. Волоконно-оптические кабели обладают отличными характеристиками всех типов: электромагнитными, механическими (хорошо гнутся, а в соответствующей изоляции обладают хорошей механической прочностью). Однако у них есть один серьезный недостаток – сложность соединения волокон с разъемами и между собой при необходимости наращивания длины кабеля. Стоимость волоконно-оптических кабелей не намного превышает стоимость кабелей на витой паре, однако проведение монтажных работ с оптоволокном обходится намного дороже из-за трудоемкости операций и высокой стоимости применяемого монтажного оборудования. Так, присоединение оптического волокна к разъему требует проведения высокоточной обрезки волокна в плоскости строго перпендикулярной оси волокна, а также выполнения соединения путем сложной операции склеивания, а не обжатия, как это делается для витой пары. Выполнение же некачественных соединений сразу резко сужает полосу пропускания волоконно-оптических кабелей и линий. 2.4. Методы передачи дискретных данных на физическом уровне
62
При передаче дискретных данных по каналам связи применяются два основных типа физического кодирования – на основе синусоидального несущего сигнала и на основе последовательности прямоугольных импульсов. Первый способ часто называется также модуляцией или аналоговой модуляцией, подчеркивая тот факт, что кодирование осуществляется за счет изменения параметров аналогового сигнала. Второй способ обычно называют цифровым кодированием. Эти способы отличаются шириной спектра результирующего сигнала и сложностью аппаратуры, необходимой для их реализации. При использовании прямоугольных импульсов спектр результирующего сигнала получается весьма широким. Это не удивительно, если вспомнить, что спектр идеального импульса имеет бесконечную ширину. Применение синусоиды приводит к спектру гораздо меньшей ширины при той же скорости передачи информации. Однако для реализации синусоидальной модуляции требуется более сложная и дорогая аппаратура, чем для реализации прямоугольных импульсов. В настоящее время все чаще данные, изначально имеющие аналоговую форму (речь, телевизионное изображение), передаются по каналам связи в дискретном виде, то есть в виде последовательности единиц и нулей. Процесс представления аналоговой информации в дискретной форме называется дискретной модуляцией. Термины «модуляция» и «кодирование» часто используют как синонимы. Аналоговая модуляция
Аналоговая модуляция применяется для передачи дискретных данных по каналам с узкой полосой частот, типичным представителем которых является канал тональной частоты, предоставляемый в распоряжение пользователям общественных телефонных сетей. Этот канал передает частоты в диапазоне от 300 до 3400 Гц; таким образом, его полоса пропускания равна 3100 Гц. Хотя человеческий голос имеет гораздо более широкий спектр, примерно от 100 Гц до 10 кГц, для приемлемого качества передачи речи диапазон в 3100 Гц является хорошим решением. Строгое ограничение полосы пропускания тонального канала связано с использованием аппаратуры уплотнения и коммутации каналов в телефонных сетях. Устройство, которое выполняет функции модуляции несущей синусоиды на передающей стороне и демодуляции на приемной стороне, носит название модем (модулятор-демодулятор). Методы аналоговой модуляции
63
Аналоговая модуляция является таким способом физического кодирования, при котором информация кодируется изменением амплитуды, частоты или фазы синусоидального сигнала несущей частоты. Основные способы аналоговой модуляции показаны на рис. 10. На диаграмме рис. 10, а показана последовательность бит исходной информации, представленная потенциалами высокого уровня для логической единицы и потенциалом нулевого уровня для логического нуля. Такой способ кодирования называется потенциальным кодом, который часто используется при передаче данных между блоками компьютера. При амплитудной модуляции (рис. 9, б) для логической единицы выбирается один уровень амплитуды синусоиды несущей частоты, а для логического нуля – другой. Этот способ редко используется в чистом виде на практике из-за низкой помехоустойчивости, но часто применяется в сочетании с другим видом модуляции – фазовой модуляцией.
а
0
1
0
1
0
1
0 t
б t f1
f2
в t
г t Рис. 9. Различные типы модуляции
При частотной модуляции (рис. 9, в) значения 0 и 1 исходных данных передаются синусоидами с различной частотой – f0 и f1. Этот способ модуляции не требует сложных схем в модемах и обычно применяется в низкоскоростных модемах, работающих на скоростях 300 или 1200 бит/с.
64
При фазовой модуляции (рис. 9, г) значениям данных 0 и 1 соответствуют сигналы одинаковой частоты, но с различной фазой, например 0 и 180 градусов или 0, 90, 180 и 270 градусов. В скоростных модемах часто используются комбинированные методы модуляции, как правило, амплитудная модуляция в сочетании с фазовой. Спектр модулированного сигнала
Спектр результирующего модулированного сигнала зависит от типа и скорости модуляции, то есть желаемой скорости передачи бит исходной информации. Рассмотрим сначала спектр сигнала при потенциальном кодировании. Пусть логическая единица кодируется положительным потенциалом, а логический ноль – отрицательным потенциалом такой же величины. Предположим, что передается информация, состоящая из бесконечной последовательности чередующихся единиц и нулей, как это и показано на рис. 9, а. Заметим, что в данном случае величины бод и бит в секунду совпадают. Для потенциального кодирования спектр непосредственно получается из формул Фурье для периодической функции. Если дискретные данные передаются с битовой скоростью N бит/с, то спектр состоит из постоянной составляющей нулевой частоты и бесконечного ряда гармоник с частотами f0, 3 f0, 5 f0, 7 f0, ..., где f0 = N/2. Амплитуды этих гармоник убывают достаточно медленно – с коэффициентами 1/3, 1/5, 1/7, ... от амплитуды гармоники f0 (рис. 10, а). В результате спектр потенциального кода требует для качественной передачи широкую полосу пропускания. Кроме того, нужно учесть, что реально спектр сигнала постоянно меняется в зависимости от того, какие данные передаются по линии связи. Например, передача длинной последовательности нулей или единиц сдвигает спектр в сторону низких частот, а в крайнем случае, когда передаваемые данные состоят только из единиц (или только из нулей), спектр состоит из гармоники нулевой частоты. При передаче чередующихся единиц и нулей постоянная составляющая отсутствует. Поэтому спектр результирующего сигнала потенциального кода при передаче произвольных данных занимает полосу от некоторой величины, близкой к 0 Гц, до ≈ 7 f0 (гармониками с частотами выше 7 f0 можно пренебречь из-за их малого вклада в результирующий сигнал). Для канала тональной частоты верхняя граница при потенциальном кодировании достигается для скорости передачи данных 971 бит/с, а нижняя неприемлема для любых скоростей, так как полоса пропускания канала начинается с 300 Гц.
65
A
Полоса пропускания линии A Спектр потенциального кода
f0 =
N 2
3f0
а
5f0
F
Полоса пропускания линии
f0 − f m f0 f0 + f m
F
б
Рис. 10. Спектры сигнала при потенциальном кодировании и амплитудной модуляции
При амплитудной модуляции спектр состоит из синусоиды несущей частоты f и двух боковых гармоник: ( f c + f m ) и ( f c – f m ), где f m – частота изменения информационного параметра синусоиды, которая совпадает со скоростью передачи данных при использовании двух уровней амплитуды (рис. 10, б). Частота f m определяет пропускную способность линии при данном способе кодирования. При небольшой частоте модуляции ширина спектра сигнала будет также небольшой (равной 2 f m ), поэтому сигналы не будут искажаться линией, если ее полоса пропускания будет больше или равна 2 f m . Для канала тональной частоты такой способ модуляции приемлем при скорости передачи данных не больше 3100/2, что составляет 1550 бит/с. Если же для представления данных используются четыре уровня амплитуды, то пропускная способность канала повышается до 3100 бит/с. При фазовой и частотной модуляциях спектр сигнала получается более сложным, чем при амплитудной модуляции, так как боковых гармоник здесь образуется более двух, но они также симметрично расположены относительно основной несущей частоты, а их амплитуды быстро убывают. Поэтому эти виды модуляции также хорошо подходят для передачи данных по каналу тональной частоты. В результате потенциальные коды на каналах тональной частоты никогда не используются. Для повышения скорости передачи данных используют комбинированные методы модуляции. Наиболее распространенными являются методы квадратурной амплитудной модуляции (Quadrature Amplitude Modulation, QAM). Эти методы основаны на сочетании фазовой модуляции с 8 значениями величин сдвига фазы и амплитудной модуляции с четырьмя уровнями амплитуды. Однако из возможных 32 комбинаций сигнала используются далеко не все. Например, в кодах Треллиса допустимы
66
всего 6, 7 или 8 комбинаций для представления исходных данных, а остальные комбинации являются запрещенными. Такая избыточность кодирования требуется для распознавания модемом ошибочных сигналов, являющихся следствием искажений из-за помех, которые на телефонных каналах, особенно коммутируемых, весьма значительны по амплитуде и продолжительны по времени. 2.5. Цифровое кодирование
При цифровом кодировании дискретной информации применяют потенциальные и импульсные коды. В потенциальных кодах для представления логических единиц и нулей используется только значение потенциала сигнала, а его перепады, формирующие законченные импульсы, во внимание не принимаются. Импульсные коды позволяют представить двоичные данные либо импульсами определенной полярности, либо частью импульса – перепадом потенциала определенного направления. Требования к методам цифрового кодирования
При использовании прямоугольных импульсов для передачи дискретной информации необходимо выбрать такой способ кодирования, который одновременно достигал бы нескольких целей: •
имел при одной и той же битовой скорости наименьшую ширину спектра результирующего сигнала; • обеспечивал синхронизацию между передатчиком и приемником; • обладал способностью распознавать ошибки; • обладал низкой стоимостью реализации. Более узкий спектр сигналов позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Кроме того, часто к спектру сигнала предъявляется требование отсутствия постоянной составляющей, то есть наличия постоянного тока между передатчиком и приемником. В частности, применение различных трансформаторных схем гальванической развязки препятствует прохождению постоянного тока.
67
Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую информацию с линии связи. Эта проблема в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами. На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи, так что информация снимается с линии данных только в момент прихода тактового импульса. В сетях использование этой схемы вызывает трудности из-за неоднородности характеристик проводников в кабелях. На больших расстояниях неравномерность скорости распространения сигнала может привести к тому, что тактовый импульс придет настолько позже или раньше соответствующего сигнала данных, что бит данных будет пропущен или считан повторно. Другой причиной, по которой в сетях отказываются от использования тактирующих импульсов, является экономия проводников в дорогостоящих кабелях. Поэтому в сетях применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для передатчика указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких бит, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала – так называемый фронт – может служить хорошим указанием для синхронизации приемника с передатчиком. При использовании синусоид в качестве несущего сигнала результирующий код обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность приемнику определить момент появления входного кода. Распознавание и коррекцию искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или прикладной. С другой стороны, распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных бит внутри кадра. Требования, предъявляемые к методам кодирования, являются взаимно противоречивыми, поэтому каждый из рассматриваемых ниже популярных методов цифрового кодирования обладает своими преимуществами и своими недостатками по сравнению с другими. Потенциальный код без возвращения к нулю На рис. 11, а показан уже упомянутый ранее метод потенциального кодирования. Этот метод называется также кодированием без возвращения к нулю (Non Return to Zero, NRZ), так как при передаче последовательности
68
единиц сигнал не возвращается к нулю в течение такта. Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок (из-за двух резко отличающихся потенциалов), но не обладает свойством самосинхронизации. При передаче длинной последовательности единиц или нулей сигнал на линии не изменяется, поэтому приёмник лишен возможности определять по входному сигналу моменты времени, когда нужно в очередной раз считывать данные. Даже при наличии высокоточного тактового генератора приемник может ошибиться с моментом съема данных, так как частоты двух генераторов никогда не бывают полностью идентичными. Другим серьезным недостатком метода NRZ является наличие низкочастотной составляющей, которая приближается к нулю при передаче длинных последовательностей единиц или нулей. Из-за этого многие каналы связи, не обеспечивающие прямого гальванического соединения между приемником и источником, этот вид кодирования не поддерживают. В результате в чистом виде код NRZ в сетях не используется. Тем не менее используются его различные модификации, в которых устраняют как плохую самосинхронизацию кода NRZ, так и наличие постоянной составляющей. Привлекательность кода NRZ, из-за которой имеет смысл заняться его улучшением, состоит в достаточно низкой частоте основной гармоники f0, которая равна N/2 Гц. Метод биполярного кодирования с альтернативной инверсией
Одной из модификаций метода NRZ является метод биполярного кодирования с альтернативной инверсией (Bipolar Alternate Mark Inversion, AMI). В этом методе (рис. 11, б) используются три уровня потенциала – отрицательный, нулевой и положительный. Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей. Код AMI частично ликвидирует проблемы постоянной составляющей и отсутствия самосинхронизации, присущие коду NRZ. Это происходит при передаче длинных последовательностей единиц. В этих случаях сигнал на линии представляет собой последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой N/2 Гц (где N – битовая скорость передачи данных). Длинные же последовательности нулей также опасны для кода AMI, как и для кода NRZ – сигнал вырождается в постоянный потенциал нулевой амплитуды.
69
0
1 0 1 1 Потенциальный код NRZ
0
0
0
1
0
а Биполярный код AMI (NRZI) б Биполярный импульсный код в Манчестерский код г
+3 +1 д -1 -3
Потенциальный код 2B1Q 00 00 10 00 10
Рис. 11. Способы дискретного кодирования данных
В целом, для различных комбинаций бит на линии использование кода AMI приводит к более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой пропускной способности линии. Например, при передаче чередующихся единиц и нулей основная гармоника f0 имеет частоту N/4 Гц. Нарушение же строгого чередования полярности сигналов говорит о ложном импульсе или исчезновении с линии корректного импульса. Дополнительный уровень сигнала требует увеличения мощности передатчика примерно на 3 дБ для обеспечения той же достоверности приема бит на линии, что является общим недостатком кодов с несколькими состояниями сигнала.
70
Биполярный импульсный код
Кроме потенциальных кодов в сетях используются импульсные коды, когда данные представлены полным импульсом или же его частью – фронтом. Наиболее простым случаем такого подхода является биполярный импульсный код, в котором единица представлена импульсом одной полярности, а ноль – другой (рис. 11, в). Каждый импульс длится половину такта. Такой код обладает отличными самосинхронизирующими свойствами, но постоянная составляющая может присутствовать, например, при передаче длинной последовательности единиц или нулей. Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный импульсный код используется редко. Манчестерский код В манчестерском коде (рис. 11, г) для кодирования единиц и нулей используется фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль – обратным перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется, по крайней мере, один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при передаче чередующихся единиц и нулей) – равна N/2 Гц, как и у кодов AMI или NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного импульсного кода, а основная гармоника колеблется вблизи значения 3N/4. Потенциальный код 2B1Q На рис. 11, д показан потенциальный код с четырьмя уровнями сигнала для кодирования данных. Это код 2B1Q, название которого отражает его суть:
71
каждые два бита (2В) передаются за один такт сигналом, имеющим четыре состояния (1Q). Паре бит 00 соответствует потенциал минус 3 В, паре бит 01 соответствует потенциал минус 1 В, паре 11 – потенциал 1 В, а паре 10 – потенциал 3 В. При этом способе кодирования требуются дополнительные меры по борьбе с длинными последовательностями одинаковых пар бит, так как при этом сигнал превращается в постоянную составляющую. При случайном чередовании бит спектр сигнала в два раза уже, чем у кода NRZ, так как при той же битовой скорости длительность такта увеличивается в два раза. Таким образом, с помощью кода 2В1Q можно по одной и той же линии передавать данные в два раза быстрее, чем с помощью кода AMI или NRZ. Однако для его реализации мощность передатчика должна быть выше, чтобы четыре уровня четко различались приемником на фоне помех. Логическое кодирование
Логическое кодирование используется для улучшения потенциальных кодов типа AMI, NRZ или 2B1Q. Логическое кодирование должно заменять длинные последовательности бит, приводящие к постоянному потенциалу, вкраплениями единиц. Для логического кодирования характерны два метода – избыточные коды и скрэмблирование. Избыточные коды основаны на разбиении исходной последовательности бит на порции, которые часто называют символами. Затем каждый исходный символ заменяется на новый, который имеет большее количество бит, чем исходный. Например, логический код 4В/5В заменяет исходные символы длиной 4 бита на символы длиной 5 бит. Так как результирующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В результирующие символы могут содержать 32 битовых комбинации, в то время как исходные символы – только 16. Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами (code violation). Кроме устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Код 4В/5В затем передается по линии с помощью физического кодирования по одному из методов потенциального кодирования, чувствительному только к длинным последовательностям нулей. Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не могут встретиться более трех нулей подряд.
72
Буква В в названии кода означает, что элементарный сигнал имеет два состояния (от английского binary – двоичный). Имеются также коды и с тремя состояниями сигнала. Например, в коде 8В/6Т для кодирования 8 бит исходной информации используется код из 6 сигналов, каждый из которых имеет три состояния. Избыточность кода 8В/6Т выше, чем кода 4В/5В, так как на 256 исходных кодов приходится 36 = 729 результирующих символов. Использование таблицы перекодировки является очень простой операцией, поэтому этот подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршрутизаторов. Для обеспечения заданной пропускной способности линии передатчик, использующий избыточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов 4В/5В со скоростью 100 Мб/с передатчик должен работать с тактовой частотой 125 МГц. При этом спектр сигнала на линии расширяется по сравнению со случаем, когда по линии передается чистый код. Тем не менее спектр избыточного потенциального кода оказывается уже спектра манчестерского кода, что оправдывает дополнительный этап логического кодирования, а также работу приемника и передатчика на повышенной тактовой частоте. Перемешивание данных скрэмблером перед передачей их в линию с помощью потенциального кода является другим способом логического кодирования. Методы скрэмблирования заключаются в побитном вычислении результирующего кода на основании бит исходного кода и полученных в предыдущих тактах бит результирующего кода. Например, скрэмблер может реализовывать следующее соотношение: Bi = Ai ⊕ Bi −3 ⊕ B i−5 , где Bi – двоичная цифра результирующего кода, полученная на i-м такте работы скрэмблера; Ai – двоичная цифра исходного кода, поступающая на iм такте на вход скрэмблера; Bi−3 и Bi−5 – двоичные цифры результирующего кода, полученные на предыдущих тактах работы скрэмблера, соответственно на 3 и на 5 тактов ранее текущего такта; ⊕ – операция исключающего ИЛИ (сложение по модулю 2). Для исходной последовательности 110110000001 скрэмблер даст следующий результирующий код 110001101111, в котором нет последовательности из шести нулей, присутствовавшей в исходном коде. После получения результирующей последовательности приемник передает ее дескрэлеру, который восстанавливает исходную последовательность на основании обратного соотношения: C i =Bi ⊕ Bi−3 ⊕ Bi−5 .
Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми.
73
Дискретная модуляция аналоговых сигналов
Одной из основных тенденций развития сетевых технологий является передача в одной сети как дискретных, так и аналоговых по своей природе данных. Источниками дискретных данных являются компьютеры и другие вычислительные устройства, а источниками аналоговых данных являются такие устройства, как телефоны, видеокамеры, звукои видеовоспроизводящая аппаратура. На ранних этапах решения этой проблемы в территориальных сетях все типы данных передавались в аналоговой форме, при этом дискретные по своему характеру компьютерные данные преобразовывались в аналоговую форму с помощью модемов. Однако по мере развития техники съема и передачи аналоговых данных выяснилось, что передача их в аналоговой форме не позволяет улучшить качество принятых на другом конце линии данных, если они существенно исказились при передаче. Сам аналоговый сигнал не дает никаких указаний ни о том, что произошло искажение, ни о том, как его исправить, поскольку форма сигнала может быть любой, в том числе и такой, которую зафиксировал приемник. Улучшение же качества линий, особенно территориальных, требует огромных усилий и капиталовложений. Поэтому на смену аналоговой технике записи и передачи звука и изображения пришла цифровая техника. Эта техника использует так называемую дискретную модуляцию исходных непрерывных во времени аналоговых процессов. Аналоговый сигнал с наивысшей гармоникой Fm
n3 n2
Частота квантования
fk =
n4
1 = 2 × Fm τ
n1 − n 4 n1
τ t1
τ t2
τ t3
t4
Рис. 12. Дискретная модуляция непрерывного процесса
74
Дискретные способы модуляции основаны на дискретизации непрерывных процессов как по амплитуде, так и по времени (рис. 12). Рассмотрим принципы дискретной модуляции на примере импульсно-кодовой модуляции, ИКМ (Pulse Amplitude Modulation, PAM), которая широко применяется в цифровой телефонии. Амплитуда исходной непрерывной функции измеряется с заданным периодом, за счёт этого происходит дискретизация по времени. Затем каждый замер представляется в виде двоичного числа определенной разрядности, что означает дискретизацию по значениям функции – непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений. Устройство, которое выполняет подобную функцию, называется аналого-цифровым преобразователем (АЦП). После этого замеры передаются по каналам связи в виде последовательности единиц и нулей. При этом применяются те же методы кодирования, что и в случае передачи изначально дискретной информации. На приемной стороне линии коды преобразуются в исходную последовательность бит, а специальная аппаратура, называемая цифроаналоговым преобразователем (ЦАП), производит демодуляцию оцифрованных амплитуд непрерывного сигнала, восстанавливая исходную непрерывную функцию времени. Дискретная модуляция основана на теории отображения Найквиста – Котельникова. В соответствии с этой теорией, аналоговая непрерывная функция, переданная в виде последовательности ее дискретных по времени значений, может быть точно восстановлена, если частота дискретизации была в два или более раз выше, чем частота самой высокой гармоники спектра исходной функции. Преимуществом цифровых методов записи, воспроизведения и передачи аналоговой информации является возможность контроля достоверности считанных с носителя или полученных по линии связи данных. Для этого можно применять те же методы, которые применяются для компьютерных данных – вычисление контрольной суммы, повторная передача искаженных кадров, применение самокорректирующихся кодов. Для качественной передачи голоса в методе ИКМ используется частота квантования амплитуды звуковых колебаний 8000 Гц. Это связано с тем, что в аналоговой телефонии для передачи голоса был выбран диапазон от 300 до 3400 Гц, который достаточно качественно передает все основные гармоники собеседников. В соответствии с теоремой Найквиста – Котельникова для качественной передачи голоса достаточно выбрать частоту дискретизации, в два раза превышающую самую высокую гармонику непрерывного сигнала, то есть 2×3400=6800 Гц. Выбранная в действительности частота дискретизации 8000 Гц обеспечивает некоторый запас качества. В методе ИКМ обычно используется 7 или 8 бит кода для представления амплитуды
75
одного замера. Соответственно это дает 127 или 256 градаций звукового сигнала, что оказывается вполне достаточным для качественной передачи голоса. При использовании метода ИКМ для передачи одного голосового канала необходима пропускная способность 56 или 64 Кбит/с в зависимости от того, каким количеством бит представляется каждый замер. Если для этих целей используется 7 бит, то при частоте передачи замеров 8000 Гц получаем: 8000×7=56000 бит/с или 56 Кбит/с; а для 8 бит: 8000×8=64000 бит/с или 64 Кбит/с. Стандартным является цифровой канал 64 Кбит/с, который также называется элементарным каналом цифровых телефонных сетей. Передача непрерывного сигнала в дискретном виде требует от сетей жесткого соблюдения временного интервала 125 мкс (соответствующего частоте дискретизации 8000 Гц) между соседними замерами, то есть синхронной передачи данных между узлами сети. При несоблюдении синхронности прибывающих замеров исходный сигнал восстанавливается неверно, что приводит к искажению голоса, изображения или другой мультимедийной информации, передаваемой по цифровым сетям. Так, искажение синхронизации в 10 мс может привести к эффекту "эха", а сдвиги между замерами в 200 мс приводят к потере распознаваемости произносимых слов. В то же время потеря одного замера при соблюдении синхронности между остальными замерами практически не сказывается на воспроизводимом звуке. Это происходит за счёт сглаживающих устройств в цифроаналоговых преобразователях, которые основаны на свойстве инерционности любого физического сигнала, амплитуда звуковых колебаний не может мгновенно измениться на большую величину. На качество сигнала после ЦАП влияет не только синхронность поступления на его вход замеров, но и погрешность дискретизации амплитуд этих замеров. В теореме Найквиста – Котельникова предполагается, что амплитуды функции измеряются точно, в то же время использование для их хранения двоичных чисел с ограниченной разрядностью несколько искажает эти амплитуды. Соответственно искажается восстановленный непрерывный сигнал, что называется шумом дискретизации (по амплитуде). Существуют и другие методы дискретной модуляции, позволяющие представить замеры голоса в более компактной форме, например в виде последовательности 4-битных или 2-битных чисел. При этом один голосовой канал требует меньшей пропускной способности, например 32Кбит/с, 16Кбит/с или еще меньше. С 1985 года применяется стандарт CCITT кодирования голоса, называемый Adaptive Differential Pulse Code Modulation (ADPCM). Коды ADPCM основаны на нахождении разностей между последовательными замерами голоса, которые затем и передаются по сети. В коде ADPCM для хранения одной разности используются 4 бит и голос передается со скоростью 32 Кбит/с. Более современный метод Linear
76
Predictive Coding (LPC) делает замеры исходной функции более редко, но использует методы прогнозирования направления изменения амплитуды сигнала. При помощи этого метода можно понизить скорость передачи голоса до 9600 бит/с. Представленные в цифровой форме непрерывные данные легко можно передать через компьютерную сеть. Для этого достаточно поместить несколько замеров в кадр какой-нибудь стандартной сетевой технологии, снабдить кадр правильным адресом назначения и отправить адресату. Адресат должен извлечь из кадра замеры и подать их с частотой квантования (для голоса – с частотой 8000 Гц) на цифроаналоговый преобразователь. По мере поступления следующих кадров с замерами голоса операция должна повториться. Если кадры будут прибывать достаточно синхронно, то качество голоса может быть достаточно высоким. Однако кадры в компьютерных сетях могут задерживаться как в конечных узлах (при ожидании доступа к разделяемой среде), так и в промежуточных коммуникационных устройствах – мостах, коммутаторах и маршрутизаторах. Поэтому качество голоса при передаче в цифровой форме через компьютерные сети обычно бывает невысоким. 2.6. Передача с установлением соединения и без установления соединения
При передаче кадров данных на канальном уровне используются как дейтаграммные процедуры, работающие без установления соединения (connectionIess), так и процедуры с предварительным установлением логического соединения (connection- oriented). При дейтаграммной передаче кадр посылается в сеть «без предупреждения», и никакой ответственности за его утерю протокол не несет. Предполагается, что сеть всегда готова принять кадр от конечного узла. Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных не выполняется. Однако при таком методе трудно организовать в рамках протокола отслеживание факта доставки кадра узлу назначения. Этот метод не гарантирует доставку пакета. Передача с установлением соединения более надежна, но требует больше времени для передачи данных и вычислительных затрат от конечных узлов. В этом случае узлу-получателю отправляется служебный кадр специального формата с предложением установить соединение. Если узелполучатель согласен с этим, то он посылает в ответ другой служебный кадр, подтверждающий установление соединения и предлагающий для данного логического соединения некоторые параметры, например идентификатор
77
соединения, максимальное значение поля данных кадров, которые будут использоваться в рамках данного соединения, и т. п. Узел-инициатор соединения может завершить процесс установления соединения отправкой третьего служебного кадра, в котором сообщит, что предложенные параметры ему подходят. На этом логическое соединение считается установленным, и в его рамках можно передавать информационные кадры с пользовательскими данными. После передачи некоторого законченного набора данных, например определенного файла, узел инициирует разрыв данного логического соединения, посылая соответствующий служебный кадр. Процедура установления соединения может использоваться для достижения различных целей: • для взаимной аутентификации либо пользователей, либо оборудования; • для согласования изменяемых параметров протокола; • для обнаружения и коррекции ошибок. Установление логического соединения дает точку отсчета для задания начальных значений номеров кадров; • для установления логического соединения используют при динамической настройке коммутаторов сети для маршрутизации всех последующих кадров. При установлении соединения могут преследоваться разные цели, в некоторых случаях – несколько одновременно. 2.7. Обнаружение и коррекция ошибок
Канальный уровень должен обнаруживать ошибки передачи данных, связанные с искажением бит в принятом кадре данных или с потерей кадра, и по возможности их корректировать. Большая часть протоколов канального уровня выполняет только первую задачу – обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать данные, содержащие искаженную информацию, должны протоколы верхних уровней. Очевидно, что протоколы должны работать наиболее эффективно в типичных условиях работы сети. Поэтому для сетей, в которых искажения и потери кадров являются очень редкими событиями, разрабатываются протоколы, в которых не предусматриваются процедуры устранения ошибок. Действительно, наличие процедур восстановления данных потребовало бы от конечных узлов дополнительных вычислительных затрат, которые в условиях надежной работы сети являлись бы избыточными. Напротив, если в сети искажения и потери случаются часто, то желательно уже на канальном уровне использовать протокол с коррекцией
78
ошибок, а не оставлять эту работу протоколам верхних уровней. Протоколы верхних уровней, работая с большими тайм-аутами, восстановят потерянные данные с большой задержкой. В глобальных сетях первых поколений протоколы канального уровня всегда выполняли процедуры восстановления потерянных и искаженных кадров. Поэтому нельзя считать, что один протокол лучше другого потому, что он восстанавливает ошибочные кадры, а другой протокол – нет. Каждый протокол должен работать в тех условиях, для которых он разработан. Методы обнаружения ошибок
Все методы обнаружения ошибок основаны на передаче в составе кадра данных избыточной служебной информации, по которой можно судить с некоторой степенью вероятности о достоверности принятых данных. Эту служебную информацию принято называть контрольной суммой. Контрольная сумма вычисляется как функция от основной информации, причем необязательно только путем суммирования. Принимающая сторона повторно вычисляет контрольную сумму кадра по известному алгоритму и в случае ее совпадения с контрольной суммой, вычисленной передающей стороной, делает вывод о том, что данные были переданы через сеть корректно. Существует несколько распространенных алгоритмов вычисления контрольной суммы, отличающихся вычислительной сложностью и способностью обнаруживать ошибки в данных. Контроль по паритету представляет собой наиболее простой метод контроля данных. В то же время это наименее мощный алгоритм контроля, так как с его помощью можно обнаружить только одиночные ошибки в проверяемых данных. Метод редко применяется в вычислительных сетях изза его большой избыточности и невысоких диагностических способностей. Вертикальный и горизонтальный контроль по паритету представляет собой модификацию описанного выше метода. Его отличие состоит в том, что исходные данные рассматриваются в виде матрицы, строки которой составляют байты данных. Контрольный разряд подсчитывается отдельно для каждой строки и для каждого столбца, матрицы. Этот метод обнаруживает большую часть двойных ошибок, однако обладает еще большей избыточностью и поэтому в настоящее время почти не применяется. Избыточный циклический контроль является в настоящее время наиболее популярным методом контроля в вычислительных сетях. Метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа. В качестве контрольной информации рассматривается остаток от деления этого числа на известный делитель R. Обычно в качестве
79
делителя выбирается 17- или 33-разрядное число, чтобы остаток от деления имел длину 16 разрядов (2 байта) или 32 разряда (4 байта). При получении кадра данных снова вычисляется остаток от деления на тот же делитель R, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления на R равен нулю, то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр считается искаженным. Этот метод обладает более высокой вычислительной сложностью, но его диагностические возможности гораздо выше: он обнаруживает все одиночные, двойные ошибки и ошибки в нечетном числе бит. Метод обладает также невысокой степенью избыточности. Например, для кадра размером 1024 байта контрольная информация длиной 4 байта составляет только 0,4 %. Методы восстановления искаженных и потерянных кадров
Методы коррекции ошибок в вычислительных сетях основаны на повторной передаче кадра данных в том случае, если кадр теряется и не доходит до адресата или приемник обнаружил в нем искажение информации. Чтобы убедиться в необходимости повторной передачи данных, отправитель нумерует отправляемые кадры и для каждого кадра ожидает от приемника так называемой положительной квитанции – служебного кадра, извещающего о том, что исходный кадр был получен и данные в нем оказались корректными. Время этого ожидания ограничено: при отправке каждого кадра передатчик запускает таймер, и, если по его истечении положительная квитанция не получена, кадр считается утерянным. Приемник в случае получения кадра с искаженными данными может отправить отрицательную квитанцию – явное указание на то, что данный кадр нужно передать повторно. Существуют два подхода к организации процесса обмена квитанциями: с простоями и с организацией "окна". Метод с простоями (Idle Source) требует, чтобы источник, пославший кадр, ожидал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или повторял искаженный). Если же квитанция не приходит в течение тайм-аута, то кадр (или квитанция) считается утерянным и его передача повторяется. На рис. 13, а видно, что в этом случае производительность обмена данными существенно снижается: хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции. Снижение производительности этого метода коррекции особенно заметно на низкоскоростных каналах связи, то есть в территориальных сетях.
80
Второй метод называется методом "скользящего окна" (sliding reindow). В этом методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры положительных ответных квитанций. Количество кадров, которые разрешается передавать таким образом, называется размером окна. Данный метод для окна размером W кадров иллюстрирует рис. 13, б. Интервал отправки
1
Отправленные кадры
2
3 t
К1
а
К3
К2
t 1
2
3 t Wn + 1
Wn
1
...
2
n
n+1
...
w
w+1 t
К1
б
Кn
К2
t 1 t0
2 t1
...
n tn
t
Рис. 13. Методы восстановления искажённых и потерянных кадров
В начальный момент, когда еще не послано ни одного кадра, окно определяет диапазон кадров с номерами от 1 до W включительно. Источник начинает передавать кадры и получать в ответ квитанции. Для простоты предположим, что квитанции поступают в той же последовательности, что и кадры, которым они соответствуют. В момент t 1 при получении первой квитанции К1 окно сдвигается на одну позицию, определяя новый диапазон от 2 до (W+1). Все множество кадров, выходящих из источника, можно разделить на перечисленные ниже группы (рис. 13, б):
81 •
кадры с номерами от 1 до n уже были отправлены, и квитанции на них получены, то есть они находятся за пределами окна слева; • кадры, начиная с номера (n+1) и кончая номером (W+n), находятся в пределах окна и потому могут быть отправлены, не дожидаясь прихода какой-либо квитанции; • все кадры с номерами, большими или равными (W+n+1), находятся за пределами окна справа и поэтому пока не могут быть отправлены. Итак, при отправке кадра с номером n источнику разрешается передать еще W–1 кадров до получения квитанции на кадр n, так что в сеть последним уйдет кадр с номером (W+n–1). Если же за это время квитанция на кадр n так и не пришла, то процесс передачи приостанавливается, и по истечении некоторого тайм-аута кадр n (или квитанция на него) считается утерянным, и он передается снова. Если же поток квитанций поступает относительно регулярно, в пределах допуска W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола. Метод скользящего окна более сложен в реализации, чем метод с простоями, так как передатчик должен хранить в буфере все кадры, на которые пока не получены положительные квитанции. Кроме того, требуется отслеживать несколько параметров алгоритма: размер окна W, номер кадра, на который получена квитанция, номер кадра, который еще можно передать до получения новой квитанции. Приемник может не посылать квитанции на каждый принятый корректный кадр. Если несколько кадров пришли почти одновременно, то приемник может послать квитанцию только на последний кадр. При этом подразумевается, что все предыдущие кадры также дошли благополучно. Некоторые методы используют отрицательные квитанции. Отрицательные квитанции бывают двух типов – групповые и избирательные. Групповая квитанция содержит номер кадра, начиная с которого нужно повторить передачу всех кадров, отправленных передатчиком в сеть. Отрицательная избирательная квитанция требует повторной передачи только одного кадра. Метод скользящего окна имеет два параметра, которые могут заметно влиять на эффективность передачи данных между передатчиком и приемником, – размер окна и величина тайм-аута ожидания квитанции. В надежных сетях, когда кадры искажаются и теряются редко, для повышения скорости обмена данными размер окна нужно увеличивать, так как при этом передатчик будет посылать кадры с меньшими паузами. Выбор тайм-аута зависит не от надежности сети, а от задержек передачи кадров сетью. Во многих реализациях метода скользящего окна
82
величина окна и тайм-аут выбираются адаптивно, в зависимости от текущего состояния сети. 2.8. Компрессия данных
Компрессия (сжатие) данных применяется для сокращения времени их передачи. Так как на компрессию данных передающая сторона тратит дополнительное время, к которому нужно еще прибавить аналогичные затраты времени на декомпрессию этих данных принимающей стороной, то выгоды от сокращения времени на передачу сжатых данных обычно бывают заметны только для низкоскоростных каналов. Этот порог скорости для современной аппаратуры составляет около 64 Кбит/с. Многие программные и аппаратные средства сети способны выполнять динамическую компрессию данных в отличие от статической, когда данные предварительно компрессируются, а уже затем отсылаются в сеть. На практике может использоваться ряд алгоритмов компрессии, каждый из которых применим к определенному типу данных. Некоторые модемы (называемые интеллектуальными) предлагают адаптивную компрессию, при которой в зависимости от передаваемых данных выбирается определенный алгоритм компрессии. Рассмотрим некоторые из общих алгоритмов компрессии данных. Десятичная упаковка. Когда данные состоят только из чисел, значительную экономию можно получить путем уменьшения количества используемых на цифру бит с 7 до 4, используя простое двоичное кодирование десятичных цифр вместо кода ASCII. Если все данные в кадре информации состоят из десятичных цифр, то, поместив в заголовок кадра соответствующий управляющий символ, можно существенно сократить длину кадра. Относительное кодирование. Альтернативой десятичной упаковке при передаче числовых данных с небольшими отклонениями между последовательными цифрами является передача только этих отклонений вместе с известным опорным значением. Символьное подавление. Часто передаваемые данные содержат большое количество повторяющихся байт. Например, при передаче черно-белого изображения черные поверхности будут порождать большое количество нулевых значений, а максимально освещенные участки изображения – большое количество байт, состоящих из всех единиц. Передатчик сканирует последовательность передаваемых байт и, если обнаруживает последовательность из трех или более одинаковых байт, заменяет ее специальной трехбайтовой последовательностью, в которой указывает
83
значение байта, количество его повторений, а также отмечает начало этой последовательности специальным управляющим символом. Коды переменной длины. В этом методе кодирования используется тот факт, что не все символы в передаваемом кадре встречаются с одинаковой частотой. Поэтому во многих схемах кодирования коды часто встречающихся символов заменяют кодами меньшей длины, а редко встречающихся – кодами большей длины. Вследствие того, что символы имеют различную длину, для передачи кадра возможна только бит-ориентированная передача. Вообще, неравномерное кодирование наиболее эффективно, когда неравномерность распределения частот передаваемых символов достаточно велика, как при передаче длинных текстовых строк. Напротив, при передаче двоичных данных, например кодов программ, оно малоэффективно, так как 8битовые коды при этом распределены почти равномерно. Одним из наиболее распространенных алгоритмов, на основе которых строятся неравномерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически, на основании известных частот символов. Существуют адаптивные модификации метода Хафмана, которые позволяют строить дерево кодов «на ходу», по мере поступления данных от источника. Многие модели коммуникационного оборудования поддерживают протоколы динамической компрессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз.
84
Контрольные вопросы 1. 2. 3. 4. 5. 6.
Какие типы линий связи Вам известны ? Назовите основные характеристики линий связи. Назовите достоинства и недостатки коаксиального кабеля. Назовите достоинства и недостатки витой паря. Назовите достоинства и недостатки оптического кабеля. Перечислите основные характеристики кабеля на основе витой пары известных Вам категорий. 7. В чем заключается отличие одномодового оптического кабеля от многомодового ? 8. Назовите достоинства и недостатки амплитудной модуляции. 9. Назовите достоинства и недостатки частотной модуляции. 10. Назовите достоинства и недостатки фазовой модуляции. 11. Назовите известные Вам коды, используемые. 12. Объясните необходимость использования логического кодирования в сетях. 13. Каким образом можно с помощью одного импульса передать более одного бита полезной информации ? 14. Какие методы обнаружения ошибок Вам известны ? 15. Каким образом осуществляется подтверждение получения пакета приемником в компьютерных сетях ? 16. Какие методы сжатия информации Вам известны ? 17. На чем основаны методы компрессии данных ? 18. Почему для передачи голоса необходима скорость передачи 64Кбит/с ?
85
ЗАКЛЮЧЕНИЕ Данное учебное пособие посвящено рассмотрению принципов создания локальных сетей, методам кодирования информации, типам передающих сред, применяемых в сетях. В пособии вначале рассматривается пример организации передачи информации между двумя компьютерами, на основе которого, определяется комплекс вопросов, которые необходимо решить для организации сетей. Подробно рассматривается модель передачи данных OSI. Описывается назначение каждого уровня и способы его реализации. Рассматриваются типы топологий, вопросы, связанные с адресацией узлов в сети и среды передачи данных. Подробно рассматриваются вопросы обнаружения ошибок возникающих при передачи информации по сети. Учебное пособие предназначено для самостоятельного изучения в качестве дополнения к учебным пособиям для курса коммутаторы и IP телефония. Учебное пособие может быть полезно всем студентам, интересующимся сетями и в качестве дополнительной литературы для всех курсов, связанных с сетями и устройствами передачи данных.
86
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Бэрри Нанс. Компьютерные сети. М.: БИНОМ, 1995. 400 с. 2. Диттер Веттиг. Novell NetWare для пользователей. СПб.: BHV – СанктПетербург, 1993. 528 с. 3. Билл Лоренс. Novell NetWare 4.1 в подлиннике: Пер. с англ. СПб.: BHV – Санкт-Петербург, 1996. 720 с. 4. Ресурсы Windows NT: Пер. с англ. СПб.: BHV – Санкт-Петербург, 1995. 720 с. 5. Сетевые средства Windows NT: Пер. с англ. СПб.: BHV – Санкт-Петербург, 1996. 496 с. 6. Компьютерные сети. Учебный курс: Пер. с англ. М.: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1977. 696 с. 7. Компьютерные сети+. Учебный курс: Официальное пособие Microsoft для самостоятельной подготовки: Пер. с англ. М.: Издательско-торговый дом "Русская редакция" ТОО "Channel Trading Ltd.", 2000. 552 с. 8. В. Г. Олифер, Н. А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2001. 672 с. 9. В. Г. Олифер, Н. А. Олифер. Сетевые операционные системы. СПб.: Питер, 2001. 544 с. 10.Ю. Блэк. Сети ЭВМ: протоколы, стандарты, интерфейсы: Пер. с англ. М.: Мир, 1990. 346 с. 11. Л. Куин, Р. Рассел. Fasy Ethernet: Пер. с англ. Киев: BHV – Киев, 1998. 320 с. 12. А. Спортак и др. Высокопроизводительные сети. Энциклопедия пользователя: Пер. с англ. Киев: ДиаСофт, 1998. 542 с. 13. Джеффери Ф. Хьюз, Блейер В. Томас. Сети NetWare 5. Руководство от Novell: Пер. с англ. СПб.: BHV – Санкт-Петербург, 2000. 680 с.
87
СОДЕРЖАНИЕ Введение
3
Глава 1. Принципы построения вычислительных сетей ……………..….. 1.1. Основные компоненты сети ……………………………….…………….. 1.2. Связь компьютера с периферийными устройствами…………..….……. 1.3. Простейший случай взаимодействия двух компьютеров………..…….. 1.4. Проблемы физической передачи данных по линиям связи…….………. 1.5. Проблемы объединения нескольких компьютеров………………..……. Топология физических связей…………………………………………. Организация совместного использования линий связи……………… Адресация компьютеров……………………………………………….. 1.6. Сетевые службы……………………………………………….…….……. 1.7. Проблемы стандартизации……………………………………………….. 1.8. Модель OSI………………………………………………………………… 1.9. Понятие "открытая система"…………………………………..………… 1.10. Стандартные стеки коммуникационных протоколов………..………… Стек OSI………………………………………………………………… Стек TCP/IP…………………………………………………………….. Стек IPX/SPX…………………………………………………………... Стек NetBIOS/SMB…………………………………………………….. 1.11. Требования, предъявляемые к современным вычислительным сетям Производительность…………………………………………………… Надежность и безопасность…………………………………………… Расширяемость и масштабируемость………………………………… Прозрачность…………………………………………………………… Поддержка разных видов трафика……………………………………. Управляемость…………………………………………………………. Совместимость………………………………………………………….
4 7 8 10 13 14 14 17 18 20 21 22 28 29 30 30 32 33 33 33 36 37 37 38 38 39
Контрольные вопросы …………...………………………………………………
40
Глава 2. Основы передачи дискретных данных……….…………………… 2.1. Типы линий связи…………………………..……………………………... 2.2. Характеристики линий связи……………………………………………... Спектральный анализ сигналов на линиях связи……………………. Амплитудно-частотная характеристика, полоса пропускания и затухание………….…………………………………………………….. Пропускная способность линии………………………………………. Связь между пропускной способностью линии и полосой пропускания……………….…………………………………………… Помехоустойчивость и достоверность………………………………..
41 41 43 43 44 46 48 50
88
2.3. Стандарты кабелей……………………………………………..…………. Кабели на основе неэкранированной витой пары…………………… Кабели на основе экранированной витой пары……………………… Коаксиальные кабели………………………………………………….. Волоконно-оптические кабели………………………………………... 2.4. Методы передачи дискретных данных на физическом уровне……….... Аналоговая модуляция…………………………………………………. Методы аналоговой модуляции………………………………………... Спектр модулированного сигнала……………………………………... 2.5. Цифровое кодирование………………………………………………… Требования к методам цифрового кодирования……………………… Потенциальный код без возвращения к нулю………………………… Метод биполярного кодирования с альтернативной инверсией…….. Биполярный импульсный код………………………………………….. Манчестерский код……………………………………………………... Потенциальный код 2B1Q……………………………………………… Логическое кодирование……………………………………………….. Дискретная модуляция аналоговых сигналов………………………… 2.6. Передача с установлением соединения и без установления соединения…………………………………………..…………….………. 2.7. Обнаружение и коррекция ошибок………………………………………. Методы обнаружения ошибок………………………………………… Методы восстановления искаженных и потерянных кадров……….. 2.8. Компрессия данных………………………………………………………..
51 52 54 54 55 58 58 59 60 62 62 63 64 66 66 66 67 69
Контрольные вопросы …………...………………………………………………
80
Заключение……………………………………………………………………. Библиографический список…………………………………………………..
81 82
72 73 74 75 77