Идиот - это член большого и могущественного племени, влияние которого на человечество во все времена было подавляющим и руководящим.

Заблудились в лесу Петька и Чапаев. Долго бродили, искали дорогу. Первым не выдержал Петька - упал на землю умирать. Вдруг слышит чавканье, ...

Начальный план разработки Qt 6
Thu, 21 Jun 2018 22:26:33 +0300

Разработчики Netfilter официально объявили инструментарий iptables устаревшим
Thu, 21 Jun 2018 14:18:47 +0300

Компания Oracle объявила о доступности ядра Unbreakable Enterprise Kernel 5
Thu, 21 Jun 2018 14:03:02 +0300

Выпуск звукового сервера PulseAudio 12.0
Thu, 21 Jun 2018 12:59:20 +0300

Выпуск набора видеодрайверов AMD Radeon 18.20
Thu, 21 Jun 2018 11:29:10 +0300

Blender тестирует децентрализованный PeerTube после блокировки видео на YouTube
Wed, 20 Jun 2018 20:35:28 +0300

Представлен проект Fedora CoreOS
Wed, 20 Jun 2018 19:05:49 +0300

Доступна сборка Android 8.1 для платформы x86 от проекта Android-x86
Wed, 20 Jun 2018 15:04:16 +0300

Выпуск Red Hat Enterprise Linux 6.10
Wed, 20 Jun 2018 14:15:32 +0300

В OpenBSD добавлен код программного отключения SMT (HyperThreading)
Wed, 20 Jun 2018 12:11:25 +0300

Третий альфа-выпуск инсталлятора Debian 10 "Buster"
Tue, 19 Jun 2018 21:13:48 +0300

В рамках проекта Devilution предпринята попытка воссоздания кода игры Diablo
Tue, 19 Jun 2018 13:06:26 +0300

Выпуск Brackets 1.13, открытого текстового редактора для web-разработчиков
Tue, 19 Jun 2018 12:33:05 +0300

Проекту FreeBSD исполнилось 25 лет
Tue, 19 Jun 2018 12:18:37 +0300

Выпуск системы инициализации sysvinit 2.90
Tue, 19 Jun 2018 11:55:44 +0300

27 июня в Москве состоится мероприятие CouchBase Day
Tue, 19 Jun 2018 11:32:00 +0300

Выпуск Dragonfire 1.0, виртуального голосового помощника для Linux
Tue, 19 Jun 2018 09:05:53 +0300

Выпуск дистрибутива Deepin 15.6, развивающего собственное графическое окружение
Mon, 18 Jun 2018 13:25:01 +0300

Открыт код C++ компилятора Zapcc
Mon, 18 Jun 2018 11:26:24 +0300

Релиз OpenSCADA 0.9 LTS
Mon, 18 Jun 2018 10:11:35 +0300

Установочный скрипт проекта yandex-disk-indicator удалял раздел /usr
Sun, 17 Jun 2018 20:11:45 +0300

Mozilla рассматривает возможность создания системы голосовой навигации для браузера
Sun, 17 Jun 2018 13:27:14 +0300

Компания Oracle выпустила обновление Solaris 11.3 SRU 33
Sun, 17 Jun 2018 12:29:13 +0300

Проект Genode опубликовал второй тестовый выпуск ОС общего назначения Sculpt
Sun, 17 Jun 2018 11:53:42 +0300

Разбор ситуации с обвинением OpenBSD в нарушении эмбарго при исправлении уязвимости KRACK
Sat, 16 Jun 2018 08:46:44 +0300

Взлом аккаунта на Github привёл к модификациии ПО криптовалюты Syscoin
Fri, 15 Jun 2018 22:26:09 +0300

Доступен DHCP-сервер Kea 1.4, развиваемый консорциумом ISC
Fri, 15 Jun 2018 20:09:50 +0300

Выпуск strace 4.23
Fri, 15 Jun 2018 15:01:49 +0300

Представлена техника атаки для определения ключей ECDSA и DSA
Fri, 15 Jun 2018 13:00:22 +0300

Google опубликовал утилиту для преобразования GIF в анимированную ASCII-графику
Thu, 14 Jun 2018 22:53:34 +0300

IP v4 IP v6
IP адреса

У каждого хоста и маршрутизатора в Интернете есть IP-адрес, состоящий из номера сети и номера хоста. Эта комбинация уникальна: нет двух машин с одинаковыми IP-адресами. Все IP-адреса имеют длину 32 бита и используются в полях адрес отправителя и адрес получателя IP-пакетов. Важно отметить, что IP-адрес, на самом деле, не имеет отношения к хосту. Он имеет отношение к сетевому интерфейсу, поэтому хост, соединенный с двумя сетями, должен иметь два IP-адреса. Однако на практике большинство хостов подключены к одной сети, следовательно, имеют один адрес.

В течение вот уже нескольких десятилетий IP-адреса делятся на пять классов, показанных на схеме ниже. Такое распределение обычно называется полноклассовой адресацией. Сейчас такая адресация уже не используется, но ссылки на нее в литературе встречаются все еще довольно часто. Чуть позже мы обсудим то, что пришло ей на смену.

Форматы классов А, В, С и D позволяют задавать адреса до 128 сетей с 16 млн хостов в каждой, 16 384 сетей с 64 тысячами хостов или 2 миллионов се­тей (например, ЛВС) с 256 хостами (хотя некоторые из них могут быть специализированными). Предусмотрен класс для многоадресной рассылки, при которой дейтаграммы рассылаются одновременно на несколько хостов. Адреса, начинающиеся с 1111, зарезервированы для будущего применения. В настоящее время к Интернету подсоединено более 500 000 сетей, и это число растет с каждым годом. Во избежание конфликтов, номера сетям назначаются некоммерческой корпорацией по присвоению имен и номеров, ICANN (Internet Corporation for Assigned Names and Numbers). В свою очередь, ICANN передала полномочия по присвоению некоторых частей адресного пространства региональным органам, занимающимся выделением IP-адресов провайдерам и другим компаниям.

Сетевые адреса, являющиеся 32-разрядными числами, обычно записываются в виде четырех десятичных чисел, которые соответствуют отдельным байтам, разделенных точками. Например, шестнадцатеричный адрес С0290614 записывается как 192.41.6.20. Наименьший IP-адрес равен 0.0.0.0, а наибольший — 255.255.255.255.

Как видно из следующей схемы, числа 0 и -1 (единицы во всех разрядах) имеют особое назначение. Число 0 означает эту сеть или этот хост. Значение -1 используется для широковещания и означает все хосты указанной сети.

IP-адрес О.О.О.О используется хостом только при загрузке. IP-адреса с нулевым номером сети обозначают текущую сеть. Эти адреса позволяют машинам обращаться к хостам собственной сети, не зная ее номера (но они должны знать ее класс и количество используемых нулей). Адрес, состоящий только из единиц, обеспечивает широковещание в пределах текущей (обычно локальной) сети. Адреса, в которых указана сеть, но в поле номера хоста одни единицы, обеспечивают широковещание в пределах любой удаленной локальной сети, соединенной с Интернетом. Наконец, все адреса вида 127.xx.yy.zz зарезервированы для тестирования сетевого программного обеспечения методом обратной передачи (пакет отправленный на этот адрес не выйдет за пределы вашего компьютера). Отправляемые по этому адресу пакеты не попадают на линию, а обрабатываются локально как входные пакеты. Это позволяет пакетам перемещаться по локальной сети, когда отправитель не знает номера.

Подсети

Как было показано ранее, у всех хостов сети должен быть один и тот же номер сети. Это свойство IP-адресации может вызвать проблемы при росте сети. Например, представьте, что университет создал сеть класса В, используемую факультетом информатики в качестве Ethernet. Год спустя факультету электротехники понадобилось подключиться к Интернету, для чего был куплен повторитель для расширения сети факультета информатики и проложен кабель из его здания. Однако время шло, число компьютеров в сети росло, и четырех повторителей (мак­симальный предел для сети Ethernet) стало не хватать. Понадобилось создание новой архитектуры.

Получить второй сетевой адрес университету довольно сложно, потому что сетевые адреса — ресурс дефицитный, к тому же в одном сетевом адресе адресного пространства достаточно для подключения более 60 000 хостов. Проблема заключается в следующем: правилом установлено, что адрес одного класса (А, В пли С) относится только к одной сети, а не к набору ЛВС. С этим столкнулось множество организаций, в результате чего были произведены небольшие изменения в системе адресации.

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

В литературе, посвященной интернет-технологиям, части сети называются подсетями. Как уже упоминалось в главе 1, подобное использование этого термина конфликтует со старым понятием «подсети», обозначающим множество всех маршрутизаторов и линий связи в сети. К счастью, по контексту обычно бывает ясно, какой смысл вкладывается в это слово. По крайней мере, в данном разделе «подсеть» будет употребляться только в новом значении.

Как центральный маршрутизатор узнает, в какую из подсетей (Ethernet) направить пришедший пакет? Одним из способов является поддержание маршрутизатором таблицы из 65 536 записей, говорящих о том, какой из маршрутизаторов использовать для доступа к каждому из хостов. Эта идея будет работать, но потребуется очень большая таблица и много операций по ее обслуживанию, выполняемых вручную, при добавлении, перемещении и удалении хостов.

Была изобретена альтернативная схема работы. Вместо одного адреса класса В с 14 битами для номера сети и 16 битами для номера хоста было предложено использовать несколько другой формат - формировать адрес подсети из нескольких битов. Например, если в университете существует 35 подразделений, то 6-битным номером можно кодировать подсети, а 10-битным — номера хостов. С помощью такой адресации можно организовать до 64 сетей Ethernet по

1022 хоста в каждой (адреса 0 и -1 не используются, как уже говорилось, поэтому не 1024 (210), а именно 1022 хоста). Такое разбиение может быть изменено, если окажется, что оно не очень подходит.

Все, что нужно маршрутизатору для реализации подсети, это наложить маску подсети, показывающую разбиение адреса на номер сети, подсети и хоста. Маски подсетей также записываются в виде десятичных чисел, разделенных точками, с добавлением косой черты, за которой следует число битов номера сети и подсети. Например, маску подсети можно записать в виде 255.255.252.0. Альтернативная запись будет включать /22, показывая, что маска подсети занимает 22 бита.

За пределами сети разделение на подсети незаметно, поэтому нет нужды с появлением каждой подсети обращаться в ICANN или изменять какие-либо внешние базы данных. В данном примере первая подсеть может использовать IP-адреса, начиная с 130.50.4.1; вторая — начиная с 130.50.8.1; третья — 130.50.12.1, и т. д. Чтобы понять, почему на каждую подсеть уходит именно четыре единицы в адресе, вспомните двоичную запись этих адресов:

Подсеть 1: 10000010 00110010 000001|00 00000001 Подсеть 2: 10000010 00110010 000010|00 00000001 Подсеть 3: 10000010 00110010 000011|00 00000001

Здесь вертикальная черта ( | ) показывает границу номера подсети и хоста. Слева расположен 6-битный номер подсети, справа — 10-битный номер хоста.

Чтобы понять, как функционируют подсети, следует рассмотреть процесс обработки IP-пакетов маршрутизатором. У каждого маршрутизатора есть таблица, содержащая IP-адреса сетей (вида <сетъ, 0>) и IP-адреса хостов (вида <эта_сетъ, хост>). Адреса сетей позволяют получать доступ к удаленным сетям, а адреса хостов — обращаться к локальным хостам. С каждой таблицей связан сетевой интерфейс, применяющийся для получения доступа к пункту назначения, а также другая информация.

Когда IP-пакет прибывает на маршрутизатор, адрес получателя, указанный в пакете, ищется в таблице маршрутизации. Если пакет направляется в удаленную сеть, он пересылается следующему маршрутизатору по интерфейсу, указанному в таблице. Если пакет предназначен локальному хосту (например, в локальной сети маршрутизатора), он посылается напрямую адресату. Если номера сети, в которую посылается пакет, в таблице маршрутизатора нет, пакет пересылается маршрутизатору по умолчанию, с более подробными таблицами.

Такой алгоритмозначает, что каждый маршрутизатор должен учитывать только другие сети и локальные хосты, а не пары <сетъ, хост>, что значительно уменьшает размер таблиц маршрутизатора.

При разбиении сети на подсети таблицы маршрутизации меняются - добавляются записи вида <эта_сетъ, подсеть, 0> и <эта_сетъ, эта_подсетъ, хост>. Таким образом, маршрутизатор вашей подсети знает, как получить доступ ко всем другим подсетям и как добраться до всех хостов своей подсети. Ему нет нужды знать детали адресации хостов в других подсетях. На самом деле, все, что для этого требуется от маршрутизатора, это выполнить двоичную операцию И над маской подсети, чтобы избавиться от номера хоста, а затем найти получившийся адрес в таблицах (после определения класса сети). Например, пакет, адресованный хосту с IP-адресом 130.50.15.6 и прибывающий на центральный маршрутизатор, после выполнения операции "И" с маской 255.255.252.0/22 получает адрес 130.50.12.0. Это значение ищется в таблицах маршрутизации, и с его помощью определяется выходная линия маршрутизатора к подсети 3. Итак, разбиение на подсети уменьшает объем таблиц маршрутизаторов путем создания трехуровневой иерархии, состоящей из сети, подсети и хоста.

А вот самый простой из известных мне способов перевода двоичных кодов в десятичные:

Комментарий не нужен, все просто.

НОВОСТИ: Установочный скрипт проекта yandex-disk-indicator удалял раздел ... Sun, 17 Jun 2018 20:11:45 +0300

В проекте yandex-disk-indicator, в рамках которого энтузиастами развивается индикатор для панелей задач различных рабочих столов, выполненный в виде обёртки над штатной консольной утилитой синхронизации yandex-disk, выявлена ошибка, из-за которой в процессе установки собранных из исходных текстов файлов осуществлялось удаление содержимого раздела /usr, если установочный скрипт был запущен под пользователем root.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome