Перейти до вмісту

Терміни

Тут зібрані 253 терміни курсу разом з англійськими відповідниками. Відповідники тут не для краси: документація, man-сторінки й повідомлення про помилки майже завжди англійською, і треба знати, що саме там шукати.

Пояснення навмисно короткі, на одне речення. Це нагадування для того, хто модуль уже читав, а не заміна йому — за подробицями йдіть за посиланням на модуль.

I. Основи

переривання— interrupt
Сигнал від пристрою, який змушує процесор відкласти поточну роботу й зайнятися ним. модуль 3
прямий доступ до пам'яті— DMA
Передавання даних між пристроєм і пам'яттю без участі процесора. модуль 3
системний виклик— system call
Спосіб попросити ядро зробити те, чого програма не має права зробити сама. модуль 3
дескриптор файлу— file descriptor
Число, за яким процес звертається до відкритого ним файлу. модуль 3
простір імен— namespace
Механізм, що показує процесу лише частину системних ресурсів замість усіх. модуль 3
сокет— socket
Кінцева точка мережевого обміну, з якою процес працює через дескриптор файлу. модуль 3
протокол— protocol
Набір правил, за якими двоє учасників обмінюються повідомленнями, щоб розуміти одне одного. модуль 1
інкапсуляція— encapsulation
Вкладання даних вищого рівня в одиницю даних нижчого, яка дописує власний заголовок. модуль 1
пакет— packet
Одиниця даних мережевого рівня з адресами відправника й одержувача, яку маршрутизатори пересилають від мережі до мережі. модуль 1
сегмент— segment
Одиниця даних транспортного рівня (у TCP), яка несе порти й номери байтів. модуль 1
модель OSI— OSI model
Еталонна семирівнева модель мережевої взаємодії, що лишилася в ужитку як словник для розмови про рівні. модуль 1
стек TCP/IP— TCP/IP stack
Набір протоколів інтернету, що складається з канального, міжмережевого, транспортного й прикладного рівнів. модуль 1
RFC— RFC
Пронумерований документ (Request for Comments), у якому описано протокол інтернету або домовленість; номер ніколи не змінюється, застарілий документ замінює новий. модуль 1
IETF— IETF
Відкрита спільнота, яка розробляє стандарти інтернету й публікує їх як RFC. модуль 1
IEEE 802— IEEE 802
Родина стандартів IEEE для локальних мереж, зокрема Ethernet (802.3), Wi-Fi (802.11) і VLAN (802.1Q). модуль 1
IANA— IANA
Організація, що веде реєстри унікальних номерів інтернету (портів, номерів автономних систем, адрес верхнього рівня) та імен верхнього рівня. модуль 1
шлюз за замовчуванням— default gateway
Маршрутизатор у своїй підмережі, якому хост віддає пакети для всіх адрес, про які не знає нічого конкретнішого. модуль 1
пропускна здатність— bandwidth
Скільки біт за секунду можна ввести в канал. модуль 2
затримка— latency
Час, за який біт іде від одного кінця лінії до іншого. модуль 2
RTT— round-trip time
Час, за який пакет іде до одержувача і повертається підтвердженням назад. модуль 2
серіалізація— serialization delay
Час, потрібний, щоб виштовхнути всі біти пакета в лінію; дорівнює розміру пакета, поділеному на швидкість каналу. модуль 2
затримка поширення— propagation delay
Час, за який сигнал долає відстань лінії зі швидкістю, близькою до двох третин швидкості світла. модуль 2
черга— queue
Пакети, що чекають у буфері на вихідний канал, бо надходять швидше, ніж канал їх виштовхує. модуль 2
джитер— jitter
Коливання затримки від пакета до пакета. модуль 2
добуток пропускної здатності на затримку— bandwidth-delay product (BDP)
Обсяг даних, що одночасно перебуває в лінії між відправником і одержувачем; пропускна здатність, помножена на RTT. модуль 2
кручена пара— twisted pair
Мідний кабель зі скрученими парами дротів, у яких зовнішні завади діють однаково на обидва дроти й гасяться приймачем. модуль 2
оптичне волокно— optical fibre
Скляна жила, якою біти передаються як спалахи світла; буває багатомодове й одномодове. модуль 2
sk_buff— sk_buff
Структура ядра Linux, що описує один пакет у стеку, з метаданими й вказівниками на буфер із байтами. модуль 3
кільце дескрипторів— descriptor ring
Кільцевий масив записів у пам'яті, через який драйвер і мережева карта передають одне одному буфери для приймання й відправлення кадрів. модуль 3
NAPI— NAPI
Механізм приймання в ядрі Linux, що за низького навантаження працює за перериваннями, а за високого переходить в опитування й обробляє пакети пачками. модуль 3
програмне переривання— softirq
Відкладена робота ядра, що виконується одразу після апаратного переривання; мережеве приймання проходить у softirq NET_RX. модуль 3
бюджет NAPI— NAPI budget
Межа кількості пакетів (і часу), які драйвер може обробити за один виклик poll(), перш ніж віддати процесор. модуль 3
розвантаження— offload
Передавання частини мережевої роботи (контрольних сум, розрізання й склеювання сегментів) від процесора мережевій карті чи спеціальному коду ядра. модуль 3
TSO— TCP segmentation offload
Розрізання великого TCP-сегмента на кадри за MSS, яке виконує мережева карта замість ядра. модуль 3
GSO— generic segmentation offload
Програмний аналог TSO, де ядро розрізає великий сегмент в останній момент перед драйвером. модуль 3
GRO— generic receive offload
Склеювання послідовних сегментів одного потоку в один великий буфер перед передачею стеку. модуль 3
RSS— receive side scaling
Розподіл вхідних потоків між кількома чергами мережевої карти, а отже між ядрами процесора, за хешем заголовків. модуль 3
черга приймання сокета— socket receive queue
Буфер ядра з прийнятими, але ще не прочитаними програмою пакетами; коли він повний, нові пакети для сокета відкидають. модуль 3

II. Канальний рівень

кадр— frame
Блок даних канального рівня із заголовком, що містить адреси, і контрольною сумою; у нього вкладається пакет. модуль 4
MAC-адреса— MAC address
48-бітна адреса мережевого інтерфейсу на канальному рівні, яку пишуть як шість шістнадцяткових байтів. модуль 4
OUI— OUI
Перші три байти MAC-адреси, які IEEE видає виробникові обладнання. модуль 4
EtherType— EtherType
Двобайтове поле кадра Ethernet, що вказує, який протокол вкладено в кадр. модуль 4
MTU— maximum transmission unit
Найбільше корисне навантаження, яке інтерфейс передає в одному кадрі; для Ethernet 1500 байтів. модуль 4
jumbo-кадр— jumbo frame
Кадр Ethernet із навантаженням понад 1500 байтів, зазвичай до 9000; потребує підтримки на всьому шляху в сегменті. модуль 4
комутатор— switch
Пристрій, що пересилає кадри між портами за таблицею MAC, вивченою з адрес відправників. модуль 4
таблиця MAC— MAC address table
Відповідність «MAC-адреса — порт», яку комутатор будує з адрес відправників і якої запис старіє. модуль 4
flooding— flooding
Розсилання кадра на всі порти, крім вхідного, коли адреса призначення невідома або групова. модуль 4
широкомовний домен— broadcast domain
Множина пристроїв, до яких доходить кадр із широкомовною адресою; комутатор його не розділяє. модуль 4
домен колізій— collision domain
Область, де два одночасні передавання псують один одного; у комутованому повнодуплексному Ethernet звужена до одного каналу. модуль 4
протокол остовного дерева— spanning tree protocol
Протокол, що блокує надлишкові порти комутаторів, щоб у мережі не було петель (STP, RSTP). модуль 4
широкомовний шторм— broadcast storm
Лавинне розмноження широкомовних кадрів у петлі, де кадри не мають обмеження на кількість переходів. модуль 4
міст— bridge
Програмний комутатор у ядрі Linux, що об'єднує інтерфейси в один широкомовний домен. модуль 4
VLAN— virtual LAN
Логічна мережа на канальному рівні, що виділена з одного фізичного комутатора; кадри не виходять за межі своєї VLAN. модуль 5
тег VLAN— VLAN tag
Чотири байти 802.1Q у кадрі Ethernet із 12-бітним номером VLAN, пріоритетом і ознакою DEI. модуль 5
access-порт— access port
Порт комутатора, що належить одній VLAN і передає кадри без тегу. модуль 5
trunk-порт— trunk port
Порт, що несе кадри кількох VLAN, кожен із тегом, зазвичай між комутаторами. модуль 5
native VLAN— native VLAN
VLAN, кадри якої йдуть через trunk без тегу; на обох кінцях має збігатися. модуль 5
ARP— address resolution protocol
Протокол, що за IPv4-адресою сусіда в тому самому широкомовному домені дізнається його MAC-адресу. модуль 5
таблиця сусідів— neighbour table
Кеш у ядрі відповідностей «IP — MAC» зі станами запису (REACHABLE, STALE тощо); спільний для ARP і NDP. модуль 5
gratuitous ARP— gratuitous ARP
ARP-повідомлення про власну адресу, надіслане без запиту, щоб оновити кеші сусідів або виявити конфлікт адрес. модуль 5
ARP-спуфінг— ARP spoofing
Атака, у якій хост оголошує чужу IP-адресу своєю MAC-адресою, щоб перехопити трафік. модуль 5

III. Мережевий рівень

префікс— prefix
Число лівих бітів IP-адреси, що належать мережі; записується після косої риски, наприклад /26. модуль 6
маска підмережі— subnet mask
32-бітне число з одиницями на місці бітів мережі й нулями на місці бітів вузла; «І» з адресою дає адресу мережі. модуль 6
CIDR— classless inter-domain routing
Адресація з префіксом довільної довжини замість фіксованих класів A, B, C. модуль 6
підмережа— subnet
Частина адресного простору з одним префіксом, усередині якої вузли досяжні без маршрутизатора. модуль 6
приватні адреси— private addresses
Діапазони 10.0.0.0/8, 172.16.0.0/12 і 192.168.0.0/16 (RFC 1918), які не маршрутизуються в інтернеті. модуль 6
link-local адреса— link-local address
Адреса, яку інтерфейс призначає собі сам і яка діє лише в межах одного сегмента: 169.254.0.0/16 в IPv4, fe80::/10 в IPv6. модуль 6
loopback— loopback
Діапазон 127.0.0.0/8, пакети на який не залишають хост; зазвичай 127.0.0.1. модуль 6
TTL— time to live
Поле заголовка IPv4, яке кожен маршрутизатор зменшує на одиницю; при нулі пакет відкидають. модуль 6
ICMP— internet control message protocol
Службовий протокол поверх IP для повідомлень про помилки й діагностики (echo, time exceeded, destination unreachable). модуль 6
traceroute— traceroute
Утиліта, що з'ясовує маршрутизатори на шляху, надсилаючи пакети з TTL 1, 2, 3 і читаючи ICMP time exceeded. модуль 6
фрагментація— fragmentation
Розрізання пакета IPv4 на частини, що влізають у MTU ланки; збирає їх лише адресат. модуль 6
біт DF— don't fragment flag
Прапорець у заголовку IPv4, що забороняє маршрутизаторам фрагментувати пакет. модуль 6
Path MTU Discovery— Path MTU Discovery
Визначення найменшого MTU на шляху за ICMP-відповідями маршрутизаторів на пакети з DF. модуль 6
чорна діра PMTUD— PMTUD black hole
Ситуація, коли файрвол відкидає ICMP «frag needed», і великі пакети мовчки зникають. модуль 6
MSS clamping— MSS clamping
Перезапис маршрутизатором розміру сегмента в рукостисканні TCP, щоб сегменти влізали у вузьку ланку. модуль 6
таблиця маршрутів— routing table
Перелік префіксів і того, куди відправляти пакет для кожного з них. модуль 7
наступний стрибок— next hop
Сусідній вузол, якому передають пакет на шляху до адресата; його MAC-адресу ставлять у кадр. модуль 7
шлюз— gateway
Маршрутизатор, через який хост досягає адрес за межами власної підмережі. модуль 7
типовий маршрут— default route
Запис 0.0.0.0/0, що підходить будь-якій адресі й діє, лише коли немає конкретнішого. модуль 7
найдовший префікс— longest prefix match
Правило вибору маршруту: серед записів, що містять адресу, обирають той, чий префікс довший. модуль 7
метрика— metric
Числова ціна маршруту; для записів з однаковим префіксом перемагає менша. модуль 7
пересилання— forwarding
Передавання вузлом пакетів, адресованих не йому; у Linux вмикається параметром ip_forward. модуль 7
перевірка зворотного шляху— reverse path filtering
Перевірка, що відповідь відправникові пішла б через той самий інтерфейс (rp_filter); відсікає підмінені адреси. модуль 7
політика маршрутизації— policy routing
Вибір таблиці маршрутів за правилами (ip rule) на основі відправника, мітки чи інтерфейсу, а не лише призначення. модуль 7
ECMP— equal-cost multipath
Розподіл потоків між кількома рівноцінними наступними стрибками за хешем полів пакета. модуль 7
VRF— virtual routing and forwarding
Незалежний екземпляр маршрутизації на одному вузлі з власною таблицею й набором інтерфейсів. модуль 7
динамічна маршрутизація— dynamic routing
Автоматичний обмін маршрутами між маршрутизаторами за протоколом, з перерахунком шляхів при зміні топології. модуль 8
вектор відстаней— distance vector
Клас протоколів, у яких маршрутизатор повідомляє сусідам відстані до префіксів і нічого не знає про загальну топологію. модуль 8
стан ланок— link state
Клас протоколів, у яких кожен маршрутизатор розсилає опис власних ланок, будує повну карту й сам обчислює шляхи алгоритмом Дейкстри. модуль 8
рахунок до нескінченності— count to infinity
Вада distance vector, коли після обриву ланки маршрутизатори по колу підвищують відстань до недосяжного префікса, поки вона не досягне межі. модуль 8
збіжність— convergence
Стан, коли після зміни топології всі маршрутизатори дійшли згоди щодо нових шляхів. модуль 8
OSPF— OSPF
Протокол стану ланок для маршрутизації всередині однієї організації, що працює безпосередньо поверх IP і ділить мережу на області. модуль 8
LSA— LSA
Повідомлення OSPF з описом ланок маршрутизатора, мережі або зовнішніх маршрутів, яке заливається всій області. модуль 8
область OSPF— OSPF area
Частина мережі, усередині якої всі маршрутизатори мають повну карту ланок; області з'єднуються через магістральну область 0. модуль 8
вартість ланки— link cost
Число, яке OSPF приписує інтерфейсу; шлях із найменшою сумою вартостей вважається найкращим. модуль 8
автономна система— autonomous system
Мережа або група мереж під єдиним адміністративним керуванням із власною політикою маршрутизації та номером ASN. модуль 8
BGP— BGP
Протокол маршрутизації між автономними системами, що працює поверх TCP і передає маршрути разом зі шляхом та політичними атрибутами. модуль 8
AS_PATH— AS_PATH
Атрибут BGP зі списком автономних систем, крізь які пройшло оголошення; запобігає петлям і впливає на вибір маршруту. модуль 8
LOCAL_PREF— LOCAL_PREF
Атрибут BGP усередині AS, що виражає перевагу маршруту; порівнюється раніше за довжину AS_PATH. модуль 8
перехоплення маршруту— BGP hijack
Оголошення чужого префікса (або його довшої частини) автономною системою, яка не має на це права. модуль 8
витік маршруту— route leak
Передавання отриманих маршрутів тим, кому їх не дозволяє політика, наприклад від одного провайдера до іншого. модуль 8
RPKI— RPKI
Криптографічна інфраструктура, що прив'язує IP-префікси до автономних систем, які мають право їх оригінувати. модуль 8
ROA— ROA
Підписаний запис RPKI з префіксом, максимальною довжиною й номером автономної системи, яка може його оригінувати. модуль 8
DHCP— DHCP
Протокол, за яким клієнт без налаштувань отримує від сервера адресу в оренду разом із маскою, шлюзом, DNS та іншими опціями. модуль 9
оренда адреси— DHCP lease
Обмежений у часі дозвіл користуватися адресою, який клієнт мусить продовжувати до спливу терміну. модуль 9
DHCP-опція— DHCP option
Пронумерований параметр у відповіді DHCP-сервера, наприклад шлюз, DNS-сервери чи додаткові маршрути. модуль 9
DHCP relay— DHCP relay agent
Маршрутизатор, що переадресовує широкомовні DHCP-запити серверу в іншій підмережі й повертає відповіді клієнтам. модуль 9
NAT— NAT
Підміна адрес у заголовках IP-пакетів, що проходять через шлюз, зазвичай приватних на публічні. модуль 9
PAT— PAT
Різновид NAT, що переписує ще й порт відправника, завдяки чому багато хостів ділять одну публічну адресу. модуль 9
SNAT— source NAT
Заміна адреси відправника у вихідних пакетах; у Linux виконується в хуку postrouting. модуль 9
DNAT— destination NAT
Заміна адреси призначення у вхідних пакетах, на якій тримається проброс портів; у Linux виконується в хуку prerouting. модуль 9
проброс портів— port forwarding
Правило DNAT, що направляє з'єднання на певний порт публічної адреси шлюзу до хоста всередині мережі. модуль 9
відстеження з'єднань— connection tracking (conntrack)
Механізм ядра, що веде таблицю потоків через машину й позначає кожен пакет станом (new, established, related, invalid); на ньому тримаються NAT і stateful-фільтрація. модуль 9
hairpin NAT— hairpin NAT
Додаткова підміна, яка дозволяє клієнтові з локальної мережі дістатися внутрішнього сервера через публічну адресу шлюзу. модуль 9
CGNAT— carrier-grade NAT
NAT на стороні провайдера, за яким абонентські роутери мають лише приватні адреси, зазвичай із діапазону 100.64.0.0/10. модуль 9
UDP hole punching— UDP hole punching
Прийом, коли два пристрої за різними NAT одночасно надсилають один одному UDP-пакети, щоб відкрити записи в обох таблицях і з'єднатися напряму. модуль 9
IPv6— IPv6
Версія IP зі 128-бітними адресами, фіксованим заголовком у 40 байтів і автоналаштуванням хостів. модуль 10
SLAAC— SLAAC
Безстанове автоналаштування адреси, коли хост сам складає її з префікса, оголошеного маршрутизатором. модуль 10
оголошення маршрутизатора— Router Advertisement
Повідомлення ICMPv6, яким маршрутизатор повідомляє префікси сегмента, прапорці й час життя шлюзу за замовчуванням. модуль 10
NDP— Neighbor Discovery Protocol
Набір повідомлень ICMPv6, що в IPv6 заміняє ARP і шукає сусідів, маршрутизатори та префікси. модуль 10
DAD— duplicate address detection
Перевірка, чи не використовує адресу інший вузол, яку хост виконує перед тим, як призначити її собі. модуль 10
унікальна локальна адреса— unique local address
Адреса з діапазону fc00::/7, призначена для внутрішніх мереж і не маршрутизована в публічному інтернеті. модуль 10
глобальна одноадресна адреса— global unicast address
IPv6-адреса з діапазону 2000::/3, унікальна в усьому інтернеті. модуль 10
ідентифікатор інтерфейсу— interface identifier
Нижні 64 біти IPv6-адреси, що відрізняють інтерфейс усередині підмережі. модуль 10
тимчасова адреса— temporary address
Випадкова IPv6-адреса, що періодично змінюється й використовується для вихідних з'єднань заради приватності. модуль 10
розширювальний заголовок— extension header
Необов'язковий заголовок IPv6 між основним заголовком і транспортним, з'єднаний із ним полем Next Header. модуль 10
подвійний стек— dual stack
Режим, у якому вузол і мережа одночасно підтримують IPv4 та IPv6. модуль 10
Happy Eyeballs— Happy Eyeballs
Алгоритм клієнта, що пробує IPv6 першим, а після короткої паузи паралельно запускає IPv4 і бере те з'єднання, яке встановилося першим. модуль 10
DHCPv6— DHCPv6
Версія DHCP для IPv6, що видає адреси й додаткові налаштування, але не повідомляє шлюз за замовчуванням. модуль 10
делегування префікса— prefix delegation
Видача провайдером маршрутизатору клієнта цілого префікса, який той сам розподіляє між своїми сегментами. модуль 10

IV. Транспорт

порт— port
16-бітне число в заголовку UDP і TCP, за яким ядро вирішує, якому сокету віддати пакет. модуль 11
тимчасовий порт— ephemeral port
Порт клієнта, який ядро вибирає з визначеного діапазону на час одного з'єднання. модуль 11
4-кортеж— 4-tuple
Адреса й порт відправника плюс адреса й порт отримувача; однозначно визначає TCP-з'єднання. модуль 11
рукостискання TCP— TCP handshake
Обмін сегментами SYN, SYN+ACK і ACK, після якого обидва боки мають узгоджені початкові номери й параметри з'єднання. модуль 11
номер послідовності— sequence number
Номер першого байта даних сегмента в потоці; TCP нумерує байти, а не пакети. модуль 11
кумулятивне підтвердження— cumulative acknowledgement
ACK, що означає «усі байти до цього номера отримано, чекаю саме його». модуль 11
вибіркове підтвердження— selective acknowledgement (SACK)
Розширення TCP, за якого отримувач перелічує діапазони, що вже прийшли після пропуску, і відправник повторює лише втрачене. модуль 11
вікно отримувача— receive window
Скільки вільного місця в буфері прийому оголошує отримувач; верхня межа непідтверджених даних у польоті. модуль 11
керування потоком— flow control
Обмеження швидкості відправника, щоб він не переповнив буфер отримувача. модуль 11
ковзне вікно— sliding window
Діапазон байтів, які можна мати надісланими й непідтвердженими; його ліва межа рухається разом із підтвердженнями. модуль 11
таймер повторної передачі— retransmission timeout (RTO)
Час очікування ACK, після якого відправник повторює сегмент; обчислюється з виміряного RTT і подвоюється за кожної невдачі. модуль 11
швидка повторна передача— fast retransmit
Повторення сегмента після трьох однакових ACK поспіль, не чекаючи RTO. модуль 11
TIME_WAIT— TIME_WAIT
Стан боку, що закрив з'єднання першим; триває близько хвилини, щоб підтвердити повторений FIN і пропустити запізнілі сегменти. модуль 11
CLOSE_WAIT— CLOSE_WAIT
Стан, у якому співрозмовник уже закрив свій напрямок, а застосунок ще не викликав close(); накопичення означає витік сокетів. модуль 11
алгоритм Нейґла— Nagle's algorithm
Правило, за яким TCP накопичує малі порції даних, доки не підтверджено попередні, щоб не слати крихітні сегменти. модуль 11
відкладене підтвердження— delayed ACK
Приймач трохи зачекує з ACK, сподіваючись об'єднати його з відповіддю або наступним сегментом. модуль 11
черга accept— accept queue
Черга з'єднань, для яких рукостискання завершено, але застосунок ще не викликав accept(). модуль 11
керування перевантаженням— congestion control
Підбір відправником швидкості за ознаками того, що мережа на шляху переповнюється; відрізняється від керування потоком, що захищає отримувача. модуль 12
вікно перевантаження— congestion window (cwnd)
Скільки даних відправник дозволяє собі мати в польоті, щоб не переповнити шлях; живе лише на відправнику. модуль 12
повільний старт— slow start
Початкова фаза, у якій вікно перевантаження приблизно подвоюється за RTT, доки не станеться втрата або не буде досягнуто порога. модуль 12
AIMD— AIMD (additive increase, multiplicative decrease)
Правило зміни вікна: повільне лінійне збільшення, різке ділення навпіл після втрати; дає збіжність до справедливого розподілу каналу. модуль 12
колапс перевантаження— congestion collapse
Стан мережі, у якому повтори переповнюють її ще більше, і корисна пропускна здатність падає майже до нуля. модуль 12
bufferbloat— bufferbloat
Надмірно глибокі буфери на вузькому місці, що перетворюють втрати на велику затримку для всіх пакетів. модуль 12
вузьке місце— bottleneck
Ланка на шляху з найменшою доступною швидкістю; саме перед нею росте черга. модуль 12
дисципліна черги— queueing discipline (qdisc)
Алгоритм черги інтерфейсу в Linux: у якому порядку випускати пакети на ланку й кого відкидати, коли місця мало. модуль 12
активне керування чергою— active queue management (AQM)
Черга, що сама відкидає чи позначає пакети до переповнення, щоб відправники відступили вчасно. модуль 12
CoDel— CoDel (controlled delay)
Алгоритм AQM, що орієнтується на час, який пакет простояв у черзі, а не на її довжину. модуль 12
ECN— explicit congestion notification
Механізм, за якого маршрутизатор позначає пакет про перевантаження замість його відкидання, а відправник зменшує вікно. модуль 12
BBR— BBR
Алгоритм керування перевантаженням, що оцінює смугу вузького місця й мінімальний RTT і намагається тримати в польоті їхній добуток. модуль 12
CUBIC— CUBIC
Алгоритм керування перевантаженням, що після втрати збільшує вікно за кубічною функцією часу; довго був типовим у Linux. модуль 12
tc netem— network emulator (netem)
Дисципліна черги Linux, що штучно вносить затримку, розкид, втрати, дублікати й переставляння пакетів. модуль 12

V. Прикладний рівень

DNS— DNS (Domain Name System)
Розподілена ієрархічна база даних, що відповідає іменам їхні адреси та інші дані, з делегуванням і кешуванням. модуль 13
зона— zone
Частина дерева імен, описана в одному наборі даних і обслуговувана одними авторитетними серверами. модуль 13
делегування— delegation
Передавання відповідальності за піддомен іншим серверам через записи NS у батьківській зоні. модуль 13
авторитетний сервер— authoritative server
Сервер, що відповідає на запити про свою зону зі власних даних, а не з кешу. модуль 13
рекурсивний резолвер— recursive resolver
Сервер, що за клієнта проходить ієрархію від кореня, збирає відповідь і кешує її. модуль 13
stub-резолвер— stub resolver
Мінімальна частина бібліотеки чи ОС, що лише пересилає запит одному рекурсивному резолверу й приймає відповідь. модуль 13
кореневий сервер— root server
Сервер вершини ієрархії DNS, що знає, де шукати домени верхнього рівня; тринадцять імен, за якими стоять сотні екземплярів. модуль 13
TTL запису— time to live (DNS)
Число секунд, протягом яких запис дозволено тримати в кеші. модуль 13
негативне кешування— negative caching
Кешування відповіді про відсутність імені чи запису; тривалість береться з SOA зони. модуль 13
glue-запис— glue record
Адреса сервера, що лежить у батьківській зоні поруч із NS, щоб розірвати циклічну залежність. модуль 13
запис ресурсу— resource record
Одиниця даних DNS: ім'я, TTL, клас, тип і значення. модуль 13
CNAME— CNAME (canonical name)
Запис-псевдонім, що вказує одне ім'я на інше; ім'я з CNAME не може мати інших записів. модуль 13
SOA— SOA (start of authority)
Службовий запис зони: головний сервер, серійний номер, інтервали для вторинних серверів і minimum для негативного кешу. модуль 13
NXDOMAIN— NXDOMAIN
Код відповіді DNS «такого імені не існує». модуль 13
DNSSEC— DNSSEC
Розширення DNS, що підписує записи ключем власника зони, а ланцюг довіри веде від кореня через записи DS; перевіряє автентичність, але не шифрує. модуль 13
DNS поверх TLS— DNS over TLS (DoT)
Передавання DNS-запитів усередині TLS-з'єднання на порту 853; ховає запити від спостерігача каналу. модуль 13
DNS поверх HTTPS— DNS over HTTPS (DoH)
Передавання DNS-запитів усередині HTTPS на порту 443, де вони не відрізняються від веб-трафіку. модуль 13
постійне з'єднання— keep-alive connection
З'єднання TCP, яке лишається відкритим після відповіді й обслуговує наступні запити без нового рукостискання. модуль 14
блокування головою черги— head-of-line blocking
Зупинка всіх елементів черги через те, що перший елемент затримався; буває на рівні HTTP (запити на одному з'єднанні) і на рівні TCP (втрачений сегмент). модуль 14
мультиплексування— multiplexing
Передавання багатьох незалежних потоків в одному з'єднанні шляхом чергування їхніх кадрів. модуль 14
потік HTTP/2— HTTP/2 stream
Один запит із відповіддю в з'єднанні HTTP/2, позначений числовим ідентифікатором у кожному кадрі. модуль 14
кадр HTTP/2— frame (HTTP/2)
Одиниця бінарного протоколу HTTP/2 із 9-байтовим заголовком (довжина, тип, прапорці, номер потоку). модуль 14
ALPN— ALPN (Application-Layer Protocol Negotiation)
Розширення TLS, яким клієнт і сервер під час рукостискання домовляються, який прикладний протокол (h2, http/1.1) використовувати. модуль 14
QUIC— QUIC
Транспорт поверх UDP зі своїми потоками, керуванням втратами й перевантаженням та вбудованим шифруванням TLS 1.3; основа HTTP/3. модуль 14
ідентифікатор з'єднання— connection ID
Значення в пакетах QUIC, за яким з'єднання впізнають незалежно від IP-адреси й порту клієнта; дає змогу пережити зміну мережі. модуль 14
0-RTT— 0-RTT
Відправлення даних у першому пакеті повторного з'єднання з ключами попередньої сесії; швидко, але вразливо до відтворення. модуль 14
ідемпотентний метод— idempotent method
Метод HTTP, повторення якого дає той самий результат на сервері, що й одноразове виконання (GET, PUT, DELETE). модуль 14
ревалідація— revalidation
Умовний запит до сервера (If-None-Match, If-Modified-Since), яким кеш перевіряє, чи копія ще актуальна; у відповідь може прийти 304 без тіла. модуль 14
зворотний проксі— reverse proxy
Сервер, що приймає з'єднання клієнтів від імені застосунку й сам звертається до бекендів. модуль 14
балансувальник навантаження— load balancer
Вузол, що розподіляє з'єднання або запити між кількома копіями бекенду й перевіряє їхнє здоров'я; працює на рівні L4 (з'єднання) або L7 (запити). модуль 14
CDN— CDN (content delivery network)
Розподілена по світу мережа кешуючих проксі, що віддає відповіді з вузла, найближчого до клієнта. модуль 14
TLS— TLS (Transport Layer Security)
Протокол, що поверх надійного транспорту дає шифрування, перевірку цілісності й автентифікацію сервера (і, за потреби, клієнта). модуль 15
сертифікат X.509— X.509 certificate
Підписане твердження про те, що певний відкритий ключ належить певному імені, зі строком дії й обмеженнями на використання. модуль 15
центр сертифікації— certification authority (CA)
Організація або ключ, чий підпис під сертифікатом клієнти вважають підставою вірити в зв'язок між ключем і іменем. модуль 15
ланцюжок довіри— chain of trust
Послідовність сертифікатів від сайту через проміжні до кореневого, де кожен підписано ключем наступного. модуль 15
сховище довіри— trust store
Набір кореневих сертифікатів, яким довіряють операційна система або браузер. модуль 15
SAN— Subject Alternative Name
Розширення сертифіката зі списком імен, для яких він дійсний; клієнти порівнюють ім'я сайту саме з ним. модуль 15
SNI— SNI (Server Name Indication)
Розширення TLS, в якому клієнт відкритим текстом називає потрібне ім'я, щоб сервер вибрав відповідний сертифікат. модуль 15
пряма секретність— forward secrecy
Властивість, за якої викрадення довгострокового ключа не дає розшифрувати раніше записаний трафік, бо ключі сесій виводять із тимчасових ключів. модуль 15
відкликання сертифіката— certificate revocation
Оголошення сертифіката недійсним до кінця строку через CRL або OCSP; на практиці перевірка зазвичай м'яка й необов'язкова. модуль 15
OCSP stapling— OCSP stapling
Прикріплення сервером свіжої підписаної відповіді УЦ про стан сертифіката до рукостискання, щоб клієнт не питав сам. модуль 15
ACME— ACME
Протокол автоматичного отримання сертифікатів, у якому клієнт доводить контроль над доменом через виклик (HTTP-01, DNS-01). модуль 15
прозорість сертифікатів— Certificate Transparency
Публічні журнали, куди центри сертифікації записують кожен виданий сертифікат, щоб власник домену міг помітити несанкціонований. модуль 15
взаємний TLS— mutual TLS (mTLS)
Режим TLS, у якому сервер також вимагає сертифікат від клієнта й перевіряє його. модуль 15
частка ключового обміну— key share
Тимчасовий відкритий ключ, який кожна сторона надсилає в рукостисканні для обчислення спільного секрету. модуль 15

VI. Безпека і сучасні мережі

контейнер— container
Процес у власних просторах імен і під обмеженнями cgroups; ядро в нього спільне з хостом. модуль 18
файрвол— firewall
Код, що для кожного пакета вирішує, пропустити його, відкинути чи змінити; у Linux це правила netfilter. модуль 16
netfilter— netfilter
Набір хуків у мережевому стеку ядра Linux, на які модулі (зокрема nftables і conntrack) чіпляють обробку пакетів. модуль 16
хук— hook
Точка на шляху пакета в ядрі (prerouting, input, forward, output, postrouting), де можна перехопити й обробити пакет. модуль 16
nftables— nftables
Сучасний фреймворк фільтрації пакетів у Linux із таблицями, ланцюжками, правилами й наборами; замінює iptables. модуль 16
базовий ланцюжок— base chain
Ланцюжок nftables, зареєстрований на хук із типом, пріоритетом і політикою; решту ланцюжків викликають командою jump. модуль 16
політика ланцюжка— chain policy
Вердикт (accept або drop) для пакета, якого не зупинило жодне правило базового ланцюжка. модуль 16
stateful-фільтрація— stateful filtering
Фільтрація, що враховує стан з'єднання, тож правила описують лише напрямок ініціювання, а відповіді пропускаються автоматично. модуль 16
SYN flood— SYN flood
Атака потоком SYN-пакетів (часто з підроблених адрес), що заповнює чергу напіввідкритих з'єднань сервера. модуль 16
SYN cookies— SYN cookies
Механізм, за якого сервер кодує стан з'єднання в початковому номері послідовності SYN+ACK і не зберігає його до отримання ACK. модуль 16
спуфінг— IP spoofing
Підроблення адреси відправника в заголовку IP. модуль 16
ампліфікація— amplification attack
Атака, у якій короткий запит із підробленою адресою жертви викликає значно більшу відповідь сервера, спрямовану на жертву. модуль 16
VPN— VPN (virtual private network)
Шифрований тунель, що переносить IP-пакети між мережами поверх ненадійної мережі й виглядає як звичайний інтерфейс. модуль 16
WireGuard— WireGuard
Простий VPN у ядрі Linux з фіксованим набором криптографії, де peer-и задаються публічними ключами. модуль 16
AllowedIPs— AllowedIPs
Поле peer-а у WireGuard: таблиця маршрутів на відправленні й фільтр адрес відправника на прийнятті. модуль 16
IPsec— IPsec
Родина протоколів шифрування IP-трафіку; пакети шифрує ESP (протокол IP 50), у Linux це робить ядровий механізм XFRM. модуль 16
CSMA/CA— CSMA/CA
Спосіб доступу до спільного радіоканалу — слухати ефір, чекати випадковий час і вимагати підтвердження кожного кадру, щоб уникати колізій, а не виявляти їх. модуль 17
прихований вузол— hidden node
Станція, яку чує точка доступу, але не чує інша станція тієї самої мережі, через що їхні передачі накладаються на точці доступу. модуль 17
точка доступу— access point
Пристрій, що з'єднує бездротових клієнтів Wi-Fi із проводовою мережею й координує доступ до ефіру. модуль 17
SSID— SSID
Назва бездротової мережі, яку оголошують точки доступу. Одна назва може належати багатьом точкам доступу. модуль 17
WPA3— WPA3
Сучасний захист Wi-Fi, що замінює обмін паролем на SAE, вимагає захисту службових кадрів і не дає підбирати пароль офлайн за перехопленим обміном. модуль 17
LPWAN— LPWAN
Клас радіомереж із малим споживанням на великі відстані, що жертвують швидкістю й частотою повідомлень заради дальності та строку служби батареї. модуль 17
LoRaWAN— LoRaWAN
Протокол LPWAN поверх модуляції LoRa, де пристрої передають у ефір, шлюзи ретранслюють кадри IP-мережею, а мережевий сервер прибирає дублікати. модуль 17
коефіцієнт розсіювання— spreading factor
Параметр LoRa (SF7–SF12), який обмінює швидкість передавання на дальність: більший коефіцієнт дає більшу дальність і довший час у ефірі. модуль 17
BLE— Bluetooth Low Energy
Різновид Bluetooth для коротких обмінів із мінімальним споживанням, де дані подаються як характеристики профілю GATT. модуль 17
6LoWPAN— 6LoWPAN
Шар адаптації, що стискає заголовки IPv6 і фрагментує пакети, щоб IPv6 працював поверх малих кадрів IEEE 802.15.4. модуль 17
Thread— Thread
IPv6-мережа з ячеїстою топологією поверх 802.15.4, що сама перебудовує маршрути й виходить у велику мережу через прикордонний маршрутизатор. модуль 17
Matter— Matter
Стандарт застосунків розумного дому, за яким пристрої різних виробників знаходять одне одного й спілкуються через Wi-Fi, Ethernet або Thread. модуль 17
брокер MQTT— MQTT broker
Сервер, що приймає публікації клієнтів і розсилає їх підписникам за топіками, так що видавці й підписники не знають одне про одного. модуль 17
топік— topic
Рядок із рівнями через слеш, що адресує повідомлення в MQTT; підписки можуть містити шаблони `+` (один рівень) і `#` (решта рівнів). модуль 17
рівень якості обслуговування MQTT— MQTT QoS
Гарантія доставки між клієнтом і брокером. 0 - не більше разу, 1 - щонайменше раз, 2 - рівно один раз. модуль 17
повідомлення-заповіт— last will
Повідомлення, яке клієнт заздалегідь передає брокеру, щоб той опублікував його, коли з'єднання обірветься без коректного відключення. модуль 17
CoAP— CoAP
Протокол обмежених пристроїв у стилі HTTP (ресурси, методи, коди відповіді) поверх UDP, із власними підтвердженнями й повторами. модуль 17
spine-leaf— spine-leaf
Топологія датацентру, де кожен leaf-комутатор з'єднаний із кожним spine-комутатором, а сервери підключені лише до leaf. модуль 18
трафік схід–захід— east-west traffic
Трафік між серверами всередині датацентру, на відміну від трафіку «північ–південь» між користувачем і датацентром. модуль 18
оверлей— overlay network
Віртуальна мережа, побудована поверх іншої мережі шляхом інкапсуляції кадрів або пакетів. модуль 18
підкладка— underlay
Фізична маршрутизована мережа, яка переносить інкапсульований трафік оверлеїв і бачить лише зовнішні заголовки. модуль 18
VXLAN— VXLAN
Спосіб оверлею, що загортає Ethernet-кадр у UDP-датаграму (порт 4789) із 24-бітним ідентифікатором мережі. модуль 18
VTEP— VTEP
Вузол, що загортає кадри у VXLAN і розгортає їх на іншому кінці тунелю; це може бути сервер або комутатор. модуль 18
VNI— VNI
24-бітний ідентифікатор віртуальної мережі в заголовку VXLAN, що дає близько шістнадцяти мільйонів мереж. модуль 18
macvlan— macvlan
Віртуальний інтерфейс із власною MAC-адресою поверх фізичного, за допомогою якого контейнер з'являється в мережі як окрема машина. модуль 18
под— pod
Найменша одиниця запуску в Kubernetes: один або кілька контейнерів зі спільним мережевим простором і власною IP-адресою. модуль 18
CNI— CNI
Інтерфейс, за яким Kubernetes доручає плагіну підключити новий простір імен мережі пода до мережі кластера. модуль 18
Service (Kubernetes)— Kubernetes Service
Стабільна віртуальна адреса й ім'я для множини подів; правила на вузлах переписують її на адресу одного з подів. модуль 18
програмно-визначена мережа— software-defined networking
Підхід, у якому площину керування виносять у центральний контролер, а пристрої лише пересилають пакети за записаними правилами. модуль 18
XDP— XDP
Точка в драйвері мережевої карти, до якої приєднують програму eBPF, що обробляє пакет ще до виділення sk_buff. модуль 18