IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnernetze und Organisation Rechnernetze und Organisation Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 WAN RNO VO11_wan 1 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Übersicht Rechnernetze und Organisation Motivation Internet Domain-Name Service IP-Adressen IP-Protokoll UDP-Protokoll TCP-Protokoll Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 2 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Motivation WAN Router ISP-2 LAN Switch Router WAN Rechnernetze und Organisation ISP-1 Internet Service Provider Firmennetzwerk Webstore Internet-Service Router ISP-3 Internet Service-2 Internet-Service Wie gelangen Daten durch das Internet? Wie wird sichergestellt, dass Daten verlässlich ankommen? Wie organisiert sich das Internet? Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 3 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Was ist das Internet? Was ist das Internet? – Wer organisiert das Internet? Ein globaler Verbund von Netzwerken – IP-Adress-Verwaltung: • Top-Level Domains: Verisign • In Österreich: NIC.at Wem gehört das Internet? – Den Betreibern der einzelnen Teilnetzwerke – Internet-Standards Rechnernetze und Organisation Was ist ein Intranet? – Firmen-internes Netzwerk das Internet-Technologie (IP, TCP) nützt. • IETF.org: Internet Engineering Task Force • RFCs: Requests for comments (Dokumente) – ~ 4000 Dokumente • W3C.org: World-wide web WAN Router ISP-2 LAN Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 Switch Router WAN ISP-1 Internet Service Provider Firmennetzwerk Router ISP-3 Internet RNO Webstore Internet-Service Service-2 Internet-Service VO11_wan 4 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Internet Services Rechnernetze und Organisation World Wide Web: HTTP, HTTPS Email: SMTP, POP, IMAP Chat: IRC Filetransfer: FTP Remote Login: Telnet, SSH Audio- und Video-Streaming: VoIP, H323 Online-Spiele File-Sharing: BitTorrent Domain-Name Service: DNS Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 5 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Domain-Name Service (DNS) Auflösung von Host-Namen – In IP-Adressen • – Z:\>nslookup www.iaik.tugraz.at Sind für Paket-Routing notwendig Host-Namen sind nur für Bequemlichkeit • Werden durch DNS in IP-Adresse aufgelöst Hierarchisches Namensschema – 3. DNS-Server Rechnernetze und Organisation DNS cache .at, .com, .org Länder Funktion 2. Domain • tugraz.at Sub-Domain • – www.iaik.tugraz.at 129.27.142.20 Rekursiver Suchalgorithmus Caching von Anfrageergebnissen – – – Name: Address: Top-level Domain • – ns.iaik.tu-graz.ac.at 129.27.142.23 DNS: Verteilte Datenbank • • – Server: Address: Client iaik.tugraz.at Host • DNS cache www.iaik.tugraz.at ► Weder Name noch IP-Adresse sagen was über Standort des Computers aus. Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO 1. VO11_wan 6 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie IP-Adress-Bereiche Netze: Klasse, Netzwerk, Host – – Class A: 1.H.H.H – 127.H.H.H Class B: 128.N.H.H – 191.N.H.H • – Besondere IP-Adressen – • • zB. TU Graz: 129.27. – Class C: 192.N.N.X – 223.N.N.X Rechnernetze und Organisation – Unterteilung eines Netzwerkes in logische Netzwerke Netmasks legen Broadcast-Domains fest • IP=129.27.142.23, NetMask=255.255.255.128 – • – • Von 129.27.142.0 Bis 129.27.142.127 7 (32-25) untere Bits Host X.X.X.1 ist meist das Gateway IP-Adresse X.X.X.255 ist für Broadcasts Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 128-Bit Adressen statt 32-Bit Adressen RNO Sollte IP-Adressmangel beheben Seit 1999 verfügbar • • „255.255.255.128“ = „/25“ » • • – – Zwei Notationen für Netmasks üblich Eigener Rechner Loop-Back Device IPv6: Nachfolger von IPv4 Von Broadcast folgende IPAdressen angesprochen: » » Private Netze Sind nicht routbar 127.0.0.1: Localhost • • Subnetze – 10.0.0.0, 192.168.0.0 Bisher kaum verbreitet Network-Adress-Translation (NAT) für IPv4 – – Bremst Verbreitung von IPv6 Neuerungen • • • Schnelleres Routing Multicast-Fähigkeit Integrierte Sicherheit (IPsec) VO11_wan 7 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie IP Protokoll Internet Protokoll (IP) – Routet Daten-Pakete durch Internet • Globale Zustellung von Daten-Paketen – Benötigt eindeutige Netzwerkadresse • 32-Bit IP-Adresse Rechnernetze und Organisation – Pakete werden einzeln geroutet • Kein Verbindungsaufbau vorab – Unabhängig von Übertragungstechnologie • Ethernet, Wlan, ATM, ... • Data-Link-Layer hat i.A. andere Adressierung – IP ist kein verlässliches Service („best effort delivery“) • • • • Paketverlust kann auftreten Reihenfolge der Pakete kann geändert sein Paketdaten können verändert sein Verlässlichkeit wird durch TCP sichergestellt Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 8 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie IP-Datagram (IP-Paket) Rechnernetze und Organisation • 20 Byte bis 65535 Bytes – Identification, Flags, Fragment Offset • Zur Erkennung von Fragmenten – Time to Live • Anzahl möglicher Routing-Hops – Protokoll: 1 ICMP, 6 TCP, 17 UDP – Quell- und Zieladresse (32 Bit) – Header-Prüfsumme: 16-Bit Summe 31 16 Big-Endian Darstellung von Wörtern Version: 4 (IPv4) Header Length: in 32-Bit Wörtern Type of Service: für Quality-of-Sevices Total Length: Head + Data in Bytes 0 – – – – – 15 Header: 13 Felder (20-60 Byte) Head 0 Vers. er Länge Service Länge 32 Idendifikat. Flags Frag. Offset 64 Time to Protokoll live Header Prüfsumme 96 Quelladresse 128 Zieladresse 160 Optionen 160 / 192 Daten Data – Maximale Größe: ~ 64 kB Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 9 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie ICMP-Protokoll Internet Control Message Protocoll (ICMP) – Fehlerbenachrichtigung • Melden von Routing-Problemen – Z.B. bei Ablauf der Time-to-Live (TTL) » Router benachrichtigt Sender von Paket-Verlust – Konfiguration von Routern – ICMP setzt auf IP auf Rechnernetze und Organisation • ICMP-Nachrichten können verloren gehen ICMP-Tools Z:\>ping www.iaik.at – Ping • Zum „Anpingen“ von Hosts – Echo-Request – Ist der Computer am Netz? – Traceroute • Feststellen des Routing-Wegs Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 Pinging www.iaik.at [129.27.142.20] with 32 bytes of data: Reply Reply Reply Reply from from from from 129.27.142.20: 129.27.142.20: 129.27.142.20: 129.27.142.20: bytes=32 bytes=32 bytes=32 bytes=32 time<1ms time<1ms time=1ms time=1ms TTL=127 TTL=127 TTL=127 TTL=127 Ping statistics for 129.27.142.20: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms RNO VO11_wan 10 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie UDP Protokoll • – – • • • • Nicht für kritische Anwendungen geeignet „Unreliable datagram protocol“ – UDP ca. 20% des Internet-Verkehrs – 8 + #Daten-Bytes Prüfsumme – Paketverlust nicht tragisch Voice over IP (VoIP) Computerspiele Für Pseudoheader 0 Quell-Port Ziel-Port 32 Länge CheckSum 64 DNS, SNMP, DHCP Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 Quell-Port = 0: keine Antwort erwartet Länge des UDP-Pakets – • Für latenz-kritische Anwendungen • – • Für Video- und Audio-Streaming • • Quell- und Ziel-Port – Schnell Temporär genutzt Paket-Header • Verwendung – 0: reserviert 1-1023: benannte Ports 1024-49151: registrierte Ports 49152-65535: ephemeral Ports – Wenig Overhead • Ports (16-Bit) 0 Rechnernetze und Organisation • – Kein Verbindungsaufbau nötig Versendet Datagramme Keine Fehlerkontrolle • – – RNO 31 Nicht verbindungsorientiert 15 – UDP-Paket 16 User Datagram Protocol (UDP) Daten VO11_wan 11 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP Transmission Control Protocol (TCP) – 1. Aufbau einer Verbindung – Sender sendet erneut Host-to-Host Verbindung 2. Nützen der Verbindung • • Falls ACK ausbleibt • Nach Ablauf eines Timeout Austausch von Paketen Rechnernetze und Organisation 3. Abbau der Verbindung – Garantierte Datenverbindung • • Fehlerkontrolle Fehlerkorrektur – – – Erneutes Senden von Daten Größer als bei IP TCP segmentiert große Daten TCP rund 75% des InternetVerkehrs • – Timeout-Periode von RoundTrip-Time abhängig – TCP-Zustände • Verbindungsorientierung Paketgröße • • – Empfänger bestätigt • Vollständigen Paketempfang • Acknowledge (ACK) Verbindungsorientiert – Protokoll – Benötigt Zustände (States) • Zustände – LISTEN, SYN-SENT, SYNRECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, CLOSED WWW und Email baut auf TCP auf Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 12 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP-Verbindung Verbindungsaufbau – 3-fach Handshake Client Server socket() socket() 1. Client sendet SYN zu Server 2. Server antwortet mit SYN-ACK 3. Client schickt ACK • Rechnernetze und Organisation Client und Server tauschen Sequenznummern aus Datenverbindung • Jedes Byte Daten erhöht Sequenznummer • • bind() Legt Reihenfolge der Pakete fest Empfänger schickt ACK • listen() accept() mit Sequenznummer send() Verbindungsabbau • connect() receive() 4-fach Handshake • FIN und ACK in beide Richtungen Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO close() close() VO11_wan 13 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP-Paket 0 – Sequenz-Nummer • Fortlaufende Nummer für Segmente • Zum Ordnen empfangener Segmente – Data Offset Rechnernetze und Organisation • Länge des TCP-Headers • SYN, ACK, RESET, FIN, ... – Window • Gewünschte Antwortlänge – Prüfsumme • Einfach: 16-Bit Summe (kein CRC) • Header und Payload 31 Ziel-Port 32 Sequenznummer 64 Acknowledge-Nummer 96 – Flags Quell-Port Data Offset • IP-Adressen stehen im IP-Paket-Header 16 0 – Quell- und Ziel-Port 15 Header: 11 Datenfelder Reserv Flags Window 128 Prüfsumme Urg. Pointer 160 Optional 160 / 192 Daten Data – Eigentliche Daten Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 14 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP in IP in Ethernet Kapselung der Pakete in Payload – Header und Daten • Von höherem Protokoll • Werden Payload HTTP Header Payload – Von darunter liegendem Protokoll TCP Paket – Protokoll-Stacks Rechnernetze und Organisation • Kapseln Pakete • Software-Layer IP Paket Ethernet Frame Header Header Header Payload Payload Payload ► „Umgedrehte“ Reihenfolge: Höchstes Protokoll am tiefsten vergraben. Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 15 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP Ports TCP Ports (16-Bit) – Identifizieren unterschiedliche Service • Die auf TCP basieren Port 1-255: „Well-known ports“ Rechnernetze und Organisation – – – – FTP: Telnet: SMTP: HTTP: Port 21 Port 23 Port 25 Port 80 (File Transport Protocol) (unsicheres Remote-Login) (Send-Mail Transport Protocol) (Hyper-Text Tranport Protocol) Port 256-1023: „Registered ports“ – Unix-Services: NFS, LDAP Port 1024 - : unprivilegierte Ports Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO telnet www.iaik.tugraz.at 80 GET /index.php HTTP/1.1 Host: www.iaik.tugraz.at VO11_wan 16 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie TCP/IP Stack Mehrere ProtokollLayer Rechnernetze und Organisation – Abarbeitung in mehreren Schritten – Stack-artiger Software-Aufbau • Unterste Schicht – Datenübertragung Client Router Server TCP TCP IP Ether • Oberste Schicht – Sichere Verbindung LL PL Network1 – Jede Schicht hat eigene Interfaces IP IP LL PL LL PL IP Ether LL PL Network2 • TCP: Winsock • Ethernet: NDIS (Network Driver Interface Specification) Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 17 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Internet-Socket Socket – i.A. ist ein Socket eine Betriebssystem-Schnittstelle – Meist Bezeichnung für Netzwerk-Schnittstelle eines OS Stream-Socket, Datagram-Socket – Eigentlich sind Sockets für beliebige Protokolle • In der Praxis meist nur für TCP und UDP genützt Rechnernetze und Organisation – Hosts über IP-Adresse, Protokoll und Port-Nummer definiert – Stream-Socket: Verbindungsorientiert (TCP) – Datagram-Socket: einzelne Nachricht (UDP) Server-Socket – Annahme von Requests vieler Clients • Ableitung eines neuen Sockets – Neuer Socket für Kom– munikation mit Client – Original-Socket für weitere Requests Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 » // Serversocket mit bestimmter Portnummer erstellen ServerSocket theServerSocket = new ServerSocket(port); while(true) { // auf Anfragen warten Socket clientSocket = theServerSocket.accept(); //InputStream-Objekt öffnen InputStream input = clientSocket.getInputStream(); // Daten lesen int data = input.read(); // Verbindung schließen clientSocket.close(); } Von anderen Clients RNO VO11_wan 18 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Router Netzwerk-zu-Netzwerk Verbindung – Verbindet Mehrere Netzwerk-Interfaces • U.U. andere Netzwerk-Technologie – Ethernet – ATM • Kann PC mit mehreren Netzwerkkarten sein – Meist Spezial-Hardware » wegen Geschwindigkeit Rechnernetze und Organisation – Arbeitet auf IP-Ebene (Layer 3: Network) • Weiterleiten von IP-Paketen Foto © Cisco – Aufgrund der Zieladresse des Pakets • Gegensatz zu Switch (auf Layer 2: Data Link) – Switch verbindet Hosts innerhalb eines LANs – Einige Switches besitzen auch Routing-Funktionalität » Layer 2/3 Switches – Router haben eine eigene IP-Adresse • Gateway für Netzwerk Foto © 3Com – Routing-Tabelle • Speichert Routen zu anderen Netzwerken • Entsteht teilweise durch Kommunikation mit anderen Routern Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 19 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Internet-Anbindung der TU Graz Austrian Academic Computer Network (ACONET) – Österreichische Wissenschaftsnetz – Nationales Backbone-Netz • für Forschung, Bildung und Kultur – Verbindung Graz – Wien Rechnernetze und Organisation • 2 1-Gigabit Ethernet Leitungen • Router in Graz: ZID der TU Graz Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 Grafik © aconet RNO VO11_wan 20 IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie Zusammenfassung TCP/IP – Bildet Technisches Rückgrat des Internets – Selbe Technik auch für Intranets verwendet – Internet-Protokoll (IP) • Routet Datenpakete durch das Netzwerk Rechnernetze und Organisation – Transmission Control Protocol (TCP) • Sorgt für verlässliche Verbindungen Literatur: – Rob Williams, „Computer Systems Architecture“, Addision-Wesley, 2001: Kapitel 15. Dr. Johannes Professor HorstWolkerstorfer Cerjak, 19.12.2005 RNO VO11_wan 21