IP адрес — сетевой адрес устройства
IP адрес — это сетевой адрес устройства, уникальный в рамках одной локальной сети. В отличие от постоянного аппаратного MAC адреса, один сетевой интерфейс может иметь несколько IP адресов.
С точки зрения модели сетевого взаимодействия OSI, IP адреса используются для адресации устройств на сетевом уровне.
- Перед отправкой пакета, сетевые устройства анализируют IP адрес. Сначала выясняется, к какой сети принадлежит получатель и где эта сеть находится, после чего пакет отправляется в соответствующую сеть.
- Устройства в сети-получателе выделяют из IP адреса адрес устройства-получателя и переправляют ему пакет.
Математически, IP адрес — это 32 разрядное целое число, записанное в бинарном формате.
Числа в двоичной системе счисления очень длинные и трудно воспринимаются визуально. Поэтому было принято решение разделять каждый адрес на 4 части по 8 бит (это 1 байт или октет), конвертировать каждый байт в десятичное число и записывать, разделяя числа точкой — в точечной нотации.
IP адрес 227.82.177.157 | ||||
---|---|---|---|---|
Номер бита | 0-8 | 9-16 | 17-24 | 25-32 |
В двоичном виде | 11100011 | 01010010 | 10110001 | 10011101 |
В десятичном виде | 227 | 82 | 177 | 157 |
Структура IP адреса
-
Каждый адрес разделяется на 2 части:
- Первая часть — идентификатор сети
- Вторая часть — идентификатор хоста, т.е. идентификатор сетевого устройства
Чтобы определить, какую часть адреса использовать для идентификации сети, а какую часть рассматривать как адрес устройства, придуманы специальные числа — «маски». Каждый IP сопровождает определённая маска, помогающая трактовать его правильно.
Маска сети — это 32 разрядное целое число, записывается так же в точечной нотации, как и IP адрес. Чтобы понять, как работают маски, надо смотреть на их представление в двоичной системе счисления.
Число, играющее роль маски, должно обязательно начинаться с непрерывной последовательности единиц — сколько единиц, столько битов из IP адреса необходимо использовать как идентификатор сети. Остальные биты используются для нумерации устройств в данной сети.
Вы видите, что маска содержит 24 единицы, это значит, что первые 24 бита IP адреса представляют собой адрес сети, а оставшиеся 8 разрядов могут быть использованы для назначения номеров для сетевых устройств в рамках данной сети.
В данном примере диапазон возможных значений от 192.168.0.0 до 192.168.0.255 (всего 256). Но для реального назначения адресов сетевым интерфейсам администратор может использовать только 254 штуки. Начиная с 192.168.0.1 до 192.168.0.254, так как номер 192.168.0.0 — это адрес сети, а 192.168.0.255 — адресует сразу все компьютеры в этой сети и позволяет рассылать широковещательные сообщения.
Классы сетей по диапазонам адресов
Для классификации сетей были использованы диапазоны адресов. Принадлежность к классу вычисляется по специальному маркеру — последовательности битов в начале адреса.
Всего 5 классов, первые 3 — A, B и C, составляют Сеть, как знаем её мы с вами. Последние 2 класса — D и E, имеют специфическое назначение.
Для каждого класса определена стандартная маска с таким расчётом, чтобы разделение на сетевую и хостовую часть происходило по границе одного октета — 8, 16 или 24 бита.
Класс | Начальные биты | Диапазон адресов | Маска | Маска в слеш нотации | Кол-во сетей | Кол-во хостов |
---|---|---|---|---|---|---|
A | 0 | 1.0.0.0 — 126.255.255.255 | 255.0.0.0 | /8 | 126 | 16 277 214 |
B | 10 | 128.0.0.0 — 191.255.255.255 | 255.255.0.0 | /16 | 16 384 | 65 534 |
C | 110 | 192.0.0.0 — 223.255.255.255 | 255.255.255.0 | /24 | 2 097 152 | 254 |
D | 1110 | 224.0.0.0 — 239.255.255.255 | — | — | — | — |
E | 1111 | 240.0.0.0 — 255.255.255.255 | — | — | — | — |
Внимательные читатели, возможно, заметили, что в таблице выше в диапазон адресов класса А не вошли адреса, начинающиеся с 127. Весь диапазон 127.0.0.0 — 127.255.255.255 используется для передачи пакетов компьютером самому себе, без отправки их в сеть.
Рассмотрим ещё один пример.
Разделение сетей на подсети
-
Для более гибкой настройки сетей было решено дополнительно разделять хостовую часть адреса ещё на 2 части:
- Идентификатор подсети
- Идентификатор хоста
Чем больше бит мы выделяем для идентификации подсети, тем больше можно создать подсетей и тем меньше хостов можно добавить в подсеть, и наоборот.
Чтобы разделять сети на подсети, нужно использовать маски с делением на сетевую и хостовую часть не по границе октетов.
Маска для деления сети класса A, B или C на подсети всегда должна содержать больше единиц, чем стандартная для этого класса маска.
Проанализируем данное изображение.
Таким образом, оставляем в адресе все биты замаскированные маской подсети, а оставшиеся биты заменяем нулями.
Устройство с IP 192.168.0.25 и маской 255.255.255.240 .
Создание подсетей облегчает настройку и администрирование сети, позволяет логически формировать сеть, например, руководствуясь структурой организации.
Также, в отличие от единственного MAC адреса, у сетевого интерфейса может быть несколько IP адресов. Это позволяет одному устройству принадлежать сразу к нескольким подсетям.
Самый простой пример — когда компьютер руководителя принадлежит к локальным сетям нескольких не связанных между собой отделов предприятия.
Как записать ip адрес в 32 битном виде
Маска — 32-битовое число, обычно записываемое в десятичном формате с разделительными точками. Она нужна для того, чтобы указатьструктуру IP-адреса, или кратко говоря, маска задает размер узловой части IP-адреса. Узловая часть в адресе задается двоичными 0 в маске. В первой части маски содержатся двоичные 1, они задают сетевую часть адреса (если нет подсетей), или сетевую и подсетевую часть адреса (если есть подсети).
. | Класс А | Класс B | Класс C | Класс D |
Диапазон значений первого октета | 1-126 | 128-191 | 192-223 | |
Допустимые адреса сетей | 1.0.0.0-126.0.0.0 | 128.0.0.0-191.255.0.0 | 192.0.0.0-223.255.255.0 | |
Кол-во сетей в классе | 2 7 -7 | 2 14 | 2 21 | |
Кол-во узлов в сети | 2 24 -2 | 2 16 -2 | 2 8 -2 | |
Размер сетевой части (в байтах) | 1 | 2 | 3 | |
Размер узловой части (в байтах) | 3 | 2 | 1 | |
Стандартная маска | 255.0.0.0 | 255.255.0.0 | 255.255.255.0 |
Частные адреса
10.0.0.0 | с 172.16.0.0 по 172.31.0.0 | с 192.168.0.0 по 192.168.255.0 | |
Класс сети | А | В | С |
Кол-во сетей | 1 | 16 | 256 |
Подсети
Подсети создаются путем заимствований битов из узловой части адреса, а размер сетевой части адреса остается неизменным.
Маска подсети — 32-битное число. Обычно записывают в десятичном виде, например 255.255.128.0 Маска — некая последовательность двоичных 1, после которых идут 0. Смешение недопустимо. Например 11111111 1111111 11111111 0000000 Перфиксная запись маски (CIDR-запись) — число единиц в двоичном представлении маски. Например маску 255.255.240.0 можно записать короче /20
Конвертирование IP-адресов и масок из десятичной в двоичную систему счисления и обратно
IP-адреса представляю собой 32-битовые двоичные числа, которые обычно записывают с помощью четырех десятичных чисел, разделенных точками.
- при конвертировании следует помнить что одному десятичному числу соответствует 8 бит;
- при конвертировании из десятичной в двоичную систему счисления для одного десятичного числа должно получаться 8 бит;
- при конвертировании из двоичной в десятичную систему счисления каждому набору из последовательных 8 бит соответствует 1 десятичное число
При работе с подсетями можно столкнуться с ситуацией, когда узловая часть адреса и подсеть занимают только часть байта IP-адреса, но при преобразовании из двоичного в десятичное и наоборот нужно следить за тем, чтобы в двоичном числе всегда было ровно 8 бит. При расчете подсетей нужно игнорировать границы байта и представлять IP-адрес как 32-битное число.
Двоичный метод преобразования маски из десятичной формы в префиксную
- Преобразовать адрес из десятичной формы в двоичную;
- Подсчитать количество двоичных единиц в 32-битной двоичной маске, это и будет значением после косой черты в префиксной записи;
Например маска 255.255.240.0. В двоичном виде это будет 11111111 11111111 11110000 00000000. В этой маске 20 последовательных 1. Следовательно префиксная запись будет /20.
- Записать х двоичных единиц, где х — значение в префиксной записи после косой черты;
- Дополнить полученную запись справа нулями, чтобы получилось 32 цифры;
- Преобразовать побайтово (т.е.по 8 символов) полученное число в десятичную форму, чтобы получить стандартную запись маски;
Например для префикса /20 сначала нужно записать единицы в маске. 11111111 11111111 1111 Потом такую запись нужно дополнить нулями, чтобы получить 32-битное число: 11111111 11111111 11110000 00000000. И на последнем этапе нужно группами по 8 бит преобразовать двоичные числа в десятичный вид, что в результате даст маску 255.255.240.0
Десятичный метод преобразования маски из десятичной формы в префиксную
Девять возможных вариантов откета сетевой маски
Десятичное значение | Двоичное значение | Количество двоичных 1 | Количество двоичных 0 |
0 | 00000000 | 0 | 8 |
128 | 10000000 | 1 | 7 |
192 | 11000000 | 2 | 6 |
224 | 11100000 | 3 | 5 |
240 | 11110000 | 4 | 4 |
248 | 11111000 | 5 | 3 |
252 | 11111100 | 6 | 2 |
254 | 11111110 | 7 | 1 |
255 | 11111111 | 8 | 0 |
- Изначально длина префикса сфитается равной 0;
- Для каждого октета нужно отсчитать количество единичных бит в двоичном виде, согласно вышеприведенной таблице;
- Сложить полученные числа (на этапе 2) для четырех октетов и записать маску в виде /х
Анализ и выбор сетевой маски
Процесс разбиения сети на подсети заключается в разделении классовой сети A, B или С на меньшие группы адресов, называемях подсетями. Выбор Маски обуславливается требованиями дизайна сети: сколько нужно создать подсетей, какое количество узлов требуется адресовать, также могут учитываться требования к определенным подсетям.
- Сетевая часть адреса всегда определяется классом сети адреса. В масках сетей классов А, В и С есть соответственно 8, 16 и 24 ненулевых бита в сетевой части маски;
- Узловая часть адреса всегда определяется маской подсети. Количество двоичных 0 в маске (они всегда есть в правой части маски) задает количество узловых бит в IP-адреса;
- После того как сетевая и узловая части были найдены, биты подсети это то, что осталось от этих операций, т.е. оставшаяся часть бит 32-битного адреса.
Количество подсетей = 2 s Количество узлов в подсети = 2 h -2
- Используется классовый протокол маршрутизации (RIPv1 или IGRP)
- введена команда ip subnet zero
Следует помнить что биты сети и подсети по определению должны быть равны 1, а биты узловой части равны 0. Все маски должны начинаться с с неразрывной последовательностью двоичных 1, а заканчиваться неразрывной последовательностью 0.
Практические примеры анализа масок
Адрес | 8.1.4.5/16 | 130.4.102.1/24 | 199.1.1.100/24 | 130.4.102.1/22 | 199.1.1.100/27 |
Маска | 255.255.0.0 | 255.255.255.0 | 255.255.255.0 | 255.255.252.0 | 255.255.255.224 |
Кол-во сетевых бит | 8 | 16 | 24 | 16 | 24 |
Кол-во узловых бит | 16 | 8 | 8 | 10 | 5 |
Кол-во бит для подсетей | 8 | 8 | 0 | 6 | 3 |
Кол-во узлов в подсети | 2 16 -2 или 65 534 | 2 8 -2 или 254 | 2 8 -2 или 254 | 2 10 -2 или 1022 | 2 5 -2 или 30 |
Кол-во подсетей | 2 8 или 256 | 2 8 или 256 | 0 | 2 6 или 64 | 2 3 или 8 |
Пример выбора маски. В сети необходимо создать 50 подсетей, причем в наибольшей из них есть 200 узлов. В организации используется сеть класса В, и увеличить адресное пространство невозможно. Какую сетевую маску использовать в таком случае? В такое задании под сетевую часть будет отведено 16 бит, т.к. используется сеть класса В. Нужно будет оставить в узловой части 8 бит, т.к. 2 7 =126, т.е. 7 бит не дают достаточного количества узлов, следовательно 2 8 =254 будет вполне достаточно. Аналогично для подсетей нам понадобится 6 бит, поскольку 2 6 =64, а 2 5 =32. Если обозначить N-биты сети, S-биты подсети, H- биты узловой части, то маску можно записать так: NNNNNNNN NNNNNNNN SSSSSSxx HHHHHHHH Заменяемые символы хх могут быть отнесены к битам подсети, так и к битам узлов. Получиться четыре варианта ответа, но правильных три. 11111111 11111111 11111111 00000000 (8 бит для подсетей, 8 бит для узлов 255.255.255.0 /24) 11111111 11111111 11111110 00000000 (7 бит для подсетей, 9 бит для узлов 255.255.254.0 /23) 11111111 11111111 11111100 00000000 (6 бит для подсетей, 10 бит для узлов 255.255.252.0 /22) 11111111 11111111 11111101 00000000 (ошибочная маска, 1 идут с разрывом)
Как перевести в двоичную систему ip адрес: алгоритм — Как перевести ip адрес в двоичную систему?
В двоичной системе исчисления используется только две цифры: 0 и 1. Так как это система исчисления с основанием, равным 2, то каждая позиция в двоичной последовательности представляет степень двойки. Если связать это со стандартной десятичной системой исчисления, которая используется каждый день, то можно понять, что все не так плохо.
Возьмем число 201. При рассмотрении этого трехзначного числа можно заметить, что в нем присутствует разряд единиц, разряд десятков и разряд сотен. Поэтому число 201 равно 1х1+0х10+2х100. Цифра в каждом разряде умножается на степень 10 с показателем, соответствующим положению разряда. Так как двоичная система исчисления имеет основание 2, цифра каждого разряда умножается на степень двойки, соответствующую положению разряда.
Для преобразования десятичных чисел в двоичное представление, можно просто начать с единицы и продолжить удвоение числа, пока не будет достигнуто значение 128. После этого необходимо использовать последовательность нумерации из приведенной таблицы преобразования.
Теперь посмотрим, как адрес IP 10.8.32.6 преобразовывается в двоичную форму.
Использование простой таблицы для преобразования двоичных чисел
Столбцы двоичных разрядов (по основанию 2)
Вот пример техники для преобразования десятичного числа в двоичное представление.
1. Найдите наибольшее число в таблице преобразования, которое меньше или равно числу, преобразование которого необходимо выполнить (128, 64, 32, 8 и т.д.) и укажите 1 в его столбце.
2. Отнимите число из выбранной колонки от числа, преобразование которого выполняется.
3. Найдите наибольшее число в таблице преобразования, которое меньше или равно числу, оставшемуся после первого шага, и поместите 1 в столбец этого числа.
4. Отнимите число из выбранного столбца от числа, которое осталось на шаге 2.
5. Повторите шаги 3 и 4, пока разность не станет равна 0; после этого поместите 0 во все столбцы, которые не содержат 1. Вот это и будет наше двоичное число!
Для преобразования числа 10 необходимо найти в таблице самое большое число, не превышающее 10. Это будет 8, поэтому в столбец числа 8 необходимо поместить 1. После этого необходимо отнять 8 от 10. В результате получится число 2. В столбце, соответствующем числу 2, необходимо разместить 1. Результатом последней разности будет 2, поэтому для завершения преобразования во все остальные столбцы необходимо поместить 0.
Использование этой таблицы для преобразования двоичного числа в десятичное еще проще, чем преобразование десятичного числа в двоичное. Просто запишите 8-разрядное число в таблице, указывая каждый разряд в одном столбце таблицы. После этого сложите значения столбцов таблицы, которые содержат 1. Например, двоичное число 10100001 будет равно 128+32+1 или 161.
В главе 4 будет показано, как использовать бесплатную утилиту, предоставленную на сопровождающем компакт-диске, для преобразования адресов IP в разные представления. Поэтому не будем больше тратить время на двоичную арифметику и сразу перейдем к структуре адреса TCP/IP.
Запишите IP адрес из четырёх десятичных чисел в 32-битном виде 1) 210.171.30.128 2)
На вход программы поступает последовательность из N целых положительных чисел. Необходимо найти их наименьшее общее кратное. Описание входных и выходн … ых данных В первой строке входных данных задаётся количество чисел N (2 \leq N \leq 20). В каждой из последующих N строк записано одно положительное целое число, не превышающее 10000 В качестве результата программа должна напечатать наименьшее общее кратное данных N чисел. Пример входных данных: 3 12 4 24 Пример выходных данных для приведённого выше примера входных данных: 24 Требуется написать эффективную по времени и памяти программу.
Помогите пожалуйста! В торговом центре остановился эскалатор, а Андрею срочно нужно спуститься вниз. За один шаг он может спуститься на 1, 2 или 3 сту … пенькиНайдите количество способов добраться вниз, если всего нужно перешагнуть через 21 ступеньку.Необходимо привести развёрнутое решение и (или) код программы, который решает данную задачу (если выбираете второй способ, то опишите алгоритм программы, а также укажите используемый язык программирования и его версию).Решение двумя способами будет оценено дополнительными баллами.
В старину на Руси для измерения объёма использовали величины шкалик, чарка, штоф, ведро и бочка. При этом: · 1 чарка = 2 шкалика; · 1 штоф = 10 чарок; … · 1 ведро = 10 штофов; · 1 бочка = 40 вёдер. На вход программы подаётся натуральное число $$N$$ – объём объекта в шкаликах. Нужно написать программу, которая возвращает 5 неотрицательных целых чисел A, B, C, D, E – количество бочек, вёдер, штофов, чарок и шкаликов соответственно, в сумме дающих ровно N шкаликов. При этом, значение E должно быть меньше 2 (так как 2 шкалика дают чарку), D и C должны быть меньше 10 (так как 10 чарок дают штоф, а 10 штофов – ведро), значение B должно быть меньше 40 (так как 40 вёдер дают бочку).
Найдите количество 10-значных чисел, составленных из цифр 8 и 9, в которых никакие две девятки не стоят рядом.
1. Поменяйте местами значения двух переменных. 2.Дано пятизначное число. Цифры на четных позициях занулить. Например, из 12345 получается число 10305. … 3. Даны два числа. Если они не равны, то найти их сумму, иначе найти их произведение. 4.Дан номер месяца первого полугодия. Вывести на консоль название месяца. 5. Вывести на экран 8 раз фразу «Loading…». 6.Даны три числа. Найти наибольшую сумму двух чисел из них. язык прогромирования python помогите пожалуйста помогите пожалуйста по информатике язык прогромирования python
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л. По каждой дороге можно двигаться только в одном направлении, … указанном стрелкой. Какова длина самого длинного пути из города А в город Л? Длиной пути считать количество дорог, составляющих этот путь.
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлен … ии, указанном стрелкой. Какова длина самого длинного пути из города А в город М? Длиной пути считать количество дорог, составляющих этот путь.
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлен … ии, указанном стрелкой. Какова длина самого длинного пути из города А в город М? Длиной пути считать количество дорог, составляющих этот путь.
Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгорит … м печатает сначала 5, а потом 9. Ответ обосновать.
1.Значення списку можна скопіювати в незалежний новий список за допомогою одного з наступних способів функції copy() функції list() функції list[] фун … кції copy<> розділенням списку за допомогою [:] Всі вищезгадані твердження вірні
Cisco Learning | IP адресация
Логическая адресация – адреса, которые могут быть использованы в независимости от
физической среды, обеспечивающие каждое устройство в сети как минимум одним адресом.
Прежде чем переходить к подробному рассмотрению IP-адреса, следует вспомнить, что такое бит. Бит – единица измерения информации в двоичной системе исчисления. Почему “в двоичной системе исчисления”? Потому что бит может принимать только значения 0 или 1. Так же надо вспомнить, что такое байт, это единица измерения количества информации, равная 8 битам, т.е. 8 нулей или единиц. Как преобразовывать двоичные числа в десятеричные, мы рассмотрим ниже на этой странице.
Рисунок 4.1 Пример IP адреса
IP адрес состоит из 32 бит, четырех чисел, разделенных точками. Числа называются октетами. Октет равен одному байту или восьми битам.
Компьютеры воспринимают и обрабатывают информацию в двоичном виде, поэтому, чтобы лучше понять IP адресацию, надо разобраться как видят эти адреса компьютеры (маршрутизаторы и другие устройства).
В октете восемь бит, один бит может принимать значения 1 или 0, таким образом октет можно представить в виде нулей и единиц. В школьной программе для перевода из десятеричного числа в двоичное часто используют метод деления, я же предлагаю другой метод. Приведем число 177 в двоичный вид.
Шаблон для преобразования десятеричных чисел в двоичные и наоборот.
Первое что мы сделали, написали восемь степеней двойки от 2 7 (128) до 2 0 (1), дальше начинаем сравнивать 177 со степенями. 177 больше 128, поэтому ставим 1 под 128 и выполняем разность 177-128=49. 49 меньше 64, поэтому ставим 0 под 64. 49 больше 32, поэтому ставим 1 под 32 и делаем разность 49-32=17. 17 больше 16, поэтому ставим 1 под 16 и делаем разность 17-16=1. 1 меньше 8, 4-х и 2-х, поэтому под ними мы ставим нули и в заключении под единицей ставим 1. В итоге получили, что 177 можно представить в двоичном виде как 10110001.
Десятеричное число 177 в двоичном виде.
Для закрепления знаний, разберем еще один пример, возьмем число 108.
Шаблон для преобразования десятеричных чисел в двоичные и наоборот.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
– | – | – | – | – | – | – | – |
108 меньше 128, ставим нуль. 108 больше 64, ставим 1, делаем разность 108-64=44. 44 больше 32, ставим 1, делаем разность 44-32=12. 12 меньше 16, ставим нуль. 12 больше 8, ставим 1, делаем разность 12-8=4. 4=4 ставим 1 и под двойкой и единицей ставим нули. В итоге – 108 можно представить в двоичном виде как 01101100 (в начале мы оставили нуль, потому что октет состоит из восьми бит, и мы указываем значение каждого бита).
Десятеричное число 108 в двоичном виде.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
С помощью этого метода так же легко переводить числа из двоичной системы в десятеричную, просто сложив числа, под которыми стоят единицы.
Теперь представим, что в октете стоит 0, его можно представить в двоичном виде как 00000000. А если в двоичном виде 11111111, то в десятеричном виде оно будет выглядеть как 255, следовательно максимальное число в октете 255.
Прежде чем переходить к дальнейшему изучению, предлагаю вам потренироваться с переводом десятеричных чисел в двоичные, очень скоро это пригодится для дальнейшего усвоения материала. Если вы чувствуете уверенность в конвертации чисел, то можете посетить Binary калькулятор и получить несколько достижений.
Переведите предложенное число в двоичную систему исчисления и сверьте полученный ответ
число должно быть не больше 255 и не меньше 0
2 7 = 128 | 2 6 = 64 | 2 5 = 32 | 2 4 = 16 | 2 3 = 8 | 2 2 = 4 | 2 1 = 2 | 2 0 = 1 |
– | – | – | – | – | – | – | – |
всегда показывать ответ
Переведите предложенное число в десятеричную систему исчисления и сверьте полученный ответ
число должно быть не больше 8 бит
всегда показывать ответ
version: 2. 0
Если вы нашли в тексте ошибку, выделите текст и нажмите Ctrl + Enter
ID: 86 Created: Oct 19, 2016 Modified Sep 29, 2020
Адресация компьютеров в сети
Организация компьютерных сетей. Адресация.
При подключении компьютера к сети в параметрах настройки протокола TCP(протокол управления передачей)/IP(межсетевой протокол) должны быть указаны IP-адрес компьютера и маска сети.
IP-адрес уникально идентифицирует узел (компьютер) в сети. Первая часть IP-адреса обозначает адрес сети, вторая часть – адрес узла (номер компьютера).
Маска сети показывает, какая часть IP-адреса узла относится к адресу сети, а какая – к адресу узла в этой сети и необходима для определения того, какие компьютеры находятся в той же подсети
IP-адрес и маска состоят из четырех десятичных чисел, разделенных точками (каждое из этих чисел находится в интервале 0…255) — IP-адрес: 192.168.123.132; Маска: 255. 255.255.0
Маска тоже состоит из четырёх чисел (в интервале 0..255),
Разбор типичных задач.
Определить порядковый номер компьютера в сети.
Двоичное представление-
IP-адрес: 11000000.10101000.01111011.00101010
Маска: 11111111.11111111.11111111.11000000
адрес сети номер компьютера
Нулевые биты маски и соответствующие им биты IP-адреса, определяющие номер компьютера в сети: 1010102 = 4210 (номер компьютера (узла)=42)
По заданным IP-адресу узла и маске определить адрес сети.
IP-адрес узла: 218.137.218.137
Адрес сети получается в результате поразрядной конъюнкции (умножение бит на бит) чисел маски и чисел адреса узла (в двоичном коде).
Результат перевести в десятичную систему счисления: 218.137.216.0 – адрес сети
По заданной маске определить число компьютеров в сети.
Маска сети: 255.255.254.0
254.0 g 11111110.00000000
Общее количество нулевых бит – 9 (N)
Число компьютеров 2 N : 2 9 = 512
Для узла с IP-адресом 111.81.208.27 адрес сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего слева байта маски?
Запишем третий байт IP-адреса и адреса сети в двоичной системе счисления:
С каким числом нужно произвести конъюнкцию 110100002 , чтобы получить 110000002 ? Очевидно, что первые две цифры должны быть единицами, а 4-я нулем.
Это или 11000000, или 11100000. По условию задачи требуется найти наименьшее значение – это 11000000. Следовательно: 110000002 = 19210
Для узла с IP-адресом 98.162.71.94 адрес сети равен 98.162.71.64. Чему равно НАИБОЛЬШЕЕ количество возможных адресов в этой сети?
Запишем четвёртый байт IP-адреса и адреса сети в двоичной системе счисления, третий байт не подходит (71) т.к. – 01000111 (последние едиицы):
Заметим, что 3 первых слева бита адреса сети совпадают с IP-адресом, а затем идут нули. Чтобы найти, чему равно наибольшее количество возможных адресов в сети, нужно найти количество нулевых бит в последнем байте маски. Значит, значение последнего байта маски равняется 11 0000002 = 19210(мах количество «0»). Количество нулей в последнем байте маски равняется 6.
Следовательно, наибольшее количество возможных адресов в этой сети равняется 2 6 = 64.
Для узла с IP-адресом 98.162.71.94 адрес сети равен 98.162.71.64. Чему равно НАИМЕНЬШЕЕ количество возможных адресов в этой сети?
Запишем четвёртый байт IP-адреса и адреса сети в двоичной системе счисления:
Заметим, что 3 первых слева бита адреса сети совпадают с IP-адресом, а затем идут нули. Чтобы найти, чему равно наименьшее количество возможных адресов в сети, нужно найти количество нулевых бит в последнем байте маски. Значит, значение последнего байта маски равняется 111 000002 = 22410 (MIN количество «0», правило маски, слева «1»,справа «0»,т.е. после «1» должны быть «0»). Количество нулей в последнем байте маски равняется 5.
Следовательно, наименьшее количество возможных адресов в этой сети равняется 2 5 = 32.
Преобразование точечного десятичного IP-адреса в двоичный (Python)
Мне нужна программа, которая преобразует введенный пользователем адрес IPv4 в двоичный и базовый адрес 10. Что-то вроде этого:
До сих пор мне удавалось преобразовать его в адрес base10, но я, похоже, не могу обойти проблему base 2:
Любая помощь будет очень признательна. Спасибо.
python binary ip ip-address data-conversion
Поделиться Источник user1819786 02 ноября 2013 в 16:38
2 ответа
- Преобразование адреса IP в 8-значное значение hex
У меня есть IP 192.168.232.189, и мне нужно преобразовать его в значение hex C0A8E8BD, используя c#., может ли кто-нибудь помочь? Я видел это преобразование IP-адреса в Hex , но я не совсем уверен, как реализовать это c# Спасибо
Как часть более крупного приложения, я пытаюсь преобразовать адрес IP в двоичный. Цель состоит в том, чтобы позже вычислить широковещательный адрес для пробуждения по трафику LAN. Я предполагаю, что есть гораздо более эффективный способ сделать это, чем то, как я думаю. Это разбиение адреса IP на…
На случай, если вам нужен список:
Здесь формат преобразует целое число в его двоичное строковое представление:
Поделиться Ashwini Chaudhary 02 ноября 2013 в 16:43
Поделиться falsetru 02 ноября 2013 в 16:43
Похожие вопросы:
python извлечение ip-адреса cidre/-ranges в отдельные ip-адреса
Я новичок в python году. Я хотел бы сканировать ip-адреса в python, и для этого я хочу прочитать файл с ip-адресами в разных нотациях, таких как cidr или диапазоны, и скрипт должен извлечь…
Преобразование отрицательного числа в адрес IP python
и я пытаюсь преобразовать длинные числа в адрес IP, но python не позволяет мне преобразовать значения-ve в длинные. Ниже приведены мои функции, может ли кто-нибудь помочь? Преобразование IP-адреса…
Преобразование адреса IP в диапазон IP
Я работаю над проектом, в котором я создаю свой собственный сетевой монитор, и я застрял на небольшой проблеме. Мне было интересно, как преобразовать адрес IP в диапазон адресов IP. До сих пор это…
Преобразование адреса IP в 8-значное значение hex
У меня есть IP 192.168.232.189, и мне нужно преобразовать его в значение hex C0A8E8BD, используя c#., может ли кто-нибудь помочь? Я видел это преобразование IP-адреса в Hex , но я не совсем уверен,…
Преобразование адресной строки IP в двоичную в Python
Как часть более крупного приложения, я пытаюсь преобразовать адрес IP в двоичный. Цель состоит в том, чтобы позже вычислить широковещательный адрес для пробуждения по трафику LAN. Я предполагаю, что…
Kibana3: long to IP in terms panel
Для установки ELK (Kibana is v3) я подаю журналы с некоторых брандмауэров, а поля src_ip/dst_ip определяются как тип ip. eg. dst_ip :
Как проверить наличие адреса IP в python? Например, я не хочу менять адрес IP моей системы на 192.168.112.226, статически переопределяя предоставленный dhcp-адрес. Шлюз по умолчанию-192.168.112.1….
разбор ip-адреса в php
Я пытаюсь создать страницу, которая показывает пользователю их код zip, когда они находятся на моей странице. (если кто-то из вас знаком с данными GeoIP, то это то, что я использую. ) У меня есть…
Преобразование и сохранение структуры в двоичный файл в C++
Я хочу преобразовать структуру, состоящую из различных типов данных (long, char[x], char*),), в двоичную и сохранить ее в переменной (я не знаю правильного или оптимального типа данных для этого)….
Лабораторная работа. Преобразование IP-адресов в двоичный формат.
Лабораторная работа. Преобразование IPv4-адресов в двоичный формат
Часть 1. Преобразование IPv4-адресов из разделенных точками десятичных чисел в двоичный формат
Часть 2. Использование побитовой операции И для определения сетевых адресов Часть 3. Применение расчетов сетевых адресов
Каждый IPv4-адрес состоит из двух частей — сетевой и узловой. Сетевая часть адреса одинакова для всех устройств, которые находятся в одной и той же сети. Узловая часть определяет конкретный узел в пределах соответствующей сети. Маска подсети используется для определения сетевой части IPадреса. Устройства в одной сети могут обмениваться данными напрямую; для взаимодействия между устройствами из разных сетей требуется промежуточное устройство уровня 3, например маршрутизатор.
Чтобы понять принцип работы устройств в сети, нам необходимо увидеть адреса в том виде, в котором с ними работают устройства — в двоичном представлении. Для этого необходимо перевести IP-адрес и его маску подсети из десятичного представления с точками в двоичное значение. После этого можно определить сетевой адрес с помощью побитовой операции И.
В этой лабораторной работе описывается порядок определения сетевой и узловой частей IP-адресов. Для этого нужно перевести адреса и маски подсети из десятичного представления с точками в двоичный формат, а затем применить побитовую операцию И. После этого вы воспользуетесь полученной информацией для определения адресов в сети.
В части 1 вам необходимо перевести десятичные числа в двоичный эквивалент. Выполнив это задание, вы займетесь преобразованием IPv4-адресов и масок подсети из десятичного представления с точкой-разделителем в двоичную систему.
Шаг 1: Переведите числа из десятичной в двоичную систему счисления.
Заполните таблицу, преобразовав десятичное число в 8-битное двоичное значение. Первое число уже преобразовано для примера. Помните, что восемь двоичных битовых значений в октете имеют основание 2 и слева направо выглядят как 128, 64, 32, 16, 8, 4, 2 и 1.
IP адресация, классы IP адресов и значение маски подсети
Адресация в компьютерных сетях бывает двух видов: физическая адресация (на основе MAC-адреса) и логическая (на основе IP-адреса). Логическая адресация реализована на 3-ем уровне эталонной модели OSI. Далее более подробно рассматривается IP-адресация и пять классов IP-адресов, а также подсети, маски подсетей и их роль в схемах IP-адресации. Кроме того, обсуждаются отличия между публичными и частными адресами, IPv4-и IPv6-адресацией, а также одноадресными и широковещательными сообщениями.
Для чего нужны IP адреса?
Для обмена данными в Интернете (между различными локальными сетями) узлу необходим IP-адрес. Это логический сетевой адрес конкретного узла. Для обмена данными с другими устройствами, подключенными к Интернету, необходим правильно настроенный, уникальный IP-адрес.
IP-адрес присваивается сетевому интерфейсу узла. Обычно это сетевая интерфейсная плата (NIC), установленная в устройстве. Примерами пользовательских устройств с сетевыми интерфейсами могут служить рабочие станции, серверы, сетевые принтеры и IP-телефоны. Иногда в серверах устанавливают несколько NIC, у каждой из которых есть свой IP-адрес. У интерфейсов маршрутизатора, обеспечивающего связь с сетью IP, также есть IP-адрес.
В каждом отправленном по сети пакете есть IP-адрес источника и назначения. Эта информация необходима сетевым устройствам для передачи информации по назначению и передачи источнику ответа.
Структура IP адреса
IP-адрес представляет собой серию из 32 двоичных бит (единиц и нулей). Человеку прочесть двоичный IP-адрес очень сложно. Поэтому 32 бита группируются по четыре 8-битных байта, в так называемые октеты. Читать, записывать и запоминать IP-адреса в таком формате людям сложно. Чтобы облегчить понимание, каждый октет IP-адреса представлен в виде своего десятичного значения. Октеты разделяются десятичной точкой или запятой. Это называется точечно-десятичной нотацией.
При настройке IP-адрес узла вводится в виде десятичного числа с точками, например, 192.168.1.5. Вообразите, что вам пришлось бы вводить 32-битный двоичный эквивалент адреса — 11000000101010000000000100000101. Если ошибиться хотя бы в одном бите, получится другой адрес, и узел, возможно, не сможет работать в сети.
Структура 32-битного IP-адреса определяется межсетевым протоколом 4-ой версии (IPv4). На данный момент это один из самых распространенных в Интернете типов IP-адресов. По 32-битной схеме адресации можно создать более 4 миллиардов IP-адресов.
Получая IP-адрес, узел просматривает все 32 бита по мере поступления на сетевой адаптер. Напротив, людям приходится преобразовывать эти 32 бита в десятичные эквиваленты, то есть в четыре октета. Каждый октет состоит из 8 бит, каждый бит имеет значение. У четырех групп из 8 бит есть один и тот же набор значений. Значение крайнего правого бита в октете – 1, значения остальных, слева направо – 2, 4, 8, 16, 32, 64 и 128.
Чтобы определить значение октета, нужно сложить значения позиций, где присутствует двоичная единица.
- Нулевые позиции в сложении не участвуют.
- Если все 8 бит имеют значение 0, 00000000, то значение октета равно 0.
- Если все 8 бит имеют значение 1, 11111111, значение октета – 255 (128+64+32+16+8+4+2+1).
- Если значения 8 бит отличаются, например, 00100111, значение октета – 39 (32+4+2+1).
Таким образом, значение каждого из четырех октетов находится в диапазоне от 0 до 255.
Разделение IP адреса на сетевую и узловую части
Логический 32-битный IP-адрес представляет собой иерархическую систему и состоит из двух частей. Первая идентифицирует сеть, вторая — узел в сети. Обе части являются обязательными.
Например, если IP-адрес узла – 192.168.18.57, то первые три октета (192.168.18) представляют собой сетевую часть адреса, а последний октет (.57) является идентификатором узла. Такая система называется иерархической адресацией, поскольку сетевая часть идентифицирует сеть, в которой находятся все уникальные адреса узлов. Маршрутизаторам нужно знать только путь к каждой сети, а не расположение отдельных узлов.
Иерархическая структура IP-адресов
Другой пример иерархической сети – это телефонная сеть. В телефонном номере код страны, региона и станции составляют адрес сети, а оставшиеся цифры — локальный номер телефона.
При IP-адресации в одной физической сети могут существовать несколько логических сетей, если сетевая часть адреса их узла отличается. Пример. Три узла в одной физической локальной сети имеют одинаковую сетевую часть в своем IP-адресе (192.168.50), а три других узла — другую сетевую часть (192.168.70). Три узла с одной сетевой частью в своих IP-адресах имеют возможность обмениваться данными друг с другом, но не могут обмениваться информацией с другими узлами без использования маршрутизации. В данном случае имеем одну физическую сеть и две логические IP-сети.
Сетевая и узловая части IP адреса
Классы IP адресов и маски подсети по умолчанию
IP-адрес и маска подсети совместно определяют то, какая часть IP-адреса является сетевой, а какая — соответствует адресу узла.
IP-адреса делятся на 5 классов. К классам A, B и C относятся коммерческие адреса, присваиваемые узлам. Класс D зарезервирован для многоадресных рассылок, а класс E – для экспериментов.
IP-адреса класса D
IP-адреса класса E
В адресах класса C сетевая часть состоит из трех октетов, а адрес узла – из одного. Выбранная по умолчанию маска подсети состоит из 24 бит (255.255.255.0). Адреса класса C обычно присваиваются небольшим сетям.
IP-адреса класса C
В адресах класса B сетевая часть и адрес узла состоят из двух октетов. Выбранная по умолчанию маска подсети состоит из 16 бит (255.255.0.0). Обычно эти адреса используются в сетях среднего размера.
IP-адреса класса B
В адресах класса A сетевая часть состоит всего из одного октета, остальные отведены узлам. Выбранная по умолчанию маска подсети состоит из 8 бит (255.0.0.0). Обычно такие адреса присваиваются крупным организациям.
IP-адреса класса A
Класс адреса можно определить по значению первого октета. Например, если значение первого октета IP-адреса находится в диапазоне от 192 до 223, то это адрес класса C. Например, адрес 200.14.193.67 относится к классу С.
Классы IP адресов
Классовая и бесклассовая адресация
Классовая IP адресация — это метод IP-адресации, который не позволяет рационально использовать ограниченный ресурс уникальных IP-адресов, т.к. не возможно использование различных масок подсетей. В классовом методе адресации используется фиксированная маска подсети, поэтому класс сети (см. выше) всегда можно идентифицировать по первым битам.
Бесклассовая IP адресация (Classless Inter-Domain Routing — CIDR) — это метод IP-адресации, который позволяет рационально управлять пространством IP адресов. В бесклассовом методе адресации используются маски подсети переменной длины (variable length subnet mask — VLSM).
Возможные значения маскок подсети при бесклассовом методе адресации (широко применяется в современных сетях):
Всего адресов | битов | Префикс | Класс | Десятичная маска |
1 | 0 | /32 | 255.255.255.255 | |
2 | 1 | /31 | 255.255.255.254 | |
4 | 2 | /30 | 255.255.255.252 | |
8 | 3 | /29 | 255.255.255.248 | |
16 | 4 | /28 | 255.255.255.240 | |
32 | 5 | /27 | 255.255.255.224 | |
64 | 6 | /26 | 255.255.255.192 | |
128 | 7 | /25 | 255.255.255.128 | |
256 | 8 | /24 | 1C | 255.255.255.0 |
512 | 9 | /23 | 2C | 255.255.254.0 |
1024 | 10 | /22 | 4C | 255.255.252.0 |
2048 | 11 | /21 | 8C | 255.255.248.0 |
4096 | 12 | /20 | 16C | 255.255.240.0 |
8192 | 13 | /19 | 32C | 255.255.224.0 |
16384 | 14 | /18 | 64C | 255.255.192.0 |
32768 | 15 | /17 | 128C | 255.255.128.0 |
65536 | 16 | /16 | 1B | 255.255.0.0 |
131072 | 17 | /15 | 2B | 255.254.0.0 |
262144 | 18 | /14 | 4B | 255.252.0.0 |
524288 | 19 | /13 | 8B | 255.248.0.0 |
1048576 | 20 | /12 | 16B | 255.240.0.0 |
2097152 | 21 | /11 | 32B | 255.224.0.0 |
4194304 | 22 | /10 | 64B | 255.192.0.0 |
8388608 | 23 | /9 | 128B | 255.128.0.0 |
16777216 | 24 | /8 | 1A | 255.0.0.0 |
33554432 | 25 | /7 | 2A | 254.0.0.0 |
67108864 | 26 | /6 | 4A | 252.0.0.0 |
134217728 | 27 | /5 | 8A | 248.0.0.0 |
268435456 | 28 | /4 | 16A | 240.0.0.0 |
536870912 | 29 | /3 | 32A | 224.0.0.0 |
1073741824 | 30 | /2 | 64A | 192.0.0.0 |
2147483648 | 31 | /1 | 128A | 128.0.0.0 |
4294967296 | 32 | /0 | 256A | 0.0.0.0 |
Назначение маски подсети
Каждый IP-адрес состоит из двух частей. Как узлы определяют, где сетевая часть, а где адрес узла? Для этого используется маска подсети.
При настройке IP узлу присваивается не только IP-адрес, но и маска подсети. Как и IP-адрес, маска состоит из 32 бит. Она определяет, какая часть IP-адреса относится к сети, а какая – к узлу.
Маска сравнивается с IP-адресом побитно, слева направо. В маске подсети единицы соответствуют сетевой части, а нули — адресу узла.
Отправляя пакет, узел сравнивает маску подсети со своим IP-адресом и адресом назначения. Если биты сетевой части совпадают, значит, узлы источника и назначения находятся в одной и той же сети, и пакет доставляется локально. Если нет, отправляющий узел передает пакет на интерфейс локального маршрутизатора для отправки в другую сеть.
В домашних офисах и небольших компаниях чаще всего встречаются следующие маски подсети: 255.0.0.0 (8 бит), 255.255.0.0 (16 бит) и 255.255.255.0 (24 бита). В маске подсети 255.255.255.0 (десятичный вариант), или 11111111.11111111.1111111.00000000 (двоичный вариант) 24 бита идентифицируют сеть, а 8 — узлы в сети.
Чтобы вычислить количество возможных сетевых узлов, нужно взять число два (2) в степени количества отведенных для них бит (2 ^ 8 = 256). Из полученного результата необходимо вычесть 2 (256-2). Дело в том, что состоящая из одних единиц (1) отведенная узлам часть IP-адреса предназначена для адреса широковещательной рассылки и не может принадлежать одному узлу. Часть, состоящая только из нулей, является идентификатором сети и тоже не может быть присвоена конкретному узлу. Возвести число 2 в степень без труда можно с помощью калькулятора, который есть в любой операционной системе Windows.
Иначе допустимое количество узлов можно определить, сложив значения доступных бит (128+64+32+16+8+4+2+1 = 255). Из полученного значения необходимо вычесть 1 (255-1 = 254), поскольку значение всех бит отведенной для узлов части не может равняться 1. 2 вычитать не нужно, поскольку сумма нулей равна нулю и в сложении не участвует.
В 16-битной маске для адресов узлов отводится 16 бит (два октета), и в одном из них все значения могут быть равны 1 (255). Это может быть и адрес широковещательной рассылки, но если другой октет не состоит из одних единиц, адрес можно использовать для узла. Не забывайте, что узел проверяет значения всех бит, а не значения одного октета.
Взаимодействие IP-адреса и маски подсети
Публичные и частные IP-адреса
Всем узлам, подключенным непосредственно к Интернету, необходим уникальный публичный IP-адрес. Поскольку количество 32-битных адресов конечно, существует риск, что их не хватит. В качестве одного из решений было предложено зарезервировать некоторое количество частных адресов для использования только внутри организации. В этом случае внутренние узлы смогут обмениваться данными друг с другом без использования уникальных публичных IP-адресов.
В соответствии со стандартом RFC 1918 было зарезервировано несколько диапазонов адресов класса A, B и C. Как видно из таблицы, в диапазон частных адресов входит одна сеть класса A, 16 сетей класса B и 256 сетей класса C. Таким образом, сетевые администраторы получили определенную степень свободы в плане предоставления внутренних адресов.
В очень большой сети можно использовать частную сеть класса A, где можно создать более 16 миллионов частных адресов.
В сетях среднего размера можно использовать частную сеть класса B с более чем 65 000 адресов.
В домашних и небольших коммерческих сетях обычно используется один частный адрес класса C, рассчитанный на 254 узла.
Одну сеть класса A, 16 сетей класса B или 256 сетей класса C могут использовать организации любого размера. Многие организации пользуются частной сетью класса A.
Узлы из внутренней сети организации могут использовать частные адреса до тех пор, пока им не понадобится прямой выход в Интернет. Соответственно, один и тот же набор адресов подходит для нескольких организаций. Частные адреса не маршрутизируются в Интернете и быстро блокируются маршрутизатором поставщика услуг Интернета.
При подключении сети предприятия, в которой используются частные адреса, к сети Internet необходимо обеспечить преобразование частных адресов в открытые. Такой процесс называется трансляцией сетевых адресов (Network Address Translation — NAT) и обычно выполняется маршрутизатором.
Частные адреса можно использовать как меру безопасности, поскольку они видны только в локальной сети, а посторонние получить прямой доступ к этим адресам не могут.
Кроме того, существуют частные адреса для диагностики устройств. Они называются адресами обратной связи. Для таких адресов зарезервирована сеть 127.0.0.0 класса А.
Адреса одноадресных, широковещательных и многоадресных рассылок
Помимо классов, IP-адреса делятся на категории, предназначенные для одноадресных, широковещательных или многоадресных рассылок. С помощью IP-адресов узлы могут обмениваться данными в режиме «один к одному» (одноадресная рассылка), «один ко многим» (многоадресная рассылка) или «один ко всем» (широковещательная рассылка).
Одноадресная рассылка
Адрес одноадресной рассылки чаще всего встречается в сети IP. Пакет с одноадресным назначением предназначен конкретному узлу. Пример: узел с IP-адресом 192.168.1.5 (источник) запрашивает веб-страницу с сервера с IP-адресом 192.168.1.200 (адресат).
Для отправки и приема одноадресного пакета в заголовке IP-пакета должен указываться IP-адрес назначения. Кроме того, в заголовке кадра Ethernet должен быть MAC-адрес назначения. IP-адрес и MAC-адрес — это данные для доставки пакета одному узлу.
Широковещательная рассылка
В пакете широковещательной рассылки содержится IP-адрес назначения, в узловой части которого присутствуют только единицы (1). Это означает, что пакет получат и обработают все узлы в локальной сети (домене широковещательной рассылки). Широковещательные рассылки предусмотрены во многих сетевых протоколах, например ARP и DHCP.
В сети класса C 192.168.1.0 с маской подсети по умолчанию 255.255.255.0 используется адрес широковещательной рассылки 192.168.1.255. Узловая часть – 255 или двоичное 11111111 (все единицы).
В сети класса B 172.16.0.0 с маской подсети по умолчанию 255.255.0.0 используется адрес широковещательной рассылки 172.16.255.255.
В сети класса A 10.0.0.0 с маской подсети по умолчанию 255.0.0.0 используется адрес широковещательной рассылки 10.255.255.255.
Для сетевого IP-адреса широковещательной рассылки нужен соответствующий MAC-адрес в кадре Ethernet. В сетях Ethernet используется MAC-адрес широковещательной рассылки из 48 единиц, который в шестнадцатеричном формате выглядит как FF-FF-FF-FF-FF-FF.
Многоадресная рассылка
Адреса многоадресных рассылок позволяют исходному устройству рассылать пакет группе устройств.
Устройства, относящиеся к многоадресной группе, получают ее IP-адрес. Диапазон таких адресов — от 224.0.0.0 до 239.255.255.255. Поскольку адреса многоадресных рассылок соответствуют группам адресов (которые иногда называются группами узлов), они используются только как адресаты пакета. У источника всегда одноадресный адрес.
Адреса многоадресных рассылок используются, например, в дистанционных играх, в которых участвует несколько человек из разных мест. Другой пример — это дистанционное обучение в режиме видеоконференции, где несколько учащихся подключаются к одному и тому же курсу.
Как и одноадресным или широковещательным адресам, IP-адресам многоадресной рассылки нужен соответствующий MAC-адрес, позволяющий доставлять кадры в локальной сети. MAC-адрес многоадресной рассылки — это особое значение, которое в шестнадцатеричном формате начинается с 01-00-5E. Нижние 23 бита IP-адреса многоадресной группы преобразуются в остальные 6 шестнадцатеричных символов адреса Ethernet. Пример (см. рисунок) — шестнадцатеричное значение 01-00-5E-0F-64-C5. Каждому шестнадцатеричному символу соответствует 4 двоичных бита.
Сравнение протоколов IP версии 4 (IPv4) и IP версии 6 (IPv6)
Когда в 1980 году был утвержден стандарт TCP/IP, он основывался на схеме двухуровневой адресации, которая в то время давала необходимую масштабируемость. К сожалению, создатели TCP/IP не могли предположить, что их протокол станет основой для глобальной сети обмена информацией, сети развлечений и коммерции. Более двадцати лет назад в протоколе IP версии 4 (IPv4) была предложена стратегия адресации, которая, будучи вполне подходящей для того времени, привела к неэффективному распределению адресов.
Как показано на рис. ниже, адреса классов А и В покрывают 75% всего адресного пространства IPv4, но относительное число организаций, которые могли бы использовать сети этих классов, не превышает 17000. Сетей класса С значительно больше, чем сетей классов А и В, но количество доступных IP-адресов ограничивается всего 12,5% от их общего числа, равного 4 млрд.
К сожалению, в сетях класса С не может быть более 254 узлов, что не соответствует потребностям достаточно крупных организаций, но которые вместе с тем не настолько велики, чтобы получить адреса классов А и В. Даже если бы существовало больше адресов сетей классов А, В и С, слишком большое их число привело бы к тому, что маршрутизаторы сети Internet были бы вынуждены обрабатывать огромное количество таблиц маршрутизации, хранящих маршруты ко всем сетям.
Распределение адресов IPv4
Еще в 1992 году проблемная группа проектирования Internet (IETF) обнаружила две специфические проблемы:
- остаток нераспределенных адресов сетей IPv4 близок к исчерпанию. В то время адреса класса В были практически израсходованы;
- наблюдается быстрое и постоянное увеличение размеров таблиц маршрутизации сети Internet в связи с ее ростом. Появление новых подключенных к структуре Internet сетей класса С порождает поток информации, способный привести к тому, что маршрутизаторы сети Internet перестанут эффективно справляться со своими задачами.
За последние два десятилетия был разработан ряд технологий, расширяющих IPv4 и направленных для модернизации существующей 32-битовой схемы адресации. Две наиболее значительные из них — это маски подсетей и маршрутизация CIDR (Classless InterDomain Routing — бесклассовая междоменная маршрутизация).
Приблизительно в то же время была разработана и одобрена еще более расширяемая и масштабируемая версия технологии IP — IP версии 6 (IPv6). Протокол IPv6 использует для адресации 128 битов вместо 32-х битов в IPv4 (см. рис. ниже). В стандарте IPv6 используется шестнадцатеричная запись числа для представления 128-битовых адресов, и он позволяет использовать 16 млрд. IP-адресов. Эта версия протокола IP должна обеспечить необходимое количество адресов как на текущий момент, так и в будущем.
Для представления 128-битового адреса в протоколе IPv6 используется запись из восьми шестнадцатибитовых чисел, представляемых в виде четырех шестнадцатеричных цифр, как это показано на рис. ниже. Группы из четырех шестнадцатеричных цифр разделены двоеточиями, нули в старших позициях могут быть опущены.
Сравнение IPv4 и IPv6
Разработка и планирование технологии заняли годы, прежде чем протокол IPv6 постепенно начал использоваться в отдельных сетях. В перспективе стандарт IPv6 должен заменить IPv4 в качестве доминирующего протокола в сети Internet.
В данной статье описана только IP адресация, но не затронуты вопросы присвоения IP-адреса узлам в сети. В будущем я планирую восполнить и этот пробел.