![](/user_photo/2706_HbeT2.jpg)
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
Правило счетчика:
начальное значение счетчика К = 0;
в теле некоторой циклической конструкции выполнить команду:
К = К+ 1.
Пример 6.8
Задано 20 чисел. Сколько среди них чисел, больших 10? Псевдокод:.
К = 0 {Счетчик чисел, больших 10}.
Повторить 20 раз (для j = 1, 20, 1).
Ввод числа х.
Если х > 10, то К = К + 1.
Вывод К.
Конец.
Блок-схема алгоритма приведена на рис. 6.13.
Замечание: в фигурных скобках {....} принято помещать комментарии к алгоритму.
Рис.
6.13. Алгоритм примера 6.8
В каждом из рассмотренных выше примеров использовалась одна циклическая конструкция. В реальных задачах может встретить^ любое число циклов. Обозначив цикл квадратной скобкой, схематич^ но представим варианты взаимного расположения циклов (рис. 6.14).
Рис.
6.14.
Расположение
циклов
апоследовательные
б
— вложенные в
— запрещенные
Алгоритм любой задачи может быть представлен как комбина ция представленных выше элементарных алгоритмических структуру! поэтому данные конструкции: линейную, ветвящуюся и циклическую, называют базовыми.
Рекурсивный алгоритм
Рекурсивным называется алгоритм, организованный таким образом, что в процессе выполнения команд на каком-либо шаге он прямо или косвенно обращается сам к себе.
Простые типы Зоннын: переменные и константы
Реальные данные, которые обрабатывает программа, — это целые и вещественные числа, символы и логические величины. Эти !
простые типы данных называют базовыми. Все данные, обрабатываемые компьютером, хранятся в ячейках памяти компьютера, каждая из которых имеет свой адрес. Для того чтобы не следить за тем, по какому адресу будут записаны те или иные данные, в языках программирования используется понятие переменной, позволяющее отвлечься от адреса ячейки памяти и обращаться к ней с помощью имени (идентификатора).
Переменная — есть именованный объект (ячейка памяти), который может изменять свое значение. Имя переменной указывает на значение, а способ ее хранения и адрес остаются скрытыми от программиста. Кроме имени и значения, переменная имеет тип, определяющий, какая информация находится в памяти. Тип переменной задает:
используемый способ записи информации в ячейки памяти;
необходимый объем памяти для ее хранения.
Объем памяти для каждого типа определяется таким образом, чтобы в него можно было поместить любое значение из допустимого диапазона значений данного типа. Например, тип «байт» может принимать значения от 0 до 255, что в двоичном коде (255-(]0) = = 11111111 ) соответствует ячейке памяти длиной в 8 бит (или 1 байт).
В описанных выше алгоритмах (примеры 6.1 — 6.8) все данные хранятся в виде переменных. Например, инструкция «Ввод двух чисел а, Ь» означает введение пользователем значений двух переменных, а инструкция «К=К+1» означает увеличение значения переменной К на единицу.
Если переменные присутствуют в программе, на протяжении всего времени ее работы — их называют статическими. Переменные, создающиеся и уничтожающиеся на разных этапах выполнения программы, называют динамическими.
Все остальные данные в программе, значения которых не изменяются на протяжении ее работы, называют константами или постоянными. Константы, как и переменные, имеют тип. Их можно указывать явно, например, в инструкции «К = К + 1» 1 есть константа, или для удобства обозначать идентификаторами: pi = 3,1415926536. Только значение pi нельзя изменить, так как это константа, а не переменная.
Структурированные Занные и алгоритмы ин обработки
Для повышения производительности и качества работы необходимо иметь данные, максимально приближенные к реальным аналогам. Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным. Каждый язык программирования имеет свои структурированные типы. Рассмотрим структуру, объединяющую элементы одного типа данных, - массив.
Массивом называется упорядоченная совокупность однотипных величин, имеющих общее имя, элементы которой адресуются (раз-, личаются) порядковыми номерами (индексами). В качестве иллюстрации можно представить шкаф, содержащий множество пронумерованных ящиков (совокупность - «Ящик № 1», «Ящик N° 2», «Ящик № 3» и т.д.; «Ящик» — общее имя всех ее элементов). Доступ к содержимому конкретного ящика (элементу массива) осуществляется после выбора ящика по его номеру (индексу). Элементы массива в памяти компьютера хранятся по соседству, одиночные элементы простого типа такого расположения данных в памяти не предполагают! Массивы различаются количеством индексов, определяющих их элементы.
Одномерный массив (шкаф ящиков в один ряд) предполагает наличие у каждого элемента только одного индекса. Примерами одномерных массивов служат арифметическая (а.) и геометрическая (Ь) последовательности, определяющие конечные ряды чисел. Количество элементов массива называют размерностью. При определении одномерного массива его размерность записывается в круглых скоб- ках, рядом с его именем. Например, если сказано: «задан массив А(10)», это означает, что даны элементы: аг а2, ... , аю. Рассмотрим алгоритмы обработки элементов одномерных массивов.
Ввод элементов одномерного массива осуществляется поэлементно, в порядке, необходимом для решения конкретной задачи. Обычно, когда требуется ввести весь массив, порядок ввода элементов не важен, и элементы вводятся в порядке возрастания их индексов. Алгоритм ввода элементов массива А(10) представлен на рис. 6.15. 1
Псевдокод:
Повторить 10 раз (для i = 1, 10, 1):
Вввод а.
Рис. 6.15. Ввод элементов одномерного массива А(10)
Пример 6.9.
Рассмотрим алгоритм вычисления среднего арифметического положительных элементов числового массива А(10).
Среднее арифметическое есть отношение суммы к числу ее слагаемых, т.е.
at+a2 + ...+ а„
среднее арифметическое — s .
п
Алгоритм решения задачи (рис. 6.16) будет содержать подсчет суммы (обозначим ее S), включающей положительные элементы массива (а. > 0), и количества (обозначим N) ее слагаемых.
Псевдокод:
Повторить 10 раз (для i — 1, 10, 1).
Ввод at
Начальное значение суммы: S = 0.
I 3. Начальное значение счетчика: N = 0.
Повторить 10 раз (для / = 1, 10, 1):
ЕСЛИ а. > 0, ТО S = S + а.; N = N + 1.
I 9 I 9
ЕСЛИ N > 0, ТО вычисление среднего арифметического SA = S/N; вывод SA.
ИНАЧЕ: вывод «Положительных элементов в массиве нет».
Конец.
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», а его отсутствие — понятием «О». Команды,! обрабатываемые процессором, можно интерпретировать как ряд чередующихся определенным образом единиц и нулей. То есть любая! команда преобразуется в двоичное число. Таким образом, процессор исполняет программы, представляющие собой последовательность чисел и называемые машинным кодом.
Писать программы в машинных кодах очень сложно, причем с ростом размера программы эта задача усложняется. В компьютерах первого поколения использовались программы, написанные в машинных кодах, причем для каждого компьютера существовал свой собственный машинный код. Числовая кодировка команд, адресов ячеек и обрабатываемых данных, зависимость вида программы от ее места в памяти не давали возможность следить за смыслом программы. Это во многом ограничивало область применения компьютеров первого поколения. В тот период (начало 50-х гг.) средства программ мирования и программное обеспечение только зарождались и были еще не развиты. Для того чтобы сделать программу читабельной и иметь возможность следить за ее смысловой структурой, придумали символический язык ассемблер, близкий к машинному (конец 50-х — начало 60-х гг.), в котором появилось понятие переменной. Ассемблер стал первым полноценным Языком программирования. Благода-': ря этому заметно уменьшилось время разработки и возросла надежность программ. Для записи кодов операций и обрабатываемой информации в ассемблере используются стандартные обозначения, позволяющие записывать числа и текст в общепринятом виде, для кодов команд приняты мнемонические обозначения. Для обозначения величин, размещаемых в памяти, можно поименять имена. После ввода программы ассемблер сам заменяет символические имена на адреса памяти, а символические коды команд на числовые. Использование ассемблера сделало процесс программирование более наглядным. Дальнейшее развитие этой идеи привело к созданию языков
программирования высокого уровня, в которых длинные и сложные последовательности машинных кодов были заменены одним единственным обозначающим их словом — операторы.
Понятие «язык программирования»
Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке),, но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.
Языки программирования — это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.
Алфавит — разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.
Синтаксис — система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика — система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработки даннх.
Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы.
Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентиро- шшы на конкретные команды процессора.
Языком самого низкого уровня является ассемблер. Программа, написанная на нем, представляет последовательность команд машинных кодов, но записанных с помощью символьных мнемоник. С помощью языков низкого уровня создаются компактные оптимальные
программы, так как программист получает доступ ко всем возмож* ностям процессора. С другой стороны, при этом требуется хорошо понимать устройство компьютера, а использование такой программ] мы на компьютере с процессором другого типа невозможно. Такие языки программирования используются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнее компактность, быстро-! действие, прямой доступ, к аппаратным ресурсам.
Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в программе, к понятиям исходной задачи. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому исходные тексты программ легко переносимы на другие платформы, имеющие трансляторы этого языка. Разрабатывать программы на языках вы-1 сокого уровня с помощью понятных и мощных команд значительно проще, число ошибок, допускаемых в процессе программирования, намного меньше. В настоящее время насчитывается несколько сотен таких языков (без учета их-диалектов).
Таким образом, языки программирования высокого уровня, ориентированные на решение больших содержательных прикладных задач, являются аппаратно-независимыми и требуют использования соответствующих программ-переводчиков для преобразования текста программы в машинный код, который в итоге и обрабатывается процессором.
Компиляторы и интерпретаторы
С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа — компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, переводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы — интерпретаторы).
Интерпретатор функционирует следующим образом: берет оче-
редной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов и работать не может.
Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. Сгенерированный объектный код обрабатывается специальной программой
сборщиком или редактором связей, который производит связывание объектного и машинного кодов. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Основной недостаток компиляторов — трудоёмкость трансляции языков программирования, ориентированных на Обработку данных сложной структуры, заранее неизвестной или динамически меняющейся во время работы программы. Для таких программ в машинный код вводятся дополнительные проверки и анализ наличия ресурсов операционной системы, средства динамического захвата и освобождения памяти компьютера, что на уровне статически заданных машинных инструкций осуществить достаточно сложно, а для некоторых задач практически невозможно.
С помощью интерпретатора, наоборот, для исследования содержимого памяти допустимо в любой момент прервать работу программы, Организовать диалог с пользователем, выполнить любые слож-
Информатика
ные преобразования данных и при этом постоянно контролировать программно-аппаратную среду, что и обеспечивает высокую надежность работы программы. Интерпретатор при выполнении каждой команды подвергает проверке и анализу необходимые ресурсы операционной системы, при возникающих проблемах выдает сообщения
об ошибках.
В реальных системах программирования смешаны технологии компиляции и интерпретации. В процессе отладки программу можно выполнять по шагам (трассировать), а результирующий код не обязательно будет машинным, он может быть, например, аппаратно-независимым промежуточным кодом абстрактного процессора, который в дальнейшем будет транслироваться в различных компьютерных архитектурах с помощью интерпретатора или компилятора в соответствующий машинный код.
Системы программирования
Процесс создания программы включает:
Составление исходного кода программы (рис. 6.21) на языке программирования.
Этап трансляции, необходимый для создания объектного кода программы.
Построение загрузочного модуля, готового к исполнению.
Все перечисленные выше действия требуют наличия специальных программных средств.
Рис.
6.21. Процесс создания программы, готовой
к исполнению
Совокупность этих программных средств входит в состав системы программирования:
Текстовый редактор (необходимый для создания и редактирования исходного кода программы на языке программирования).
Компилятор.
Редактор связей.
Отладчик.
Библиотеки функций.
Справочная система.
Классификаций и обзор йзыкоВ программировании
Современное состояние языков программирования можно представить в виде следующей классификации (рис. 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-системами.
Этапы поЗготоВки и решения ЗаЭач на компьютере
Компьютер предназначен для решения разнообразных задач: научно-технических, инженерных, разработки системного программного обеспечения, обучения, управления производственными процессами и т.д. В процессе подготовки и решения на компьютере научно-технических задач можно выделить следующие этапы:
Постановка задачи — формулируется цель решения задачи, подробно описывается ее содержание; проводится анализ условий, при которых решается поставленная задача, выявляется область определения входных параметров задачи.
Формальное построение модели задачи — предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализируется характер и сущность величин, используемых в задаче.
Построение математической модели задачи — характеризуется математической формализацией задачи, при которой существующие взаимосвязи между величинами выражаются с помощью математических соотношений. Как правило, математическая модель строится с определенной точностью, допущениями и ограничениями.
Выбор и обоснование метода решения — модель решения задачи реализуется на основе конкретных приемов и методов решения. В большинстве случаев математическое описание задачи трудно перевести на машинный язык. Выбор и использование метода решения позволяет свести решение задачи к конкретному набору машинных команд. При обосновании метода решения рассматриваются вопросы влияния различных факторов и условий на конечный результат, в том числе на точность вычислений, время решения задачи на компьютере, требуемый объем памяти и др.
Построение алгоритма — на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков.
Составление программы — алгоритм решения переводится на конкретный язык программирования.
Отладка программы — процесс устранения синтаксических и логических ошибок в программе. В процессе трансляции программы с помощью синтаксического и семантического контроля выявляются недопустимые конструкции и символы (или сочетания символов) для данного языка программирования. Компьютер выдает сообщение об ошибках в форме, соответствующей этому языку. Затем проверяется логика работы программы в процессе ее выполнения с конкретными исходными данными. Для этого используются специальные методы. Например, в программе выбираются контрольные точки, для них подбираются тестирующие примеры и вручную находятся значения в этих точках, которые затем и сверяются со значениями, получаемыми компьютером на этапе отладки. Кроме того, используются отладчики, выполняющие специальные действия на этапе отладки, такие как удаление, замена или вставка отдельных операторов или целых фрагментов программы, вывод промежуточных результатов, изменение значений заданных переменных и др.
Решение задачи на компьютере и анализ результатов. Теперь программу можно использовать для решения поставленной задачи. Первоначально выполняется многократное решение задачи на компьютере для различных наборов исходных данных. Получаемые результаты анализируются специалистом, поставившим задачу. Разработанная программа поставляется заказчику в виде готовой к исполнению машинной программы. К ней прилагается документация, включающая инструкцию по эксплуатации.
В задачах другого типа некоторые этапы могут отсутствовать. Например, проектирование программного обеспечения не требует построения математической модели.
Все приведенные этапы тесно связаны между собой. Например, анализ результатов может привести к необходимости внесения изменений в программу, алгоритм, метод решения или даже в постановку задачи.
7. Компьютерные сети
Эта глава посвящена компьютерным сетям - основам построения, протоколам, стандартам, сетевым компонентам. Здесь также рассмотрены основы построения Internet — способы передачи инфор-!] мации, адресация и службы.
Назначение и классификация компьютерным сетей
Современные информационные технологии нуждаются во все более совершенных средствах обработки информации. Поэтому потребности в таких средствах постоянно растут. Объединение компьютеров и средств коммуникации оказало существенное влияние на принципы организации компьютерных систем. Модель, в которой один компьютер выполнял всю необходимую работу по обработке данных, уступила место модели, представляющей собой большое количество отдельных, но связанных межцу собой компьютеров. Такие системы называются компьютерными сетями. Два или более компьютера называются связанными между собой, если они могут обмениваться информацией.
Для каких же целей используются компьютерные сети?
Первая цель — предоставление доступа к программам, оборудованию и 'особенно данным для любого пользователя сети. Это называется совместным использованием ресурсов.
Вторая цель — обеспечение высокой надежности при помощи альтернативных источников информации. Например, все файлы могут быть расположены на двух или трех машинах одновременно, так что, если одна из них недоступна по какой-либо причине, то используются другие копии. Возможность продолжать работу, несмотря на аппаратные проблемы, имеет большое значение для военных и банковских задач, воздушного транспорта, безопасности ядерного реактора и т.п.
Третья цель — экономия средств. Небольшие компьютеры обладают значительно лучшим соотношением цена—производительность, нежели большие. Это обстоятельство заставляет раз- работников создавать системы на основе модели клиент-сервер. Обмен информацией в модели клиент-сервер обычно принимает форму запроса серверу на выполнение каких-либо действий. Сервер выполняет работу и отсылает ответ клиенту. Обычно в сети количество клиентов значительно больше числа используемых ими серверов.
Четвертая цель — масштабируемость, т.е. способность увеличивать производительность системы по мере роста нагрузки. В случае модели клиент-сервер новые клиенты и новые серверы могут добавляться по мере необходимости.
Пятая цель — ускорение передачи информации. Компьютерная сеть является мощным средством связи между удаленными друг от друга пользователями. Если один из них изменяет документ, находящийся на сервере, в режиме on-line, остальные могут немедленно увидеть эти изменения.
Имеется два важнейших параметра классификации сетей: технология передачи и размеры.
Существуют два типа технологии передачи:
широковещательные сети;
сети с передачей от узла к узлу.
Широковещательные сети обладают единым каналом связи, совместно используемым всеми машинами сети. Короткие сообщения, называемые пакетами, посылаемые одной машиной, принимаются всеми машинами. Поле адреса в пакете указывает, кому направляется сообщение. При получении пакета машина проверяет его адресное поле. Если пакет адресован этой машине, она обрабатывает пакет. Пакеты, адресованные другим машинам, игнорируются.
Сети с передачей от узла к узлу состоят из большого количества соединенных пар машин. В такой сети пакету необходимо пройти через ряд промежуточных машин, чтобы добраться до пункта назначения. Часто при этом существует несколько возможных путей от источника к получателю.
Обычно небольшие сети используют широковещательную передачу, тогда как в крупных сетях применяется передача от узла к узлу.
Другим критерием классификаций сетей является их размер. Сети можно разделить на локальные, муниципальные и глобальные. И, наконец, существуют объединения двух и более сетей. Хорошо известным примером такого объединения является Internet. Размеры
сетей являются важным классификационным фактором, поскольку в сетях различного размера применяется различная техника.
Локальными сетями (ЛВС — локальные вычислительные сети или LAN — Local Area Network) называют сети, размещающиеся, как правило, в одном здании или на территории какой-либо организации размерами до нескольких километров. Их часто используют для предоставления совместного доступа компьютеров к ресурсам (например, принтерам) и обмена информацией. Локальные сети отличаются от других сетей тремя характеристиками: размерами, технологией передачи данных и топологией. Обычные ЛВС имеют пропускную способность канала связи от 10 до 100 Мбит/с, небольшую задержку
десятые доли мкс и очень мало ошибок.
Муниципальные или региональные сети (MAN — Metropolitan AN) являются увеличенными версиями локальных сетей и обычно исполь-! зуют схожие технологии. Такая сеть может объединять несколько предприятий корпорации или город. Муниципальная сеть может поддерживать передачу цифровых данных, звука и включать в себя кабельное телевидение. Обычно муниципальная сеть не содержит' переключающих элементов для переадресации пакетов во внешние линии, что упрощает структуру .сети.
Глобальные сети (Wide AN или ГВС) охватывают значительную; территорию, часто целую страну или даже континент. Они объединяют множество машин, предназначенных для выполнения приложений. Эти машины называются хостами. Хосты соединяются коммуникационными подсетями или просто подсетями. Задачей подсети является передача сообщений от хоста хосту, подобно тому, как телефонная система переносит слова говорящего слушающему. То есть коммуникативный аспект сети — подсеть отделен от прикладного аспекта — хостов, что значительно упрощает структуру сети.
Типы сетей
Сети подразделяются на два типа: одноранговые и на основе сервера.
Между этими двумя типами сетей существуют принципиальные различия, которые определяют их разные возможности. Выбор типц сети зависит от многих факторов: размера предприятия и вида егб деятельности, необходимого уровня безопасности, доступности административной поддержки,, объема сетевого трафика, потребностей сетевых пользователей, финансовых возможностей.
В одноранговой сети все компьютеры равноправны. Каждый компьютер функционирует и как клиент, и как сервер. Нет отдельного компьютера, ответственного за администрирование всей сети. Пользователи сами решают, какие ресурсы на своем компьютере сделать доступными в сети.
Одноранговые сети, как правило, объединяют не более 10 компьютеров. Отсюда их другое название — рабочие группы. Одноранговые сети относительно просты, дешевле сетей на основе сервера, но требуют более мощных компьютеров. Требования к производительности и уровню защиты сетевого программного обеспечения (ПО) ниже, чем в сетях с выделенным сервером. Поддержка одноранговых сетей встроена во многие операционные системы (ОС), поэтому для организации одноранговой сети дополнительного ПО не требуется.
Если в сети более 10 компьютеров, то одноранговая сеть становится недостаточно производительной. Поэтому большинство сетей имеют другую конфигурацию — они работают на основе выделенного сервера. Выделенным сервером называется такой компьютер, который функционирует только как сервер и не используется в качестве клиента или рабочей станции. Он специально оптимизирован для быстрой обработки запросов от сетевых клиентов и обеспечивает защиту файлов и каталогов. Сети на основе сервера стали промышленным стандартом.
Основным аргументом при выборе сети на основе сервера является защита данных. Проблемами безопасности занимается один администратор: он формирует единую политику безопасности и применяет ее в отношении каждого пользователя сети.
Сети на основе сервера, в отличие от одноранговых сетей, способны поддерживать тысячи пользователей. При этом к характеристикам компьютеров и квалификации пользователей предъявляются более мягкие требования, чем в одноранговых сетях.
Топология сетей
Термин топология сети характеризует способ организации физических связей компьютеров и других сетевых компонентов. Выбор той или иной топологии влияет на состав необходимого сетевого оборудования, возможности расширения сети и способ управления сетью. Топология — это стандартный термин. Все сети строятся на основе базовых топологий: шина, звезда, кольцо, ячеистая. Сами по себе базовые топологии не сложны, однако на практике часто встречаются довольно сложные их комбинации.
Шина. Эту топологию (рис. 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(о - отличие состоит только в том, что концентраторы в звезде-шине соединяются магистральной линейной шиной, а в звезде-кольце кон*: центраторы подсоединены к главному концентратору, внутри кото! рого физически реализовано кольцо.
Сетевые компоненты
"t
Сетевые кабели
На сегодня подавляющая часть компьютерных сетей использует* для соединения кабели. Это среда передачи сигналов между компьютерами.
В большинстве сетей применяются три основные группы кабелей:
коаксиальный кабель;
витая пара (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 Гбит/с. Расстояние — многие километры. Кабель не подвержен электрическим помехам. Существенным недостатком этой технологии является дороговизна и сложность в установке и подключении.
Типичная оптическая сеть состоит из лазерного передатчика све- га, мультиплексора/демультиплексора для объединения оптических сигналов с разными длинами волн, усилителей оптических сигналов, демультиплексоров и приемников, преобразующих оптический сигнал обратно в электрический. Все эти компоненты обычно собира-. ются вручную.
Для передачи по кабелю кодированных сигналов используют две технологии - немодулированную и модулированную передачу. ;|
Смодулированные системы передают данные в виде цифровых ■сигналов, которые представляют собой дискретные электрические или световые импульсы. При таком способе цифровой сигнал использует всю полосу пропускания кабеля (полоса пропускания — разница между максимальной и минимальной частотой, которую можно передать по кабелю). Устройство в сетях с немодулированНой передачей посылает данные в обоих направлениях. Для того, чтобы избежать затухания и искажения сигнала в немодулированных системах, используют репитеры, которые усиливают ретранслируют сигнал.
Модулированные системы передают данные в виде аналогового сигнала (электрического или светового), занимающего некоторую полосу частот. Если полосы пропускания достаточно, то один кабель могут одновременно использовать несколько систем (например, транслировать передачи кабельного телевидения и передавать данные). Каждой передающей системе выделяется часть полосы пропускания. Для восстановления сигнала в модулированных системах используют усилители. В модулированной системе устройства имеют раздельные тракты для приема и передачи сигнала, так как передача идет в одном направлении. Чтобы устройства могли и передавать, и принимать данные, используют разбиение полосы пропускания па два канала, которые работают с разными частотами для передачи и приема, или прокладку двух кабелей — для передачи и приема.
БеспроВоЗная среЭа
Словосочетание беспроводная среда не означает полное отсутствии проводов в сети. Обычно беспроводные компоненты взаимодействуют с сетью, в которой в качестве среды передачи используется ки- бель. Такие сети называют гибридными.
Беспроводная среда обеспечивает временное подключение к су- шествующей кабельной сети, гарантирует определенный уровень мобильности и снижает ограничения на протяженность сети. Применяется в служебных помещениях, где у сотрудников нет постоянного рабочего места, в изолированных помещениях и зданиях, в строениях, где прокладка кабелей запрещена.
Существуют следующие типы беспроводных сетей: ЛВС, расширенные ЛВС и мобильные сети (переносные компьютеры). Основные различия между ними — параметры передачи. ЛВС и расширенные ЛВС используют передатчики и приемники той организации, в которой функционирует сеть. Для переносных компьютеров средой передачи служат общедоступные сети (например, телефонная или Internet).
ЛВС выглядит и функционирует практически так же, как и кабельная, за исключением среды передачи. Беспроводный сетевой адаптер с трансивером установлен в каждом компьютере, и пользователи работают так, будто их компьютеры соединены кабелем. Трансивер или точка доступа обеспечивает обмен сигналами между компьютерами с беспроводным подключением и кабельной сетью. Используются небольшие настенные трансиверы, которые устанавливают радиоконтакт с переносными устройствами.
Работа беспроводных ЛВС основана на четырех способах передачи данных: инфракрасном излучении, лазере, радиопередаче в узком диапазоне (одночастотной передаче), радиопередаче в рассеянном спектре.
Платы сетевого адаптера
Платы сетевого адаптера (СА) выступают в качестве физического интерфейса, или соединения, между компьютером и сетевым кабелем. Платы вставляются в слоты расширения материнской платы всех сетевых компьютеров и серверов или интегрируются на материнскую плату. Для обеспечения физического соединения между компьютером и сетью к разъему платы подключается сетевой кабель. Плата СА выполняет:
подготовку данных, поступающих от компьютера, к передаче по сетевому кабелю;
передачу данных другому компьютеру;
управление потоком данных между компьютером и кабельной системой;
прием данных из кабеля и перевод их в форму, понятную ЦП компьютера.
Плата СА должна также указать свое местонахождение или се«1 тевой адрес, чтобы ее могли отличить от других плат сети. Сетевые адреса определены комитетом IEEE (Institute of Electrical and Electronics Engineers, Inc.), который закрепляет за каждым произво- дителем плат сетевого адаптера некоторый интервал адресов. Про» изводители зашивают эти адреса в микросхемы, поэтому каждый компьютер имеет свой уникальный номер, т.е. адрес в сети.
Перед тем, как послать данные по сети, плата СА проводит алек* тронный диалог с принимающей платой, в результате которого они устанавливают:
максимальный размер блока передаваемых данных;
объем данных, пересылаемых без подтверждения о получении; |
интервал между передачами блоков данных;
интервал, в течение которого необходимо послать подтверждение;
объем данных, который может принять плата без переполнении буфера;
скорость передачи.
Если новая (более сложная и быстрая) плата взаимодействует^ устаревшей (медленной) платой, то они должны найти общую для них обеих скорость передачи. Схемы современных плат позволяют им приспособиться к низкой скорости старых плат. Каждая плати оповещает другую о своих параметрах, принимая чужие параметры и подстраиваясь к ним. После определения всех деталей начинается обмен данными.
Для правильной работы платы должны быть корректно установлены следующие параметры:
номер прерывания (IRQ — interrupt query);
базовый адрес порта;
I/О.Базовый адрес памяти;
тип трансивера.
Для обеспечения совместимости компьютера и сети плата СА должна соответствовать внутренней структуре компьютера (архитектуре шины данных) и иметь соответствующий соединитель, подходящий к типу кабельной системы.
Например, плата, которая нормально работает в компьютере Apple Macintosh в сети с топологией шина, не будет работать в компьютере IBM в сети с топологией кольцо. Сеть топологии кольцо требует плату, которая физически отличается от применяемой в сети топологии шина, к тому же Apple использует другой метод сетевого взаимодействия.
Сетевые стандарты
.■ ш
Работа сети заключается в передаче данных от одного компьютера к другому. В этом процессе можно выделить следующие задачи:
Распознавание данных.
Разбиение данных на управляемые блоки.
Добавление информации к каждому блоку о местонахождении данных и получателе.
i 4. Добавление информации для синхронизации и проверки ошибок.
Перемещение данных в сеть и отправка их по заданному адресу. Сетевая ОС при выполнении этих задач строго следует определенному набору процедур. Эти процедуры называются протоколами. Они регламентируют каждую сетевую операцию. Стандартные протоколы позволяют программному и аппаратному обеспечению разных производителей нормально взаимодействовать.
Существует два главных набора стандартов: эталонная модель OSI и ее модификация Project 802. Для понимания технической стороны функционирования сетей необходимо иметь представление об этих моделях.
Эталонная модель 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) контролирует доступ к среде передачи, определяет границы кадров, обнаруживает ошибки, распознает адреса кадров. Он также обеспечивает совместный доступ плат СА к Физическому уровню. Этот подуровень напрямую связан с платой СА и отвечает за безошибочную передачу данных между двумя компьютерами сети.
АрайВеры устройств и 0/1
Сетевые драйверы обеспечивают связь межцу платами СА и работающими на компьютере редиректорами. Редиректор — это часть сетевого ПО, которое принимает запросы ввода/вывода, относящиеся к удаленным файлам, и переадресовывает их по сети на другой компьютер.
Драйверы платы СА располагаются на подуровне Управления доступом к среде Канального уровня. Подуровень MAC отвечает за совместный доступ плат СА к Физическому уровню. Таким образом, драйвер платы СА обеспечивает связь между компьютером и самой платой, связывая, в конечном итоге, компьютер с сетью.
Производители плат СА обычно предоставляют драйверы разработчикам сетевого ПО, которые включают их в состав своих продуктов. Производители сетевых ОС публикуют списки совместимого оборудования — перечень устройств, драйверы которых протестированы на совместимость с ОС. Список совместимого оборудования HCL (Hardware Compatibility List) для сетевой ОС содержит сотни моделей плат СА от разных производителей.
Сетевые архитектуры
Сетевые архитектуры — это комбинация стандартов, топологий и протоколов, необходимых для создания работоспособной сети.
ЛЛетоЗы Зоступа к сетевому ресурсу
Для использования сетевого ресурса необходимо получить доступ к нему. Существуют три метода доступа: множественный доступ с контролем несущей, доступ с передачей маркера, доступ по приоритету запроса. Метод доступа — набор правил, которые определяют, как компьютер должен отправлять и принимать данные по сетевому кабелю.
Компьютеры получают доступ к сети поочередно на короткое время. Обычно несколько компьютеров в сети имеют совместный доступ к кабелю. Однако если два компьютера попытаются передавать данные одновременно, их пакеты столкнутся и будут испорчены. Возникает так называемая коллизия. Все компьютеры в сети должны использовать один и тот же метод доступа, иначе произойдет сбой в работе сети, когда отдельные компьютеры, чьи методы доминируют, не позволят остальным осуществлять передачу.
Множественный доступ с контролем несущей подразделяется на:
множественный доступ с обнаружением коллизий;
множественный доступ с предотвращением коллизий.
Рассмотрим особенности каждого метода доступа.
Множественный доступ с контролем несущей и обнаружением коллизий (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 Мгц.
Передача Заннын по сети
Данные, состоящие из нулей и единиц, обычно содержатся в больших по размерам файлах. Однако сети не будут нормально работать, если компьютер будет посылать такой блок данных целиком. В это время другие компьютеры вынуждены долго ждать своей очереди. Такая ситуация похожа на монопольное использование сети. При этом, кроме монопольного использования сети, возникновение ошибок может привести к необходимости повторной передачи всего большого блока данных.
Чтобы быстро, не тратя времени на ожидание, передавать ин-; формацию по сети, данные разбиваются на маленькие управляемые блоки, содержащие все необходимые сведения для их передачи. Эти* блоки называются пакетами. Под термином «пакет» подразумевается единица информации, передаваемая между устройствами сети как единое целое.
При разбиении данных на пакеты сетевая ОС добавляет к каждому пакету специальную управляющую информацию, которая обеспечивает передачу исходных данных небольшими блоками, сбор данных в определенном порядке (при их получении), проверку данных на наличие ошибок (после сборки). .
Компоненты пакета группируются по трем разделам: заголовок данные и трейлер.
Заголовок включает:
сигнал о том, что передается пакет,
адрес источника,
адрес получателя, .
информацию, синхронизирующую передачу.
Для большинства сетей .размер пакета составляет от 512 байт до 4 Кбайт.
Содержимое трейлера зависит от протокола связи (протокол — это набор правил или стандартов для осуществления связи и обмена информацией между компьютерами). Чаще всего трейлер содержит информацию для проверки ошибок, называемую избыточным циклическим кодом (Cyclical Redundancy Check, CRC). CRC — это число, получаемое в результате математических преобразований данных пакета и исходной информации. Когда пакет достигает места назначения, эти преобразования повторяются. Если результат совпадает с CRC - пакет принимается без ошибок. В противном случае передача пакета повторяется.
Формат и'размер пакета зависят от типа сети. Максимальный размер пакета определяет количество пакетов, которое будет создав но сетевой ОС для передачи большого блока данных.
Сети 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.
Сети 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 является концентратор, реализующий физическое кольцо. В сети с передачей маркера вышедший из строя компьютер или соединение останавливают движение маркера, что ведет к прекращению работы всей сети. Концентраторы разработаны таким образом, чтобы обнаруживать вышедшую из строя плату СА и вовремя отключать ее. Эта процедура позволяет обойти отказавший компьютер, поэтому маркер продолжает циркулировать по сети.
СетеВые протоколы
Протоколы — это набор правил и процедур, регулирующих порядок осуществления некоторой связи. Протоколы реализуются во всех областях деятельности человека, например, дипломатических. В сетевой среде — это правила и технические процедуры, позволяющие нескольким компьютерам общаться друг с другом.
Различают три определяющих свойства протоколов:
Каждый протокол предназначен для различных задач и имеет свои преимущества и недостатки.
Протоколы работают на разных уровнях модели OSI. Функции протокола определяются уровнем, на котором он работает.
Несколько протоколов могут работать совместно. В этом случае они образуют так называемый стек, или набор протоколов. Как сетевые функции распределяются по всем уровням модели 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. Вместо семи уровней в нем используется только четыре:
Уровень сетевого интерфейса.
Межсетевой уровень.
Транспортный уровень. <
Прикладной уровень.
Каждый из них соответствует одному или нескольким уровням модели OSI.
Уровень сетевого интерфейса, относящийся к Физическому и Канальному уровням модели OSI, напрямую взаимодействует с сетью. Он реализует интерфейс между сетевой архитектурой (Ethernet или Token Ring) и Межсетевым уровнем.
Межсетевой уровень, относящийся к Сетевому уровню модели OSI, использует несколько протоколов для маршрутизации и доставки пакетов. Для этого используются маршрутизаторы, которые работают на Сетевом уровне и могут переадресовывать и маршрутизировать пакеты через множество сетей, обмениваясь информацией между отдельными сетями.
Транспортный уровень, соответствующий Транспортному уровню модели OSI, отвечает за установку и поддержание соединения между двумя хостами. Транспортный уровень отвечает также за отправку уведомлений о получении данных, управление потоком, упорядочение пакетов и их повторную передачу. Transmission Control Protocol (TCP) отвечает за надежную передачу данных между узлами. Это ориентированный на соединение протокол, поэтому он устанавливает сеанс связи между двумя компьютерами прежде, чем начать передачу.
Прикладной уровень, соответствующий Сеансовому, Представительскому и Прикладному уровням модели OSI, соединяет в сети приложения.
Среда клиент-серВер
Раньше сетевые системы основывались на модели централизованШ ных вычислений, в которой один мощный сервер — мейнфрейм выполнял основную работу в сети, а пользователи получали доступ к нему при помощи недорогих и низкопроизводительных компьютеров — терминалов. В результате развития персональных компьютеров централизованную модель заменила модель клиент-сервер, пре-. доставляющая при той же производительности возможности сетевой обработки данных.
В настоящее время большинство сетей использует модель клиент- сервер. Сеть архитектуры клиент-сервер — это сетевая среда, в которой компьютер-клиент инициирует запрос компьютеру-серверу, выполняющему этот запрос. Рассмотрим работу модели на примере системы управления БД — приложения, часто используемого в среде клиент-сервер. В модели клиент-сервер ПО клиента использует язык структурированных запросов SQL (Structured Query Language), который переводит запрос с языка, понятного пользователю, на язык, понятный машине. SQL близок к естественному английскому.
Клиент (пользователь) генерирует запрос с помощью интерфейсного приложения, которое обеспечивает интерфейс пользователя, формирует запросы и отображает данные, полученные с сервера. В клиент-серверной среде сервер не наделяется пользовательским интерфейсом. Представлением данных в удобной форме занимается сам клиент. Компьютер-клиент получает инструкции от пользователя, готовит их для сервера, а затем по сети посылает ему запрос. Сервер обрабатывает запрос, проводит поиск необходимых данных и отсылает их клиенту. Клиент в удобной для пользователя форме отображает полученную информацию. В клиент-серверной среде пользователь компьютера-клиента имеет дело с экранной формой. В ней он задает необходимые параметры информации. Интерфейсная часть одну и ту же информацию может представлять в различном виде.
Сервер в клиент-серверной среде обычно предназначен для хранения данных и управления ими. Именно сервер выполняет большинство операций с данными. Сервер называют также прикладной частью модели клиент-сервер, так как именно он выполняет запросы клиентов. Обработка данных на сервере состоит из их сортиров-
ки, извлечения затребованной информации и отправки ее по адресу пользователя. ПО предусматривает также обновление, удаление, добавление и защиту информации.
Технология клиент-сервер создает мощную среду, обладающую множеством реальных преимуществ. В частности, хорошо спланированная клиент-серверная система обеспечивает относительно недорогую платформу, которая обладает в то же время вычислительными возможностями мэйнфрейма и легко настраивается на выполнение конкретных задач. Кроме того, в среде клиент-сервер резко уменьшается сетевой трафик, так как по сети пересылаются только результаты запросов. Файловые операции выполняются в основном более мощным сервером, поэтому запросы лучше обслуживаются. Это означает, что нагрузка на сеть распределяется более равномерно, чем в традиционных сетях на основе файл-сервера. Уменьшается потребность компьютеров-клиентов в ОЗУ, так как вся работа с файлами выполняется на сервере. По этой же причине на компьютерах-клиентах уменьшается потребность в дисковом пространстве. Упрощается управление системой, контроль ее безопасности становится проще, так как все файлы и данные размещаются на сервере. Упрощается резервное копирование. _ .
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 Кбит/с.
Как же происходит передача информации по всем этим многочисленным каналам? Доставка информации по нужному адресу выполняется с помощью маршрутизаторов, определяющих, по какому маршруту передавать информацию. Маршрутизатор — это устройство, которое работает с несколькими каналами, направляя в выбранный канал очередной блок данных. Выбор канала осуществляется по адресу, указанному в заголовке поступившего сообщения.
Таким образом, маршрутизатор выполняет две взаимосвязанные функции. Во-первых, он направляет информацию по свободным каналам, предотвращая закупорку узких мест в Сети; во-вторых, проверяет, что информация следует в нужном направлении. При объединении двух сетей маршрутизатор включается в обе сети, пропуская информацию из одной в другую. В некоторых случаях он осуществляет перевод данных из одного протокола в другой, при этом защищая сети от лишнего трафика. Эту функцию маршрутизаторов можно сравнить с работой службы ГИБДД, которая ведет наблюдение за автомобильным движением с вертолета и сообщает водителям оптимальный маршрут.
Протоколы интернет
Различают два типа протоколов: базовые и прикладные. Базовые протоколы отвечают за физическую пересылку сообщений между компьютерами в сети 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Р-адресом.
При сеансовом подключении к Интернету 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-сервера не видна, однако эти серверы каждый день выполняют миллиарды запросов, обеспечивая работу миллионов пользователей.
Варианты Эостула В интернет Ч
Провести соединение между 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-доступа. Технология будет способствовать и появлению новых принципов проектирования силовых электрических сетей с учетом как энергетических, так и коммуникационных требований.
Система аЭресаиии 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.
Сервисы интернет
Обычно пользователи идентифицируют Интернет со службой 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-сайт, владелец может поместить туда информацию различного рода: текст, графику, звук, анимацию, которая станет доступной для всех посетителей этого ресурса. С появлением в Сети вашей страницы информация о вас или о вашей фирме станет доступна сотням миллионов пользователей круглосуточно семь дней в неделю. Количество информации, которое может быть предоставлено посетителю, практически не ограничено по времени, в отличие от радио или телевидения.
Поиск В интернете
Бытует мнение, что в Интернете есть все, но найти там что-либо практически невозможно. Впрочем, противоположная точка зрения, взятая на вооружение поисковой системой Яндекс, гласит, что найти в Интернете можно все. Видимо, для того чтобы находить, нужно уметь искать.
Для поиска в Интернете предназначены различные инструменты: поисковые машины, индексированные каталоги, метапоисковые системы, тематические списки ссылок, онлайновые энциклопедии и справочники. При этом для поиска разного рода информации наиболее эффективными оказываются различные инструменты. Рассмотрим каждый инструмент в отдельности.'
Индексированные каталоги содержат информацию, иерархически структурированную по темам. Тематические разделы первого уровня определяют широко популярные темы, такие как спорт, отдых, наука, магазины и т.д. В каждом разделе есть подразделы. Таким образом, путешествуя по дереву каталога, можно постепенно сужать область поиска. Дойдя до нужного подкаталога, вы находите в нем набор ссылок. Обычно в каталоге все ссылки являются профильными, поскольку составлением каталогов занимаются не программы, а люди. Очевидно, что если вы ищете информацию по некоторой широкой теме, то целесообразно обратиться к каталогу. Если же вам необходимо найти конкретный документ, то каталог окажется малоэффективным поисковым средством. Один из наиболее популярных каталогов в России — 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. Практические рекоменЗаиии
Используйте различные инструменты для поиска информации разного профиля. Поиск в каталоге дает представление о структуре вопроса, поисковая система позволяет найти конкретный документ.
Избегайте общих слов, осуществляя поиск в поисковой машине. 4eiM уникальнее ключевое слово, по которому осуществляется поиск, тем скорее вы его найдете. Логика здесь очевидна, однако факты позволяют лучше понять ситуацию: 400 наиболее часто употребляемых слов русского языка со всеми словоформами (около 2 тысяч) составляют одну треть всех слов в среднестатистическом тексте, а частотный список на 8 тыс. слов покрывает уже 80 % всех словоупотреблений в текстах.
Ищите больше чем по одному слову. Сократить объем ссылок можно, определив несколько ключевых слов. Используйте синонимы.
Не пишите прописными буквами. Избегайте написания ключевого слова с прописной буквы. В ряде поисковых систем заглавные буквы позволяют искать имена собственные, например фирма Intel.
Используйте функцию Найти похожие документы. Если один из найденных документов ближе к искомой теме, чем остальные, нажмите на ссылку Найти похожие документы.
Пользуйтесь языком запросов. С помощью языка запросов можно сделать запрос более точным.
Пользуйтесь расширенным запросом. Во многих поисковых системах есть форма расширенного запроса, в которой можно использовать основные механизмы сужения поиска. .
Пользуйтесь метапоисковыми системами, если по теме мало документов.
8. ОсноВь! u методы зашиты информации
Обилие понятия информационной безопасности
Персональные компьютеры, системы управления и сети на их основе быстро входят во все области человеческой деятельности. Среди них можно выделить такие сферы применения, как военная, коммерческая, банковская, посредническая, научные исследования по высоким технологиям и др. Очевидно, широко используя компьютеры и сети для обработки и передачи информации, эти отрасли должны быть надежно защищены от возможности доступа к ней посторонних лиц, ее утраты или искажения. Согласно статистическим данным, более 80 % компаний несут финансовые убытки из-за нарушения целостности и конфиденциальности используемых данных.
Кроме информации, составляющей государственную или коммерческую тайну, существует информация, представляющая собой интеллектуальную собственность. К ней можно отнести результаты научных исследований, программы, обеспечивающие функционирование компьютера, игровые программы, оригинальные аудио- и видеоклипы, которые находятся под защитой законов, принятых в большинстве стран мирового сообщества. Стоимость такой информации в мире составляет несколько триллионов долларов в год. Ее несанкционированное копирование снижает доходы компаний и авторов, занятых ее разработкой.
Усложнение методов и средств организации машинной обработки, повсеместное использование глобальной сети Интернет приводит к тому, что информация становится все более уязвимой. Этому способствуют такие факторы, как постоянно возрастающие объемы обрабатываемых данных, накопление и хранение данных в ограниченных местах, постоянное расширение круга пользователей, имеющих доступ к ресурсам, программам и данным, недостаточный уровень защиты аппаратных и программных средств компьютеров и коммуникационных систем и т.п.
Учитывая эти факты, защита информации в процессе ее сбора, хранения, обработки и передачи приобретает исключительно важное значение.
ОсноВные понятия информоиионной безопасности
Введем ряд определений, используемых при описании средств и методов защиты информации в системах автоматизированной обработки, построенных на основе средств вычислительной техники.
Компьютерная система (КС) — организационно-техническая система, представляющую совокупность следующих взаимосвязанных компонентов:
технические средства обработки и передачи данных; методы и алгоритмы обработки в виде соответствующего программного обеспечения;
данные — информация на различных носителях и находящаяся в процессе обработки;
конечные пользователи — персонал и пользователи, использующие КС с целью удовлетворения информационных потребностей;
объект доступа, или объект, — любой элемент КС, доступ к которому может быть произвольно ограничен (файлы, устройства, каналы);
субъект доступа, или субъект, — любая сущность, способная инициировать выполнение операций над объектом (пользователи, процессы).
Информационная безопасность — состояние КС, при котором она способна противостоять дестабилизирующему воздействию внешних и внутренних информационных угроз и при этом не создавать таких угроз для элементов самой КС и внешней среды.
Конфиденциальность информации — свойство информации быть доступной только ограниченному кругу конечных пользователей и иных субъектов доступа, прошедших соответствующую проверку и допущенных к ее использованию.
Целостность информации — свойство сохранять свою структуру л содержание в процессе хранения, использования и передачи.
Достоверность информации — свойство, выражаемое в строгой
принадлежности информации субъекту, который является ее источником.
Доступ к информации — возможность субъекта осуществлять определенные действия с информацией.
Санкционированный доступ к информации — доступ с выполнением правил разграничения доступа к информации.
Несанкционированный доступ (НСД) - доступ с нарушением правил разграничения доступа субъекта к информации, с использованием штатных средств (программного или аппаратного обеспечения), предоставляемых КС.
Правила разграничения доступа — регламентация прав доступа субъекта к определенному компоненту системы.
Идентификация — получение от субъекта доступа к сведениям (имя, учетный номер и т.д.), позволяющим выделить его из множества субъектов.
Аутентификация — получение от субъекта сведений (пароль, биометрические параметры и т.д.), подтверждающих, что идентифицируемый субъект является тем, за кого себя выдает.
Угроза информационной безопасности КС — возможность воздействия на информацию, обрабатываемую КС, с целью ее искажения, уничтожения, копирования или блокирования, а также возможность воздействия на компоненты КС, приводящие к сбою их функционирования.
Уязвимость КС — любая характеристика, которая может привести к реализации угрозы.
Атака КС - действия злоумышленника, предпринимаемые с целью обнаружения уязвимости КС и получения несанкционированного доступа к информации.
Безопасная, или защищенная, КС — КС, снабженная средствами защиты для противодействия угрозам безопасности.
Комплекс средств защиты — совокупность аппаратных и программных средств, обеспечивающих информационную безопасность.
Политика безопасности — совокупность норм и правил, регламентирующих работу средств защиты от заданного множества угроз.
Дискреционная модель разграничения доступа — способ разграничения доступа субъектов к объектам, при котором права доступа задаются некоторым перечнем прав доступа субъекта к объекту. При реализации представляет собой матрицу, строками которой являются субъекты, а столбцами - объекты; элементы матрицы характеризуют набор прав доступа.
Полномочная (мандатная) модель разграничения доступа — способ разграничения доступа субъектов к объектам, при котором каждому объекту ставится в соответствие уровень секретности, а каждому субъекту уровень доверия к нему. Субъект может получить доступ к объекту, если его уровень доверия не меньше уровня секретности объекта.
Анализ УГР°3 информационной безопасности
Для успешного противодействия угрозам и атакам КС, а также выбора способов и средств защиты, политики безопасности и анализа рисков от возможного НСД необходимо классифицировать существующие угрозы информационной безопасности. Каждый признак классификации должен отражать одно из обобщенных требований к системе защиты, а сами угрозы позволяют детализировать эти требования. Современные КС и сети являются сложными системами, подверженными, кроме того, влиянию чрезвычайно большого числа факторов и поэтому формализовать задачу описания полного множества угроз не представляется возможным. Как следствие, для защищенной КС определяется не полный перечень угроз, а перечень классов угроз, которым должен противодействовать комплекс средств защиты.
Классификация угроз может быть проведена по ряду базовых признаков:
По природе возникновения: объективные природные явления, не зависящие от человека; субъективные действия, вызванные деятельностью человека.
По степени преднамеренности: ошибки конечного пользователя или персонала; преднамеренного действия, для получения НСД к информации.
По степени зависимости от активности КС: проявляющиеся независимо от активности КС (вскрытие шифров, хищение носителей информации); проявляющиеся в процессе обработки данных (внедрение вирусов, сбор «мусора» в памяти, сохранение и анализ работы клавиатуры и устройств отображения).
По степени воздействия на КС: пассивные угрозы (сбор данных путем выведывания или подсматривания за работой пользователей); активные угрозы (внедрение программных или аппаратных закладок и вирусов для модификации информации или дезорганизации работы КС).
По способу доступа к ресурсам КС: получение паролей и прав доступа, используя халатность владельцев и персонала, несанкционированное использование терминалов пользователей, физического сетевого адреса, аппаратного блока кодирования и др.; обход средств защиты, путем загрузки посторонней операционной защиты со сменного носителя; использование ^документированных возможностей операционной системы.
По текущему месту расположения информации в КС: внешние запоминающие устройства; оперативная память; сети связи; монитор или иное отображающее устройство (возможность скрытой съемки работы принтеров, графопостроителей, световых панелей и т.д.).
Необходимо отметить, что абсолютно надежных систем защиты не существует. Кроме того, любая система защиты увеличивает время доступа к информации, поэтому построение защищенных КС не ставит целью надежно защититься от всех классов угроз. Уровень системы защиты — это компромисс между понесенными убытками от потери конфиденциальности информации, с одной стороны, и убытками от усложнения, удорожания КС и увеличения времени доступа к ресурсам от введения систем защиты, с другой стороны.
Юридические основы инсрормоиионной безопасности
Широкое распространение КС и сетей, внедрение их в государственных учреждениях и важность задачи сохранения конфиденциальности государственной и частной информации заставили многие страны принять соответствующие законы, регламентирующие защиту КС и сетей.
Наиболее общим законом Российской Федерации является Конституция. Главы 23, 29, 41 и 42 в той или иной мере затрагивают вопросы информационной безопасности. Статья 23 Конституции, например, гарантирует право на личную и семейную тайну/ на тайну переписки, телефонных разговоров, почтовых, телеграфных и иных сообщений; статья 29 — право свободно искать, получать, передавать^ производить и распространять информацию любым законным способом. Главы 41 и 42 гарантируют право на знание фактов и обстоятельств, создающих угрозу жизни и здоровью людей, право на знание достоверной информации о состоянии окружающей среды.
Действующий Уголовный кодекс Российской Федерации предусматривает наказания за преступления, связанные с нарушением конфиденциальности информации. Глава 28 «Преступления в сфере компьютерной информации» содержит статьи 272—274, посвященные преступлениям, связанным, соответственно, с неправомерным дос- тупом к компьютерной информации, созданием, использованием и распространением вредоносных программ, нарушением правил эксплуатации ЭВМ, систем и сетей на их основе.
Интересы государства в плане обеспечения конфиденциальности информации наиболее полно представлены в Законе «О государственной тайне». В нем гостайна определена как защищаемые государством сведения в области военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-розыскной деятельности, распространение которых может нанести ущерб безопасности Российской Федерации. Здесь же дается описание средств защиты информации, к которым, согласно данному Закону, относятся технические, криптографические, программные и другие средства, предназначенные для защиты сведений, составляющих государственную тайну. Наряду с общими законами, во многих странах приняты законы о защите информации в компьютерных системах и сетях. Описание основных положений этих законов, принятых в США и РФ, приведены ниже.
Критерии защищенности среЗстВ компьютерный систем
Министерством обороны США в 1983 г. были разработаны определения требований к аппаратному, программному и специальному программному обеспечению под названием «Критерии оценки безопасности компьютерных систем», получившие неофициальное, но прочно утвердившееся название «Оранжевая книга».
В «Оранжевой книге» предложены три категории требований безопасности: политика безопасности, аудит (мониторинг производимых действий), корректность, в рамках которых сформулированы шесть базовых критериев безопасности.
Критерий 1. Политика безопасности. КС должна поддерживать точно определенную политику безопасности. Возможность доступа субъектов к объектам должна определяться на основании их идентификации и набора правил управления доступом. Там, где это возможно, должно использоваться мандатное управление доступом, позволяющее эффективно разграничивать доступ к информации разной степени конфиденциальности.
Критерий 2. Метки. Каждый объект доступа в КС должен иметь метку безопасности, используемую в качестве исходной информации для исполнения процедур контроля доступа.
Критерий 3. Идентификация и аутентификация. Все субъекты должны иметь уникальные идентификаторы. Доступ субъекта к ресурсам КС должен осуществляться на основании результатов идентификации и подтверждения подлинности их идентификаторов (аутентификация). Идентификаторы и аутентификационные данные должны быть защищены от НСД, модификации и уничтожения.
Критерий 4. Регистрация и учет. Для определения степени ответственности пользователей за действия в системе, все происходящие в ней события, имеющие значение для поддержания конфиденциальности и целостности информации, должны отслеживаться и регистрироваться в защищенном объекте (файле-журнале). Система регистрации должна осуществлять анализ общего потока событий и выделять из него только те события, которые оказывают влияние на безопасность КС. Доступ к объекту аудита для просмотра должен быть разрешен только специальной группе пользователей — аудиторов. Запись должна быть разрешна только субъекту, олицетворяющему систему.
Критерий 5. Контроль корректности функционирования средств защиты. Все средства защиты, обеспечивающие политику безопасности, должны находиться под контролем средств, проверяющих корректность их функционирования и быть независимыми от них.
Критерий 6. Непрерывность защиты. Все средства защиты должны быть защищены от несанкционированного воздействия или отключения. Защита должна быть постоянной и непрерывной в любом режиме функционирования системы, защиты и КС. Это требование должно распространяться на весь жизненный цикл КС.
Гостехкомиссией при Президенте Российской Федерации были приняты руководящие документы, посвященные вопросам защиты информации в автоматизированных системах. Основой этих документов является концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации и основные принципы защиты КС.
Для определения принципов защиты информации вводится понятие несанкционированного доступа к информации. Это понятие является чрезвычайно важным, так как определяет, от чего сертифицированные по руководящим документам средства вычислительной техники и КС должны защищать информацию. В соответствии с принятой в руководящих документах классификацией, основными способами НСД являются:
непосредственное обращение к объектам доступа (получение процессом, управляемым пользователем доступа к файлу);
создание программных и технических средств, выполняющих обращение к объектам доступа в обход средств защиты;
модификация средств защиты, позволяющая осуществить НСД (программные и аппаратные закладки);
внедрение в технические средства аппаратных или программных механизмов, нарушающих структуру и функции КС и позволяющие осуществить НСД (загрузка нестандартной операционной системы без функций защиты).
Руководящие материалы представляют семь критериев защиты
КС:
Защита КС основывается на положениях существующих законов,
стандартов и нормативно-методических документов по защите информации. .
Защита средств вычислительной техники обеспечивается комплексом программно-технических средств.
Защита КС обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер.
Защита КС должна обеспечиваться на всех технологических эта-, пах обработки информации и во всех режимах функционирова •
ния, в том числе при проведении ремонтных и регламентных работ.
Программно-технические средства не должны существенно ухудшать основные функциональные характеристики КС (надежность, производительность, возможность изменения конфигурации).
Оценка эффективности средств защиты, учитывающей всю совокупность технических характеристик, включая технические решения и практическую реализацию средств защиты.
Защита КС должна предусматривать контроль эффективности средств защиты от НСД, который может быть периодическим или включаться по мере необходимости пользователем или контролирующими органами.
Политика безопасности 0 компьютерный системой
Защищенная КС обязательно должна иметь средства разграничения доступа пользователей к ресурсам КС, проверки подлинности пользователя и противодействия выводу КС из строя.
Интегральной характеристикой защищенности КС является политика безопасности — качественное выражение свойств защищенности в терминах, представляющих систему. Политика безопасности для конкретной КС не должна быть чрезмерной — ужесточение защиты приводит к усложнению доступа пользователей к КС и увеличению времени доступа. Политика безопасности должна быть адекватна предполагаемым угрозам, и обеспечивать заданный уровень защиты.
Политика безопасности включает:
множество субъектов;
множество объектов;
множество возможных операций над объектами;
множество разрешенных операций для каждой пары субъект- объект, являющееся подмножеством множества возможных состояний.
Элементы множества операций над объектами выбираются в зависимости от назначения КС, решаемых задач и конфиденциальности информации. Например, операции «создание объекта», «удаление объекта», «чтение данных», «запись данных» и т.д.
В защищенной КС всегда присутствует субъект, выполняющий контроль операций субъектов над объектами, например, в операционной системе Windows таким субъектом является псевдопользователь SYSTEM. Этот компонент фактически отвечает за реализацию политики безопасности, которая реализуется путем описания доступа субъектов к объектам...
Существуют два типа политики безопасности: дискретная (дискреционная) и мандатная (полномочная). Основой дискретной политики безопасности является дискреционное управление доступом, которое определяется двумя свойствами:
все субъекты и объекты должны быть идентифицированы;
права доступа субъекта к объекту определяются на основе некоторого задаваемого набора правил. ■ |
К достоинствам дискретной политики безопасности можно отнести относительно простую реализацию соответствующих механизмов защиты. Этим обусловлен тот факт, что большинство используемых в настоящее время КС обеспечивают именно дискретную политику безопасности. В качестве примера реализации дискретной политики безопасности можно привести матрицу доступов, строки которой соответствуют субъектам системы, а столбцы — объектам; элементы матрицы представляют фиксированный набор или список прав доступа. К ее недостаткам относится статичность модели, не учитывающая динамику изменений состояния КС. Например, при подозрении на НСД к информации, необходимо оперативно изменить права доступа к ней, но сделать это с помощью матрицы доступа, которая формируется вручную, не просто.
Мандатная модель политики безопасности основывается на том,
что:
все субъекты и объекты должны быть идентифицированы;
задан линейно упорядоченный набор меток секретности;
каждому объекту присвоена метка секретности, определяющая ценность содержащейся в ней информации — его уровень секретности;
каждому субъекту системы присвоена метка секретности, определяющая уровень доверия к нему — его уровень доступа.
В отличие от дискретной политики, которая требует определения прав доступа для каждой пары субъект—объект, мандатная политика, назначением метки секретности объекту, однозначно определяет круг субъектов, имеющих права доступа к нему. И, наоборот, назначением метки секретности субъекту, однозначно определяется круг объектов, к которым он имеет права доступа.
Меры по поЭЭержанию работоспособности компьютерный систем
Наряду с мерами поддержания политики безопасности информации, предоставляемыми стандартным аппаратным и программным обеспечением, любой пользователь, особенно начинающий, должен соблюдать ряд простых правил, которые избавят его от потери важной для него информации при случайных сбоях или авариях аппаратуры, разрушения программ и данных из-за ошибок в работе самого пользователя или администратора. Недооценка фактора безопасности в повседневной работе приводит к тяжелым последствиям, связанным с потерей или нарушением конфиденциальности информации. Правила проведения повседневных мероприятий администратором системы и пользователем для предотвращения случайных сбоев или утраты информации можно сформулировать так:
администратор должен организовать поддержку пользователей при решении возникающих у них проблем, выявляя при этом общие вопросы, связанные с безопасностью и указывая пользователям способы их решения;
администратор должен следить за целостностью программного обеспечения, установленного на компьютерной системе, и ограничивать возможности самостоятельной установки пользователями дополнительных программ, которые могут содержать вредоносные коды, следить за изменением файлов программ, для чего периодически запускать утилиты, проверяющие целостность файлов программных кодов;
пользователь должен иметь возможность проводить резервное копирование своих данных, которые могут понадобиться для восстановления данных после аварии; резервные копии необходимо сохранять на съемных носителях или других внешних носителях с ограниченным правом доступа;
каждая компьютерная система должна быть в обязательном по рядке снабжена источником бесперебойного питания, предотв- ■ ращающего потерю информации при кратковременных перебоях с энергоснабжением,
Способы u cpedcmBo нарушения консриЭенииальности информаиии
ОсноВные метоЭы реализаиии угроз информационной безопасности
К основным направлениям реализации злоумышленником информационных угроз на локальной, изолированной или включенной в сеть КС можно отнести следующие:
Непосредственное обращение к объектам доступа. Злоумышленник пытается войти в систему, используя подсмотренный полностью или частично пароль легального пользователя; пытается получить доступ к объектам (файлам, сетевым портам и др.), надеясь на ошибки в политике безопасности.
Создание программных и технических средств, выполняющих обращение к объектам доступа. Злоумышленник, получив в свое распоряжение файл паролей с помощью программ, осуществляющих | перебор паролей, пытается его расшифровать; использует программы, просматривающие содержимое жестких дисков, с целью получения информации о незащищенных каталогах и файлах, имена таких файлов программа фиксирует; использует в сети со связью по модему программы, выполняющие автодозвон и фиксирующие номера ответивших узлов, а затем программы, прослушивающие сетевые, порты для определения открытого порта; в локальной сети применяет программы перехвата и сохранения всего трафика сети.
Модификация средств защиты, позволяющая реализовать угрозы информационной безопасности. Злоумышленник, получив при ва доступа к подсистеме защиты, подменяет некоторые ее файлы с целью изменения реакции подсистемы на права доступа к объектам,
расширяя права легальных пользователей или предоставляя права нелегальным пользователям.
Внедрение в технические средства программных или технических механизмов, нарушающих структуру и функции КС. Злоумышленник, на этапе разработки или модернизации технических средств КС, внедряет аппаратуру или изменяет программы, содержащиеся в постоянном запоминающем устройстве КС, которые, наряду с полезными функциями, выполняют некоторые функции НСД к информации, например, сбор сведений о паролях или считывание, сохранение и передача данных, оставшихся в оперативной памяти после завершения работы приложения; использует недостатки охраны КС и подключает дополнительные устройства, например, клавиатурные шпионы, которые позволяют перехватывать пароли и конфиденциальную информацию и, в зависимости от сложности устройства, позволяет их сохранять в собственной памяти или передавать по радиоканалу.
Получение доступа к информации обычно осуществляется злоумышленником в несколько этапов. На первом этапе решаются задачи получения тем или иным способом доступа к аппаратным и программным средствам КС. На втором этапе решаются задачи внедрения аппаратных или программных средств с целью хищения программ и данных.
Основные методы, применяемые злоумышленником для получения НСД к информации, состоят в определении:
типов и параметров носителей информации;
архитектуры, типов и параметров технических средств КС, версии операционной системы, состава прикладного программного обеспечения;
основных функций, выполняемых КС;
средств и способов защиты;
способов представления и кодирования информации.
После решения задач определения параметров системы злоумышленник переходит к этапу получения сведений о режимах доступа, паролях и сведений о пользователях системы. Для этого он пытается получить доступ к использованным расходным материалам и сменным носителям:
съемные носители информации, содержащие секретную информацию;
визуальное наблюдение или съемка экранов терминалов, анализ распечаток и отходов работы графопостроителей и т.д.;
перехват побочных электромагнитных и звуковых излучений и наводок по цепям питания.
Получив доступ к КС или возможность входа в систему, злоумышленник, в зависимости от преследуемых целей, среди которых можно выделить получение секретной информации, искажение секретных данных, нарушение работы системы, предпринимает следующие действия:
несанкционированный доступ к информации;
перехват данных по каналам связи;
изменение архитектуры КС, путем установки дополнительных перехватывающих устройств или замены отдельных узлов на специальные, содержащие возможность проводить несанкционированные действия в КС, например, установка клавиатурных шпионов, перепрограммирование ПЗУ, установка сетевых карт, способных фиксировать и сохранять или искажать проходящие через них пакеты;
уничтожение машинных носителей информации;
внесение искажений в программные компоненты КС;
внедрение дезинформации;
раскрытие способов представления информации и ключей шифрования;
изменение доступа к информации.
Типичные приемы атак на локальные и удаленные компьютерные системы
Сканирование файловой системы. Злоумышленник пытается просматривать файловую систему и прочесть, скопировать или удалить файлы. Если доступ к файлу закрыт, сканирование продолжается. Если объем файловой системы велик, то рано или поздно обнаружится хотя бы одна ошибка администратора. Такая атаки проводится с помощью специальной программы, которая выполняет эти действия в автоматическом режиме.
Кража ключевой информации. Пароль может быть подсмотрен по движению рук на клавиатуре или снят видеокамерой. Некоторые программы входа в КС удаленного сервера допускают набор пароля в командной строке, где пароль отображается на экране, а иногда для ввода используются пакетные файлы для упрощения входа в ОС. Кража такого файла компрометирует пароль. Известны случаи, когда для кражи пароля использовался Съем'отпечатков пальцев пользователя с клавиатуры. Кража внешнего носителя с ключевой информацией: диски или Touch Memory
Сборка мусора. Информация, удаляемая пользователем, не удаляется физически, а только помечается к удалению и помещается в сборщик мусора. Если получить доступ к этой программе, можно получить и доступ к удаляемым файлам. Сборка мусора может осуществляться и из памяти. В этом случае программа, запускаемая злоумышленником, выделяет себе всю допустимо возможную память и читает из нее информацию, выделяя заранее определенные ключевые слова.
Превышение полномочий. Используя ошибки в системном программном обеспечении и/или политики безопасности, пользователь пытается получить полномочия, превышающие те, которые были ему выделены. Это воздействие может быть также результатом входа в систему под именем другого пользователя или заменой динамической библиотекой, которая отвечает за выполнение функций идентификации пользователя.
Программные закладки. Программы, выполняющие хотя бы одно из следующих действий:
внесение произвольных искажений в коды программ, находящихся в оперативной памяти (программная закладка первого типа);
перенос фрагментов информации из одних областей оперативной или внешней памяти в другие (программная закладка второго типа);
искажение информации, выводимой другими программами на внешние устройства или каналы связи (программная закладка третьего типа).
Жадные программы. Программы, преднамеренно захватывающие значительную часть ресурсов КС, в результате чего другие программы работают значительно медленнее или не работают вовсе. Часто запуск такой программы приводит к краху ОС.
Атаки на отказ в обслуживании (deny-of-service — DoS). Атаки DoS являются наиболее распространенными в компьютерных сетях и сводятся к выведению из строя объекта, а не к получению несанкционированного доступа. Они классифицируются по объекту воздействия:
перегрузка пропускной способности сети — автоматическая генерация, возможно, из нескольких узлов, большого сетевого трафика, которое полностью занимает возможности данного узла;
перегрузка процессора —■ посылка вычислительных заданий или запросов, обработка которых превосходит вычислительные возможности процессора узла;
занятие возможных портов — соединяясь с портами сервисов узла, занимает все допустимое число соединений на данный порт, з
Такие атаки могут быть обнаружены и устранены администратором путем выдачи запрета на прием пакетов от данного источника. Чтобы лишить администратора узла этой возможности, атака идет с множества узлов, на которые предварительно внедряется вирус. Вирус активизируется в определенное время, производя DoS-атаку. Этот тип атаки получил название DDoS (Distributed DoS).
Атаки маскировкой. Маскировка — общее название большого класса сетевых атак, в которых атакующий выдает себя за другого пользователя. Если существенные права получают процессы, инициируемые доверенными хостами (т.е. пакеты с адресом доверенного источника пропускаются без применения к ним ограничйвающих правил), то достаточно указать доверенный адрес отправителя, и он будет пропущен.
Атаки на маршрутизацию. Для достижения узла — жертвы в таких атаках применяется изменение маршрута доставки пакета. Каждый путь может иметь свои права доступа, узел может по-раз-j ному реагировать на пакеты, поступившие различными путями. Поэтому интерес злоумышленника распространяется не только на сам атакуемый узел, но и на промежуточные пункты — маршрутизаторы.
Прослушивание сети (sniffing). Различают межсегментный и внутрисегментный сниффинг. В первом случае устройство подслушивания должно быть размещено у входа или выхода взаимодействующих узлов или у одного из транзитных узлов. Для защиты от прослушивания, в основном, используются средства шифрования. При внутрисегментном прослушивании в равноранговой сети с общей шиной (Ethernet), В качестве прослушивающего устройства может использоваться одна из КС сети. Для организации прослушивании необходимо, с помощью программы-сниффера, перевести режим Ethernet-карты в «неразборчивый режим», когда карта принимает не только пакеты со своим сетевым адре90М, но и все, проходящие по сети пакеты. Для борьбы со снифферами используются сниффер-детектор. Принцип его работы заключается в формировании пакета с некорректным сетевым адресом, который должен быть проигнорирован всеми узлами сети. Та КС, которая примет такой пакет, должна быть проверена на наличие сниффера.
ОсноВы npomuBo0eCicm0uci нарушению конфиденциальности инсрормаиии
Требования безопасности определяют набор средств защиты КС на всех этапах ее существования? от разработки спецификации на проектирование аппаратных и программных средств до их списания. Рассмотрим комплекс средств защиты КС на этапе ее эксплуатации.
На этапе эксплуатации основной задачей защиты информации в КС является предотвращение НСД к аппаратным и программным средствам, а также контроль целостности этих средств. НСД может быть предотвращен или существенно затруднен при организации следующего комплекса мероприятий:
идентификация и аутентификация пользователей;
мониторинг несанкционированных действий — аудит;
разграничение доступа к КС;
криптографические методы сокрытия информации;
защита КС при работе в сети.
При создании защищенных КС используют фрагментарный и комплексный подход. Фрагментарный подход предполагает последовательное включение в состав КС пакетов защиты от отдельных классов угроз. Например, незащищенная КС снабжается антивирусным пакетом, затем системой шифрования файлов, системой регистрации действий пользователей и т.д. Недостаток этого подхода в том, что внедряемые пакеты, произведенные, как правило, различными пользователями, плохо взаимодействуют между собой и могут вступать в конфликты друг с другом. При отключении злоумышленником отдельных компонентов защиты остальные продолжают работать, что значительно снижает ее надежность.
Комплексный подход предполагает введение функций защиты в КС на этапе проектирования архитектуры аппаратного и системного программного обеспечения и является их неотъемлемой частью^ Однако, учитывая вероятность появления новых классов угроз, модули КС, отвечающие за безопасность, должны иметь возможность заменены их другими, поддерживающими общую концепцию защиты.
Организация надежной защиты КС невозможна с помощью только программно-аппаратных средств. Очень важным является административный контроль работы КС. Основные задачи администратора по поддержанию средств защиты заключаются в следующем:
постоянный контроль корректности функционирования КС и ее защиты;
регулярный просмотр журналов регистрации событий;
организация и поддержание адекватной политики безопасности;
инструктирование пользователей ОС об изменениях в системе защиты, правильного выбора паролей и т.д.;
регулярное создание и обновление резервных копий программ и данных;
постоянный контроль изменений конфигурационных данных и политики безопасности отдельных пользователей, чтобы вовремя выявить взлом защиты КС.
Рассмотрим подробнее наиболее часто используемые методы защиты и принципы их действия.
МетоЭы разграничения Эоступа
При организации доступа субъектов к объектам выполняются следующие действия:
идентификация и аутентификация субъекта доступа;
проверка прав доступа субъекта к объекту;
ведение журнала учета действий субъекта.
USeHmuqpuKouua и аутентисрикаиия пользователей
При входе в КС, при получении доступа к программам и конфиденциальным данным субъект должен быть идентифицирован и аутентифицирован. Эти две операции обычно выполняются вместе, т.е., пользователь сначала сообщает сведения, позволяющие выделить его из множества субъектов (идентификация), а затем сообщает секретные сведения, подтверждающие, что он тот, за кого себя выдает.
Иногда проводится дополнительно авторизация субъекта, под которой понимается создание программной среды для его работы. Но основными средствами обеспечения безопасности являются идентификация и аутентификация.
Обычно данные, идентифицирующие пользователя, не засекречены, но для усложнения проведения атак по НСД желательно хранить эти данные в файле, доступ к которому возможен только администратору системы.
Для аутентификации субъекта чаще всего используются атрибутивные идентификаторы, которые делятся на следующие категории:
пароли;
съемные носители информации;
электронные жетоны;
пластиковые карты;
механические ключи.
Паролем называют комбинацию символов, которая известна только владельцу пароля или, возможно, администратору системы безопасности. Обычно пароль вводится со штатной клавиатуры после включения питания. Возможен ввод пароля с пульта управления или специального наборного устройства. При организации парольной защиты необходимо выполнять следующие рекомендации:
Пароль необходимо запоминать, а не записывать.
Длина пароля должна быть не менее девяти символов.
Пароли должны периодически меняться.
В КС должны фиксироваться моменты времени успешного получения доступа и неудачного ввода пароля. Информация о попытках неверного ввода пароля должны подвергаться статистической обработке и сообщаться администратору.
Пароли должны храниться в КС так, чтобы доступ к ним был затруднен. Это достигается двумя способами:
пароли хранятся в специальном ЗУ, запись в которое осуществляется в специальном режиме;
пароли подвергаются криптографическому преобразованию (шифрованию).
При вводе пароля не выдавать никаких сведений на экран, чтобы затруднить подсчет введенных символов.
Не использовать в качестве паролей имена и фамилии, дни рождения и географические или иные названия. Желательно менять при вводе пароля регистры, использовать специальные символы, набирать русский текст на латинском регистре, использовать парадоксальные сочетания слов.
В настоящее время аппаратура КС поддерживает ввод пароля до начала загрузки операционной системы. Такой пароль хранится в энергонезависимой памяти и обеспечивает предотвращение НСД до загрузки любых программных средств. Этот пароль считается эффективным средством, если злоумышленник не имеет доступа к аппаратуре КС, так как отключение внутреннего питания сбрасывает этот пароль.
Другие способы идентификации (съемные носители, карты и др.) предполагают наличие технических средств, хранящих идентификационную информацию. Съемный носитель, содержащий идентификационную информацию — имя пользователя и его пароль, находится у пользователя КС, которая снабжена устройством для считывания информации с носителя.
Для идентификации и аутентификации часто используется стандартный гибкий диск или флэш-память. Достоинства такого идентификатора заключаются в том, что не требуется использования дополнительных аппаратных средств и кроме идентификационного кода на носителе может храниться и другая информация, например, контроля целостности информации, атрибуты шифрования и др.
Иногда, для повышения уровня защищенности, используются специальные переносные электронные устройства, подключаемые, например, к стандартным’ входам КС. К ним относится электронный жетон-генератор — прибор, вырабатывающий псевдослучайную символьную последовательность, которая меняется примерно раз в минуту синхронно со сменой такого же слова в КС. Жетон используется для однократного входа в систему. Существует другой тип жетона, имеющего клавиатуру и монитор. В процессе идентификации КС выдает случайную символьную последовательность, которая набирается на клавиатуре жетона, по ней на мониторе жетона формируется новая последовательность, которая вводится в КС как пароль.
К недостатку способа идентификации и аутентификации с помощью дополнительного съемного устройства можно отнести возможность его потери или хищения.
Одним из надежных способов аутентификации является биометрический принцип, использующий некоторые стабильные биометрические показатели пользователя, например, отпечатки пальцев, рисунок хрусталика глаза, ритм работы на клавиатуре и др. Для снятия отпечатков пальцев и рисунка хрусталика требуются специальные устройства, которые устанавливаются на КС высших уровней защиты. Ритм работы при вводе информации проверяется на штатной клавиатуре КС и, как показывают эксперименты, является вполне стабильным и надежным. Даже подглядывание за работой пользователя при наборе ключевой фразы не дает гарантии идентификации злоумышленника при его попытке повторить все действия при наборе фразы.
МетоЗы ограничения боступа к информации
В модель информационной безопасности введены определения объекта и субъекта доступа. Каждый объект имеет некоторые операции, которые над ним может производить субъект доступа, и которые могут быть разрешены или запрещены данному субъекту или множеству субъектов. Возможность доступа обычно выясняется на уровне операционной системы КС и определяется архитектурой операционной системы и текущей политикой безопасности. Для удобства описания методов и средств разграничения доступа субъектов к объектам введем некоторые понятия.
Метод доступа к объекту — операция, определенная для данного объекта. Ограничение доступа к объекту связано именно с ограничением возможных методов доступа.
Владелец объекта — субъект, которому принадлежит (создан им) объект и который несет ответственность за конфиденциальность содержащейся в объекте информации, а также за доступ к объекту.
Право доступа к объекту — право на доступ к объекту по одному или группе методов доступа.
Разграничение доступа — совокупность правил, определяющая для каждой тройки субъект—объект—метод наличие или отсутствие права доступа по указанному методу.
Существует несколько моделей разграничения доступа. Наиболее распространенными являются:
14. Информатика
дискреционная модель разграничения доступа;
полномочная (мандатная) модель разграничения доступа. Дискреционная модель, или избирательное разграничение доступа, характеризуется следующим набором правил:
для любого объекта существует владелец;
владелец может произвольно ограничивать доступ субъектов к данному объекту;
для каждой тройки субъект—объект—метод возможность доступа определена однозначно;
существует хотя бы один привилегированный пользователь (администратор), имеющий возможность обратиться к любому объекту по любому методу доступа.
В этой модели для определения прав доступа используется матрица доступа, строки которой — субъекты, а столбцы — объекты. В каждой ячейке хранится набор прав доступа данного субъекта к данному объекту. Типичный объем матрицы доступа для современной операционной системы составляет десятки мегабайт.
Полномочная (мандатная) модель характеризуется следующим набором правил:
каждый объект имеет гриф секретности. Чем выше его числовое значение, тем секретнее объект;
каждый субъект доступа имеет уровень допуска.
Допуск субъекта к объекту в этой модели разрешен только в том случае, если субъект имеет значение уровня допуска не менее, чем значение грифа секретности объекта. Достоинством этой модели является отсутствие необходимости хранить большие объемы информации о разграничении доступа. Каждый субъект хранит только значение своего уровня доступа, а каждый объект — значение своего грифа секретности.
Отметим, что политика безопасности такой популярной операционной системы, как Windows ХР, поддерживает обе модели разграничения прав доступа.
МетоЭы мониторинга несанкционированным ЗейстВий
Политика безопасности предполагает контроль за работой КС и ее компонентов, который заключается в фиксировании и последующим анализе событий в специальных журналах — журналах аудита.
Периодически журнал просматривается администратором операционной системы или специальным пользователем — аудитором, которые анализируют сведения, накопленные в нем.
Если обнаружится.успешная атака, то очень важно выяснить, когда и как она была проведена, не исключено, что это можно будет сделать по журналу аудита.
К подсистеме аудита предъявляются следующие требования:
Только сама КС может добавлять записи в журнал аудита. Это
исключит возможность компрометации аудитором других пользователей. *
Ни один субъект доступа, в том числе и сама КС, не может редактировать или удалять записи в журнале.
Журнал могут просматривать только аудиторы, имеющие соответствующую привилегию.
Только аудиторы могут очищать журнал. После очистки в него обязательно вносится запись о времени и имени пользователя, очистившего журнал. Должна поддерживаться страховая копия журнала, создаваемая перед очисткой. При переполнении журнала операционная система прекращает работу и дальнейшая работа может осуществляться до очистки журнала только аудитором.
Для ограничения доступа должны применяться специальные средства защиты, которые предотвращают доступ администратора и его привилегии по изменению содержимого любого файла. Желательно страховую копию журнала сохранять на WORM-CD,
исключающих изменение данных.
Для обеспечения надежной защиты операционной системы в журнале должны регистрироваться следующие события:
попытки входа/выхода пользователей из системы;
попытки изменения списка пользователей;
попытки изменения политики безопасности, в том числе и политики аудита.
Окончательный выбор набора событий, фиксируемых в журнале, возлагается на аудитора и зависит от специфики информации, обрабатываемой системой. Слишком большой набор регистрируемых событий не повышает безопасность, а уменьшает, так как среди множества записей можно просмотреть записи, представляющие угрозы безопасности.
Криптографические методы зашиты данным
Основные приниипы криптографии
Криптографические методы являются наиболее эффективными средствами защиты информации в КС, при передаче же по протяженным линиям связи они являются единственным реальным средством предотвращения несанкционированного доступа к ней. Метод шифрования характеризуется показателями надежности и трудоемкости. .
Важнейшим показателем надежности криптографического закрытия информации является его стойкость — тот минимальный объем зашифрованного текста, который можно вскрыть статистическим анализом. Таким образом, стойкость шифра определяет допустимый объем информации, зашифровываемый при использовании одного ключа.
Трудоемкость метода шифрования определяется числом элементарных операций, необходимых для шифрования одного символа исходного текста.
Основные требования к криптографическому закрытию информации:
Сложность и стойкость криптографического закрытия данных должны выбираться в зависимости от объема и степени секретности данных.
Надежность закрытия должна быть такой, чтобы секретность не нарушалась даже в том случае, когда злоумышленнику становится известен метод шифрования.
Метод закрытия, набор используемых ключей и механизм их распределения не должны быть слишком сложными.
Выполнение процедур прямого и обратного преобразований должно быть формальным. Эти процедуры не должны зависеть от длины сообщений.
Ошибки, возникающие в процессе преобразования, не должны распространяться по всему тексту.
Вносимая процедурами защиты избыточность должна быть минимальной.
На рис. 8.1 показана схема основных методов криптографичес-
Рис.
8.1. Классификация основных методов
криптографического закрытия
кого закрытия информации. Некоторые из этих методов рассмотрены ниже.
ШисрроВание заменой (поЗстаноВка)
Наиболее простой метод шифрования. Символы шифруемого текста заменяются другими символами, взятыми из одного (моноал^ фавитная подстановка) или нескольких (полиалфавитная подстановка) алфавитов.
Наиболее простой метод — прямая замена символов шифруемого сообщения другими буквами того же самого или другого алфавита. Таблица замены может иметь вид:
Шифруемые символы |
Заменяющие символы |
А |
м |
Б |
л |
В |
д |
|
|
Однако такой шифр имеет низкую стойкость. Зашифрованный текст имеет те же самые статистические характеристики, что и исходный, поэтому, используя частотный словарь появления символов в том языке, на котором написано сообщение, и подбирая по частотам появления символы в зашифрованном сообщении, можно восстановить таблицу замены. Для этого требуется лишь достаточно длинный зашифрованный текст, для того, чтобы получить достоверные оценки частот появления символов. Поэтому простую замену используют лишь в том случае, когда шифруемое сообщение достаточно коротко.
Использование Полиалфавитных подстановок повышает стойкость шифра. Для замены символов используются несколько алфавитов, причем смена алфавитов проводится последовательно и циклически: первый символ заменяется соответствующим символом первого алфавита, второй — из второго алфавита и т.д., пока не будут исчерпаны все алфавиты. После этого использование алфавитов повторяется.
ШифроВоние методом перестановки
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Этот алгоритм можно представить так:
Выбирается размер блока шифрования: т строк и п столбцов.
Выбирается ключ шифра - последовательность, которая формируется из натурального ряда 1, 2,..., п случайной перестановкой.
Шифруемый текст записывается последовательными строками под числами ключевой последовательности, образуя блок шифрования размером п х ш.
Зашифрованный текст выписывается колонками в последовательности возрастания номеров колонок, задаваемых номерами ключевой последовательности.
Заполняется новый блок и т.д.
Дешифрование выполняется в следующем порядке.
Выделяем блок символов размером п х т.
Разбиваем его на я групп по т символов и записываем их в те столбцы таблицы перестановки, номера которых совпадают с номерами групп в блоке.
Расшифрованный текст читается по строкам таблицы перестановки.
Выделяем новый блок символов и т.д.
Например, необходимо зашифровать текст «Абсолютно надежной защиты нет».
Выберем блок размером 4 х 8 и ключ 5-8-1-3-7-4-6:2.
Блок имеет вид:
5 |
8 |
l' |
3 |
7 |
4 |
6 |
2 |
А |
б |
с |
О |
л |
ю |
т |
н |
О |
|
н |
а |
д |
ё |
ж |
н |
О |
й |
|
3 |
а |
Щ |
и |
т |
ы |
|
н |
Е |
т |
|
|
|
Зашифрованный текст выглядит так: «сн нннтоазеюёщ Аооытжи лдатб й».
МетоЭы шифрования, используюшие ключи
Эти методы предполагают знание ключа при шифровании и дешифровании. При этом важной задачей является безопасная передача ключа, который при этом обычно тоже шифруется. Учитывая короткую длину фразы, содержащей ключ, стойкость шифра ключа значительно выше, чем у основного текста.
Системы с открытым ключом. Наибрлее перспективными системами криптографической защиты данных в настоящее время являются системы с открытым ключом. В таких системах для шифрования данных используется один ключ, а для дешифрования — другой. Первый ключ не является секретным и может быть опубликован для использования всеми пользователями системы, которые шифруют данные. Для дешифрования данных получатель использует второй ключ, который является секретным. Ключ дешифрования не может быть определен из ключа шифрования. В настоящее время наиболее развитым методом криптографической защиты информации с открытым ключом является алгоритм RSA.
Методы, которые используют для шйфрования и дешифрования один и тот же ключ, называются симметричными. В отличие от них методы с открытым ключом называются асимметричными методами криптозащиты.
использование кэш-функиий
Функции хэширования широко используются для шифрования паролей пользователей КС и при создании электронной подписи. Они отображают сообщение любой длины в строку фиксированного размера. Особенностью ее применения является тот факт, что не существует функции, которая могла бы по сжатому отображению восстановить исходное сообщение, — это односторонняя хэш-функция.
Получив в свое распоряжение файл, хранящий пароли пользователей, преобразованные хэш-функцией, злоумышленник не имеет возможности получить по ним сами пароли, а должен перебирать парольные комбинации символов, применять к ним хэш-функцию и проверять на соответствие полученной строки и строки из файла хэшированных паролей. Эта работа затрудняется тем, что ему неизвестна и длина пароля, по которому хэш-функцией получено отображение.
Электронной иисрробоя поЗпись
При обмене электронными документами очень важным является, установление авторства, подлинности и целостности информации в полученном документе. Решение этих задач возлагается на цифровую подпись, сопровождающую электронный документ. Функционально она аналогична обычной рукописной подписи и обладает ее основными достоинствами:
удостоверяет, что подписанный текст исходит от лица, поставившего подпись;
не дает лицу, подписавшему текст, отказаться от обязательств, связанных с подписанным текстом;
гарантирует целостность подписанного текста.
Электронная цифровая подпись представляет собой относительно небольшое количество дополнительной информации, передаваемой вместе с документом. Обычно цифровая подпись шифруется с применением методов открытого ключа и связывает содержимое документа, самой подписи и пары ключей. Изменение хотя бы одного из этих элементов делает невозможным подтверждение подлинности цифровой подписи.
На этапе формирования цифровой подписи генерируются два ключа: секретный и открытый. Открытый ключ рассылается всем абонентам, которым будет направлен электронный документ. Подпись, добавляемая к документу, содержит такие параметры отправителя, как дату подписи, информацию об отправителе письма и имя открытого ключа. С помощью хэш-функции, примененной ко всему документу, вычисляется небольшое число, характеризующее весь текст в целом. Это число, которое затем шифруется закрытым ключом, и является электронной цифровой подписью. Получателю пересылается сам документ в открытом виде и электронная подпись. При проверке цифровая подпись расшифровывается открытым ключом, известным получателю. К полученному открытому документу применяется преобразование хэш-функцией. Результат ее работы сравнивается с присланной электронной подписью. Если оба числа совпадают, то полученный документ — подлинный. Очевидно, что
любое несанкционированное действие по внесению изменений в документ приведет к изменению значения, вычисляемого хэш-фун- кцией по открытому документу, ^но подменить зашифрованную секретным ключом электронную подпись злоумышленнику будет очень трудно.
Зашита информации от компьютерный Вирусов
Определение и классификация ВирусоВ
Компьютерным вирусом называется программа, способная самостоятельно создавать свои копии и внедряться в другие программы, в системные области дисковой памяти компьютера, распространяться по каналам связи. Целью создания и применения программ-вирусов является нарушение работы программ, порчи файловых систем и компонентов компьютера, нарушение нормальной работы пользователей.
Компьютерным вирусам-характерны определенные стадии существования: пассивная стадия, в которой вирус никаких действий не предпринимает; стадия размножения, когда вирус старается создать как можно больше своих копий; активная стадия, в которой вирус переходит к выполнению деструктивных действий в локальной компьютерной системе или компьютерной сети.
В настоящее время существует тысячи различных вирусов, классификация которых Приведена на рис. 8.2.
По среде обитания ВирусоВ
Сетевые вирусы используют для своего распространения команды и протоколы телекоммуникационных сетей.
Файловые вирусы чаще всего внедряются в исполняемые файлы, имеющие расширение .ехе и сот, но могут внедряться и в файлы с компонентами операционных систем, драйверы внешних устройств,
Рис.
8.2. Классификация компьютерных вирусов
объектные файлы и библиотеки, в командные пакетные файлы. При запуске зараженных программ вирус на некоторое время получает управление и в этот момент производит запланированные деструктивные действия и внедрение в другие файлы программ.
Загрузочные вирусы внедряются в загрузочный сектор дискеты или в главную загрузочную запись жесткого диска. Такой вирус изменяет программу начальной загрузки операционной системы, запуская необходимые для нарушения конфиденциальности программы или подменяя, для этой же цели, системные файлы, в основном это относится к файлам, обеспечивающим доступ пользователей в систему.
(
Документные вирусы (макровирусы) заражают текстовые файлы редакторов или электронных таблиц, используя макросы, которые сопровождают такие документы. Вирус активизируется, когда документ загружается в соответствующее приложение.
По способу заражения среды обитания
Резидентные вирусы после завершения инфицированной программы остаются в оперативной памяти и продолжают свои деструктивные действия, заражая другие исполняемые программы, вплоть до выключения компьютера.
Нерезидентные вирусы запускаются вместе с зараженной программой и удаляются из памяти вместе с ней.
По алгоритмам функционирования
Паразитирующие — вирусы, изменяющие содержимое зараженных файлов. Эти вирусы легко обнаруживаются и удаляются из файла, так как имеют всегда один и тот же внедряемый программный код.
Троянские кони — вирусы, маскируемые под полезные программы, которые очень хочется иметь на своем компьютере. Наряду с полезными функциями, соответствующими устанавливаемой программе, вирус может выполнять функции, нарушающие работу системы, или собирать информацию, обрабатываемую в ней.
Вирусы-невидимки способны прятаться при попытках их обнаружения. Они перехватывают запрос антивирусной программы и либо временно удаляются из зараженного файла, либо подставляют вместо себя незараженные участки программы.
Мутирующие вирусы периодически изменяют свой программный код, что делает задачу обнаружения вируса очень сложной.
Для своевременного обнаружения и удаления вирусов необходимо знать основные признаки появления вирусов в компьютере. К таким признакам относятся:
отказ в работе компьютера или отдельных компонентов;
отказ в загрузке операционной системы;
замедление работы компьютера;
нарушение работы отдельных программ;
искажение, увеличение размера или исчезновение файлов;
уменьшение доступной программой оперативной памяти.
Способы зашиты от Вирусов
Для защиты от проникновения вирусов необходимо проводить мероприятия, исключающие заражение программ и данных компьютерной системы. Основными источниками проникновение вирусов являются коммуникационные сети и съемные носители информации.
Для исключения проникновения вирусов через коммуникационную сеть необходимо осуществлять автоматический входной контроль всех данных, поступающих по сети, который выполняется сетевым экраном (брандмауэром), принимающим пакеты из сети только от надежных источников, рекомендуется проверять всю электронную почту на наличие вирусов, а почту, полученную от неизвестных источников, удалять не читая.
Для исключения проникновения вирусов через съемные носители необходимо ограничить число пользователей, которые могут записывать на Жесткий диск файлы и запускать программы со съемных носителей. Обычно это право дается только администратору системы. В обязательном порядке при подключении съемного носителя следует проверять его специальной антивирусной программой.
Классисрикаиия антивирусный сребстВ
Для обнаружения и удаления компьютерных вирусов разработано много различных программ, которые можно разделить на детекторы, ревизоры, фильтры, доктора и вакцины. Детекторы осуществляют поиск компьютерных вирусов в памяти и при обнаружении сообщают об этом пользователю. Ревизоры выполняют значительно более сложные действия для обнаружения вирусов. Они запоминают исходное состояние программ, каталогов, системных областей и периодически сравнивают их с текущими значениями. При изменении контролируемых параметров ревизоры сообщают об этом пользователю. Фильтры выполняют выявление подозрительных процедур, например, коррекция исполняемых программ, изменение загрузочных записей диска, изменение атрибутов или размеров файлов и др.
При обнаружении подобных процедур фильтры запрашивают пользователя о правомерности их выполнения. Доктора являются самым распространенным типом антивирусных программ. Эти программы не только обнаруживают, но и удаляют вирусный код из файла — «лечат» программы. Доктора способны обнаружить и удалить только известные им вирусы, поэтому их необходимо периодически, обычно раз в месяц, обновлять. Вакцины — это антивирусные программы, которые так модифицируют файл или диск, что он воспринимается программой-вирусом уже зараженным и поэтому вирус не внедряется.
Современные антивирусные решения обладают всеми означенными механизмами и постоянно добавляют новые средства борьбы с вредоносными программами.
Популярные антивирусные среЭстВа
Среди наиболее популярных у рбссийских пользователей антивирусных, пакетов назовем программы: 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,
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 Информационный процесс
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,
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