Разница между протоколами TCP и UDP

Разница между TCP и UDP

Разница между протоколами TCP и UDP

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

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

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

Сравнительная таблица

Основа для сравненияTCPUDP
Имея в видуTCP устанавливает соединение между компьютерами перед передачей данныхUDP отправляет данные непосредственно на конечный компьютер, не проверяя, готова ли система к приему или нет
Расширяется доПротокол управления передачейПротокол пользовательских датаграмм
Тип соединенияОриентированное на соединениеСоединение Меньше
скоростьМедленныйБыстро
надежностьВысоконадежныйненадежный
Размер заголовка20 байт8 байт
ПодтверждениеОн принимает подтверждение данных и имеет возможность повторной передачи, если пользователь запрашивает.Он не принимает подтверждение и не передает потерянные данные.

Определение ПТС

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

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

Следующие протоколы используют TCP для передачи данных:

  • HTTP (протокол передачи гипертекста),
  • HTTP (протокол передачи гипертекста Secure),
  • FTP (протокол передачи файлов),
  • SMTP (простой протокол передачи почты) и т. Д.

Определение UDP

Протокол UDP или User Datagram Protocol – это протокол без установления соединения, обнаруженный на транспортном уровне модели TCP / IP.

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

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

UDP не гарантирует доставку данных и не передает повторно потерянные пакеты.

Ключевые различия между TCP и UDP

  1. TCP ориентирован на соединение, тогда как UDP является протоколом без соединения.
  2. TCP очень надежен для передачи полезных данных, так как он принимает подтверждение отправленной информации. И отправляет потерянные пакеты, если таковые имеются.

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

  3. TCP медленнее по сравнению с UDP, поскольку TCP устанавливает соединение перед передачей данных и обеспечивает правильную доставку пакетов.

    С другой стороны, UDP не подтверждает, приняты ли переданные данные или нет.

  4. Размер заголовка UDP составляет 8 байт, а TCP – более чем в два раза. Размер заголовка TCP с тех пор составляет 20 байт, а заголовок TCP содержит параметры, заполнение, контрольную сумму, флаги, смещение данных, номер подтверждения, порядковый номер, порты источника и назначения и т. Д.

  5. Как TCP, так и UDP могут проверять наличие ошибок, но только TCP может исправить ошибку, так как он имеет как перегрузку, так и управление потоком.

Заключение

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

Протоколы TCP и UDP

Разница между протоколами TCP и UDP
333 121

C# и .NET — Сетевое программирование — Протоколы TCP и UDP

TCP— Transmission Control Protocol

Обмен данными, ориентированный на соединения, может использовать надежную связь, для обеспечения которой протокол уровня 4 посылает подтверждения о получении данных и запрашивает повторную передачу, если данные не получены или искажены. Протокол TCP использует именно такую надежную связь. TCP используется в таких прикладных протоколах, как HTTP, FTP, SMTP и Telnet.

Протокол TCP требует, чтобы перед отправкой сообщения было открыто соединение.

Серверное приложение должно выполнить так называемое пассивное открытие (passive open), чтобы создать соединение с известным номером порта, и, вместо того чтобы отправлять вызов в сеть, сервер переходит в ожидание поступления входящих запросов.

Клиентское приложение должно выполнить активное открытие (active open), отправив серверному приложению синхронизирующий порядковый номер (SYN), идентифицирующий соединение. Клиентское приложение может использовать динамический номер порта в качестве локального порта.

Сервер должен отправить клиенту подтверждение (ACK) вместе с порядковым номером (SYN) сервера. В свою очередь клиент отвечает АСК, и соединение устанавливается.

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

Поля заголовка TCP перечислены в следующей таблице:

Заголовок TCP

Поле Длина Описание
Порт источника2 байтаНомер порта источника
Порт назначения2 байтаНомер порта назначения
Последовательный номер4 байтаПоследовательный номер генерируется источником и используется назначением, чтобы переупорядочить пакеты для создания исходного сообщения и отправить подтверждение источнику.
Номер подтверждения4 байтаЕсли установлен бит АСК поля “Управление”, в данном поле содержится следующий ожидаемый последовательный номер.
Смещение данных4 битаИнформация о начале пакета данных.
Резерв6 битовРезервируются для будущего использования.
Управление6 битовБиты управления содержат флаги, указывающие, верны ли поля подтверждения (АСК), указателя срочности (URG), следует ли сбрасывать соединение (RST), послан ли синхронизирующий последовательный номер (SYN) и т. д.
Размер окна2 байтаВ этом поле указывается размер приемного буфера. Используя подтверждающие сообщения, получатель может информировать отправителя о максимальном размере данных, которые тот может отправить.
Контрольная сумма2 байтаКонтрольная сумма заголовка и данных; по ней определяется, был ли искажен пакет.
Указатель срочности2 байтаВ этом поле целевое устройство получает информацию о срочности данных.
ОпциипеременнаяНеобязательные значения, которые указываются при необходимости.
ДополнениепеременнаяВ поле дополнения добавляется столько нулей, чтобы заголовок заканчивался на 32-битной границе.

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

Протокол TCP имеет встроенную возможность надежной доставки. Если сообщение не отправлено корректно, мы получим сообщение об ошибке. Протокол TCP определен в RFC 793.

UDP — User Datagram Protocol

В отличие от TCP UDP — очень быстрый протокол, поскольку в нем определен самый минимальный механизм, необходимый для передачи данных. Конечно, он имеет некоторые недостатки.

Сообщения поступают в любом порядке, и то, которое отправлено первым, может быть получено последним. Доставка сообщений UDP вовсе не гарантируется, сообщение может потеряться, и могут быть получены две копии одного и того же сообщения.

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

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

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

Однонаправленное (unicast) сообщение отправляется из одного узла только в один другой узел. Это также называется связью “точка-точка”. Протокол TCP поддерживает лишь однонаправленную связь. Если серверу нужно с помощью TCP взаимодействовать с несколькими клиентами, каждый клиент должен установить соединение, поскольку сообщения могут отправляться только одиночным узлам.

Широковещательная передача (broadcast) означает, что сообщение отправляется всем узлам сети. Групповая рассылка (multicast) – это промежуточный механизм: сообщения отправляются выбранным группам узлов.

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

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

Примером широковещательной передачи является служба времени.

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

Заголовок UDP гораздо короче и проще заголовка TCP:

Заголовок UDP

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

UDP — это быстрый протокол, не гарантирующий доставки. Если требуется поддержание порядка сообщений и надежная доставка, нужно использовать TCP. UDP главным образом предназначен для широковещательной и групповой передачи. Протокол UDP определен в RFC 786.

Чем отличается протокол TCP от UDP, простым языком

Разница между протоколами TCP и UDP

Чем отличается протокол TCP от UDP

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

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

На этом уровне два основных протокола – TCP и UDP.

Что означают TCP и UDP

TCP – транспортный протокол передачи данных в сетях TCP/IP, предварительно устанавливающий соединение с сетью.

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

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

Разница между протоколами TCP и UDP

Разница между протоколами TCP и UDP – в так называемой “гарантии доставки”. TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Также протокол TCP считается надежным, тогда как UDP получил даже именование “протокол ненадежных датаграмм.

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

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

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

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

Tcp Udp отличия

Давайте рассмотрим основные отличия tcp от udp.

  1. TCP гарантирует доставку пакетов данных в неизменных виде, последовательности и без потерь, UDP ничего не гарантирует.
  2. TCP нумерует пакеты при передаче, а UDP нет
  3. TCP работает в дуплексном режиме, в одном пакете можно отправлять информацию и подтверждать получение предыдущего пакета.
  4. TCP требует заранее установленного соединения, UDP соединения не требует, у него это просто поток данных.
  5. UDP обеспечивает более высокую скорость передачи данных.
  6. TCP надежнее и осуществляет контроль над процессом обмена данными.
  7. UDP предпочтительнее для программ, воспроизводящих потоковое видео, видеофонии и телефонии, сетевых игр.
  8. UPD не содержит функций восстановления данных

Примерами UDP приложений, например можно привести, передачу DNS зон, в Active Directory, там не требуется надежность. Очень часто такие вопросы любят спрашивать на собеседованиях, так, что очень важно знать tcp и udp отличия.

Заголовки TCP и UDP

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

Заголовок UDP

  • 16 битный порт источника > Указание порта источника для UDP необязательно. Если это поле используется, получатель может отправить ответ этому порту.
  • 16 битный порт назначения > Номер порта назначения
  • 16 битная длина UDP > Длина сообщения, включая заголовок и данные.
  • 16 битная контрольная сумма > Контрольная сумма заголовка и данных для проверки

Заголовок TCP

  • 16 битный порт источника > Номер порта источника
  • 16 битный порт назначения > Номер порта назначения
  • 32 битный последовательный номер > Последовательный номер генерируется источником и используется назначением, чтобы переупорядочить пакеты для создания исходного сообщения и отправить подтверждение источнику.
  • 32 битный номер подтверждения > Если установлен бит АСК поля “Управление”, в данном поле содержит следующий ожидаемый последовательный номер.
  • 4 бита длина заголовка > Информация о начале пакета данных.
  • резерв > Резервируются для будущего использования.
  • 16 битная контрольная сумма > Контрольная сумма заголовка и данных; по ней определяется, был ли искажен пакет.
  • 16 битный указатель срочности > В этом поле целевое устройство получает информацию о срочности данных.
  • Параметры > Необязательные значения, которые указываются при необходимости.

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

При размере окна 3, отправитель отправляет уже по 3 кадра, и ждет от 4, который подразумевает, что все три кадра у него есть, +1.

Надеюсь у вас теперь есть представления об отличиях tcp udp протоколов.

Материал сайта pyatilistnik.org

Разница между TCP и UDP?

Разница между протоколами TCP и UDP

В чем разница между TCP и UDP?

Я знаю, что TCP используется в случае несвоевременных критических приложений, а UDP используется для игр или приложений, которые требуют быстрой передачи данных. Я знаю, что TCP используется для HTTP, HTTPs, FTP, SMTP и Telnet. Я знаю, что UDP используется для DNS и DHCP.

Но почему? Какие характеристики TCP и UDP делают его полезным для их соответствующих вариантов использования?

tcp network-programming udp protocols

user749414     11 мая 2011 в 20:44

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

UDP -это протокол без подключения. Коммуникация ориентирована на дейтаграмму . Целостность гарантируется только на одной датаграмме.

Датаграммы достигают пункта назначения и могут прибыть в нерабочем состоянии или не прибыть вообще. Он более эффективен, чем TCP , потому что использует не ACK .

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

В некоторых ситуациях используется UDP , поскольку он позволяет передавать широковещательные пакеты. Это иногда является фундаментальным в случаях, подобных протоколу DHCP , потому что клиентская машина все еще не получила адрес IP (это цель протокола DHCP negotiaton), и не будет никакого способа установить поток TCP без самого адреса IP .

Heisenbug     11 мая 2011 в 20:57

Из статьи Skullbox: TCP (Transmission Control Protocol) – наиболее часто используемый протокол в Интернете. Причина этого заключается в том, что TCP предлагает исправление ошибок. Когда используется протокол TCP, существует “guaranteed delivery.”, что в значительной степени связано с тем, что метод под названием “flow control.

” Flow control определяет, когда данные должны быть повторно отправлены, и останавливает поток данных до тех пор, пока предыдущие пакеты не будут успешно переданы. Это работает потому, что при отправке пакета данных может возникнуть коллизия.

Когда это происходит, клиент повторно запрашивает пакет от сервера, пока весь пакет не будет завершен и идентичен его оригиналу.

UDP (протокол пользовательских датаграмм) является пыльника популярных протоколов, используемых в Интернете. Однако UDP никогда не используется для отправки важных данных, таких как веб-страницы, информация о базе данных и т. д.; UDP обычно используется для потоковой передачи аудио и видео.

Потоковая передача media, таких как Windows Media аудиофайлов (.WMA), Реальный Игрок (.RM), а другие используют UDP, потому что он предлагает скорость! Причина, по которой UDP быстрее, чем TCP, заключается в том, что нет никакой формы управления потоком или исправления ошибок.

На данные, передаваемые через Интернет, влияют конфликты, и ошибки будут присутствовать. Помните, что UDP имеет отношение только к скорости. Это основная причина, по которой потоковая передача media не отличается высоким качеством.

1) TCP-это соединение ориентированное и надежное, где as UDP-соединение менее надежное и ненадежное.

2) TCP нуждается в дополнительной обработке на уровне сетевого интерфейса, где, как и в UDP, это не так.

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

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

p27     12 мая 2011 в 13:00

Подумайте о TCP как о выделенном запланированном UPS / FedEx приеме / отправке пакетов между двумя местоположениями, в то время как UDP-это эквивалент бросания почтовой открытки в почтовый ящик.

UPS / FedEx сделает все возможное, чтобы убедиться, что посылка, которую вы отправите, попадет туда, и получит ее вовремя. С почтовой открыткой Вам повезет, если она вообще придет, и она может прийти из строя или с опозданием (сколько раз вы получали открытку от кого-то AFTER, который вернулся домой из отпуска?)

TCP максимально приближен к протоколу гарантированной доставки, а UDP-всего лишь “best effort”.

Marc B     11 мая 2011 в 20:50

Причины UDP используется для DNS и DHCP:

DNS – TCP требует больше ресурсов от сервера (который прослушивает соединения), чем от клиента. В частности, когда соединение TCP закрыто, сервер должен запомнить детали соединения (удерживая их в памяти) в течение двух минут, во время состояния, известного как TIME_WAIT_2.

Это функция, которая защищает от ошибочно повторяющихся пакетов из предыдущего соединения, интерпретируемых как часть текущего соединения. Поддержание TIME_WAIT_2 использует до kernel памяти на сервере. DNS запросы небольшие и часто поступают от многих различных клиентов. Этот шаблон использования увеличивает нагрузку на сервер по сравнению с клиентами.

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

DHCP – DHCP является продолжением BOOTP. BOOTP-это протокол, который клиентские компьютеры используют для получения информации о конфигурации с сервера во время загрузки клиента. Чтобы найти сервер, широковещательная передача отправляется с запросом на BOOTP (или DHCP) серверов.

Широковещательные сообщения могут передаваться только по протоколу без подключения, например UDP. Таким образом, BOOTP требовал по крайней мере один пакет UDP для широковещательной передачи, расположенной на сервере. Кроме того, потому что BOOTP работает в то время как клиент…

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

Причина в том, что они построены с такими крошечными процессорами и маленькой памятью, что они не могут выполнить TCP-но им все равно нужно получить адрес IP, когда они boot.

Как уже упоминалось, UDP также полезен для потоковой передачи media, особенно аудио. Разговоры звучат лучше при задержке сети, Если вы просто отбрасываете задержанные пакеты.

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

Для двухсторонних телефонных разговоров это неприемлемо.

Heath Hunnicutt     11 мая 2011 в 21:13

Одно из отличий вкратце

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

mcaaltuntas     11 мая 2011 в 20:51

TCP устанавливает соединение до того, как произойдет фактическая передача данных, UDP-нет. Таким образом, UDP может обеспечить более быструю доставку. Такие приложения, как DNS, time server access, поэтому используют UDP.

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

Кроме того, UDP ненадежен, он не реагирует на потери пакетов. Так что чувствительные к потерям приложения, такие как передача мультимедиа, предпочитают UDP. Однако TCP-это надежный протокол, поэтому приложения, требующие надежности, такие как веб-передача, email, загрузка файлов, предпочитают TCP.

Кроме того, в современном интернете UDP не так приветствуется, как TCP из-за средних ящиков. Некоторые приложения, такие как skype, падают до TCP, когда предполагается, что соединение UDP заблокировано.

Timir     30 апреля 2013 в 20:29

Короткие и простые различия между протоколами Tcp и Udp:

1) Tcp – протокол управления передачей и Udp – протокол пользовательских дейтаграмм.

2) Tcp-надежный протокол, где as Udp-ненадежный протокол.

3) Tcp-ориентированный поток, где as Udp-ориентированный на сообщение протокол.

4) Tcp-это медленнее, чем Udp.

msc     27 января 2017 в 19:54

rapt     23 октября 2016 в 20:38

Бегите в эту нить и позвольте мне попытаться выразить ее таким образом.

TCP

3-этапное рукопожатие

Боб: Эй, Эми, я хочу рассказать тебе один секрет.
Эми: OK, давай, я готова
Боб: OK

Общение
Боб: 'I', это первая буква
Эми: первое полученное письмо, пожалуйста, пришлите мне второе письмо
Боб: '', это уже второе письмо
Эми: второе письмо получено, пожалуйста, пришлите мне третье письмо
Боб: 'L', это уже третья буква Через некоторое время

Боб: 'L', это третья буква

Эми: третье письмо получено, пожалуйста, пришлите мне четвертое письмо
Боб: 'O', это четвертое письмо
Эми: ………

4-этапное рукопожатие Боб: теперь моя тайна раскрыта, ты знаешь мое сердце. Эми: OK. Мне нечего сказать.

Боб: OK.

UDP

Боб: Я люблю тебя.
Эми получила: OVI L E

TCP более надежен, чем UDP с гарантированным даже порядком сообщений, поэтому, несомненно, UDP более легкий и эффективный.

Gearon     11 марта 2019 в 08:20

TCP-это вот так.

https://www.youtube.com/watch?v=h-uTn6fk_RY

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

Вам нужно отправить своему другу по переписке семь привычек высокоэффективных людей. Поэтому вы решили отправить его семью отдельными письмами:

  1. Письмо 1 – Будьте активны
  2. Буква 2-Начинайте с конца в уме…

и т.д.

etc..Letter 7-заточка пилы

Требования:

Вы хотите убедиться, что ваш друг по переписке получает все ваши письма – в порядке и что они приходят идеально . Если ваша ручка платите получает письмо 7 письмо до 1 – это не хорошо. если ваш друг по переписке получает все письма, кроме буквы 3 – это тоже нехорошо.

Вот как мы обеспечиваем выполнение наших требований:

  • Письмо с подтверждением: Итак, ваш друг по переписке отправляет письмо с подтверждением, чтобы сказать “I have received letter 1”. Таким образом, вы знаете, что ваш друг по переписке получил его. Если письмо не приходит или приходит не по порядку, то вы должны остановиться, вернуться и повторно отправить это письмо, а также все последующие письма.
  • Управление потоком: примерно во время Рождества вы знаете, что ваш друг по переписке будет получать много почты, поэтому вы замедляетесь, потому что не хотите перегружать своего друга по переписке. (Ваш друг по переписке постоянно сообщает вам о количестве непрочитанных сообщений в почтовом ящике друга по переписке – если ваш друг по переписке говорит, что почтовый ящик вот – вот взорвется, потому что он переполнен, то вы замедляете отправку писем-потому что ваш друг по переписке не сможет их прочитать.
  • Идеальное прибытие. Иногда, когда вы отправляете свое письмо по почте, оно может порваться, или улитка может съесть половину его. Откуда вы знаете, что все ваше письмо прибыло в идеальном состоянии? Ну, ваш друг по переписке даст вам механизм, с помощью которого вы можете проверить, получили ли они полное письмо и что это было именно то письмо, которое вы послали. (например, через подсчет слов и т. д. ). простая аналогия.

BKSpurgeon     11 февраля 2018 в 23:19

Разница между гнездами TCP и UDP

В чем разница между созданием соединения с TCP сокетами (sock_stream) и UDP сокетами (datagram). До сих пор, я думаю, как мы можем создать соединение с помощью функции connect только для TCP…

разница между rpc и обычной tcp/udp серверной клиентской программой?

поэтому я искал разные способы создания клиентской и серверной программы (используя visual studios в c++), и я наткнулся на RPC (удаленный вызов процедуры). Но я заметил, что это также использует…

Разница в конфигурации системного журнала CEF ArcSight RAW TCP и UDP

В чем разница в конфигурации системного журнала CEF ArcSight между RAW TCP и UDP ? возможно ли, что Udp syslog отправляет без конечной линии, например Как это возможно отправить системный журнал…

В чем разница между RUDP и TCP? Просматривая информацию о RUDP в Википедии, я получил следующее определение Чтобы получить гарантированное качество, он расширяет UDP, добавляя следующие дополнительные функции: 1.Acknowledgment…
Разница между гнездом TCP и подключенным гнездом UDP

По умолчанию UDP сокет плюс вызов Connect() является подключенным UDP сокетом. Я знаю различия, связанные с TCP и UDP, но здесь я хочу знать разницу только в сокетах

SIP over TCP versus SIP over UDP [ SIP: протокол инициализации сеанса ]

В чем разница между SIP над UDP и SIP над TCP? Что на самом деле означает SIP over TCP? Значит ли это: как SIP и RTP использовать TCP или SIP использовать TCP и RTP использовать UDP

Синхронизация между UDP и TCP

В настоящее время я реализую демонический сервер, который действует как 2 сервера. Один из серверов получает журналы через UDP из коллекции производителей. Второй сервер передает каждый журнал,…

В чем разница между односторонними TCP и UDP?

В WCF можно создать одностороннее соединение TCP. Чем это отличается от UDP?

В чем разница между udp(4) и udp(6)?

Может ли кто-нибудь рассмотреть различия в синтаксисе и возможные различия в вариантах использования между udp(4) и udp(6)? Я заметил, что есть разница, отмеченная в документации узла при создании…

TCP vs UDP – что такое соединение TCP?

Что же такое соединение TCP? Я понимаю, что нет физического соединения между клиентом и сервером. Является ли это соединение просто соединением сокета клиента с новым сокетом, созданным сервером…

Что такое IP, TCP, UDP, ICMP, MAC и прочее — терминология сети – Заметки Сис.Админа

Разница между протоколами TCP и UDP

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

  • Сетевые протоколы TCP/IP, NWLink IPX/SPX, NetBEUI – что это за страшные названия и с чем их едят
  • UDP, TCP, ICMP, – что, зачем и в чем разница
  • IP-адрес, – у всех есть, но не все знают нафига эта штука 🙂
  • Маска адреса (подсеть)
  • Шлюз (gateway)
  • Несколько слов о таблицах маршрутизации
  • Порты, – что это на самом деле
  • MAC-адрес

Примерно так.

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

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

Ранее компьютеры были, так сказать, многоязычны и в старых версиях Windows использовался целый набор протоколов, – TCP/IP, NWLink IPX/SPX, NetBEUI.

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

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

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

Имеются правила для проведения видео-конференций и правила для организации “телефонных” переговоров по Интернету. Фактически, это даже не то чтобы правила.. Скорее этакая грамматика, что ли. Ну знаете, в английском одна структура построения диалогов, в французском другая..

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

Сетевые протоколы UDP, TCP, ICMP

В рамках протокола TCP/IP для передачи данных используются протоколы – TCP и UDP. Многие наверняка слышали, что есть порты как TCP, так и UDP, но не все знают в чем разница и что это вообще. И так..

Передача данных по протоколу TCP (Transmission Control Protocol – Протокол Управления Передачей) предусматривает наличие подтверждений получения информации. “-Ну, мол, – получил? -Получил!” Если же передающая сторона не получит в установленные сроки необходимого подтверждения, то данные будут переданы повторно.

Поэтому протокол TCP относят к протоколам, предусматривающим соединение, а UDP (User Datagram Protocol — Протокол Пользовательских Датаграмм) – нет. UDP применяется в тех случаях, когда не требуется подтверждения приема (например, DNS-запросы или IP-телефония (яркий представитель которой, – Skype) ). То есть разница заключается в наличии подтверждения приема.

Казалось бы “Всего то!”, но на практике это играет важную роль.

Есть еще так же протокол ICMP (Internet Control Message Protocol — межсетевой протокол управляющих сообщений), который используется для передачи данных о параметрах сети. Он включает в себя служебные типы пакетов, таки как ping, distination unreachable, TTL и пр.

Что такое IP-адрес

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

IP-адрес  – 32-х битное число, используемое для идентификации компьютера в сети. Адрес принято записывать десятичными значениями каждого октета этого числа с разделением полученных значений точками. Например, 192.168.101.36

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

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

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

Для построения же локальных сетей выделены спец.диапазоны адресов. Это адреса 10.x.x.x, 192.168.x.x, 10.x.x.x, c 172.16.x.x по 172.31.x.x, 169.254.x.x, где под x- имеется ввиду любое число это от 0 до 254.

Пакеты, передаваемые с указанных адресов, не маршрутизируется, иными словами, попросту не пересылаются через Интернет, а поэтому в различных локальных сетях компьютеры могут иметь совпадающие адреса из указанных диапазонов. Т.е., в компании ООО “Рога и копыта” и ООО “Вася и компания” могут находится два компьютера с адресами 192.168.0.

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

Иными словами, данные в Сеть пересылаются с реального IP-адреса, а не с локального. Этот процесс происходит не заметно для пользователя и называется трансляцией адресов. Хочется так же упомянуть, что в рамках одной сети, скажем, компании, ООО “Рога и копыта”, не может быть два компьютера с одним локальным IP-адресом, т.е.

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

Вы наверняка слышали такие термины как внешний IP и внутренний IP, постоянный (статический IP) и переменный (динамический) IP. В двух словах о них:

  • внешний IP – это как раз тот самый IP, который выдает Вам провайдер, т.е. Ваш уникальный адрес в интернете, например, – 85.144.24.122
  • внутренний IP, – это локальный IP, т.е. Ваш IP в локальной сети, например, – 192.168.1.3
  • статический IP – это IP, который не меняется с каждым подключением, т.е. закреплен за Вами твердо и навсегда
  • динамический IP, – это плавающий IP-адрес, который меняется с каждым подключением

Тип Вашего IP (статический или динамический) зависит от настроек провайдера.

Что такое маска адреса (подсеть)

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

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

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

Маска – это параметр, который сообщает программному обеспечению о том, сколько компьютеров объединено в данную группу (подсеть). Маска адреса имеет такую же структуру как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255.

При этом, чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших компаний маска обычно имеет вид 255.255.255.x (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом. Так, например, сеть 192.168.0.0 с маской 255.255.255.

0 может содержать в себе компьютеры с адресами от 192.168.0.1 до 192.168.254. А сеть 192.168.0.0 с маской 255.255.255.128 допускает адреса от 192.168.0.1 до 192.168.0.127. Думаю, смысл понятен. Как правило сети с небольшим возможным числом компьютеров используются провайдерами с целью экономии IP-адресов.

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

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

Что такое Шлюз (Gateway)

Шлюз – это устройство (компьютер или маршрутизатор), которое обеспечивает пересылку информации между различными IP-подсетями. Если программа определяет (по IP и маске), что адрес назначения не входит в состав локальной подсети, то она отправляет эти данные на устройство, выполняющее функции шлюза. В настройках протокола указывают IP-адрес такого устройства.

Для работы только в локальной сети шлюз может не указываться.

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

Что такое таблицы маршрутизации

И вот мы плавно добрались и до них. И так.. Что же за таблицы такие.

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

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

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

Что такое сетевые порты

При передаче данных кроме IP-адресов отправителя и получателя пакет информации содержит в себе номера портов. Пример: 192.168.1.1:80, – в данном случае 80 – это номер порта.

Порт – это некое число, которое используется при приеме и передаче данных для идентификации процесса (программы), который должен обработать данные.

Так, если пакет послан на 80-й порт, то это свидетельствует, что информация предназначена серверу HTTP.

Номера портов с 1-го до 1023-й закреплены за конкретными программами (так называемые well-known-порты). Порты с номерами 1024-65 535 могут быть использованы в программах собственной разработки.

При этом возможные конфликты должны решаться самими программами путем выбора свободного порта.

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

Что есть MAC-адрес

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

MAC-адрес – это уникальный адрес сетевого устройства, который заложен в него изготовителем оборудования, т.е. это этакий проштампованный номер Вашей сетевой карты. Первая половина MAC-адрес представляет собой идентификатор изготовителя, вторая – уникальный номер данного устройства.

Как правило MAC-адрес бывает требуется для идентификации, скажем, у провайдера (если провайдер использует привязку по мак-адресу вместо логина-пароля) или при настройке маршрутизатора.

Где посмотреть все сетевые настройки

Чуть не забыл сказать пару слов о том где можно поглядеть и поменять всё это.

Пуск – Выполнить – вводим cmd – жмем в кнопочку Enter – в появившейся консоли вводим ipconfig /all и снова жмем в кнопочку Enter.

Вуаля, – смотрим свои настройки 🙂

Послесловие

Фуф, ну вот и всё. Такой вот получился экскурс в мир сетей 🙂
Надеюсь, что это статья действительно Вам пригодилась и получилась достаточно доступной для понимания любого пользователя.

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.