Сети. Материал. База
Эта статья была сделана для нашего прекрасного телеграмм канала PLR.
В этой статье вы найдёте и получите знания про:
- Модель TCP/IP — 4 уровня стека протоколов и за что каждый отвечает
- DNS — как работает преобразование доменов в IP-адреса, типы записей (A, AAAA, CNAME, MX, NS, TXT, PTR)
- Основные сетевые порты — стандартные порты популярных сервисов
- Книги по сетям — от базовых (Таненбаум, Олифер) до продвинутых (Stevens, Unix Network Programming)
- Видеокурсы — бесплатные (freeCodeCamp, Professor Messer, Jeremy's IT Lab) и платные (Coursera, Udemy, Pluralsight)
- Практика и лаборатории — симуляторы (Packet Tracer, GNS3, EVE-NG) и онлайн-площадки (TryHackMe, HackTheBox)
- Инструменты — анализ трафика (Wireshark, tcpdump), сканирование (Nmap, Masscan, Netcat, Hping3), DNS-разведка (dig, dnsrecon, sublist3r)
- Онлайн-ресурсы — сайты, блоги, RFC-документация, YouTube-каналы для изучения сетей
- Сертификации — Network+, CCNA, Security+, CCNP как ориентиры для структурированного обучения
(Если честно, при написании статьи (ПРЯМ В КОНЦЕ, НУ ЁМАЁ) я случайно вышел, и она не сохранилась, поэтому статья будет не самой качественной, как в первоначальной версии, которой уже нет. но я постараюсь.)
Модель TCP/IP
В основе современного интернета лежит стек протоколов TCP/IP. В отличие от теоретической 7-уровневой модели OSI, TCP/IP состоит из 4 уровней и гораздо более практичен.
Модель иерархическая, при отправке данные проходят каждый уровень сверху вниз (инкапсуляция), при получении снизу вверх (деинкапсуляция).
Канальный уровень
Задача: передача данных в пределах одной физической сети (LAN) и управление доступом к среде передачи (кабель, радиоволны). Здесь объединяется физическая передача сигналов и логическая организация кадров.
Адресация: в самых распространённых технологиях (Ethernet, Wi-Fi) используются аппаратные MAC-адреса.
Примеры: Ethernet, Wi-Fi (802.11), PPP (Point-to-Point Protocol).
Сетевой уровень
Задача: глобальная маршрутизация пакетов между разными сетями (интерсеть). Именно этот уровень позволяет пакету из вашей домашней сети добраться до сервера на другом континенте.
Адресация: логическая, с помощью IP-адресов (IPv4 и IPv6).
Основной протокол: IP. Он не гарантирует доставку пакета, просто передаёт его дальше согласно таблице маршрутизации (или отбрасывает, если маршрута нет). Гарантий нет.
Вспомогательные протоколы: ICMP (Internet Control Message Protocol) для служебных сообщений и ошибок (на нём работают ping и traceroute).
Нюанс: протоколы маршрутизации (OSPF, BGP и др.) решают задачу этого уровня (строят таблицы маршрутов), но сами работают поверх IP или TCP и логически находятся выше.
Транспортный уровень
Задача: доставка данных между конкретными приложениями (процессами) на устройствах. Для этого используются порты (например, 80 для HTTP, 22 для SSH), которые позволяют различать трафик разных программ на одном устройстве.
Протоколы:
TCP — надёжная доставка с установлением соединения (3-way handshake).
Гарантирует порядок пакетов, контролирует перегрузку сети и запрашивает повторную отправку потерянных данных. Подходит для сайтов, файлов, почты.
UDP — быстрая доставка без установления соединения и без гарантий.
Не запрашивает повторную отправку при потере пакета — просто перекладывает эту задачу на приложение. Подходит для видеозвонков, онлайн-игр и DNS-запросов.
Прикладной уровень
Задача: протоколы, с которыми напрямую работают пользовательские приложения. На этом уровне данные приобретают конечный смысл (веб-страница, письмо, видео). Кодирование и/или шифрование обеспечиваются надстройками (например, TLS).
Примеры:
• HTTP / HTTPS — веб
• SSH — удалённый доступ
• FTP / SFTP — передача файлов (SFTP работает поверх SSH)
• SMTP / POP3 / IMAP — электронная почта
• DNS — преобразование доменных имён в IP
• DHCP — автоматическая выдача сетевых настроек
DNS
Преобразует доменные имена (например, google.com) в IP-адреса.
Как работает:
Клиент отправляет запрос DNS-резолверу. Резолвер сначала проверяет свой кэш. Если записи нет он обращается к корневым серверам (.), потом к TLD-серверам (.com) и наконец (свершилось!) к авторитетным серверам домена. В ответ возвращается IP-адрес.
Основные типы записей:
CNAME — псевдоним (алиас) другого имени
MX — почтовые серверы
NS — серверы имён зоны
TXT — текстовые данные (SPF, DKIM, DMARC, верификация)
PTR — обратная запись (IP → домен) в зонах in-addr.arpa / ip6.arpa
Порт 53: обычно UDP для обычных запросов; TCP для больших ответов и некоторых операций.
Важные порты
Часто используемые:
21 (FTP), 22 (SSH), 23 (Telnet)
25 (SMTP), 53 (DNS), 80 (HTTP), 110 (POP3)
143 (IMAP), 443 (HTTPS), 993 (IMAPS), 995 (POP3S)
3306 (MySQL), 3389 (RDP) , 5432 (PostgreSQL), 8080 (альтернативный HTTP)
Исчерпывающий материал по сетям
Книги
Базовый уровень:
- "Компьютерные сети" — Эндрю Таненбаум. Классический учебник, покрывает все уровни от физического до прикладного. Подробно, академично, фундаментально. Издательство Питер PDF-версия
- "TCP/IP Illustrated, Volume 1: The Protocols" — W. Richard Stevens. Библия сетевых протоколов. Разбирает каждый протокол с примерами реального трафика в Wireshark. Amazon Wikipedia
- "Сети для чайников" — Лоуренс Миллер. Простое введение для новичков. ЛитРес (автор Lawrence Miller)
Продвинутый уровень:
- "TCP/IP Illustrated, Volume 2: The Implementation" — Gary R. Wright, W. Richard Stevens. Как TCP/IP реализован в BSD Unix. Для тех, кто хочет понимать сети на уровне ядра ОС. Amazon Книга бесплатно
- "Unix Network Programming, Volume 1: The Sockets Networking API" — W. Richard Stevens. Программирование сетевых приложений на C. Raw sockets, системные вызовы. Amazon Wikipedia Официальный сайт PDF на GitHub
- "Network Warrior" — Gary A. Donahue. Практическое руководство по реальным сетям: Cisco, VLAN, маршрутизация, безопасность. Amazon O'Reilly Goodreads
На русском:
- "Компьютерные сети. Принципы, технологии, протоколы" — Олифер В.Г., Олифер Н.Г. Хороший русскоязычный учебник. Издательство Питер (7-е издание) Читай-город (Юбилейное издание) Хабр (обзор) PDF-версия
Видеокурсы
Бесплатные:
- Computer Networking Course - Network Engineering (freeCodeCamp на YouTube) — 9-часовой курс на английском, покрывает всё от основ до продвинутых тем. Анонс курса YouTube канал freeCodeCamp
- Professor Messer's Network+ Training Course (YouTube) — бесплатный курс для сертификации CompTIA Network+. Хорошо структурирован. Официальный сайт (N10-009) Официальный сайт (N10-008)
- Jeremy's IT Lab - Free CCNA Course (YouTube) — курс для сертификации Cisco CCNA. Очень практичный, с лабораторными работами в Packet Tracer. Официальный сайт курса Отзывы на Cisco Learning Network
Платные:
- Coursera: "The Bits and Bytes of Computer Networking" (Google) Coursera
- Stanford CS144: Introduction to Computer Networking Stanford Online CS144 GitHub
- Udemy: "The Complete Networking Fundamentals Course" Udemy
- Pluralsight: Network+ (N10-009) Path Pluralsight
Практика и лаборатории
Симуляторы и эмуляторы:
- Cisco Packet Tracer — бесплатный симулятор сетей от Cisco. Идеален для практики VLAN, маршрутизации, ACL. Официальная страница Скачать Бесплатный курс по Packet Tracer
- GNS3 — эмулятор реального сетевого оборудования. Можно запускать образы Cisco IOS, Juniper, Arista. Официальный сайт Скачать GitHub
- EVE-NG — альтернатива GNS3, более современная платформа для сетевых лабораторий. Официальный сайт Скачать Community Edition
Практические задачи:
- TryHackMe: "Network Fundamentals" — модуль с практическими заданиями по сетям. TryHackMe
- HackTheBox Academy: "Network Enumeration with Nmap" — практический курс по сканированию сетей. HTB Academy
- OverTheWire: Bandit — хотя это про Linux, там есть задачи на работу с сетью. Официальный сайт
Онлайн-лаборатории:
- NetworkChuck Academy — бесплатные лабораторные работы по сетям. Официальный сайт
- Practical Networking (practicalnetworking.net) — сайт с интерактивными уроками по subnetting, VLAN, NAT. Официальный сайт Networking Fundamentals
Инструменты для изучения сетей
Анализ трафика:
- Wireshark — основной инструмент для анализа сетевых пакетов. Обязательно к изучению. Официальный сайт Скачать
- tcpdump — консольный сниффер для Linux/Unix. Официальная man-страница
- NetworkMiner — пассивный сетевой анализатор, показывает файлы, переданные по сети. Официальный сайт NETRESEC
Сканирование и разведка:
- Nmap — основной инструмент пентестера для сканирования портов и разведки. Официальный сайт Скачать GitHub
- Masscan — сверхбыстрый сканер портов. GitHub Kali Linux Tools
- Netcat (nc) — "швейцарский нож" для работы с сетью: создание соединений, передача файлов, бэкдоры. Ncat (современная версия от Nmap) Kali Linux Tools
- Hping3 — продвинутый инструмент для работы с пакетами (TCP/IP ping, сканирование, файрвол-тестирование). GitHub Kali Linux Tools
DNS-инструменты:
- dig — утилита для DNS-запросов (Linux/macOS). Man-страница (Linux)
- dnsrecon — инструмент для перечисления DNS-записей и zone transfers. GitHub Kali Linux Tools
- sublist3r — поиск поддоменов через различные источники. GitHub Kali Linux Tools
Онлайн-ресурсы
Сайты и блоги:
- Cisco Networking Academy (netacad.com) — официальные курсы Cisco, есть бесплатные модули. Официальный сайт
- Cloudflare Learning Center — отличные объяснения сетевых концепций (DNS, HTTP, TLS, DDoS). Официальный сайт
- NetworkLessons.com — структурированные уроки по сетям от базовых до CCNP. Официальный сайт
Документация (RFC):
- RFC 793 — TCP datatracker.ietf.org(https://datatracker.ietf.org/doc/html/rfc793)
- RFC 9293 — TCP (обновлённая версия) www.rfc-editor.org(https://www.rfc-editor.org/info/rfc9293/)
- RFC 768 — UDP datatracker.ietf.org(https://datatracker.ietf.org/doc/html/rfc768)
- RFC 1034 — DNS (концепции) www.ietf.org(https://www.ietf.org/rfc/rfc1034.txt)
- RFC 1035 — DNS (реализация) datatracker.ietf.org(https://datatracker.ietf.org/doc/html/rfc1035)
- RFC 791 — IPv4 datatracker.ietf.org(https://datatracker.ietf.org/doc/html/rfc791)
- IANA — реестры портов, протоколов, IP-адресов www.iana.org(https://www.iana.org/assignments/service-names-port-numbers)
YouTube-каналы:
- NetworkChuck — энергичные и понятные объяснения сетевых тем. NetworkChuck Academy YouTube
- David Bombal — интервью с экспертами, практические демонстрации. Официальный сайт YouTube
- Jeremy's IT Lab — структурированные курсы по CCNA. Сайт YouTube
- Kevin Wallace Training — профессиональные курсы по сетям. Официальный сайт YouTube
Сертификации (как ориентир для изучения)
Начальный уровень:
- CompTIA Network+ — базовая сертификация, покрывает все фундаментальные концепции. Официальный сайт
- Cisco CCNA (200-301) — более практичная, фокус на оборудовании Cisco и реальных сценариях. Официальный сайт Exam Topics
Продвинутый уровень:
- CompTIA Security+ — включает сетевую безопасность. Официальный сайт
- Cisco CCNP Enterprise — углубленные знания по корпоративным сетям. Официальный сайт Cisco Learning Network
- GIAC GSEC — сертификация по безопасности, включает сетевые атаки и защиту. Официальный сайт Курс SEC401 (SANS)