147
221 Notizen Prof. W. Burkard Rechnernetze 221 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

Rn Skript 2

  • Upload
    atze69

  • View
    1.106

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Rn   Skript 2

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

Page 2: Rn   Skript 2

222

Notizen

Prof. W. Burkard Rechnernetze 222

Jonas
Typewriter
Point of Present
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 3: Rn   Skript 2

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)

Page 4: Rn   Skript 2

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 !!

Page 5: Rn   Skript 2

225

Notizen

Prof. W. Burkard Rechnernetze 225

Page 6: Rn   Skript 2

226

Notizen

Prof. W. Burkard Rechnernetze 226

Frauenanteil im Netz

Page 7: Rn   Skript 2

227

Notizen

Prof. W. Burkard Rechnernetze 227

Page 8: Rn   Skript 2

228

Notizen

Prof. W. Burkard Rechnernetze 228

Page 9: Rn   Skript 2

229

Notizen

Prof. W. Burkard Rechnernetze 229

Page 10: Rn   Skript 2

230

Notizen

Prof. W. Burkard Rechnernetze 230

Die meistgenutzten Suchhilfen

Page 11: Rn   Skript 2

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)

Page 12: Rn   Skript 2

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

Page 13: Rn   Skript 2

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)

Page 14: Rn   Skript 2

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)

Page 15: Rn   Skript 2

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/

Page 16: Rn   Skript 2

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

Page 17: Rn   Skript 2

237

Notizen

Prof. W. Burkard Rechnernetze 237

Internet und das OSI-Referenzmodell

Page 18: Rn   Skript 2

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

Page 19: Rn   Skript 2

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

Jonas
Strikeout
braucht man ned wissen
Jonas
Typewriter
zwischen
Jonas
Strikeout
zwischen
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 20: Rn   Skript 2

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

Jonas
Line
Jonas
Typewriter
1. Schicht
Jonas
Line
Jonas
Typewriter
2. Schicht
Jonas
Typewriter
3. Schicht
Jonas
Typewriter
4. Schicht
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 21: Rn   Skript 2

241

Notizen

Prof. W. Burkard Rechnernetze 241

Vordergrund / Hintergrunddienste

Page 22: Rn   Skript 2

242

Notizen

Prof. W. Burkard Rechnernetze 242

Einkapselung der Nutzdaten durch die IP-Protokolle

Page 23: Rn   Skript 2

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

Jonas
Typewriter
Datagramme = Päckchen mit Daten
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 24: Rn   Skript 2

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...

Jonas
Rectangle
Jonas
Typewriter
SEHR WICHTIG!!!
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Jonas
Typewriter
Anzahl Bits
Jonas
Typewriter
1
Jonas
Typewriter
1
Jonas
Typewriter
2
Jonas
Typewriter
2
Jonas
Typewriter
2
Jonas
Typewriter
1
Jonas
Typewriter
1
Jonas
Typewriter
2
Jonas
Typewriter
4
Jonas
Typewriter
4
Jonas
Typewriter
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 "Überalterung" gelöscht Eingabeauffoederung: ping www.google.de tracert www.google.de Ethernet Frame hat zuerst Zieladresse (destination adress)
Page 25: Rn   Skript 2

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)

Jonas
Rectangle
Jonas
Rectangle
Jonas
Rectangle
Jonas
Rectangle
Jonas
Typewriter
0 ... 7 Bits 0 - 127
Jonas
Typewriter
A B C
Jonas
Typewriter
10 ... 6 Bits .... 14 Bits .... 128 - 191
Jonas
Typewriter
Class
Jonas
Typewriter
110 ... 5 Bits .... 8 Bit ...... .... 8 Bit ..... 192 - 231
Jonas
Typewriter
ca. 16 mio. Rechner
Jonas
Typewriter
ca. 16000 Rechner
Jonas
Typewriter
ca. 256 Rechner
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Jonas
Typewriter
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 1111 1111 = 255
Jonas
Rectangle
SEHR WICHTIG FÜR KLAUSUR ZAHLEN IN DUAL ODER DUAL IN ZAHLEN
Page 26: Rn   Skript 2

246

Notizen

Prof. W. Burkard Rechnernetze 246

Klasseneinteilung der IP-Adressen

Jonas
Oval
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 27: Rn   Skript 2

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

Page 28: Rn   Skript 2

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!!!

Page 29: Rn   Skript 2

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

Page 30: Rn   Skript 2

250

Notizen

Prof. W. Burkard Rechnernetze 250

Spezielle IP-Adressen

Ein x steht für „beliebige Belegung“

Page 31: Rn   Skript 2

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.

Jonas
Typewriter
1
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Jonas
Typewriter
2
Jonas
Typewriter
3
Jonas
Underline
Jonas
Typewriter
4
Jonas
Typewriter
5
Page 32: Rn   Skript 2

252

Notizen

Prof. W. Burkard Rechnernetze 252

Struktur des ICMP-Paketes

ICMP - Paket ist simple Erweiterung des IP-Paketes (grauer Teil)

Jonas
Line
Jonas
Line
Jonas
Line
Jonas
Typewriter
Typ
Jonas
Typewriter
weitere Control-Informationen
Jonas
Typewriter
Prüfsumme
Jonas
Typewriter
1 für ICMP 6 für TCP
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Jonas
Typewriter
Code
Page 33: Rn   Skript 2

253

Notizen

Prof. W. Burkard Rechnernetze 253

ICMP-Paket-Typen und Codes

Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 34: Rn   Skript 2

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

Page 35: Rn   Skript 2

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 !

Page 36: Rn   Skript 2

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

Jonas
Typewriter
MAC Adresse des Senders WIRD GESUCHT
Jonas
Typewriter
IP Adresse des Senders IST BEKANNT
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 37: Rn   Skript 2

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 !

Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 38: Rn   Skript 2

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

Page 39: Rn   Skript 2

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.

Jonas
Note
FALL 1 A1 sendet an D1: Schritt 1: A1 baut ein IP-Paket für D1 Schritt 2: A1 prüft ob D1 im eigenen LAN liegt: A1 macht ein bit-weises UND der IP-Adresse von D1 mit der eigenen Subnetzmaske. A1 erhält als Ergebnis die IP-Adresse von Netzwerk 1 => D1 liegt mit A1 im gleichen Netz => D1 ist für A1 direkt erreichbar => A1 braucht die MAC-Adresse von D1 Schritt 3: A1 prüft seinen ARP-Cache: D1 fehlt => ARP-Request Broadcast im Netzwerk 1 gesucht ist die MAC-Adresse von D1, gegeben ist die IP-Adresse von D1. D1 antwortet mit einem ARP-Reply und meldet seine MAC-Adresse an A1. Schritt 4: A1 baut jetzt das Ethernet-Frame: Ziel-MAC = D1-MAC, Quell-MAC = A1-MAC, Typfeld = 0800 (IP-Paket), Ziel-IP = D1-IP, Quell-IP = A1-IP Schritt 5: Sequenzieller Bitstrom verlässt A1 und durchströmt Netzwerk 1 und erreicht, von Switches oder von HUBs gestreut, schlussendlich D1. Schritt 6: D1 nimmt Net-Frame an, weil Ziel-MAC der eigenen MAC entspricht. Schritt 7: D1 zerlegt das Net-Frame (CRC-Pfüfung etc.), entnimmt die Daten aus dem Datenfeld und gibt diese Daten an die IP-Software, weil im Typfeld die Kennung für IP 0800 stand. Schritt 8: IP-Software nimmt IP-Paket entgegen und verarbeitet es. FALL 2 A1 sendet an D2: Schritt 1:
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Page 40: Rn   Skript 2

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

Page 41: Rn   Skript 2

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

Page 42: Rn   Skript 2

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.

Page 43: Rn   Skript 2

263

Notizen

Prof. W. Burkard Rechnernetze 263

Ein Beispiel zum IP-Routing

Page 44: Rn   Skript 2

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

Page 45: Rn   Skript 2

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

Page 46: Rn   Skript 2

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.

Page 47: Rn   Skript 2

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

Page 48: Rn   Skript 2

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.

Page 49: Rn   Skript 2

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

Page 50: Rn   Skript 2

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

Page 51: Rn   Skript 2

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

Page 52: Rn   Skript 2

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

Page 53: Rn   Skript 2

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

Page 54: Rn   Skript 2

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)

Page 55: Rn   Skript 2

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)

Page 56: Rn   Skript 2

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)

Page 57: Rn   Skript 2

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.

Page 58: Rn   Skript 2

278

Notizen

Prof. W. Burkard Rechnernetze 278

Ein Beispiel zu IP-Multicast

Page 59: Rn   Skript 2

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

Page 60: Rn   Skript 2

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.

Page 61: Rn   Skript 2

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

Page 62: Rn   Skript 2

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

Page 63: Rn   Skript 2

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.

Page 64: Rn   Skript 2

263

Notizen

Prof. W. Burkard Rechnernetze 263

Ein Beispiel zum IP-Routing

Page 65: Rn   Skript 2

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

Page 66: Rn   Skript 2

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

Page 67: Rn   Skript 2

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.

Page 68: Rn   Skript 2

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

Page 69: Rn   Skript 2

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.

Page 70: Rn   Skript 2

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

Page 71: Rn   Skript 2

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

Page 72: Rn   Skript 2

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

Page 73: Rn   Skript 2

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

Page 74: Rn   Skript 2

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

Page 75: Rn   Skript 2

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)

Page 76: Rn   Skript 2

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)

Page 77: Rn   Skript 2

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)

Page 78: Rn   Skript 2

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.

Page 79: Rn   Skript 2

278

Notizen

Prof. W. Burkard Rechnernetze 278

Ein Beispiel zu IP-Multicast

Page 80: Rn   Skript 2

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

Page 81: Rn   Skript 2

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

Page 82: Rn   Skript 2

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)

Page 83: Rn   Skript 2

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!

Page 84: Rn   Skript 2

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

Page 85: Rn   Skript 2

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.

Page 86: Rn   Skript 2

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

Page 87: Rn   Skript 2

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)

Page 88: Rn   Skript 2

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)

Page 89: Rn   Skript 2

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

Page 90: Rn   Skript 2

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)

Page 91: Rn   Skript 2

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.

Page 92: Rn   Skript 2

291

Notizen

Prof. W. Burkard Rechnernetze 291

Beispiel für ein protokoll-basiertes VLAN

Page 93: Rn   Skript 2

292

Notizen

Prof. W. Burkard Rechnernetze 292

Beispiel für ein MAC-basiertes VLAN

Page 94: Rn   Skript 2

293

Notizen

Prof. W. Burkard Rechnernetze 293

Beispiel für ein Port-basiertes VLAN

Page 95: Rn   Skript 2

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

Page 96: Rn   Skript 2

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 !!!

Page 97: Rn   Skript 2

296

Notizen

Prof. W. Burkard Rechnernetze 296

Die Transportebene: TCP und UDP

Page 98: Rn   Skript 2

297

Notizen

Prof. W. Burkard Rechnernetze 297

Von der Anwendung zur Netzkarte...

Page 99: Rn   Skript 2

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

Page 100: Rn   Skript 2

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

Page 101: Rn   Skript 2

300

Notizen

Prof. W. Burkard Rechnernetze 300

Die UDP- PDU

Page 102: Rn   Skript 2

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

Page 103: Rn   Skript 2

302

Notizen

Prof. W. Burkard Rechnernetze 302

Die TCP- PDU

Page 104: Rn   Skript 2

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

Page 105: Rn   Skript 2

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

Page 106: Rn   Skript 2

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

Page 107: Rn   Skript 2

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 ...

Page 108: Rn   Skript 2

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

Page 109: Rn   Skript 2

308

Notizen

Prof. W. Burkard Rechnernetze 308

HTTP-Anfrage von Client zu Server via TCP

Page 110: Rn   Skript 2

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

Page 111: Rn   Skript 2

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

Page 112: Rn   Skript 2

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

Page 113: Rn   Skript 2

312

Notizen

Prof. W. Burkard Rechnernetze 312

Sockets im OSI-Modell

Page 114: Rn   Skript 2

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....... ........

Page 115: Rn   Skript 2

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

Page 116: Rn   Skript 2

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

Page 117: Rn   Skript 2

316

Notizen

Prof. W. Burkard Rechnernetze 316

Funktionen zur Socket-Programmierung(unvollständige Übersicht)

Page 118: Rn   Skript 2

317

Notizen

Prof. W. Burkard Rechnernetze 317

Datenaustausch durch verbindungsloseSockets (programmiert in C)

Page 119: Rn   Skript 2

318

Notizen

Prof. W. Burkard Rechnernetze 318

verbindungsorientierter Datenaustausch zwischen zwei Programmen

Page 120: Rn   Skript 2

319

Notizen

Prof. W. Burkard Rechnernetze 319

Abbildung der Interaktionen mit verbindungs-orientierten Sockets auf die TCP-Segmente

Page 121: Rn   Skript 2

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

Page 122: Rn   Skript 2

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

Page 123: Rn   Skript 2

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

Page 124: Rn   Skript 2

323

Notizen

Prof. W. Burkard Rechnernetze 323

Komplexes Beispiel zu DNS

Page 125: Rn   Skript 2

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

Page 126: Rn   Skript 2

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.

Page 127: Rn   Skript 2

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.

Page 128: Rn   Skript 2

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

Page 129: Rn   Skript 2

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

Page 130: Rn   Skript 2

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

Page 131: Rn   Skript 2

330

Notizen

Prof. W. Burkard Rechnernetze 330

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 !!!

Page 132: Rn   Skript 2

331

Notizen

Prof. W. Burkard Rechnernetze 331

Aufbau einer Email

Page 133: Rn   Skript 2

332

Notizen

Prof. W. Burkard Rechnernetze 332

Abkürzungen machen das Tippen leichter

Page 134: Rn   Skript 2

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

Page 135: Rn   Skript 2

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

Page 136: Rn   Skript 2

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

Page 137: Rn   Skript 2

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 !!

Page 138: Rn   Skript 2

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

Page 139: Rn   Skript 2

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

Page 140: Rn   Skript 2

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 !!

Page 141: Rn   Skript 2

340

Notizen

Prof. W. Burkard Rechnernetze 340

Zugriff auf eine Web-Seite

Page 142: Rn   Skript 2

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)

Page 143: Rn   Skript 2

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...

Page 144: Rn   Skript 2

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

Page 145: Rn   Skript 2

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

Page 146: Rn   Skript 2

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.

Page 147: Rn   Skript 2

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