Вы находитесь на странице: 1из 483
Oracle Press T M Организация Издательство "Лори" работы в сети Как

Oracle Press TM

Организация

Издательство

"Лори"

работы

в

сети

Как построить

сеть OracleS/

Марлен Терьо

Соавтор "OracleSi: Настольная книга администратора" и "Oracle101: Настольная книга администратора"

Рассматриваются 8.1.5 и 8.1.6

версии

ORACLe
ORACLe

Oracle Press TM

ORACLe Oracle Press T M OracleS/ Networking 101 Marlene L. Theriault Osborne/McGraw-Hill Berkeley New York St.

OracleS/ Networking 101

Marlene L. Theriault

Osborne/McGraw-Hill
Osborne/McGraw-Hill

Berkeley New York St. Louis San Francisco Auckland Bogota Hamburg London Madrid Mexico City Milan Montreal New Delhi Panama City Paris Sao Paulo Singapore Sydney Tokyo Toronto

101

OracleS/ Организация работы в сети

Марлен Терьо

Издательство "ЛОРИ"

OracleSz Networking 101 Marlene L. Theriault Copyright 2000 All rights reserved

Osborne/McGraw-Hill 2600 Tenth Street Berkeley, California 94710 U.S.A.

Copyright © 2000 by The McGraw-Hill Companies. All rights reserved. Except as permitted under the Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher, or stored in a database or retrieval system without the prior written permission. ISBN 0-07-212517-9

101

OracleSz Организация работы в сети Марлен Терьо Переводчик Т.Москалев Научный редактор А.Головко Корректор И.Гришина Верстка М.Алиевой

©

Издательство "ЛОРИ", 2001

Изд. N : OAI (03)

ЛР N : 070612

ISBN 5-85582-138-2

N : OAI (03) ЛР N : 070612 ISBN 5-85582-138-2 30.09.97 г. Подписано в печать 25.10.2001

30.09.97 г.

Подписано в печать 25.10.2001 Формат 70x100/16 Бумага офсет N1 Гарнитура Нью-Баскервиль Печать офсетная Печ. л. 30 Тираж 320<) IIK. 726 Цена договорная

320<) IIK. 726 Цена договорная Издательство "ЛОРИ". Москва,

Издательство "ЛОРИ". Москва, 123557 Б. Тишинский пер., д. 40, корп. 2 Телефон для оптовых покупателей: (095)259-01-62 WWW.LORY-PRESS.RU

покупателей: (095)259-01-62 WWW.LORY-PRESS.RU Отпечатано в типографии ООО

Отпечатано в типографии ООО "Типография ИПО профсоюзов Профиздат" 109044, Москва, ул. Крутицкий вал д. 18

ИПО профсоюзов Профиздат" 109044, Москва, ул. Крутицкий вал д. 18

Япосвящаю эту книгу моемумужуНельсонуКэхиллу, сынуМаркуТудмену, моейматериЛилиан Сигель, тете МоллиРоббинс ивсем тем, кто когда-нибудь тратил более одного часа на устранение проблемы с сетью Oracle.

Об авторе

Марлен Терьо занимается администрированием баз данных Oracle более 18 лет и работала со всеми РСУБД Oracle, начиная с версии 2.0. Она являет- ся соавтором книг "OracleSi: Настольная книга администратора" вместе с Кевином Луни (по лицензии Oracle Press издательство "Лори", 2001 г.), "101 Oracle: Настольная книга администратора" вместе с Рэчел Кармайкл и Джеймсом Вискузи (по лицензии Oracle Press издательство "Лори", 2001 г.) и "Oracle Security" вместе с Вильямом Хини. Она принимала участие в ряде международных конференций. Ей были присуждены премии "Лучшая пользовательская презентация" на EOUG'99 (за презентацию на EOUG'98), "Блестящий докладчик" на ЕСО'98 и "Выдаю- щийся докладчик" на ЕСО'95 и ЕСО'96. М. Терьо занимает должность пред- седателя Среднеатлантической ассоциации профессионалов Oracle (МАОР) и ведет рубрику "Ask the DBA" в бюллетене МАОР. С ней можно связаться по адресу mtheriault@mindspring.com.

в бюллетене МАОР. С ней можно связаться по адресу mtheriault@mindspring.com.

1

2

3

Содержание

Часть I

Изучаем основы

Обзор сетевых технологий

3
3
Краткая история сетевых коммуникаций Телефонная сеть
Краткая история сетевых коммуникаций
Телефонная сеть
Компьютерная сеть
.
.
. 4
,
.
.
.
.
.
. :.
.
.
,->.-,.
.
.
6
,.-
.
»,
.
.
.
.
.
7
(
Базовые сетевые конфигурации и средства
Различные типы сетей.
.
.
.
.
.
.
.
16
16
Сетевая топология
21
Передача данных по сети
Взаимодействие открытых систем
Стандарты в действии
Эталонные модели SNA и TCP/IP
.2 4
27
28
34
Сетевые компоненты Oracle
39
Немного истории
Появление SQL'Net
40
42
Базовая архитектура
Требования к аппаратуре
Компонентные уровни
Протоколы Oracle
Коммуникационные стеки, используемые Oracle
Процессы выделенных серверов
Процессы многопоточного сервера
Соединения Bequeath
Связи баз данных
43
44
44
45
48
53
55
58
59
Глобальное именование
59
Создание связи базы данных
61
Разделяемые связи баз данных
67
Компоненты Net8
69
Компоненты и параметры Net8
Установление соединения
70
71
Listener, ora
72
Утилита Listener Control (Isnrctl)
Tnsnames.ora
82
87
yiii
yiii

Содержание

Sqlnet.ora Введение в SNMP 93 94 Взгляд изнутри Oracle Enterprise Manager и Intelligent
Sqlnet.ora
Введение в SNMP
93
94
Взгляд изнутри
Oracle Enterprise Manager и Intelligent Agent
Обзор OEM
94
95
96
4 Сервер имен Oracle
99
Общие сведения
101
Различные сетевые архитектуры .
Трансляция сетевых имен
101
102
Сервер имен Oracle .
.
.
*;.-.
105
Получение информации о соединении
Множественные серверы имен Oracle
Хранение данных имен Oracle
105
106
108
Модели именования Oracle
114
Конфигурирование сервера имен Oracle
Запуск сервера имен Oracle
Об открытиях
Новые возможности, доступные в Net8
Утилита Names Control (namesctl)
Команды Namesctl
119
125
127
127
128
130
5 Интернет-каталог Oracle
135
Различные виды каталогов
Каталог базы данных
136
137
Серверы каталогов LD АР
Модели LDAP
139
141
Обзор Интернет-каталога Oracle
Записи, атрибуты и объектные классы .
Интернет-каталог Oracle и Net8
Компоненты Интернет-каталога Oracle
147
147
154
154
Установка Интернет-каталога Oracle 157 Инструменты Интернет-каталога
Установка Интернет-каталога Oracle 157
Инструменты Интернет-каталога Oracle
Инструменты командной строки
Менеджер OID
159
159
163
6 Планирование сети
167
Создание плана сети
168
Вопросы
Вопросы управления
Сетевые вопросы
Серверные вопросы
Вопросы соединений
Вопросы резервного копирования и восстановления
169
169
176
179
182
185

Содержание

IX

Часть И конфигурирования

IX Часть И конфигурирования Инструменты 7 Net8 Assistant — опции

Инструменты

И конфигурирования Инструменты 7 Net8 Assistant — опции Local . 189 Базовые

7 Net8 Assistant — опции Local

.
.

189

Базовые сведения о Net8 Assistant Запуск Net8 Assistant Базовые возможности

Пункты раскрывающихся Навигатор Net8 Assistant Опции локальной конфигурации

Опции локальной конфигурации . . . . , . • • • • . . ,
. . . . , . • • • • . . , . .
.
.
.
.
,
.
.
.
,
.
.
.
.
.
.'
',
.".',.,
. 5> .^ л ^ л ,у
.
.
.
.
.
.",
.
,
•,
--;•
. , . . . . . .' ', .".',., . 5> .^ л ^ л
. , . . . . . .' ', .".',., . 5> .^ л ^ л
. , . . . . . .' ', .".',., . 5> .^ л ^ л
. , . . . . . .' ', .".',., . 5> .^ л ^ л
. , . . . . . .' ', .".',., . 5> .^ л ^ л
. , . . . . . .' ', .".',., . 5> .^ л ^ л

.

.

191

191

192

193

198

200

200

Конфигурирование профиля Конфигурирование имен служб

, Конфигурирование прослушивающих процессов

имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
имен служб , Конфигурирование прослушивающих процессов
 

.

.

.,

 

.

.

.

217

223

8 Net8 Assistant — опции Oracle Names Servers

8 Net8 Assistant — опции Oracle Names Servers

 

231

Создание и конфигурирование

серверов имен Oracle Создание нового сервера имен Oracle Управление сервером Управление данными Конфигурирование

сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant

9 Net8 Configuration Assistant

сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232
сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant 232

232сервером Управление данными Конфигурирование 9 Net8 Configuration Assistant

 

.

.

.

.

.

.

233

  234 241 246 253
  234 241 246 253
  234 241 246 253
 
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253
  234 241 246 253

234241 246 253

241234 246 253

246234 241 253

253

Обзор Net8 Configuration Assistant Конфигурирование прослушивающего процесса Конфигурирование методов именования Конфигурирование имен сетевых служб Конфигурирование доступа к службе каталога

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

254

 

.

.

.

.

256

 
    263 265
    263 265
    263 265
    263 265
 
    263 265
    263 265
    263 265
    263 265
    263 265
    263 265

263265

265263

,
,
 

.

.

.

.

.

.

.

272

10 Менеджер соединений

Обзор менеджера соединений Oracle Процессы менеджера соединений Oracle Концентрация соединений Управление доступом на уровне Net8 Мультипротокольная поддержка

доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера

менеджера

доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
доступом на уровне Net8 Мультипротокольная поддержка менеджера
 
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278
на уровне Net8 Мультипротокольная поддержка менеджера   277 278

277

278277

 
  279
  279
  279
  279
  279
  279
  279
  279

279 

279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280
279 280

279280

280279

. . . . . 282
. . . . . 282
. . . . . 282
. . . . . 282
. . . . . 282
.
.

.

.

.

.

282

Конфигурирование соединений Oracle

Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
 
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283
Конфигурирование соединений Oracle   283

283Конфигурирование соединений Oracle  

Cman.ora

Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283
Cman.ora 283

283Cman.ora

Конфигурирование концентрации соединений 287

концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование
концентрации соединений 287 Конфигурирование

Конфигурирование мультипротокольной поддержки

Конфигурирование мультипротокольной поддержки 288
Конфигурирование мультипротокольной поддержки 288

288Конфигурирование мультипротокольной поддержки

Конфигурирование

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

Конфигурирование управления доступом
 
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289
Конфигурирование управления доступом   289

289Конфигурирование управления доступом  

Утилита Connection Manager Control

Утилита Connection Manager Control
Утилита Connection Manager Control . . 290
Утилита Connection Manager Control . . 290
Утилита Connection Manager Control . . 290
Утилита Connection Manager Control . . 290
.
.
.
.
Утилита Connection Manager Control . . 290
Утилита Connection Manager Control . . 290
Утилита Connection Manager Control . . 290

290Утилита Connection Manager Control . .

Содержание

11 Поддержка больших сетей

Использование многопоточного

Использование многопоточного '•.". ' ".''.
Использование многопоточного '•.". ' ".''.
Использование многопоточного '•.". ' ".''.

'•.".' ".''.'"".'

Зачем нужен многопоточный сервер? Конфигурирование процессов многопоточного сервере Определение количества диспетчеров

.
.

295

297

298

301

304

Разрешение конфликтов, вызванных использованием MTS Использование объединения соединений, концентрации соединений и/или балансировки нагрузки на уровне

концентрации соединений и/или балансировки нагрузки на уровне

306

соединения

соединения
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
соединения . . . . 318
. .
. .
.
.

.

.

.

318

Предварительное создание выделенных

. Обзор предварительно создаваемых выделенных серверов . 320 Конфигурирование предварительно создаваемых

320

.

.

выделенных серверов 321 Г.-; • • ••.•-••;''"•'•• -:•. - ^
выделенных серверов
321
Г.-;
••.•-••;''"•'••
-:•. -
^
Часть HI
Сети Oracle и Интернет
? • -: ''" ;'
;
'
12
Прослушивающий процесс WebDB
325
Общие сведения о WebDB
326
Прослушивающий процесс и другие компоненты
Установка прослушивающего процесса WebDB
Перед началом установки
Последовательность установки
После установки
Запуск и останов прослушивающего процесса WebDB
Множественные виртуальные хосты
Доступ к статическим файлам
Параметры конфигурации
Диагностика проблем прослушивающего процесса WebDB
327
328
328
330
336
338
340
341
342
.
.
346
13
Усовершенствованные средства
безопасности Oracle
349
Обзор усовершенствованных средств безопасности
350
Язык компьютерной
безопасности
352
Обзор усовершенствованных средств безопасности Oracle.
Архитектура Oracle Advanced Security
. 355
360
Часть iV
Диагностика
14
Диагностика проблем Net8
369
Звонки в службу технической поддержки
Общие принципы диагностики
370
371

Содержание

Xi
Xi

Правила,

которым можно следовать

Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372
Правила, которым можно следовать 372

372

Локализацияпроблемы Журналы, файлы трассировки и сообщения об ошибках

Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках
Журналы, файлы трассировки и сообщения об ошибках . . . . 374 379

.

Журналы, файлы трассировки и сообщения об ошибках . . . . 374 379

.

Журналы, файлы трассировки и сообщения об ошибках . . . . 374 379

.

.

.

374

379

Запуск прослушивающего процесса Практическая отладка — шаг з а Руководство по диагностике наиболее

,
,
 

380

38 0

387

распространенных ошибок Файлы журналов и трассировки Net8 Изучение файлов журналов Изучение файлов трассировки

.

Net8 Изучение файлов журналов Изучение файлов трассировки . . . .
Net8 Изучение файлов журналов Изучение файлов трассировки . . . .

.

.

Net8 Изучение файлов журналов Изучение файлов трассировки . . . .

.

Net8 Изучение файлов журналов Изучение файлов трассировки . . . .
Net8 Изучение файлов журналов Изучение файлов трассировки . . . .
Net8 Изучение файлов журналов Изучение файлов трассировки . . . .
 

403

.

. . • , . . 404 408

.

. . • , . . 404 408
. . • , . . 404 408
. . • , . . 404 408

,

.

.

404

408

Приложения

А Параметры sqlnet.ora

413

В Параметры names.ога

427

Глоссарий

435

Благодарности

Как это ни странно, книги не пишутся сами по себе. Выходу книги в свет предшествует длительная работа большого числа людей. Некоторых из них я не видела и, возможно, никогда не увижу. Тем не менее я очень при- знательна им за помощь в подготовке этого издания. Я хотела бы поблагодарить множество людей за их поддержку. Весь персонал издательства Osborne достоин самой высокой оценки. Вы не смогли бы найти лучшего научного редактора, чем Джереми Джудсон; лучшего главного редактора, чем Скотт Роджерс; лучших сотрудников, чем Мэдху Прашер, Моника Фолтисс, Джудит Браун и Денис Грааб. Особой благодарности за оказанную помощь и поддержку заслужива- ют несколько человек из Oracle Corporation. Прежде всего это Эдвард Монтес, спонсор ассоциации МАОР DBA SIG. Он с готовностью отвечал на все мои вопросы и указывал мне на важные документы и адреса сайтов Oracle, когда я больше всего в них нуждалась. Эд — один из лучших со- трудников Oracle, которых мне когда-либо доводилось знать. Он добро- желателен, терпелив и всегда готов потратить время, чтобы помочь клиентам Oracle. Рискуя показаться чересчур эмоциональной, я должна сказать: "Эд, ты вызываешь у меня чувство глубочайшей признательности и доверия. Ты замечательный*" Я также благодарна Пьеру Бодину, Дэвиду Чену и сотрудникам возглавляемых ими групп, среди которых отдельного упоминания заслуживают Питер Повинек и Ашиш Колли за помощь в ре- шении проблем, с которыми я столкнулась при описании конфигурирова- ния Интернет-каталога Oracle и других средств Oracle8i/Net8. Благодаря им я смогла предоставить читателям самую точную информацию об этих продуктах. Я была бы крайне неблагодарна, не сказав ни слова о Барбаре Пэсквидж, подавшей мне идею этой книги. Барбара всегда старается глу- боко вникать в вопросы администрирования и готова делиться своим временем и знаниями с коллегами-администраторами. Недавно я прочитала заметку о разных типах друзей и их влиянии на нашу жизнь. У меня нет ни капли сомнения, что Рэчел Кармайкл — одна из моих "подруг на всю жизнь". Она соглашалась брать на себя обязанно- сти научного редактора и корректора даже после того, как заявила о своем нежелании участвовать в написании следующей книги по крайней мере в течение года. Ее замечания были очень важны для меня. Благода- ря Рэчел я смогла сделать эту книгу более понятной и удобной для чтения. Говоря о замечаниях и улучшении книги, я обязана поблагодарить мо- его технического рецензента Яна Фиклинга — не только за поиск ошибок и помощь в их исправлении, но и за вклад в написание текста. Уверена, что его имя однажды появится на обложке книги. Эдвин Харт — сетевой гуру, с которым я имела удовольствие работать в лаборатории прикладной физики университета Джона Гопкинса. Эд на- шел время, чтобы внимательно прочитать книгу и помочь мне в

Эд на- шел время, чтобы внимательно прочитать книгу и помочь мне в
Эд на- шел время, чтобы внимательно прочитать книгу и помочь мне в
Эд на- шел время, чтобы внимательно прочитать книгу и помочь мне в
XJV
XJV

Благодарности

устранении некоторых шероховатостей в первой главе. Я глубоко при- знательна ему за телефонные консультации. Благодаря его помощи неско- лько глав разделов стали более понятными и точными в техническом отношении. Группы пользователей играют важную роль в жизни любого профес- сионала Oracle, и я просто обязана принести личную благодарность лю- дям, которые без устали работают, донося до нас новую информацию и способы решения проблем. Мне хотелось бы лично поблагодарить Стиве- на Вандивьера, президента Среднеатлантической ассоциации професси- оналов Oracle; Крейга и Кейт Уорман, посвятивших многие часы работе с группой пользователей Oracle штата Вирджиния; Берта Спенсера и Кар- ла Дадли, поддерживающих Европейскую, Ближневосточную и Британ- скую группы, а также Джо Теста (поддержка группы штата Огайо) и Джима Лопатовски (Северо-Восточная группа). Мне нравится с ними ра- ботать, я глубоко ценю их дружбу. Друзья играют столь значительную роль в нашей жизни, что я не могу не вспомнить некоторых людей, которых с гордостью называю своими друзьями: Сью Хорнбакл, Кэти Локвуд, Розлин Круг, Сюзан Клейр, Аила Аронова, Кевина Луни, Дебби Вонг, Тони Зимбу, Пат и Стива Арнетта, Рона и Фрэн Лупер, Джима и Санди Вискузи, Марти и Шэрон Розман, а также всех, кого не смогу упомянуть здесь из-за недостатка места. Я иск- ренне благодарна вам за то, что вы были рядом в самые нужные моменты. Вы значите для меня больше, чем можно выразить словами. Мне кажется невероятной удачей иметь такую нежную и любящую се- мью. Спасибо моему сыну, Марку Гудмену, который никогда не бывает слишком занят, чтобы поговорить со мной или помочь в любом деле — от покупок в магазине до освоения новых компьютерных технологий. Я очень люблю своих племянниц Линн Бенейд, Робину Делькаппо и Шэ- ррн Ленди Фаяд и вижу, что они отвечают мне взаимностью. Спасибо вам, юные леди, от вашей "тетушки М.". Спасибо и моей сестре Джудит Зиске просто за то, что она есть. В книге "101 Oracle: Настольная книга администратора" я выражала признательность своему мужу за "молчаливое терпение". Поскольку (по его мнению) я представила дело так, будто он спал все время, пока писа- лась книга, сейчас я хотела бы поблагодарить моего мужа, Нельсона Кэхилла, за терпеливую, неустанную, нежную, ненавязчивую и ощутимую поддержку в этом рискованном предприятии. Когда рядом с тобой нет никого, кто помогает вести семейный корабль, книги вообще не пишутся. Нельсон обладает фантастическим воображением, и его предложения легли в основу некоторых сценариев, рассмотренных в этой книге. Одна- ко больше всего я благодарна Нельсону за его готовность идти по жизни вместе со мной-

Нельсону за его готовность идти по жизни вместе со мной-
Нельсону за его готовность идти по жизни вместе со мной-
Нельсону за его готовность идти по жизни вместе со мной-

Введение

Сеть

1. Система элементов (например, линий или дорог), пересекающихся напо- добие нитей рыболовной сети. 2. Группа или система взаимосвязанных компонентов.

Сразу оговорюсь: определение слова "сеть" помещено здесь лишь потому, что это хороший способ начать книгу о сетевых возможностях OracieSi, выпуск 2. Я не собираюсь подробно говорить о связях этого определения с темами, затрагиваемыми в книге. Вы увидите эти связи сами, когда буде- те читать первую и вторую главы. Я также не собираюсь с самого начала вызывать у вас скуку массой технических терминов. Пожалуй, единствен- ное, что я хотела сделать, — это дать вам возможность представить сеть в самом общем виде. Надеюсь, что прочитав приведенное выше определе- ние, вы нарисуете в своем воображении множество линий связи (кабе- лей), компьютеров и других устройств, составляющих единую систему, при помощи которой люди могут легко получать и распространять информацию. Есть ли у вас доступ к Интернету и World Wide Web? Задавались ли вы когда-нибудь вопросом, как работают сетевые технологии, позволяющие получать самую разнообразную информацию? Не приходилось ли вам ощущать себя полным невеждой, когда на рабочих совещаниях или кон- ференциях кто-нибудь начинал использовать непонятные сетевые терми- ны? Может быть, вы только что получили (или намереваетесь получить) должность, которая требует работы с Oracle, и хотите знать, как устроена и конфигурируется сеть Oracle? Или вы многие годы работали с продуй- тами Oracle, но не испытывали потребности углубленно вникать в их се- тевые возможности? Если вы ответили утвердительно хотя бы на один из перечисленных вопросов, то данная книга станет для вас прекрасным введением в мир сетей Oracle. Но даже если вы обратились к ней по дру- гой причине, у вас все равно будет замечательная возможность система- тизировать свои знания о сетях Oracle. Если вы не читали первую книгу из серии 101, "101 Oracle: Настольная книга администратора", то этот раздел даст вам представление о моем стиле изложения и подходе к представлению информации. Чтобы по- мочь вам разобраться в технических концепциях, я тщательно подбирала различные аналогии из повседневной жизни. Но пусть это не вводит вас в заблуждение. Предложение немного поиграть или отклониться от основной темы не означает, что сложные технические вопросы тракту- ются здесь в "облегченном" виде. Книга познакомит вас с общей сетевой терминологией и принципами построения сетей Oracle. Кроме того, вы узнаете:

сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на
сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на
сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на
сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на
сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на
сетей Oracle. Кроме того, вы узнаете: • Как конфигурировать Net8 на

• Как конфигурировать Net8 на стороне клиента и сервера Oracle

• Как работают серверы имен Oracle, как их конфигурировать и использовать

xvi
xvi

Введение

• Что такое LDAP и как конфигурировать сервер Интернет-каталога Oracle

• Как определить сетевые потребности вашей организации и создать план сети Oracle

• Как использовать стандартные инструменты конфигурирования Oracle — Net8 Assistant, Net8 Configuration Assistant и Connection Manager.

• Как обеспечить поддержку крупномасштабных распределенных систем

• Как конфигурировать и использовать прослушивающий процесс WebDB

• Что представляют собой усовершенствованные средства безопасности Oracle

• Как диагностировать проблемы, возникающие в сети Oracle

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

Обзор сетевых технологий

Глава 1

'дин системный администратор, с которым мне довелось работать, любил говорить: "Чтобы понимать будущее, необходимо изучать про- шлое". И он был прав, поскольку современные технологии часто отража- ют и вбирают в себя предыдущие достижения. Эта книга является одновременно введением в сетевые технологии Oracle и руководством по работе с Oracle в сетевой среде. Однако, по мо- ему глубокому убеждению, для эффективной работы с набором сетевых продуктов необходимо немного знать об устройстве сети и как минимум понимать основные сетевые термины. Я много лет слышала, как другие употребляют слова вроде "Token Ring", "Ethernet" или "линия Т1", но до конца не понимала, о чем идет речь. (Разумеется, я никогда не признава- лась в этом!) Поэтому первая глава будет посвящена истории сетей, эле- ментарной терминологии и сетевым конфигурациям. Будет также описано некоторое сетевое оборудование и используемые протоколы. Несмотря на то что главной темой книги являются сетевые средства Oracle, в этой главе они почти не затрагиваются. Если вы достаточно хорошо разбираетесь в основах сетевых техноло- гий, то можете сразу переходить к главе 2, сэкономив таким образом не- много времени.

таким образом не- много времени. Краткая история сетевых

Краткая история сетевых коммуникаций

В середине 1860-х годов можно было наблюдать примерно следующую сцену. На железнодорожной станции появлялся помощник шерифа и бежал к столу телеграфного оператора компании Western Union. "Быст- рее,— кричал он телеграфисту,— отправь сообщение шерифу Богус-Сити! Скажи, что Криворукий Мясник со своей бандой направляется к его городу. Он должен приготовить ему встречу!" Телеграфист спешно отправлял сообщение кодом Морзе. Для передачи букв и цифр здесь ис- пользовались серии импульсов тока, получаемых замыканием и размыка- нием электрической цепи. Каждой букве и цифре соответствовала уникальная комбинация коротких и/или длинных импульсов. Линия, по которой посылалось сообщение, представляла собой одиночный провод. Для отправки и приема сообщений использовался довольно грубый, но достаточно надежный механизм, хорошо приспособленный к суровым условиям жизни американских поселенцев. Будучи очень простым по со- временным меркам, телеграф позволял бизнесменам с Восточного побе- режья держать связь с Диким Западом. Давайте посмотрим, чего удалось достичь в области коммуникаций с тех пор, когда появилась возможность отправлять первые телеграммы. 14 февраля 1876 года Александр Грэхем Белл запатентовал свой теле- фон, подав заявку на два часа раньше, чем Элиша Грей из Western Union. Время подачи заявки сыграло очень важную роль, поскольку после судеб- ных разбирательств Белл получил права и патенты не только на телефон, но и на телефонную сеть, построенную компанией Western Union,

на телефон, но и на телефонную сеть, построенную компанией Western Union,

Обзор сетевых технологий

включая все усовершенствования, которым подвергся его первоначаль- ный вариант. Сто лет спустя компания Белла (переименованная впослед- ствии в AT&T) стала крупнейшей в мире. Теперь представим, как выглядела бы описанная выше сцена в конце

XIX века. Вместо отправки телеграммы помощнику шерифа было бы до-

статочно снять телефонную трубку, состоящую из передатчика (микро- фона) и приемника (телефона), и вызвать центральную станцию, оператор которой соединил бы его с шерифом Богус-Сити, подсоединим провода на коммутационной панели. В 1889 году Альмон Браун, предпри- ниматель из Канзас-Сити, изобрел подъемно-вращательный искатель и набиратель номера. Эти изобретения позволили абоненту набирать но-

мер самостоятельно, не прибегая к услугам оператора.

не прибегая к услугам оператора. Если бы эта история происходила

Если бы эта история происходила в начале XX века, то предупрежде-

ние могло быть послано шерифу Богус-сити с помощью телетайпа. В

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

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

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

Удалось ли вам его увидеть? Если вы скажете, что мы везде имели дело с

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

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

лись для передачи кода Морзе. Однако в телефонных сетях все еще

6

Глава 1

сохраняются линии, соединяющие дома или офисы с коммутационным оборудованием телефонных компаний. Для передачи цифровых сигна- лов по аналоговым линиям компания AT&T изобрела модем. Транзистор, появившийся в 1948 году, также был создан в AT&T, сотрудниками Bell Laboratories. Самая ранняя сеть, телеграфная, дает нам пример двухточечных (po- int-to-point) соединений. Двухточечными были и первые телефонные ли- нии. Современные сети состоят из множества телефонных линий и коммутационных центров, причем эти центры соединены сложной систе- мой микроволновых ретрансляторов, волоконно-оптических кабелей и спутников связи. Вы можете не осознавать, насколько сложна эта систе- ма, пока (страшно представить!) ваш телефон не перестанет нормально работать, соединения с Интернетом не начнут обрываться или их ско- рость не окажется намного меньше ожидаемой. В таких случаях вам не остается ничего другого, как прибегнуть к услугам телефонной компании для диагностики и устранения проблем.

Телефонная сеть

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

осуществляется через спутники. Телефон Телефон Спутниковая

Телефон

Телефон

Спутниковая тарелка

t
t

Спутниковая тарелка

тарелка t Спутниковая тарелка Рис. 1.1. Упрощенная схема

Рис. 1.1. Упрощенная схема телефонной сети

сетевых технологии

Предположим, что вы звоните из дома. Первоначально для подключе- ния телефона требовалась пара медных или железных проводов, протя- нутых от дома к центральной станции телефонной компании. Эти провода подвешивались на высоких деревянных столбах. Сегодня к боль- шинству домов подходит либо двухпроводная витая пара (twisted pair), либо волоконно-оптическая линия. Для установления соединения, осо- бенно если оно международное, цифровое коммутационное оборудова- ние телефонной станции маршрутизирует вызов с использованием волоконно-оптических линий, подводного кабеля, микроволновых рет- рансляторов и/или спутниковых тарелок. Между телефонными станция- ми сигналы обычно передаются в цифровом виде, по так называемым магистральным линиям (trunk lines). Местные телефонные станции соеди- няются со станциями более высокого уровня иерархии. Далее в этой гла- ве рассмотрим цифровые и аналоговые сигналы более подробно. По волоконно-оптическому кабелю могут одновременно передаваться 4032 телефонных разговора. Сегодня во многих регионах доступны спе- циальные телефонные линии, обеспечивающие полностью цифровую пе- редачу голоса и данных. Эти линии, образующие цифровую сеть с интегрированными услугами (Integrated Services Digital Network, ISDN), предоставляют абонентам два независимых канала, которые могут испо- льзоваться для передачи голоса или данных. Хотя линии ISDN радикально изменили наше представление о воз- можных способах отправки и приема информации с помощью домашних персональных компьютеров, для крупных компаний они часто оказыва- ются слишком неэффективными. Многие компании используют специа- льные цифровые линии Т1, предоставляющие 24 голосовых канала или один канал для передачи данных со скоростью 1544 мегабита в секунду (Мбит/с). Каждому из голосовых каналов может быть присвоен отдель- ный телефонный номер. Для компаний, которым не нужно 24 канала, до- ступны частичные линии Т1, а компании, которым нужна еще большая скорость, могут использовать линии Т2 или ТЗ, которые намного быст- рее. Например, линия Т2 (6 Мбит/с) по скорости эквивалентна четырем линиям Т1, а ТЗ (43 232 Мбит/с) — 28 таким линиям. Впрочем, большин- ство людей округляют последнюю скорость до 43 Мбит/с. Итак, мы установили, что телекоммуникации играют важную роль в процессе обмена информацией как между частными лицами, так и между компаниями. Давайте теперь обратимся к компьютерной составляющей сетей и посмотрим, как происходит объединение всех технологий в еди- ное целое.

всех технологий в еди- ное целое. Компьютерная сеть Нечто похожее
всех технологий в еди- ное целое. Компьютерная сеть Нечто похожее

Компьютерная сеть

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

8

Глава 1

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

Первые компьютеры

В конце 1950-х — начале 1960-х годов один компьютер занимал целый зал. Поскольку компоненты компьютера были склонны перегреваться, воздух в зале кондиционировался. Кроме того, из воздуха удалялась пыль. Ин- формация вводилась с помощью перфокарт, а все задания выполнялись в пакетном режиме. Пользователи не взаимодействовали с компьютерами напрямую, как мы со своими PC. В пакетном режиме много времени тра- тилось впустую, поскольку между заданиями, которые могли выполняться только по очереди, машины бездействовали. Изобретение сначала ленточных, а потом и дисковых накопителей по- зволило уменьшить время ввода-вывода, но компьютеры по-прежнему не использовали все свои вычислительные ресурсы. В середине 1960-х роди- лась идея мультипрограммирования. В многозадачном режиме в памяти компьютера могло размещаться сразу несколько заданий, между которы- ми делилось процессорное время. Каждое задание требовалось разме- щать в отдельной области памяти и защищать от влияния других параллельно выполняющихся заданий. Операционная система компьюте- ра должна была хранить информацию обо всех заданиях, требующих вы- полнения, а также знать, когда и как переключаться от одного задания к другому. Серьезный недостаток такого подхода состоял в том, что даже самая незначительная ошибка, например, опечатка при вводе одного символа, приводила к сбою всей программы и необходимости ее переза- пуска. Тем не менее схема многозадачности легла в основу временного разделения ресурсов в системах следующего поколения. Память в то вре- мя стоила дорого, и "большие" компьютеры могли иметь "целых" 8 мега- байт — смехотворное количество по сравнению с 2-4 гигабайтами, типичными для современных машин! Примерно в тот же период по- явились модемы, позволившие обращаться к компьютерам из удаленных мест.

Следующий этап

К концу 1960-х годов совместными усилиями компаний General Electric, Bell Laboratories и Массачусетского технологического института была разработана первая операционная система с разделением времени, получившая название MULTICS (Multiplexed Information and Computing Service). Хотя временное разделение ресурсов было основано все на той же идее мультипрограммирования, эта операционная система имела принципиальное отличие: пользователи могли непосредственно взаимо- действовать с компьютером через подключенные к нему терминалы. Терминал состоял из клавиатуры, обеспечивавшей ввод, и дисплея, на ко- тором отображались выходные данные. Поскольку эти терминалы не имели своих собственных ресурсов, они стали называться "немыми" тер- миналами (dumb terminals). Это была первая настоящая компьютерная сеть, позволявшая выполнять больший объем работы за гораздо меньшее время, чем когда-либо раньше.

Обзор сетевых технологий

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

Как работали в первых компьютерных сетях

Позвольте мне ненадолго предаться воспоминаниям и описать, как вы- глядела работа программиста в 1960-х и 1970-х годах. Когда я начинала свой профессиональный путь в качестве "программиста/аналитика кате- гории С" (самая низкая должность для программиста в компании), про- граммы запускались на одном большом компьютере (мэйнфрейме). Все наши вычислительные задачи выполнялись централизованно. Составлял- ся график использования компьютера, и когда наступала наша очередь, мы с коллегами спускались в машинный зал, где стояло несколько "не- мых" терминалов, описанных выше. Мы входили в систему, запускали предварительно подготовленные задания и работали до тех пор, пока не кончалось отведенное время и на смену не приходила другая группа. Тер- миналы напрямую соединялись с компьютером, и работать можно было только в этом помещении. Вы можете увидеть эту конфигурацию на рис. 1.2, где четыре терминала непосредственно присоединены к мэйнфрейму. В этой среде была только одна точка отказа и одна информационная точка, к которой каждый мог обратиться за помощью или узнать, что происходит с системой. Обслуживающий персонал состоял из

Терминал 1

Терминал 2

Терминал3

Терминал 4

Центральный компьютер (мэйнфрейм)

Рис. 1.2. Автономный компьютер с подключенными терминалами

10

10 Глава 1 единственного системного администратора и одного-двух

Глава 1

единственного системного администратора и одного-двух операторов. Существовал один совместно использовавшийся пакет программ, и все знали, кто работает с компьютером в данный момент. Поскольку пользо- вателям необходимо было находиться в одном помещении с терминала- ми, а терминалы непосредственно соединялись с компьютером, было очень мало шансов, что кто-то посторонний получит доступ к этой сети. Таким образом, поддерживать безопасность не составляло большого труда. Этой конфигурации были присущи и определенные недостатки. Мы располагали очень ограниченными ресурсами. Дисковое пространство и оперативная память имели минимальные объемы, а стоимость добавле- ния ресурсов к мэйнфрейму достигала заоблачных высот. Каждому из нас выделялся небольшой (по нынешним меркам) объем персонального дис- кового пространства, в пределах которого предстояло выполнять работу. Если мне требовалось 200 000 байт для компиляции очень сложной про- граммы, а доступно было лишь 150 000 байт, то приходилось просить дру- гих программистов освободить место для моей задачи. В ответ я также должна была убирать свои файлы с диска, когда кому-то требовалось до- полнительное пространство. Перемещение файлов с диска и обратно за- нимало очень много времени. Мы часто пользовались съемными дисками, чтобы каждая группа могла работать со своими собственными ресурсами, сохраняя при необходимости безопасность и конфиденциаль- ность данных. Поскольку каждый из нас имел доступ к компьютеру на ограниченное время, нам приходилось тщательно планировать свою работу, а в течение каждого сеанса удавалось выполнить лишь часть задачи. Если мне случа- лось работать в другом городе, то я должна была копировать свои про- граммы на девятидорожечную ленту и везти ее с собой или посылать самой себе, надеясь, что посылка дойдет вовремя. Зачастую лента задер- живалась, и приходилось ждать по нескольку дней, чтобы возобновить работу над проектом. В то время мы уже могли пользоваться модемной связью. Эти модемы передавали по 300 байт в секунду, что было намного лучше, чем 110 байт в секунду, которые давал телетайп. Выполнялись и удаленные вычисле- ния — с помощью устройства для считывания перфокарт, терминалов и удаленного принтера. Однако для наших целей модемы были слишком медленными, а качество телефонных линий не позволяло гарантировать безошибочную доставку данных из точки А в точку В. Потеря времени была все же предпочтительней потери данных. По современным меркам наша вычислительная среда была архаич- ной, громоздкой и сложной.

Сети вступают в пору зрелости

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

задания от терминалов, но сама не инициироваланикаких соединений.
задания от терминалов, но сама не инициироваланикаких соединений.
задания от терминалов, но сама не инициироваланикаких соединений.

Обзор сетевых технологий

11

С появлением в 1970-х годах сети ARPANET взаимодействие между хо- стами стало реальностью. ARPANET была названа по имени спонсора этого проекта — Управления перспективных разработок (Advanced Rese- arch Projects Agency) при Министерстве обороны США. Она соединяла компьютеры университетов и исследовательских лабораторий, а также служила коммуникационной магистралью для военных. Это объединение компьютеров получило название одноранговой сети (peer-based network), базовая конфигурация которой показана на рис. 1.3. В ARPANET исполь- зовались протоколы FTP, telnet, электронной почты, а также наборы про- токолов терминального доступа (Terminal Access Protocols, TAPs).

Терминалы

Рис. 1.3.

Одноранговая сеть

Терминалы

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

12

12 Глава 1

Глава 1

величины (пакеты) и пересылать их по сети, удовлетворяя потребности как крупных пакетных вычислений, так и небольших интерактивных за- дач. Для повышения надежности сети специальное программное обеспе- чение следило за доступностью ее частей и при необходимости выбирало альтернативный маршрут. Чаще всего отказывали интерфейсные процес- соры сообщений (Interface Message Processors, IMP) — предки современ- ных маршрутизаторов. Маршрутизатор (router), иначе называемый шлюзом (gateway), обеспечивает связь между подключенными к нему се- тями, направляя пакеты из одной сети в другую. Маршрутизаторы работа- ют на третьем уровне модели взаимодействия открытых систем ISO, о OH«JI;Iкоторой подробнее рассказано дальше. Итак, теперь вы имеете представление об аппаратной части этих ран- них сетей. Но как настроить систему, чтобы каждый компьютер мог взаи- модействовать со всеми остальными? Компьютерам можно присвоить уникальные имена, используя какое-либо соглашение об именовании, а можно присвоить уникальные номера. И как передавать информацию между ними целиком и без ошибок? На эти два вопроса даются все новые и новые ответы. Давайте посмотрим, на каком варианте остановились разработчики ARPANET. Каждому компьютеру присваивался (как и сейчас) уникальный число- вой адрес. Эти адреса использовались протоколом межсетевого взаимо- действия (Internet Protocol, IP) и поэтому стали называться IP-адресами. IP-адрес состоит из четырех чисел от 0 до 255 и записывается в виде че- тырех групп цифр, разделенных точками: ###.###.###.### (например, 111.122.233.254). Каждая группа может содержать от одной до трех цифр. Такой формат называется точечной десятичной (dotted decimal) записью. Его не слишком легко запоминать, но это единственное "имя", по которо- му компьютеры могут различать друг друга. Впрочем, существует и более "человечная" система именования, называемая системой доменных имен (Domain Name System, DNS).

Начало эпохи персональных компьютеров

В конце 1960-х годов на сцене появились мини-компьютеры. Они имели до гигабайта оперативной памяти и относительно небольшую площадь основания (footprint). Последняя характеристика показывает, сколько мес- та занимает компьютер на полу машинного зала. Мэйнфреймам требова- лись огромные площади, тогда как мини-компьютерам могло хватить участка размером один на три фута. Сегодня портативный компьютер типа notebook имеет габариты примерно 13 на 18 дюймов, что уже сопо- ставимо с размером ладони. Мини-компьютеры проложили дорогу поя- вившимся вслед за ними персональным компьютерам. В 1975 году был создан первый любительский персональный компью- тер. Он назывался MITS Altair и представлял собой маленькую коробочку с 256 байтами — не килобайтами или мегабайтами, а именно байтами — оперативной памяти. Для ввода информации использовались переключа- тели, а для вывода — лампочки. У этого компьютера не было клавиатуры и дисплея, а также никакого стандартного программного обеспечения, пока Гейтс и Аллен не создали для него язык программирования BASIC.

пока Гейтс и Аллен не создали для него язык программирования BASIC.

Обзор сетевых технологий

JJ3
JJ3

Через несколько лет на рынке появился первый Apple, а потом и Apple II. Как-то в 1978 году мы с сыном Марком отправились покупать ему компьютер. Мы внимательно рассматривали разные модели, укомплекто- ванные клавиатурой, монитором и флоппи-дисководом. Марк остановил- ся на Apple II, поскольку тот имел восьмицветную графику и 64 Кбайт оперативной памяти. Объем дисковой памяти тоже был весьма скром- ным, но это была самая мощная машина, которую мы могли себе тогда по- зволить. На ценнике значилась сумма около 1200 долларов. Двадцать два года спустя за те же 1200 долларов можно купить компьютер с вычислите- льной мощностью, сопоставимой с возможностями самых больших ма- шин тех лет! В 1981 году на рынок ворвался IBM PC, который довольно быстро нашел дорогу в мир бизнеса благодаря своей практичной конст- рукции и наличию всех необходимых приложений. Мини-компьютеры оказались невостребованными, и от них отказались. Та же история по- вторилась и с микрокомпьютерами. Первые персональные компьютеры имели серьезный недостаток. Они были "очень персональными". Пользователь работал только со свои- ми собственными данными, приложениями, командными файлами и т.д. В результате эти машины с ограниченными ресурсами медленно встраи- вались в бизнес-среды. Реальное содействие оказали такие программы, как электронные таблицы VisiCalc для Apple и Lotus для IBM PC, а также СУБД dBase для IBM PC. Были разработаны программы эмуляции терми- налов, позволившие персональным компьютерам взаимодействовать с мэйнфреймами. Корпорация Oracle выпустила версию своей реляцион- ной СУБД для IBM PC.

Локальные и глобальные сети

IBM PC. Локальные и глобальные сети К периоду 1970-х годов относится
IBM PC. Локальные и глобальные сети К периоду 1970-х годов относится

К периоду 1970-х годов относится появление локальных вычислительных сетей (local area network, LAN). Технология Ethernet, а также принципы построения локальной и глобальной сети были впервые описаны Меткал- фом и Боггсом в статье, опубликованной в июльском номере журнала САСМ (Communications of the Association for Computing Machinery) за 1976 год. Меткалф изобрел, описал и построил высокоскоростную локальную сеть, разграничив медленную глобальную сеть (wide area network, WAN) и LAN. В то время вычислительные мощности стоили дорого. Многие ком- пании и большинство университетов не могли платить значительные сум- мы за скоростные глобальные сети. Меткалф, работавший в исследовательском центре Xerox в Пало-Альто (Xerox Palo Alto Research Center, Xerox PARC), соединил не очень мощные компьютеры ALTOS в сеть Ethernet, что позволило эффективно разделять серверы печати, файловые серверы и электронную почту. Разделение ресурсов означало, что больше не нужно держать на одном компьютере все необходимые для работы компоненты. Это был грандиозный прорыв, давший начало це- лой индустрии. Меткалф, кстати, был одним из основателей 3Com. LAN обеспечивали скоростную связь (3 Мбит/с) между компьютера- ми, удаленными на небольшие расстояния (сотни метров). Само выраже- ние "локальная сеть" подразумевало, что эти компьютеры, называемые умами (nodes) сети, должны были располагаться достаточно близко друг к другу — в одном офисе, на одном этаже, в нескольких соседних зданиях

— в одном офисе, на одном этаже, в нескольких соседних зданиях

14

Глава 1

и т.д. Для соединения компьютеров, как и в наши дни, использовались ка- бели и сетевые интерфейсные платы (network interface cards, NICs). При- меняя сети компьютеров, люди могли совместно использовать информацию и ресурсы — например принтеры или централизованные прикладные программы. Первые локальные сети состояли из небольшо- го числа компьютеров, расположенных не далее 600 футов друг от друга. Такая длина кабеля была предельной для осуществления эффективной связи. Сетевые технологии (как и все остальные технологии, связанные с компьютерами) стремительно развивались, и к настоящему времени гло- бальные сети покрыли весь земной шар.

Сети становятся сложнее

Как уже было сказано выше, первой крупномасштабной сетью стала ARPANET, созданная под эгидой Министерства обороны США для объе- динения университетов, исследовательских лабораторий и военных орга- низаций. Многие технологии, на которых основаны современные сети, ведут свое начало от ARPANET. Мы обязаны ей принципом коммутации пакетов, а также протоколами, или правилами, сделавшими возможным построение Интернета. Главными среди них являются протокол межсе- тевого взаимодействия (Internet Protocol, IP), обеспечивающий адреса- цию и маршрутизацию, и протокол управления передачей (Transmission Control Protocol, TCP), гарантирующий надежную доставку данных. Они лежат в основе целого семейства протоколов, объединяемых под назва- нием TCP/IP и определяющих способ связи между компьютерами в Ин- тернете. Ключевая идея коммутации пакетов состоит в том, чтобы разбивать сообщения на более мелкие фрагменты одинакового размера, называемые пакетами (packets). Каждый из них снабжается специальной информацией, позволяющей собрать исходное сообщение в правильном порядке, благодаря чему пакеты могут посылаться вперемешку, ARPANET представляла собой именно такую "смешанную" сеть. Чтобы подключиться к ARPANET, которая первоначально состояла всего из четырех узлов, университеты должны были получить разреше- ние от Министерства обороны. В 1986 году Национальный научный фонд (National Science Foundation, NSF) начал формировать другую, более от- крытую сеть, к которой мог подключиться любой желающий. Эта сеть по- лучила название NSFNET. ARPANET представляла собой небольшой кластер компьютеров, тогда как в основе NSFNET лежала магистраль, со- единявшая несколько суперкомпьютеров, к которой подключались регио- нальные компьютеры. К NSFNET присоединялось все больше и больше компьютеров и сетей, и в какой-то момент ее название изменилось на Internet. К началу 1990-х годов Интернет состоял из множества высоко- скоростных магистралей и более чем миллиона компьютеров. Около 1995 года началось массовое подключение к Интернету на коммерческой основе, которое обеспечивали так называемые поставщики услуг Интер- нета (Internet Service Providers, ISP). В 1997 году Интернет насчитывал уже около 30 миллионов компьютеров, объединенных по географическо- му и функциональному признаку в различные домены (domains).

му и функциональному признаку в различные домены (domains).
му и функциональному признаку в различные домены (domains).
му и функциональному признаку в различные домены (domains).
му и функциональному признаку в различные домены (domains).

Обзор сетевых технологий

15

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

.com (коммерческие организации)

• .gov (правительственные учреждения)

• .edu (учебные заведения)

.net (сети)

• .fr (Франция)

• .uk (Соединенное Королевство)

.us (Соединенные Штаты)

• .us (Соединенные Штаты) Немного о Web Каждый, кто хоть раз
• .us (Соединенные Штаты) Немного о Web Каждый, кто хоть раз
• .us (Соединенные Штаты) Немного о Web Каждый, кто хоть раз

Немного о Web

Каждый, кто хоть раз выходил в Интернет, наверняка использовал адрес, включавший в себя сочетание "www". World Wide Web ("всемирная паути- на"), или просто Web,— это графическая часть Интернета, ориентирован- ная на работу с мышью и состоящая из невообразимого количества взаимосвязанных сайтов. Web была изобретена в 1989 году Тимом Бер- нерсом-Ли из лаборатории физики элементарных частиц Европейского центра ядерных исследований (CERN), расположенного в Швейцарии. Домашняя страница CERN (www.cern.ch/Public/Welcome.html) даже

CERN (www.cern.ch/Public/Welcome.html) даже имеет подзаголовок "where the Web was

имеет подзаголовок "where the Web was born" ("

где родилась Web").

Первоначально Интернет был основан на тексте и предназначался главным образом для передачи электронной почты, эмуляции термина- лов и терминального доступа, передачи файлов, организации досок объ- явлений, а затем и групп новостей. В отличие от этого Web рассчитана на использование браузера и позволяет людям обмениваться идеями и ин- формацией самого разного вида посредством гиперссъшок (hyperlinks). Гиперссылка включает в себя унифицированный указатель ресурса (Uni- form Resource Locator, URL), который определяет местонахождение фай- ла на диске сетевого компьютера. С помощью браузера этот файл можно открыть и просмотреть. Файлы могут содержать текст, изображения, ви- део или звук. Через Web можно даже смотреть фильмы или наблюдать за действиями, происходящими в реальном времени. Сегодня пользователи Web могут легко переходить от одной темы к другой, используя все более сложные браузеры, которые запоминают предыдущие адреса. Вы можете обращаться к информации примерно так же, как это делает компьютер, то есть произвольным образом переходя от одного дискового файла к другому. Разница лишь в том, что эти файлы могут быть разбросаны по всему Интернету. Такой способ доступа соот- ветствует естественной работе мозга, где одна идея сменяет другую в не- прерывном "потоке сознания". Благодаря Web стала возможна новая форма бизнеса — так называемая электронная коммерция (eCommerce). Она предъявляет более высокие требования к ресурсам и в большей степени зависит от возможности успешно поддерживать связь компьютера с внешним миром при сохране- нии конфиденциальности в ряде областей. В следующем разделе описан ряд базовых сетевых конфигураций и объяснены некоторые связанные с ними термины.

конфигураций и объяснены некоторые связанные с ними термины.

16

Глава 1

Базовые сетевые конфигурации и средства

Давайте подумаем, каким образом в наши дни можно послушать музыку. Вы можете пойти в концертный зал и насладиться живым голосом ваше- го любимого певца или звучанием оркестра. Можете зайти в магазин, ку- пить кассету или компакт-диск и прослушать запись дома. Если же вы не особенно торопитесь, то можно просто настроиться на радиостанцию и ждать, когда передадут нужную запись. Подобно тому, как существует не- сколько подходов к прослушиванию музыки, существует несколько раз- ных способов организации и использования компьютерной сети. Угадайте, сколько базовых типов сетей существует сейчас? Один? Десять? Сотня? В действительности их всего четыре: централизованная, кольцевая, шинная и распределенная. Мы уже видели примеры централи- зованной (рис. 1.2) и распределенной (ARPANET, рис. 1.3) сетей. По- смотрите еще раз на эти рисунки. Вообще говоря, сети можно рассматривать с разных точек зрения. То- пология сети определяет способ физического соединения компьютеров. Стеки протоколов определяют способ пересылки данных по сети. Отдель- ной темой является организация распределенных вычислений. В каждой топологии используются свои собственные протоколы. Бо- льшинство современных сетей представляют собой смесь топологий, контролируемых различными протоколами. Сначала подробнее рассмот- рим топологии и протоколы, а затем остановимся на распределенных вычислениях.

на распределенных вычислениях. В централизованной сети
на распределенных вычислениях. В централизованной сети
на распределенных вычислениях. В централизованной сети

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

Сеть клиент/сервер

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

Обзор сетевых технологий

17

Серверы

Рис. 1.4.

Сеть клиент/сервер

Терминалы

объем предоставляемых ресурсов. Серверы в такой конфигурации имеют специальные серверные операционные системы. В случае "чистой" сети клиент/сервер клиенты обладают своими собственными вычислитель- ными мощностями и ресурсами. В то время как в одноранговых сетях компьютеры напрямую соединяются друг с другом, в сетях клиент/сер- вер могут быть такие компьютеры, которые соединены только с серве- ром. Соединение клиентов с сервером возможно даже по телефонной линии. Одноранговые сети состоят из равноправных и достаточно мощ- ных компьютеров, которые могут выступать в роли как клиентов, так и серверов, тогда как сети клиент/сервер состоят из менее мощных клиен- тов, соединенных с мощными серверами. Сети клиент/сервер допускают масштабирование, поскольку при возрастании требований в систему можно добавлять дополнительные серверы. От серверов требуется большая надежность, чем от обычных настоль- ных компьютеров. Серверные операционные системы должны обеспечи- вать отказоустойчивость, безопасность, эффективное резервное копирование, установку различных прав доступа для администраторов и пользователей, а также обработку больших потоков данных. Сетевое про- граммное обеспечение может быть отдельным продуктом, добавляемым к операционной системе (как Novell NetWare), или встраиваться в опера- ционную систему изначально. Примерами систем с предустановленными сетевыми компонентами являются Windows 95/98 и Windows NT/2000. Компьютеры Apple связываются друг с другом при помощи сетевых про- токолов AppleTalk. Хотя Novell NetWare и Windows NT ориентированы на PC, они имеют дополнительные средства для поддержки компьютеров Apple Macintosh.

средства для поддержки компьютеров Apple Macintosh. 2 Зак. 726

2 Зак. 726

18

Глава 1

Подробнее о клиентах и серверах

В настоящее время используются два типа сред клиент/сервер: с архи-

типа сред клиент/сервер: с архи- тектурой клиент/сервер и с

тектурой клиент/сервер и с архитектурой тонкого клиента (thin client).

В чем же их различие? Частью архитектуры клиент/сервер является на-

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

Машины

с web-браузерами

Клиентские запросы и их результаты

Сервер приложений с прослушивающим процессом HTTP и административным прослушивающим процессом

Сервер базыданных

Диспетчеры

Рис. 1.5. Архитектура тонкого клиента

Как видно из рис. 1.5, клиентские машины соединены с машиной сред-

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

локальные устройства хранения у них могут вообще

отсутствовать.

Обзор сетевых технологий

19

Выполнение приложений и хранение данных целиком обеспечивается сервером сети. Современные ПК имеют быстродействующие графиче- ские дисплеи, а архитектура тонкого клиента позволяет с выгодой испо- льзовать быструю передачу данных между сервером приложений и дисплеем ПК. Приложения среднего уровня часто выполняются под управлением монитора обработки транзакций (Transaction Processing Monitor, TPM). К наиболее широко используемым ТРМ относятся Tuxedo, Enema, CICS, NCR Top End, Microsoft Transaction Server и Digital ACMSxp. Мониторы транзакций обычно применяются при выполнении крупномасштабных транзакций с участием как одной, так и нескольких баз данных. В табли- це 1.1 перечислены свойства транзакций, которые гарантирует ТРМ.

Таблица 1.1.

Свойства транзакции, обеспечиваемые монитором обработки транзакций

Свойство

Объяснение

Атомарность

Все транзакции либо выполняются полностью (завершаются), либо не выполняются вообще. Если транзакция была прервана, система возвращается в исходное состояние.

Согласованность

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

Изолированность

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

Устойчивость

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

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

20

Глава 1

Таблица 1.2. Типы серверов сети

Тип сервера

Назначение

Выделенные серверы

Предназначены исключительно для поддержки пользовате-

(dedicated servers)

лей и самой сети. Не выполняют никаких клиентских задач.

Невыделенные серверы (nondedicated servers)

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

Файловые серверы

Хранят файлы, созданные прикладными программами.

(file servers)

Передают клиентам запрашиваемые документы. Обеспечива-

Серверы печати

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

(print servers)

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

Хранят информацию и передают ее на обработку серверам

Серверы приложений

буферизуются в файле. Сервер сообщает состояние каждого задания и устанавливает приоритет заданий.

(application servers)

баз данных.

Почтовые серверы

Обеспечивают прием, отправку и хранение почтовых

(mail servers)

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

Факс-серверы (fax servers)

Обеспечивают прием и отправку факсимильных сообщений.

Коммуникационные серверы (communication servers)

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

Брандмауэры (firewalls)

Защищают компьютеры во внутренней сети компании от несанкционированного доступа из внешней сети. Могут использоваться для контроля за соединениями пользовате- лей с внешней сетью.

Серверы резервного копирования (backup servers)

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

Необходимое оборудование

Каждый компьютер сети должен иметь плату сетевого адаптера, называе- мую также сетевой интерфейсной платой (Network Interface Card, NIC). Она обычно вставляется в один из слотов расширения, находящихся внутри компьютера. В портативных компьютерах используются специа- льные платы PCMCIA, вставляемые в слот сбоку компьютера. Сетевая плата обеспечивает отправку сообщений в сеть, а также прием сообще- ний, адресованных данному компьютеру. Та часть сетевого адаптера, к которой присоединяется кабель, называ- ется портом. Если вы посмотрите на сетевой адаптер компьютера, то об- наружите, что он поддерживает один или несколько типов кабельных

Обзор сетевых технологий

21

разъемов. Кабель может оканчиваться круглым разъемом, известным под названием BNC (British Naval Connector), 15-контактным разъемом AUI (Attachment Unit Interface), похожим нате, что используются для подклю- чения компьютерной периферии, или разъемом RJ-45, напоминающим телефонный, но крупнее.

Осторожно!

Не подключайте телефонную линию к сетевой плате. Так можно сжечь плату.

Сетевая топология

Отгадайте загадку. Я держу в руке какой-то предмет. Он идеально круг- лый, белый и очень твердый. Как вы думаете, что это такое? Будет ли вам проще догадаться, если я скажу, что стою рядом с большим прямоуголь- ным столом, покрытым зеленым сукном? Если вы решили, что я держу в руке бильярдный шар, то вы совершенно правы. Как видите, при описа- нии предмета очень важно указать его форму. Итак, рассмотрим некото- рые из распространенных форм, или топологий, сетей. Описывая сетевую топологию, мы говорим о том, каким образом соединены различ- ные компоненты сети. Существуют три базовые топологии: шина (bus), кольцо (ring) и звезда (star). Учтите, что если посмотреть на соединен- ные в сеть компьютеры или терминалы, то их конфигурация может не иметь ничего общего ни с одной из этих форм. В этом случае речь идет о логической, а не физической топологии, то есть о том, как организована передача данных между машинами — по прямой, по кругу или от центра к периферии.

Шинная, или линейная, топология

Такую топологию реализовать проще всего, поскольку все компьютеры присоединяются к общему кабелю. Этот кабель называется сегментом (trunk) или магистралью (backbone) и имеет на каждом конце термина- тор, не позволяющий сигналу отражаться обратно и искажать передавае- мые сообщения. Сигналы могут распространяться либо справа налево, либо слева направо. На самом деле под кабелем здесь понимается все мно- жество кабелей, соединяющих интерфейсные платы. Если используется "тонкий" Ethernet, то платы соединяются друг с другом коаксиальными кабелями, подключаемыми к Т-образным соединителям на плате. Платы могут соединяться не напрямую, а через концентратор (hub). Для под- ключения платы к концентратору используется волоконно-оптический кабель или неэкранированная витая пара (unshielded twisted pair, UTP). Широко распространенный вариант сети Ethernet, в котором применяет- ся UTP, имеет название 10Base-T. Это означает, что скорость передачи составляет 10 Мбит/с, передача ведется без модуляции (baseband), а в ка- честве среды передачи используется витая пара. Концентратор содержит специальную схему, отключающую неисправные сегменты. Кабели UTP используются и в более современных скоростных стандартах 100Base-T и Gigabit Ethernet, совместно с модернизированными концентраторами и адаптерами.

совместно с модернизированными концентраторами и адаптерами.

22

Глава 1

В шинной топологии все узлы являются пассивными, то есть прослу- шивают сеть, ожидая появления адресованных им сообщений, и не пред- принимают никаких действий по организации передачи сообщений между узлами. Теоретически каждый узел может посылать сообщения лю- бому другому узлу так часто, как требуется. Хотя сообщение посылается с уникального адреса отправителя на уникальный адрес получателя, на са- мом деле оно посылается всему сообществу. Фактический прием сообще- ния выполняет только узел с указанным адресом. Если другие узлы захотят послать сообщение, то они должны ждать своей очереди. Чтобы избежать конфликтов, в стандарте Ethernet используется технология под названием коллективный доступ с контролем несущей и обнаружением коллизий (carrier sense multiple access with collision detection, CSMA/CD). Проще говоря, перед началом передачи узел должен дождаться освобождения линии. Если два узла начнут посылать сообщения одновременно, то оба сообщения будут искажены. Обнаружив это, каждый узел должен выдер- жат ь пауз у с,о случайн о выбранно й длительность ю и лиш ь зате м повто - рять передачу. На рис. 1.6 показан пример шинной, или линейной, топологии. Как видите, терминалы и серверы присоединены к одной и той же кабельной линии, а связь является двунаправленной.

связь является двунаправленной. Терминалы Серверы М а г и с т р

Терминалы

Серверы

Магистраль

Направления распространения сигнала

Рис. 1.6. Шинная, или линейная, топология

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

Кольцевая топология

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

Обзор сетевых технологий

23

цепочке 1-2-3-4 или 1-5-4. С точки зрения каждого узла, кольцевая сеть — чаще называемая маркерным кольцом (token-ring) — представляет собой замкнутое кольцо. Эта сеть функционирует точно так же, как и круг де- тей, шепчущих друг другу сообщения, но сигнал может распространяться только в одном направлении. В отличие от шинной сети каждый узел маркерного кольца активно участвует в процессе передачи, генерируя, передавая и принимая сообщения. Узел может даже усиливать или улуч- шать сигнал, передаваемый следующему узлу кольца. Первоначально по кольцу передается маркер (token), представляющий собой короткую битовую последовательность. Узел, желающий начать пе- редачу, должен дождаться прихода маркера. Затем он модифицирует мар- кер, тем самым сообщая другим узлам о том, что маркер занят, и передает его вместе с сообщением следующему узлу. Получатель, приняв модифи- цированный маркер вместе с сообщением, отправляет подтверждение, при получении которого отправитель генерирует новый маркер, сооб- щая остальным узлам о том, что маркер снова доступен. Перед тем как говорить о кабельных соединениях в кольцевой сети, нужно рассмотреть третью разновидность топологии — звезду.

Звездообразная топология

Название этой топологии обусловлено тем, что кабели расходятся от цен- трального узла во многих направлениях подобно лучам звезды. На рис. 1.7 показана звездообразная топология, в которой узлы соединены кабелями с центральным концентратором. Концентратор может быть активным или пассивным. Активный кон- центратор усиливает сигнал, тогда как пассивный просто передает его по сети. В звездообразной сети могут одновременно присутствовать и актив- ные, и пассивные концентраторы. Пассивные концентраторы служат точками подключения для групп узлов, а активные выступают в роли

Узел

Узел

Узел

Узел

Рис. 1.7. Звездообразная топология

24

Глава 1

центральных "сборных пунктов" для серверов, других концентраторов и отдельных узлов. Аналогично маркерному кольцу очередность передачи сообщений в звездообразной конфигурации определяется с помощью маркера. Поскольку узлы физически не связаны в кольцо, существует спе- циальный предопределенный порядок передачи маркера. Звездообразную топологию можно использовать для организации гиб- ридной сети, содержащей активные концентраторы и общие шины. Звез- дообразные сети обладают хорошей расширяемостью, позволяя легко добавлять или удалять узлы. Существуют также гибридные концентрато- ры, поддерживающие несколько типов кабельных соединений. Посколь- ку каждый узел соединен с концентратором отдельным кабелем, локализовать проблему здесь гораздо проще, чем в кольцевой конфигура- ции. Конечно, если сеть имеет только один концентратор, то его полом- ка приведет к неработоспособности всей сети. Теперь посмотрим, как выполняются соединения в звездообразной то- пологии. Для соединения концентраторов между собой используются во- локонно-оптические кабели, длина которых может достигать нескольких тысяч футов. Компьютеры и другие устройства подключаются к концент- раторам с помощью экранированных или неэкранированных витых пар, которые должны быть не длиннее 100 футов. Пакеты данных, называе- мые кадрами (frames), передаются от одного узла к другому по кругу, хотя кабели разведены в виде звезды. Сеть с маркерным кольцом имеет такую же конфигурацию кабелей, как и звезда, однако внутри концентратора су- ществует самое настоящее кольцо.

ществует самое настоящее кольцо. Итак, теперь вы имеете

Итак, теперь вы имеете представление об основных сетевых топологиях и некоторых распространенных типах сетей. Все это интересно, но каким образом почтовое сообщение (или файл), которое вы захотите мне послать, попадет в место назначения? Вы можете находиться в Лондоне, а я в Вене, штат Вирджиния. Между нами огромное расстояние! Чтобы начать объяснение того, как данные передаются по сети, мы должны рассмотреть потенциальные ограничения, которые могут влиять на передачу данных.

Жизнь — это скоростное шоссе

Выезжая утром из дома, я попадаю на улицу с односторонним движением, где одна полоса предназначена для парковки, а другая — для движения. На первом перекрестке я поворачиваю на другую улицу, где достаточно места и для парковки на обеих сторонах, и для движения в обоих направ- лениях. Я доезжаю до светофора в конце этой улицы и выезжаю на маги- страль с тремя полосами для движения в каждом направлении и разделителем посередине. Эта дорога ведет к магистрали, имеющей по шесть полос в каждом направлении. На узкой улице, по которой я ехала в самом начале, скорость ограничена 15 милями в час, тогда как на магист- рали установлено ограничение 55 миль в час. Когда мне нужно попасть в местный супермаркет, я еду по магистрали до нужного съезда. Если в это время проводится большая распродажа, то таких, как я, может оказаться

Обзор сетевых технологий 25 много. Это значит, что машины из всех

Обзор сетевых технологий

25

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

место, но это уже совсем другая история. Компьютерная сеть во многом похожа на дорожную. Кабели рассчита- ны на передачу разного объема трафика, поэтому общая скорость пере- сылки данных по сети будет определяться самым "узким" местом. Скорость, с которой кабель может передавать данные, называется пропу- скной способностью. Разные участки сети могут иметь разную пропускную способность. Теперь представим, что вы хотите переслать по сети огром- ный файл, а мне в то же самое время нужно передать небольшое сообще- ние. Будет несправедливо, если вы полностью загрузите систему пересылкой своего файла, а мне придется ждать. Хотя сети работают достаточно быстро, передача каждой порции дан- ных все равно занимает какое-то время. Как же нам организовать одно- временную отправку своих данных? Нет ничего проще! Каждое сообщение при передаче разбивается на последовательность пакетов. Следовательно, большой файл превращается во множество мелких паке- тов, и это позволяет передавать наши файлы практически одновременно.

В каждый пакет включается информация, на основе которой принимаю-

щая сторона может собрать исходный файл в правильном порядке, поэ- тому пакеты, относящиеся к разным сообщениям, могут чередоваться. Что еще, кроме данных, должно входить в состав каждого пакета, что- бы принимающая сторона могла собрать исходное сообщение? Пакет должен содержать информацию о том, откуда он был отправлен и кому предназначен, порядковый номер и информацию для обработки ошибок. Фактически пакет состоит из трех частей: заголовка, поля данных и за- ключительной части. Заголовок содержит адреса источника и назначе- ния, а также управляющую информацию. Поле данных содержит саму передаваемую информацию и обычно имеет размер от 512 байтов до 4 Кбайт. В заключительной части находится прочая необходимая инфор- мация, в том числе и для обработки ошибок, помогающая убедиться, что данные были переданы без искажений. Каким образом» компьютер может убедиться в том, что принятые им данные в точности соответствуют посланным? Для этого применяется

так называемая циклическая проверка четности с избыточностью (cyclical re- dundancy check, CRC). Компьютер, передающий данные, вычисляет по ним некоторое значение. Это значение включается в пакет. Принимаю- щий компьютер также вычисляет значение по содержимому пакета и сравнивает его с тем, которое было послано передающим компьютером. Если оба значения совпадают, то данные можно считать достоверными.

В противном случае принимающий компьютер будет использовать содер-

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

процедуры вычисления контрольного значения и способы обработки ошибок.

вычисления контрольного значения и способы обработки ошибок.
вычисления контрольного значения и способы обработки ошибок.

26

Глава 1

Формирование пакетов и передача данных

Вы можете спросить: какая аппаратура или программа помещает данные в пакеты и присоединяет к ним служебную информацию? Кто собирает данные на другом конце? Используемый для этого механизм должен раз- делить данные на небольшие фрагменты, добавить к ним адреса отправи- теля и получателя, после чего отправить пакеты в сеть. Принимающая сторона должна иметь аналогичный механизм, позволяющий считать все пакеты и собрать из них исходный файл. Большую часть перечисленных задач выполняет сетевой адаптер, о котором упоминалось ранее в этой главе. Вспомните, что в каждом подключенном к сети компьютере есть плата адаптера, которая обеспечивает связь по сети. Выше говорилось, что максимальная скорость, с которой оборудова- ние может передавать данные, называется пропускной способностью. Способ измерения пропускной способности зависит от того, в какой фор- ме посылается сигнал: аналоговой или цифровой. Аналоговый сигнал представляет собой непрерывно изменяющуюся волну, тогда как цифро- вой имеет вид дискретных импульсов. Формы аналогового и цифрового сигналов показаны на рис. 1.8. Обратимся сначала к аналоговому сигналу. Расстояние между соседни- ми вершинами (максимумами) или впадинами (минимумами) называется периодом колебаний. Чем меньше этот период, тем больше колебаний происходит на заданном временном интервале и тем выше частота сигна- ла. Частота измеряется в герцах (Гц) и представляет собой количество колебаний, происходящих за одну секунду. Если посмотреть на частот- ный спектр аналогового сигнала, то можно увидеть, что в нем присутству- ет целый набор частот, от низких до очень высоких. Пропускная способность аналогового канала связи зависит от его полосы пропуска- ния, то есть от разности между максимальной и минимальной частотами, которые могут передаваться по этому каналу.

передаваться по этому каналу. Аналоговый сигнал Цифровой

Аналоговый сигнал

Цифровой сигнал

Рис. 1.8. Аналоговый и цифровой сигналы

Обзор сетевых технологий

27

Для цифровых сигналов пропускная способность измеряется в битах в секунду (бит/с). Чем больше битов передается за одну секунду, тем она выше. Пропускная способность большинства современных линий связи измеряется килобайтами в секунду (Кбайт/с), мегабайтами в секунду (Мбайт/с) или даже гигабайтами в секунду (Гбайт/с).

Немодулированная и широкополосная передача

Существуют две основные формы передачи сигналов: немодулированная (baseband) и широкополосная (broadband). При немодулированной пере- даче по каналу связи в каждый момент времени передается только один цифровой сигнал. Казалось бы, одна передача должна занять весь канал, но это не так. С помощью техники мультиплексирования (multiplexing) по одному каналу можно одновременно передавать несколько потоков дан- ных, разделяя их во времени или пространстве. В этих случаях говорят соответственно о мультиплексировании с пространственным разделени- ем (space division multiplexing) или о мультиплексировании с временным разделением (time division multiplexing). Однако при немодулированной передаче возникает одна проблема. Чем дальше цифровой сигнал распространяется по каналу, тем сильнее он затухает и искажается, и в конце концов может стать совершенно не- разборчивым. Решение состоит в использовании специального механиз- ма, восстанавливающего форму сигнала. Соответствующее устройство называется репитером (repeater). Немодулированные сигналы широко ис- пользуются в сетях Ethernet и Token Ring. Теперь обратимся к широкополосной передаче и посмотрим, чем она отличается от немодулированной. Прежде всего широкополосный сиг- нал является аналоговым и распространяется по среде (например, коак- сиальному или волоконно-оптическому кабелю) в виде набора частот. По кабелю можно передавать в одном направлении сразу несколько сигна- лов, выделив каждому сигналу свой частотный канал. Между каналами оставляют небольшие интервалы неиспользуемых частот, чтобы сигналы не мешали друг другу. Чтобы одновременно отправлять и принимать ин- формацию, необходимо иметь либо два канала, либо два отдельных кабе- ля. По разным каналам можно одновременно передавать голос, видеосигналы и данные. Широкополосная передача обычно использует- ся в глобальных сетях и кабельном телевидении.

сетях и кабельном телевидении. Взаимодействие открытых систем
сетях и кабельном телевидении. Взаимодействие открытых систем

Взаимодействие открытых систем

Хочу предложить вам одну игру, которую только что придумала. Нужно угадать название предмета, которым мы пользуемся в повседневной жиз- ни. Оно написано у меня на карточке. Можно задать три вопроса, предпо- лагающих только ответы "да", "нет" или "может быть". Разумеется, в подобную игру трудно играть, если мы с вами не сидим друг против друга или не можем оперативно общаться. В любой игре сна- чала нужно понять цель и узнать правила. Из описания условий моей игры вы знаете, что можно задать только три вопроса, которые должны быть составлены довольно специфическим образом. Таким образом, вы обязаны следовать двум правилам.

28

Грава 1

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

В 1978 году Международная организация по стандартизации (Internatio- nal Organization for Standardization, ISO) разработала набор стандартов под названием "эталонная модель взаимодействия открытых систем" (Open Systems Interconnection reference model). Обычно их называют просто моделью ISO/OSI. Эти стандарты были пересмотрены и заново опубликованы в 1984 году. Они описывают, как должны проектироваться и конфигурироваться разнородные компоненты сети, чтобы была воз- можна их совместная работа. Следование этим стандартам помогает про- изводителям оборудования и программного обеспечения создавать продукты, легко стыкующиеся друг с другом с образованием многоуровне- вой архитектуры. Модель ISO/OSI дает только общую схему построения компонентов сети; конкретная реализация этих компонентов определяется производи- телями. Следует также иметь в виду, что существует несколько различных стандартов, на основе которых могут строиться сети. Модель архитектуры, определяемая стандартом OSI, основана на семи уровнях протоколов. Подробно рассмотрим каждый из уровней, а затем вкратце познакомимся с некоторыми другими стандартами.

Семь уровней модели OSI

Каждый из уровней OSI отвечает за выполнение определенных действий по подготовке информации к передаче по сети. Эти семь уровней иногда называют стеком протоколов (protocol stack), поскольку каждый из них основан на предыдущем. Уровни могут взаимодействовать только со сво- ими непосредственными соседями по стеку. Предоставление услуг выше- лежащему и доступ к нижележащему уровню осуществляются через четко определенные интерфейсы. Самый нижний уровень относится к физическому оборудованию и имеет дело с электрическими сигналами, тогда как самый верхний обес- печивает взаимодействие с прикладными программами. Обычно гово- рят, что модель OSI определяет последовательные уровни абстракции, поскольку каждый следующий уровень все дальше отходит от физическо- го оборудования и все более ориентируется на конечного пользователя. В таблице 1.3 перечислены все семь уровней и даны их краткие описа- ния. Уровни пронумерованы, чтобы на них было проще ссылаться в дальнейшем.

Обзор сетевых технологий

29

Таблица 1.3.

Семь уровней модели OSI

№ уровня

Название

Описание

Прикладной

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

(application layer)

6

Представления данных

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

(presentation layer)

5

Сеансовый

Позволяет устанавливать сеансы связи и предоставляет стандартные средства пересылки данных между приклад- ными программами.

(session layer)

4

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

Обеспечивает надежную и прозрачную транспортировку пакетов между станциями.

(transport layer)

3

Сетевой

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

(network layer)

Канальный (data link layer)

Упаковывает данные в кадры и устанавливает фактические сетевые соединения. Синхронизирует блоки данных, обнаруживает ошибки и управляет потоком данных.

Физический

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

(physical layer)

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

Уровень7:прикладной

Прикладной уровень обеспечивает приложениям доступ к сети и обслу- живает пользователей. Именно здесь располагается код прикладных про- грамм и сетевых операционных систем. Приложения могут быть самыми разнообразными — для буферизации печати, работы с электронной поч- той (например, Microsoft Outlook или Outlook Express), передачи фай- лов, доступа к базам данных (SQL*Net или Net8, взаимодействующие с базой данных Oracle) или ведения бухгалтерского учета. Некоторые из них — например, те, что предназначены для передачи файлов,— хотя и ра- ботают на прикладном уровне, но в действительности выполняют функ- ции более низкого уровня. Их можно сравнить с менеджером, который самостоятельно вводит данные в таблицы, поскольку работа должна быть выполнена, а рядом нет никого, кому можно было бы поручить это дело.

30

Глава 1

Этот уровень позволяет совместно использовать принтеры и файлы, а также работать со службами каталогов — например службой именования доменов, о которой говорилось ранее. Каждое приложение, работающее в сети, использует определенные протоколы прикладного уровня. Напри- мер, приложение для работы с электронной почтой реализует специфи- кацию обработки сообщений Х.400, а служба каталогов — спецификацию Х.500. Многие из этих протоколов, скажем, Systems Application Architectu- re (SAA) фирмы IBM, появились относительно недавно. Протоколы и стандарты, используемые Oracle, будут рассмотрены в главе 2.

Уровень 6: представления данных

Если бы вы читали этот текст с экрана компьютера, то заголовок раздела был бы выделен полужирным шрифтом. Теперь предположим, что вы ви- дите на экране мигающие символы, или формы для ввода данных, или графики. Во всех случаях вы взаимодействуете с уровнем представления данных. Основная задача уровня представления данных — обеспечить правиль- ное форматирование информации, чтобы конечный продукт выглядел так, как это было задумано программистом. На этом уровне "живут" гра- фические форматы и наборы символов. В большинстве современных компьютеров используется американский стандартный код для обмена информацией (American Standard Code for Information Interchange, ASCII), хотя в некоторых (в частности, мэйнфреймах IBM) все еще при- меняется расширенный двоично-кодированный десятичный код инфор- мационного обмена (Extended Binary Coded Decimal Interchange Code, EBCDIC). Код ASCII позволяет представить до 256 символов с помощью 7 или 8 битов. В коде EBCDIC всегда используются 8 битов, представляю- щих те же 256 символов. Однако в ASCII буква а нижнего регистра коди- руется десятичным числом 97, а в EBDIC — числом 129. Есть разница, не правда ли? Примером протокола, в котором реализованы функции уров- ня представления данных, является протокол передачи гипертекста (Hy- pertext Transfer Protocol, HTTP), используемый для форматирования информации на Web-сайтах. Итак, именно уровень представления данных отвечает за согласова- ние форматов, используемых разными компьютерами. Помимо этого, в его обязанности входит шифрование и сжатие данных, а также управ- ление выводом на принтеры, плоттеры и другие периферийные устройства.

Уровень 5: сеансовый

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

Обзор сетевых технологий

нашем распоряжении есть механизм, обеспечивающий бесперебойное ведение диалога. Сеансовый уровень позволяет устанавливать сеансы связи между дву- мя сторонами, известными под названием прикладных сущностей (appli- cation entity, AE). Установив соединение, сеансовый уровень решает все вопросы, связанные с безопасностью, а затем контролирует и синхрони- зирует потоки данных, определяя, кто, когда и в течение какого времени должен вести передачу. После завершения диалога он должен обеспечить успешное разъединение сторон. Кроме того, сеансовый уровень отвечает за распознавание имен, регистрацию, администрирование и тому подоб- ные функции. Примером протокола сеансового уровня является расширенный поль- зовательский интерфейс NetBIOS (NetBIOS Extended User Interface, NetBEUI), используемый в сетях Microsoft. (NetBIOS — это интерфейс прикладного программирования, позволяющий приложениям запраши- вать сеансовые соединения.) Однако NetBIOS, как и другой аналогичный протокол, Named Pipes, часто выполняет функции и сеансового, и транс- портного уровней. Похоже, что не существует такого протокола, кото- рый можно было бы отнести исключительно к сеансовому уровню.

Уровень 4: транспортный

Транспортный уровень во многом дублирует расположенный ниже сете- вой уровень, однако в отличие от него действует локально. Если сеть станет недоступна, транспортный уровень будет искать другой маршрут, по которому можно послать данные. Он может хранить данные, пока сое- динение не будет восстановлено. Именно транспортный уровень обеспе- чивает контроль за тем, чтобы данные были приняты полностью и в правильной последовательности. Этот уровень "вскрывает" каждый па- кет, чтобы убедиться в отсутствии искажений. При передаче между более высокими уровнями массивы данных со- храняют ту длину, которую они имели в момент создания. Когда дело до- ходит до транспортного уровня, данные разбиваются на пакеты одинакового размера с учетом требований сетевого уровня. Приняв все пакеты, транспортный уровень собирает из них исходный массив информации. Чтобы можно было восстановить правильную последова- тельность пакетов в случае их неупорядоченного прибытия, транспорт- ный уровень нумерует каждый из них. Еще одна задача этого уровня — информирование компьютера-отправителя о безошибочном приеме сообщения. В процессе передачи принимающий компьютер использует для упоря- дочения сообщения временную область хранения, называемую буфером кадра (frame buffer). Если этот буфер заполняется, транспортный уровень принимающей машины уведомляет передающую машину о необходимо- сти приостановить передачу. В тех случаях, когда используется мульти- плексирование сообщений или сеансов, контроль за выполнением этих операций также осуществляется транспортным уровнем. Транспортный уровень выступает в качестве посредника между вышележащими

уровень выступает в качестве посредника между вышележащими

32

Глава 1

уровнями, ориентированными на использование в приложениях, и ниже- лежащими уровнями, связанными с сетью и сетевым оборудованием. Теперь предположим, что необходимо установить связь по сети между двумя разнородными компьютерами. Как это сделать наиболее эффектив- но? Проблема решается путем использования сразу нескольких транспор- тных протоколов на одной машине. Одним из них является протокол управления передачей (TCP), о котором говорилось выше. Он входит в состав стека протоколов TCP/IP, реализованного многими компаниями. Два других транспортных протокола, применяемых на PC,— это NetBIOS, о котором было сказано выше, и протокол последовательного обмена па- кетами (Sequenced Packet Exchange, SPX) фирмы Novell.

Уровень 3: сетевой

Сетевой уровень выполняет следующие функции:

• Обеспечивает маршрутизацию и адресацию сообщений внутри сетей и между сетями.

• Выбирает физический маршрут передачи данных, исходя из состояния сети, приоритета пакета и других факторов.

• Гарантирует надежность доставки вышележащим уровням.

• Освобождает вышележащие уровни

от необходимости что-либо

знать о фактических технологиях передачи и маршрутизации. На сетевом уровне определяется маршрут отправки сообщения. При необходимости кадр передается маршрутизатору. Если размер кадра пре- вышает максимальную единицу передачи данных (maximum transmission unit, MTU) на принимающей стороне, то кадр разбивается на более мел- кие фрагменты. За их сборку отвечает сетевой уровень принимающей стороны. Среди перечисленных выше задач сетевого уровня упоминалась адре- сация сообщений. Остановимся на этом более подробно. В детстве у меня была подруга по имени Лорена. По какой-то непонятной причине мама стала называла ее Питсаритц. Это прозвище прилипло к ней, и на протя- жении всей учебы в школе Лорена была известна как Питси. Даже учите- ля называли ее именно так. Мой сын Марк ненавидит свое второе имя (которое я не привожу здесь по этическим соображениям), поэтому ни- когда не использует его. Какое отношение все это имеет к сетям и адресации, спросите вы? Су- дите сами. У каждого из нас есть как минимум фамилия и имя, записан- ные в свидетельстве о рождении. Кроме того, человека могут называть по имени и отчеству, например на работе, или использовать прозвище в кру- гу друзей. Каждый компьютер имеет физический адрес, который запи- сан, или "прошит", в его сетевой плате. Этот так называемый МАС-адрес (Media Access Control —управление доступом к среде). Как правило, компьютер имеет один или несколько логических адре- сов. Прежде всего ему присваивается IP-адрес (в точечной десятичной за- писи), о котором я говорила при описании одноранговых сетей. Одновременно с этим компьютер может иметь Web-адрес в формате URL. IP- и URL-адреса являются логическими. Сетевой уровень должен

URL. IP- и URL-адреса являются логическими. Сетевой уровень должен
URL. IP- и URL-адреса являются логическими. Сетевой уровень должен

Обзор сетевых технологий

33

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

Уровень 2: канальный

Когда-то давно я увлекалась мозаикой. Чтобы сделать мозаичную карти- ну, берутся небольшие кусочки материалов разной формы, художествен- но раскладываются и склеиваются. Подобно этому, канальный уровень берет символы из потока, предоставляемого физическим уровнем, и со- ставляет из них сообщения. Затем сообщение проверяется и передается следующему, сетевому уровню. Канальный уровень отвечает за установление соединений между узла- ми сети и передачу кадров средствами физического уровня. Этот уровень может получать от принимающего компьютера подтверждение приема и при необходимости повторно передавать кадры, которые были искаже- ны. Как правило, функции канального уровня реализует специальная ин- тегральная схема сетевого адаптера. К протоколам, используемым на этом уровне, относятся высокоуров- невый протокол управления каналом (High-Level Data Link Control, HDLC), протоколы двоичной синхронной передачи и так называемые усовершенствованные процедуры управления передачей данных (Advan- ced Data Communications Control Procedures, ADCCP).

(Advan- ced Data Communications Control Procedures, ADCCP). Уровень 1: физический Итак, мы

Уровень 1: физический

Итак, мы достигли самого нижнего уровня модели OSI. Как следует из на- звания, этот уровень имеет дело с физическим оборудованием. Через него общаются с внешним миром все остальные рассмотренные нами уровни. На физическом уровне между компьютерами пересылаются пото- ки нулей (0) и единиц (1). На этом уровне определяются характеристики электрических сигналов. К нему же относятся кабели (коаксиальные, ви- тая пара, волоконно-оптические), разъемы и контакты. Например, суще- ствуют спецификации, в которых описано:

• Количество и назначение контактов в разъемах

• Типы и разновидности кабелей, используемых для соединения оборудования

• Способы соединения кабелей с сетевыми адаптерами

Помимо работы с оборудованием, физический уровень управляет кодированием и декодированием битовых потоков, а также их синхронизацией. Из спецификаций, описывающих этот уровень, особо выделяются три: спецификация сетей Ethernet (IEEE 802.3) и спецификация сетей Token Ring (IEEE 802.5), разработанные Институтом инженеров по элек- тротехнике и электронике (Institute of Electrical and Electronic Engineers, IEEE), а также стандарт последовательной связи RS-232-C, относящийся к

34

Глава 1

модемным коммуникациям и разработанный Ассоциацией электронной промышленности (Electronic Industries Association, EIA). Стандарт RS-232-C, в частности, определяет назначение контактов в разъемах и уровни напряжений, представляющие 0 и 1. Европейский международ- ный стандарт V.24 очень похож на RS-232-C.

Немного о протоколах

В предыдущих разделах часто упоминались названия различных протоко- лов, но не было толком пояснено, что же такое протокол. Протокол — это соглашение относительно способа передачи данных между различными частями сети. На каждом уровне существует ряд стандартов, подробно описывающих функционирование всех компонентов данного уровня. Эти стандарты являются результатом длительной работы различных ко- митетов. Часто возникают споры о том, чьи идеи будут превалировать в определенной области. Порой бывает так, что какой-нибудь продукт при- обретает огромную популярность, и тогда протокол, используемый в нем, становится стандартом де-факто, используемым практически повсе- местно. Отличным примером популярности (или монополии), устанавли- вающей стандарты, служит Microsoft Windows во всех ее разновидностях. Аналогично любому языку протоколы имеют свой синтаксис и семан- тику; кроме того, они устанавливают способы синхронизации. Синтаксис определяет, каким образом используются уровни сигналов. Семантика описывает структуры данных, используемые для координации работы компьютеров и передачи информации. Синхронизация обеспечивает пе- редачу данных в правильной последовательности и согласование скоро- стей между машинами. Что понимается под согласованием скоростей? Допустим, ваш компьютер имеет модем с максимальной скоростью 33,6 Кбит/с, а моя машина может устанавливать соединение на скорости 54 Кбит/с. Именно стандарты синхронизации позволяют поддерживать между нашими машинами нормальную связь. На практике стандарты не всегда реализуются в полном соответствии с моделью OSI. Разработчикам трудно устоять перед соблазном слегка модифицировать свой продукт, чтобы сделать его "лучше" в тех или иных аспектах.

в тех или иных аспектах. Эталонные модели SNA и TCP/IP Хотя
в тех или иных аспектах. Эталонные модели SNA и TCP/IP Хотя

Эталонные модели SNA и TCP/IP

Хотя модель OSI получила наиболее широкое распространение и упоми- нается чаще всего, для полноты картины следует описать еще две модели, которые также являются многоуровневыми и часто упоминаются в разго- ворах на сетевую тему. Одна из этих моделей — сетевая архитектура IBM, известная под названием "системная сетевая архитектура" (System Network Architecture, SNA). Другая модель непосредственно связана с Интернетом и называется эталонной моделью TCP/IP или эталонной моделью Интернета. Давайте по очереди рассмотрим каждый из этих стандартов и выясним, что отличает их от модели OSI.

Обзор сетевых технологий

35

Модель SNA

В 1970 году компания IBM разработала модель SNA, чтобы облегчить взаимодействие между своими продуктами. В то время IBM производила мэйнфреймы, принтеры и терминалы, поэтому первоначально модель SNA определяла способы связи между терминалами и мэйнфреймами. Позже она была модифицирована с целью поддержки микрокомпьюте- ров и PC. Эта модифицированная спецификация известна под названием "усовершенствованные межпрограммные связи" (Advanced Program to Program Communications, APPC). Поскольку модель SNA создавалась IBM, она ориентирована главным образом на продукцию этой компании. Тем не менее между ней и появив- шейся позже моделью OSI можно провести параллели. В первоначальном варианте модель SNA содержала пять уровней, но затем была расширена до семи уровней, приблизительно эквивалентных уровням OSI. Уровни SNA перечислены в таблице 1.4. Два добавленных уровня отмечены звездочками. В скобках указаны соответствующие уровни модели OSI.

Таблица 1.4.

Уровни модели SNA компании IBM

Уровень

Описание

Службы транзакций (transaction services) *

Предоставляет протоколы связи между приложениями. (Соответствует прикладному уровню модели OSI.)

Службы представления данных (presentation services)

Обеспечивает форматирование, сжатие и преобразование данных. (Соответствует уровню представления данных модели OSI.)

Управление потоком данных (data flow control)

Устанавливает правила, которые будут действовать в ходе се- анса связи, а также определяет режим передачи —дуплексный (данные передаются одновременно в обоих направлениях) или полудуплексный (в каждый момент данные передаются только в одном направлении). (Частично соответствует сеансовому уровню модели OSI.)

Управление передачей

Поддерживает связь между узлами; инициирует, завершает и обслуживает сеансы; маршрутизирует данные по сети и обес- печивает их надежную доставку. (Частично соответствует сеан- совому, транспортному и сетевому уровням модели OSI.)

(transmission control)

Управление маршрутом (path control)

Создает связи с узлами, управляет этими связями и маршру- тизирует данные. (Соответствует транспортному и сетевому уровням модели OSI.)

Управление каналом (data link control)

Обеспечивает надежную передачу данных через физическое сетевое оборудование. (Соответствует канальному уровню модели OSI.)

Физический *

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

36

Глава!

Модель SNA строилась вокруг мэйнфрейма IBM и была основана на предположении, что за создание каждого сеанса связи отвечает мэйнф- рейм. Если сеансы связи не ограничиваются мэйнфреймом, то для марш- рутизации через промежуточные узлы и управления маршрутами применяются дополнительные компоненты, называемые сетевыми управляющими программами (Network Control Programs, NCP). Расшире- ние APPC, упомянутое выше, предусматривает два различных типа узлов. Конечные узлы (end nodes, EN) пользуются услугами сети, тогда как сете- вые узлы (network nodes, NN) выполняют задачи маршрутизации и управ- ления. В модели SNA используется много других аббревиатур, но приведенных здесь должно быть достаточно, чтобы получить некоторое представление об этой модели. Кстати, TCP/IP теперь может работать и на мэйнфреймах, но он не заменил полностью модель SNA. Версия TCP/IP для мэйнфреймов обра- щается ко многим службам уровней SNA.

Эталонная модель TCP/IP

Как следует из самого названия, эталонная модель TCP/IP (или эталон- ная модель Интернета) отражает мир межсетевых взаимодействий, в ко- тором информация передается между рабочими станциями и сетями. Уровни этой модели перечислены в таблице 1.5. Как и для модели SNA, в скобках указаны соответствующие уровни модели OSI. Уровень межсете- вого взаимодействия не имеет OSI-эквивалента, а физический уровень здесь вообще отсутствует, хотя всем известно, что без аппаратуры невоз- можны никакие соединения. Хотя модели TCP/IP, SNA и OSI определены по-разному, они вовсе не исключают друг друга. Нередко бывает так, что сеть и операционная сис- тема основаны на разных моделях. Например, протоколы TCP/IP могут использоваться в локальной сети, которая работает под управлением опе- рационной системы, разработанной в соответствии с моделью ISO/OSI, и при этом взаимодействует с сетью SNA, состоящей из мэйнфреймов IBM. Однако наибольшее распространение в наши дни получил протокол TCP/IP.

/

Таблица 1.5.

Эталонная модель TCP/IP (Интернета)

Уровень

Описание

Прикладной

Эквивалентен прикладному уровню и уровню представления данных модели OSI. Его функции идентичны тем, которые были описаны в соответствующих разделах этой главы. (Соответствует прикладному уровню и уровню представления данных модели 081.)

(application layer)

Обзор сетевых технологий

Таблица 1.5 (продолжение) Эталонная модель TCP/IP (Интернета)

37

Уровень

Описание

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

Обеспечивает надежную доставку дейтаграмм из конца в конец

(transport layer)

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

Межсетевого

каналом (virtual circuit). Дейтаграмма (datagram) — это пакет, состоящий из заголовка и данных. Передача данных может не требовать установления фактического соединения; в этом случае она так и называется: без установления соединения (connectionless). (Соответствует сеансовому и транспортному уровням модели OSI.)

взаимодействия

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

(internetworking layer)

маршрутизаторы и шлюзы, используемые для передачи дейтаграмм. (Не соответствует ни одному из уровней модели OSI.)

Сетевых интерфейсов

Содержит протоколы, определяющие способы передачи и

(network access layer) доставки кадров данных. Этот уровень использует аппаратные адреса сетевых адаптеров и взаимодействует с физическим оборудованием. (Соответствует сетевому и канальному уровням модели OSI.)

Сетевые компоненты Oracle

40

Глава 2

FT

«ЁИ«ачнем эту главу с цитаты из руководства администратора Net8 версии 8.1.5, изданного корпорацией Oracle. В разделе "Обзор Net8" гово- рится следующее: "Net8 — это фундамент для семейства сетевых продук- тов Oracle, позволяющий службам и их приложениям размещаться на разных компьютерах и взаимодействовать как равноправные приложе- ния. Основной функцией Net8 является установление сетевых сеансов и передача данных между клиентской машиной и сервером или между дву- мя серверами". Просто и ясно, не правда ли? В некоторых отношениях средства Net8 действительно весьма про- сты. В то же время работа с сетями в Oracle может стать очень сложной. Рассматривая Net8, я постараюсь сохранять максимальную простоту и понятность изложения.

Немного истории

Следуя введенному в главе 1 принципу, гласящему, что для понимания на- стоящего и будущего необходимо изучать прошлое, для начала кратко рассмотрим вычислительную среду, в которой я начинала работать с Oracle. Обзор истории продуктов Oracle позволит получить представле- ние о том, с чего все начиналось, насколько далеко продвинулись эти продукты с тех пор и какую роль сыграли сети в успехе Oracle (а также в росте компьютерной индустрии в целом). Корпорация Oracle впервые выпустила свою реляционную систему управления базами данных (РСУБД) примерно в 1979 году. Однако в но- ябре 1983, когда я была нанята в качестве программиста-аналитика кате- гории С для работы над научным приложением, наша компания использовала всего лишь версию 2.0. Мы писали программы для управле- ния аппаратурой сбора данных и их обработки. Созданные нами програм- мы на языке FORTRAN обрабатывали информацию, хранившуюся в базе данных. Продукты Oracle были еще очень незрелыми, а их совершенство- вание велось крайне медленно. Для диалога с базой данных Oracle мы использовали языки UFI (User Friendly Interface — дружественный пользователю интерфейс) и Procedu- ral UFI (процедурный UFI), которые были предшественниками SQL и PL/SQL. Я работала в системе Digital VAX, поддерживавшей графиче- ские дисплеи. Наши формы представляли собой графические програм- мы, использовавшие модуль интерактивных форм (Interactive Forms, IAF) Oracle. Сначала мы создавали исходные файлы с расширением .inp. За- тем формы компилировались с помощью команд интерактивной графики (Interactive Graphics, IAG), и полученные выполняемые файлы (.iap) запу- скались командой runform. Для создания базы данных мы использовали команду ccf (create conti- guous file — создать непрерывный файл), задавая имя и размер файла. Когда места в файле начинало не хватать, мы выгружали данные с помо- щью утилиты экспорта, создавали новый файл большего размера и

Сетевые компоненты Oracle

41

импортировали в него данные. Для загрузки информации в базу данных можно было использовать загрузчик данных Oracle (Oracle Data Loader, ODL), а ее мониторинг осуществлялся с помощью системы ODS (Oracle Display System), которую мы в шутку называли "odious". (Odious — ненави- стный, отвратительный. Произносится так же, как и сокращение ODS. — Прим, пер.) Для запуска базы данных нужно было вводить команду ior (initialize Oracle — инициализировать Oracle). Для отслеживания состоя- ния данных до и после изменений существовали файлы журналов исход- ного вида (before image, BI) и журналов изменений (after image, AI). Работа с базой данных велась через "немые" терминалы. Непосредствен- но обращаться к базе данных с удаленного компьютера было невозможно. По мере совершенствования Oracle в нашем распоряжении оказались три утилиты: FASTFORM, ставшая стандартным генератором блоков в SQL*Forms; crt, предназначенная для управления экранной средой; и ге- нератор отчетов rpt, позже названный Oracle Report, позволявший ото- бражать отчеты в гибком формате. Утилита rpt представляла собой интерпретатор, а не компилятор, работала медленно и была сложна в использовании. Отчет требовалось предварительно скомпоновать и от- форматировать, чтобы точно знать, в каком месте страницы будет распо- лагаться каждый элемент. Изменение размера одного столбца могло потребовать повторной генерации всего отчета. В РСУБД Oracle с очень давних пор существует учетная запись SCOTT с паролем TIGER. Ее удобно использовать для изучения структурирован- ного языка запросов (Structured Query Language, SQL) и тестирования сетевых соединений с базой данных. В первых версиях вы должны были самостоятельно создать эту учетную запись, указав соответствующий пароль, присвоить ей необходимые права доступа и только потом запус- кать сценарии создания демонстрационных объектов. Сценарии храни- лись (и по-прежнему хранятся) в каталоге SQL*Plus/demo. В более поздних версиях учетная запись SCOTT и связанные с ней объекты стали создаваться автоматически. Поначалу в обязанности администратора базы данных (database admi- nistrator, DBA) входило лишь поддержание ее в рабочем состоянии. Неко- торые аварии приводили не только к остановке системы, но и к повреждению информации, заставляя полностью перестраивать базу дан- ных. Настройка или какое-либо влияние на производительность системы были почти невозможны. Oracle находилась в младенческом возрасте, и администраторы просто пытались совладать с этим новым и очень стран- ным созданием. Не существовало групп пользователей, куда можно было бы обратиться с вопросами. В наши дни создано множество замечатель- ных групп, члены которых готовы дать совет и оказать помощь в реше- нии проблем с Oracle. Стандартный подход к обновлению базы данных Oracle заключался в установке новой программной системы поверх старой. В случае неудачи оставалось только признать, что вам не повезло. Большинство компаний содержали разработчика приложений, одновременно выполнявшего обя- занности администратора. Разработчики пользовались примитивными инструментами, а для решения довольно простых по нынешним меркам

42

Глава 2

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

Появление SQl*Net

В пятой версии РСУБД Oracle мы увидели ряд серьезных усовершенство- ваний. К концу жизненного цикла версии 4 появилась первая версия, предназначенная для работы на персональном компьютере, но она была на редкость нестабильна. Версия Oracle для DOS отсутствовала вплоть до версий S.O.b и 5.О.С. Почти все, кто работал с продуктами Oracle в то вре- мя, рано или поздно приобретали себе копию одной из версий Oracle для PC (не обязательно устанавливая ее на машину). Дело в том, что версии эти были дешевы и поставлялись с полным набором печатной документа- ции, имевшей гораздо большую ценность, чем сам продукт. Другим значимым событием, связанным с версией 5, стал выпуск сете- вого продукта под названием SQL*Net (версия 1.0), изменившего весь об- г, лик систем Oracle. Однако перед тем как рассматривать SQL*Net более подробно, предлагаю вам на минуту представить себе поезд, идущий по рельсам. Если бы поезд мог думать, то он не беспокоился бы о том, из ка- кого материала сделаны рельсы и на каком расстоянии друг от друга заби- ты костыли, крепящие их к шпалам. Единственное, что могло бы его волновать,— это достаточно ли впереди рельсов, чтобы продолжать дви- жение. Теперь, запомнив пример с этим поездом, обратимся к самой пер- вой версии SQL*Net. Первая версия SQL*Net была очень проста, но качественно написана и обладала высокой эффективностью. Она позволяла выполнять про- граммы на разных машинах, подобно тому, как наш поезд может ходить по множеству путей в разных местах. Реализованный в SQL*Net набор протоколов служил своего рода "рельсами" для Oracle. Программы баз данных функционировали в среде, где не требовалось ничего знать об ис- пользуемом протоколе, точно так же, как поезду не нужно знать о типе рельсов, по которым он идет. На сервере запускался специальный прослушивающий процесс, кото- рый принимал от клиентов запросы на соединения и передавал их базе данных. SQL*Net позволял передавать информацию между клиентами и сервером прозрачным образом. Темой очередной международной недели пользователей Oracle (Inter- national Oracle User Week, IOUW), проходившей в 1991 году в Майами, штат Флорида, стал "клиентский серфинг". Логотип содержал изображе- ние человека на серфе, оседлавшего гребень океанской волны. Пакет программ с названием Oracle Card, в основе которого лежал язык Hypertalk фирмы Apple, был представлен как "волна будущего". Эти про- граммы позволяли с легкостью строить клиентские приложения, обеспе- чивающие взаимодействие между ПК и базой данных на сервере. В основном докладе говорилось, что централизованные вычисления на основе мэйнфреймов уходят в прошлое, будущее же принадлежит только средам клиент/сервер.

в прошлое, будущее же принадлежит только средам клиент/сервер.
в прошлое, будущее же принадлежит только средам клиент/сервер.
в прошлое, будущее же принадлежит только средам клиент/сервер.

Сетевые компоненты Oracle

43

Внезапное появление эффективного подхода к организации сетевой работы привело к вычислительной революции. С годами SQL*Net пре- терпел ряд эволюционных изменений, а его название было заменено на

Net8.

его название было заменено на Net8. Базовая архитектура В начале

Базовая архитектура

В начале этой главы я цитировала руководство администратора Net8. Да- вайте еще раз обратимся к этой цитате. "Net8 — это фундамент для семей- ства сетевых продуктов Oracle, позволяющий службам и их приложениям размещаться на разных компьютерах и взаимодействовать как равноправ- ные приложения". В среде клиент/сервер приложения обычно хранятся на клиентских ПК. Ресурсов этих компьютеров (памяти, дискового про- странства, вычислительной мощности) хватает только для решения при- кладных задач. Сама база данных размещается на мэйнфрейме, мини- или микрокомпьютере, имеющем гораздо больше ресурсов. Для выполнения транзакции нужны оба компьютера. "Основной функцией Net8 является установление сетевых сеансов и передача данных между клиентской машиной и сервером или между дву- мя серверами". Выше мы уже говорили о передаче данных между клиент- ской машиной и сервером, но зачем нужно передавать данные между двумя серверами? Дело в том, что помимо возможности обращаться к од- ному серверу базы данных с разных ПК в Oracle существует технология, которая позволяет взаимодействовать с базами данных, распределенны- ми по нескольким машинам, как с одной логической базой данных. Меха- низм, используемый для поддержки распределенных баз данных, называется связью баз данных (database link). На рис. 2.1 показан клиент, который выполняет задачу, требующую взаимодействия с тремя раздель- ными базами данных. С точки зрения этого клиента, существует только одна база данных.

Связь базы данных

Клиент "видит" одну базу данных вместо трех

Сервер

Рис. 2.1. Клиент, использующий несколько связей баз данных

44

44 Глава 2 Связь создается внутри базы данных и дает NetS всю

Глава 2

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

"клиент-сервер" и "сервер-сервер".

Требование к аппаратуре

Моя золовка Джоан дала мне замечательный рецепт приготовления сала- та из земляничного желе, которым я с удовольствием поделюсь. Вам по- требуются две маленьких или одна большая банка земляничного желе, две чашки горячей воды, одна упаковка мороженой земляники, восемь ба- нанов, одна чашка мелко накрошенных грецких орехов и две небольших банки сушеных ананасов. Горячая вода вливается в желе, а когда оно рас- творится, туда добавляют остальные ингредиенты и полученную смесь охлаждают. Получается очень вкусно. Заметьте, что в рецепте не было сказано ни слова об "аппаратуре", ко- торая нужна для приготовления этого блюда. Вы должны сами решить, нужно ли греть воду на плите или в микроволновке или для растворения желе хватит температуры горячей воды из крана. Я ничего не сказала и о том, какого типа или размера должны быть приспособления для измере- ния и смешивания. По этому рецепту можно успешно готовить независи- мо от того, каким способом нагревается вода или смешиваются ингредиенты. Единственное, что может повлиять на приготовление,— это размер емкости, которую вы будете использовать для смешивания. Она должна быть достаточно большой, чтобы ничего не пролить. Net8, как и его предшественник, SQL*Net, по большей части не зави- сит от платформы. В руководстве администратора NetS версии 8.1.5 сло- во "аппаратура" встречается в единственном комментарии: "Фактически количество поддерживаемых сетевых протоколов определяется только ограничениями, накладываемыми аппаратурой, памятью и операцион- ной системой конкретного узла". (О сетевых протоколах Oracle погово- рим чуть позже.) Таким образом, перед установкой и конфигурированием NetS необхо- димо в первую очередь убедиться, что на компьютере используется совмес- тимое сетевое программное обеспечение. Затем нужно проверить, подходит ли его версия для той версии NetS, которую предстоит использо- вать. Наконец, вы должны убедиться, что номер сетевого порта, который будет присвоен прослушивающему процессу Oracle, не используется дру- гой программой. Подробнее о номерах портов будет рассказано в главе 3.

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

Компонентные уровни

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

Сетевые компоненты Oracle

45

снимать с луковицы слой за слоем, то в конце концов доберетесь до серд- цевины. Сердцевиной луковицы Oracle является РСУБД. Между ней и другими уровнями лежат сетевые протоколы. Этот второй уровень необ- ходим для взаимодействия со всеми остальными продуктами семейства Oracle.

Рис. 2.2. Компонентные уровни Oracle

Итак, посмотрим, каким образом сетевые протоколы связывают воедино все уровни Oracle.

Протоколы Oracle

В первой главе мы обсуждали модель ISO/OSI и сетевые протоколы. На- помню, что когда один компьютер связывается с другим, запрос переда- ется через последовательность уровней, называемую стеком. Каждый уровень стека выполняет свою часть работы по трансляции сообщения в серию электрических импульсов. Все стеки сетевых протоколов имеют много общего, поскольку их основной задачей является передача сообще- ния по линии связи от одного компьютера к другому. Основу сетевой части Oracle составляют так называемый прозрачный сетевой субстрат (Transparent Network Substrate, TNS) и набор стандарт- ных протоколов. TNS обеспечивает взаимодействие всех остальных сете- вых компонентов Oracle с сетевым протоколом, установленным на компьютере. Net8 — это стек уровней, который располагается над сете- вым протоколом. На каждой машине, взаимодействующей с базой данных, должен быть установлен Net8. В таблице 2.1 перечислены уровни Net8, имеющие отно- шение к серверу Oracle.

46

Глава 2

Таблица 2.1.

Коммуникационный стек на стороне сервера Oracle

Уровень стека

Программный

интерфейс

Описание

Отвечает за выдачу ответов на каждое из возможных сообщений,

Oracle (Oracle-side

посылаемых интерфейсом вызовов Oracle (Oracle Call Interface,

Programmatic Interface,

OCI) на стороне клиента. Например, OCI-запрос на выборку

OR)

25 строк вызовет OPI-ответ, в котором будут возвращены 25

Two-Task Common

.

01

Nets (состоит из трех подуровней)

Адаптер протокола Oracle (Oracle Protocol Adapter)

Сетезависимый протокол

выбранных

строк.

Устраняет различия в наборах символов, используемых отправителем и получателем.

Сетевой интерфейс (Network Interface, Nl) — скрывает базовый сетевой протокол и среду передачи от клиентского приложения. Средства сетевой маршрутизации (Network Routing, НП)/сетевого именования (Network Naming, М^/сетевой аутентификации (Network Authentication, NA) — обеспечивают маршрутизацию данных к конечному месту назначения. Прозрачный сетевой субстрат (Transparent Network Substrate, TNS) —реализует общие коммуникационные процедуры, включая отправку и прием данных.

Тонкий слой кода, изолирующий Net8 от базового сетевого протокола.

Стек уровней, обеспечивающих пересылку SQL-операторов по сети.

Внимание

При использовании межброкерного Интернет-протокола (Internet Inter-ORB Protocol, МОР) или драйверов JDBC (Java Database Connectivity) стек протоколов будет

немногоотличатьсяотприведенноговтаблице2.1.

На стороне клиента стек будет таким же, за исключением самого верх- него (прикладного) уровня. Вместо программного интерфейса Oracle (OPI) здесь используется интерфейс вызовов Oracle (OCI). Запрос, сде- ланный пользователем через приложение, обрабатывается на стороне сервера. Ответ посылается клиенту через серверный и клиентский стеки. В нормальной ситуации (когда не возникает никаких проблем с сетью) пользователи обычно взаимодействуют только со своими приложениями и ничего не знают о других уровнях.

ничего не знают о других уровнях. Вниз по клиентскому стеку Чтобы

Вниз по клиентскому стеку

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

Сетевые компоненты Oracle 47 Уровень OCI OCI используется для

Сетевые компоненты Oracle

47

Сетевые компоненты Oracle 47 Уровень OCI OCI используется для

Уровень OCI OCI используется для инициирования диалога между кли- ентом и сервером, чтобы сервер мог начать обработку запроса с синтак- сической проверки SQL-оператора. В SQL*Net версии 2 этот уровень назывался программным интерфейсом пользователя (User Program Inter- face, UPI), но его функции были точно такими же. Для оператора SQL от- крывается курсор или буферная область, и все переменные клиентского приложения помещаются в область разделяемой памяти сервера. Разме- щение переменной в области памяти для последующего использования в SQL-запросе называется связыванием (binding). Переменные клиентской прикладной программы, используемые в SQL-операторах, хранятся в сте- ке глобальной области процесса (Process Global Area, PGA). В процессе связывания происходит получение ссылок (указателей) на значения, хра- нимые в PGA. Поскольку связывание выполняется по ссылке, перемен- ную не требуется связывать заново перед повторным выполнением SQL-оператора; достаточно просто изменить ее значение. Затем с помощью серверного словаря данных определяется состав возвращаемых полей и начинается выполнение SQL-оператора в про- странстве памяти курсора. В ходе выполнения оператора клиентскому приложению посылаются строки данных, а приложение выводит их на экран. Когда вся информация будет извлечена, курсор или буферная об- ласть памяти закрывается и освобождается. В зависимости от того, как написано приложение, вызовы либо груп- пируются в одно сообщение, либо посылаются по очереди. Разумеется, цель состоит в том, чтобы минимизировать количество обращений к серверу и тем самым сократить сетевой трафик. После инициирования вызова управление передается от уровня OCI к уровням Net8, обеспечи- вающим установление соединения и передачу запроса серверу.

и передачу запроса серверу. Уровень Two-Task Common В модели ISO/OSI

Уровень Two-Task Common В модели ISO/OSI уровень представле- ния данных обеспечивает согласование форматов данных, используемых разными компьютерами. Уровень Two-Task Common представляет собой Oracle-реализацию уровня представления данных. Он выполняет преоб- разования между различными наборами символов и форматами данных, используемыми клиентом и сервером. Для уменьшения затрат времени и ресурсов этот уровень спроектирован так, чтобы выполнять преобразова- ние только при необходимости. Именно здесь принимается решение о том, нужно ли преобразовывать данные. С этой целью производится сравнение внутренних представлений данных и наборов символов.

Уровни Net8 Net8 выполняет функции сеансового уровня. Он устанав- ливает и поддерживает соединения между клиентом и сервером, обеспе- чивая обмен сообщениями. Как следует из таблицы 2.1, этот уровень состоит из трех компонентов: N1, связки NR/NN/NA и TNS. Они выпол- няют следующие функции:

Сетевой интерфейс (N1) обрабатывает запросы на разрыв ("break") и сброс ("reset") соединения.

запросы на разрыв ("break") и сброс ("reset") соединения. •

48

Глава 2

• Средства сетевой маршрутизации

(NR) обеспечивают маршрутиза-

цию сообщений к месту назнач