До списку уроків
8A · Урок 4 з 16

Мережевий паспорт і стенд 5 інтерфейсів

виконано0%
Крок 1

Що робимо сьогодні

Модуль I · тема 2, урок 2 з 2 · 120 хв

Минулого уроку ти дізнався, чим з'єднують пристрої. Сьогодні дізнаєшся числа своєї власної мережі.

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

Кожне число там ти заміряєш сам. Списати їх не вийде.

Після уроку ти вмієш

Хід уроку

ЕтапХвЩо робимо
Перевірка ДЗ15Розрахунок часу передавання, пастка «біт vs байт»
Мережевий паспорт15ip a: ім'я, MAC, IP, маска
Шлях до сайту15traceroute і стрибки маршруту
Затримка15ping, RTT, TTL, втрати пакетів
Перерва10
Заміри швидкості25curl -w × 3, середнє, журнал через tee
Стенд 5 інтерфейсів15Таблиця data-iface + відповіді задачі
Кросчек однокласника5curl -sI і читання заголовків
Автоперевірка і підсумок5check 02, ДЗ
Разом120
Головне правило уроку Кожне число в паспорті ти заміряв сам. Вигадане або списане число чекер ловить: він звіряє твої заміри з реальними можливостями каналу.
Чому тека зветься lesson-02, а урок — четвертий Теки практики звуться за темою, а не за номером уроку. Тема 2 — це уроки 3 і 4, і обидва складають роботу в одну теку lesson-02/. Не шукай lesson-04: її немає.
Крок 2

Спершу — домашня задача

Одна помилка тут псує всі подальші заміри у 8 разів

Нагадаємо головну пастку минулого уроку. Через неї помиляються рівно у вісім разів.

Канал міряють у бітах за секунду. Це Мбіт/с і Гбіт/с.

Файли міряють у байтах. Це МБ і ГБ. А в байті вісім бітів.

Тому перед діленням розмір файлу завжди множать на вісім. Забув помножити — отримав відповідь у вісім разів меншу.

Формула час (с) = розмір файлу × 8 ÷ швидкість каналу
де розмір у мегабайтах, швидкість у мегабітах за секунду.

Фільм 4,7 ГБ трьома каналами

4,7 ГБ = 4700 МБ. Множимо на 8: 37 600 Мбіт. Тепер ділимо.

КаналШвидкістьЧасЦе скільки
USB 2.0480 Мбіт/с78 сперерва між уроками
Ethernet 1 Гбіт/с1000 Мбіт/с38 споки ти йдеш до дошки
Bluetooth 5.02 Мбіт/с18 800 с5 годин 13 хвилин

Це теоретична межа. Реально вийде на 20–40% менше.

Куди дівається решта? На три речі. Кожен шматок даних везе службовий заголовок — це як адреса на конверті.

Далі, той бік підтверджує кожен прийнятий шматок. Ці підтвердження теж займають канал.

І нарешті, частина шматків губиться в дорозі. Їх доводиться слати наново.

Питання

Провайдер обіцяв 100 Мбіт/с. Ти качаєш файл, а браузер показує швидкість «12 МБ/с». Тебе обманюють?

Крок 3

Мережевий паспорт машини

Хто ти в мережі: ім'я інтерфейсу, MAC, IP, маска

Комп'ютер у мережі має паспорт. Там записано, хто він і де його шукати.

Показує цей паспорт команда ip a. З першого погляду вивід виглядає страшно.

Насправді важливих рядків там п'ять. Розберемо кожен окремо.

$ ip a 2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 link/ether 08:00:27:3f:a1:0c brd ff:ff:ff:ff:ff:ff inet 192.168.1.37/24 brd 192.168.1.255 scope global wlp3s0 ім'я інтерфейсу wl… — Wi-Fi, en… — кабель, lo — петля 127.0.0.1 UP, LOWER_UP інтерфейс живий UP — увімкнено, LOWER_UP — кабель або сигнал є mtu 1500 розмір найбільшого пакета 1500 байтів; більше — ріжеться на частини 08:00:27:3f:a1:0c MAC-адреса плати 6 байтів = 48 бітів; перші 3 — код виробника 192.168.1.37/24 IP-адреса і маска /24 — перші 24 біти номер мережі, останні 8 — номер пристрою: 254 адреси на всю мережу

Для журналу зручніший коротший варіант тієї самої команди. Він друкує лише три речі: ім'я, стан і адресу.

мережевий паспорт, коротко
$ ip -br a lo UNKNOWN 127.0.0.1/8 ← петля: машина сама із собою enp0s3 DOWN ← кабель не встромлено wlp3s0 UP 192.168.1.37/24 ← ось твоя робоча адреса

Чому в тебе й у сусіда схожі адреси

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

Адреси на 192.168., 10. і 172.16–31. звуться приватними. Їх спеціально відклали для домашніх і шкільних мереж.

В інтернет такі адреси не виходять узагалі. Вони працюють лише всередині одного будинку.

Це як номер квартири. У кожному домі є квартира номер 5, і поштар не плутається.

Назовні тебе випускає роутер. Він підставляє одну спільну адресу на всіх мешканців.

Ця підміна зветься NAT. Свою спільну адресу можна побачити однією командою.

яку адресу бачить сайт
$ curl -s https://api.ipify.org; echo 91.202.128.44 ← одна на весь твій дім або школу
Питання

У тебе 192.168.1.37, у сусіда по парті — 192.168.1.42. Сайт у логах бачить вас обох як 91.202.128.44. Чому?

Крок 4

Куди насправді йде твій запит

Між тобою і сайтом — не дріт, а ланцюжок маршрутизаторів

Здається, ніби між тобою і сайтом простягнутий один довгий дріт. Насправді ні.

Твій запит їде з пересадками, як автобусом через усе місто. Кожна пересадка зветься стрибок.

Спершу роутер удома. Далі обладнання провайдера. Далі магістраль і точка обміну. І аж потім сервер.

Кожен стрибок додає частку мілісекунди. А якщо це інший континент — то й десятки мілісекунд.

ТВОЯ МЕРЕЖА ІНТЕРНЕТ твій ПК 192.168.1.37 роутер 192.168.1.1 провайдер 10.132.0.1 точка обміну 62.140.239.5 сервер сайту 185.65.204.10 старт стрибок 1 1.4 ms стрибок 2 7.8 ms стрибок 3 19.6 ms стрибок 4 24.8 ms Трюк traceroute: перший пакет має TTL = 1 і «помирає» вже на роутері, який змушений відповісти. Другий має TTL = 2 і помирає на наступному вузлі. Так по черзі озиваються всі стрибки маршруту.
увесь шлях до сервера
$ traceroute -m 15 91.219.61.4 1 192.168.1.1 1.4 ms ← твій роутер, він поруч 2 10.132.0.1 7.8 ms ← перший вузол провайдера 3 * * * ← вузол мовчить, але маршрут цілий 4 62.140.239.5 19.6 ms ← точка обміну трафіком 5 185.65.204.10 24.8 ms ← сервер: доїхали

Як читати вивід. Номер зліва — це номер пересадки. Поруч адреса вузла й час відповіді.

Тепер найцікавіше. Шукай, де час різко підскочив між сусідніми рядками. Саме там і сидить затримка.

Рядок * * * лякає, але означає дрібницю. Цей маршрутизатор просто налаштований мовчати у відповідь на службові пакети.

Дивись на рядки після нього. Вони нормальні — отже, з маршрутом усе гаразд.

Ключ -m 15 обмежує пошук п'ятнадцятьма стрибками. Без нього чекати доведеться довго.

Питання

У твоєму traceroute третій рядок — * * *, а стрибки 4–9 відповіли нормально і сайт відкривається. Що це означає?

Крок 5

Затримка: ping

Скільки часу пакет летить туди й повертається назад

Крикни в горах і порахуй секунди до відлуння. Приблизно так працює команда ping.

Вона шле серверу маленький пакет і чекає, поки той його поверне. Час засікається на секундомір.

Важливо: це час у обидва боки, туди й назад. Такий час зветься RTT.

п'ять пакетів і статистика
$ ping -c 5 91.219.61.4 64 bytes from 185.65.204.10: icmp_seq=1 ttl=54 time=24.8 ms 64 bytes from 185.65.204.10: icmp_seq=2 ttl=54 time=25.1 ms 64 bytes from 185.65.204.10: icmp_seq=3 ttl=54 time=26.9 ms --- 91.219.61.4 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 24.6/25.4/26.9/0.81 ms
Що у виводіЯк читати
-c 5надіслати рівно 5 пакетів і зупинитися, інакше ping працює нескінченно
icmp_seqномер пакета. Пропущений номер = пакет загубився дорогою
ttl=54скільки стрибків пакету ще дозволено. Linux стартує з 64, отже 64 − 54 = 10 маршрутизаторів позаду
time=24.8 msчас обороту цього конкретного пакета
0% packet lossнайважливіший рядок: жоден пакет не загубився
min/avg/max/mdevнайменший, середній, найбільший час і розкид. Великий mdev = нестабільний канал

Скільки — це багато

відмінно грати можна помітно боляче 0 30 80 150 300 мс 1–2 мс — сусідній комп'ютер у класі 10–20 мс — сервер у Києві 40–70 мс — сервер у Європі 100–140 мс — сервер у США 180+ мс — мобільний інтернет у русі будь-який пінг + втрати — шукай причину Нижню межу задає фізика: в оптоволокні сигнал іде ≈ 200 000 км/с, тож Київ — Нью-Йорк це щонайменше ≈ 75 мс.

Нижню межу пінгу задає не тариф, а фізика. Порахуємо разом.

До Нью-Йорка приблизно 7600 км. Туди й назад — 15 200 км.

Світло в оптоволокні йде 200 000 км за секунду. Ділимо: виходить 0,076 секунди, тобто 76 мс.

Швидше не буде ніколи. Хоч який тариф купи.

Питання

Пінг до ігрового сервера в іншій країні — 180 мс, а до сусіднього комп'ютера в класі — 2 мс. Де проблема?

Втрати важливіші за середнє. Це головна думка розділу.

Порівняй два канали. Перший: пінг 25 мс, але 10% пакетів губиться. Другий: пінг 60 мс і жодних втрат.

Для гри чи дзвінка кращий другий. Здається дивним, але пояснення просте.

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

Питання

У грі тебе постійно «телепортує», хоча ping -c 50 показує середні 25 мс. У рядку статистики бачиш 12% packet loss. Твій висновок?

Крок 6

Заміри швидкості й журнал

Три заміри, середнє — і все це одразу у файл

Швидкість каналу не вгадують. Її міряють: качають справжній файл і засікають час.

Робити це вміє програма curl. Вона качає файл, друкує середню швидкість, а сам файл на диск не кладе.

один замір
$ curl -o /dev/null -s -w '%{speed_download}\n' http://91.219.61.4/media/test10.bin 4380000
Частина командиНавіщо
-o /dev/nullзавантажене нікуди не зберігати. Файл нам не потрібен — потрібна швидкість
-sбез смужки прогресу, щоб у виводі лишилося тільки число
-w '%{speed_download}'надрукувати середню швидкість завантаження
\nперевести рядок, інакше три заміри злипнуться в один
Одиниця, через яку губиться половина класу speed_download видає байти за секунду, а не мегабіти. Переведення: Б/с × 8 ÷ 1 000 000 = Мбіт/с. Наш замір: 4 380 000 × 8 ÷ 1 000 000 = 35,0 Мбіт/с.

Один замір нічого не доводить. Саме в цю секунду міг щось качати сусід. Або сервер задумався.

Так само міряють зріст: не один раз, а кілька, і беруть середнє. Тому робимо три заміри.

три заміри поспіль
$ for i in 1 2 3; do curl -o /dev/null -s -w '%{speed_download}\n' http://91.219.61.4/media/test10.bin; done 4380000 4512000 4106000 # середнє: (4380000+4512000+4106000)/3 = 4332667 Б/с ≈ 34,7 Мбіт/с

Сторінка відкривалася 0,12 секунди. А на що саме пішов цей час?

Той самий curl уміє розкласти його на частини. Окремо з'єднання, окремо очікування першого байта від сервера.

з чого складається час відповіді
$ curl -o /dev/null -s -w 'connect: %{time_connect}\nfirst byte: %{time_starttransfer}\ntotal: %{time_total}\n' http://91.219.61.4/ connect: 0.028 ← дозвонилися до сервера first byte: 0.094 ← сервер подумав і почав віддавати total: 0.121 ← усе завантажилося

Свої числа варто з чимось звірити. Для цього є окрема програма — speedtest.

Вона сама качає й віддає тестовий файл на найближчий сервер. Потім показує три числа. Download — скільки прийняла. Upload — скільки віддала. Ping — той самий RTT: за скільки пакет злітав до сервера й повернувся назад.

На сервері її можуть і не встановити, це не біда. Якщо вона є — запусти й порівняй Download зі своїм числом від curl. Але порівнювати можна лише однакові одиниці: speedtest каже мегабіти за секунду, а curl — байти. Тому спершу помнож число curl на 8 і поділи на мільйон — і аж тоді став його поруч із Download. Наші 4 380 000 Б/с — це 35,0 Мбіт/с, отже порядок величини збігається.

перевірка порядку величин
$ speedtest --simple Ping: 23.4 ms Download: 34.9 Mbit/s ← твої 4 380 000 Б/с × 8 ÷ 1 000 000 = 35,0 — збігається Upload: 11.2 Mbit/s
Питання

Твій curl -w '%{speed_download}' видав 4380000. Який рядок правильно записати у speed.txt?

Журнал: як зберегти вивід і не втратити його з екрана

Вивід команди живе на екрані недовго. Закрив вікно — і немає. Тому його кладуть у файл.

Способів чотири, і різниця між ними важлива. Саме на ній щороку губиться чиясь робота.

ЗаписЩо робитьВидно на екрані
команда > файлкладе у файл, стираючи все, що там булоні
команда >> файлдописує в кінець файлуні
команда | tee файлкладе у файл, стираючи старетак
команда | tee -a файлдописує в кінець файлутак

Слово tee означає трійник — таку деталь ставлять на трубу. Вода приходить одна, а виходить у два боки.

Команда робить те саме з текстом. Одна копія йде на екран, друга лягає у файл.

Тому паспорт збирають саме через tee. Ти бачиш, що записалося, і одразу помічаєш помилку.

перший запис у журнал: створює файл наново
$ mkdir -p ~/data/lesson-02 && ip a | tee ~/data/lesson-02/net.log 2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 inet 192.168.1.37/24 brd 192.168.1.255 scope global # те саме тепер лежить у ~/data/lesson-02/net.log
усі наступні — обов'язково з -a, інакше журнал зітреться
$ ping -c 5 91.219.61.4 | tee -a ~/data/lesson-02/net.log $ traceroute -m 15 91.219.61.4 | tee -a ~/data/lesson-02/net.log $ wc -l ~/data/lesson-02/net.log 27 /home/ТВІЙ-ЛОГІН/data/lesson-02/net.log ← журнал росте
Що ти здаєш Готовий журнал копіюється по FTP у ~/www/lesson-02/assets/net.log. У ньому має бути твоя IP-адреса, рядок із ttl= і список стрибків маршруту. Це і є мережевий паспорт.
Питання

Ти зробив ping ... > net.log, потім traceroute ... > net.log. Відкриваєш файл — там лише traceroute, ping зник. Що сталося?

Крок 7

Чому Wi-Fi повільніший за кабель

Причина не в тому, що «радіо гірше», а в тому, що воно одне на всіх

Кабель Ethernet свій провід — і він твій цілком Wi-Fi одне радіо на всіх, і воно одне твій ПК роутер обидва напрями одночасно роутер ноут телефон ТБ стіна говорить один, решта чекає уся смуга твоя — у дроті більше нікого приймання й передавання йдуть різними парами жил, тому не заважають одне одному до 100 м без утрати швидкості 1000 Мбіт/с заявлено — і майже стільки ж виходить насправді усі пристрої ділять один канал і говорять по черзі, а не одночасно радіо в один момент або приймає, або передає — половина часу йде на «зачекай» стіна чи відстань → пристрій переходить на повільніший режим, і черга гальмує для всіх 866 Мбіт/с заявлено — реально близько половини

На коробці роутера написано велике число. Воно чесне, але міряли його в тепличних умовах.

Умови такі: пристрій один, стін немає, сусіди мовчать. У класі з 25 машинами такого не буває ніколи.

І головне. Канал до роутера й канал до провайдера — це різні речі.

Wi-Fi на 866 Мбіт/с при тарифі 50 Мбіт/с дасть тобі рівно 50. Ланцюг рветься там, де тонко.

Питання

Ти сидиш за метр від роутера, Wi-Fi показує з'єднання 866 Мбіт/с, а файл із сервера йде 40 Мбіт/с. Де вузьке місце?

Крок 8

Стенд 5 інтерфейсів

Порядки величин, які треба знати напам'ять

Ці числа ти перенесеш у свою таблицю на сторінці.

Одна вимога до запису. Швидкість пиши числом і одиницею: «480 Мбіт/с». Слова «дуже швидко» перевірка не розпізнає.

ІнтерфейсШвидкістьДальністьЖивленняЩо передає
USB 2.0480 Мбіт/с5 м2,5 Втдані + живлення
HDMI 2.018 Гбіт/с5–10 мнівідео + звук
Ethernet 1000BASE-T1000 Мбіт/с100 мPoE до 30 Втдані
Wi-Fi 5 (802.11ac)до 866 Мбіт/с10–30 мнідані
Bluetooth 5.02 Мбіт/с10 мнідані, звук

Перевіримо ці числа на прикладі. Кабель HDMI 1.4 везе 10,2 Гбіт/с.

Тепер порахуємо картинку 4K при 60 кадрах. Множимо: 3840 × 2160 × 60 × 24 біти. Виходить приблизно 11,9 Гбіт/с.

Уже більше за 10,2. А до цього ще додаються службові дані.

Ось чому 4K@60 у HDMI 1.4 не влазить. А в HDMI 2.0 на 18 Гбіт/с — влазить із запасом.

Розмітка, якої чекає чекер

Перевірка читає твою сторінку автоматично. Щоб вона знайшла потрібні рядки, їх треба підписати.

Кожен рядок таблиці — один інтерфейс. Перевірка має розуміти, який саме, а слова в комірках у всіх різні.

Тому рядок дістає окрему мітку з коротким ключем. Така мітка всередині тега зветься атрибутом: ім'я, знак = і значення в лапках. Наш атрибут зветься data-iface, а ключів рівно п'ять: usb, hdmi, ethernet, wifi, bluetooth.

Ключі не повторюються. Однаковий ключ у двох рядках — і одного з них перевірка не побачить.

фрагмент index.html
<tr data-iface="usb"> <td>USB 2.0</td><td>480 Мбіт/с</td><td>5 м</td><td>2,5 Вт</td><td>дані + живлення</td> </tr> <!-- ключі рядків: usb, hdmi, ethernet, wifi, bluetooth — рівно 5, усі різні --> <p>Фільм 4,7 ГБ летітиме: USB 2.0 — <span data-answer="usb2">78 с</span>, Ethernet — <span data-answer="eth">38 с</span>, Bluetooth — <span data-answer="bt">18800 с</span> </p>
Питання

Треба з'єднати два комп'ютери в сусідніх кабінетах — між ними 40 метрів — так, щоб швидкість була стабільною і не залежала від сусідів. Що обираєш?

Крок 9

Кросчек: перевіряємо однокласника

Сервер відповідає заголовками ще до того, як віддасть сторінку

Перш ніж віддати сторінку, сервер надсилає кілька службових рядків. Це заголовки відповіді.

У них написано головне: чи є сторінка, який у неї розмір і коли її востаннє міняли.

Попросити самі лише заголовки можна ключем -I. Це найшвидший спосіб перевірити чужий сайт.

У кожного в класі своя адреса всередині спільного домену школи — на зразок 91.219.61.4/s/ivanenko.i.8a. Таку адресу-прибудову звуть сабдоменом.

Кросчек роблять у парах: твою пару — однокласника, чию сторінку ти перевіряєш, — називає вчитель. Візьми його логін зі списку й підстав на початок адреси.

кросчек сабдомена однокласника
$ curl -sI http://91.219.61.4/s/ЛОГІН-ПАРИ/ | tee ~/www/lesson-02/assets/peer.txt HTTP/2 200 ← сторінка є і віддається content-type: text/html; charset=UTF-8 content-length: 2184 ← розмір у байтах last-modified: Tue, 02 Sep 2025 09:41:12 GMT server: nginx
КодЩо означаєЩо робити
200усе гаразд, сторінка віддаєтьсянічого, зарахуй сусідові
301 / 302сервер переадресовує на іншу адресудодай -L, щоб curl пішов за переадресацією
403файл є, але прав на читання немаєсусідові треба chmod 644
404сервер працює, а файла за адресою немаєшукати index.html не в тій теці або з великої літери
500помилка на самому серверікликати вчителя
Найчастіша помилка кросчеку Учень робить curl -sI на власний сабдомен. Чекер це бачить одразу: у peer.txt має бути чужий логін зі списку класу. Пари роздає вчитель.
Питання

curl -sI на сторінку однокласника повернув HTTP/2 404. Що ти йому скажеш?

Крок 10

Практика: збираємо паспорт

Виконуй по черзі. Галочки зберігаються — сторінку можна закрити.

Де що лежить Тестовий файл 10 МБ ти качаєш до себе на комп'ютер і на сервер його не повертаєш. На сервер ідуть тільки текстові файли: net.log, speed.txt, peer.txt і index.html.
Крок 11

Автоперевірка

Система зайде у твій акаунт і подивиться, що ти справді зробив. Спроби не обмежені.

Демонстраційний режим: результат згенеровано для показу. На сервері ця кнопка викликає POST /api/check, який запускає чекер уроку від імені учня.

Що вчитель дивиться на екрані

Типові помилки цього уроку

Крок 12

Шкала виконання

Це те, що бачить учитель, коли виставляє оцінку.

СкладникВагаРезультат
Виконано
0%
Рекомендований бал за 12-бальною

Дві тези теми

  1. Інтерфейс обирають за трьома числами: скільки треба передати, як швидко і на яку відстань.
  2. Будь-яке твердження про мережу перевіряється командою за 10 секунд — тому здогадуватися немає сенсу.

Домашнє завдання

Додай на сторінку теми абзац «який інтерфейс я обрав би для монітора 4K».

Обов'язково наведи два числа. Скільки Гбіт/с потребує режим 4K@60 і скільки дає обраний тобою кабель.

Мінімум три речення власного тексту.

Крок 13

Джерела

Звідки взяті числа й описи команд на цій сторінці

Числа швидкостей — теоретичні максимуми зі специфікацій. Реальні заміри завжди нижчі, і саме тому на цьому уроці ми міряємо, а не віримо.