Download - RN2
221
Notizen
Prof. W. Burkard Rechnernetze 221
Internet, das Netz der Netze
� weltweites Datennetz mit bald1 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
222
Notizen
Prof. W. Burkard Rechnernetze 222
223
Notizen
Prof. W. Burkard Rechnernetze 223
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)
224
Notizen
Prof. W. Burkard Rechnernetze 224
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 !!
225
Notizen
Prof. W. Burkard Rechnernetze 225
226
Notizen
Prof. W. Burkard Rechnernetze 226
Frauenanteil im Netz
227
Notizen
Prof. W. Burkard Rechnernetze 227
228
Notizen
Prof. W. Burkard Rechnernetze 228
229
Notizen
Prof. W. Burkard Rechnernetze 229
230
Notizen
Prof. W. Burkard Rechnernetze 230
Die meistgenutzten Suchhilfen
231
Notizen
Prof. W. Burkard Rechnernetze 231
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 Datenzwischen 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)
232
Notizen
Prof. W. Burkard Rechnernetze 232
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
233
Notizen
Prof. W. Burkard Rechnernetze 233
Serviceproviding in der BRDEin 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)
234
Notizen
Prof. W. Burkard Rechnernetze 234
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)
235
Notizen
Prof. W. Burkard Rechnernetze 235
Ein Beispiel: RFC 821RFC 821 August 1982
Simple Mail Transfer Protocol
TABLE OF CONTENTS
1. INTRODUCTION .................................................. 12. THE SMTP MODEL .............................................. 23. THE SMTP PROCEDURE .................................... 4
3.1. Mail ................................................................. 43.2. Forwarding .................................................... 73.3. Verifying and Expanding .............................. 83.4. Sending and Mailing ................................... 113.5. Opening and Closing .................................. 133.6. Relaying ....................................................... 143.7. Domains ....................................................... 173.8. Changing Roles ........................................... 18
4. THE SMTP SPECIFICATIONS ........................... 194.1. SMTP Commands ........................................ 194.1.1. Command Semantics ............................... 194.1.2. Command Syntax ..................................... 274.2. SMTP Replies .............................................. 344.2.1. Reply Codes by Function Group ............ 354.2.2. Reply Codes in Numeric Order ............... 364.3. Sequencing of Commands and Replies .... 374.4. State Diagrams ............................................ 394.5. Details .......................................................... 414.5.1. Minimum Implementation ........................ 414.5.2. Transparency ............................................ 414.5.3. Sizes .......................................................... 42
Eine vollständige Liste aller RFCsfindet sich online unter:
http://rfc.fh-koeln.de/
236
Notizen
Prof. W. Burkard Rechnernetze 236
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 inresponse 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
237
Notizen
Prof. W. Burkard Rechnernetze 237
Internet und das OSI-Referenzmodell
238
Notizen
Prof. W. Burkard Rechnernetze 238
Die Ebenen der TCP/IP-Suite
Application layer
Transport layer
Network layer
Data link+physical layers
Application layer
Transport layer
Network layer
Data link+physical layers
Network layer
Data link+physical layers
Host A Host B
Router (auch Gateway genannt)
Subnetwork Subnetwork
239
Notizen
Prof. W. Burkard Rechnernetze 239
Die Aufgaben der TCP/IP-Ebenen
Application layer
Transport layer
Network layer
Data link+physical layers = Kommunikation in Teilnetzen, z.B. in LAN’s
wie Ethernet, Token-Ring
= Internetwork Layer, verbindet Teilnetze durcheinen Datagrammdienst ==> IP-Protokoll
= Erstellt eine (verläßliche) Ende-zu-Ende-Verbindungvon Host zu Host.
= Ebene der Internet-Dienste (Anwendungen) wie Datei-transfer, electronic mail, remote terminal access
240
Notizen
Prof. W. Burkard Rechnernetze 240
Protokolle der Internet-Suite
transport layer: TCP UDP
phys. Layer: Ethernet, V.24, ISDN, X.21, IEEE 802
data link layer: CSMA/CD, Token-Passing
network layer: IP, ICMPGateway Protokolle ARP,RARP
application layer: TELNET SMTP FTP TFTP RPC SNMP
NFS
241
Notizen
Prof. W. Burkard Rechnernetze 241
Vordergrund / Hintergrunddienste
242
Notizen
Prof. W. Burkard Rechnernetze 242
Einkapselung der Nutzdaten durch die IP-Protokolle
243
Notizen
Prof. W. Burkard Rechnernetze 243
Die IP-Ebene
� Auf dieser Ebene geht es um das Transportieren vonDatagrammen 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
244
Notizen
Prof. W. Burkard Rechnernetze 244
Der Aufbau des IP-Datagramsversion (4 Bits) headlength (4)
type of service (8)
identifier (16)
flags (3) fragment offset (13)
protocol (8)
header checksum (16)
destination address (32)
options and padding (???)
source address (32)
total length (16)
time to live ttl (8)
d a t a (???)
Version des IP-Protokolls (derzeit 4), Länge des IP-Headers
man kann Pakete z.B. als “dringend” oder “verläßlich” definieren
komplette Länge des IP-Paketes
identifier, flags und offset werden beim Fragmentieren von IP-Paketen benötigt.
ttl = anzahl der “Hops”, die ein Paket noch zu “leben” hat.
übergeordnetes Protokoll (z.B. TCP oder UDP), das die Daten bekommt,
Prüfsumme über den IP-Header
IP-Quelladresse
IP-Zieladresse
padding dient dazu, das IP-Paket auf volle 32 Bit zu “runden”
Die Daten die eigentlich transportiert werden...
245
Notizen
Prof. W. Burkard Rechnernetze 245
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)
246
Notizen
Prof. W. Burkard Rechnernetze 246
Klasseneinteilung der IP-Adressen
247
Notizen
Prof. W. Burkard Rechnernetze 247
Subnetzbildung in IP-NetzenEin Netz der Klasse A bis D kann in Subnetze untergliedert werden:
klassische, d.h. nach aussen sichtbare IP-Adresse
Interne Netzstruktur der IP-Adresse bei Subnetting
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!
Netz-Nr Host-Nr
Netz-Nr Subnetz-Nr Host-Nr
248
Notizen
Prof. W. Burkard Rechnernetze 248
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!!!
249
Notizen
Prof. W. Burkard Rechnernetze 249
Strukturierung durch SubnetzeAufteilung eines Klasse C Netzes in zwei Subnetze 193.174.24.176 und 193.174.24.152
250
Notizen
Prof. W. Burkard Rechnernetze 250
Spezielle IP-Adressen
Ein x steht für „beliebige Belegung“
251
Notizen
Prof. W. Burkard Rechnernetze 251
PING: die Anwendung des ICMP
ICMP = Internet Control Message Protocol, dient zum Testen und zur Meldungvon Fehlern und Statusmitteilungen der IP- , TCP-, und UDP-Protokolle
� ping ist eine IP-Anwendung wie telnet, ftp oder www� mit ping kann man “Verbindungen” testen� ping loopback: verifiziert das Funktionieren der IP-Software� ping <eigene IP-Adresse>: zeigt das Funktionieren der eigenen
Netzwerkadresse� ping <anderes IP-System>: zeigt das Funktionieren des Netzwerkes� ping <Name eines Systems>: zeigt, ob die Namensauflösung tut.
� 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.
252
Notizen
Prof. W. Burkard Rechnernetze 252
Struktur des ICMP-Paketes
ICMP - Paket ist simple Erweiterung des IP-Paketes (grauer Teil)
253
Notizen
Prof. W. Burkard Rechnernetze 253
ICMP-Paket-Typen und Codes
254
Notizen
Prof. W. Burkard Rechnernetze 254
Problem:Wie erfolgt die Zuordnung von IP-Adressen zu Ethernet-Adressen ?
Lösung: ARP und RARP
IP und Ethernet
Präambel Ziel Quelle Typ Daten CRC
Ethernet-Frame:
512 (0200) XEROX PUP
2048 (0800) DOD IP
2054 (0806) ARP32821 (8035) reverse ARP
24579 (6003)DECnet Ph.4
64 Bits 48 48 16 (variabel) 32
255
Notizen
Prof. W. Burkard Rechnernetze 255
Adressauflösung: IP --> Ethernet
Das Address-Resolution-Protocol (ARP)
aus gegebener IP-Adresse wird die Ethernet-Adresse ermittelt
AEin Broadcast an alle:
B
C D
Wem gehört dieseIP-Adresse ?
Request
AB
C D
Mir, und hier ist meine Eth.-Adresse
ReplyNur D antwortet !
256
Notizen
Prof. W. Burkard Rechnernetze 256
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)
Hardware-Adresslänge in Bits, sei n Protokoll-Adresslänge in Bits, sei m(bei Ethernet: 48) (8 Bit) (bei IP 32) (8 Bit)
Operations Code ( bei ARP-Request =1, bei ARP-Reply = 2)) (16 Bits)
Hardware-Adresse des Senders, also n Bit lang
Protokoll-Adresse des Senders, also m Bit lang
Hardware-Adresse des gesuchten Zielsystems, also n Bit lang
Protokoll-Adresse des gesuchten Zielsystems, also m Bit lang
Dieses Feld bleibt beim
ARP-Request frei
257
Notizen
Prof. W. Burkard Rechnernetze 257
Adressauflösung: Ethernet <-> IP
Das Reverse Address-Resolution-Protocol (RARP)
AEin Broadcast an alle:
B
C D
Hier ist meine Ethernet-Adresse !?
Request
ABB
C D
... und hier ist DeineIP - Adresse
Reply
Nur der RARP-Server B antwortet !
258
Notizen
Prof. W. Burkard Rechnernetze 258
Kopplung mit RouternRouter 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/überwachenSicherheitsfunktionen im ULP
259
Notizen
Prof. W. Burkard Rechnernetze 259
IP-Routing
direkte und indirekte Zielrechner
A1A1B1
C1 D1
A2B2
C2 D2
Netzwerk 1 Netzwerk 2
Router R(Gateway)
Systeme B1, C1 und D1 sind direkt erreichbar von A1
Systeme A2 - D2 sind nur indirekt, via Router R, erreichbar.
260
Notizen
Prof. W. Burkard Rechnernetze 260
Paket senden an den Default-Router
Ja
IP-Routing-Algorithmus
Zieladresse prüfen
Paket direkt an Ziel senden
Ziel in derRoutingTabelle
?
Ja Ziel direkterreichbar ?
Nein
Paket senden an den angegebenen Router
Ja
Gibt eseine
Default-Route ?
Nein
Nein
Routingfehler
261
Notizen
Prof. W. Burkard Rechnernetze 261
Minimale Routing-Funktion eines PC
Prüfung, ob die IP-Empfängeradresse (Zielsystem) lokal erreichbar ist
• wenn ja: direkte Zustellung durch Verwendung der zugehörigenHardware-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-Routeweitere Eintragungen beinhalten, die zu einem anderen Router unddamit Netzwerk führen.
Frage: Wie erfolgt die obige Prüfung ? ->Subnetzmaske
262
Notizen
Prof. W. Burkard Rechnernetze 262
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. EinfacheMetrik: Anzahl Hops bis zum Ziel
Next Hop = IP-Adresse des nächstenRouters dieser Route
Route Type = 1=unbekannt 2=ungültige Route 3=direkt verbundenes Netz 4=indirekt erreichbares ZielRouting Protokol = wie wurde diese Route ermitteltRoute Age = Zeit in Sek. seit dem letzten Update/Confirm der RouteRouting Mask = Netzmaske des Ziels, wird mit Adresse des IP-Paketes UND-verknüpft
vor dem Check der DestinationRoute Information = optionaler Zeiger auf eine Routing MIB, die zu einem bestimmten
Routing-Protokoll gehören könnte.
263
Notizen
Prof. W. Burkard Rechnernetze 263
Ein Beispiel zum IP-Routing
264
Notizen
Prof. W. Burkard Rechnernetze 264
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 Routenverlaufwird protokolliert
Zuletzt wird auch noch P erhöhtund zeigt so auf den nächsten Hop
265
Notizen
Prof. W. Burkard Rechnernetze 265
Routing-Protokolle
... Oder: Wie kommt eine Route in einen Router ?
Statisches Routing: Routen werden von einem Netzadministrator von Hand eingetragenDynamisches 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 DIREKTENNachbarn. Diese Updates sind Tupel (Z,D) Z=Zielnetz, D=Distanz in HopsEmpfangende 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 KommunikationsvolumenTriggered Updates = Sende sofort, wenn Topologieänderung erkannt wurde
266
Notizen
Prof. W. Burkard Rechnernetze 266
Link State Routing
... die Alternative zu Distanz-Vektor:Beispiel OSPF (Open Shortest Path First)
Funktionsweise:jeder Router kennt alle anderen Router und daran angeschlossene Netzeein Router schickt Testpakete an direkte Nachbarn und erkennt an den Antworten:
Link zum Nachbar ist OK bzw. nicht OKRouter schickt periodisch Broadcasts mit Link-Status-Informationen, die im Netz alle Routererreichen. 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 zuallen 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.
267
Notizen
Prof. W. Burkard Rechnernetze 267
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
268
Notizen
Prof. W. Burkard Rechnernetze 268
Fragmentierung von IP-Paketen
Kann das physikalische Netz ein IP-Datagramm nicht vollständig transportieren, muß eszerlegt 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 dieOffsets 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 undkönnen weiter fragmentiert werden. Offset und M-Flag zeigen stets den richtigenWert relativ zum ursprünglichen Paket.
269
Notizen
Prof. W. Burkard Rechnernetze 269
Beispiel zur Fragmentierung von IP-Paketen
LAN mit MTU=1500 LAN mit MTU=512 LAN mit MTU=256
270
Notizen
Prof. W. Burkard Rechnernetze 270
Zusammenbau fragmentierter IP-Pakete
... erfolgt immer erst in der Zielmaschine, die am M-Flag und Offsetwert Fragmenteerkennen 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, 6Dabei nehmen wir an, die Fragmente haben unterschiedliche Routengenommen und kommen nun von zwei Routern Z und Y an denZiel-Host
271
Notizen
Prof. W. Burkard Rechnernetze 271
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 machbarBi-Directional NAT = Verbindungsaufbau auch von außen möglichTwice-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
272
Notizen
Prof. W. Burkard Rechnernetze 272
IP - Multicast
Problem: wenn dieselben Daten an mehrere Empfänger zu senden sind, sovervielfacht 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 einmaligesVersenden des IP-Datagrammes an diese Adresse
273
Notizen
Prof. W. Burkard Rechnernetze 273
IGMP: die Basis des IP - Multicast
IGMP = Internet Group Management Protocol
• dient zum „Rundsenden“ von Nachrichten• muß nicht zwingend im IP-Stackimplementiert sein
Unterstützung wird getrennt in:Level 1 = unterstützt Senden, aber nicht Empfangenvon Multicast Paketen. (dient z.B. zum Abfragen von Netzressourcen ohne selbst IGMP zu implementieren)
Level 2 = volle Unterstützung des Multicast, erfordertImplementierung von IGMP
274
Notizen
Prof. W. Burkard Rechnernetze 274
Aufbau der IGMP -PDU
Version: derzeit auf 1,2, oder 3 gesetzt Prüfsumme: umfaßt nur den IGMP-HeaderTyp: 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)
275
Notizen
Prof. W. Burkard Rechnernetze 275
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)
276
Notizen
Prof. W. Burkard Rechnernetze 276
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 durchzwei 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 dasInterface 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ötigteGruppen (für die es im Netz also keinen Prozeß mehr gibt, der Mitglied ist)
277
Notizen
Prof. W. Burkard Rechnernetze 277
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 verwerfenWenn ja:
Paket wird über Multicast-/Broadcast-Funktionen der Sicherungsschicht in dasLAN 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.
278
Notizen
Prof. W. Burkard Rechnernetze 278
Ein Beispiel zu IP-Multicast
258
Notizen
Prof. W. Burkard Rechnernetze 258
Kopplung mit RouternRouter 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/überwachenSicherheitsfunktionen im ULP
259
Notizen
Prof. W. Burkard Rechnernetze 259
IP-Routing
direkte und indirekte Zielrechner
A1A1B1
C1 D1
A2B2
C2 D2
Netzwerk 1 Netzwerk 2
Router R(Gateway)
Systeme B1, C1 und D1 sind direkt erreichbar von A1
Systeme A2 - D2 sind nur indirekt, via Router R, erreichbar.
260
Notizen
Prof. W. Burkard Rechnernetze 260
Paket senden an den Default-Router
Ja
IP-Routing-Algorithmus
Zieladresse prüfen
Paket direkt an Ziel senden
Ziel in derRoutingTabelle
?
Ja Ziel direkterreichbar ?
Nein
Paket senden an den angegebenen Router
Ja
Gibt eseine
Default-Route ?
Nein
Nein
Routingfehler
261
Notizen
Prof. W. Burkard Rechnernetze 261
Minimale Routing-Funktion eines PC
Prüfung, ob die IP-Empfängeradresse (Zielsystem) lokal erreichbar ist
• wenn ja: direkte Zustellung durch Verwendung der zugehörigenHardware-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-Routeweitere Eintragungen beinhalten, die zu einem anderen Router unddamit Netzwerk führen.
Frage: Wie erfolgt die obige Prüfung ? ->Subnetzmaske
262
Notizen
Prof. W. Burkard Rechnernetze 262
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. EinfacheMetrik: Anzahl Hops bis zum Ziel
Next Hop = IP-Adresse des nächstenRouters dieser Route
Route Type = 1=unbekannt 2=ungültige Route 3=direkt verbundenes Netz 4=indirekt erreichbares ZielRouting Protokol = wie wurde diese Route ermitteltRoute Age = Zeit in Sek. seit dem letzten Update/Confirm der RouteRouting Mask = Netzmaske des Ziels, wird mit Adresse des IP-Paketes UND-verknüpft
vor dem Check der DestinationRoute Information = optionaler Zeiger auf eine Routing MIB, die zu einem bestimmten
Routing-Protokoll gehören könnte.
263
Notizen
Prof. W. Burkard Rechnernetze 263
Ein Beispiel zum IP-Routing
264
Notizen
Prof. W. Burkard Rechnernetze 264
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 Routenverlaufwird protokolliert
Zuletzt wird auch noch P erhöhtund zeigt so auf den nächsten Hop
265
Notizen
Prof. W. Burkard Rechnernetze 265
Routing-Protokolle
... Oder: Wie kommt eine Route in einen Router ?
Statisches Routing: Routen werden von einem Netzadministrator von Hand eingetragenDynamisches 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 DIREKTENNachbarn. Diese Updates sind Tupel (Z,D) Z=Zielnetz, D=Distanz in HopsEmpfangende 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 KommunikationsvolumenTriggered Updates = Sende sofort, wenn Topologieänderung erkannt wurde
266
Notizen
Prof. W. Burkard Rechnernetze 266
Link State Routing
... die Alternative zu Distanz-Vektor:Beispiel OSPF (Open Shortest Path First)
Funktionsweise:jeder Router kennt alle anderen Router und daran angeschlossene Netzeein Router schickt Testpakete an direkte Nachbarn und erkennt an den Antworten:
Link zum Nachbar ist OK bzw. nicht OKRouter schickt periodisch Broadcasts mit Link-Status-Informationen, die im Netz alle Routererreichen. 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 zuallen 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.
267
Notizen
Prof. W. Burkard Rechnernetze 267
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
268
Notizen
Prof. W. Burkard Rechnernetze 268
Fragmentierung von IP-Paketen
Kann das physikalische Netz ein IP-Datagramm nicht vollständig transportieren, muß eszerlegt 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 dieOffsets 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 undkönnen weiter fragmentiert werden. Offset und M-Flag zeigen stets den richtigenWert relativ zum ursprünglichen Paket.
269
Notizen
Prof. W. Burkard Rechnernetze 269
Beispiel zur Fragmentierung von IP-Paketen
LAN mit MTU=1500 LAN mit MTU=512 LAN mit MTU=256
270
Notizen
Prof. W. Burkard Rechnernetze 270
Zusammenbau fragmentierter IP-Pakete
... erfolgt immer erst in der Zielmaschine, die am M-Flag und Offsetwert Fragmenteerkennen 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, 6Dabei nehmen wir an, die Fragmente haben unterschiedliche Routengenommen und kommen nun von zwei Routern Z und Y an denZiel-Host
271
Notizen
Prof. W. Burkard Rechnernetze 271
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 machbarBi-Directional NAT = Verbindungsaufbau auch von außen möglichTwice-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
272
Notizen
Prof. W. Burkard Rechnernetze 272
IP - Multicast
Problem: wenn dieselben Daten an mehrere Empfänger zu senden sind, sovervielfacht 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 einmaligesVersenden des IP-Datagrammes an diese Adresse
273
Notizen
Prof. W. Burkard Rechnernetze 273
IGMP: die Basis des IP - Multicast
IGMP = Internet Group Management Protocol
• dient zum „Rundsenden“ von Nachrichten• muß nicht zwingend im IP-Stackimplementiert sein
Unterstützung wird getrennt in:Level 1 = unterstützt Senden, aber nicht Empfangenvon Multicast Paketen. (dient z.B. zum Abfragen von Netzressourcen ohne selbst IGMP zu implementieren)
Level 2 = volle Unterstützung des Multicast, erfordertImplementierung von IGMP
274
Notizen
Prof. W. Burkard Rechnernetze 274
Aufbau der IGMP -PDU
Version: derzeit auf 1,2, oder 3 gesetzt Prüfsumme: umfaßt nur den IGMP-HeaderTyp: 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)
275
Notizen
Prof. W. Burkard Rechnernetze 275
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)
276
Notizen
Prof. W. Burkard Rechnernetze 276
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 durchzwei 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 dasInterface 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ötigteGruppen (für die es im Netz also keinen Prozeß mehr gibt, der Mitglied ist)
277
Notizen
Prof. W. Burkard Rechnernetze 277
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 verwerfenWenn ja:
Paket wird über Multicast-/Broadcast-Funktionen der Sicherungsschicht in dasLAN 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.
278
Notizen
Prof. W. Burkard Rechnernetze 278
Ein Beispiel zu IP-Multicast
279
Notizen
Prof. W. Burkard Rechnernetze 279
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:
Quell-Station Ziel-Station
SwitchingFabric
IP Controller
280
Notizen
Prof. W. Burkard Rechnernetze 280
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-DichteRouting - hohe Sicherheit - geringe Leistung
- hierarchische - hohe KostenNetzarchitektur
281
Notizen
Prof. W. Burkard Rechnernetze 281
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)
282
Notizen
Prof. W. Burkard Rechnernetze 282
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 beschaffenNachteile: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!
283
Notizen
Prof. W. Burkard Rechnernetze 283
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
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 NHRPin allen Netzwerk-Komponenten, Endgeräte eingeschlossen!
Server FK
PC A
PC B
FK
284
Notizen
Prof. W. Burkard Rechnernetze 284
ICMP-Redirect
Nutzung des ICMP-Redirect-Mechanismus um Verkehr vomDefault-Gateway auf Zieladresse umzuleiten:
Station sendet an Default-GatewayGateway sendet ICMP-Redirect, d.h. „es gibt eine bessere Route zum Ziel“Nun versucht die Station über dieses „virtuelle Gateway“ das Ziel zu erreichenReaktion: IP-Switch liefert MAC-Adresse der Zielstation auf der IP-Adressedes virtuellen GatewaysStation glaubt nun, daß Zieladresse direkt erreichbar ist und sendet unterdieser MAC-Adresse alle weiteren Pakete.Ergebnis: Datenstrom wird auf Ebene 2 geswitcht.
Probleme: IP-Adressen der virtuellen Gateways müssen aus einem vorabdefinierten IP-Adreßpool zugewiesen werden: ==> eine bestimmte Anzahlvon IP-Adressen pro Subnetz muß reserviert werden.
Vorteil: keinerlei Konfigurationsänderungen an Endgeräten.
285
Notizen
Prof. W. Burkard Rechnernetze 285
IP-Packet-Switching
Kann wie ICMP-Redirect nicht nur im Netzkern, sondern bis zumEndgerä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
286
Notizen
Prof. W. Burkard Rechnernetze 286
Label-Switching
Besonders für ISP und Corporate-Networks geeignet
Switches im Netz führen ein Mapping zwischen Layer-3-IP-Adressen zusogenannten 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 überdie Netztopologie auszutauschen
Abhängig davon, wie der Pfad durchs Netz aufgesetzt wird, kennt man:
• IP-Flow-basierte Verfahren: Erkennen längerer IP-Datenströmeund Zuordnung eigener VCI/VPI
• Topologie-basierte Verfahren: Cisco Tag Switching => MPLS (Multiprotokoll-Label-Switching)
287
Notizen
Prof. W. Burkard Rechnernetze 287
Funktionsweise des Tag-Switching
Tag-Edge-Router an Netzwerkgrenzefü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)
288
Notizen
Prof. W. Burkard Rechnernetze 288
Das Tag-Distribution Protokoll
Upstream Tag-Bestimmung
Tag-Switch erzeugt für jeden Weg seiner Routing-Tabelle einen Tag und setzt ihn als ausgehenden Tag in die TIB
Er verteilt diese Zuordnung Tag-zu-Route an seine Nachbarn
Nachbarn nehmen diese Information als eingehenden Tag in ihre TIB auf(TIB= Tag Information Base)
Downstream Tag-Bestimmung
Tag-Switch erzeugt für jeden Weg seiner Routing-Tabelle einen Tag und setzt ihn als eingehenden Tag in die TIB
Er verteilt diese Zuordnung Tag-zu-Route an seine Nachbarn
Erhält ein Switch diese Nachricht von einem Switch, der als Folgeknoten einer Route in seiner Routing-Tabelle eingetragen ist, aktualisiert er seine TIB mit dem entsprechenden ausgehenden Tag-Eintrag
Input Output... 3
Input Output3 6
Input Output6 8
Input Output8 ...
386 Tag-Edge-Router
Tag-Switch
TDPTDP
TDPTag-Edge-
Router
289
Notizen
Prof. W. Burkard Rechnernetze 289
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 sindMerke:
Gründe für die Gruppierung können organisatorischer oder technischer Art sein.Vorteile:
mehr Flexibilität: Netzstruktur definiert nicht mehr Unternehmensorganisationvereinfachte Administration: Mausklicks statt „Umstöpseln“Reduzierte Betriebskosten: Zeitaufwand und Kosten von Netzänderungen sind
geringerReduzierte Broadcast/Multicast-Netzlast und stabilere/sicherere Netze (im Gegensatz zu flachen, geswitchten Netzen)
290
Notizen
Prof. W. Burkard Rechnernetze 290
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 überseine VLAN-Zugehörigkeit
3. Port-Gruppierung: ein VLAN ist eine Ansammlung von physikalischen Ports aufeinem oder mehreren Switches, d.h. ein Switch-Port wird einem VLAN zugeordnet.
291
Notizen
Prof. W. Burkard Rechnernetze 291
Beispiel für ein protokoll-basiertes VLAN
292
Notizen
Prof. W. Burkard Rechnernetze 292
Beispiel für ein MAC-basiertes VLAN
293
Notizen
Prof. W. Burkard Rechnernetze 293
Beispiel für ein Port-basiertes VLAN
294
Notizen
Prof. W. Burkard Rechnernetze 294
Stärken und Schwächen der VLAN-Ansätze
VLAN-Ansatz Stärken Schwächen
Protokoll- erlaubt Aufteilung nach eventuell Performanz-Probleme, dabasiert Layer-3-Kriterien es Layer-3-Adressen lesen muß
Ein Port kann an mehreren macht eventuell Probleme beimVLANs teilnehmen Einsatz von DHCP
MAC-basiert VLAN-Mitgliedschaft wandert rechenintensiv, wenn viele PCsmit einer Maschine => kein an einem Port in mehreren VLANsKonfigurationsbedarf beim eingebunden sindStandortwechsel 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 wechseltbei shared-media LANs hinter Ein Port ist immer nur in einemdem Switch-Port werden VLANganze Netzwerke gruppiert
295
Notizen
Prof. W. Burkard Rechnernetze 295
Geschlossene und offene VLANs
Geschlossenes VLAN =
VLAN, das die Broadcast-Domäne so eingrenzt, daß nur Mitgliederdes VLAN vom VLAN-Verkehr berührt sind
Beispiel: Definition eines Port-basierten VLANs auf den Ports 5,9 und 13eines Switchs. Nur die Maschinen hinter diesen drei Ports bekommenden Verkehr dieses VLAN mit.
Offenes VLAN =sieht zusätzlichen Datenverkehr, jenseits der VLAN-DefinitionBeispiel: Tritt immer dann auf, wenn ein einzelner Port für mehr alsein VLAN zuständig ist, z.B. bei MAC-basiertem VLAN und zwei PCshinter 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 derFunktionsweise des Netzes assoziieren !!!
296
Notizen
Prof. W. Burkard Rechnernetze 296
Die Transportebene: TCP und UDP
297
Notizen
Prof. W. Burkard Rechnernetze 297
Von der Anwendung zur Netzkarte...
298
Notizen
Prof. W. Burkard Rechnernetze 298
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
299
Notizen
Prof. W. Burkard Rechnernetze 299
UDP: Funktion und Datagram
Port x Port zPort y Application layer
Transport layer
IP Network layer
UDP
Quell-Port Ziel-Port
Paket-Länge Checksumme
Daten ...
32 Bit
300
Notizen
Prof. W. Burkard Rechnernetze 300
Die UDP- PDU
301
Notizen
Prof. W. Burkard Rechnernetze 301
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
302
Notizen
Prof. W. Burkard Rechnernetze 302
Die TCP- PDU
303
Notizen
Prof. W. Burkard Rechnernetze 303
Bestandteile des TCP-Paketes
Portnummern von Sender und EmpfängerIdentifizieren die beiden über das Netz kommunizierenden Prozesse
SequenznummerTCP-Pakete werden Sequenzen genannt und durchnummeriert damit eine geordneteÜbertragung gesichert werden kann
Bestätigungsnummerbestätigt empfangene Sequenz zusammen mit dem ACK-Flag (siehe Folgefolie)
Header-LängeLä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ößedient der Flußkontrolle, d.h. dient der Geschwindigkeitsregelung des Senders
Urgent-Pointererlaubt die Übertragung von dringenden Daten, siehe auch URG-Flag
304
Notizen
Prof. W. Burkard Rechnernetze 304
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
305
Notizen
Prof. W. Burkard Rechnernetze 305
Ein Beispiel zu TCP (I:Verbindungsaufbau)
Ein TCP-Client (WWW-Browser mit Portnr. 37518) im PC „Eva“ baut Verbindung mit demWeb-Server-Prozeß (Port 8080) auf dem Rechner „Zeus“ auf, überträgt im Rahmen einerHTTP-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=02. Zeus -> Eva TCP D= 37518 S=8080 Syn Ack=2948254859 Seq=2789133898 Len=03. Eva -> Zeus TCP D= 8080 S=37518 Ack=2789133899 Seq=2948254859 Len=0
Zu 1: aktives Öffnen einer Verbindung durch Meldung der Client-Sequenznummer an den ServerZu 2: passives Öffnen der Verbindung durch den Server, indem er Client dessen Sequenznummer
bestätigt und gleichzeitig seine eigene Sequenznummer für diese Verbindung meldetZu 3: Client antwortet Server mit Bestätigung der Server-Syn-Nachricht durch die inkrementierte
Server-Sequenznummer
306
Notizen
Prof. W. Burkard Rechnernetze 306
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=2885. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255147 Seq=2789133899 Len=1906. Eva -> Zeus TCP D= 8080 S=37518 Ack=2789134089 Seq=2948255147 Len=07. Zeus -> Eva TCP D= 37518 S=8080 Ack=2948255147 Seq=2789134089 Len=1460 8. Eva -> Zeus TCP D= 8080 S=37518 Ack=2789135549 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 ...3899Zu 5: Zeus sendet Antwort des Web-Servers (190 Bytes) und bestätigt ...4859+288 = ...5147Zu 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 ... 5147Zu 8: Eva arbeitet wie im Schritt 6, neuer Ack-Wert ist : ...4089+1460=5549Zu 9: Zeus sendet weitere Daten des Web-Servers und bestätigt nach wie vor ...5147... je nach Datenvolumen geht dieses Spiel noch weiter ...
307
Notizen
Prof. W. Burkard Rechnernetze 307
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=011. Eva -> Zeus TCP D= 8080 S=37518 Ack=2789136682 Seq=2948255147 Len=0 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-FlagsZu 11: Client Eva bestätigt korrekten EmpfangZu 12: nun schließt auch Eva die VerbindungZu 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
308
Notizen
Prof. W. Burkard Rechnernetze 308
HTTP-Anfrage von Client zu Server via TCP
309
Notizen
Prof. W. Burkard Rechnernetze 309
TCP-Fenster und Flußsteuerung
Rechner A Rechner BSequenz 2-3
Sequenz 4-6
0 1 2 3 4 5 6 11 12 13 14 15 16 17 18 19
SN
D.U
NA
SN
D.N
XT
Win
-LIM
IT
7 8 9 10
Bytes 0+1 sind gesendet UND bestätigtBytes 2-6 sind gesendet aber noch nicht bestätigtDa Window-Limit bei 10, können nur noch die Bytes 7-10 gesendet werden.
SND.UNA=Send unacknowledgedSND.NXT=next Sequence to sendWin.LIMIT=last Byte of Send-WindowSND.WND=length of send window
( hier = 8 )
ACK = 2, SND.WND = 8
SND.WND
310
Notizen
Prof. W. Burkard Rechnernetze 310
TCP-Fenster und Flußsteuerung II
Rechner A Rechner B
0 1 2 3 4 5 6 14 15 16 17 18 19S
ND
.UN
A
Win
-LIM
IT
7 8 9 10 11 12 13
Bytes 0-6 sind gesendet UND bestätigtEs wurden keine Bytes gesendet, die noch nicht bestätigt sindDa Window-Limit=ACK+SND.WND=13, sind noch 7 Bytes ‘drin’
SND.UNA=Send unacknowledgedSND.NXT=next Sequence to sendWin.LIMIT=last Byte of Send-WindowSND.WND=length of send window( hier = 8 )
ACK = 7, SND.WND = 6
SN
D.N
XT
SND.WND
311
Notizen
Prof. W. Burkard Rechnernetze 311
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-NummerEmpfangs-Socket = Ziel-IP-Adresse + Ziel-Port-Nummer
Internet-Port-Nummern ( ein kleiner Auszug... )====================================Portnummer Name Beschreibung .20 FTP-DATA Datenverbindung beim ftp21 FTP Steuerverbindung beim ftp23 TELNET remote session application25 SMTP simple mail transfer protocol
312
Notizen
Prof. W. Burkard Rechnernetze 312
Sockets im OSI-Modell
313
Notizen
Prof. W. Burkard Rechnernetze 313
Ports und Sockets (II)
Verbindungsaufbau zu einem Zielport an einem anderen Rechner
Rechner A Rechner CRechner B1
Quellport = 401Zielport = 25 (smtp)
2
Quellport = 402Zielport = 25 (smtp)
Porttabelle Rechner A Porttabelle Rechner C1. Verbindung: Quelle= 401, Ziel=25 1. Verbindung: Quelle= 25, Ziel=4012. Verbindung: Quelle= 402, Ziel=25 2. Verbindung: Quelle= 25, Ziel=402....... ........
314
Notizen
Prof. W. Burkard Rechnernetze 314
Ports und Sockets (III)
Unterscheidung von Verbindungen:
Rechner A Rechner CRechner B
1
Quellport = 401Zielport = 25 (smtp)
2
Quellport = 402Zielport = 25 (smtp)
Quellport = 401Zielport = 25 (smtp)
3 ??
Verbindung 1 und 3werden erst eindeutig
durch Hinzunahme der Internet-Adressen der Rechner A und B
315
Notizen
Prof. W. Burkard Rechnernetze 315
Application Programming Interface (API)für Sockets
Zur Programmierung von Anwendungen, die via TCP/IP mit anderen Prozessen kommunizierenbraucht man eine Reihe vorgegebener Prozeduren und Funktionen, die man API nennt unddie ü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ß mandanach ü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
316
Notizen
Prof. W. Burkard Rechnernetze 316
Funktionen zur Socket-Programmierung(unvollständige Übersicht)
317
Notizen
Prof. W. Burkard Rechnernetze 317
Datenaustausch durch verbindungsloseSockets (programmiert in C)
318
Notizen
Prof. W. Burkard Rechnernetze 318
verbindungsorientierter Datenaustausch zwischen zwei Programmen
319
Notizen
Prof. W. Burkard Rechnernetze 319
Abbildung der Interaktionen mit verbindungs-orientierten Sockets auf die TCP-Segmente
320
Notizen
Prof. W. Burkard Rechnernetze 320
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
321
Notizen
Prof. W. Burkard Rechnernetze 321
Nutzung eines Name-Servers1. Eingabe: telnet hprz7.fh-pforzheim.de
2. Anfrage an Name-Server
im lokalen Netzwerk
Name-Server
3. Antwort: hprz7.fh-pforzheim.dehat IP-Nr. 141.47.80.213
4. Einsetzen von 141.47.80.213 als Zieladresse in den IP-Datagrammen
5. Verschicken der IP-Datagramme an lokalen Router !
6. Router erhält Datagramme und wertet Routing-Tabelle aus
7. 141.47.80.213 wird erreicht via 141.21.4.1
8. 141.21.4.1 liegt auf dem physikalischen Anschluss 3
9. Datagramm geht auf Port 3 raus, Ziel: 141.21.4.1
Routing TabelleZielnetz Nächster Knoten Anschluss
------------------------------------------------------------------156.27.3.5 156.36.1.1 7141.47.80.0 141.21.4.1 3
...
...
Router
322
Notizen
Prof. W. Burkard Rechnernetze 322
Domain Name Resolution
User NameResolver
Query
Response
Cache
add search
NameServer
Cache
add search
Query
Response
Database
NameServerCache
add
search
Database
Query Response
User System
323
Notizen
Prof. W. Burkard Rechnernetze 323
Komplexes Beispiel zu DNS
324
Notizen
Prof. W. Burkard Rechnernetze 324
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. Internetnamenwird die Anforderung zum höherliegenden autorisierten DNS-Server gesendet. Antwortenwerden 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 HostCNAME = der Name eines HostHINFO = Betriebssystem und weitere Infos zu einem HostMX = identifiziert einen Mail-Austausch für eine DomainNS = der autorisierte Namensserver für die DomainPTR = Zeiger zum reversen Teil des Domain-AdreßraumesSOA = definiert den Start einer Zone
325
Notizen
Prof. W. Burkard Rechnernetze 325
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 YYYYMMDDX21600 ; Secondary-Refresh alle 6 Stunden1800 ; Retry2419200 ; Expire nach 28 Tagen86400 ) ; 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 "Fachhochschule Pforzheim"IN TXT "Tiefenbronnerstr. 65"IN TXT "D-75175 Pforzheim, GERMANY"
localhost IN A 127.0.0.1
; WWW-Aliaseswww IN CNAME wwwhp.fh-pforzheim.de.ww2 IN CNAME wwwhp.fh-pforzheim.de.
326
Notizen
Prof. W. Burkard Rechnernetze 326
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 YYYYMMDDX21600 ; Refresh1800 ; Retry2419200 ; Expire86400 ) ; 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.
327
Notizen
Prof. W. Burkard Rechnernetze 327
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
328
Notizen
Prof. W. Burkard Rechnernetze 328
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 eingegebenanonyme ftp-Server bilden das Rückrad des Internet-Info-Pools
329
Notizen
Prof. W. Burkard Rechnernetze 329
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 incoming bzw. upload
commdoc misc
comp
MACUNIX OS2
DOS
Index
ls-lR
Readme
SiteInfo
330
Notizen
Prof. W. Burkard Rechnernetze 330
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 !!!
331
Notizen
Prof. W. Burkard Rechnernetze 331
Aufbau einer Email
332
Notizen
Prof. W. Burkard Rechnernetze 332
Abkürzungen machen das Tippen leichter
333
Notizen
Prof. W. Burkard Rechnernetze 333
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
334
Notizen
Prof. W. Burkard Rechnernetze 334
MIMEMIME = Multipurpose Internet Mail Extensionsdient zur Unterstützung multimedialer Nachrichtenversendung
MIME unterstützt:Audio = Versenden von Sprachnachrichten oder anderen Audio-DatenImage = Übermittlung von Rasterbildern, z.B. gif-Format oder jpeg-FormatMessage = eine Nachricht, die selbst wieder aus (mehreren) Nachrichten bestehtMultipart = Container, der (auch geschachtelt) mehrere Komponenten enthältText = Formatierter Text, z.B. eine Winword-Datei, Codierung liegt beiVideo = Videosequenzen in diversen Formaten, z.B. video/mpegX = 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
335
Notizen
Prof. W. Burkard Rechnernetze 335
News‘News’ bezeichnet die elektronischen Diskussionsforen des InternetEmail = Text an bekannten EmpfängerNews = 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 technischbionet Wissenschaftliches für Biologencomp Fachthemen rund um den Computerde deutschsprachige Diskussionsforen aller Art (z.B. de.talk.jokes)misc diverse sonstige Themenrec Freizeit und Unterhaltungsci Wissenschaft und Forschung allgemeinsoc soziales Leben, Politik, Religion
336
Notizen
Prof. W. Burkard Rechnernetze 336
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 !!
337
Notizen
Prof. W. Burkard Rechnernetze 337
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
338
Notizen
Prof. W. Burkard Rechnernetze 338
URL: Namensangaben im WWW
URL = Uniform Ressource Locatoreindeutige Adressierung eines Objektes im weltweiten WEB
Allgemeiner Aufbau:
Protokoll :// Rechnername : Port / Pfad-zu-einem-Objekt
Beispiel:
http :// hprz7 : 80 / data/extern/index.html
optional
339
Notizen
Prof. W. Burkard Rechnernetze 339
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>
</HTML>
<HEAD><TITLE>
...</TITLE>
</HEAD><BODY>
</BODY>
Kopfteil
Rumpfteil
Ist eine HTML-Seite vomWWW-Server zum
abrufenden Clientengelangt, so wird der
HTML-Code vom Browserinterpretiert und dargestellt !!
340
Notizen
Prof. W. Burkard Rechnernetze 340
Zugriff auf eine Web-Seite
341
Notizen
Prof. W. Burkard Rechnernetze 341
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)
342
Notizen
Prof. W. Burkard Rechnernetze 342
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 OKDate: Fri, 11 Apr 2003 16:28:13 GMTServer: Apache/1.1.1Content-type: text/plain
<HTML><Head> ...... hier folgt der restliche HTML-Code...
343
Notizen
Prof. W. Burkard Rechnernetze 343
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
344
Notizen
Prof. W. Burkard Rechnernetze 344
Einige Statuscodesbei einer HTTP-Antwort
200 OK, Anforderung erfolgreich erledigt201 OK, neue Ressource erzeugt (bei PUT)202 Anforderung angenommen, aber noch nicht abgeschlossen204 OK, aber kein Inhalt wird zurückgegeben
400 Fehlerhafte Anforderung401 Nicht authorisiert, Anforderung erfordert Anwender-Authorisierung403 Verboten aus unbekanntem Grund404 Ressource nicht gefunden
500 interner Serverfehler501 Nicht implementiert503 Dienst ist zeitweilig nicht verfügbar
345
Notizen
Prof. W. Burkard Rechnernetze 345
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.
346
Notizen
Prof. W. Burkard Rechnernetze 346
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