/ Forside / Teknologi / Netværk / TCP/IP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
TCP/IP
#NavnPoint
Per.Frede.. 4668
BjarneD 4017
severino 2804
pallebhan.. 1680
EXTERMINA.. 1525
xou 1455
strarup 1430
Manse9933 1419
o.v.n. 1400
10  Fijala 1204
Hvordan skelner routeren UDP traffik fra 2~
Fra : michael


Dato : 14-02-05 14:05

Hej jeg har længe spekuleret over hvordan min ADSL router med switch skelner
mellem UDP traffik fra mine 2 hjemme-pc'er (10.0.0.2 og 10.0.0.3). Jeg har
statisk IP (cybercity) og bruger DHCP. Eksemplet er:

Jeg starter det samme spil på begge PC'er. Lad os antage at de tilfældigvis
opretter en UDP socket der bruger samme port X. Begge PC'er sender nu hver
et UDP request til en spille-server i USA. Spille-serveren modtager et 2
forskellig request og sender 2 forskellige UDP svar tilbage (et til hver af
mine pc'er). Men hvordan ved min router hvilke af de 2 UDP packet (svar) som
hører til hvilke af de 2 computere?

Venligst Michael




 
 
Asbjorn Hojmark (14-02-2005)
Kommentar
Fra : Asbjorn Hojmark


Dato : 14-02-05 14:16

On Mon, 14 Feb 2005 14:04:36 +0100, "michael" <nospam@yahoo.com>
wrote:

> Jeg starter det samme spil på begge PC'er. Lad os antage at de tilfældigvis
> opretter en UDP socket der bruger samme port X.

Ja, de bruger måske nok samme *destinations*-port, men de har jo ikke
samme source-adresse.

Din router ændrer *source*-porten på trafik fra maskine A til port a
og på trafik fra maskine B til port b. Og så lægger den ind i en lille
tabel, at når der kommer et svar (fra port X) til port b, skal det
sendes til maskine B.

-A

michael (14-02-2005)
Kommentar
Fra : michael


Dato : 14-02-05 14:59

Så det du siger at uanset de 2 pc'er tilfældigt opretter SAMME source port
så vil routeren finde ud af det og ændre mindst en af dem til en anden
source port?

Er det helt generelt at routeren selv HVER gang definerer en ny source port?

D.v.s. som minimum må routeren have styr på i en opslagstabel:

1. PC'ens oprindelige source port
2. En til ovenstående ny routerdefineret port
3. PC'ens MAC

Okay men hvorlænge husker routeren så det. Den ved jo ikke hvornår
kommunikationen er færdig? For god ordens skyld bør jeg måske nævne, at det
er en zyxel prestige 650 R-31 router.



Asbjorn Hojmark (14-02-2005)
Kommentar
Fra : Asbjorn Hojmark


Dato : 14-02-05 19:54

On Mon, 14 Feb 2005 14:58:59 +0100, "michael" <nospam@yahoo.com>
wrote:

> Så det du siger at uanset de 2 pc'er tilfældigt opretter SAMME source port
> så vil routeren finde ud af det og ændre mindst en af dem til en anden
> source port?

Ja, hvis de tilfældigvis finder på at bruge samme source-port, så er
det (stadig) routerens opgave at sætte yderside source-port på
(mindst) den ene af dem til noget andet.

> Er det helt generelt at routeren selv HVER gang definerer en ny source port?

Principielt kunne routeren godt lade sessionen køre med den klient-
valgte port, hvis den ikke var i brug i forvejen, selvfølgelig. Jeg
tror nu, de fleste bare bruger en ny port hver gang.

-A
--
Heroes: Vint Cerf & Bob Kahn, Leonard Kleinrock, Robert Metcalfe, Jon Postel
Links : http://www.hojmark.net/
FAQ : http://www.net-faq.dk/

michael (15-02-2005)
Kommentar
Fra : michael


Dato : 15-02-05 23:15

asbjorn mange tak for svaret. så fik jeg stillet min nysgerrighed og kender
mulighederne hvis jeg skal lave noget socket programmering.

Venligst Michael



Kasper Dupont (16-02-2005)
Kommentar
Fra : Kasper Dupont


Dato : 16-02-05 13:11

michael wrote:
>
> Er det helt generelt at routeren selv HVER gang definerer en ny source port?

Hver gang en ny kommunikation startes. Hvis der
allerede er oprettet en indgang i NAT tabellen
anvendes den allerede valgte adresse. Denne tabel
bruges for både ind og udgående pakker.

>
> D.v.s. som minimum må routeren have styr på i en opslagstabel:
>
> 1. PC'ens oprindelige source port
> 2. En til ovenstående ny routerdefineret port
> 3. PC'ens MAC

Nok nærmere PC'ens IP, men ellers har du ret.

>
> Okay men hvorlænge husker routeren så det. Den ved jo ikke hvornår
> kommunikationen er færdig?

Der er flere måder at gøre det på. F.eks. kunne der
være et fast timeout (jeg har hørt om nogen stedder
hvor der blev anvendt et 10min timeout). En bedre
løsning er nok at beholde dem så længe som muligt
og når tabellen er fyldt op slettes den indgang som
har været ubrugt i længst tid.

> For god ordens skyld bør jeg måske nævne, at det
> er en zyxel prestige 650 R-31 router.

Jeg ved ikke nøjagtigt hvordan den router gør.

--
Kasper Dupont

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste