Die USA erleben 1950 einen riesen Schock, als bekannt wird, dass die Russen den Sputnik erfolgreich ins All
geschossen haben. Die Amerikaner forcieren darauf ihr Raumfahrtprogramm durch das ARPA, einem Gremium des
amerikanischen Verteidigungsministeriums. Man will den Rückstand gegenüber den Russen möglichst
schnell aufholen.
1960 verlässt die Raumfahrtsabteilung das Militär und wird der neu gegründeten NASA zugeschlagen.
Von den nun überschüssigen finanziellen Mitteln wird das Forschungsnetz ARPANet ins Leben gerufen,
ein Verbund mehrerer Supercomputer der ARPA, die sich die noch teuren Ressourcen teilen.
1983 spaltet sich das Militär ab und überlässt das ARPANet den Wissenschaftlichen Nutzern.
Mittlerweilen sind auch andere Netzwerke entstanden, die über Gateways angebunden werden. Alle Teile
des so entstandenen INTERNET benutzen TCP/IP, eine leistungsfähige Erweiterung des IP.
1990 wird im Cern in Genf ein effizientes Medium zum Informationsaustausch entwickelt. Die erste WWW
Oberfläche wird verfügbar. 1993 werden die ersten professionellen WWW-Browser vorgestellt. Durch
Einführung besserer Kommunikationswege (ISDN, Satelliten, usw.) erlebt das Internet weiterhin ein ungebremstes
Wachstum (seit 1980 ca. 15% monatlich).
Das Ziel der Telekommunikation ist Informationen über eine geografische Distanz zu übermitteln.
Der Sender übermittelt via einem Medium die Information an den Empfänger.
Um aber überhaubt zwei Rechner unterschiedlicher Bauart miteinander verbinden zu können, ist eine
Standardisierung absolut notwendig.
Die Grundidee des Referenzmodells it die Zerlegung des Kommunikationsvorganges in eine hierarchische Abfolge
von einzelnen Funktionen.
Die einzelnen Layer und ihre Funktionen:
| 7 | Application | Stellt den verschiedenen Applikationen die Netzdienste auf einheitliche Art zur Verfügung. |
| 6 | Presentation | Trasformiert die Darstellung der zu übermittelnden Daten in eine Form, die von den kommunizierenden Anwendungsprozessen gemeinsam verstanden werden. |
| 5 | Session | Regelt den Ablauf der Kommunikation, d.h. Aufbauen, Aufrechterhalten und Abbauen von Sitzungen (Sessions) |
| 4 | Transport | Optimaler Transport der Daten auf der ganzen Strecke von 2 Endbenutzern, inkl. Fehlersicherung (END zu END). |
| 3 | Network | Vermittlung einer Verbindung von Ende zu Ende, wobei die Route über mehrere Netzknoten hinweg ausgewählt wird. (Router) |
| 2 | Datalink | Sichert die zuverlässige Datenübertragung auf einer Teilstrecke zwischen zwei Netzknoten. (Bridge) |
| 1 | Physical | Regelt den Zugriff zu den physikalschen Übertragungsmedien. Eins zu Eins Übertragung von Bits zwischen direkten Nachbarn. (Repeater) |
| LAN | Local Area Network |
|
| MAN | Metropolitan Area Network |
|
| WAN | Wide Area Network |
|
| GAN | Global Area Network | (wenig verwendeter Begriff) |
| AAN | All Area Network | (wenig verwendeter Begriff) |

Medium
Ethernet kann mit verschiedenen Medien verkabelt werden:
![]()
| Koaxialkabel | 10Base-5 |
|
| 10Base-2 |
|
|
| Verdrillte Kabel | 10Base-T |
|
| Lichtwellenleiter | 10Base-F |
|
| Application (Layer 7) | Gateway | ||||
| Presentation (Layer 6) | |||||
| Session (Layer 5) | |||||
| Transport (Layer 4) | |||||
| Network (Layer 3) | Brouter | Router | |||
| Data Link (Layer 2) | Bridge | ||||
| Physical (Layer 1) | Repeater |
TCP/IP ist eines von vielen Netzwerkprotokollen, allerdings das am weitesten verbreitete. TCP/IP ist eine Abkürzung für viele verschiedenen Standards. TCP bedeutet Transmission Control Protocol und IP Internet Protocol. Sie wurden in den späten 70er und den frühen 80er Jahren entwickelt. Die beiden Protokolle beschreiben die Kommunikationsaspekte, den Datentransport zwischen einer Reihe verbundener physikalischer Netze.
Kommunikationsprotokolle werden in Schichten beschrieben. TCP/IP ist im
Gegensatz zum OSI Modell, welches sieben Schichten definiert, ein Modell mit fünf
Schichten. Schicht 1 und 2 sind nicht definiert. Schicht 3 ist die Internet -
Protokollschicht. Diese Schicht übernimmt keine Garantie für eine
korrekte Zustellung. Das übernimmt das zur Verfügung gestellte ICMP
(Internet Control Message Protokoll). In der IP Schicht sind auch die Protokolle
ARP und RARP.
In der Schicht 4 sind zwei Protokolle vorhanden. Das UDP
(User Datagramm Protokoll) und das TCP. UDP ist eine Erweiterung des Datagramm
Dienstes von IP. TCP stellt einen zuverlässigen Dienst mit Fehlerkorrektur
und Flusskontrolle zur Verfügung.
Schicht 5 ist die Anwendungsschicht.
Diese Schicht erbringt Dienste wie Telnet, Email oder FTP.
Das Internetprotokoll
Das IP ist das unterste Protokoll und bildet die Grundlage des TCP/IP
Stapels. Das IP ist dafür verantwortlich, das Paket zu nehmen und
festzulegen, ob es für das lokale Netzwerk bestimmt ist. Falls nicht, muss
das IP für das Paket eine Route zum Zielnetzwerk finden und eventuell den
Ziel-Host.
IP Adressierung
![]()
Die IP Adresse ist 32 Bit lang. Sie ist weltweit eindeutig. Die IP Adresse wird aufgeteilt in einen Netzwerk- und einen Host Teil. Der Netzwerkteil wird vom NIC vergeben. Der Host Teil vergibt die Organisation, die die Adressen vom NIC erhalten hat. Es gibt verschiedene Netzwerkklassen.


Beispiel der Adresse 195.245.32.0
195.245.32.0 = Netz Adresse
195.245.32.255
= Broadcast Adresse
195.245.32.1 - 254 = Host Adressen
Private IP
Adressen die nicht vergeben worden sind und die nicht geroutet werden sind
A
Klasse 10.0.0.0
B Klasse 172.0.0.0 - 172.31.0.0
C Klasse 192.168.0.0 -
192.168.255.0
Die Adresse eines anderen Rechners finden (ARP)
![]()
Ob das Paket , das sie senden, an einen Host in ihrem Netzwerk oder an
einen Host in einem Remote Netzwerk geht, das Paket wird immer an eien Mac
Adresse geschickt. Der einzige Unterschied beim senden an das lokale oder
entfernte Netzwerk ist der, dass die Adresse, an die sie im Falle eines Remote
Netzwerkes senden, ein Router ist.
Das protokoll, das die Auflösung der
Hardware Adresse handhabt, ist ARP. ARP prüft zuerst den Zwischenspeicher,
um festzustellen, ob es die Adresse kürzlich ausgewertet hat. Wenn es dies
getan hat, kann es diese an IP übergeben, so dass das Paket verschickt
werden kann. Ansonsten erzeugt ARP ein Rundsendungspaket, das ins Netzwerk
geschickt wird. Das Paket enthält die IP Adresse, die ihr System auswerten
will. Es enthält zudem die IP und MAC Adresse ihrer Maschine. Alle Systeme
im Netz erhalten das Paket und übergeben es an ihre IP Schicht. Wenn die IP
Adresse die ARP sucht übereinstimmt erzeugt ARP eine Antwort um dem anderen
System seine MAC Adresse mitzuteilen.
ICMP (Internet Controll MESSAGE Protokoll)
![]()
ICMP ist ein Diagnostik- und Benachrichtigungsprotokoll, das im TCP/IP
Stapel zur Aufrechterhaltung von Kommunikation verwendet wird. ICMP handhabt
solche Routinefunktionen wie PING. PING wird eingesetzt, um die Verbindung
zwischen zwei Hosts zu überprüfen, indem ICMP Echopakete an die
angegebene IP Adresse gesendet werden.
Teilnetzwerke oder Subnetze
![]()
Grössere Organisationen haben gewöhnlich mehr als ein Segment
im Netzwerk, doch erhalten sie dennoch nur einen Internet Adresse. Damit in
einer grossen Gruppe jedes Segment mehrer Adressen hat, können sie die IP
Adresse aufteilen. Sie können diese Netzwerke intern und durch ihren Haupt
Router extern verrouten. Wenn sie ein Netzwerk in Teilnetze aufteilen wollen, müssen
sie die maximale Anzahl Hosts die in diesen Teilnetzwerken vorkommen kennen.
Eine Subnetmaske definieren
Damit eine IP Adresse eine Remote
Adresse ist, muss der Netzwerkteil der Adresse sich von ihrer eigenen
unterscheiden. Die Standart Subnetmaske ist 255.255.255.0. Die Adresse
193.192.224.0 soll auf vier Standorte aufgeteilt werden. Daraus ergibt sich die
Subnetmaske 255.255..255.192. Aufgrund dieser Subnetadresse ergeben sich
folgende Hostadressen: 193.192.224.0 - 63, 64 - 127 128 - 191, 192 - 256.
Folgende
Subnetmasken sind möglich

Transmission Control Protocol (TCP)
Mit dem Protokoll TCP wird zum einen die Zuverlässigkeit von IP erhöht, zum anderen übernimmt TCP, wie UDP, durch den Gebrauch von Port-Nummern die Adressierung von Diensten der Anwendungsschicht. TCP ist ein verbindungsorientiertes Protokoll. Das Mehr an Zuverlässigkeit wird durch die folgenden Mechanismen erreicht:
Die sendende und die empfangende TCP-Einheit tauschen Daten in Form von Segmenten aus. Jedes Segment beginnt mit einem 20-Byte-Header, auf den Header-Optionen folgen können. Den Optionen folgen schliesslich die zu übertragenden Daten. Die Segmentgrösse wird durch zwei Faktoren begrenzt: erstens muss jedes Segment, einschliesslich des TCP-Headers, in das Nutzdatenfeld des IP-Protokolls passen (65535 Byte); zweitens hat jedes Netz eine maximale Transfereinheit (MTU - Maximum Transfer Unit), in die das Segment passen muss. Läuft ein Segment durch eine Anzahl von Netzen und trifft dabei auf ein Netz mit einer kleineren MTU, so muss das Segment vom Router in kleinere Segmente aufgeteilt (fragmentiert) werden.
TCP-Segmente ohne Daten sind zulässig und dienen der Übermittlung von Bestätigungen und Steuernachrichten.
Arbeitsweise von TCP
![]()
Das Transmission Control Protocol stellt die Zuverlässigkeit der Datenübertragung mit einem Mechanismus, der als Positive Acknowledgement with Re-Transmission (PAR) bezeichnet wird, bereit. Ein TCP-Segment besteht aus einem mindestens 20 Byte grossen Protokollkopf und den zu übertragenden Daten. In jedem dieser Segmente ist eine Prüfsumme enthalten, anhand derer der Empfänger prüfen kann, ob die Daten fehlerfrei sind. Im Falle einer fehlerfreien Übertragung sendet der Empfänger eine Empfangsbestätigung an den Sender.
TCP ist ein verbindungsorientiertes Protokoll. Verbindungen werden über ein Dreiwege-Handshake (three-way handshake) aufgebaut. Über das Dreiwege-Handshake werden Steuerinformationen ausgetauscht, die die logische Ende-zu-Ende-Verbindung etablieren. Zum Aufbau einer Verbindung sendet ein Host einem anderen Host, mit dem er eine Verbindung aufbauen will, ein Segment, in dem das SYN-Flag gesetzt ist. Mit diesem Segment teilt Host 1 Host 2 mit, das der Aufbau einer Verbindung gewünscht wird. Die Sequenznummer des von Host 1 gesendeten Segments gibt Host 2 ausserdem an, welche Sequenznummer Host 1 zur Datenübertragung verwendet. Sequenznummern sind notwendig, um sicherzustellen, dass die Daten vom Sender in der richtigen Reihenfolge beim Empfänger ankommen. Der empfangende Host 2 kann die Verbindung nun annehmen oder ablehnen.
Im Feld für die Quittungsnummer bestätigt Host 2 die Sequenznummer von Host 1, dadurch, das die um Eins erhöhte Sequenznummer von Host 1 gesendet wird. Die Sequenznummer des Bestätigungssegments von Host 2 an Host 1 informiert Host 1 darüber, mit welcher Sequenznummer beginnend Host 2 die Daten empfängt. Nach dem Austausch dieser Informationen hat Host 1 die Bestätigung, dass Host 2 bereit ist Daten zu empfangen. Eine TCP-Verbindung besteht immer aus genau zwei Endpunkten (Punkt-zu-Punkt-Verbindung).
TCP nimmt Datenströme von Applikationen an und teilt diese in höchsten 64 KByte grosse Segmente auf (üblich sind ungefähr 1500 Byte). Jedes dieser Segmente wird als IP-Datengramm verschickt. Kommen IP-Datengramme mit TCP-Daten bei einer Maschine an, werden diese an TCP weitergeleitet und wieder zu den ursprünglichen Byteströmen zusammengesetzt. Hierfür verwendet TCP die Sequenznummer und die Bestätigungsnummer.
User Datagram Protocol (UDP)
![]()
Das User Datagram Protocol (UDP) ist im RFC 768 definiert. UDP ist ein unzuverlässiges, verbindungsloses Protokoll. Sind die Daten beim Zielrechner angekommen, so sind diese auch korrekt. UDP bietet gegenüber TCP den Vorteil eines geringen Protokoll-Overheads.
Ein UDP-Segment besteht aus einem Header von 8 Byte, gefolgt von den Daten. Die Prüfsumme enthält die Internet-Prüfsumme der UDP-Daten, des Protokollkopfs
Portnummern
![]()
TCP ist ausserdem dafür verantwortlich die empfangenen Daten an die korrekte Applikation weiterzuleiten. Portnummern sind 16 Bit gross; theoretisch kann ein Host somit bis zu 65535 verschiedene TCP-Verbindungen aufbauen. Auch UDP verwendet Portnummern zur Adressierung.
Eine IP-Adresse zusammen mit der Portnummer spezifiziert einen Kommunikationsendpunkt, einen sogenannten Socket.
Portnummern sind nicht einzigartig. Das bedeutet TCP und UDP können die gleichen Portnummern belegen.
Router
![]()