Терміни
Тут зібрані 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