8-900-374-94-44
[email protected]
Slide Image
Меню

Tcp подключение: что нужно знать специалисту по анализу сетевого трафика

Содержание

Как работает TCP протокол? | Сеть без проблем

Протокол управления передачей (TCP) является одним из самых важных протоколов пакета Internet Protocols. Это наиболее широко используемый протокол для передачи данных в сети связи, такой как Интернет.

  • TCP — надежный протокол. То есть, приемник всегда отправляет отправителю положительное или отрицательное подтверждение о пакете данных, так что отправитель всегда имеет яркое представление о том, достигнут ли пакет данных адресату или ему нужно повторно отправить его.
  • TCP гарантирует, что данные достигнут назначенного адресата в том же порядке, в котором он был отправлен.
  • TCP ориентирован на соединение. TCP требует установления соединения между двумя удаленными точками перед отправкой фактических данных.
  • TCP обеспечивает механизм проверки и восстановления ошибок.
  • TCP обеспечивает сквозную связь.
  • TCP обеспечивает контроль потока и качество обслуживания.
  • TCP работает в режиме «точка-точка» Client / Server.
  • TCP обеспечивает полный дуплексный сервер, т. Е. Он может выполнять роли как получателя, так и отправителя.

Длина заголовка TCP составляет минимум 20 байтов и максимум 60 байт.

  • Source Port (16 бит). Он определяет порт источника процесса приложения на отправляющем устройстве.
  • Destination Port (16 бит) — определяет порт назначения процесса приложения на принимающем устройстве.
  • Sequence Number (32 бита) — порядковый номер байтов данных сегмента в сеансе.
  • Acknowledgement Number (32 бита). Когда установлен флаг ACK, это число содержит следующий порядковый номер ожидаемого байта данных и работает как подтверждение предыдущих полученных данных.
  • Data Offset (4 бита). В этом поле подразумеваются как размер заголовка TCP (32-разрядные слова), так и смещение данных в текущем пакете во всем сегменте TCP.
  • Reserved (3 бита) — зарезервировано для будущего использования, и все по умолчанию устанавливаются в ноль.
  • Флаги (по 1 бит)
    • NS — бит Nonce Sum используется сигнальным процессом Явного сообщения о перегрузке.
    • CWR. Когда хост получает пакет с установленным битом ECE, он устанавливает, что Congestion Windows Reduced подтверждает, что полученная от ЕС.
    • ECE — имеет два значения:
      • Если бит SYN очищен до 0, значит, ECE означает, что пакет IP имеет установленный бит CE (перегрузка).
      • Если бит SYN установлен в 1, ECE означает, что устройство поддерживает ECT.
    • URG — указывает, что поле Urgent Pointer имеет значительные данные и должно обрабатываться.
    • ACK — указывает, что поле «Подтверждение» имеет значение. Если ACK очищен до 0, это означает, что пакет не содержит подтверждения.
    • PSH — если установлено, это запрос на принимающую станцию ​​на данные PUSH (как только это произойдет) в принимающее приложение без его буферизации.
    • RST — флаг сброса. Он используется для отказа от входящего соединения, отклонения сегмента, перезапуска соединения.
    • SYN — этот флаг используется для настройки соединения между хостами.
    • FIN — этот флаг используется для освобождения соединения, и после этого больше не обменивается данными. Поскольку пакеты с символами SYN и FIN имеют порядковые номера, они обрабатываются в правильном порядке.
  • Windows Size — это поле используется для управления потоком между двумя станциями и указывает объем буфера (в байтах), выделенный получателем для сегмента, т. Е. Сколько данных ожидает приемник.
  • Checksum — это поле содержит контрольную сумму заголовков, данных и псевдо-заголовков.
  • Urgent Pointer. Он указывает на аварийный байт данных, если флаг URG установлен в 1.
  • Options — обозначает дополнительные опции, которые не покрываются обычным заголовком. Поле опций всегда описывается в 32-битных словах. Если это поле содержит данные размером менее 32 бит, для заполнения оставшихся битов используется дополнение, чтобы достичь 32-разрядной границы.

Адресация

Связь TCP между двумя удаленными хостами выполняется с помощью номеров портов (TSAP). Номера портов могут варьироваться от 0 до 65535, которые делятся как:

  • Порты системы (0 — 1023)
  • Порты пользователей (1024 — 49151)
  • Частные / динамические порты (49152 — 65535)

Управление подключениями

Связь TCP работает в модели Server / Client. Клиент инициирует соединение, и сервер либо принимает, либо отклоняет его. Для управления подключением используется трехстороннее связывание.

Установка соединения

Клиент инициирует соединение и отправляет сегмент с порядковым номером. Сервер подтверждает это со своим собственным порядковым номером и ACK сегмента клиента, который является еще одним номером последовательности клиентов. Клиент после получения ACK своего сегмента отправляет подтверждение ответа сервера.

Любой из серверов и клиентов может отправлять сегмент TCP с флагом FIN, установленным в 1. Когда принимающая сторона отвечает на это посредством ACKnowlinging FIN, это направление связи TCP закрывается и соединение освобождается.

Управление полосой пропускания

TCP использует концепцию размера окна, чтобы удовлетворить потребность в управлении пропускной способностью. Размер окна сообщает отправителю на удаленном конце, количество сегментов байтов данных, которое может получить приемник с этого конца. TCP использует медленную фазу запуска с использованием размера окна 1 и увеличивает размер окна по экспоненте после каждого успешного сообщения.

Например, клиент использует размер окна 2 и отправляет 2 байта данных. Когда подтверждение этого сегмента получено, размер окна удваивается до 4, а следующий отправленный сегмент отправляется длиной 4 байта данных. Когда получено подтверждение 4-байтового сегмента данных, клиент устанавливает размер окна 8 и т. Д.

Если упущено подтверждение, то есть данные, потерянные в транзитной сети или полученные NACK, размер окна уменьшается до половины, а медленная начальная фаза начинается снова.

Контроль ошибок и контроль потока

TCP использует номера портов, чтобы узнать, какой процесс приложения ему нужен для передачи сегмента данных. Наряду с этим он использует порядковые номера для синхронизации с удаленным хостом. Все сегменты данных отправляются и принимаются с порядковыми номерами. Отправитель знает, какой последний сегмент данных был принят Получателем, когда он получает ACK. Получатель знает о последнем сегменте, отправленном отправителем, ссылаясь на порядковый номер недавно полученного пакета.

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

Мультиплексирование

Способ объединения двух или более потоков данных в один сеанс называется мультиплексированием. Когда клиент TCP инициализирует соединение с сервером, он всегда ссылается на четко определенный номер порта, который указывает на процесс приложения. Сам клиент использует случайный номер порта из частных пулов номеров портов.

Используя TCP Multiplexing, клиент может взаимодействовать с несколькими различными процессами приложения за один сеанс. Например, клиент запрашивает веб-страницу, которая, в свою очередь, содержит различные типы данных (HTTP, SMTP, FTP и т. Д.), Тайм-аут сеанса TCP увеличивается, и сеанс остается открытым на более длительное время, так что накладные расходы на трехстороннюю рукопожатие могут избегать.

Это позволяет клиентской системе получать несколько соединений по одному виртуальному соединению. Эти виртуальные соединения не подходят для серверов, если тайм-аут слишком длинный.

Контроль перегрузок

Когда большое количество данных подается в систему, которая не способна обрабатывать ее, происходит перегрузка. TCP управляет перегрузкой с помощью механизма Window. TCP устанавливает размер окна, говорящий на другом конце, сколько сегмента данных нужно отправить. TCP может использовать три алгоритма управления перегрузкой:

  • Аддитивное увеличение, мультипликативное уменьшение
  • Медленный старт
  • Время ожидания

Управление таймером

TCP использует различные типы таймеров для управления и управления различными задачами:

Таймер сохранения:

  • Этот таймер используется для проверки целостности и действительности соединения.
  • Когда время ожидания сохраняется, хост отправляет пробник, чтобы проверить, существует ли соединение еще.

Таймер повторной передачи:

  • Этот таймер поддерживает сеанс передачи данных с сохранением состояния.
  • Если подтверждение отправленных данных не будет получено в течение времени повторной передачи, сегмент данных будет отправлен снова.

Постоянный таймер:

  • Сеанс TCP может быть приостановлен хостом, отправив Размер окна 0.
  • Чтобы возобновить сеанс, хосту необходимо отправить размер окна с некоторым большим значением.
  • Если этот сегмент никогда не достигнет другого конца, оба конца могут ждать друг друга в течение бесконечного времени.
  • Когда таймер Persist истекает, хост повторно отправляет свой размер окна, чтобы узнать другой конец.
    Persist Timer помогает избежать взаимоблокировок в общении.

Timed-Wait:

  • После освобождения соединения один из хостов ждет времени с пометкой времени, чтобы полностью завершить соединение.
  • Это делается для того, чтобы убедиться, что другой конец получил подтверждение своего запроса о завершении соединения.
  • Выдержка может быть не более 240 секунд (4 минуты).

Восстановление после аварий

TCP — очень надежный протокол. Он предоставляет порядковый номер для каждого байта, отправленного в сегменте. Он обеспечивает механизм обратной связи, т.е. когда хост получает пакет, он привязан к ACK, чтобы ожидал пакет, имеющий следующий порядковый номер (если он не является последним сегментом).

Когда TCP-сервер прерывает связь в середине и перезапускает его процесс, он отправляет трансляцию TPDU всем своим хостам. Затем хосты могут отправить последний сегмент данных, который никогда не был непризнан и продолжен.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Статьи по теме:

Что такое TCP/IP – как работает, как настроить на Windows, MacOS

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

Что такое протокол и для чего он нужен? Протокол – это набор правил, благодаря которым устройства обмениваются данными через интернет. Эти правила сообщают устройствам о том:

  • Как начинать общение и приветствовать другую сторону.
  • Как договориться с другим устройством о параметрах передачи данных.
  • Что делать при ошибках.
  • Как узнать, что передача данных закончена.

Сетевые протоколы TCP/IP обеспечивает связь между устройствами, работающими через интернет. Обычно эти устройства называют хостами. Хотя существуют и другие протоколы передачи данных, TCP/IP выделяется тем, что при его работе обеспечивается аппаратная независимость.

Это значит, что работа протокола не зависит от особенностей аппаратного обеспечения, он позволяет организовать обмен данными между любыми устройствами с различной технологией передачи данных. Кроме этого, сетевая модель TCP/IP определяет стандарты для множества различных служб связи конечных пользователей.

Благодаря TCP/IP возможны такие действия:

  • Передача данных в другую систему.
  • Вход в удаленную систему.
  • Управление сетью.
  • Отправка сообщений удаленным пользователям.
  • Выполнение удаленных команд.
  • Печать файлов из удаленной системы.

Как работает TCP/IP

TCP и IP два отдельных протокола, работающие вместе. Они образуют стек протоколов надежной передачи данных. Стек протоколов TCP/IP различают два типа сокетов TCP (потоковые) и UDP (датаграммные). Подробнее о сокетах расскажем далее.

UDP – простой протокол с минимальной дополнительной нагрузкой, он подходит для отправки небольших сообщений, когда не важна надежность при передаче данных. Протокол TCP – выполняет проверку доставки всех файлов адресату и проверяет не было ли ошибки при передаче информации. TCP может повторно запросить данные, если они были потеряны и регулировать загрузку сети.

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

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

Для работы протоколов необходима установка TCP/IP – специального программного обеспечение. Обычно, оно устанавливается с операционной системой и не требует скачивания дополнительных программ.

Как настроить TCP/IP

Настройка TCP/IP происходит в разделе основных настроек компьютера.

Windows

  1. В меню Пуск выберите Сеть и интернет.
  2. Далее перейдите в раздел Ethernet.
  3. В открывшемся окне найдите пункт Настройка параметров адаптера.
  4. Затем снова выберите пункт Ethernet, нажав на него правой кнопкой мыши, и выберите раздел свойства.
  5. В открывшемся окне двойным щелчком по левой кнопке мыши выберите пункт IP версии 4 (TCP/IPv4).
  6. В новом окне отметьте точками: Получить IP-адрес автоматически и Получить адрес DNS-сервера автоматически.
  7. На вкладке Альтернативная конфигурация отметьте точку Автоматический частный IP-адрес.
  8. Нажмите ОК, чтобы сохранить настройки.

MacOS

  1. Выберите меню Apple и перейдите в Системные настройки.
  2. Зайдите в раздел Сеть.
  3. Слева выберите сетевую службу, которую используете.
  4. Далее нажмите Подробнее.
  5. Выберите раздел TCP/IP.
  6. Для адреса IPv4, кликните всплывающее меню «Конфигурация IPv4».
  7. Выберите здесь один из вариантов, потом введите адрес IPv4, маску подсети и адрес маршрутизатора.
  8. Для адреса IPv6, кликните всплывающее меню «Конфигурация IPv6»
  9. Выберите один из вариантов, потом введите адрес маршрутизатора, адрес IPv6 и длину префикса.
  10. Если у вас есть ID клиента DHCP, укажите его.
  11. Нажмите ОК.

Что такое сокеты

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

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

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

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

Чтобы к серверу можно было одновременно подключиться нескольким приложениям, сервер делает копии сокетов.

Для чего нужны порты

Сетевые порты представляют собой 16-ти битное число от 1 до 65535, которое определяет назначение пакетов данных в пределах одного хоста. Они необходимы, чтобы осуществлять передачу информации определенного вида. Все хосты передают данные при помощи IP-адресов, когда происходит подключение к сети, порты определяют к какой программе относятся передаваемые файлы. Основные программы это:

  • Web-сервер, для трансляции с веб-сайтов.
  • Почтовый сервер, для обмена электронными письмами.
  • FTP-сервер, для передачи информации.

Например, пользователь на своем ноутбуке открывает браузер и вбивает поисковый запрос, веб-сервер при этом автоматически отправляет данные по протоколу TCP/IP в порт 80.

При работе с почтовым клиентом Outlook используется два стандартизированных порта: порт 110 – для получения электронных сообщений и порт 25 – для отправки писем к адресату.

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

Что можно делать с портом

  • Открыть. Чтобы знать куда направлять данные, которые пришли по адресу порта.
  • Закрыть. Чтобы прекратить передачу данных.
  • Пробросить. Если запрос пришел на порт 1020, отправить его на порт 2020.
  • Просканировать. То есть проверить числа от 0 до 65535 на предмет ответа от кого-то из них. Если ответ найден, то это будет означать, что на этом порту работает какая-то программа. Это поможет найти уязвимости и вредоносные программы.
  • Заблокировать. Например, для того, чтобы не допустить посторонних к открытому порту.
  • Задать. Если для работы программы требуется порт, который у вас заблокирован, ей можно создать другой порт и проводить обмен данными через него.

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

Одной из основных и первых моделей передачи данных была OSI (The Open Systems Interconnection model). В соответствии с ней происходит работа сетевых протоколов, так как она устанавливает основные требования и правила. Модель OSI состоит из семи уровней, каждый из них определяет нормы сотрудничества систем между собой:

  • Прикладной уровень
  • Сеансовый уровень
  • Уровень представления
  • Транспортный уровень
  • Сетевой уровень
  • Канальный уровень
  • Физический уровень

Несколько протоколов, работающих по определенным уровням, называют стеком протоколов. Современный интернет работает на стеке протоколов TCP/IP. Различают следующие уровни стека TCP/IP:

  1. Прикладной уровень TCP/IP

Регулирует работу сетевых приложений, например, браузеры, программы для загрузки файлов по ftp, почтовые клиенты, SSH. Эти программы могут использовать свои протоколы обмена данными.

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

Благодаря IP сеть определяет откуда пришел пакет данных и куда его следуют отправить.

Комбинация IP-адреса и номера порта передачи данных называется сокетом. Определенные порты используют для упрощения стандартов, каждый порт соответствует функциональному назначению приложения (Например, почтовый SMTP-сервер использует 25 порт).

  1. Транспортный уровень TCP/IP

Работу этого уровня определяют протоколы TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол TCP анализирует переданные пакеты информации и, в случае ошибки, повторно запрашивает пакеты. Также он следит за верной последовательностью переданных пакетов. UDP – протокол без установки соединения, он выполняет небольшую проверку и считается ненадежным. Отправка информации с помощью UDP выполняется быстрее по сравнению с TCP.

Передача данных начинается с установки соединения: хост-клиент отправляет фрагмент данных с номером последовательности и флагом SYN (служит для обозначения начала установки соединения).

Сервер выделяет память для обработки задачи и назад отправляет фрагмент с номером последовательности и флагами SYN и ACK (служит для обозначения получения подтверждения).

Получив флаг SYN, хост-клиент отправляет сегмент с флагом ACK, в том случае, когда этот флаг узел уже получил, включается режим ESTABLISHED ( или активное соединение). Если, повторив свой запрос, хост не получает ответа, то через некоторое время включается режим CLOSED (или завершение сеанса связи):

  • Хост-получатель шлет хосту-отправителю флаг FIN (конец передачи данных).
  • Узел возвращает флаги ответа ACK, FIN о завершении связи.
  • Хост-клиент устанавливает соединение, и шлет хосту сигнал о завершении сессии в виде флага ACK (получение подтверждения).
  1. Межсетевой или сетевой уровень TCP/IP

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

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

IP (Internet Protocol) – основной протокол межсетевого уровня. Он отвечает за перемещение пакетов между подсетями — от одного пограничного маршрутизатора до другого, пока данные не достигнут сети назначения.

  1. Канальный уровень TCP/IP

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

Чаще всего на этом уровне используют протокол Ethernet, он определяет проводные соединения и электросигналы на физическом уровне. Когда хост собирается передать пакет информации, он проверяет свободен ли канал в этот момент (по наличию несущей частоты в кабеле). Если частота не найдена, то начинается передача данных. Передача информации ограничивается по времени, она не может превышать, а также быть меньше заданной величины. Это необходимо для предотвращения единоличного использования сети одним компьютером и доступом к сети другим пользователям.

Зачем нужны уровни сетевой модели TCP/IP? Передача файлов между двумя хостами напрямую невозможна. Сначала пакеты данных попадают на сетевой уровень, чтобы получить IP-адрес. На транспортном уровне, с помощью протокола TCP, отдельные части данных передаются хосту. На каждом уровне к передаваемым файлов добавляется служебная информация: например, указание порта, чтобы распознать приложение. Кроме того, информацию могут добавлять протоколы Ethernet, IP, TCP и другие.

Такое наслоение правил и дополнительной информации называется стеком. Таким образом, стек – набор сетевых протоколов с иерархической структурой. Главная задача стека – достаточный набор правил, который обеспечивает взаимодействие устройств в интернете.

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

Заключение

Протокол интернета TCP/IP популярен своей возможностью реализовать широкий набор функций: совместное использование файлов, принтеров, удаленный доступ к системам и серверам. Стек TCP/IP – надежный набор протоколов, благодаря которым легко налаживаться работа приложений, а управление маршрутизацией удобно настраивается.

Что такое TCP/IP в сети?

Протокол управления передачей (TCP) — это стандарт связи, позволяющий прикладным программам и вычислительным устройствам обмениваться сообщениями по сети. Он предназначен для отправки пакетов через Интернет и обеспечения успешной доставки данных и сообщений по сети.

TCP является одним из основных стандартов, определяющих правила Интернета, и включен в стандарты, определенные Инженерной группой Интернета (IETF). Это один из наиболее часто используемых протоколов в цифровой сетевой связи, обеспечивающий сквозную доставку данных.

TCP организует данные таким образом, чтобы их можно было передавать между сервером и клиентом. Он гарантирует целостность данных, передаваемых по сети. Перед передачей данных TCP устанавливает соединение между источником и получателем, которое остается активным до тех пор, пока не начнется обмен данными. Затем он разбивает большие объемы данных на более мелкие пакеты, обеспечивая при этом целостность данных на протяжении всего процесса.

В результате все протоколы высокого уровня, которым необходимо передавать данные, используют протокол TCP. Примеры включают методы однорангового обмена, такие как протокол передачи файлов (FTP), Secure Shell (SSH) и Telnet. Он также используется для отправки и получения электронной почты через протокол доступа к сообщениям в Интернете (IMAP), протокол почтового отделения (POP) и простой протокол передачи почты (SMTP), а также для доступа в Интернет через протокол передачи гипертекста (HTTP).

Альтернативой TCP в сети является протокол пользовательских дейтаграмм (UDP), который используется для установления соединений с малой задержкой между приложениями и сокращения времени передачи. TCP может быть дорогостоящим сетевым инструментом, поскольку он включает отсутствующие или поврежденные пакеты и защищает доставку данных с помощью элементов управления, таких как подтверждения, запуск соединения и управление потоком.

UDP не обеспечивает ошибочное соединение или упорядочивание пакетов, а также не сигнализирует адресату перед доставкой данных, что делает его менее надежным, но менее дорогим. Таким образом, это хороший вариант для срочных ситуаций, таких как поиск в системе доменных имен (DNS), передача голоса по интернет-протоколу (VoIP) и потоковое мультимедиа.

Интернет-протокол (IP) — это метод отправки данных с одного устройства на другое через Интернет. Каждое устройство имеет IP-адрес, который однозначно идентифицирует его и позволяет ему взаимодействовать и обмениваться данными с другими устройствами, подключенными к Интернету. Сегодня он считается стандартом для быстрой и безопасной связи напрямую между мобильными устройствами.

IP отвечает за определение того, как приложения и устройства обмениваются пакетами данных друг с другом. Это основной протокол связи, отвечающий за форматы и правила обмена данными и сообщениями между компьютерами в одной сети или нескольких сетях, подключенных к Интернету. Он делает это с помощью набора протоколов Интернета (TCP/IP), группы протоколов связи, разделенных на четыре уровня абстракции.

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

 

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

Другими словами, IP-адрес подобен номеру телефона, присвоенному смартфону. TCP — это компьютерная сетевая версия технологии, используемой для того, чтобы смартфон звонил и позволял его пользователю разговаривать с человеком, который ему звонил.

Теперь, когда мы рассмотрели TCP и ICP по отдельности, что такое TCP/IP? Эти два протокола часто используются вместе и полагаются друг на друга, чтобы данные имели пункт назначения и безопасно доходили до него, поэтому этот процесс часто называют TCP/IP. При наличии правильных протоколов безопасности комбинация TCP/IP позволяет пользователям выполнять безопасный и надежный процесс, когда им необходимо перемещать данные между двумя или более устройствами.

Модель TCP/IP является методом передачи данных по умолчанию в Интернете. Он был разработан Министерством обороны США для обеспечения точной и корректной передачи данных между устройствами. Он разбивает сообщения на пакеты, чтобы избежать повторной отправки всего сообщения в случае возникновения проблемы во время передачи. Пакеты автоматически пересобираются, как только они достигают места назначения. Каждый пакет может проходить по другому маршруту между исходным и конечным компьютером, в зависимости от того, становится ли исходный маршрут перегруженным или недоступным.

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

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

Хорошим примером того, как это работает на практике, является отправка электронной почты с помощью SMTP с почтового сервера. Чтобы начать процесс, уровень TCP на сервере делит сообщение на пакеты, нумерует их и пересылает на уровень IP, который затем транспортирует каждый пакет на сервер электронной почты назначения. Когда пакеты прибывают, они возвращаются на уровень TCP для повторной сборки в исходный формат сообщения и возвращаются на сервер электронной почты, который доставляет сообщение в почтовый ящик пользователя.

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

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

Ниже перечислены четыре уровня модели TCP/IP:

  1. Уровень канала передачи данных. Уровень канала передачи данных определяет способ отправки данных, обрабатывает физический процесс отправки и получения данных и отвечает за передачу данных между приложениями или устройств в сети. Это включает в себя определение того, как данные должны сигнализироваться аппаратным обеспечением и другими передающими устройствами в сети, такими как драйвер устройства компьютера, кабель Ethernet, карта сетевого интерфейса (NIC) или беспроводная сеть. Он также называется канальным уровнем, уровнем доступа к сети, уровнем сетевого интерфейса или физическим уровнем и представляет собой комбинацию физического уровня и уровня канала передачи данных модели взаимодействия открытых систем (OSI), которая стандартизирует коммуникационные функции для вычислений и телекоммуникаций. системы.
  2. Интернет-уровень: Интернет-уровень отвечает за отправку пакетов из сети и контроль их перемещения по сети, чтобы обеспечить их достижение пункта назначения. Он предоставляет функции и процедуры для передачи последовательностей данных между приложениями и устройствами по сети.
  3. Транспортный уровень. Транспортный уровень отвечает за обеспечение прочного и надежного соединения для передачи данных между исходным приложением или устройством и его предполагаемым пунктом назначения. Это уровень, на котором данные делятся на пакеты и нумеруются для создания последовательности. Затем транспортный уровень определяет, сколько данных должно быть отправлено, куда они должны быть отправлены и с какой скоростью. Он гарантирует, что пакеты данных отправляются без ошибок и в определенной последовательности, и получает подтверждение того, что целевое устройство получило пакеты данных.
  4. Прикладной уровень. Под прикладным уровнем понимаются программы, которым для связи друг с другом требуется протокол TCP/IP. Это уровень, с которым обычно взаимодействуют пользователи, например системы электронной почты и платформы обмена сообщениями. Он объединяет сеансовый, презентационный и прикладной уровни модели OSI.

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

Адрес TCP/IP может потребоваться для настройки сети и, скорее всего, потребуется в локальной сети.

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

Другой способ обнаружения TCP/IP — через страницу администрирования маршрутизатора, на которой отображается текущий общедоступный IP-адрес пользователя, IP-адрес маршрутизатора, маска подсети и другая сетевая информация.

Fortinet позволяет организациям безопасно обмениваться данными и передавать их по модели TCP/IP с помощью своих VPN-решений FortiGate для защиты интернет-протокола (IPsec)/уровня защищенных сокетов (SSL). Высокопроизводительные, масштабируемые крипто-VPN компании Fortinet защищают организации и их пользователей от сложных кибератак, таких как атаки типа «человек посередине» (MITM), а также от угрозы потери данных, когда данные передаются с высокой скоростью. Это очень важно для данных, передаваемых через TCP/IP, который не защищает пакеты данных во время их движения.

Решения Fortinet VPN защищают связь организаций через Интернет, по нескольким сетям и между конечными точками. Он делает это с помощью технологий IPsec и SSL, используя аппаратное ускорение Fortinet FortiASIC, чтобы гарантировать высокопроизводительную связь и конфиденциальность данных.

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

Для чего используется TCP?

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

Что означает TCP?

TCP, что означает «Протокол управления передачей», представляет собой стандарт связи для доставки данных и сообщений по сетям. TCP — это базовый стандарт, определяющий правила Интернета, и распространенный протокол, используемый для доставки данных в цифровой сети.

Что такое TCP и каковы его типы?

TCP — это протокол или стандарт, используемый для обеспечения успешной доставки данных из одного приложения или устройства в другое. TCP является частью протокола управления передачей/интернет-протокола (TCP/IP), который представляет собой набор протоколов, первоначально разработанных Министерством обороны США для поддержки построения Интернета. Модель TCP/IP состоит из нескольких типов протоколов, включая TCP и IP, протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (ICMP), протокол обратного разрешения адресов (RARP) и протокол пользовательских дейтаграмм (UDP).

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

Frost Radar Глобальный рынок веб-безопасности 2020

Проверка подлинности FortiGate SSL VPN с помощью FortiAuthenticator в качестве прокси-сервера IdP для Azure AD

4.1. Соединения TCP — HTTP: Полное руководство [Книга]

Практически все всемирная HTTP-связь переносится TCP/IP, популярный многоуровневый набор сетевых протоколов с коммутацией пакетов, на котором говорят компьютеров и сетевых устройств по всему миру. Клиентское приложение может открыть соединение TCP/IP с серверным приложением, работающим только о любой точке мира. Как только соединение установлено, обмен сообщениями между клиентом и компьютеры сервера никогда не будут потеряны, повреждены или получено не по порядку. [1]

Допустим, вам нужен последний прайс-лист на электроинструменты от Магазин оборудования Джо:

http://www.joes-hardware.com:80/power-tools.html

При получении этого URL-адреса ваш браузер выполняет шаги, показанные на рис. 4-1. На шагах 1-3 IP-адрес и номер порта сервера извлекаются из URL. Устанавливается TCP-соединение с веб-сервер на шаге 4, и сообщение с запросом отправляется через соединение на шаге 5. Ответ считывается на шаге 6, и соединение закрывается на шаге 7.

Рис. 4-1. Веб-браузеры взаимодействуют с веб-серверами через TCP-соединения

TCP Reliable Data Pipes

HTTP-соединения на самом деле ничего не значат больше, чем соединения TCP, плюс несколько правил их использования. TCP-соединения — это надежные соединения в Интернете. Отправлять данные точно и быстро, вам необходимо знать основы ПТС. [2]

TCP дает HTTP надежный бит труба . Байты вставлены в одну сторону TCP соединение выходит с другой стороны правильно и в правильном порядке (см. рис. 4-2).

Рис. 4-2. TCP передает данные HTTP по порядку и без искажений

Потоки TCP сегментируются и отправляются пакетами IP

TCP отправляет данные небольшими порциями, называемыми IP пакеты (или IP-датаграммы ). Таким образом, HTTP является верхним уровнем в «стек протоколов» «HTTP через TCP через IP», как изображен на рис. 4-3а. Безопасный вариант, HTTPS, вставляет слой криптографического шифрования (называемый TLS или SSL) между HTTP и TCP (рис. 4-3b).

Рис. 4-3. Стеки сетевых протоколов HTTP и HTTPS

Когда HTTP хочет передать сообщение, он передает содержимое данные сообщения по порядку через открытое TCP-соединение. TCP берет на себя поток данных, разбивает поток данных на куски, называемые сегменты и транспортирует сегменты через Интернет внутри конвертов, называемых IP-пакеты (см. рис. 4-4). Этим всем занимается программное обеспечение TCP/IP; программист HTTP ничего из этого не видит.

Каждый сегмент TCP переносится IP-пакетом с одного IP-адреса на другой Айпи адрес. Каждый из этих IP-пакетов содержит:

  • Заголовок IP-пакета (обычно 20 байт)

  • Заголовок сегмента TCP (обычно 20 байт)

  • Фрагмент данных TCP (0 или более байтов) содержит заголовок IP IP-адреса источника и получателя, размер и другие флаги. Заголовок сегмента TCP содержит порт TCP числа, флаги управления TCP и числовые значения, используемые для упорядочения данных и проверка целостности.

    Рис. 4-4. IP-пакеты несут сегменты TCP, которые несут фрагменты потока данных TCP 9.0005

    Поддержание TCP-соединений прямыми

    Компьютер может иметь несколько открытых TCP-соединений в любой момент времени. TCP сохраняет все эти соединения прямо через порт номера .

    Номера портов похожи на добавочные телефоны сотрудников. Точно так же, как основной номер телефона компании позволяет вам стойка регистрации и расширение доставят вас к нужному сотруднику, IP-адрес доставит вас к нужному компьютеру, а номер порта вам нужное приложение. Соединение TCP отличается четырьмя ценности:

      

    Вместе эти четыре значения однозначно определяют соединение. Два разные TCP-соединения не могут иметь одинаковые значения для все четыре компонента адреса (но разные соединения могут иметь одинаковые значения для некоторых компонентов).

    На рис. 4-5 показаны четыре соединения: A, B, C и D. Соответствующая информация для каждого порта указана в таблице 4-1.

    Таблица 4-1. Значения TCP-соединения

    Соединение

    IP-адрес источника

    Исходный порт

    IP-адрес назначения

    Порт назначения

    А

    209. 1.32.34

    2034

    204.62.128.58

    4133

    Б

    209.1.32.35

    3227

    204.62.128.58

    4140

    С

    209.1.32.35

    3105

    207.25.71.25

    80

    Д

    209. 1.33.89

    5100

    207.25.71.25

    80

    Рис. 4-5. Четыре различных соединения TCP

    Обратите внимание, что некоторые соединения используют один и тот же порт назначения номер (оба C и D имеют порт назначения 80). Некоторые из соединения имеют один и тот же исходный IP-адрес (B и C). У некоторых есть один и тот же IP-адрес назначения (A и B, C и D). Но нет двух разные соединения имеют все четыре одинаковых значения.

    Программирование с помощью TCP-сокетов

    Операционные системы предоставляют различные средства для управления их TCP-соединения. Давайте кратко рассмотрим один TCP интерфейс программирования, чтобы сделать вещи конкретными. В Таблице 4-2 показаны некоторые из основных интерфейсов. посредством API сокетов. Этот API сокетов скрывает все подробности TCP и IP от программиста HTTP. API сокетов был сначала разрабатывался для операционной системы Unix, но сейчас есть варианты доступен почти для каждой операционной системы и языка.

    Таблица 4-2. Общие функции интерфейса сокетов для программирования соединений TCP

    вызов API сокетов

    Описание

    с = сокет(<параметры>)

    Создает новый безымянный неприсоединенный сокет.

    привязка(и, <локальный IP:порт>)

    Назначает сокету локальный номер порта и интерфейс.

    подключение(я, <удаленный IP:порт>)

    Устанавливает TCP-соединение с локальным сокетом и удаленным хостом и порт.

    слушать(и,…)

    Помечает локальный сокет как разрешенный для приема соединений.

    с2 = принять(-а)

    Ожидает, пока кто-нибудь установит соединение с локальным портом.

    n = чтение (s, буфер, n)

    Пытается прочитать n байтов из сокета в буфер.

    n = запись (s, буфер, n)

    Пытается записать n байтов из буфера в сокет.

    близко(ые)

    Полностью закрывает TCP-соединение.

    выключение(и,<сторона>)

    Закрывает только вход или выход соединения TCP.

    getockopt(s, . . . )

    Считывает значение параметра конфигурации внутреннего сокета.

    setsockopt(s, . . . )

    Изменяет значение параметра конфигурации внутреннего сокета.

    API сокетов позволяет создавать TCP структуры данных конечной точки, подключите эти конечные точки к удаленному серверу Конечные точки TCP, а также чтение и запись потоков данных. TCP API скрывает все детали квитирования основного сетевого протокола и сегментация и повторная сборка потока данных TCP в и из IP пакеты.

    На рис. 4-1 мы показали, как веб-браузер может Загрузите веб-страницу power-tools.html с Магазин оборудования Джо, использующий HTTP. Псевдокод в Рисунок 4-6 показывает, как мы можем использовать сокеты. API для выделения шагов, которые клиент и сервер могут выполнить для реализовать эту HTTP-транзакцию.

    Рис. 4-6. Как TCP-клиенты и серверы взаимодействуют с помощью интерфейса TCP-сокетов

    Начнем с веб-сервера, ожидающего соединения (рис. 4-6, S4). Клиент определяет IP-адрес и номер порта из URL-адреса и переходит к установлению TCP-соединения на сервер (Рисунок 4-6, C3). Создание подключение может занять некоторое время, в зависимости от того, насколько далеко находится сервер, нагрузка на сервер и загруженность интернета.

    После установки соединения клиент отправляет HTTP-запрос (Рисунок 4-6, C5), и сервер читает его (Рисунок 4-6, S6). Как только сервер получает весь запрос сообщение, обрабатывает запрос, выполняет запрошенное действие (Рисунок 4-6, S7) и записывает данные обратно в клиент. Клиент читает его (рис. 4-6, C6) и обрабатывает данные ответа (рис. 4-6, C7).



    [1] Через сообщения не будет потерян или поврежден, связь между клиент и сервер могут быть разделены, если компьютер или сеть сломаются. В в этом случае клиент и сервер уведомляются о связи авария.

    [2] Если вы пытаетесь написать сложный HTTP приложений, и особенно если вы хотите, чтобы они были быстрыми, вы захотите узнать намного больше о внутренностях и производительность TCP, чем мы обсуждаем в этой главе. Мы рекомендуем книги «TCP/IP Illustrated» У. Ричард Стивенс (Эддисон Уэсли).

    Получите HTTP: Полное руководство прямо сейчас с обучающей платформой O’Reilly.

    члена O’Reilly знакомятся с книгами, живыми мероприятиями, курсами, подобранными в зависимости от должности, и многим другим от O’Reilly и почти 200 ведущих издателей.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *