Компьютерные сети

Многоуровневая архитектура Интернета

Архив за августа, 2008

Как мы отмечали в разделе «Принципы работы протоколов прикладного уровня», процессы, выполняющиеся на разных вычислительных машинах, взаимодействуют друг с другом при помощи сообщений, посылаемых через сокеты. Мы представили процессы в виде домов, а сокеты — в виде дверей. Как показано на рис. 2.18, сокет является дверью между процессом и протоколом TCP. Разработчик приложения полностью контролирует ту часть сокета, которая относится к прикладному уровню, почти не имея возможности воздействовать на «транспортную» часть (за исключением задания нескольких параметров протокола TCP, таких как максимальный размер буфера и сегмента).
Читать далее »

Находится в разделе Программирование ТСР-сокетов

Как упоминалось в разделе «Принципы работы протоколов прикладного уровня», ядро сетевого приложения состоит из двух программ — клиента и сервера. Когда эти программы запускаются, создаются клиентский и серверный процессы, которые взаимодействуют друг с другом, обмениваясь сообщениями через сокеты. При создании сетевого приложения главной задачей разработчика является написание программного кода для клиентской и серверной частей приложения.
Читать далее »

Находится в разделе Программирование ТСР-сокетов

Формат DNS – сообщения

Опубликовано 29 августа, 2008

В этом разделе мы столкнулись с понятиями DNS-запроса и DNS-ответа. Запрос и ответ представляют собой единственные два типа сообщений, используемые протоколом DNS. Форматы этих сообщений совпадают и представлены на рис. 2.17. Ниже приведено описание структуры DNS-сообщения.
Читать далее »

Находится в разделе DNS-сообщения

Записи и сообщения DNS

Опубликовано 28 августа, 2008

Серверы имен, в совокупности образующие базу данных DNS, хранят ресурсные записи (Resource Records, RR), связывающие имена хостов с их IP-адресами. Каждый DNS-ответ содержит одну или более ресурсных записей. Ниже мы рассмотрим несколько вопросов, касающихся записей и сообщений DNS.
Читать далее »

Находится в разделе DNS-записи

Схема функционирования DNS

Опубликовано 28 августа, 2008

Ниже мы опишем основную схему функционирования DNS. Основным предметом рассмотрения для нас будет являться преобразование имени хоста в соответствующий IP-адрес.

Предположим, что некоторому приложению (web-браузеру или программе чтения электронной почты), выполняющемуся на хосте пользователя, необходимо получить IP-адрес удаленного хоста. Приложение вызывает клиентскую сторону DNS и передает ей имя нужного хоста. (Многие UNIX-машины поддерживают функцию gethostbyname(), вызываемую приложениями для получения IP-адреса. В разделе «Программирование UDP-сокетов» этой главы мы покажем, каким образом Java-приложение может обратиться к службе DNS.) Клиентская сторона, в свою очередь, создает запрос, отсылает его DNS-серверу и ждет ответа. Как правило, время ответа DNS-сервера составляет от нескольких миллисекунд до десятков секунд. Ответ представляет собой сообщение, содержащее группу из одного или нескольких IP-адресов, которые передаются DNS-клиентом вызвавшему его приложению. Таким образом, с точки зрения приложения служба DNS является «черным ящиком», на входе которого находится имя удаленного хоста, а на выходе — его IP-адрес. На самом деле этот «черный ящик» представляет собой сложную систему, состоящую из множества серверов имен, распределенных по всему земному шару, и протокола, определяющего взаимодействие между серверами имен и пользовательскими хостами.
Читать далее »

Функции DNS

Опубликовано 27 августа, 2008

Как мы видели, существуют два принципиально разных способа идентификации хостов: с помощью имен и с помощью IP-адресов. Имя хоста удобно для людей в силу своей мнемоничности, а IP-адрес, являющийся компактной числовой величиной фиксированного размера, проще обрабатывать маршрутизаторами. Для того чтобы установить связь между этими двумя идентификаторами, используется система доменных имен (Domain Name System, DNS). DNS представляет собой, с одной стороны, базу данных, распределенную между иерархически структурированными серверами имей, и, с другой стороны, протокол прикладного уровня, организующий взаимодействие между хостами и серверами имен для выполнения операций преобразования. Зачастую серверы имен являются UNIX-машинами, использующими программное обеспечение BIND (Berkeley Internet Name Domain — домен имен Интернета Беркли). Протоколу DNS назначен порт с номером 53, и работает DNS поверх протокола UDP транспортного уровня. На сайте _http://www.awl.com.kurose-ross, посвященном этой книге, вы можете найти интерактивные ссылки на DNS-программы, осуществляющие преобразование произвольных имен хостов в IP-адреса.
Читать далее »

Находится в разделе Протоколы прикладного уровня

Способы идентификации людей

Опубликовано 26 августа, 2008

Существует много способов идентификации людей. Так, например, мы можем идентифицировать человека по его паспортным данным, номеру водительских прав, индивидуальному налоговому номеру (ИНН), номеру страхового полиса и т. д. Несмотря на то что все перечисленные способы позволяют однозначно установить личность любого человека, применяемость того или иного идентификатора зависит от ситуации. Например, в медицинских учреждениях удобнее всего применять номер страхового полиса пациентов, в отделах кадров предприятий — ИНН сотрудников, а при общении между людьми — паспортные данные.
Читать далее »

Электронная почта с web-интерфейсом

Опубликовано 25 августа, 2008

Все больше и больше пользователей Интернета получают доступ к своим электронным почтовым ящикам с помощью web-браузеров. Компания Hotmail первой применила web-технологии для работы с электронной почтой в середине прошлого десятилетия; в настоящее время эта услуга предлагается практически каждым порталом Интернета, а также большинством Интернет-провайдеров. При доступе к электронной почте через web-интерфейс роль агента пользователя играет web-браузер, который взаимодействует с удаленным почтовым ящиком по протоколу HTTP. Когда Боб хочет получить новые сообщения, он подключается к своему почтовому серверу, который отсылает Бобу сообщения по протоколу HTTP (а не SMTP или ШАР). Аналогично Алиса передает новые сообщения своему почтовому серверу через браузер по протоколу HTTP. Следует обратить внимание на то, что обмен сообщениями между почтовыми серверами Алисы и Боба, как и ранее, происходит по протоколу SMTP.
Читать далее »

IMAP

Опубликовано 24 августа, 2008

Если Боб использует протокол доступа к электронной почте РОРЗ, он может создавать на своем компьютере специальные почтовые папки, в которые будут попадать загруженные с сервера сообщения. Кроме того, Боб может удалять загруженные сообщения, перемещать их между папками и производить поиск сообщений по имени отправителя или теме. Такая система хранения сообщений, реализованная в виде папок на локальном компьютере, удобна для резидентного пользователя, однако вряд ли подходит в случае, если пользователь регулярно меняет вычислительные машины, с которых осуществляет доступ к электронной почте. Организация иерархии папок на почтовом сервере была бы весьма удобна для «мульти-компьютерных» пользователей. Именно по этой причине был разработан другой протокол доступа к почте — IMAP.
Читать далее »

РОРЗ

Опубликовано 24 августа, 2008

Протокол РОРЗ, описанный в документе RFC 1939, является одним из самых простых протоколов доступа к электронной почте. Увы, простота протокола РОРЗ оборачивается его весьма ограниченной функциональностью. Протокол начинает действовать после того, как агент пользователя (клиент) устанавливает ТСР-со-единение с портом 110 почтового сервера, и подразумевает выполнение трех основных фаз: авторизации, транзакции и обновления. Во время авторизации агент передает серверу имя пользователя и пароль для того, чтобы сервер предоставил агенту доступ к сообщениям электронной почты. В фазе транзакции пользователь получает сообщения, а также может пометить сообщения, предназначенные для удаления, и получить почтовую статистику. Наконец, фаза обновления наступает после того, как клиент посылает команду quit и закрывает РОРЗ-сеанс. Почтовый сервер производит удаление сообщений, помеченных пользователем.
Читать далее »