Какие знаешь протоколы сети

Ответ

Правильнее всего рассматривать сетевые протоколы в контексте многоуровневой модели, например, TCP/IP. Вот основные уровни и протоколы на них:

4. Прикладной уровень (Application Layer)
Отвечает за взаимодействие приложений.

  • HTTP/HTTPS — основа веба, для передачи гипертекста и других данных.
  • gRPC — для удаленного вызова процедур (RPC), работает поверх HTTP/2.
  • WebSocket — для интерактивной двунаправленной связи.
  • DNS — для преобразования доменных имен в IP-адреса.
  • SSH — для безопасного удаленного управления.
  • FTP, SFTP — для передачи файлов.
  • SMTP, POP3, IMAP — для работы с электронной почтой.

3. Транспортный уровень (Transport Layer)
Отвечает за доставку данных между процессами на хостах.

  • TCP (Transmission Control Protocol) — надежный протокол с установкой соединения, гарантией доставки и порядка пакетов. Используется для HTTP, FTP, SSH.
  • UDP (User Datagram Protocol) — быстрый протокол без установки соединения и гарантий доставки. Используется для DNS, VoIP, онлайн-игр.
// Пример простого TCP-сервера на Go
ln, err := net.Listen("tcp", ":8080")
if err != nil {
    log.Fatal(err)
}
defer ln.Close()
for {
    conn, err := ln.Accept()
    if err != nil {
        log.Println(err)
        continue
    }
    go handleConnection(conn)
}

2. Сетевой уровень (Internet Layer)
Отвечает за маршрутизацию пакетов между сетями.

  • IP (Internet Protocol) — основной протокол этого уровня, отвечающий за адресацию хостов и маршрутизацию пакетов. Существуют версии IPv4 и IPv6.

1. Канальный уровень (Link Layer)
Отвечает за передачу данных в пределах одного сегмента сети (например, в локальной сети).

  • Ethernet — стандарт для проводных локальных сетей.
  • Wi-Fi — стандарт для беспроводных локальных сетей.