Сегодня мы начнем с сосредоточения внимания на TCP. Ранее в этой главе о наслоении мы упомянули важный момент. На сетевом уровне и ниже, это больше о хосте для размещения соединений, что означает, что ваш компьютер должен знать, где находится другой компьютер для подключения к нему. Тем не менее, коммуникация в сети часто является межпроцессной коммуникацией, а не межмацинской общением. Поэтому протокол TCP представляет концепцию порта. Порт может быть занят только одним процессом, который обеспечивает прямую связь между процессами приложений, работающих на разных хостах.
Задача транспортного уровня состоит в том, как предоставить прямые коммуникационные услуги между процессами приложений, работающих на разных хостах, поэтому он также известен как сквозный протокол. Транспортный уровень скрывает ключевые данные сети, позволяя процессу заявки видеть, как будто существует логичный сквозный канал связи между двумя объектами транспортного уровня.
TCP означает протокол управления передачей и известен как протокол, ориентированный на соединение. Это означает, что до того, как одно приложение может начать отправку данных в другое, два процесса должны сделать рукопожатие. Рука - это логически подключенный процесс, который обеспечивает надежную передачу и упорядоченный прием данных. Во время рукопожатия устанавливается соединение между хостами источника и назначения путем обмена рядами управляющих пакетов и согласования некоторых параметров и правил для обеспечения успешной передачи данных.
Что такое TCP? (Mylinking'sСетевой краниСетевой пакет брокермог бы обработать пакеты TCP или UDP)
TCP (протокол управления передачей) является ориентированным на соединение, надежным протоколом транспортного уровня на основе байтового потока.
Ориентированный на соединение: Ориентированное на соединение означает, что связь TCP составляет один к одному, то есть, точечная сквозная связь, в отличие от UDP, которая может одновременно отправлять сообщения на несколько хостов, поэтому не может быть достигнуто общение с одним к многим.
Надежный: Надежность TCP гарантирует, что пакеты доставляются достоверно доставляются в приемник независимо от изменений в сетевой ссылке, что делает формат Protocol Packet TCP более сложным, чем у UDP.
На основе байта: Характер TCP на основе байта позволяет передавать сообщения любого размера и гарантирует заказ сообщения: даже если предыдущее сообщение не было полностью получено, и даже если последующие байты были получены, TCP не доставит их на уровень приложения для обработки и автоматически отказатся от дубликатов.
После того, как хост A и хост B установил соединение, приложению необходимо только использовать строку виртуальной связи для отправки и получения данных, что обеспечивает передачу данных. Протокол TCP отвечает за контроль, такие как установление соединения, отключение и удержание. Следует отметить, что здесь мы говорим, что виртуальная линия означает только для установления соединения, соединение протокола TCP указывает только на то, что обе стороны могут запустить передачу данных и обеспечить надежность данных. Узлы маршрутизации и транспорта обрабатываются сетевыми устройствами; Сам протокол TCP не связан с этими деталями.
Подключение TCP-это полнодуплексная служба, что означает, что хост A и хост B могут передавать данные в обоих направлениях в подключении TCP. То есть данные могут быть переданы между хостом A и хостом B в двунаправленном потоке.
TCP временно хранит данные в буфере отправки подключения. Этот буфер отправки является одним из кэшей, установленных во время трехстороннего рукопожатия. Впоследствии TCP отправит данные в кэше отправки в кэш приема хоста назначения в соответствующее время. На практике у каждого сверстника будет кеш отправки и кеш приема, как показано здесь:
Буфер отправки - это область памяти, поддерживаемой реализацией TCP со стороны отправителя, которая используется для временного хранения данных, которые будут отправлены. Когда для установления соединения выполняется трехстороннее рукопожатие, кэш отправляется и используется для хранения данных. Отправочный буфер динамически корректируется в зависимости от перегрузки сети и обратной связи от приемника.
Приемный буфер - это область памяти, поддерживаемой реализацией TCP на приемной стороне, которая используется для временного хранения полученных данных. TCP хранит полученные данные в кэше приема и ожидает, пока верхнее приложение будет прочитать их.
Обратите внимание, что размер кэта отправки и кэша приема ограничен, когда кэш заполнен, TCP может принять некоторые стратегии, такие как управление перегрузками, управление потоком и т. Д., Для обеспечения надежной передачи данных и стабильности сети.
В компьютерных сетях передача данных между хостами осуществляется с помощью сегментов. Так что же такое сегмент пакетов?
TCP создает сегмент TCP или сегмент пакетов, разделив входящий поток на куски и добавляя заголовки TCP в каждый кусок. Каждый сегмент может передаваться только в течение ограниченного количества времени и не может превышать максимальный размер сегмента (MSS). На пути вниз, сегмент пакетов проходит через слой ссылки. Слой Link имеет максимальный блок передачи (MTU), который представляет собой максимальный размер пакета, который может пройти через уровень канала данных. Максимальный блок передачи обычно связан с интерфейсом связи.
Так в чем же разница между MSS и MTU?
В компьютерных сетях иерархическая архитектура очень важна, потому что она учитывает различия между различными уровнями. Каждый слой имеет свое имя; На транспортном уровне данные называются сегментом, а в сетевом уровне данные называются IP -пакетом. Следовательно, максимальный блок передачи (MTU) можно рассматривать как максимальный размер пакета IP, который может передаваться сетевым уровнем, в то время как максимальный размер сегмента (MSS) является концепцией транспортного уровня, которая относится к максимальному количеству данных, которые могут передаваться пакетом TCP за раз.
Обратите внимание, что когда максимальный размер сегмента (MSS) больше, чем максимальный блок передачи (MTU), на сетевом уровне будет выполнена фрагментация IP, а TCP не будет разделять более крупные данные на сегменты, подходящие для размера MTU. Там будет раздел на сетевом уровне, посвященный уровню IP.
Структура сегмента пакетов TCP
Давайте рассмотрим формат и содержание заголовков TCP.
Номер последовательности: Случайное число, сгенерированное компьютером, когда соединение устанавливается в качестве начального значения при установке соединения TCP, а номер последовательности отправляется в приемник через пакет SYN. Во время передачи данных отправитель увеличивает номер последовательности в соответствии с количеством отправленных данных. Получатель судит приказ данных в соответствии с полученным номером последовательности. Если данные обнаружены вне заказа, приемник будет переупорядочивать данные, чтобы обеспечить порядок данных.
Номер подтверждения: Это номер последовательности, используемый в TCP для подтверждения получения данных. Это указывает на номер последовательности следующих данных, которые отправитель ожидает получить. В подключении TCP приемник определяет, какие данные были успешно получены на основе номера последовательности сегмента полученного пакета данных. Когда получатель успешно получает данные, он отправляет пакет ACK отправителю, который содержит номер подтверждения подтверждения. После получения пакета ACK отправитель может подтвердить, что данные перед признанием номера ответа были успешно получены.
Контрольные биты сегмента TCP включают следующее:
Ack bit: Когда этот бит составляет 1, это означает, что поле ответа подтверждения действительнее. TCP указывает, что этот бит должен быть установлен на 1, за исключением пакетов SYN, когда соединение первоначально установлено.
Первый бит: Когда этот бит составляет 1, он указывает на то, что в соединении TCP есть исключение, и соединение должно быть вынуждено отключить.
Син бит: Когда этот бит установлен на 1, это означает, что соединение должно быть установлено, и начальное значение номера последовательности устанавливается в поле номера последовательности.
Плавник бит: Когда этот бит составляет 1, это означает, что в будущем больше не будут отправлены данные, а подключение будет желательно.
Различные функции и характеристики TCP воплощены в структуре сегментов пакетов TCP.
Что такое UDP? (Mylinking'sСетевой краниСетевой пакет брокермог бы обработать пакеты TCP или UDP)
Протокол Datagram пользователя (UDP) - это протокол связи без соединения. По сравнению с TCP, UDP не обеспечивает сложных механизмов контроля. Протокол UDP позволяет приложениям напрямую отправлять инкапсулированные IP -пакеты без установления соединения. Когда разработчик решит использовать UDP вместо TCP, приложение напрямую общается с IP.
Полное имя протокола UDP - это протокол Datagram пользователя, а его заголовок составляет всего восемь байтов (64 бита), что очень кратко. Формат заголовка UDP заключается в следующем:
Порты назначения и исходных: Их главная цель - указать, на какой процесс UDP должен отправлять пакеты.
Размер пакета: Поле размера пакета содержит размер заголовка UDP плюс размер данных
Контрольная сумма: Разработано для обеспечения надежной доставки заголовков и данных UDP, роль контрольной суммы заключается в выявлении того, произошла ли ошибка или повреждение во время передачи пакета UDP, чтобы обеспечить целостность данных.
Различия между TCP и UDP в Myling'sСетевой краниСетевой пакет брокермог бы обработать пакеты TCP или UDP
TCP и UDP различаются в следующих аспектах:
Связь: TCP-это протокол транспорта, ориентированный на соединение, который требует установки соединения до передачи данных. UDP, с другой стороны, не требует соединения и может немедленно передавать данные.
Объект обслуживания: TCP-это двухточечный сервис, то есть подключение имеет только две конечные точки для общения друг с другом. Тем не менее, UDP поддерживает интерактивное общение от одного к одному, один-один и многие ко многим, что может общаться с несколькими хостами одновременно.
Надежность: TCP предоставляет услугу надежной доставки данных, гарантируя, что данные без ошибок, без потерь, не дублируются и поступают по требованию. UDP, с другой стороны, делает все возможное, и не гарантирует надежной доставки. UDP может страдать от потери данных и других ситуаций во время передачи.
Контроль заторов, управление потоком: TCP имеет механизмы управления перегрузкой и управления потоком, которые могут регулировать скорость передачи данных в соответствии с условиями сети, чтобы обеспечить безопасность и стабильность передачи данных. UDP не имеет механизмов управления перегрузкой и управления потоком, даже если сеть очень перегружена, она не будет вносить коррективы к скорости отправки UDP.
Заголовок над головой: TCP имеет длинную длину заголовка, обычно 20 байтов, что увеличивается, когда используются поля опциона. UDP, с другой стороны, имеет фиксированный заголовок всего 8 байтов, поэтому UDP имеет более низкий заголовок.
Сценарии приложений TCP и UDP:
TCP и UDP являются двумя разными протоколами транспортного уровня, и они имеют некоторые различия в сценариях применения.
Поскольку TCP является протоколом, ориентированным на соединение, он в основном используется в сценариях, где требуется надежная доставка данных. Некоторые общие варианты использования включают:
Передача файла FTP: TCP может гарантировать, что файлы не потеряны и не повреждены во время передачи.
Http/https: TCP обеспечивает целостность и правильность веб -контента.
Поскольку UDP является протоколом без соединения, он не обеспечивает гарантии надежности, но имеет характеристики эффективности и в режиме реального времени. UDP подходит для следующих сценариев:
Трафик с низким содержанием пакета, такой как DNS (система доменных имен): DNS -запросы обычно представляют собой короткие пакеты, а UDP может выполнять их быстрее.
Мультимедийное общение, такое как видео и аудио: Для мультимедийной передачи с высокими требованиями в реальном времени UDP может обеспечить более низкую задержку, чтобы гарантировать, что данные могут быть своевременно передаваться.
Вещательное общение: UDP поддерживает общение от одного ко многим и многим ко многим и может использоваться для передачи вещательных сообщений.
Краткое содержание
Сегодня мы узнали о TCP. TCP является ориентированным на соединение, надежным протоколом передачи транспортного уровня на основе байта. Он обеспечивает надежную передачу и упорядоченный прием данных путем установления соединения, рукопожатия и подтверждения. Протокол TCP использует порты для реализации связи между процессами и предоставляет прямые коммуникационные услуги для процессов приложений, работающих на разных хостах. Соединения TCP являются полнодуплексными, что позволяет одновременно передавать двунаправленные данные. Напротив, UDP-это протокол связи без соединения, который не обеспечивает гарантий надежности и подходит для некоторых сценариев с высокими требованиями в реальном времени. TCP и UDP различаются в режиме подключения, объект обслуживания, надежности, управления перегрузками, управления потоком и других аспектов, а их сценарии применения также различны.
Пост времени: декабрь-03-2024