2.2.2 Коммуникации без создания соединений (UDP)
Некоторые операции обмена данными не требуют постоянного взаимодействия систем. Например, база данных на сетевом сервере может содержать таблицы имен сотрудников компании и их телефонные номера. Узнать номер телефона конкретного сотрудника можно при передаче на сервер запроса с указанием имени этого сотрудника. Сервер должен будет ответить сообщением, содержащим соответствующий телефонный номер. Такой тип взаимодействия поддерживается
2.2.3 Интерфейс программирования socket
Реализации TCP/IP обычно предоставляют для разработчиков коммуникационный программный интерфейс. Многие из таких интерфейсов основаны на
К программному интерфейсу socket относятся:
■ Простые подпрограммы для создания, пересылки и приема независимых сообщений, используемых при коммуникациях без создания соединения по протоколу UDP
■ Программы для создания соединения TCP, передачи и приема данных, а также для закрытия созданного соединения
2.2.4 Программный интерфейс RPC
Хотя и не так широко распространенный, как socket, программный интерфейс
Клиент, использующий интерфейс RPC, способен вызывать подпрограммы, которые автоматически пересылают запрос на сервер. Сервер исполняет затребованную подпрограмму и возвращает ее выходные результаты клиенту. Именно с этим связано название данного интерфейса, поскольку локально запущенная программа может инициировать обработку на удаленной системе.
Например, описанное в п. 2.2.2 приложение для просмотра телефонных номеров может быть реализовано через программы RPC.
2.3 Основные службы
Реализация TCP/IP предполагает доступность, по крайней мере, трех прикладных служб: пересылки файлов, удаленной регистрации и электронной почты. Многие продукты имеют клиентские и серверные службы для WWW, а также функции для печати на удаленных принтерах.
2.3.1 Пересылка файлов
Пересылка файлов (file transfer) является старейшей службой TCP/IP. Протокол пересылки файлов (File Transfer Protocol — FTP) разрешает пользователю пофайловое копирование с одной системы на другую. FTP имеет дело с простыми типами файлов, такими как текстовые файлы в коде для обмена информацией Американского национального института стандартов (American National Standard Code for Information Interchange — ASCII) или неструктурированные двоичные файлы. FTP обеспечивает пользователю доступ к удаленной файловой системе для выполнения служебных операций: переименования и удаления файлов либо создания новых каталогов.
2.3.2 Доступ с терминала
В начале 70-х гг. многие производители компьютеров создавали модели терминалов, которые были совместимы только с их собственными компьютерными системами. Министерство обороны США закупало оборудование у различных производителей и, естественно, настаивало на обеспечении для каждого терминала единообразного доступа к любому компьютеру сети. Протокол терминального доступа
2.3.3 Электронная почта
Электронная почта (далее будем называть ее просто почтой, а когда речь пойдет об обычной почтовой службе, это будет оговорено дополнительно.—
■ Формат почтового сообщения, пересылаемого между пользователями. Определены форматы для неструктурированного текста, текста, состоящего из нескольких частей, и мультимедийных сообщений.
■ Механизмы для направления и пересылки методом сохранить-переслать дальше при обмене почтовыми сообщениями между хостами. С первых дней Интернета для этого применяется
Многие лицензионные почтовые системы были подключены к Интернету, что существенно расширило круг потенциальных пользователей почтовой службы.
На рис. 2.1 показано взаимодействие между хостами сети. Отметим, что TCP/IP полностью соответствует сетевой архитектуре "равный с равным" и любой из хостов может выступать как клиент или сервер, а также одновременно как клиент и сервер.
Рис. 2.1. Прикладные службы сети TCP/IP
2.3.4 Служба WWW
Word Wide Web (WWW) — наиболее привлекательная система из всех прикладных служб клиент/сервер, реализованных в TCP/IP. Пользователь может получить доступ к прекрасно оформленным документам, содержащим графические изображения и звуковые файлы, легко перемещаться между сайтами сети одним щелчком мыши и проводить поиск в огромных информационных архивах.
2.4 Дополнительные службы
К набору протоколов TCP/IP были добавлены и другие службы. Ниже рассмотрены наиболее популярные и широко распространенные.
2.4.1 Доступ к файлам
Файловые серверы дают пользователю возможность работать с удаленными файлами так, как если бы они располагались на локальной системе. Первоначально файловые серверы получили распространение в локальных сетях персональных компьютеров как средство совместного использования дисковых ресурсов, централизации обслуживания и резервного копирования.
Многие продукты TCP/IP включают сетевую файловую систему (Network File System — NFS). Такие продукты поддерживают одну или обе роли NFS:
2.4.2 Новости
Приложения для работы с электронными новостями появились для обслуживания локальных электронных досок объявлений (bulletin board) и распространения находящихся на них данных на другие сайты сети.
Многие организации используют бесплатное программное обеспечение для публикации внешней информации электронным способом. Другие организуют доступ к группам новостей Интернета, на которых обсуждаются самые разнообразные темы, начиная от спорта и кончая физикой плазмы. Такое программное обеспечение применяется и для доступа к коммерческим информационным службам новостей, например к Рейтер, АР или UPI.
2.4.3 Служба имен DMS
Для использования сетевых служб требуется способ идентификации удаленных компьютеров. Пользователи и программы могут указывать нужный компьютер по его имени, которое легко запомнить или ввести.
Для создания соединения с хостом имя хоста должно быть преобразовано в его цифровой адрес. Первоначально каждый хост TCP/IP хранил полный список всех имен и адресов для хостов сети. Однако при стремительном расширении Интернета это стало невозможным, поскольку число хостов стало измеряться тысячами и миллионами.
Кроме трансляции имен и адресов хостов, серверы DNS предоставляют информацию для маршрутизации сообщений электронной почты в точку назначения.
2.4.4 Коммерческое программное обеспечение
Многие сторонние разработчики создают приложения, работающие поверх TCP/IP. Например, производители баз данных соединяют настольные компьютеры-клиенты с серверами средствами TCP/IP.
2.4.5 Управление сетью
По прошествии некоторого времени многие инструменты сетевого управления стали создаваться на основе набора протоколов TCP/IP. Например, существуют команды, позволяющие определить, находится ли конкретная система сети в рабочем состоянии, просмотреть ее текущую загрузку или получить список доступных в сети служб.
Такие команды очень полезны, но для централизации сетевого управления требуется единый и полный набор команд. В Интернете для этого был разработан
2.4.6 Диалоги
Лучшим способом понять работу служб TCP/IP является их применение на практике. Эта глава завершается несколькими краткими примерами интерактивных диалогов, иллюстрирующими работу служб сети. Во всех диалогах вводимые пользователем команды напечатаны полужирным шрифтом. Это соглашение будет применяться по всей книге. Основы работы со службами достаточно просты.
После начала работы каждая служба выводит некоторое сообщение. Конечный пользователь может по большей части просто игнорировать такие сообщения. В следующих главах мы еще вернемся к внутренним механизмам работы различных служб и подробно рассмотрим сведения, выводимые в этих информационных сообщениях.
2.4.7 Диалог доступа с терминала
Доступ с терминала является примером работы с простейшей службой. В приведенном ниже примере запрашивается соединение по
> telnet bulldog.cs.yale.edu
Trying 128.36.0.3 ...
Connected to bulldog.cs.yale.edu
Escape character is '^]' .
login:
Хотя это очень простой диалог с пользователем, за кулисами происходит достаточно большая работа.
Схемы именования и нумерации TCP/IP будут рассмотрены в главе 5. Однако уже сейчас можно понять, что имя состоит из нескольких разделенных точками слов, а адрес — из четырех цифр, также разделенных точками.
2.4.8 Просмотр имен в базе данных DNS
Как и многие системы TCP/IP, используемый нами локальный хост имеет клиентское приложение
Ниже показан пример вывода имени и адреса локального сервера по умолчанию при вводе команды
> 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 для копирования файла
> 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 показано копирование файла на персональный компьютер в приложении
Рис. 2.2. Пересылка файла через приложение для настольного компьютера