Файл: Методическое пособие по дисциплине Организация администрирования компьютерных систем Выполнил студент 3го курса группы вс1.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 73
Скачиваний: 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 server, NAT. Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернет-регистратором.
Правила для 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 в двоичном формате, не забывая, что незначащие нули не выводятся до первой единицы: