Seite drucken · Schriftgröße:

Sie befinden sich hier: Startseite · Unterricht · Fachunterricht · Informatik · Modul Netzwerktechnik · TCP/IP-Grundlagen

TCP/IP-Grundlagen

 

TCP/IP im Überblick

TCP/IP wurde in den 1980er Jahren entwickelt und steuert die Übertragung der Daten in einem Netzwerk. Daneben hat es auch noch andere Systeme (Protokolle) gegeben und gibt es auch heute noch für spezielle Anwendungen.

Damit die Datenübertragung platformunabhängig (das heißt von der Art wie die angeschlossenen Geräte softwaremäßig gesteuert werden) funktioniert musste ein internationaler Standard vereinbart werden. Es ist dabei ganz egal, wo die Kommunikationspartner sich befinden. IP (das Internetprotokoll) sorgt dafür, dass das Datenpaket sein Ziel erreicht und TCP (Transmission Control Protocol) kontrolliert die Datenübertragung und stellt den Datenstrom dem Empfänger zu.

Um TCP/IP zu verstehen, muss man Basiskenntnisse über das sogenannte OSI-Schichtenmodell, den IP-Adressenbereich und die Funktionsweise von IP und TCP haben. Die Folgenden Kapitel werden behandelt:


Das OSI-Schichtenmodell

Das ursprüngliche OSI-Schichtenmodell besteht aus 7 Schichten. Die Funktionen der einzelnen Schichten stellen der übergeordneten Schicht eine bestimmte Dienstleistung zur Verfügung. Die Aufgaben der einzelnen Schichten sind im OSI-Schichtenmodell erklärt.

Das hier beschriebene OSI-Schichtenmodell bezieht sich in erster Linie auf TCP/IP, ist aber analog bei anderen Methoden der Datenübertragung. Es ist außerdem stark vereinfacht und wird aus Anwendersicht erklärt. Deshalb wird mit den obersten Schichten begonnen:

Schichten

Datenverarbeitung

Verbindung

Anwendungsschichten
5 / 6 / 7

In den Anwendungsschichten 5, 6 und 7 sind alle Protokolle definiert, auf die alle Programme und Anwendungen direkt zugreifen: HTTP, SMTP FTP, DNS, ...

Der Datenstrom, der zu übermitteln ist wird erzeugt.

Die Verbindung zwischen Anwendungs- und Übertragungsschicht wird über Ports von TCP hergestellt. Anwendungen und Dienste identifizieren ihre Daten über diese Ports. Wie das genau abläuft steuert das Betriebssystem oder ein dazugehöriges Programm (ein Dienst), der immer im Speicher zur Verfügung steht).

extern mittels URL (Universal Ressource Locator):
www.grg23vbs.ac.at

intern z.B. bei Windows mittels Rechnername (NetBIOS-Name)

Daraus muss nun die IP-Adresse ermittelt werden:

Dazu dient die Datei hosts oder lmhosts, in der alle URLs und IP-Adressen aufgelistet sind. Um nicht alle weltweit gültigen URLs auf jedem Rechner lokal speichern zu müssen, wurde das DNS (Domain Name System) eingeführt, das hierarchisch aufgebaut ist. Die sogenannten DNS-Server sind in der Lage unbekannte DNS-Namen beim übergeordneten DNS-Server zu erfragen.

In Windows wird lokal ein WINS-Server zur Auflösung von NetBIOS-Namen in IP-Adressen verwendet.

Übertragungsschichten
3 / 4

Der Datenstrom wird vom Transport-Protokoll TCP in Pakete verpackt. Es entsteht ein Bitstrom (Schicht 4).

Das Protokoll IP übernimmt die Adressierung der Pakete (Schicht 3).

Ist die IP-Adresse für die Übertragungsschicht aufgelöst, dann wird das ARP (Address Resolution Protocol) verwendet, um auch diese in eine MAC-Adresse (Media Access Control) der Netzwerkkarte für die Physikalische Schicht aufzulösen.

Physikalische Schichten
1 / 2

Der Bitstrom wird an einen Dienst weitergeleitet, der mit dem Treiber für die Netzwerkkarte spricht. Erst der Treiber schickt die Daten an die Netzwerkkarte. Von dort gehen die Daten im Netzwerk auf die Reise. Die Schicht 2 kümmert sich auch darum, dass die Pakete richtig ankommen (Sicherungsschicht).

Die MAC-Adresse ist die einzige definitive Adresse, anhand der man einen Computer im Netzwerk sicher identifizieren kann. Die MAC-Adresse ist fest auf einer Netzwerkkarte eingestellt und lässt sich mit einfachen Mitteln nicht verändern.

Bei ankommenden Daten werden die Schichten umgekehrt durchlaufen.

Für besonders Interessierte: Die 7 Schichten im Detail


IP-Adressen

IP-Adressen werden verwendet, um Daten von ihrem Absender zum vorgesehenen Empfänger transportieren zu können. Ähnlich der Postanschrift auf einem Briefumschlag werden Datenpakete mit einer IP-Adresse versehen, die den Empfänger eindeutig identifiziert. Aufgrund dieser Adresse können die „Poststellen“ (die Router) entscheiden, in welche Richtung das Paket weiter transportiert werden soll. Im Gegensatz zur Post sind IP-Adressen aber nicht an einen bestimmten Ort gebunden.

Bis vor kurzem wurden ausschließlich Adressen der Version 4 verwendet. Es gibt insgesamt etwas über 4 Milliarden IP-Adressen der Version 4; genau sind es 2 hoch 32 Adressen). In den Anfangstagen des Internet, als es nur wenige Rechner gab, die eine IP-Adresse brauchten, galt dies als weit mehr als ausreichend. Kaum jemand konnte sich vorstellen, dass überhaupt jemals so viele Rechner zu einem einzigen Netz zusammengeschlossen würden und es somit im vorgegebenen Adressraum eng werden könnte.

Viele der theoretisch vier Milliarden IP-Adressen sind in der Praxis nicht nutzbar, da sie Sonderaufgaben dienen oder zu großen Teilnetzen gehören: Den ersten Teilnehmern am Internet (Universitäten, US-Behörden und große Firmen) wurden riesige Adressbereiche (sogenannte Class-A-Netze) mit je 16,8 Millionen Adressen zugeteilt, ohne dass sie von diesen Organisationen voll ausgenützt werden.

Da TCP/IP-Netzwerke auf der ganzen Welt miteinander verbunden sind, muss jedes Gerät im Internet über eine eindeutige Adresse verfügen um sicherzustellen, dass übertragene Daten den richtigen Empfänger erreichen. Die Internet Assigned Numbers Authority (IANA) weist Organisationen so genannte Adressblöcke zu. Einzelbenutzer und kleinere Organisationen erhalten ihre Adressen von der IANA oder von einem Internet Service Provider (ISP). Man erreicht die IANA unter www.iana.org.


IP Version 4 (IPv4)

Die bekannteste Schreibweise der heute geläufigen IPv4-Adressen besteht aus vier Zahlen, die jeweils zwischen 0 und 255 liegen und mit einem Punkt getrennt werden, beispielsweise 193.171.251.176 (die IP-Adresse unserer Schule). Technisch gesehen ist die Adresse eine 32-stellige Binärzahl.

Eine IP-Adresse besteht aus vier 8-Bit-Segmenten (Oktetten), die jeweils durch einen Punkt voneinander getrennt sind. Hier das Beispiel der binären IP-Adresse des GRg 23/VBS:

11000001.10101011.11111011.10110011

Diese Oktette werden normalerweise in Dezimalzahlen dargestellt. Somit sieht obige IP-Adresse dezimal wie folgt aus:

193.171.251.179

Es ist klar, dass man sich die dezimale Schreibweise sehr viel einfacher merken kann als die binäre, die jedoch vom Rechner zum Arbeiten benötigt wird. Die Umrechnung zwischen den Formaten ist einfach. Wenn man die obige Binäradresse oktettweise in folgende Tabelle einträgt, erhält man für jede Binärstelle einen Wert:

128

64

32

16

8

4

2

1

Summe

1

1

0

0

0

0

0

1

193

1

0

1

0

1

0

1

1

171

1

1

1

1

1

0

1

1

251

1

0

1

1

0

0

1

1

176

 

Je Oktett sind 256 mögliche Anordnungen von 0 und 1 möglich (256 = 2 hoch 8). Da bei 0 begonnen wird, sind dezimal nur die Zahlen 0 bis 255 möglich.

Die eigene IP-Adresse kann man z.B. mit http://www.wieistmeineip.de/ ermitteln.


IP Version 6 (IPv6)

IPv6 stellt gegenüber IPv4 an Stelle von vier nun sechs Oktette zur Verfügung, sodass statt 32-Bit- nun 128-Bit-Adressen zur Verfügung stehen.

Damit soll dem enormen Wachstum des Internets Rechnung getragen und die Verwaltung von Adressen vereinfacht werden.

Vorteile von Version 6:

  • größere Adressenzahl
  • durch Änderung des Header-Formats und durch erweiterte Optionen kann die Verarbeitung von Datenpaketen über IPv6 schneller erfolgen
  • eine erweiterte Dienstunterstützung erleichtert die Wiedergabe von Multimedia-Inhalten in Echtzeit
  • integrierte Sicherheitsfunktionen erlauben gesicherte Datenübertragungen
  • das Protokoll wurde ferner so definiert, dass es im Nachhinein erweiterbar ist

Schreibweise von IPv6-Adressen:

IPv6-Adressen werden hexadezimal (IPv4: dezimal) beschrieben, wobei die Zahl in acht Blöcke zu jeweils 16 Bit unterteilt wird. Diese Blöcke werden durch Doppelpunkte (IPv4: Punkte) getrennt notiert:

2001:0db8:85a3:08d3:1319:8a2e:0370:7344

Das Headezimalsystem besteht aus den "Ziffern" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Da diese Adressen schwer zu merken und kompliziert aufzuschreiben sind, gibt es ein paar Vereinfachungsregeln:

  • Führende Nullen innerhalb eines Blockes dürfen ausgelassen werden.
  • Ein oder mehrere aufeinander folgende Blöcke, deren Wert 0 (bzw. 0000) beträgt, dürfen einmal ausgelassen und durch den führenden und abschließenden Doppelpunkt ersetzt werden.

 

Beispiel:

3e1c:1:db8::1428:57ab

ist gleichbedeutend zu

3e1c:0001:0db8:0000:0000:0000:1428:57ab


IP-Paketvermittlung

Ein IP-Paket ist das Grundelement der Internet-Datenkommunikation (das IP-Protokoll arbeitet auf Schicht 3 des OSI-Modells). Es besteht immer aus zwei Teilen: den Kopfdaten, die Informationen über Quelle, Ziel, Status und Fragmentierung enthalten, und den Nutzdaten. Das Protokoll TCP zum Beispiel befindet sich ausschließlich in den Nutzdaten des IP-Pakets – eine Schicht weiter oben im OSI-Modell (Schicht 4).

In den Kopfdaten (Header) stehen die protokollrelevanten Informationen eines IP-Pakets:

Bedeutung der einzelnen Abschnitte und Bits:

Abschnitt

Bits

Bedeutung

Version

4

IPv4 oder IPv6

IHL

4

IP HEADER Length

Der gesamte Kopf besteht immer aus Vielfachen von 32 Bit. Ist IHL z.B. 5, so ist der Kopfbereich 5*32=160 Bits lang. IHL kann maximal 2 hoch 4 =(16)dez. sein, d.h. der Kopf kann maximal 16*32 Bits lang sein kann, das sind 64 Bytes.

TOS

8

Type Of Service

Damit kann z.B. die Übertragungsqualität gesteuert werden (z.B. schnell aber ohne Fehlerprüfung).

Total Length

16

Gesamtlänge des Pakets (inkl. Kopfdaten) in Bytes

2 hoch 16 = (65536)dez. ist die größtmögliche Zahl, die aus 16 Bits gebildet werden kann (1111111111111111)bin. = (65536)dez.; d.h. ein Paket ist maximal 64KB groß.

Identification, Flags und Fragment Offset

32

steuert das Zusammensetzen fragmentierter Pakete

TTL=Time To Live

8

Lebensdauer des Pakets

Der Anfangswert ist 2 hoch 8 also (11111111)bin. = (256)dez. Jede Station (Router) auf dem Weg des Pakets verringert diesen Wert um eins (früher waren es die Sekunden der Verweildauer, mindestens aber 1). Hat TTL den Wert null, so wird das Paket verworfen. Dies soll verhindern, dass Pakete ewig weitergeleitet werden.

Protocol

8

Bezeichnung des Folgeprotokolls (Schicht 4)

Für ein TCP-Paket steht hier z.B. der Wert (6)dez.=(00000110)bin.

 Header Checksum

16

Prüfsumme für den Kopfdatenbereich

Die Prüfung der Nutzlast (also der anghängten Daten) erfolgt im TCP in Schicht 4.

Source Address

32

Quelladresse des IP-Pakets

Destination Address

32

Zieladresse des IP-Pakets

Options und Padding

32*n

Zusatzinformationen

Insgesamt max. 40 Bytes; da stehen z.B. Informationen zur Geheimhaltung, Zeitstempel, Liste von Routern die passiert werden müssen,...


Aufbau von IP-Adressen

Die 32 Bit der IP-Adresse werden in zwei Bereiche unterteilt. Hier ein Beispiel:

IP-Adresse: 131.130.34.130

10000011

10000010

00100010

10000010

131

.

130

.

34

.

130

Netzwerk-Teil

Host-Teil

Der erste Teil der Adresse bezeichnet das Netzwerk, der zweite Teil den Host im Netzwerk (alle an das Netzwerk angeschlossene PCs oder andere Geräte - exakt eigentlich deren Betriebssysteme - bezeichnet man als Host). Man kann sich das etwa so vorstellen wie Straßenname und Hausnummer.

Die Position des Trennung zwischen Netzwerk-Teil und Host-Teil hängt von den ersten Bits des Netzwerk-Teils ab. Dadurch werden verschiedene Netzwerkklassen unterschieden.

Die folgende Abbildung zeigt die drei wichtigsten Adressklassen sowie für jeden Adresstyp den Netzwerk- und den Host-Teil der Adresse:

D.h. bei Klasse A-Netzen ist nur die erste Zahl die Netzwerk-Adresse, Bei Klasse B-Netzen sind es die ersten beiden Zahlen und bei Klasse C-Netzen die ersten 3 Zahlen. Entsprechend belieben für den Host die restlichen 3 Bytes (24 Bits) in Klasse A-Netzen, die restlichen 2 Bytes (16 Bits) in Klasse-B-Netzen  oder nur das letzte Byte (8 Bits) in Klasse C-Netzen.

Klasse A:

Eine Netzwerkadresse der Klasse A beginnt immer mit einer binären 0, danach gibt es 7 weitere Möglichkeiten für 0 und 1. Es gibt daher 2 hoch 7 = 128 Netzwerke weltweit der Klasse A. Die Netzwerkadresse von Netzen der Klasse A beginnt dezimal immer mit 0 bis 127.

IP-Adressen in Klasse A-Netzen gehen daher von 0.0.0.0 bis 127.255.255.255.

83.128.12.244 wäre z.B. die IP-Adresse eines Hosts im Klasse A-Netz 83

Netze der Klasse A gehören meist großen amerikanischen Telekommunikations- und Computerfirmen. Alle Netze der Klasse A sind vergeben.

Ausgenommen von den öffentlichen Netzen ist nur das Netz mit der Adresse 00001010, das also dezimal mit 10 beginnt. In ihm liegen die Hosts (Computer) 10.0.0.0 bis 10.255.255.255. Dieses Klasse A-Netz kann für große lokale Netzwerke verwendet werden.

Bei Adressen der Klasse A kann jedes der 128 Netzwerke bis zu 2 hoch 24 = 16.777.214 Hosts enthalten.

Klasse B:

Eine Netzwerkadresse der Klasse B beginnt immer mit einer binären 10, danach gibt es 6 + 8 (8 vom zweiten Block) Möglichkeiten für 0 und 1. Es gibt daher 2 hoch 14 = 16384 Netzwerke weltweit der Klasse B. Die Netzwerkadresse von Netzen der Klasse B beginnt dezimal immer mit 128 bis 191.

IP-Adressen in Klasse B-Netzen gehen daher von 128.0.0.0 bis 191.255.255.255.

131.130.34.130 wäre z.B. die IP-Adresse eines Hosts im Klasse B-Netz 131.130

Netze der Klasse B gehören meist landes- oder weltweit operierenden Firmen. Alle Netze der Klasse B sind vergeben.

Bei Adressen der Klasse B kann jedes der 16384 Netzwerke bis zu 2 hoch 16 = 65.536 Hosts enthalten.

Klasse C:

Eine Netzwerkadresse der Klasse C beginnt immer mit einer binären 110, danach gibt es 5 + 8 + 8 (8 vom zweiten Block und 8 vom dritten Block) Möglichkeiten für 0 und 1. Es gibt daher 2 hoch 21 = 2097152 Netzwerke weltweit der Klasse C. Die Netzwerkadresse von Netzen der Klasse C beginnt dezimal immer mit 192 bis 223.

IP-Adressen in Klasse C-Netzen gehen daher von 192.0.0.0 bis 223.255.255.255.

193.171.251.179 wäre z.B. die IP-Adresse eines Hosts im Klasse C-Netz 193.171.251

Netze der Klasse C werden an Firmen und Organisationen aber auch privat vergeben. Die meisten Netze der Klasse C sind bereits vergeben. Das ist der Grund, warum auf IPv6 umgestiegen wird.

Bei Adressen der Klasse C kann jedes der 2097152 Netzwerke bis zu 2 hoch 8 = 256 Hosts enthalten.

 

Anfangbits

Anzahl der Netze

Anzahl der Hosts

Klasse A

0

2 hoch 7 = 128

2 hoch 24 = 16.777.214

Klasse B

10

2 hoch 14 = 16.384

2 hoch 16 = 65.536

Klasse C

100

2 hoch 21 = 2.097.152

2 hoch 8 = 256

Heute nur mehr wenig Bedeutung haben die folgenden Klassen:

Klasse D:

Klasse D-Netze sind jene mit IP-Adressen von 224.0.0.0 bis 239.255.255.255 und gehören für einen speziellen Anwendungsbereich. Sie haben für das Internet keine Bedeutung.

Klasse E:

IP-Adressen ab 240.0.0.0 gehören zur Klasse E und werden für Versuchszwecke verwendet.


Lokale Netze

Lokale Netzwerke können in folgenden reservierten Bereichen eingerichtet werden (diese IP-Adressen sind weltweit niemandem zugeordnet):

 

Klasse

Adressbereich

A

10.0.0.0 - 10.255.255.255

A

127.0.0.0 - 127.255.255.255

B

169.254.0.0 - 169.254.255.255

B

172.16.0.0 - 172.31.255.255

C

192.168.0.0 - 192.168.255.255

Die Besonderheit an den Netzen 10, 127, 169.254 , 172.16 und 192.168 ist, dass die IP-Adressen im Internet ungültig sind und nicht weitergeleitet (geroutet) werden. Somit eignen sich diese Adressen für private und insbesondere Heimnetze. Die meiseten LANs sind lokale Netze der Klasse C (Klein- und Mittelbetriebe kommen meist mit 254 Rechnern/Druckern/... aus).

Der üblicherweise in einem LAN verwendete lokale Adressbereich ist 192.168.0.xxx.

Damit Rechner in einem Subnetz ohne Router miteinander kommunizieren können, muss der Netz-Teil der IP-Adressen gleich sein. Es macht also keinen Sinn einen PC mit 192.168.0xxx und einen anderen mit 192.168.1.yyy zu konfigurieren.

Der Host-Teil der IP-Adresse jedes Rechners in einem Netzwerk muss unterschiedlich sein. Es darf nie passieren, dass zwei Rechner dieselbe IP-Adresse haben. Näheheres über die Vegabe von IP-Adressen wird beim Einrichten eines DHCP-Servers in der Praxis besprochen.

 


Subnetzmasken

Zu jeder IP-Adresse gehört eine sogenannte Subnetzmaske. Die Subnetzmaske gibt an, an welcher Stelle der Netzwerk-Teil und Host-Teil getrennt werden.

 

Netz-Klasse

Subnetzmaske

binär

A

255.0.0.0

11111111.00000000.00000000.00000000

B

255.255.0.0

11111111.11111111.00000000.00000000

C

255.255.255.0

11111111.11111111.11111111.00000000

Eine Maske ist bekanntlich etwas, was einen Teil verdeckt und nur bestimmte Teile durchschauen lässt.

Durch eine logische UND-Verknüpfung der IP-Adresse mit der Subnetzmaske wird der Host-Teil ausgeblendet (maskiert) und nur der Netz-Teil bleibt übrig. Das hängt damit zusammen, dass die logische UND-Verknüpfung für Binärzahlen wie folgt definiert ist:

Die 0 in der Subnetzmaske bewirkt durch die UND-Verknüpfung, dass im Ergebnis auch überall 0 steht, die 1 in der Subnetzmaske bewirkt, dass die Ausgangszahl stehen bleibt.

Mit dem Beispiel der IP-Adresse von oben sieht das folgendermaßen aus:

 

IP-Adresse (Klasse B)

10000011

.

10000010

.

00100010

.

10000010

Subnetzmaske

11111111

.

11111111

.

00000000

.

00000000

nach der UND-Verknüpfung

10000011

.

10000010

.

00000000

.

00000000

Netzwerk-Teil
bleibt stehen

Host-Teil
wird ausgeblendet

Das ist auch die Methode wie z.B. Router arbeiten: aus den ersten Bits erkennt man, welche Netzwerk-Klasse vorliegt und daher welche Subnetzmaske zu verwenden ist. Die UND-Verknüpfung wird dann durch Schaltkreise realisiert.


Das Default Gateway (Standardgateway oder Routeradresse)

Zur IP-Konfiguration eines Rechners gehören drei Parameter:

  • IP-Adresse
  • Subnetzmaske
  • Default Gateway

Das Default Gateway ist jene IP-Adresse, an die Datenpakete gesendet werden, deren Ziel IP-Adresse nicht im gleichen IP-Netz liegt, wo also der Netz-Teil der Ziel-IP-Adresse ungleich dem Netz-Teil der eigenen IP-Adresse liegt.

Beispiel: Der Rechner mit der IP-Adresse 192.168.0.35 (Rechner 35 im Netz 192.168.0) sendet ein Datenpaket an 193.171.251.178 (IP-Adresse unseres Schulservers im www, also ein Rechner im Netz 193.171.251)

Das bedeutet, dass ein Datenpaket, von einem Rechner an eine IP-Adresse gesendet werden soll, deren Netzanteil mit dem Netzanteil der eigenen IP-Adresse nicht übereinstimmt. So ein Datenpaket wird dann automatisch an den Rechner (oder den Router) mit der IP-Adresse des Default Gateway gesendet. Dieser Rechner (oder Router) mit der Default-Gateway-Adresse muss über so genannte Routingtabellen wissen, wie das Datenpaket weitergeleitet werden kann.

Das Default Gateway liegt in einem LAN meistens auf der Adresse 192.169.0.1


TCP (Transmission Control Protocol)

Das TCP liegt in der Schicht über dem IP und hat die Aufgabe, die zu übertragenden Daten auf Pakete aufzuteilen, sodass das IP diese versenden kann. Das TCP kümmert sich dabei nicht um die Adressierung und die Transportwege, sondern nur um die Paketzerstückelung beim Sender und die Zusammensetzung der Pakete beim Empfänger. Dabei funktioniert im Netzwerk die Datenübertragung immer in beide Richtungen, also jeder Sender ist zugleich Empfänger und umgekehrt.

Jede TCP-Verbindung wird eindeutig durch zwei Endpunkte identifiziert - einer beim Sender einer beim Empfänger. Jeder Endpunkt besteht aus dem Paar IP-Adresse und Port. Ein solches Paar nennt man eine bi-direktionale Software-Schnittstelle und wird auch als Socket bezeichnet. Mit Hilfe der IP-Adressen werden die an der Verbindung beteiligten Rechner identifiziert; mit Hilfe der Ports werden dann auf den beiden beteiligten Rechnern die beiden miteinander kommunizierenden Programme identifiziert. Es können auf einem Rechner verschiedene Programme gleichzeitig TCP verwenden: Z.B. mehrere Browserfenster zu verschiedenen anderen Rechnern, ein Mail-Programm im Hintergrund usw. Jedes dieser Programme verwendet dabei einen anderen Port.

Durch die Verwendung von Portnummern auf beiden Seiten der Verbindung ist es beispielsweise möglich, dass ein Webserver auf einem Port (normalerweise Port 80) gleichzeitig mehrere Verbindungen zu vielen anderen Rechner geöffnet hat.

Ports sind 16-Bit-Zahlen (Portnummern) und reichen von 0 bis 65535. Ports von 0 bis 1023 sind reserviert und werden von der IANA vergeben, z. B. ist Port 80 für das im WWW verwendete HTTP reserviert.

Allerdings ist das Benutzen der vordefinierten Ports nicht bindend. So kann jeder Administrator beispielsweise einen FTP-Server (FTP=File Transport Protocol; normalerweise Port 21) auch auf einem beliebigen anderen Port laufen lassen.


Datenübertragung mit TCP

Auf beiden kommunizierenden Rechnern läuft TCP als Dienst. Das Programm ist also immer im Hauptspeicher und lauscht quasi ob etwas ankommt, was eine Verbindung aufbauen will. Ein derartiges erstes Paket, das ein Client an einen Server sendet, nennt man ein SYN-Paket (synchronize). Wenn z.B. bei einer HTTP-Anfrage der Port 80 offen ist (also der Server bereit für Anfragen ist), sendet dieser zur Bestätigung der Synchronisierung ein SYN/ACK-Paket zurück (synchronize/acknowledgment). Den Transport dieser beiden Pakete macht natürlich das darunter liegende IP. Danach können die von TCP erstellten Pakete übertragen werden.

Ein TCP-Segment hat typischerweise eine Größe von 1500 Bytes. Es darf nur so groß sein, damit es in die darunter liegende Übertragungsschicht passt, dem Internetprotokoll IP. Das IP-Paket kann theoretisch bis 65.535 Bytes (64 KB) groß sein (siehe oben), wird aber selbst meist über Ethernet übertragen, und dort ist die Rahmengröße auf 1500 Bytes festgelegt. TCP- und IP-Protokoll definieren jeweils einen Header von 20 Bytes Größe. Für die Nutzdaten bleiben in einem TCP/IP-Paket also 1460 Bytes (Nutzdaten= 1500 Byte − 20 Byte − 20 Byte) übrig.

Der Sender schickt sein erstes TCP-Segment mit einer Sequenznummer (SEQ=1) und einer Nutzdatenlänge von 1460 Byte an den Empfänger. Der Empfänger bestätigt es mit einem TCP-Header ohne Daten (ACK=1461) und fordert damit das zweite TCP-Segment ab dem Byte Nummer 1461 beim Sender an. Dieser schickt es dann mit einem TCP-Segment und SEQ=1461 an den Empfänger. Dieser bestätigt es wieder mit einem ACK=2921 und so weiter.

Tiefergehende Details zu TCP in Wikipedia: http://de.wikipedia.org/wiki/Transmission_Control_Protocol