Скачиваний:
0
Добавлен:
04.02.2026
Размер:
221.68 Кб
Скачать

Протокол ftp (File Transfer Protocol)

Определение: FTP — классический протокол передачи файлов в клиент-сервер архитектуре.habr+2

Характеристики FTP:

Аспект

Описание

Безопасность

❌ Без шифрования (старый протокол)

Порты

21 (команды), 20 (данные)

Аутентификация

Логин/пароль (передаётся открыто!)

Скорость

Быстрая (оптимизирована для больших файлов)

Возобновление

✓ Поддерживает прерывание/возобновление

Использование

Веб-хостинг, хранилища (устаревает)

Процесс FTP:

text

Клиент подключается к FTP серверу

1. Контрольное соединение (порт 21):

Клиент → Сервер: USER alice

Сервер → Клиент: 331 Password required

Клиент → Сервер: PASS password123

Сервер → Клиент: 230 Logged in

2. Команды передачи файлов:

Клиент → Сервер: PASV (пассивный режим)

Клиент → Сервер: RETR document.pdf (скачать)

Клиент → Сервер: STOR photo.jpg (загрузить)

3. Соединение данных (порт 20):

Сервер → Клиент: [двоичный поток файла]

4. Завершение:

Клиент → Сервер: QUIT

Сервер → Клиент: 221 Goodbye

Протокол sftp (ssh File Transfer Protocol)

Определение: SFTP — безопасная версия FTP, использующая SSH.**habr

Характеристики SFTP:

Аспект

Описание

Безопасность

✓ Полное шифрование (SSH)

Порт

22 (стандартный SSH)

Аутентификация

Логин/пароль или SSH-ключи

Скорость

Быстрая (как FTP)

Возобновление

✓ Поддерживает прерывание/возобновление

Использование

Современный стандарт для безопасной передачи

SFTP vs FTP:

text

FTP: передача в открытом виде → НЕБЕЗОПАСНО

SFTP: всё шифруется через SSH → БЕЗОПАСНО

Протокол ftps (ftp Secure)

Определение: FTP с SSL/TLS шифрованием.sky+1

text

FTP + SSL/TLS = FTPS

Характеристики:

- Порт 990 (явная) или 21 (неявная FTPS)

- Требует SSL сертификата на сервере

- Более сложен в настройке, чем SFTP

- Менее используется, чем SFTP

Распределённая передача файлов

Определение: Файлы передаются напрямую между пользователями без центрального сервера.wikibooks+3

Архитектура p2p (Peer-to-Peer)

text

Клиент 1

/\

/ \

/ \

/ \

Клиент 2 ← → Клиент 3

\ /

\ /

\ /

\/

Клиент 4

Каждый участник одновременно:

- СКАЧИВАЕТ части файла от других

- ЗАГРУЖАЕТ части файла для других

Нет центрального сервера!

Преимущества распределённой:

  • Масштабируемость — чем больше участников, тем быстрее

  • Надёжность — файл не потеряется, если один узел падает

  • Низкие расходы — нет мощного сервера

  • Отказоустойчивость — система продолжает работать при отказе любого узла

Недостатки распределённой:

  • Сложность — сложнее с точки зрения архитектуры

  • Контроль — сложнее контролировать контент

  • Безопасность — увеличение риска вирусов

  • Скорость поиска — дольше находить файлы

Протокол BitTorrent

Определение: BitTorrent — протокол P2P передачи файлов, позволяющий эффективно распределять большие файлы.wikipedia+2

Архитектура BitTorrent:

text

Компоненты:

1. Torrent файл — маленький файл (.torrent), содержит метаданные

2. Трекер — сервер, отслеживающий узлы (peers)

3. Пиры (Peers) — узлы, имеющие части файла

4. Сееры (Seeders) — пиры, имеющие весь файл

5. Личеры (Leechers) — пиры, скачивающие (без полного файла)

Пример структуры .torrent файла:

- announce: http://tracker.example.com:8080/announce

- info:

- name: ubuntu-24.04.iso

- piece length: 262144

- pieces: [хеши всех частей файла]

- length: 2887686144 (размер ~2.7 ГБ)

Как работает BitTorrent:

text

Шаг 1: Пользователь открывает файл .torrent

Шаг 2: Клиент подключается к трекеру

Трекер: "В сети есть 50 пиров для этого файла"

Шаг 3: Клиент подключается к пирам

- Скачивает разные части от разных пиров одновременно

- Пиры также скачивают части от нашего клиента

Шаг 4: Параллельная передача (пример)

Часть 1 от Пира A

Часть 2 от Пира B

Часть 3 от Пира C

Часть 4 от Пира D

→ ВСЕ ЧАСТИ ОДНОВРЕМЕННО!

Шаг 5: Скачивание завершено

Файл собран из всех частей

Шаг 6: Сидирование (дополнительно)

Клиент продолжает работать, позволяя другим скачивать

Помогает сети в целом

DHT (Distributed Hash Table) — децентрализованный трекер:

text

Проблема:

Если трекер падает, передача невозможна

Решение DHT:

Каждый пир — это часть распределённой базы данных

Пиры сообщают друг другу о себе БЕЗ центрального трекера

Процесс:

1. Клиент создаёт infohash (хеш файла)

2. Отправляет запрос в DHT сеть

3. DHT маршрутизирует запрос узлам, похожим на хеш

4. Узлы, имеющие файл, отвечают с адресами пиров

5. Клиент подключается к пирам напрямую

Это работает даже БЕЗ трекера!

Такие раздачи называются "trackerless"

Преимущества BitTorrent:

  • Скорость — параллельная загрузка из многих источников

  • Эффективность — оптимальное использование полосы пропускания сети

  • Масштабируемость — миллионы пользователей, миллиарды файлов

  • Отказоустойчивость — DHT без центрального трекера

Использование BitTorrent:

  • Linux дистрибутивы (Ubuntu, Debian)

  • Open source программы

  • Легальный контент (фильмы, музыка)

  • (Также используется для нелегального распространения)

Соседние файлы в предмете Открытые информационные системы и сети