Одно из величайших заблуждений - это думать, что все чувствуют, видят и мыслят точно так же, как и мы

— Милая, нам нужно серьёзно поговорить. ...

Опубликован официальный перевод лицензий Creative Commons 4.0
Fri, 20 Apr 2018 18:02:54 +0300

Компания Apple открыла код распределённой СУБД FoundationDB
Fri, 20 Apr 2018 09:52:43 +0300

Выпуск KDE Applications 18.04
Fri, 20 Apr 2018 08:52:38 +0300

Стабильный релиз СУБД MySQL 8.0
Thu, 19 Apr 2018 23:25:33 +0300

Второй кандидат в релизы GIMP 2.10
Thu, 19 Apr 2018 10:49:37 +0300

Проект Python представил новый каталог пакетов PyPI и пакетный менеджер Pip 10
Thu, 19 Apr 2018 09:09:58 +0300

Крис Лэм переизбран на пост лидера проекта Debian
Thu, 19 Apr 2018 08:19:28 +0300

Доступен полностью свободный Linux-дистрибутив Trisquel 8.0
Wed, 18 Apr 2018 23:19:14 +0300

Выпуск платформы обмена сообщениями Zulip 1.8
Wed, 18 Apr 2018 21:19:14 +0300

Релиз web-браузера Chrome 66
Wed, 18 Apr 2018 15:09:42 +0300

Второй бета-выпуск Oracle Solaris 11.4
Wed, 18 Apr 2018 10:07:11 +0300

Релиз системы виртуализации VirtualBox 5.2.10
Wed, 18 Apr 2018 09:31:02 +0300

Доступен дистрибутив Oracle Linux 7.5 и платформа Spacewalk 2.7
Tue, 17 Apr 2018 22:43:40 +0300

Выпуск браузера Pale Moon 27.9.0
Tue, 17 Apr 2018 22:27:28 +0300

Релиз nginx 1.14.0
Tue, 17 Apr 2018 19:39:51 +0300

Microsoft представил IoT-платформу Azure Sphere на базе ядра Linux
Tue, 17 Apr 2018 08:22:44 +0300

Заморозка пакетной базы Debian 10 "Buster" намечена на март следующего года
Mon, 16 Apr 2018 23:57:53 +0300

Проект postmarketOS приступил к созданию загрузчика и прошивки модема для смартфонов
Mon, 16 Apr 2018 23:25:23 +0300

JavaScript-приложения криптовалют, использующие SecureRandom(), могли генерировать уязвимые ключи
Mon, 16 Apr 2018 18:55:43 +0300

Ядро Linux достигло 6 млн git-объектов, что могло бы стать хорошим поводом для выпуска 5.0
Mon, 16 Apr 2018 12:01:38 +0300

Релиз операционной системы ReactOS 0.4.8
Sun, 15 Apr 2018 22:30:02 +0300

Релиз системы управления версиями Apache Subversion 1.10.0
Sun, 15 Apr 2018 18:34:27 +0300

В следующем выпуске Android появится поддержка "DNS over TLS"
Sat, 14 Apr 2018 12:39:43 +0300

Релиз pgAdmin 4 3.0, интерфейса для управления СУБД PostgreSQL
Sat, 14 Apr 2018 07:57:03 +0300

Выпуск Wine 3.6
Sat, 14 Apr 2018 07:30:55 +0300

Представлен проект Qt for Python
Fri, 13 Apr 2018 18:38:27 +0300

Первый выпуск музыкального проигрывателя Elisa, развиваемого сообществом KDE
Fri, 13 Apr 2018 16:28:11 +0300

Первый стабильный релиз сервера приложений NGINX Unit
Thu, 12 Apr 2018 21:47:39 +0300

Первый выпуск свободного сервера навыков 0Mind
Thu, 12 Apr 2018 18:39:50 +0300

Организация утечки данных через линию электропередач
Thu, 12 Apr 2018 11:29:11 +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. Итак, разбиение на подсети уменьшает объем таблиц маршрутизаторов путем создания трехуровневой иерархии, состоящей из сети, подсети и хоста.

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

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

НОВОСТИ: Второй кандидат в релизы GIMP 2.10 Thu, 19 Apr 2018 10:49:37 +0300

Началось тестирование второго кандидата в релизы графического редактора GIMP 2.10. Новая ветка примечательна повсеместным переводом внутренних подсистем на фреймворк обработки изображений GEGL (Generic Graphics Library), что позволило реализовать такие возможности как использование глубины цвета в 16 и 32 бит на канал (как целочисленные, так и с плавающей запятой) и цветовые профили ICC v4, а также повысить эффективность обработки больших изображений. Из новшеств также можно отметить переработанное оформление интерфейса пользователя, поддержку форматов OpenEXR и WebP, предпросмотр применения фильтров на холсте, унификацию инструментов трансформации, задействование OpenCL для выноса обработки графики на плечи GPU, поддержка кистей от проекта MyPaint, возможность многопоточного выполнения операций в GEGL.

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