Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Сетевые технологии > Почему порты TCP и UDP не пересекаются?


Автор: Chai 14.10.2012, 10:57
Прочитал сейчас в ВИКИ, что при занятии сетевого порта по протоколу UDP не мешает обмену по этому же порту по протоколу TCP.
Почему, если в обоих случаях оба приложения открывают один и тот же ресурс (порт операционной системы)?

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

Но тогда службы для обслуживания обмена по TCP и UDP, скажем, в Windows 7, разные (и какие конкретно)?

Автор: Chai 14.10.2012, 12:30
Я так думаю, что нужно рассматреть архитектуру виндоус в части Winsock? UDP и TCP оба используют его?

Автор: Akina 14.10.2012, 20:23
Тебя не удивит, что поезд рейс 123 никогда не сталкивался с самолётом 123 рейса?

Автор: Chai 14.10.2012, 20:46
Не удивит. Потому что самолет прилетает на аэродром, поезд приезжает на ж/д вокзал. Это разные пункты назначения.
Но я не понимаю, почему нет коллизий, когда пункты одни и те же (один и тот же порт). 
Допустим, какое-то приложение заняло порт 123 и использует для передачи данных протокол UDP. Как может другое приложение стучаться в тот же порт, пусть даже по другому протоколу передачи? Порты находятся в одном логическом пространстве адресов.

Автор: DarkProg 14.10.2012, 23:14
Цитата(Chai @  14.10.2012,  21:46 Найти цитируемый пост)
Потому что самолет прилетает на аэродром, поезд приезжает на ж/д вокзал. Это разные пункты назначения.

И ещё раз, тогда перечитывай вот эту собственную фразу, пока не появится аналогия. не наступит озарение.

Автор: Akina 15.10.2012, 07:36
Цитата(Chai @  14.10.2012,  21:46 Найти цитируемый пост)
 Потому что самолет прилетает на аэродром, поезд приезжает на ж/д вокзал. Это разные пункты назначения.

И там, и там пассажиры прибывают в город Крыжопль.

Добавлено через 43 секунды
Цитата(Chai @  14.10.2012,  21:46 Найти цитируемый пост)
Порты находятся в одном логическом пространстве адресов.

Ага... только вокзалы разные - у одного ж/д, у другого аэро...

Автор: Chai 15.10.2012, 08:44
Все, нашел конкретную инфу. Кадры направляются модулем IP (т.е. на сетевом уровне).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)