[Документация Yandex Cloud](../index.md) > [Облачная терминология](index.md) > Сети и доставка контента > TCP/IP

# Технология TCP/IP

_TCP/IP (англ. Transmission Control Protocol / Internet Protocol)_ — это совокупность правил, позволяющих устройствам взаимодействовать по сети.

TCP/IP используется в мировом интернете и корпоративных сетях. Он подходит для передачи различных данных — от электронной почты до потокового видео. В домашних сетях он обеспечивает доступ к интернету и подключение между устройствами. В корпоративных системах TCP/IP поддерживает сложные инфраструктуры: обмен файлами между всеми сотрудниками, видеоконференции и облачные решения.

## История {#history}

О передаче информации по сети стали всерьез задумываться в 1970-х годах. В 1976 году был проведен первый межконтинентальный тест: пакет данных пролетел по маршруту от Сан-Франциско через Лондон до Университета Южной Калифорнии. Этот пакет преодолел около 150 тысяч километров, не потеряв ни одного бита.

В 1978 году было предложено разделить протоколы TCP и IP: одна часть отвечала за разбиение и сборку пакетов (TCP), а другая — за адресацию и передачу отдельных пакетов (IP). Такая модель стала основной концепцией современного интернета.

1 января 1983 года сеть ARPANET окончательно перешла на протоколы TCP/IP, что позволяет считать этот день датой рождения интернета. Благодаря этому решению появилась глобальная сеть, которая сегодня объединяет миллиарды людей и устройств по всему миру.

## Структура {#structure}

<center>

```mermaid
  flowchart TD
    A["Прикладной уровень (HTTP, FTP)"]
    B["Транспортный уровень (TCP / UDP)"]
    C["Сетевой уровень (IP)"]
    D["Физический уровень (кабель, Wi-Fi)"]

    A --> B
    B --> C
    C --> D
```

</center>

Уровни модели TCP/IP выполняют разные функции и включают:

* прикладной (например, HTTP, FTP) — интерфейс между приложением пользователя и сетевым ресурсом;
* транспортный (TCP, UDP) — управление доставкой и контроль целостности пакетов;
* сетевой (IP) — адресация и определение оптимального маршрута доставки;
* физический — передача данных по каналам связи.

## Принцип работы {#how-work}

Такая модель передачи информации строго разграничивает обязанности каждого протокола:

* _IP_ — определяет только маршруты доставки, при этом не гарантируя ее.
* _TCP_ — контролирует, что информация будет доставлена правильно и полностью.

Рассмотрим их совместную работу на примере потокового видео:

1. Пользователь нажимает кнопку воспроизведения на сайте, и его устройство устанавливает соединение с сервером по назначенным IP-адресам.
1. Сервер разбивает видео на тысячи маленьких пакетов с помощью TCP. Каждому пакету присваивается порядковый номер и заголовок с IP-адресами отправителя и получателя.
1. Пакеты отправляются в сеть и идут разными маршрутами, которые определяет IP-протокол.
1. Если какие-то пакеты потерялись, то TCP запрашивает их повторную отправку. Если они пришли не по порядку, то расставляет их в правильной последовательности.
1. На устройстве пользователя начинается воспроизведение видео.

Таким образом, протоколы гарантируют, что при достаточной скорости соединения видеопоток будет непрерывным.

## Преимущества и недостатки {#advantages-and-disadvantages}

Сильные и слабые стороны технологии зависят от того, какие протоколы или интерфейсы используются для передачи информации. Рассмотрим самые популярные из них. Прикладной уровень:

|  | **FTP** | **HTTP** |
| --- | --- | --- |
| **Основное назначение** | Передача файлов между компьютерами | Передача гипертекста в интернете |
| **Преимущества** | <ul><li>Быстрая передача больших файлов</li><li>Поддержка аутентификации</li><li>Простота использования</li><li>Возможность продолжения прерванных загрузок</li></ul> | <ul><li>Простота использования</li><li>Широкая совместимость</li><li>Поддержка большинства типов контента</li><li>Легкая интеграция с веб-приложениями</li></ul> |
| **Недостатки** | <ul><li>Нет встроенной поддержки шифрования</li><li>Обязательная настройка сервера и клиента</li><li>Высокое потребление ресурсов при больших объемах передачи</li><li>Отсутствие автоматической защиты от атак</li></ul> | <ul><li>Отсутствие встроенной безопасности (без [HTTPS](ssl-certificate.md))</li><li>Задержки при высокой нагрузке</li><li>Уязвимости, связанные с внедрением вредоносных скриптов (XSS, CSRF)</li><li>Низкая эффективность при передаче больших объемов данных</li></ul> |
| **Где используется** | <ul><li>Публикация и изменение сайтов при веб-разработке</li><li>Обмен документами и файлами в корпоративных средах</li><li>Загрузка записей с систем видеонаблюдения</li><li>Демонстрация базовых принципов клиент-серверной архитектуры для учебных целей</li></ul> | <ul><li>Электронная коммерция</li><li>Взаимодействие между различными сервисами на прикладном уровне ([SOAP](soap.md), XML-RPC, WebDAV)</li><li>Медиасервисы с потоковым видео и аудио</li><li>Управление сайтом: ускорение загрузки, аутентификация и сохранение сессии</li></ul> |


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

|  | **TCP** | **UDP** |
| --- | --- | --- |
| **Основное назначение** | Надежная передача данных между устройствами | Быстрая передача данных без подтверждения |
| **Преимущества** | <ul><li>Обеспечение порядка передачи</li><li>Контроль потока данных</li><li>Поддержка сложных приложений</li></ul> | <ul><li>Низкое потребление ресурсов</li><li>Высокая скорость передачи в режиме реального времени</li></ul> |
| **Недостатки** | <ul><li>Возможность задержек из-за обязательного установления соединения</li><li>Меньшая скорость передачи по сравнению с UDP при простых задачах</li><li>Необходимость повторных попыток передачи в случае сетевых ошибок</li></ul> | <ul><li>Отсутствие гарантии доставки данных</li><li>Отсутствие контроля порядка передачи</li><li>Отсутствие исправления ошибок на уровне транспортного протокола</li></ul> |
| **Где используется** | <ul><li>Большинство веб-сайтов в интернете</li><li>Электронная почта</li><li>Облачные сервисы</li></ul> | <ul><li>Видеоконференции и голосовая связь</li><li>Онлайн-игры</li><li>Мессенджеры</li><li>[DNS-серверы](dns.md) (преобразование доменных имен в IP-адреса)</li></ul> |

## Типы сетей и протоколы на базе TCP/IP {#network-types}

Можно выделить несколько типов сетей, использующих TCP/IP:

* LAN (Local Area Network) — локальная сеть внутри одного помещения, офиса или здания. Например, домашний Wi-Fi.
* MAN (Metropolitan Area Network) — городская сеть. Например, сеть провайдера внутри одного города.
* WAN (Wide Area Network) — глобальная сеть, соединяющая географически разнесенные точки.
* Интернет — крупнейшая в мире публичная сеть типа WAN, объединяющая миллиарды устройств по всему миру.

## Работа с TCP/IP в Yandex Cloud {#tcp-ip-yc}

В инфраструктуре Yandex Cloud есть ряд сервисов для управления вашей сетевой инфраструктурой:

  * [Yandex Application Load Balancer](https://yandex.cloud/ru-kz/services/application-load-balancer) — сервис для распределения входящего трафика между разными компонентами ваших веб‑приложений.

    Подробнее в [документации Application Load Balancer](../application-load-balancer/index.md)

  * [Yandex Cloud CDN](https://yandex.cloud/ru-kz/services/cdn) — сервис доставки контента до конечных потребителей с помощью сети распространения контента.

    Подробнее в [документации Cloud CDN](../cdn/index.md)

  * [Yandex Cloud DNS](https://yandex.cloud/ru-kz/services/dns) — сервис администрирования ресурсных записей DNS и обслуживания DNS‑запросов.

    Подробнее в [документации Cloud DNS](../dns/index.md)

  * [Yandex Cloud Interconnect](https://yandex.cloud/ru-kz/services/interconnect) — сервис для создания приватных выделенных сетевых соединений между локальной инфраструктурой и Yandex Cloud.
    
    Подробнее в [документации Cloud Interconnect](../interconnect/index.md)
  
  * [Yandex Network Load Balancer](https://yandex.cloud/ru-kz/services/network-load-balancer) — сервис, который распределяет сетевую нагрузку по облачным ресурсам, обеспечивая отказоустойчивость сайтов и приложений.

    Подробнее в [документации Network Load Balancer](../network-load-balancer/index.md)

#### Полезные ссылки {#see-also}

[Обзор IPsec: принципы и применение в сетевой безопасности](ipsec.md)
[Виртуальные частные сети (VPN)](vpn.md)