TCP и UDP в IP-телефонах: выбираем правильно

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

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

Уровни протоколов

Коммуникации через Интернет представляют собой 7-уровневый процесс, где каждый уровень работает независимо. Уровни, о которых мы поговорим, это Уровень приложений (Прикладной уровень) и Транспортный уровень. В VoIP на Прикладном уровне используется протокол SIP, а на Транспортном – протоколы Transmission Control Protocol (TCP) и User Datagram Protocol (UDP). Ниже представлена диаграмма Стандартной модели OSI.

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

Протокол TCP

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

  • Алло?
  • Слушаю!
  • Я хочу сказать тебе что-то важное…
  • Информацию принял!

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

Вот эта дополнительная стоимость, применительно к протоколу TCP, проявляется как более медленная передача данных, чем иногда требуется. Кроме того, “отслеживание” каждого пакета потребляет дополнительный трафик. Поэтому TCP плохо приспособлен для коммуникаций в реальном времени. Если пакеты вашего “недокачанного” файла TCP отсылает повторно – это нормально, но подходит ли это для телефонного разговора? Условно говоря, если ваш собеседник не разобрал какое-то слово, TCP через некоторое время повторно вам его “присылает”. Во- первых, сам разговор утрачивает всякий смысл, а во-вторых – многочисленные попытки “дослать” потерявшееся слово приводили бы к неприемлемым задержкам.

Протокол UDP в IP-телефонах

Многие производители IP-телефонов для передачи голоса допускают использование как протокола TCP, так и UDP, но по умолчанию, всегда используется UDP. UDP отлично приспособлен для быстрой передачи данных без квитирования – например, голоса и видео. Кроме того, UDP не контролирует доставку пакетов в правильном порядке. Но при реальном разговоре людей, скорость передачи информации гораздо важнее некоторых потерь, которые могут случиться. Если вы не услышите части слова, либо “моргнет” картинка – вы все равно поймете, о чем идет речь. Повторная передача пакетов тут ни к чему и, наоборот, приведет к неприятному “провалу” речи.

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

Leave a Reply