Тема 4.3 Адресация в сети. Протокол IP 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 4.3 Адресация в сети. Протокол IP



Узел составной сети, имеющий IP-адрес, называется хост (host). Хороший пример, иллюстрирующий составную сеть, – международная почтовая система адресации. Информация сетевого уровня – это индекс страны, добавленный к адресу письма, написанному на одном из тысяч языков земного шара, например на китайском. И даже если это письмо должно пройти через множество стран, почтовые работники которых не знают китайского, понятный им индекс страны- адресата подскажет, через какие промежуточные страны лучше передать письмо, чтобы оно кратчайшим путем попало в Китай. А уже там работники местных почтовых отделений смогут прочитать точный адрес, указывающий город, улицу, дом и человека, и доставить письмо адресату, так как адрес написан на языке и в форме, принятой в данной стране.

Типы адресов стека TCP/IP

В стеке TCP/IP используются три типа адресов:

– локальные (другое название – аппаратные);

– IP-адреса (сетевые адреса);

– символьные доменные имена.

Локальный адрес – это адрес, присвоенный узлу в соответствии с технологией подсети, входящей в составную сеть. Если подсетью является локальная сеть Ethernet, Token Ring или FDDI, то локальный адрес – это МАС-адрес (MAC address – Media Access Control address).

МАС-адреса назначаются сетевым адаптерам и портам маршрутизаторов производителями оборудования и являются уникальными, так как распределяются централизованно. МАС-адрес имеет размер 6 байт и записывается в шестнадцатеричном виде, например 00-08-А0-12-5F-72.

IP-адреса (IP address) представляют собой основной тип адресов, на основании которых сетевой уровень передает сообщения, называемые IP- пакетами. Эти адреса состоят из 4 байт, записанных в десятичном виде и разделенных точками, например 117.52.9.44. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых адаптеров. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Символьные доменные имена (domain name) служат для удобства представления IP-адресов. Человеку неудобно запоминать числовые IP-адреса, поэтому была разработана специальная служба, DNS (Domain Name System), устанавливающая соответствие между IP-адресами и символьными доменными именами, например www.rambler.ru.

Структура IP-адреса

IP-адрес представляет собой 32-разрядное двоичное число, разделенное на группы по 8 бит, называемых октетами, например: 00010001 11101111 00101111 01011110

Обычно IP-адреса записываются в виде четырех десятичных октетов и разделяются точками. Таким образом, приведенный выше IP-адрес можно записать в следующей форме: 17.239.47.94.

Следует заметить, что максимальное значение октета равно 11111111(2) (двоичная система счисления), что соответствует в десятичной системе 255(10). Поэтому IP-адреса, в которых хотя бы один октет превышает это число, являются недействительными.

Пример: 172.16.123.1 – действительный адрес,

172.16.123.256 – несуществующий адрес, поскольку 256 выходит за пределы допустимого диапазона.

IP-адрес состоит из двух логических частей – номера подсети (ID1 подсети) и номера узла (ID хоста) в этой подсети. При передаче пакета из одной подсети в другую используется ID подсети. Когда пакет попал в подсеть назначения, ID хоста указывает на конкретный узел в рамках этой подсети. Чтобы записать ID подсети, в поле номера узла в IP-адресе ставят нули. Чтобы записать ID хоста, в поле номера подсети ставят нули. Например, если в IP-адресе 172.16.123.1 первые два байта отводятся под номер подсети, остальные два байта – под номер узла, то номера записываются следующим образом:

ID подсети: 172.16.0.0.

ID хоста: 0.0.123.1.

По числу разрядов, отводимых для представления номера узла (или номера подсети), можно определить общее количество узлов (или подсетей) по простому правилу: если число разрядов для представления номера узла равно N, то общее количество узлов равно 2N – 2.

Два узла вычитаются вследствие того, что адреса со всеми разрядами, равными нулям или единицам, являются особыми и используются в специальных целях.

Например, если под номер узла в некоторой подсети отводится два байта (16 бит), то общее количество узлов в такой подсети равно 216 – 2 =65534 узла. Для определения того, какая часть IP-адреса отвечает за ID подсети, а какая за ID хоста, применяются два способа: с помощью классов и с помощью масок.

Общее правило: под ID подсети отводятся первые несколько бит IP-адреса, оставшиеся биты обозначают ID хоста.

Классы IP-адресов

Существует пять классов IP-адресов: A, B, C, D и E (см. рис. 3.1). За принадлежность к тому или иному классу отвечают первые биты IP-адреса. Деление сетей на классы описано в RFC 791 (документ описания протокола IP).

Целью такого деления являлось создание малого числа больших сетей(класса А), умеренного числа средних сетей (класс В) и большого числа малых сетей (класс С).

Рис. 1. Классы IP-адресов

Если адрес начинается с 0, то сеть относят к классу А и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. Сетей класса А немного, зато количество узлов в них может достигать 224 – 2, то есть 16 777 214 узлов. Если первые два бита адреса равны 10, то сеть относится к классу В. В сетях класса В под номер сети и под номер узла отводится по 16 бит, то есть по 2 байта. Таким образом, сеть класса В является сетью средних размеров с максимальным числом узлов 216 – 2, что составляет 65 534 узлов.

Если адрес начинается с последовательности 110, то это сеть класса С. В этом случае под номер сети отводится 24 бита, а под номер узла – 8 бит. Сети этого класса наиболее распространены, число узлов в них ограничено 28 – 2, то есть 254 узлами.

Адрес, начинающийся с 1110, обозначает особый, групповой адрес (multicast). Пакет с таким адресом направляется всем узлам, которым присвоен данный адрес.

Адреса класса Е в настоящее время не используются (зарезервированы для будущих применений).

Характеристики адресов разных классов представлены в таблице.

Применение классов удовлетворительно решало задачу деления на подсети в начале развития Интернета. В 90-е годы с увеличением числа подсетей стал ощущаться дефицит IP-адресов. Это связано с неэффективностью распределения при классовой схеме адресации.

Например, если организации требуется тысяча IP-адресов, ей выделяется сеть класса В, при этом 64534 адреса не будут использоваться. Существует два основных способа решения этой проблемы:

1) более эффективная схема деления на подсети с использованием масок (RFC 950);

2) применение протокола IP версии 6 (IPv6).

Использование масок

Маска подсети (subnet mask) – это число, которое используется в паре с IP- адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети.

Для стандартных классов сетей маски имеют следующие значения:

• класс А – 11111111. 00000000. 00000000. 00000000 (255.0.0.0);

• класс В – 11111111. 11111111. 00000000. 00000000 (255.255.0.0);

• класс С – 11111111. 11111111. 11111111. 00000000 (255.255.255.0).

Маска подсети записывается либо в виде, аналогичном записи IP-адреса, например 255.255.255.0, либо совместно с IP-адресом с помощью указания числа единичных разрядов в записи маски, например 192.168.1.1/24, т. е. в маске содержится 24 единицы (255.255.255.0).

При использовании масок можно вообще отказаться от понятия классов.

Пример

Пусть задан IP-адрес 17.239.47.94, маска подсети 255.255.0.0 (другая форма записи: 17.239.47.94/16).Требуется определить ID подсети и ID хоста в обеих схемах адресации.

1) Адресация с использованием классов. Двоичная запись IP-адреса имеет вид:

00010001. 11101111. 00101111. 01011110

Так как первый бит равен нулю, адрес относится к классу А. Следовательно, первый байт отвечает за ID подсети, остальные три байта – за ID хоста:

ID подсети: 17.0.0.0.

ID хоста: 0.239.47.94.

2) Адресация с использованием масок. Запишем IP-адрес и маску подсети в двоичном виде:

IP-address: 17.239.47.94 = 00010001. 11101111. 00101111. 01011110

Subnet mask: 255.255.0.0 = 11111111. 11111111. 00000000. 00000000

Вспомним определение маски подсети: интерпретируем как номер подсети те биты, которые в маске равны 1, т. е. первые два байта. Оставшаяся часть IP- адреса будет номером узла в данной подсети.

ID подсети: 17.239.0.0.

ID хоста: 0.0.47.94.

Номер подсети можно получить другим способом, применив к IP-адресу и маске операцию логического умножения AND:

В масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8.

Пример

Задан IP-адрес 192.168.89.16, маска подсети 255.255.192.0 (другая форма записи: 192.168.89.16/18). Требуется определить ID подсети и ID хоста. Воспользуемся операцией AND:

Чтобы получить номер узла, нужно в битах, отвечающих за номер подсети, поставить нули: Host ID: Для масок существует важное правило: разрывы в последовательности единиц или нулей недопустимы. Например, не существует маски подсети, имеющей следующий вид:

11111111. 11110111. 00000000. 00001000 (255.247.0.8), так как последовательности единиц и нулей не являются непрерывными.

С помощью масок администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей.

Пример

Допустим, организации выделена сеть класса В: 160.95.0.0 (рис. 2).

00000000. 00000000. 00011001. 00010000 = 0.0.25.16.

Ответ: ID подсети = 192.168.64.0, ID хоста = 0.0.25.16.

Рис. 2. Сеть класса В до деления на подсети

В такой сети может находиться до 65534 узлов. Однако организации требуется 3 независимые сети с числом узлов в каждой не более 254. В этой ситуации можно применить деление на подсети с помощью масок. Например, при использовании маски 255.255.255.0 третий байт адреса будет определять номер внутренней подсети, а четвертый байт – номер узла (см. рис. 3).

Рис. 3. Сеть класса В после деления на подсети

Маршрутизаторы во внешней сети (Интернете) ничего «не знают» о делении сети 160.95.0.0 на подсети, все пакеты направляются на маршрутизатор организации, который переправляет их в требуемую внутреннюю подсеть.

Протокол IPv6

Использование масок является временным решением проблемы дефицита IP-адресов, так как адресное пространство протокола IP не увеличивается, а количество хостов в Интернете растет с каждым днем. Для принципиального решения проблемы требуется существенное увеличение количества IP-адресов. Используемый в настоящее время и рассматриваемый в данном курсе протокол IP называется IPv4 – протокол IP 4-й версии. Для преодоления ограничений IPv4 был разработан протокол IP 6-й версии – IPv6 (RFC 2373, 2460).

Протокол IPv6 имеет следующие основные особенности:

• длина адреса 128 бит – такая длина обеспечивает адресное пространство 2128, или примерно 3.4·1038 адресов. Такое количество адресов позволит присваивать в обозримом будущем уникальные IP-адреса любым устройствам;

• автоматическая конфигурация – протокол IPv6 предоставляет средства автоматической настройки IP-адреса и других сетевых параметров даже при отсутствии таких служб, как DHCP (протокол DHCP будет рассмотрен в лекции 6);

• встроенная безопасность – для передачи данных является обязательным использование протокола защищенной передачи IPsec.

Протокол IPv4 также может использовать IPsec, но не обязан этого делать. В настоящее время многие производители сетевого оборудования включают поддержку протокола IPv6 в свои продукты, однако преобладающим остается протокол IPv4. Связано это с тем, что IPv6 обратно несовместим с IPv4 и процесс перехода сопряжен с определенными трудностями.

Особые IP-адреса

Некоторые IP-адреса являются особыми, они не должны применяться для идентификации обычных сетей.

• Если первый октет ID сети начинается со 127, такой адрес считается адресом машины-источника пакета. В этом случае пакет не выходит в сеть, а возвращается на компьютер-отправитель. Такие адреса называются loopback («петля», «замыкание на себя») и используются для проверки функционирования стека TCP/IP.

• Если все биты IP-адреса равны нулю, адрес обозначает узел-отправитель и используется в некоторых сообщениях ICMP.

• Если все биты ID сети равны 1, адрес называется ограниченным широковещательным (limited broadcast), пакеты, направленные по такому адресу рассылаются всем узлам той подсети, в которой находится отправитель пакета.

• Если все биты ID хоста равны 1, адрес называется широковещательным (broadcast), пакеты, имеющие широковещательный адрес, доставляются всем узлам подсети назначения.

• Если все биты ID хоста равны 0, адрес считается идентификатором подсети (subnet ID).

Наличие особых IP-адресов объясняет, почему из диапазона доступных адресов исключаются два адреса – это случаи, когда все биты ID хоста равны 1 или 0. Например, в сети класса С не 256 (28), а 254 узлов.

 

 

Тема 4.4 Протоколы преобразования адреса. ARP\RARP

Как уже было сказано, никакой функциональной зависимости между локальным адресом и его IP-адресом не существует, следовательно, единственный способ установления соответствия — ведение таблиц. В результате конфигурирования сети каждый интерфейс «знает» свои IP-адрес и локальный адрес, что можно рассматривать как таблицу, состоящую из одной строки. Проблема состоит в том, как организовать обмен имеющейся информацией между узлами сети.

Для определения локального адреса по IP-адресу используется протокол разрешения адресов (Address Resolution Protocol, ARP). Протокол разрешения адресов реализуется различным образом в зависимости от того, работает ли в данной сети протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещания или же какой-либо из протоколов глобальной сети (Frame Relay, ATM), которые, как правило, не поддерживают широковещательный доступ.

Рассмотрим работу протокола ARP в локальных сетях с широковещанием. На рис. 1 показан фрагмент IP-сети, включающий две сети — Ethernetl (из трех конечных узлов А, В и С) и Ethernet2 (из двух конечных узлов D и Е). Сети подключены соответственно к интерфейсам 1 и 2 маршрутизатора. Каждый сетевой интерфейс имеет IP-адрес и МАС-адрес. Пусть в какой-то момент IP-модуль узла С направляет пакет узлу D. Протокол IP узла С определил IP-адрес интерфейса следующего маршрутизатора — это IPi. Теперь, прежде чем упаковать пакет в кадр Ethernet и направить его маршрутизатору, необходимо определить соответствующий МАС-адрес. Для решения этой задачи протокол IP обращается к протоколу ARP. Протокол ARP поддерживает на каждом интерфейсе сетевого адаптера или маршрутизатора отдельную ARP-таблицу, в которой в ходе функционирования сети накапливается информация о соответствии между IP-адресами и МАС-адресами других интерфейсов данной сети. Первоначально, при включении компьютера или маршрутизатора в сеть все его ARP-таблицы пусты.

1. На первом шаге происходит передача от протокола IP протоколу ARP примерно такого сообщения: «Какой МАС-адрес имеет интерфейс с адресом IP1»

2. Работа протокола ARP начинается с просмотра собственной ARP-таблицы. Предположим, что среди содержащихся в ней записей отсутствует запрашиваемый IP-адрес.

3. В этом случае исходящий IP-пакет, для которого оказалось невозможным определить локальный адрес из ARP-таблицы, запоминается в буфере, а протокол ARP формирует ARP-запрос, вкладывает его в кадр протокола Ethernet и широковещательно рассылает.

4. Все интерфейсы сети Ethernetl получают ARP-запрос и направляют его «своему» протоколу ARP. ARP сравнивает указанный в запросе адрес IPi с IP-адресом интерфейса, на который поступил этот запрос. Протокол ARP, который констатировал совпадение (в данном случае это ARP маршрутизатора 1), формирует ARP-ответ.

В ARP-ответе маршрутизатор указывает локальный адрес MACi своего интерфейса и отправляет его запрашивающему узлу (в данном примере узлу С), используя его локальный адрес. Широковещательный ответ в этом случае не требуется, так как формат ARP-запроса предусматривает поля локального и сетевого адресов отправителя. Заметим, что зона распространения ARP-запросов ограничивается сетью Ethernetl, так как на пути широковещательных кадров барьером стоит маршрутизатор.

Рис. 1 Схема работы протокола ARP

На рис. 2 показан кадр Ethernet с вложенным в него ARP-сообщением. ARP-запросы и ARP-ответы имеют один и тот же формат. В табл. 1 в качестве примера приведены значения полей реального ARP-запроса, переданного по сети Ethernet.

Рис. 2 Инкапсуляция ARP-сообщений в кадр Ethernet

В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать протокол ARP не только с протоколом IP, но и с другими сетевыми протоколами. Для IP значение этого поля равно 0x0800. Длина локального адреса для протокола Ethernet равна б байт, а длина IP-адреса — 4 байта. В поле операции для ARP-запросов указывается Значение 1, для ARP-ответов — значение 2.

Из этого запроса видно, что в сети Ethernet узел с IP-адресом 194.85.135.75 пытается определить, какой МАС-адрес имеет другой узел той же сети, сетевой адрес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями.

Таблица 1. Пример ARP-запроса

Поле Значение
Тип сети 1(0x1)
Тип протокола 2048 (0x800)
Длина локального адреса 6(0x6)
Длина сетевого адреса 4(0x4)
Операция 1(0x1)
Локальный адрес отправителя 008048ЕВ7Е60
Сетевой адрес отправителя 194.85.135.75
Локальный (искомый) адрес получателя  
Сетевой адрес получателя 194.85.135.65

Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с искомым IP - адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. В табл. 2 показаны значения полей ARP-ответа, который мог бы поступить на приведенный в табл. 1 ARP-запрос.

Таблица 2. Пример ARP-ответа

Поле Значение
Тип сети 1(0x1)
Тип протокола 2048 (0x800)
Длина локального адреса 6(0x6)
Длина сетевого адреса 4(0x4)
Операция 2(0x1)
Локальный адрес отправителя 00E0F77F1920
Сетевой адрес отправителя 194.85.135.65
Локальный (искомый) адрес получателя 008048ЕВ7Е60
Сетевой адрес получателя 194.85.135.75

В результате обмена ARP-сообщениям и модуль IP, пославший запрос с интерфейса, имеющего адрес 194.85.135.75, определил, что IP-адресу 194.85.135.65 соответствуе т МАС-адрес 00EOF77F192O. Этот адрес затем помещается в заголово к кадра Ethernet, ожидавшего отправлени я IP-пакета.

Чтобы уменьшить число ARP-обращений в сети, найденное соответствие между IP-адресом и МАС-адресом сохраняется в ARP-таблице соответствующего интерфейса, в данном случае — эт о запись:

194.85.135.6 5 - 00E0F77F1920

Данная запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как модуль ARP проанализирует ARP-ответ. Теперь, если вдруг вновь возникнет необходимость послать пакет по адресу 194.85.135.65, то протокол IP прежде, чем посылать широковещательный запрос, проверит, нет ли уже такого адреса в ARP-таблице.

ARP-таблица пополняется не только за счет поступающих на данный интерфейс ARP-ответов, но и в результате извлечения полезной информации из широковещательных ARP-запросов. Действительно, в каждом запросе, как это видно из табл. 1 и 2, содержатся IP-адрес и МАС-адрес отправителя. Все интерфейсы, получившие этот запрос, могут
поместить информацию о соответствии локального и сетевого адресов отправителя в собственную ARP-таблицу. Вчастности, все узлы, получившие ARP-запрос (см. табл. 1), могут пополнить свою ARP-таблицу записью:

194.85.135.75 - 008048ЕВ7Е60

Таким образом, вид ARP-таблицы, в которую входе работы сети были добавлены две упомянутые нами записи, иллюстрирует табл. 3.

Таблица 1. Пример ARP-таблицы

IP-адрес МАС-адрес Тип записи
194.85.135.65 00E0F77F1920 Динамический
194.85.135.75 008048ЕВ7Е60 Динамический
194.85.60.21 008048ЕВ7567 Статический

В ARP-таблицах существует два типа записей: динамические и статические. Статические записи создаются вручную спомощью утилиты агр и не имеют срока устаревания, точнее, они существуют до тех пор, пока компьютер или маршрутизатор остается включенным.

Динамические записи должны периодически обновляться. Если запись не обновлялась в течение определенного времени (порядка нескольких минут), то она исключается из таблицы. Таким образом, в ARP-таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях. Поскольку такой способ хранения информации называют кэшированием, ARP-таблицы иногда называют ARP-кэшем.

Совсем другой способ разрешения адресов используется в глобальных сетях, в которых не поддерживается широковещательная рассылка. Здесь администратору сети чаще всего приходится вручную формировать и помещать на какой-либо сервер ARP-таблицы, в которых он задает, например, соответствие IP-адресов адресам Х.25, имеющих для протокола IP смысл локальных адресов. В то же врем сегодня наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети.

При таком централизованном подходе вручную нужно задать для всех узлов и маршрутизаторов только IP-адрес и локальный адрес выделенного для этих целей маршрутизатора.

При включении каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе. Всякий раз, когда возникает необходимость определения по IP-адресу и автоматически получат ответ без участи я администратора. Работающий таким образом маршрутизатор называют ARP-сервером.

В некоторых случаях возникает обратная задача — нахождение IP-адреса по известному локальному адресу. Тогда в действие вступает реверсивный протокол разрешения адресов (Reverse Address Resolution Protocol, RARP). Этот протокол используется, например, при старте бездисковых станций, не знающих в начальный момент времени своего IP-адреса, но знающих МАС-адрес своего сетевого адаптера.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 330; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.248.208 (0.055 с.)