
- •«Аппаратное и программное обеспечение сетей»
- •Развитие средств коммуникаций на основе компьютерной техники. Современное состояние телекоммуникаций.
- •1.1. Характеристика телекоммуникационных вычислительных сетей
- •Основные сведения о телекоммуникационных системах
- •Пути совершенствования и развития твс. Современное состояние телекоммуникаций
- •История появления и развития сетей передачи данных.
- •Основные компоненты компьютерных сетей. Типы сетей. Общие принципы построения сетей.
- •Основные направления развития, прогнозы и перспективы телекоммуникационных систем.
- •Физическая и логическая топология сетей.
- •Аппаратное обеспечение сетей. Модемы. Назначение, структура и принципы функционирования.
- •Аппаратное обеспечение сетей. Сетевые адаптеры. Назначение, структура и принципы функционирования.
- •Аппаратное обеспечение сетей. Коммутаторы и концентраторы. Назначение, структура и принципы функционирования.
- •Аппаратное обеспечение сетей. Маршрутизаторы. Назначение, структура и принципы функционирования.
- •Согласования темпа передачи данных с пропускной способностью линий связи. Модуляция.
- •Режимы передачи: симплексный, полудуплексный, дуплексный, их особенности и область применения.
- •Моноканалы. Особенности передачи данных по моноканалам.
- •1.1 Функции маршрутизаторов
- •1.1.1 Уровень интерфейсов
- •1.1.2 Уровень сетевого протокола
- •1.1.3 Уровень протокола маршрутизации
- •1.2 Классификация маршрутизаторов по областям применения
- •Коаксиальные линии связи, линии на витой паре.
- •Оптико-волоконные линии связи.
- •Беспроводные сети.
- •Высокоскоростные технологии локальных сетей. Высокоскоростные варианты Ethernet, 100 Мбит/с Ethernet, Гигабит Ethernet.
- •Сети ArcNet. Сети Apple Talk. Сети Token-Ring.
- •Распределенный волоконно-оптический интерфейс передачи данных fddi.
- •Структурированные кабельные системы.
- •Характеристики среды передачи. Скорость передачи информации: принцип Найквиста, формула Шеннона.
- •Модель открытых систем osi, как общая структура построения стандартов.
- •1 Модель открытых систем osi
- •2 Функции уровней
- •Модель открытых систем osi. Понятие интерфейса, протокола, процесса, порта.
- •Модель открытых систем osi. Обмен данными между уровнями. Понятия пакета, сообщения, их структура. Заголовки и концевики пакетов.
- •Структура и назначение физического уровня. Протоколы физического уровня.
- •Методы кодирования данных – nrz, Манчестерский код, 4b/5b, 8b/6t.
- •Понятие о блоковых кодах контролирующих ошибки, параметры кодов. Циклические коды, контролирующие ошибки.
- •Структура и назначение сетевого уровня.
- •Маршрутизация. Методы маршрутизации.
- •Протоколы динамической маршрутизации.
- •Протоколы сетевого уровня. Протокол ip.
- •Протоколы сетевого уровня. Протокол ipx.
- •Связь между сетевым и канальным уровнем, сопоставление адресов, служба arp.
- •Структура и назначение транспортного уровня.
- •Виртуальные соединения. Обеспечение надежной доставки сообщений.
- •Транспортные протоколы. Протоколы tcp и udp.
- •Локальные сети. Основные принципы построения локальных сетей. Связь локальных и глобальных сетей. Proxy-серверы.
- •Глобальные сети. Сети с интегрированным обслуживанием.
- •Цифровая сеть с интеграцией обслуживания isdn.
- •Технология сетей атм.
- •Защита от несанкционированного доступа.
- •Управление сетью, роль системного администратора.
- •Файловая система сервера: жесткие диски и тома, файлы и каталоги, система защиты файлов, атрибуты файлов и каталогов.
- •Сетевые операционные системы NetWare фирмы Novell.
- •Сетевые операционные системы семейства Windows nt.
- •Файловая система ntfs. Структура, обеспечение надежности.
- •Права доступа к разделам ntfs и общим папкам.
- •Одноранговые локальные вычислительные сети: Windows for Workgroups, NetWare Lite и Personal NetWare.
- •Локальные вычислительные сети на основе ос unix, сетевая файловая система nfs.
- •Безопасность сетей.
- •Internet. Информационные ресурсы.
- •Адресация в Internet. Подключение к Internet, типы подключения и возможности предоставляемых услуг.
- •Электронная почта, телеконференции, распределенная гипертекстовая система www.
- •Поисковые системы в Internet.
Понятие о блоковых кодах контролирующих ошибки, параметры кодов. Циклические коды, контролирующие ошибки.
Система связи соединяет источник данных с получателем данных посредством канала; примерами каналов являются микроволновые линии, коаксиальные кабели, телефонные линии и даже магнитные ленты. При проектировании системы связи разрабатываются устройства, подготавливающие вход и обрабатывающие выход каналов. Уже стало традицией подразделять основные функции системы связи так, как показано на блок-схеме (рисунок 1).
Рисунок 1 - Система связи
Данные поступающие в систему связи от источника данных, прежде всего обрабатываются кодером источника, предназначенным для более компактного представления данных источника. Это промежуточное представление является последовательностью символов, которая называется кодовым словом источника. Затем данные обрабатываются кодером канала, преобразующим последовательность символов кодового слова источника в другую последовательность символов, называемую кодовым словом канала. Кодовое слово канала представляет собой новую, более длинную последовательность с большей, чем у кодового источника, избыточностью. Каждый символ кодового слова канала может быть представлен битом или, возможно, группой битов.
Далее модулятор преобразует каждый символ кодового слова канала в соответствующий аналоговый символ из конечного множества допустимых аналоговых символов. Последовательность аналоговых символов передается по каналу. Так как в канале возникают различного рода шумы, искажения и интерференция, то выход канала отличается от его входа. Демодулятор преобразует каждый полученный на выходе канала сигнал в последовательность символов одного из кодовых слов канала. Каждый принятый символ является лучшей оценкой переданного символа, но из-за шума в канале демодулятор делает ошибки. Демодулированная последовательность символов называется принятым словом. Из-за ошибок символы принятого слова не всегда соответствуют символам кодового слова канала.
Декодер канала использует избыточность кодового слова канала для того, чтобы обнаружить и исправить ошибки в принятом слове, и затем выдает оценку кодового слова источника. Если все ошибки исправлены, то оценка кодового слова источника совпадает с исходным кодовым словом источника. Декодер источника выполняет операцию, обратную операцию кодера источника, результат которой поступает получателю.
Блоковый код мощности M над алфавитом из q символов определяется как множество из М q-ичных последовательностей длины п, называемых кодовыми словами.
Если q = 2, то символы называются битами, а код двоичным. Обычно М = qk для некоторого целого к. Такой код называется (n,k)-кодом. Каждой последовательности из к q-ичных символов можно сопоставить последовательность из п q-ичных символов, являющуюся кодовым словом.
Блоковые коды являются одним из основных классов кодов. Блоковый код задает блок из к информационных символов п -символьным кодовым словом (рисунок 2).
Рисунок 2 - Блоковый код
Величина r = kl и называется скоростью блокового кода.
О блоковом коде судят по трем параметрам:
- длине блока n ;
- информационной длине к ;
- минимальному расстоянию d. Минимальное расстояние является мерой различия двух наиболее похожих кодовых слов.
Расстояние по Хеммингу между двумя q-ичными последовательностями х и у длины п называется число позиций, в которых они различны. Это расстояние обозначается через d(x,y).
Например, d(01011,00111) = 2.
Пусть a={ci, i =0,..., M-1}— код. Тогда минимальное расстояние кода £ равно наименьшему из всех расстояний по Хеммингу между различными парами кодовых слов, т.е.
d=min(ci,cj)
(n,k)-код с минимальным расстоянием d называется также (n, к, d) -кодом.
Предположим, что передано кодовое слово и в канале произошло t ошибок. Если расстояние от принятого слова до каждого другого кодового слова больше t, то декодер исправит эти ошибки, приняв ближайшее к принятому кодовое слово в качестве действительно переданного. Это всегда будет так если
d>2t + \
Иногда удается исправить t ошибок даже когда это неравенство не выполняется. Однако если d < 2t +1, то исправление любых t ошибок не может быть гарантировано, так как тогда оно зависит от того, какое слово было передано и какова была конфигурация из t ошибок внутри блока.
В пространстве всех q-ичных n-последовательностей выбрано множество п-последовательностей объявленных кодовыми словами.
Если d — минимальное расстояние этого кода, a t — наибольшее целое число удовлетворяющее условию d > 2t +1, то вокруг каждого кодового слова можно описать непересекающиеся сферы радиуса t, называемые сферами декодирования. Принятые слова, лежащие внутри сфер, декодируются как кодовое слово, являющееся центром соответствующей сферы (рисунок 3).
Рисунок 3 – Пространство q-ичной n-последовательностей
Если произошло не более t ошибок, то принятое слово всегда лежит внутри соответствующей сферы и декодируется правильно.
Некоторые принятые слова, содержащие более t ошибок, попадут внутрь сферы, описанной вокруг другого кодового слова, и будут декодированы неправильно. Другие принятые слова, содержащие более t ошибок, попадут в промежуточные между сферами декодирования области. Этот факт можно интерпретировать двумя способами.
Неполный декодер декодирует только те принятые слова, которые лежат внутри сфер декодирования, описанных вокруг кодовых слов. Остальные принятые слова декодер объявляет нераспознаваемыми. Большинство используемых декодеров являются неполными декодерами.
Полный декодер декодирует каждое принятое слово в ближайшее кодовое слово. Если для принятого слова имеется несколько равноудаленных кодовых слов, то произвольно выбирается одно из них. Если происходит более t ошибок, то полный декодер часто декодирует неправильно, но бывают и случаи правильного декодирования. Полный декодер используется в тех случаях, когда лучше угадывать сообщение, чем вообще не иметь никакой его оценки.
Большинство известных кодов принадлежат классу линейных кодов. Линейный код есть подпространство в векторном пространстве GFn(q).
Таким образом, линейный код есть непустое множество п -последовательностей над GF(q)1, называемых кодовыми словами, такое, что сумма двух кодовых слов является кодовым словом, и произведение любого кодового слова на элемент поля также является кодовым словом.
Циклические коды являются подклассом в классе линейных кодов, удовлетворяющим дополнительному сильному структурному требованию. В силу этой структуры поиск хороших кодов, контролирующих ошибки, в классе циклических кодов оказался наиболее успешным. При этом в качестве математического аппарата, облегчающего поиск хороших кодов, была использована теория полей Галуа. Вне класса циклических кодов теория полей Галуа помогает мало; большинство завершенных построений, использующих идеи этой теории, относится к циклическим кодам.
Важность циклических кодов обусловлена также тем, что заложенные в основу их определения идеи теории полей Галуа приводят к процедурам кодирования и декодирования, эффективным как с алгоритмической, так и с вычислительной точки зрения. В противоположность необходимым для произвольного линейного кода табличным методам декодирования алгоритмические методы декодирования находят важные практические приложения.
Линейный (n, к) -код a называется циклическим, если из того, что слово с = (с0,с1,...,сn-1) принадлежит коду a, следует, что слово с' = (сп-1,с0,с1...,сп-2) также принадлежит коду a.
Кодовое слово с' получается циклическим сдвигом всех компонент слова с вправо на одну позицию. Каждый линейный код над gf(q) длины и представляет собой подпространство пространства gfn(q), а циклический код является частным случаем подпространства, так как обладает дополнительным свойством цикличности.
Для того чтобы дать алгебраическое описание, сопоставим каждому вектору c = (с0,с1,...,сn-1) из fn (где f— некоторое конечное поле gf(q)) многочлен с(х) = с0 + с1х + ... + сп-1xn-1. Например, коду a3 соответствуют многочлены 0,1 + х, 1 + х2, х + х2.
Будем использовать следующее обозначение; если f — поле, то f[x] — множество многочленов от х с коэффициентами из f . Множество f[x] является кольцом.
Кольцо r (в широком смысле) определяется как множество, в котором возможны сложение, вычитание и умножение. Формально r — аддитивная абелева группа с умножением, удовлетворяющим условиям: ab=ba; a(b+c)=ab+ac, которая содержит единичный элемент 1 такой, что 1*а = а. (Такое кольцо иногда называется коммутативным кольцом с единицей.)
Но более важным является не кольцо f[x], а кольцо rn = f[x]/(xn -l), состоящее из
классов вычетов кольца f[x] по модулю многочлена хп-1. Все многочлены степени не больше п-1 попадают в различные классы вычетов. Мы выберем эти многочлены в качестве представителей этих классов. Таким образом, можно сказать, что с(х) принадлежит rn. Кольцо rn является п -мерным векторным пространством над f .
Один из возможных вариантов аппаратурной реализации кодера изображен на рисунке 4 вместе с последовательностью сигналов, подтверждающей получение тех же проверочных разрядов. Кодер представляет собой сдвиговый регистр с обратными связями, организуемыми с помощью элементов М2 (исключающее ИЛИ, сумматор по модулю 2). Структура обратных связей полностью определяется ненулевыми коэффициентами порождающего полинома. На первых восьми тактах ключ находится в верхнем положении, формируются проверочные разряды.
Рисунок 4 – Пример формирования циклического кода
Затем ключ устанавливается в нижнее положение, что соответствует разрыву цепей обратных связей и передаче непосредственно в канал связи или на модулятор проверочных разрядов. Для временного хранения информационной части сообщения с дополнен сдвиговым регистром длиной в к разрядов, ключами и соответствующими цепями управления. Однако в целом аппаратурные затраты при реализации кодеров в случае циклических кодов невелики - общее число триггеров и элементов Л/2 (исключая регистр временного хранения информационной части сообщения) не превышает 2г и не зависит от длины информационной части сообщения.
Двухвходовый элемент М2, на один из входов которого подается в последовательной форме сообщение, на выходе формирует бит четности или нечетности (в зависимости от значения сигнала на втором входе элемента м2 - 0 или 1) для этого сообщения. В схеме кодера (рисунок 4) элементы М2 включены между отдельными триггерами сдвигового регистра, причем сигналы обратной связи, поступающие на «свободные» входы элементов М2 (не связанные с передачей собственно сообщения через сдвиговый регистр), зависят как от предшествующих разрядов сообщения, так и от структуры обратных связей, принятой в кодере. В результате циклический код, формируемый таким кодером, можно считать совокупностью обобщенных бит четности и нечетности, тип которых (четность или нечетность) не определен заранее и может динамически меняться от такта к такту.
Порождающие полиномы, представляющие собой так называемые неприводимые многочлены (делятся лишь на единицу и на самих себя), табулированы для разных значений п, к и d. Практически в компьютерных сетях используются циклические коды длиною в 2 или 4 байта (16 или 32 бита), а параметры п, к и d в явном виде не указываются. Это связано с возможностью выбора различной длины поля данных в пакете на этапе установления и выбора параметров соединения при неизменной длине поля циклического кода.
Кроме случайно распределенных, циклический код позволяет обнаруживать подряд следующие ошибки (так называемые пакеты ошибок) длиною l = r или меньше. Это особенно важно в связи с возможностью возникновения продолжительных во времени помех, действующих на протяженные линии передачи в компьютерных сетях.
Циклические коды обладают способностью исправления ошибок высокой кратности (при большом значении параметра d) и известны технические решения декодеров с исправлением ошибок, однако практическая реализация таких декодеров на современном этапе представляется затруднительной, особенно в случае широкополосных (высокоскоростных) каналов связи. В настоящее время более распространены декодеры с обнаружением ошибок. При использовании обнаруживающего декодера неверно принятая информация может игнорироваться либо может быть запрошена повторная передача той же информации. В последнем случае предполагается наличие сигнала подтверждения правильности принятой информации, поступающего от приемника к передатчику. По мере развития элементной базы следует ожидать появления в интегральном исполнении декодеров циклических кодов, способных не только обнаруживать, но и исправлять ошибки.
Кроме систем передачи информации, циклические коды используются в запоминающих устройствах (ЗУ) для обнаружения возможных ошибок в считываемой информации. При записи файлов на диск (в том числе при их архивировании) вместе с файлами формируются и записываются соответствующие циклические коды. При чтении файлов (в том числе при извлечении файлов из архива) вычисленные циклические коды сравниваются с записанными и таким образом обнаруживаются возможные ошибки. Свойства циклического кода лежат в основе сигнатурного анализа (эффективного способа поиска аппаратных неисправностей в цифровых устройствах различной сложности).