Browse Category: Сети

Работаем с сетями IPv4. Алгебра-логики. Вычисления.

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

Цель данной статьи показать, как можно вычислять все необходимые значения сети.

Итак:

Мы привыкли видеть IP адреса в виде: AAA.BBB.CCC.DDD, например: 192.168.100.15

Для манипуляций с IP адресами нам необходимо сначала перевести их в бинарный вид.

В языке Си преобразование IP адресов в бинарный вид и обратно делается с помощью ф-ий:

aton — Addres to numeric ( адрес в число )

ntoa — Numeric to address ( число в адрес )

p.s. «Адрес» это форма записи IP, который мы привыкли видеть (например: 192.168.100.15).

В PHP такими функциями служат: ip2long и long2ip

В JS можно использовать следующие функции:

В Perl:

Теперь, когда мы перевели IP и его Маску в числовое значение, то мы можем всё вычислить:

 

Битовая маска

Битовая маска — это короткая запись Маски сети. Например, маску: 255.255.255.0 коротко можно записать как 24.

На самом деле, 24 означает кол-во единиц в двоичной системе счисления, соответствующей числу: 255.255.255.0.

Пример:

Маска: 255.255.255.0 это: 11111111.11111111.11111111.00000000 в двоичной системе счисления, т.е. 24 единицы )

В JS можно получить Битовую маску с помощью следующей ф-ии:

Надеюсь все в состоянии переписать эту ф-ию и для Perl? )


%d такие блоггеры, как: