Begriffsklarheit Session-ID und TCP-Session

(Firma: privat) #7099073
Lesenswert?

Hallo,

mithilfe der Session-ID können unzusammenhängende Zugriffe auf einen 
Webserver zu einer zusammenhängenden Sitzung zusammenzufasst werden.

Der Begriff Session ist mir neulich nun auch bei einem CISCO-Kurs 
untergekommen. Und zwar behauptete der Kursleiter, zu den Aufgaben der 
Transport-schicht gehöre es, eine TCP-Session herzustellen. Er 
bezeichnete TCP in diesem Zusammenhang als Stateful und UDP als 
Stateless.

Kann mir jemand sagen, ob die Session-ID, die sich der Webserver merkt, 
um z. B. einen Benutzer zu identifizieren, irgendetwas mit dieser 
TCP-Session zutun hat?

Danke!
#7099105
Lesenswert?

Torben S. schrieb:
> Kann mir jemand sagen, ob die Session-ID, die sich der Webserver merkt,
> um z. B. einen Benutzer zu identifizieren, irgendetwas mit dieser
> TCP-Session zutun hat?

Nö, hat sie nicht. TCP-Session ist synonym zu TCP-Verbindung. 
Identifiziert wird es durch Quell und IP und Port auf beiden Seiten, so 
werden die Pakete zugeordnet, und zum State gehört, neben dem noch 
Sequenznummer usw. Einen Verbindungsstatus / eine State Maschine hat 
jeder Client auch noch, für auf und Abbau der Verbindung usw.: 
https://datatracker.ietf.org/doc/html/rfc793#page-23

Bei einer Webseite ist eine Session einfach durch irgend eine ID oder so 
identifiziert, die bei jedem Request mit gesendet wird. Kann z.B. per 
Cookie gemacht werden, und ist nicht an eine bestimmte Verbindung 
gebunden. Die Details sind stark von der jeweiligen Webseite / 
Webanwendung abhängig.
Gast #7099116
Lesenswert?

Torben S. schrieb:
> Kann mir jemand sagen, ob die Session-ID, die sich der Webserver merkt,
> um z. B. einen Benutzer zu identifizieren, irgendetwas mit dieser
> TCP-Session zutun hat?

Ja, kann ich sagen. Nein, hat sie nicht.

Bei HTTP/1.0 wurde für jeden einzelnen HTTP-Request (bis hin zu Bildern 
o.dgl.) eine separate TCP-Connection aufgebaut, erst seit HTTP/1.1 
besteht die optionale Möglichkeit, die Connection offenzuhalten, um 
darüber mehrere Requests abzuwickeln.

So entstand dann die Idee, einen User wiederzuerkennen, indem man per 
Session-ID einen Zusammenhang zwischen den Requests herstellt.
Gast #7099127
Lesenswert?

> Kann mir jemand sagen, ob die Session-ID, die sich der Webserver merkt,
> um z. B. einen Benutzer zu identifizieren, irgendetwas mit dieser
> TCP-Session zutun hat?

Sind verschieden.  Session ist ein allgemeiner Begriff, um mehrere 
Sachen einem Vorgang zuzuordnen.  Bei der TCP-Session handelt es sich um 
die Gesamtheit der zu einer TCP-Verbindung gehörenden Datenpakete.  Bei 
der Web-Session um alle HTTP(TCP)-Verbindungen, die der Server einem 
einzelnen Anwender zuordnet (z.B. durch Login).


PS: HTTP-Keep-Alive hat nichts damit zu tun.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren