TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - Сидни Фейт
Шрифт:
Интервал:
Закладка:
■ Работа с сетевой файловой системой (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 Протоколы, элементы, стеки и наборы
Протоколом (protocol) называется набор правил для одной из коммуникационных функций. Например, протокол IP представляет собой набор правил для маршрутизации данных, a TCP определяет правила для надежной и последовательной доставки данных.
Элемент данных протокола (protocol data unit — PDU), или пакет (packet) — это форматированный элемент данных, который передается по сети. Пересылаемая в таком пакете информация часто называется полезной нагрузкой (payload).
Стек протоколов (protocol stack) представляет собой набор организованных по уровням протоколов, которые, работая совместно, позволяют приложениям обмениваться данными. Например, стеком является набор протоколов TCP, IP и Ethernet.
Набор протоколов (protocol suite) — это семейство протоколов, работающих совместно и связанных между собой. Набор протоколов TCP/IP обеспечивает множество различных возможностей, начиная от динамического определения адреса сетевого адаптера и заканчивая службой каталогов, определяющей способ доставки сообщения электронной почты.
I.3.2 Хосты
Хостом называется компьютер, который выполняет приложения и имеет одного или нескольких пользователей. Поддерживающий TCP/IP хост работает как конечная точка сетевой коммуникации. Отметим, что персональные компьютеры (ПК), рабочие станции, мини-компьютеры или большие ЭВМ подпадают под определения хоста и каждый из этих компьютеров может реализовать стек TCP/IP.
В книге будут также использоваться термины: "станция" (station), "компьютер" (computer) и "компьютерная система" (computer system) как синонимы термина "хост".
I.3.3. Маршрутизаторы
Маршрутизатор (router) управляет пересылкой данных по сети. Первоначально в стандартах TCP/IP использовался термин шлюз (gateway), однако в области производства большее распространение получил термин "маршрутизатор". В области коммуникаций термин "шлюз" определяет систему, выполняющую некоторое преобразование протокола.
В книге будет применяться термин "маршрутизатор", однако при обращении к документации по стандартам TCP/IP нужно помнить, что в них используется термин "шлюз".
I.3.4 Интернет
Термин "интернет" (со строчной буквы) обозначает сетевую среду (локальную или региональную), объединенную с помощью маршрутизаторов. Интернет (с прописной буквы) определяет сообщество из сетей интернета, объединяющее тысячи компьютеров.
I.3.5 Сетевой узел, система и элемент сети
Термины "сетевой узел" (network node), "система" (system) и "элемент сети" (network element) служат для обозначения такого коммуникационного объекта сети, для которого не указаны специализированные свойства (т.е. не задано, что это хост, маршрутизатор или иное устройство, например мост). Пример: "Целью обслуживания сети является управление и мониторинг всех ее узлов".
I.3.6 ЛС, региональные сети и связи
Локальные сети (ЛС) предназначены для обслуживания относительно малых географических областей, в основном не превышающих нескольких квадратных километров. Региональные сети охватывают большие географические области и обычно организованы на основе последовательных телефонных линий и устройств для совместного использования коммутации пакетов.
Более общий термин "связь" (link) определяет любую среду передачи данных для локальных или региональных сетей, через которую могут взаимодействовать любые узлы (с помощью протоколов уровня связи данных).
I.3.7 Люди
Термин "хакер" (hacker) часто используется в положительном смысле — человек, имеющий высокий уровень компьютерных знаний. С другой стороны, хакером называют и человека, пытающегося взломать личные компьютерные сети. В книге мы будем использовать второе значение слова "хакер".
I.3.8 Байты и октеты
Наиболее часто под байтом (byte) понимается группа из восьми бит. Однако слово "байт" означает и наименьшую адресуемую часть памяти компьютера. Время от времени некоторые производители компьютеров создают машины с иным размером байтов информации.
Общепринятым для технической документации является термин октет (octet), который всегда определяет ровно 8 бит данных. В книге мы будем использовать слова "байт" и "октет" как синонимы, а для обозначения байтов, не равных 8 бит, применять термин "логический байт" (logical byte).
I.3.9 Стиль "тупоконечников" и "остроконечников"
Некоторые компьютеры хранят данные начиная от наиболее значимого бита. Такой стиль называется стилем "тупоконечников" (Big Endian). Однако другие компьютеры первым размещают менее значимый бит — стиль "остроконечников" (Little Endian; — Оба выражения заимствованы из романа Дж. Свифта "Путешествие Гулливера". — Прим. пер.)
Аналогичные названия имеют и стили для стандартов коммуникационного обмена данными, которые зависят от очередности передачи битов.
Стандарты для протоколов Интернета предполагают стиль "тупоконечников". Однако некоторые организации, например Институт инженеров по электротехнике и электронике (IEEE), предлагают при передаче начинать пересылку с битов или байтов наименьшей значимости (для обычных арабских чисел наименьшую значимость имеет крайняя правая цифра, а наибольшую — крайняя левая. — Прим. пер.).
I.4 Реализации с использованием оборудования различных производителей
В отличие от использовавшихся ранее лицензионных сетевых протоколов TCP/IP реализованы на компьютерах различных производителей и могут использовать программное обеспечение независимых компаний.
Реализация базировалась на принятых стандартах и бесплатном программном обеспечении, разработанном добровольцами. Строгие ограничения содержатся в дополнительных документах Host Requirements (требования к хостам) и Router Requirements (требования к маршрутизаторам).
Достигается определенный уровень взаимодействия систем, и конечные пользователи убеждаются, что нужные приложения прекрасно работают друг с другом.
Однако, если заглянуть за кулисы происходящих событий, можно обнаружить, что иногда разработчики ограничивают некоторые возможности с целью достичь большей производительности или улучшить процедуру исправления ошибок. Часто разработчики программного обеспечения просто не до конца понимают некоторые детали стандартов и в результате не реализуют в своих продуктах имеющиеся возможности.