Ответ
В модели OSI (Open Systems Interconnection) выделяют 7 уровней:
- Физический (Physical) – передача битов по кабелю или беспроводной связи (например, Ethernet, Wi-Fi).
- Канальный (Data Link) – управление доступом к среде, обнаружение ошибок (MAC-адреса, Ethernet-фреймы).
- Сетевой (Network) – маршрутизация и логическая адресация (IP-адреса, протоколы IPv4/IPv6).
- Транспортный (Transport) – обеспечение надежной передачи данных (TCP, UDP).
- Сеансовый (Session) – управление сеансами связи (установка, поддержка, завершение).
- Представления (Presentation) – кодирование, шифрование, сжатие данных (JSON, XML, SSL/TLS).
- Прикладной (Application) – интерфейс для пользовательских приложений (HTTP, FTP, SMTP).
В реальных стеках (например, TCP/IP) уровни часто объединяются:
- Физический + Канальный → Network Access
- Сетевой → Internet
- Транспортный → Transport
- Прикладной → Application (объединяет OSI 5–7).
Пример в Go (TCP-клиент):
conn, err := net.Dial("tcp", "example.com:80") // Transport (TCP) + Network (IP)
if err != nil {
log.Fatal(err)
}
defer conn.Close()
fmt.Fprintf(conn, "GET / HTTP/1.0rnrn") // Application (HTTP)