====== Wie reden Computer miteinander? ====== **Aufgabe**: Zwei Computer tauschen untereinander Daten aus: {{ :schulung:computer_reden_miteinander.png|}} **Problem**: Wie vereinbart man was * ein Bit (1 oder 0) oder * eine Zahl oder ein Buchstabe (mehrere Bits) ist? * Oder welche Bedeutung Bits/Zahlen/Buchstaben haben? **Lösung**: Protokolle! Also eigentlich aufeinander aufbauende Protokolle, sogenannte Protokollstapel (Stack): ==== Stapel, Schichten und Abstraktion ==== {{:schulung:osi.png?direct|}} OSI = Open Systems Interconnection > Das ISO/OSI-Referenzmodell ist ein Referenzmodell für Netzwerkprotokolle als [[tcpip_layer|Schichtenarchitektur]]. Es wird seit 1983 von der International Telecommunication Union und seit 1984 auch von der International Organization for Standardization als Standard veröffentlicht. Seine Entwicklung begann im Jahr 1977. Die IP-Schicht sorgt dafür, dass Datenpakete über die Grenzen von Netzwerken hinweg übertragen und vom Quell-Computer bis hin zum Ziel-Computer vermittelt werden. Die TCP-Schicht (bzw. auch die UDP Schicht) ist sozusagen der //Unterverteiler// im jeweiligen Quell- und Ziel-Computer. Bei beiden Schichten sind Nummern bzw. Adressen zur Strukturierung vorgesehen. >> Nicht wundern: In heute üblichen Rechnerarchitekturen sind die sinnvollen Zahlenbereiche durch das sogenannte Byte bestimmt = 8 Bit, entspricht den Binärzahlenwerten von 00000000 bis 11111111, d.h. 0..255 in dezimaler Schreibweise * Bei IP sind es die Adressen mit 32 Bit (IPv4) oder 64 Bit (IPv6) großen Zahlen. Beispiel für IPv4: ''195.201.41.116'', also in der üblichen Notation als 4 Bytes getrennt durch Punkte aufgeschrieben * Bei TCP (und UDP) sind es die sogenannten Port-Nummern, genau 2 Byte, also ''0...65535''. > __IP-Adressen__ adressieren __Rechner__ (genauer: eine Netzwerkschnittstelle eines Rechners), __Port-Nummern__ adressieren einzelne __Anwendungen__ auf diesem Rechner, also Software, die einen bestimmten Service ausführt und dafür diesen einen TCP-Port zur Kommunikation nutzt. Hier nochmal zur Veranschaulichung ein komplettes TCP/IP-Paket inklusive MAC-Header: {{:schulung:tcp_ip_ethernet.jpg?direct&600|}} [[schulung:tcp_beispiel|Praktisches Beispiel]]