Ничего нет внутри у людей, вечно выставляющих все наружу

А это точно поможет? ...

Обновление кластерной файловой системы LizardFS 3.13.0-rc2
Sun, 10 Nov 2019 12:07:04 +0300

Первый официальный выпуск rav1e, кодировщика AV1 на языке Rust
Sat, 09 Nov 2019 21:42:16 +0300

Обновление Proton 4.11-8, пакета для запуска Windows-игр в Linux
Sat, 09 Nov 2019 10:32:11 +0300

Выпуск языка программирования Rust 1.39
Sat, 09 Nov 2019 08:29:41 +0300

Выпуск Launchpad Daemon 1.5.1, программного аналога MIDI-контроллера
Fri, 08 Nov 2019 21:04:00 +0300

Разработчики openSUSE проголосовали против смены имени проекта
Fri, 08 Nov 2019 18:44:23 +0300

Google представил открытый проект OpenTitan для создания заслуживающих доверия чипов
Fri, 08 Nov 2019 13:59:44 +0300

Фонд свободного ПО сертифицировал материнские платы Talos II
Fri, 08 Nov 2019 09:14:58 +0300

Python опередил Java по числу проектов на GitHub
Fri, 08 Nov 2019 07:36:55 +0300

Выпуск Stratis 2.0, инструментария для управления локальными хранилищами
Thu, 07 Nov 2019 20:39:58 +0300

Доступны OpenIndiana 2019.10 и OmniOS CE r151032, продолжающие развитие OpenSolaris
Thu, 07 Nov 2019 19:04:26 +0300

В пакетный менеджер NPM 6.13 добавлены инструменты для финансирования разработчиков
Thu, 07 Nov 2019 13:18:06 +0300

Выпуск мобильной ОС Sailfish 3.2
Thu, 07 Nov 2019 11:51:42 +0300

Доступен серверный дистрибутив NethServer 7.7
Thu, 07 Nov 2019 10:19:32 +0300

Google открыл наработки, связанные с технологией виртуальной реальности Cardboard
Thu, 07 Nov 2019 08:56:56 +0300

FuryBSD - новая Live-сборка FreeBSD с рабочим столом Xfce
Wed, 06 Nov 2019 21:58:20 +0300

Уязвимости в cpio и libarchive
Wed, 06 Nov 2019 20:22:47 +0300

Выпуск Chrome OS 78 с поддержкой виртуальных рабочих столов
Wed, 06 Nov 2019 19:05:18 +0300

Релиз дистрибутива Red Hat Enterprise Linux 8.1
Wed, 06 Nov 2019 13:21:51 +0300

Браузер Microsoft Edge позиционируется кросс-платформенным и будет поддерживать Linux
Tue, 05 Nov 2019 21:09:33 +0300

Выпуск видеопроигрывателя Celluloid 0.18
Tue, 05 Nov 2019 20:19:44 +0300

Атака на микрофоны систем голосового управления при помощи лазера
Tue, 05 Nov 2019 11:05:27 +0300

Открыт код промышленной CRM/BPM/ERP системы BGERP
Tue, 05 Nov 2019 00:50:22 +0300

Релиз FreeBSD 12.1
Mon, 04 Nov 2019 22:44:15 +0300

Выпуск проприетарного драйвера NVIDIA 440.31
Mon, 04 Nov 2019 22:35:01 +0300

Выпуск распределенной системы управления исходными текстами Git 2.24
Mon, 04 Nov 2019 19:55:41 +0300

Выпуск интегрированной среды разработки Apache NetBeans 11.2
Mon, 04 Nov 2019 10:23:18 +0300

В ночных сборках Firefox появилась поддержка HTTP/3
Mon, 04 Nov 2019 09:35:49 +0300

В Chrome началось тестирование третьей редакции манифеста, несовместимой с uBlock Origin
Sun, 03 Nov 2019 10:51:24 +0300

Microsoft присоединяется к разработке OpenJDK
Sun, 03 Nov 2019 10:20:21 +0300

В OpenSSH добавлена поддержка универсальной двухфакторной аутентификации
Sun, 03 Nov 2019 08:27:03 +0300

Mozilla, Cloudflare и Facebook представили TLS-расширение для делегирования короткоживущих сертификатов
Sat, 02 Nov 2019 09:29:18 +0300

Новые версии Wine 4.19 и Wine Staging 4.19
Sat, 02 Nov 2019 08:50:16 +0300

Python переходит на новый цикл формирования значительных выпусков
Fri, 01 Nov 2019 20:34:04 +0300

Выпуск графического редактора GIMP 2.10.14
Fri, 01 Nov 2019 12:01:54 +0300

В Firefox будет прекращена поддержка прямой предустановки дополнений
Fri, 01 Nov 2019 08:21:20 +0300

Доступна переносимая версия OpenBGPD 6.6p0
Thu, 31 Oct 2019 22:36:05 +0300

Обновление Firefox 70.0.1 и Thunderbird 68.2.1
Thu, 31 Oct 2019 22:07:34 +0300

Выпуск операционной системы MidnightBSD 1.2
Thu, 31 Oct 2019 19:23:11 +0300

Второй тестовый выпуск мобильной платформы Tizen 5.5
Thu, 31 Oct 2019 14:13:44 +0300

IP Управляющие ICMP, ARP, IGMP Транспортные UDP, TCP Работа ТСР RFC
Протокол IP

IP-дейтаграмма состоит из заголовка и текстовой части. Заголовок содержит обязательную 20-байтную часть, а также необязательную часть переменной длины. Формат заголовка показан на схеме ниже. Он передается слева направо, то есть старший бит поля Версия передается первым. (В процессоре SPARC байты располагаются слева направо, в процессоре Pentium — наоборот, справа налево.) На машинах, у которых старший байт располагается после младшего, как, например, у семейства процессоров Intel, требуется программное преобразование как при передаче, так и при приеме.

Поле Версия содержит версию протокола, к которому принадлежит дейтаграмма. Включение версии в каждую дейтаграмму позволяет использовать разные версии протокола на разных машинах. Дело в том, что с годами протокол изменялся, и на одних машинах сейчас работают новые версии, тогда как на других продолжают использоваться старые. Сейчас происходит переход от версии IPv4 к версии IPv6. Он длится уже много лет, и не похоже, что скоро завершится. Некоторые даже считают, что это не произойдет никогда (Weiser, 2001). Что касается нумерации, то ничего странного в ней нет, просто в свое время существовал мало кому известный экспериментальный протокол реального масштаба времени IPv5.

Длина заголовка является переменной величиной, для хранения которой выделено поле IHL (информация в нем представлена в виде 32-разрядных слов). Минимальное значение длины (при отсутствии необязательного поля) равно 5. Максимальное значение этого 4-битового поля равно 15, что соответствует заголовку длиной 60 байт; таким образом, максимальный размер необязательного поля равен 40 байтам. Для некоторых приложений, например, для записи маршрута, по которому должен быть переслан пакет, 40 байт слишком мало. В данном случае дополнительное поле оказывается бесполезным.

Поле Тип службы — единственное поле, смысл которого с годами несколько изменился. Оно было (впрочем, и до сих пор) предназначено для различения классов обслуживания. Возможны разные комбинации надежности и скорости. Для оцифрованного голоса скорость доставки важнее точности. При передаче файла, наоборот, передача без ошибок важнее быстрой доставки.

Изначально 6-разрядное поле Тип службы состояло из трехразрядного поля Precedence и трех флагов — D, Т и R. Поле Precedence указывало приоритет, от О (нормальный) до 7 (управляющий сетевой пакет). Три флаговых бита позволяли хосту указать, что беспокоит его сильнее всего, выбрав из набора {Delay, Throughput, Reliability} (Задержка, Пропускная способность, Надежность). Теоретически, эти поля позволяют маршрутизаторам выбрать, например, между спутниковой линией с высокой пропускной способностью и большой задержкой и выделенной линией с низкой пропускной способностью и небольшой задержкой. На практике сегодняшние маршрутизаторы часто вообще игнорируют поле Тип службы.

Поле Полная длина содержит длину всей дейтаграммы, включая как заголовок, так и данные. Максимальная длина дейтаграммы 65 535 байт. В настоящий момент этот верхний предел достаточен, однако с появлением гигабитных сетей могут понадобиться дейтаграммы большего размера.

Поле Идентификатор позволяет хосту-получателю определить, какой дейтаграмме принадлежат полученные им фрагменты. Все фрагменты одной дейтаграммы содержат одно и то же значение идентификатора.

Следом идет один неиспользуемый бит и два однобитных поля. Бит DF означает Don't Fragment (He фрагментировать). Это команда маршрутизатору, запрещающая ему фрагментировать дейтаграмму, так как получатель не сможет восстановить ее из фрагментов. Например, при загрузке компьютера его ПЗУ может запросить образ памяти в виде единой дейтаграммы. Пометив дейтаграмму битом DF, отправитель гарантирует, что дейтаграмма дойдет единым блоком, даже если для ее доставки придется избегать сетей с маленьким размером пакетов. От всех машин требуется способность принимать фрагменты размером 576 байт и менее.

Бит MF означает More Fragments (Продолжение следует). Он устанавливается во всех фрагментах, кроме последнего. По этому биту получатель узнает о прибытии последнего фрагмента дейтаграммы.

Поле Смещение фрагмента указывает положение фрагмента в исходной дейтаграмме. Длина всех фрагментов в байтах, кроме длины последнего фрагмента, должна быть кратна 8. Так как на это поле выделено 13 бит, максимальное количество фрагментов в дейтаграмме равно 8192, что дает максимальную длину дейтаграммы 65 536 байт, на 1 байт больше, чем может содержаться в поле Полная длина.

Поле Время жизни представляет собой счетчик, ограничивающий время жизни пакета. Предполагалось, что он будет отсчитывать время в секундах, таким образом, допуская максимальное время жизни пакета в 255 с. На каждом маршрутизаторе это значение должно было уменьшаться как минимум на единицу плюс время стояния в очереди. Однако на практике этот счетчик просто считает количество переходов через маршрутизаторы. Когда значение этого поля становится равным нулю, пакет отвергается, а отправителю отсылается пакет с предупреждением. Таким образом удается избежать вечного странствования пакетов, что вероятно в случае, если таблицы маршрутизаторов по какой-либо причине испортятся.

Собрав дейтаграмму из фрагментов, сетевой уровень должен решить, что с ней делать. Поле Протокол сообщит ему, какому процессу транспортного уровня ее передать. Это может быть TCP, UDP или что-нибудь еще. Нумерация процессов глобально стандартизирована по всему Интернету. Номера протоколов вместе с некоторыми другими были сведены в RFC 1700, однако теперь доступна интернет-версия в виде базы данных, расположенной по адресу www.iana.org.

Поле Контрольная сумма заголовка защищает от ошибок только заголовок. Подобная контрольная сумма полезна для обнаружения ошибок, вызванных неисправными микросхемами памяти маршрутизаторов. Алгоритм вычисления суммы просто складывает все 16-разрядные полуслова в дополнительном коде, преобразуя результат также в дополнительный код. Таким образом, проверяемая получателем контрольная сумма заголовка (вместе с этим полем) должна быть равна нулю. Этот алгоритм надежнее, чем обычное суммирование. Обратите внимание на то, что значение Контрольной суммы заголовка должно подсчитываться заново на каждом транзитном участке, так как по крайней мере одно поле постоянно меняется (поле Время жизни). Для ускорения расчетов применяются некоторые хитрости.

Поля Адрес отправителя и Адрес получателя указывают номер сети и номер хоста. Поле "необязательная часть" было создано для того, чтобы с появлением новых вариантов протокола не пришлось вносить в заголовок поля, отсутствующие в нынешнем формате. Оно же может служить пространством для различного рода экспериментов, испытания новых идей. Кроме того, оно позволяет не включать в стандартный заголовок редко используемую информацию. Размер поля "необязательная часть" может варьироваться. В начале поля всегда располагается однобайтный идентификатор. Иногда за ним может располагаться также однобайтное поле длины, а затем один или несколько информационных байтов. В любом случае, размер поля "необязательная часть" должен быть кратен 4 байтам. Изначально было определено пять разновидностей этого поля, перечисленных в следующей таблице, однако с тех пор появилось несколько новых. Текущий полный список можно найти по адресу www.iana.org/assignments/ip-parameters.

Некоторые типы необязательного поля IP-дейтаграммы

Тип

Описание

Безопасность

Указывает уровень секретности дейтаграммы

Свободная маршрутизация от источника

Задает список маршрутизаторов, которые нельзя миновать

Строгая маршрутизация от источника

Задает полный путь следования дейтаграммы

Запомнить маршрут

Требует от всех маршрутизаторов добавлять свой IP-адрес

Временной штамп

Требует от всех маршрутизаторов добавлять свой IP-адрес и текущее время

Параметр "Безопасность" указывает уровень секретности дейтаграммы. Теоретически, военный маршрутизатор может использовать это поле, чтобы запретить маршрутизацию дейтаграммы через территорию определенных государств. На практике все маршрутизаторы игнорируют этот параметр, так что его единственное практическое применение состоит в помощи шпионам в поиске ценной информации.

Параметр "Строгая маршрутизация" от источника задает полный путь следования дейтаграммы от отправителя до получателя в виде последовательности IP-адресов. Дейтаграмма обязана следовать именно по этому маршруту. Наибольшая польза этого параметра заключается в том, что с его помощью системный менеджер может послать экстренные пакеты, когда таблицы маршрутизатора повреждены, или замерить временные параметры сети.

Параметр "Свободная маршрутизация от источника" требует, чтобы пакет прошел через указанный список маршрутизаторов в указанном порядке, но при этом по пути он может проходить через любые другие маршрутизаторы. Обычно этот параметр указывает лишь небольшое количество маршрутизаторов. Например, чтобы заставить пакет, посылаемый из Лондона в Сидней, двигаться не на восток, а на запад, можно указать в этом параметре IP-адреса маршрутизаторов в Нью-Йорке, Лос-Анджелесе и Гонолулу. Этот параметр наиболее полезен, когда по политическим или экономическим соображениям следует избегать прохождения пакетов через определенные государства.

Параметр "Запомнить маршрут" требует от всех маршрутизаторов, встречающихся по пути следования пакета, добавлять свой IP-адрес к полю Необязательная часть. Этот параметр позволяет системным администраторам вылавливать ошибки в алгоритмах маршрутизации («Ну почему все пакеты, посылаемые из Хьюстона в Даллас, сначала попадают в Токио?»). Когда была создана сеть ARPANET, ни один пакет не проходил больше чем через девять маршрутизаторов, поэтому 40 байт для этого параметра было как раз достаточно. Как уже говорилось, сегодня размер поля Необязательная часть оказывается слишком мал.

Наконец, параметр Временной штамп действует полностью аналогично параметру Запомнить маршрут, но кроме 32-разрядного IP-адреса, каждый маршрутизатор записывает также 32-разрядную запись о текущем времени. Этот параметр также применяется в основном для отладки алгоритмов маршрутизации.

Смотри также http://www.iana.org/protocols

НОВОСТИ: Обновление кластерной файловой системы LizardFS 3.13.0-rc2 Sun, 10 Nov 2019 12:07:04 +0300

После годичного затишья в разработке возобновилась работа над новой веткой отказоустойчивой распределённой файловой системы LizardFS 3.13 и опубликован второй кандидат в релизы. Недавно произошла смена владельцев компании, развивающей LizardFS, было принято новое руководство и сменились разработчики. Последние два года проект отстранился от сообщества и не уделял ему должного внимания, но новая команда намерена возродить прежние отношения с сообществом и наладить с ним тесное взаимодействие. Код проекта написан на языках С и С++ и распространяется под лицензий GPLv3.

Opera Firefox INFOBOX - хостинг Google Chrome