Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НА ЭГЗО.doc
Скачиваний:
19
Добавлен:
17.09.2019
Размер:
2.16 Mб
Скачать

38. Тема 3.3 Сетевые службы и сетевые сервисы.

 

С функциональной точки зрения вычислительная сеть рассматривается как совокупность сетевых служб, предоставляющих пользователю определённый набор услуг, например, доступ к аппаратным или программным средствам, либо к информационным ресурсам другого узла сети.

Понятие сетевой службы и сетевого сервиса

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

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

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

Как правило, сетевая ОС предоставляет услуги основных сетевых служб,  обеспечивающих стандартные функции вычислительно сети. Дополнительные услуги могут предоставляться сетевыми службами, реализуемыми системными сетевыми приложениями или утилитами, работающими под управлением ОС. Например, услуги почтового клиента в ОС семейства Windows предоставляются программой Outlook Express, которая интегрирована в операционную систему.

Одним из главных показателей качества сетевой службы является её удобство, и в первую очередь удобство работ с ней для пользователя. Именно поэтому сетевые службы обеспечиваются специальным интерфейсом, в большинстве случаев интуитивно понятным пользователю.

Клиент-серверная организация сетевых служб. Согласование протоколов

Для использования сервисов, предоставляемых сетевой службой, на машине пользователя должна быть установлена клиентская часть данной службы. Для одной службы может существовать множество клиентов, различающихся по набору функций и удобству интерфейса. Например, готовыми клиентами являются Outlook Express, The Bat! и другие. Главное, чтобы клиент обращался к серверу (серверной части службы) с запросами в соответствии с правилами, понятными серверу.

В связи с этим при разработке сетевых служб исключительно важной задачей является выбор протокола (правил) сетевых взаимодействий клиентской и серверной части, распределение функций между ними, согласование протоколов различных вычислительных сетей.

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

На сегодняшний день существует несколько широко используемых сетевых протоколов (TCP/IP, NetBIOS, IPX/SPX), а так же множество сетевых архитектур (Arenet, Ethernet, Token Ring, FDDI).

Для организации взаимодействия вычислительных узлов с различными стеками протоколов используется два способа:

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

2) мультиплексирование стеков. В сетевых ОС одновременно внедряется несколько наиболее популярных стеков протоколов. Такой подход реализован, в частности, в Windows, где сетевое ядро включает наиболее распространённые стеки протоколов, причём при необходимости один стек протоколов может быть установлен, а другой нет. При мультиплексировании протоколов, помимо самих стеков протоколов на сервере устанавливается мультиплексор протоколов, задачей которого является определение стеков протоколов узла, отправившего запрос.

Для этого, например, может использоваться служба имен сети, хранящая  информацию о соответствии имени (адреса), узла сети и стека протоколов,  используемого им.

Развитие технологии мультиплексирования стеков протоколов стало  возможным благодаря строгому определению функций протоколов (их  стандартизации) и интерфейсов различных уровней. Очень важным стало так же открытое описание протоколов, что позволило сторонним разработчикам сетевых программных средств обеспечить эффективное взаимодействие нескольких стеков протоколов в рамках одной сетевой ОС.

Всё это позволяет взаимодействовать друг с другом узлам, реализованным на разных аппаратных платформах и имеющих разные программные средства, что необходимо для функционирования глобальных сетей.

 

Набор предоставляемых пользователю сетевых услуг зависти от имеющихся аппаратных и программных средств сети. В последнее время, особенно с развитием Интернет, число сетевых служб значительно возросло. Пользователи имеют дело именно с сетевыми службами, при этом работа базовых сетевых программных и аппаратных средств для пользователя становится всё менее заметной.

В связи с этим рассмотрение вычислительной сети именно как набора сетевых служб является оправданным и целесообразным.

Рассмотрим некоторые распространённые сетевые службы.

 

DNS – служба доменных имён (Domain Name System, Domain Name Service)

Корневой уровень

(нет имени)

 

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

Домены первого уровня

 

Домены второго уровня

домена ru

 

Домены третьего уровня домена spb.ru

 

Узлы домена hydrobiology.spb.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Домен – группа узлов сети, которые поддерживаются и администрируются как единое целое. У компьютеров домена локальной сети имеется общая база каталогов. Домен имеет уникальное имя и предоставляет централизованный доступ к записям пользователей и групп, управляемых администратором домена.

Домены могут быть объединены в домены более высоко уровня, те, в свою  очередь ещё более высоко уровня. В результате получается пространство  доменных имён, имеющих древовидную (иерархическую) структур (см. рисунок).

Таким образом, доменное имя конечного узла состоит из имени самого узла  и имён всех вышележащих доменов, записанных последовательно и  разделённых точкой, например:

cafedra.hidrobiology.spb.ru

Самым правым именем является имя домена первого уровня, далее, справа  налево, записываются домены более низких уровней.

Каждое из имён может содержать латинские буквы, цифры и знак дефиса; заглавными и строчными буквы не различаются; длина каждого имени не более 63 символов, а полного имени не более 255 символов, включая точки; имена узлов (доменов нижестоящего уровня) в пределах одного домена должны быть уникальны. Таким образом, каждый хост однозначно определяется своим полным доменным именем, включающих имена всех доменов от хоста к корню.

Имена доменов первого уровня являются обозначением строки (например, by – Беларусь, de – Германия, jp – Япония, ua – Украина), либо обозначением какой-либо совокупности организаций (например, com – коммерческие организации, int – международные, mil – военные организации США). Каждый домен первого уровня администрирования отдельной организацией, которая регистрирует в нём домены второго уровня, и так далее. Таким образом, строится пространство доменных имён. Что же касается локальных сетей, то разбиение сети на домены и определение их имён осуществляется администратором сети.

Использование доменных имён удобно для человека, однако необходим механизм, позволяющий по доменному имени определить IP-адрес компьютера. Именно эту задачу решает служба DNS.

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

Протокол DNS является служебным протоколом прикладного уровня.

Этот протокол не симметричен – в нём определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределённой базы данных о соответствии символьных имён и IP-адресов. Эта база распределена по административным доменам сети. Клиенты знают IP-адрес сервера DNS своего административного домена (этот адрес для локальной сети прописывается при конфигурации сети, а при подключении к Интернет выдаётся провайдером). Когда клиенту необходимо связаться с другим компьютером, символьное имя которого известно, клиент по IP-протоколу подаёт на DNS-сервер запрос , в котором собирает символьное имя и просит вернуть IP-адрес. Если данные о запрошенном соответствии хранятся в базе данных DNS-сервера, то она сразу посылает ответ клиенту. Если же нет, то сервер посылает запрос DNS-серверу вышестоящего домена (по отношению к которому он является клиентом). Вышестоящий DNS-сервер, в свою очередь. Либо сам обрабатывает запрос, либо передаёт его выше. Серверы имён опрашиваются, пока не будет найдено нужное соответствие.

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

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

В Интернет существует 13 корневых DNS-серверов, из них только один  является первичным. А остальные – дублирующими. Благодаря этому Интернет может выдержать атаки злоумышленников. Осенью 2002 года массированная атака, предпринятая против корневых DNS-серверов, нарушила работу 8 из 13 серверов. В начале 2003 года червь (вирус) вызвал одну из крупнейших и самых быстро распространяющихся атак. Примерно за 10 минут вирус распространился по всей сети и нарушил работу 5 из 13 корневых DNS-серверов. В обоих случаях работоспособность сети сохранилась.