Kein Folientitel - Hu

Werbung
Burghard Güther, Christiane Wilke: Internet Charakteristiken
Sommersemester 2000
Seminar „Suchmaschinen – Prinzipien und Algorithmen“,
Peter K. Ibach
Internet-Charakteristiken
Qualitativ
Inhalt:
Internet – Geschichte
Protokolle im Internet (IP, TCP, serielle Protokolle)
IP-Adressierung
DNS
Internet-Organisationen
HTTP
FTP
Topologie
Backbones
Knoten
Internet: Geschichte
- Urprung im ARPANET (1969)
- dezentrale Kommunikationslösung, die auch unter ungünstigsten Umständen
ein Maximum an Funktion gewährleistet
- statt Leistungsorientierte nun Paketorientierte Datenübertragung
Daten werden in Pakete aufgeteilt, jedes Packet enthält Sendeadresse,
Empfangsadresse und Sequenznummer,
Vermitteln der Pakete von speziellen Computern (Routern) in Abhängigkeit
von Verfügbarkeit, Verkehrsbelastung, Übertragungszeit
(jedes Paket kann unterschiedlichen Weg nehmen)
 Verfahren wesentlich fehlertoleranter
-1973 Internetprojekt – Versuch der Vereinigung von verschiedenen
Implementationen paketorientierter Übertragungsmechanismen:
Arpanet, Satelliten-Netzwerk, Funk-Netzwerk und Ethernet über TCP/IP
verbunden (Ur-Internet)
- 1983 Umstellung der Arpanet-Knoten auf TCP/IP
OSI-7-Schichtenmodell (Kommunikationsprotokolle zwischen Computern)
OSI-Schicht 1 –Bitübertragungsschicht (Physical Layer), z.B. RS 232
elektrische und mechanische Parameter der Übertragung
OSI-Schicht 2 – Sicherungsschicht (Data Link Layer)
Aufteilung der Daten in Datenpakete und Fehlerkontrolle
OSI-Schicht 3 – Vermittlungsschicht (Network-Layer), z.B. IP, X.25, IPX
Auswahl der Übertragungswege für Datenpakete
OSI-Schicht 4 – Transportschicht (Transport-Layer), z.B. TCP, UDP, ATP
Vermittlung der Datenformate zwischen Schicht 5 und Schicht 3
OSI-Schicht 5 – Sitzungsschicht (Session-Layer), z.B. DNS, NetBIOS, NetBEUI
Verwaltung verschiedener Sessions
OSI-Schicht 6 – Darstellungsschicht (Presentation-Layer)
Konvertierung interner Darstellungsformate (z.B. ASCII) in Netzwerkdarstellung
OSI-Schicht 7 –Anwendungsschicht (Application-Layer), z.B. Telnet, FTP ...
Dienstprogramme, die über Netzwerk realisiert werden
IP: OSI-Schicht 3 Protokoll
- verschickt Datenpakete zwischen zwei Computern, Transportmechanismen wie
lokale Netze, Weitverkehrsnetze und serielle Übertragungsmethoden werden benutzt
- paketorientiert, verbindungslos, nicht garantiert
Besondere Merkmale:
IP sieht Zerlegung in Unterpakete vor, wenn Paket der ursprünglichen Größe nicht
übertragen werden kann – Pakete können von IP wieder zusammengesetzt werden
Jedes Datenpaket hat ein TTL-Feld (time to life). Dieses gibt an, wie lange ein Paket
im Internet unterwegs sein darf, bis es verworfen wird
Bemerkung:
Flag und Fragment-Offset für
Zerlegung in Unterpakete
Aufbau eines IP-Paketes,
Quelle: Kyas94
TCP: OSI-Schicht 4 Protokoll
- stellt virtuelle Verbindung zwischen zwei Computern im Internet her
- garantierte Übertragung
Funktionsweise:
TCP unterteilt Daten in Pakete
(Standardgröße TCP 536 Bytes + 40 Byte IP-Header = Standardgröße IP 576 Bytes)
jedes Paket trägt Segment-Nummer, Empfangsstation kann Vollständigkeit der
Pakete prüfen und Reihenfolge wiederherstellen
Vollständigkeit wird nur für Gruppen von Paketen (=Fenster) verschickt, bei erneuter
Übertragung muß gesamtes Fenster wiederholt werden
TCP-Port:
Software-Adresse, die bestimmte
Dienstprogramme auf Computer
ansprechen
z.B. 21 ftp, 23 telnet, 79 finger
Aufbau eines TCP-Paketes,
Quelle: Kyas94
Internet-Protokolle für die serielle Leitung
• SLIP (Serial Line Internet Protocol)
einfaches Protokoll für Wählleitungen
Nachteile:
- keine Adreßinformationen austauschbar (IP-Adressen müssen bekannt sein)
- nur ein Protokoll gleichzeitig übertragbar
- keine Fehlerkorrekturmechanismus (zwar über TCP/IP, aber ineffizient)
• PPP (Point to Point Protocol), RFC 1331, Dez. 1993
wesentlich komplexer als SLIP
- Möglichkeit der Zuweisung von Netzwerkadressen
- Unterstützung unterschiedlicher Netzwerkprotokolle (IP, IPX, DECnet...)
- Fehlerkorrektur
IP-Adressierung im Internet (IPv4):
• jeder Teilnehmer im Internet besitzt IP-Adresse, bestehend aus 4 Bytes, z.B. 141.20.20.1
• IP-Adresse ist weltweit einmalig
• theoretisch 4,3 Milliarden Adressen, durch Reservierungen prinzipiell 3,7 Milliarden
• wird unterteilt in Netzidentifikation (net-id) und Benutzeridentifikation (host-id)
•Je nach Klasse (A, B, C) unterscheiden sich jeweils Länge der Teile:
Quelle:
Kyas94
Problem bei IPv4:
Knappheit vor allem bei Klasse B-Adressen, da zugehörige Netzwerke kaum 65024
Hosts ausschöpfte, aber zu viele Netzwerke mit Bedarf größer 254 Hosts
Zwischenlösung: 1993 Classless Interdomain Routing (CIDR)
Zusatzprotokoll auf IP-Routern, die bestimmte Class-B- oder Class-C-Adressen zu
einem Subnetz zu kombinieren.
Besetzung des IPv4 Adreßraumes
Der A-Klasse Adreßraum ist am
dünnsten besiedelt, obwohl dort
am meisten Adressen vorhanden
(16 Millionen Hosts pro Adresse)
Adressen sind vergeben z.B. an:
IANA, Defensive Information
System Agency, Intel, Apple ...
Quelle: c‘t 9/99
Lösung des Problems: IPv6
• Erweiterung von 32 auf 128 Bit
• 8 durch Punkte getrennte 16 Bit-Zahlen
• Aufspaltung in zwei Teile:
- erster Teil austauschbar, dient dem Routing
- zweiter Teil global eindeutige Identifizierung
- Großer Vorteil z.B. für Mobilfunkanwendung: jedes Endgerät
kann sich in beliebigem Netz anmelden
•IPv6 soll IPv4 zwischen 2003 und 2005 ablösen
Domain Name System (DNS):
In den Anfängen des Internet wurde jedem Computer neben seiner Adresse ein
Namen zugeordnet.
Eine Liste mit Namen und zugehörigen Adressen wurde dann regelmäßig an alle
Rechner im Netz verteilt.
1986 enthielt die Namensliste 3600 Namen.
Es wurde klar, dass durch die ständig wachsende Anzahl von Netzteilnehmern
die lokale Adressenverwaltung dem nicht lange gerecht bleiben konnte.
Die Domainnamen mussten hierarchisch strukturiert werden:
[host.subdomain.]...subdomain.top-level-domain
Bsp.: www.informatik.hu-berlin.de/
(Jede subdomain muß innerhalb ihrer domain eindeutig sein.)
Um diese „aufwändigeren“ Internetadressen verwalten zu können, wurde ein
dezentral verteiltes Directory-System benötigt. Es wird von bestimmten Servern
(DNS-Servern) verwaltet.
Das TCP/IP wurde 1986 um das DNS erweitert.
Domain Name System (DNS):
Adressanfragen lokaler Systemen koennen nun vom dezentralen DNS-Server
beantwortet werden.
Wie findet der lokale DNS-Server eine Adresse?
1. der lokale DNS-Server kennt die Adresse, da es sich
um eine Adresse auf dem lokalen Server handelt
2. der lokale DNS-Server kennt die Adresse, da bereits
schon zuvor nach der Adresse gefragt wurde. Der
DNS-Server behält die die gesuchte Adresse eine
gewisse Zeit für spätere Suchanfragen (name caching)
3. der lokale DNS-Server kennt die Adresse noch nicht
und muss sie erst herausfinden
- Zuerst kontaktiert er den root-Server.
- Dieser kennt alle Adressen der jeweiligen Top-Level-Domain-DNS-Server.
Der root-Server kontaktiert dann die jeweilige Top-Level-Domain und erfragt
dort die Adresse des entsprechenden Sub-Domain-DNS-Servers usw.
-Der lokale DNS-Server kontaktiert dann den so ermittelten DNS-Server und
erfährt die Adresse des gesuchten hosts. Diese wird dann auch gecacht.
Domain Name System (DNS)
Domain Name System (DNS)
Top-Level-Domains:
com kommerzielle Einrichtungen
edu Universitäten, Schulen...
gov US-Regierung
mil US-Militär
org nicht-kommerzielle Einrichtungen
net Netzwerk Ressourcen
ISO-Ländercodes (z.B. de für Deutschland)
Stammt noch aus der Zeit, da Internet hauptsächlich von Nordamerika geprägt war
Internet-Organisationen:
• Internet Society ISOC
Internationale Gesellschaft zur Weiterentwicklung des Internets
• Nordamerikanischer Raum: Internet Architecture Board (IAB)
Unterteilt in (Internet Engeneering Task Force) IETF und IRTF
• Internet Assigned Numbers Authority (IANA)
Organisation für Vergabe von IP-Adressen und Top-Level-D.
• Internet Corporation for Assigned Numbers and Names (ICANN).
neue Organisation für Verwaltung und IP-Adressen
• RIPE-NCC (Europa), APNIC (Asien) und ARIN (Nordamerika)
Vergabe von Domains
• National Science Foundation (NSF)
Amerikanisches Gegenstück zum DFN, Backbonebetreiber
• Internet-Standards:
RFC – Request for comment (verwaltet von IAB)
Das HTTP-Protokoll
• einfaches und schnelles Protokoll zum Abrufen von Dateien
• HTTP 0.9
• HTTP 1.0 (1992 - Mai 1996), RFC 1945
kein eigentlicher Standard,da von Servern und Browsern bestimmt,
daher nur beschrieben einem Internet Draft von Tim Berners-Lee, Roy
Fielding und Hendrik Nielsen
• HTTP 1.1 (1997 - Jul 1999), RFC 2616
IETF - Hypertext Transfer Protocol (HTTP) Working Group des W3C
Das HTTP-Protokoll
Ablauf des Protokolls HTTP 0.9:
TCP/IP-Verbindung (Port 80)
Client schickt request der Form:
get document.html?suchbegriff1+suchbegriff2 CRLF
Server antwortet Response: File als ASCII-Stream
Client sollte Antwort so schnell wie möglich lesen, also z.B. nicht auf UserKommandos warten
Fehler werden als normale HTML-Seite versandt; es gibt keinen Weg, einen
gescheiterte Abfrage von einer geglückten zu unterscheiden
Nach der Übertragung wird TCP/IP-Verbindung gekappt
HTTP 1.0:
Nun nicht nur Übertragung der Datei, sondern Header mit zusätzlichen
Informationen verschickt
Möglichkeiten für weitere Optionen (request-fields im header) und Status-Codes
• Inhalts-Codierung (Content-Encoding), z.B. x-gzip, Länge (ContentLenth), Content-Type, z.B. text/plain, text/html, image/gif
• Datum (Date), Datum der letzen Modifikation (Last-Modified),
Verfallsdatum der Datei (Expires), Umleitung (Location)
• Caching-Direktiven (Pragma)
• von wem kommt die Anfrage (From)
• Abfrage des Datums der letzten Aktualisierung (If-Modified-Since)
• Angabe der Software (User-Agent), des Verweislinks (Referer)
• Client kann Request mit Authentifikation senden (Authorization)
• meist als Reaktion auf Server mit unauthorized respond (401) und
Signalisierung des Parameters (WWW-Authenticate)
HTTP 1.0:
Befehle über get hinausgehend:
•head (wie get, aber nur Header des HTTP-Protokolls)
• Senden von Daten (post),
z.B. für Webformulare, Message für Diskussions-Foren, Datenbanken
• genau Interpretation von post vom Server
• zusätzliche Daten im MIME-Format möglich (für post)
HTTP 1.1:
•Neue request-Methoden:
Speichern und Löschen von Files (put,delete,link,unlink)
Frage nach Methoden (options) und debugging (trace)
• Verbindung wird nun nicht nach jeder gesendeten Datei unterbrochen sondern
kann offengehalten werden; mehrer Requests gleichzeitig bearbeitbar
• Immer größeren Dateien Rechnung getragen durch byte-range-operations
(Content-Range) - auch für seitenweises Abrufen von PDF
• Content negotiation - akzeptieren oder präferieren von bestimmten Filetypen
(Accept), Formaten (Accept-encoding), Sprachen (AcceptLanguage) und Zeichensätzen (Charset)
• Bezahlung (Charge-To)
• besserer Cachingsupport (If-None-Match,If-Range, IfUnmodified-Since, Cache-Controle mit Werten wie: no-cache,
no-store, max-age, max-stale, min-fresh, no-transform,
only-if-cached) - nötig wegen zunehmend dynamischen Seiten
• verbesserte Authentifizierung (keine Klartext-Übertragung)
Beispiel für HTTP-Protokoll (1):
tango bguether 27 ( ~ ) > telnet www.rz 80
Trying 141.20.1.45...
Connected to webmania.rz.hu-berlin.de.
Escape character is '^]'.
HEAD /index.html HTTP/1.0
HTTP/1.1 200 OK
Date: Mon, 29 May 2000 11:51:03 GMT
Server: Apache/1.3.12 (Unix) PHP/3.0.15
Last-Modified: Tue, 16 May 2000 14:31:44 GMT
ETag: "3aff5-18b8-39215bd0"
Accept-Ranges: bytes
Content-Length: 6328
Connection: close
Content-Type: text/html
Connection closed by foreign host.
Beispiel für HTTP-Protokoll (2):
tango bguether 31 ( ~ ) > telnet www.rz 80
Trying 141.20.1.45...
Connected to webmania.rz.hu-berlin.de.
Escape character is '^]'.
HEAD /index.html HTTP/1.1
HOST: bla.com
CONNECTION: CLOSE
HTTP/1.1 200 OK
Date: Mon, 29 May 2000 12:28:26 GMT
Server: Apache/1.3.12 (Unix) PHP/3.0.15
Last-Modified: Tue, 16 May 2000 14:31:44 GMT
ETag: "3aff5-18b8-39215bd0"
Accept-Ranges: bytes
Content-Length: 6328
Connection: close
Content-Type: text/html
Connection closed by foreign host.
Beispiel für HTTP-Protokoll (1):
tango bguether 63 ( ~ ) > telnet www.rz 80
Trying 141.20.1.45...
Connected to webmania.rz.hu-berlin.de.
Escape character is '^]'.
HEAD /Newsletter/ HTTP/1.0
HTTP/1.1 301 Moved Permanently
Date: Mon, 29 May 2000 13:20:59 GMT
Server: Apache/1.3.12 (Unix) PHP/3.0.15
Location: http://www.hu-berlin.de/htdig/suche-rzmit.html
Connection: close
Content-Type: text/html; charset=iso-8859-1
Connection closed by foreign host.
FTP - File Transfer Protokoll:
• erster Filetransfer-Mechanismus 1971, um an Servern im M.I.T. implementiert zu
werden (RFC114)
• definiert, um Dateien effizient und zuverlässig zwischen Rechnern zu übertragen und
Daten ferngesteuert speichern zu können (RFC 430, 1973)
• Spezifikation für TCP (RFC 765)
• Standard: RFC 959 Oktober 1985
Merkmale:
•Transparenz für den Anwender
Der User muß keine Kenntnis über das Betriebssytem haben, auf das er per FTP
zugreifen will, es reicht aus, die FTP-Kommandos zu kennen. Der FTP-Server
übernimmt dieUmsetzung der FTP-Befehle in die entsprechenden Kommandos des
Betriebssystems.
• Zuverlässige und effizente Datenübertragung
• Mit FTP können verschiedene Dateitypen übertragen werden
• User FTP und Anonymous-FTP
- bei User-FTP mit Loginnamen und Passwort anmelden: gleiche Zugriffsrechte, wie
direktes einloggen auf Server
- bei Anonymous-FTP meist mit „Anonymous“ und EMailadresse als Passwort
anmelden, Zugriff auf öffentlichen Teil des FTP-Servers – Dateien für alle InternetNutzer
• FTP benötig zwei separate TCP-Verbindungen:
- für Kommandos und Antworten (command channel), Port 21, nach dem Telnet
Protokoll
- für die Daten (data channel), Port und andere Parameter von Daten-Verbindung
festgelegt
- Senden und Empfangen gleichzeitig auf data channel möglich (duplex)
ascii
binary
cd
dir
ls
get
hash
help
lcd
lpwd
mget
pwd
Switch to ascii mode. Ascii mode is the default mode and used for transferring
text files
Switch to binary mode. For transferring binary files like .ZIP files, .Z files and
the like
Change the directory on the remote computer
List the files in the current directory on the remote computer.
Same as 'dir', but shows less information sometimes.
Copy a file from the remote computer to yours
Puts a '#' on the screen for every <number> of bytes transferred. <number> is
1024 in some cases, 2048 in others but is between 1024 and 4096 in most
cases. Check the ftp 'help' function for more info on the number for your
clientprogram.
Gives help on the use of commands within the ftp program
Change the directory on your computer (the 'l' is for local)
Shows the present working directory (pwd) on your computer (the 'l' is for
local). Note: this may not work on all machines. On a Unix machine, try !pwd
if lwpd doesn't work.
Copy multiple files from the remote computer to yours
Shows the present working directory (pwd) on the remote computer
Topologie:
Internet besteht aus vielen Netzwerken unterschiedlicher Größenordnung:
• Computerpool
• Fachbereich Informatik
• Humboldt-Universität zu Berlin
• Netzwerk zwischen Berliner Unis
• DFN-Netzwerk
• Knoten zu anderen Netzwerken (kommerziell)
Daher gibt es keine Abbildung mehr der aktuellen Topologie des Internets,
sondern nur der Teilnetze
Bei den Hauptverbindungen von größeren Netzen spricht man von Backbones:
Backbone:
IAP
Uni Kiel
DFN-Netz B-Win
DESY, DKRZ, TU HH
GKSS, Uni BW, Uni HH
FH HST
Uni HRO
HS HWI
Hamburg
Uni HB
Uni HGW
TUB, HUB, ZIB, WISTA
BBB, MPG, GMD
FH NB
Uni LG
Uni OL
FU B
Uni H
Uni OS
Uni MS
Uni HI
Uni DO
Uni W
Köln
Uni K
Uni Si
Uni BN
RWTH AC
GMD St.Aug
GwD GÖ
Uni HA
Uni Bo
FZ JÜL
Uni MD
Uni PB
Uni D
Berlin
Hannover
TU CLZ
Uni BI
Uni E
Uni DU
Uni FF
Uni P
TU BS
DLR K
Frankfurt
Uni HAL
FH EF
Uni J
BA WE
Uni KS
TU IL
Uni MR
Uni GI
Uni F
Uni BA
TH DA
Uni ER
DWD
TU DD
Uni BT
Uni N
Uni ER
Uni HD
Uni L
TU C
Nürnberg
Uni WÜ
Uni KL
Leipzig
Uni R
KU EI
Karlsru
he
Stuttgart
Uni A
Uni PA
Uni S
München
MPI
LRZ M LRZ M
Uni BW-M
Quelle:
http://www.dfn.de
Kommerzieller
Backbone:
Nacamar
Quelle:
http://www.nacamar.de
Kommerzieller
Backbone:
TCP/IP
Quelle:
http://www.tcpip-gmbh.de/
Europäischer Backbone:
GTS Trans European
Network
(u.a. Ebone)
Quelle:
http://www.gtsgroup.com/
Internationaler
Backbone:
PSINet
Quelle:
http://www.psinet.com/
Notwendig: Datenaustauschknoten für verschiedene Netze
• bis 1995 gesamter innerdeutscher Verkehr über USA geroutet, da
innerdeutsche Provider keine direkten Verbindungen hatten
• Deutscher Commercial Internet Exchange (De-CIX)
• Mehr als 60 Internet Service Provider (ISP) bilden Netzwerk
innerhalb von Räumen des De-CIX und wickeln innerdeutschen
Verkehr ab
• 85% des deutschen, 35% des europäischen Datenverkehrs über
Knoten in Frankfurt
• Internationale Austauschpunkte: z.B. mae-east, mae-west, Linx
London
Zugangstechniken und Preise:
Nacamar
Quelle:
http://www.nacamar.de/
Literatur:
Kyas94: Othmar Kyas, Internet: Zugang, Utilities, Nutzung, Datacom-Verlag, 1994
Ed Krol, The whole internet: User‘s Guide &Catalog, O‘Reilly &Associates, Inc., 1994
c‘t 9/99: Richard Sietmann, Nummernspiele: Ressourcenkonflikte um Namen und
Adressen bleiben ein Politikum, c't 9/99, Heise Verlag, S.180
Netplanet: http://www.netplanet.org/
De-CIX: http://www.eco.de/
Nacamar: http://www.nacamar.de/
GTS: http://www.gtsgroup.com/
DFN: http://www.dfn.de/
W3C: http://www.w3c.org/
Und andere Internet-Sourcen...
Herunterladen