Beste Tweakers!
Ik ben bezig met een applicatie bouwen die heel afhankelijk is van peer-to-peer, makkelijk in normale situaties, zoals server zonder firewall, maar nu probeer ik iets wat volgens mijn kennis onmogelijk is, en daar zou ik graag advies over willen!
Ik wil dus in een NAT-to-NAT situatie een TCP socket opbouwen tussen de twee PCs die allebij ge-NAT zijn. Dit gaat om een proces dat dus geen gebruik maakt van nat helper, nat2nat, upnp, nat-pmp, relay servers, PNAT / port forwarding, etc.
De applicatie gebruikt een relay dienst van 1 kb/s ofzo om toch IP adressen en poort nummers en eventuele andere belangrijke connectie informatie door te voeren (server weet zo zijn externe WAN adres). Op deze manier weet de server applicatie dat de client een verbinding met hem probeert te maken maar niet verder komt dan de (serverside) NAT.
Is er een manier om de server applicatie, de (serverside) router aan te laten sturen, dat hij zodanig aan de (serverside) router vertelt, dat er dus paketten binnen komen die eigenlijk ge-forward moet worden naar de server applicatie (die dus een lokaal IP adres heeft eg. 192.168.0.X)?
Ik neem aan dat de (clientside) router, onthoud vanaf welke (interne private) client het originele verzoek komt, en dus in het geval van een reply weet waar het terug heen moet (normale NAT) waardoor de socket word opgebouwd?! Klopt dit? Als via de 1kb/s datalaag aan de server kan worden aangegeven op welk IP:POORT hij dus een ACK moet terug sturen, is dat dan al genoeg om een ACK te sturen naar de reply-afwachtende-client-router/NAT om een socket op te bouwen?
Als er fouten in mijn analize zitten hoor ik het heel graag! En sterker nog hoor ik het liefst iets over een eventueel antwoord!
MVG,
Michael Barton
Ik ben bezig met een applicatie bouwen die heel afhankelijk is van peer-to-peer, makkelijk in normale situaties, zoals server zonder firewall, maar nu probeer ik iets wat volgens mijn kennis onmogelijk is, en daar zou ik graag advies over willen!
Ik wil dus in een NAT-to-NAT situatie een TCP socket opbouwen tussen de twee PCs die allebij ge-NAT zijn. Dit gaat om een proces dat dus geen gebruik maakt van nat helper, nat2nat, upnp, nat-pmp, relay servers, PNAT / port forwarding, etc.
De applicatie gebruikt een relay dienst van 1 kb/s ofzo om toch IP adressen en poort nummers en eventuele andere belangrijke connectie informatie door te voeren (server weet zo zijn externe WAN adres). Op deze manier weet de server applicatie dat de client een verbinding met hem probeert te maken maar niet verder komt dan de (serverside) NAT.
Is er een manier om de server applicatie, de (serverside) router aan te laten sturen, dat hij zodanig aan de (serverside) router vertelt, dat er dus paketten binnen komen die eigenlijk ge-forward moet worden naar de server applicatie (die dus een lokaal IP adres heeft eg. 192.168.0.X)?
Ik neem aan dat de (clientside) router, onthoud vanaf welke (interne private) client het originele verzoek komt, en dus in het geval van een reply weet waar het terug heen moet (normale NAT) waardoor de socket word opgebouwd?! Klopt dit? Als via de 1kb/s datalaag aan de server kan worden aangegeven op welk IP:POORT hij dus een ACK moet terug sturen, is dat dan al genoeg om een ACK te sturen naar de reply-afwachtende-client-router/NAT om een socket op te bouwen?
Als er fouten in mijn analize zitten hoor ik het heel graag! En sterker nog hoor ik het liefst iets over een eventueel antwoord!
MVG,
Michael Barton