Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
После начала работы каждая служба выводит некоторое сообщение. Конечный пользователь может по большей части просто игнорировать такие сообщения. В следующих главах мы еще вернемся к внутренним механизмам работы различных служб и подробно рассмотрим сведения, выводимые в этих информационных сообщениях.
2.4.7 Диалог доступа с терминала
Доступ с терминала является примером работы с простейшей службой. В приведенном ниже примере запрашивается соединение по telnet с хостом bulldog.cs.yale.edu. После установки соединения telnet информирует, что комбинация клавиш CONTROL-] служит для возврата к сеансу с локальной системой. Затем удаленный хост выводит приглашение регистрации login:, и с этого момента начинается обычная работа с удаленным хостом, как если бы это был локальный компьютер.
> telnet bulldog.cs.yale.edu
Trying 128.36.0.3 ...
Connected to bulldog.cs.yale.edu
Escape character is '^]' .
login:
Хотя это очень простой диалог с пользователем, за кулисами происходит достаточно большая работа. Telnet просматривает базу данных DNS и определяет, что адресом требуемой системы является 128.36.0.3. Именно этот адрес и будет использован telnet для соединения с удаленным хостом.
Схемы именования и нумерации TCP/IP будут рассмотрены в главе 5. Однако уже сейчас можно понять, что имя состоит из нескольких разделенных точками слов, а адрес — из четырех цифр, также разделенных точками.
2.4.8 Просмотр имен в базе данных DNS
Как и многие системы TCP/IP, используемый нами локальный хост имеет клиентское приложение nslookup (от network server lookup — просмотр сетевого сервера), которое разрешает пользователю интерактивно запросить базу данных DNS.
Ниже показан пример вывода имени и адреса локального сервера по умолчанию при вводе команды nslookup. Запрос к базе данных формируется при указании имени нужного хоста. В ответе повторяется введенное имя для проверки правильности его набора на клавиатуре.
> nslookup
Default Server: DEPT-GW.CS.YALE.EDU
Address: 128.36.0.36
> bulldog.c8.yale.edu
Server: DEPT-GW.CS.YALE.EDU
Address: 128.36.0.36
Name: bulldog.cs.yale.edu
Address: 128.36.0.3
2.4.9 Диалог при пересылке файла
Далее можно использовать FTP для копирования файла chapter1 из каталога book хоста plum.yale.edu на локальный хост. Начинающиеся цифрами строки — это сообщения от сервера пересылки файлов. Команда cd (change directory — изменить текущий каталог) служит для перехода к каталогу book на удаленном хосте. Команда get (получить) используется для копирования файла.
> ftp plum.yale.edu
Connected to plum.yale.edu
220 plum FTP server (SunOS 4.1) ready.
Name : icarus
331: Password required for icarus
Password :
230 User icarus logged in.
ftp> cd book
250 CWD command successful.
ftp> get chapter1
200 PORT command successful.
150 ASCII data connection for chapter1 (130.132.23.16,3330) (32303 bytes).
226 ASCII Transfer compete.
32303 bytes received in 0.95 seconds (33 Kbytes/s)
ftp> quit
221 Goodbye.
Пересылка файла упрощается в приложении для настольного компьютера с графическим пользовательским интерфейсом (Graphical User Interface — GUI). На рис. 2.2 показано копирование файла на персональный компьютер в приложении Chameleon компании Netmanage. Перечисленные справа файлы находятся на сервере Unix. Один из них (с именем Index-byname) выбран для копирования. После копирования ему будет присвоено имя index.txt, которое указано в левом окне. Операция копирования запускается щелчком мыши на командной кнопке со стрелкой или при перетаскивании значка файла.
Рис. 2.2. Пересылка файла через приложение для настольного компьютера
2.4.10 WWW
Можно копировать файлы и с серверов WWW, не задумываясь об их реальном размещении. На рис. 2.3 показан экран браузера Netscape Navigator. Новые документы извлекаются щелчком мыши на одной из выделенных фраз. Далее их можно сохранить на локальном диске через меню File/Save.
Рис. 2.3. Использование браузера Netscape
2.4.11 Новости
На рис. 2.4 представлен экран Chameleon для работы с новостями. На нем перечислены группы новостей по темам научных исследований.
Рис. 2.4. Группы новостей по научной тематике
2.4.12 Диалог для доступа к файлу
Рассмотрим последний диалог с пользователем. В этом примере используется компьютер с дисковой операционной системой (Disk Operating System — DOS), подключенный к сети TCP/IP. Мы переключимся на устройство d: локального хоста и просмотрим содержимое корневого каталога:
d:
d:> dir
Volume in drive D is SERVER
Directory of D:
. <DIR> 10-25-95 8:03a
.. <DIR> 10-25-95 8:03a
ALTBWPM 711 2-18-95 12:53p
EGA512 FRS 3584 9-16-94 3:57p
WPRINT1 344392 11-05-95 13:28p
README WPD 5492 9-16-95 3:57p
SPELL EXE 40448 9-16-95 3:55p
WP EXE 252416 11-15-95 4:51p
...
К этому примеру даже не требуется особых пояснений: файлы, которые отмечены как находящиеся на локальном диске d:, реально читаются с удаленного сервера NFS.
Глава 3
Архитектура TCP/IP
3.1 Введение
Протоколы TCP/IP разработаны для сетевого окружения, которое было мало распространено в 70-х гг., но сегодня стало нормой. Эти протоколы позволяют соединять оборудование различных производителей и способны работать через различные типы носителей или сред и связи данных. Они позволили объединить сети в единую сеть интернет, все пользователи которой имеют доступ к набору базовых служб.
Более того, спонсировавшие разработку TCP/IP научные, военные и правительственные организации хотели получить возможность подключения к интернету новых сетей без изменения служб уже существующих в интернете сетей.
Все эти требования нашли отражение в архитектуре TCP/IP. Требования независимости от носителей и расширения за счет подключения новых сетей привели к решению о пересылке данных в интернет с разделением их на части и маршрутизацией каждой из этих частей как независимого элемента.
Такие возможности гарантируют надежную пересылку данных от хоста источника к хосту назначения. Вследствие этого разработчики маршрутизаторов направили свои усилия на повышение производительности и внедрение новых коммуникационных технологий.
Все это привело к прекрасной масштабируемости протоколов TCP/IP и возможности их применения на различных системах — от больших ЭВМ (mainframe) до настольных компьютеров. На практике полезный набор функциональных свойств сетевого управления маршрутизацией реализуется неинтеллектуальными устройствами, подобными мостам, мультиплексорам или коммутаторам.
3.2 Деление на уровни
Для достижения надежности обмена данными между компьютерами необходимо обеспечить выполнение нескольких операций:
■ Пакетирование данных
■ Определение путей (маршрутов) пересылки данных
■ Пересылку данных по физическому носителю
■ Регулировку скорости пересылки данных в соответствии с доступной полосой пропускания и возможностью приемника получать посланные ему данные
■ Сборку полученных данных, чтобы в формируемой последовательности не было потерянных частей
■ Проверку поступающих данных на наличие дублированных фрагментов
■ Информирование отправителя о том, сколько данных было передано успешно
■ Пересылку данных в нужное приложение
■ Обработку ошибок и непредвиденных событий
В результате программное обеспечение для коммуникации получается достаточно сложным. Следование модели с разделением на уровни позволяет упростить объединение сходных функций в группы и реализовать разработку коммуникационного программного обеспечения по модульному принципу.
Специфика структуры протоколов TCP/IP определяется требованиями коммуникаций в научных и военных организациях. IP позволяет объединить различные типы сетей в интернет, a TCP несет ответственность за надежную пересылку данных.
Коммуникационная модель обмена данными OSI строго соответствует структуре TCP/IP. Уровни и терминология модели OSI стали стандартной частью коммуникационной структуры обмена данными.