Сети
Основы TCP/IP, DNS, NAT, маршрутизация, BGP, подсети и модель OSI для инженеров эксплуатации.
23 вопросов
JuniorТеорияОчень частоКак устанавливается TCP-соединение трёхсторонним рукопожатием?
Как устанавливается TCP-соединение трёхсторонним рукопожатием?
Клиент отправляет SYN со своим начальным номером. Сервер отвечает SYN-ACK, подтверждая номер клиента и предлагая свой. Клиент шлёт ACK на номер сервера. После трёх сегментов обе стороны синхронизировали номера, и соединение переходит в ESTABLISHED, готовое к данным.
Типичные ошибки
- ✗Путать порядок — это
SYN→SYN-ACK→ACK, инициирует клиент - ✗Думать, что номера последовательностей не обмениваются во время рукопожатия
- ✗Считать, что хватает двух сегментов, а финальный
ACKопционален
Уточняющие вопросы
- →Что такое SYN flood и как он злоупотребляет полуоткрытым состоянием рукопожатия?
- →Чем четырёхстороннее закрытие соединения отличается от трёхстороннего открытия?
MiddleТеорияОчень частоКак DNS разрешает имя хоста и какова роль рекурсивных и авторитетных серверов?
Как DNS разрешает имя хоста и какова роль рекурсивных и авторитетных серверов?
Клиент спрашивает рекурсивный resolver, который при промахе кэша обходит иерархию: корневые серверы указывают на серверы TLD, те — на авторитетные серверы домена, возвращающие запись. Resolver кэширует ответы на срок их TTL. Запросы идут по UDP/53 с откатом на TCP для больших ответов. Рекурсивные resolver делают всю работу; авторитетные серверы владеют записями зоны.
Типичные ошибки
- ✗Менять местами роли рекурсивного и авторитетного серверов
- ✗Забывать, что DNS использует UDP/53 с откатом на TCP для больших ответов
- ✗Игнорировать кэширование по TTL, считая, что каждый поиск обходит всю иерархию
Уточняющие вопросы
- →Когда DNS-запрос переключается с UDP на TCP?
- →Как TTL записи отрицательного кэша (NXDOMAIN) влияет на повторные неудачные поиски?
MiddleТеорияОчень частоНа каких уровнях OSI работают коммутатор, маршрутизатор и SSH?
На каких уровнях OSI работают коммутатор, маршрутизатор и SSH?
Коммутатор работает на уровне 2 (канальный), пересылая Ethernet-кадры по MAC внутри сегмента. Маршрутизатор работает на уровне 3 (сетевой), пересылая IP-пакеты между сетями по IP. SSH — протокол уровня 7 (прикладной). Ловушка: SSH идёт поверх TCP (уровень 4), но сам прикладного уровня, а не транспортного.
Типичные ошибки
- ✗Менять местами роли коммутатора (L2/MAC) и маршрутизатора (L3/IP)
- ✗Помещать SSH на транспортный уровень из-за TCP, а не на прикладной
- ✗Думать, что коммутатор пересылает по IP-адресу, а не по MAC
Уточняющие вопросы
- →Что такое L3-коммутатор и как он размывает границу между коммутатором и маршрутизатором?
- →Почему модель OSI — это абстракция, которой стек TCP/IP следует лишь приблизительно?
MiddleТеорияОчень частоЧем TCP отличается от UDP и почему голос в реальном времени обычно несут по UDP?
Чем TCP отличается от UDP и почему голос в реальном времени обычно несут по UDP?
TCP ориентирован на соединение и надёжен — рукопожатие, упорядочивание, подтверждения, повторы — ценой задержки. UDP без соединения и доставляет «как получится»: без рукопожатия, без повторов, с меньшей задержкой. Голос реального времени предпочитает UDP: поздно переотправленный пакет уже бесполезен, поэтому его отбрасывают, держа задержку низкой — это важнее идеальной доставки.
Типичные ошибки
- ✗Менять свойства местами — надёжный и упорядоченный это TCP; UDP доставляет «как получится»
- ✗Думать, что UDP переотправляет потерянные пакеты, как TCP
- ✗Считать, что голосу нужна идеальная доставка, а не низкая задержка
Уточняющие вопросы
- →Почему head-of-line blocking в TCP вредит трафику, чувствительному к задержке?
- →Какие функции надёжности приложение добавляет поверх UDP (например, в QUIC или RTP)?
JuniorТеорияЧастоЧто такое ARP и как хост сопоставляет IP-адрес с MAC-адресом?
Что такое ARP и как хост сопоставляет IP-адрес с MAC-адресом?
ARP (Address Resolution Protocol) сопоставляет IPv4-адрес с MAC в локальном сегменте. Чтобы достичь IP, хост шлёт ARP-запрос ("у кого этот IP?") на ff:ff:ff:ff:ff:ff; владелец отвечает своим MAC, который кэширует отправитель. ARP работает на уровне 2 в одном broadcast-домене; трафик за него обрабатывают маршрутизаторы.
Типичные ошибки
- ✗Путать ARP (IP↔MAC, уровень 2) с DNS (имя↔IP, прикладной уровень)
- ✗Думать, что ARP работает через маршрутизаторы, а не в пределах одного broadcast-домена
- ✗Считать, что ARP-запрос — unicast, а не broadcast уровня 2
Уточняющие вопросы
- →Что такое ARP spoofing и какие защиты (Dynamic ARP Inspection, статические записи) его смягчают?
- →Как хост разрешает MAC для IP, находящегося в другой подсети?
JuniorТеорияЧастоКак проверить с Linux-хоста, доступен ли удалённый TCP-порт?
Как проверить с Linux-хоста, доступен ли удалённый TCP-порт?
Классический быстрый тест — telnet host port: успешное соединение означает, что порт открыт. Лучше подходят nc -zv host port (netcat, скриптуемый, без отправки данных) и nmap -p port host для сканирования диапазона. ping лишь подтверждает достижимость хоста по ICMP, но не то, что конкретный TCP-порт слушает.
Типичные ошибки
- ✗Считать, что
pingдоказывает открытость конкретного TCP-порта, а не просто достижимость хоста - ✗Думать, что
telnetтолько для удалённых оболочек, а не для проверки TCP-соединения - ✗Путать
traceroute(трассировка пути) с проверкой доступности порта
Уточняющие вопросы
- →Почему порт может быть открыт, но firewall молча отбрасывает SYN, вызывая зависание, а не отказ?
- →Что флаг
-zуказывает делатьncиначе, чем при обычном соединении?
JuniorТеорияЧастоСколько пригодных адресов хостов даёт сеть 10.0.0.0/25?
Сколько пригодных адресов хостов даёт сеть 10.0.0.0/25?
/25 оставляет 7 бит хоста, поэтому 2^7 = 128 адресов всего. Два зарезервированы — адрес сети (10.0.0.0) и broadcast (10.0.0.127) — остаётся 126 пригодных. Общее правило: 2^(32−префикс) всего, минус 2 на сеть и broadcast в IPv4.
Типичные ошибки
- ✗Забыть вычесть адреса сети и broadcast, получив 128 вместо 126
- ✗Неверно считать биты хоста — у
/25их 7, а не 8 - ✗Считать адрес шлюза отдельным резервом помимо сети и broadcast
Уточняющие вопросы
- →Какой длины префикс нужен для подсети не менее чем на 60 хостов?
- →Какая одна суперсеть объединяет 10.0.0.0/24 и 10.0.1.0/24?
MiddleТеорияЧастоПройдите по всему, что происходит при запуске curl https://example.com
Пройдите по всему, что происходит при запуске curl https://example.com
Оболочка находит curl через $PATH. curl разрешает example.com в IP — /etc/hosts, затем DNS по nsswitch.conf (рекурсивный резолвер → корневые → TLD → авторитетный). Он открывает TCP на порт 443 трёхсторонним рукопожатием, затем выполняет TLS-рукопожатие (проверка сертификата, обмен ключами). По этому зашифрованному каналу он шлёт HTTP-запрос; сервер отвечает кодом и телом.
Типичные ошибки
- ✗Пропускать порядок разрешения DNS (
/etc/hosts, затем резолвер) - ✗Забывать, что TLS-рукопожатие идёт после TCP-рукопожатия для
https - ✗Думать, что HTTP-запрос шлётся до установки соединения
Уточняющие вопросы
- →Где встроена проверка TLS-сертификата и из-за чего она падает?
- →Как
nsswitch.confрешает, что опрашивается первым —/etc/hostsили DNS?
MiddleТеорияЧастоКак устанавливается FTP-соединение и почему оно использует два канала?
Как устанавливается FTP-соединение и почему оно использует два канала?
Клиент открывает TCP-соединение трёхсторонним рукопожатием на порт 21 — это управляющий канал для команд и ответов. Передача данных идёт по отдельному каналу данных. В активном режиме сервер подключается обратно к клиенту; в пассивном клиент открывает второе соединение на выбранный сервером порт — пассивный дружит с файрволом/NAT. Разделение управления и данных — отличительная черта FTP.
Типичные ошибки
- ✗Думать, что FTP использует один канал для команд и данных
- ✗Не знать разницы между активным и пассивным режимом
- ✗Забывать, что FTP работает поверх TCP с трёхсторонним рукопожатием
Уточняющие вопросы
- →Почему пассивный FTP проще использовать через NAT на стороне клиента, чем активный?
- →Какую проблему отдельный канал данных создаёт для stateful-файрволов?
MiddleТеорияЧастоЧто такое балансировщик нагрузки и чем различаются round-robin, least-connections и ip-hash?
Что такое балансировщик нагрузки и чем различаются round-robin, least-connections и ip-hash?
Балансировщик нагрузки распределяет входящие запросы между несколькими backend, повышая пропускную способность и доступность. Round-robin шлёт каждый запрос следующему серверу по кругу, игнорируя нагрузку. Least-connections выбирает backend с наименьшим числом активных соединений, что лучше при неравной длительности запросов. Ip-hash отображает IP клиента на фиксированный backend, давая прилипание сессии.
Типичные ошибки
- ✗Думать, что round-robin учитывает нагрузку сервера — он не учитывает
- ✗Считать, что балансировщик уменьшает общий объём работы, а не распределяет его
- ✗Забывать, что прилипание сессии даёт именно ip-hash
Уточняющие вопросы
- →Почему least-connections обгоняет round-robin при сильно разной длительности запросов?
- →Что ломает прилипание ip-hash, когда клиенты за общим NAT или прокси?
MiddleТеорияЧастоЧто такое NAT и чем различаются SNAT, DNAT и PAT?
Что такое NAT и чем различаются SNAT, DNAT и PAT?
NAT переписывает IP-адреса в пакетах, пересекающих границу, отображая приватные адреса в публичные. SNAT переписывает адрес источника, чтобы внутренние хосты делили один публичный IP на исходящих. DNAT переписывает адрес назначения, чтобы опубликовать внутренний сервис за публичным IP. PAT (NAT overload) — это SNAT, который ещё переписывает порты, так что много хостов делят один публичный IP по номеру порта.
Типичные ошибки
- ✗Менять местами переписывание SNAT (источник) и DNAT (назначение)
- ✗Думать, что NAT шифрует или защищает трафик, а не переписывает адреса
- ✗Забывать, что PAT переписывает порты, чтобы много хостов делили один публичный IP
Уточняющие вопросы
- →Почему PAT нужна таблица отслеживания соединений, чтобы верно вернуть ответы?
- →Как NAT усложняет протоколы, встраивающие IP в нагрузку, например FTP?
MiddleТеорияЧастоКак маршрутизатор выбирает next-hop и что такое административная дистанция?
Как маршрутизатор выбирает next-hop и что такое административная дистанция?
Маршрутизатор сопоставляет IP назначения с таблицей маршрутизации и пересылает на next-hop маршрута с самым длинным совпадением префикса — побеждает самый специфичный маршрут. Когда несколько источников дают маршрут к одному префиксу, выбор решает административная дистанция: меньшая дистанция доверенней (connected < static < OSPF < BGP), и маршрутизатор ставит именно её.
Типичные ошибки
- ✗Думать, что побеждает самый короткий префикс, а не самый длинный (специфичный)
- ✗Путать административную дистанцию с числом хопов или метрикой
- ✗Считать, что дистанция ранжирует маршруты внутри одного протокола, а не между источниками
Уточняющие вопросы
- →Как метрика разрешает спор двух маршрутов одного префикса от одного протокола?
- →Почему маршрут хоста
/32предпочтительнее покрывающего/24к тому же назначению?
JuniorТеорияИногдаЧто такое AAA в управлении сетевым доступом и какие протоколы его реализуют?
Что такое AAA в управлении сетевым доступом и какие протоколы его реализуют?
AAA расшифровывается как Authentication (кто вы), Authorization (что вам можно) и Accounting (учёт того, что вы сделали). Сетевые устройства делегируют это центральному серверу, чтобы учётки не настраивать на каждом устройстве. Два основных протокола — RADIUS (UDP, объединяет аутентификацию и авторизацию) и TACACS+ (TCP, разделяет три A и шифрует всю нагрузку, для администрирования устройств).
Типичные ошибки
- ✗Забывать про третью A — Accounting (учёт действий)
- ✗Не знать, что RADIUS использует UDP, а TACACS+ — TCP
- ✗Думать, что каждое устройство хранит учётки локально
Уточняющие вопросы
- →Почему разделение аутентификации и авторизации в TACACS+ лучше подходит для администрирования устройств, чем RADIUS?
- →Что фаза Accounting позволяет оператору восстановить после инцидента?
JuniorТеорияИногдаКакие основные категории DDoS-атак и как каждая перегружает цель?
Какие основные категории DDoS-атак и как каждая перегружает цель?
DDoS-атаки делятся на три слоя. Объёмные (UDP/ICMP-флуд, усиление) забивают канал сырой полосой. Протокольные (SYN-флуд) истощают таблицу соединений или состояние файрвола. Атаки прикладного уровня (HTTP-флуд) шлют похожие на настоящие запросы, съедающие CPU/БД сервера. Каждая бьёт по своему ресурсу, а источник распределён по множеству хостов, чтобы его трудно заблокировать.
Типичные ошибки
- ✗Считать любой DDoS одним видом, а не объёмным/протокольным/прикладным
- ✗Думать, что одно правило файрвола или блок IP останавливает распределённую атаку
- ✗Путать DDoS (отказ в обслуживании) с кражей данных
Уточняющие вопросы
- →Почему атака с усилением (например, DNS-отражение) намного больше собственной полосы атакующего?
- →Почему флуды прикладного уровня труднее фильтровать, чем объёмные?
MiddleТеорияИногдаКакие есть семейства протоколов динамической маршрутизации и чем они отличаются?
Какие есть семейства протоколов динамической маршрутизации и чем они отличаются?
Три семейства. Distance-vector (RIP) делится всей таблицей с соседями и выбирает маршруты по числу хопов — просто, но сходится медленно. Link-state (OSPF) рассылает описания линков, так что каждый маршрутизатор строит карту топологии и считает кратчайший путь (Dijkstra) — быстрая сходимость, больше CPU/памяти. Path-vector (BGP) анонсирует полные AS-path и управляется политикой для межсетевого масштаба. Они меняют простоту на сходимость и масштаб.
Типичные ошибки
- ✗Путать, какое семейство строит карту топологии (link-state), а какое делится таблицами (distance-vector)
- ✗Думать, что все три сходятся с одной скоростью
- ✗Не знать, что BGP — это path-vector, управляемый политикой для межсетевого использования
Уточняющие вопросы
- →Почему OSPF сходится быстрее RIP после отказа линка?
- →Как зоны OSPF и выбор DR/BDR ограничивают рассылку в большом домене?
MiddleТеорияИногдаЧем отличаются L2-коммутатор, L3-коммутатор и маршрутизатор и что содержит ethernet-кадр?
Чем отличаются L2-коммутатор, L3-коммутатор и маршрутизатор и что содержит ethernet-кадр?
L2-коммутатор пересылает ethernet-кадры по MAC-адресу внутри одного широковещательного домена. Маршрутизатор пересылает IP-пакеты между сетями по IP-адресу (L3). L3-коммутатор — это коммутатор с аппаратной маршрутизацией, делает и то и другое быстро. Ethernet-кадр несёт: преамбулу и SFD, MAC получателя, MAC отправителя, EtherType/длину, нагрузку и завершающий CRC (FCS) для обнаружения ошибок.
Типичные ошибки
- ✗Путать, какое устройство пересылает по MAC (L2), а какое по IP (L3)
- ✗Думать, что L3-коммутатор — это просто маршрутизатор с большим числом портов
- ✗Забывать про завершающий CRC/FCS кадра для обнаружения ошибок
Уточняющие вопросы
- →Почему маршрутизатор создаёт новый широковещательный домен, а L2-коммутатор — нет?
- →Что поле EtherType сообщает получателю о полезной нагрузке кадра?
MiddleДебаггингИногдаping одного домена получает ответы от чужого хоста — определите причину
ping одного домена получает ответы от чужого хоста — определите причину
Разрешение имени переопределено локально. ping разрешает имя через nsswitch.conf, который обычно проверяет /etc/hosts до DNS — так что статическая запись там (сопоставляющая shop.example.com неверному IP) побеждает ответ DNS. Расхождение IP у ping и nslookup это подтверждает, ведь nslookup спрашивает DNS напрямую. Фикс: почистить /etc/hosts и выяснить, как появилась запись.
Типичные ошибки
- ✗Забывать, что
/etc/hostsопрашивается до DNS черезnsswitch.conf - ✗Не замечать, что расхождение
nslookup(прямой DNS) сpingуказывает причину - ✗Винить удалённый DNS-сервер, когда переопределение локальное
Уточняющие вопросы
- →Как
nsswitch.confопределяет порядокfiles(hosts) иdns? - →Почему неожиданную запись в
/etc/hostsстоит считать инцидентом безопасности?
MiddleТеорияИногдаЧто такое Path MTU Discovery и почему блокировка ICMP его ломает?
Что такое Path MTU Discovery и почему блокировка ICMP его ломает?
Path MTU Discovery находит наибольший пакет, проходящий по пути без фрагментации. В IPv4 отправитель ставит флаг Don't-Fragment; маршрутизатор с малым MTU линка отбрасывает пакет и возвращает ICMP «fragmentation needed» с меньшим MTU, и отправитель уменьшает размер. Если файрвол блокирует этот ICMP, пакеты молча пропадают и соединения зависают (чёрная дыра). В IPv6 фрагментации в пути нет, он целиком полагается на PMTUD.
Типичные ошибки
- ✗Не знать, что PMTUD опирается на ICMP-сообщения «fragmentation needed»
- ✗Думать, что заблокированный ICMP влияет лишь на ping, а не на связность
- ✗Думать, что IPv6 фрагментирует в пути как IPv4
Уточняющие вопросы
- →Как проявляется чёрная дыра PMTUD — мелкие запросы идут, а большие передачи зависают?
- →Почему IPv6 перекладывает фрагментацию на отправителя, а не на маршрутизаторы?
SeniorТеорияИногдаЧем iBGP отличается от eBGP и почему iBGP требует full-mesh или route reflectors?
Чем iBGP отличается от eBGP и почему iBGP требует full-mesh или route reflectors?
eBGP работает между разными автономными системами; iBGP — между маршрутизаторами внутри одной AS. Ключевое правило: маршрутизатор не переанонсирует выученный по iBGP маршрут другому iBGP-соседу, предотвращая петли внутри AS. Поэтому каждый iBGP-узел должен пириться с каждым — full-mesh — или использовать route reflectors, которым можно передавать iBGP-маршруты дальше и масштабировать AS без N² сессий.
Типичные ошибки
- ✗Путать, какой из них (iBGP или eBGP) работает внутри AS, а какой между ними
- ✗Не знать, что iBGP-маршруты не переанонсируются другим iBGP-соседям
- ✗Считать route reflectors апгрейдом производительности, а не решением распространения
Уточняющие вопросы
- →Как конфедерации дают альтернативу route reflectors для масштабирования iBGP?
- →Почему eBGP опирается на атрибут AS-path для защиты от петель, а iBGP не может?
SeniorТеорияИногдаКакие атрибуты BGP управляют выбором маршрута и как влиять на входящий и исходящий трафик?
Какие атрибуты BGP управляют выбором маршрута и как влиять на входящий и исходящий трафик?
BGP выбирает путь, прогоняя атрибуты по порядку: наибольший weight (локальный), затем local-preference, локально порождённый, кратчайший AS-path, ниже origin, ниже MED, eBGP над iBGP, ниже IGP-метрика и тай-брейкеры. Чтобы рулить своим исходящим трафиком, задают local-preference (он остаётся внутри AS). Чтобы влиять на входящий, воздействуют на предпочтения других — удлинение AS-path, MED или communities — это сложнее, ведь выбор за ними.
Типичные ошибки
- ✗Путать, какой атрибут локальный (local-pref), а какой анонсируется
- ✗Думать, что входящим трафиком рулить так же легко, как исходящим
- ✗Забывать строгий порядок, в котором BGP оценивает атрибуты
Уточняющие вопросы
- →Почему local-preference управляет исходящим трафиком, но не входящим?
- →Как BGP communities позволяют сигнализировать намерение маршрутизации соседней AS?
SeniorТеорияИногдаКак устанавливается IPsec site-to-site туннель и чем различаются tunnel и transport mode?
Как устанавливается IPsec site-to-site туннель и чем различаются tunnel и transport mode?
IPsec устанавливается через IKE в две фазы. Фаза 1 (IKE SA) аутентифицирует пиров (pre-shared key или сертификаты) и строит защищённый канал через обмен Diffie-Hellman. Фаза 2 (IPsec SA) согласует data SA и ключи для ESP/AH. Tunnel mode шифрует весь исходный IP-пакет под новым внешним заголовком — для site-to-site шлюзов. Transport mode защищает только нагрузку, сохраняя исходный заголовок — host-to-host.
Типичные ошибки
- ✗Забывать, что IKE идёт в две отдельные фазы до передачи данных
- ✗Менять местами tunnel mode (новый внешний заголовок) и transport mode (только нагрузка)
- ✗Думать, что IPsec работает поверх TCP, а не своих протоколов ESP/AH
Уточняющие вопросы
- →Почему обмен Diffie-Hellman в Фазе 1 даёт forward secrecy?
- →Почему tunnel mode IPsec усложняет NAT и чем помогает NAT-T?
SeniorТеорияИногдаЧто такое overlay-сеть и чем различаются технологии туннелирования MPLS и VXLAN?
Что такое overlay-сеть и чем различаются технологии туннелирования MPLS и VXLAN?
Overlay — это виртуальная сеть поверх физической (underlay), построенная инкапсуляцией трафика в туннели, что отвязывает логическую топологию от проводки. MPLS метит пакеты и пересылает по label-switched-путям в ядре провайдера/WAN — быстро, с traffic engineering. VXLAN инкапсулирует L2-ethernet-кадры в UDP/IP, растягивая L2-сегменты по L3-фабрике в дата-центрах и масштабируясь до 16M сегментов против 4094 у VLAN.
Типичные ошибки
- ✗Путать overlay с underlay, поверх которого он работает
- ✗Менять местами роли MPLS (метки/WAN) и VXLAN (L2-в-UDP/дата-центр)
- ✗Не знать, что VXLAN масштабирует сегменты далеко за пределы 4094 у VLAN
Уточняющие вопросы
- →Почему 24-битный VNI у VXLAN важен для мультитенантных дата-центров?
- →Как traffic engineering в MPLS направляет потоки иначе, чем кратчайший путь IGP?
SeniorТеорияИногдаЧем таблица маршрутизации (RIB) отличается от таблицы пересылки (FIB)?
Чем таблица маршрутизации (RIB) отличается от таблицы пересылки (FIB)?
RIB (Routing Information Base) — это таблица control-plane со всеми маршрутами от всех протоколов — возможно, несколько кандидатов на префикс — чтобы выбрать лучший путь. FIB (Forwarding Information Base) — таблица data-plane, очищенные лучшие пути для пересылки пакетов, прошитые в железо (TCAM) для поиска на скорости линка. ECMP даёт FIB равнозатратные next-hop. Control plane выбирает; data plane пересылает.
Типичные ошибки
- ✗Путать, какая таблица control-plane (RIB), а какая data-plane (FIB)
- ✗Не знать, что FIB прошивается в железо (TCAM) для поиска на скорости линка
- ✗Думать, что RIB пересылает пакеты напрямую
Уточняющие вопросы
- →Почему RIB может держать несколько маршрутов к префиксу, а FIB — лишь выбранные?
- →Как ECMP в FIB распределяет потоки по равнозатратным next-hop?