Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
- Название:TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
- Автор:
- Жанр:
- Издательство:Лори
- Год:2000
- Город:Москва
- ISBN:5-85582-072-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) краткое содержание
Второе издание популярного справочника полностью переработано и расширено с целью предоставить читателю наиболее полное описание средств разработки, конфигурирования, использования и обслуживания сетей TCP/IP и соответствующих служб.
Книга написана увлекательно и доступно. Она содержит дополнительные материалы о нескольких протоколах Интернета, используемых серверами и браузерами WWW, а также рассматривает все последние изменения в этой области. В книгу включены главы о новом стандарте безопасности IP и протоколе IP следующего поколения, известном как IPng или IPv6. Рисунки и таблицы наглядно показывают влияние средств безопасности IP и IPng на существующие сетевые среды.
Издание содержит следующие дополнительные разделы:
• Безопасность IP и IPv6
• Описание средств WWW, новостей Интернета и приложений для работы с gopher
• Подробное описание серверов имен доменов (DNS), маски подсети и бесклассовой маршрутизации в Интернете
• Таблицы и протоколы маршрутизации
• Руководство по реализации средств безопасности для каждого из протоколов и приложений
• Примеры диалогов с новыми графическими инструментами
Новое издание бестселлера по TCP/IP станет незаменимым помощником для разработчиков сетей и приложений, для сетевых администраторов и конечных пользователей.
TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
За идентификатором программы 100003 (NFS) и процедуры 4 (просмотр имен файлов) следуют параметры: описатель файла (file handle) и имя файла.
Описатель файла — это специальный идентификатор, связанный с каталогом или файлом сервера. В версии 2 протокола RPC описатель файла представлен строкой фиксированной длины в 32 бита, в версии 3 он задается строкой переменной длины с максимальной длиной в 64 бита. В запросе указан файл README, расположенный в каталоге, идентифицированном описателем файла.
Поля в сообщении запроса кодируются по правилам форматирования XDR (см. следующий раздел).
Мы можем получить представление о работе XDR, рассмотрев некоторые шестнадцатеричные коды в сообщении запроса:
Тип сообщения = 0, кодируется (в шестнадцатеричных значениях) как:
00 00 00 00
Версия RPC = 2 , кодируется как:
00 00 00 02
Машина = atlantis , кодируется как:
(длина строки =8) atlantis
00 00 00 08 61 74 6С 61 6E 74 69 73
RPC: -- SUN RPC header --
RPC:
RPC: Transaction id = 641815012
RPC: Type = 1 (Reply)
RPC: Status = 0 (Accepted)
RPC: Verifier: authorization flavor = 0 (Null)
RPC: [Verifier: 0 byte(s) of authorization data]
RPC: Accept status = 0 (Success)
RPC:
RPC: [Обычное завершение заголовка "SUN RPC" .]
RPC:
NFS: -- SUN NFS --
NFS:
NFS: Proc = 4 (Look up file name)
NFS: Status = 0 (OK)
NFS: File handle = 0000070A00000001000A000000005AC9
NFS: 3298621C000A0000000044C018F294BE
NFS: File type = 1 (Regular file)
NFS: Mode = 0100644
NFS: Type = Regular file
NFS: Owner's permissions = rw-
NFS: Group's permissions = r-
NFS: Others; permissions = r-
NFS: Link count = 1, UID = 303, GID = 1
NFS: File size = 130, Block size = 8192, No. of blocks = 2
NFS: File system id = 1802, File id = 23241
NFS: Access time = 23-Oct-95 16:35:01 GMT
NFS: Modification time = 20-Oct-95 12:10:43 GMT
NFS: Inode change time = 20-Oct-95 12:10:43 GMT
NFS:
NFS: [Обычное завершение "SUN NFS".]
NFS:

Рис. 15.7.Формат сообщения RPC с ответом от NFS
В показанном на рис. 15.7 ответе присутствует тот же идентификатор транзакции. Указана нулевая аутентификационная информация. Запрос был принят, и его обработка завершилась успешно. Ответ содержит много полезной информации о файле README :
■ Идентификатор описателя файла. Любые дальнейшие операции с этим файлом будут использовать указанный в ответе описатель.
■ Режим (mode) описывает тип файла и указывает, кто может получить доступ к этому файлу (владелец, группа или любой пользователь). Режим объявляет, может ли пользователь читать или записывать файл. Если файл представляет собой прикладное программное обеспечение, режим показывает, могут ли пользователи запускать такое приложение.
■ Имеются дополнительные атрибуты файла, например его размер, время последнего обращения и обновления. Можно ожидать, что эти атрибуты поддерживаются в любой файловой системе.
15.11 XDR
Как будут взаимодействовать разнородные (гетерогенные) машины в окружении клиент/сервер, чтобы понимать посылаемые друг другу данные? Например, клиент NFS может захотеть, чтобы сервер прочитал в файле 1000 байтов данных от некоторой позиции. Как должны кодироваться параметры такого запроса? Типичными параметрами являются имя файла или имя каталога, равно как и атрибуты файла (размер файла и целые значения, точно определяющие количество байт или текущее смещение в файле).
Все параметры в сообщениях Sun RPC определены и кодируются по протоколу представления внешних данных (external Data Representation — XDR). Этот протокол специфицирует:
■ Язык описания данных XDR, определяющий тип данных в запросах и ответах
■ Правила кодирования XDR по форматированию данных при пересылке
Большая часть библиотеки программирования RPC состоит из запросов, которые преобразуют типы данных в/из сетевого формата XDR.
15.11.1 Язык описания данных XDR
Описания данных XDR похожи на описания данных в языках программирования и не являются слишком сложными. Существует несколько основных типов данных XDR: целые числа со знаком и без знака, последовательные (или порядковые) целые числа, строки ASCII, логические значения и числа с плавающей точкой. Для пересылки строк октетов общего вида применяется тип данных opaque (непрозрачный, без преобразования). В полях с этим типом данных может пересылаться зашифрованная информация. К более сложным типам данных относятся массивы, структуры и объединенные типы данных (union datatypes), построенные на основе базовых типов.
Порядковые целые числа позволяют присвоить значения каждому элементу короткого списка целых чисел. Простым примером порядкового целого числа является тип сообщения (msg_type), определяющий, будет ли сообщение запросом или ответом:
enum msg_type {
CALL = 0,
REPLY = 1
};
В данном поле может появляться только одно из целых чисел: 0 или 1. Ввод любого другого целого числа приведет к ошибке.
Структура определения тела сообщения запроса RPC:
struct call_body {
unsigned int rpcvers; /* Версия должна быть равна 2 */
unsigned int prog; /* Это номер программы */
unsigned int vers; /* Это версия программы */
unsigned int proc; /* Определение процедуры */
opaque_auth cred; /* Мандат, например userid */
opaque_auth verf; /* Verifier для мандата */
/* Здесь может быть зашифрованное поле */
/* начало описания специфичных для процедуры параметров */
15.11.2 Кодирование в XDR
Сообщения запросов и ответов для данной версии программы или процедуры имеют фиксированный формат. Тип данных поля определяется положением этого поля в сообщении. Длина каждого поля должна быть кратна 4 байт. Многие параметры представляются целыми числами без знака длиной в 4 байта. Например, процедура с номером 5 будет представлена как:
00 00 00 05
Строки ASCII кодируются как 4-октетное целое число, содержащее длину строки со следующими далее символами ASCII, дополненными до полей, кратных 4 байт. Например, строка README будет выглядеть как:
(длина строки = 6) R E A D M E (заполнитель)
00 00 00 06 52 45 41 44 4D 45 00 00
Альтернативный метод определения и кодирования специфицирует стандарт описания данных в первой абстрактной синтаксической нотации OSI (OSI Abstract Syntax Notation 1 — ASN.1) и стандарт базовых правил кодирования (Basic Encoding Rules — BER,). ASN.1 и BER используются некоторыми приложениями TCP/IP. Наиболее значимым из них является Simple Network Management Protocol (SNMP).
Стандарт кодирования BER предполагает размещение перед каждой порцией данных специального поля, идентифицирующего эти данные и определяющего их длину (ASN.1 и BER обсуждаются в главе 20). Преимущество XDR состоит в том, что данные кодируются существенно меньшим количеством байт, а недостаток — в том, что каждое поле должно быть в предопределенном месте сообщения.
Читать дальшеИнтервал:
Закладка: