Клиент-сервер, P2P и что дальше
Сравниваем две модели взаимодействия — клиент-сервер и P2P — и намечаем путь дальнейшего изучения.
Клиент-сервер — централизованная модель: клиенты обращаются к серверу. P2P (peer-to-peer) — децентрализованная: узлы общаются напрямую как равные.
Клиент-сервер
Доминирующая модель веба. Есть выделенный сервер, который хранит данные и обслуживает запросы, и клиенты (браузеры, приложения), которые эти запросы шлют. Сервер — авторитет: он владеет состоянием.
| Плюсы | Минусы |
| простота управления, единый источник данных | сервер — единая точка отказа |
| централизованная безопасность и контроль | дорого масштабировать под нагрузку |
| легко обновлять (поменял сервер — обновил всех) | зависимость от доступности сервера |
Так работают сайты, REST API, базы данных, почта. Весь этот курс в основном про клиент-серверный веб.
P2P (peer-to-peer)
Здесь нет выделенного сервера: каждый узел (peer) одновременно и клиент, и сервер. Узлы обмениваются данными напрямую. Классические примеры — торренты (BitTorrent), блокчейн, часть видеозвонков (WebRTC).
| Плюсы | Минусы |
| нет единой точки отказа | сложнее координация и поиск узлов |
| масштабируется с числом участников | труднее обеспечить безопасность и доверие |
| устойчивость (узлы приходят и уходят) | NAT мешает прямым соединениям |
Парадокс P2P: чем больше пользователей качают файл, тем быстрее он раздаётся (каждый отдаёт куски другим) — в отличие от сервера, который под нагрузкой замедляется.
Сравнение
Клиент-сервер: P2P:
[Сервер] A --- B
/ | + | x |
C1 C2 C3 C --- D
(всё через центр) (все равны, связи между всеми)
На практике встречаются гибриды: видеозвонок может искать собеседника через сервер (сигналинг), а сам поток гнать P2P; торрент-трекер помогает узлам найти друг друга, но файлы они качают напрямую.
Что дальше изучать
Вы освоили фундамент. Куда двигаться, чтобы углубиться:
- WebSockets и SSE — двусторонняя связь в реальном времени поверх HTTP (чаты, уведомления).
- gRPC, GraphQL — современные подходы к API поверх HTTP/2.
- Wireshark — поймать и разобрать реальные пакеты, увидеть инкапсуляцию вживую.
- Глубже в TLS — версии 1.2/1.3, mTLS, как устроено рукопожатие детально.
- Сетевая безопасность — DDoS, WAF, VPN, zero-trust.
- Облачные сети — VPC, подсети, security groups (теперь вы понимаете CIDR из урока про подсети).
Итог
- Клиент-сервер — централизованно, просто, но сервер — точка отказа; основа веба.
- P2P — децентрализованно, устойчиво, масштабируемо, но сложнее в координации.
- Часто используют гибриды (сигналинг через сервер + P2P-поток).
- Дальше: WebSockets, gRPC/GraphQL, Wireshark, TLS вглубь, облачные сети.