Лекция 31,32. Адресация в IP-сетях. Форматы IP–адресов и их преобразование.
1. Адресация в TCP/IP-сетях. IP-адресация. Классы IP-адресов. IP-адреса и маски подсетей.
2. Использование статических IP-адресов. Использование динамических IP-адресов.
Стек протоколов TCP/IP предназначен для соединения отдельных подсетей, построенных по разным технологиям канального и физического уровней (Ethernet, Token Ring, FDDI, ATM, X.25 и т. д.) в единую составную сеть. Каждая из технологий нижнего уровня предполагает свою схему адресации. Поэтому на межсетевом уровне требуется единый способ адресации, позволяющий уникально идентифицировать каждый узел, входящий в составную сеть. Таким способом в TCP/IP-сетях является IP-адресация.
Узел составной сети, имеющий IP-адрес, называется хост (host). Хороший пример, иллюстрирующий составную сеть, – международная почтовая система адресации. Информация сетевого уровня – это индекс страны, добавленный к адресу письма, написанному на одном из тысяч языков земного шара, например, на китайском. И даже если это письмо должно пройти через множество стран, почтовые работники которых не знают китайского, понятный им индекс страны-адресата подскажет, через какие промежуточные страны лучше передать письмо, чтобы оно кратчайшим путем попало в Китай. А уже там работники местных почтовых отделений смогут прочитать точный адрес, указывающий город, улицу, дом и человека, и доставить письмо адресату, так как адрес написан на языке и в форме, принятой в данной стране.
В стеке TCP/IP используются три типа адресов:
– локальные (другое название – аппаратные);
– IP-адреса (сетевые адреса);
– символьные доменные имена.
Локальный адрес – это адрес, присвоенный узлу в соответствии с технологией подсети, входящей в составную сеть.
Для узлов, входящих в локальные сети, это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.
IP-адреса (IP address) представляют собой основной тип адресов, на основании которых сетевой уровень передает сообщения, называемые IP- пакетами. Эти адреса состоят из 4 байт, записанных в десятичном виде и разделенных точками, например 117.52.9.44. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по
определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых адаптеров. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Символьные доменные имена (domain name) служат для удобства представления IP-адресов. Специальная служба, DNS (Domain Name System), устанавливающая соответствие между IP-адресами и символьными доменными именами. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена, например SERV1.IBM.COM (или www.rambler.ru.
Символьный идентификатор-имя, например,. Такой адрес, называемый также DNS-именем, используется на прикладном уровне, например, в протоколах FTP или telnet.
IP-адрес — это уникальная 32-разрядная последовательность двоичных цифр, разделенная на группы по 8 бит, называемых октетами с помощью которой компьютер однозначно идентифицируется в IP-сети.
Различные представления IP-адреса
Пример IP-адреса: 00010001 11101111 00101111 01011110 (17.239.47.94).
Следует заметить, что максимальное значение октета равно 111111112 (двоичная система счисления), что соответствует в десятичной системе 25510.
Поэтому IP-адреса, в которых хотя бы один октет превышает это число, являются недействительными.
Пример: 172.16.123.1 – действительный адрес, 172.16.123.256 – несуществующий адрес, поскольку 256 выходит за пределы допустимого диапазона.
Правила перевода целого числа из десятичной системы счисления в двоичную.
Для перевода целого числа - это число последовательно делят на основание новой системы счисления до тех пор, пока не получится частное меньше этого основания.
Число в новой системе счисления запишется в виде остатков после деления. Последнее частное будет первой цифрой числа в новой системе счисления.
Например: 57(10) →Х(2)
57 │2_ 57(10)=111001(2)
56 28 │2_
1 28 14 │2_
0 14 7 │2_
0 |
6_ |
3 │2_ |
|
1 |
2_ 1 |
|
|
1 |
Перевод из других, позиционных систем в десятичную.
Для этого данное число представляют в виде суммы степеней основания умноженных на соответствующий коэффициент.
Например: 1011.01=1*23+0*22+1*21+1*20+0*2-1+1*2-2-=
=8+0+2+1+0.5+0.125 =11.625
Десятичные значения степеней числа 2 с показателем, равным порядковому номеру бита в октете (нумерация битов производится справа налево и начинается с нуля):
Запомнив такую таблицу, несложно в уме преобразовывать октеты в десятичные числа и обратно.
Десятичное число легко вычисляется как сумма цифр, соответствующих ненулевым битам в октете, например:
10101101 → 128·1+64·0+32·1+16·0+8·1+4 · 1 + 2 · 0 + 1 · 1 = 173.
Несколько сложнее перевести десятичное представление в двоичное, но при некоторой тренировке это также не представляет проблем. Например:
201 →128·1+64·1+32·0+16·0+8·1+4·0+2 · 0 + 1 · 1 = 11001001.
IP-адрес состоит из двух логических частей – номера подсети (ID подсети) и номера узла (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-адресов: A, B, C, D и E (см. рис. 3.1). За принадлежность к тому или иному классу отвечают первые биты IP-адреса.
Деление сетей на классы описано в RFC 791 (документ описания протокола IP).
Целью такого деления являлось создание малого числа больших сетей (класса А), умеренного числа средних сетей (класс В) и большого числа малых сетей (класс С).
Рис. 1. Классы IP-адресов
Если адрес начинается с 0, то сеть относят к классу А и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. Сетей класса А немного, зато количество узлов в них может достигать 224 – 2, то есть 16777214 узлов.
Если первые два бита адреса равны 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 на подсети, все пакеты направляются на маршрутизатор организации, который переправляет их в требуемую внутреннюю подсеть.
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.