IP-АДРЕСАЦИЯ
Рисунок -- Семейство протоколов TCP/IP
Теория IP-адресации строится на двух базовых понятиях:
1. Сетевой интерфейс.
2. Подсеть.
Сетевой интерфейс (network interface) – это минимально адресуемый в сетях компонент, входящий в состав какой-либо станции. Персональный компьютер, либо сервер, либо некий специализированный сетевой вычислитель (например, маршрутизатор), либо другое устройство, способное передавать или принимать пакеты называется станцией (node). Internet строится из LANs и Intranets, называемых согласно теории IP-адресации подсетями (subnets).
С точки зрения IP-адресации выделяются два основных типа станций:
1. Пользовательская станция – User Node (UN) – за ней работает рядовой пользователь сети.
2. Шлюзовая станция или шлюз – GateWay (GW) – предназначен для объединения подсетей.
IP-адрес ассоциируется с сетевым интерфейсом. Этот адрес нельзя однозначно приравнивать к адресу станции. Каждый сетевой интерфейс должен иметь собственный IP-адрес, причем сетевым интерфейсам можно присваивать не все адреса.
Таким образом, получается следующая картина.
Рисунок -- Сетевые интерфейсы
Применительно к вычислителям, как правило, физически сетевой интерфейс выражен в виде сетевого адаптера – Network Interface Card (NIC). В общем случае, станция может содержать произвольное количество сетевых интерфейсов (пользовательская – 1, шлюзовая – минимум 2). В одном сетевом адаптере обычно содержится один сетевой интерфейс, но может быть интегрировано и несколько (например, DualHead адаптеры от Intel). Каждый сетевой интерфейс обычно имеет одну точку подключения к СрПД, но встречаются и другие случаи (например, управляемые коммутаторы).
Формально выделяются пять классов IP-адресов (три основных и два дополнительных).
При этом, принято использовать так называемую нотацию DDN (Decimal Dot Notation) – четыре разделенных точками десятичных цифры от нуля до двухсот пятидесяти пяти.
Рисунок -- Основные (A, B, C) и дополнительные (D, E) классы IP-адресов
Класс D используется для адресации в multicast-сетях (пакет предназначен нескольким сетевым интерфейсам). Класс E – зарезервирован для будущего использования.
Есть и другие зарезервированные диапазоны.
Для каждого сетевого интерфейса независимо от реализации существует возможность задать 4 так называемых явных IP-параметра:
1. IP Address (IP) – IP-адрес.
2. Subnet Mask (SM) – маска подсети.
3. Default Gateway (DG) – шлюз по умолчанию.
4. DNS Server (DNS) – адрес DNS-сервера (либо нескольких).
Собственно IP-адрес предназначен для адресации некоторой станции. Должен быть уникален по крайней мере в пределах подсети.
Маска подсети предназначена для выделения подсети (то есть определения адреса подсети и ее размера) исходя из IP-адреса. Маска подсети в двоичном виде представляет собой непрерывную последовательность единиц и следующую за ней непрерывную последовательность нулей согласно общей длине IP-адреса. Принято, что нули соответствуют станционной части, единицы – подсетевой. Таким образом.
Рисунок -- Маска подсети
Граница между частями не обязательно выровнена по границе байта и может произвольным образом перемещаться в определенном диапазоне. Для стандартных классов масками подсетей являются.
Рисунок -- Стандартные маски подсетей
Маска подсети всегда четная. Маска подсети одинакова для всех сетевых интерфейсов в пределах подсети. На примере класса C, для того, чтобы быстро определить последнюю цифру маски подсети можно от числа 256 отнять общее число адресов диапазона подсети. Часто используется альтернативная форма задания маски подсети в нотации CIDR (Classless InterDomain Routing) - безклассовая междоменная маршрутизация.
Рисунок -- Альтернативная форма задания маски подсети
Шлюз по умолчанию – адрес сетевого интерфейса из рассматриваемой подсети, на который нужно направлять пакеты, которые предназначены станциям не из текущей подсети, причем пути к этим станциям неизвестны. Принято в качестве шлюза по умолчанию назначать адрес первого сетевого интерфейса в подсети. Кроме того, принято в пределах подсети использовать один шлюз по умолчанию.
Адрес DNS-сервера необходим для обращения к службе DNS, позволяющей восстановить цифровое значение адреса станции-абонента, с которым работают компьютеры, исходя из символьного, с которым работают люди. Служба DNS к IP-адресации никакого отношения не имеет и включается в данный список традиционно.
Минимально (конечно, в зависимости от ситуации) должны быть известны IP-адрес и маска подсети. Подсеть выделяется из IP-адреса всегда автоматически согласно введенной маске. Если маска подсети не указана, то используется стандартная.
Определение явных IP-параметров подразумевает задание еще двух так называемых неявных IP-параметров:
5. Subnet Address (SA) – адрес подсети.
6. Broadcast Address (BA) – широковещательный адрес.
Адрес подсети применяется для «поочередной» адресации всех возможных станций подсети (пакет предназначен одной из станций подсети и направляется в эту подсеть). Адресом подсети является самый нижний адрес из диапазона адресов подсети и он всегда четный.
Широковещательный адрес применяется для одновременной адресации всех возможных станций подсети (пакет предназначен всем станциям подсети). Широковещательным адресом является самый верхний адрес из диапазона адресов подсети и он всегда нечетный.
Количество адресов из диапазона подсети, которые можно присвоить сетевым интерфейсам, меньше общего количества адресов на два (адрес подсети, широковещательный адрес). Число адресов в диапазоне подсети всегда равно степени двойки (минимально четыре). Диапазон должен начинаться с четного адреса и заканчиваться нечетным. В конечном счете, любая допустимая подсеть может быть получена методом последовательного «деления пополам» диапазона от 0.0.0.0 до 255.255.255.255.
Рисунок -- Обозначение подсети
С точки зрения «видимости» все IP-адреса делятся на:
1. Реальные (public).
2. Внутренние (private).
В отличие от станции с реальным адресом, станция с внутренним адресом «видна» только во внутренней сети предприятия или организации. В каждом из классов существуют диапазоны адресов, специально зарезервированные для внутренних подсетей.
Рисунок -- Диапазоны адресов, зарезервированные для внутренних подсетей
С точки зрения временного постоянства все IP-адреса делятся на:
1. Статические (static, manual).
2. Динамические (dynamic).
Статический адрес закрепляется за станцией на более или менее продолжительное время.
Динамический адрес присваивается станции в процессе загрузки по некоторому критерию и действителен только в течение сеанса работы. При этом, назначаться динамический адрес может по-разному:
1. Передаваться с сервера по определенному протоколу (например, DHCP) после выборки из:
а) статического пула (static pool, static scope);
б) динамического пула (dynamic pool, dynamic scope);
2. Случайно генерироваться (Link Local Addresses: 169.254.X.X).
Имеется несколько специальных соглашений в области IP-адресации:
1. 0.0.0.0 – адрес всей глобальной сети Internet.
2. 255.255.255.255 – глобальный широковещательный адрес.
3. 127.0.0.1 – ассоциируется со специальным сетевым интерфейсом loopback (заглушкой), необходимым для обеспечения переносимости ПО (пакет с таковым адресом назначения, переданный приложением, тут же программно возвращается на прикладной уровень).
Если некоторая станция содержит два или более сетевых интерфейсов, то среди них выделяется главный, ассоциированный с самой станцией.
В области IP-адресации заложено много возможностей. Кроме стандартов, существуют общепринятые рекомендации и, вообще, правила хорошего тона.
В самом общем случае, иерархия подсетей может быть представлена в виде своеобразного графа (лишь с учетом ограничений, накладываемых в связи с правилами адресации), в котором роль узлов играют подсети, а связей – шлюзы.
С точки зрения иерархии подсети можно разделить на два типа:
1. Одноранговые.
2. Разноранговые.
В КС, как и в любой сложной иерархической системе, можно выделить уровни. Обычно уровни вводятся с целью улучшения управляемости и привязаны к физической инфраструктуре (например, сеть университета может состоять из сетей кафедр, которые, в свою очередь, могут состоять из сетей лабораторий). Более или менее разнесенные IP-подсети, находящиеся на одном уровне управления, называются одноранговыми, а на разных – разноранговыми.
С точки зрения связанности подсети бывают:
1. Связанные.
2. Изолированные.
Полностью изолированные подсети встречаются все реже.
С точки зрения диапазонов адресов подсети можно разделить на два типа:
1. Обособленные.
2. Перекрывающиеся, причем, возможно множество вариантов.
Обособленность подсети означает, что адрес любой станции из этой подсети относится только к одному диапазону – данной подсети.
Перекрытие адресов означает, что в подсети есть станции с адресами, относящимися по крайней мере к двум диапазонам.
В настоящее время широко применяется практика последовательного деления адресного пространства. При этом возможны стратегии:
1. Новая подсеть включается в предварительно выделенную подсеть.
2. Новая подсеть добавляется к предварительно выделенной подсети.
Администраторы часто имеют резерв адресов. Основная разница заключается в маршрутизации. Первая стратегия целесообразна для разноранговых подсетей, вторая – одноранговых. Поэтому, как правило, упомянутый выше граф вырождается в своеобразное дерево. Считается, что ранг снижается при движении в сторону листьев и увеличивается при движении в сторону корня. Соседние одноранговые подсети обычно связаны через ближайшую более высокоранговую подсеть, хотя могут быть и «прямые» связи. Встречаются особые «прямые» межуровневые связи. Крайне редки «прыжки» через уровни. Иногда встречается и включение друг в друга одноранговых подсетей.
Типовая оконечная подсеть обычно физически выражена как совокупность станций, подключенных к одной среде передачи данных (например, сегмент Ethernet). В пределах подсети, переданный одной станцией пакет принимается (не обязательно обрабатываться) всеми остальными. Чтобы попасть в другие подсети, пакет должен пройти соответствующие шлюзы. В общем случае, подсеть может состоять как только из станций, так и только из шлюзов.
Разработаны два поколения протокола IP:
1. IPv4 – пока доминирует.
2. IPv6 – применяется все чаще.
Правила использования протоколов IPv4 и IPv6 базируются на стандартах RFC.