Your SlideShare is downloading. ×
0
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
RN2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

RN2

706

Published on

Published in: Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
706
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Internet, das Netz der Netze weltweites Datennetz mit bald 1 Milliarde Benutzern Struktur: ein Netz von Netzen Zugang auch über andere Netze, z.B. T-Online exponentielles Wachstum: alle 6 Sekunden geht ein weiteres Subnetz ans Internet. anarchische Organisationsstruktur, keine zentralen Verwaltungsinstanzen “Killer-Applikation”: World Wide Web brachte den Durchbruch auf breiter Front Prof. W. Burkard Rechnernetze 221 Notizen 221
  • 2. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Point of Present Prof. W. Burkard Rechnernetze 222 Notizen 222
  • 3. Historischer Abriss Ursprung des Internet ist das DARPANET der US-Militärs (Defence Advanced Research Projects Agency) Ende der 60er Jahre kommen die US-Universitäten und Hochschulen hinzu. Basis zu dieser Zeit: langsame Telefonleitungen Erster Dienst im Internet: telnet = Dialogsitzung am entfernten Rechner Entwicklung des Basisprotokolls TCP/IP 1971 neuer Dienst: Email, Netz wird immer wichtiger für Kommunikation und Daten- (Programm) Austausch der Teilnehmer 1975 Netz als Forschungsprojekt endet (ARPA->DCA) 1980 Abspaltung des militärischen Teils ( -> Milnet) Prof. W. Burkard Rechnernetze 223 Notizen 223
  • 4. Historischer Abriss II 1986 Übergang von langsamen Telefonleitungen auf schnellere Standleitungen (Glasfaser) 1989 aus dem nationalen Netz der USA wird ein internationales Netz, weil sich immer mehr Länder anschließen. Wichtig allerdings: Internet bleibt ein nahezu reines Wissenschaftsnetz Seit Anfang der 90er: Dramatisches, exponentielles Wachstum (teilweise cirka 25% monatlich). Zunehmend auch kommerzielle Teilnehmer (F&E-Abteilungen grosser Firmen) Ursprungsnetz war ein Netz von Grossrechnern, heute ist das Internet im wesentlichen ein Netz von Unix-Rechnern (zumindest bei den Servern) 1993: Mit dem World-Wide-Webster wird die “Killerapplikation” des Internet geschaffen: Ein Integratortool für einfachste, grafische Handhabung des Netzes -> Das Netz explodiert geradezu !! Prof. W. Burkard Rechnernetze 224 Notizen 224
  • 5. Prof. W. Burkard Rechnernetze 225 Notizen 225
  • 6. Frauenanteil im Netz Prof. W. Burkard Rechnernetze 226 Notizen 226
  • 7. Prof. W. Burkard Rechnernetze 227 Notizen 227
  • 8. Prof. W. Burkard Rechnernetze 228 Notizen 228
  • 9. Prof. W. Burkard Rechnernetze 229 Notizen 229
  • 10. Die meistgenutzten Suchhilfen Prof. W. Burkard Rechnernetze 230 Notizen 230
  • 11. Organisationsstruktur Internet = ein Netz von Netzen OHNE oberste Kontrollinstanz !!! In jedem Teilnetz gelten eigene Regeln Beispiel WIN des DFN: kommerzielle Nutzung nicht erlaubt Nur wenige (halbwegs) verbindliche Absprachen zwischen den Teilnetzbetreibern, z.B. kostenlose Übernahme+Übergabe von Daten zwischen Netzbetreibern ist “ungeschriebenes” Gesetz („Peering“) Problem: Es gibt Regeln, die übergreifend behandelt werden müsssen! ==> ISOC Internet Society = Verein zur Förderung, Verbreitung und dem konzeptionellen Ausbau des Internet Unterorganisationen der ISOC: IAB = I. Architcture Board => Weiterentwicklung der Protokolle IETF = I. Engineering Task Force => kurzfristige technische Weiterentwicklung IRTF =I. Research Task Force => zuständig für langfristige Entwicklungen IANA = I. Assign Numbers Authority => Port-Nr. Vergabe für wellknown Ports, heute von der ICANN betreut. (I.Corporation for assigned Names and Numbers) Prof. W. Burkard Rechnernetze 231 Notizen 231
  • 12. Zugang zum Internet Für den konventionellen Postdienst braucht man entweder die gelbe Post oder Paketdienste wie UPS oder DPD Analog braucht man beim Internet ein Unternehmen oder eine Einrichtung, die den Zugang zur Verfügung stellen => Service-Provider Service-Provider... stellt den Kunden die Internet-Dienste technisch zur Verfügung erledigt die administrativen und organisatorischen Aufgaben eines Internet- Anschlusses betreibt Backbone-Rechner (Server) und ein eigenes Datennetz mit Anschluss an das Internet bietet (möglichst kundennah) sogenannte POP’s (Points of Presence), die Zugangsknoten für die Endkunden Prof. W. Burkard Rechnernetze 232 Notizen 232
  • 13. Serviceproviding in der BRD Ein wachsender (explodierender) Markt (einige) kommerzielle “Primärprovider” in Deutschland: UUNet GmbH KPNQwest/Xlink Puretec Compuserv ECRC DFN-Verein betreibt GWIN und ist einer der größten deutschen Service- Provider, aber: NUR zu nicht-kommerziellen Zwecken Private Vereine bieten oft einen günstigen Netzzugang für Privatpersonen mit geringem Kommunikationsvolumen: sub-Netz e.V. Karlsruhe (deutschlandweit aktiv) Individual Network e.V. Oldenburg (bundesweite “Ableger”) Internet-by-call ( 1-3 Pfennige je Minute ) flatrate-Tarife diverser Anbieter ( 30-200 DM je Monat) Prof. W. Burkard Rechnernetze 233 Notizen 233
  • 14. Die Bedeutung der RFC’s RFC = Request for Comment, Abhandlung über ein I.-Thema RFC’s repräsentieren die Dokumentation des Internet Ein RFC kann einen De-facto-Standard des Internet sein, z.B. RFC 821 + RFC 822 definieren das SMTP-Protokoll manche RFC’s dienen nur zu Informationszwecken manche RFC’s dokumentieren Ergebnisse von Forschungen und werden eventuell in der Zukunft zu Standards Es existieren derzeit über 2700 RFC’s Jeder kann einen RFC aufsetzen, man muss nur die Regeln zur Abfassung eines RFC einhalten (=>die stehen selbst in einem RFC (RFC 2223) RFC-Beispiel: RFC 1157: A simple network management protocol (SNMP) Prof. W. Burkard Rechnernetze 234 Notizen 234
  • 15. Ein Beispiel: RFC 821 RFC 821 August 1982 Simple Mail Transfer Protocol TABLE OF CONTENTS 1. INTRODUCTION .................................................. 1 2. THE SMTP MODEL .............................................. 2 3. THE SMTP PROCEDURE .................................... 4 3.1. Mail ................................................................. 4 3.2. Forwarding .................................................... 7 3.3. Verifying and Expanding .............................. 8 3.4. Sending and Mailing ................................... 11 Eine vollständige Liste aller RFCs 3.5. Opening and Closing .................................. 13 findet sich online unter: 3.6. Relaying ....................................................... 14 3.7. Domains ....................................................... 17 3.8. Changing Roles ........................................... 18 http://rfc.fh-koeln.de/ 4. THE SMTP SPECIFICATIONS ........................... 19 4.1. SMTP Commands ........................................ 19 4.1.1. Command Semantics ............................... 19 4.1.2. Command Syntax ..................................... 27 4.2. SMTP Replies .............................................. 34 4.2.1. Reply Codes by Function Group ............ 35 4.2.2. Reply Codes in Numeric Order ............... 36 4.3. Sequencing of Commands and Replies .... 37 4.4. State Diagrams ............................................ 39 4.5. Details .......................................................... 41 4.5.1. Minimum Implementation ........................ 41 4.5.2. Transparency ............................................ 41 4.5.3. Sizes .......................................................... 42 Prof. W. Burkard Rechnernetze 235 Notizen 235
  • 16. Ein Ausschnitt aus RFC 821 ... 2. THE SMTP MODEL The SMTP design is based on the following model of communication: as the result of a user mail request, the sender-SMTP establishes a two-way transmission channel to a receiver-SMTP. The receiver-SMTP may be either the ultimate destination or an intermediate. SMTP commands are generated by the sender-SMTP and sent to the receiver-SMTP. SMTP replies are sent from the receiver-SMTP to the sender-SMTP in response to the commands. <... Hier fehlt ein Teil ...> +------------+ +-------------+ +------+ | | | | | User | <--> | | SMTP | | +------+ | Sender- | Commands/Replies | Receiver-| +---------+ | SMTP | <-------------------------------> | SMTP | +---------+ | File | <--> | | and Mail | | <--> | File | |System| | | | | |System| +---------+ +-------------+ +--------------+ +---------+ Sender-SMTP Receiver-SMTP Model for SMTP Use Prof. W. Burkard Rechnernetze 236 Notizen 236
  • 17. Internet und das OSI-Referenzmodell Prof. W. Burkard Rechnernetze 237 Notizen 237
  • 18. Die Ebenen der TCP/IP-Suite Host A Host B Application layer Application layer Router Transport layer Transport layer (auch Gateway genannt) Network layer Network layer Network layer Data link+ Data link+ Data link+ physical layers physical layers physical layers Subnetwork Subnetwork Prof. W. Burkard Rechnernetze 238 Notizen 238
  • 19. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Die Aufgaben der TCP/IP-Ebenen = Ebene der Internet-Dienste (Anwendungen) wie Datei- Application layer transfer, electronic mail, remote terminal access = Erstellt eine (verläßliche) Ende-zu-Ende-Verbindung Transport layer von Host zu Host. = Internetwork Layer, verbindet Teilnetze durch Network layer einen Datagrammdienst ==> IP-Protokoll zwischen Data link+ = Kommunikation in Teilnetzen, z.B. in LAN’s physical layers wie Ethernet, Token-Ring Prof. W. Burkard Rechnernetze 239 Notizen 239
  • 20. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Protokolle der Internet-Suite NFS TELNET SMTP FTP TFTP RPC SNMP 4. Schicht application layer: TCP UDP 3. Schicht transport layer: Gateway IP, ICMP ARP,RARP 2. Schicht network layer: Protokolle CSMA/CD, Token-Passing data link layer: 1. Schicht Ethernet, V.24, ISDN, X.21, IEEE 802 phys. Layer: Prof. W. Burkard Rechnernetze 240 Notizen 240
  • 21. Vordergrund / Hintergrunddienste Prof. W. Burkard Rechnernetze 241 Notizen 241
  • 22. Einkapselung der Nutzdaten durch die IP-Protokolle Prof. W. Burkard Rechnernetze 242 Notizen 242
  • 23. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Die IP-Ebene Auf dieser Ebene geht es um das Transportieren von Datagrammen durch das (Inter)-Netz IP: der eigentliche Datagrammdienst, der die Daten transportiert ICMP: das Internet Control Message Protocol dient zur Fehlersuche, Routenüberprüfung, Leistungsmessungen ARP: Address resolution protocol, ermittelt die zu einer IP- Adresse gehörende Hardware-Adresse (z.B. Ethernet-Adresse) RARP: Reverse ARP, hat genau die umgekehrte Funktion Prof. W. Burkard Rechnernetze 243 Notizen Datagramme = Päckchen mit Daten 243
  • 24. Edited by Foxit Reader SEHR WICHTIG!!! Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Der Aufbau des IP-Datagrams Anzahl Bits 1 version (4 Bits) headlength (4) Version des IP-Protokolls (derzeit 4), Länge des IP-Headers man kann Pakete z.B. als “dringend” oder “verläßlich” definieren type of service (8) 1 komplette Länge des IP-Paketes 2 total length (16) 2 identifier (16) identifier, flags und offset werden beim Fragmentieren von IP- Paketen benötigt. flags (3) fragment offset (13) 2 time to live ttl (8) 1 ttl = anzahl der “Hops”, die ein Paket noch zu “leben” hat. protocol (8) 1 übergeordnetes Protokoll (z.B. TCP oder UDP), das die Daten bekommt, header checksum (16) 2 Prüfsumme über den IP-Header source address (32) 4 IP-Quelladresse 4 destination address (32) IP-Zieladresse options and padding (???) padding dient dazu, das IP-Paket auf volle 32 Bit zu “runden” Die Daten die eigentlich transportiert werden... d a t a (???) Prof. W. Burkard Rechnernetze 244 Notizen flags und Fragmentierung sind zu vernachlässigen bei jedem hop wird das tti-Feld um eine Einheit reduziert. => Router prüft TTL-Paket bis es O erreicht => Meldung an Ausgangsrouter => Packet wird wegen quot;Überalterungquot; gelöscht Eingabeauffoederung: ping www.google.de tracert www.google.de Ethernet Frame hat zuerst Zieladresse (destination adress) 244
  • 25. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. IP-Adressen IP-Adressen umfassen 32 Bit, also 4 Bytes Diese 4 Bytes werden in Dezimalschreibweise notiert, zwischen den Bytes notiert man einen Punkt, Beispiel: 141.21.37.206 Die 32-Bit-Adresse spezifiziert weltweit eindeutig einen Rechner weil sie in einen Netzwerk- und einen Hostanteil trennbar ist: Class A Adressen: 0 + (7 Bits Netzwerkadresse) + (24 Bit Hostadresse) Class B Adressen: 10 + (14 Bits Netzwerkadresse) + (16 Bit Hostadresse) Class C Adressen: 110 + (21 Bits Netzwerkadresse) + (8 Bit Hostadresse) Der Netzwerkteil der Adressen wird in Deutschland durch das DE-NIC in Karlsruhe vergeben, der Hostteil wird vom lokalen Administrator für Einzelgeräte vergeben. Exponentielles Wachstum führt derzeit zur Adressverknappung (speziell bei Class-B-Netzen) Prof. W. Burkard Rechnernetze 245 Notizen Class ca. 16 mio. Rechner A 0 ... 7 Bits 0 - 127 10 ... 6 Bits .... 14 Bits .... ca. 16000 Rechner B 128 - 191 110 ... 5 Bits .... 8 Bit ...... .... 8 Bit ..... ca. 256 Rechner C 192 - 231 Dualzahlen in Zahlen: 0000 0000 = 0 1000 0000 = 128 1100 0000 = 192 1110 0000 = 224 1111 0000 = 240 1111 1000 = 248 1111 1100 = 252 1111 1110 = 254 245 1111 1111 = 255
  • 26. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Klasseneinteilung der IP-Adressen Prof. W. Burkard Rechnernetze 246 Notizen 246
  • 27. Subnetzbildung in IP-Netzen Ein Netz der Klasse A bis D kann in Subnetze untergliedert werden: klassische, d.h. nach aussen sichtbare IP-Adresse Netz-Nr Host-Nr Interne Netzstruktur der IP-Adresse bei Subnetting Netz-Nr Subnetz-Nr Host-Nr Subnetz wird festgelegt durch die Subnetz-Maske: Alle zum Netz und zum Subnetz gehörenden Bitstellen sind 1, alle Bits der Host-Nr sind 0: Beispiel: IP-Adresse: 193.44.130.130 mit Subnetmask 255.255.255.192 bedeutet: Dies ist Host 2 im Subnetz 2 (von 4 möglichen) Merke: Subnetz Nr. 0 und 2n-1 (bei n Bits für das Subnetz) dürfen NICHT verwendet werden! Gleiches gilt für die Host-ID! Prof. W. Burkard Rechnernetze 247 Notizen 247
  • 28. Subnetzbildung (Beispiele) Demonstration des Zusammenspiels zwischen IP-Adresse, Subnetzmaske, Subnetz-ID und Host-ID Beispiel IP-Adresse Subnetzmaske Host-ID Netz/Subnetz-ID Klasse 1 132.174.26.178 255.255.255.0 178 132.174.26.0 2 193.174.24.180 255.255.255.240 4 193.174.24.176 3 193.174.24.155 255.255.255.252 3 193.174.24.152 4 123.174.132.5 255.255.240.0 4.5 123.174.128.0 Unzulässig!!! Prof. W. Burkard Rechnernetze 248 Notizen 248
  • 29. Strukturierung durch Subnetze Aufteilung eines Klasse C Netzes in zwei Subnetze 193.174.24.176 und 193.174.24.152 Prof. W. Burkard Rechnernetze 249 Notizen 249
  • 30. Spezielle IP-Adressen Ein x steht für „beliebige Belegung“ Prof. W. Burkard Rechnernetze 250 Notizen 250
  • 31. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. PING: die Anwendung des ICMP ICMP = Internet Control Message Protocol, dient zum Testen und zur Meldung von Fehlern und Statusmitteilungen der IP- , TCP-, und UDP-Protokolle 5 ping ist eine IP-Anwendung wie telnet, ftp oder www mit ping kann man “Verbindungen” testen ping loopback: verifiziert das Funktionieren der IP-Software 1 ping <eigene IP-Adresse>: zeigt das Funktionieren der eigenen 2 Netzwerkadresse ping <anderes IP-System>: zeigt das Funktionieren des Netzwerkes 3 ping <Name eines Systems>: zeigt, ob die Namensauflösung tut. 4 ICMP-Pakete werden auch dann erzeugt, wenn im Netz Fehler auftreten. Beispiel: Router eliminiert IP-Paket mit verfallenem TTL und sendet ICMP-Info an Sender. Prof. W. Burkard Rechnernetze 251 Notizen 251
  • 32. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Struktur des ICMP-Paketes ICMP - Paket ist simple Erweiterung des IP-Paketes (grauer Teil) Typ Code Prüfsumme weitere Control-Informationen Prof. W. Burkard Rechnernetze 252 Notizen 1 für ICMP 6 für TCP 252
  • 33. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. ICMP-Paket-Typen und Codes Prof. W. Burkard Rechnernetze 253 Notizen 253
  • 34. IP und Ethernet Ethernet-Frame: 64 Bits 48 48 16 (variabel) 32 Präambel Ziel Quelle Typ Daten CRC 512 (0200) XEROX PUP Problem: 2048 (0800) DOD IP Wie erfolgt die Zuordnung von IP-Adressen zu 2054 (0806) ARP Ethernet-Adressen ? 32821 (8035) reverse ARP 24579 (6003)DECnet Ph.4 Lösung: ARP und RARP Prof. W. Burkard Rechnernetze 254 Notizen 254
  • 35. Adressauflösung: IP --> Ethernet Das Address-Resolution-Protocol (ARP) aus gegebener IP-Adresse wird die Ethernet-Adresse ermittelt Ein Broadcast an alle: B B A A Mir, und hier ist Wem gehört diese meine Eth.-Adresse IP-Adresse ? C C D D Nur D antwortet ! Reply Request Prof. W. Burkard Rechnernetze 255 Notizen 255
  • 36. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Aufbau des Paketes für ARP Request und ARP-Reply Kopf der physikalischen Schicht (z.B. Ethernet-Header) (variable Bitzahl) Typ des Hardware-Interfaces (16 Bit) (z.B. 1 bei Std.-Ethernet) (16 Bits) benutztes Hardware-Protokoll des Senders (Ethertype 0806h= ARP) (16 Bits) Dieses Feld bleibt beim Hardware-Adresslänge in Bits, sei n Protokoll-Adresslänge in Bits, sei m ARP-Request frei (bei Ethernet: 48) (8 Bit) (bei IP 32) (8 Bit) Operations Code ( bei ARP-Request =1, bei ARP-Reply = 2)) (16 Bits) MAC Adresse des Senders Hardware-Adresse des Senders, also n Bit lang WIRD GESUCHT IP Adresse des Senders Protokoll-Adresse des Senders, also m Bit lang IST BEKANNT Hardware-Adresse des gesuchten Zielsystems, also n Bit lang Protokoll-Adresse des gesuchten Zielsystems, also m Bit lang Prof. W. Burkard Rechnernetze 256 Notizen 256
  • 37. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. Adressauflösung: Ethernet <-> IP Das Reverse Address-Resolution-Protocol (RARP) Nur der RARP-Server B antwortet ! B Ein Broadcast an alle: B B A A ... und hier ist Deine Hier ist meine IP - Adresse Ethernet-Adresse !? C C D D Reply Request Prof. W. Burkard Rechnernetze 257 Notizen 257
  • 38. Kopplung mit Routern Router sind nicht protokolltransparent wie Brücken/Switche d.h. sie gehören • entweder einer Protokollfamilie an (OSI,SNA,IPX/SPX, DECnet, TCP/IP ...) • oder sind sogenannte Multiprotokollrouter, verarbeiten also mehrere Prot.-Familien Router tauschen durch spezielle Routingprotokolle Routeninformationen untereinander aus Router machen Netze zuverlässiger, durch Adaptive Routing-Verfahren Filter, die den Verkehr regeln/überwachen Sicherheitsfunktionen im ULP Prof. W. Burkard Rechnernetze 258 Notizen 258
  • 39. Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. IP-Routing direkte und indirekte Zielrechner Netzwerk 1 Netzwerk 2 Router R B2 B1 (Gateway) A2 A1 A1 C2 C1 D2 D1 Systeme B1, C1 und D1 sind direkt erreichbar von A1 Systeme A2 - D2 sind nur indirekt, via Router R, erreichbar. Prof. W. Burkard Rechnernetze 259 Notizen 259
  • 40. IP-Routing-Algorithmus Zieladresse prüfen Ziel direkt Nein Ja Paket direkt an Ziel senden erreichbar ? Ziel in der Paket senden an den Ja Nein Routing angegebenen Router Tabelle ? Gibt es Paket senden an den eine Ja Nein Default-Router Default- Route ? Routingfehler Prof. W. Burkard Rechnernetze 260 Notizen 260
  • 41. Minimale Routing-Funktion eines PC Prüfung, ob die IP-Empfängeradresse (Zielsystem) lokal erreichbar ist • wenn ja: direkte Zustellung durch Verwendung der zugehörigen Hardware-Adresse (in LANs heute meistens Ethernet) • wenn nein: Zustellung an den Default-Router, gemäß Routing- Tabelle, unter Verwendung der Hardware-Adresse des Routers Merke: Die Routing-Tabelle einer Station kann neben der Default-Route weitere Eintragungen beinhalten, die zu einem anderen Router und damit Netzwerk führen. Frage: Wie erfolgt die obige Prüfung ? ->Subnetzmaske Prof. W. Burkard Rechnernetze 261 Notizen 261
  • 42. Aufbau der Routing-Tabelle Destination = IP-Adresse des Ziels, 0.0.0.0 = default route ifindex = interface index, Nr. des physikalischen Ports zum Ziel metric1-5 = bis zu 5 Metriken zur Kosten- berechnung der Route. Einfache Metrik: Anzahl Hops bis zum Ziel Next Hop = IP-Adresse des nächsten Routers dieser Route Route Type = 1=unbekannt 2=ungültige Route 3=direkt verbundenes Netz 4=indirekt erreichbares Ziel Routing Protokol = wie wurde diese Route ermittelt Route Age = Zeit in Sek. seit dem letzten Update/Confirm der Route Routing Mask = Netzmaske des Ziels, wird mit Adresse des IP-Paketes UND-verknüpft vor dem Check der Destination Route Information = optionaler Zeiger auf eine Routing MIB, die zu einem bestimmten Routing-Protokoll gehören könnte. Prof. W. Burkard Rechnernetze 262 Notizen 262
  • 43. Ein Beispiel zum IP-Routing Prof. W. Burkard Rechnernetze 263 Notizen 263
  • 44. Source Routing = ULP legt fest, über welche Zwischenstationen ein IP-Paket zum Ziel gelangen soll. Loose source routing = weitere Zwischenhops erlaubt // strict source routing = nicht erlaubt Ablauf: Router nutzt den Pointer P zur Erkennung des nächsten Routers/Zielsystems Ist die Liste abgearbeitet, wird an das Zielsystem ausgeliefert Ist die Liste noch nicht zu Ende, wird die durch P gekennzeichnete Adresse genommen Vor dem Weiterleiten wird eigene Adresse an der durch P definierten Stelle eingesetzt ==> Folge: realer Routenverlauf wird protokolliert Zuletzt wird auch noch P erhöht und zeigt so auf den nächsten Hop Prof. W. Burkard Rechnernetze 264 Notizen 264
  • 45. Routing-Protokolle ... Oder: Wie kommt eine Route in einen Router ? Statisches Routing: Routen werden von einem Netzadministrator von Hand eingetragen Dynamisches Routing: Router tauschen untereinander Routing-Daten aus und manipulieren so ständig ihre Tabellen Routing-Algorithmus Distanz-Vektor: Routenberechnung anhand der Distanzen (Hop-Counts) Beispiel RIP (Routing Information Protokoll) Funktionsweise: Periodisches Senden der eigenen Routing-Tabelle zu den DIREKTEN Nachbarn. Diese Updates sind Tupel (Z,D) Z=Zielnetz, D=Distanz in Hops Empfangende Router überprüfen ankommende Updates, • ob es zu einem Ziel eventuell einen kürzeren Weg gibt • und korrigieren in diesem Fall ihre eigene Routing-Tabelle. Nachteil: nach einer Topologieänderung dauert es relativ lange, bis Netz wieder OK! Optimierungen: Split Horizon = sende deinem Nachbarn nicht seine eigenen Wege zurück. => kleinere Tabellen werden verschickt => sinkendes Kommunikationsvolumen Triggered Updates = Sende sofort, wenn Topologieänderung erkannt wurde Prof. W. Burkard Rechnernetze 265 Notizen 265
  • 46. Link State Routing ... die Alternative zu Distanz-Vektor: Beispiel OSPF (Open Shortest Path First) Funktionsweise: jeder Router kennt alle anderen Router und daran angeschlossene Netze ein Router schickt Testpakete an direkte Nachbarn und erkennt an den Antworten: Link zum Nachbar ist OK bzw. nicht OK Router schickt periodisch Broadcasts mit Link-Status-Informationen, die im Netz alle Router erreichen. Merke: Diese Nachrichten sind sehr kurz (ganz im Gegenteil zum Distanz-Vektor) Erhält ein Router solche Link-Status-Informationen, berechnet er die kürzeste Distanz zu allen Zielen. Vorteile / Nachteile: + keine großen Routingtabellen im Netz unterwegs => schnelle Konvergenz, geringe Netzlast + gute Skalierbarkeit, auch bei großer Routeranzahl geeignet - hohe Anforderungen an CPU-Leistung und Hauptspeicherplatz der Router, da der Routen- berechnungs-Algorithmus (stammt von Dijkstra) komplexer ist. Prof. W. Burkard Rechnernetze 266 Notizen 266
  • 47. Autonome Systeme Problem: Bei wachsendem Netz werden die Routingtabellen immer länger! Lösung: Abgrenzung des Gesamtnetzes in autonome Subsysteme ... ... UND: Definition von exterior gateway protocols und internal gateway protocols Prof. W. Burkard Rechnernetze 267 Notizen 267
  • 48. Fragmentierung von IP-Paketen Kann das physikalische Netz ein IP-Datagramm nicht vollständig transportieren, muß es zerlegt und am Ziel wieder zusammengebaut werden: Beispiel: Wie groß werden IP-Pakete, wie groß werden Ethernet-Frames ? • Jedes IP-Paket hat ein Feld Identifikator, das ständig inkrementiert wird • über das F-Flag wird Fragmentierung erlaubt/verboten • Mit dem M-Bit wird festgehalten: letztes Fragment bzw. da kommen noch mehr... Bei Bedarf fragmentiert ein Router zu lange Datagramme: Beim Zerteilen der Pakete werden immer Vielfache von 8 Bytes gebildet und damit die Offsets berechnet. Warum ? => nur 13 Bit für Fragment-Offset, da 3 Bit für Flags im IP-Header Fragmente werden wie IP-Pakete individuell durch das Netz transportiert und können weiter fragmentiert werden. Offset und M-Flag zeigen stets den richtigen Wert relativ zum ursprünglichen Paket. Prof. W. Burkard Rechnernetze 268 Notizen 268
  • 49. Beispiel zur Fragmentierung von IP-Paketen LAN mit MTU=256 LAN mit MTU=512 LAN mit MTU=1500 Prof. W. Burkard Rechnernetze 269 Notizen 269
  • 50. Zusammenbau fragmentierter IP-Pakete ... erfolgt immer erst in der Zielmaschine, die am M-Flag und Offsetwert Fragmente erkennen kann und sofort Pufferspeicher für den Zusammenbau reserviert. Erst das vollständig gebaute IP-Paket wird an das ULP weitergeleitet. => ULP „weiß“ nichts von Fragmentation & Reassembly. Beispiel rechts: Reihenfolge, in der der Puffer gefüllt wird : 1, 2, 3, 4, 5, 6 Dabei nehmen wir an, die Fragmente haben unterschiedliche Routen genommen und kommen nun von zwei Routern Z und Y an den Ziel-Host Prof. W. Burkard Rechnernetze 270 Notizen 270
  • 51. NAT: Network Address translation = Umsetzung von IP-Adressen in einem Router gemäß RFC 2663, weil: • die firmeninternen Adressen nicht öffentlich bekannt werden sollen • die internen Adressen mit global gültigen Adressen kollidieren NAT erlaubt die transparente Kommunikation von „drinnen nach draußen und (teilweise) umgekehrt“ NAT bedeutet ... ... einen Umbau jedes IP-Headers (Quelle bei ausgehendem Paket, Ziel bei eingehendem Paket ... Listenüberarbeitung bei Source-Routing ... komplette Paketüberarbeitung bei ICMP ... komplette Überarbeitung bei Routing-Paketen (z.B. RIP oder OSPF) unterschiedliche DNS-Adreßauflösung ergibt verschiedene NAT-Varianten: Traditional-NAT = Nur Verbindungen aus dem lokalen Netz heraus machbar Bi-Directional NAT = Verbindungsaufbau auch von außen möglich Twice-NAT = gleichzeitige Modifikation von Quell- und Zieladresse eines IP-Paketes, erforderlich bei Adreßkollisionen der inneren und äußeren Adreßbereiche. Merke: NAT ist kritisch, möglichst vermeiden !!! Probleme z.B. beim Routing Prof. W. Burkard Rechnernetze 271 Notizen 271
  • 52. IP - Multicast Problem: wenn dieselben Daten an mehrere Empfänger zu senden sind, so vervielfacht sich das transportierte Datenvolumen ! Beispiele: • Web-Abfrage stets gleicher Seiten (Wetter, Radiokanäle, Verkehr,...) • Videoübertragung an eine Teilnehmergruppe • identische Updates mehrerer Rechner Lösung: Definition einer Gruppenadresse für alle Empfänger und einmaliges Versenden des IP-Datagrammes an diese Adresse Prof. W. Burkard Rechnernetze 272 Notizen 272
  • 53. IGMP: die Basis des IP - Multicast IGMP = Internet Group Management Protocol • dient zum „Rundsenden“ von Nachrichten • muß nicht zwingend im IP-Stack implementiert sein Unterstützung wird getrennt in: Level 1 = unterstützt Senden, aber nicht Empfangen von Multicast Paketen. (dient z.B. zum Abfragen von Netzressourcen ohne selbst IGMP zu implementieren) Level 2 = volle Unterstützung des Multicast, erfordert Implementierung von IGMP Prof. W. Burkard Rechnernetze 273 Notizen 273
  • 54. Aufbau der IGMP -PDU Version: derzeit auf 1,2, oder 3 gesetzt Prüfsumme: umfaßt nur den IGMP-Header Typ: 1 bedeutet Anfrage eines Routers, 2 bedeutet Antwort von einem Host Gruppe von Prozessen in einem Host wird durch Gruppenadresse der Klasse D + Interface definiert. Eine Prozeßgruppe kann auf mehrere Hosts verteilt sein. Ein Host kann mehrere Gruppen haben, d.h. mehrere Interfaces bereitstellen. Es gibt vordefinierte Gruppen (z.B. 224.0.0.1 = Multicast an alle Hosts und Router) Prof. W. Burkard Rechnernetze 274 Notizen 274
  • 55. Arbeitsweise von IGMP (I) Schritt 1: Initialisieren des Host für IGMP-Interaktion: 1. Multicast-Datagramme werden „nach oben“ wie Unicast-Datagramme zugestellt. Vorher muß die IP-Schicht durch das ULP informiert werden, welche Multicast-Gruppe an welchen Port (hier Interface genannt) geliefert werden soll: Dafür gibt’s zwei simple Funktionen: JoinHostGroup (group_address, interface) LeaveHostGroup (group_address, interface) 2. Nun muß die IP-Schicht dem LAN-Adapter (also der Sicherungsschicht, z.B. Ethernet) mitteilen, welche Multicast-Datagramme zu empfangen und an IP zu leiten sind: Auch dafür gibt’s zwei simple Protokoll-Primitive: JoinLocalGroup (group_address) LeaveLocalGroup (group_address) Prof. W. Burkard Rechnernetze 275 Notizen 275
  • 56. Arbeitsweise von IGMP (II) Schritt 2: Registrieren der Multicast-Gruppen über IGMP-Nachrichten: Multicast-Gruppen in einem LAN werden von einem lokalen multicastfähigen Router durch zwei Prozeduren verwaltet: A) Erstanmeldung: Senden einer IGMP-Antwort zum Router durch einen Host, wenn ein Prozeß den Host erstmalig in eine Multicast-Gruppe bringt. (Weitere Prozesse auf diesem Host, die in dieselbe Gruppe einsteigen, verursachen keine IGMP-Antwort-Pakete) B) Abfragen: 1. Multicast-Router sendet periodisch IGMP-Anfragen ins LAN an jede Gruppenadresse d.h. Überprüfung, ob es immernoch Hosts gibt, die über Gruppenmitglieder für das Interface verfügen. 2. Jeder Host mit Multicast-Mitgliedern sendet je Interface (Port) eine IGMP-Antwort. 3. Router aktualisiert seine Multicast-Tabellen und eliminiert nicht mehr benötigte Gruppen (für die es im Netz also keinen Prozeß mehr gibt, der Mitglied ist) Prof. W. Burkard Rechnernetze 276 Notizen 276
  • 57. Arbeitsweise von IGMP (III) Schritt 3: Zustellen von Multicast-Paketen: Router empfängt ein Multicast-Paket und entscheidet, ob es ins LAN muß anhand seiner Multicast-Tabelle: es muß einen Eintrag für diese Gruppe geben. Wenn nein: Paket verwerfen Wenn ja: Paket wird über Multicast-/Broadcast-Funktionen der Sicherungsschicht in das LAN geleitet => alle Stationen im LAN erhalten das IP-Paket. Nur Stationen mit beteiligten Prozessen (Gruppenmitgliedern) erhalten von IP das Datagramm geliefert. TTL-Feld eines Multicast ist im LAN immer 1 => Pakete können nicht über Routergrenzen hinweg! ICMP-Fehlermeldungen (Typ 11) werden hierbei NICHT erzeugt! Multicast-Adressen 224.0.0.0 bis 224.0.0.255 werden immer so behandelt, als ob TTL=1 ist => Damit kann ein Router also stets nur lokale Hosts erreichen. Optimierung für geswitchte Netze: IGMP Snooping: intelligente Switche erkennen anhand IGMP- Antwortpaketen, wo (k)ein Teilnehmer sitzt und blockieren unbeteiligte Ports. Prof. W. Burkard Rechnernetze 277 Notizen 277
  • 58. Ein Beispiel zu IP-Multicast Prof. W. Burkard Rechnernetze 278 Notizen 278
  • 59. Kopplung mit Routern Router sind nicht protokolltransparent wie Brücken/Switche d.h. sie gehören • entweder einer Protokollfamilie an (OSI,SNA,IPX/SPX, DECnet, TCP/IP ...) • oder sind sogenannte Multiprotokollrouter, verarbeiten also mehrere Prot.-Familien Router tauschen durch spezielle Routingprotokolle Routeninformationen untereinander aus Router machen Netze zuverlässiger, durch Adaptive Routing-Verfahren Filter, die den Verkehr regeln/überwachen Sicherheitsfunktionen im ULP Prof. W. Burkard Rechnernetze 258 Notizen 258
  • 60. IP-Routing direkte und indirekte Zielrechner Netzwerk 1 Netzwerk 2 Router R B2 B1 (Gateway) A2 A1 A1 C2 C1 D2 D1 Systeme B1, C1 und D1 sind direkt erreichbar von A1 Systeme A2 - D2 sind nur indirekt, via Router R, erreichbar. Prof. W. Burkard Rechnernetze 259 Notizen 259
  • 61. IP-Routing-Algorithmus Zieladresse prüfen Ziel direkt Nein Ja Paket direkt an Ziel senden erreichbar ? Ziel in der Paket senden an den Ja Nein Routing angegebenen Router Tabelle ? Gibt es Paket senden an den eine Ja Nein Default-Router Default- Route ? Routingfehler Prof. W. Burkard Rechnernetze 260 Notizen 260
  • 62. Minimale Routing-Funktion eines PC Prüfung, ob die IP-Empfängeradresse (Zielsystem) lokal erreichbar ist • wenn ja: direkte Zustellung durch Verwendung der zugehörigen Hardware-Adresse (in LANs heute meistens Ethernet) • wenn nein: Zustellung an den Default-Router, gemäß Routing- Tabelle, unter Verwendung der Hardware-Adresse des Routers Merke: Die Routing-Tabelle einer Station kann neben der Default-Route weitere Eintragungen beinhalten, die zu einem anderen Router und damit Netzwerk führen. Frage: Wie erfolgt die obige Prüfung ? ->Subnetzmaske Prof. W. Burkard Rechnernetze 261 Notizen 261
  • 63. Aufbau der Routing-Tabelle Destination = IP-Adresse des Ziels, 0.0.0.0 = default route ifindex = interface index, Nr. des physikalischen Ports zum Ziel metric1-5 = bis zu 5 Metriken zur Kosten- berechnung der Route. Einfache Metrik: Anzahl Hops bis zum Ziel Next Hop = IP-Adresse des nächsten Routers dieser Route Route Type = 1=unbekannt 2=ungültige Route 3=direkt verbundenes Netz 4=indirekt erreichbares Ziel Routing Protokol = wie wurde diese Route ermittelt Route Age = Zeit in Sek. seit dem letzten Update/Confirm der Route Routing Mask = Netzmaske des Ziels, wird mit Adresse des IP-Paketes UND-verknüpft vor dem Check der Destination Route Information = optionaler Zeiger auf eine Routing MIB, die zu einem bestimmten Routing-Protokoll gehören könnte. Prof. W. Burkard Rechnernetze 262 Notizen 262
  • 64. Ein Beispiel zum IP-Routing Prof. W. Burkard Rechnernetze 263 Notizen 263
  • 65. Source Routing = ULP legt fest, über welche Zwischenstationen ein IP-Paket zum Ziel gelangen soll. Loose source routing = weitere Zwischenhops erlaubt // strict source routing = nicht erlaubt Ablauf: Router nutzt den Pointer P zur Erkennung des nächsten Routers/Zielsystems Ist die Liste abgearbeitet, wird an das Zielsystem ausgeliefert Ist die Liste noch nicht zu Ende, wird die durch P gekennzeichnete Adresse genommen Vor dem Weiterleiten wird eigene Adresse an der durch P definierten Stelle eingesetzt ==> Folge: realer Routenverlauf wird protokolliert Zuletzt wird auch noch P erhöht und zeigt so auf den nächsten Hop Prof. W. Burkard Rechnernetze 264 Notizen 264
  • 66. Routing-Protokolle ... Oder: Wie kommt eine Route in einen Router ? Statisches Routing: Routen werden von einem Netzadministrator von Hand eingetragen Dynamisches Routing: Router tauschen untereinander Routing-Daten aus und manipulieren so ständig ihre Tabellen Routing-Algorithmus Distanz-Vektor: Routenberechnung anhand der Distanzen (Hop-Counts) Beispiel RIP (Routing Information Protokoll) Funktionsweise: Periodisches Senden der eigenen Routing-Tabelle zu den DIREKTEN Nachbarn. Diese Updates sind Tupel (Z,D) Z=Zielnetz, D=Distanz in Hops Empfangende Router überprüfen ankommende Updates, • ob es zu einem Ziel eventuell einen kürzeren Weg gibt • und korrigieren in diesem Fall ihre eigene Routing-Tabelle. Nachteil: nach einer Topologieänderung dauert es relativ lange, bis Netz wieder OK! Optimierungen: Split Horizon = sende deinem Nachbarn nicht seine eigenen Wege zurück. => kleinere Tabellen werden verschickt => sinkendes Kommunikationsvolumen Triggered Updates = Sende sofort, wenn Topologieänderung erkannt wurde Prof. W. Burkard Rechnernetze 265 Notizen 265
  • 67. Link State Routing ... die Alternative zu Distanz-Vektor: Beispiel OSPF (Open Shortest Path First) Funktionsweise: jeder Router kennt alle anderen Router und daran angeschlossene Netze ein Router schickt Testpakete an direkte Nachbarn und erkennt an den Antworten: Link zum Nachbar ist OK bzw. nicht OK Router schickt periodisch Broadcasts mit Link-Status-Informationen, die im Netz alle Router erreichen. Merke: Diese Nachrichten sind sehr kurz (ganz im Gegenteil zum Distanz-Vektor) Erhält ein Router solche Link-Status-Informationen, berechnet er die kürzeste Distanz zu allen Zielen. Vorteile / Nachteile: + keine großen Routingtabellen im Netz unterwegs => schnelle Konvergenz, geringe Netzlast + gute Skalierbarkeit, auch bei großer Routeranzahl geeignet - hohe Anforderungen an CPU-Leistung und Hauptspeicherplatz der Router, da der Routen- berechnungs-Algorithmus (stammt von Dijkstra) komplexer ist. Prof. W. Burkard Rechnernetze 266 Notizen 266
  • 68. Autonome Systeme Problem: Bei wachsendem Netz werden die Routingtabellen immer länger! Lösung: Abgrenzung des Gesamtnetzes in autonome Subsysteme ... ... UND: Definition von exterior gateway protocols und internal gateway protocols Prof. W. Burkard Rechnernetze 267 Notizen 267
  • 69. Fragmentierung von IP-Paketen Kann das physikalische Netz ein IP-Datagramm nicht vollständig transportieren, muß es zerlegt und am Ziel wieder zusammengebaut werden: Beispiel: Wie groß werden IP-Pakete, wie groß werden Ethernet-Frames ? • Jedes IP-Paket hat ein Feld Identifikator, das ständig inkrementiert wird • über das F-Flag wird Fragmentierung erlaubt/verboten • Mit dem M-Bit wird festgehalten: letztes Fragment bzw. da kommen noch mehr... Bei Bedarf fragmentiert ein Router zu lange Datagramme: Beim Zerteilen der Pakete werden immer Vielfache von 8 Bytes gebildet und damit die Offsets berechnet. Warum ? => nur 13 Bit für Fragment-Offset, da 3 Bit für Flags im IP-Header Fragmente werden wie IP-Pakete individuell durch das Netz transportiert und können weiter fragmentiert werden. Offset und M-Flag zeigen stets den richtigen Wert relativ zum ursprünglichen Paket. Prof. W. Burkard Rechnernetze 268 Notizen 268
  • 70. Beispiel zur Fragmentierung von IP-Paketen LAN mit MTU=256 LAN mit MTU=512 LAN mit MTU=1500 Prof. W. Burkard Rechnernetze 269 Notizen 269
  • 71. Zusammenbau fragmentierter IP-Pakete ... erfolgt immer erst in der Zielmaschine, die am M-Flag und Offsetwert Fragmente erkennen kann und sofort Pufferspeicher für den Zusammenbau reserviert. Erst das vollständig gebaute IP-Paket wird an das ULP weitergeleitet. => ULP „weiß“ nichts von Fragmentation & Reassembly. Beispiel rechts: Reihenfolge, in der der Puffer gefüllt wird : 1, 2, 3, 4, 5, 6 Dabei nehmen wir an, die Fragmente haben unterschiedliche Routen genommen und kommen nun von zwei Routern Z und Y an den Ziel-Host Prof. W. Burkard Rechnernetze 270 Notizen 270
  • 72. NAT: Network Address translation = Umsetzung von IP-Adressen in einem Router gemäß RFC 2663, weil: • die firmeninternen Adressen nicht öffentlich bekannt werden sollen • die internen Adressen mit global gültigen Adressen kollidieren NAT erlaubt die transparente Kommunikation von „drinnen nach draußen und (teilweise) umgekehrt“ NAT bedeutet ... ... einen Umbau jedes IP-Headers (Quelle bei ausgehendem Paket, Ziel bei eingehendem Paket ... Listenüberarbeitung bei Source-Routing ... komplette Paketüberarbeitung bei ICMP ... komplette Überarbeitung bei Routing-Paketen (z.B. RIP oder OSPF) unterschiedliche DNS-Adreßauflösung ergibt verschiedene NAT-Varianten: Traditional-NAT = Nur Verbindungen aus dem lokalen Netz heraus machbar Bi-Directional NAT = Verbindungsaufbau auch von außen möglich Twice-NAT = gleichzeitige Modifikation von Quell- und Zieladresse eines IP-Paketes, erforderlich bei Adreßkollisionen der inneren und äußeren Adreßbereiche. Merke: NAT ist kritisch, möglichst vermeiden !!! Probleme z.B. beim Routing Prof. W. Burkard Rechnernetze 271 Notizen 271
  • 73. IP - Multicast Problem: wenn dieselben Daten an mehrere Empfänger zu senden sind, so vervielfacht sich das transportierte Datenvolumen ! Beispiele: • Web-Abfrage stets gleicher Seiten (Wetter, Radiokanäle, Verkehr,...) • Videoübertragung an eine Teilnehmergruppe • identische Updates mehrerer Rechner Lösung: Definition einer Gruppenadresse für alle Empfänger und einmaliges Versenden des IP-Datagrammes an diese Adresse Prof. W. Burkard Rechnernetze 272 Notizen 272
  • 74. IGMP: die Basis des IP - Multicast IGMP = Internet Group Management Protocol • dient zum „Rundsenden“ von Nachrichten • muß nicht zwingend im IP-Stack implementiert sein Unterstützung wird getrennt in: Level 1 = unterstützt Senden, aber nicht Empfangen von Multicast Paketen. (dient z.B. zum Abfragen von Netzressourcen ohne selbst IGMP zu implementieren) Level 2 = volle Unterstützung des Multicast, erfordert Implementierung von IGMP Prof. W. Burkard Rechnernetze 273 Notizen 273
  • 75. Aufbau der IGMP -PDU Version: derzeit auf 1,2, oder 3 gesetzt Prüfsumme: umfaßt nur den IGMP-Header Typ: 1 bedeutet Anfrage eines Routers, 2 bedeutet Antwort von einem Host Gruppe von Prozessen in einem Host wird durch Gruppenadresse der Klasse D + Interface definiert. Eine Prozeßgruppe kann auf mehrere Hosts verteilt sein. Ein Host kann mehrere Gruppen haben, d.h. mehrere Interfaces bereitstellen. Es gibt vordefinierte Gruppen (z.B. 224.0.0.1 = Multicast an alle Hosts und Router) Prof. W. Burkard Rechnernetze 274 Notizen 274
  • 76. Arbeitsweise von IGMP (I) Schritt 1: Initialisieren des Host für IGMP-Interaktion: 1. Multicast-Datagramme werden „nach oben“ wie Unicast-Datagramme zugestellt. Vorher muß die IP-Schicht durch das ULP informiert werden, welche Multicast-Gruppe an welchen Port (hier Interface genannt) geliefert werden soll: Dafür gibt’s zwei simple Funktionen: JoinHostGroup (group_address, interface) LeaveHostGroup (group_address, interface) 2. Nun muß die IP-Schicht dem LAN-Adapter (also der Sicherungsschicht, z.B. Ethernet) mitteilen, welche Multicast-Datagramme zu empfangen und an IP zu leiten sind: Auch dafür gibt’s zwei simple Protokoll-Primitive: JoinLocalGroup (group_address) LeaveLocalGroup (group_address) Prof. W. Burkard Rechnernetze 275 Notizen 275
  • 77. Arbeitsweise von IGMP (II) Schritt 2: Registrieren der Multicast-Gruppen über IGMP-Nachrichten: Multicast-Gruppen in einem LAN werden von einem lokalen multicastfähigen Router durch zwei Prozeduren verwaltet: A) Erstanmeldung: Senden einer IGMP-Antwort zum Router durch einen Host, wenn ein Prozeß den Host erstmalig in eine Multicast-Gruppe bringt. (Weitere Prozesse auf diesem Host, die in dieselbe Gruppe einsteigen, verursachen keine IGMP-Antwort-Pakete) B) Abfragen: 1. Multicast-Router sendet periodisch IGMP-Anfragen ins LAN an jede Gruppenadresse d.h. Überprüfung, ob es immernoch Hosts gibt, die über Gruppenmitglieder für das Interface verfügen. 2. Jeder Host mit Multicast-Mitgliedern sendet je Interface (Port) eine IGMP-Antwort. 3. Router aktualisiert seine Multicast-Tabellen und eliminiert nicht mehr benötigte Gruppen (für die es im Netz also keinen Prozeß mehr gibt, der Mitglied ist) Prof. W. Burkard Rechnernetze 276 Notizen 276
  • 78. Arbeitsweise von IGMP (III) Schritt 3: Zustellen von Multicast-Paketen: Router empfängt ein Multicast-Paket und entscheidet, ob es ins LAN muß anhand seiner Multicast-Tabelle: es muß einen Eintrag für diese Gruppe geben. Wenn nein: Paket verwerfen Wenn ja: Paket wird über Multicast-/Broadcast-Funktionen der Sicherungsschicht in das LAN geleitet => alle Stationen im LAN erhalten das IP-Paket. Nur Stationen mit beteiligten Prozessen (Gruppenmitgliedern) erhalten von IP das Datagramm geliefert. TTL-Feld eines Multicast ist im LAN immer 1 => Pakete können nicht über Routergrenzen hinweg! ICMP-Fehlermeldungen (Typ 11) werden hierbei NICHT erzeugt! Multicast-Adressen 224.0.0.0 bis 224.0.0.255 werden immer so behandelt, als ob TTL=1 ist => Damit kann ein Router also stets nur lokale Hosts erreichen. Optimierung für geswitchte Netze: IGMP Snooping: intelligente Switche erkennen anhand IGMP- Antwortpaketen, wo (k)ein Teilnehmer sitzt und blockieren unbeteiligte Ports. Prof. W. Burkard Rechnernetze 277 Notizen 277
  • 79. Ein Beispiel zu IP-Multicast Prof. W. Burkard Rechnernetze 278 Notizen 278
  • 80. Ein innovativer Ansatz: IP-Switching Untersuche nur das ERSTE Paket eines IP-Flows auf OSI-Ebene 3 für die Zielbestimmung und switche nachfolgende Pakete auf OSI-Ebene 2: IP Controller Quell-Station Ziel-Station Switching Fabric Prof. W. Burkard Rechnernetze 279 Notizen 279
  • 81. LAN-Switching contra Routing IP-Switching vereint Vorteile und eliminiert Nachteile von LAN-Switching und Routing Vorteile Nachteile LAN-Switching - hohe Segmentierung - keine Broadcast-Kontrolle - hohe Performance - wenig Sicherheit - geringe Kosten - flaches Netzwerk konventionelles - Broadcast-Isolierung - geringe Port-Dichte Routing - hohe Sicherheit - geringe Leistung - hierarchische - hohe Kosten Netzarchitektur Prof. W. Burkard Rechnernetze 280 Notizen 280
  • 82. IP-Switching: Konzepte Hardware- (ASIC-) basierte Router = direkter Ersatz für konventionell Software-basierte Router Server-basiertes Routing = Netzaufteilung in: Route-Server + Switche im Netz + intelligente Layer-3- Forwarding-Komponente am Netzrand ICMP-Redirect = IP-Flow- Umlenkung auf virtuelle Gateways Cut-Through-Layer-3-Switching (IP-Paket-Switching) = ARP-Request nennt MAC-Adresse des Switch-Ausgangsports Label-Switching = Anheften eines Labels (oder Tags) an das Layer-2-Paket (bzw. die Zelle) Prof. W. Burkard Rechnernetze 281 Notizen 281
  • 83. Hardware-Router Hardware- (ASIC-) basierte Router = direkter Ersatz für konventionelle (Software-basierte) Router • von Grund auf für die Routing-Aufgabe entwickelt • verarbeiten einige Millionen Pakete pro Sekunde • Einsatz einer Cross-Point-Matrix statt eines Systembusses • alternativ Einsatz von extrem schnellen Bussen • Lookup der Routing-Tabellen über dedizierte ASICs (Application specific IC) statt einer herkömmlichen CPU Vorteil: man muß nichts neu konfigurieren oder beschaffen Nachteile: es hat sich nichts wesentliches geändert, nach wie vor wird jedes Diagramm einzeln geroutet. Hoher Preis, große Komplexität und Admin-Aufwand bleiben. Fazit: Versuch, jedes einzelne Paket zu routen, ist auf lange Sicht ein verlorener Kampf! Prof. W. Burkard Rechnernetze 282 Notizen 282
  • 84. Route-Server-Konzepte Besonders für ATM-Netzwerke gedacht Es kommen drei Komponenten zum Einsatz: • Route - Server: verantwortlich für Pfadkalkulation durch das Netz • intelligente Layer-3-Forwarding-Komponente ( FK) an der Netz-Peripherie • Layer-2-Switche im Kern des Netzes PC B PC A FK FK Server Eingesetzt wird NHRP (Next Hop Resolution Protocol, Variante des ARP) Sendewillige Station sendet NHRP-Request an Route-Server. Route-Server liefert MAC-Adresse des Zielsystems (meist ATM-Adresse) Merke: Server-basierte Routing-Konzepte erfordern die Unterstützung von NHRP in allen Netzwerk-Komponenten, Endgeräte eingeschlossen! Prof. W. Burkard Rechnernetze 283 Notizen 283
  • 85. ICMP-Redirect Nutzung des ICMP-Redirect-Mechanismus um Verkehr vom Default-Gateway auf Zieladresse umzuleiten: Station sendet an Default-Gateway Gateway sendet ICMP-Redirect, d.h. „es gibt eine bessere Route zum Ziel“ Nun versucht die Station über dieses „virtuelle Gateway“ das Ziel zu erreichen Reaktion: IP-Switch liefert MAC-Adresse der Zielstation auf der IP-Adresse des virtuellen Gateways Station glaubt nun, daß Zieladresse direkt erreichbar ist und sendet unter dieser MAC-Adresse alle weiteren Pakete. Ergebnis: Datenstrom wird auf Ebene 2 geswitcht. Probleme: IP-Adressen der virtuellen Gateways müssen aus einem vorab definierten IP-Adreßpool zugewiesen werden: ==> eine bestimmte Anzahl von IP-Adressen pro Subnetz muß reserviert werden. Vorteil: keinerlei Konfigurationsänderungen an Endgeräten. Prof. W. Burkard Rechnernetze 284 Notizen 284
  • 86. IP-Packet-Switching Kann wie ICMP-Redirect nicht nur im Netzkern, sondern bis zum Endgerät genutzt werden: Rekonfiguration aller Endgeräte, so daß diese bei jedem Verbindungswunsch eine ARP-Nachricht senden. ARP-Anfragen werden vom IP-Switch abgefangen/behandelt • Ist Paket im gleichen Subnetz, wird wie gehabt die zugehörige MAC-Adresse geliefert • Andernfalls wird MAC-Adresse des Ausgangsports geliefert, der das Ziel erreichen kann • intelligenter Switch erkennt* eintreffende Pakete und setzt neu um ( ließt IP und ersetzt MAC-Adresse ), da er über Layer-3-Informationen verfügt. * wird erkannt weil MAC-Adresse identisch mit eigener Adresse Prof. W. Burkard Rechnernetze 285 Notizen 285
  • 87. Label-Switching Besonders für ISP und Corporate-Networks geeignet Switches im Netz führen ein Mapping zwischen Layer-3-IP-Adressen zu sogenannten Labels, Tags oder VCI/VPI eines ATM-Netzwerkes durch IP-Datenströme werden mittels Switching auf der Ebene 2 über diese virtuellen Verbindungen weitergeleitet Switche nutzen Routing-Protokolle (RIP, OSPF, etc.) um Informationen über die Netztopologie auszutauschen Abhängig davon, wie der Pfad durchs Netz aufgesetzt wird, kennt man: • IP-Flow-basierte Verfahren: Erkennen längerer IP-Datenströme und Zuordnung eigener VCI/VPI • Topologie-basierte Verfahren: Cisco Tag Switching => MPLS (Multiprotokoll-Label-Switching) Prof. W. Burkard Rechnernetze 286 Notizen 286
  • 88. Funktionsweise des Tag-Switching Tag-Edge-Router an Netzwerkgrenze führen Routing durch und fügen Tags an die Pakete. Tag-Switches im Netzkern leiten die markierten Pakete/Zellen im Switching-Verfahren weiter Das Tag-Distribution-Protocol (TDP) verteilt Tag-Informationen zwischen den Tag-Switches und Edge-Routern (auf Basis von Standard-Routing- Protokollen) Prof. W. Burkard Rechnernetze 287 Notizen 287
  • 89. Das Tag-Distribution Protokoll Downstream Tag-Bestimmung Upstream Tag-Bestimmung Tag-Switch erzeugt für jeden Weg seiner Tag-Switch erzeugt für jeden Weg seiner Routing-Tabelle einen Tag und setzt ihn Routing-Tabelle einen Tag und setzt ihn als eingehenden Tag in die TIB als ausgehenden Tag in die TIB Er verteilt diese Zuordnung Er verteilt diese Zuordnung Tag-zu-Route an seine Nachbarn Tag-zu-Route an seine Nachbarn Erhält ein Switch diese Nachricht von Nachbarn nehmen diese Information als einem Switch, der als Folgeknoten einer eingehenden Tag in ihre TIB auf Route in seiner Routing-Tabelle (TIB= Tag Information Base) eingetragen ist, aktualisiert er seine TIB mit dem entsprechenden ausgehenden TDP Tag-Eintrag TDP TDP Tag-Edge- 3 Router 8 6 Tag-Edge-Router Input Output Tag-Switch Input Output ... 3 Input Output 8 ... Input Output 3 6 6 Rechnernetze 8 Prof. W. Burkard 288 Notizen 288
  • 90. Aufbau von VLANs = Loslösung der logischen Netzstruktur von der physikalischen Topologie => Bildung von Subnetzen über physikalische Netzgrenzen hinweg Beispiele: Alle Mitarbeiter einer Abteilung zu einem Subnetz zusammenfassen, obwohl sie über mehrere Gebäude und/oder Standorte verteilt sind Zusammenfassung von Mitarbeitern mit speziellen (Performance-) Anforderungen in ein Subnetz (z.B. Systemadministratoren) Servergruppierung, obwohl sie im Firmenareal verteilt sind Merke: Gründe für die Gruppierung können organisatorischer oder technischer Art sein. Vorteile: mehr Flexibilität: Netzstruktur definiert nicht mehr Unternehmensorganisation vereinfachte Administration: Mausklicks statt „Umstöpseln“ Reduzierte Betriebskosten: Zeitaufwand und Kosten von Netzänderungen sind geringer Reduzierte Broadcast/Multicast-Netzlast und stabilere/sicherere Netze (im Gegensatz zu flachen, geswitchten Netzen) Prof. W. Burkard Rechnernetze 289 Notizen 289
  • 91. Alternativen zum Bau von VLANs Merke: VLAN-Bildung spielt sich auf Layer 2 ab ! Um ein flaches, mit Brücken und Layer-2-Switches gebautes Netz in eine sinnvolle Ansammlung von VLANs zu unterteilen, gibt es im wesentlichen drei Alternativen: 1. Protokoll-orientiertes Gruppieren: Gruppenbildung anhand Informationen aus übergeordneten Protokollen: IP, IPX, Appletalk, DECNet, ... 2. MAC-Adressen-Gruppierung: Die MAC-Adresse eines Gerätes entscheidet über seine VLAN-Zugehörigkeit 3. Port-Gruppierung: ein VLAN ist eine Ansammlung von physikalischen Ports auf einem oder mehreren Switches, d.h. ein Switch-Port wird einem VLAN zugeordnet. Prof. W. Burkard Rechnernetze 290 Notizen 290
  • 92. Beispiel für ein protokoll-basiertes VLAN Prof. W. Burkard Rechnernetze 291 Notizen 291
  • 93. Beispiel für ein MAC-basiertes VLAN Prof. W. Burkard Rechnernetze 292 Notizen 292
  • 94. Beispiel für ein Port-basiertes VLAN Prof. W. Burkard Rechnernetze 293 Notizen 293
  • 95. Stärken und Schwächen der VLAN-Ansätze VLAN-Ansatz Stärken Schwächen Protokoll- erlaubt Aufteilung nach eventuell Performanz-Probleme, da basiert Layer-3-Kriterien es Layer-3-Adressen lesen muß Ein Port kann an mehreren macht eventuell Probleme beim VLANs teilnehmen Einsatz von DHCP MAC-basiert VLAN-Mitgliedschaft wandert rechenintensiv, wenn viele PCs mit einer Maschine => kein an einem Port in mehreren VLANs Konfigurationsbedarf beim eingebunden sind Standortwechsel eines PC VLAN-Mitgliedschaft an PC gebunden, User kann nicht auf anderen PC Port-basiert Einfach zu verstehen und Rekonfiguration erforderlich, managen wenn PC Standort wechselt bei shared-media LANs hinter Ein Port ist immer nur in einem dem Switch-Port werden VLAN ganze Netzwerke gruppiert Prof. W. Burkard Rechnernetze 294 Notizen 294
  • 96. Geschlossene und offene VLANs Geschlossenes VLAN = VLAN, das die Broadcast-Domäne so eingrenzt, daß nur Mitglieder des VLAN vom VLAN-Verkehr berührt sind Beispiel: Definition eines Port-basierten VLANs auf den Ports 5,9 und 13 eines Switchs. Nur die Maschinen hinter diesen drei Ports bekommen den Verkehr dieses VLAN mit. Offenes VLAN = sieht zusätzlichen Datenverkehr, jenseits der VLAN-Definition Beispiel: Tritt immer dann auf, wenn ein einzelner Port für mehr als ein VLAN zuständig ist, z.B. bei MAC-basiertem VLAN und zwei PCs hinter einem Port (weil dort ein Repeater steht...) Fachbegriff „VLAN leaks“ Was ist der größte Nachteil von VLANs ? Netzwerkverwalter kann bei VLANs nicht mehr die physikalische Topologie mit der Funktionsweise des Netzes assoziieren !!! Prof. W. Burkard Rechnernetze 295 Notizen 295
  • 97. Die Transportebene: TCP und UDP Prof. W. Burkard Rechnernetze 296 Notizen 296
  • 98. Von der Anwendung zur Netzkarte... Prof. W. Burkard Rechnernetze 297 Notizen 297
  • 99. Die Transportebene: UDP Das User Datagram Protocol und seine Eigenschaften: verbindungslose Datenübertragung keine Verlässlichkeit, Flusskontrolle, Fehlerbehebung zeichenorientierte Kommunikation mit dem Protokoll der übergeordneten Schichten. (ULP) wird dort eingesetzt, wo die Möglichkeiten von TCP nicht benötigt werden, weil die Anwendung eigene Verfahren einsetzt UDP ist eine einfache Schnittstelle für den Zugang zu IP, dient eigentlich nur als Port-Multiplexer Prof. W. Burkard Rechnernetze 298 Notizen 298
  • 100. UDP: Funktion und Datagram Port y Port x Port z Application layer UDP Transport layer IP Network layer 32 Bit Quell-Port Ziel-Port Paket-Länge Checksumme Daten ... Prof. W. Burkard Rechnernetze 299 Notizen 299
  • 101. Die UDP- PDU Prof. W. Burkard Rechnernetze 300 Notizen 300
  • 102. Die Transportebene: TCP Das Transmission Control Protocol und seine Eigenschaften: Herstellung einer 1-zu-1-Beziehung zwischen den beiden kommunizierenden Prozessen verbindungsorientierte Datenübertragung (Aufbau-Übertragung-Abbau) verlässliche Datenübertragung durch Sequencing und Acknowledge (Bestätigung) zeichenorientierte Kommunikation mit dem übergeordneten Protokoll (ULP) “Push” - Funktion: explizite Pufferleerung getriggert durch ULP Resequencing und Eliminierung von doppelten Segmenten Flusskontrolle mittels “gleitender Fenster” “gracefull close”: Das sanfte Schliessen bestehender Verbindungen Prof. W. Burkard Rechnernetze 301 Notizen 301
  • 103. Die TCP- PDU Prof. W. Burkard Rechnernetze 302 Notizen 302
  • 104. Bestandteile des TCP-Paketes Portnummern von Sender und Empfänger Identifizieren die beiden über das Netz kommunizierenden Prozesse Sequenznummer TCP-Pakete werden Sequenzen genannt und durchnummeriert damit eine geordnete Übertragung gesichert werden kann Bestätigungsnummer bestätigt empfangene Sequenz zusammen mit dem ACK-Flag (siehe Folgefolie) Header-Länge Länge des TCP-Headers in 32-Bit-Worten, somit ein Zeiger auf den Beginn der Daten Flags die 6 Flags können unabhängig voneinander gesetzt werden => nächste Folie Fenstergröße dient der Flußkontrolle, d.h. dient der Geschwindigkeitsregelung des Senders Urgent-Pointer erlaubt die Übertragung von dringenden Daten, siehe auch URG-Flag Prof. W. Burkard Rechnernetze 303 Notizen 303
  • 105. Die Bedeutung der Flags im TCP-Paket Jedes Flag umfaßt nur ein Bit im TCP-Header URG = Urgent Pointer ist gültig: nicht gesetzt ist der Urgent-Pointer irrelevant ACK = Bestätigung einer Sequenz (Acknowledge) PSH = steht für PUSH, also unverzögertes Weiterleiten der Daten zur Anwendung (ULP) RST = Reset, d.h. Rücksetzen der Verbindung SYN = Synchronisiere die Sequenznummer FIN = Sender hat die Datenübertragung abgeschlossen, Empfänger möge schließen Prof. W. Burkard Rechnernetze 304 Notizen 304
  • 106. Ein Beispiel zu TCP (I:Verbindungsaufbau) Ein TCP-Client (WWW-Browser mit Portnr. 37518) im PC „Eva“ baut Verbindung mit dem Web-Server-Prozeß (Port 8080) auf dem Rechner „Zeus“ auf, überträgt im Rahmen einer HTTP-Anforderung einige Daten, erhält (wesntlich mehr) Antwortdaten, und beendet schließlich die Verbindung: Sei D=Empfänger-Port, S= Sender-Port, Syn= SYN-Flag, Ack = ACK-Flag, Seq= Sequenznummer, Len=Länge des Paketes, Fin= FIN-Flag 1. Verbindungsaufbau: (Drei-Wege-Handshake) ===================================================== 1. Eva -> Zeus TCP D= 8080 S=37518 Syn Seq=2948254858 Len=0 2. Zeus -> Eva TCP D= 37518 S=8080 Syn Ack=2948254859 Seq=2789133898 Len=0 Ack=2789133899 Seq=2948254859 Len=0 3. Eva -> Zeus TCP D= 8080 S=37518 Zu 1: aktives Öffnen einer Verbindung durch Meldung der Client-Sequenznummer an den Server Zu 2: passives Öffnen der Verbindung durch den Server, indem er Client dessen Sequenznummer bestätigt und gleichzeitig seine eigene Sequenznummer für diese Verbindung meldet Zu 3: Client antwortet Server mit Bestätigung der Server-Syn-Nachricht durch die inkrementierte Server-Sequenznummer Prof. W. Burkard Rechnernetze 305 Notizen 305
  • 107. Ein Beispiel zu TCP (II: Datenübertragung) Die zweite Phase umfaßt den eigentlichen Austausch der Daten. Sei D=Empfänger-Port, S= Sender-Port, Syn= SYN-Flag, Ack = ACK-Flag, Seq= Sequenznummer, Len=Länge des Paketes, Win= Fenstergröße, Fin= FIN-Flag ======================================= 4. Eva -> Zeus TCP D= 8080 S=37518 Ack=2789133899 Seq=2948254859 Len=288 5. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255147 Seq=2789133899 Len=190 Ack=2789134089 6. Eva -> Zeus TCP D= 8080 S=37518 Seq=2948255147 Len=0 7. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255147 Seq=2789134089 Len=1460 Ack=2789135549 8. Eva -> Zeus TCP D= 8080 S=37518 Seq=2948255147 Len=0 9. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255147 Seq=2789135549 Len=1132 Zu 4: Eva sendet 288 Bytes der Anwendung (Web-Browser) und bestätigt nebenbei nochmal ...3899 Zu 5: Zeus sendet Antwort des Web-Servers (190 Bytes) und bestätigt ...4859+288 = ...5147 Zu 6: Eva sendet lediglich Bestätigung ...3899+190=4089 (keine Datenbytes vom Browser, da Len = 0) Zu 7: Zeus sendet weitere Daten des Web-Servers und bestätigt nach wie vor ... 5147 Zu 8: Eva arbeitet wie im Schritt 6, neuer Ack-Wert ist : ...4089+1460=5549 Zu 9: Zeus sendet weitere Daten des Web-Servers und bestätigt nach wie vor ...5147 ... je nach Datenvolumen geht dieses Spiel noch weiter ... Prof. W. Burkard Rechnernetze 306 Notizen 306
  • 108. Ein Beispiel zu TCP (III: Verbindungsabbau) In der dritten Phase werden Nachrichten ausgetauscht um die Verbindung abzubauen: Sei D=Empfänger-Port, S= Sender-Port, Syn= SYN-Flag, Ack = ACK-Flag, Seq= Sequenznummer, Len=Länge des Paketes, Win= Fenstergröße, Fin= FIN-Flag ================================================================== 10. Zeus -> Eva TCP D= 37518 S=8080 Fin Ack=2948255147 Seq=2789136681 Len=0 Ack=2789136682 Seq=2948255147 Len=0 11. Eva -> Zeus TCP D= 8080 S=37518 12. Eva -> Zeus TCP D= 8080 S=37518 Fin Ack=2789136682 Seq=2948255147 Len=0 13. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255148 Seq=2789136682 Len=0 Zu 10: Server Zeus schließt die Verbindung unter Verwendung des FIN-Flags Zu 11: Client Eva bestätigt korrekten Empfang Zu 12: nun schließt auch Eva die Verbindung Zu 13: ... Und der Server bestätigt Merke: Eine Kommunikation mittels TCP umfaßt somit mindestens 9 Nachrichten: 3 für Verbindungsaufbau, 2 für Datenaustausch und 4 für den Abbau der Verbindung Prof. W. Burkard Rechnernetze 307 Notizen 307
  • 109. HTTP-Anfrage von Client zu Server via TCP Prof. W. Burkard Rechnernetze 308 Notizen 308
  • 110. TCP-Fenster und Flußsteuerung ACK = 2, SND.WND = 8 Rechner A Rechner B Sequenz 2-3 Sequenz 4-6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 SND.WND SND.UNA=Send unacknowledged Win-LIMIT SND.UNA SND.NXT SND.NXT=next Sequence to send Win.LIMIT=last Byte of Send-Window SND.WND=length of send window ( hier = 8 ) Bytes 0+1 sind gesendet UND bestätigt Bytes 2-6 sind gesendet aber noch nicht bestätigt Da Window-Limit bei 10, können nur noch die Bytes 7-10 gesendet werden. Prof. W. Burkard Rechnernetze 309 Notizen 309
  • 111. TCP-Fenster und Flußsteuerung II Rechner A ACK = 7, SND.WND = 6 Rechner B 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 SND.WND SND.UNA=Send unacknowledged SND.NXT=next Sequence to send SND.UNA Win-LIMIT SND.NXT Win.LIMIT=last Byte of Send-Window SND.WND=length of send window ( hier = 8 ) Bytes 0-6 sind gesendet UND bestätigt Es wurden keine Bytes gesendet, die noch nicht bestätigt sind Da Window-Limit=ACK+SND.WND=13, sind noch 7 Bytes ‘drin’ Prof. W. Burkard Rechnernetze 310 Notizen 310
  • 112. Ports und Sockets Ports und Sockets identifizieren Anwendungen und ihre Partner im Internet: Port-Nummer: Identifikation der Anwendung (Schicht 7 OSI-Referenzm.) Socket = IP-Adresse des Rechners + Port-Nummer Ein Paar von Sockets definiert eindeutige eine Ende-zu-Ende-Verbindung Sende-Socket = Quell-IP-Adresse + Quell-Port-Nummer Empfangs-Socket = Ziel-IP-Adresse + Ziel-Port-Nummer Internet-Port-Nummern ( ein kleiner Auszug... ) ==================================== Portnummer Name Beschreibung . 20 FTP-DATA Datenverbindung beim ftp 21 FTP Steuerverbindung beim ftp 23 TELNET remote session application 25 SMTP simple mail transfer protocol Prof. W. Burkard Rechnernetze 311 Notizen 311
  • 113. Sockets im OSI-Modell Prof. W. Burkard Rechnernetze 312 Notizen 312
  • 114. Ports und Sockets (II) Verbindungsaufbau zu einem Zielport an einem anderen Rechner Rechner A Rechner B Rechner C 1 2 Quellport = 401 Zielport = 25 (smtp) Quellport = 402 Zielport = 25 (smtp) Porttabelle Rechner A Porttabelle Rechner C 1. Verbindung: Quelle= 401, Ziel=25 1. Verbindung: Quelle= 25, Ziel=401 2. Verbindung: Quelle= 402, Ziel=25 2. Verbindung: Quelle= 25, Ziel=402 ....... ........ Prof. W. Burkard Rechnernetze 313 Notizen 313
  • 115. Ports und Sockets (III) Unterscheidung von Verbindungen: Rechner A Rechner B Rechner C ?? 3 1 2 Quellport = 401 Zielport = 25 (smtp) Quellport = 401 Zielport = 25 (smtp) Verbindung 1 und 3 Quellport = 402 werden erst eindeutig Zielport = 25 (smtp) durch Hinzunahme der Internet- Adressen der Rechner A und B Prof. W. Burkard Rechnernetze 314 Notizen 314
  • 116. Application Programming Interface (API) für Sockets Zur Programmierung von Anwendungen, die via TCP/IP mit anderen Prozessen kommunizieren braucht man eine Reihe vorgegebener Prozeduren und Funktionen, die man API nennt und die üblicherweise in Form von Bibliotheken dem Programmierer zur Verfügung stehen. Beispiel - Funktionen zur Socket - Programmierung: (alle Beispiele in C) s = socket (PF_INET, SOCK_STREAM, 0) s ist ein Zeiger auf das neu geschaffene Socket für eine TCP-Verbindung bind( s, (sockaddr*) &adr, sizeof(adr) ) setzt Port- und IP-Adresse in das Socket ein und bindet es damit an diese Werte, so daß man danach über das Socket Senden und Empfangen kann listen( s, 5 ) Einrichten einer Warteschlange für das Socket s mit einer Länge von max. 5 Einträgen Prof. W. Burkard Rechnernetze 315 Notizen 315
  • 117. Funktionen zur Socket-Programmierung (unvollständige Übersicht) Prof. W. Burkard Rechnernetze 316 Notizen 316
  • 118. Datenaustausch durch verbindungslose Sockets (programmiert in C) Prof. W. Burkard Rechnernetze 317 Notizen 317
  • 119. verbindungsorientierter Datenaustausch zwischen zwei Programmen Prof. W. Burkard Rechnernetze 318 Notizen 318
  • 120. Abbildung der Interaktionen mit verbindungs- orientierten Sockets auf die TCP-Segmente Prof. W. Burkard Rechnernetze 319 Notizen 319
  • 121. Das Domain-Name-System Ganz am Anfang: Name und IP-Adresse aller Rechner wurden auf jedem Internet-Rechner in einer Datei gespeichert. Probleme: Inkonsistente Dateien, hoher Aktualisierungsaufwand, immer länger werdende Dateien, Chaos !!! Lösung: Hierarchische Namensvergabe und Verantwortlichkeiten und Adressauflösung via Client/Server-System Top-Level-Domains: die “obersten” Adressen im Internet . [root] (wird durch einen Punkt notiert) .GOV .EDU .ARPA .COM .MIL .ORG .DE .NET .FH-PFORZHEIM .UNI-KARLSRUHE Prof. W. Burkard Rechnernetze 320 Notizen 320
  • 122. Nutzung eines Name-Servers telnet hprz7.fh-pforzheim.de 1. Eingabe: Name-Server me-Server 2. Anfrage an Na erk im lokalen Netzw 3. Antw o rt: hprz7.f h-pforzhe hat IP-Nr. im.de 141.47.80 .213 4. Einsetzen von 141.47.80.213 als Zieladresse in den IP-Datagrammen Router 5. Verschicken der IP-Datagramme an lokalen Router ! 6. Router erhält Datagramme und wertet Routing-Tabelle aus Routing Tabelle Zielnetz Nächster Knoten Anschluss 7. 141.47.80.213 wird erreicht via 141.21.4.1 ------------------------------------------------------------------ 156.27.3.5 156.36.1.1 7 8. 141.21.4.1 liegt auf dem 141.47.80.0 141.21.4.1 3 physikalischen Anschluss 3 ... ... 9. Datagramm geht auf Port 3 raus, Ziel: 141.21.4.1 Prof. W. Burkard Rechnernetze 321 Notizen 321
  • 123. Domain Name Resolution Database add Name Cache Server search Response Query Database Query Query Name Name User Resolver Server Response Response add search add search Cache Cache User System Prof. W. Burkard Rechnernetze 322 Notizen 322
  • 124. Komplexes Beispiel zu DNS Prof. W. Burkard Rechnernetze 323 Notizen 323
  • 125. Datentypen in der DNS-Datenbank DNS = verteilte Datenbank, in der DNS-Namensserver hierarchisch auf einander aufbauen. Findet der lokale DNS-Server keinen Eintrag über eine IP-Adresse bzw. Internetnamen wird die Anforderung zum höherliegenden autorisierten DNS-Server gesendet. Antworten werden gecached. DNS bietet zwei Abbildungsdienste: 1. Normale Abbildung von Namen auf IP-Nummern 2. Reverse Abbildung von IP-Adressen auf die alphanumerischen Namen der Rechner Datentypen eines DNS-Servers: A = die IP-Adresse eines Host CNAME = der Name eines Host HINFO = Betriebssystem und weitere Infos zu einem Host MX = identifiziert einen Mail-Austausch für eine Domain NS = der autorisierte Namensserver für die Domain PTR = Zeiger zum reversen Teil des Domain-Adreßraumes SOA = definiert den Start einer Zone Prof. W. Burkard Rechnernetze 324 Notizen 324
  • 126. Beispiel einer DNS-Datenbank ; Hostname to address mappings. Host information. $ORIGIN FH-Pforzheim.DE. @ IN SOA zeus.fh-pforzheim.de. root.zeus.fh-pforzheim.de. ( 200008081 ; Serial YYYYMMDDX 21600 ; Secondary-Refresh alle 6 Stunden 1800 ; Retry 2419200 ; Expire nach 28 Tagen 86400 ) ; Minimum 1 Tag ; ; Name Servers IN NS julius.fh-pforzheim.de. IN NS aligator.fh-pforzheim.DE. IN NS noc.BelWue.DE. fh-pforzheim.de. IN MX 10 julius.fh-pforzheim.de. fh-pforzheim.de. IN MX 15 aligator.fh-pforzheim.de. vw.fh-pforzheim.de. IN MX 10 vwport.fh-pforzheim.de. IN TXT quot;Fachhochschule Pforzheimquot; IN TXT quot;Tiefenbronnerstr. 65quot; IN TXT quot;D-75175 Pforzheim, GERMANYquot; localhost IN A 127.0.0.1 ; WWW-Aliases www IN CNAME wwwhp.fh-pforzheim.de. ww2 IN CNAME wwwhp.fh-pforzheim.de. Prof. W. Burkard Rechnernetze 325 Notizen 325
  • 127. Reverser Teil einer DNS-Datenbank ; Address to hostname mappings. Host information. $ORIGIN 47.141.in-addr.arpa. @ IN SOA julius.fh-pforzheim.de. rootman.julius.fh-pforzheim.de. ( 200008011 ; Serial YYYYMMDDX 21600 ; Refresh 1800 ; Retry 2419200 ; Expire 86400 ) ; Minimum IN NS julius.fh-pforzheim.de. IN NS noc.BelWue.DE. $ORIGIN 10.47.141.in-addr.arpa. ; ------------------------------------------------ 10 IN PTR tennig.FH-Pforzheim.DE. 11 IN PTR fb01assi.FH-Pforzheim.DE. $ORIGIN 12.47.141.in-addr.arpa. ; ------------------------------------------------ 10 IN PTR rbecker.FH-Pforzheim.DE. 12 IN PTR haefner.FH-Pforzheim.DE. $ORIGIN 17.47.141.in-addr.arpa. ; ------------------------------------------------ 51 IN PTR rzhost01.FH-Pforzheim.DE. 52 IN PTR rzhost02.FH-Pforzheim.DE. 53 IN PTR rzhost03.FH-Pforzheim.DE. Prof. W. Burkard Rechnernetze 326 Notizen 326
  • 128. IP-Anwendungsebene telnet = remote login = Benutzerlogin an entferntem System ftp = file transfer prot. = Dateitransfer von Rechner zu R. nntp = network news transfer protocol smtp = simple mail transfer protocol http = hypertext transfer protocol rpc und nfs = remote procedure call und network file system Prof. W. Burkard Rechnernetze 327 Notizen 327
  • 129. file transfer protocol (ftp) Voraussetzungen: Eigener Rechner und Zielsystem sind online am Internet auf dem Zielrechner hat man eine eigene Login-Kennung Grundprinzip: Nach dem Einloggen auf dem Zielsystem kann man: auf dem Zielsystem das Dateisystem einsehen und in Verzeichnissen suchen und wechseln Dateien zwischen eigenem und Zielsystem in beide Richtungen transferieren Der Transfer und alle sonstigen Funktionen (z.B. Verzeichniswechsel) funktionieren nur im Rahmen der gegebenen Zugriffsrechte Sonderform “anonymous ftp”: Login ohne eigene Kennung auf dem Zielsystem durch Eingabe der Kennung “anonymous” oder einfach “ftp” als Passwort wird die eigene e-mail Adresse eingegeben anonyme ftp-Server bilden das Rückrad des Internet-Info-Pools Prof. W. Burkard Rechnernetze 328 Notizen 328
  • 130. anonymous ftp-Server Beispiele: ftp.fh-pforzheim.de unser ftp-Server in Pforzheim ftp.rz.uni-karlsruhe.de umfangreicher Server in Karlsruhe ftp.microsoft.com wichtiger Server für PC-Nutzer typische Verzeichnisstruktur von anonymous FTP-Servern: pub Index incoming bzw. upload comm ls-lR misc doc comp Readme UNIX OS2 SiteInfo MAC DOS Prof. W. Burkard Rechnernetze 329 Notizen 329
  • 131. Email Email ist das elektronische Gegenstück zur Papierpost Merke jedoch: Die Vertraulichkeit einer Email entspricht dem einer Postkarte !!! Aufbau der Email-Adresse im einfachsten Fall: <Benutzerkennung>@<Domainname> Mailing Listen und -Reflektoren dies sind Emailadressen, hinter denen keine reale Person steht alle Email an eine solche Liste wird weitergeschickt, an alle in der Liste eingetragenen Email-Adressen. unmoderierte Listen = Weiterleitung erfolgt automatisch moderierte Listen = Mail geht zunächst an einen Moderator, der filtert,moderiert,zensiert... bevor Emails an den Verteiler gehen Email-Netiquette Wer Emails versendet, sollte die Netiquette kennen !!! Prof. W. Burkard Rechnernetze 330 Notizen 330
  • 132. Aufbau einer Email Prof. W. Burkard Rechnernetze 331 Notizen 331
  • 133. Abkürzungen machen das Tippen leichter Prof. W. Burkard Rechnernetze 332 Notizen 332
  • 134. Smileys Smileys sind eine besondere Form der Abkürzung und drücken Stimmungslage bzw. Zustimmung/Ablehnung des Schreibers aus. Wichtigster Smiley für ironische Textstellen ist ;-) Bild Bedeutung Bild Bedeutung =============================================================== :-) fröhlich :-( traurig (-: fröhlich (Linkshänder) :-C sehr traurig :-> grinsend (:-... eine traurige Nachricht :-)) sehr fröhlich :-| uninteressiert, leicht verärgert ;-) zwinkernd :-|| sehr verärgert :-)=) breites Grinsen :-@ extrem verärgert :-D ich lache schallend :-# zensiert :-o mir steht der mund offen P-) Pirat mit Augenbinde %-) bildschirmgeschädigt 8-) oder :-{) mit Sonnenbrille bzw. Bart Prof. W. Burkard Rechnernetze 333 Notizen 333
  • 135. MIME MIME = Multipurpose Internet Mail Extensions dient zur Unterstützung multimedialer Nachrichtenversendung MIME unterstützt: Audio = Versenden von Sprachnachrichten oder anderen Audio-Daten Image = Übermittlung von Rasterbildern, z.B. gif-Format oder jpeg-Format Message = eine Nachricht, die selbst wieder aus (mehreren) Nachrichten besteht Multipart = Container, der (auch geschachtelt) mehrere Komponenten enthält Text = Formatierter Text, z.B. eine Winword-Datei, Codierung liegt bei Video = Videosequenzen in diversen Formaten, z.B. video/mpeg X = freies Format für eigene Erweiterungen Detaillierte Informationen zu MIME gibt es in der FAQ-Datei: /pub/doc/faq/comp.mail.mime auf dem anonymous-ftp-Server rtf.mit.edu. FAQ = Frequently Asked Questions Prof. W. Burkard Rechnernetze 334 Notizen 334
  • 136. News ‘News’ bezeichnet die elektronischen Diskussionsforen des Internet Email = Text an bekannten Empfänger News = Text an unbekannte (Gruppe von) Empfänger In einer hierarchischen Struktur sind derzeit über 6000 Newsgruppen vorhanden News Hauptkategorien: alt unterschiedliche, oft bizarre Themen, eher nicht technisch bionet Wissenschaftliches für Biologen comp Fachthemen rund um den Computer de deutschsprachige Diskussionsforen aller Art (z.B. de.talk.jokes) misc diverse sonstige Themen rec Freizeit und Unterhaltung sci Wissenschaft und Forschung allgemein soc soziales Leben, Politik, Religion Prof. W. Burkard Rechnernetze 335 Notizen 335
  • 137. WWW: World Wide Web WWW integriert alle bisherigen Internet-Dienste und erweitert diese durch multimediale Komponenten. Der besondere Reiz des WWW: WWW liefert einfach zugängliche , ansprechende, oft multimediale Informationen zu nahezu beliebigen Themen einfache Bedienung über grafische Benutzeroberfläche und Mausklick Angeklickte Dokumente können weltweit verteilt und miteinander verknüpft sein Dokumente können interaktive Komponenten besitzen und direkt mit dem Anwender kommunizieren (z.B. über Eingabefelder oder Schaltflächen) WWW ist in, toll und alle reden davon !! Prof. W. Burkard Rechnernetze 336 Notizen 336
  • 138. WWW: Prinzip Hypertext Hypertext = Texte (und zugehörige Programme) bei denen der Text nicht nur eindimensional am Bildschirm dargestellt wird, sondern bei dem bestimmte (markierte) Stellen in einer zweiten Dimension mit zusätzlicher Funktionalität hinterlegt sind. Startdokument Prof. W. Burkard Rechnernetze 337 Notizen 337
  • 139. URL: Namensangaben im WWW URL = Uniform Ressource Locator eindeutige Adressierung eines Objektes im weltweiten WEB Allgemeiner Aufbau: Protokoll :// Rechnername : Port / Pfad-zu-einem-Objekt optional Beispiel: http :// hprz7 : 80 / data/extern/index.html Prof. W. Burkard Rechnernetze 338 Notizen 338
  • 140. HTML: die Sprache des Web Grundkonzepte alle Elemente einer HTML-Seite sind einfache ASCII-Zeichen Markierungen (tags genannt) kennzeichnen Textstellen, die speziell “behandelt” werden sollen Zur Abgrenzung der Tags vom eigentlichen Text werden diese in spitze Klammern gefasst: <Marke> Textstück aus der Datei </Marke> Aufbau von HTML-Dateien <HTML> Ist eine HTML-Seite vom <HEAD> <TITLE> WWW-Server zum Kopfteil ... abrufenden Clienten </TITLE> </HEAD> gelangt, so wird der <BODY> Rumpfteil HTML-Code vom Browser interpretiert und dargestellt !! </BODY> </HTML> Prof. W. Burkard Rechnernetze 339 Notizen 339
  • 141. Zugriff auf eine Web-Seite Prof. W. Burkard Rechnernetze 340 Notizen 340
  • 142. HTTP: Basismethoden des Client OPTIONS welche Optionen zur URL sind verfügbar GET Bitte um Lieferung der durch die URL benannten Daten HEAD wie GET, aber nur die Header liefern, ohne Daten POST Senden von Daten (stehen im Nachrichtentext) an die URL PUT speichern der Date im Nachrichtentext unter der URL DELETE Löschen der durch URL spezifizierten Daten TRACE Bitte um Rücksendung der Anfrage mit der eigentlichen OK- Antwort des Servers. (Dient zum Check, was erhält der Server) Prof. W. Burkard Rechnernetze 341 Notizen 341
  • 143. Aufbau eines HTTP-Request <Methode> <Ziel-URL> HTTP<Version> <ein oder mehrere sogenannte Header (siehe unten)> <eine Lerrzeile, Zwingend erfoderlich!> <der eigentliche Text der Nachricht, bei Requests oft leer, bei Responses sind dies die HTML-Zeilen der angefragten Datei> Header sind einzelne Zeilen der Form: <Headername> : <Headerwert> Beispiel: HTTP/1.0 200 OK Date: Fri, 11 Apr 2003 16:28:13 GMT Server: Apache/1.1.1 Content-type: text/plain <HTML> <Head> ...... hier folgt der restliche HTML-Code... Prof. W. Burkard Rechnernetze 342 Notizen 342
  • 144. Header Typen 1. Request Header beschreibt die Anforderung genauer Beispiele: Date: From: If-Modified-Since: 2. Response Header beschreibt die Antwort des Servers genauer Beispiele: Location: Server: MIME-Version: 3. Entity-Header beschreibt den Inhalt des Nachrichtentextes genauer Beispiele: Last-modified: Content-length: Content-type: Merke: Der Nachrichtentext wird immer durch eine Leerzeile von den Headern getrennt. Die Antwort des Servers beinhaltet stets auch eine dreistellige Zahl, die den Status der Übertragung, des Serverprozesses und der Ressource benennt Prof. W. Burkard Rechnernetze 343 Notizen 343
  • 145. Einige Statuscodes bei einer HTTP-Antwort 200 OK, Anforderung erfolgreich erledigt 201 OK, neue Ressource erzeugt (bei PUT) 202 Anforderung angenommen, aber noch nicht abgeschlossen 204 OK, aber kein Inhalt wird zurückgegeben 400 Fehlerhafte Anforderung 401 Nicht authorisiert, Anforderung erfordert Anwender-Authorisierung 403 Verboten aus unbekanntem Grund 404 Ressource nicht gefunden 500 interner Serverfehler 501 Nicht implementiert 503 Dienst ist zeitweilig nicht verfügbar Prof. W. Burkard Rechnernetze 344 Notizen 344
  • 146. RPC: Remote Procedure Call eine von SUN Microsystems entwickelte Software publiziert im RFC 1057 RPC ermöglicht den Aufruf von Unterprogrammen über Systemgrenzen hinweg: Der Programmierer ruft eine Subroutine, die auf einem anderen Rechner liegt (und dort abgearbeitet wird!) Aufbau des Calls: rpc ( remote program number, remote prgr. version, remote procedure number ) Das gerufene System kennt folgende, möglichen Antworten: MSG-ACCEPTED mit: ( Success, PROG-unavail, PROG-mismatch, PROC-unavail, GARBAGE) MSG-DENIED , ebenfalls mit einer Reihe genauerer Begründungen. Prof. W. Burkard Rechnernetze 345 Notizen 345
  • 147. NFS: Network File System Ebenfalls eine Entwicklung von Sun Microsystems erlaubt Computern netzwerkweit (internetweit) verteilte Dateisysteme so zu nutzen, als ob sie lokal vorhanden wären publiziert unter RFC 1094 Unabhängig von unteren Protokollschichten, da es auf RPC aufsetzt Erlaubt folgende Funktionen auf den Dateisystemen: Anlegen, Umbenennen, Löschen von Dateien und Verzeichnissen Attribute einer Datei/eines Verzeichnisses lesen Lesen und Schreiben von Dateien Prof. W. Burkard Rechnernetze 346 Notizen 346

×