GORAKH.NET+

Справочник

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

Первые три байта MAC-адреса продаются

Префикс OUI выдаёт IEEE за деньги, и по нему определяется производитель. Поэтому по одному лишь MAC можно понять, что перед вами устройство Apple или Mikrotik.

Разбор дня

Отправка почты клиентом

Message Submission for Mail

Разделение отправки от пересылки: клиент сдаёт письмо на порт 587 с обязательной аутентификацией, а порт 25 остаётся для обмена между серверами.

RFC 6409 на rfc-editor.org
2 февраля
Факт дня

Адрес 169.254 значит «сервер не ответил»

Диапазон link-local узел берёт сам, когда DHCP молчит. Увидели такой адрес - ищите проблему в сети, а не в компьютере.

Разбор дня

HTTP/2

HTTP/2

Тот же HTTP, но в двоичном виде и с мультиплексированием потоков в одном соединении. Заголовки сжимает HPACK со словарём частых полей, поэтому повторный запрос к тому же серверу стоит десятки байт вместо сотен.

RFC 9113 на rfc-editor.org
3 февраля
Факт дня

Четыре миллиарда закончились

Тридцать два бита дают чуть больше четырёх миллиардов адресов IPv4. IANA раздала последние крупные блоки региональным регистраторам в феврале 2011 года.

Разбор дня

Тип multipart/report

The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages

Формат отчёта об ошибке доставки. Это благодаря ему письмо о недоставке машиночитаемо, а не просто текст.

RFC 6522 на rfc-editor.org
4 февраля
Факт дня

IPv6 больше, чем кажется

Сто двадцать восемь бит - это примерно 3,4 на 10 в 38 степени адресов. На каждый квадратный миллиметр поверхности Земли приходится их больше, чем звёзд в наблюдаемой вселенной.

Разбор дня

HTTP/3

HTTP/3

HTTP поверх QUIC вместо TCP. Блокировка очереди уходит на уровень транспорта: потерянный пакет тормозит только свой поток, а не всё соединение, как это было в HTTP/2.

RFC 9114 на rfc-editor.org
5 февраля
Факт дня

Порядок байтов из «Гулливера»

Термины big-endian и little-endian взяты из Свифта, где государства воевали, с какого конца разбивать яйцо. Дэнни Коэн применил метафору в статье 1980 года с подзаголовком «призыв к миру».

Разбор дня

IPFIX: экспорт информации о потоках

Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information

Стандартизованный наследник NetFlow: устройство агрегирует трафик в потоки и отдаёт сводку коллектору.

RFC 7011 на rfc-editor.org
6 февраля
Факт дня

Сетевой порядок байтов - от старшего

В протоколах интернета принят big-endian, хотя процессоры x86 работают наоборот. Отсюда обязательные функции htons и ntohs в любой сетевой программе на C.

Разбор дня

QUIC: мультиплексированный транспорт поверх UDP

QUIC: A UDP-Based Multiplexed and Secure Transport

Транспорт, собранный поверх UDP, чтобы его можно было менять без правок в ядрах и коробках операторов. Соединение опознаётся не парой адресов, а идентификатором, поэтому переход с Wi-Fi на LTE не рвёт сессию.

RFC 9000 на rfc-editor.org
7 февраля
Факт дня

Unix-время началось в 1970 году

Точка отсчёта - полночь первого января 1970 года по UTC. Дату выбрали как удобное круглое начало незадолго до создания системы, без всякого символизма.

Разбор дня

RDAP: использование HTTP

HTTP Usage in the Registration Data Access Protocol (RDAP)

Замена whois на обычные HTTP-запросы с ответом в JSON, вместо неструктурированного текста.

RFC 7480 на rfc-editor.org
8 февраля
Факт дня

Проблема 2038 года

Тридцатидвухбитный счётчик секунд переполнится 19 января 2038 года, и время уйдёт в 1901-й. Встроенные системы, которые тогда ещё будут работать, придётся считать заранее.

Разбор дня

Защита QUIC средствами TLS

Using TLS to Secure QUIC

Как TLS 1.3 встроен в QUIC. Шифруется почти весь пакет, включая служебные поля транспорта, так что промежуточное оборудование больше не может ни разобрать, ни подправить содержимое.

RFC 9001 на rfc-editor.org
9 февраля
Факт дня

Секунда координации ломает софт

Раз в несколько лет к UTC добавляют лишнюю секунду, и системы, не готовые увидеть 23:59:60, падают. Крупные площадки вместо этого растягивают секунду на сутки, что называют размазыванием.

Разбор дня

RDAP: безопасность

Security Services for the Registration Data Access Protocol (RDAP)

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

RFC 7481 на rfc-editor.org
10 февраля
Факт дня

База часовых поясов - тоже софт

Правила перевода стрелок хранятся в базе tz, которую десятилетиями ведут волонтёры. Каждое решение парламента о переводе времени приводит к выпуску обновления и пересборке систем.

Разбор дня

Обнаружение потерь и контроль перегрузки в QUIC

QUIC Loss Detection and Congestion Control

Каждый пакет получает уникальный номер, который никогда не переиспользуется при повторной отправке. Из-за этого исчезает старая неоднозначность TCP: ответ всегда однозначно относится к конкретной передаче.

RFC 9002 на rfc-editor.org
11 февраля
Факт дня

У ноутбука есть свой Стратум

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

Разбор дня

Метрика односторонней задержки

A One-Way Delay Metric for IP Performance Metrics (IPPM)

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

RFC 7679 на rfc-editor.org
12 февраля
Факт дня

GPS нужен не только для навигации

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

Разбор дня

SSH: архитектура протокола

The Secure Shell (SSH) Protocol Architecture

Разделение на три слоя: транспорт, аутентификация, каналы. Модель доверия к ключу сервера при первом подключении так и называется в документе - «доверься при первом использовании».

RFC 4251 на rfc-editor.org
13 февраля
Факт дня

Свет в стекле медленнее

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

Разбор дня

Метрика односторонних потерь

A One-Way Loss Metric for IP Performance Metrics (IPPM)

Формальное определение потери пакета, включая правило о конечном времени ожидания.

RFC 7680 на rfc-editor.org
14 февраля
Факт дня

Геостационарный спутник дорого стоит по задержке

Высота орбиты почти 36 тысяч километров, поэтому только на путь туда и обратно уходит около полусекунды. Никакая оптимизация протокола это не исправит.

Разбор дня

SSH: протокол аутентификации

The Secure Shell (SSH) Authentication Protocol

Способы входа: пароль, открытый ключ, host-based. При входе по ключу клиент подписывает строку, куда входит идентификатор сессии, поэтому перехваченную подпись нельзя переиграть на другом соединении.

RFC 4252 на rfc-editor.org
15 февраля
Факт дня

Океаны связывают кабели, а не спутники

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

Разбор дня

Явные отображения адресов при трансляции

Explicit Address Mappings for Stateless IP/ICMP Translation

Таблица соответствий адресов IPv4 и IPv6 для трансляции без состояния.

RFC 7757 на rfc-editor.org
16 февраля
Факт дня

Акулы почти не при чём

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

Разбор дня

SSH: транспортный уровень

The Secure Shell (SSH) Transport Layer Protocol

Обмен версиями, согласование алгоритмов, обмен ключами и смена ключей по ходу сессии. Отсюда же строка приветствия вида SSH-2.0-OpenSSH, по которой сканеры узнают версию сервера.

RFC 4253 на rfc-editor.org
17 февраля
Факт дня

Первый маршрутизатор назывался IMP

Узлы ARPANET строили на машинах Interface Message Processor - шкафах размером с холодильник. Первый доставили в UCLA осенью 1969 года.

Разбор дня

PIM-SM: многоадресная маршрутизация

Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)

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

RFC 7761 на rfc-editor.org
18 февраля
Факт дня

Первое слово в сети было неполным

При попытке передать LOGIN система рухнула после двух букв. Так первым сообщением, ушедшим по ARPANET, стало LO.

Разбор дня

SSH: протокол соединения

The Secure Shell (SSH) Connection Protocol

Каналы внутри одной сессии: терминал, проброс портов, X11, выполнение команды. Всё это мультиплексируется в одном шифрованном соединении, поэтому туннель через ssh -L не требует отдельного входа.

RFC 4254 на rfc-editor.org
19 февраля
Факт дня

Flag day 1983 года

Первого января 1983 года ARPANET разом перешла с NCP на TCP/IP. Такой одновременный переход всей сети оказался последним в истории интернета - дальше меняли только постепенно.

Разбор дня

IPP: кодирование и транспорт

Internet Printing Protocol/1.1: Encoding and Transport

Печать поверх HTTP на порту 631. То, что стоит за автоматическим появлением принтера в сети.

RFC 8010 на rfc-editor.org
20 февраля
Факт дня

Червь Морриса остановил интернет

В ноябре 1988 года программа аспиранта расползлась по сети и вывела из строя тысячи машин из-за ошибки в логике размножения. После этого появились первые команды реагирования на инциденты.

Разбор дня

NTP версии 4

Network Time Protocol Version 4: Protocol and Algorithms Specification

Синхронизация часов с точностью до миллисекунд по обычной сети. Отметки времени NTP считаются от 1 января 1900 года, а 32-битное поле секунд переполнится в 2036 году - раньше, чем знаменитая проблема Unix-времени 2038 года.

RFC 5905 на rfc-editor.org
21 февраля
Факт дня

У Unix есть пустота

Устройство /dev/null принимает любые данные и не хранит ничего. Именно поэтому фраза «отправить в /dev/null» стала синонимом бесследного исчезновения.

Разбор дня

IPP: модель и семантика

Internet Printing Protocol/1.1: Model and Semantics

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

RFC 8011 на rfc-editor.org
22 февраля
Факт дня

Hello, world из учебника

Фраза стала каноничной после книги Кернигана и Ричи по языку C. Сама программа появилась ещё раньше во внутренней документации Bell Labs.

Разбор дня

BGP-4: протокол внешнего шлюза

A Border Gateway Protocol 4 (BGP-4)

Протокол, которым обмениваются маршрутами автономные системы. Он не ищет кратчайший путь, а выбирает по политике оператора, и работает поверх обычного TCP на порту 179.

RFC 4271 на rfc-editor.org
23 февраля
Факт дня

Язык C назван по алфавиту

Ему предшествовал язык B, который сам произошёл от BCPL. Логичное продолжение под именем D появлялось несколько раз, но так и не заняло место C.

Разбор дня

Псевдопровода через LDP

Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)

Как протащить кадры Ethernet или Frame Relay через сеть MPLS, изображая для клиента обычный провод.

RFC 8077 на rfc-editor.org
24 февраля
Факт дня

Питон не про змею

Гвидо ван Россум назвал язык в честь шоу Монти Пайтона. Змеи появились в логотипе позже, когда шутку перестали понимать.

Разбор дня

OSPF версии 2

OSPF Version 2

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

RFC 2328 на rfc-editor.org
25 февраля
Факт дня

Java была Oak

Язык назывался Oak в честь дуба за окном, но имя оказалось занято. Кофейная тема победила, отсюда и чашка на логотипе.

Разбор дня

Уведомление о прочтении письма

Message Disposition Notification

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

RFC 8098 на rfc-editor.org
26 февраля
Факт дня

JavaScript переименовали ради хайпа

Язык звался Mocha, потом LiveScript, а имя JavaScript получил в маркетинговых целях, когда Java была на пике популярности. Общего между ними почти ничего нет.

Разбор дня

OSPF для IPv6

OSPF for IPv6

OSPFv3 отвязали от адресов: соседи опознаются по идентификатору роутера, а не по IP, и сам протокол больше не зависит от семейства адресов. Аутентификацию отдали IPsec вместо встроенной, как во второй версии.

RFC 5340 на rfc-editor.org
27 февраля
Факт дня

PHP - персональная домашняя страница

Изначально это был набор скриптов Расмуса Лердорфа для собственного сайта. Название расшифровывалось как Personal Home Page и лишь позже стало рекурсивным.

Разбор дня

Определение MTU пути в IPv6

Path MTU Discovery for IP version 6

Роутеры IPv6 не фрагментируют пакеты, поэтому отправитель обязан сам найти минимальный MTU по маршруту, слушая сообщения ICMPv6.

RFC 8201 на rfc-editor.org
28 февраля
Факт дня

SQL сначала звался SEQUEL

Имя пришлось сократить из-за конфликта с чужой торговой маркой. Именно поэтому часть инженеров произносит его как «сиквел», а часть по буквам.

Разбор дня

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

Multiprotocol Label Switching Architecture

Пакет получает короткую метку на входе в сеть, и дальше роутеры смотрят только на неё, а не на IP-адрес. Идея родилась ради скорости коммутации, а прижилась ради инженерии трафика и построения VPN.

RFC 3031 на rfc-editor.org
29 февраля
Факт дня

Git - это и о характере автора

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

Разбор дня

Формат JSON

The JavaScript Object Notation (JSON) Data Interchange Format

Спецификация на дюжину страниц, победившая XML в вебе. Разрешает дубли ключей и не определяет точность чисел, откуда и берутся расхождения между парсерами.

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