Различают два типа адресов. На
канальном уровне используют адреса, называемые физическими, локальными или
MAC-адресами. Это шестибайтовые адреса
сетевых плат, присваиваемые изготовителем контроллеров (каждый изготовитель вместе с лицензией на изготовление получает уникальный диапазон адресов). MAC-адреса компактны, но неудобны для восприятия человеком. Кроме того, при смене сетевой платы меняется и MAC-адрес, но для пользователя желательно иметь адрес, не зависимый от подобных замен.
Поэтому на
сетевом уровне используют
сетевые адреса, иначе называемые виртуальными, или логическими.
Кадр, поступивший на сетевой уровень, инкапсулируется в
пакет с заголовком, в котором указываются сетевые адреса отправителя и получателя. Эти адреса имеют иерархическую структуру, для них существуют цифровое и буквенное выражения. В
Internet эти выражения называют IP-адресом и IP-именем соответственно.
IP-адрес в четвертой версии
протокола IP (IPv4) — уникальная совокупность чисел: адреса сети и адреса компьютера (
хоста — узла в сети), которая указывает их местоположение. Имя характеризует пользователя. Оно составляется в соответствии с доменной системой имен. Соответствие между IP-адресом и IP-именем хоста устанавливается специальной
службой имен. В Internet это
DNS (Domain Name Service), в ISO — стандарт X.500.
Рис. 1. Определение IP-адреса с помощью DNS
IP-имя, называемое также доменным именем, — удобное для человека название узла или сети. Имя отражает иерархическое построение
глобальных сетей и потому состоит из нескольких частей (аналогично обычным почтовым адресам). Корень иерархии обозначает либо страну, либо отрасль знаний, например:
ru — Россия,
us — США,
de — Германия,
uk — Великобритания,
edu — наука и образование,
com — коммерческие организации,
org — некоммерческие организации,
gov — правительственные организации,
mil — военные ведомства,
net — служба поддержки Internet и т.д. Корень занимает в IP-имени правую позицию, левее записываются локальные части адреса и, наконец, перед символом
@ указывается имя почтового ящика пользователя. Так, запись
norenkov@rk6.bmstu.ru расшифровывается, как пользователь
norenkov в подразделении
rk6 организации
bmstu в стране
ru.
IP-адрес в
протоколе IPv4 — 32-битовое слово, записываемое в виде четырех частей (побайтно), разделенных точками. Каждые сеть и узел в сети получают свои номера, причем для сети может использоваться от одного до трех старших байтов, а оставшиеся байты — для номера узла (отметим, что узлы сети, имеющие IP-адреса, называют хостами).
Используются
классы адресов A,B,C,D, различающиеся значениями старших битов (рис. 2). В классе A старший бит равен 0, под номер сети отведены оставшиеся биты старшего байта. Следовательно, число различных адресов сетей в классе A равно 2
7 = 128. В классе B старшие биты равны 10, под адрес сети отведено 14 битов в двух старших байтах, т.е. здесь имеем 2
14 = 16384 адресов сетей. В классах C и D старшие биты равны 110 и 1110 соответственно. В классе C имеем наибольшее адресное пространство для сетей — 2
21, но под адрес узла отведен лишь один байт. Класс D введен для адресации при групповой рассылке. Младшие байты используются для адресации подсетей и узлов в подсетях. Какая часть IP-адреса относится к подсети и какая к узлу определяется маской, выделяющей соответствующие биты в IP-адресе. Тем самым описывается иерархия сетей.
Рис. 2. Структура адресов в IP-сетях
Нужно отметить, что не в каждой сети используются все относящиеся к ней адреса. Так, если в сети с адресом класса C имеется

узлов, то 256

адресов не используется. Поэтому разрешено отводить под адрес сети число битов, не кратное 8. В этом случае часть IP-адреса, отведенная под адрес сети, определяется с помощью маски, и в современных
маршрутизаторах предусмотрена представление этой маски в
таблицах маршрутизации. Этот прием позволяет не только экономить адресное пространство, но и уменьшать размеры таблиц маршрутизации.
Адреса при включении новых хостов в сеть выдает организация, предоставляющая телекоммуникационные услуги и называемая
провайдером. Провайдер, в частности, обеспечивает включение IP-адреса и соответствующего ему IP-имени в сервер службы адресов
DNS. Это означает запись данных о хосте в DIB (Directory Information Base) локального узла DNS.
При
маршрутизации имя переводится в адрес с помощью серверов DNS. Поскольку маршрутизация в сети осуществляется по IP-адресам, то перевод указанного пользователем IP-имени в IP-адрес с помощью DNS обязателен.
Маршрутизация в
Internet организована по иерархическому принципу. Имеются уровни
ЛВС и
корпоративных сетей;
маршрутных доменов, в каждом из которых используются единые протоколы и алгоритмы маршрутизации;
административных доменов, каждый из которых соответствует некоторой ассоциации и имеет единое управляющее начало. В маршрутных доменах имеются внешние маршрутизаторы для связи с другими маршрутными или административными доменами.
Обращение из некоторого узла к другому узлу в Internet (например, из wwwcdl.bmstu.ru по адресу http://www.intel.com) происходит следующим образом.
Сначала IP-имя переводится в IP-адрес. Для этого происходит обращение к местному серверу (bmstu), и если там сведений о сети назначения нет, то происходит переход к серверу следующего, более высокого уровня (ru) и далее по иерархии вниз до получения IP-адреса хоста назначения. Корневых серверов в Internet сравнительно немного, а число уровней может быть большим. В каждой зоне (поддереве) сервер дублируется, его содержимое реплицируется через определенные промежутки времени. В местном DNS-сервере могут быть сведения об IP-адресах хостов из удаленных доменов, если к ним происходят достаточно частые обращения из данного домена.
После получения IP-адреса узел-отправитель сравнивает номер своей сети (подсети) с номером сети, указанным в IP-адресе получателя в заголовке
пакета.
Если номера совпадают, то узел-отправитель с помощью имеющейся в его памяти
ARP-таблицы переводит IP-адрес в
MAC-адрес, по которому и доставляется пакет средствами
канального уровня. Если в ARP-таблице строки с нужным MAC-адресом не оказалось, то по сети широковещательно, т.е. по всем узлам данной сети, распространяется ARP-запрос. Все узлы вскрывают этот запрос, но только узел, имеющий указанный в запросе IP-адрес откликается своим MAC-адресом. После этого пакет отправляется адресату, одновременно строка с найденным MAC-адресом заносится в ARP-таблицу узла-отправителя.
Если номера сетей не совпадают, то пакет пересылается
маршрутизатору — устройству, обеспечивающему связь с сетями, внешними по отношению к данной подсети. Маршрутизатор с помощью своей
таблицы маршрутизации определяет, через какой из своих портов направлять пакет дальше.
Следует отметить, что каждый порт маршрутизатора имеет свой IP-адрес и принадлежит некоторой сети, каковой может быть ЛВС или соединение с портом другого маршрутизатора. В таблице маршрутизации некоторого маршрутизатора

обычно указывается адрес

сети назначения и адрес следующего маршрутизатора (точнее, адрес

его порта). Адрес

выходного порта маршрутизатора

может быть указан непосредственно либо вычислен по адресу

, так как адреса

и

относятся к одной и той же сети.
Как отмечено выше, продолжающийся рост числа узлов в Internet привел к появлению версии IPv6 протокола IP (сеть
TCP/IP с протоколом IPv6 называют
Internet-2).
В
протоколе IPv6 размер адреса увеличен до 128 бит. Адреса отражают иерархическую структуру сети и могут быть индивидуальными или групповыми. Индивидуальный адрес имеет следующую структуру (в скобках указан размер соответствующего поля в битах):
- FP = 001 — префикс, указывающий тип адреса, в данном случае адрес индивидуальный (3, в общем случае до 8);
- TLA — идентификатор верхнего уровня в иерархической структуре (8...13), обычно это идентификатор провайдера;
- RES — зарезервированное поле (8);
- NLA — идентификатор среднего уровня (32), обычно это идентификатор корпоративной сети (абонента);
- SLA — идентификатор нижнего уровня (16), т.е. подсети в корпоративной сети;
- ID — идентификатор узла (48), представленный в виде шестибайтового MAC-адреса.
Групповые адреса присваиваются группам узлов. Сообщение, адресованное группе, будет доставлено каждому члену группы.
Совместное использование протоколов IPv6 и IPv4 возможно в течение переходного периода. В частности, адреса IPv4 помещаются в заголовке IPv6 на место последних 32 бит, а предыдущие 96 бит заполняются нулями.
В целом IP-заголовок в протоколе IPv6 состоит из 40 байт и включает следующие поля:
- версия протокола (4);
- приоритет (4);
- параметры обслуживания (24);
- длина пакета (16);
- тип протокола (8);
- тип следующего заголовка (8);
- лимит числа переходов (8);
- адрес отправителя (128);
- адрес получателя (128).
За основным заголовком в IPv6-пакете могут следовать дополнительные, используемые для указания пользователю той или иной служебной информации, например, способа шифрования или способа фрагментации. Лимит числа переходов — это максимально допустимое число
маршрутизаторов на пути
дейтаграммы. Превышение этого числа приводит к ликвидации пакета.