Добавить в корзинуПозвонить
Найти в Дзене
IT & Dev

Сетевая модель TCP/IP

Про сетевую модель TCP/IP (Transmission Control Protocol/Internet Protocol) любят спрашивать на собеседованиях и в описании вакансий на должность программиста, DevOps-инженера можно часто встретить данную модель. Название данной модели происходит от двух популярных протоколов: протокол транспортного уровня TCP с подтверждением доставки и логического адреса, IP-адреса. Модель TCP/IP была предложена в 1974 году, ещё до модели OSI. В наше время интернет взаимодействует именно по модели TCP/IP а не OSI (Open System Interconnection). 1 января 1983 года сеть ARPANET полностью перешла на TCP/IP — эта дата считается днём рождения интернета. Стоит сказать пару слов про ARPANET — первая в мире компьютерная сеть, разработанная США в 1969 году для военных и исследовательских целей. TCP/IP — это набор сетевых протоколов которые описывают на практике взаимодействие устройств в сети. Лежит в основе интернета. Данная модель состоит из 4 уровней. Сразу видны отличия от модели OSI. В TCP/IP сеансовый
Оглавление

Сетевая модель TCP/IP
Сетевая модель TCP/IP

Про сетевую модель TCP/IP (Transmission Control Protocol/Internet Protocol) любят спрашивать на собеседованиях и в описании вакансий на должность программиста, DevOps-инженера можно часто встретить данную модель.

Название данной модели происходит от двух популярных протоколов: протокол транспортного уровня TCP с подтверждением доставки и логического адреса, IP-адреса.

История и происхождение

Модель TCP/IP была предложена в 1974 году, ещё до модели OSI. В наше время интернет взаимодействует именно по модели TCP/IP а не OSI (Open System Interconnection).

  • OSI разрабатывалась Международной организацией по стандартизации (ISO) как теоретическая модель. Её цель — обеспечение совместимости оборудования разных производителей.
  • TCP/IP развивалась как основа для практического стека протоколов, стал стандартом для интернета благодаря своей гибкости и способности адаптироваться к реальным потребностям.

1 января 1983 года сеть ARPANET полностью перешла на TCP/IP — эта дата считается днём рождения интернета.

Различия моделей TCP/IP и OSI
Различия моделей TCP/IP и OSI

Стоит сказать пару слов про ARPANET — первая в мире компьютерная сеть, разработанная США в 1969 году для военных и исследовательских целей.

TCP/IP

TCP/IP уровни и протоколы
TCP/IP уровни и протоколы

TCP/IP — это набор сетевых протоколов которые описывают на практике взаимодействие устройств в сети. Лежит в основе интернета.

Данная модель состоит из 4 уровней. Сразу видны отличия от модели OSI. В TCP/IP сеансовый уровень и уровень представления интегрированы в прикладной уровень. Подразумевая, что на прикладные программы ложатся функции по обеспечению сеансов связи и представления данных в правильной кодировке. Физический уровень является частью канального. Канальный уровень в TCP/IP также называют уровнем доступа к сети.

Канальный уровень

Отвечает за физическую передачу данных в локальной сети, для идентификации устройств используются MAC-адреса. MAC-адрес есть у каждого устройства по умолчанию, его присваивает на производстве производитель сетевого оборудования, подробнее про MAC-адрес в следующей статье.

Протоколы:

  • Ethernet — это протокол, который предоставляет физическую и канальную оболочку для передачи данных, а TCP/IP определяет протоколы, используемые для управления этой передачей.
  • Wi-Fi — это протокол по которому передаются данные по сети без проводов (Wireless).
  • MAC (Media Access Control) — физический адрес устройства, который изначально вшит производителем в сетевой интерфейс.
  • PPP (Point-to-Point Protocol) — является протоколом канального уровня в TCP/IP модели, который используется для установления прямых связей между двумя узлами сети.

Сетевой уровень

Обеспечивает передачу пакетов в глобальной сети (можно ещё сказать обеспечивает маршрутизацию пакетов между сетями). Присваивает устройствам уникальные IP-адреса и определяет оптимальный маршрут передачи данных.

Протоколы:

  • IP (IPv4, IPv6) — логический адрес для идентификации устройств в глобальной сети. Есть два вида v4 и v6. В v4 для представления IP используется 32 бита, это позволяет создать 4,3 миллиарда уникальных адресов. В v6 для представления IP используется 128 бит, это позволяет создать 2^128 уникальных адресов, решив тем самым проблему с нехваткой адресов.
  • ICMP (Internet Control Message Protocol) — это сетевой протокол для передачи диагностических сообщений между устройствами в сети.
  • ARP (Address Resolution Protocol) — это сетевой протокол, предназначенный для определения соответствия между логическим IP-адресом и физическим MAC-адресом.

Транспортный уровень

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

  • Пакеты, отправленные раньше, могут дойти до получателя позже (в неправильном порядке).
  • Пакеты могут не дойти до получателя.

TCP гарантирует, что все данные дойдут до получателя в правильном порядке. В этом его главное отличие от UDP. Если подтверждение доставки (ACK) не получено в течение тайм-аута, значит, либо пакет не дошёл до хоста, либо подтверждение потерялось — в любом случае TCP повторяет отправку. TCP используют в приложениях, где надёжность важнее скорости доставки сегментов.

Протоколы:

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

Прикладной уровень

Уровень работы прикладных программ которыми мы каждый день пользуемся. Эти программы имеют свои собственные протоколы обмена информацией

Протоколы:

  • HTTP/HTTPS (HyperText Transfer Protocol/Secure) — это протоколы передачи данных в интернете, где HTTPS защищённая версия с шифрованием через SSL/TLS.
  • DNS (Domain Name System) — это протокол преобразования доменных имён в IP-адреса и наоборот
  • FTP (File Transfer Protocol) — это протокол передачи файлов между компьютерами через сеть, позволяющий загружать и скачивать данные с серверов.
  • SMTP (Simple Mail Transfer Protocol) — это сетевой протокол для отправки и маршрутизации электронной почты между серверами и клиентами.
  • Telnet — это сетевой протокол для удалённого управления компьютерами и устройствами через текстовый терминал по TCP/IP. В наши дни уже устаревший, так как передаёт данные в открытом виде, без шифрования. Рекомендуется использовать SSH.
  • SSH (Secure Shell) — это защищённый сетевой протокол прикладного уровня, предназначенный для безопасного удалённого доступа

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

  • HTTP на TCP-порт 80 или 8080;
  • FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд);
  • SSH на TCP-порт 22;
  • запросы DNS на порт UDP (реже TCP) 53;
  • обновление маршрутов по протоколу RIP на UDP-порт 520.

Про порты и их распределение ответственная организация IANA (Internet Assigned Numbers Authority) — это организация, которая управляет ключевыми ресурсами интернета, включая IP-адреса, домены верхнего уровня и параметры интернет-протоколов.

Понимание сетевой модели TCP/IP помогает нам лучше понять взаимодействие устройств в сетях.

В следующих статьях будут подробно рассмотрены протоколы начиная с прикладного уровня.