Forum: Mikrocontroller und Digitale Elektronik SEQ und ACK nummer, TCP


von Hubert (Gast)


Lesenswert?

Hallo,

meine Schaltung mit dem ENC28j60 und ATMEGA32 funktioniert ganz gut. Ich 
bin gerade dabei einen TCP Verbindung vom Controller aus aufzubauen.
Wenn ich nun ein Packet mit einer beliebigen SEQ-Nummer verschicke, 
erhalte ich als antwort eigentlich ein richtiges Packet, außer das die 
relative SEQ-Nummer der Antwort (laut Wireshark) nie 0 ist, sondern 
immer eine riesengroße Zahl.

Woran kann das liegen? Muss man die SEQ-Nummer die man verschickt 
berechnen? Bis jetzt hab ich immer eine Zufallszahl genommen.

mfg

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Es ist völlig korrekt und sogar erwünscht, mit einer zufälligen 
Sequenznummer zu beginnen, um ggf. bestimmte Angriffe gegen TCP zu 
unterbinden.

Da die Sequenznummern 32Bit lang sind, sollte also ein entsprechender 
Zahlenbereich erscheinen.

von Andreas B. (Gast)


Lesenswert?

Die SEQ wird von modernen Betriebssystemen (Linux auf jeden Fall, andere 
gehe ich mal stark davon aus) für jede neue Verbindung mit einem 
Zufallswert initialisiert. Das verhindert, dass man massenhaft ungültige 
Verbindungen ausgehend von beliebigen IP-Adressen aufbauen kann.

Abgesehen davon, dass man das SEQ aus dem Verbindungsaufbau nicht 
ignorieren darf, sollte das auf die SEQ/ACK Implementierung keinen 
Einfluss haben.

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.