Сетевые службы и основные протоколы TCP/IP уровня приложений

Модель “Клиент/Сервер”

“Клиент/Сервер” - это модель взаимодействия, в которой компьютеры сети являются либо клиентами, либо серверами. Клиентами являются запрашивающие компьютеры, а сервером - компьютер, который обрабатывает запросы клиентов и отвечает на них.

Следует иметь в виду, что термины “клиент” и “сервер” могут применяться не только к физическим устройствам. Модель “Клиент/Сервер” применима и к программному обеспечению (ПО), когда серверная часть распределенного ПО обслуживает запросы нескольких его клиентских частей.

Сетевые службы, порты, протоколы и сокеты

ПО, обеспечивающее обмен информацией между приложениями и основанное на модели “Клиент/Сервер” в TCP/IP сетях называют сетевыми службами или сервисами.

Для взаимодействия приложений в TCP/IP сетях совместно с протоколами используются сокеты. Сокет включает в себя IP-адрес и номер порта (числовой идентификатор выполняющегося на компьютере сетевого приложения).

На основе централизованной стандартизации все сетевые службы связаны с уникальными номерами портов, а номера портов - с протоколами. Это позволяет автоматически определять, какая из выполняющихся на одном хосте сетевых программ должна обрабатывать поступающие на определенный порт данные. За присвоение номеров портов сетевым службам отвечает некоммерческая организация, администрирующая адресное пространство и параметры протоколов сети Интернет.

Первоначально серверная часть сетевой службы создает так называемый “слушающий” серверный сокет, обеспечивая тем самым возможность клиентским частям службы обращаться к данному сервису. После чего клиентские части могут посылать запросы на открытие клиентских сокетов с указанием IP-адреса сервера и порта сервиса, т.е. на создание соединения для сетевого взаимодействия. Когда это происходит, то для осуществления взаимодействия с обнаруженным клиентом сервер автоматически создает новый сокет, а по старому - продолжает “слушать” запросы на установление новых соединений. Таким образом, один сервер может одновременно “общаться” с несколькими клиентами.

Назначение IP-адресов хостам и протокол DHCP

Многие пользователи не обладают достаточными знаниями для того, чтобы настроить свои компьютеры для работы в сети и должны, поэтому полагаться на сетевых администраторов. Однако назначение IP-адресов администратором сети многим компьютерам представляет собой довольно утомительную процедуру. Для того чтобы освободить администратора от этих проблем используется протокол DHCP (Dynamic Host Configuration Protocol), позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.

Этот протокол уровня приложений, используя порты 67 и 68, обеспечивает надежный и простой способ конфигурирования сети, гарантируя отсутствие конфликтов IP-адресов за счет их назначения DHCP-сервером. При включении компьютер-клиент сам обращается к DHCP-серверу, и получает от него нужные параметры, что позволяет автоматизировать настройку и уменьшает количество ошибок администрирования.

Протокол DHCP предоставляет три способа назначения IP-адресов: “ручное”, “автоматическое” и “динамическое”.

В “ручном” способе администратор размещает на DHCP-сервере информацию о соответствии IP-адресов физическим MAC-адресам клиентов. Эти IP-адреса пересылаются компьютерам-клиентам в ответ на их запросы к DHCP-серверу.

При “автоматическом” способе DHCP-сервер назначает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства человека. Границы пула назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первичного назначения сервером IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.

При “динамическом” способе назначения сервер выдает IP-адрес клиенту на ограниченное время (называемое "сроком аренды"), по истечении которого адрес вновь считается свободным, а клиент обязан запросить новый. Освободившийся адрес может быть предоставлен любому клиенту, в т.ч. и тому, который его ранее использовал. Такое динамическое назначение адресов позволяет строить IP-сеть, количество узлов в которой, намного превышает количество имеющихся в распоряжении администратора IP-адресов.

Примером работы протокола DHCP может служить ситуация, когда компьютер, являющийся клиентом, удаляется из подсети. При этом назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к другой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это свойство очень важно для мобильных пользователей в беспроводных сетях, использующих технологии WiFi или Bluetooth.

Отображение символьных имен на числовые IP-адреса: служба DNS

Доменная система имен DNS является распределенной базой данных, содержащей информацию о компьютерах сети TCP/IP и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты и других служб) в удобной для человека форме. Содержанием этой базы являются символьные имена компьютеров, их числовые IP-адреса, а также данные для маршрутизации пакетов, электронной почты и многое другое. Основной задачей сетевой службы DNS является поиск адресуемых компьютеров с преобразованием символьных имен в числовые IP-адреса и наоборот.

Эта база данных поддерживается с помощью иерархии территориально распределенных DNS-серверов, взаимодействующих по одноименному протоколу уровня приложений с использованием порта 53.

Каждый DNS-сервер, отвечающий за доменное имя, может делегировать ответственность за дальнейшую часть домена другому серверу, что позволяет возложить ответственность за актуальность информации на серверы различных организаций, отвечающих только за “свою" часть доменного имени. При этом, за хранение и обслуживание своих узлов или зон отвечают обычно несколько серверов, разделённых как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов сети.

Протокол передачи гипертекста HTTP

HTTP (Hipertext Transfer Protocol) – используется для передачи по сети Интернет различных компонентов веб-сайтов (текст, графика, мультимедиа) в виде гипертекста. Кроме того данный протокол уровня приложений обеспечивает возможность обрабатывать ссылки на другие веб-страницы.

Браузеры (Internet Explorer, Safari, Opera, FireFox и др.) - являются HTTP клиентами, которые направляют запросы к HTTP-серверу (веб-серверу) и отображают содержание полученных от него веб-страниц. Веб-сервера (Apache или веб-сервер из набора IIS корпорации Microsoft) ожидают поступления HTTP запросов, а затем выполняют поиск и отправку клиентам связанных с этими запросами страниц. Протокол HTTP использует порт 80.

Отметим, что протокол HTTP используется в качестве “транспорта” и для других протоколов прикладного уровня, например, в протоколах для обмена произвольными сообщениями в формате XML.

Протокол передачи файлов FTP

FTP (File Transfer Protocol) - это протокол, обеспечивающий в стеке протоколов TCP/IP простой способ обмена файлами между компьютерами. Как и HTTP он осуществляет передачу веб-страниц и связанных с ними файлов. С помощью этого протокола уровня приложений пользователь может (имея соответствующие полномочия) размещать, удалять, переименовывать, перемещать и копировать файлы, хранящиеся на FTP-серверах.

FTP может использоваться как через интерфейс командной строки, так и через графический интерфейс. Все основные веб-браузеры способны делать FTP запросы. Протокол FTP использует порт 20.

Протокол удаленного терминального доступа Telnet

Протокол уровня приложений Telnet – обеспечивает удаленный доступ пользователей к компьютерам сети в режиме виртуального текстового терминала. По умолчанию Telnet-клиент использует порт 23.

Кроме того, этот протокол может служить и средством выявления сетевых неисправностей, а также использоваться для тестирования других сетевых служб на удаленных компьютерах. Основными реализациями Telnet-клиента являются программы telnet и PuTTy.

Простой протокол электронной почты SMTP

SMTP (Simple Mail Transfer Protocol) и его расширения - это часть стека протоколов TCP/IP предназначена для отправки и получения с помощью сети электронной почты. SMTP чаще всего применяется вместе с протоколами доступа к сообщениям: POP3 (Post Office Protocol v3) или IMAP (Internet Message Access Protocol).

Использование SMTP, POP3 и IMAP позволяет хранить электронную почту в почтовом ящике на сервере, и загружать ее на клиентский компьютер лишь по мере надобности. Протокол SMTP применяется чаще для отправки почты, а POP3 и IMAP – для ее получения. Почтовые программы (Outlook Express, The Bat и др.) позволяют определить как SMTP-сервер, так и POP3-сервер. Протокол SMTP использует порт 25.

Наши рекомендации