1.Сетевое взаимодействие - клиент-серверная архитектура, основные протоколы, их сходства и отличия.
Клиент-серверная архитектура:
Клиент-серверная модель - это способ распределенной работы программного обеспечения, где сервер предоставляет ресурсы или услуги, а клиент использует их. Сервер обычно ожидает входящие запросы от клиентов и отвечает на них.
Основные протоколы:
- HTTP (HyperText Transfer Protocol): используется для передачи данных веб-страниц. Основан на запросах и ответах, работает поверх TCP.
- FTP (File Transfer Protocol): предназначен для передачи файлов между компьютерами в сети. Работает поверх TCP.
- SMTP (Simple Mail Transfer Protocol): используется для передачи электронной почты. Работает поверх TCP.
- TCP (Transmission Control Protocol): обеспечивает надежную доставку данных с установлением соединения, гарантией доставки, управлением потоком и исправлением ошибок.
- UDP (User Datagram Protocol): обеспечивает ненадежную доставку данных без установления соединения и гарантий доставки. Быстрее, но менее надежен.
(протоколы — Так называют общепринятое соглашение, благодаря которому разработчики разных сервисов отправляют информацию в едином виде.
Например, используя Google Chrome, ты можешь получить информацию и с Facebook, и с Twitter, потому что разработчики передают ее с помощью стандартного протокола HTTP, а твой браузер умеет его обрабатывать. )
2.TCP (Transmission Control Protocol):
(Протокол TCP (Transmission Control Protocol) является одним из основных протоколов транспортного уровня в модели OSI и наиболее часто используется в интернете для надежной передачи данных. )
Основные характеристики протокола TCP:
- Надежность: TCP обеспечивает надежную доставку данных, включая обнаружение и исправление ошибок передачи.
- Установление соединения: TCP использует процедуру установления соединения, известную как "трехстороннее рукопожатие" (three-way handshake), чтобы установить надежное соединение между клиентом и сервером перед передачей данных.
- Управление потоком: TCP использует механизмы управления потоком (flow control) для предотвращения перегрузки сети.
- Упорядоченность данных: TCP гарантирует, что пакеты данных будут доставлены в том порядке, в котором они были отправлены.
- Контроль перегрузки: TCP включает алгоритмы управления перегрузкой (congestion control) для предотвращения перегрузки сети
Трехстороннее рукопожатие: