Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Походу в одну сторону ;) 28.04.07 12:39 Число просмотров: 1695
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 28.04.07 12:47 Количество правок: 1
|
> Дойдёт. Туда. А обратно не дойдёт. Даже если порт укажет, > тогда получается, что клиентские программы внутри локалки, > работая с одним и тем же сервером в инете по UDP, обязаны > сами заботится об уникальности "обратных" портов, что резко > усложняет реализацию, заставляя вводить в софт некий p2p > слой. prev post:
> > Порт 0 является зарезервированным, но может > > использоватся как порт источника, если приложение не > > ожидает ответных данных. > В аське юзается UDP только "туда", на сервак, и для простых > комманд, которые гарантированно влазят в 1 пакет. Всё что > «оттуда» — по TCP. ИМХО, UDP в аське вообще лишний... Ни внешний, ни p2p асечный трафик не юзает UDP. В тестовых целях минут с 10 работает tcpdump udp, ничего кроме днс трафика и виндовых броадкастов. Даже авторизовал кого-то.
> > В порт-нате, о котором говорим, идентификация идёт > > по паре хост-порт, она уникальна > если > > (p1=p2) & (h1!=h2) > У меня не тот случай, сервер в интернете может иметь 1 IP > адрес, а клиентов в локалке, ломящихся на этот же сервер, > может быть несоклько. Да, ещё раз: в инете сервер A, нат на B, тачки C и D за натом:
Генерим одновременно на 2 машинах 2 UDP пакета (C:Pc1-A:Ap0), (D:Pd1 - A:Ap0).
C роутера(aka шлюза) B после nat-подмены уходят 2 пакета (B:Pb1-A:Ap0), (B:Pb2 - A:Ap0).
На роутер приходят 2 пакета (A:Ap0 - B:Pb1), (A:Ap0 - B:Pb2).
Выполняется обратное nat-преобразование, с B внутрь уходят 2 пакета:
(A:Ap0 - C:Pc1), (A:Ap0 - D:Pd1).
Таким образом, nat обеспечивает независимость от соотношения портов отправителя.
> Задача требует как "туда", так и "обратно" без гимора, что Таки есть общение клиент-клиент? т.е. каждый клиент ещё и сервер должен быть?
Если надо общаться только к-серверу-от-сервера то UDP будет работать правильно из-за любого количества натов на пути
> с успехом обеспечивается по TCP без плясок с бубнами. Да, тогда коннекшн постоянно держать, или переконнекчиваться каждый раз, тут всё зависит от числа клиентов и серверов. Корень топика был про практические ограничения, поэтому, подозреваю, надо по возможности исключать паразитную нагрузку во всех её видах, в том числе и TCPшный triple handshake.
|
|
|