Цель: изучить правила адресации сетевого уровня, научиться распределять адреса между участниками сети передачи данных и организовывать маршрутизацию между сегментами сети.
Теоретические сведения:
Сетевой уровень отвечает за возможность доставки пакетов по сети передачи данных - совокупности сегментов сети, объединенных в единую сеть любой сложности посредством узлов связи, в которой имеется возможность достижения из любой точки сети в любую другую.
Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных пакетных подсетей, к которым подключаются разнородные машины.
Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи. Однако предполагается, что каждая подсеть может принять пакет информации (данные с соответствующим сетевым заголовком) и доставить его по указанному адресу в этой конкретной подсети.
IP - адреса представляют собой 32-х разрядные двоичные числа. Для удобства их записывают в виде четырех десятичных чисел, разделенных точками. Каждое число является десятичным эквивалентом соответствующего байта адреса (для удобства будем записывать точки и в двоичном изображении).
|
|
Например, IP–адрес 192.168.200.47 является десятичным эквивалентом двоичного адреса 11000000.10101000.11001000.00101111
Иногда применяют десятичное значение IP-адреса. Его легко вычислить: 192*2563+168*2562+200*256+47=3232286767
Существует несколько правил об особенностях IP-адресов:
• если IР-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет;
• если в поле номера сети стоят 0, то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;
• если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
• если в поле адреса назначения стоят сплошные 1, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером. Такая рассылка называется широковещательным сообщением (broadcast);
адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback
Адрес получателя должен содержать в себе:
1. адрес (номер) подсети;
2. адрес (номер) хоста (узла) внутри подсети
Часто (например, маршрутизация осуществляется на основании номера сети) возникает необходимость разделить IP - адрес на эти две части: номер подсети и номер узла.
|
|
Для разделения IP - адреса используют один из способов:
1. использование фиксированной границы - (не нашел применения; весь адрес делится на 2 части фиксированной длины, в одной из них всегда размещается номер сети, в другой - номер узла)
2. использование маски, которая позволяет максимально гибко установить границу между номером сети и номером узла.
3. использование классов адресации (самый распространенный, компромисс между первым и вторым способом). Вводится 5 классов: A,B,C,D,E. A,B,C - используют для адресации сетей; D,E - имеют специальное назначение. Для каждого класса определены границы между номером сети и номером узлов, которые хранятся в таблицах:
Диапазоны адресов для всех классов сетей:
Класс А В С D Е | Первые биты | Наименьший номер сети | Наибольший номер сети | Максимальное число машин в сети |
А | 0 | 1.0.0.0 | 126.0.0.0 | 2 24 = 16 777 216 |
В | 10 | 128.0.0.0 | 191.255.0.0 | 2 16 = 65 536 |
C | 110 | 192.0.1.0 | 223.255.255.0 | 2 8 = 256 |
D | 1110 | 224.0.0.0 | 239.255.255.255 | Групповые адреса |
E | 11110 | 240.0.0.0 | 247.255.255.255 | Зарезервировано для будущих применений |
Диапазон адресов сетей и хостов классов A и C:
Класс | Диапазон номера сети | Диапазон номеров узлов |
A | 1 – 126 | 0.0.1 – 255.255.254 |
B | 128.0 – 191.255 | 0.1 – 255.254 |
C | 192.0.0 – 223.255.255 | 1-254 |
Чтобы получить из IP-адреса номер сети и номер узла надо разбить адрес на 2 соответствующие части (см. таблицу) и дополнить каждую из них нулями до полных 4 байт.
Пример: Дан IP-адрес класса В: 129.64.134.5.
Так как для класса В IP-адрес разбивается пополам, то номер сети равен 129.64. 0.0; номер узла равен 0.0. 134.5.