book1

15.2.1 Модель Клиент-Сервер

Суть: устройство, которое запрашивает данные — это клиент, а устройство, которое отвечает — это сервер.

Клиент инициирует обмен, сервер отправляет данные в ответ. Передача данных от клиента к серверу — это загрузка (upload), от сервера к клиенту — скачивание (download).

Пример: твой почтовый клиент (Outlook, Thunderbird) запрашивает непрочитанные письма у сервера ISP — сервер отправляет их тебе.


15.2.2 Одноранговые сети (Peer-to-Peer, P2P)

В P2P нет выделенного сервера. Каждое устройство (пир) может одновременно быть и клиентом, и сервером.

Пример из схемы:

  • Peer 1 хранит файлы → он файловый сервер для Peer 2
  • Peer 1 хочет печатать → он клиент печати, а Peer 2 с принтером — сервер печати

Роли меняются в зависимости от запроса. Также P2P позволяет совместно использовать интернет и играть в сетевые игры.


15.2.3 P2P-приложения

P2P-приложение позволяет устройству одновременно быть и клиентом, и сервером в рамках одного сеанса связи. Каждое устройство должно иметь пользовательский интерфейс и фоновый сервис.

Некоторые P2P-приложения используют гибридную систему: сами файлы хранятся децентрализованно у пиров, но индексный сервер хранит информацию о том, где что находится. Пир сначала обращается к индексному серверу, узнаёт адрес нужного пира, затем скачивает файл напрямую.

Пример из схемы: мессенджер — оба устройства одновременно отправляют и принимают сообщения (оба являются и клиентом, и сервером).


15.2.4 Популярные P2P-приложения

Известные P2P-сети: BitTorrent, Direct Connect, eDonkey, Freenet.

Gnutella-протокол: пользователь ищет файл, запрос рассылается по всем пирам сети, те кто имеют файл — отвечают “у меня есть”. Клиенты на основе Gnutella: μTorrent, BitComet, DC++, Deluge, emule.

BitTorrent (технология “роя” / swarm):

  • Файл делится на куски (pieces)
  • Клиент скачивает куски одновременно от множества пиров
  • Torrent-файл содержит информацию о трекере (сервере, который знает у кого какие куски есть)
  • Клиенты: uTorrent, Deluge, qBittorrent

⚠️ Важно: через P2P можно передавать любые файлы. Скачивание и распространение защищённых авторским правом материалов без разрешения — это незаконно и может повлечь уголовную или гражданскую ответственность.

computernetworks