Отговори на тема  [ 4 мнения ] 
TCP Connection: Въпросче към мрежарите :) 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение TCP Connection: Въпросче към мрежарите :)
Опитвам се да преработя една програмка като целта е да се смени TCP протокола с нещо по-бързо на базата UDP ...
Та значи постановката е следната.. имам един процес които си върви на клиентската машина (която нее с реално IP т.е седи зад рутер) през определен интервал процеса се опитва да се свърже с Server приложението (примерно неиде в Зимбабе :) .... сървара е с реално IP).

Та така .. програмката си я направих само че ползвам TCP ... Въпроса ми е следния:

Когато се конектна към сървара посредством TCP пращането и приемането на данни е ясно ... как обаче да го преработя за UDP ? Значи питанката идва от там ... да пращам UDP шакети към реално IP ясно как става .. обаче как да получа пакет след като клиента ми седи зад рутер ?

Примерно ... киента праща UDP пакет към сървара с IP:xxx.xxx.xxx ...
... След като сървъра приеме пакета тои съответно изпраща някво echo към клиента ... работата е там че всъщност тои изпраща този пакет към IP то на рутера ?! ....

Ето тук се запъвам .. смисъл как да накарам рутера да пренасочи този пакет към съответното вътрешно IP на клиента ... TCP'то явно го прави :) .. въпроса е как да го направя аз посредст UDP ?

И една забележка .. немога да ровя в руловете на рутера (смисъл тои се явява интернет проваидера) .... ако можех ясно как става :P

Edit: Въпроса ми може да се зададе и по следния начин :)

Когато рутера получи TCP пакет от вън ... как разбира за кое от вътрешните IP та е предназначен този пакет .. съответно за да го пренасочи ?

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Нед Апр 06, 2008 2:42 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Вероятно на базата на "socket" (local IP address/foreign IP address, local port/foreign port).
Същата комбинация я има и в UDP пакетите, така че за рутъра не би
трябвало да е проблем да го прави.
UDP е "best effort" тип протокол, т.е. изпращачът не знае дали получателят е получил
пакета. Ако това не ти е достатъчно, няма да можеш да ускориш нещата спрямо TCP.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Нед Апр 06, 2008 4:39 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 12, 2006 5:09 pm
Мнения: 26
Мнение Не става така.
Ако говориш за NAT ?рутер? което си е точно така според това което си написал има два варианта.
- С UpNP отваряш порт в NAT. Ако разбира се рутера ти има тази възможност. Това е идеалния вариант между другото.
- Отваряш твърдо порт в NAT. Тогава обаче всяка смяна на вътрешния адрес ще води и до преконфигурация на рутера и разправяне с провайдери.

TCP-то държи отворена сесия в NAT. UDP не обаче. Когато рутера получи пакет по точно тази сесия има map по който го пренасочва към вътрешния адрес. Нещо такова...


Сря Апр 09, 2008 11:57 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение 
Разбрах как става номера ... вика му се "маскарадинг" .... :)

Когато вътрешно IP изпрати пакет в него се садържа ... (1)DestIP, (2)SorcIP, (3)DestPort, (4)SorrcPort .... рутера сменя (2) с неговото IP и (4) с произволен порт ... след това слага в таблица следното нещо ... SorrcPortЬ -> IP'на вътрешната машина .... и съответно когато му се върне пакет предназначен за порт Х тои проверява от таблицата на този порт кое IP съотвества и го пренасочва :)

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Сря Апр 09, 2008 1:05 pm
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 4 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни