TCP и UDP используют разные буферы ОС? - PullRequest
1 голос
/ 10 мая 2010

Привет всем.

Вот сценарий.

У меня есть порт 8888 для моей программы.

Я строю TCP и UDP-прослушиватель на этом порту. (Это может сделать, c # позволяет, потому что это два разных протокола)

Мой вопрос

Если сетевой трафик очень занят, сокеты TCP могут отказать или дать сигнал другому концу прекратить посылку, это называется контролем перегрузки, верно?

Так что, если TCP контролирует перегрузку, другие стороны могут не отправлять больше данных, в этот "период ожидания TCP" канал UDP должен иметь не так много трафика, верно?

Я хочу выяснить, повлияет ли трафик TCP на трафик UDP или нет?

Ответы [ 2 ]

2 голосов
/ 10 мая 2010

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

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

Что ты на самом деле спрашиваешь?

0 голосов
/ 20 апреля 2011

Чтобы ответить на явный вопрос в заголовке ...

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

Таким образом, TCP и UDP не будут взаимодействовать на «транспортном» уровне, а будут взаимодействовать на «сетевом», «канале связи» и «физическом» уровнях под ним.

...