Таблица содержания
Что такое протокол?
Когда компьютеры общаются с сетевыми устройствами, так же как люди общаются друг с другом, им нужно использовать одинаковый язык для обеспечения бесперебойной связи.
Правила, такие как как начать общение, какой язык использовать и как завершить общение, должны быть определены заранее. Кроме того, эти методы коммуникации должны следовать правилу, называемому протоколом.
TCP/IP — это общее название различных протоколов, связанных с Интернетом, таких как TCP, UDP, IP, FTP, HTTP и ICMP.
TCP/IP был изобретен в 1970-х годах. TCP/IP изначально предложил концепцию слоистости, разделяя сложное сетевое взаимодействие на несколько уровней, каждый со своими обязанностями, так что при возникновении проблемы в одном уровне нужно решать только проблему в этом уровне, а не менять всю систему.
Значительно улучшить управление и обслуживание сетевой коммуникационной среды. Протокол имеет четыре уровня, каждый из которых взаимосвязан, каждый из которых требует поддержки нижнего уровня и поддерживает верхний уровень.
В то время существовало много других сетевых протоколов. OSI (модель открытых систем взаимодействия) — это более унифицированная иерархическая модель протоколов сети. OSI ссылалась на несколько протоколов, таких как TCP/IP, в начале своего проектирования, что делало реализацию соответствия относительно простой.
Модель OSI имеет семь уровней, некоторые из которых очень похожи на TCP/IP:
В транспортном уровне нельзя игнорировать два протокола, а именно TCP и UDP. В чем разница между ними и какой протокол следует выбрать?
Как работает TCP?
Как мы уже упоминали ранее, основная цель слоистой структуры протокола — разделение ответственности каждого слоя. Например, TCP (Протокол управления передачей) является протоколом транспортного уровня, который позволяет передавать данные от одного цифрового устройства к другому. Основная задача TCP — собирать данные с прикладного уровня. Затем он разделяет данные на пакеты, назначает номер каждому пакету и отправляет пакеты на место назначения.
TCP — надежный протокол. Получатель всегда отправляет отправителю подтверждающее сообщение о пакете данных. В то же время отправитель всегда знает, достиг ли пакет другой стороны. Запрос возвращается, если происходит сбой передачи информации в процессе передачи.
Он собирает пакеты перед отправкой их на уровень приложения. Поскольку TCP является протоколом, ориентированным на соединение, соединение поддерживается до тех пор, пока отправитель и получатель не завершат передачу данных.
Как работает UDP?
UDP (протокол пользовательских датаграмм) считается ненадежным транспортным протоколом по сравнению с надежным протоколом TCP. Тем не менее, он обеспечивает один из лучших методов доставки, используя IP-сервисы для выполнения своих задач.
В протоколе UDP приемник не генерирует подтверждение пакета, а отправитель не ждет раскрытия пакета. Именно эта недоработка делает протокол ненадежным, но управляемым.
Если подтверждение полученных данных не так важно, в этом случае мы используем UDP. Он подходит для ситуаций с односторонним потоком данных и наилучшим образом подходит для коммуникации на основе запросов.
UDP не гарантирует последовательную отправку пакетов. Он является безсостоятельным и не предоставляет механизмов контроля за перегрузкой.
Каковы различия между TCP и UDP?
Мы можем увидеть различия между TCP/UDP с точки зрения:
Связь
TCP — это протокол, ориентированный на соединение. Поскольку мы используем этот протокол в сочетании с протоколом IP, он обычно называется TCP/IP.
Отправка и получение данных должны установить надежное соединение между двумя сторонами. 3 «рукопожатия» для установления отношений, 4 «волны» для разрыва соединения, заложивают надежные основы для передачи данных.
Установлено хорошее соединение перед началом передачи данных, и приемник будет принимать пакеты данных в упорядоченном порядке, чтобы обеспечить точность данных.
UDP — это протокол без установления соединения. Перед передачей данных отправитель и получатель данных не устанавливают соединение. Вместо этого отправитель передает данные в сеть быстрее, а получатель читает сегменты сообщений из очереди сообщений. Поскольку отправитель и получатель не имеют надежного соединения, получатель получает пакеты в неправильном порядке.
Надежность
TCP обеспечивает надежные транспортные услуги, обеспечивая надежность и порядок приема данных. В процессе передачи используются различные методы для обеспечения надежной передачи данных по соединению, такие как нумерация и подтверждение, контроль потока, таймеры и т. д., чтобы гарантировать, что данные не содержат ошибок, не потеряны, не повторяются и приходят в правильной последовательности. Если передача не удалась, будет запрошена повторная передача.
UDP не гарантирует надежную доставку во время передачи. Вместо этого он полагается на протоколы более высокого уровня для обеспечения надежности. Неупорядоченные, неточные методы передачи более подходят для некоторых требований, которые не требуют высокой степени коррупции данных.
Как выбрать TCP и UDP?
Из-за преимуществ и недостатков протоколов TCP и UDP мы можем выбрать более подходящий протокол для удовлетворения различных потребностей.
Протокол TCP надежен, добавляя сложные механизмы, такие как контрольная сумма, идентификация по порядковому номеру, скользящее окно, подтверждение ответа, управление перегрузкой и т. д., устанавливая трудоемкий процесс рукопожатия и увеличивая потребление системных ресурсов TCP. Поэтому на передачу данных оказывается особый задерживающий эффект, снижающий эффективность передачи.
TCP подходит для типичных приложений, которые требуют низкой эффективности передачи, но высокой точности, таких как HTTPS (Hypertext Transfer Protocol Secure), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol) и FTP (File Transfer Protocol) и т. д.
UDP — это безсоединительный, имеет ненадежную передачу, доставку данных как можно скорее, простой протокол, меньшие требования к ресурсам, быструю скорость передачи и высокую производительность в реальном времени. Поэтому он подходит для типичных приложений, требующих высокой эффективности передачи, но низкой точности. Он используется для потоковой передачи видео, видеотелефонии, голосовой связи через IP (интернет-звонки), DNS (система доменных имен) и т. д.