Поэтому протоколы сетевого уровня и выше инвариантны к сетевой физической среде. |
Адресация в IP-сетях
7.1. Логические адреса версии IPv4
Узлы IP-сети имеют уникальные физические и логические адреса. Физический адрес устанавливается изготовителем аппаратных средств, например, МАС-адрес сетевой карты NIC, который "прошивается" в ПЗУ. Логический адрес устанавливается администратором или назначается динамически протоколом DHCP из диапазона выделенных провайдером адресов.
Логические адреса узлов в IP-сетях версии IPv4, используемой в настоящее время, содержат 32 двоичных разряда, т.е. 4 байта (4 октета). Каждый из 4 байт адреса в технической документации отображается десятичным числом, а байты разделяются точкой, например, 172.100.220.14. Часть этого адреса (старшие разряды) является номером сети, а другая часть (младшие разряды) - номером узла в сети. Таким образом, IP-адреса являются иерархическими, в отличие от плоских МАС-адресов.
Граница между сетевой и узловой частью может проходить в произвольной части адреса, при этом адресация называется бесклассовой (classless). Если же граница проходит по границе байтов и сетевая часть строго определенного размера, то реализуется адресация на основе полного класса (classfull). В соответствии с тем, сколько байт адреса относится к номеру сети, а сколько к номеру узла - адреса делятся на классы. Для уникальной адресации узлов (unicast) используются три класса адресов.
В адресе класса А старший байт задает адрес сети, а три младших байта - адрес узла (host). Причем старший бит адреса равен 0.
В адресе класса В два старших байта задают адрес сети, а два младших байта - адрес узла. Значение двух старших бит адреса - 10.
В адресе класса С три старших байта задают адрес сети, а младший байт - адрес узла. Значение трех старших бит адреса - 110.
Существует также многоадресный или групповой (multicast) класс D и резервный класс E. При групповой адресации сообщение передается всем узлам и интерфейсам, на которых помимо уникальных адресов unicast сконфигурированы адреса класса D (multicast). Дополнительная информация по классам и адресам приведена в табл. 7.1.
Класс | Первый байт адреса | Наименьший адрес сети | Наибольший адрес сети | Максимальное число узлов |
---|---|---|---|---|
A | 0xxxxxxx | 1.0.0.0 | 126.0.0.0 | |
B | 10xxxxxx | 128.0.0.0 | 191.255.0.0 | |
C | 110xxxxx | 192.0.0.0 | 223.255.255.0 | 254 |
D | 1110xxxx | 224.0.0.0 | 239.255.255.255 | multicast |
E | 11110xxx | 240.0.0.0 | 247.255.255.255 | Резерв |
Номер узла (адрес host) не может состоять только из одних единиц или нулей. Если в поле адреса узла все нули, то это означает, что задается номер (адрес) сети или подсети. Если же в этом поле все двоичные разряды равны единице, то это означает широковещательный (broadcast) адрес, когда сообщение предназначено всем узлам сети, в которой находится узел, сформировавший данный пакет, т.е. источник передаваемой информации. Этим объясняется уменьшение максимального числа узлов в сети на 2 (см. табл. 7.1). Таким образом, максимальное число узлов в сети класса С будет равно .
Старший разряд адреса класса А всегда равен 0, поэтому адреса сетей могут находиться в диапазоне от 1 до 127. Однако адрес 127.0.0.1 предназначен для самотестирования, по этому адресу узел обращается к самому себе, проверяя, установлен ли протокол TCP/IP на этом узле. Поэтому адрес сети 127.0.0.0 не входит в состав адресов таблицы 7.1.
С целью сокращения количества адресов, которыми оперирует маршрутизатор, в его таблице маршрутизации (см. "Сетевой уровень модели OSI" ) задаются адреса сетей, а не узлов. В то же время, в адресной части пакета задаются адреса узлов (см. рис. 6.1). Поэтому маршрутизатор, получив пакет, должен из адреса узла назначения получить адрес сети. Эту операцию маршрутизатор реализует путем логического умножения сетевого адреса узла на маску. Число разрядов маски равно числу разрядов IP-адреса. Непрерывная последовательность единиц в старших разрядах маски соответствует числу разрядов адреса, относящихся к номеру сети. Младшие разряды маски, равные нулю, соответствуют разрядам адреса узла в сети. При логическом умножении адреса узла на маску получается адрес сети. Например, при умножении IP-адреса 192.100.12.67 на стандартную маску класса С, равную 255.255.255.0, получается следующий результат:
11000000.01100100.00001100.01000011 |
11111111.11111111.11111111.00000000 |
11000000.01100100.00001100.00000000 |
т.е. получен адрес сети 192.100.12.0.
Аналогичная запись предыдущего адреса с соответствующей маской класса С может также иметь следующий вид: 192.100.12.67/24, означающий, что маска содержит единицы в 24 старших разрядах. При этом 24 старших разряда будут одинаковы для всех узлов сети, т.е. образуют общую часть адреса, называемую префиксом. Именно префикс имеет обозначение /24 в данном примере.
Стандартная маска адреса класса В имеет 16 единиц в старших разрядах и 16 нулей в младших. Поэтому, если адрес узла будет равен 172.16.37.103/16, то адрес сети будет равен 172.16.0.0. Маска адреса класса А имеет 8 единиц в старших разрядах и 24 нуля в младших. Поэтому, например, адресу узла 10.116.37.103/8 соответствует адрес сети 10.0.0.0.
Разбиение адресов на классы жестко задает максимальное количество узлов в сети. Этому типу адресации соответствуют протоколы маршрутизации типа Classful, которые требуют, чтобы использовалась единая (стандартная) маска сети. Например, сети с адресом 192.168.187.0 соответствует стандартная маска 255.255.255.0, а сети 172.16.0.0 - стандартная маска 255.255.0.0.
IP-адреса узлов могут назначаться администратором вручную (статическая адресация), что очень кропотливо. Протокол динамического конфигурирования узлов (Dynamic Host Configuration Protocol - DHCP) позволяет узлу динамически без участия администратора получать IP-адрес. Нужно только определить диапазон разрешенных IP-адресов на DHCP-сервере.
Для назначения адреса вручную в главном меню компьютера нужно последовательно выбрать: "Пуск", "Настройка", "Панель управления", "Сетевые подключения", "Подключение по локальной сети". Во всплывшем окне ( рис. 7.1а) выбрать "Свойства". В следующем окне выбрать "Протокол Интернета (TCP/IP)" ( рис. 7.1б), затем "Свойства".
При использовании статической адресации администратору необходимо вручную назначить IP-адрес, маску подсети и основной шлюз по умолчанию ( рис. 7.2).
Кроме того, при конфигурировании могут задаваться адреса серверов системы доменных имен (Domain Name System - DNS), которые преобразуют имена сайтов назначения в IP-адреса.
Вручную назначаются адреса сетевым принтерам, серверам и интерфейсам маршрутизаторов.
Протокол динамического конфигурирования узлов DHCP позволяет узлу динамически без участия администратора получать IP-адрес, облегчая работу администратора и исключая ошибочное назначение адресов, уже используемых другим пользователями. Протокол DHCP присваивает узлам IP-адреса временно из пула (набора) адресов, полученного у сетевого оператора (провайдера). Если пользователь уходит из сети, то его IP-адрес возвращается в пул и может быть использован другим пользователем или прежним при возвращении в сеть. Протокол DHCP старается сохранять за пользователем ранее использовавшийся IP-адрес.
Настройки адресов компьютера можно посмотреть по команде ipconfig в командной строке ( рис. 7.3). В данном примере на компьютере задан адрес IPv4 - 10.0.100.62 и адрес IPv6 - 2001:0:9d38:6ab8:10d7:3e31:f5ff:9bc1.