Forum: PC-Programmierung Tcp Verbindungsaufbau mit Daten


von Bernd S. (mms)


Lesenswert?

Hallo,

wie verhalten sich die Sequence-Nummern, ACK-Nummern beim 
Verbindungsaufbau TCP wenn bereits hier Daten übertragen werden?

Beeinflusst das die ACKs und SEQs?

A -> B : SEQa = 1, Daten=10, Win=576;

B -> A : SEQb = 1; Daten=0; Win=5080; ACK = 12;

A -> B : SEQa = 12; ACK = 2; Wind=576



Gruß
Bernd

von Bernd S. (mms)


Lesenswert?

Gast wrote:
> RTFM

"Several examples of connection initiation follow.  Although these
  examples do not show connection synchronization using data-carrying
  segments, this is perfectly legitimate, so long as the receiving TCP
  doesn't deliver the data to the user until it is clear the data is
  valid (i.e., the data must be buffered at the receiver until the
  connection reaches the ESTABLISHED state)."


so viel steht dazu in der RTFM anleitung...

Ich sitze gerade vor einem (nicht von mir) entwickeltem Stack, der das 
Senden von Daten während des Verbindungsaufbaus nicht zulässt... jetzt 
wollte ich lediglich wissen, ob sich SEQ und ACKs trotzdem genauso 
verhalten oder ob sie sich entsprechend ändern wie beim "normalen 
Datentransfer", wenn die Verbindung aufgebaut ist...


Bernd

von --- (Gast)


Lesenswert?

>jetzt wollte ich lediglich wissen, ob sich SEQ und ACKs trotzdem genauso
>verhalten oder ob sie sich entsprechend ändern wie beim "normalen
>Datentransfer", wenn die Verbindung aufgebaut ist...

Ja, natürlich. RTFM meint nicht, daß du das Manual lesen sollst, das du 
zufällig vor der Nase liegen hast. Du musst dir das passende besorgen. 
Allerdings habe ich noch keine TCP-Spezifikation gesehen, in der das 
nicht haarklein beschrieben ist. Man muss nur lesen können.

von Bernd S. (mms)


Lesenswert?

als anleitung verwende ich eigentlich immer die RFCs... und google 
liefert mir immer verbindungsaufbau-anleitungen ohne datenübertragung...

Wenn du einen tipp hast, wäre ich dir sehr dankbar.

Bernd

von --- (Gast)


Lesenswert?

Den Tip haste doch bereits: RTFM
und zwar von vorne bis hinten

von Dirk B. (sharandac)


Lesenswert?

Kurz und schmerzlos ... du kannst keine Daten beim aufbau einer 
Verbindung senden. Der Grund ist auch ganz einfach, da in diesen State 
der Verbindung die Sequenznummern ausgetauscht werden und bestätigt 
werden müssen und das nach einem festen Verfahren. Erst danach kannst du 
beliebig Daten senden. Denn: TCP-Packete mit dem SYN-Flag werden mit SEQ 
+ 1 als ACK bestätigt, und das in beide richtungen.

CA Dirk

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.