Читайте также:
|
|
Сетевые протоколы
При обмене информацией сетевые компьютеры взаимодействуют как иерархические структуры. Эти иерархии должны согласовывать взаимодействие на всех своих уровнях, от верхнего - уровня выполняющихся программ (сетевых приложений), до нижнего - уровня передачи сигналов при обмене информацией между программами.
Сетевыми протоколами называются соглашения и алгоритмы, определяющие, каким образом осуществляется обмен данными между физическими или логическим объектами разных узлов сети, которые находятся на одном уровне иерархии.
Стек сетевых протоколов TCP/IP
Иерархически структурированный набор протоколов, достаточный для установления и поддержки взаимодействия узлов в сети называется стеком сетевых протоколов. Самым распространенным стеком сетевых протоколов в настоящее время является стек TCP/IP.
Еще раз отметим, что сеть, использующую стек протоколов TCP/IP, в связи с названием одного из основных элементов стека IP (Internet Protocol) принято называть интернет сетью. Этим обстоятельством в частности объясняется использование слова “Интернет” с заглавной буквы в качестве имени собственного всем известной глобальной сети.
В состав стека TCP/IP входит множество сетевых протоколов, которые структурированы в четыре уровня иерархии. Архитектура стека протоколов TCP/IP представлена на рис. Х. В данном курсе нас, прежде всего, будут интересовать протоколы верхнего уровня, которые определяют правила взаимодействия программных приложений. Однако для их понимания потребуется рассмотрение основ некоторых протоколов первых трех уровней стека TCP/IP.
Рис. Х. Архитектура стека протоколов TCP/IP
Адресация узлов в TCP/IP-сетях
Стек протоколов и адресное пространство
Использование сетевых протоколов предполагает наличие той или иной системы адресации взаимодействующих объектов. Множество всех адресов, которые являются допустимыми в рамках конкретной системы, называется адресным пространством.
Адресное пространство может иметь плоскую (линейную) организацию и представлять собой простое неструктурированное множество точек, или быть организованным, чаще всего иерархически. Адреса могут быть как числовыми, так и символьными, но в основе символьных адресов все равно лежат числа.
Стек протоколов TCP/IP предусматривает использование следующих типов сетевых адресов:
· числовой физический адрес узла сети;
· числовой логический IP-адрес хоста;
· символьное доменное имя хоста (DNS-имя).
Физические MAC-адреса
Физический адрес узла сети (станции) определяется используемой сетевой технологией. В технологии локальных сетей в качестве физического адреса узла используется так называемый МАС-адрес сетевого адаптера станции или порта маршрутизатора.
МАС-адрес (от англ. Media Access Control) представляет собой уникальный код из разделенных дефисами шести байтов, например, 10-А1-17-3D-BC-01. Напомним, что для представления одного байта кода используется две цифры шестнадцатеричной системы счисления.
Уникальность МАС-адресов обеспечивается при производстве оборудования. Старшие 3 байта МАС-адреса содержат централизовано назначаемый код производителя, а значение младших 3 байтов выбирает он сам. Отметим, что адресное пространство MAC адресов технологии локальных сетей не является структурированным.
Числовые логические IP-адреса
При использовании TCP/IP для идентификации узлов сети и межсетевой маршрутизации пакетов каждый из хостов должен иметь уникальный числовой логический IP-адрес. Этот адрес обычно назначается администратором во время конфигурирования компьютеров и маршрутизаторов сети. При этом в случае, если узел одновременно входит в несколько IP-сетей, то он должен иметь несколько IP-адресов (по числу сетевых связей). Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Отметим, что IP-адреса не зависят от локальных физических MAC адресов и организованы иерархически. IP-адрес станции-хоста состоит из двух частей:
· левая (сетевая часть) адреса обозначает логическую сеть, в которую входит адресуемый хост;
· правая (машинная, компьютерная часть) адреса указывает на конкретный номер этого хоста в содержащей его логической сети.
Трансляция физических и логических адресов в TCP/IP
Независимость логических и физических адресов предоставляет значительные удобства для управления и администрирования сетей. Иначе, например, при смене на одном из компьютеров сетевой карты всем остальным узлам сети пришлось бы учитывать это изменение.
Согласно TCP/IP физические адреса (MAC) используются только в пределах локальной сети при обмене данными между ее узлами. Маршрутизатор для передачи пакета в одну из IP-сетей, непосредственно подключенных к его портам, должен оформить его в соответствии с требованиями принятой в этой сети технологии и указать в нем МАС-адрес получателя. Однако в пакете этот адрес отсутствует, поэтому перед маршрутизатором встает задача определения этого MAC-адреса по известному IP-адресу. С аналогичной задачей сталкивается и хост, при необходимости отправить пакет в удаленную IP-сеть через маршрутизатор.
В стеке протоколов с условным названием TCP/IP для определения локального физического MAC-адреса по IP-адресу используется протокол ARP (Address Resolution Protocol), особенности работы которого зависят от того, какая технология применена в данной сети.
В TCP/IP входит также и протокол RARP (Reverse Address Resolution Protocol), решающий обратную задачу - нахождение IP-адреса по известному локальному физическому адресу. RARP используется при старте тонких сетевых клиентов (бездисковых станций). Они при включении знают физический адрес своего сетевого адаптера, но не знают своего IP-адреса.
Статические и динамические IP-адреса
В глобальной сети Интернет номер конкретной логической IP-сети всем коммерческим структурам, учебным заведениям научным и другим организациям выделяется централизовано по их официальным запросам. Естественно, что выделение одного номера логической IP-сети означает выделение целого набора (пула) IP-адресов для многих хостов.
Отметим, что все IP-адреса этого централизовано выделенного организации пула, являются постоянными, т.е. статическими. Процедура же закрепления этих статических IP-адресов за конкретными компьютерами пользователей должно осуществляться самой организацией.
Данное закрепление может носить как постоянный, так и временный характер, а также осуществляться автоматически или вручную. Например, Интернет-провайдер (организация предоставляющая доступ в Интернет своим клиентам) может выделить коллективному клиенту часть имеющегося в ее распоряжении пула IP-адресов на постоянной основе, а индивидуальному клиенту один из адресов пула может выделяться лишь при каждом его подключении. В последнем случае, IP-адрес клиента рассматривается как временный или динамический.
Для автоматизации процедуры закрепления IP-адресов за конкретными компьютерами используется протокол DHCP (Dynamic Host Configuration Protocol) верхнего уровня стека TCP/IP.
Символьные доменные имена хостов (DNS-имена)
Человеку гораздо легче запоминать слова, а не числа. Поэтому в качестве адресов компьютеров TCP/IP сетях используются не только числа, но и символьные имена. Кроме того, в TCP/IP сетях применяется не плоская (неупорядоченная) система символьных имен, а древовидная, иерархическая структура, которая называется доменной системой имен DNS (Domain Name System). При этом DNS обеспечивает иерархическую организацию символьных адресов сетевых компьютеров по принципу отличному от иерархии их физического подключения в сеть.
Пространство имен DNS представляет собой аналог корневой системы дерева. Эта иерархическая структура начинается с корневого домена, который обозначается точкой “. ”. Под корнем располагаются домены верхнего уровня, ниже - второго и так далее. Каждый домен дожжен иметь уникальное имя, а каждый из поддоменов - уникальное имя внутри своего домена.
Составные части доменного имени элемента этой структуры отделяются друг от друга точками, а самая младшая часть имени соответствует конечному узлу (хосту) сети. При этом запись доменного имени начинается с его младшей части и заканчивается старшей частью. Так в доменном имени www.yandex.ru.: ru - является именем домена верхнего уровня, yandex – именем домена второго уровня, а www - именем домена третьего уровня. При этом в качестве домена самого нижнего уровня www выступает символьное имя компьютера (хоста).
В DNS используются следующие термины:
· полное доменное имя (например, www.mail.yandex.ru.) включает имена всех уровней иерархии, в том числе и имя корневого домена, т.е. символ “. ”;
· краткое доменное имя - это имя конечного узла (сетевого компьютера), которым для рассматриваемого примера является имя www;
· доменная зона - совокупность доменных имён определённого уровня, входящих в конкретный домен (например, зона yandex.ru. включает все доменные имена третьего уровня в домене второго уровня yandex).
В именах не учитывается регистр, а глубина иерархии DNS теоретически может достигать 127 уровней. Причем длина полного доменного имени ограничена 255 символами, а любая его составная часть может содержать до 63 символов.
Отметим, что символьное имя хоста и его числовой IP-адрес не тождественны. Например, для размещения на одном компьютере нескольких веб-сайтов хост с одним IP-адресом может иметь несколько символьных имён. В тоже время - для балансировки нагрузки одно символьное имя может соответствовать нескольким хостам. Кроме того, в сети могут существовать хосты с IP-адресами, но не имеющие символьных имен.
Администрирование доменных имен сети Интернет
В сети Интернет каждый домен DNS управляется отдельной организацией, которая разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Чтобы получить доменное имя в сети Интернет - нужно зарегистрироваться в соответствующей организации и получить его для вашего компьютера (обычно за небольшую ежегодную плату).
При выделении домена дается гарантия в том, что его имя уникально в пределах содержащего его домена. Полученный домен компания или организация вправе самостоятельно делить на поддомены, обеспечивая при этом уникальность новых имен на нижних уровнях иерархии.
Корневой домен DNS глобальной сети Интернет управляется международными, региональными и национальными координационными центрами на основе распределённой системы регистрации при свободном доступе к реестрам доменных имен аккредитованных регистраторов.
Имена доменов верхнего уровня сети Интернет строго определены и могут быть трех или двухсимвольными. Домены с трехсимвольными именами исторически предназначались для организаций, расположенных на территории США и информировали об их организационной принадлежности. К таким доменам, например, относятся:
COM – коммерческие организации;
EDU – учебные заведения;
GOV – правительственные учреждения;
MIL – военные учреждения;
NET – организации, поддерживающие сети или предоставляющие сетевые услуги;
ORG – прочие некоммерческие организации;
INT – международные организации.
Двухсимвольные доменные имена в сети Интернет предназначаются для других стран. Ниже приведено несколько таких имен.
AU – Австрия.
CA – Канада.
DE – Германия.
FI – Финляндия.
FR – Франция.
UA – Украина.
RU/РФ – Россия.
Сетевые службы и основные протоколы 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.
Дата добавления: 2015-11-13; просмотров: 82 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Каналы связи, топология и сетевое оборудование | | | Всемирная паутина сети Интернет |