Сети
1. Олифер В., Олифер Н. — Компьютерные сети. Принципы, технологии, протоколы (2021, Юбилейное издание)
-
Что изучаем:
- Основы сетевых технологий: OSI и TCP/IP модели.
- Протоколы канального, сетевого, транспортного уровней (Ethernet, IP, TCP, UDP).
- Маршрутизация, коммутация, адресация, NAT, VLAN.
- Безопасность, VPN, шифрование и основные принципы сетевой защиты.
- Практические примеры настройки и работы сетевого оборудования.
-
Что получаем:
- Понимание как работают сети на всех уровнях — от физического до приложений.
- Базу для проектирования распределённых систем и backend-приложений, взаимодействующих по сети.
- Системное понимание того, как данные перемещаются через сеть, и как протоколы взаимодействуют.
2. Куроуз — Компьютерные сети, нисходящий подход
-
Что изучаем:
- Подробный разбор сетевых протоколов и технологий через практическую реализацию.
- «Нисходящий подход» означает: начиная с приложений (HTTP, DNS, SMTP) и постепенно спускаясь к транспортному и сетевому уровням.
- Разбор сокетов, клиент-серверные приложения, сетевые библиотеки.
- Производительность сетей, задержки, пропускная способность, QoS.
-
Что получаем:
- Навыки практического программирования сетевых приложений на основе теории протоколов.
- Понимание работы сетевых API и их применения для высоконагруженных систем.
- Возможность самостоятельно проектировать сетевые протоколы или оптимизировать существующие.
Итог по разделу “Сети”:
| Книга | Что изучаем | Практическая польза |
|---|---|---|
| Олифер & Олифер | Теория сетей, модели, протоколы, маршрутизация, безопасность | Понимание работы сети на уровне протоколов и оборудования |
| Куроуз | Практическая реализация сетевых приложений, сокеты, клиент-сервер, низкоуровневые протоколы | Навыки программирования сетевых приложений, оптимизация, понимание взаимодействия приложений с сетью |
Главный эффект:
- После этих двух книг у тебя будет и теоретическая база по сетям, и практические навыки по созданию сетевых приложений, что важно для backend, распределённых систем, DevOps и системного программирования.