Лекция 17

Адресация в компьютерных сетях

Виды адресации в компьютерных сетях

Для того, чтобы компьютеры могли идентифицировать друг друга в информационно-вычислительной сети, им присваиваются явные адреса. Основными типами адресов являются следующие:

Физические адреса

MAC-адрес, который также называют физическим адресом, Ethernet-адресом, присваивается каждому сетевому адаптеру при его производстве. Его размер - 6 байт.

Этот сетевой адрес является уникальным, - фирмам-производителям выделены списки адресов, в рамках которых они обязаны выпускать карты. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная запись байта). Первые три байта называются префиксом (что определяет 224 различных комбинаций или почти 17 млн адресов), и именно они закреплены за производителем.

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

Собственно, MAC-адрес соответствует не компьютеру, а его сетевому интерфейсу. Таким образом, если компьютер имеет несколько интерфейсов, то это означает, что каждому интерфейсу будет назначен свой физический адрес. Каждой сетевой карте соответствует собственный MAC-адрес и IP-адрес, уникальный в рамках глобальной сети.

MAC-адреса используются на физическом и канальном уровнях, т.е. в "однородной" среде. Для того, чтобы могли связываться друг с другом компьютеры, входящие в большие составные сети, используется другой вид адресов - IP-адреса.

IP-адресация

IP-адрес является основным видом адресации в Internet. Он обозначает не только компьютер, но и сегмент сети, в котором находится данный компьютер. Например, адрес 192.123.004.010 соответствует узлу номер 10 в сети 192.123.004. У другого узла в этом же сегменте может быть номер 20 и т.д. Сети и узлы в них - это отдельные объекты с отдельными номерами.

IP-адрес -
представляет собой 32-разрядное двоичное число (например, 11000000 01111011 00001010). Для удобства оно разбивается на четыре восьмиразрядных поля, называемых октетами. TCP/IP представляет эти двоичные октеты их десятичными эквивалентами (в данном примере это 192.123.004.010), что облегчает использование IP-адресов для человека.

Классы IP-сетей

Эти четыре октета в разных сетях обозначают разные вещи. В некоторых организациях создается одна большая сеть, но с миллионами узлов. Здесь первый октет адреса используется для обозначения сети, а остальные три октета - для обозначения отдельных рабочих станций. Такой адрес называют адресом класса А. Самые частые потребители адресов класса А - поставщики сетевых услуг (провайдеры), которые обслуживают очень большие сети с тысячами конечных пунктов.

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

Наконец, наиболее часто используется адрес класса С, в котором первые три октета (или 24 бита) служат для обозначения сегмента, а последний октет - для обозначения рабочих станций. Такие адреса лучше всего подходят для случая, когда имеется множество отдельных сетей, в состав каждой из которых входит всего несколько десятков узлов. Адреса такого типа чаще всего встречаются в локальных сетевых средах, где в одном сетевом сегменте в среднем бывает около 40 узлов.

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

Стек протоколов TCP/IP использует первые три бита первого октета для идентификации класса сети, позволяя устройствам автоматически распознавать соответствующие типы адресов. У адресов класса А первый бит установлен в 0, а остальные семь битов служат для идентификации сетевой часть адреса (как вы полмните, в адресах класса А первый октет служит для обозначения сети, а остальные три - для обозначения узлов). Поскольку можно использовать только семь битов, максимально возможное количество сетей - 128. Номера сетей 000 и 127 зарезервированы для использования программным обеспечением, поэтому это число уменьшается до 126 (001 - 126). Для обозначения узлов можно использовать 24 бита, поэтому для каждой из этих сетей максимальное число узлов составляет 16 777 216.

У адресов класса В первый бит всегда устанавливается в 1, а второй в 0. Поскольку для обозначения сетей здесь используются два октета, то для каждого сетевого сегмента остается, таким образом, 14 битов. Следовательно, максимально возможное число адресов этого класса - 16 384, в диапазоне от 128.001 до 191.254 (номера 000 и 255 зарезервированы).

В адресах класса С первые два бита всегда равны 1, а третий установлен в 0. В этих адресах для обозначения сетей используются первые три октета, следовательно, остается 21 бит. Диапазон возможных номеров сетей - от 192.001.001 до 223.254.254, или 2 097 152 сегмента. При этом, однако, для обозначения узлов остается только один октет, поэтому в каждом сегменте может быть всего 254 устройства.

В таблице 1 приведены характеристики адресов сетей различных классов. Адреса класса D предназначены для широковещательной рассылки пакетов сразу группе машин. Адреса класса Е пока не используются. Предполагается, что со временем они будут задействованы с целью расширения стандарта.

Таблица 1. Характеристика классов IP-адресов

Класс сети Байт 1 Байт 2 Байт 3 Байт 4
А 0 Номер сети Номер хоста
B 10 Номер сети Номер хоста
C 110 Номер сети Номер хоста
D 1110        
E 11110        

Среди IP-адресов несколько зарезервировано под специальные случаи использования (табл. 2). Так, значение первого октета 127 зарезервировано для служебных целей, в основном, для тестирования сетевого оборудования, поскольку IP-пакеты, направленные на такой адрес, не передаются в сеть, а ретранслируются обратно управляющей надстройке сетевого программного обеспечения как только что принятые.

Таблица 2. Значение выделенных IP-адресов

IP-адрес Значение
0.0.0.0 Данный компьютер
Номер сети.0 Данная IP-сеть
0.0.0.Номер узла Узел в данной локальной сети
255.255.255.255 Все узлы в данной локальной сети
Номер сети.255 Все узлы указанной IP-сети

Централизованным распределением IP-адресов занимаются государственные организации. В США - Стенфордский международный научно-исследовательский институт (Stanford Research Institute), расположенный в г. Мэнло-Парк, штат Калифорния. Услуга по присвоению новой локальной сети IP-адресов бесплатная, и занимает она приблизительно неделю.

В небольших локальных сетях, использующих стек TCP/IP, можно назначать IP-адреса компьютерам произвольно - в том случае, если данные компьютеры не имеют непосредственного (прямого) выхода в Internet

Маски подсетей

Часто перед администраторами локальных сетей встает необходимость разбиения вверенной им сети на несколько подсетей. Делается это с помощью маски подсети. Маска подсети заставляет сетевое программное обеспечение иначе интерпретировать IP-адреса машин, входящих в сеть.

Рассмотрим, например, адрес хоста 192.123.004.010. Это адрес класса С, в котором первые 24 бита обозначают номер сети. Остальные 8 битов обозначают хост. Можно установить сетевую маску так, чтобы первые 25 битов обозначали сеть, а остальные 7 - хост.

Последние 8 битов администратор локальной сети может использовать так, как ему нужно. Можно их использовать обычным образом, для обозначения хост-машин. Но есть и другой вариант: назначить некоторые из оставшихся 8 битов подсетям. По сути дела, сетевая часть адреса получает еще одно поле, а диапазон номеров хостов сокращается.

Рассмотрим воображаемую компанию, Windows Inc., которая использует и сети Ethernet, и кольцевые сети с маркерным доступом. Ей выделен, однако, только один сетевой адрес класса С, 192.123.004. Вместо того чтобы использовать последний октет для обозначения 254 хостов в одной сети, компания решила ввести в адрес маску подсети, "позаимствовав" первый бит последнего октета. В результате создаются две подсети по 128 возможных хост-номера в каждой.

Изучая свои сетевые номера, Windows Inc. видит следующее:

Сегмент Адрес сети Адреса узлов*
Ethernet 192.123.004 001-127
Token Ring 192.123.004 128-254

*Номера 000 и 255 зарезервированы.

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

В маске подсети используется очень простой алгоритм. Если бит маски установлен в 1, это часть номера сети. Если бит маски установлен в 0, это часть номера хоста. Следовательно, маска подсети для приведенного выше примера имеет вид 11111111 11111111 11111111 10000000.

Маска -
это число, двоичная запись которого содержит единицы в тех разрядах, которые должны интерпретироваться как номер сети.

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

Таблица 3. Стандартные маски подсетей

Класс сети

Маска подсети
двоичное представление десятичное представление
А 11111111 00000000 00000000 00000000 255.0.0.0
В 11111111 11111111 00000000 00000000 255.255.0.0
С 11111111 11111111 11111111 00000000 255.255.255.0

Маска подсети должна применяться при обработке адреса маршрутизаторами. Если ранее маршрутизатор просто проверял, не совпадает ли адрес сети получателя, например, 192.123.004, с адресом какой-либо непосредственно подсоединенной к маршрутизатору сети, то теперь он должен использовать маску подсети, чтобы выделить адрес сети получателя. Чтобы маска подсети работала, ее должны поддерживать все устройства данной подсети.

Проблемы 4-х байтовой адресации

Если сложить все возможные IP-адреса, то получится свыше 4,7 млрд. адресов хостов. Это очень много, но, к сожалению, четырехоктетной структуре присущи серьезные ограничения. Каждый раз, когда какой-то организации назначается адрес класса А, с ним уходит около 17 млн. адресов хостов. Если назначить все 126 адресов класса А, то свыше 3 млрд. из наличных 4,7 млрд. адресов окажутся занятыми. Если назначить все 16000 адресов класса В, уйдет еще миллиард. При этом не важно, используются ли выделенные адреса или нет: все они назначены конкретной сети и повторно использоваться не могут.

Самая большая проблема, однако, связана с классом С. Тому есть две причины. Во-первых, этих адресов меньше всего (имеется лишь около 500 млн. адресов узлов). Во-вторых, эти адреса самые популярные, потому что удовлетворяют размерам большинства локальных сетей. Каждый раз, когда сетевому сегменту выделяется адрес класса С, с ним уходят 254 возможных адреса узлов. Вспомним, что для каждой отдельной сети нужен новый номер. Поэтому люди, у которых три сегмента и всего 60 узлов, тратят впустую более 700 возможных адресов рабочих станций (3 сегмента ´ 254 адреса узлов = 762 адреса - 60 активных узлов = 702 незадействованных адреса). Понятно, что при таких темпах "расходования" наличные хост-номера фактически уже закончились.

По действующей схеме (протокол IPv4) может быть всего 2113662 сети. Если бы для обозначения сегмента все сети применяли первые 24 бита (не используя "классовые" биты), то максимальное число сетей составило бы 16777216, по 254 узла в каждой.

Вспомним, однако, что сети TCP/IP изначально рассчитаны на использование маршрутизаторов. Естественно, узлам и маршрутизаторам проще запомнить несколько сетей, чем множество. Необходимость обработки 16 миллионов адресов сетей быстро переполнила бы базы данных маршрутизаторов, и сетевой трафик существенно замедлился бы. Наличие классов сетей позволяет маршрутизаторам легко работать с большими сетями, причем без ущерба для производительности.

Следует также помнить, что первоначально Internet состояла, в основном, из крупных сетей, соединенный друг с другом. Было удобно дать один адрес сети milnet (это сеть несекретных военных компьютеров), а другой - сети NSFnet (это сеть Национального научного фонда США). Благодаря этому маршрутизаторам, для того чтобы передавать данные буквально на миллионы хост-машин, достаточно было запомнить только адрес другого маршрутизатора.

На сегодняшний день, однако истощение запаса адресов порождает огромные проблемы. При отсутствии адресов ни одна новая организация не сможет подключиться к Internet, а существующие сети не смогут расширяться. Для решения большинства этих проблем разработана новая версия протокола IP - IPv6 (или IPng - IP next generation).

Система доменных имен

IP-адресация удобна для машинной обработки таблиц маршрутов, однако сложна для использования человеком. Система доменных имен (Domain Name System - DNS) позволяет присваивать компьютерам легко запоминаемые имена, например, yahoo.com, и отвечает за перевод этих имен в IP-адреса.

DNS строится по иерархическому принципу, однако эта иерархия не является строгой. Фактически нет единого корня всех доменов Internet. В 80-е гг. были определены первые домены (национальные, США) верхнего уровня: gov, mil, edu, com, net. Позднее появились национальные домены других стран: uk (Великобритания), jp (Япония), au (Австрия), cn (Китай) и т.п. Для СССР был выделен домен su, однако после приобретения республиками Союза суверенитета многие из них получили собственные домены: ua - Украина, ru - Россия и т.п.

В настоящее время существуют домены верхнего уровня com - для коммерческих компаний, edu - для школ и университетов, org - для прочих организаций, net - для сетевых организаций и т.д.

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

Таким образом, доменное имя компьютера имеет, по меньшей мере, два уровня доменов. Каждый уровень отделяется от другого точкой. Слева от домена верхнего уровня располагается другое имя и, возможно, не одно. Все, что находится слева, является поддоменом для общего домена. Так, например, в имени somesite.russia.ru слово somesite является поддоменом russia, который, в свою очередь, является поддоменом домена ru.

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

Универсальная идентификация ресурсов (URL)

Понятие URL

URL (Uniform Resource Locator - универсальный указатель ресурсов) -
система обозначений для однозначной идентификации компьютера, каталога или файла в Internet.

В систему URL заложены следующие принципы:

Формат URL включает:

Для каждого вида протокола приложений выбирается свое подмножество полей из представленного выше списка. Прежде чем рассмотреть различные схемы представления адресов, приведем пример простого адреса URL:

http://astra.net.ru/master/index.html

В данном случае путь состоит из доменного адреса машины, на которой установлен сервер HTTP, и пути от корня дерева сервера к файлу index.html.

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

Схемы URL

Рассмотрим несколько различных схем URL, с помощью которых можно обратиться к различным информационным ресурсам Internet.

Схема HTTP -
основная для Web. Она содержит идентификатор, адрес машины, TCP-порт, путь в директории сервера, поисковый критерий и метку.

Приведем несколько примеров URL для схемы http:

Схема ftp -
позволяет адресовать файловые FTP-архивы из программ-клиентов World Wide Web. При этом возможно указание не только имени схемы, адреса FTP-архива, но и идентификатора пользователя и даже его пароля.

Схема Gopher -
используется для ссылки на ресурсы распределенной информационной системы Gopher; состоит из идентификатора и пути, в котором указывается адрес Gopher-сервера, тип ресурса и команда Gopher:

Схема mailto -
предназначена для отправки почты по стандарту RFC 822 (стандарт почтового сообщения). Общий вид схемы выглядит так:
mailto:paul@quest.astra.com


Схема news -
просмотр сообщений системы Usenet.
news:comp.infosystems
В данном примере пользователь получит идентификаторы статей из группы comp.infosystems в режиме уведомления. Можно получить и текст статьи, но тогда необходим ее идентификатор:
news:086@comp.infosystems (86-я статья из группы).
Схема nttp -
еще одна схема получения доступа к ресурсам Usenet, в которой, например, обращение к группе comp.infosystems для получения статьи 86 будет выглядеть так:
nntp:comp.infosystems/086
Следует обратить внимание на то, что адрес сервера Usenet не указан. Программа-клиент должна быть предварительно сконфигурирована на работу с одним из серверов Usenet. Сама служба Usenet является распределенным информационным ресурсом, и группа comp.infosystems на сервере в домене abc.com или где-либо еще в мире содержит одни и те же сообщения.

Схема telnet -
осуществляет доступ к ресурсу в режиме удаленного терминала. Обычно клиент вызывает дополнительную программу для работы по протоколу telnet. При использовании этой схемы необходимо указывать идентификатор пользователя, допускается использование пароля:
telnet://login:password@astra.net.ru

Схема wais -
предназначена для использования в распределенной информационно-поисковой системе WAIS, работающей в режимах поиска и просмотра. При поиске используется форма со знаком "?", отделяющим адресную часть от ключевых слов:
wais://wais.think.com/wais?guide
В данном случае обращаются к базе данных WAIS на сервере wais.think.com с запросом на поиск документов, содержащих слово guide. Сервер возвращает клиенту список идентификаторов документов, после получения которого можно использовать вторую форму схемы - wais-запрос на просмотр документа:
wais://wais.think.com/wais/wtype/093=/user/letter.txt, где 039 - идентификатор документа.

Схема file -
используется в локальном режиме:
file:///C|/text/html/indes.htm
В данном примере приведено обращение к локальному документу на персональном компьютере с ОС Windows.

Существует еще несколько схем URL. Однако они реально на практике не используются или находятся в стадии разработки, поэтому останавливаться на них мы не будем.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сайт управляется системой uCoz