Forum: Mikrocontroller und Digitale Elektronik Übertragung per UDP --> Problem


von Peter Z. (hangloose)


Lesenswert?

Hallo...folgendes Problem.

Übertrage Daten von einer Android App per UDP auf ein WLAN Modul
RN 171 von Microchip und zurück.
Das funktioniert auch im lokalen Netz ohne Probleme.

Gehe ich nun zum WLAN Modul(WLAN Modul an FritzBox) über das 
Mobilfunknetz funktioniert
nur die Richtung zum WLAN Modul. Zurück zum Smartphone
kann ich keine Daten empfangen.

Wo ist nun der Fehler.
Werden vom Internetprovider bestimmte Ports bei UDP in diese Richtung 
geblockt? Oder was mache ich falsch.

Über TCP funktioniert alles problemlos auch über Mobilfunk.
Portfreigabe in der FritzBox ist natürlich eingerichtet.
Bräuchte aber UDP für meine Anwendung.

: Bearbeitet durch User
von Christian M. (Gast)


Lesenswert?

Internet über Mobilfunk-Netz geht soviel ich weiss NUR ausgehende 
Verbindungen. Wahrscheinlich ändert auch die IP jedesmal...

Gruss Chregu

von Sven S. (boldie)


Lesenswert?

Ich vermute, du hast ein Problem mit der Firewall oder mit NAT. UDP ist 
verbindungslos und ist daher gesondert zu handhaben. Ebenso ist NAT 
nicht einfach. UDP wird aber oft von Messengern wie Skype oder ICQ 
eingesetzt, um durch die Firwall zu kommen. Bei Heise gab es einmal 
einen Artikel zu dieser Thematik, vielleicht hilft dir das im 
Verständnis weiter, wo dein Problem liegen kann: 
http://www.heise.de/security/artikel/Wie-Skype-Co-Firewalls-umgehen-270856.html

von Peter Z. (hangloose)


Lesenswert?

@Christian
Die IP Adresse sollte nicht das Problem sein.
Das WLAN Modul unterstützt UDP Auto Pairing.
Aber auch wenn ich die aktuelle IP Adresse des Smartphone
als Remote Host im Modul eintrage funktioniert es nicht.

@Sven
Denke nicht das es an der Firewall liegt.
Mit TCP funktioniert es ja problemlos.
Vielleicht funktionieren hier wirklich nur ausgehende Verbindungen.

von (prx) A. K. (prx)


Lesenswert?

Peter Z. schrieb:
> Aber auch wenn ich die aktuelle IP Adresse des Smartphone
> als Remote Host im Modul eintrage funktioniert es nicht.

Bei normalen Verträgen kann niemand über Mobilfunk direkt Verbindungen 
in Richtung zu einem Smartphone aufbauen, da diese sich hinter einem 
Provider-NAT verstecken. Die Adresse des Smartphones ist meist 10.x.x.x 
und die ist nicht ansprechbar. Die in Diensten wie whatismyip.com 
angezeigte Adresse ist die des Provider-NAT-Systems oder eines Proxies, 
nicht des Smartphones.

: Bearbeitet durch User
von Peter Z. (hangloose)


Lesenswert?

@A.K.

Das heißt es funktioniert mit meiner Xtra Card so nicht und es bleibt 
dann nur TCP für meine Verbindung?

Danke für die Info...

von (prx) A. K. (prx)


Lesenswert?

Peter Z. schrieb:
> Das heißt es funktioniert mit meiner Xtra Card so nicht und es bleibt
> dann nur TCP für meine Verbindung?

Mit TCP geht das, was ich beschrieb, auch nicht. Aber mir ist aus deinem 
Text heraus nicht recht klar, wer im Problemfall aus welchem Netz heraus 
eine Verbindung zu wem aufbaut. da steht zu viel durcheinander drin. 
Bitte diesmal genau die eine nicht funktionierende Verbindung 
beschreiben, von Anfang bis Ende. Mit IP-Adressen, ggf. ohne letztes 
Byte.

von andi6510 (Gast)


Lesenswert?

Das einzige, was über das Mobilfunknetz funktionieren kann ist eine 
TCP-Verbindung, die vom Telefon aus aufgebaut wird. Das WLAN-Modul wird 
von sich aus keine Verbindung zum Handy aufbauen können.
Aber du kannst ja die einmal aufgebaute Verbindung stehen lassen und 
auch in Gegenrichtung verwenden.

von (prx) A. K. (prx)


Lesenswert?

andi6510 schrieb:
> Das einzige, was über das Mobilfunknetz funktionieren kann ist eine
> TCP-Verbindung, die vom Telefon aus aufgebaut wird.

UDP geht auch, zumindest bei Traceroute.

von Baku M. (baku)


Lesenswert?

Peter Z. schrieb:
> Das heißt es funktioniert mit meiner Xtra Card so nicht und es bleibt
> dann nur TCP für meine Verbindung?

Moinsen!
Jein...

Du kannst dein Smartphone auch per UDP erreichen, WENN du vorher 
UDP-Pakete vom Smartphone an deine Gegenseite gesendet hast UND deine 
UDP ans Smartphone den gleichen Port und die Adresse, die deine 
Gegenseite für diese Pakete als Absender sieht(!) als Zieladresse 
benutzt. Zumindest eine gewisse Zeit lang, bis der NAT-timeout 
abgelaufen ist.
Wichtig ist, NICHT die WAN-Adresse des Smartphone zu verwenden, sondern 
die Adresse, die am Empfänger gesehen wird.
Und ja, diese Adresse kann sich gelegentlich ändern.
Im Protokoll muß also berücksichtigt werden, daß das Smartphone 'ab und 
an' ein Paket sendet, um den NAT offen zu halten und die aktuelle 
Adresse zu erhalten. Und das diese Pakete gelegentlich auch mal verloren 
gehen...

Ein aktiver 'Verbindungs'-aufbau an das Smartphone geht nicht.
BTDT

Baku

von Bernd K. (prof7bit)


Lesenswert?

andi6510 schrieb:
> Das einzige, was über das Mobilfunknetz funktionieren kann ist eine
> TCP-Verbindung, die vom Telefon aus aufgebaut wird.

Antworten auf UDP sollten auch durchkommen wenn das NAT des 
Mobilfunkproviders mit den einschlägigen RFCs konform ist.

von Peter Z. (hangloose)


Lesenswert?

@A.K.
Also es funktioniert folgendermaßen bei mir.
Das WLAN Modul (RN 171) ist per WLAN dauerhaft mit dem Router (FritzBox 
7490)
verbunden.
Ich starte nun die App am Smartphone es wird eine Verbindung zum WLAN 
Modul
aufgebaut über die alle 100ms Daten geschickt werden.
Nach Empfang werden diese Daten modifiziert und zurück Richtung 
Smartphone geschickt.
Wie gesagt wenn TCP als Protokoll eingestellt ist geht es in beide 
Richtungen.

Bei UDP geht es nur Richtung Smartphone.

@Baku
Ich habe den selben Port, in diesem Fall 2000 eingestellt.
Ich Sende ja erst Pakete vom Smartphone an die Gegenstelle.
Die Gegenstelle sollte ja die richtige Adresse verwenden
wenn UDP Auto Pairing aktiviert ist

4.1.1 UDP Auto Pairing
With the UDP auto-pairing feature, the module temporarily stores the 
host IP address
of the first remote device that sends a UDP packet to the module. This 
host IP address
is stored in the module’s RAM, which is cleared when the module sleeps 
or power
cycles. This feature allows the module to echo to any client that sends 
a UDP packet.

von (prx) A. K. (prx)


Lesenswert?

Peter Z. schrieb:
> Wie gesagt wenn TCP als Protokoll eingestellt ist geht es in beide
> Richtungen.

Es wird also immer die TCP-Verbindung vom Smartphone zum WLAN-Module 
aufgebaut, und anschliessenden geht die Daten in beide Richtungen? 
Verstanden.

> Bei UDP geht es nur Richtung Smartphone.

Hier ist es leider immer noch unverständlich. Denn das klingt so, als ob 
keine Pakete vom Smartphone zu WLAN-Modul durchdringen, aber alle Pakete 
vom WLAN-Modul zum Smartphone. Was über Mobilfunk technisch unmöglich 
ist, weil das Smartphone prinzipiell immer damit anfangen muss.

Beteiligt sind an so einer Kombination zwei NAT-Systeme. Eines beim 
Mobilfunkprovider. Das andere sitzt in deinem Heimrouter (DSL) oder 
dessen Provider (TV-Kabel). Wär nützlich zu wissen, um was es hier geht 
und was genau du im Heimrouter ggf. freigeschaltet hast.

von Steven M. (8023)


Lesenswert?

du könntest dir einfach vorher einen vpn tunnel einrichten... dann 
verlässt du praktisch dein lan nicht, und umgehst die probleme ganz

von (prx) A. K. (prx)


Lesenswert?

Steven M. schrieb:
> du könntest dir einfach vorher einen vpn tunnel einrichten... dann
> verlässt du praktisch dein lan nicht, und umgehst die probleme ganz

Und zwar zwischen Smartphone und Heimrouter.

Hoffentlich ist das kein Internet per TV-Kabel. Da wär das u.U. 
schwierig.

von Alex W. (a20q90)


Lesenswert?

Peter Z. schrieb:
> es funktioniert mit meiner Xtra Card so nicht

Kann ich bestätigen! Ausgehend zu einem Server ja, aber vom Server zur 
XTra geht nicht! Da musst Du TCP verwenden!

von Peter Z. (hangloose)


Lesenswert?

A. K. schrieb:
> Peter Z. schrieb:
>> Wie gesagt wenn TCP als Protokoll eingestellt ist geht es in beide
>> Richtungen.
>
> Es wird also immer die TCP-Verbindung vom Smartphone zum WLAN-Module
> aufgebaut, und anschliessenden geht die Daten in beide Richtungen?
> Verstanden.
>
Ja genau

>> Bei UDP geht es nur Richtung Smartphone.
>
Sorry im Eifer des Gefechts hab ich mich verhaspelt.
Natürlich nur Richtung WLAN Modul

> Hier ist es leider immer noch unverständlich. Denn das klingt so, als ob
> keine Pakete vom Smartphone zu WLAN-Modul durchdringen, aber alle Pakete
> vom WLAN-Modul zum Smartphone. Was über Mobilfunk technisch unmöglich
> ist, weil das Smartphone prinzipiell immer damit anfangen muss.
>
> Beteiligt sind an so einer Kombination zwei NAT-Systeme. Eines beim
> Mobilfunkprovider. Das andere sitzt in deinem Heimrouter (DSL) oder
> dessen Provider (TV-Kabel). Wär nützlich zu wissen, um was es hier geht
> und was genau du im Heimrouter ggf. freigeschaltet hast.

von Peter Z. (hangloose)


Lesenswert?

Es ist ein normaler DSL Anschluss an der FritzBox
Mit der UDP Portfreigabe für das WLAN Modul Port 2000

von Peter Z. (hangloose)


Lesenswert?

@Steven
Ich versuche das mal mit dem VPN Tunnel...
Das müsste ja gehen

von (prx) A. K. (prx)


Lesenswert?

Hab das nun ausprobiert, mit UDP Echo-Server direkt im Internet und App 
"UDP Server / Receiver":

Vodaphone: Server bekommt Paket, Antwort wird vom Phone empfangen.

Telekom, E-Plus(*), O2(*): Server bekommt Paket von NAT-Adresse, Antwort 
landet nicht beim Phone.

*: zwar beides Telefonica, aber die NAT-Adressen liegen immer noch in 
getrennter Infrastruktur.

von Peter Z. (hangloose)


Lesenswert?

@A.K.
Das ist ja sehr interessant... Vielen Dank fürs testen!

Ich habe es jetzt mal über einen VPN Tunnel probiert.
Leider funktioniert es da auch nur in die eine Richtung
vom Smartphone zum WLAN Modul.
Sehr seltsam....
Es kommen keine Daten zum Smartphone zurück

von Peter Z. (hangloose)


Lesenswert?

So jetzt läuft es über VPN...
Keine Ahnung warum er das erste mal rumgezickt hat...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.