GORAKH.NET+

Справочник

Архив за июль. Факт дня и разбор документа на каждую дату.
1 июля
Факт дня

Тест Тьюринга не о разуме

Статья 1950 года предлагала заменить неопределимый вопрос «может ли машина мыслить» на проверяемую игру в имитацию. Спор о критериях идёт до сих пор.

Разбор дня

Опции таймаута и размера передачи TFTP

TFTP Timeout Interval and Transfer Size Options

Клиент договаривается о таймауте и заранее узнаёт размер файла. Без этого прошивка могла не влезть во флеш-память, о чём становилось известно только в конце записи.

RFC 2349 на rfc-editor.org
2 июля
Факт дня

Транзистор родился в Bell Labs

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

Разбор дня

Пространство имён URN для параметров IETF

An IETF URN Sub-namespace for Registered Protocol Parameters

Постоянные идентификаторы вида urn:ietf:params для зарегистрированных значений.

RFC 3553 на rfc-editor.org
3 июля
Факт дня

Лампы перегорали каждый день

В машинах на тысячах ламп отказ был рутиной: инженеры держали запас и меняли их по графику. Надёжность выросла на порядки только с транзисторами.

Разбор дня

Требования к поведению NAT

Network Address Translation (NAT) Behavioral Requirements for Unicast UDP

Классификация трансляторов и требования к ним. Отсюда понятия конусного и симметричного NAT, от которых зависит, соединятся ли напрямую два клиента в звонке или придётся гнать трафик через ретранслятор.

RFC 4787 на rfc-editor.org
4 июля
Факт дня

Ферритовая память была ручной работой

Магнитные кольца на проводах нанизывали вручную, часто под микроскопом. Килобайт такой памяти стоил как автомобиль.

Разбор дня

Сосуществование версий SNMP

Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework

Как одно устройство одновременно обслуживает клиентов SNMPv1, v2c и v3, отображая старые сообщества на новые модели доступа.

RFC 3584 на rfc-editor.org
5 июля
Факт дня

Оперативная память забывает без питания

Динамическая память хранит бит в конденсаторе, который разряжается за миллисекунды, поэтому её содержимое постоянно перезаписывают. Отсюда слово «динамическая» в названии.

Разбор дня

Требования к NAT для TCP

NAT Behavioral Requirements for TCP

Как транслятор должен вести себя с TCP-сессиями: таймауты, обработка одновременного открытия, сохранение отображения. Отсюда рекомендация держать простаивающую сессию не меньше двух часов и четырёх минут.

RFC 5382 на rfc-editor.org
6 июля
Факт дня

Холодная перезагрузка вскрывает ключи

Охлаждённая память сохраняет данные секунды и минуты после выключения. На этом основана атака, извлекающая ключи шифрования диска из выключенного ноутбука.

Разбор дня

Примеры базовых вызовов SIP

Session Initiation Protocol (SIP) Basic Call Flow Examples

Готовые диаграммы обмена сообщениями для типовых сценариев звонка. Настольный справочник при разборе логов телефонии.

RFC 3665 на rfc-editor.org
7 июля
Факт дня

SSD стареет от записи

Ячейка выдерживает ограниченное число перезаписей, поэтому контроллер равномерно распределяет нагрузку по всему объёму. Пользователь этого не видит, но именно поэтому диск нельзя забивать под завязку.

Разбор дня

Требования к NAT для ICMP

NAT Behavioral Requirements for ICMP

Чтобы ping и traceroute работали через NAT, транслятор обязан подменять идентификатор запроса и разбирать вложенный заголовок в сообщениях об ошибках.

RFC 5508 на rfc-editor.org
8 июля
Факт дня

TRIM объясняет диску, что данные не нужны

Без этой команды накопитель считает удалённые блоки занятыми и продолжает их бережно переносить. Отсюда падение скорости у старых систем без поддержки TRIM.

Разбор дня

Примеры вызовов SIP со стыком в ТфОП

Session Initiation Protocol (SIP) Public Switched Telephone Network (PSTN) Call Flows

Сценарии звонков между SIP и обычной телефонией через шлюз.

RFC 3666 на rfc-editor.org
9 июля
Факт дня

У жёсткого диска есть звук поиска

Треск - это перемещение головок между дорожками. По характеру звука опытные администраторы на слух определяли тип нагрузки.

Разбор дня

NAT64: трансляция IPv6 в IPv4

Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers

Шлюз, через который клиент с одним лишь IPv6 достаёт серверы IPv4. Работает в паре с DNS64, который синтезирует записи AAAA из существующих A.

RFC 6146 на rfc-editor.org
10 июля
Факт дня

RAID не заменяет резервную копию

Массив защищает от отказа диска, но не от удаления файла, шифровальщика и ошибки оператора. Эту истину переоткрывают примерно раз в год.

Разбор дня

Назначение представителей IETF в совет ISOC

IETF ISOC Board of Trustee Appointment Procedures

Процедура выдвижения кандидатов в попечительский совет общества интернета.

RFC 3677 на rfc-editor.org
11 июля
Факт дня

Правило три-два-один

Три копии данных, на двух типах носителей, одна из них вне площадки. Формула старая, но именно её нарушение объясняет большинство громких потерь данных.

Разбор дня

DNS64: синтез записей AAAA

DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers

Резолвер подставляет несуществующий адрес IPv6, собранный из адреса IPv4 и префикса 64:ff9b::/96. Клиент считает, что говорит по IPv6, а трансляцию делает NAT64.

RFC 6147 на rfc-editor.org
12 июля
Факт дня

Ленты никуда не делись

Магнитная лента остаётся самым дешёвым способом хранить холодные архивы и живёт десятилетиями. Крупные облака держат на ней резервные копии.

Разбор дня

Делегирование зоны E.F.F.3.IP6.ARPA

Delegation of E.F.F.3.IP6.ARPA

Обратная зона для устаревших адресов 6bone, которую пришлось отдельно оформлять перед её отключением.

RFC 3681 на rfc-editor.org
13 июля
Факт дня

Дефрагментация вредна для SSD

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

Разбор дня

Dual-Stack Lite

Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion

Домашний роутер отдаёт клиентам частные адреса IPv4 и туннелирует их трафик по IPv6 до оператора, где стоит общий NAT. Способ дожить на IPv4 без публичных адресов у абонентов.

RFC 6333 на rfc-editor.org
14 июля
Факт дня

Мегабайт бывает разный

Производители дисков считают мегабайт как миллион байт, а операционные системы - как 1 048 576. Отсюда терабайтный диск, который показывается как 931 гигабайт.

Разбор дня

Реестр XML в IETF

The IETF XML Registry

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

RFC 3688 на rfc-editor.org
15 июля
Факт дня

Килобайт и кибибайт

Чтобы развести двоичный и десятичный счёт, ввели приставки киби, меби и гиби. В обиходе они не прижились, и путаница осталась.

Разбор дня

MAP-E: отображение адреса и порта

Mapping of Address and Port with Encapsulation (MAP-E)

Абоненту достаётся не адрес целиком, а его доля портов. Один публичный IPv4 делится между десятками клиентов без состояния на стороне оператора.

RFC 7597 на rfc-editor.org
16 июля
Факт дня

Первый микропроцессор делали для калькулятора

Intel 4004 создавали по заказу японской фирмы для настольного калькулятора. Универсальность оказалась побочным эффектом, изменившим отрасль.

Разбор дня

Номера для экспериментов

Assigning Experimental and Testing Numbers Considered Useful

Отдельные значения для опытов, чтобы разработчики не занимали чужие номера «пока временно». Временное, как известно, живёт дольше всего.

RFC 3692 на rfc-editor.org
17 июля
Факт дня

Тактовая частота перестала расти

В середине двухтысячных гонка гигагерц упёрлась в тепловыделение. Дальше производительность стали брать ядрами и кэшем, а не частотой.

Разбор дня

Префикс 64:ff9b:1::/48 для локальной трансляции

Local-Use IPv4/IPv6 Translation Prefix

Отдельный префикс для внутренних схем IPv4-IPv6, чтобы они не конфликтовали с общеизвестным 64:ff9b::/96.

RFC 8215 на rfc-editor.org
18 июля
Факт дня

Ядер много, а программа одна

Закон Амдала ограничивает ускорение долей кода, которую нельзя распараллелить. Поэтому шестнадцать ядер редко дают ускорение в шестнадцать раз.

Разбор дня

Управление вызовом третьей стороной в SIP

Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP)

Как сервер соединяет двух абонентов между собой, сам не участвуя в разговоре. Основа обратного звонка с сайта.

RFC 3725 на rfc-editor.org
19 июля
Факт дня

Кэш процессора быстрее памяти в разы

Обращение к кэшу первого уровня стоит единицы тактов, к оперативной памяти - сотни. Именно поэтому расположение данных в памяти влияет на скорость сильнее алгоритма.

Разбор дня

Базовые механизмы перехода на IPv6

Basic Transition Mechanisms for IPv6 Hosts and Routers

Двойной стек и туннели IPv6 поверх IPv4. Двойной стек оказался самым надёжным способом: узел просто говорит на обоих языках.

RFC 4213 на rfc-editor.org
20 июля
Факт дня

Spectre и Meltdown вскрыли предсказание

Уязвимости 2018 года использовали спекулятивное выполнение - механизм ускорения, встроенный в процессоры десятилетиями. Исправления стоили заметной части производительности.

Разбор дня

Выбор длины открытых ключей

Determining Strengths For Public Keys Used For Exchanging Symmetric Keys

Сопоставление стойкости симметричных и асимметричных ключей: сколько бит RSA примерно равны ключу AES.

RFC 3766 на rfc-editor.org
21 июля
Факт дня

Виртуальная память обманывает программу

Каждый процесс видит собственное непрерывное адресное пространство, которого физически нет. Благодаря этому программы не мешают друг другу и не знают о существовании соседей.

Разбор дня

6to4: IPv6 через облака IPv4

Connection of IPv6 Domains via IPv4 Clouds

Адрес IPv6 собирался прямо из публичного IPv4 в префиксе 2002::/16. Схема зависела от чужих ретрансляторов, работала непредсказуемо и в итоге признана устаревшей.

RFC 3056 на rfc-editor.org
22 июля
Факт дня

Своп не ускоряет, а спасает

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

Разбор дня

Метрика IGP как вторая метрика в MPLS TE

Use of Interior Gateway Protocol (IGP) Metric as a second MPLS Traffic Engineering (TE) Metric

Практика операторов: считать туннели и по метрике инженерии трафика, и по обычной метрике маршрутизации.

RFC 3785 на rfc-editor.org
23 июля
Факт дня

OOM killer выбирает жертву

При исчерпании памяти ядро Linux убивает процесс с наихудшей оценкой. Часто это оказывается именно та база данных, ради которой сервер и существует.

Разбор дня

GRE: универсальная инкапсуляция

Generic Routing Encapsulation (GRE)

Простой туннель, который несёт внутри себя почти любой протокол. Своей защиты нет, поэтому в проде его почти всегда заворачивают в IPsec.

RFC 2784 на rfc-editor.org
24 июля
Факт дня

Ядро и пользовательское пространство

Разделение появилось не ради красоты: ошибка в пользовательской программе не должна ронять систему. Плата за это - системные вызовы с переключением контекста.

Разбор дня

Реестры PPP в IANA

IANA Considerations for the Point-to-Point Protocol (PPP)

Закрытие свободной выдачи номеров протоколов PPP: новые значения только через документ.

RFC 3818 на rfc-editor.org
25 июля
Факт дня

Unix написали, чтобы играть

Кен Томпсон начал работу, чтобы запустить игру Space Travel на свободной машине PDP-7. Побочным продуктом стала операционная система, определившая полвека.

Разбор дня

Ключ и порядковый номер в GRE

Key and Sequence Number Extensions to GRE

Ключ различает туннели между одной парой адресов, номера позволяют заметить потерю и переупорядочивание.

RFC 2890 на rfc-editor.org
26 июля
Факт дня

Всё есть файл

В Unix устройства, каналы и даже сетевые соединения выглядят как файлы. Единый интерфейс чтения и записи оказался мощнее любых специальных API.

Разбор дня

Советы проектировщикам подсетей

Advice for Internet Subnetwork Designers

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

RFC 3819 на rfc-editor.org
27 июля
Факт дня

Конвейер придумал Макилрой

Идея соединять программы, передавая вывод одной на вход другой, появилась в Bell Labs. Один символ вертикальной черты изменил стиль работы с командной строкой.

Разбор дня

MPLS внутри IP и GRE

Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)

Как протащить меченые пакеты через участок сети, который про MPLS ничего не знает. Полезно, когда два острова MPLS соединены обычным интернетом.

RFC 4023 на rfc-editor.org
28 июля
Факт дня

Права доступа помещаются в три цифры

Чтение, запись и выполнение для владельца, группы и остальных дают привычные 755 и 644. Схема не менялась с семидесятых.

Разбор дня

Регистрация заголовков сообщений

Registration Procedures for Message Header Fields

Порядок регистрации новых заголовков почты и HTTP. Отсюда постепенный отказ от префикса X- для нестандартных полей.

RFC 3864 на rfc-editor.org
29 июля
Факт дня

Sticky bit защищает /tmp

В общем каталоге с правами на запись любой мог бы удалить чужой файл. Специальный бит разрешает удаление только владельцу.

Разбор дня

Архитектура IPsec

Security Architecture for the Internet Protocol

Общая рамка: базы политик и связей безопасности, режимы транспорта и туннеля. Именно здесь описано, почему трафик выбирается политикой, а не приложением.

RFC 4301 на rfc-editor.org
30 июля
Факт дня

sudo хранит журнал

Каждая команда с повышением прав пишется в журнал вместе с пользователем и каталогом. Именно поэтому вход под root напрямую считается плохой практикой.

Разбор дня

Модель экспериментов над процессом IETF

A Model for IETF Process Experiments

Как пробовать новые правила работы с обязательным сроком и оценкой результата.

RFC 3933 на rfc-editor.org
31 июля
Факт дня

Cron не любит секунды

Минимальная гранулярность классического планировщика - минута. Всё, что чаще, обычно решают демоном с собственным циклом или таймерами systemd.

Разбор дня

Заголовок аутентификации AH

IP Authentication Header

Целостность есть, шифрования нет, зато подписывается и часть внешнего заголовка IP. Из-за этого AH не переживает NAT и на практике почти всегда проигрывает ESP.

RFC 4302 на rfc-editor.org
GORAKH.NET+
Вход / Регистрация