Файл: Методическое пособие по дисциплине Организация администрирования компьютерных систем Выполнил студент 3го курса группы вс1.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 72

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ФГБОУ ВО РГАТУ им. П.А. Соловьева

Авиационный колледж

Перевод IPv4 адресов
в двоичный формат


Методическое пособие по дисциплине

Организация администрирования компьютерных систем

Выполнил
студент 3-го курса
группы ВС-1
Куницкий П. И.

Рыбинск, 2021

Содержание




Общие сведения 3

Правила для IP-адресов 4

Целое (тип данных) 5

Системы счисления в IP 7

Десятичная система счисления 7

Двоичная система счисления 8

Из десятичной системы в двоичную систему 9

Двоичное преобразование адресов в TCP/IP 11

Использование масок для IP-адресации 13

Калькулятор 15


Общие сведения


Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла (хоста, компьютера, устройства) этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.

Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

Узел сети (англ. node) — устройство, соединённое с другими устройствами как часть компьютерной сети. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизаторкоммутатор или концентратор.

IP-адрес состоит из двух частей: номера сети и номера узла. Для выхода в глобальную сеть необходимо, чтобы был IP из другого блока адресов, либо в локальной сети должен быть сервер, подменяющий внутренний IP-адрес (серый) на внешний IP-адрес (белый), например: proxy serverNAT. Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернет-регистратором.


Правила для IP-адресов


1. идентификатор сети не может содержать только двоичные нули или только единицы. Например, адрес 0.0.0.0 не может являться идентификатором сети;

2. идентификатор узла также не может содержать только двоичные нули или только единицы – такие адреса зарезервированы для специальных целей:

· все нули в идентификаторе узла означают
, что этот адрес является адресом сети. Например, 192.168.5.0 является правильным адресом сети при использовании маски 255.255.255.0 и его нельзя использовать для адресации компьютеров,

· все единицы в идентификаторе узла означают, что этот адрес является адресом широковещания для данной сети. Например, 192.168.5.255 является адресом широковещания в сети 192.168.5.0 при использовании маски 255.255.255.0 и его нельзя использовать для адресации компьютеров;

 

3. идентификатор узла в пределах одной и той же подсети должен быть уникальным;

4. диапазон адресов от 127.0.0.1 до 127.255.255.254 нельзя использовать в качестве IP-адресов компьютеров. Вся сеть 127.0.0.0 по маске 255.0.0.0 зарезервирована под так называемый «адрес заглушки» (loopback), используемый в IP для обращения компьютера к самому себе.

Это легко проверить: достаточно на любом компьютере с установленным протоколом TCP/IP выполнить команду

PING 127.12.34.56

и, если протокол TCP/IP работает, вы увидите, как ваш компьютер будет отвечать на собственные запросы.


Целое (тип данных)


Первоначальная система IP-адресации в Интернете выглядела следующим образом. Все пространство возможных IP-адресов (а это более четырех миллиардов, точнее 4 294 967 296 адресов) было разбито на пять классов, причем принадлежность IP-адреса к определенному классу определялась по нескольким битам первого октета.

Для адресации сетей и узлов использовались только классы A, B и C. Кроме того, для этих сетей были определены фиксированные маски подсети по умолчанию, равные, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0, которые не только жестко определяли диапазон возможных IP-адресов узлов в таких сетях, но и механизм маршрутизации.



Чтобы рассчитать максимально возможное количество узлов в любой IP-сети, достаточно знать, сколько битов содержится в идентификаторе узла, или, иначе, сколько нулей имеется в маске подсети. Это число используется в качестве показателя степени двойки, а затем из результата вычитается два зарезервированных адреса (сети и широковещания). Аналогичным способом легко вычислить и возможное количество сетей классов A, B или C, если учесть, что первые биты в октете уже зарезервированы, а в классе A нельзя использовать IP-адреса 0.0.0.0 и 127.0.0.0 для адресации сети.



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

Первоначально данная схема хорошо работала, поскольку количество сетей было небольшим. Однако с развитием Интернета такой подход к распределению IP-адресов стал вызывать проблемы, особенно острые для сетей класса B. Действительно, организациям, в которых число компьютеров не превышало нескольких сотен (скажем, 500), приходилось регистрировать для себя целую сеть класса B. Поэтому количество доступных сетей класса B стало на глазах «таять», но при этом громадные диапазоны IP-адресов (в нашем примере – более 65000) пропадали зря.

Чтобы решить проблему, была разработана бесклассовая схема IP-адресации (Classless InterDomain Routing, CIDR), в которой не только отсутствует привязка IP-адреса к классу сети и маске подсети по умолчанию, но и допускается применение так называемых

масок подсети с переменной длиной (Variable Length Subnet Mask, VLSM). Например, если при выделении сети для вышеуказанной организации с 500 компьютерами вместо фиксированной маски 255.255.0.0 использовать маску 255.255.254.0, то получившегося диапазона из 512 возможных IP-адресов будет вполне достаточно.

Оставшиеся 65 тысяч адресов можно зарезервировать на будущее или раздать другим желающим подключиться к Интернету.

Этот подход позволил гораздо более эффективно выделять организациям нужные им диапазоны IP-адресов, и проблема с нехваткой IP-сетей и адресов стала менее острой.

Системы счисления в IP


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

Десятичная система счисления


В десятичную систему счисления входят 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Десятичная система счисления является позиционной системой, потому что зависит от того, в каком месте числа (в каком разряде, на какой позиции) стоит цифра. Т.е. 001 – единица, 010 – это уже десять, 100 – а это сто. Мы видим, что менялась только позиция одной цифры (единицы), а число менялось очень значительно.


В любой позиционной системе счисления позиция цифры представляет собой цифру, помноженную на число основания системы счисления в степени позиции этой цифры.

Число десятичное 123 = (1 * 10^2) + (2 * 10^1) + (3 * 10^0) = (1*100) + (2*10) + (3*1)

Число десятичное 209 = (2 * 10^2) + (0 * 10^1) + (9 * 10^0) = (2*100) + (0*10) + (9*1)

Двоичная система счисления


В двоичную систему счисления входят всего 2 цифры: 0 и 1.

Двоичная система счисления, как и десятичная, является позиционной.

Число двоичное 1111 = (1*2^3) + (1*2^2) + (1*2^1) + (1*2^0) = (1*8) + (1*4) + (1*2) + (1*1) = 8 + 4 + 2 + 1 = 15 (десятичное).

Число двоичное 0000 = (0*2^3) + (0*2^2) + (0*2^1) + (0*2^0) = (0*8) + (0*4) + (0*2) + (0*1) = 8 + 4 + 2 + 1 = 0 (десятичное).

Из двоичной системы счисления в десятичную систему счисления переводить не сложно, надо выучить степени двойки от 0 до 15, хотя в большинстве случаев будет достаточным от 0 до 7. Это связано с восемью битами каждого октета в ip адресе.

Для преобразования двоичного числа надо будет каждую цифру помножить на число 2 (основание системы счисления) в степени позиции той цифры, а затем сложить те цифры.

Число двоичное 111 = (1*2^2) + (1*2^1) + (1*2^0) = (1*4) + (1*2) + (1*1) = 4 + 2 + 1 = 7 (десятичное).

Число двоичное 001 = (0*2^2) + (0*2^1) + (1*2^0) = (0*4) + (0*2) + (1*1) = 0 + 0 + 1 = 1 (десятичное).

Число двоичное 100 = (1*2^2) + (0*2^1) + (0*2^0) = (1*4) + (0*2) + (0*1) = 4 + 0 + 0 = 4 (десятичное).

Когда придётся считать действия с нулями, то их можно пропускать. Подсчёты станут краткими и красивыми.

Число двоичное 10000001 = (1*2^7) + (1*2^0) = (1*128) + (1*1) = 128 + 1 = 129 (десятичное).

Число двоичное 10000011 = (1*2^7) + (1*2^1) + (1*2^0) = (1*128) + (1*2) + (1*1) = 128 + 2 + 1 = 131 (десятичное).

Число двоичное 01111111 = (1*2^6) + (1*2^5) + (1*2^4) + (1*2^3) + (1*2^2) + (1*2^1) + (1*2^0) = (1*64) + (1*32) + (1*16) + (1*8) + (1*4) + (1*2) + (1*1) = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127 (десятичное).

Из десятичной системы в двоичную систему


Перевод из десятичной системы счисления в двоичную систему тоже не труден, только вместо сложения потребуется вычитание.

Последовательность перевода в десятичную систему счисления следующая: надо вычесть из переводимого числа ближайшее (меньшее или равное) число к нему из степеней двойки. Затем проделать тоже самое с получившимся значением, и так до нуля. В зависимости от используемой степени двойки записать цифру 1 в нужном разряде двоичного числа, пропуски заполнить единицами.

Число десятичное 7: 7-4=3 — ближайшее меньшее (или равное) число к 7 из степеней двойки это 4 (2^2). Вычитаем из 7 число 4, получаем 3. Затем 3-2=1 — ближайшее меньшее (или равное) число к 3 из степеней двойки это 2 (2^1). Вычитаем из 3 число 2, получаем 1. 1-1=0 — ближайшее меньшее (или равное) число к 1 из степеней двойки это 1 (2^0). Вычитаем из 1 число 1, получаем 0. Всего из нашего числа мы вычли 4, 2 и 1, т.е. 2^2, 2^1 и 2^0. Ставим единицы в разряды по степеням двоек – 111. Если подсчёт идёт октетом (8 знаков/цифр), то надо добавить нули – 00000111.


Число десятичное 10: 10-8(2^3)=2; 2-2(2^1)=0. Двоичное число – 00001010.

Число десятичное 129: 129-128(2^7)=1; 1-1(2^0)=0. Двоичное число – 10000001.

Число десятичное 131: 131-128(2^7)=3; 3-2(2^1)=1; 1-1(2^0)=0. Двоичное число – 10000011.


Двоичное преобразование адресов в TCP/IP


Наряду с традиционной десятичной формой записи IP-адресов, может использоваться и двоичная форма, отражающая непосредственно способ представления адреса в памяти компьютера. Поскольку IP-адрес имеет длину 4 байта, то в двоичной форме он представляется как 32-разрядное двоичное число (т.е. последовательность из 32 нулей и единиц). Например, адрес 213.128.193.154 в двоичной форме имеет вид 11010101 1000000 11000001 10011010. Используя двоичную форму записи IP-адреса, легко определить схемы классов IP адресов:

Использование масок для IP-адресации


Для более гибкого определения границ между разрядами номеров сети и узла внутри IP-адреса используются так называемые маски подсети. Маска подсети – это 4-байтовое число специального вида, которое используется совместно с IP-адресом. «Специальный вид» маски подсети заключается в следующем: двоичные разряды маски, соответствующие разрядам IP-адреса, отведенным под номер сети, содержат единицы, а в разрядах, соответствующих разрядам номера узла – нули.

Маска подсети обязательно указывается при настройке программного модуля протокола IP на каждом компьютере вместе с IP-адресом. Использование в паре с IP -адресом маски подсети позволяет отказаться от применения классов адресов и сделать более гибкой всю систему IP-адресации. Так, например, маска 255.255.255.240 (11111111 11111111 11111111 11110000) позволяет разбить диапазон в 254 IP-адреса, относящихся к одной сети класса C, на 14 диапазонов, которые могут выделяться разным сетям.


Калькулятор


Для перевода IP-адресов из одной системы счисления в другую можно воспользоваться различными онлайн-калькуляторами или программой Калькулятор Windows в режиме Программист. Сосчитаем с помощью калькулятора адрес 192.168.1.10 в двоичном формате, не забывая, что незначащие нули не выводятся до первой единицы: