2013-09-29 5 views
0

Я хотел бы создать новый протокол, т. Е. Иметь функции TCP и UDP. можете ли вы рассказать мне, какие советы и методы необходимы, если это возможно.Могу ли я объединить TCP-протокол TCP и UDP

Заранее спасибо

+0

Какие особые функции вам нужны? Если вам нужен протокол без установления соединения, вам нужно будет добавить контрольную сумму/порядковый номер в свои пакеты, чтобы вы всегда знали, был ли потерян пакет. – yegorich

+1

Вопрос слишком широк для ответа здесь, но убедитесь, что вы не изобретаете [SCTP] (https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol). – EJP

ответ

1

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

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

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

Смежные вопросы