Типы адресов: физический (MAC-адрес),сетевой (IP-адрес) и символьный (DNS-имя)
Каждый компьютер в сети TCP/IP имеетадреса трех уровней:
· Локальныйадрес узла, определяемый технологией, с помощью которой построена отдельнаясеть, в которую входит данный узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора,например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителямиоборудования и являются уникальными адресами, так как управляютсяцентрализовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмыпроизводителя, а младшие 3 байта назначаются уникальным образом самимпроизводителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адресназначается администратором глобальной сети.
· IP-адрес,состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется насетевом уровне. Он назначается администратором во время конфигурированиякомпьютеров и маршрутизаторов. IP-адрес состоит издвух частей: номера сети и номера узла. Номер сети может быть выбранадминистратором произвольно, либо назначен по рекомендации специальногоподразделения Internet (NetworkInformation Center, NIC),если сеть должна работать как составная часть Internet.Обычно провайдеры услуг Internet получают диапазоныадресов у подразделений NIC, а затем распределяют их между своими абонентами.
Номер узла в протоколе IP назначаетсянезависимо от локального адреса узла. Деление IP-адреса на поле номера сети иномера узла - гибкое, и граница между этими полями может устанавливаться весьмапроизвольно. Узел может входить в несколько IP-сетей. В этом случае узел должениметь несколько IP-адресов, по числу сетевых связей. Таким образом IP-адресхарактеризует не отдельный компьютер или маршрутизатор,а одно сетевое соединение.
· Символьныйидентификатор-имя, например, SERV1.IBM.COM. Этот адрес назначаетсяадминистратором и состоит из нескольких частей, например, имени машины, имениорганизации, имени домена. Такой адрес, называемый также DNS-именем,используется на прикладном уровне, например, в протоколах FTP или telnet.
Три основных класса IP-адресов
IP-адрес имеет длину 4 байта и обычнозаписывается в виде четырех чисел, представляющих значения каждого байта вдесятичной форме, и разделенных точками, например:
128.10.2.30 - традиционная десятичнаяформа представления адреса,
10000000 00001010 00000010 00011110 -двоичная форма представления этого же адреса.
На рисунке показана структура IP-адреса.
Класс А
Класс В
Класс С
Класс D
1 | 1 | 1 | 0 | адрес группы multicast |
Класс Е
Рис. 3.1. Структура IР-адреса
Адрес состоит из двух логических частей -номера сети и номера узла в сети. Какая часть адреса относится к номеру сети, акакая к номеру узла, определяется значениями первых битов адреса:
· Еслиадрес начинается с 0, то сеть относят к классу А, и номер сети занимает одинбайт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса Аимеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127зарезервирован для специальных целей, о чем будет сказано ниже.) В сетях классаА количество узлов должно быть больше 216 , но не превышать 224.
· Еслипервые два бита адреса равны 10, то сеть относится к классу В и является сетьюсредних размеров с числом узлов 28 - 216. В сетях класса В под адрес сети и подадрес узла отводится по 16 битов, то есть по 2 байта.
· Еслиадрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24бита, а под адрес узла - 8 битов.
· Еслиадрес начинается с последовательности 1110, то он является адресом класса D иобозначает особый, групповой адрес - multicast. Еслив пакете в качестве адреса назначения указан адрес класса D, то такой пакетдолжны получить все узлы, которым присвоен данный адрес.
· Еслиадрес начинается с последовательности 11110, то это адрес класса Е, онзарезервирован для будущих применений.
В таблице приведены диапазоны номеровсетей, соответствующих каждому классу сетей.
Класс | Наименьший адрес | Наибольший адрес |
A | 01.0.0 | 126.0.0.0 |
B | 128.0.0.0 | 191.255.0.0 |
C | 192.0.1.0. | 223.255.255.0 |
D | 224.0.0.0 | 239.255.255.255 |
E | 240.0.0.0 | 247.255.255.255 |
Соглашения о специальных адресах: broadcast, multicast, loopback
В протоколе IP существует несколькосоглашений об особой интерпретации IP-адресов:
· если IР-адрес состоит только из двоичных нулей,
0 0 0 0 ................................... 0 0 0 0 |
то он обозначает адрес того узла, которыйсгенерировал этот пакет;
· еслив поле номера сети стоят 0,
0 0 0 0 .......0 | Номер узла |
то по умолчанию считается, что этот узелпринадлежит той же самой сети, что и узел, который отправил пакет;
· есливсе двоичные разряды IP-адреса равны 1,
1 1 1 1 .........................................1 1 |
то пакет с таким адресом назначения долженрассылаться всем узлам, находящимся в той же сети, что и источник этого пакета.Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
· еслив поле адреса назначения стоят сплошные 1,
Номер сети | 1111................11 |
то пакет, имеющий такой адрес рассылаетсявсем узлам сети с заданным номером. Такая рассылка называется широковещательнымсообщением (broadcast);
· адрес127.0.0.1 зарезервирован для организации обратной связи при тестировании работыпрограммного обеспечения узла без реальной отправки пакета по сети. Этот адресимеет название loopback.
Уже упоминавшаяся форма групповогоIP-адреса - multicast - означает, что данный пакетдолжен быть доставлен сразу нескольким узлам, которые образуют группу сномером, указанным в поле адреса. Узлы сами идентифицируют себя, то естьопределяют, к какой из групп они относятся. Один и тот же узел может входить внесколько групп. Такие сообщения в отличие от широковещательных называются мультивещательными. Групповой адрес не делится на поляномера сети и узла и обрабатывается маршрутизаторомособым образом.
В протоколе IP нет понятияшироковещательности в том смысле, в котором оно используется в протоколахканального уровня локальных сетей, когда данные должны быть доставленыабсолютно всем узлам. Как ограниченный широковещательный IP-адрес, так ишироковещательный IP-адрес имеют пределы распространения в интерсети - ониограничены либо сетью, к которой принадлежит узел - источник пакета, либосетью, номер которой указан в адресе назначения. Поэтому деление сети с помощьюмаршрутизаторов на части локализует широковещательныйшторм пределами одной из составляющих общую сеть частей просто потому, что нетспособа адресовать пакет одновременно всем узлам всех сетей составной сети.
Отображение физических адресовна IP-адреса: протоколы ARP и RARP
В протоколе IP-адрес узла, то есть адрескомпьютера или порта маршрутизатора, назначаетсяпроизвольно администратором сети и прямо не связан с его локальным адресом, какэто сделано, например, в протоколе IPX. Подход, используемый в IP, удобноиспользовать в крупных сетях и по причине его независимости от форматалокального адреса, и по причине стабильности, так как в противном случае, присмене на компьютере сетевого адаптера это изменение должны бы были учитыватьвсе адресаты всемирной сети Internet(в том случае, конечно, если сеть подключена к Internet'у).
Локальный адрес используется в протоколеIP только в пределах локальной сети при обмене данными между маршрутизатором и узлом этой сети. Маршрутизатор,получив пакет для узла одной из сетей, непосредственно подключенных к егопортам, должен для передачи пакета сформировать кадр в соответствии стребованиями принятой в этой сети технологии и указать в нем локальный адресузла, например его МАС-адрес. В пришедшем пакете этотадрес не указан, поэтому перед маршрутизатором встаетзадача поиска его по известному IP-адресу, который указан в пакете в качествеадреса назначения. С аналогичной задачей сталкивается и конечный узел, когда онхочет отправить пакет в удаленную сеть через маршрутизатор,подключенный к той же локальной сети, что и данный узел.
Для определения локального адреса поIP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образомв зависимости от того, какой протокол канального уровня работает в данной сети- протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностьюшироковещательного доступа одновременно ко всем узлам сети, или же протоколглобальной сети (X.25, frame relay),как правило не поддерживающий широковещательный доступ. Существует такжепротокол, решающий обратную задачу - нахождение IP-адреса по известномулокальному адресу. Он называется реверсивный ARP - RARP(Reverse Address Resolution Protocol) и используется при старте бездисковыхстанций, не знающих в начальный момент своего IP-адреса, но знающих адрессвоего сетевого адаптера.
В локальных сетях протокол ARP используетшироковещательные кадры протокола канального уровня для поиска в сети узла сзаданным IP-адресом.
Узел, которому нужно выполнить отображениеIP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадрпротокола канального уровня, указывая в нем известный IP-адрес, и рассылаетзапрос широковещательно. Все узлы локальной сети получают ARP запрос исравнивают указанный там IP-адрес с собственным. В случае их совпадения узелформирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес иотправляет его уже направленно, так как в ARP запросе отправитель указываетсвой локальный адрес. ARP-запросы и ответы используют один и тот же форматпакета. Так как локальные адреса могут в различных типах сетей иметь различнуюдлину, то формат пакета протокола ARP зависит от типа сети. На рисунке 3.2показан формат пакета протокола ARP для передачи по сети Ethernet.
0 8 16 31
Тип сети | Тип протокола |
Длина локального адреса | Длина сетевого адреса | Операция |
Локальный адрес отправителя (байты 0 - 3) | |
Локальный адрес отправителя (байты 4 - 5) | IP-адрес отправителя (байты 0-1) |
IP-адрес отправителя (байты 2-3) | Искомый локальный адрес (байты 0 - 1) |
Искомый локальный адрес (байты 2-5) | |
Искомый IP-адрес (байты 0 - 3) | |
| | |
Формат пакета протокола ARP
В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протоколапозволяет использовать пакеты ARP не только для протокола IP, но и для другихсетевых протоколов. Для IP значение этого поля равно 080016.
Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. Вполе операции для ARP запросов указывается значение 1 для протокола ARP и 2 дляпротокола RARP.
Узел, отправляющий ARP-запрос, заполняет впакете все поля, кроме поля искомого локального адреса (для RARP-запроса неуказывается искомый IP-адрес). Значение этого поля заполняется узлом,опознавшим свой IP-адрес.
В глобальных сетях администратору сетичаще всего приходится вручную формировать ARP-таблицы, в которых он задает,например, соответствие IP-адреса адресу узла сети X.25, который имеет смысллокального адреса. В последнее время наметилась тенденция автоматизации работыпротокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети,выделяется специальный маршрутизатор, который ведетARP-таблицу для всех остальных узлов и маршрутизаторовэтой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес илокальный адрес выделенного маршрутизатора. Затемкаждый узел и маршрутизатор регистрирует свои адресав выделенном маршрутизаторе, а при необходимостиустановления соответствия между IP-адресом и локальным адресом узел обращаетсяк выделенному маршрутизатору с запросом иавтоматически получает ответ без участия администратора.
Отображение символьных адресовна IP-адреса: служба DNS
DNS (Domain Name System) - это распределенная база данных,поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматическогопоиска IP-адреса по известному символьному имени узла. Спецификация DNSопределяется стандартами RFC 1034 и 1035. DNS требует статической конфигурациисвоих таблиц, отображающих имена компьютеров в IP-адрес.
Протокол DNS является служебным протоколомприкладного уровня. Этот протокол несимметричен - в нем определены DNS-серверыи DNS-клиенты. DNS-серверы хранят часть распределенной базы данных осоответствии символьных имен и IP-адресов. Эта база данных распределена поадминистративным доменам сети Internet. Клиентысервера DNS знают IP-адрес сервера DNS своего административного домена и попротоколу IP передают запрос, в котором сообщают известное символьное имя ипросят вернуть соответствующий ему IP-адрес.
Если данные о запрошенном соответствиихранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, еслиже нет - то он посылает запрос DNS-серверу другого домена, который может самобработать запрос, либо передать его другому DNS-серверу. Все DNS-серверысоединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока ненайдет нужные отображения. Этот процесс ускоряется из-за того, что серверы именпостоянно кэшируют информацию, предоставляемую по запросам. Клиентскиекомпьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов,для повышения надежности своей работы.
База данных DNS имеет структуру дерева,называемого доменным пространством имен, в котором каждый домен (узел дерева)имеет имя и может содержать поддомены. Имя доменаидентифицирует его положение в этой базе данных по отношению к родительскомудомену, причем точки в имени отделяют части, соответствующие узлам домена.
Корень базы данных DNS управляется центромInternet Network Information Center. Домены верхнегоуровня назначаются для каждой страны, а также на организационной основе. Именаэтих доменов должны следовать международному стандарту ISO 3166. Дляобозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, адля различных типов организаций используются следующие аббревиатуры:
· com -коммерческие организации (например, microsoft.com);
· edu -образовательные (например, mit.edu);
· gov -правительственные организации (например, nsf.gov);
· org -некоммерческие организации (например, fidonet.org);
· net -организации, поддерживающие сети (например, nsf.net).
Каждый домен DNS администрируетсяотдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеетуникальное имя, а каждый из поддоменов имеетуникальное имя внутри своего домена. Имя домена может содержать до 63 символов.Каждый хост в сети Internet однозначно определяетсясвоим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов понаправлению от хоста к корню. Пример полного DNS-имени :
citint.dol.ru.
Автоматизация процесса назначенияIP-адресов узлам сети - протокол DHCP
Как уже было сказано, IP-адреса могутназначаться администратором сети вручную. Это представляет для администратораутомительную процедуру. Ситуация усложняется еще тем, что многие пользователине обладают достаточными знаниями для того, чтобы конфигурировать своикомпьютеры для работы в интерсети и должны поэтому полагаться наадминистраторов.
Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этихпроблем. Основным назначением DHCP является динамическое назначение IP-адресов.Однако, кроме динамического, DHCP может поддерживать и более простые способыручного и автоматического статического назначения адресов.
В ручной процедуре назначения адресовактивное участие принимает администратор, который предоставляет DHCP-серверуинформацию о соответствии IP-адресов физическим адресам или другимидентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросык DHCP-серверу.
При автоматическом статическом способеDHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурацииклиента) из пула наличных IP-адресов без вмешательства оператора. Границы пуланазначаемых адресов задает администратор при конфигурировании DHCP-сервера.Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручномназначении, существует постоянное соответствие. Оно устанавливается в моментпервичного назначения сервером DHCPIP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самыйIP-адрес.
При динамическом распределении адресовDHCP-сервер выдает адрес клиенту на ограниченное время, что дает возможностьвпоследствии повторно использовать IP-адреса другими компьютерами. Динамическоеразделение адресов позволяет строить IP-сеть, количество узлов в которойнамного превышает количество имеющихся в распоряжении администратораIP-адресов.
DHCP обеспечивает надежный и простойспособ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов засчет централизованного управления их распределением. Администратор управляетпроцессом назначения адресов с помощью параметра "продолжительностиаренды" (lease duration),которая определяет, как долго компьютер может использовать назначенныйIP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.
Примером работы протокола DHCP можетслужить ситуация, когда компьютер, являющийся клиентом DHCP, удаляется изподсети. При этом назначенный ему IP-адрес автоматически освобождается. Когдакомпьютер подключается к другой подсети, то ему автоматически назначается новыйадрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс.Это свойство очень важно для мобильных пользователей.
Протокол DHCP использует модельклиент-сервер. Во время старта системы компьютер-клиент DHCP, находящийся всостоянии "инициализация", посылает сообщение discover(исследовать), которое широковещательно распространяется по локальной сети ипередается всем DHCP-серверам частной интерсети. Каждый DHCP-сервер, получившийэто сообщение, отвечает на него сообщением offer(предложение), которое содержит IP-адрес и конфигурационную информацию.
Компьютер-клиент DHCP переходит всостояние "выбор" и собирает конфигурационные предложения отDHCP-серверов. Затем он выбирает одно из этих предложений, переходит всостояние "запрос" и отправляет сообщение request(запрос) тому DHCP-серверу, чье предложение было выбрано.
Выбранный DHCP-сервер посылает сообщение DHCP-acknowledgment (подтверждение), содержащее тот жеIP-адрес, который уже был послан ранее на стадии иссл