Введение
I.1 Основы
С самых первых дней использования компьютеров хосты обменивались информацией с непосредственно подключенными к ним устройствами, такими, как устройство чтения перфокарт или устройство печати. Интерактивное использование компьютеров потребовало сначала локального, а затем удаленного подключения терминалов конечных пользователей. Далее последовало объединение нескольких компьютеров в рамках одной организации, что было вызвано необходимостью обеспечения обмена данными между компьютерами или потребностью пользователя одного из компьютеров получить доступ к другому компьютеру.
Разработчики компьютерных систем откликнулись на эти потребности созданием соответствующего аппаратного и программного обеспечения. Однако средства того времени обладали следующими недостатками:
■ Программные средства были лицензионными (мы будем использовать для proprietary перевод 'лицензионные', в смысле коммерческие и не доступные для бесплатного использования. —
■ Поддерживался только ограниченный набор локальных и региональных сетей.
■ Часто программные средства были очень сложными и требовали различных диалектов для работы с разными устройствами.
■ Отсутствие гибкости не позволяло объединить уже существующие сети недорогими и простыми в работе средствами.
Эта ситуация изменилась с появлением протокола управления передачей/протокола Интернета (Transmission Control Protocol/Internet Protocol — TCP/IP) и порождаемыми им технологиями маршрутизации.
Сегодня компьютерные сети организаций стали взаимосвязанными системами. В организациях локальными сетями (Local Area Network — LAN) объединяются настольные рабочие станции (workstation), серверы (server) и хосты (host). Локальные сети (ЛС) соединяются с другими ЛС и региональными сетями (Wide Area Network — WAN).
Обычным для сегодняшнего дня требованием стала возможность взаимодействия между системами независимо от их территориального размещения в сети.
I.2 Приложения TCP/IP
С самого начала в TCP/IP было заложено несколько важных свойств для служб работы с приложениями:
■ Терминальный доступ к любому хосту
■ Возможность копирования файлов с одного хоста на другой
■ Обмен сообщениями электронной почты между любыми двумя пользователями
С течением времени в наборе протоколов TCP/IP появились и другие возможности, очень важные для приложений:
■ Печать на удаленном принтере (Remote Printing)
■ Работа с сетевой файловой системой (Network File System — NFS)
■ Сетевые новости (Network News)
■ Gopher
■ Word Wide Web (WWW — Иногда эту службу Интернета в русскоязычной литературе называют 'Всемирной паутиной', однако мы будем придерживаться более распространенного среди специалистов названия WWW. —
Кроме того, расширился набор утилит администрирования и обслуживания сети. Среди новых средств можно назвать:
■ Службу каталогов для отображения содержательных сетевых имен хостов на их физические сетевые адреса
■ Протокол динамического конфигурирования хоста (Dynamic Host Configuration Protocol — DHCP)
■ Сетевое управление хостами, маршрутизаторами (router) и другими сетевыми устройствами
Семейство TCP/IP продолжает жить, расширяться и использоваться. Количество применяющих эти протоколы пользователей увеличивается экспоненциально, разрабатываются новые службы и продукты для модульной интеграции в TCP/IP.
Приложения для WWW привели к революционным переменам в вычислениях клиент/сервер и полностью преобразили методы выполнения прикладных расчетов.
Благодаря программным продуктам для TCP/IP множество организаций смогли подключиться к Интернету, что добавило новые силы этому семейству протоколов, первоначально разработанных для применения в военных и правительственных учреждениях. Именно с последними раньше были связаны основные проблемы сетевой адресации, которые решались путем разработки эффективного механизма адресации и маршрутизации, а также создания надежной защиты сетей от внешнего вторжения.
I.3 Терминология
Обмен данными, как это принято в технических дисциплинах, имеет собственный язык. Все специалисты в этой области используют одни и те же термины. Единственная проблема заключается в том, что разные группы людей одной специальности применяют одни и те же слова для различных понятий, равно как и разные слова для выражения одного и того же понятия.
Мы попытаемся ограничиться очень простым набором терминов, который и будем использовать во всей книге. В этом разделе даны используемые нами определения основных понятий.
I.3.1 Протоколы, элементы, стеки и наборы