GORAKH.NET+

Справочник

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

Виртуальная машина эмулирует железо

Гипервизор подсовывает гостю поддельные устройства, поэтому внутри работает своё ядро. Отсюда и вес виртуальной машины по сравнению с контейнером.

Разбор дня

Гонки в протоколе SIP

Example Call Flows of Race Conditions in the Session Initiation Protocol (SIP)

Примеры одновременных событий, при которых стороны расходятся в понимании состояния вызова.

RFC 5407 на rfc-editor.org
2 ноября
Факт дня

Снапшот не резервная копия

Снимок хранится рядом с диском и умирает вместе с хранилищем. Долгоживущие снимки к тому же деградируют производительность.

Разбор дня

NetBIOS поверх TCP/IP: концепции

Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods

Как имена NetBIOS живут в сети TCP/IP: регистрация, разрешение, широковещательные запросы. Наследие, из-за которого сети Windows долго шумели широковещанием.

RFC 1001 на rfc-editor.org
3 ноября
Факт дня

Тонкий диск может кончиться внезапно

Хранилище выделяет место по мере записи, и суммарно виртуальным машинам обещано больше, чем есть. Когда пул заполняется, встают все разом.

Разбор дня

SIP: перевод вызова

Session Initiation Protocol (SIP) Call Control - Transfer

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

RFC 5589 на rfc-editor.org
4 ноября
Факт дня

Облако - это чужой компьютер

Шутка точна юридически: ответственность за данные остаётся на владельце, а доступность зависит от чужого регламента. Модель разделяемой ответственности прописана в договоре.

Разбор дня

NetBIOS поверх TCP/IP: детали

Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications

Форматы пакетов и работа службы имён на портах 137-139. Те самые порты, которые первым делом закрывают на периметре.

RFC 1002 на rfc-editor.org
5 ноября
Факт дня

Регион и зона доступности - разные вещи

Зоны стоят в разных зданиях одного региона, регионы разнесены географически. Отказ целого региона случается редко, но случается.

Разбор дня

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

Network Address Translation (NAT) Behavioral Requirements for the Datagram Congestion Control Protocol

Поведение транслятора для транспорта DCCP, чтобы приложения реального времени проходили через NAT.

RFC 5597 на rfc-editor.org
6 ноября
Факт дня

S3 не файловая система

Это плоское хранилище объектов, где каталоги существуют только в интерфейсе. Переименование папки на самом деле копирует все объекты.

Разбор дня

Транспорт ISO поверх TCP

ISO Transport Service on top of the TCP Version: 3

Переходник, позволивший приложениям стека OSI работать через обычный TCP. Свидетельство войны стеков, которую TCP/IP выиграл.

RFC 1006 на rfc-editor.org
7 ноября
Факт дня

Стоимость облака часто в трафике

Хранение дёшево, а исходящий трафик стоит заметно дороже. Именно поэтому вынести данные обратно бывает дороже, чем хранить.

Разбор дня

Реестры H.248/MEGACO

H.248/MEGACO Registration Procedures

Регистрация пакетов расширений для протокола управления медиашлюзами.

RFC 5615 на rfc-editor.org
8 ноября
Факт дня

Балансировщик тоже точка отказа

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

Разбор дня

IP в сетях IEEE 802

Standard for the transmission of IP datagrams over IEEE 802 networks

Инкапсуляция IP в кадры 802 через заголовок SNAP: иной вариант, чем в привычном Ethernet II.

RFC 1042 на rfc-editor.org
9 ноября
Факт дня

Sticky-сессии мешают масштабированию

Привязка клиента к серверу ломает равномерность и мешает выводить узлы. Правильный ответ - хранить сессию отдельно, а не на узле.

Разбор дня

Рекомендации для DNS-прокси

DNS Proxy Implementation Guidelines

Домашние роутеры со встроенным прокси DNS должны пропускать EDNS0 и DNSSEC, а не резать всё, чего не понимают.

RFC 5625 на rfc-editor.org
10 ноября
Факт дня

Health check важнее, чем кажется

Проверка, которая смотрит только на открытый порт, оставит в ротации сервер с мёртвой базой. Проверять надо путь, которым идёт настоящий запрос.

Разбор дня

IP поверх HYPERchannel

Internet Protocol on Network System's HYPERchannel: Protocol Specification

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

RFC 1044 на rfc-editor.org
11 ноября
Факт дня

Кэш-прогрев после сбоя

Пустой кэш после перезапуска даёт лавину запросов в базу, и система падает второй раз. Это называют эффектом громового стада.

Разбор дня

Теги языков

Tags for Identifying Languages

Структура тега вида ru-RU или sr-Latn-RS: язык, письменность, регион, варианты.

RFC 5646 на rfc-editor.org
12 ноября
Факт дня

Retry без джиттера усиливает аварию

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

Разбор дня

SLIP: IP через последовательные линии

Nonstandard for transmission of IP datagrams over serial lines: SLIP

Восемь страниц о том, как гнать IP по модему: два спецсимвола и никакого контроля ошибок. Прямо в заголовке названо нестандартом.

RFC 1055 на rfc-editor.org
13 ноября
Факт дня

Таймаут должен быть всегда

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

Разбор дня

Отчёты о совместимости реализаций

Guidance on Interoperation and Implementation Reports for Advancement to Draft Standard

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

RFC 5657 на rfc-editor.org
14 ноября
Факт дня

Идемпотентность спасает при повторе

Если повторный вызов безопасен, клиент может смело повторять запрос после обрыва. Платёжные API строят на этом ключи идемпотентности.

Разбор дня

IP поверх сетей NetBIOS

Standard for the transmission of IP datagrams over NetBIOS networks

Обратный случай: не NetBIOS поверх IP, а IP внутри NetBIOS, когда другой транспорт был недоступен.

RFC 1088 на rfc-editor.org
15 ноября
Факт дня

Очередь не ускоряет систему

Она сглаживает всплески и разъединяет компоненты, но пропускная способность в среднем не растёт. Растущая очередь означает, что потребитель просто не успевает.

Разбор дня

Порядок изменения SIP и RTP

Change Process for the Session Initiation Protocol (SIP) and the Real-time Applications and Infrastructure Area

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

RFC 5727 на rfc-editor.org
16 ноября
Факт дня

Ровно один раз почти невозможно

На практике выбирают между «не более одного» и «не менее одного», а видимость точной доставки создают идемпотентностью.

Разбор дня

Требования к хостам: коммуникационные уровни

Requirements for Internet Hosts - Communication Layers

Свод правил для реализаций IP, ICMP, TCP. Именно отсюда принцип надёжности: будь строг к тому, что отправляешь, и терпим к тому, что принимаешь.

RFC 1122 на rfc-editor.org
17 ноября
Факт дня

Теорема CAP не про выбор двух из трёх

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

Разбор дня

Обработка независимых публикаций

IESG Procedures for Handling of Independent and IRTF Stream Submissions

Как IESG рассматривает документы, пришедшие вне рабочих групп, и какие пометки на них ставит.

RFC 5742 на rfc-editor.org
18 ноября
Факт дня

Согласованность в конце концов - это про время

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

Разбор дня

Требования к хостам: приложения

Requirements for Internet Hosts - Application and Support

Вторая половина свода: DNS, почта, FTP, Telnet. Пара документов 1989 года, на которой держится совместимость всего интернета.

RFC 1123 на rfc-editor.org
19 ноября
Факт дня

Транзакция не спасает от гонки

Уровень изоляции по умолчанию во многих базах допускает неповторяемое чтение. Классическая ошибка: проверить остаток и списать двумя запросами.

Разбор дня

Правила выдачи групповых адресов IPv4

IANA Guidelines for IPv4 Multicast Address Assignments

Как распределяется пространство 224.0.0.0/4 между постоянными назначениями, GLOP и локальными областями.

RFC 5771 на rfc-editor.org
20 ноября
Факт дня

Индекс ускоряет чтение и замедляет запись

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

Разбор дня

Пакеты 802.2 поверх IPX

Standard for the transmission of 802.2 packets over IPX networks

Инкапсуляция для сетей Novell, которые в девяностые были в каждом офисе.

RFC 1132 на rfc-editor.org
21 ноября
Факт дня

Индекс не поможет с низкой селективностью

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

Разбор дня

Гражданские адреса в формате присутствия

Considerations for Civic Addresses in the Presence Information Data Format Location Object (PIDF-LO): Guidelines and IANA Registry Definition

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

RFC 5774 на rfc-editor.org
22 ноября
Факт дня

N+1 запрос убивает API

Список из ста элементов, каждый из которых тянет связанные данные, превращается в сто один запрос. Лечится жадной загрузкой одним соединением.

Разбор дня

SMI: структура управляющей информации

Structure and identification of management information for TCP/IP-based internets

Первая версия языка описания MIB и дерева OID, с которого начался SNMP.

RFC 1155 на rfc-editor.org
23 ноября
Факт дня

Автоувеличение оставляет дыры

Откат транзакции не возвращает израсходованный идентификатор. Пропуски в нумерации - норма, а не признак потери данных.

Разбор дня

Имена серверов обратных зон

Nameservers for IPv4 and IPv6 Reverse Zones

Устойчивая схема именования серверов для зон in-addr.arpa и ip6.arpa вида a.in-addr-servers.arpa.

RFC 5855 на rfc-editor.org
24 ноября
Факт дня

UUID как первичный ключ стоит дорого

Случайные значения ломают локальность вставки в индекс. Отсюда варианты с временной частью в начале.

Разбор дня

IP в сетях ARCNET

Transmitting IP traffic over ARCNET networks

Ещё одна среда со своим MTU и правилами: IP приходилось учить каждой новой топологии.

RFC 1201 на rfc-editor.org
25 ноября
Факт дня

Строка в базе не бесплатна

У каждой записи есть служебные поля, и таблица из миллиона крошечных строк занимает заметно больше суммарной длины данных.

Разбор дня

Случайные исходящие порты

Recommendations for Transport-Protocol Port Randomization

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

RFC 6056 на rfc-editor.org
26 ноября
Факт дня

VACUUM в PostgreSQL не роскошь

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

Разбор дня

IP поверх SMDS

The Transmission of IP Datagrams over the SMDS Service

Пакетная услуга операторов до эпохи Ethernet в городе. Осталась в истории вместе с самой услугой.

RFC 1209 на rfc-editor.org
27 ноября
Факт дня

Репликация не защищает от DROP TABLE

Ошибочная команда мгновенно доедет до всех реплик. От человеческой ошибки помогает только копия с задержкой или резервное копирование.

Разбор дня

Правила проектирования атрибутов RADIUS

RADIUS Design Guidelines

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

RFC 6158 на rfc-editor.org
28 ноября
Факт дня

Резервная копия существует после восстановления

Непроверенная копия - это гипотеза. Единственный способ узнать её состояние - регулярно разворачивать и проверять.

Разбор дня

Компактное определение MIB

Concise MIB definitions

Формат, в котором с тех пор пишут все MIB-модули: объект, синтаксис, доступ, статус, описание.

RFC 1212 на rfc-editor.org
29 ноября
Факт дня

Шардирование - билет в один конец

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

Разбор дня

Выдача префиксов IPv6 абонентам

IPv6 Address Assignment to End Sites

Отказ от жёсткого правила «каждому /48» в пользу гибкости, но с сохранением принципа: у абонента должно быть несколько подсетей.

RFC 6177 на rfc-editor.org
30 ноября
Факт дня

Кодировка utf8 в MySQL не полная

Историческая utf8 хранит максимум три байта на символ и не вмещает эмодзи. Настоящая полная кодировка называется utf8mb4.

Разбор дня

MIB-II

Management Information Base for Network Management of TCP/IP-based internets: MIB-II

Базовый набор счётчиков любого сетевого устройства: интерфейсы, IP, TCP, UDP. Тот самый ifTable, который опрашивает любая система мониторинга.

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