Nachfolgend TCP/IP basics. Mehr Details gibt es in den restlichen Dokumenten zum Thema TCP/IP Know-how.
The Link Header
Der Ethernet-Header hat eine Source- sowie eine Destinations-Adresse. Die Adressen auf dem Link Layer werden Hardware-Adressen genannt. Anstatt Hardware-Adresse wird auch oft MAC-Adresse gesagt (MAC= Media Access Control).
Ethernet-NIC’s haben diese Adresse bereits fest in einem ROM eingebrannt. Diese Adresse lässt auch auf den Hersteller schliessen. Die linken 3 Octets der MAC-Adresse lassen auf den Hersteller schliessen, während die rechten 3 Octets die Seriennummer der NIC beschreiben.
Eine MAC-Adresse kann so aussehen:
The Network Layer (IP Header)
TCP Header
Das TCP/IP-Protokoll bietet einen sicheren (reliable) und verbindungsorientierten Service. Der Header enthält u.a. eine Sequenznummer, ein acknowledgement und ein checksum-Feld. Diese Felder sind für einen sicheren Transport (Paketbestätigung) und für die Fehlerkontrolle (Checksum) notwendig. Die beiden Felder “Source Port” und “Destination Port” indentifizieren die Applikation, welche den TCP-Service benutzt. Das “Port-Feld” ist 16 Bit lang, es gibt also 65’535 verschiedene Portnummern.
Das kleinste Feld im nachstehenden Bild hat einen Wert von einem Bit.
Die Ports 0 bis 1024 sind reserviert. Diese Portnummern werden von der Internet Assigned Numbers Authority (IANA) administriert.
Die Ports von 1 bis 1023 werden “wellknown ports” genannt und werden von der obigen „IANA“ administriert.
Die Ports 1024 bis 5000 werden “ephemeral ports” genannt. Diese “kurzlebigen Ports” werden von Clients genutzt, um eine Verbindung zu einem Server aufzubauen. Ihre Lebensdauer erstreckt sich vom Verbindungsaufbau solange bis die Verbindung steht. Sobald die Verbindung steht, wird der Port wieder in den verfügbaren „Ports-Pool“ geworfen.
Ports über 5000 stehen für den freien Gebrauch zur Verfügung.
User Datagramm Header
Der UDP-Header ist viel einfacher gehalten als der TCP-Header. Dies aus dem Grund als das UDP einen ungesicherten, verbindungslosen Dienst bietet. Source- und Destination-Port haben die selbe Funktion wie in einem TPC-Header. Die Portnummern gleichen sich zum Teil.
Wir sind jetzt vom physikalischen Netzwerk über die Link Layer Protokolle bis zu den TCP/IP –Applikationen wie FTP, TFTP und Telnet gelangt. Diese Applikationen müssen keine Kenntnisse über die tiefer gelegenen Layer besitzen. Alles, was diese Porgramme wissen müssen, um über ein TCP/IP Netzwerk miteinander kommunizieren zu können, ist in der nachfolgenden Beziehung festgelegt:
{protocol, source IP address, source port, destination IP address, destination port}
Diese Beziehung identifiziert eine Verbindung eindeutig.
Summary
TCP/IP ist eine Protokoll-Suite, welche auf verschieden Layern arbeitet. Die folgenden Layer werden von der Protokoll-Architektur benutzt:
- Application
- Transport
- Network
- Link
- Physical
Der Link-Layer wird benutzt, um Daten zwischen Interfaces auf dem gleichen Netwerk-Medium zu transportieren. Link Layer-Protokolle haben nur Kenntnis von Teilen, welche direkt mit dem physischen Medium verbunden sind und benutzen dazu deren Hardware-Adressen (MAC). Beispiele von Link Layer-Protokollen sind Ethernet, IEEE 802.5 Token Ring, Frame Relay, FDDI und PPP.
Der Netzwerk Layer ist verantwortlich für das Übertragen und routen von IP-Datagrammen im Netzwerk. Beispiele von Protokollen auf dem Netzwerk Layer sind IP, ICMP und IGMP.
Der Transport Layer bietet End zu End Datenverbindungen für Programme. TCP bietet einen sicheren, verbindungsorientierten Service, während UDP einen ungeschützten, verbindungslosen Service bietet.
Der Application Layer bietet die eigentlichen User-Funktionen wie Mail, Filetransfer, Terminal login usw.
In einer TCP/IP-Umgebung müssen die Applikationen nur sehr wenig über die physische oder logische Architektur wissen. In vielen Fällen ist für einen User das Wissen der IP-Adresse genügend.
Zwei Punkte an diesem Punkt sind wichtig zu wissen:
- Beginnend beim Link Layer Protokoll ist es möglich, in einem gewissen Feld im Encapsulating Header nachzusehen, wie die Daten auf diesem Layer zu behandeln sind.
- Eine TCP/IP-Verbindung benötigt 5 Informationen, um eindeutig definiert zu sein
- {protocol, source IP address, source port, destination IP address, destination port}