- •А. М. Шабалин
- •Предисловие
- •Введение
- •1 Современные классификации операционных систем
- •1.1 Основные аспекты изучения современных операционных систем
- •1.2 Определение сетевых операционных систем
- •1.3 Характеристика популярных операционных систем по различным классификационным критериям
- •1.3.1 Операционные системы компании Microsoft
- •1.3.2 Альтернативные операционные системы
- •2 Современные сетевые протоколы
- •2.1 Стандартная семиуровневая эталонная модель взаимодействия открытых систем и стек протоколов tcp/ip
- •2.2 Протоколы межсетевого взаимодействия семейства ip
- •2.2.1 Протокол iPv4
- •2.2.2 Протокол iPv6
- •2.3 Основы адресации в ip-сетях
- •2.3.1 Адресация iPv4
- •2.3.2 Адресация iPv6
- •2.4 Проблема установления соответствия между адресами различных типов
- •00-18-F3-4a-a1-55
- •192.168.200.199
- •194.85.135.75 – 008048Ев7е60.
- •2.5 Протоколы транспортного уровня стека tcp/ip
- •2.5.1 Протокол udp
- •2.5.2 Протокол tcp
- •2.6 Протоколы маршрутизации
- •2.6.1 Классификации протоколов маршрутизации
- •2.6.2 Внутренние протоколы маршрутизации rip и ospf
- •2.6.3 Внешний шлюзовый протокол bgp
- •2.6.4 Дополнительные протоколы маршрутизации icmp и igmp
- •Заключение
- •Библиографический список
- •Приложение а
- •Синтаксис:
- •Приложение б Настройка iPv6 в операционной системе ms WindowsXp
- •Приложение в Контрольно-измерительные материалы
- •Словарь терминов и определений
- •Часть ip-адреса, соответствующая сетевой части адреса.
- •Алфавитно-предметный указатель
- •Часть 71
- •Список сокращений
- •Учебное издание
2.3 Основы адресации в ip-сетях
Одной из главных проблем, которую нужно разрешить при объединении компьютеров в сеть, является проблема их адресации. К адресу узла сети и схеме его назначения можно предъявить несколько требований [19]:
1. Адрес должен уникально идентифицировать компьютер в сети любого масштаба.
2. Адрес должен иметь иерархическую структуру, удобную для построения больших сетей. Эту проблему хорошо иллюстрируют международные почтовые адреса, которые позволяют почтовой службе, организующей доставку писем между странами, пользоваться только названием страны адресата и не учитывать название его города, а тем более улицы. В больших сетях, состоящих из многих тысяч узлов, отсутствие иерархии адреса может привести к крупным издержкам: конечным узлам и коммуникационному оборудованию придется оперировать с таблицами адресов, состоящими из тысяч записей.
3. Адрес должен быть удобен для пользователей сети, а это значит, что он должен иметь символьное представление и, по возможности, смысловую нагрузку.
4. Адрес должен иметь по возможности компактное представление, чтобы не перегружать память коммуникационной аппаратуры – сетевых адаптеров, коммутаторов, маршрутизаторов и т. п.
Нетрудно заметить, что эти требования противоречивы: например, адрес, имеющий иерархическую структуру, скорее всего, будет менее компактным, чем неиерархический (такой адрес часто называют «плоским», то есть не имеющим структуры). Символьный же адрес, вероятно, потребует больше памяти, чем адрес-число.
Так как все перечисленные требования трудно совместить в рамках какой-либо одной схемы адресации, то на практике обычно используется сразу несколько схем, так что компьютер одновременно имеет несколько адресов, каждый из которых работает в соответствующей ситуации, а чтобы не возникало путаницы и компьютер всегда однозначно определялся своим адресом, используются специальные вспомогательные протоколы, которые по адресу одного типа могут определить адреса других типов.
В настоящее время известны следующие системы адресации:
1) составные числовые адреса;
2) аппаратные адреса;
3) символьные адреса.
В данном параграфе мы подробно разберем достоинства первой системы адресации (остальные системы будут рассмотрены в следующем параграфе).
Составные числовые адреса предназначены для однозначной адресации компьютера в сети любого масштаба, состоящей из подсетей. В адресах такого типа поддерживается двухуровневая иерархия, адрес делится на старшую часть – номер сети – и младшую – номер узла. Такое деление позволяет передавать сообщения между сетями только на основании номера сети, а номер узла используется только после доставки сообщения в нужную сеть; точно так же, как название улицы рассматривается почтальоном только после того, как письмо доставлено в нужный город. Типичные представители адресов этого типа – IP-адреса. Аналогично протоколам существуют адреса IPv4 и IPv6.
2.3.1 Адресация iPv4
Адреса IPv4 при выражении в десятичной системе используют точечное десятичное представление и принимают форму n.n.n.n, в которой n для каждого значения неизменно находится в диапазоне от 0 до 255. Так, IP-адрес крупнейшего российского почтового сервера в сети Интернет www.mail.ru имеет вид 194.67.57.26. Существуют некоторые ограничения на использование чисел: первое число в IP-адресе должно находиться в диапазоне от 1 до 223, а последнее – от 1 до 254, два числа в середине IP-адреса могут находиться в диапазоне от 0 до 255. Каждое из четырех чисел состоит из 8 бит и в стандартной терминологии IP-адресов называется октетом (octet). Следовательно, каждый из октетов представляет собой восьмизначное двоичное число, а IP-адрес целиком – тридцатидвухбитовую комбинацию нулей и единиц. Например, IP-адрес 128.10.2.30 имеет представление в двоичном формате: 10000000.00001010.00000010.00011110.
Запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает необходимость разделить адрес на эти две части. Так, маршрутизация, как правило, осуществляется на основании номера сети, поэтому каждый маршрутизатор, получая пакет, должен прочитать в соответствующем поле заголовок адрес назначения и выделить из него номер сети. Существует несколько подходов для определения, какая часть из 32 бит, отведенных под IP-адрес, относится к номеру сети (сетевая часть адреса), а какая – к номеру узла (хостовая часть адреса). Мы рассмотрим два основных подхода для адресации с помощью IPv4 [31]:
1) упрощенный подход;
2) классовый подход.
Для того чтобы проанализировать названные выше подходы адресации, необходимо определить понятие Маска подсети, которое обозначает число, применяемое в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IP-адресе.
При упрощенном подходе используется двухуровневая адресация, так как выделяется фиксированная граница для разделения адреса на сетевую и хостовую часть, то есть адрес компьютера состоит только из двух частей: сетевой и хостовой. Все 32-х-битовое поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, а в другой – номер узла. Маска подсети принимает только 2 значения: либо 0, либо 255, которые устанавливаются в следующем порядке: 255 устанавливается под октетами, описывающими адрес сети (постоянная часть), а 0 устанавливается под октетами, описывающими адрес узла (переменная часть). Приведем пример двухуровневой архитектуры. Например, IP-адреса 128.10.2.30 и 128.10.3.30 имеют следующее представление в двоичном формате:
10000000.00001010.00000010.00011110,
10000000.00001010.00000011.00011110.
Так как у указанных IP-адресов изменяются последние два октета, то маска подсети будет выглядеть так: 255.255.0.0, а в двоичном виде выглядит – 11111111.11111111.00000000.00000000. Сопоставление адресов и маски подсети представлено в табл. 2.4.
Таблица 2.4 – Деление IP-адреса в соответствии с двухуровневой архитектурой
|
1 октет |
2 октет |
3 октет |
4 октет |
Адрес 1 |
10000000. |
00001010. |
00000010. |
00011110 |
Адрес 2 |
10000000. |
00001010. |
00000011. |
00011110 |
Маска подсети |
11111111. |
11111111. |
00000000. |
00000000 |
Деление адреса |
Адрес сети |
Адрес узла |
Приведем подобные примеры для разных видов сетей.
1. Для адресов 128.230.240.118 и 128.230.240.170 и маски подсети 255.255.255.0 запись адресов выглядит следующим образом:
128.230.240.118,
128.230.240.170,
255.255.255.0.
Судя по маске подсети, адресом сети (ID subnet) будут являться первые три октета (128.230.240.0), а адресом узла – последний. Все компьютеры, которые будут иметь такую же постоянную часть сетевого адреса, смогут обмениваться данными, то есть находиться в одной подсети. Если же компьютер будет иметь адрес с иной постоянной частью, то он будет находиться в другой подсети и «видеть» указанные компьютеры не сможет. В итоге мы получили сеть, состоящую из 254 компьютеров (последний октет может изменяться от 1 до 254). Так как первый октет может меняться от 1 до 223, второй и третий – от 0 до 255, а последний – от 1 до 254, то для указанной маски подсети можно организовать 14614528 (223х256х256=14614528) сетей по 254 компьютера в каждой.
2. Для адресов 128.230.240.118, 128.230.240.170 и 128.230.90.17 и маски подсети 255.255.0.0 запись адресов выглядит следующим образом:
128.230.240.118,
128.230.240.170,
128.230.90.17,
255.255.0.0.
Судя по маске подсети, адресом сети будут являться первые два октета (128.230.0.0), а адресом узла – последние два. В итоге мы получили сеть, состоящую из 65024 (256х254=65024) компьютеров. По аналогии с примером 1, приходим к следующему выводу: для указанной маски подсети можно организовать 57088 (223х256=57088) сетей по 65024 компьютера в каждой.
3. Для адресов 128.230.240.118, 128.230.240.170, 128.230.90.17 и 128.1.9.7 и маски подсети 255.0.0.0 запись адресов выглядит следующим образом:
128.230.240.118,
128.230.240.170,
128.230.90.17,
128.1.9.7,
255.0.0.0.
Судя по маске подсети, адресом сети будет являться первый октет (128.0.0.0), а адресом узла – последние три. В итоге мы получили сеть, состоящую из 16646144 (256х256х254=16646144) компьютеров. По аналогии с примерами 1 и 2, приходим к следующему выводу: для указанной маски подсети можно организовать 223 сети по 16646144 компьютеров в каждой.
Представленные примеры могут иметь табличный вид (табл. 2.5).
Таблица 2.5 – Сетевая и хостовая часть IP-адреса при упрощенном подходе
Маска подсети |
Вид адреса |
Макс. кол-во сетей |
Макс. кол-во узлов в сети |
255.255.255.0 |
a.a.a.b |
14614528 |
254 |
255.255.0.0 |
a.a.b.b |
57088 |
65024 |
255.0.0.0 |
a.b.b.b |
223 |
16646144 |
a – сетевая часть адреса; b – хостовая часть адреса |
Поскольку у поля, которое отводится для хранения номера узла, фиксированная длина, все сети будут иметь одинаковое максимальное число узлов (такой жесткий подход не позволяет дифференцированно удовлетворять некоторые потребности предприятий и организаций). Данный подход получил широкое распространение в пользовательских кругах из-за своей простоты, но он не охватывает двоичную сущность IP-адресов, а следовательно, и возможностей у такой адресации меньше.
Классовый подход. Наиболее распространенный и охватывающий все функциональные возможности IP-адресации способ решения данной проблемы заключается в использовании классов адресов. Вводится пять классов адресов: А, В, С, D, Е. Три из них – А, В и С – используются для адресации сетей, а два – D и Е – имеют специальное назначение. Для каждого класса сетевых адресов определено собственное положение границы между номером сети и номером узла.
В указанном подходе большую роль играет двоичная арифметика (в данном пособии не будут рассматриваться азы двоичной арифметики, так как предполагается, что студент владеет переводом чисел из двоичной системы в десятичную и наоборот) [9]. В табл. 2.6 и 2.7 приведены значения, необходимые для проведения расчетов сетевых адресов и масок подсети.
Таблица 2.6 – Основные числа в двоичном и десятичном видах для сетевой и хостовой частей
Хостовая часть |
Сетевая часть | |||
Десятичный вид |
Двоичный вид |
Десятичный вид |
Двоичный вид | |
20-1 = |
0 |
00000000 |
0 |
00000000 |
21-1 = |
1 |
00000001 |
128 |
10000000 |
22-1 = |
3 |
00000011 |
192 |
11000000 |
23-1 = |
7 |
00000111 |
224 |
11100000 |
24-1 = |
15 |
00001111 |
240 |
11110000 |
25-1 = |
31 |
00011111 |
248 |
11111000 |
26-1 = |
63 |
00111111 |
252 |
11111100 |
27-1 = |
127 |
01111111 |
254 |
11111110 |
28-1 = |
255 |
11111111 |
255 |
11111111 |
К классу А относится адрес, в котором старший бит имеет значение 0. В адресах класса А под идентификатор сети отводится 1 байт (1-й октет), а остальные 3 байта интерпретируются как номер узла в сети. Сети, все IP-адреса которых имеют значение первого байта в диапазоне от 1 (00000001) до 126 (01111110), называются сетями класса А. Значение 0 (00000000) первого байта не используется, а значение 127 (01111111) зарезервировано для специальных целей (об этом будет сказано далее). Сетей класса А сравнительно немного, зато количество узлов в них огромно (см. табл. 2.5).
К классу В относятся все адреса, старшие два бита которых имеют значение 10. В адресах класса В под номер сети и под номер узла отводится по два байта. Сети, значения первых двух байтов адресов которых находятся в диапазоне от 128.0. (10000000.00000000) до 191.255 (10111111.11111111), называются сетями класса В. Сетей класса В больше, чем сетей класса А, а размеры их меньше (см. табл. 2.5).
К классу С относятся все адреса, старшие три бита которых имеют значение 110. В адресах класса С под номер сети отводится 3 байта, а под номер узла – 1 байт. Сети, старшие три байта которых находятся в диапазоне от 192.0.0 (11000000.00000000.00000000) до 223.255 (11011111.11111111.11111111), называются сетями класса С. Сети класса С наиболее распространены и имеют наименьшее максимальное число узлов (см. табл. 2.5).
Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый групповой адрес (multicast address). Адреса классов А, В и С используются для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), тогда как групповой адрес идентифицирует группу сетевых интерфейсов, которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает, наряду с обычным индивидуальным IP-адресом, еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса D, то такой пакет должен быть доставлен всем узлам, которые входят в группу.
Таблица 2.7 – Сводная таблица зависимостей чисел, используемых в адресации IPv4
Десятичная система |
Двоичная система |
Десятичная система |
Двоичная система |
Десятичная система |
Двоичная система |
Десятичная система |
Двоичная система |
|
00000000 |
|
01000000 |
|
10000000 |
|
11000000 |
|
00000001 |
|
01000001 |
|
10000001 |
|
11000001 |
|
00000010 |
|
01000010 |
|
10000010 |
|
11000010 |
|
00000011 |
|
01000011 |
|
10000011 |
|
11000011 |
|
00000100 |
|
01000100 |
|
10000100 |
|
11000100 |
|
00000101 |
|
01000101 |
|
10000101 |
|
11000101 |
|
00000110 |
|
01000110 |
|
10000110 |
|
11000110 |
|
00000111 |
|
01000111 |
|
10000111 |
|
11000111 |
|
00001000 |
|
01001000 |
|
10001000 |
|
11001000 |
|
00001001 |
|
01001001 |
|
10001001 |
|
11001001 |
|
00001010 |
|
01001010 |
|
10001010 |
|
11001010 |
|
00001011 |
|
01001011 |
|
10001011 |
|
11001011 |
|
00001100 |
|
01001100 |
|
10001100 |
|
11001100 |
|
00001101 |
|
01001101 |
|
10001101 |
|
11001101 |
|
00001110 |
|
01001110 |
|
10001110 |
|
11001110 |
|
00001111 |
|
01001111 |
|
10001111 |
|
11001111 |
|
00010000 |
|
01010000 |
|
10010000 |
|
11010000 |
|
00010001 |
|
01010001 |
|
10010001 |
|
11010001 |
|
00010010 |
|
01010010 |
|
10010010 |
|
11010010 |
|
00010011 |
|
01010011 |
|
10010011 |
|
11010011 |
|
00010100 |
|
01010100 |
|
10010100 |
|
11010100 |
|
00010101 |
|
01010101 |
|
10010101 |
|
11010101 |
|
00010110 |
|
01010110 |
|
10010110 |
|
11010110 |
|
00010111 |
|
01010111 |
|
10010111 |
|
11010111 |
|
00011000 |
|
01011000 |
|
10011000 |
|
11011000 |
|
00011001 |
|
01011001 |
|
10011001 |
|
11011001 |
|
00011010 |
|
01011010 |
|
10011010 |
|
11011010 |
|
00011011 |
|
01011011 |
|
10011011 |
|
11011011 |
|
00011100 |
|
01011100 |
|
10011100 |
|
11011100 |
|
00011101 |
|
01011101 |
|
10011101 |
|
11011101 |
|
00011110 |
|
01011110 |
|
10011110 |
|
11011110 |
|
00011111 |
|
01011111 |
|
10011111 |
|
11011111 |
|
00100000 |
|
01100000 |
|
10100000 |
|
11100000 |
|
00100001 |
|
01100001 |
|
10100001 |
|
11100001 |
|
00100010 |
|
01100010 |
|
10100010 |
|
11100010 |
|
00100011 |
|
01100011 |
|
10100011 |
|
11100011 |
|
00100100 |
|
01100100 |
|
10100100 |
|
11100100 |
|
00100101 |
|
01100101 |
|
10100101 |
|
11100101 |
|
00100110 |
|
01100110 |
|
10100110 |
|
11100110 |
|
00100111 |
|
01100111 |
|
10100111 |
|
11100111 |
|
00101000 |
|
01101000 |
|
10101000 |
|
11101000 |
|
00101001 |
|
01101001 |
|
10101001 |
|
11101001 |
|
00101010 |
|
01101010 |
|
10101010 |
|
11101010 |
|
00101011 |
|
01101011 |
|
10101011 |
|
11101011 |
|
00101100 |
|
01101100 |
|
10101100 |
|
11101100 |
|
00101101 |
|
01101101 |
|
10101101 |
|
11101101 |
|
00101110 |
|
01101110 |
|
10101110 |
|
11101110 |
|
00101111 |
|
01101111 |
|
10101111 |
|
11101111 |
|
00110000 |
|
01110000 |
|
10110000 |
|
11110000 |
|
00110001 |
|
01110001 |
|
10110001 |
|
11110001 |
|
00110010 |
|
01110010 |
|
10110010 |
|
11110010 |
|
00110011 |
|
01110011 |
|
10110011 |
|
11110011 |
|
00110100 |
|
01110100 |
|
10110100 |
|
11110100 |
|
00110101 |
|
01110101 |
|
10110101 |
|
11110101 |
|
00110110 |
|
01110110 |
|
10110110 |
|
11110110 |
|
00110111 |
|
01110111 |
|
10110111 |
|
11110111 |
|
00111000 |
|
01111000 |
|
10111000 |
|
11111000 |
|
00111001 |
|
01111001 |
|
10111001 |
|
11111001 |
|
00111010 |
|
01111010 |
|
10111010 |
|
11111010 |
|
00111011 |
|
01111011 |
|
10111011 |
|
11111011 |
|
00111100 |
|
01111100 |
|
10111100 |
|
11111100 |
|
00111101 |
|
01111101 |
|
10111101 |
|
11111101 |
|
00111110 |
|
01111110 |
|
10111110 |
|
11111110 |
|
00111111 |
|
01111111 |
|
10111111 |
|
11111111 |
Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений (табл. 2.8).
Таблица 2.8 – Классы IP-адресов
Класс |
Первые биты |
Маска подсети |
Диапазон адресов |
Особые адреса |
А |
0 |
255.0.0.0 |
1.0.0.0 – 126.0.0.0 |
10.0.0.0 – 10.255.255.255 |
В |
10 |
255.255.0.0 |
128.0.0.0 – 191.255.0.0 |
172.16.0.0 – 172.31.255.255 |
С |
110 |
255.255.255.0 |
192.0.0.0 – 223.255.255.0 |
192.168.0.0 – 192.168.255.255 |
D |
1110 |
– |
224.0.0.0 – 239.255.255.255 |
– |
E |
11110 |
– |
240.0.0.0 – 247.255.255.255 |
– |
Как уже отмечалось выше, адресация IPv4 используется и в локальных сетях, и в сети Интернет. Именно с этим фактором связано выделение у классов А, В и С особых адресов, которые специально закреплены для использования в локальных сетях, то есть в сети Интернет нет ни одного узла, который бы имел адрес, попадающий в указанные диапазоны. Следовательно, для использования в локальных сетях выделены диапазоны адресов одной сети класса А, 16 последовательных сетей класса В и 256 последовательных сетей класса С. Именно поэтому уже классическим стали адреса локальной сети, которые начинаются с 192.168.х.х.
Отдельного упоминания заслуживает IP-адрес, первый октет которого равен 127. Этот адрес является внутренним адресом стека протоколов компьютера. Он используется для тестирования программ, а также для организации работы клиентской и серверной частей приложения, установленных на одном компьютере. Обе программные части данного приложения спроектированы в расчете на то, что они будут обмениваться сообщениями по сети. Если использовать реальный адрес компьютера, на котором они установлены, то это приводит к избыточным передачам пакетов в сеть. Экономичным решением является применение внутреннего адреса 127.0.0.0. В IP-сети запрещается присваивать сетевым интерфейсам IP-адреса, начинающиеся со 127. Когда программа посылает данные по IP-адресу 127.х.х.х, то данные не передаются в сеть, а возвращаются модулям верхнего уровня того же компьютера как только что принятые. Маршрут перемещения данных образует «петлю», поэтому этот адрес называется адресом обратной петли (loopback). Классическим примером такого адреса является 127.0.0.1 [1].
Также необходимо отметить Групповые адреса (multicast), относящиеся к классу D, которые предназначены для экономичного распространения в Интернете или большой корпоративной сети аудио- или видеопрограмм, сразу адресованных большой аудитории слушателей или зрителей. Если групповой адрес помещен в поле адреса назначения IP-пакета, то данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Один и тот же узел может входить в несколько групп. В общем случае члены группы могут распределяться по различным сетям, находящимся друг от друга на произвольно большом расстоянии. Групповой адрес не делится на номера сети и узла и обрабатывается маршрутизатором особым образом.
В TCP/IP существуют ограничения при назначении IP-адресов, а именно: номера сетей и номера узлов не могут состоять из одних двоичных нулей или единиц. Поэтому некоторые IP-адреса интерпретируются особым образом:
1) если IP-адрес состоит только из двоичных нулей, то он называется неопределенным адресом и обозначает адрес того узла, который генерировал этот пакет (в редких случаях такой адрес может быть использован только отправителем);
2) если в номере сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет (такой адрес тоже может быть использован только в качестве адреса отправителя);
3) если все двоичные разряды IP-адреса равны 1, то пакет с данным адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета (такой адрес называется ограниченным широковещательным (limited broadcast), и ограниченность в данном случае означает, что пакет не выйдет за границы данной сети ни при каких условиях);
4) если в адресе назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет, имеющий данный адрес, рассылается всем узлам сети, номер которой указан в адресе назначения. Например, пакет с адресом 192.190.21.255 будет направлен всем узлам сети 192.190.21.0. Такой тип адреса называется широковещательным (broadcast).
Классовый подход имеет определенную специфику адресации и характеризуется не наличием классов, которые имеются и в упрощенном подходе, а основным его отличием является введение в данную систему адресации трехуровневой архитектуры. Здесь в адресе компьютера можно выделить три составляющих: адрес сети, адрес подсети и адрес узла.
Маска подсети может принимать несколько значений: 0, 128, 192, 224, 240, 248, 252, 254, 255 (см. табл. 2.6). Число 255 устанавливается под октетами, описывающими адрес сети (постоянная часть) и определяет класс сети, а 0 – под октетами, описывающими адрес узла (переменная часть). Остальные из указанных чисел определяют номер подсети, который может стоять либо в конце маски подсети, либо посередине – между числами 255 и 0. Приведем примеры масок подсети в трехуровневой архитектуре адресов (табл. 2.9).
Таблица 2.9 – Примеры деления IP-адреса в соответствии с трехуровневой архитектурой
Класс сети |
1-й октет |
2-й октет |
3-й октет |
4-й октет | |||||
С |
255 |
255 |
255 |
128 | |||||
11111111 |
11111111 |
11111111 |
1 |
0000000 | |||||
x |
y |
z | |||||||
C |
255 |
255 |
255 |
248 | |||||
11111111 |
11111111 |
11111111 |
11111 |
000 | |||||
x |
y |
z | |||||||
B |
255 |
255 |
224 |
0 | |||||
11111111 |
11111111 |
111 |
00000 |
00000000 | |||||
x |
y |
z | |||||||
B |
255 |
255 |
255 |
192 | |||||
11111111 |
11111111 |
11111111 |
11 |
000000 | |||||
x |
y |
z | |||||||
A |
255 |
254 |
0 |
0 | |||||
11111111 |
1111111 |
0 |
00000000 |
00000000 | |||||
x |
y |
z | |||||||
A |
255 |
255 |
252 |
0 | |||||
11111111 |
11111111 |
111111 |
00 |
00000000 | |||||
x |
y |
z | |||||||
A |
255 |
255 |
255 |
240 | |||||
11111111 |
11111111 |
11111111 |
1111 |
0000 | |||||
x |
y |
z | |||||||
x – адрес сети; y – адрес подсети; z – адрес узла. |
Приведем пример расчета маски подсети в соответствии со следующими данными:
В средней школе №200 должны иметься 12 сетей класса С (компьютерные классы, администрация, бухгалтерия и т.д.), в каждой из которых могут находиться максимум 13 компьютеров.
Смысл разбиения на подсети – это ограничение обмена информацией между компьютерами, находящихся в разных подсетях. Необходимо произвольно дать сети определенный адрес. Например, так как сеть для школы №200 локальная, адрес сети может выглядеть следующим образом: 192.168.200.х, с маской подсети класса С 255.255.255.y, где х – номера узлов, разбитых в соответствии с заданием, а у – значение 4-го октета, позволяющего решать поставленную задачу, которая решается в 3 этапа.
1 этап. Расчет маски подсети.
Число 12 лежит между числами 8 (23) и 16 (24). Берем большее число, то есть в нашем расчете число подсетей будет равно 16, но в 16 подсетях можно распределить 12 исходных, а вот в 8 – нет. Следовательно, нужна 4-х-разрядная маска подсети. Отсчитываем 4 старших разряда в последнем октете и получаем двоичное число 11110000, что соответствует числу 240 (см. табл. 2.6). В итоге получается маска подсети 255.255.255.240.
Таблица 2.10 – Подсети для маски 255.255.255.240
№ |
ID подсети |
Диапазон адресов |
Адрес для широковещания | |
первый адрес |
последний адрес | |||
1 |
192.168.200.0 |
192.168.200.1 |
192.168.200.14 |
192.168.200.15 |
2 |
192.168.200.16 |
192.168.200.17 |
192.168.200.30 |
192.168.200.31 |
3 |
192.168.200.32 |
192.168.200.33 |
192.168.200.46 |
192.168.200.47 |
4 |
192.168.200.48 |
192.168.200.49 |
192.168.200.62 |
192.168.200.63 |
5 |
192.168.200.64 |
192.168.200.65 |
192.168.200.78 |
192.168.200.79 |
6 |
192.168.200.80 |
192.168.200.81 |
192.168.200.94 |
192.168.200.95 |
7 |
192.168.200.96 |
192.168.200.97 |
192.168.200.110 |
192.168.200.111 |
8 |
192.168.200.112 |
192.168.200.113 |
192.168.200.126 |
192.168.200.127 |
9 |
192.168.200.128 |
192.168.200.129 |
192.168.200.142 |
192.168.200.143 |
10 |
192.168.200.144 |
192.168.200.145 |
192.168.200.158 |
192.168.200.159 |
11 |
192.168.200.160 |
192.168.200.161 |
192.168.200.174 |
192.168.200.175 |
12 |
192.168.200.176 |
192.168.200.177 |
192.168.200.190 |
192.168.200.191 |
13 |
192.168.200.192 |
192.168.200.193 |
192.168.200.206 |
192.168.200.207 |
14 |
192.168.200.208 |
192.168.200.209 |
192.168.200.222 |
192.168.200.223 |
15 |
192.168.200.224 |
192.168.200.225 |
192.168.200.238 |
192.168.200.239 |
16 |
192.168.200.240 |
192.168.200.241 |
192.168.200.254 |
192.168.200.255 |
2 этап. Проверка количества узлов.
В числе 240 последние 4 разряда равны 0, значит, с их помощью можно представить хостовую часть адреса: 24=16 адресов (возможные варианты с 0 по 15 представлены в таблице 10). Как отмечалось выше, первый и последний адрес (0000 и 1111) отбрасываем, так как адрес узла не может заканчиваться на все нули, а все единицы в адресе используются для широковещания в подсети. Итого имеем 16–2=14 адресов, которые вполне можно адресовать 13 компьютерам, а значит, с помощью разработанной маски подсети можно выполнить поставленное задание.
Итак, разработанная нами маска подсети 255.255.255.240 может создать максимально 16 подсетей по 14 компьютеров в каждой, то есть задание выполнено (см. табл. 2.10). Если же в каждой подсети необходимо более 14 хостов, то рассчитанная маска подсети не сможет обеспечить желаемого результата.
Таблица 2.11 – Адреса подсетей и для широковещания с маской 255.255.255.240
№ |
ID подсети |
Адрес для широковещания | ||
десятичный вид |
двоичный вид |
десятичный вид |
двоичный вид | |
1 |
192.168.200.0 |
х.х.х.00000000 |
192.168.200.15 |
х.х.х.00001111 |
2 |
192.168.200.16 |
х.х.х.00010000 |
192.168.200.31 |
х.х.х.00011111 |
3 |
192.168.200.32 |
х.х.х.00100000 |
192.168.200.47 |
х.х.х.00101111 |
4 |
192.168.200.48 |
х.х.х.00110000 |
192.168.200.63 |
х.х.х.00111111 |
5 |
192.168.200.64 |
х.х.х.01000000 |
192.168.200.79 |
х.х.х.01001111 |
6 |
192.168.200.80 |
х.х.х.01010000 |
192.168.200.95 |
х.х.х.01011111 |
7 |
192.168.200.96 |
х.х.х.01100000 |
192.168.200.111 |
х.х.х.01101111 |
8 |
192.168.200.112 |
х.х.х.01110000 |
192.168.200.127 |
х.х.х.01111111 |
9 |
192.168.200.128 |
х.х.х.10000000 |
192.168.200.143 |
х.х.х.10001111 |
10 |
192.168.200.144 |
х.х.х.10010000 |
192.168.200.159 |
х.х.х.10011111 |
11 |
192.168.200.160 |
х.х.х.10100000 |
192.168.200.175 |
х.х.х.10101111 |
12 |
192.168.200.176 |
х.х.х.10110000 |
192.168.200.191 |
х.х.х.10111111 |
13 |
192.168.200.192 |
х.х.х.11000000 |
192.168.200.207 |
х.х.х.11001111 |
14 |
192.168.200.208 |
х.х.х.11010000 |
192.168.200.223 |
х.х.х.11011111 |
15 |
192.168.200.224 |
х.х.х.11100000 |
192.168.200.239 |
х.х.х.11101111 |
16 |
192.168.200.240 |
х.х.х.11110000 |
192.168.200.255 |
х.х.х.11111111 |
маска |
255.255.255.240 |
y.y.y.11110000 |
255.255.255.240 |
y.y.y.11110000 |
х.х.х. – сетевая часть адреса в двоичном виде:11000000.10101000.11001000; y.y.y – маска подсети класса С в двоичном виде:11111111.11111111.11111111 |
ID-подсети является как бы адресом всей подсети, но в адресном пространстве не участвует, так как хостовая часть адреса равна 0; аналогична ситуация с адресом для широковещания (сообщения для всех компьютеров в подсети), в которой хостовая часть адреса равна 1 (табл. 2.11).
3 этап. Проверка подсетей.
После осуществления расчетов необходимо провести проверку того, что созданные нами подсети действительно таковыми являются, то есть компьютеры из одной подсети могут обмениваться информацией между собой, а с компьютерами из других подсетей – нет.
Таблица 2.12 – Умножение IP-адресов и маски подсети 255.255.255.240
Номер подсети |
IP-адрес |
Умножение в двоичном виде |
3 |
192.168.200.35 |
11000000.10101000.11001000.00100011 11111111.11111111.11111111.11110000 11000000.10101000.11001000.00100000 |
3 |
192.168.200.44 |
11000000.10101000.11001000.00101100 11111111.11111111.11111111.11110000 11000000.10101000.11001000.00100000 |
13 |
192.168.200.193 |
11000000.10101000.11001000.11000001 11111111.11111111.11111111.11110000 11000000.10101000.11001000.11000000 |
13 |
192.168.200.200 |
11000000.10101000.11001000.11001000 11111111.11111111.11111111.11110000 11000000.10101000.11001000.11000000 |
10 |
192.168.200.150 |
11000000.10101000.11001000.10010110 11111111.11111111.11111111.11110000 11000000.10101000.11001000.10010000 |
16 |
192.168.200.254 |
11000000.10101000.11001000.11111110 11111111.11111111.11111111.11110000 11000000.10101000.11001000.11110000 |
Существует правило [15]: если IP-адрес №1 побитово умножить на маску подсети и получится последовательность, аналогичная получившейся при умножении IP-адреса №2 на эту же маску подсети, то такие компьютеры находятся в одной подсети.
И соответственно, правило обратное: если IP-адрес №1 побитово умножить на маску подсети и получится последовательность, отличная от получившейся при умножении IP-адреса №2 на эту же маску подсети, то такие компьютеры находятся в разных подсетях (под побитовым умножением понимается умножение одноразрядных битов адреса и маски подсети с учетом законов умножения двоичной арифметики).
Операция умножения в двоичной арифметике заключается в следующем [9]: любое двоичное число, умноженное на 0, в итоге дает 0, а любое двоичное число, умноженное на 1, в итоге дает это число.
Для проверки возьмем 6 адресов из таблицы 2.10: 2 адреса из третьей подсети, 2 адреса из тринадцатой подсети и по 1 адресу из десятой и шестнадцатой сетей. Пусть это будут представленные в таблице 2.12 адреса.
Из данной таблицы видно, что все полученные последовательности отличаются только последним октетом, соответствующим числу 240 и что IP-адреса с номерами 1 и 2 находятся в одной подсети, с номерами 3 и 4 – в другой подсети, а 5 и 6 находятся в разных подсетях и по отношению к друг другу, и по отношению к предыдущим парам IP-адресов.
Следовательно, рассмотренная нами система адресации IPv4 является фактическим стандартом для адресов, используемых в локальных сетях на сегодняшний день и в обозримом будущем. Основной минус данной системы адресации – это небольшое адресное пространство, которого уже недостаточно для работы всех компьютеров в сети Интернет.
По данным организации ICANN (Internet Corporation for Assigned Names and Numbers (www.icann.org)), которая занимается распределением адресов крупным провайдерам по всему миру, адресное пространство IPv4 исчерпает себя в мае 2010 года.
Основным отличием IPv6 является гораздо большее адресное пространство, что добавляет большую гибкость при распределении адресов. Адресное пространство IPv6 по-настоящему огромно. IPv6 поддерживает 2128 (примерно 3,4x1038 адресов), то есть на каждого из 6,5 миллиардов жителей Земли приходится по 5x1028 (около 295) адресов. Это примерно 252 адресов для каждой звезды в известной нам Вселенной [14].