Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДК 004.doc
Скачиваний:
7
Добавлен:
27.03.2015
Размер:
4.63 Mб
Скачать

2. Технические cpedcmBo реализации информационный лроиессоВ 78

ill 84

3. Системное программное обеспечение 114

4. Прикладное программное обеспечение 194

■ i, 277

шгаши1яшяясяшяшш 279

шш 340

ЁЁТ 363

К 363

S3" 367

г<Е 367

Информатика 508

Рис. 6.12. Алгоритм вычисления суммы

л sin 1; sin 2 sin 3

3. H— h

1 1 + 2 1+2+3

Подсчет количества элементов. Произведем счет: 1, 2, 3, 4, 5 и т.д., этот процесс является циклическим, так как каждый раз мы со­вершаем одно и то же действие: предыдущее натуральное число уве­личиваем на единицу. Обозначив через К — счетчик искомых эле­ментов, легко получить правило счетчика: К = К + 1 (на очередном шаге цикла). Но при первом подсчете должны получить значение К, равное единице, а до начала счета счетчик должен быть пуст, следо­вательно, начальное значение счетчика равно нулю.

Правило счетчика:

  • начальное значение счетчика К = 0;

  • в теле некоторой циклической конструкции выполнить команду:

К = К+ 1.

Пример 6.8

Задано 20 чисел. Сколько среди них чисел, больших 10? Псевдокод:.

  1. К = 0 {Счетчик чисел, больших 10}.

  2. Повторить 20 раз (для j = 1, 20, 1).

    1. Ввод числа х.

    2. Если х > 10, то К = К + 1.

  3. Вывод К.

  4. Конец.

Блок-схема алгоритма приведена на рис. 6.13.

Замечание: в фигурных скобках {....} принято помещать ком­ментарии к алгоритму.

Рис. 6.13. Алгоритм примера 6.8

В каждом из рассмотренных выше примеров использовалась одна циклическая конструкция. В реальных задачах может встретить^ любое число циклов. Обозначив цикл квадратной скобкой, схематич^ но представим варианты взаимного расположения циклов (рис. 6.14).

Рис. 6.14. Расположение циклов

апоследовательные б — вложенные в — запрещенные

Алгоритм любой задачи может быть представлен как комбина ция представленных выше элементарных алгоритмических структуру! поэтому данные конструкции: линейную, ветвящуюся и цикличес­кую, называют базовыми.

  1. Рекурсивный алгоритм

Рекурсивным называется алгоритм, организованный таким обра­зом, что в процессе выполнения команд на каком-либо шаге он пря­мо или косвенно обращается сам к себе.

  1. Простые типы Зоннын: переменные и константы

Реальные данные, которые обрабатывает программа, — это це­лые и вещественные числа, символы и логические величины. Эти !

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

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

  • используемый способ записи информации в ячейки памяти;

  • необходимый объем памяти для ее хранения.

Объем памяти для каждого типа определяется таким образом, чтобы в него можно было поместить любое значение из допустимо­го диапазона значений данного типа. Например, тип «байт» может принимать значения от 0 до 255, что в двоичном коде (255-(]0) = = 11111111 ) соответствует ячейке памяти длиной в 8 бит (или 1 байт).

В описанных выше алгоритмах (примеры 6.1 — 6.8) все данные хранятся в виде переменных. Например, инструкция «Ввод двух чи­сел а, Ь» означает введение пользователем значений двух перемен­ных, а инструкция «К=К+1» означает увеличение значения перемен­ной К на единицу.

Если переменные присутствуют в программе, на протяжении всего времени ее работы — их называют статическими. Переменные, создающиеся и уничтожающиеся на разных этапах выполнения про­граммы, называют динамическими.

Все остальные данные в программе, значения которых не изме­няются на протяжении ее работы, называют константами или посто­янными. Константы, как и переменные, имеют тип. Их можно ука­зывать явно, например, в инструкции «К = К + 1» 1 есть константа, или для удобства обозначать идентификаторами: pi = 3,1415926536. Только значение pi нельзя изменить, так как это константа, а не пе­ременная.

  1. Структурированные Занные и алгоритмы ин обработки

Для повышения производительности и качества работы необхо­димо иметь данные, максимально приближенные к реальным анало­гам. Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным. Каждый язык программирования имеет свои структурированные типы. Рас­смотрим структуру, объединяющую элементы одного типа данных, - массив.

Массивом называется упорядоченная совокупность однотипных величин, имеющих общее имя, элементы которой адресуются (раз-, личаются) порядковыми номерами (индексами). В качестве иллюст­рации можно представить шкаф, содержащий множество пронуме­рованных ящиков (совокупность - «Ящик № 1», «Ящик N° 2», «Ящик № 3» и т.д.; «Ящик» — общее имя всех ее элементов). Доступ к со­держимому конкретного ящика (элементу массива) осуществляется после выбора ящика по его номеру (индексу). Элементы массива в памяти компьютера хранятся по соседству, одиночные элементы про­стого типа такого расположения данных в памяти не предполагают! Массивы различаются количеством индексов, определяющих их эле­менты.

Одномерный массив (шкаф ящиков в один ряд) предполагает на­личие у каждого элемента только одного индекса. Примерами одно­мерных массивов служат арифметическая (а.) и геометрическая (Ь) последовательности, определяющие конечные ряды чисел. Количе­ство элементов массива называют размерностью. При определении одномерного массива его размерность записывается в круглых скоб- ках, рядом с его именем. Например, если сказано: «задан массив А(10)», это означает, что даны элементы: аг а2, ... , аю. Рассмотрим алгоритмы обработки элементов одномерных массивов.

Ввод элементов одномерного массива осуществляется поэлемен­тно, в порядке, необходимом для решения конкретной задачи. Обыч­но, когда требуется ввести весь массив, порядок ввода элементов не важен, и элементы вводятся в порядке возрастания их индексов. Ал­горитм ввода элементов массива А(10) представлен на рис. 6.15. 1

Псевдокод:

  1. Повторить 10 раз (для i = 1, 10, 1):

    1. Вввод а.

Рис. 6.15. Ввод элементов одномерного массива А(10)

Пример 6.9.

Рассмотрим алгоритм вычисления среднего арифметического по­ложительных элементов числового массива А(10).

Среднее арифметическое есть отношение суммы к числу ее сла­гаемых, т.е.

at+a2 + ...+ а„

среднее арифметическое — s .

п

Алгоритм решения задачи (рис. 6.16) будет содержать подсчет суммы (обозначим ее S), включающей положительные элементы мас­сива (а. > 0), и количества (обозначим N) ее слагаемых.

Псевдокод:

  1. Повторить 10 раз (для i — 1, 10, 1).

    1. Ввод at

  2. Начальное значение суммы: S = 0.

I 3. Начальное значение счетчика: N = 0.

  1. Повторить 10 раз (для / = 1, 10, 1):

    1. ЕСЛИ а. > 0, ТО S = S + а.; N = N + 1.

I 9 I 9

  1. ЕСЛИ N > 0, ТО вычисление среднего арифметического SA = S/N; вывод SA.

ИНАЧЕ: вывод «Положительных элементов в массиве нет».

  1. Конец.

Q Начало ^

СО

N = 0

Нет

S = S +ctj

Да

Да

Нет

N>0

SA = S/N

Положительных I

I

элементов нет I

SA 3

^ Конец ^

16. Блок-схема задачи «подсчета среднего арифметического положительных элементов массива» (пример 6.9)

Нет

^ Конец ^

Рассмотрим двумерный массив (шкаф с множеством ящиков, положение которых определяется двумя коорди­натами — по горизонтали и но вертикали). В математике двумерный массив (таблица чисел) называется матрицей.

Каждый ее элемент имеет два

индекса а , первый индекс / определяет номер строки, в которой на­ходится элемент (координата по горизонтали), а второй j — номер столбца (координата по вертикали). Двумерный массив характеризу­ется двумя размерностями N и М, определяющими число строк и столбцов соответственно (рис. 6.18).

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

Рис 6.17. Алгоритм поиска наибольшего элемента массива и его индекса (пример 6.10)

Пример 6.10.

В заданном числовом массиве А(10) найти наиболь­ший элемент и его индекс, при условии, что такой эле­мент в массиве существует, и единственный.

Обозначим индекс наи­большего элемента т. Будем считать, что первый элемент массива является наиболь­шим = 1). Сравним пооче­редно наибольший с осталь­ными элементами массива.

! Если оказывается, что теку-

  • щий элемент массива а. (тот, с которым идет сравнение) больше выбранного нами

наибольшего а , то считаем i т его наибольшим = О (рис.

I 6.17).

Г Начало \

ЁЁТ

1=1

К

т = f

I


—i,w,

к

7=1, М,

самым определяется цикли­ческая конструкция, реализу­ющая вложение циклов. Вне­шний цикл определяет номер вводимой строки (г), внутрен­ний — номер элемента по столбцу (/)• На рис. 6.19 пред­ставлен алгоритм ввода мат­рицы A(NxAf).

Рис. 6.19. Алгоритм ввода матрицы A(NxM)

Пример 6.11.

Задана матрица символов Х(ЮОхЮО), представляющая собой карту ночного неба; звездам на карте соответствуют символы «*», Определить: сколько звезд на карте?

Алгоритм решения задачи достаточно прост, необходимо пере­брать все элементы матрицы и посчитать, сколько среди них симво­лов «*». Обозначим К переменную — счетчик. На рис. 6.20 представ­лена блок-схема решения этой задачи.

Г Начало J 1

г*€ г-С

S3"

к = о

г<Е

^ I ^

r+<Q = 1,100,1^-

  1. Языки программирования

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

Писать программы в машинных кодах очень сложно, причем с ростом размера программы эта задача усложняется. В компьютерах первого поколения использовались программы, написанные в ма­шинных кодах, причем для каждого компьютера существовал свой собственный машинный код. Числовая кодировка команд, адресов ячеек и обрабатываемых данных, зависимость вида программы от ее места в памяти не давали возможность следить за смыслом програм­мы. Это во многом ограничивало область применения компьютеров первого поколения. В тот период (начало 50-х гг.) средства программ мирования и программное обеспечение только зарождались и были еще не развиты. Для того чтобы сделать программу читабельной и иметь возможность следить за ее смысловой структурой, придумали символический язык ассемблер, близкий к машинному (конец 50-х — начало 60-х гг.), в котором появилось понятие переменной. Ассемб­лер стал первым полноценным Языком программирования. Благода-': ря этому заметно уменьшилось время разработки и возросла надеж­ность программ. Для записи кодов операций и обрабатываемой информации в ассемблере используются стандартные обозначения, позволяющие записывать числа и текст в общепринятом виде, для кодов команд приняты мнемонические обозначения. Для обозначе­ния величин, размещаемых в памяти, можно поименять имена. После ввода программы ассемблер сам заменяет символические имена на адреса памяти, а символические коды команд на числовые. Исполь­зование ассемблера сделало процесс программирование более нагляд­ным. Дальнейшее развитие этой идеи привело к созданию языков

программирования высокого уровня, в которых длинные и сложные последовательности машинных кодов были заменены одним един­ственным обозначающим их словом — операторы.

  1. Понятие «язык программирования»

Сегодня практически все программы создаются с помощью язы­ков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке),, но из-за неоднозначности естественного языка автоматически пере­вести такую программу в машинный код пока невозможно.

Языки программирования — это формальные искусственные язы­ки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.

Алфавит — разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.

Синтаксиссистема правил, определяющих допустимые конст­рукции языка программирования из букв алфавита.

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

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

Языки программирования, ориентированные на команды про­цессора и учитывающие его особенности, называют языками низко­го уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентиро- шшы на конкретные команды процессора.

Языком самого низкого уровня является ассемблер. Программа, написанная на нем, представляет последовательность команд машин­ных кодов, но записанных с помощью символьных мнемоник. С по­мощью языков низкого уровня создаются компактные оптимальные

программы, так как программист получает доступ ко всем возмож* ностям процессора. С другой стороны, при этом требуется хорошо понимать устройство компьютера, а использование такой программ] мы на компьютере с процессором другого типа невозможно. Такие языки программирования используются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнее компактность, быстро-! действие, прямой доступ, к аппаратным ресурсам.

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

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

  1. Компиляторы и интерпретаторы

С помощью языка программирования создается текст програм­мы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа — компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, пе­реводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы — интерпретаторы).

Интерпретатор функционирует следующим образом: берет оче-

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

Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует пра­вилам языка, его автоматически переводят (транслируют) на машин­ный язык (говорят: генерируют объектный код или object code). Не­редко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. Сгене­рированный объектный код обрабатывается специальной программой

  • сборщиком или редактором связей, который производит связыва­ние объектного и машинного кодов. Текст программы преобразует­ся в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет са­мостоятельное значение и может работать под управлением опера­ционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.

Основной недостаток компиляторов — трудоёмкость трансляции языков программирования, ориентированных на Обработку данных сложной структуры, заранее неизвестной или динамически меняю­щейся во время работы программы. Для таких программ в машин­ный код вводятся дополнительные проверки и анализ наличия ре­сурсов операционной системы, средства динамического захвата и освобождения памяти компьютера, что на уровне статически задан­ных машинных инструкций осуществить достаточно сложно, а для некоторых задач практически невозможно.

С помощью интерпретатора, наоборот, для исследования содер­жимого памяти допустимо в любой момент прервать работу програм­мы, Организовать диалог с пользователем, выполнить любые слож-

  1. Информатика

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

об ошибках.

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

  1. Системы программирования

Процесс создания программы включает:

  • Составление исходного кода программы (рис. 6.21) на языке про­граммирования.

  • Этап трансляции, необходимый для создания объектного кода программы.

  • Построение загрузочного модуля, готового к исполнению.

Все перечисленные выше действия требуют наличия специаль­ных программных средств.

Рис. 6.21. Процесс создания программы, готовой к исполнению

Совокупность этих программных средств входит в состав систе­мы программирования:

  • Текстовый редактор (необходимый для создания и редактирова­ния исходного кода программы на языке программирования).

  • Компилятор.

  • Редактор связей.

  • Отладчик.

  • Библиотеки функций.

  • Справочная система.

  1. Классификаций и обзор йзыкоВ программировании

Современное состояние языков программирования можно пред­ставить в виде следующей классификации (рис. 6.22).

Рис. 6.22. Классификация языков профаммирования

Процедурное программирование

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

Одним из первых процедурных языков программирования высоко­го уровня стал Фортран (ЯЭЯти1а TKA/Vslation), созданный в начале 50-х гг. в США фирмой IBM. Первая публикация о нем появилась в 1954 г. Основное назначение языка — программирование научно-тех­нических задач. Объектами языка являются целые и вещественные числа и числовые переменные. Выражения в нем формируются с помощью четырех арифметических действий: возведения в степень, логических операций И, ИЛИ, НЕ, операций отношения и круглых скобок. Основные операторы Фортрана — ввод, вывод, присваива­ние, условный и безусловный переход, цикл, вызов подпрограмм.. Долгие годы он был одним из самых распространенных языков в мире. За это время накоплена огромная библиотека программ, на­писанных на Фортране. И сейчас ведутся работы над очередным стандартом Фортрана. В 2000 г. была реализована версия Фортран F2k, имеется стандартная версия HPF (High Performance Fortran) для параллельных суперкомпьютеров. Многие средства Фортрана исполь­зованы в языках PL-1 и Бейсик.

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

Алгол (ALGOrithmic .Language) разработан группой зарубежных специалистов в 1960 г., явился результатом международного сотруд­ничества конца 50-х гг. (Алгол-60). Алгол предназначался для запи­си алгоритмов, построенных в виде последовательности процедур, применяемых при решении поставленных задач. Специалисты-прак­тики воспринимали этот язык неоднозначно, но тем не менее он как признанный международный язык сыграл большую роль в станов­лении основных понятий программирования и для обучения про­граммистов. В нем впервые введены понятия «блочная структура программы», «динамическое распределение памяти». Внутри блока в Алголе можно вводить локальные обозначения, которые не зависят от остальной части программы. Несмотря на свое интернациональ­ное происхождение, Алгол-60 получил меньшее распространение, чем Фортран. Например, не на всех зарубежных ЭВМ имелись трансля­торы с Алгола-60. В 1968 г. в результате дальнейшего развития и усо­вершенствования Алгола-60 была создана версия Алгол-68. Это мно­гоцелевой универсальный расширенный язык программирования. Последнее свойство позволяло с помощью одной и той же програм­мы транслятора осуществлять трансляцию с различных расширенных версий языка без дополнительных затрат на приспособление этого языка к различным категориям пользователей, на получение про­блемно-ориентированных диалектов языка. По своим возможностям Алгол-68 и сегодня опережает многие языки программирования, од­нако из-за отсутствия эффективных компьютеров для него не уда­лось своевременно создать хорошие компиляторы. В нашей стране в те годы под руководством академика Андрея Петровича Ершова был создан транслятор Альфа, который представлял достаточно удачную русифицированную версию Алгола.

В середине 60-х гг. сотрудники математического факультета Дар­тмутского колледжа Томас Курц и Джон Кемени создали специали­зированный язык программирования, который состоял из простых английских слов. Новый язык назвали универсальным символическим кодом для начинающих (beginners ^11-purpose Symbolic instruction Code) или сокращенно BASIC (Бейсик). 1964 г, считают годом рождения этого языка. Он получил самое широкое распространение при рабо­те на персональных компьютерах в режиме интерактивного диалога. Популярность Бейсика объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических и экономических задач, а также задач бытового характера, игровых и т.д. Согласно концепциям, за­ложенным в Бейсике, в нем широко распространены различные пра­вила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа. Возникло множество версий язы­ка, зачастую мало совместимых друг с другом. Однако, зная одну из версий, можно без особого труда освоить любую другую. Бейсик ак­тивно поглощает многие концепции и новинки из других языков. Первоначально интерактивный режим осуществлялся с использова­нием интерпретатора, в настоящее время для этого языка имеются также и компиляторы.

В начале 60-х гг. каждый из существующих языков программи­рования был ориентирован на разные классы задач, но в той или иной мере привязан к конкретной архитектуре ЭВМ. Были предпри­няты попытки преодолеть этот недостаток путем создания универ­сального языка программирования. ПЛ/1 (PL/1 — Programming language One) - первый многоцелевой универсальный язык, разра­ботан в США фирмой IBM в 1963—1966 гг. Это один из наиболее рас­пространенных универсальных языков, он хорошо приспособлен для решения задач в области вычислительной техники: исследования и планирования вычислительных процессов, моделирования, решения логических задач и исследования логических схем, разработки сис­тем математического обеспечения. При разработке PL/1 были ши­роко использованы основные понятия и средства языков Фортран, Алгол-60, Кобол. PL/1 — богатый и гибкий язык, дает возможность производить вставки, исправлять текст программы в процессе ее от­ладки. Язык получил широкое распространение, трансляторы с него имеются для многих типов компьютеров. Компания IBM и сегодня продолжает поддерживать этот язык.

Паскаль (Pascal) является одним из наиболее популярных про­цедурных языков программирования, особенно для персональных компьютеров. Созданный как учебный язык программирования в 1968—1971 гг. Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе (Швейцария), он был назван в честь французского ма­тематика и философа Блеза Паскаля (1623—1662). Задачей Н. Вирта было создание языка, базирующегося на простом синтаксисе и не­большом количестве базовых конструкций, переводимого в машин­ный код простым компилятором.

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

  • Структурное программирование. Его методология основана на

использовании подпрограмм и независимых структур данных,

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

  • Программирование сверху вниз, когда задача делится на простые, самостоятельно решаемые подзадачи. Затем на основе решенных подзадач выстраивается решение исходной задачи полностью — сверху вниз.

В основу разработки языка ПаскаЛь был положен Алгол-60, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его для создания крупных проектов, например, программ-трансляторов. Паскаль реа­лизован для всех типов компьютеров, в настоящее время использу­ется во многих учебных заведениях для обучения программированию, а также для создания больших реальных проектов.

Период с конца 60-х до начала 80-х гг. характеризуется бурным ростом числа различных языков программирования, сопровождав­шим, как это ни парадоксально, кризис программного обеспечения. Этот кризис особенно остро переживало военное ведомство США. В январе 1975 г. Пентагон решил навести порядок среди бесчисленного множества трансляторов и создал комитет для разработки одного уни­версального языка. На конкурсной основе комитет рассмотрел сотни проектов и выяснил, что ни один из существующих языков не может удовлетворить их требованиям, для окончательного рассмотрения было оставлено два проекта. В мае 1979 г. был объявлен победитель

  • группа ученых во главе с Жаном Ихбиа. Победивший язык назва­ли АДА, в честь Ады Лавлейс, дочери великого поэта Байрона. Она в юности была увлечена идеями Чарльза Бэббиджа и помогала ему со­ставлять описание машины, а в начале 40-х гг. XIX в. разработала пер­вую в мире программу для вычислительной машины. Язык АДА — прямой наследник Паскаля. Он предназначен для создания и длитель­ного сопровождения больших программных систем, управления про­цессами в реальном масштабе времени. В языке четко выражена мо­дульность его конструкций, причем обеспечивается удобство организации разнообразных связей между модулями. Важным его до­стоинством является возможность параллельного программирования ветвей программы, которые затем могут реализоваться на многопро­цессорных компьютерах. Язык АДА сложен для изучения.

Язык программирования С (Си) был разработан в лаборатории Bell для реализации операционной системы UNIX в начале 70-х гг. и не рассматривался как массовый,- Он планировался для замены Ассемблера, чтобы иметь возможность создавать столь же эффектив­ные и компактные программы, и в то же время не зависеть от конк­ретного типа процессора. По набору управляющих конструкций и структур данных С имеет возможности, присущие высокоуровневым языкам, и вместе с тем он располагает средствами прямого обраще­ния к функциональным узлам компьютера. Синтаксис языка С по­зволяет создавать лаконичный программный код. Одна из существен­ных особенностей С, приближающая его к функциональным языкам, состоит в том, что различия между выражениями и операторами сгла­живаются. Например, выражения, являющиеся операторами про­граммы, могут выполнять дополнительно операции присваивания! Использование подпрограмм основано на понятии функции, которая может также сочетать в себе возможности процедуры. Понятие про­цедуры в языке С отсутствует. Синтаксис языка затрудняет читаемость программы. Отсутствие строгой типизации данных, возможность в одном выражении сочетать несколько действий делает этот язык при­влекательным для программистов, предоставляя им дополнительные возможности, но не способствует надежности создаваемых программ. Язык С популярен и широко используется профессиональными про­граммистами. В настоящее время он реализован для большинства компьютерных платформ.

Функциональное программирование

Суть функционального (аппликативного) программирования опре­делена А.П. Ершовым как «способ составления программ, в которых единственным действием является вызов функции, единственным спо­собом расчленения программы на части является введение имени фун­кции, а единственным правилом композиции — оператор суперпозиции функций. Никаких ячеек памяти, ни операторов присва­ивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

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

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

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

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

Первым таким языком стал Лисп (LISP, LISt Processing — обра­ботка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет орга­низовать эффективную обработку больших объемов текстовой ин­формации. Существенная черта языка — единообразие программных структур и структур данных: все выражения записываются в виде списков.

Логическое программирование

Создание языка искусственного интеллекта Пролог (PROLOG, Programming in LOGic — программирование в терминах логики) в 1973 г. французским ученым Аланом Кольмероэ открыло новую об­ласть — логическое или реляционное программирование.

Концепция логического программирования базируется на поня­тии отношение. Логическая программа — это совокупность аксиом и правил, определяющих отношения между объектами и целью. Выпол­нение программы представляет собой попытку доказательства ло­гического утверждения, построенного из программы по правилам, определенным семантикой используемого языка. Результатом вычис­лений является вывод следствий из аксиом. Алгоритм логической программы предполагает определение и перечень специфических свойств объектов и отношений между ними, а не определение по­рядка выполнения отдельных шагов. Это подтверждает декларатив­ный характер логического языка программирования. Логические про­граммы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

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

Обьектно-ориентироВанное программирование (ООП)

Пионером данного направления явился язык Смолток (Smalltalk), первоначально предназначенный для реализаций функций машин­ной графики. Работа над языком началась в 1970 г. в исследователь­ской лаборатории XEROX (США), а закончилась в 1980 г. оконча­тельным вариантом интерпретатора Smalltalk-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется ис­ключительно на понятии объекта. В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия VisualAge for Smalltalk активно развивает­ся компанией IBM.

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

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

ООП является более естественным, так как предоставляет воз­можность выбрать имеющиеся или создать новые объекты и органи­зовать взаимодействия между ними. Следовательно, объектно-ориен­тированные языки по сравнению с процедурными являются языками более высокого уровня.

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

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

К наиболее распространенным современным языкам программна рования относятся C++ и Java.

Язык C++ был разработан в начале 80-х гг. Бьярном Страустру- пом в лаборатории Bell корпорации AT&T. Им была создана компак­тная компилирующая система, в основе которой лежал язык С, до­полненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 г. C++ был впервые использован за пределами исследовательской груп­пы автора, однако тогда еще многие особенности языка не были придуманы. К 1990 г. была выпущена третья версия языка C++, стан­дартизированная американским государственным комитетом стан­дартов ANSI. В 1990 г. сотрудник корпорации Sun Д. Гослинг на ос­нове расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка получила название Java. С января 1995 г. Java получает распространение в Internet.

По определению автора, Java является простым объектно-ори­ентированным и архитектурно-нейтральным языком интерпретиру­ющего типа, обеспечивающим надежность, безопасность и перено-. симость, обладает высокой производительностью, многопоточностью и динамичностью.

Синтаксис языков C++ и Java практически полностью совпада­ет. Принципиальным различием является то, что язык C++ компи­лируемый в машинный код, a Java — в платформо-независимый байт- код (каждая команда занимает один байт), этот байт-код может выполняться с помощью интерпретатора — виртуальной Java-мэши- ны (Java Virtual Machine), версии которой созданы сегодня для лю­бых платформ. С точки зрения возможностей объектно-ориентируе- мых средств, Java имеет ряд преимуществ перед C++. Язык Java имеет более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что способствует надежнос­ти и читабельности кода. Язык C++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности ди­намического связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность C++ и здесь при­нуждает к выбору языка Java. Сегодня Java по популярности зани­мает второе место в мире после Бейсика.

Идеи ООП проникли во многие процедурные языки. Например, в состав интегрированной системы программирования Паскаль (кор­порации Borland International), начиная с версии 5.5, входит специ­альная библиотека ООП Turbo Vision.

С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие систе­мы имеют интерфейс, позволяющий при составлении текста про­граммы видеть те графические объемы, для которых она пишется. Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», по­зволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных опе­раций. Система берет на себя значительную часть работы по управ­лению компьютером, что делает возможным в простых случаях об­ходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголов­ки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проек­тирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня.

VBA (Visual Basic for Application) является общей языковой плат­формой для приложений Microsoft Office (Excel, Ward, Power Point и др.). VBA соблюдает основной синтаксис и правила программирова­ния языков Бейсик-диалектов. VBA помогает довольно сильно рас­ширить возможности приложений за счет написания макросов — программ, предназначенных для автоматизации выполнения многих операций. VBA позволяет создавать объекты управления графичес­кого интерфейса пользователя, задавать и изменять свойства объек­тов, подключать к ним необходимый для конкретного случая про­граммный код. С помощью VBA можно производить интеграцию между различными программными продуктами. Программы на язы­ке VBA для приложений создаются двумя способами: в автоматичес­ком режиме как результат построения клавишной макрокоманды или путем написания программного кода.

Языки программирования баз баннын

Эти языки отличаются от алгоритмических прежде всего своим функциональным назначением. При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преоб­разование, удаление таблиц в БД; поиск, отбор, сортировка по зап­росам пользователя; добавление новых записей или модификация существующих; удаление записей и др. Для обработки больших мас­сивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (Structured Query Language). Он был впервые создан фирмой IBM в начале 70-х гг., назывался Structured English Query Language (SEQUEL) и предназна­чался для управления прототипом реляционной базы данных IBM - System R. В дальнейшем SQL стал стандартом языка работы с реля­ционными базами данных, что зафиксировано американским наци­ональным комитетом стандартов ANSI в 1986 г.

Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. Сегодня в мире ведущие про­изводители СУБД: Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Их продукты предназначены для со­вместной параллельной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких сер­верах. В Oracle имеется встроенный язык PL/SQL, в Informix - INFORMIX 4GL, в Adabas — Natural и т.д.

Языки программирования 0ля компьютерным сетей

Появление и активное развитие компьютерных сетей стало при­чиной создания многочисленных версий популярных языков про­граммирования, адаптированных для использования в сети. Отличи­тельные особенности, присущие сетевым языкам: они являются интерпретируемыми. Интерпретаторы для них распространяются бес­платно, а сами программы — в исходных текстах. Такие языки полу­чили название скрипт-языков.

HTML (Hyper Text Markup Language) — универсальный язык раз­метки гипертекста, используемый для подготовки Web-документов для сети Internet. Язык представляет собой набор элементарных ко­манд форматирования текста, добавления графических объектов (ри­сунков), задания шрифтов и цвета, организации ссылок и таблиц. В соответствии с командами HTML броузер отображает содержимое документа, команды языка не отображаются. В основе языка HTML лежит механизм гипертекстовых ссылок, обеспечивающий связь од­ного документа с другим. В HTML текст кодируется в ASCII и по­этому может быть создан и отредактирован в любом текстовом ре­дакторе. Все Wfeb-страницы написаны на HTML или используют его расширение.

Perl. В 80-х гг. Ларри Уолл разработал язык Perl, который пред­назначался для эффективной обработки больших текстовых файлов, создания текстовых отчетов и управления задачами. В его состав вхо­дят многочисленные функции работы со строками, массивами, все­возможные средства преобразования данных, управления процесса­ми, работы с системной информацией и др.

Тс1/Тк. В конце 80-х гг. Джон Аустираут придумал скрипт-язык Тс1 и библиотеку Tk. Тс1 — это попытка создания идеального скрипт- языка. Он ориентирован на автоматизацию рутинных операций и со­стоит из мощных команд, выполняющих обработку нетипизирован- ных объектов.

VRML. В 1994 г. был создан язык VRML для организации вирту­альных трехмерных интерфейсов в Интернете. Он ориентирован на описание разнообразных трехмерных образов, цвето-теневого осве­щения в текстовом виде и позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» с разных сторон, вращать­ся в любых направлениях, масштабировать, управлять освещеннос­тью и многое другое.

Языки моделирования

При моделировании систем применяются формальные способы их описания — формальные нотации, с помощью которых можно представить объекты и взаимосвязи между ними в системе. Такие системы называют CASE-системами.

  1. Этапы поЗготоВки и решения ЗаЭач на компьютере

Компьютер предназначен для решения разнообразных задач: научно-технических, инженерных, разработки системного программ­ного обеспечения, обучения, управления производственными процес­сами и т.д. В процессе подготовки и решения на компьютере науч­но-технических задач можно выделить следующие этапы:

  1. Постановка задачи — формулируется цель решения задачи, под­робно описывается ее содержание; проводится анализ условий, при которых решается поставленная задача, выявляется область определения входных параметров задачи.

  2. Формальное построение модели задачи — предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализируется характер и сущность величин, используемых в задаче.

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

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

  5. Построение алгоритма — на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относи­тельно самостоятельные блоки, определяется последовательность выполнения этих блоков.

  6. Составление программы — алгоритм решения переводится на кон­кретный язык программирования.

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

  8. Решение задачи на компьютере и анализ результатов. Теперь про­грамму можно использовать для решения поставленной задачи. Первоначально выполняется многократное решение задачи на компьютере для различных наборов исходных данных. Получае­мые результаты анализируются специалистом, поставившим за­дачу. Разработанная программа поставляется заказчику в виде готовой к исполнению машинной программы. К ней прилагает­ся документация, включающая инструкцию по эксплуатации.

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

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

7. Компьютерные сети

Эта глава посвящена компьютерным сетям - основам построе­ния, протоколам, стандартам, сетевым компонентам. Здесь также рассмотрены основы построения Internet — способы передачи инфор-!] мации, адресация и службы.

  1. Назначение и классификация компьютерным сетей

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

Для каких же целей используются компьютерные сети?

  • Первая цель — предоставление доступа к программам, обору­дованию и 'особенно данным для любого пользователя сети. Это называется совместным использованием ресурсов.

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

  • Третья цель — экономия средств. Небольшие компьютеры об­ладают значительно лучшим соотношением цена—производи­тельность, нежели большие. Это обстоятельство заставляет раз- работников создавать системы на основе модели клиент-сервер. Обмен информацией в модели клиент-сервер обычно принима­ет форму запроса серверу на выполнение каких-либо действий. Сервер выполняет работу и отсылает ответ клиенту. Обычно в сети количество клиентов значительно больше числа используе­мых ими серверов.

  • Четвертая цель — масштабируемость, т.е. способность увели­чивать производительность системы по мере роста нагрузки. В случае модели клиент-сервер новые клиенты и новые серверы могут добавляться по мере необходимости.

  • Пятая цель — ускорение передачи информации. Компьютерная сеть является мощным средством связи между удаленными друг от друга пользователями. Если один из них изменяет документ, находящийся на сервере, в режиме on-line, остальные могут не­медленно увидеть эти изменения.

Имеется два важнейших параметра классификации сетей: техно­логия передачи и размеры.

Существуют два типа технологии передачи:

  • широковещательные сети;

  • сети с передачей от узла к узлу.

Широковещательные сети обладают единым каналом связи, со­вместно используемым всеми машинами сети. Короткие сообщения, называемые пакетами, посылаемые одной машиной, принимаются всеми машинами. Поле адреса в пакете указывает, кому направляет­ся сообщение. При получении пакета машина проверяет его адрес­ное поле. Если пакет адресован этой машине, она обрабатывает па­кет. Пакеты, адресованные другим машинам, игнорируются.

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

Обычно небольшие сети используют широковещательную пере­дачу, тогда как в крупных сетях применяется передача от узла к узлу.

Другим критерием классификаций сетей является их размер. Сети можно разделить на локальные, муниципальные и глобальные. И, наконец, существуют объединения двух и более сетей. Хорошо из­вестным примером такого объединения является Internet. Размеры

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

Локальными сетями (ЛВС — локальные вычислительные сети или LAN — Local Area Network) называют сети, размещающиеся, как пра­вило, в одном здании или на территории какой-либо организации размерами до нескольких километров. Их часто используют для пре­доставления совместного доступа компьютеров к ресурсам (напри­мер, принтерам) и обмена информацией. Локальные сети отличают­ся от других сетей тремя характеристиками: размерами, технологией передачи данных и топологией. Обычные ЛВС имеют пропускную способность канала связи от 10 до 100 Мбит/с, небольшую задержку

  • десятые доли мкс и очень мало ошибок.

Муниципальные или региональные сети (MAN — Metropolitan AN) являются увеличенными версиями локальных сетей и обычно исполь-! зуют схожие технологии. Такая сеть может объединять несколько предприятий корпорации или город. Муниципальная сеть может поддерживать передачу цифровых данных, звука и включать в себя кабельное телевидение. Обычно муниципальная сеть не содержит' переключающих элементов для переадресации пакетов во внешние линии, что упрощает структуру .сети.

Глобальные сети (Wide AN или ГВС) охватывают значительную; территорию, часто целую страну или даже континент. Они объеди­няют множество машин, предназначенных для выполнения прило­жений. Эти машины называются хостами. Хосты соединяются ком­муникационными подсетями или просто подсетями. Задачей подсети является передача сообщений от хоста хосту, подобно тому, как те­лефонная система переносит слова говорящего слушающему. То есть коммуникативный аспект сети — подсеть отделен от прикладного ас­пекта — хостов, что значительно упрощает структуру сети.

  1. Типы сетей

Сети подразделяются на два типа: одноранговые и на основе сер­вера.

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

В одноранговой сети все компьютеры равноправны. Каждый компьютер функционирует и как клиент, и как сервер. Нет отдель­ного компьютера, ответственного за администрирование всей сети. Пользователи сами решают, какие ресурсы на своем компьютере сде­лать доступными в сети.

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

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

Основным аргументом при выборе сети на основе сервера явля­ется защита данных. Проблемами безопасности занимается один ад­министратор: он формирует единую политику безопасности и при­меняет ее в отношении каждого пользователя сети.

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

  1. Топология сетей

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

Шина. Эту топологию (рис. 7.1) часто называют линейной шиной. Она наиболее простая из всех топологий и весьма распространенная. В ней используется один кабель, называемый магистралью или сег­ментом, вдоль которого подключены все компьютеры.

Рис. 7.1. Топология шина:

С — сервер, К — компьютер, Т — терминатор

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

  • тип аппаратного обеспечения сетевых компьютеров;

  • частота, с которой компьютеры передают данные;

  • тип работающих сетевых приложений;

  • тип сетевого кабеля;

  • расстояние между компьютерами в сети.

Шина — пассивная топология: компьютеры только слушают пе­редаваемые по сети данные, но не перемещают их от отправителя к получателю. Поэтому выход одного или нескольких компьютеров ИЗ строя никак не сказывается на работе сети.

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

Звезда. При топологии звезда (рис. 7.2) все компьютеры с помо­щью сегментов кабеля подключаются к йентральному устройству, называемому концентратором (hub). Сигналы от передающего ком­пьютера поступают через концентратор ко всем остальным.

Рис. 1:2. Топология, звезда

В настоящее время концентратор стал одним из стандартных компонентов сетей. В сетях с топологией звезда он, например, слу­жит центральным узлом. Концентраторы делятся на активные и пас­сивные. Активные регенерируют и передают сигналы так же, как репитеры. Их называют многопортовыми повторителями. Обычно они имеют от 8 до 12 портов для подключения компьютеров. Актив­ные концентраторы следует подключать к электрической сети. К пас­сивным концентраторам относятся монтажные или коммутирующие панели. Они просто пропускают через себя сигнал, не усиливая и не иосстанавливая его. Пассивные концентраторы не надо подключать к электрической сети.

Недостатки этой топологии: дополнительный расход кабеля, ус­тановка концентратора. Главное преимущество этой топологии пе­ред шиной — более высокая Надежность. Выход из строя одного или нескольких компьютеров на работу сети не влияет. Любые неприяту ности с кабелем касаются лишь того компьютера, к.которому это! кабель присоединен, и только неисправность концентратора привод лит к падению сети. Кроме того, концентратор может играть роль интеллектуального фильтра информации, поступающей от узлов а сеть, и при необходимости блокировать запрещенные администра4 тором передачи.

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

Рис. 7.3. Топология кольцо

Способ передачи данных по кольцу называется передачей марке-j ра. Маркер (token) — это специальная последовательность бит, перс* дающаяся по сети. В каждой сети существует только один маркер. Маркер передается по кольцу последовательно от одного компьютер ра к другому до тех пор, пока его не захватит тот компьютер, кото-, рый хочет передать данные. Передающий компьютер добавляв! к маркеру данные и адрес получателя, и отправляет его дальше по коль* цу. Данные проходят через каждый компьютер, пока не окажутся у того, чей адрес совпадает с адресом получателя. Затем принимающий компьютер посылает передающему сообщение, в котором подтверж* дает факт приема. Получив подтверждение, передающий компьютер носстанавливает маркер и возвращает его в сеть. Скорость движения маркера сопоставима со скоростью света. Так, в кольце диаметром 200 м маркер может циркулировать с частотой 477 376 об/с.

Ячеистая топология. Сеть с ячеистой топологией обладает вы­сокой избыточностью и надежностью, так как каждый компьютер в такой сети соединен с каждым другим отдельным кабелем (рис. 7.4).

Рис. 7.4. Ячеистая топология

Сигнал от компьютера-отправителя до компьютера-получателя может проходить по разным маршрутам, поэтому разрыв ■Кабеля не сказывается на работоспособности сети. Основной недо­статок — большие затраты на прокладку кабеля, что компенсируется иысокой надежностью и простотой обслуживания. Ячеистая тополо­гии применяется в комбинации с другими топологиями при постро­ении больших сетей.

Кроме базовых топологий существуют их комбинации - комби­нированные топологии. Чаще всего используются две комбинирован­ные топологии: звезда-шина и звезда-кольцо. Звезда-шина — не­сколько сетей с топологией звезда .объединяются при помощи магистральной линейной шины (к концентратору подключены ком­пьютеры, а сами концентраторы соединены шиной). Выход из строя одного компьютера не сказывается на работе всей сети, а сбой в ра­боте концентратора влечет за собой отсоединение от сети только подключенных к нему компьютеров и концентраторов. Звезда-коль- 1 - отличие состоит только в том, что концентраторы в звезде-шине соединяются магистральной линейной шиной, а в звезде-кольце кон*: центраторы подсоединены к главному концентратору, внутри кото! рого физически реализовано кольцо.

  1. Сетевые компоненты

"t

  1. Сетевые кабели

На сегодня подавляющая часть компьютерных сетей использует* для соединения кабели. Это среда передачи сигналов между компь­ютерами.

В большинстве сетей применяются три основные группы кабелей:

  • коаксиальный кабель;

  • витая пара (twisted pair), неэкранированная (unshielded) и эк­ранированная (shielded);

  • оптоволоконный кабель.

Коаксиальный кабель до недавнего времени был самым распро­страненным. Недорогой, легкий, гибкий, удобный, безопасный и простой в установке.

Существует два типа коаксиальных кабелей: тонкий (специфи кация 10Base2) и толстый (спецификация 10Base5).

Тонкий - гибкий, диаметр 0,64 см (0,25"). Прост в применении и подходит практически для любого типа сети. Подключается непо­средственно к плате сетевого адаптера. Передает сигнал на 185 м практически без затухания. Волновое сопротивление — 50 ом.

Толстый - жесткий, диаметр 1,27 см (0,5"). Его иногда называ­ют стандартный Ethernet (первый кабель в популярной сетевой ар­хитектуре). Жила толще, затухание меньше. Передает сигнал без за­тухания на 500 м. Используют в качестве магистрали, соединяющей несколько небольших сетей. Волновое сопротивление — 75 ом.

Для подключения к толстому коаксиальному кабелю применя­ется специальное устройство — трансивер (transceiver — приемопере­датчик). Он снабжен коннектором, который называется вампир или пронзающий ответвитель. К сетевой плате трансивер подключается с помощью кабеля с разъемом. Для подключения тонкого коаксиаль­ного кабеля используются BNC-коннекторы (British Naval Connector) Применяются BNC-T-коннекторы для соединения сетевого кабели с сетевой платой компьютера, BNC—баррел-коннекторы для сращи­вания двух отрезков кабеля, BNC-терминаторы для поглощения сиг­налов на обоих концах кабеля в сетях с топологией шина.

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

4 ДО

мощными реле.

Неэкранированная витая пара (UTP) широко используется в ЛВС, максимальная длина 100 м. UTP определена особым стандартом, в Котором указаны нормативные характеристики кабелей для различ­ных применений, что гарантирует единообразие продукции.

Экранированная витая пара (STP) помешена в медную оплетку. Кроме того, пары проводов обмотаны фольгой. Поэтому STP мень­ше подвержены влиянию электрических помех и может передавать сигналы с более высокой скоростью и на большие расстояния.

Преимущества витой пары — дешевизна, простота При подклю­чении. Недостатки - нельзя использовать при передаче данных на большие расстояния с высокой скоростью.

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

Оптоволоконные линии предназначены для перемещения, боль­ших объемов данных на очень высоких скоростях, так как сигнал в них практически не затухает и не искажается. Оптоволокно переда­ст сигналы только в одном направлении, поэтому кабель состоит из двух волокон с отдельными коннекторами: одно - для передачи, дру­гое — для приема.,

Скорость передачи данных в настоящее время составляет от 100 Мбит/с. Между тем, получает все большее распространение ско­рость 1 Гбит/с, теоретически - до 200 Гбит/с. Расстояние — многие километры. Кабель не подвержен электрическим помехам. Суще­ственным недостатком этой технологии является дороговизна и слож­ность в установке и подключении.

Типичная оптическая сеть состоит из лазерного передатчика све- га, мультиплексора/демультиплексора для объединения оптических сигналов с разными длинами волн, усилителей оптических сигналов, демультиплексоров и приемников, преобразующих оптический сиг­нал обратно в электрический. Все эти компоненты обычно собира-. ются вручную.

Для передачи по кабелю кодированных сигналов используют две технологии - немодулированную и модулированную передачу. ;|

Смодулированные системы передают данные в виде цифровых ■сигналов, которые представляют собой дискретные электрические или световые импульсы. При таком способе цифровой сигнал ис­пользует всю полосу пропускания кабеля (полоса пропускания — раз­ница между максимальной и минимальной частотой, которую мож­но передать по кабелю). Устройство в сетях с немодулированНой передачей посылает данные в обоих направлениях. Для того, чтобы избежать затухания и искажения сигнала в немодулированных сис­темах, используют репитеры, которые усиливают ретранслируют сигнал.

Модулированные системы передают данные в виде аналогового сигнала (электрического или светового), занимающего некоторую полосу частот. Если полосы пропускания достаточно, то один кабель могут одновременно использовать несколько систем (например, транслировать передачи кабельного телевидения и передавать дан­ные). Каждой передающей системе выделяется часть полосы пропус­кания. Для восстановления сигнала в модулированных системах ис­пользуют усилители. В модулированной системе устройства имеют раздельные тракты для приема и передачи сигнала, так как передача идет в одном направлении. Чтобы устройства могли и передавать, и принимать данные, используют разбиение полосы пропускания па два канала, которые работают с разными частотами для передачи и приема, или прокладку двух кабелей — для передачи и приема.

  1. БеспроВоЗная среЭа

Словосочетание беспроводная среда не означает полное отсутствии проводов в сети. Обычно беспроводные компоненты взаимодейству­ют с сетью, в которой в качестве среды передачи используется ки- бель. Такие сети называют гибридными.

Беспроводная среда обеспечивает временное подключение к су- шествующей кабельной сети, гарантирует определенный уровень мобильности и снижает ограничения на протяженность сети. При­меняется в служебных помещениях, где у сотрудников нет постоян­ного рабочего места, в изолированных помещениях и зданиях, в стро­ениях, где прокладка кабелей запрещена.

Существуют следующие типы беспроводных сетей: ЛВС, расши­ренные ЛВС и мобильные сети (переносные компьютеры). Основные различия между ними — параметры передачи. ЛВС и расширенные ЛВС используют передатчики и приемники той организации, в ко­торой функционирует сеть. Для переносных компьютеров средой передачи служат общедоступные сети (например, телефонная или Internet).

ЛВС выглядит и функционирует практически так же, как и ка­бельная, за исключением среды передачи. Беспроводный сетевой адаптер с трансивером установлен в каждом компьютере, и пользо­ватели работают так, будто их компьютеры соединены кабелем. Трансивер или точка доступа обеспечивает обмен сигналами между компьютерами с беспроводным подключением и кабельной сетью. Используются небольшие настенные трансиверы, которые устанав­ливают радиоконтакт с переносными устройствами.

Работа беспроводных ЛВС основана на четырех способах пере­дачи данных: инфракрасном излучении, лазере, радиопередаче в уз­ком диапазоне (одночастотной передаче), радиопередаче в рассеян­ном спектре.

  1. Платы сетевого адаптера

Платы сетевого адаптера (СА) выступают в качестве физичес­кого интерфейса, или соединения, между компьютером и сетевым кабелем. Платы вставляются в слоты расширения материнской пла­ты всех сетевых компьютеров и серверов или интегрируются на ма­теринскую плату. Для обеспечения физического соединения между компьютером и сетью к разъему платы подключается сетевой кабель. Плата СА выполняет:

  • подготовку данных, поступающих от компьютера, к передаче по сетевому кабелю;

  • передачу данных другому компьютеру;

  • управление потоком данных между компьютером и кабельной системой;

  • прием данных из кабеля и перевод их в форму, понятную ЦП компьютера.

Плата СА должна также указать свое местонахождение или се«1 тевой адрес, чтобы ее могли отличить от других плат сети. Сетевые адреса определены комитетом IEEE (Institute of Electrical and Electronics Engineers, Inc.), который закрепляет за каждым произво- дителем плат сетевого адаптера некоторый интервал адресов. Про» изводители зашивают эти адреса в микросхемы, поэтому каждый компьютер имеет свой уникальный номер, т.е. адрес в сети.

Перед тем, как послать данные по сети, плата СА проводит алек* тронный диалог с принимающей платой, в результате которого они устанавливают:

  • максимальный размер блока передаваемых данных;

  • объем данных, пересылаемых без подтверждения о получении; |

  • интервал между передачами блоков данных;

  • интервал, в течение которого необходимо послать подтверждение;

  • объем данных, который может принять плата без переполнении буфера;

  • скорость передачи.

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

Для правильной работы платы должны быть корректно установ­лены следующие параметры:

  • номер прерывания (IRQ — interrupt query);

  • базовый адрес порта;

  • I/О.Базовый адрес памяти;

  • тип трансивера.

Для обеспечения совместимости компьютера и сети плата СА должна соответствовать внутренней структуре компьютера (архитек­туре шины данных) и иметь соответствующий соединитель, подхо­дящий к типу кабельной системы.

Например, плата, которая нормально работает в компьютере Apple Macintosh в сети с топологией шина, не будет работать в ком­пьютере IBM в сети с топологией кольцо. Сеть топологии кольцо требует плату, которая физически отличается от применяемой в сети топологии шина, к тому же Apple использует другой метод сетевого взаимодействия.

  1. Сетевые стандарты

.■ ш

Работа сети заключается в передаче данных от одного компью­тера к другому. В этом процессе можно выделить следующие задачи:

  1. Распознавание данных.

  2. Разбиение данных на управляемые блоки.

  3. Добавление информации к каждому блоку о местонахождении данных и получателе.

i 4. Добавление информации для синхронизации и проверки оши­бок.

  1. Перемещение данных в сеть и отправка их по заданному адресу. Сетевая ОС при выполнении этих задач строго следует опреде­ленному набору процедур. Эти процедуры называются протоколами. Они регламентируют каждую сетевую операцию. Стандартные про­токолы позволяют программному и аппаратному обеспечению раз­ных производителей нормально взаимодействовать.

Существует два главных набора стандартов: эталонная модель OSI и ее модификация Project 802. Для понимания технической сто­роны функционирования сетей необходимо иметь представление об этих моделях.

  1. Эталонная модель 0/1

В 1978 г. ISO (International Standards Organization) выпустила на­бор спецификаций, описывающих модель взаимодействия открытых систем, т.е. систем, доступных для связи с другими системами. Это был первый шаг к международной стандартизации протоколов. Все системы могли теперь использовать одинаковые протоколы и стан- лнрты для обмена информацией:

В 1984 г. ISO выпустила новую версию своей модели, названную

. (

эталонной моделью взаимодействия открытых систем ISO. Эта вер-1 сия стала международным стандартом. Ее спецификации использу­ют производители при разработке сетевых продуктов, ее придержи­ваются при построении сетей. Полностью модель носит название ISO OSI (Open System Interconnection Reference Model). Для краткости будем ее .называть модель OSI. Модель OSI не является сетевой архи- j тектурой, так как не описывает службы и протоколы, используемые на каждом уровне. Она просто определяет, что должен делать каж­дый уровень. Важно также понимать, что эталонная модель не явля­ется чем-то реальным, таким, что обеспечивает связь. Сама по себе она не заставляет коммуникации функционировать и служит лишь для классификации. Она классифицирует то, что непосредственно работает, а именно — протоколы. Протоколом считается набор спе­цификаций, определяющих реализацию одного или нескольких уров­ней OSI. ISO разработала также стандарты для каждого уровня, хотя эти стандарты не входят в саму эталонную модель. Каждый из них был опубликован как отдельный международный стандарт.

Модель OSI имеет семь уровней. Каждому уровню соответствуют различные сетевые операции, оборудование и протоколы. Появление именно семи уровней было обусловлено функциональными особен-) ностями модели.

Модель OSI без физического носителя показана на рис. 7.5.

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

Каждый уровень выполняет несколько операций при подготовь ке данных для доставки по сети на другой компьютер. Уровни отде­ляются друг от друга границами - интерфейсами. Все запросы от одного уровня к другому передаются через интерфейс. Каждый уро­вень, выполняя свои функции, пользуется услугами нижележащего уровня. Самые нижние уровни — 1 -й и 2-й — определяют физичес­кую среду при передаче битов данных через плату СА и кабель. Са­мые верхние уровни определяют, каким способом реализуется дос^ туп приложений к услугам связи.

Задача каждого уровня — предоставление услуг вышележащему уровню, маскируя при этом детали реализации этих услуг. Каждый

Сетевой

Передачи

данных

Прикладной *

6

Уровень

представления

j

г

5

Сеанс

овый

1

Интерфейс

к

г

Транспортный *

Сетевой

—г~

Передани

данных

Прикладной протокол

Протокол уровня представления

Сеансовый протокол

Транспортный протокол Внутренний протокол подсети

Сетевой

Передачи

данных

Прикладной *

Уров

предста!

ень

шения

j

г

Сеансовый

Транспортный

г

-►

Сетевой

Передачи

данных

Интерфейс ,,

Физический

Физический

Физический

Физический

Хост В

Хост Л

Маршрутизатор Маршрутизатор

Протоколы хост-маршрутизатор сетевого, передачи данных и физического уровней

Рис. 7.5. Эталонная модель OSI

уровень на компьютере-отправителе работает так, как будто он напрямую связан с соответствующим уровнем на компьютере-полу­чателе. Эта^виртуальная связь показана на рис. 7.5 пунктирными ли­ниями. В действительности же связь осуществляется между соседни­ми уровнями одного компьютера. ПО каждого уровня реализует определенные сетевые функции в. соответствии с набором прото­колов.

Перед отправкой в сеть данные разбиваются на пакеты, переда­ваемые между устройствами сети как единое целое. Пакет проходит

12. Информатика

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

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

Таким образом, только Физический уровень модели может не­посредственно послать информацию соответствующему уровню дру­гого компьютера. Информация на компьютере-отправителе и ком­пьютере-получателе должна пройти все уровни, начиная с того, с которого она посылается, и заканчивая соответствующим уровнем того компьютера, которым она принимается. Например, если Сете­вой уровень передает информацию с компьютера А, она спускается через Канальный и Физический уровни в сетевой кабель, затем по­падает в компьютер В, где поднимается через Физический и Каналь­ный уровни и достигает Сетевого уровня. В среде клиент-сервер при­мером такой информации служит адрес и результат контроля ошибок, добавленные к пакету.

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

Рассмотрим каждый из семи уровней модели OSI и услуги, ко­торые они предоставляют смежным уровням.

Прикладной (Application) уровень. Уровень 7. Он представляет собой окно для доступа прикладных процессов к сетевым услугам. Услуги, которые он обеспечивает, напрямую поддерживают приложения пользователя. Прикладной уровень управляет общим доступом к сети, потоком данных и восстановлением данных после сбоев связи.

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

Сеансовый уровень (Session). Уровень 5. Сеансовый уровень позво­ляет двум приложениям разных компьютеров устанавливать, исполь­зовать и завершать соединение, называемое сеансом^ Сеанс может предоставлять еще и расширенный набор услуг, полезный для неко­торых приложений. Сеансовый уровень управляет диалогом между взаимодействующими процессами^ устанавливая, какая из сторон, когда, как долго и т.д. должна осуществлять передачу.

Транспортный уровень (Transport). Уровень 4. Основная функция Транспортного уровня — принять данные от Сеансового уровня, раз­бить их при необходимости на небольшие части и передать Сетево­му уровню, гарантируя, что эти части в правильном порядке прибу­дут по назначению. Все это должно быть сделано эффективно и так, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии. Транспортный уровень также следит за созданием и удалением сетевых соединений, управляет потоком со­общений, проверяет ошибки и участвует в решении задач, связан­ных с отправкой и получением пакетов. Примеры протоколов транс­портного уровня — TCP и SPX.

Сетевой уровень (Network). Уровень 3. Сетевой уровень управля­ет операциями подсети. Он отвечает за адресацию сообщений и пе­ревод логических адресов и имен в физические. Сетевой уровень раз­решает также проблемы, связанные с разными способами адресации и разными протоколами при переходе пакетов из одной сети в дру­гую, позволяя объединять разнородные сети. Примеры протоколов сетевого уровня — IP и IPX.

Уровень передачи данных или кабальный (Data Link). Уровень 2. Основная задача Канального уровня — преобразовать способность Физического уровня передавать данные в надежную линию связи, свободную от необнаруженных ошибок с точки зрения вышестоящего Сетевого уровня. Эту задачу Канальный уровень выполняет при по­мощи разбиения входных данных на кадры размером от нескольких сот до нескольких тысяч байтов. Каждый следующий кадр данных передается только после получения и обработки кадра подтвержде­ния, посылаемого обратно получателем. Кадр — это логически орга­

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

  • адрес компьютера-получателя. Управляющая информация исполь­зуется для маршрутизации, указания типа пакета и сегментации. CRC (Cyclical Redundancy Check — циклический код) позволяет выявить ошибки и гарантирует правильный прием информации.

Рис. 7.6. Кадр данных

Физический уровень (Physical). Уровень 1. Физический уровень осу­ществляет передачу неструктурированного, сырого, потока бит по физической среде (например, по сетевому кабелю). На этом уровне реализуются электрический, оптический, механический и функцио­нальный интерфейсы с кабелем. Физический уровень также форми­рует сигналы, которые переносят данные, поступившие ото всех вы­шележащих уровней.. На этом уровне определяется способ соединений сетевого кабеля с платой СА и способ передачи сигналов по сетевому кабелю. Физический уровень отвечает за кодирование данных и син­хронизацию бит, гарантируя, что переданная единица будет воспри­нята именно как единица, а не как ноль. Уровень устанавливает дли­тельность каждого бита и способ перевода в электрические или оптические импульсы, передаваемые по сетевому кабелю.

Два нижних уровня модели OSI относятся к оборудованию, а именно: сетевой плате и кабелю. Для постановки более четких тре­бований к аппаратуре, которая работает на этих уровнях, IEEE раз­работал расширения, предназначенные для разных сетевых плат и ка­белей. Эти расширения широко известны как Project 802, названные в соответствии с годом (1980) и месяцем (февраль) своего издания. Стандарты IEEE были опубликованы раньше модели OSI, но оба проекта разрабатывались примерно в одно время и при полном об­мене информацией. Это и привело к созданию двух совместимых продуктов.

Project 802 установил стандарты для физических компонентов сети — интерфейсных плат и кабельной системы, которые работают на Канальном и Физическом уровнях модели OSI. Эти стандарты, называемые 802-спецификациями, распространяются на платы СА, компоненты ГВС, компоненты сетей, использующих коаксиальный кабель и витую пару. 802-спецификации определяют способы, в со­ответствии с которыми платы СА осуществляют доступ к физичес­кой среде и передают по ней данные. Это соединение, поддержка и разъединение сетевых устройств. Выбор протокола канального уров­ня — наиболее важное решение при проектировании ЛВС. Этот про­токол определяет скорость сети, метод доступа к физической среде, тип кабелей, сетевые платы и драйверы.

Стандарты ЛВС, определенные Project 802, делятся на 16 кате­горий, каждая из которых имеет свой номер (от 802.1 до 801.16, на­пример, 802.6 — сеть масштаба города, MAN; 802.10 — безопасность сетей; 802.11 — беспроводные сети).

Два Нижних уровня модели, Канальный и Физический, устанав­ливают, каким образом несколько компьютеров могут одновремен­но, не мешая друг другу, использовать сеть. IEEE Project 802 пред­назначен именно для этих двух уровней. На рис.7.7 показаны Канальный уровень и два его подуровня.

Подуровень Управление логической связью (Logical Link Control, LLC) устанавливает и разрывает канал связи, управляет потоком дан­ных, производит упорядочение и вырабатывает подтверждение при­ема кадров.

Подуровень Управление доступом к среде (Media Access Control,

Рис. 7.7. Подуровни Управление логической связью и Управление доступом к среде

MAC) контролирует доступ к среде передачи, определяет границы кадров, обнаруживает ошибки, распознает адреса кадров. Он также обеспечивает совместный доступ плат СА к Физическому уровню. Этот подуровень напрямую связан с платой СА и отвечает за безо­шибочную передачу данных между двумя компьютерами сети.

  1. АрайВеры устройств и 0/1

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

Драйверы платы СА располагаются на подуровне Управления доступом к среде Канального уровня. Подуровень MAC отвечает за совместный доступ плат СА к Физическому уровню. Таким образом, драйвер платы СА обеспечивает связь между компьютером и самой платой, связывая, в конечном итоге, компьютер с сетью.

Производители плат СА обычно предоставляют драйверы разра­ботчикам сетевого ПО, которые включают их в состав своих продук­тов. Производители сетевых ОС публикуют списки совместимого оборудования — перечень устройств, драйверы которых протестиро­ваны на совместимость с ОС. Список совместимого оборудования HCL (Hardware Compatibility List) для сетевой ОС содержит сотни моделей плат СА от разных производителей.

  1. Сетевые архитектуры

Сетевые архитектуры — это комбинация стандартов, топологий и протоколов, необходимых для создания работоспособной сети.

  1. ЛЛетоЗы Зоступа к сетевому ресурсу

Для использования сетевого ресурса необходимо получить дос­туп к нему. Существуют три метода доступа: множественный доступ с контролем несущей, доступ с передачей маркера, доступ по приори­тету запроса. Метод доступа — набор правил, которые определяют, как компьютер должен отправлять и принимать данные по сетевому кабелю.

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

Множественный доступ с контролем несущей подразделяется на:

  • множественный доступ с обнаружением коллизий;

  • множественный доступ с предотвращением коллизий.

Рассмотрим особенности каждого метода доступа.

Множественный доступ с контролем несущей и обнаружением кол­лизий (Carrier-Sense Multiple Access with Collision Detection, CSMA/CD). Все компьютеры в сети —: и клиенты, и серверы — прослушивают ка­бель, стремясь обнаружить передаваемые данные, т.е. трафик. Ком­пьютер может начать передачу только тогда, когда убедится, что ка­бель свободен — трафик отсутствует. Пока кабель занят, ни один из компьютеров не может вести передачу. Если возникает коллизия, то эти компьютеры приостанавливают передачу на случайный интервал времени, а затем вновь стараются наладить связь. Причем периоды ожидания у них разные, что снижает вероятность одновременного во­зобновления передачи.

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

Способность обнаруживать коллизии ограничивает область дей­ствия самого CSMA/CD. При длине кабеля > 2,5 км механизм об­наружения коллизий становится неэффективным - некоторые ком­пьютеры могут не услышать сигнал и начнут передачу, что приведет к коллизии и разрушению данных.

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

Множественный доступ с контролем несущей и предотвращением коллизий (Carrier-Sense Multiple Access with Collision Avoidance, CSMA/ СА). Этот метод самый непопулярный среди всех методов доступа. Каждый компьютер перед передачей данных в сеть сигнализирует о своем намерении, поэтому остальные компьютеры «узнают» о гото­вящейся передаче и могут избежать коллизий. Однако широковеща­тельное оповещение увеличивает общий трафик и уменьшает пропус­кную способность сети. Поэтому CSMA/CA работает медленнее, чем CSMA/CD.

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

Доступ по приоритету запроса (demand priority).. Относительно новый метод доступа, разработанный для сети Ethernet со скоростью передачи 100 Мбит/с — 100VG-AnyLan. Он стандартизован IEEE в категории 802.12. Этот метод учитывает своеобразную конфигурацию сетей lOOVG-AnyLan, которые состоят только из концентраторов и оконечных узлов. Концентраторы управляют доступом к кабелю, последовательно опрашивая каждый узел в сети и выявляя запросы на передачу. Концентратор должен знать все адреса связи и узлы и про­верять их работоспособность. Оконечным узлом в соответствии со спецификацией lOOVG-AnyLan может быть компьютер, мост, марш­рутизатор или коммутатор.

При доступе по приоритету запроса, как и при CSMA/CD, два компьютера могут конкурировать за право передать данные. Однако в этом методе реализуется принцип, по которому определенные типы данных, если возникло состязание, имеют соответствующий приори­тет. Получив одновременно два запроса, концентратор вначале от­дает предпочтение запросу с более высоким приоритетом. Если зап­росы имеют одинаковый приоритет, они будут выполнены в произвольном порядке.

Для сетей с использованием доступа по приоритету запроса раз­работана специальная схема кабеля, поэтому каждый компьютер мо­жет одновременно передавать и принимать данные. Применяется восьмипроводный кабель, по каждой паре проводов которого сигнал передается с частотой 25 Мгц.

  1. Передача Заннын по сети

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

Чтобы быстро, не тратя времени на ожидание, передавать ин-; формацию по сети, данные разбиваются на маленькие управляемые блоки, содержащие все необходимые сведения для их передачи. Эти* блоки называются пакетами. Под термином «пакет» подразумевает­ся единица информации, передаваемая между устройствами сети как единое целое.

При разбиении данных на пакеты сетевая ОС добавляет к каж­дому пакету специальную управляющую информацию, которая обес­печивает передачу исходных данных небольшими блоками, сбор дан­ных в определенном порядке (при их получении), проверку данных на наличие ошибок (после сборки). .

Компоненты пакета группируются по трем разделам: заголовок данные и трейлер.

Заголовок включает:

  • сигнал о том, что передается пакет,

  • адрес источника,

  • адрес получателя, .

  • информацию, синхронизирующую передачу.

Для большинства сетей .размер пакета составляет от 512 байт до 4 Кбайт.

Содержимое трейлера зависит от протокола связи (протокол — это набор правил или стандартов для осуществления связи и обмена информацией между компьютерами). Чаще всего трейлер содержит информацию для проверки ошибок, называемую избыточным цикли­ческим кодом (Cyclical Redundancy Check, CRC). CRC — это число, получаемое в результате математических преобразований данных па­кета и исходной информации. Когда пакет достигает места назначе­ния, эти преобразования повторяются. Если результат совпадает с CRC - пакет принимается без ошибок. В противном случае переда­ча пакета повторяется.

Формат и'размер пакета зависят от типа сети. Максимальный размер пакета определяет количество пакетов, которое будет создав но сетевой ОС для передачи большого блока данных.

  1. Сети Ethernet

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

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

В конце 60-х гг. Гавайский университет разработал ГВС под на­званием ALOHA. Университет, расположенный на обширной терри­тории, решил объединить в сеть все компьютеры. Одной из ключе­вых характеристик созданной сети стал метод доступа CSMA/CD. Эта сеть послужила основой для современных сетей Ethernet. В 1972 г. в исследовательском центре Пало Альто фирмы Xerox разработали ка­бельную систему и схему передачи сигналов, а в 1975 г. — первый продукт Ethernet. Первоначальная версия Ethernet представляла со­бой систему со скоростью передачи 2,94 Мбит/с и объединяла более 100 компьютеров с помощью кабеля длиной 1 км. Сеть Ethernet фир­мы Xerox имела такой успех, что компании Xerox, Intel Corporation и Digital Equipment Corporation разработали стандарт Ethernet со ско­ростью передачи 10 Мбит/с. Сегодня его рассматривают как специ­фикацию, описывающую метод совместного использования среды передачи компьютерами и системами обработки данных. Специфи­кация Ethernet выполняет те же функции, что Физический и Каналь­ный уровни модели OSI.

Ethernet использует немодулированную передачу, топологию ши­на и метод доступа CSMA/CD. Другие используемые топологии - звезда-шина. Спецификация — IEEE 802.3. Скорость передачи дан­ных — 10 или 100 Мбит/с. Кабельная система — толстый и тонкий коаксиальный кабель, UTP.

Ethernet разбивает данные на пакеты (кадры), формат которых отличается от формата пакетов в других сетях. Длина 64—1518 бай­тов, но сама структура использует 18 байтов, поэтому остается 46— 1500 байтов.

Максимальная общая длина сети 925 м. Общее число компью­теров в сети достигает 1024.

  1. Сети Token Ring

Версия сети Token Ring была представлена IBM в 1984 г. как часть предложенного фирмой способа объединения в сеть всего ряда выпускаемых IBM компьютеров и компьютерных систем. В 1985 г.

Token Ring стала стандартом ANSI/IEEE (ANSI — представитель ISO в США).

Сеть Token Ring является реализацией стандарта IEEE 802.5. От других сетей ее отличает не только наличие уникальной кабельной системы, но и использование метода доступа с передачей маркера. Топология типичной сети — звезда/кольцо. Соединение выполняет­ся через концентратор в виде звезды, а физическое кольцо реализу­ется в концентраторе. Кабельная система — UTP и STR Скорость передачи - 4 и 16 Мбит/с.

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

Передача маркера — детерминистический процесс. Это значит, что самостоятельно начать работу в сети (как при методе доступа CSMA/CD) компьютер не может. Он может передавать данные толь­ко после получения маркера. Каждый компьютер действует как од­нонаправленный повторитель, регенерируя маркер и посылая его дальше по кольцу.

Основным компонентом сетей Token Ring является концентра­тор, реализующий физическое кольцо. В сети с передачей маркера вышедший из строя компьютер или соединение останавливают дви­жение маркера, что ведет к прекращению работы всей сети. Концен­траторы разработаны таким образом, чтобы обнаруживать вышедшую из строя плату СА и вовремя отключать ее. Эта процедура позволяет обойти отказавший компьютер, поэтому маркер продолжает цирку­лировать по сети.

  1. СетеВые протоколы

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

Различают три определяющих свойства протоколов:

  1. Каждый протокол предназначен для различных задач и имеет свои преимущества и недостатки.

  2. Протоколы работают на разных уровнях модели OSI. Функ­ции протокола определяются уровнем, на котором он работает.

  3. Несколько протоколов могут работать совместно. В этом слу­чае они образуют так называемый стек, или набор протоколов. Как сетевые функции распределяются по всем уровням модели OSI, так и протоколы совместно работают на различных уровнях стека. На­пример, Прикладной уровень протокола TCP/IP соответствует уров­ню Представления модели OSI. В совокупности протоколы опреде­ляют полный набор функций и возможностей стека.

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

Компьютер-отправитель в соответствии с протоколом выполня­ет следующие действия: разбивает данные на небольшие блоки — пакеты, с которыми может работать протокол; добавляет к пакетам адресную информацию, чтобы компьютер-получатель мог опреде­лить, что эти данные предназначены именно ему; подготавливает данные к передаче через плату СА по сетевому кабелю.

Компьютер-получатель в соответствии с протоколом выполняет те же действия, но в обратном Порядке. Он принимает пакеты дан­ных из сетевого кабеля и через плату СА передает пакеты в компью­тер. Затем он удаляет из пакета всю служебную информацию, добав­ленную компьютером-отправителем; копирует данные из пакета в бу­фер для их объединения в исходный блок данных; передает прило-| жению собранный из пакетов блок данных в том формате, который^ использует это приложение.

И компьютеру-отправителю, и компьютеру-получателю необхо­димо выполнять каждое действие одинаковым способом, чтобы от­правленные данные совпали с полученными.

До середины 80-х гг. большинство ЛВС были изолированными. С развитием ЛВС и увеличением объема передаваемой ими инфор­мации они стали компонентами больших сетей. Данные, передавае­мые из одной локальной сети в другую по одному из возможных мар­шрутов, называются маршрутизированными, а протоколы, поддерживающие передачу данных между сетями по нескольким мар­шрутам, — маршрутизируемыми. Такие протоколы служат для объе­динения локальных сетей, поэтому их роль постоянно возрастает. ;

Модель OSI помогает определить, какие протоколы нужно ис­пользовать на каждом ее уровне. Продукты разных производителей, которые соответствуют этой модели, способны вполне корректно взаимодействовать друг с другом. ISO, IEEE, ANSI, ITU (International Telecommunications Union) и'другие организации по стандартизации разработали протоколы, соответствующие некоторым уровням моде­ли OS1.

TCP/IPстандартный промышленный набор протоколов, обеспе­чивающий связь в неоднородной среде, т.е. между компьютерами разных типов. Совместимость — одно из основных преимуществ TCP/IP, поэтому его поддерживают большинство ЛВС. Кроме того, TCP/IP предоставляет маршрутизируемый протокол для корпоратив­ных сетей и доступ в Интернет. Из-за своей популярности TCP/IP стал стандартом де-факто для межсетевого взаимодействия. У ТСР/ IP есть два главных недостатка: большой размер и недостаточная скорость работы. Но для современных ОС это не является пробле­мой (проблема только у DOS-клиентов), а скорость работы сравни­ма со скоростью работы протокола IPX.

Стек TCP/IP включает и другие протоколы:

  • SMTP (Simple Mail Transfer Protocol) — для обмена E-mail;

  • FTP (File. Transfer Protocol) — для обмена файлами;

  • SNMP (Siinple Network Management Protocol) - для управле­ния сетью.

TCP/IP разрабатывался специалистами МО США как маршру- тизируемый-, надежный и функциональный протокол. Он также пред­ставляет собой набор протоколов для ГВС. Его назначение — обес­печивать взаимодействие между узлами даже в случае ядерной войны. Сейчас ответственность за разработку TCP/IP возложена на сообще­ство Интернет в целом. Установка и настройка TCP/IP требует зна­ний и опыта со стороны пользователя, однако применение TCP/IP предоставляет ряд существенных преимуществ.

Протокол TCP/IP в точности не соответствует модели OSI. Вме­сто семи уровней в нем используется только четыре:

  1. Уровень сетевого интерфейса.

  2. Межсетевой уровень.

  3. Транспортный уровень. <

  4. Прикладной уровень.

Каждый из них соответствует одному или нескольким уровням модели OSI.

Уровень сетевого интерфейса, относящийся к Физическому и Канальному уровням модели OSI, напрямую взаимодействует с се­тью. Он реализует интерфейс между сетевой архитектурой (Ethernet или Token Ring) и Межсетевым уровнем.

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

Транспортный уровень, соответствующий Транспортному уровню модели OSI, отвечает за установку и поддержание соединения меж­ду двумя хостами. Транспортный уровень отвечает также за отправ­ку уведомлений о получении данных, управление потоком, упорядо­чение пакетов и их повторную передачу. Transmission Control Protocol (TCP) отвечает за надежную передачу данных между узлами. Это ори­ентированный на соединение протокол, поэтому он устанавливает се­анс связи между двумя компьютерами прежде, чем начать передачу.

Прикладной уровень, соответствующий Сеансовому, Представи­тельскому и Прикладному уровням модели OSI, соединяет в сети приложения.

  1. Среда клиент-серВер

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

В настоящее время большинство сетей использует модель клиент- сервер. Сеть архитектуры клиент-сервер — это сетевая среда, в кото­рой компьютер-клиент инициирует запрос компьютеру-серверу, вы­полняющему этот запрос. Рассмотрим работу модели на примере системы управления БД — приложения, часто используемого в среде клиент-сервер. В модели клиент-сервер ПО клиента использует язык структурированных запросов SQL (Structured Query Language), кото­рый переводит запрос с языка, понятного пользователю, на язык, понятный машине. SQL близок к естественному английскому.

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

Сервер в клиент-серверной среде обычно предназначен для хра­нения данных и управления ими. Именно сервер выполняет боль­шинство операций с данными. Сервер называют также прикладной частью модели клиент-сервер, так как именно он выполняет запро­сы клиентов. Обработка данных на сервере состоит из их сортиров-

ки, извлечения затребованной информации и отправки ее по адресу пользователя. ПО предусматривает также обновление, удаление, до­бавление и защиту информации.

Технология клиент-сервер создает мощную среду, обладающую множеством реальных преимуществ. В частности, хорошо спланиро­ванная клиент-серверная система обеспечивает относительно недо­рогую платформу, которая обладает в то же время вычислительными возможностями мэйнфрейма и легко настраивается на выполнение конкретных задач. Кроме того, в среде клиент-сервер резко умень­шается сетевой трафик, так как по сети пересылаются только резуль­таты запросов. Файловые операции выполняются в основном более мощным сервером, поэтому запросы лучше обслуживаются. Это оз­начает, что нагрузка на сеть распределяется более равномерно, чем в традиционных сетях на основе файл-сервера. Уменьшается потреб­ность компьютеров-клиентов в ОЗУ, так как вся работа с файлами выполняется на сервере. По этой же причине на компьютерах-кли­ентах уменьшается потребность в дисковом пространстве. Упро­щается управление системой, контроль ее безопасности становится проще, так как все файлы и данные размещаются на сервере. Упро­щается резервное копирование. _ .

  1. Internet как иерарний сетей

Слово Internet происходит от выражения interconnected networks (связанные сети). Это глобальное сообщество малых и больших се­тей. В широком смысле — это глобальное информационное простран­ство, хранящее огромное количество информации на миллионах ком­пьютеров, которые обмениваются данными.

К концу 1969 г. в США был завершен проект ARPAnet подклю­чением в одну компьютерную сеть 4 исследовательских центров: University of California Los Angeles, Stanford Research Institute, University of California at Santa Barbara, University of Utah. Проект также предусматривал проведение экспериментов в области компь­ютерных коммуникаций, изучение способов поддержания связи в ус­ловиях ядерного нападения и разработку концепции децентрализо­ванного управления военными и гражданскими объектами в период

ведения войн. В 1972 г. Минобороны США начало разработку но-| вой программы Internetting Project с целью изучения методов соеди­нения сетей между собой. Выдвигались требования максимальной на­дежности передачи данных при заведомо низком качестве коммуникаций, средств связи и оборудования и возможности пере­дачи больших объемов информации. В 1974 г. была поставлена зада­ча разработки универсального протокола передачи данных, которая* была решена созданием протокола передачи данных и объединения сетей — Transmission Control Protocol/Internet Protocol (TCP/IP). В 1983 г. был осуществлен перевод ARPAnet на TCP/IP. В 1989 г. в Европейской лаборатории физики элементарных частиц (CERN, Швейцария, Женева) Тим Бернерс-Ли разработал технологию гипер­текстовых документов — World Wide Web, позволяющую пользовате­лям иметь доступ к любой информации, находящейся в сети Интер­нет на компьютерах по всему миру. К 1995 г. темпы роста сети показали, что регулирование вопросов подключения и финансиро­вания не может находиться в руках одного Национального научного фонда США, и в этом же году произошла передача региональным сетям оплаты за подсоединение многочисленных частных сетей к на­циональной магистрали.

Рассмотрим схему подключения компьютера к Интернет и про­следим, по каким каналам передается информация, посылаемая в Сеть и принимаемая из Сети. Подключение к Интернету домашнего компьютера выполняется, как правило, с помощью модема (рис. 7.8). При этом чаще всего осуществляется так называемое сеансовое со­единение с провайдером по телефонной линии. Набирается один из телефонных номеров, предоставленных провайдером, для соединения с одним из его модемов. У провайдера имеется набор модемов, так называемый модемный пул. После того, как вы соединились с ISP (Internet Service Provider), ваш компьютер становится частью сети данного ISP. Каждый провайдер имеет свою магистральную линию или backbone.

ISP-провайдеры имеют так называемые точки присутствия POP (Point of Presence), где происходит подключение локальных пользо-, вателей. Провайдер может иметь точки присутствия POP в несколь­ких городах. В каждом городе находятся аналогичные модемные пулы, на которые звонят локальные клиенты этого провайдера в дан­ном городе. Провайдер обычно арендует волоконно-оптические ли-

1 Модем

1

Варианты

доступа в

Internet


Магистральная сеть ISP-A

Магистральная сеть ISP-B

Сервисы

Точка присутствия провайдера (POP) ISP-A

Рис. 7.8. Схема подключения компьютера к Internet

нии у телефонной компании для соединения всех своих точек при­сутствия. Крупные коммуникационные компании имеют собствен­ные высркопропускные каналы.

Пусть имеются опорные сети двух Интернет-провайдеров. Оче­видно, что все клиенты провайдера А могут взаимодействовать меж­ду собой по собственной сети, а все клиенты провайдера В — по сво­ей, но при отсутствии связи между сетями АиВ клиенты разных провайдеров не могут связаться друг с другом. Для реализации та­кой услуги провайдеры АиВ подключаются к так называемым точ­кам доступа NAP (Network Access Points) в разных городах, и трафик между двумя сетями течет через NAP. Аналогично организуется под­ключение к другим магистральным сетям, в результате чего образу­ется объединение множества сетей высокого уровня. В Интернете

действуют сотни крупных провайдеров, их магистральные сети свя-j заны через NAP в различных городах, и миллиарды байтов данных текут по разным сетям через NAP-узлы.

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

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

Скорость передачи информации на различных участках Интер­нета существенно различается. Магистральные линии — это высоко­скоростные каналы, построенные на основе волоконно-оптических кабелей. Кабели обозначаются ОС (optical carrier), например ОС-3, ОС-12 или ОС-48. Так, линия ОС-3 может передавать 155 Мбит/с, а ОС-48 — 2488 Мбит/с (2,488 Гбит/с). Но максимальная скорость по­лучения информации на домашний компьютер с модемным подклю­чением не превышает 56 Кбит/с.

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

Таким образом, маршрутизатор выполняет две взаимосвязанные функции. Во-первых, он направляет информацию по свободным ка­налам, предотвращая закупорку узких мест в Сети; во-вторых, про­веряет, что информация следует в нужном направлении. При объе­динении двух сетей маршрутизатор включается в обе сети, пропуская информацию из одной в другую. В некоторых случаях он осуществ­ляет перевод данных из одного протокола в другой, при этом защи­щая сети от лишнего трафика. Эту функцию маршрутизаторов мож­но сравнить с работой службы ГИБДД, которая ведет наблюдение за автомобильным движением с вертолета и сообщает водителям опти­мальный маршрут.

  1. Протоколы интернет

Различают два типа протоколов: базовые и прикладные. Базовые протоколы отвечают за физическую пересылку сообщений между компьютерами в сети Internet. Это протоколы IP и TCP. Прикладны­ми называют протоколы более высокого уровня, они отвечают за функционирование специализированных служб. Например, протокол HTTP служит для передачи гипертекстовых сообщений, протокол FTP — для передачи файлов, SMTP — для передачи электронной почты.

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

На нижнем уровне используются два основных протокола: IP (Internet Protocol — протокол Интернет) и TCP (Transmission Control Protocol — протокол управления передачей). Архитектура протоколов TCP/IP предназначена для объединения сетей. В их качестве могут выступать разные ЛВС (Token Ring, Ethernet и др.), различные на­циональные, региональные и глобальные сети. К этим сетям могут подключаться машины разных типов. Каждая из сетей работает в соответствии со своими принципами и типом связи. При этом каж­дая сеть может принять пакет информации и доставить его по ука­занному адресу. Таким образом, требуется, чтобы каждая сеть имела некий сквозной протокол для передачи сообщений между двумя вне­шними сетями.

Предположим, имеется некое послание, отправляемое по элект­ронной почте. Передача почты осуществляется по прикладному про­токолу SMTP, который опирается на протоколы TCP/IP. Согласно протоколу TCP, отправляемые данные разбиваются на небольшие пакеты фиксированной структуры и длины, маркируются таким об­разом, чтобы при получении данные можно было бы собрать в пра­вильной последовательности.

Обычно длйна одного пакета не превышает 1500 байт. Поэтому одно электронное письмо может состоять из нескольких сотен таких пакетов. Малая длина пакета не приводит к блокировке линий свя­зи и не позволяет отдельным пользователям надолго захватывать ка­нал связи,

К каждому полученному TCP-пакету протокол IP добавляет ин­формацию, по которой можно определить адреса отправителя и по­лучателя. Это аналогично помещению адреса на конверт. Для каж­дого поступающего пакета маршрутизатор, через который проходит пакет, по данным IP-адреса определяет, кому из ближайших соседей необходимо переслать данный пакет, чтобы он быстрее оказался у получателя, т.е. принимает решение об оптимальном пути следова­ния очередного пакета. При этом географически самый короткий путь не всегда оказывается оптимальным (быстрый кацал на другой континент может быть лучше медленного в соседний город). Очевид­но, что скорость и пути прохождения разных пакетов могут быть различными. Взаимосвязанные пакеты данных могут передаваться различными путями. Возможно, что пакеты будут путешествовать через разные континенты с различной скоростью. При этом пакеты, отправленные позже, могут дойти раньше. Независимо от длины пути в результате конечного числа пересылок TCP-пакеты достигают ад­ресата.

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

Таким образом, протокол IP осуществляет перемещение данных в сети, а протокол TCP обеспечивает надежную доставку данных, используя систему кодов, исправляющих ошибки. Причем два сете­вых сервера могут одновременно передавать в обе стороны по одной линии множество TCP-пакетов от различных клиентов.

Необходимо подчеркнуть основное различие передачи информа­ции по телефонной сети и по Интернету. Телефонная система при звонке по телефону в другой регион или даже на другой континент устанавливает канал между вашим телефоном и тем, на который нм звоните. Канал может состоять из десятков участков разной физи­ческой природы — медные провода, волоконно-оптические линии, беспроводные участки, спутниковая связь и т.д. Эти участки неиз­

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

Итак, Internet-данные в любой форме - электронное письмо, Web-страница или скачиваемый файл — путешествуют в виде груп­пы пакетов. Каждый пакет посылается на место назначения по оп­тимальному из доступных путей. Поэтому даже если какой-то учас­ток Интернет окажется нарушенным, то это не повлияет на доставку пакета, который будет направлен по альтернативному пути. Таким образом, во время доставки данных нет необходимости в фиксиро­ванной линии связи между двумя пользователями. Принцип пакет­ной коммутации обеспечивает основное преимущество Internet — надежность. Сеть может распределять нагрузку по различным участ­кам за тысячные доли секунды. Если какой-то участок оборудования сети поврежден, пакет может обойти это место и пройти по другому пути, обеспечив доставку всего послания. Прототип Интернет — сеть ARPAnet, разработанная по заказу Минобороны США, задумывалась именно как сеть, устойчивая к повреждениям (например, в, случае военных действий), способная продолжать нормальное функциони­рование при выходе из строя любой ее части.

  1. АЭресаиия В интернет

Каждому компьютеру, подключенному к Интернету, присваива­ется идентификационный номер, который называется 1Р-адресом.

При сеансовом подключении к Интернету IP-адрес выделяется компьютеру только на время этого сеанса. Присвоение адреса ком­пьютеру на время сеанса связи называется динамическим распределе­нием IP-адресов. Оно удобно для провайдера, поскольку один и тот же IP-адрес в разные периоды времени может быть выделен разным пользователям. Таким образом, Интернет-провайдер должен иметь по одному IP-адресу на каждый обслуживаемый им модем, а не на каж­дого клиента.

IP-адрес имеет формат xxx.xxx.xxx.xxx, где ххх — числа от 0 до 255. Рассмотрим типичный IP-адрес: 193.27.61.137. Для облегчения запоминания IP-адрес обычно выражают рядом чисел в десятичной системе счисления, разделенных точками. Но компьютеры хранят его в бинарной форме. Например, тот же IP-адрес в двоичном коде бу­дет выглядеть так:

11000001. 00011011. 00111101. 10001001.

Четыре числа в IP-адресе называются октетами, поскольку,|в каждом из них при двоичном представлении имеется восемь разря-| дов: 4 • 8=32. Так как каждая из восьми позиций может иметь два различных состояния: 1 или 0, общий объем возможных комбина­ций составляет 28 или 256, т.е. каждый октет может принимать зна­чения от 0 до 255. Комбинация четырех октетов дает 232 значений, т.е. примерно 4,3 млрд комбинаций,' за исключением некоторых за­резервированных адресов.

Октеты делят на две секции: Net и Host. Net-секция используется для того, чтобы определить сеть, к которой принадлежит компьютер. Host, который называют умом, определяет конкретный компьютер в сети.

Подобная система используется и в обычной почте.

На ранней стадии своего развития Интернет состоял из неболь­шого количества компьютеров, объединенных модемами и телефон­ными линиями. Тогда пользователи могли установить соединение с компьютером, набрав цифровой адрес, например 163. 25. 51. 132. Это было удобно, пока компьютеров было мало. По мере увеличения их количества цифровые имена стали заменять текстовыми, потому что текстовое имя проще запомнить, чем цифровое. Возникла проблема автоматизации этого процесса, и в 1983 г. в Висконсинском универ­ситете США была создана так называемая DNS-система (Domain Name System), которая автоматически устанавливала соответствие между текстовыми именами и IP-адресами. Вместо чисел была пред­ложена ставшая сегодня для нас привычной запись типа www. myname. gorod. ru.

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

Таким образом, при пересылке информации компьютеры ис­пользуют цифровые адреса, люди — буквенные, а DNS-сервер слу­жит своеобразным переводчиком.

Когда происходит обращение на Web или посылается e-mail, то используется доменное имя. Например, адрес http://www.microsoft.com содержит доменное имя microsoft.com. Аналогично e-mail-адрес algol@rambler.ru содержит доменное имя rambler.ru.

В доменной системе имен реализуется принцип назначения имен с определением ответственности за их подмножество соответствую­щих сетевых групп.

Каждая группа придерживается этого простого правила. Имена, которые она присваивает, единственны среди множества ее непос­редственных подчиненных, поэтому никакие две системы, где бы они ни находились в Интернете, не смогут получить одинаковые имена. Так же уникальны адреса, указываемые на конвертах при доставке писем обычной почтой. Таким образом, адрес на основе географи­ческих и административных названий однозначно определяет точку назначения.

Домены имеют подобную иерархию. В именах домены отделя­ются друг от друга точками: addressx.msk.ru, addressy.spb.ru. В имени может быть различное количество доменов, но обычно их не боль­ше пяти. По мере движения по доменам в имени слева направо, ко­личество имен, входящих в соответствующую группу, возрастает.

Для перевода буквенного доменного имени в IP-адрес цифрового формата служат DNS-серверы.

В качестве примера рассмотрим адрес group, facult. univers. rst. ru.

Первым в имени стоит название рабочей машины — реального компьютера с IP-адресом. Это имя создано и поддерживается груп­пой facult. Группа входит в более крупное подразделение univers, да­лее следует домен rst — он определяет имена ростовской части сети, n ru — российской.

Каждая страна имеет свой домен: аи - Австралия, be - Бельгия и т.д. Это географические домены верхнего уровня.

Помимо географического признака используется организационный признак, в соответствии с которым существуют следующие домен­ные имена первого уровня:

  • сот — коммерческие предприятия,

  • edu — образовательные учреждения,

  • gov — государственные учреждения,

  • mil — военные организации,

  • net — сетевые образования,

  • org — учреждения других организаций и сетевых ресурсов. Внутри каждого доменного имени первого уровня находится це­лый ряд доменных имен второго уровня. Домен верхнего уровня рас­полагается в имени правее, а домен нижнего уровня — левее.

Так, в адресе www. continent, rst. ru домен верхнего уровня ru указывает на то, что адрес принадлежит российской части Интернет, rst — определяет город, следующий уровень — домен конкретного предприятия.

Лавинообразное подключение в сети Интернет обнажило про­блему недостатка адресного пространства. В 1.995 г. организация IETF (Internet Engineering Task Force — инженерные силы Интернет)* опуб-; ликовала рекомендации по протоколу IP следующего поколения - IP v. 6 (сейчас IP v. 4), которые предполагают постепенный переход с существующей 32-разрядной системы присвоения IP-адресов на 128-разрядную систему. Такая мера сулит увеличение адресного про­странства в 296 раз, что позволит каждому жителю планеты иметь несколько адресов. Переход уже начался. Вместе с использованием новых оптоволоконных каналов для увеличения скорости в сотни и тысячи раз расширение адресного пространства даст возможность осуществить проект Интернет 2. Эта сеть в настоящее время развер­тывается в США для ряда университетов, школ, федеральных агентств и крупных компьютерных компаний.

Во время приема запроса на перевод доменного имени в IP-ад­рес DNS-сервер выполняет одно из следующих действий:

  • отвечает на запрос, выдав IP-адрес, если знает IP-адрес запра­шиваемого домена;

  • взаимодействует с другим DNS-сервером для того, чтобы найти IP-адрес запрошенного имени, если он его не знает (такой зап* рос может проходить по цепочке DNS-серверов несколько раз);

  • выдает сообщение: «Я не знаю IP-address домена, запрашивае­мого вами, но вот IP-address DNS-сервера, который знает боль­ше меня»;

  • сообщает, что такой домен не существует.

Предположим, вы набрали адрес group, facult. univers. rst. com, который имеет адрес в-домене верхнего уровня СОМ. В простейшем варианте браузер контактирует с DNS-сервером для того, чтобы по­лучить IP-адрес искомого компьютера, и DNS-сервер возвращает этот искомый 1Р-адрес.

Одна из причин надежной работы этой системы — ее избыточ­ность. Существует множество DNS-серверов на каждом уровне, и поэтому если один из них не может дать ответ, то точно существует другой, на котором есть необходимая информация.

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

  1. Варианты Эостула В интернет Ч

Провести соединение между ISP-провайдером и пользователя­ми — задача не из простых. Обычно провайдер подключен к Интер­нет с помощью дорогостоящего оптоволоконного высокоскоростно­го канала. Один провайдер обслуживает множество клиентов, кото­рые рассредоточены на большой территории. Технология, по которой осуществляется связь между абонентами и местной телекоммуника­ционной службой, т.е. провайдером, получила название технологии последней мили. Название это условное (обычно расстояние от або­нента до провайдера не превышает 4 км).

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

Наиболее распространенный среди домашних пользователей в России способ доступа в Интернет — доступ по коммутируемой те­лефонной линии с помощью модема. Скорость доступа при таком спо­собе подключения не более 56 Кбит/с, но такая скорость сегодня мало кого устраивает. Какие же альтернативные технологии позво­ляют получить более высокую скорость доступа в Интернет?

Обычный телефон использует лишь низкочастотный диапазон линии, Однако провод телефонной линии способен передавать го­раздо больше данных, если использовать более широкую полосу (по­лоса пропускания обычной телефонной линии 3400 КГц). Поэтому телефонную сеть, которая изначально предназначалась для переда-i чи голосового сигнала, приспособили для высокоскоростной пере­дачи Цифровых данных.

DSL-технология (Digital Subscriber Line — цифровая абонентская линия) позволяет использовать более широкую полосу пропускания для передачи данных без ущерба для использования телефонной ли­нии по прямому назначению. Существует целое семейство техноло­гий под общим названием xDSL, где приставка х указывает на кон­кретную спецификацию семейства DSL. Эта технология весьма перспективна, она позволяет одновременно работать в Интернете и разговаривать по телефону. Скорость подключения по ней намного выше, чем при помощи обычного модема. DSL не требует проклад­ки новых проводов, так как использует уже имеющуюся телефонную линию.

Одним из основных преимуществ технологии xDSL является высокоскоростной доступ в Интернет. При работе в Интернет основ­ной поток информации идет из сети к пользователю, а в сеть пере­дается гораздо меньший объем данных. Действительно, при просмот­ре Web-страниц в ответ на небольшой запрос пользователь получает из Сети не только текст, но и изображения. Таким образом, инфор­мационный обмен является асимметричным.

ADSL (Asymmetrical DSL), или асимметричный DSL, позволя­ет передавать данные пользователю со скоростью, на порядок пре­вышающую скорость передачи данных от пользователя. При этом сигнал от пользователя в Сеть передается на более низких частотах, чем сигнал из Сети к пользователю. Теоретически при этом можно иметь канал с пропускной способностью 1 Мбит/с в прямом направ­лении (в Сеть) и 8 Мбит/с — в обратном. При этом одна и та же линия может использоваться для передачи голоса и цифровых дан­ных. По сравнению с коммутируемым доступом ADSL-линия рабо­тает, как минимум, на два порядка быстрее. Высокая скорость по­зволяет комфортно работать с Web-сайтами с мультимедийной информацией, быстро перекачивать большие файлы и полноценно использовать интерактивные приложения.

Достоинства ADSL: легкость установки (используется уже име-i ющаяся телефонная линия), постоянный доступ в Интернет (пользо­ватели ADSL не разделяют полосу пропускания с другими абонен­тами).

Недостаток ADSL: ограничения по дальности. Скорость переда­чи потока данных в обратном направлении существенно зависит от расстояния. Если при расстоянии 3 км можно получить скорость около 8 Мбит/с, то на расстоянии 5 км — только 1,5 Мбит/с.

На стороне пользователя компьютер подключается к ADSL-mo- дему. Принцип действия ADSL-модема заключается в том, что диа­пазон частот в интервале 24-1100 КГц разбивается на 4 КГц поло­сы, на каждую из которых назначается виртуальный модем. Таким образом, каждый из этих 249 виртуальных модемов работает со сво­им диапазоном. ADSL-модем подключается к частотному разделите­лю. Частотный разделитель представляет собой фильтр низких час­тот, разделяющий низкочастотный сигнал обычной телефонной связи и высокочастотный ADSL-сигнал. Конструктивно частотный разде­литель, или сплиттер, выполняется в виде блока, имеющего три гнез­да: для подключения ADSL-модема, телефонного аппарата и линии. Частотный разделитель позволяет подключить к одной линии и ком­пьютер, и телефон. Таким образом, по одной линии могут переда­ваться и цифровые компьютерные сигналы, и аналоговые сигналы телефонной связи.

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

  • на мультиплексор доступа DSLAM. На стороне провайдера сигнал от мультиплексора доступа DSLAM через модемный пул и сервер попадает в Интернет.

Мультиплексор доступа DSLAM (Digital Subscriber Line Access Multiplexer) — это устройство, установленное на телефонной станции, которое осуществляет подключение всех DSL-абонентов к одной высокоскоростной линии.

ADSL — весьма экономичная технология. Обычно такая линия обходится потребителю намного дешевле, чем выделенный канал аналогичной пропускной способности. По данной технологии может быть подключен не только отдельный компьютер, но и локальная сеть.

DSL-технология позволяет также использовать широкополосный доступ. Понятие «широкополосный доступ» означает, что канал npe- j доставляет расширенную полосу частот для передачи информации,? Высокая скорость передачи информации достигается благодаря тому, что с использованием широкой полосы частот информация может; быть мультиплексирована и отправлена на нескольких различных частотах, позволяя, таким образом, передавать за единицу времени большее количество информации. Как известно, мультиплексировать ние — это передача нескольких сигналов по одному физическому ка-, налу путем разделения его на подканалы. Говоря о частотном муль­типлексировании, имеют в виду частотное разделение на подканалы.

Под термином узкополосный доступ обычно понимается канал, достаточный для передачи голоса. Скорость передачи по такому каналу не превышает 64 Кбит/с. Считается, что широкополосный до­ступ — это канал со скоростью передачи не менее 256 Кбит/с. Ши­рокополосный доступ позволяет передавать в одном канале различ­ные сигналы и одновременно пользоваться телефоном, телевизором и Интернетом.

Выделенная телефонная линия — это арендованная телефонная линия связи, соединяющая без' коммутации двух абонентов. Наибо­лее распространенной технологией выделенной линии является тех­нология ISDN (Integrated Services Digital Network).

ISDN — это стандарт цифровой передачи. Основным компонен­том любой ISDN-линии является однонаправленный канал или В-канал с пропускной способностью 64 Кбит/с. По этому каналу могут пе­редаваться цифровые данные и, соответственно, оцифрованные ви­део- и аудиоданные. Для расширения полосы пропускания В-кана- лы группируются по два. В состав группы включается также D-канал (16 Кбит/с), управляющий передачей данных.

Передача информации может осуществляться по обычному мед­ному проводу. Пользователи, которые устанавливают ISDN-adanmep вместо модема, могут получить доступ в Интернет со скоростью до 128 Кбит/с. ISDN требует установки адаптеров на обоих концах ли­нии передачи. ISDN-канал обычно предоставляется телефонными станциями. По линии ISDN можно вести телефонные разговоры и одновременно передавать данные в Интернет.

Сеть кабельного телевидения первоначально была разработана как система для передачи аналогового видеосигнала в одном направле­нии — в сторону пользователя. Позднее были созданы так называе-

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

В отличие от ADSL, которая обеспечивает высокоскоростную передачу данных по одной телефонной линии, сети кабельного те­левидения являются сетями коллективного пользования. Кабельные модемы получают услугу от общего источника информации. Рабочая полоса частот кабельного модема разделяется между всеми пользо­вателями, подключенными к линии, и, следовательно, зависит от количества одновременно работающих пользователей. Обычно к од­ной модемной системе подключается несколько десятков абонентов. Чем больше клиентов одновременно посылают данные, тем меньше скорость их передачи. На практике скорость передачи данных от пользователей при применении кабельного модема часто меньше, чем при использовании ADSL.

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

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

Оборудование беспроводных сетей работает в диапазоне частот

2,4 ГГц. Сигналы такой частоты распространяются вдоль прямо! линии, соединяющей антенны, поэтому радиоканал может быть орга! низован при условии прямой видимости между абонентской антена ной.и антенной провайдера. На практике направленные антенна обеспечивают дальность связи до 30 км. .

Преимущества радиоканала: быстрая инсталляция, мобильности (нет кабеля), высокая скорость (несколько Мбит/с в зависимости си оборудования), затраты (первоначальные затраты на оборудование выше, чем в случае выделенной линии, но абонентская плата ниже).'

В случае отсутствия телефонных станций и кабельного телеви­дения может помочь спутниковый доступ в Интернет. При этом ско-3 рость доступа на порядок выше, чем по обычному модему через! коммутируемую телефонную линию, но несоизмеримо ниже ASDL-] доступа. Существует две разновидности организации высокоскорос-| тного доступа в Интернет по спутниковому каналу: симметричная и1 асимметричная.

В случае симметричного доступа клиент осуществляет передачу ! запроса на спутник и прием данных со спутника. Подобное реше­ние является достаточно дорогим, как по части клиентского обору-: дования, так и по стоимости абонентской платы.

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

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

Несмотря на технические трудности, сегодня уже имеются тех­нологии, позволяющие использовать силовую кабельную инфра­структуру. В частности, компании Nor.web и United Utilities разрабо­тали технологию DPL (Digital Power Line), позволяющую передавать голос и пакеты данных через простые электрические сети 120/220 В со скоростью до 1 Мбит/с.

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

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

  1. Система аЭресаиии URL

Чтобы найти документ в сети Интернет, достаточно знать ссыл­ку на него — так называемый универсальный указатель на ресурс URL (Uniform Resource Locator — унифицированный указатель ре­сурса), который указывает местонахождение каждого файла, храня­щегося на компьютере, подключенном к Интернету.

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

Рассмотрим некоторые URL:

http://www.abc.def.ru/kartinki/SLIDE.htm

Первая часть http:// (Hypertext Transfer Protocol) — протокол пе­редачи гипертекста, по которому обеспечивается доставка докумен-

13. Информатика та с Web-cepeepa, указывает браузеру, что для доступа к ресурсу при­меняется данный сетевой протокол.

Вторая часть www.abc.def.ru указывает на доменное имя.

Третья часть kartinki/SLIDE.htm показывает программе-клиенту, где на данном сервере искать ресурс. В данном случае ресурсом яв­ляется файл в формате html, а именно SLIDE.htm, который находит" ся в папке kartinki.

Имена директорий, содержащиеся в URL, — виртуальные и не имеют ничего общего с реальными именами каталогов компьютера, на котором выполняется Web-сервер, а являются их псевдонимами. Ни один владелец компьютера, на котором выполняется Wfeb-сервер, не позволит постороннему пользователю, обращающемуся к Web-cep- веру через Интернет, иметь доступ к реальной файловой системе это­го компьютера.

При написании URL важно правильно указывать верхние и ниж­ние регистры. Дело в том, что Web-серверы функционируют под уп­равлением разных операционных систем, а в некоторых из них име­на файлов и приложений являются регистро-чувствительными.

В общем случае формат URL имеет вид: (протокол доступа) [://<домен>: <порт>](/<директория><имя ресурса>[/<параметры запроса>].

Первая часть URL соответствует используемому протоколу дос­тупа, например HTTP:// (протокол передачи гипертекста), FTP:// (File Transfer Protocol — протокол передачи файлов) и т.д.

Вторая часть URL-адреса указывает доменное имя, а также мо­жет указывать номер порта. Любой сервер предоставляет сервис, ис­пользуя нумерованные порты. При этом каждая служба имеет свой номер порта. Клиенты подключаются к сервису по уникальному IP- адресу и по конкретному номеру порта. Так, если на компьютере функционируют Web-cepeep и FTP-сервер, то обычно Web-cepeep будет доступен по порту 80, а FTP-сервер — по порту 21. Каждый из распространенных сервисов имеет свой стандартный номер порта: WWW - 80, FTP - 21, ECHO - 7, TELNET - 23, SMTP - 25, GOPHER — 70 и т.д. Если номер порта не указан, то по умолчанию предполагается 80. В рассмотренном выше примере номер порта ука­зан не был, поэтому он будет определен по умолчанию в связи с именем используемого протокола, в данном случае — HTTP.

При этом следует учитывать, что если устанавливается свой Web- сервер, то его можно поместить на другой свободный номер пор­та, например 920. В этом случае, если имя машины, например, aaa.bbb.com, то подключиться к этому серверу можно по URL http: //aaa.bbb.com:920.

Третья часть URL-адреса — путь доступа к файлу — аналогичен пути к файлу на клиентском компьютере. Если этот путь не указан, по умолчанию используется стандартный отклик, определяемый в настройках Web-сервера. В частности, стандартным откликом на HTTP-запрос для ряда Web-серверов служит вывод файла с именем index.html.

  1. Сервисы интернет

Обычно пользователи идентифицируют Интернет со службой WWW (World Wide WebВсемирная паутина). Но это далеко не так, ибо WWW — одна из многочисленных служб Интернета. По анало­гии Интернет можно сравнить с системой транспортных магистра­лей, а виды сервисов Интернет — с различными службами доставки.

В число наиболее часто используемых служб Интернет входят электронная почта, WWW, служба новостей Интернет, передача фай­лов по протоколу FTP, терминальный доступ по протоколу Telnet и ряд других служб.

Электронная почта. Электронная почта возникла раньше, чем Интернет, однако она не только не устарела, но, напротив, является наиболее массовой службой Сети и постоянно приобретает новых пользователей. Электронное письмо, как и обычное, содержит адре­са отправителя и получателя. В него можно вложить графическое изображение или иной файл — точно так же, как в конверт с пись­мом можно положить открытку или фотографию. На него можно поставить электронную подпись, которая играет ту же роль, что и подпись в обычном письме. Однако служба e-mail давно обошла по популярности традиционную почту: ежегодно в мире рассылается более 600 млрд электронных писем. Чем же вызвана такая популяр­ность? Для ответа на этот вопрос перечислим достоинства электрон­ной почты.

В отличие от телефонного звонка электронная почта может быть прочитана в удобное время, что особенно важно с учетом разницы

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

Обычно в момент регистрации доступа в Интернет сервис-про­вайдер предоставляет пользователю дисковое пространство под по­чтовый ящик: адрес этого почтового ящика (E-mail Account Address), имя пользователя (E-mail Account Login Name) и пароль (E-mail Account Password). Пароль для доступа предоставляется в целях пре­дотвращения несанкционированного доступа к почте. Адрес элект­ронной почты имеет формат: имя_пользователя @ имя_домена, на­пример lvanov@abc.rst.ru.

Часть слева от значка @ — это имя почтового яшика (E-mail Account Name) на сервере, из которого владелец этого адреса заби­рает письма (в данном примере — Ivanov). Как правило, имя пользо­вателя совпадает с именем почтового ящика.

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

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

Для передачи писем используются протокол SMTP (Simple Mail Transfer Protocol — простой протокол пересылки почты) и соответ­ственно SMTP-серверы. Чаще всего отправка почты происходит с почтового сервера вашего Internet-провайдера, хотя, в принципе, это не обязательно. Обычно SMTP-серверы не требуют идентификации,

поэтому вы можете отправить письмо с любого такого сервера. Для приема почтовых сообщений в настоящее время наиболее часто ис­пользуется протокол POP3 (Post Office Protocol — протокол почтово­го офиса), который контролирует право пользователя забирать по­чту из ящика и поэтому требует предоставления имени пользователя и пароля.

Рассмотрим конкретный пример работы почты. Пусть некий владелец электронного ящика с адресом petya@abc.ru на почтовом сервере abc.ru пишет письмо владельцу почтового ящика с адресом vasya@xyz.com на сервере xyz.com.

Для того чтобы подготовить письмо, он вызывает клиентскую программу, создает текст сообщения и в графе Кому указывает адрес получателя vasya@xyz.com. Если отправитель не имеет постоянного подключения к Интернету, то после нажатия кнопки Отправить он устанавливает сеанс связи с провайдером и начинает получать на­копившуюся почту и отправлять подготовленные письма. Порядок приема почты обычно зависит от текущих настроек почтовой про­граммы. Нередко письма складываются в определенную папку и от­правляются другой командой после установки связи с провайдером. Процесс загрузки на локальный компьютер вновь поступивших пи­сем и отправления новых писем на сервер называется синхронизаци­ей учетной записи.

После того как вы подключились к Интернету, клиентская про­грамма соединяется с почтовым сервером и передает серверу почто­вый адрес получателя, vasya@xyz.com и текст самого сообщения. При отправке почты клиентская программа взаимодействует с сервером исходящей почты, т.е. с SMTP-сервером, по протоколу SMTP, под­ключаясь к порту с номером 25. Процедура отправки электронной почты заключается в копировании вновь подготовленных сообщений из базы клиента в базу почтового сервера (в нашем случае — серве­ра abc.ru).

Рассмотрим этот процесс более подробно. После того как пись­мо доставлено на сервер отправителя, SMTP-сервер последнего дол­жен связаться с сервером получателя. Для этого ему необходимо знать IP-адрес SM'ГР-сервера, получающего почту для адресов из домена xyz.com. Чтобы узнать этот адрес, он обращается к DNS-серверу и задает ему вопрос: Каков 1Р-адрес SMTP-сервера, получающего по­чту для адресов из домена xyz.com?

DNS-сервер выдает IP-адрес, после чего SMTP-сервер на abc.ru может соединиться с SMTP-сервером на xyz.com. Если по какой-либо причине SMTP-сервер на abc.ru не может связаться с SMTP-серве­ром на xyz.com, то послание встает в очередь для отправки. Обычно через каждые 15 минут производится попытка переслать послание из очереди. Через четыре часа отправителю будет послано сообщение о проблеме, а спустя пять дней большинство серверов прекращают! попытки и возвращают отправителю недоставленную почту, так *щЯ бесследно ваше письмо не исчезнет. й$Ш

Как только SMTP-серверу на abc.ru удается связаться с SMTBW сервером на xyz.com, он передает послание. Сервер xyz.com опреда- ляет, существует ли пользователь с именем vasya, и передает посла­ние в ящик vasya. ШНВ

После того, как почта оказалась на сервере xyz.com, получатель имеет возможность скачать ее оттуда. При получении почты/ нжко? пившейся в вашем почтовом ящике, клиентская программа Подача1' теля взаимодействует с РОРЗ-сервером по протоколу POP3. Посколь­ку при входе в Интернет вы уже сообщаете свой пароль и логин, то обычно при получении почты дополнительного введения этих дан­ных не требуется (следует отметить, что в принципе пароль на доз­вон й доступ к ящику не всегда один и тот же). Ваш почтовый кли­ент связывается с РОРЗ-сервером и передает команды, которые определяют передачу копий посланий электронной почты на локаль­ную машину клиента.

WWW — самый популярный сервис Интернета. Именно он, бла­годаря своей относительной простоте и наглядности для пользова­телей, сделал столь массовыми обращения к ресурсам Сети.

В самом общем плане WWW — это система Web-серверов, под­держивающая документы, форматированные специальным образом. Служба WWW реализована в виде клиент-серверной архитектуры. Пользователь с помощью клиентской программы (браузера) осуще­ствляет запрос той или иной информаций на сервере, а Wfeb-сервер обслуживает запрос браузера. Браузер — это программа, обеспечива­ющая обращение к искомому ресурсу на сервере по его URL, интер­претирующая полученный результат и демонстрирующая его на кли­ентском компьютере.

Протокол, по которому происходит доставка Web-сервером до­кумента Web-браузеру, носит название HTTP (Hypertext Transfer

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

Особенно продуктивной идея гипертекста оказалась примени­тельно к объединению цифровой информации, распределенной на серверах во всем мире.

WWW — это глобальная гипертекстовая система, организован­ная на базе Internet. WWW представляет собой механизм, при по­мощи которого связывается информация, доступная посредством многочисленных Web-серверов во всем мире. Web-cepeep — это про­грамма, которая умеет получать http-запросы и выполнять в соответ­ствии с этими запросами определенные действия, например запус­кать приложения и генерировать документы.

Документ, доступный через Web, называют Web-страницей, а группы страниц, объединенные общей темой и навигационно,Web- узлами, или Web-сайтами. Один аппаратный Wfeb-сервер может со­держать несколько Web-сайтов, но возможна и обратная ситуация, когда огромный Wfeb-сайт может поддерживаться группой Web-сер­веров. Тот факт, что навигация не требует знаний о местоположении искомых документов, как раз и является основным удобством и при­чиной популярности службы WWW.

В браузерах реализованы две основные функции: запрос инфор­мации у Web-cepeepa и отображение ее на клиентском компьютере. Кроме того, браузеры обладают дополнительными сервисными фун­кциями, такими как упрощение поиска, хранение закладок, указы­вающих на избранные страницы, и др.

Популярность WWW обусловлена тем, что можно не только про­сматривать чужие страницы и иметь доступ к огромному количеству информации, представленной на сотнях миллионов компьютеров, но и создать собственные ресурсы и таким образом донести любую ин­формацию до всех будущих посетителей сайта. Иными словами, WWW — это глобальный механизм обмена информацией: одни люди помещают информацию на Web-серверы, а другие ее просматрива­ют. Создав Web-сайт, владелец может поместить туда информацию различного рода: текст, графику, звук, анимацию, которая станет до­ступной для всех посетителей этого ресурса. С появлением в Сети вашей страницы информация о вас или о вашей фирме станет дос­тупна сотням миллионов пользователей круглосуточно семь дней в неделю. Количество информации, которое может быть предоставле­но посетителю, практически не ограничено по времени, в отличие от радио или телевидения.

  1. Поиск В интернете

Бытует мнение, что в Интернете есть все, но найти там что-либо практически невозможно. Впрочем, противоположная точка зрения, взятая на вооружение поисковой системой Яндекс, гласит, что найти в Интернете можно все. Видимо, для того чтобы находить, нужно уметь искать.

Для поиска в Интернете предназначены различные инструмен­ты: поисковые машины, индексированные каталоги, метапоисковые системы, тематические списки ссылок, онлайновые энциклопедии и справочники. При этом для поиска разного рода информации наи­более эффективными оказываются различные инструменты. Рассмот­рим каждый инструмент в отдельности.'

Индексированные каталоги содержат информацию, иерархически структурированную по темам. Тематические разделы первого уровня определяют широко популярные темы, такие как спорт, отдых, на­ука, магазины и т.д. В каждом разделе есть подразделы. Таким обра­зом, путешествуя по дереву каталога, можно постепенно сужать об­ласть поиска. Дойдя до нужного подкаталога, вы находите в нем набор ссылок. Обычно в каталоге все ссылки являются профильны­ми, поскольку составлением каталогов занимаются не программы, а люди. Очевидно, что если вы ищете информацию по некоторой ши­рокой теме, то целесообразно обратиться к каталогу. Если же вам необходимо найти конкретный документ, то каталог окажется мало­эффективным поисковым средством. Один из наиболее популярных каталогов в России — List.ru находится по адресу http://mail.ru/. Кро­ме каталогов общего назначения в Сети много специализированных каталогов. Если внутри отдельной темы каталога находится огром­ное количество ресурсов, возникает проблема выбора. В некоторых каталогах имеется сортировка по популярности, например в катало­ге Яндекс сортировка идет по индексу цитирования.

Тематические списки ссылок — это списки, составленные группой профессионалов или коллекционерайи-одиночками. Часто узкоспе­циализированная тема может быть раскрыта одним специалистом лучше, чем группой сотрудников крупного каталога. Тематических коллекций в Сети очень много, поэтому давать конкретные адреса не имеет смысла.

Поисковые машины. В ответ на запрос мы обычно получаем длин­ный список документов, многие из которых не имеют никакого от­ношения к теме запроса. Такие документы называются нерелевант­ными, т.е. не относящимися к делу. Таким образом, релевантный документ — это документ, содержащий искомую информацию. Оче­видно, что от умения грамотно делать запрос зависит процент полу­чаемых релевантных документов. Доля релевантных документов в списке всех найденных поисковой машиной документов называется точностью поиска. Если все найденные документы релевантные, то точность поиска составляет 100 %. Если найдены все релевантные документы, то полнота поиска — 100 %. Таким образом, качество по­иска определяется двумя параметрами: точностью и полнотой поис­ка. Эти величины взаимозависимы, т.е. увеличение полноты снижа­ет точность, и наоборот.

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

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

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

Существует огромное количество поисковых систем. Наиболее популярная на Западе поисковая система — Google (www.google.com). Всемирно популярный каталог Yahoo! в качестве поисковой систе­мы использует именно Google. В Рунете самыми популярными по­исковыми системами являются Яндекс (www.yandex.ru) и Рамблер (www.rambler.ru).

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

Очень удобной в этом отношении является отечественная про­грамма ДИСКо Искатель (www.disco.ru).

Онлайновые энциклопедии и справочники. Очень часто нужно най­ти не документ, содержащий то или иное ключевое слово, а имен­но — толкование искомого слова. Одной из крупнейших онлайновых энциклопедий является ресурс Яндекс.Энциклопедии (http:// encycl.yandex.ru/). Этот проект содержит 219 968 статей из 14 энцик­лопедий, в том числе из БСЭ и Энциклопедии Брокгауза и Ефрона. К крупным относится и Энциклопедия Кирилла и Мефодия, кото­рую можно найти по адресу www.km.ru.

Особенно актуальным является поиск толкований терминов по информационным технологиям, которые развиваются так быстро, что уследить за появлением новых терминов очень сложно. Единствен­ный ресурс на русском языке, который можно назвать компьютер­ным энциклопедическим словарем, — это проект Компьютерная энциклопедия Кирилла и Me$ockfl *(http://www.megakm.ru/pc/), преду­сматривающая поиск не только по термину, но и по тематической структуре. Объем словаря терминов — 700 статей. Объем англоязыч­ного словаря FOLDOC (Free On-line Dictionary Of Computing; http:// wombat.doc.ic.ac.uk/) — более 13 тыс. терминов.

7.9.8. Практические рекоменЗаиии

  1. Используйте различные инструменты для поиска информации разного профиля. Поиск в каталоге дает представление о структу­ре вопроса, поисковая система позволяет найти конкретный до­кумент.

  2. Избегайте общих слов, осуществляя поиск в поисковой машине. 4eiM уникальнее ключевое слово, по которому осуществляется поиск, тем скорее вы его найдете. Логика здесь очевидна, одна­ко факты позволяют лучше понять ситуацию: 400 наиболее час­то употребляемых слов русского языка со всеми словоформами (около 2 тысяч) составляют одну треть всех слов в среднестати­стическом тексте, а частотный список на 8 тыс. слов покрывает уже 80 % всех словоупотреблений в текстах.

  3. Ищите больше чем по одному слову. Сократить объем ссылок можно, определив несколько ключевых слов. Используйте сино­нимы.

  4. Не пишите прописными буквами. Избегайте написания ключево­го слова с прописной буквы. В ряде поисковых систем заглав­ные буквы позволяют искать имена собственные, например фир­ма Intel.

  5. Используйте функцию Найти похожие документы. Если один из найденных документов ближе к искомой теме, чем остальные, нажмите на ссылку Найти похожие документы.

  6. Пользуйтесь языком запросов. С помощью языка запросов мож­но сделать запрос более точным.

  7. Пользуйтесь расширенным запросом. Во многих поисковых си­стемах есть форма расширенного запроса, в которой можно ис­пользовать основные механизмы сужения поиска. .

  8. Пользуйтесь метапоисковыми системами, если по теме мало до­кументов.

8. ОсноВь! u методы зашиты информации

    1. Обилие понятия информационной безопасности

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

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

Усложнение методов и средств организации машинной обработ­ки, повсеместное использование глобальной сети Интернет приво­дит к тому, что информация становится все более уязвимой. Этому способствуют такие факторы, как постоянно возрастающие объемы обрабатываемых данных, накопление и хранение данных в ограни­ченных местах, постоянное расширение круга пользователей, имею­щих доступ к ресурсам, программам и данным, недостаточный уро­вень защиты аппаратных и программных средств компьютеров и коммуникационных систем и т.п.

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

      1. ОсноВные понятия информоиионной безопасности

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

Компьютерная система (КС) — организационно-техническая си­стема, представляющую совокупность следующих взаимосвязанных компонентов:

технические средства обработки и передачи данных; методы и алгоритмы обработки в виде соответствующего про­граммного обеспечения;

данные — информация на различных носителях и находящаяся в процессе обработки;

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

объект доступа, или объект, — любой элемент КС, доступ к ко­торому может быть произвольно ограничен (файлы, устройства, ка­налы);

субъект доступа, или субъект, — любая сущность, способная инициировать выполнение операций над объектом (пользователи, процессы).

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

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

Целостность информации — свойство сохранять свою структуру л содержание в процессе хранения, использования и передачи.

  • Достоверность информации — свойство, выражаемое в строгой

принадлежности информации субъекту, который является ее источ­ником.

Доступ к информации — возможность субъекта осуществлять оп­ределенные действия с информацией.

Санкционированный доступ к информации — доступ с выполнени­ем правил разграничения доступа к информации.

Несанкционированный доступ (НСД) - доступ с нарушением пра­вил разграничения доступа субъекта к информации, с использовани­ем штатных средств (программного или аппаратного обеспечения), предоставляемых КС.

Правила разграничения доступа — регламентация прав доступа субъекта к определенному компоненту системы.

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

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

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

Уязвимость КС — любая характеристика, которая может привес­ти к реализации угрозы.

Атака КС - действия злоумышленника, предпринимаемые с целью обнаружения уязвимости КС и получения несанкционирован­ного доступа к информации.

Безопасная, или защищенная, КС — КС, снабженная средствами защиты для противодействия угрозам безопасности.

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

Политика безопасности — совокупность норм и правил, регла­ментирующих работу средств защиты от заданного множества угроз.

Дискреционная модель разграничения доступа — способ разграни­чения доступа субъектов к объектам, при котором права доступа за­даются некоторым перечнем прав доступа субъекта к объекту. При реализации представляет собой матрицу, строками которой являют­ся субъекты, а столбцами - объекты; элементы матрицы характери­зуют набор прав доступа.

Полномочная (мандатная) модель разграничения доступа — спо­соб разграничения доступа субъектов к объектам, при котором каж­дому объекту ставится в соответствие уровень секретности, а каждо­му субъекту уровень доверия к нему. Субъект может получить доступ к объекту, если его уровень доверия не меньше уровня секретности объекта.

      1. Анализ УГР°3 информационной безопасности

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

Классификация угроз может быть проведена по ряду базовых признаков:

  1. По природе возникновения: объективные природные явления, не зависящие от человека; субъективные действия, вызванные дея­тельностью человека.

  2. По степени преднамеренности: ошибки конечного пользователя или персонала; преднамеренного действия, для получения НСД к информации.

  3. По степени зависимости от активности КС: проявляющиеся не­зависимо от активности КС (вскрытие шифров, хищение носи­телей информации); проявляющиеся в процессе обработки дан­ных (внедрение вирусов, сбор «мусора» в памяти, сохранение и анализ работы клавиатуры и устройств отображения).

  4. По степени воздействия на КС: пассивные угрозы (сбор данных путем выведывания или подсматривания за работой пользовате­лей); активные угрозы (внедрение программных или аппаратных закладок и вирусов для модификации информации или дезорга­низации работы КС).

  5. По способу доступа к ресурсам КС: получение паролей и прав доступа, используя халатность владельцев и персонала, несанк­ционированное использование терминалов пользователей, физи­ческого сетевого адреса, аппаратного блока кодирования и др.; обход средств защиты, путем загрузки посторонней операцион­ной защиты со сменного носителя; использование ^документи­рованных возможностей операционной системы.

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

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

      1. Юридические основы инсрормоиионной безопасности

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

Наиболее общим законом Российской Федерации является Кон­ституция. Главы 23, 29, 41 и 42 в той или иной мере затрагивают вопросы информационной безопасности. Статья 23 Конституции, например, гарантирует право на личную и семейную тайну/ на тайну переписки, телефонных разговоров, почтовых, телеграфных и иных сообщений; статья 29 — право свободно искать, получать, передавать^ производить и распространять информацию любым законным спо­собом. Главы 41 и 42 гарантируют право на знание фактов и обстоя­тельств, создающих угрозу жизни и здоровью людей, право на зна­ние достоверной информации о состоянии окружающей среды.

Действующий Уголовный кодекс Российской Федерации предус­матривает наказания за преступления, связанные с нарушением кон­фиденциальности информации. Глава 28 «Преступления в сфере ком­пьютерной информации» содержит статьи 272—274, посвященные преступлениям, связанным, соответственно, с неправомерным дос- тупом к компьютерной информации, созданием, использованием и распространением вредоносных программ, нарушением правил экс­плуатации ЭВМ, систем и сетей на их основе.

Интересы государства в плане обеспечения конфиденциальнос­ти информации наиболее полно представлены в Законе «О госу­дарственной тайне». В нем гостайна определена как защищаемые государством сведения в области военной, внешнеполитической, эко­номической, разведывательной, контрразведывательной и оператив­но-розыскной деятельности, распространение которых может нане­сти ущерб безопасности Российской Федерации. Здесь же дается описание средств защиты информации, к которым, согласно данно­му Закону, относятся технические, криптографические, программные и другие средства, предназначенные для защиты сведений, состав­ляющих государственную тайну. Наряду с общими законами, во мно­гих странах приняты законы о защите информации в компьютерных системах и сетях. Описание основных положений этих законов, при­нятых в США и РФ, приведены ниже.

      1. Критерии защищенности среЗстВ компьютерный систем

Министерством обороны США в 1983 г. были разработаны оп­ределения требований к аппаратному, программному и специально­му программному обеспечению под названием «Критерии оценки безопасности компьютерных систем», получившие неофициальное, но прочно утвердившееся название «Оранжевая книга».

В «Оранжевой книге» предложены три категории требований безопасности: политика безопасности, аудит (мониторинг произво­димых действий), корректность, в рамках которых сформулированы шесть базовых критериев безопасности.

Критерий 1. Политика безопасности. КС должна поддерживать точно определенную политику безопасности. Возможность доступа субъектов к объектам должна определяться на основании их иден­тификации и набора правил управления доступом. Там, где это воз­можно, должно использоваться мандатное управление доступом, по­зволяющее эффективно разграничивать доступ к информации разной степени конфиденциальности.

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

Критерий 3. Идентификация и аутентификация. Все субъекты должны иметь уникальные идентификаторы. Доступ субъекта к ре­сурсам КС должен осуществляться на основании результатов иден­тификации и подтверждения подлинности их идентификаторов (аутентификация). Идентификаторы и аутентификационные данные должны быть защищены от НСД, модификации и уничтожения.

Критерий 4. Регистрация и учет. Для определения степени от­ветственности пользователей за действия в системе, все происходя­щие в ней события, имеющие значение для поддержания конфиден­циальности и целостности информации, должны отслеживаться и регистрироваться в защищенном объекте (файле-журнале). Система регистрации должна осуществлять анализ общего потока событий и выделять из него только те события, которые оказывают влияние на безопасность КС. Доступ к объекту аудита для просмотра должен быть разрешен только специальной группе пользователей — аудито­ров. Запись должна быть разрешна только субъекту, олицетворяюще­му систему.

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

Критерий 6. Непрерывность защиты. Все средства защиты дол­жны быть защищены от несанкционированного воздействия или от­ключения. Защита должна быть постоянной и непрерывной в любом режиме функционирования системы, защиты и КС. Это требование должно распространяться на весь жизненный цикл КС.

Гостехкомиссией при Президенте Российской Федерации были приняты руководящие документы, посвященные вопросам защиты информации в автоматизированных системах. Основой этих докумен­тов является концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации и основные принципы защиты КС.

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

непосредственное обращение к объектам доступа (получение процессом, управляемым пользователем доступа к файлу);

создание программных и технических средств, выполняющих обращение к объектам доступа в обход средств защиты;

модификация средств защиты, позволяющая осуществить НСД (программные и аппаратные закладки);

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

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

КС:

  1. Защита КС основывается на положениях существующих законов,

стандартов и нормативно-методических документов по защите информации. .

  1. Защита средств вычислительной техники обеспечивается комп­лексом программно-технических средств.

  2. Защита КС обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер.

  3. Защита КС должна обеспечиваться на всех технологических эта-, пах обработки информации и во всех режимах функционирова •

ния, в том числе при проведении ремонтных и регламентных работ.

  1. Программно-технические средства не должны существенно ухуд­шать основные функциональные характеристики КС (надеж­ность, производительность, возможность изменения конфигура­ции).

  2. Оценка эффективности средств защиты, учитывающей всю со­вокупность технических характеристик, включая технические ре­шения и практическую реализацию средств защиты.

  3. Защита КС должна предусматривать контроль эффективности средств защиты от НСД, который может быть периодическим или включаться по мере необходимости пользователем или кон­тролирующими органами.

      1. Политика безопасности 0 компьютерный системой

Защищенная КС обязательно должна иметь средства разграни­чения доступа пользователей к ресурсам КС, проверки подлинности пользователя и противодействия выводу КС из строя.

Интегральной характеристикой защищенности КС является по­литика безопасности — качественное выражение свойств защищен­ности в терминах, представляющих систему. Политика безопасности для конкретной КС не должна быть чрезмерной — ужесточение за­щиты приводит к усложнению доступа пользователей к КС и увели­чению времени доступа. Политика безопасности должна быть адек­ватна предполагаемым угрозам, и обеспечивать заданный уровень защиты.

Политика безопасности включает:

  • множество субъектов;

  • множество объектов;

  • множество возможных операций над объектами;

  • множество разрешенных операций для каждой пары субъект- объект, являющееся подмножеством множества возможных со­стояний.

Элементы множества операций над объектами выбираются в за­висимости от назначения КС, решаемых задач и конфиденциально­сти информации. Например, операции «создание объекта», «удале­ние объекта», «чтение данных», «запись данных» и т.д.

В защищенной КС всегда присутствует субъект, выполняющий контроль операций субъектов над объектами, например, в операци­онной системе Windows таким субъектом является псевдопользова­тель SYSTEM. Этот компонент фактически отвечает за реализацию политики безопасности, которая реализуется путем описания досту­па субъектов к объектам...

Существуют два типа политики безопасности: дискретная (дис­креционная) и мандатная (полномочная). Основой дискретной по­литики безопасности является дискреционное управление доступом, которое определяется двумя свойствами:

  • все субъекты и объекты должны быть идентифицированы;

  • права доступа субъекта к объекту определяются на основе неко­торого задаваемого набора правил. ■ |

К достоинствам дискретной политики безопасности можно от­нести относительно простую реализацию соответствующих механиз­мов защиты. Этим обусловлен тот факт, что большинство использу­емых в настоящее время КС обеспечивают именно дискретную политику безопасности. В качестве примера реализации дискретной политики безопасности можно привести матрицу доступов, строки которой соответствуют субъектам системы, а столбцы — объектам; элементы матрицы представляют фиксированный набор или список прав доступа. К ее недостаткам относится статичность модели, не учитывающая динамику изменений состояния КС. Например, при подозрении на НСД к информации, необходимо оперативно изме­нить права доступа к ней, но сделать это с помощью матрицы дос­тупа, которая формируется вручную, не просто.

Мандатная модель политики безопасности основывается на том,

что:

  • все субъекты и объекты должны быть идентифицированы;

  • задан линейно упорядоченный набор меток секретности;

  • каждому объекту присвоена метка секретности, определяющая ценность содержащейся в ней информации — его уровень сек­ретности;

  • каждому субъекту системы присвоена метка секретности, опре­деляющая уровень доверия к нему — его уровень доступа.

В отличие от дискретной политики, которая требует определе­ния прав доступа для каждой пары субъект—объект, мандатная по­литика, назначением метки секретности объекту, однозначно опре­деляет круг субъектов, имеющих права доступа к нему. И, наоборот, назначением метки секретности субъекту, однозначно определяется круг объектов, к которым он имеет права доступа.

      1. Меры по поЭЭержанию работоспособности компьютерный систем

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

  • администратор должен организовать поддержку пользователей при решении возникающих у них проблем, выявляя при этом общие вопросы, связанные с безопасностью и указывая пользо­вателям способы их решения;

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

  • пользователь должен иметь возможность проводить резервное копирование своих данных, которые могут понадобиться для восстановления данных после аварии; резервные копии необхо­димо сохранять на съемных носителях или других внешних но­сителях с ограниченным правом доступа;

  • каждая компьютерная система должна быть в обязательном по рядке снабжена источником бесперебойного питания, предотв- ■ ращающего потерю информации при кратковременных перебо­ях с энергоснабжением,

    1. Способы u cpedcmBo нарушения консриЭенииальности информаиии

      1. ОсноВные метоЭы реализаиии угроз информационной безопасности

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

  1. Непосредственное обращение к объектам доступа. Злоумыш­ленник пытается войти в систему, используя подсмотренный полно­стью или частично пароль легального пользователя; пытается полу­чить доступ к объектам (файлам, сетевым портам и др.), надеясь на ошибки в политике безопасности.

  2. Создание программных и технических средств, выполняющих обращение к объектам доступа. Злоумышленник, получив в свое рас­поряжение файл паролей с помощью программ, осуществляющих | перебор паролей, пытается его расшифровать; использует програм­мы, просматривающие содержимое жестких дисков, с целью полу­чения информации о незащищенных каталогах и файлах, имена та­ких файлов программа фиксирует; использует в сети со связью по модему программы, выполняющие автодозвон и фиксирующие но­мера ответивших узлов, а затем программы, прослушивающие сете­вые, порты для определения открытого порта; в локальной сети при­меняет программы перехвата и сохранения всего трафика сети.

  3. Модификация средств защиты, позволяющая реализовать уг­розы информационной безопасности. Злоумышленник, получив при ва доступа к подсистеме защиты, подменяет некоторые ее файлы с целью изменения реакции подсистемы на права доступа к объектам,

расширяя права легальных пользователей или предоставляя права нелегальным пользователям.

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

Получение доступа к информации обычно осуществляется зло­умышленником в несколько этапов. На первом этапе решаются за­дачи получения тем или иным способом доступа к аппаратным и программным средствам КС. На втором этапе решаются задачи вне­дрения аппаратных или программных средств с целью хищения про­грамм и данных.

Основные методы, применяемые злоумышленником для получе­ния НСД к информации, состоят в определении:

  • типов и параметров носителей информации;

  • архитектуры, типов и параметров технических средств КС, вер­сии операционной системы, состава прикладного программно­го обеспечения;

  • основных функций, выполняемых КС;

  • средств и способов защиты;

  • способов представления и кодирования информации.

После решения задач определения параметров системы зло­умышленник переходит к этапу получения сведений о режимах дос­тупа, паролях и сведений о пользователях системы. Для этого он пытается получить доступ к использованным расходным материалам и сменным носителям:

  • съемные носители информации, содержащие секретную инфор­мацию;

  • визуальное наблюдение или съемка экранов терминалов, анализ распечаток и отходов работы графопостроителей и т.д.;

  • перехват побочных электромагнитных и звуковых излучений и наводок по цепям питания.

Получив доступ к КС или возможность входа в систему, зло­умышленник, в зависимости от преследуемых целей, среди которых можно выделить получение секретной информации, искажение сек­ретных данных, нарушение работы системы, предпринимает следу­ющие действия:

  • несанкционированный доступ к информации;

  • перехват данных по каналам связи;

  • изменение архитектуры КС, путем установки дополнительных перехватывающих устройств или замены отдельных узлов на спе­циальные, содержащие возможность проводить несанкциониро­ванные действия в КС, например, установка клавиатурных шпи­онов, перепрограммирование ПЗУ, установка сетевых карт, способных фиксировать и сохранять или искажать проходящие через них пакеты;

  • уничтожение машинных носителей информации;

  • внесение искажений в программные компоненты КС;

  • внедрение дезинформации;

  • раскрытие способов представления информации и ключей шиф­рования;

  • изменение доступа к информации.

      1. Типичные приемы атак на локальные и удаленные компьютерные системы

  1. Сканирование файловой системы. Злоумышленник пытается просматривать файловую систему и прочесть, скопировать или уда­лить файлы. Если доступ к файлу закрыт, сканирование продолжа­ется. Если объем файловой системы велик, то рано или поздно об­наружится хотя бы одна ошибка администратора. Такая атаки проводится с помощью специальной программы, которая выполня­ет эти действия в автоматическом режиме.

  2. Кража ключевой информации. Пароль может быть подсмотрен по движению рук на клавиатуре или снят видеокамерой. Некоторые программы входа в КС удаленного сервера допускают набор пароля в командной строке, где пароль отображается на экране, а иногда для ввода используются пакетные файлы для упрощения входа в ОС. Кража такого файла компрометирует пароль. Известны случаи, ког­да для кражи пароля использовался Съем'отпечатков пальцев пользо­вателя с клавиатуры. Кража внешнего носителя с ключевой инфор­мацией: диски или Touch Memory

  3. Сборка мусора. Информация, удаляемая пользователем, не уда­ляется физически, а только помечается к удалению и помещается в сборщик мусора. Если получить доступ к этой программе, можно получить и доступ к удаляемым файлам. Сборка мусора может осу­ществляться и из памяти. В этом случае программа, запускаемая зло­умышленником, выделяет себе всю допустимо возможную память и читает из нее информацию, выделяя заранее определенные ключе­вые слова.

  4. Превышение полномочий. Используя ошибки в системном про­граммном обеспечении и/или политики безопасности, пользователь пытается получить полномочия, превышающие те, которые были ему выделены. Это воздействие может быть также результатом входа в систему под именем другого пользователя или заменой динамичес­кой библиотекой, которая отвечает за выполнение функций иденти­фикации пользователя.

  5. Программные закладки. Программы, выполняющие хотя бы одно из следующих действий:

  • внесение произвольных искажений в коды программ, находя­щихся в оперативной памяти (программная закладка первого типа);

  • перенос фрагментов информации из одних областей оператив­ной или внешней памяти в другие (программная закладка второго типа);

  • искажение информации, выводимой другими программами на внешние устройства или каналы связи (программная закладка тре­тьего типа).

  1. Жадные программы. Программы, преднамеренно захватываю­щие значительную часть ресурсов КС, в результате чего другие про­граммы работают значительно медленнее или не работают вовсе. Часто запуск такой программы приводит к краху ОС.

  2. Атаки на отказ в обслуживании (deny-of-serviceDoS). Атаки DoS являются наиболее распространенными в компьютерных сетях и сводятся к выведению из строя объекта, а не к получению несанк­ционированного доступа. Они классифицируются по объекту воздей­ствия:

  • перегрузка пропускной способности сети — автоматическая ге­нерация, возможно, из нескольких узлов, большого сетевого трафи­ка, которое полностью занимает возможности данного узла;

  • перегрузка процессора —■ посылка вычислительных заданий или запросов, обработка которых превосходит вычислительные возмож­ности процессора узла;

  • занятие возможных портов — соединяясь с портами сервисов узла, занимает все допустимое число соединений на данный порт, з

Такие атаки могут быть обнаружены и устранены администра­тором путем выдачи запрета на прием пакетов от данного источни­ка. Чтобы лишить администратора узла этой возможности, атака идет с множества узлов, на которые предварительно внедряется вирус. Ви­рус активизируется в определенное время, производя DoS-атаку. Этот тип атаки получил название DDoS (Distributed DoS).

  1. Атаки маскировкой. Маскировка — общее название большого класса сетевых атак, в которых атакующий выдает себя за другого пользователя. Если существенные права получают процессы, иници­ируемые доверенными хостами (т.е. пакеты с адресом доверенного источника пропускаются без применения к ним ограничйвающих правил), то достаточно указать доверенный адрес отправителя, и он будет пропущен.

  2. Атаки на маршрутизацию. Для достижения узла — жертвы в таких атаках применяется изменение маршрута доставки пакета. Каждый путь может иметь свои права доступа, узел может по-раз-j ному реагировать на пакеты, поступившие различными путями. По­этому интерес злоумышленника распространяется не только на сам атакуемый узел, но и на промежуточные пункты — маршрутизаторы.

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

    1. ОсноВы npomuBo0eCicm0uci нарушению конфиденциальности инсрормаиии

Требования безопасности определяют набор средств защиты КС на всех этапах ее существования? от разработки спецификации на проектирование аппаратных и программных средств до их списания. Рассмотрим комплекс средств защиты КС на этапе ее эксплуатации.

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

  • идентификация и аутентификация пользователей;

  • мониторинг несанкционированных действий — аудит;

  • разграничение доступа к КС;

  • криптографические методы сокрытия информации;

  • защита КС при работе в сети.

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

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

Организация надежной защиты КС невозможна с помощью только программно-аппаратных средств. Очень важным является ад­министративный контроль работы КС. Основные задачи админист­ратора по поддержанию средств защиты заключаются в следующем:

  • постоянный контроль корректности функционирования КС и ее защиты;

  • регулярный просмотр журналов регистрации событий;

  • организация и поддержание адекватной политики безопасности;

  • инструктирование пользователей ОС об изменениях в системе защиты, правильного выбора паролей и т.д.;

  • регулярное создание и обновление резервных копий программ и данных;

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

Рассмотрим подробнее наиболее часто используемые методы за­щиты и принципы их действия.

  1. МетоЭы разграничения Эоступа

При организации доступа субъектов к объектам выполняются следующие действия:

  • идентификация и аутентификация субъекта доступа;

  • проверка прав доступа субъекта к объекту;

  • ведение журнала учета действий субъекта.

USeHmuqpuKouua и аутентисрикаиия пользователей

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

Иногда проводится дополнительно авторизация субъекта, под которой понимается создание программной среды для его работы. Но основными средствами обеспечения безопасности являются иденти­фикация и аутентификация.

Обычно данные, идентифицирующие пользователя, не засекре­чены, но для усложнения проведения атак по НСД желательно хра­нить эти данные в файле, доступ к которому возможен только адми­нистратору системы.

Для аутентификации субъекта чаще всего используются атрибу­тивные идентификаторы, которые делятся на следующие категории:

  • пароли;

  • съемные носители информации;

  • электронные жетоны;

  • пластиковые карты;

  • механические ключи.

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

  1. Пароль необходимо запоминать, а не записывать.

  2. Длина пароля должна быть не менее девяти символов.

  3. Пароли должны периодически меняться.

  4. В КС должны фиксироваться моменты времени успешного по­лучения доступа и неудачного ввода пароля. Информация о по­пытках неверного ввода пароля должны подвергаться статисти­ческой обработке и сообщаться администратору.

  5. Пароли должны храниться в КС так, чтобы доступ к ним был затруднен. Это достигается двумя способами:

  • пароли хранятся в специальном ЗУ, запись в которое осуще­ствляется в специальном режиме;

  • пароли подвергаются криптографическому преобразованию (шифрованию).

  1. При вводе пароля не выдавать никаких сведений на экран, что­бы затруднить подсчет введенных символов.

  2. Не использовать в качестве паролей имена и фамилии, дни рож­дения и географические или иные названия. Желательно менять при вводе пароля регистры, использовать специальные симво­лы, набирать русский текст на латинском регистре, использовать парадоксальные сочетания слов.

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

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

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

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

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

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

МетоЗы ограничения боступа к информации

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

Метод доступа к объекту — операция, определенная для данно­го объекта. Ограничение доступа к объекту связано именно с огра­ничением возможных методов доступа.

Владелец объекта — субъект, которому принадлежит (создан им) объект и который несет ответственность за конфиденциальность со­держащейся в объекте информации, а также за доступ к объекту.

Право доступа к объекту — право на доступ к объекту по одно­му или группе методов доступа.

Разграничение доступа — совокупность правил, определяющая для каждой тройки субъект—объект—метод наличие или отсутствие пра­ва доступа по указанному методу.

Существует несколько моделей разграничения доступа. Наибо­лее распространенными являются:

14. Информатика

  • дискреционная модель разграничения доступа;

  • полномочная (мандатная) модель разграничения доступа. Дискреционная модель, или избирательное разграничение досту­па, характеризуется следующим набором правил:

  • для любого объекта существует владелец;

  • владелец может произвольно ограничивать доступ субъектов к данному объекту;

  • для каждой тройки субъект—объект—метод возможность доступа определена однозначно;

  • существует хотя бы один привилегированный пользователь (ад­министратор), имеющий возможность обратиться к любому объекту по любому методу доступа.

В этой модели для определения прав доступа используется мат­рица доступа, строки которой — субъекты, а столбцы — объекты. В каждой ячейке хранится набор прав доступа данного субъекта к данному объекту. Типичный объем матрицы доступа для современ­ной операционной системы составляет десятки мегабайт.

Полномочная (мандатная) модель характеризуется следующим набором правил:

  • каждый объект имеет гриф секретности. Чем выше его числовое значение, тем секретнее объект;

  • каждый субъект доступа имеет уровень допуска.

Допуск субъекта к объекту в этой модели разрешен только в том случае, если субъект имеет значение уровня допуска не менее, чем значение грифа секретности объекта. Достоинством этой модели яв­ляется отсутствие необходимости хранить большие объемы инфор­мации о разграничении доступа. Каждый субъект хранит только зна­чение своего уровня доступа, а каждый объект — значение своего грифа секретности.

Отметим, что политика безопасности такой популярной опера­ционной системы, как Windows ХР, поддерживает обе модели разгра­ничения прав доступа.

МетоЭы мониторинга несанкционированным ЗейстВий

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

Периодически журнал просматривается администратором операци­онной системы или специальным пользователем — аудитором, кото­рые анализируют сведения, накопленные в нем.

Если обнаружится.успешная атака, то очень важно выяснить, когда и как она была проведена, не исключено, что это можно будет сделать по журналу аудита.

К подсистеме аудита предъявляются следующие требования:

  1. Только сама КС может добавлять записи в журнал аудита. Это

исключит возможность компрометации аудитором других пользователей. *

  1. Ни один субъект доступа, в том числе и сама КС, не может ре­дактировать или удалять записи в журнале.

  2. Журнал могут просматривать только аудиторы, имеющие соот­ветствующую привилегию.

  3. Только аудиторы могут очищать журнал. После очистки в него обязательно вносится запись о времени и имени пользователя, очистившего журнал. Должна поддерживаться страховая копия журнала, создаваемая перед очисткой. При переполнении жур­нала операционная система прекращает работу и дальнейшая работа может осуществляться до очистки журнала только ауди­тором.

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

исключающих изменение данных.

Для обеспечения надежной защиты операционной системы в журнале должны регистрироваться следующие события:

  • попытки входа/выхода пользователей из системы;

  • попытки изменения списка пользователей;

  • попытки изменения политики безопасности, в том числе и по­литики аудита.

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

  1. Криптографические методы зашиты данным

Основные приниипы криптографии

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

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

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

Основные требования к криптографическому закрытию инфор­мации:

  1. Сложность и стойкость криптографического закрытия данных должны выбираться в зависимости от объема и степени секрет­ности данных.

  2. Надежность закрытия должна быть такой, чтобы секретность не нарушалась даже в том случае, когда злоумышленнику становит­ся известен метод шифрования.

  3. Метод закрытия, набор используемых ключей и механизм их рас­пределения не должны быть слишком сложными.

  4. Выполнение процедур прямого и обратного преобразований дол­жно быть формальным. Эти процедуры не должны зависеть от длины сообщений.

  5. Ошибки, возникающие в процессе преобразования, не должны распространяться по всему тексту.

  6. Вносимая процедурами защиты избыточность должна быть ми­нимальной.

На рис. 8.1 показана схема основных методов криптографичес-

Рис. 8.1. Классификация основных методов криптографического закрытия

кого закрытия информации. Некоторые из этих методов рассмотре­ны ниже.

ШисрроВание заменой (поЗстаноВка)

Наиболее простой метод шифрования. Символы шифруемого текста заменяются другими символами, взятыми из одного (моноал^ фавитная подстановка) или нескольких (полиалфавитная подстанов­ка) алфавитов.

Наиболее простой метод — прямая замена символов шифруемо­го сообщения другими буквами того же самого или другого алфави­та. Таблица замены может иметь вид:

Шифруемые

символы

Заменяющие

символы

А

м

Б

л

В

д


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

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

ШифроВоние методом перестановки

Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого бло­ка символов. Этот алгоритм можно представить так:

  1. Выбирается размер блока шифрования: т строк и п столбцов.

  2. Выбирается ключ шифра - последовательность, которая форми­руется из натурального ряда 1, 2,..., п случайной перестановкой.

  3. Шифруемый текст записывается последовательными строками под числами ключевой последовательности, образуя блок шиф­рования размером п х ш.

  4. Зашифрованный текст выписывается колонками в последова­тельности возрастания номеров колонок, задаваемых номерами ключевой последовательности.

  5. Заполняется новый блок и т.д.

Дешифрование выполняется в следующем порядке.

  1. Выделяем блок символов размером п х т.

  2. Разбиваем его на я групп по т символов и записываем их в те столбцы таблицы перестановки, номера которых совпадают с номерами групп в блоке.

  3. Расшифрованный текст читается по строкам таблицы переста­новки.

  4. Выделяем новый блок символов и т.д.

Например, необходимо зашифровать текст «Абсолютно надеж­ной защиты нет».

Выберем блок размером 4 х 8 и ключ 5-8-1-3-7-4-6:2.

Блок имеет вид:

5

8

l'

3

7

4

6

2

А

б

с

О

л

ю

т

н

О

н

а

д

ё

ж

н

О

й

3

а

Щ

и

т

ы

н

Е

т


Зашифрованный текст выглядит так: «сн нннтоазеюёщ Аооытжи лдатб й».

МетоЭы шифрования, используюшие ключи

Эти методы предполагают знание ключа при шифровании и де­шифровании. При этом важной задачей является безопасная пере­дача ключа, который при этом обычно тоже шифруется. Учитывая короткую длину фразы, содержащей ключ, стойкость шифра ключа значительно выше, чем у основного текста.

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

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

использование кэш-функиий

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

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

Электронной иисрробоя поЗпись

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

  • удостоверяет, что подписанный текст исходит от лица, поставив­шего подпись;

  • не дает лицу, подписавшему текст, отказаться от обязательств, связанных с подписанным текстом;

  • гарантирует целостность подписанного текста.

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

На этапе формирования цифровой подписи генерируются два ключа: секретный и открытый. Открытый ключ рассылается всем абонентам, которым будет направлен электронный документ. Под­пись, добавляемая к документу, содержит такие параметры отправи­теля, как дату подписи, информацию об отправителе письма и имя открытого ключа. С помощью хэш-функции, примененной ко всему документу, вычисляется небольшое число, характеризующее весь текст в целом. Это число, которое затем шифруется закрытым клю­чом, и является электронной цифровой подписью. Получателю пе­ресылается сам документ в открытом виде и электронная подпись. При проверке цифровая подпись расшифровывается открытым клю­чом, известным получателю. К полученному открытому документу применяется преобразование хэш-функцией. Результат ее работы сравнивается с присланной электронной подписью. Если оба числа совпадают, то полученный документ — подлинный. Очевидно, что

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

    1. Зашита информации от компьютерный Вирусов

      1. Определение и классификация ВирусоВ

Компьютерным вирусом называется программа, способная само­стоятельно создавать свои копии и внедряться в другие программы, в системные области дисковой памяти компьютера, распространяться по каналам связи. Целью создания и применения программ-вирусов является нарушение работы программ, порчи файловых систем и компонентов компьютера, нарушение нормальной работы пользова­телей.

Компьютерным вирусам-характерны определенные стадии суще­ствования: пассивная стадия, в которой вирус никаких действий не предпринимает; стадия размножения, когда вирус старается создать как можно больше своих копий; активная стадия, в которой вирус переходит к выполнению деструктивных действий в локальной ком­пьютерной системе или компьютерной сети.

В настоящее время существует тысячи различных вирусов, клас­сификация которых Приведена на рис. 8.2.

По среде обитания ВирусоВ

Сетевые вирусы используют для своего распространения коман­ды и протоколы телекоммуникационных сетей.

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

Рис. 8.2. Классификация компьютерных вирусов

объектные файлы и библиотеки, в командные пакетные файлы. При запуске зараженных программ вирус на некоторое время получает управление и в этот момент производит запланированные деструк­тивные действия и внедрение в другие файлы программ.

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

(

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

По способу заражения среды обитания

Резидентные вирусы после завершения инфицированной про­граммы остаются в оперативной памяти и продолжают свои деструк­тивные действия, заражая другие исполняемые программы, вплоть до выключения компьютера.

Нерезидентные вирусы запускаются вместе с зараженной програм­мой и удаляются из памяти вместе с ней.

По алгоритмам функционирования

Паразитирующие — вирусы, изменяющие содержимое заражен­ных файлов. Эти вирусы легко обнаруживаются и удаляются из фай­ла, так как имеют всегда один и тот же внедряемый программный код.

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

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

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

Для своевременного обнаружения и удаления вирусов необходи­мо знать основные признаки появления вирусов в компьютере. К таким признакам относятся:

  • отказ в работе компьютера или отдельных компонентов;

  • отказ в загрузке операционной системы;

  • замедление работы компьютера;

  • нарушение работы отдельных программ;

  • искажение, увеличение размера или исчезновение файлов;

  • уменьшение доступной программой оперативной памяти.

      1. Способы зашиты от Вирусов

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

Для исключения проникновения вирусов через коммуникацион­ную сеть необходимо осуществлять автоматический входной контроль всех данных, поступающих по сети, который выполняется сетевым экраном (брандмауэром), принимающим пакеты из сети только от надежных источников, рекомендуется проверять всю электронную почту на наличие вирусов, а почту, полученную от неизвестных ис­точников, удалять не читая.

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

Классисрикаиия антивирусный сребстВ

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

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

Современные антивирусные решения обладают всеми означен­ными механизмами и постоянно добавляют новые средства борьбы с вредоносными программами.

Популярные антивирусные среЭстВа

Среди наиболее популярных у рбссийских пользователей анти­вирусных, пакетов назовем программы: Norton Antivirus, Антивирус Касперского и Dr. Web. По различным оценкам,. в настоящее время продукты Лаборатории Касперского занимают большую часть рос­сийского рынка. Прочие производители, в первую очередь Symantec, «Диалог-Наука», Trend Micro и Panda, делят оставшуюся долю рынка. Рассмотрим коротко эти популярные программы.

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

. Антивирус Касперского Personal 6.0 — новая разработка «Лабора­тории Касперского», воплощающая результаты многолетних иссле­дований ведущих экспертов в области защиты от вредоносных про­грамм. Продукт сочетает уникальную функциональность, новый пользовательский интерфейс и высокий уровень защиты от вирусов.

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

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

Doctor Web для Windows 2000/ХР представляет собой комбинацию антивирусного сканера Doctor Web и резидентного сторожа Spider Guard, интегрированного в ОС компьютера. Один из самых совер­шенных в мире эвристических анализаторов Doctor Web, в сочета­нии с ежедневно обновляющимися вирусными базами, является на­дежной защитой от вирусов всех классов. Резидентный сторож Spider осуществляет анализ всех опасных действий работающих программ и позволяет блокировать вирусную активность практически всех известных и еще неизвестных вирусов. Он позволяет не допустить за­ражения компьютера вирусом, даже если этот вирус не будет опре­делен сканером Doctor Web с включенным эвристическим анализа­тором.

Алфавитный указатель

Й

Абзац 187, 189, 196, 204, 205 Автозавершение 203 Автозамена 202 Автозаполнение 216, 219 Автотекст 202, 203 Автофигуры 209 Ада 327

Адаптер 115, 138, 139, 349 Адекватность информации 13 Администратор 341, 418 Адрес 32, 36, 43, 44, 211 IP 375 URL 385

внешних портов 81 команды 72 микропрограммы 90 сетевой 350 сетевой карты 115 электронной почты 387 ячейки 73 Адресное пространство 126 Актуальность информации 13 Алгебра логики 64 Алгоритм 15, 18, 30, 291, 296 LZW-кодирование ,172 обработки 72 обработки команд 91 рекурсивный 310 свойства 292 сжатия 43, 172 способы описания 293 Хаффмена 43 Анализ предметной области 229 структуры текста 38 Аналого-цифровой преобразователь (АЦП) 38 Аналоговые вычислительные машины (АВМ) 62 Анимация 203, 2.56 Антивирусные средства 429 Doctor Wfcb 431

Symantec Norton AntiVinis 430

Антивирус Касперского 430 Аппаратно-программные средства (АПС) 120 Арифметико-логическое устройство (АЛУ) 69, 121 АРМ 120

Архиватор 169, 173, 174 Архитектура 122 CISC 90 RISC 90 Pentium-4 92 архитектура СВТ 19 вычислительных систем сосредото­ченной обработки ин 77 вычислительных системы с откры­той архитектурой 80 клиент-сервер 236 . многопроцессорной вычислитель­ной системы 84 нейронная 116’ процессора 90

с фиксированным набором уст­ройств 78 суперскалярная 92 файлгеервер 225 Ассемблер 319 Ассоциация 288 Атрибут 270 доступа к файлам и папкам 153 системный 151 скрытый 151 только чтение 151 Аутентификация 399, 403, 413, 414

База данных 237 распределенная 237 централизованная 237 База знаний 273 Базовое ПО или BIOS 118 Базы данных 270 Байт 14, 32 Безопасность 162, 397

базовые критерии 403 безопасная, или защищенная, КС 399 Бейсик 325 Бит 14

Блок-схема 293 Блокнот (NotePad) 190 Брандмауэр 429 Браузер 378, 386, 390 Буфер 350, 364, 366 обмена 202 Буферизация 141

В

Вампир 346

Ввод данных 211, *215, 224, 232 Ввод формул 218 Векторная графика 240 Видеоадаптер 139 Видеоконтроллер 97, 102, 103 Видеомонитор 102 на основе ЭЛТ 103 плазменный 104 самоизлучающий 105 электролюменесцентный 104 Видеопамять 93 Видеотерминалы 102 Винчестер 98

Вирус 118, 174, 400, 412, 426 невидимки 428

документные (макровирусы) 428 загрузочные 427 мутирующие 428 нерезидентные 428 паразитирующие 428 сетевые 426 троянские кони 428 файловые 426 Внедренный объект 197 Внешние запоминающие устройства (ВЗУ) 97 Внешние устройства 80, 102 Внешние функции 254 .

Внешняя память 45, 86, 88, 101, 223 Внешняя среда 260, 263, 264 Внешняя формула 218

Восстановление 140 данных 43, 172, 175, 354 настройки компьютера 162 Восьмеричная система счисления 27 Время доступа 98, 401 Встроенные операционные системы 126

Встроенная функция 220 Вторая информационная революция 16 .

Выделение блока 189 Выделенные устройства 141 Вычисления 31, 70, 73, 74, 83,

85, 88, 91, 133, 136, 184, 186, 208,

  1. 215, 217, 218, 253, 255, 256, 306, 313, 321, 330, 336, 368 Вычислительные задачи 257

Г

Гамильтоновый цикл 60 Гарнитура 193 Генератор 113, 416 Гипермедиа 391 Гиперссылки 188, 391 Гипертекст 335, 370, 373, 385, 386, 391 Гипотеза 258 Главное меню 212 Глобальные сети 339, 340, 373 Горячие клавиши 249 Граф 57 Графика 19 векторная 41 растровая 41

О

Данные 10, И Двоичная арифметика 33 Двоичная система счисления 26 Двоичное кодирование 24, 37 Дерево 43, 60

Дерево каталогов 128, 147, 160 Десятичная система счисления 25 Детерминистический 364 Дефрагментация 23 Джойстик 106, 108

Диагностирование 168 Диагностические программы 21 Диаграмма 218

Диалоговое окно 192, 196, 197,

201, 202, 203, 204, 205, 206, 209, 216, 219, 220, 221, 222 Диалоговые программы 118 Диапазон 35, 42, 104, 211, 215, 216 Диск 98, 99, 139, 416, 429 жесткий 99, 139

оптический компакт-диск (CD) 100 цифровой универсальный 101 Дисковод 98

Дискреционная модель разграниче­ния доступа 399 Диспетчер задач 170 памяти 145 Дит 15

Документ 48, 133, 146, 179, 188, 193, 195, 198, 199, 201, 204,

250, 385, 393, 394, 425, 428 Домен 227 Дорожка 98, 101 Достоверность 12, 398 Доступ 192, 206 в Интернет 366, 380 к аппаратной части устройства 142 к информации 16 несанкционированный 388, 399, 404 одновременный 125 произвольный 102, 134 прямой 320, 385 санкционированный 399 свободный 93 узкополосный 382 широкополосный 381, 382 Доступность информации 13 Драйвер 140, 141, 142, 358 Дуализм 12

Единица измерения информации (бит, байт, гигабайт, килобайт, мегабайт, терабайт) 14

Ж

Жидкокристалический видеомони­тор 88, 102, 103 Жизненный цикл 282, 283, 404 j. Журнал 202, 403, 414, 418

Зависимость 53, 54, 288 зависимость 264 Заголовок 362 окна 213 сектора 139 файла 48 Загрузка операционной системы 119, 130 процессора 135 Загрузочный сектор 151 Задача интерпретации кодов 36 логическая 272

межсистемного преобразования данных 37 поиска в графе цикла 60 представления данных 36. функциональная 257 централизованного управления данными 45 этапы решения 258 Закон смешения цветов 41 функционирования системы 264 Законы алгебры высказываний 49 Запись 227

Запрос 235, 279, 334, 339, 341, 352, 358, 359, 361, 368 Зараженная программа 427, 428 Зашита информации 397, 426 Звуковая карта ИЗ Знания 273 декларативные 274 процедурные 274 Значение переменной 311

U

Идентификатор 311 Идентификатор тома 151

Иерархии процессов и файлов 128 Иерархическая модель 270, 271 Иерархическая структура 44 каталогов 128, 392 Иерархия сети 369 .

Издательские системы 182, 184 Изменение, структуры данных 43'

Имя доменное 377 переменной 311 пути 129, 148 сетевое -385 файла 45, 140, 147 Индексированные каталоги 392 Инженер по знаниям 279 Инструментальное программное обеспечение 21 Инструментарий проектирования программного обеспечения 289 Интегрированные программные средства 185, 248 Интернет 17, 370, 373, 375, 379, 392 Интерпретатор 320, 321 Интерпретация кодов 36 Интерфейс 20, 286, 352 Интерфейс пользователя 279 Информатика 9, 18 Информационная безопасность 398 Информационная модель 224, 268 Информационная революция 16 Информационная система 17, 224, 237 Информационная технология 19, 188, 238 Информационное общество 17 Информационные ресурсы 17 Информационные системы 186, 224 Информационные технологии 9 Информационные услуги 18 Информационный объект 23 Информационный процесс

  1. 15, 62 Информация 10, 11, 12 Искусственный интеллект 271 Исполнимый код 321

Исходный код 321 К

Кадр 355 Канал ввода/вывода 79

связи 15, 339, 357, 374, 384, 411 Канальный уровень 354, 355, 357, 363 Карта звуковая 113 сетевая 115 смарт 126 ■

Каталог 98, 128, 386, 392 корневой 129, 147, 148, 150 текущий 148 Кибернетика «черного ящика» 272 Клавиатура 77, 83, 105 Клавиатурный процессор 105 Классификация антивирусных средств 429 баз данных 225 вирусов 426 всеобщая 271 компьютерных сетей 338 компьютеров по сферам примене­ния 86 математических систем 251 моделей 261

прикладного программного обеспе­чения 182 программного обеспечения 22 угроз информационной безопаснос­ти 400

устройств ввода-вывода 138 языков программирования 323 Кластер 148, 149 Клиент 225, 368 FTP 168

почтовый 388, 390 Клиент-сервер 225, 339, 368, 369 Ключ внешний 228 первичный 227 простой 227 составной 227 Ключевое слово 394, 395 Кобол 324

Код 42 ASCII 172 * байт-код 332 двоичный 165 десятичный 106 дополнительный 33 исполнимый 321 исправления ошибок ЕСС 139 исходный 321

код исправления ошибок ЕСС 139 машинный 318, 319, 320 объектный 321 операции 71, 90 сжатия 171 скан-код 105 циклический 356 Кодирование 19, 23, 172, 354 , Количество информации 13, 14, 15, 382, 392 Колонтитул 187, 18.8 Команда 17, 21, 36, 37, 66, 70,

71, 72, 73, 79, 89, 127, 291, 300, 318, 332 Командная строка 161, 176, 411 Командный процессор 159 Комментарий 188 Компилятор 320, 321 Комплекс средств защиты 399 Компонент 260, 286, 287, 346 Компьютер блокнот 88 карманные 88 микрокомпьютер 88 переносные 88 персональный 77, 82 портативные 88 стационарные (настольные) 88 Компьютерная программа 318 Компьютерные сети 338 гибридные 348 Конвертор 49 Константа 311, 329 Конструктор 233, 235, 278 Контроллер 76, 80, 82 Концентратор 343 Копирование 165, 175, 216, 331, 369, 397

Криптография 420 Курсор 190 Кэш-память 94

Л

Линейная структура 43 Линейная шина 342 Логическая структура 98 Логическая структура диска 98 Локальная шина. См. Шина Локальные вычислительные сети (ЛВС) 340, 366, 372, 408

М

Магнитный диск 98, 116 Макрокоманда 189, 333 Макрос 333, 428 Манипулятор 106, 108 Маркер

38, 197, 204, 344, 359, 360, 364 Маркер заполнения 211 М аршрутизатор 367, 372, 374, 383, 412 Масштабируемость 193, 339 Математическое обеспечение 326 Машинная команда 21, 91 Меню 130, 165, 166, 177, 178,

190, 191, 192, 193, 194, 195, 197,

199, 200, 202, 208, 213, 285 Метка 38, 151, 288, 403, 406 Модель лабиринтного поиска 272 Модем 83, 114, 370, 372, 375,

376, 379, 380, 381, 382, 383

Модуль загрузочный 322 Модульное проектирование 284 Модуляция 114, 139, 170 Мультимедиа средства 17, 116, 135, 170, 177, 380, 39»1 Мультиплексор 348, 381, 382 Мэйнфрейм 88, 124 Мягкие цветовые переходы 185

Н

Накопитель на жестких магнитных дисках

(винчестер) 98 на магнитной ленте 141 на магнитных дисках 98 на оптических дисках 99 Настольные издательские системы 190

Нейрокибернстика 272 Нейрокомпьютер 116 Нейросети 272

Нисходящее проектирование 284 О

Обеспечение аппаратное 19 базовое программное 118 прикладное 182 прикладное программное 21 программное 19, 21, 282, 284 системное программное 117, 118 служебное программное 21 Обмен данными 83, 86, 202, 254, 255, 350 Оболочка 122, 159 Обработка данных 15, 210, 368 распределенная 225 централизованная 225 Обработка ошибок 140 Общая шина 95 Объект 258

Объектно-ориентированное про- . граммирование 330 Объектно-ориентированное проек­тирование 285 Ограничение доступа 417 Одноранговые сети 341 Окно 165, 186, 191, 192, 194, 199 Операнд 50, 91, 92 Оперативная память 127 Оперативное запоминающее устрой­ство (ОЗУ) 93 Оператор 215, 319, 323, 324, 328, 329, 383 Операционная система 122, 123,

125, 126, 127, 129, 130, 131, 132 Linux 157 UNIX 154

Windows 161 Операция 50, 53, 275, 286, 417 Отладчик 118, 322, 337 Отношение 226, 230, 288, 330 Отчет 237

П

Пакет 115, 141, 251, 339, 362 MathCad 253 MatLab 254 MS Office 185 интегрированный 185 •прикладных программ 224 расширения 252 Память 93, 134 буферная 94 виртуальная 127, 137 внешняя 223. См. также Внешняя память

иерархическая структура 134 кэш-память 134 локальная 84 менеджер памяти 134 модуль управления памятью 134 оперативная 127 подкачка 137 свопинг (swapping) 137 со свободным доступом 93 флэш-память 101, 102, 416 Панели инструментов 212 Панель 104, 166, 195, 199, 206, 244 Папка 165, 170, 192, 202 Параметры абзаца 204 Параметры страницы 204 Параметры шрифта 203 Передатчик 115, 347, 349 Передача данных 15, 361, 365 Переменная 311, 312 Печатающие устройства 109, 110 Печатающие устройства (принтеры) 108

Пиктограмма 194, 201, 221 Плотность записи 99 Плоттер 108, 110 Поколения ЭВМ 73, 74, 75, 76 Поле 10, 227

Порт ввода-вывода 81 Постоянное запоминающее устрой­ство (ПЗУ) 95 Право доступа 417 Предметная область 224, 274 Прерывание 131, 140, 141, 144 Приемник 15, 114, 348, 349, 364 Приложение 45, 133, 168, 202,

249, 279, 366, 428, 430 Принтер 83. См. Печатающие устройства (принтеры)

Принцип WYSIWYG 196 Проводник 166 Программа 123, 167, 176, 177, 178, 180, 296 Программирование 291, 328, 329, 330 Пролог 272, 330 Пропускная способность 96, 97 Протокол 352, 365, 367, 373 доступа 385, 386 передачи гипертекста 373, 385, 386, 391 пересылки почты 388 почтового офиса 389 Процессор 76, 80, 89, 121, 318 Псевдокод 293

Путь 24, 44, 129, 148, 270, 374 Р

Рабочая книга 211 Рабочая станция 154, 155, 160, 225, 250, 341 Рабочие группы 341 Раздел 204 Размерность 312 Разреженность строк и символов 203

Разрешающая способность монитора 103 принтера 109 сканера 112 Раскрывающийся список 200, 221 Распределенная база данных 225 Расширение файла 45, 147

Региональные или муниципальные сети 340 Регистр 68 Редактор векторный 185 графический 23 растровый 185 текста 38, 168, 184, 189 формул 206 Редиректор 358 Режим графический 42 записи звука 113, 114 индексный 42 конструктора 233, 235 отображения документов 199 разделения времени 126 редактирования 216 Реквизит 268

Реляционная модель данных 226, 270, 271 Реляционная таблица 226, 227, 228, 232 Репитер 344 Ресурс вычислительный 287 информационный 17, 18 Решатель 279

Рынок информационных услуг 18 С

Связь 276, 335, 352 многие ко многим 229 один к одному 229' один ко многим 229 Сектор 98, 148 Семантическая сеть 274, 276 Сервер 341

Сетевые драйверы 358 Сжатие информации 42, 171, 173, 174 Системы управления базами данных (СУБД) 185, 224 Сканер 111, 112, 113 Слоты расширения 82 Стационарный компьютер 88

Стиль 188 Структурирование данных 185, 224, '270 текста 38, 188 Структурированные данные 312 Структурное программирование' 327 Структурное проектирование 285 Сумматор 70, 91 Схема процессора 89

Т

Табличный прбцессор 211 Таймер системный 83 Такт работы процессора 89 шины 96 Тактовая частота процессора 91 шины 95 Текстовые документы 36, 38 Текстовый процессор 189, 190, 198 Текстовый процессор Ward Pad 194 Текстовый редактор 187, 188, 189 Теорема Найквиста 40 Терминатор 343 Техническая документация 178 Техническое задание на разработку ИС 229 Технология DPL 385 ODBC 250 plug-and-play 164 внедрения и связывания объектов (OLE) 197 Тип данных 36, 47, 312 Тип файла 147 Топология звезда 343 кольцо 344 комбинированная 345 сети 341 шина 345 ячеистая 345 Трансивер 346 Транспортный уровень 352, 355, 367

Трекпады 107 Трекпоинты 107

Третья информационная революция 16

Триггер 66 Ы

Узел 270, 287 '

Управляющая структура 331 Управляющие клавиши 106 Уровень 270 канальный 355 канальный (Data Link) 355 командный 78 микроархитектурный 78 представительский 352 прикладной 354 сеансовый 352, 355 сетевой 354, 355 транспортный 352, 355 физический 354, 356 цифровой логический 78 Уровень управления доступом к среде 357 логической связью 357 Усилители 348 Устройство 62, 69 ввода 105-108 печати 108-111 Утилита 21, 160

Файл 45, 46, 48, 146, 147 Файл-сервер 225, 369 Файловая система 45, 46, 127, 146, 149 FAT 148, 149, 150 NTFS 149 Файловая структура 128 Форматирование диска 98

текста 38, 47, 188, 194, 195,

196, 203 ячеек 216 Фрейм 277

Функциональная зависимость 230 Функциональные задачи 257

к

Хост 341

Хранение данных 15, 45, 119 U

Целостность информации 398 Централизованная база данных 225 Цикл 301, 302, 304 Цифровые вычислительные машины . (ЦВМ) 62

Ч

Четвертая информационная револю­ция 17 Числа 32 действительные числа 33 представление чисел 32 преобразование чисел 28 Целые числа 32 числа с плавающей точкой 34

Ш

Шаблон 201,331 документа 201, 206 формул 206 Шестнадцатеричная система счисле­ния 27 Шина 342 адреса 96 данных 96 локальная 81, 97 общая 80, 97 системная 96 управления 96 Шифрование 153, 355, 422, 423,

424

Шрифт 193, 203 векторный 193 растровый 193 •

TrueType 203

Э

Эвристика 272 Экспертные системы 279

Электронная почта 387 Электронные документы 184 Электронные таблицы 210

Я

Язык 295, 319 HTML 334 Java 331

Microsoft Visual Basic 251 Perl 335 Tcl/Tk 335 UML 285, 286, 288 VBA 333 VRML 335 АДА 327 Алгол 324 Ассемблер 318 Бейсик (BASIC) 325 запросов SQL 334 Кобол 324 Лисп (LISP) 329 машинный 91, 118, 121, 336 моделирования 335 Паскаль (Pascal) 326 ПЛ/1 (PL/1) 326 программирования 312, 319, 329, 334 программирования баз данных 334 Пролог (PROLOG) 329 С (Си) 328 C++ 331 скрипт-язык 334 Смолток (Smalltalk) 330 Фортран 324 Яркость 41, 42, 104, 185, 240 Ярлык 165, 202 Ячейка 33, 43, 47, 66, 73, 93,

  1. 215, 311, 418

Литература

Анин Б. А. Защита компьютерной информации. — СПб.: БХВ-Петер- бург, 2000. — 384 с.

Брант Р. Система безопасности Windows 2000. —. М.: Издательский дом «Вильяме», 2001. — 592 с.

Брой М. Информатика. Основополагающее введение: В 4 ч. Ч. 1. — М.: Диалог-МИФИ, 1996. — 299 с.

Брукшир Дж. Введение в компьютерные науки. — М.: Диалог- МИФИ, 2001. - 688 с.

Васильков Ю.В., Василькова Н.Н. Компьютерные технологии вычис­лений в математическом моделировании. — М.: Финансы и Статистика, 2002. — 256 с.

Габбасов Ю.Ф. Internet 2000. — СПб.: БХВ-Петербург, 2000. — 448 с.

Гома X. UML проектирование систем реального времени, параллель­ных и распределенных приложений. — М.: Изд. ДМКПресс, 2002. - 704 с.

Грэхем Р., Кнут Д., Поташник О. Конкретная математика. Основа­ние Информатики. — М.: Мит, 1998. — 703 с.

Гук М. Аппаратные средства IBM PC. Энциклопедия. 2-е изд. — СПб.: Питер, 2004. - 928 с.

Динамические интеллектуальные системы в управлении и моделиро­вании / Под ред. Э.В. Попова. — М.: МИФИ, 1996. — 124 с.

Дьяконов В.П. Компьютерная математика. — М.: Нолидж, 2001. — 1210 с.

Информатика. Базовый курс / Под ред. С. В. Симоновича. — СПб.: Питер, 2005. — 640 с.

Кнут Дональд Э. Искусство программирования. Т. 1. Основные алго­ритмы. — 720 с.; Т. 2. Получисленные алгоритмы. — 832 с.; Т. 3. Сортировка и поиск. — 832 с. — М.: Издательский дом «Вильяме», 2000.

Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Фи­нансы и Статистика, 2002. — 800 с.

Колесникова Ю.В. Microsoft Office 2000: Справочник. — СПб.: Пи­тер, 2001. — 480 с.

Компьютерные сети: Учебный курс. - М.: Изд. отдел «Русская ре­дакция» ТОО «Channel Trading Ltd», 1997. — 696 с. Компьютерные сети +. Учебный курс: официальное пособие .MS для самостоятельной подготовки. — М.: Издательско-торговый дом «Русская редакция», 2000. — 552 с.

Кормен Т., Лейзерсон Ч., Pueecm Р. Алгоритмы: построение и анализ.

  • М.: МЦНМО, 2001. - 960 с.

Компьютеры, сети, Интернет: Энциклопедия. 2-е изд./ Под общ. ред.

Ю.Н. Новикова. — СПб.: Питер, 2003. — 832 с.

Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, техноло­гии, протоколы. Учебник. - СПб.: Питер, 2001. - 672 с. Справочник по искусственному интеллекту: В 3 т. / Под ред. Э.В. По­пова, Д.А. Поспелова - М.: Радио и связь, 1990.

Таненбаум Э. Компьютерные сети. - СПб.: Питер, 2002. — 848 с.

Таненбаум Э. Современные операционные системы. — СПб.: Пи­тер, 2004. — 1040 с.

Хэлворосон М., Янг М. Эффективная работа в Microsoft Office 2000. - СПб.: Питер, 2000. - 912 с.

Гэри Хансен, Джеймс Хансен. Базы данных: разработка и управление.

  • М.: БИНОМ, 1999. - 704 с.

Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработ­ки программного обеспечения. - СПб.: Питер, 2002. - 496 с.

Содержание

nPEQUCnOBUE 3

список СОКРЙШЕНий 5

1. информаций, информатика, информационные технологии 9

1.1. информоиий 10

X(4)=xn_1qn-1 + xn_2qn-2 +...+x,q1 + x0q°+ x_,q-' + x_2q-2 +... + x_raq-m. 26