# Транспортный и прикладной уровни

## 1. Протоколы TCP и UDP

Транспортный уровень модели OSI обеспечивает доставку данных между процессами на конечных устройствах. Основными протоколами этого уровня являются TCP и UDP.

**TCP (Transmission Control Protocol)** — протокол с установлением соединения. Он гарантирует надежную доставку данных. TCP выполняет следующие функции:  
- Установление и завершение соединения (тройное рукопожатие).  
- Нумерацию пакетов и контроль целостности.  
- Повторную передачу потерянных сегментов.  
- Управление потоком и предотвращение перегрузки.  

**UDP (User Datagram Protocol)** — протокол без установления соединения. Он обеспечивает быструю передачу данных без гарантии доставки. UDP не выполняет подтверждение приема, повторную передачу и управление потоком.  

Каждый протокол использует **номера портов** (от 0 до 65535) для идентификации приложений. Порты 0–1023 являются системными (well-known), 1024–49151 — зарегистрированными, 49152–65535 — динамическими.

## 2. Основные прикладные протоколы

Прикладной уровень обеспечивает взаимодействие пользовательских приложений с сетью. Основные протоколы:

- **HTTP/HTTPS** — протоколы передачи гипертекста. HTTP работает по схеме «запрос-ответ». HTTPS обеспечивает шифрование данных с помощью протокола TLS.  
- **DNS (Domain Name System)** — система доменных имен. Преобразует символьные имена (например, example.com) в IP-адреса.  
- **DHCP (Dynamic Host Configuration Protocol)** — протокол динамической настройки узлов. Автоматически назначает IP-адреса, маску подсети, шлюз и адреса DNS-серверов.  
- **FTP/SFTP** — протоколы передачи файлов. FTP работает в открытом виде. SFTP обеспечивает безопасную передачу по протоколу SSH.  
- **SMTP (Simple Mail Transfer Protocol)** — протокол передачи электронной почты. Используется для отправки сообщений между почтовыми серверами.  
- **SNMP (Simple Network Management Protocol)** — протокол управления сетевыми устройствами. Позволяет собирать информацию о состоянии оборудования и изменять его параметры.

## 3. Механизмы NAT и PAT

**NAT (Network Address Translation)** — механизм преобразования сетевых адресов. Он позволяет устройствам с частными IP-адресами (RFC 1918) выходить в сеть с публичным IP-адресом. NAT заменяет исходный IP-адрес пакета на публичный адрес маршрутизатора.

**PAT (Port Address Translation)**, также называемый NAT Overload, — расширенная версия NAT. Он использует не только замену IP-адреса, но и номера портов. Это позволяет множеству внутренних устройств одновременно использовать один публичный IP-адрес. Маршрутизатор сохраняет соответствие между парами (внутренний IP + порт) и (публичный IP + порт).

PAT значительно повышает эффективность использования ограниченного количества публичных IP-адресов.