Transport

Werbung
Ausgewählte Kapitel der Rechnernetze
• Protokoll-Port-Konzept
• TCP/UDP
Ausgewählte Kapitel der Rechnernetze : 4
Transport Services and Protocols
network
data link
physical
d
n
-e
nd
network
data link
physical
network
data link
physical
rt
po
ns
tra

le
• More than one transport protocol
available to applications
ca

Sending side: breaks app
messages into segments, passes
to network layer
Receiving side: reassembles
segments into messages, passes
to app layer
network
data link
physical
gi

network
data link
physical
lo
• Provide logical communication
between app processes running on
different hosts
• Transport protocols run in end
systems
application
transport
network
data link
physical
application
transport
network
data link
physical
Internet: TCP and UDP
Ausgewählte Kapitel der Rechnernetze : 4
2
Transport vs. Network Layer
• Network layer: logical
communication between hosts
• Transport layer: logical
communication between
processes

relies on, enhances, network layer
services
Ausgewählte Kapitel der Rechnernetze : 4
Household analogy:
12 kids sending letters to 12 kids
• processes = kids
• app messages = letters in
envelopes
• hosts = houses
• transport protocol = Ann and
Bill
• network-layer protocol =
postal service
3
Internet Transport-Layer Protocols
• Reliable, in-order delivery (TCP)
network
data link
physical
d
n
-e
nd
le
ca

network
data link
physical
gi

Congestion control
Flow control
Connection setup
network
data link
physical
lo

application
transport
network
data link
physical


Delay guarantees
Bandwidth guarantees
Ausgewählte Kapitel der Rechnernetze : 4
rt
• Services not available:
network
data link
physical
po
No-frills extension of “best-effort” IP
ns

tra
• Unreliable, unordered delivery: UDP
network
data link
physical
application
transport
network
data link
physical
4
Addressing and Multiplexing
•
Provide multiple service
access points (SAP) to
multiplex several
applications

SAPs can identify
connections or data flows
Ausgewählte Kapitel der Rechnernetze : 4
5
Multiplexing/Demultiplexing
Multiplexing at send host:
Demultiplexing at rcv host:
Delivering received segments
to correct socket
Gathering data from multiple
sockets, enveloping data with header
= socket
application
P3
P1
P1
application
P2
= process
P4
application
transport
transport
transport
network
network
network
link
link
link
physical
host 1
Ausgewählte Kapitel der Rechnernetze : 4
physical
host 2
physical
host 3
6
How Demultiplexing Works
• Host receives IP datagrams



Each datagram has source IP
address, destination IP address
Each datagram carries 1
transport-layer segment
Each segment has source,
destination port number
(recall: well-known port
numbers for specific
applications)
32 bits
source port #
dest port #
other header fields
application
data
(message)
TCP/UDP segment format
Ausgewählte Kapitel der Rechnernetze : 4
7
User Datagram Protocol - UDP
Applikation
Transport
Internet Protokoll
Netzwerk Schnittstelle
•
Motivation:



Beim Internet Protocol (IP) definiert eine Zieladresse einen Rechner.
Es fehlt die Möglichkeit einen bestimmten Benutzer oder Prozeß auf dem Rechner
anzusprechen.
Das User Datagram Protocol (UDP) ermöglicht es, zwischen verschiedenen
Zielen innerhalb eines Rechners zu unterscheiden.
Ausgewählte Kapitel der Rechnernetze : 4
Protocol-Port-Konzept
•
Die intuitive Lösung als Ziele Prozesse zu nehmen, hat Nachteile:

Prozesse werden dynamisch erzeugt (fork) und vernichtet (exit): Die Absender
wissen selten, welcher Prozeß zu einem bestimmten Zeitpunkt existiert oder nicht.

Prozesse sollten ersetzt werden können, ohne daß alle Sender benachrichtigt
werden müssen. (Ein Reboot kann alle Prozeßnummern ändern!).

Ziele müssen aufgrund der Dienste (Funktionen), die sie anbieten, identifiziert
werden (Z.B. Ziel: Fileserver, egal welcher Prozeß sich dahinter verbirgt).

Prozesse, die mehr als einen Dienst anbieten, müssen entscheiden können,
welcher Dienst gewünscht ist.
Ausgewählte Kapitel der Rechnernetze : 4
Protocol-Port-Konzept /2
➨ Anstelle von Prozessen werden abstrakte Zielpunkte, Protocol Ports,
verwendet.
•
Das Betriebssystem stellt Mechanismen zur Verfügung, um


•
Ports festzulegen und
auf Ports zuzugreifen.
Die Protokoll-Software innerhalb des Betriebssystems synchronisiert den
Zugriff auf einen bestimmten Port:


Pakete, die an den Port gehen werden in eine Warteschlange für den Port gestellt, bis ein
Prozeß auf den Port zugreift.
Prozesse, die auf einen Port zugreifen, werden blockiert, bis ein Paket für den Port
angekommen ist.
Ausgewählte Kapitel der Rechnernetze : 4
Protocol-Port-Konzept /3
•
Zur Kommunikation mit einem fremden Port muß der Sender
sowohl


die Internet-Adresse als auch
die Port-Nummer wissen.
Rechner B
Rechner A
Port 1
Port 1
Prozeß A
Prozeß A
Port 2
Netzwerk
Port 2
Prozeß B
Prozeß B
Port 3
■
Port 3
In jedem Paket werden Internet-Adresse und Port-Nummer des
Empfängers und des Senders angegeben (Antwort einfach möglich).
Ausgewählte Kapitel der Rechnernetze : 4
UDP-Port-Nummern
•
Bevor zwei Rechner miteinander kommunizieren können, müssen sie sich
auf die entsprechenden Portnummern einigen.
•
Es gibt zwei Möglichkeiten, Port-Nummern zu vergeben:


•
zentrale Vergabe der Portnummern (universal assignment, well-known port assignment)
dynamisches Zuordnen (dynamic binding)
TCP/IP, also auch UDP, verwendet eine Hybridlösung:


einige Port-Nummern werden a priori vergeben
(generelle Anwendungsprogramme);
die restlichen Port-Nummern stehen für Benutzerprogramme zur Verfügung.
Ausgewählte Kapitel der Rechnernetze : 4
Ausgewählte UDP-Port-Nummern
Service
Port-Nummer
echo
7/udp
time
37/udp
timeserver
name
42/udp
nameserver
tftp
69/udp
sunrpc
111/udp
who
513/udp
talk
517/udp
Ausgewählte Kapitel der Rechnernetze : 4
Kommentar
whod
UDP-Header
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0
2
1
Destination Port
Source Port
Length
3
...
UDP Checksum
UDP Data
UDP Header
Encapsulation
IP Header
Ausgewählte Kapitel der Rechnernetze : 4
IP Data
Eigenschaften des User Datagram Protocol's
•
UDP verwirklicht das Protokoll-Port-Konzept für IP.
•
UDP bietet denselben unzuverlässigen, verbindungslosen
Übertragungs-Service wie IP.
•
UDP-Pakete können



•
verloren gehen,
in falscher Reihenfolge ankommen,
zu schnell beim Empfänger ankommen.
UDP-Pakete heißen User Datagram.
Ausgewählte Kapitel der Rechnernetze : 4
Demultiplexen
•
UDP-Datagramme werden in IP-Datagramme gekapselt.
•
Das UDP-Protokoll erhält vom IP-Protokoll alle UDP-Datagramme.
•
Aufgrund des Destination Port's müssen die UDP-Datagramme
demultiplext werden.
Port 1
Port 2
UDP: Demultiplexen, abhängig vom
Destination Port
UDP
Datagramme
IP-Schicht
Ausgewählte Kapitel der Rechnernetze : 4
Port 3
Connection oriented transport protocols
•
Recall the two types of communication services to be
distinguished:
• Connection-oriented service
• Connectionless service
In the following, we will deal with connection-oriented services
•
In principle, there are three phases of a connection:
• Connection establishment phase (Connect)
• Data transfer phase (Data)
• Connection release phase (Disconnect)
For every phase there are specific service primitives
•
When talking about the service of a specific layer, we usually add
a layer specific prefix to the primitives, e.g.:


Transport Layer: T-Connect, T-Data, T-Disconnect
Network Layer: N-Connect, N-Data, N-Disconnect
(but: network layer of the Internet provides a connectionless service)
Ausgewählte Kapitel der Rechnernetze : 4
Transport Connections and End-System „Connectivity“
End-System A
Endsystem B
Transport
Service User
Transport
Service User
Transport Connection
TSAP
Transport
Entity A
NSAP
Transport Protocol
Transport
Entity B
End-System „Connectivity“
Network
Entity A
Ausgewählte Kapitel der Rechnernetze : 4
Network
Layer B
Transport
Layer (4)
Network
Layer (3)
18
Transport Connection Establishment (OSI Terminology)
•
Confirmed service primitive: T-Connect
•
Primitive:




•
T-Connect.Request (Destination Address, Source Address)
T-Connect.Indication (Destination Address, Source Address)
T-Connect.Response (Responding Address)
T-Connect.Confirmation (Responding Address)
Parameters:



Destination Address: Address of the called transport service user
( = Application )
Source Address: Address of the calling service user
Responding Address: Address of the responding service user (in general, this is the
address of the called service user)
Ausgewählte Kapitel der Rechnernetze : 4
Transport Layer Services in a Message Sequence Chart
Example Run:
T-Connect.Req
T-Connect.Ind
T-Connect.Rsp
T-Connect.Cnf
Primitive
T-Connect
T-Data
T-Disconnect
Type
confirmed
unconfirmed
unconfirmed
(or confirmed)
T-Data.Req
T-Data.Ind
T-Data.Req
T-Data.Req
T-Data.Ind
T-Data.Ind
T-Disconnect.Req
T-Disconnect.Ind
t
Ausgewählte Kapitel der Rechnernetze : 4
t
20
Data Transfer Service

Data Transfer Service: T-Data
• unconfirmed service

Primitive:
• T-Data.req (userdata)
• T-Data.ind (userdata)

Parameter:
• Userdata: transport service data unit to be transfered (TSDU, can have arbitrary
length)
T-Data.req
T-Data.ind
t
Ausgewählte Kapitel der Rechnernetze : 4
Connection Release (1)
•
Unconfirmed release service: T-Disconnect
•
Usage:


•
Primitives:


•
Abrupt teardown of a connection, loss of TSDUs is possible
Rejection of a connection establishment request
T-Disconnect.req (userdata)
T-Disconnect.ind (cause, userdata)
Parameters:

Cause of the teardown, e.g.:
•
•
•
•
•
•

unknown
requested by remote user
lack of local or remote resources for the transport service provider
Quality of service below minimal level
error occured in transport service provider
can not reach remote transport service user
User Data: TSDU to be transfered (max. length e.g. 64 Byte)
Ausgewählte Kapitel der Rechnernetze : 4
Connection Release (2)
Teardown of a connection by a service user:
T-Disconnect.req
t
T-Disconnect.ind
Teardown of a connection by a service provider:
T-Disconnect.ind
T-Disconnect.ind
t
Rejection of connection establishment:
T-Connect.req
T-Connect.ind
T-Disconnect.req
T-Disconnect.ind
Ausgewählte Kapitel der Rechnernetze : 4
t
State Diagram for a Transport Service Access Point
1
T-Disconnect.ind
Idle
T-Disconnect.ind
T-Disconnect.req
2
Establishing
outgoing
Connection
T-Connect.req
T-Connect.cnf
T-Disconnect.req
T-Disconnect.ind
T-Connect.ind
T-Disconnect.req
4
T-Connect.rsp
Connection
established
T-Data
Ausgewählte Kapitel der Rechnernetze : 4
3
Establishing
incoming
Connection
Errors during Connection Establishment

Loss of CR oder CC TPDU:
T-Connect.Req
CR
Timeout
CR
T-Connect.Ind
T-Connect.Rsp
CC
T-Connect.Cnf

t
Duplication of TPDUs:
T-Connect.Req
CR
T-Connect.Ind
Timeout
T-Connect.Cnf
CR
CC
T-Connect.Rsp
CC
t
Ausgewählte Kapitel der Rechnernetze : 4
T-Connect.Ind
T-Connect.Rsp
25
Three-Way Handshake
Problem: Loss of CC TPDU
• Solution - Three-Way Handshake
during connection establishment:

T-Connect.req
CR

T-Connect.ind
CC
T-Connect.rsp
Connection is established, when
both connection establishment
TPDUs (CR and CC) have been
acknowledged
Requires an additional AK
(Acknowledge) or DT (Data) TPDU
T-Connect.req
CR
DT
?
DT
t
Ausgewählte Kapitel der Rechnernetze : 4
T-Connect.ind
T-Data.req
CC
T-Data.req
T-Connect.cnf
AK or DT
t
T-Connect.rsp
Is Three-Way Handshake Sufficient?
•
No, it does not protect against delayed duplicates!

•
Problem: If both the connection request and the connection confirmation are
duplicated and delayed, receiver again has no way to ascertain whether this is fresh
or an old copy
Solution: Have the sender answer a question that the receiver asks!

Actually: Put sequence numbers into
• connection request
• connection acknowledgement,
• and connection confirmation



Have to be copied by the receiving
party to the other side
Connection only established if the
correct number is provided
Sequence numbers should not be
re-used too quickly (start with number
higher than in last connection;
wrap-around)
Ausgewählte Kapitel der Rechnernetze : 4
27
Three-Way Handshake + Sequence Numbers
•
Connection request appears as
an old duplicate:
•
•
Connection request &
confirmation appear as old
duplicates:
Two examples for critical cases (which are handled correctly):
Ausgewählte Kapitel der Rechnernetze : 4
28
Connection Rejection
•
Refusing an incoming connection request with a DisconnectRequest (DR) or Error-TPDU (reasons for this can be
communicated)

Reasons:
• Rejection by transport service user
• Desired service requirements can not be fulfilled
T-Connect.req
CR
DR
T-Disconnect.ind
DC
t
DR: Disconnect Request TPDU
DC: Disconnect Confirm TPDU
Ausgewählte Kapitel der Rechnernetze : 4
Connection Release (1)
•
Normal Release:
Teardown of an existing transport connection
 This can cause loss of data that has not yet been acknowledged

• The Internet transport protocol TCP avoids loss of data by requiring all sent PDUs to be
acknowledged before a connection is closed

Variants:
• Implicit: Teardown of network layer connection when remote peer entity suddenly is unreachable
• Explicit: connection release with Disconnect-TPDUs
T-Disconnect.req
DR
DT
T-Data.req
T-Disconnect.ind
DC
t
DR: Disconnect Request TPDU
DC: Disconnect Confirm TPDU
Ausgewählte Kapitel der Rechnernetze : 4
Connection Release (2)
•
Once connection context between two peers is established,
releasing a connection should be easy


•
It fact, it is impossible

•
Goal: Only release connection when both peers have agreed that they have
received all data and have nothing more to say
I.e., both sides must have invoked a “Close”-like service primitive
Problem: How to be sure that the other peer knows that you know that it
knows that you know … that all data have been transmitted and that the
connection can now safely be terminated?
Analogy: Two army problem
Ausgewählte Kapitel der Rechnernetze : 4
31
Two Army Problem
•
Coordinated attack



•
•
Two armies form up for an attack against each other
One army is split into two parts that have to attack together – alone they will lose
Commanders of the parts communicate via messengers who can be captured
Which rules shall the commanders use to agree on an attack date?
Provably unsolvable if the network can loose messages
How to coordinate?
Ausgewählte Kapitel der Rechnernetze : 4
32
Connection Release in Practice
•
•
Two army problem equivalent to connection release
But: when releasing a connection, bigger risks can be taken
•
Usual approach: Three-way
handshake again

Send disconnect request (DR),
set timer,
wait for DR from peer,
acknowledge it
Ausgewählte Kapitel der Rechnernetze : 4
33
Problem Cases for Connection Release with 3WHS
•
Lost ACK solved
by (optimistic)
timer in Host 2
Ausgewählte Kapitel der Rechnernetze : 4
•
Lost second DR
solved by
retransmission of
first DR
•
Timer solves
(optimistically)
case when 2nd DR
and ACK are lost
34
Transmission Control Protocol - TCP
Applikation
Transport
Internet Protokoll
Netzwerk Schnittstelle
•
Das Transmission/Transport Control Protocol (TCP) ermöglicht eine zuverlässige
Datenübertragung.
•
Die unteren Schichten stellen unzuverlässige Datenübertragungsmechanismen
zur Verfügung.

Pakete können verloren gehen.
•

Übertragungsfehler zerstören die Datenbereiche, Checksummen sind falsch, Netzwerk-Hardware fällt aus,
Netzwerk ist überlastet, ...
Das dynamische Routing kann falsche Datenübertragungen verursachen.
•
die Reihenfolge kann durcheinander geraten, Pakete kommen zu spät an, Pakete kommen zweimal an, ...
Ausgewählte Kapitel der Rechnernetze : 4
TCP
•
TCP ist ein Protokoll, nicht eine bestimmte Software.
(Protokoll <=> Implementierung)
•
TCP definiert bzw. spezifiziert




das Format der Daten und Quittungen (Flußsteuerung),
wie zwischen Empfängern auf einer bestimmten Maschine unterschieden wird,
wie Fehler behoben werden,
wie Verbindungen aufgebaut werden.
Ausgewählte Kapitel der Rechnernetze : 4
Eigenschaften des Transport Control Protocol's
•
TCP-Verbindungen lassen sich durch die folgenden fünf
Eigenschaften charakterisieren:





Stream-Orientierung
Virtual Circuit Connection
Gepufferte Übertragung
Unstrukturierte Übertragung
Full-Duplex-Verbindung
Ausgewählte Kapitel der Rechnernetze : 4
37
Eigenschaften des Transport Control Protocol's
•
TCP-Verbindungen lassen sich durch die folgenden fünf
Eigenschaften charakterisieren:





Stream-Orientierung
Virtual Circuit Connection
Gepufferte Übertragung
Unstrukturierte Übertragung
Full-Duplex-Verbindung
2. Stream-Orientierung

Tauschen zwei Anwendungsprogramme Datenmengen aus,
•
•
•
bezeichnet man die Datenmenge insgesamt als Bit-Stream (Fluß),
wird der Stream in Octets (8 Bit) unterteilt,
erhält der Empfänger die Octets in genau derselben Reihenfolge, wie sie der
Sender abgeschickt hat.
Ausgewählte Kapitel der Rechnernetze : 4
38
Eigenschaften des Transport Control Protocol's /2
1. Virtual Circuit Connection


Für die Übertragung wird eine Verbindung aufgebaut.
•
Anwendungsprogramme müssen ihr Kommunikationsvorhaben dem Betriebssystem
mitteilen. (Eine Maschine führt einen "Anruf" bei der Partnermaschine durch.)
•
Protokoll-Software auf beiden teilnehmenden Rechnern kommuniziert miteinander.
(Verifikation, daß die Übertragung gestattet ist, daß beide Seiten übertragungsbereit
sind, ...)
•
Die Protokoll-Software informiert die jeweiligen Anwendungsprogramme, daß eine
Verbindung (Connection) aufgebaut ist und die Übertragung beginnen kann.
•
Während der Übertragung wird fortlaufend kontrolliert, ob die Daten in der richtigen
Reihenfolge ankommen.
•
Wird die Übertragung unterbrochen (Netzwerk- oder Hardware-Ausfall), so werden
beide kommunizierenden Anwendungsprogramme von der Protokoll-Software darüber
informiert.
Die Verbindung (Connection) scheint für die Anwendungssoftware eine eigene
Hardware-Verbindung (Circuit) zu sein, ist aber nur virtuell (Virtual).
Ausgewählte Kapitel der Rechnernetze : 4
39
Eigenschaften des Transport Control Protocol's /2
3. Gepufferte Übertragung

TCP-Implementierungen sammeln Übertragungsdaten, bis ein Paket damit
gefüllt werden kann (effiziente Übertragung).
4. Unstrukturierte Stream-Verbindung

Analog zu Unix-Dateien sind Stream-Verbindungen nicht strukturiert. (Das
Satzende wird nicht vom TCP markiert)
5. Full-Duplex-Verbindung

TCP-Verbindungen erlauben eine gleichzeitige Übertragung in beiden
Richtungen (Full Duplex).
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Algorithmen
•
Nagle-Algorithmus (Small Packet Avoidance Algorithm)

•
Slow-Start-Algorithmus

•
Nachdem das Optimum eines gleichmäßigen Datenflusses gefunden wurde, kann ansteigende Netzlast
ein Verringern des Datenflusses erfordern, um das Optimum auf niedrigerem Durchsatzniveau zu finden.
Karn-Algorithmus

•
Nach Zusammenbruch (Durchsatz) wird versucht, die Datenmenge langsam zu erhöhen, bis das Optimum
eines gleichmäßigen Datenflusses erreicht ist.
Congestion-Avoidance-Algorithmus

•
Durch Zwischenpuffern beim Sender wird das Erzeugen kleiner Datensegmente verhindert.
Der Karn-Algorithmus dient zur Ermittlung der Round Trip Time eines Datensegments zwischen Sender
und Empfänger.
Silly-Window-Avoidance-Algorithmus

Die Fensterfreigabe erfolgt nur, wenn 1/4 des Empfangspuffers frei ist, da häufige Freigabe kleiner
Fensterbereiche die Netzlast durch übermäßigen Anteil von Steuernachrichten erhöht.
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Timer
•
Retransmission Timer

•
Reconnection Timer

•
Nach Ablauf des Timers werden unbestätigte Datensegmente erneut
gesendet.
minimale Zeit, die gewartet werden muß, um nach dem Abbau einer
Verbindung erneut eine Verbindung zum gleichen Ziel aufzubauen
Retransmit-Syn-Timer

minimale Zeit, die gewartet werden muß, um nach erfolglosem
Verbindungsaufbauwunsch erneut eine Verbindungsaufbauanfrage zu senden
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Timer /2
•
Persistence Timer

•
Give Up Timer

•
Wenn Window = 0 wird die Empfangsbereitschaft des Senders überprüft, damit
der Give Up Timer nicht unberechtigt zur Wirkung kommt.
Zeit, nach der nach dem letzten Empfang eines Datensegments/Bestätigung
die Verbindung abgebaut wird
Quiet Timer

Timer, der die Portfreigabe nach Abbau einer Verbindung verzögert
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Windowing
•
•
•
TCP teilt den Datenfluß (Stream) für die Übertragung in Segmente ein.
Jedes Segment geht - normalerweise - als IP-Datagramm über das Netz.
TCP verwendet Windowing, um eine effiziente Übertragung der
Flußsteuerung zu ermöglichen.
Aktuelles Fenster (Window)
...
11
12
13
übertragen & quittiert
■
■
14
15
16
17
übertragen
18
19
20
werden
gleich
übertragen
21
22
23
...
können noch nicht
übertragen werden
Der Windowing-Mechanismus arbeitet auf der Byte-Ebene.
TCP kann die Fenstergröße vergrößern oder verkleinern (Flußsteuerung).
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Ports und Verbindungen
•
•
•
•
•
TCP Ports – analog zu UDP, zur Identifikation von Zielprozessen
Jedem Port ist ein Integer als Identifikator zugeordnet.
In IP-Datagrammen wird verwendetes Protokoll angegeben 
Kein Konflikt mit UDP-Port-Nummern
Bevor eine TCP-Verbindung etabliert wird, müssen beide Partner der
Verbindung zustimmen.
Begriffe:



Port: TCP-Paket und zugehörige Anwendung
Socket: Adresse der TCP-Verbindung (Internet-Adresse + Portnummer)
Well known Ports: Portnummern für Standard-Applikationen
•
Beispiele: FTP - 21, Telnet - 23, SMTP - 25, Rlogin - 513
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Header
0
1
2
3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Source Port
Destination Port
Sequence Number
Acknowledgement Number
Header
Length
Reserved
Flags
Checksum
Urgent Pointer
Options (if any)
Ausgewählte Kapitel der Rechnernetze : 4
Window
TCPVerbindungsaufbau
Applikation A
Applikation B
(1)
(0)
(2)
TCP
Betriebssystem
(3) (4)
Netzwerk
TCP
Betriebssystem
(0) Partner A führt ein Passive Open durch, indem er dem
Betriebssystem mitteilt, daß er Verbindungswünsche akzeptiert.
(1) Betriebssystem A weist dem Verbindungsendpunkt eine Portnummer zu.
(2) Partner B informiert sein Betriebssystem, daß er ein Active Open durchführen will.
(3) Beide TCP-Module kommunizieren miteinander und verifizieren, daß die
Verbindung aufgebaut ist.
(4) Sobald die Verbindung besteht, beginnen die TCP-Module mit der Datenübertragung.
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Zustände (vereinfacht)
passive open
closed
active
open
passive open
Error
(open)
active open
Reset
(Window,
...)
closing
close
established
send
Ausgewählte Kapitel der Rechnernetze : 4
TCP-Zustandsgraph
passiv open
activ open
CLOSED
close
close
SYN SENT
recv SYN
send SYN,
ACK
recv SYN, ACK
send ACK
FIN WAIT
recv ACK
of FIN
FIN WAIT2
recv SYN
LISTEN
send SYN, ACK
recv ACK
recv FIN + ACK of SYN
of SYN
send ACK
ESTAB
SYN RCVD
close
send FIN
recv FIN
send ACK
recv FIN
send ACK
recv FIN,
ACK
CLOSING
send
recv FIN, ACK
ACK
send ACK
recv FIN
TIME WAIT
TIMEOUT
send ACK
Ausgewählte Kapitel der Rechnernetze : 4
CLOSE WAIT
close
send FIN
LAST ACK
recv ACK
of FIN
CLOSED
Herunterladen