Peter Mandl | Andreas Bakomenko | Johannes Weiß Grundkurs Datenkommunikation
Peter Mandl | Andreas Bakomenko | Johannes Weiß
Grundkurs Datenkommunikation TCP/IP-basierte Kommunikation: Grundlagen, Konzepte und Standards 2., überarbeitete und aktualisierte Auflage Mit 256 Abbildungen und 21 Tabellen STUDIUM
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
abrufbar.
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen.
1. Auflage 2008 2., überarbeitete und aktualisierte Auflage 2010 Alle Rechte vorbehalten © Vieweg +Teubner Verlag |Springer Fachmedien Wiesbaden GmbH 2010 Lektorat: Christel Roß | Maren Mithöfer Vieweg +Teubner Verlag ist eine Marke von Springer Fachmedien. Springer Fachmedien ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.viewegteubner.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: KünkelLopka Medienentwicklung, Heidelberg Druck und buchbinderische Verarbeitung: MercedesDruck, Berlin Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0810-3
ȱ
Vorwort ObwohlȱesȱNetzwerkeȱzurȱDatenkommunikationȱnochȱgarȱnichtȱsoȱlangeȱgibt,ȱsindȱ sieȱheuteȱdieȱBasisȱfürȱvieleȱAnwendungssysteme.ȱImȱZugeȱderȱISO/OSIȬBemühunȬ genȱinȱdenȱ80erȱJahrenȱwurdenȱeinigeȱgrundlegendeȱKonzepteȱfürȱdieȱDatenkomȬ munikationȱerarbeitet.ȱJedochȱwarenȱdieȱzumȱTeilȱsehrȱgutenȱAnsätzeȱinȱmancherȱ HinsichtȱzuȱkomplexȱfürȱeineȱImplementierung.ȱSoȱganzȱnebenbeiȱverbreiteteȱsichȱ seitȱ dieserȱ Pionierzeitȱ dieȱ TCP/IPȬProtokollfamilieȱ immerȱ mehr.ȱ ImplementierunȬ genȱwarenȱschonȱbaldȱaufȱUnixȬSystemenȱverfügbar,ȱundȱdieȱNetzeȱwurdenȱimmerȱ größer.ȱTCP/IPȱundȱdieȱdarüberliegendenȱProtokolleȱstellenȱheuteȱeinenȱStandardȱ dar,ȱohneȱdenȱvieleȱNetzwerkeȱnichtȱfunktionierenȱkönnten.ȱBeispielsweiseȱistȱdasȱ globaleȱInternetȱmitȱseinenȱAnwendungenȱohneȱTCP/IPȱheuteȱnichtȱmehrȱvorstellȬ bar.ȱ Inȱ diesemȱ Buchȱ werdenȱ dieȱ Grundlagen,ȱ wichtigeȱ Konzepteȱ undȱ Standardsȱ TCP/IPȬbasierterȱ Kommunikationȱ anhandȱ konkreterȱ Protokolleȱ vermittelt.ȱ Esȱ sollȱ dazuȱbeitragen,ȱdenȱkomplexenȱSachverhaltȱzuȱstrukturierenȱundȱverständlichȱzuȱ machen.ȱDabeiȱliegtȱderȱSchwerpunktȱvorȱallemȱbeiȱpraktischȱrelevantenȱThemen,ȱ aberȱauchȱdieȱgrundlegendenȱAspekteȱsollenȱerläutertȱwerden.ȱDasȱBuchȱbehandeltȱ insgesamtȱdieȱfolgendenȱachtȱThemenkomplexe:ȱ 1. EinführungȱinȱReferenzmodelleȱundȱProtokolleȱ 2.
TechnischeȱGrundlagenȱvonȱRechnernetzenȱ
3.
AusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ
4.
KonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
5.
KonzepteȱundȱProtokolleȱderȱTransportschichtȱ
6.
AusgewählteȱAnwendungsprotokolleȱ
7.
GrundlagenȱderȱmobilenȱKommunikationȱ
8. EntwicklungȱvonȱKommunikationsanwendungenȱ Kapitelȱ 1ȱ gibtȱ eineȱ grundlegendeȱ Einführungȱ inȱ Referenzmodelleȱ undȱ Protokolle,ȱ wobeiȱaufȱdasȱISO/OSIȬReferenzmodellȱundȱdasȱTCP/IPȬReferenzmodellȱeingeganȬ genȱwird.ȱKapitelȱ2ȱfasstȱwichtigeȱtechnischeȱGrundlagenȱfürȱdasȱVerständnisȱderȱ unterenȱ beidenȱ Schichtenȱ zusammen.ȱ Inȱ Kapitelȱ 3ȱ werdenȱ einigeȱ ausgewählteȱ Netzwerktechnologienȱ undȱ Protokolleȱ ausȱ denȱ unterenȱ Schichtenȱ vorgestellt,ȱ dieȱ heuteȱfürȱdenȱWANȬZugangȱsowieȱimȱLANȱvonȱBedeutungȱsind.ȱ InȱKapitelȱ4ȱundȱ5ȱwirdȱdetailliertȱaufȱdieȱVermittlungsschichtȱundȱdieȱTransportȬ schichtȱeingegangen,ȱwobeiȱvorȱallemȱdieȱwichtigstenȱKommunikationsprotokolleȱ ausȱderȱTCP/IPȬProtokollfamilieȱalsȱBeispieleȱdienen.ȱ
Vȱ
Vorwortȱ InȱKapitelȱ6ȱwirdȱschließlichȱexemplarischȱaufȱeinigeȱAnwendungsprotokolleȱbzw.ȱ Ȭsystemeȱ eingegangen.ȱ Alsȱ Fallbeispieleȱ dienenȱ dasȱ Domainȱ Nameȱ System,ȱ dasȱ WorldȱWideȱWebȱundȱEȬMailsysteme.ȱDiesȱsindȱProtokolleȱundȱSysteme,ȱohneȱdieȱ dasȱ Internetȱundȱ dasȱ WWWȱ heuteȱ kaumȱ mehrȱ vorstellbarȱ wären.ȱ WeiterhinȱwerȬ denȱeinigeȱMultimediaȬProtokolle,ȱdieȱzunehmendȱanȱBedeutungȱgewinnen,ȱdiskuȬ tiert.ȱKapitelȱ7ȱbefasstȱsichȱmitȱdenȱGrundlagenȱvonȱmobilenȱSystemen,ȱdieȱheuteȱ EinzugȱinȱverschiedensteȱAnwendungenȱhalten,ȱundȱKapitelȱ8ȱzeigtȱschließlichȱauf,ȱ wieȱ manȱ Kommunikationsanwendungenȱ aufȱ Basisȱ vonȱ TransportzugriffsschnittȬ stellenȱwieȱSocketsȱprogrammiert.ȱ Inȱ diesemȱ Buchȱ wirdȱ einȱ praxisnaherȱ Ansatzȱ gewählt.ȱ Derȱ Stoffȱ wirdȱ mitȱ vielenȱ Beispielenȱ ausȱ aktuellȱ relevantenȱ Protokollstandardsȱ angereichert.ȱ Fürȱ dasȱ VerȬ ständnisȱ einigerȱ Programmbeispieleȱsindȱ grundlegendeȱ Kenntnisseȱ vonȱProgramȬ miersprachenȱ (C,ȱ C++,ȱ Javaȱ undȱ C#)ȱ nützlich,ȱ jedochȱ könnenȱ dieȱ wesentlichenȱ KonzepteȱauchȱohneȱtiefereȱProgrammierkenntnisseȱverstandenȱwerden.ȱVomȱLeȬ serȱwerdenȱansonstenȱkeineȱweiterenȱGrundkenntnisseȱvorausgesetzt.ȱȱ Derȱ Inhaltȱ desȱ Buchesȱ entstandȱ ausȱ mehrerenȱ Vorlesungenȱ überȱ DatenkommuniȬ kationȱanȱderȱHochschuleȱfürȱangewandteȱWissenschaftenȱ–ȱFHȱMünchen.ȱȱ BedankenȱmöchtenȱwirȱunsȱsehrȱherzlichȱbeiȱunserenȱStudentinnenȱundȱStudenten,ȱ dieȱ unsȱ Feedbackȱ zumȱ Vorlesungsstoffȱ gaben.ȱ Auchȱ denȱ Gutachternȱ dankenȱ wirȱ fürȱ ihreȱ gutenȱ Verbesserungsvorschläge.ȱ Demȱ Verlag,ȱ insbesondereȱ Frauȱ Sybilleȱ Thelen,ȱ dankenȱ wirȱ fürȱ dieȱ großartigeȱUnterstützungȱ imȱ Projektȱ undȱ fürȱ dieȱ sehrȱ konstruktiveȱZusammenarbeit.ȱ Inȱ derȱ vorliegendenȱ 2.ȱ Auflageȱ wurdenȱ textlicheȱ Überarbeitungenȱ sowieȱ einigeȱ Aktualisierungenȱ vorgenommen,ȱ undȱ esȱ wurdenȱ zahlreicheȱ Fehlerȱ behoben.ȱ Derȱ AufbauȱdesȱBuchesȱbliebȱaberȱunverändert.ȱ FragenȱundȱKorrekturvorschlägeȱrichtenȱSieȱbitteȱanȱ[email protected].ȱ FürȱbegleitendeȱInformationenȱzurȱVorlesungȱsieheȱwww.profȬmandl.de.ȱ ȱ München,ȱMärzȱ2010ȱ PeterȱMandl,ȱAndreasȱBakomenko,ȱJohannesȱWeißȱ ȱ
VIȱ
ȱ
Inhaltsverzeichnis 1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ.........................................................ȱ1 1.1ȱȱDasȱISO/OSIȬReferenzmodellȱ.................................................................................ȱ2 1.2ȱȱDasȱTCP/IPȬReferenzmodellȱ...................................................................................ȱ9 1.3ȱȱWeitereȱReferenzmodelleȱ......................................................................................ȱ11 1.4ȱȱKlassischeȱProtokollemechanismenȱ.....................................................................ȱ11 1.5ȱȱÜbungsaufgabenȱ....................................................................................................ȱ13 2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ.............................................................ȱ15 2.1ȱȱBitübertragungsschichtȱ..........................................................................................ȱ15 2.1.1
AufgabenȱundȱEinordnungȱ......................................................................ȱ15
2.1.2
GrundbegriffeȱderȱNachrichtenübertragungȱ.........................................ȱ16
2.1.3
DigitaleȱÜbertragungȱundȱMultiplexierungȱ..........................................ȱ22
2.1.4
QuellenȬ,ȱKanalȬȱundȱLeitungskodierungȱ..............................................ȱ26
2.1.5
DatenübertragungsmedienȱundȱVerkabelungȱ......................................ȱ29
2.2ȱȱSicherungsschichtȱ...................................................................................................ȱ34 2.2.1
AufgabenȱundȱEinordnungȱ......................................................................ȱ34
2.2.2
Topologien..................................................................................................ȱ37
2.2.3
Buszugriffsverfahrenȱ................................................................................ȱ38
2.2.4
Fallbeispiel:ȱCSMAȬProtokolleȱ................................................................ȱ40
2.2.5
ÜberblickȱüberȱkonkreteȱNetzwerktechnologienȱ..................................ȱ43
2.3ȱȱÜbungsaufgabenȱ....................................................................................................ȱ44 3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ..............................ȱ45 3.1ȱȱBitübertragungsschicht:ȱDerȱRSȬ232ȬStandardȱ...................................................ȱ45 3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ........................................ȱ49 3.2.1
HDLCȬProtokollȱ........................................................................................ȱ49
3.2.2
PointȬtoȬPointȬProtocolȱ(PPP)ȱ..................................................................ȱ54
3.2.3
EthernetȱLANȱ.............................................................................................ȱ56
3.2.4
WirelessȱLANȱ(WLAN)ȱ............................................................................ȱ67
ȱ
VIIȱ
Inhaltsverzeichnisȱ 3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ....................................ȱ69 3.3.1
ISDNȱ...........................................................................................................ȱ69
3.3.2
DSLȱ.............................................................................................................ȱ73
3.3.3
PDH,ȱSDHȱundȱSONETȱ...........................................................................ȱ75
3.3.4
ATMȱ............................................................................................................ȱ78
3.4ȱȱÜbungsaufgabenȱ....................................................................................................ȱ83 4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ.................................................ȱ85 4.1ȱȱGrundlagenȱ............................................................................................................ȱ85 4.1.1
Vermittlungsverfahrenȱ............................................................................ȱ86
4.1.2
Wegewahlȱ(Routing)ȱ................................................................................ȱ90
4.1.3
Staukontrolleȱ(CongestionȱControl)ȱ.......................................................ȱ96
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ...................................................ȱ98 4.2.1
Überblickȱ....................................................................................................ȱ98
4.2.2
AufbauȱdesȱInternetsȱ..............................................................................ȱ100
4.2.3
StandardisierungȱimȱInternetȱ................................................................ȱ104
4.2.4
AdressierungȱinȱInternetȬbasiertenȱNetzenȱ.........................................ȱ105
4.2.5
SubnetzeȱundȱderenȱAdressierungȱ.......................................................ȱ110
4.2.6
VLSMȱundȱCIDRȱ.....................................................................................ȱ112
4.2.7
IPȬProtokollȬHeaderȱ...............................................................................ȱ119
4.2.8
IPȬFragmentierungȱundȱȬReassemblierungȱ.........................................ȱ121
4.2.9
RoutingȱimȱInternetȱ................................................................................ȱ124
4.3
SteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ....................................ȱ147
4.3.1
InternetȱControlȱMessageȱProtocolȱ(ICMP)ȱ.........................................ȱ147
4.3.2
ARPȱundȱRARPȱ.......................................................................................ȱ148
4.3.3
NATȱundȱIPȬMasqueradingȱ..................................................................ȱ151
4.3.4
DynamicȱHostȱConfigurationȱProtocolȱ(DHCP)ȱ.................................ȱ154
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ......................................................................ȱ159
VIIIȱ
4.4.1
ZieleȱderȱIPv6ȬEntwicklungȱ..................................................................ȱ159
4.4.2
IPv6ȬAdressstrukturȱundȱȬAdressraumȱ...............................................ȱ160
4.4.3
DerȱIPv6ȬHeaderȱ.....................................................................................ȱ166
4.4.4
Flussmarkenȱ............................................................................................ȱ169
4.4.5
NeighborȱDiscoveryȱ...............................................................................ȱ169
Inhaltsverzeichnisȱ 4.4.6
AutomatischeȱAdresskonfigurationȱ.....................................................ȱ171
4.4.7
AnpassungȱwichtigerȱProtokolleȱanȱIPv6ȱ............................................ȱ172
4.4.8
MigrationaspekteȱundȱabschließendeȱBemerkungenȱ.........................ȱ174
4.5ȱȱVirtualȱPrivateȱNetworksȱ....................................................................................ȱ176 4.6ȱȱÜbungsaufgabenȱ..................................................................................................ȱ177 5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ......................................................ȱ181 5.1ȱȱGrundlagenȱ...........................................................................................................ȱ181 5.1.1
Transportdienste......................................................................................ȱ181
5.1.2
VerbindungsmanagementȱundȱAdressierungȱ.....................................ȱ183
5.1.3
ZuverlässigerȱDatentransferȱ..................................................................ȱ189
5.1.4
Flusskontrolle...........................................................................................ȱ193
5.1.5
Staukontrolleȱ............................................................................................ȱ196
5.1.6
MultiplexierungȱundȱDemultiplexierungȱ............................................ȱ196
5.1.7
Fragmentierung/SegmentierungȱundȱDefragmentierungȱ.................ȱ197
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ...............................................................ȱ197 5.2.1
EinordnungȱundȱAufgabenȱ....................................................................ȱ197
5.2.2
TCPȬHeader..............................................................................................ȱ199
5.2.3
Adressierungȱ............................................................................................ȱ204
5.2.4
Flusskontrolle...........................................................................................ȱ205
5.2.5
Datenübertragungȱ...................................................................................ȱ208
5.2.6
Verbindungsmanagementȱ......................................................................ȱ212
5.2.7
Staukontrolleȱ............................................................................................ȱ217
5.2.8
TimerȬManagementȱ.................................................................................ȱ220
5.2.9
TCPȬZustandsautomatȱ............................................................................ȱ222
5.3ȱȱUserȱDatagramȱProtocolȱ(UDP)ȱ..........................................................................ȱ226 5.3.1
EinordnungȱundȱAufgabenȱ....................................................................ȱ226
5.3.2
UDPȬHeaderȱ.............................................................................................ȱ228
5.3.3
Datenübertragungȱ...................................................................................ȱ229
5.4ȱȱAbschließendeȱBemerkungȱ.................................................................................ȱ230 5.5ȱȱÜbungsaufgabenȱ..................................................................................................ȱ231 6ȱȱAusgewählteȱAnwendungsprotokolleȱ.....................................................................ȱ233 6.1ȱȱÜberblickȱüberȱTCP/UDPȬAnwendungsprotokolleȱ........................................ȱ233
IXȱ
Inhaltsverzeichnisȱ 6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ............................................................................ȱ236 6.2.1
Systemüberblickȱ......................................................................................ȱ236
6.2.2
DNSȬZonenȱundȱderenȱVerwaltungȱ.....................................................ȱ239
6.2.3
Namensauflösungȱ...................................................................................ȱ241
6.2.4
InverseȱAuflösungȱvonȱIPȬAdressenȱ....................................................ȱ245
6.2.5
DNSȬKonfigurationȱ................................................................................ȱ246
6.2.6
DNSȬNachrichtenȱ...................................................................................ȱ251
6.2.7
SicheresȱDNSȱ...........................................................................................ȱ252
6.3ȱȱDasȱWorldȱWideȱWebȱ.........................................................................................ȱ253 6.3.1
Einführungȱ..............................................................................................ȱ253
6.3.2
WebȬServerȱundȱProxyȬCacheȬServerȱ..................................................ȱ255
6.3.3
WebȬBrowserȱ...........................................................................................ȱ257
6.3.4
HTTPȬProtokollȱ.......................................................................................ȱ258
6.3.5
HTTPS,ȱSSLȱundȱTLSȱ..............................................................................ȱ264
6.3.6
AJAXȱ.........................................................................................................ȱ266
6.4ȱȱElectronicȱMailȱ.....................................................................................................ȱ274 6.5ȱȱMultimedialeȱKommunikationsanwendungenȱ...............................................ȱ276 6.5.1
GrundlagenȱundȱAnforderungenȱ.........................................................ȱ276
6.5.2
AudioȬȱundȱVideoȬKompressionȱ..........................................................ȱ279
6.5.3
MultimediaȬProtokolleȱimȱInternetȱ......................................................ȱ281
6.6ȱȱÜbungsaufgabenȱ..................................................................................................ȱ291 7ȱȱGrundlagenȱderȱmobilenȱKommunikationȱ.............................................................ȱ293 7.1
MobilitätsunterstützungȱbeiȱIPv4ȱ.................................................................ȱ294
7.1.1
ProblemeȱderȱMobilitätȱbeiȱIPv4ȱ...........................................................ȱ294
7.1.2
UnterstützungȱderȱMobilitätȱmitȱIPv4ȱ.................................................ȱ295
7.1.3
OptimierungȱderȱMobilitätȱmitȱIPv4ȱ....................................................ȱ302
7.2ȱȱMobilitätsunterstützungȱbeiȱIPv6ȱ......................................................................ȱ307 7.3ȱȱMobilitätsunterstützungȱbeiȱTCPȱ......................................................................ȱ310
ȱ
Xȱ
7.3.1
PerformanceȱEnhancingȱProxyȱ(PEP)ȱ..................................................ȱ311
7.3.2
IndirektesȱTCPȱ........................................................................................ȱ311
7.3.3
SnoopingȱTCPȱ.........................................................................................ȱ313
Inhaltsverzeichnisȱ 7.4ȱȱResümee.................................................................................................................ȱ315 7.5ȱȱÜbungsaufgabenȱ..................................................................................................ȱ315 8ȱȱEntwicklungȱvonȱKommunikationsanwendungenȱ................................................ȱ317 8.1ȱȱKommunikationsformenȱ.....................................................................................ȱ318 8.1.1
SynchroneȱundȱasynchroneȱKommunikationȱ......................................ȱ318
8.1.2
MeldungsȬȱundȱauftragsorientierteȱKommunikationȱ.........................ȱ320
8.1.3
Fehlersemantikenȱ....................................................................................ȱ322
8.2ȱȱEntwicklungȱverteilterȱAnwendungen..............................................................ȱ325 8.2.1
ÜberblickȱüberȱModellierungstechnikenȱ.............................................ȱ325
8.2.2
Fallbeispiel:ȱChatȬAnwendungȱ..............................................................ȱ327
8.3ȱȱProgrammierungȱmitȱSocketsȱ.............................................................................ȱ332 8.3.1
EinführungȱundȱProgrammiermodellȱ..................................................ȱ332
8.3.2
DieȱwichtigstenȱSocketȬFunktionenȱimȱÜberblickȱ..............................ȱ334
8.3.3
SocketȬProgrammierungȱinȱCȱ................................................................ȱ339
8.3.4
JavaȬSocketȬProgrammierungȱ................................................................ȱ345
8.3.5
C#ȬSocketȬProgrammierungȱ..................................................................ȱ352
8.4ȱȱÜbungsaufgabenȱ..................................................................................................ȱ365 9ȱȱSchlussbemerkungȱ......................................................................................................ȱ367 10ȱȱLösungenȱzuȱdenȱÜbungsaufgabenȱ........................................................................ȱ369 10.1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ............................................ȱ369 10.2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ..................................................ȱ370 10.3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ...................ȱ372 10.4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ.......................................ȱ373 10.5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ.............................................ȱ386 10.6ȱȱAusgewählteȱAnwendungsprotokolleȱ............................................................ȱ392 10.7ȱȱGrundlagenȱderȱmobilenȱKommunikationȱ.....................................................ȱ396 10.8ȱȱEntwicklungȱvonȱKommunikationsanwendungenȱ.......................................ȱ398 Literaturhinweiseȱ............................................................................................................ȱ401 Sachwortverzeichnisȱ.......................................................................................................ȱ403 357H
ȱ
XIȱ
ȱ
1 Einführung in Referenzmodelle und Protokolle Kommunikationȱ istȱ derȱ Austauschȱ vonȱ Informationenȱ nachȱ bestimmtenȱ Regeln.ȱ Diesȱ istȱ zwischenȱ Menschenȱ ähnlichȱ wieȱ zwischenȱ Maschinen.ȱ Dieȱ Regelnȱ fasstȱ manȱinȱderȱKommunikationstechnikȱunterȱdemȱBegriffȱProtokollȱzusammen.ȱAuchȱ beimȱTelefonierenȱistȱvonȱdenȱBeteiligtenȱeinȱProtokollȱeinzuhalten,ȱsonstȱfunktioȬ niertȱ dieȱ Kommunikationȱ nicht.ȱ Wennȱ z.B.ȱ beideȱ Teilnehmerȱ gleichzeitigȱ reden,ȱ verstehtȱkeinerȱetwas.ȱÄhnlichȱverhältȱesȱsichȱbeiȱderȱRechnerkommunikation.ȱ Inȱ mehrerenȱ Gremienȱ undȱ Organisationenȱ wurdeȱ inȱ denȱ letztenȱ Jahrzehntenȱ verȬ sucht,ȱ dieȱ komplexeȱ Materieȱ derȱ Telekommunikationȱ undȱ derȱ Datenübertragungȱ inȱModellenȱzuȱformulierenȱundȱzuȱstandardisieren,ȱeinheitlicheȱBegriffeȱeinzufühȬ renȱundȱReferenzmodelleȱfürȱdieȱKommunikationȱzuȱschaffen.ȱEinenȱwesentlichenȱ Beitragȱ leisteteȱ hierzuȱ dieȱ ISOȱ (Internationalȱ Standardizationȱ Organization),ȱ aberȱ auchȱdieȱTCP/IPȬGemeindeȱundȱdieȱITUȬT 1ȱsetzenȱhierȱStandards.ȱ InȱdiesemȱKapitelȱsollȱeineȱEinführungȱinȱdieȱbeidenȱwichtigstenȱModelleȱderȱDaȬ tenkommunikationȱ gegebenȱ werden.ȱ Dasȱ ISO/OSIȬȱ undȱ dasȱ TCP/IPȬReferenzȬ modellȱ werdenȱ erläutert.ȱ Weiterhinȱ werdenȱ Protokollfunktionen,ȱ dieȱ inȱ verschieȬ denenȱEbenenȱzumȱEinsatzȱkommenȱkönnen,ȱaufgezeigt.ȱ Zielsetzung des Kapitels Zielȱ diesesȱ Kapitelsȱ istȱ es,ȱ eineȱ ersteȱ Einführungȱ inȱ dieȱ Problematikȱ derȱ DatenȬ kommunikationȱ zuȱ vermitteln.ȱ Derȱ Studierendeȱ sollȱ grundlegendeȱ Begriffeȱ kenȬ nenlernenȱundȱerläuternȱkönnen.ȱ Wichtige Begriffe ISO/OSIȬReferenzmodell,ȱ PDU,ȱ IDU,ȱ ICI,ȱ SDU,ȱ SAP,ȱ Diensterbringer,ȱ DienstnehȬ mer,ȱ Instanz,ȱ Kommunikationschichten,ȱ TCP/IPȬReferenzmodell,ȱ Bestätigung,ȱ ACK,ȱNACK,ȱFlusssteuerung,ȱStaukontrolle,ȱMultiplexieren.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ITUȬTȱ istȱ derȱ TelekomȬSektorȱ derȱ Internationalȱ Telekommunicationȱ Unionȱ (ITU)ȱ undȱ lösteȱ1993ȱdieȱCCITTȱab.ȱDieȱITUȬTȱdientȱderȱStandardisierungȱimȱTelekomȬUmfeld.ȱ
1
1ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ
1.1 Das ISO/OSI-Referenzmodell Dieȱ gesamteȱ Funktionalität,ȱ dieȱ hinterȱ derȱ Rechnerkommunikationȱ steckt,ȱ istȱ zuȱ komplex,ȱ umȱ ohneȱ weitereȱ Strukturierungȱ verständlichȱ zuȱ sein.ȱ Imȱ Rahmenȱ derȱ Standardisierungsbemühungenȱ derȱ ISOȱ hatȱ manȱ sichȱ daherȱ gemäßȱ demȱ Konzeptȱ derȱ virtuellenȱ Maschinenȱ mehrereȱ Schichtenȱ ausgedacht,ȱ umȱ dieȱ Materieȱ etwasȱ übersichtlicherȱzuȱbeschreiben.ȱ DasȱISO/OSIȬReferenzmodellȱ(kurz:ȱOSIȬModell)ȱteiltȱdieȱgesamteȱFunktionalitätȱinȱ siebenȱSchichtenȱ(sieheȱAbbildungȱ1Ȭ1)ȱein,ȱwobeiȱjedeȱSchicht,ȱderȱdarüberliegenȬ denȱ Schichtȱ Diensteȱ fürȱ dieȱ Kommunikationȱ bereitstellt.ȱ Dieȱ untersteȱ Schichtȱ beȬ schreibtȱdieȱphysikalischenȱEigenschaftenȱderȱKommunikation,ȱundȱdarüberȱliegenȱ Schichten,ȱ dieȱ jeȱ nachȱ Netzwerkȱ teilweiseȱ inȱ Hardwareȱ undȱ teilweiseȱ inȱ Softwareȱ implementiertȱsind.ȱȱ Sender
7
Verarbeitungsschicht
6
Darstellungsschicht
5
Sitzungsschicht
Logische Kommunikation
Verarbeitungsprotokoll Darstellungsprotokoll Sitzungsprotokoll
Empfänger
Verarbeitungsschicht Darstellungsschicht Sitzungsschicht
Transportprotokoll 4
Transportschicht
3
Vermittlungsschicht
Vermittlungsschicht
Vermittlungsschicht
2
Sicherungsschicht
Sicherungsschicht
Sicherungsschicht
1
Bitübertragungsschicht
Bitübertragungsschicht
Bitübertragungsschicht
Endsystem
Transitsystem
Transportschicht
Endsystem
ȱ
Abbildungȱ1Ȭ1:ȱISO/OSIȬReferenzmodellȱ
Inȱ einemȱ Rechnersystem,ȱ dasȱ nachȱ OSIȱ einȱ offenesȱ Systemȱ darstellt,ȱ werdenȱ dieȱ einzelnenȱ Schichtenȱ gemäßȱ denȱ Standardsȱ desȱ Modellsȱ implementiert.ȱ Esȱ istȱ aberȱ nichtȱvorgeschrieben,ȱdassȱalleȱSchichten,ȱundȱinnerhalbȱderȱSchichtenȱalleȱProtoȬ kolle,ȱimplementiertȱseinȱmüssen.ȱDasȱReferenzmodellȱmitȱseinenȱvielenȱProtokolȬ lenȱbeschreibtȱkeineȱImplementierung,ȱsondernȱgibtȱnurȱeineȱSpezifikationȱvor.ȱDieȱ eigentlicheȱKommunikationsanwendung,ȱdieȱinȱeinemȱoderȱmehrerenȱBetriebssysȬ temprozessenȱausgeführtȱwird,ȱgehörtȱnichtȱinȱeineȱSchicht,ȱsondernȱnutztȱnurȱdieȱ DiensteȱdesȱKommunikationssystems.ȱ
2ȱ
1.1ȱȱDasȱISO/OSIȬReferenzmodellȱ Dieȱ Schichtenȱ einerȱ Ebene,ȱ dieȱ inȱ verschiedenenȱ Rechnersystemenȱ (auchȱ offeneȱ Systemeȱgenannt)ȱinstanziertȱwerden,ȱkommunizierenȱhorizontalȱmiteinanderȱüberȱ Protokolle.ȱJedeȱSchichtȱinnerhalbȱeinesȱoffenenȱSystemsȱstelltȱderȱnächstȱhöherenȱ DiensteȱzurȱVerfügung.ȱDasȱKonzeptȱderȱvirtuellenȱMaschineȱfindetȱhierȱinsofernȱ Anwendung,ȱalsȱkeineȱSchichtȱdieȱImplementierungsdetailsȱderȱdarunterliegendenȱ SchichtȱkenntȱundȱeineȱSchichtȱnȱimmerȱnurȱdieȱDiensteȱderȱSchichtȱnȬ1ȱverwendet.ȱ Dasȱ Modellȱ unterscheidetȱ sog.ȱ Endsystemeȱ undȱ Transitsystemeȱ (sieheȱ hierzuȱ AbȬ bildungȱ 1Ȭ1).ȱ Endsystemeȱ implementierenȱ alleȱ Schichtenȱ desȱ Modells,ȱ währendȱ Transitsystemeȱ nurȱ dieȱ Schichtenȱ 1ȱ bisȱ 3ȱ realisierenȱ undȱ alsȱ Verbindungssystemeȱ dienen,ȱdieȱunterschiedlicheȱTeilstreckenȱzwischenȱdenȱEndsystemenȱabdecken.ȱ DieȱeinzelnenȱSchichtenȱhabenȱimȱISO/OSIȬReferenzmodellȱfolgendeȱAufgaben:ȱ – Dieȱ Bitübertragungsschichtȱ(Schichtȱ1)ȱ istȱ dieȱ untersteȱ Schichtȱ undȱ stelltȱ eineȱ physikalischeȱVerbindungȱbereit.ȱHierȱwerdenȱdieȱelektrischenȱundȱmechaȬ nischenȱParameterȱfestgelegt.ȱU.a.ȱwirdȱinȱdieserȱSchichtȱspezifiziert,ȱwelcherȱ elektrischenȱGrößeȱeinȱBitȱmitȱWertȱ0ȱoderȱ1ȱentspricht.ȱHierȱwerdenȱnurȱBitsȱ bzw.ȱBitgruppenȱausgetauscht.ȱ – Dieȱ Sicherungsschichtȱ ȱ (Schichtȱ 2)ȱ sorgtȱ dafür,ȱ dassȱ einȱ Bitstromȱ einerȱ logiȬ schenȱ Nachrichteneinheitȱ zugeordnetȱ ist.ȱ Hierȱ wirdȱ eineȱ Fehlererkennungȱ undȱ Ȭkorrekturȱ fürȱ eineȱ EndeȬzuȬEndeȬBeziehungȱ zwischenȱ zweiȱ EndsysteȬ menȱbzw.ȱTransitsystemenȱunterstützt.ȱ – Dieȱ NetzwerkȬȱ oderȱ Vermittlungsschichtȱ ȱ (Schichtȱ 3)ȱ hatȱ dieȱ Aufgabe,ȱ VerbinȬ dungenȱzwischenȱzweiȱKnotenȱggf.ȱüberȱmehrereȱRechnerknotenȱhinwegȱzuȱ ermöglichen.ȱ Auchȱ dieȱ Sucheȱ nachȱ einemȱ günstigenȱ Pfadȱ zwischenȱ zweiȱ Endsystemenȱwirdȱhierȱdurchgeführtȱ(Wegewahl,ȱRouting).ȱ – Dieȱ Transportschichtȱ(Schichtȱ4)ȱ sorgtȱ fürȱeineȱ EndeȬzuȬEndeȬBeziehungȱ zwiȬ schenȱzweiȱ Kommunikationsprozessenȱundȱ stelltȱ einenȱ Transportdienstȱfürȱ dieȱ höherenȱ Anwendungsschichtenȱ bereit.ȱ Dieȱ Schichtenȱ einsȱ bisȱ vierȱ beȬ zeichnetȱmanȱzusammenȱauchȱalsȱdasȱTransportsystem.ȱ – Dieȱ Sitzungsschichtȱ (Schichtȱ 5)ȱ stelltȱ eineȱ Sitzungȱ (Session)ȱ zwischenȱ zweiȱ KommunikationsprozessenȱherȱundȱregeltȱdenȱDialogablaufȱderȱKommuniȬ kation.ȱ – Dieȱ Darstellungsschichtȱ(Schichtȱ6)ȱ istȱ imȱ Wesentlichenȱ fürȱ dieȱ Bereitstellungȱ einerȱ einheitlichenȱ Transfersyntaxȱ zuständig.ȱ Diesȱ istȱ deshalbȱ wichtig,ȱ daȱ nichtȱalleȱRechnersystemeȱgleichartigeȱDarstellungenȱfürȱDatenȱverwenden.ȱ Mancheȱnutzenȱz.B.ȱdenȱEBCDIC 2ȬȱandereȱdenȱASCII 3ȬCodeȱundȱwiederȱanȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EBCDICȱ(=ȱExtendedȱBinaryȱCodedȱDecimalȱInterchangeȱCode)ȱwirdȱzurȱKodierungȱvonȱ Zeichenȱverwendetȱundȱwirdȱz.B.ȱvonȱMainframesȱgenutzt.ȱ
2
ȱȱ ASCIIȱ(=AmericanȱStandardȱCodeȱforȱInformationȱInterchange)ȱwirdȱzurȱKodierungȱvonȱ ZeichenȱverwendetȱundȱistȱauchȱunterȱderȱBezeichnungȱANSIȱX3.4ȱbekannt.ȱȱ
3
3ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ dereȱ denȱ Unicode 4.ȱ Auchȱ dieȱ ByteȬAnordnungȱ beiȱ derȱ IntegerȬDarstellungȱ (Littleȱ Endianȱ undȱ Bigȱ Endianȱ Format)ȱ kannȱ durchausȱ variieren.ȱ UnterȬ schiedlicheȱlokaleȱSyntaxenȱwerdenȱinȱdieserȱSchichtȱinȱeineȱeinheitliche,ȱfürȱ alleȱRechnersystemeȱverständlicheȱSyntax,ȱdieȱTransfersyntax,ȱübertragen.ȱ – DieȱVerarbeitungsȬȱoderȱAnwendungsschichtȱ(Schichtȱ7)ȱenthältȱschließlichȱProȬ tokolle,ȱdieȱeineȱgewisseȱAnwendungsfunktionalitätȱwieȱFiletransferȱoderȱEȬ Mailȱbereitstellen.ȱDieȱeigentlicheȱAnwendungȱzähltȱnichtȱzuȱdieserȱSchicht.ȱ HierȱsindȱvieleȱverschiedeneȱProtokolleȱangesiedelt.ȱ Fürȱ jedeȱ Schichtȱ gibtȱ esȱ imȱ Modellȱ mehrereȱ Protokollspezifikationenȱ fürȱ unterȬ schiedlicheȱ Protokolle.ȱ Inȱ derȱ Schichtȱ 4ȱ gibtȱ esȱ z.B.ȱ verschiedeneȱ TransportprotoȬ kolleȱmitȱunterschiedlicherȱZuverlässigkeit.ȱȱ Grobȱkannȱmanȱauchȱfesthalten:ȱDieȱSchichtȱ2ȱdientȱderȱVerbindungȱzwischenȱzweiȱ Rechnernȱ (Endsystemenȱ oderȱ Zwischenknoten),ȱ sorgtȱ sichȱ alsoȱ umȱ eineȱ EndeȬzuȬ EndeȬVerbindungȱ zwischenȱ zweiȱ Rechnern.ȱ Dieȱ Schichtȱ 3ȱ unterstütztȱ VerbindunȬ genȱ imȱ Netzwerkȱ (mitȱ Zwischenknoten),ȱ alsoȱ EndeȬzuȬEndeȬVerbindungenȱ zwiȬ schenȱzweiȱRechnernȱ(Endsysteme)ȱüberȱeinȱNetz.ȱDieȱSchichtȱ4ȱkümmertȱsichȱumȱ eineȱEndeȬzuȬEndeȬKommunikationȱzwischenȱzweiȱProzessenȱaufȱeinemȱoderȱunȬ terschiedlichenȱRechnern.ȱ Eineȱ konkreteȱ Protokollkombinationȱ wirdȱ auchȱ alsȱ Protokollstackȱ bezeichnet.ȱ Derȱ Begriffȱ Stackȱ wirdȱ deshalbȱ verwendet,ȱ weilȱ Nachrichtenȱ innerhalbȱ einesȱ EndsysȬ temsȱvonȱderȱhöherenȱzurȱniedrigerenȱSchichtȱübergebenȱwerden,ȱwobeiȱjedesȱMalȱ Steuerinformationȱ ergänztȱ wird.ȱ Dieseȱ Steuerinformationȱ wirdȱ imȱ empfangendenȱ SystemȱinȱSchichtȱ1ȱbeginnendȱnachȱobenȱgereichtȱundȱinȱumgekehrterȱReihenfolgeȱ entfernt.ȱȱ DarüberȱhinausȱsindȱfolgendeȱBegriffeȱausȱdemȱOSIȬModellȱwichtig:ȱ – Anȱ einemȱ Dienstzugangspunktȱ (oderȱ Serviceȱ Accessȱ Point,ȱ SAP)ȱ werdenȱ dieȱ Diensteȱ einerȱ Schichtȱ bereitgestellt.ȱ Einȱ SAPȱ istȱ dabeiȱ eineȱ logischeȱ SchnittȬ stelle,ȱderenȱkonkreteȱRealisierungȱnichtȱvorweggenommenȱwirdȱundȱz.B.ȱinȱ einerȱFunktionsbibliothekȱoderȱinȱeinemȱeigenenȱProzessȱliegenȱkönnte.ȱEinȱ SAPȱwirdȱdurchȱeineȱSAPȬIdȱidentifiziertȱundȱadressiert.ȱ – Einȱ Dienstȱ istȱ eineȱ Sammlungȱ vonȱ Funktionen,ȱ dieȱ eineȱ Schichtȱ anȱ einemȱ SAPȱ bereitstellt.ȱ Einȱ Dienstȱ hatȱ ggf.ȱ mehrereȱ Dienstelemente.ȱ Beispielsweiseȱ verfügtȱ derȱ Dienstȱ connectȱ überȱ dieȱ Dienstelementeȱ connect.request,ȱ conȬ nect.indication,ȱconnect.responseȱundȱconnect.confirmation.ȱ – EinȱDienstnehmerȱnutztȱdieȱDiensteȱeinerȱdarunterliegendenȱSchichtȱüberȱeiȬ nenȱSAP.ȱ – AlsȱDiensterbringerȱ(ServiceȱProvider)ȱbezeichnetȱmanȱeineȱSchicht,ȱdieȱeinenȱ Dienstȱbereitstellt.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ UnicodeȱistȱeinȱhardwareȬȱundȱplattformunabhängigerȱCodeȱzurȱZeichenkodierungȱundȱ wirdȱz.B.ȱinȱderȱSpracheȱJavaȱverwendet.ȱ
4
4ȱ
1.1ȱȱDasȱISO/OSIȬReferenzmodellȱ – Unterȱ einerȱ Instanzȱ verstehtȱ manȱ eineȱ Implementierungȱ einerȱ konkretenȱ Schicht.ȱ Instanzenȱ gleicherȱ Schichtenȱ kommunizierenȱ untereinanderȱ überȱ einȱ gemeinsamesȱ Protokoll.ȱ Dieseȱ Kommunikationȱ bezeichnetȱ manȱ imȱ GeȬ gensatzȱ zurȱ vertikalenȱ Kommunikationȱ aufeinanderȱ folgenderȱ Schichtenȱ auchȱalsȱhorizontaleȱKommunikation.ȱ Dienstnehmer Dienst i = Diensterbringer i+1
Dienstnehmer Dienst i = Diensterbringer i+1 i-IDU
i-IDU i-ICI i-SAP
i-Instanz
i-SDU
i-ICI
Diensterbringer Dienst i i-PDUs i-PCI
i-SDU
i-SAP
i-Instanz
i-SDU
(i-1)-SAP
(i-1)-SAP Diensterbringer Dienst i-1
ȱ Abbildungȱ1Ȭ2:ȱHierarchischeȱDienstestrukturȱ
WeitereȱBegriffeȱausȱdemȱModellȱsindȱPDU,ȱIDU,ȱICI,ȱSDU,ȱPCIȱundȱIDU,ȱdieȱhierȱ nochȱkurzȱerläutertȱundȱinȱAbbildungȱ1Ȭ3ȱveranschaulichtȱwerden:ȱ – Nachrichteneinheiten,ȱ alsoȱ Datenpaketeȱ (sieheȱ Abbildungȱ 1Ȭ2ȱ undȱ Abbildungȱ 1Ȭ3),ȱ dieȱ übertragenȱ werden,ȱ bezeichnetȱ manȱ alsȱ Protocolȱ DataȱUnitsȱ(PDU).ȱȱ – Unterȱ einerȱ IDUȱ (Interfaceȱ Dataȱ Unit)ȱ wirdȱ eineȱ Schnittstelleneinheitȱ verȬ standen,ȱ dieȱ eineȱ Schichtȱ n+1ȱ einerȱ Schichtȱ nȱ übergibt.ȱ Dieseȱ Nachrichtȱ beȬ stehtȱ ausȱ einerȱ ICIȱ (Interfaceȱ Controlȱ Information)ȱ undȱ einerȱ SDUȱ (Serviceȱ DataȱUnit).ȱDieȱICIȱstelltȱdieȱSteuerinformationȱfürȱdieȱSchichtȱnȱbereitȱundȱ wirdȱinȱderȱSchichtȱnȱinterpretiert.ȱDieȱSDUȱistȱdieȱeigentlicheȱNutzinformaȬ tion,ȱdieȱübertragenȱwerdenȱsoll.ȱȱ – DieȱSDUȱwirdȱvonȱderȱInstanzȱinȱeineȱPDUȱeingepacktȱundȱmitȱeinemȱHeaȬ der,ȱ derȱ sog.ȱ PCIȱ (Protocolȱ Controlȱ Information)ȱ versehen.ȱ Dieȱ Instanzȱ derȱ SendeseiteȱsendetȱdieȱgesamteȱPDUȱlogischȱüberȱdasȱNetzȱzumȱEmpfänger.ȱ DortȱwirdȱdieȱPCIȱvonȱderȱkorrespondierendenȱEmpfängerȬInstanzȱinterpreȬ tiert,ȱ undȱ dieȱ SDUȱ wirdȱ nachȱ obenȱ zurȱ Schichtȱ n+1ȱ weitergereicht.ȱ Dieȱ eiȬ gentlicheȱphysikalischeȱÜbertragungȱfindetȱnatürlichȱinȱSchichtȱ1ȱstatt,ȱundȱ aufgrundȱderȱSchichtenbearbeitungȱbildetȱsichȱeineȱGesamtȬPDUȱmitȱsiebenȱ PCIs,ȱdieȱtatsächlichȱübersȱNetzȱgeht.ȱ
5ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ Inȱ Abbildungȱ 1Ȭ2ȱ istȱ dieȱ hierarchischeȱ Strukturȱ einesȱ Kommunikationssystemsȱ nachȱdemȱOSIȬModellȱverallgemeinertȱdargestellt.ȱEinȱDienstnehmerȱderȱSchichtȱi,ȱ derȱgleichzeitigȱevtl.ȱDiensterbringerȱfürȱeineȱhöhereȱSchichtȱi+2ȱist,ȱgreiftȱalsoȱüberȱ einenȱiȬSAPȱaufȱdenȱDiensterbringerȱiȱzu.ȱOftȱwerdenȱüberȱeinenȱiȬSAPȱmehrereȱiȬ Verbindungenȱverwaltetȱundȱdamitȱsog.ȱConnectionȱEndȱPointsȱ(CEP)ȱeingerichtet.ȱ Sender ...
Empfänger ... (n+1)-PDU (n+1)-PCI
Instanz n +1
(n+1)-SDU
Instanz n +1
virtuelle Übertragung
(n)-IDU (n)-ICI
(n)-SDU
n-SAP
n-SAP
(n)-SDU
(n)-PDU
ICI wird lokal genutzt und entfernt
Instanz n
(n)-PCI
(n)-SDU
(n-1)-SDU
(n-1)-IDU (n-1)-ICI
(n-1)-SDU
Instanz n
n-1-SAP
n-1-SAP
(n-1)-PDU Instanz n-1
(n-1)-PCI
(n-1)-SDU
... ICI: Interface Control Information IDU: Interface Definition Unit PCI: Protocol Control Information PDU: Protocol Data Unit SAP: Service Access Point SDU: Service Data Unit
Instanz n-1
...
ȱ
Abbildungȱ1Ȭ3:ȱBeziehungenȱzwischenȱdenȱSchichtenȱ
Dieȱ entsprechendeȱ iȬInstanzȱ führtȱ denȱ Dienstȱ ausȱ undȱ sendetȱ dabeiȱ ggf.ȱ wiederȱ überȱeineȱdarunterliegendeȱSchichtȱeineȱNachrichtȱanȱdenȱadressiertenȱPartner.ȱDerȱ DiensterbringerȱiȱsollȱgegenüberȱderȱSchichtȱi+1ȱwieȱeineȱvirtuelleȱMaschineȱarbeiȬ ten.ȱ Dieȱ ICIȱ hatȱ nurȱ lokaleȱ Bedeutungȱ undȱ unterliegtȱ damitȱ auchȱ nichtȱ derȱ OSIȬ Standardisierung.ȱȱȱ EineȱkompletteȱiȬPDUȱeinschließlichȱderȱiȬPCIȱwirdȱumȱSteuerinformationȱ(iȬ1)ȬICIȱ ergänztȱundȱanȱdieȱdarunterliegendeȱSchichtȱzurȱBeförderungȱweiterȱgereicht.ȱDieȱ iȬPDUȱ istȱ alsoȱ identischȱ mitȱ derȱ (iȬ1)ȬSDU.ȱ Esȱ gibtȱ auchȱ PDUs,ȱ dieȱ keinenȱ SDUȬ Anteilȱenthalten,ȱsondernȱnurȱderȱSteuerungȱdienen.ȱDieseȱPDUsȱhabenȱdannȱnurȱ einenȱHeader,ȱalsoȱeineȱPCIȱundȱkeinenȱNutzdatenteil.ȱ
6ȱ
1.1ȱȱDasȱISO/OSIȬReferenzmodellȱ DieȱAbbildungȱ1Ȭ3ȱzeigtȱwieȱeinȱSenderȱstellvertretendȱinȱdenȱSchichtenȱn+1,ȱnȱundȱ nȬ1ȱarbeitet.ȱDieȱSteuerinformationen 5ȱ(ICI)ȱhabenȱnurȱlokaleȱBedeutung,ȱwährendȱ inȱ denȱ eigentlichenȱ Nachrichtenȱ dieȱ Headerȱ (PCI)ȱ mitgesendetȱ werden,ȱ dieȱ dannȱ aufȱ derȱ Empfängerseiteȱ interpretiertȱ undȱ vonȱ derȱ eigentlichenȱ Nachrichtȱ (SDU)ȱ entferntȱ werdenȱ müssen.ȱ PCIsȱ könnenȱ entwederȱ alsȱ Headerȱ (alsoȱ vorneweg),ȱ alsȱ Trailerȱ (amȱ Endeȱ derȱ Nachricht)ȱ oderȱ inȱ zweiȱ Teilenȱ (Headerȱ undȱ Trailer,ȱ sieheȱ späterȱ z.B.ȱ dasȱ HDLCȬProtokoll)ȱ gesendetȱ werden.ȱ Fürȱ dieȱ logischeȱ Betrachtungȱ spieltȱdiesȱkeineȱRolle.ȱBeimȱSenderȱwirdȱinȱjederȱSchichtȱvonȱobenȱnachȱuntenȱeinȱ Headerȱ(PCI)ȱergänzt,ȱundȱbeimȱEmpfängerȱwirdȱdieseȱwiederȱSchichtȱfürȱSchichtȱ vonȱuntenȱnachȱobenȱentfernt,ȱbisȱinȱderȱhöchstenȱSchichtȱ7ȱnurȱnochȱdieȱeigentliȬ chenȱNutzdatenȱ(SDU)ȱvorliegen.ȱDerȱNachrichtenaustauschȱwirdȱphysikalischȱinȱ Schichtȱ 1ȱ abgewickelt,ȱ alleȱ anderenȱ Datenübertragungenȱ zwischenȱ denȱ einzelnenȱ InstanzenȱgleicherȱSchichtenȱsindȱvirtuell.ȱ Dieȱ Begrifflichkeitȱ wirdȱ nochȱ schichtenspezifischȱ verfeinert.ȱ Jederȱ Bezeichnungȱ (Instanz,ȱ PDU,ȱ IDU,ȱ SDU,...)ȱ wirdȱ nämlichȱ einȱ Präfixȱ vornewegȱ gestellt,ȱ dasȱ dieȱ konkreteȱZuordnungȱzuȱeinerȱSchichtȱanzeigt.ȱEineȱPDUȱderȱSchichtȱ4ȱerhältȱzumȱ BeispielȱdasȱPräfixȱ„T“ȱundȱwirdȱalsȱTȬPDUȱbezeichnet.ȱÄhnlichȱverhältȱesȱsichȱmitȱ anderenȱPDUsȱ(„PH“ȱfürȱSchichtȱ1,ȱ„DL“ȱfürȱSchichtȱ2,ȱ„N“ȱfürȱSchichtȱ3,ȱ„S“ȱfürȱ Schichtȱ5,ȱ„P“ȱfürȱSchichtȱ6ȱundȱ„A“ȱfürȱSchichtȱ7).ȱȱ EineȱPDUȱderȱAnwendungsschicht,ȱdieȱbeiȱAusnutzungȱallerȱSchichtenȱausȱsiebenȱ Headernȱ (PCI)ȱ undȱ einemȱ Nutzdatenteilȱ besteht,ȱ istȱ inȱ Abbildungȱ 1Ȭ4ȱ dargestellt.ȱ Hierȱwirdȱauchȱdeutlich,ȱdassȱeineȱPDUȱeinerȱniedrigerenȱSchichtȱiȱ(mitȱiȱ>=ȱ1)ȱalleȱ HeaderȱderȱhöherenȱSchichtenȱi+1,ȱi+2,ȱusw.ȱsowieȱdenȱeigentlichenȱNutzdatenteilȱ (nȬSDU)ȱenthält.ȱManȱkannȱsichȱdasȱGanzeȱauchȱsoȱvorstellen,ȱdassȱeinȱBriefȱbeimȱ Absenderȱ inȱ einȱ Kuvertȱ verpacktȱ wird,ȱ diesesȱ wiederȱ inȱ einȱ weiteresȱ usw.,ȱ alsoȱ insgesamtȱ siebenȱ Kuvertsȱ verwendetȱ werden,ȱ dieȱ dannȱ aufȱ derȱ Empfängerseiteȱ ausgepacktȱwerdenȱmüssen,ȱumȱanȱdieȱeigentlicheȱInformationȱzuȱkommen.ȱ ZumȱAbschlussȱdieserȱetwasȱtrockenenȱBegriffsdefinitionenȱsollȱnochmalsȱinȱErinȬ nerungȱgerufenȱwerden,ȱwasȱeinȱProtokollȱimȱGegensatzȱzuȱeinemȱDienstȱist:ȱEinȱ ProtokollȱistȱeineȱVerhaltensrichtlinie,ȱaufȱderenȱGrundlageȱDatenstationenȱunterȬ einanderȱ kommunizierenȱ können.ȱ Inȱ einemȱ Protokollȱ werdenȱ bestimmteȱ SpielreȬ gelnȱ derȱ Kommunikationȱ vorgegeben,ȱ aufȱ derenȱ Basisȱ gemäßȱ demȱ OSIȬModellȱ Schichtenȱ horizontalȱ miteinanderȱ kommunizieren,ȱ alsoȱ z.B.ȱ eineȱ Instanzȱ derȱ Schichtȱ4ȱmitȱeinerȱanderenȱInstanzȱderȱSchichtȱ4,ȱdieȱaufȱeinemȱanderenȱRechnerȬ systemȱliegenȱkann,ȱaberȱnichtȱmuss.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Steuerinformationenȱ könnenȱ auchȱ fürȱ Diensteȱ mitȱ reinȱ lokalenȱ Auswirkungenȱ genutztȱ werden,ȱohneȱdassȱeineȱPDUȱerzeugtȱundȱgesendetȱwird.ȱEsȱsindȱeinfachȱdieȱParameter,ȱ dieȱamȱSAPȱbeiȱeinemȱDienstaufrufȱübergebenȱwerden.ȱ
5
7ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ A-PDU (PDU der Anwendungsschicht) PH-PDU DL-PDU N-PDU T-PDU S-PDU P-PDU A-PDU PH-PCI
DL-PCI
N-PCI
T-PCI
S-PCI
P-PCI
A-PCI
Kontrollinformation (Header)
A-SDU Nutzdaten
ȱ
Abbildungȱ1Ȭ4:ȱEineȱPDUȱderȱAnwendungsschichtȱ
EinȱDienstȱdagegenȱistȱeineȱbestimmteȱFunktionalität,ȱdieȱeinȱKommunikationssysȬ temȱ lokalȱ anȱ einerȱ Schichtengrenzeȱ überȱ einenȱ SAPȱ bereitstellt,ȱ undȱ istȱ damitȱ einȱ Abstraktionskonzept.ȱDieȱImplementierungȱderȱdiensterbringendenȱSchichtȱistȱfürȱ denȱDienstnutzerȱnichtȱrelevant,ȱwichtigȱistȱdieȱDienstleistung.ȱDienstschnittstellenȱ dienenȱ derȱ vertikalenȱ Kommunikationȱ zwischenȱ aufeinanderfolgendenȱ Schichtenȱ einesȱ Rechnersystems.ȱ Einȱ Dienstȱ setztȱ sichȱ ausȱ einemȱ oderȱ mehrerenȱ DiensteleȬ mentenȱ zusammen,ȱ wobeiȱ dasȱ OSIȬModellȱ dieȱ Begriffeȱ Request,ȱ Indication,ȱ ResȬ ponseȱundȱConfirmationȱverwendet.ȱ InȱAbbildungȱ1Ȭ5ȱ istȱdieȱBeziehungȱzwischenȱDienstenȱbzw.ȱDienstelementenȱundȱ einemȱProtokollȱskizziert.ȱHierȱwirdȱeinȱeinfacherȱVerbindungsaufbauȱdargestellt.ȱ ProzessȱAȱsetztȱeinenȱVerbindungsaufbauwunschȱalsȱRequestȱ(DienstelementȱconȬ nect.req)ȱ amȱ TȬSAPȱ ab.ȱ Dieȱ TȬInstanzȱ erzeugtȱ daraufhinȱ eineȱ TȬPDUȱ (connect.reqȬ PDU)ȱundȱsendetȱsieȱzumȱgewünschtenȱEmpfängerȱ(adressiertȱimȱconnect.req).ȱDieȱ PDUȱ kommtȱ beiȱ derȱ TȬInstanzȱ desȱ Empfängersȱ anȱ undȱ wirdȱ anȱ denȱ Prozessȱ Bȱ inȱ Formȱ einesȱ connect.indȱ (Indication)ȱ weitergereicht.ȱ Dieserȱ bestätigtȱ denȱ VerbinȬ dungsaufbauwunschȱmitȱdemȱDienstelementȱconnect.rspȱ(Response).ȱDieȱzugehöriȬ geȱTȬInstanzȱwandeltȱdasȱDienstelementȱinȱeineȱconnect.rspȬPDUȱumȱundȱsendetȱsieȱ anȱ denȱ Prozessȱ A.ȱ Inȱ derȱ zugehörigenȱ TȬInstanzȱ angekommen,ȱ wirdȱ einȱ DienstȬ elementȱ connect.cnfȱ (Confirmation)ȱ erzeugtȱ undȱ anȱ denȱ Prozessȱ Aȱ weitergereicht.ȱ Damitȱ stehtȱ dieȱ Verbindungȱ undȱ imȱ Anschlussȱ daranȱ sendetȱ derȱ Prozessȱ Aȱ eineȱ NachrichtȱanȱProzessȱBȱ(data.req,...).ȱȱ ISO/OSIȬProtokolleȬȱ undȱ Diensteȱ habenȱ sichȱ eigentlichȱ nichtȱ richtigȱ durchgesetzt,ȱ obwohlȱ vieleȱ Dokumenteȱ zurȱ Beschreibungȱ vonȱ Protokollenȱ fürȱ dieȱ einzelnenȱ Schichtenȱausgearbeitetȱwurden.ȱBeispieleȱhierfürȱsindȱdasȱTransportȬProtokollȱOSIȱ TP4,ȱdieȱAbstractȱSyntaxȱNotationȱ1ȱmitȱdenȱentsprechendenȱKodierungsregelnȱfürȱ eineȱ einheitlicheȱ Transportsyntaxȱ (ASN.1/BER)ȱ inȱ Schichtȱ 6ȱ undȱ vieleȱ AnwenȬ
8ȱ
1.2ȱȱDasȱTCP/IPȬReferenzmodellȱ dungsprotokolleȱwieȱetwaȱeinȱRemoteȱProcedureȱCallȱ(RPC),ȱeinȱRemoteȱOperationȱ Serviceȱ(ROSE),ȱdieȱTransaktionsprotokolleȱOSIȱTPȱ(TransactionȱProtocol)ȱundȱOSIȱ CCRȱ (Commitment,ȱ Concurrencyȱ undȱ Recovery),ȱ sowieȱ dasȱ NetzwerkȬȱ undȱ SysȬ temmanagementȬProtokollȱ CMIPȱ (Commonȱ Managementȱ Informationȱ Protocol).ȱ WeitereȱInformationenȱzuȱdenȱOSIȬProtokollenȱsindȱinȱ(Gerdsenȱ1995)ȱzuȱfinden.ȱ Prozess A
T-Instanz für A
T-Instanz für B
T-SAP (A)
T-SAP (B)
Prozess B
connect.req connect.req-PDU
connect.ind connect.rsp
connect.rsp-PDU connect.cnf data.req data.req-PDU
Dienstelemente
Protokoll
data.ind
Dienstelemente
ȱ
Abbildungȱ1Ȭ5:ȱBeispielȱdesȱZusammenspielsȱzwischenȱDienstaufrufenȱundȱProtokollȱ
Anmerkungȱ zuȱ denȱ ISO/OSIȬStandards.ȱ Dieȱ ISO/OSIȬProtokolleȱ undȱ ȬDiensteȱ geltenȱheuteȱalsȱzuȱkomplexȱundȱauchȱalsȱetwasȱzuȱinflexibelȱinsbesondereȱinȱdenȱ Schichtenȱ5ȱundȱ6.ȱWieȱsoȱoftȱhabenȱsichȱleichtgewichtigereȱAnsätzeȱinȱderȱPraxisȱ durchgesetzt.ȱ Anwendungȱ findenȱ OSIȬProtokolleȱ heuteȱ nochȱ imȱ TelekomȬUmfeldȱ undȱhierȱvorwiegendȱmitȱCMIP.ȱAnsonstenȱwurdenȱsieȱweitgehendȱdurchȱTCP/IPȬ Protokolleȱ verdrängtȱ bzw.ȱ wurdenȱ nieȱ praxisrelevant.ȱ Dasȱ ISO/OSIȬReferenzȬ modellȱdientȱheuteȱaberȱalsȱeinȱModell,ȱinȱdasȱmanȱneueȱProtokolleȱimmerȱwiederȱ einzuordnenȱ versucht,ȱ daȱ dieȱ grundlegendeȱ Ideeȱ derȱ Schichtenbildungȱ allgemeinȱ akzeptiertȱ wird.ȱ Manȱ streitetȱ sichȱ eherȱ umȱ dieȱ Anzahlȱ derȱ Schichtenȱ undȱ derenȱ Funktionalitätȱ(Tanenbaumȱ2003a).ȱ DieȱTCP/IPȬProtokollfamilie,ȱderenȱReferenzmodellȱheuteȱauchȱinȱvielenȱBereichenȱ alsȱderȱDefactoȬStandardȱgilt,ȱsollȱimȱnächstenȱAbschnittȱerläutertȱwerden.ȱ
1.2 Das TCP/IP-Referenzmodell Dasȱ vonȱ derȱ InternetȬGemeindeȱ entwickelteȱ TCP/IPȬReferenzmodellȱ (vgl.ȱ hierȬ zuȱAbbildungȱ1Ȭ6)ȱistȱheuteȱderȱDefactoȬStandardȱinȱderȱRechnerkommunikation.ȱ EsȱhatȱvierȱSchichten,ȱwobeiȱdieȱSchichtȱ3ȱ(InternetȬSchicht)ȱundȱdieȱSchichtȱ4ȱdieȱ tragendenȱ Schichtenȱ sind.ȱ Inȱ derȱ Schichtȱ 3ȱ wirdȱ nebenȱ einigenȱ SteuerungsȬȱ undȱ
9ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ Adressierungsprotokollenȱ (ARP,ȱ ICMP) 6ȱimȱ Wesentlichenȱ dasȱ Protokollȱ IPȱ (InterȬ netȱProtocol)ȱbenutzt.ȱInȱSchichtȱ4ȱgibtȱesȱzweiȱStandardprotokolle.ȱDasȱmächtigere,ȱ verbindungsorientierteȱ TCPȱ (Transmissionȱ Controlȱ Protocol)ȱ undȱ dasȱ leichtgeȬ wichtige,ȱ verbindungsloseȱ UDPȱ (Userȱ Datagramȱ Protocol).ȱ TCPȱ gabȱ demȱ RefeȬ renzmodellȱseinenȱNamen.ȱ Logische Kommunikation
Sender
7
Verarbeitungsschicht
6
leer
5
leer
4
Transportschicht
3
Internet
2 1
Hostanbindung ans Netz
Host
Empfänger
Verarbeitungsprotokoll: Telnet, ftp, SNMP, HTTP
Verarbeitungsschicht leer leer
Transportprotokoll: TCP und UDP
IP, ARP
nicht festgelegt
Internet Hostanbindung ans Netz
Router
Transportschicht IP, ARP
Internet
nicht festgelegt
Hostanbindung ans Netz
Host
ȱ
Abbildungȱ1Ȭ6:ȱTCP/IPȬReferenzmodellȱ
Imȱ Gegensatzȱ zumȱ OSIȬModellȱ wirdȱ imȱ TCP/IPȬModellȱ nichtȱ soȱ strengȱ zwischenȱ ProtokollenȱundȱDienstenȱunterschieden.ȱDieȱSchichtenȱ5ȱundȱ6ȱsindȱimȱGegensatzȱ zumȱOSIȬModellȱleer.ȱDieseȱFunktionalitätȱistȱderȱAnwendungsschichtȱvorbehalten,ȱ d.h.ȱ dieȱ Verwaltungȱ evtl.ȱ erforderlicherȱ Sessionsȱ undȱ dieȱ Darstellungȱ derȱ NachȬ richtenȱinȱeinemȱfürȱalleȱBeteiligtenȱverständlichenȱFormatȱmussȱdieȱAnwendungȱ selbstȱlösen.ȱKritikerȱdesȱOSIȬModellsȱsindȱderȱMeinung,ȱdassȱgeradeȱdieȱFunktioȬ nalitätȱ dieserȱ beidenȱSchichtenȱ sehrȱ protokollspezifischȱ ist.ȱ Esȱgibtȱ Protokolle,ȱdieȱ brauchenȱhierȱgarȱkeineȱFunktionalität,ȱundȱandere,ȱdieȱhierȱsehrȱvielȱtunȱmüssen.ȱ ÜberȱdieȱunterenȱSchichtenȱistȱmanȱsichȱprinzipiellȱeinig.ȱAlleȱDatenkommunikatiȬ onsspezialistenȱsehenȱdieȱNotwendigkeitȱfürȱeinȱTransportsystem,ȱwennȱauchȱdieȱ Funktionalitätȱ jeȱ nachȱ Protokolltypȱ hierȱ sehrȱ unterschiedlichȱ seinȱ kann.ȱ BeispielsȬ weiseȱ gibtȱ esȱ verbindungsorientierteȱ (wieȱ TCP)ȱ undȱ verbindungsloseȱ (wieȱ UDP)ȱ ProtokolleȱmitȱrechtȱunterschiedlichenȱAnforderungen.ȱ InȱdenȱSchichtenȱ1ȱundȱ2ȱlegtȱsichȱdasȱTCP/IPȬReferenzmodellȱnichtȱfest.ȱHierȱwirdȱ dieȱAnbindungȱanȱdasȱNetzwerkȱgelöst,ȱundȱdiesȱkannȱeinȱLANȬȱeinȱWANȬȱoderȱ einȱ MANȬZugriffȱ fürȱ jedesȱ beliebigeȱ Netzwerkȱ sein.ȱ Einȱ Unterschiedȱ ergibtȱ sichȱ dabeiȱ beiȱ derȱ Adressierungȱ vonȱ Partnern.ȱ Währendȱ imȱ OSIȬModellȱ aufȱ statischeȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ARPȱ=ȱAddressȱResolutionȱProtocol;ȱICMPȱ=ȱInternetȱControlȱMessageȱProtocol.ȱ
6
10ȱ
1.4ȱȱKlassischeȱProtokollemechanismenȱ SchichtȬ2ȬAdressierungȱgesetztȱwirdȱ(AdressenȱmüssenȱvorabȱaȬprioriȱkonfiguriertȱ sein),ȱ nütztȱmanȱ imȱ TCPȬReferenzmodellȱ eineȱArtȱ dynamischerȱAdressermittlungȱ überȱ dasȱ ARPȬProtokoll.ȱ Hierȱ wirdȱ zurȱ Laufzeitȱ eineȱ SchichtȬ3ȬAdresseȱ (IPȬ Adresse)ȱaufȱeineȱSchichtȬ2ȬAdresseȱ(auchȱMACȬAdresse,ȱMediumȱAccessȱControl)ȱ abgebildet.ȱ
1.3 Weitere Referenzmodelle Weitereȱ Referenzmodelle,ȱ dieȱ imȱ Laufeȱ derȱ Zeitȱ undȱ meistȱ bereitsȱ vorȱ derȱ OSIȬ Modellierungȱentstanden,ȱsindȱz.B.ȱSNA,ȱDECnetȱundȱTRANSDATA.ȱȱ SNAȱ (Systemsȱ Networkȱ Architecture)ȱ vonȱ derȱ Firmaȱ IBMȱ istȱ ähnlichȱ demȱ OSIȬ ModellȱschichtenartigȱaufgebautȱundȱspieltȱauchȱheuteȱnochȱeineȱwichtigeȱRolle,ȱdaȱ beiȱdenȱmeistenȱGroßfirmenȱdieȱunternehmenskritischenȱAnwendungenȱaufȱIBMȬ Mainframesȱablaufen,ȱdieȱinȱeinȱSNAȬNetzwerkȱeingebundenȱsind.ȱ DasȱGegenstückȱzuȱSNAȱbeiȱderȱFirmaȱSiemensȱheißtȱTRANSDATAȱundȱdasȱvonȱ derȱ Firmaȱ DECȱ (heuteȱ Compaqȱ bzw.ȱ Hewlettȱ Packard),ȱ heißtȱ DECnet.ȱ DECnetȱ lehntȱ sichȱ anȱ dasȱ OSIȬModellȱ anȱ undȱ wirdȱ vonȱ derȱ DNAȬProduktfamilieȱ (Digitalȱ NetworkȱArchitecture)ȱbenutzt.ȱ DarüberhinausȱwurdeȱeinȱneuesȱReferenzmodellȱfürȱeinȱBreitbandsystem 7ȱaufȱBaȬ sisȱvonȱATMȱentwickelt.ȱEsȱistȱauchȱschichtenorientiert,ȱaberȱhatȱnurȱvierȱSchichten,ȱ wobeiȱ dieȱ Schichtenȱ 1ȱ undȱ 3ȱ jeweilsȱ nochmalsȱ inȱ Sublayerȱ aufgeteiltȱ sind.ȱ Dieȱ SchichtungȱistȱvölligȱandersȱalsȱimȱOSIȬModellȱgelöst.ȱȱ
1.4 Klassische Protokollemechanismen Inȱ derȱ Protokollentwicklungȱ werdenȱ inȱ verschiedenenȱ Schichtenȱ vergleichbareȱ Protokollfunktionenȱ ȱ (Protokollmechanismen)ȱ eingesetzt.ȱ Daȱ vieleȱ dieserȱ MechaȬ nismenȱ nichtȱ nurȱ inȱ einerȱ Schichtȱ zuȱ findenȱ sind,ȱ sollenȱ inȱ diesemȱ Kapitelȱ vorabȱ einigeȱ wichtigeȱ Protokollfunktionenȱ erläutertȱ werden.ȱ Dieȱ inȱ mehrerenȱ Schichtenȱ genutztenȱProtokollmechanismenȱkannȱmanȱFunktionsbereichenȱzuordnen.ȱ Basisprotokollmechanismen.ȱ Unterȱ diesenȱ Funktionsbereichȱ fallenȱ derȱklassischeȱ Datentransferȱ undȱ derȱ sog.ȱ Vorrangtransfer.ȱ Derȱ klassischeȱ Datentransferȱ dientȱ derȱ ÜbertragungȱderȱüblichenȱPDUs.ȱVorrangȬPDUsȱkönnenȱfrüherȱgesendeteȱ„normaȬ le“ȱ PDUsȱ überholen.ȱ Weiterhinȱ gehörtȱ dieȱ Verbindungsverwaltungȱ mitȱ VerbinȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Anmerkungȱ zurȱ Terminologie:ȱ Derȱ Begriffȱ „Breitbandnetze“ȱ hatȱ jeȱ nachȱ Kontextȱ etwasȱ unterschiedlicheȱ Bedeutung.ȱ Manȱ bezeichnetȱ einerseitsȱ damitȱ Netze,ȱ dieȱ trägermoduȬ lierteȱTechnikȱverwenden,ȱalsoȱaufȱeinemȱKabelȱmehrereȱKanäleȱrealisierenȱ(sieheȱKabelȬ fernsehen).ȱ Inȱ Hochgeschwindigkeitsnetzenȱ bezeichnetȱ manȱ zudemȱ solcheȱ Netzeȱ alsȱ breitbandig,ȱdieȱ eineȱ hoheȱBitrateȱ (etwaȱ vonȱ überȱ 2,048ȱ Mbit/s)ȱ bereitstellenȱ undȱ damitȱ fürȱHochgeschwindigkeitsanforderungenȱgeeignetȱsind.ȱ
7
11ȱ
1ȱȱEinführungȱinȱReferenzmodelleȱundȱProtokolleȱ dungsaufbauȬȱ(connect),ȱȬabbauȱ(disconnect)ȱundȱȬabbruchȱ(abort)ȱinȱdiesenȱFunkȬ tionsbereich.ȱ Protokollmechanismenȱ zurȱ Fehlerbehandlung.ȱ Derȱ SequenznummernȬMechanisȬ musȱ istȱ hierȱ anzusiedeln.ȱ Dieserȱ Mechanismusȱ dientȱ derȱ Fehlerbehandlungȱ undȱ derȱ Auslieferungȱ derȱ Nachrichtenȱ inȱ derȱ richtigenȱ Reihenfolge.ȱ Dieȱ aufeinanderȱ folgendenȱNachrichtenȱbzw.ȱinȱTCPȱ(wieȱwirȱuntenȱnochȱsehenȱwerden)ȱderȱbyteȬ orientierteȱ Nachrichtenstromȱ wirdȱ vomȱ Senderȱ durchnummeriert,ȱ soȱ dassȱ vomȱ EmpfängerȱLückenȱerkanntȱwerdenȱkönnen.ȱ Dieȱ Quittierungȱ istȱ auchȱ inȱ diesenȱ Funktionsbereichȱ einzuordnen.ȱ Empfangeneȱ Nachrichtenȱ werdenȱ vomȱ Empfängerȱ quittiert,ȱ indemȱ zumȱ Beispielȱ eineȱ eigeneȱ BestätigungsȬPDUȱ (ACK)ȱ gesendetȱ wird.ȱ Esȱ gibtȱ dafürȱ verschiedeneȱ Verfahren.ȱ Beispielsweiseȱ kannȱ manȱeinzelnȱ oderȱgruppenweiseȱ (kumulativ)ȱ quittieren,ȱ oderȱ manȱ kannȱ auchȱ nurȱ eineȱ negativeȱ Quittierungȱ (NACKȱ =ȱ negativeȱ acknowledgeȬ ment)ȱsenden,ȱwennȱeinȱPaketȱfehltȱ(negativeȱacknowledgement).ȱAuchȱMischunȬ genȱderȱeinzelnenȱVerfahrenȱsindȱmöglich.ȱAuchȱsog.ȱHuckepackȬVerfahrenȱ(pickyȱ backȱacknowledgement)ȱkannȱausgeführtȱwerden.ȱDiesȱbedeutet,ȱdassȱeineȱBestätiȬ gungȱfürȱeineȱNachrichtȱmitȱderȱAntwortȱmitgesendetȱwird.ȱ Zurȱ Fehlerbehandlungȱ gehörenȱ weiterhinȱ Zeitüberwachungsmechanismenȱ überȱ TiȬ mer,ȱ Prüfsummenȱ undȱ Übertragungswiederholungȱ sowieȱ dieȱ Fehlererkennungȱ undȱ Fehlerkorrekturȱ(forwardȱerrorȱcorrection).ȱȱ Oftȱ wirdȱ eineȱ Timerüberwachungȱ fürȱ jedeȱ gesendeteȱ Nachrichtȱ verwendet.ȱ Einȱ Timerȱwirdȱ„aufgezogen“,ȱumȱdasȱWartenȱaufȱeineȱACKȬPDUȱzuȱbegrenzen.ȱHierȱ istȱdieȱZeitspanneȱvonȱgroßerȱBedeutung.ȱSieȱkannȱstatischȱfestgelegtȱoderȱbeiȱmoȬ dernerenȱ Protokollenȱ dynamischȱ anhandȱ desȱ aktuellenȱ Laufzeitverhaltensȱ eingeȬ stelltȱ werden.ȱ Übertragungswiederholungȱ wirdȱ durchgeführt,ȱ wennȱ eineȱ NachȬ richtȱbeimȱEmpfängerȱnichtȱangekommenȱist.ȱDerȱSenderȱgehtȱz.B.ȱinȱdiesemȱFallȱ davonȱaus,ȱwennȱeineȱACKȬPDUȱnichtȱinȱderȱTimeoutȬZeitȱankommt.ȱ Durchȱ Redundanzȱ inȱ denȱ Nachrichtenȱ könnenȱ Fehlerȱ festgestelltȱ undȱ beiȱ ausreiȬ chenderȱ Redundanzȱ auchȱ gleichȱ imȱ Empfängerȱ korrigiertȱ werden.ȱ Inȱ derȱ Regelȱ verwendenȱ heutigeȱ Protokolleȱ nurȱ Fehlererkennungsmechanismenȱ undȱ fordernȱ eineȱPDUȱbeiȱErkennenȱeinesȱFehlersȱerneutȱan.ȱȱ Protokollmechanismenȱ zurȱ Längenanpassung.ȱ Längenanpassungȱ kannȱ notwenȬ digȱsein,ȱwennȱdieȱunterliegendeȱProtokollschichtȱdieȱPDUȱnichtȱaufȱeinmalȱtransȬ portierenȱ kannȱ undȱ daherȱ eineȱ Zerlegungȱ dieserȱ erfordert.ȱ Diesenȱ Mechanismusȱ bezeichnetȱ manȱ alsȱ Assemblierungȱ undȱ Deassemblierung.ȱ Beimȱ Senderȱ wirdȱ dieȱ PDUȱinȱmehrereȱSegmenteȱaufgeteilt.ȱBeimȱEmpfängerȱmussȱdieȱPDUȱdannȱwiederȱ zusammengebaut,ȱ alsoȱ reassembliertȱ werden.ȱ Manȱ sprichtȱ hierȱ auchȱ –ȱ jeȱ nachȱ Schichtȱ(z.B.ȱimȱIPȬProtokoll,ȱSchichtȱ3)ȱ–ȱvonȱFragmentierungȱundȱDefragmentieȬ rung.ȱȱ Protokollmechanismenȱ zurȱ Systemleistungsanpassung.ȱ Inȱ diesenȱ FunktionsbeȬ reichȱfallenȱMechanismenȱwieȱdieȱFlusssteuerung,ȱdieȱÜberlastȬȱundȱdieȱRatensteueȬ
12ȱ
1.5ȱȱÜbungsaufgabenȱ rung.ȱ ȱ Dieȱ Flussteuerungȱ (flowȱ control)ȱ schütztȱ denȱ Empfängerȱ vorȱ Überlastungȱ durchȱdenȱSender.ȱHierfürȱwerdenȱz.BȱFenstermechanismenȱ(slidingȱwindow)ȱeinȬ gesetzt,ȱ dieȱ einemȱ Senderȱ einenȱ gewissen,ȱ dynamischȱ veränderbarenȱ Sendekreditȱ einräumen.ȱDerȱSenderȱdarfȱdannȱsoȱvieleȱPDUsȱoderȱByteȱohneȱeineȱBestätigungȱ senden,ȱ wieȱ seinȱ Sendekreditȱ vorgibt.ȱ Derȱ Empfängerȱ bremstȱ denȱ Senderȱ aus,ȱ wennȱseinȱEmpfangspufferȱzuȱvollȱwirdȱundȱerȱmitȱderȱVerarbeitung,ȱalsoȱderȱWeiȬ terleitungȱ anȱ dieȱ nächsthöhereȱ Schicht,ȱ nichtȱ nachkommt.ȱ Dieȱ Überlastsicherungȱ (congestionȱcontrol)ȱschütztȱdasȱNetzwerkȱvorȱeinerȱÜberlastung.ȱDerȱSenderȱwirdȱ überȱdieȱÜberlastȱinformiertȱundȱdrosseltȱdaraufhinȱdasȱSendeaufkommen,ȱbisȱdieȱ Überlastȱbeseitigtȱist.ȱDiesȱistȱmeistȱeinȱsehrȱdynamischerȱVorgang.ȱ Protokollmechanismenȱ zurȱ Übertragungsleistungsanpassung.ȱ Hierunterȱ fallenȱ dieȱ Mechanismenȱ zumȱ Multiplexierenȱ undȱ Demultiplexierenȱ ȱ (multiplexing,ȱ demulȬ tiplexing).ȱ Mehrereȱ NȬVerbindungenȱ könnenȱ aufȱ eineȱ (NȬ1)ȬVerbindungȱ abgebilȬ detȱwerdenȱ(Multiplexen).ȱAufȱderȱEmpfängerseiteȱwirdȱesȱumgedrehtȱ(DemultipȬ lexen).ȱImȱGegensatzȱdazuȱistȱauchȱderȱumgekehrteȱWegȱmöglich.ȱManȱsprichtȱhierȱ auchȱ vonȱ Teilungȱ undȱ Vereinigung.ȱ Eineȱ NȬVerbindungȱ wirdȱ aufȱ mehrereȱ (NȬ1)Ȭ Verbindungenȱ verteiltȱ undȱ beimȱ Empfängerȱ wiederȱ vereint.ȱ Diesȱ kannȱ vorkomȬ men,ȱwennȱeineȱhöhereȱSchichtȱüberȱeineȱhöhereȱÜbertragungsleistungȱverfügtȱalsȱ eineȱdarunterliegende.ȱ NutzerbezogeneȱMechanismen.ȱHierunterȱkannȱmanȱMechanismenȱderȱDienstgüȬ tebehandlungȱȱ(qualityȱofȱservice)ȱwieȱdieȱRatensteuerungȱ(rateȱcontrol)ȱeinordnen.ȱ DieseȱMechanismenȱwerdenȱfürȱMultimediaanwendungenȱbenötigt.ȱDienstgütepaȬ rameterȱsindȱu.a.ȱderȱDurchsatz,ȱdieȱVerzögerungȱundȱdieȱVerzögerungssensibiliȬ tät.ȱDieseȱParameterȱmüssenȱzwischenȱSenderȱundȱEmpfängerȱbeimȱVerbindungsȬ aufbauȱ ausgehandeltȱ werden.ȱ Unterȱ Ratensteuerungȱ verstehtȱ manȱ z.B.ȱ dasȱ AusȬ handelnȱeinerȱzulässigenȱÜbertragungsrateȱȱzwischenȱSenderȱundȱEmpfänger.ȱȱ Inȱ denȱ weiterenȱ Kapitelnȱ werdenȱ dieȱ verschiedenenȱ Protokollfunktionenȱ jeweilsȱ amȱkonkretenȱProtokollȱdiskutiert.ȱ
1.5 Übungsaufgaben 1. 2. 3. 4.
Erläuternȱ Sieȱ dasȱ TCP/IPȬReferenzmodellȱ undȱ vergleichenȱ Sieȱ esȱ hinsichtlichȱ seinerȱSchichtenȱundȱDiensteȱmitȱdemȱISO/OSIȬReferenzmodell.ȱ NennenȱSieȱMechanismenȱzurȱFehlerbehandlungȱinȱProtokollen.ȱ WasȱistȱeineȱAȬPDU?ȱ WasȱistȱeineȱInstanzȱimȱISO/OSIȬReferenzmodell?ȱȱ
13ȱ
ȱ
2 Technische Grundlagen von Rechnernetzen UnterȱdemȱBegriffȱ„technischeȱGrundlagen“ȱfassenȱwirȱimȱWesentlichenȱdieȱnachȬ richtentechnischenȱ Grundlagenȱ derȱ Schichtȱ 1,ȱ aufȱ denenȱ dieȱ Datenübertragungȱ basiert,ȱ sowieȱ dieȱ Techniken,ȱ dieȱ inȱ derȱ Schichtȱ 2ȱ angesiedeltȱ sind,ȱ zusammen.ȱ WichtigeȱBegriffeȱbeiderȱSchichtenȱsollenȱimȱFolgendenȱkurzȱerläutertȱwerden.ȱWirȱ beginnenȱ mitȱ derȱ Bitübertragungsschichtȱ undȱ einigenȱ Aspektenȱ derȱ NachrichtenȬ technik.ȱEsȱwirdȱerläutert,ȱwasȱeinȱÜbertragungssystemȱundȱeinȱÜbertragungskaȬ nalȱsind.ȱDanachȱwerdenȱgrundlegendeȱAspekteȱderȱdigitalenȱÜbertragungȱvorgeȬ stellt.ȱ Nachȱ einemȱ kurzenȱ Einblickȱ inȱ Übertragungsmedienȱ wirdȱ aufȱ dieȱ struktuȬ rierteȱVerkabelungȱvonȱGebäudenȱeingegangen.ȱAnschließendȱwerdenȱdieȱAufgaȬ benȱ derȱ Sicherungsschichtȱ erläutert,ȱ Medienzugriffsverfahrenȱ werdenȱ eingeführt,ȱ undȱimȱSpeziellenȱwerdenȱBuszugriffsverfahrenȱvorgestellt.ȱCSMAȬProtokolle,ȱdieȱ bekanntestenȱBuszugriffsverfahren,ȱwerdenȱetwasȱdetaillierterȱbehandelt.ȱ Zielsetzung des Kapitels Zielȱ diesesȱ Kapitelsȱ istȱ es,ȱ einenȱ Überblickȱüberȱ dieȱbeidenȱ unterenȱ Schichtenȱderȱ Datenkommunikationȱzuȱverschaffen.ȱDerȱStudierendeȱsollȱsichȱeinȱgrundlegendesȱ VerständnisȱüberȱdieȱArbeitsweiseȱundȱdasȱZusammenspielȱverschiedenerȱTechniȬ kenȱundȱProtokolleȱverschaffen.ȱ Wichtige Begriffe Übertragungssystem,ȱÜbertragungskanal,ȱdigitaleȱÜbertragungȱundȱPCM,ȱstruktuȬ rierteȱ Verkabelung,ȱ Twistedȱ Pair,ȱ UTP,ȱ STP,ȱ S/UTP,ȱ S/STP,ȱ XON/XOFFȬProtokoll,ȱ Medienzugriffsverfahren,ȱ CSMA,ȱ CSMA/CD,ȱ pȬpersistentȱ CSMA,ȱ Kollision,ȱ IEEEȱ 802,ȱLLCȱundȱMAC,ȱTransferzeit,ȱLaufzeit,ȱÜbertragungszeit.ȱ
2.1 Bitübertragungsschicht 2.1.1
Aufgaben und Einordnung
WieȱderȱNameȱsagt,ȱwirdȱinȱderȱBitübertragungsschichtȱeineȱMöglichkeitȱderȱphyȬ sikalischenȱ Übertragungȱ vonȱ einzelnenȱ Bitsȱ oderȱ Bitgruppenȱ überȱ denȱ direktenȱ ZugangȱzumȱÜbertragungsmediumȱbereitgestellt.ȱ
15ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ PH-IDU PH-ICI
PH-SAP
PH-IDU PH-ICI
PH-SDU
PH-SAP
Schicht 1
PH-Instanz
PH-PDUs PH-PCI
PH-SDU
PH-Instanz
PH-SDU
Übertragungsmedium
ȱ Abbildungȱ2Ȭ1:ȱPHȬInstanzȱ
Dieȱ Diensteȱ derȱ Bitübertragungsschichtȱ werdenȱ derȱ nächsthöherenȱ Schichtȱ anȱ eiȬ nemȱ PHȬSAPȱ angebotenȱ (vgl.ȱ Abbildungȱ 2Ȭ1).ȱ Dieȱ PHȬInstanzenȱ kommunizierenȱ zurȱErfüllungȱihrerȱAufgabenȱüberȱPHȬPDUs,ȱwobeiȱdasȱProtokollȱeinȱBitübertraȬ gungsprotokollȱ ist.ȱ Alsȱ grundlegendenȱ Dienstȱ amȱ PHȬSAPȱ kannȱ manȱ sichȱ einenȱ unbestätigtenȱph_dataȬDienstȱvorstellen,ȱderȱeinȱBitȱoderȱeinenȱganzenȱBitblockȱvonȱ derȱ Schichtȱ 2ȱ zurȱ Übertragungȱ entgegennimmt.ȱ Zusätzlicheȱ Diensteȱ gemäßȱ demȱ ISO/OSIȬReferenzmodellȱ sindȱ ph_activateȱ zumȱ Aufbauȱ einerȱ Verbindungȱ aufȱ derȱ physikalischenȱ Ebene,ȱ ph_deactivateȱ zuȱ Abbauȱ undȱ ph_abortȱ zumȱ Abbruchȱ einerȱ Verbindung.ȱAmȱPHȬSAPȱwerdenȱbeiȱNutzungȱdesȱDienstesȱPHȬIDUsȱübergeben.ȱ
2.1.2
Grundbegriffe der Nachrichtenübertragung
ZumȱbesserenȱVerständnisȱwerdenȱinȱdiesemȱAbsatzȱeinigeȱBegriffeȱausȱderȱNachȬ richtentechnikȱ erläutert.ȱ Wirȱ beginnenȱ mitȱ derȱ Beschreibungȱ einesȱ ÜbertragungsȬ systemsȱundȱerläuternȱanschließendȱBegriffeȱwieȱSchrittgeschwindigkeit,ȱBaudrateȱ usw.ȱ Übertragungssystem,ȱInformationȱundȱSignal.ȱEinȱÜbertragungssystemȱüberträgtȱ InformationenȱvonȱeinerȱQuelleȱzuȱeinerȱSenke.ȱEinȱnachrichtentechnischerȱKanalȱ dientȱderȱÜbertragungȱvonȱInformationenȱinȱFormȱvonȱBitsȱmittelsȱTransformationȱ inȱ elektrischeȱ oderȱ optischeȱ Signale.ȱ Einȱ Signalȱ istȱ dabeiȱ eineȱ Wissensdarstellungȱ (inȱFormȱeinerȱphysikalischenȱGröße),ȱwährendȱeineȱInformationȱeinenȱWissensinȬ haltȱ(Beobachtungen,ȱMeldungen,...)ȱdarstellt.ȱDerȱSenderȱstelltȱDatenȱinȱdenȱKanalȱ ein.ȱDieseȱwerdenȱalsȱSignaleȱzumȱEmpfängerȱübertragen.ȱȱ Wandler.ȱEinȱWandlerȱwandeltȱdasȱQuellensignalȱbeiȱBedarfȱinȱeineȱandereȱphysiȬ kalischeȱ Formȱ um.ȱ Einȱ typischerȱ Wandlerȱ istȱ z.B.ȱ dasȱ Mikrofon,ȱ dasȱ LuftschwanȬ kungenȱinȱeinȱelektrischesȱSignalȱumwandelt.ȱWennȱdasȱSignalȱnachȱderȱUmwandȬ lungȱnochȱnichtȱübertragbarȱist,ȱwirdȱesȱanȱdenȱKanalȱangepasstȱ(Kanalanpassung).ȱ EineȱtypischeȱAnpassungȱwirdȱbeiȱSprachsignalenȱdurchgeführt,ȱdieȱüberȱFunkȱzuȱ
16ȱ
2.1ȱȱBitübertragungsschichtȱ übertragenȱsind.ȱHierȱwirdȱderȱFrequenzbereichȱ(300ȱbisȱ3400ȱHz)ȱtransponiertȱ(z.B.ȱ aufȱüberȱ100ȱkHz).ȱEinȱanderesȱBeispielȱsindȱComputersignale,ȱdieȱüberȱdasȱTeleȬ fonnetzȱübertragenȱwerden.ȱȱ Übertragungskanal.ȱDerȱÜbertragungskanalȱ(vgl.ȱAbbildungȱ2Ȭ1)ȱdientȱalsȱBindeȬ gliedȱ zwischenȱ Senderȱ undȱ Empfängerȱ (Quelleȱ undȱ Senke).ȱ Analogeȱ ÜbertraȬ gungskanäleȱ sindȱ durchȱ eineȱ Frequenzlageȱ mitȱ einerȱ oberenȱ undȱ unterenȱ GrenzȬ frequenzȱcharakterisiert.ȱSignalverfälschungenȱkönnenȱdurchȱadditiveȱundȱmultipȬ likativeȱ Effekteȱ auftretenȱ (Eigenrauschen,ȱ Störsignale,ȱ Verzerrungen).ȱ Digitaleȱ ÜbertragungskanäleȱsindȱgekennzeichnetȱdurchȱeineȱÜbertragungsrateȱinȱderȱEinȬ heitȱBit/sȱundȱeinerȱBitfehlerquote.ȱȱ Quelle
Senke
Wandler
Wandler
Kanalanpassung
Kanalanpassung
Information
Signal
Information
Übertragungskanal
Störungen (Rauschen, Echo)
ȱ Abbildungȱ2Ȭ1:ȱGrundstrukturȱeinesȱÜbertragungssystemsȱ
Manȱ unterscheidetȱ nochȱ genauerȱ zwischenȱ Übertragungskanalȱ undȱ ÜbertragungsȬ medium.ȱÜbertragungsmedien,ȱdieȱgelegentlichȱauchȱphysikalischeȱKanäleȱgenanntȱ werden,ȱ sindȱ u.a.ȱ verdrillteȱ Kupferleitungen,ȱ Koaxialkabel,ȱ Lichtwellenleiterȱ (LWL),ȱInfrarotstrecken,ȱLaserstrahlenȱundȱFunkstrecken.ȱȱ Schrittgeschwindigkeit,ȱ Wertigkeit,ȱ Bitrate,ȱ Kodiermethodeȱ (Meierȱ 2002).ȱ Dieȱ ZeitȱT,ȱwelcheȱfürȱdieȱÜbertragungȱvonȱInformationȱbenötigtȱwird,ȱhängtȱvonȱderȱ Kodiermethodeȱ undȱ derȱ Schrittgeschwindigkeitȱ ab.ȱ Dieȱ Kodiermethodeȱ befasstȱ sichȱmitȱderȱAbbildungȱeinesȱbeiȱderȱQuelleȱ(beimȱSender)ȱeingegebenenȱSymbolȬ vorratsȱMȱaufȱdenȱhierfürȱauszugebendenȱSignalverlaufȱimȱKanal.ȱDieȱAnzahlȱderȱ Symboleȱ einesȱ Codesȱ heißtȱ Wertigkeitȱ vonȱ Mȱ (auchȱ Anzahlȱ derȱ Signalstufenȱ geȬ nannt)ȱundȱwirdȱmitȱId(M)ȱdargestellt.ȱȱ Dieȱ Bitrateȱ Rȱ (auch:ȱ Datenrate;ȱ Datenübertragungsrateȱ oderȱ ÜbertragungsgeȬ schwindigkeitȱ genannt)ȱ einesȱ digitalenȱ Signalsȱ wirdȱ inȱ Bit/sȱ angegeben.ȱ Umȱ hierȱ einȱ Gefühlȱ fürȱ Größenordnungenȱ zuȱ vermittelnȱ sollenȱ einigeȱ Beispieleȱ genanntȱ werden:ȱ
17ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ – Zurȱ Übertragungȱ vonȱ Spracheȱ inȱ Telefonqualitätȱ benötigtȱ manȱ eineȱ Bitrateȱ vonȱ64ȱKbit/s.ȱ – Fürȱ einenȱ StereoȬMusikȬDatenstromȱ benötigtȱ manȱ ohneȱ Kompressionȱ eineȱ Bitrateȱ vonȱ ca.ȱ 1,4ȱ Mbit/sȱ (2ȱ Kanäleȱ mitȱ jeȱ 44,1ȱ kHzȱ Abtastrateȱ undȱ 16ȱ Bitȱ Bandbreite)ȱ – Fürȱ einȱ Farbvideoȱ benötigtȱ manȱ 216ȱ Mbit/s,ȱ mitȱ Kompressionȱ kommtȱ manȱ mitȱ5Ȭ10ȱMbit/sȱaus.ȱ – ÜberȱeinenȱUniversalȱSerialȱBusȱeinesȱPersonalȱComputersȱ(USB3)ȱkönnenȱ5ȱ Gbit/sȱübertragenȱwerden.ȱȱ – ÜberȱlokaleȱNetzwerkeȱz.B.ȱaufȱEthernetȬBasisȱ(sieheȱKapitelȱ3)ȱsindȱBitratenȱ imȱGbit/sȬBereichȱmachbar.ȱ DieȱBitrateȱistȱderȱreziprokeȱWertȱ(Kehrwert)ȱfürȱdieȱZeit,ȱdieȱbenötigtȱwird,ȱumȱeinȱ BitȱüberȱeinenȱKanalȱzuȱversendenȱ(auchȱalsȱBitdauerȱbezeichnet).ȱBeträgtȱdieȱBitraȬ teȱbeispielsweiseȱ10ȱMbit/s,ȱdannȱergibtȱsichȱeineȱBitdauerȱvonȱ100ȱns.ȱ DieȱSchrittgeschwindigkeitȱSȱȱ(SchrittrateȱoderȱTaktfrequenz)ȱistȱdieȱAnzahlȱderȱZuȬ standsänderungenȱeinesȱSignalsȱproȱZeiteinheitȱundȱlegtȱfest,ȱwieȱoftȱsichȱderȱWertȱ desȱSignalsȱändert.ȱDasȱSignalȱkönnteȱhierȱeineȱSpannungȱseinȱundȱdieȱZeitȱinȱSeȬ kundenȱangegebenȱwerden.ȱManȱmisstȱdieȱSchrittgeschwindigkeitȱSȱinȱbaud:ȱ baud = bd = 1/s
NurȱbeiȱbinärenȱSignalenȱ(0ȱoderȱ1)ȱistȱ1ȱbaudȱ=ȱȱ1ȱBit/sȱundȱMȱ=ȱ2,ȱbeiȱquaternärerȱ Übertragungȱ (Mȱ =ȱ 4)ȱ istȱ 1ȱ baudȱ =ȱ 2ȱ Bit/sȱ undȱ beiȱ einemȱ achtwertigenȱ Codeȱ istȱ 1ȱ baudȱ=ȱ4ȱBit/sȱundȱMȱ=ȱ8.ȱEineȱLeitungȱmitȱbȱBaudȱüberträgtȱalsoȱnichtȱunbedingtȱ mitȱeinerȱDatenrateȱvonȱbȱBit/s,ȱdaȱjederȱSignalwertȱnichtȱimmerȱnurȱeinȱBitȱüberȬ trägt,ȱ sondernȱ evtl.ȱ sogarȱ mehrereȱ oderȱ wenigerȱ Bitsȱ inȱ einemȱ Schrittȱ übertragenȱ werdenȱ können.ȱ Dieȱ Schrittgeschwindigkeitȱ Sȱ darfȱ alsoȱ nichtȱ mitȱ derȱ Bitrateȱ Rȱ verwechseltȱwerden.ȱEsȱgilt:ȱ R = S * ld(M) / 2 [Bit/s]
Hierbeiȱistȱzuȱbeachten,ȱdassȱdieȱEinheitȱBit/sȱistȱundȱ1ȱMbpsȱ=ȱ1ȱMbit/sȱ=ȱ1ȱMegaȬ bit/sȱ=ȱ1.000.000ȱBit/sȱundȱnichtȱ220ȱBit/sȱist.ȱ Übertragungsstörungen.ȱ Daȱ Übertragungsmedienȱ nichtȱ perfektȱ sind,ȱ kannȱ esȱ zuȱ Übertragungsfehlernȱ kommen.ȱ Möglicheȱ Problemeȱ beiȱ derȱ Übertragungȱ könnenȱ sein:ȱ – Dämpfung:ȱ ȱ Hierȱ istȱ derȱ Energieverlust,ȱ derȱ beiȱ derȱ Verbreitungȱ einesȱ SigȬ nalsȱ entsteht,ȱ gemeint.ȱ Manȱ misstȱ dieȱ Dämpfungȱ inȱ Dezibelȱ proȱ Kilometerȱ (db/km).ȱDerȱEnergieverlustȱistȱabhängigȱvonȱderȱFrequenz.ȱDasȱSignalȱwirdȱ beiȱterrestrischenȱMedienȱlogarithmischȱmitȱderȱEntfernungȱschwächer.ȱ – Laufzeitverzerrung:ȱȱHierunterȱverstehtȱmanȱdasȱÜberholenȱundȱdamitȱMiȬ schenȱvonȱBits.ȱ – Rauschen:ȱ ȱ Diesȱ istȱ dieȱ Beeinträchtigungȱ derȱ Übertragungȱ durchȱ unerȬ
18ȱ
2.1ȱȱBitübertragungsschichtȱ wünschteȱ Energieȱ ausȱ anderenȱ Quellenȱ wieȱ etwaȱ durchȱ engȱ benachbarteȱ Drähteȱ(NebensprechenȱdurchȱinduktiveȱKopplung).ȱ WieȱAbbildungȱ2Ȭ1ȱ zeigt,ȱwirdȱeinȱKanalȱdurchȱRauschenȱoderȱEchoȱusw.ȱgestört.ȱ Das,ȱwasȱderȱSenderȱinȱdenȱKanalȱeinstellt,ȱsollȱnatürlichȱbeimȱEmpfängerȱankomȬ men,ȱundȱdaherȱmüssenȱStörungenȱmöglichstȱerkanntȱundȱkorrigiertȱwerden.ȱ Bandbreite.ȱ ȱ Dieȱ Bandbreiteȱ Bȱ einesȱ Kanalsȱ istȱ inȱ derȱ Übertragungstechnikȱ derȱ Frequenzbereich,ȱinȱdemȱeinȱSystemȱohneȱübermäßigeȱDämpfungȱübertragenȱkann.ȱ Dieȱ Bandbreiteȱ wirdȱ inȱ Hzȱ gemessen.ȱ Inȱ derȱ Datentechnikȱ verwendetȱ manȱ denȱ Begriffȱ Bandbreiteȱ auchȱ undȱ meintȱ damitȱ dieȱ Gesamtkapazitätȱ desȱ Netzwerks.ȱ Jeȱ mehrȱInformationȱproȱZeiteinheitȱübertragenȱwerdenȱmuss,ȱdestoȱmehrȱBandbreiteȱ istȱerforderlich.ȱȱ FürȱeinenȱrauschfreienȱKanalȱgibtȱesȱnachȱNynquistȱ(1924)ȱundȱShannonȱ(1948)ȱeineȱ maximaleȱBitrateȱmitȱeingeschränkterȱBandbreiteȱB.ȱDasȱNynquistȬTheoremȱȱbesagt,ȱ dassȱsichȱdieȱBitrateȱeinesȱKanalsȱwieȱfolgtȱergibt:ȱ R < 2 * B * ld(M) / 2 [Bit/s]
Beispiel:ȱBetrachtetȱmanȱz.B.ȱeineȱBandbreiteȱvonȱ3ȱkHzȱmitȱbinäremȱCodeȱMȱ=ȱ2,ȱ dannȱ ergibtȱ sich,ȱ dassȱ einȱrauschfreierȱKanalȱ mitȱ dieserȱ Bandbreiteȱ maximalȱ6000ȱ Bit/sȱübertragenȱkann:ȱ R < 2 * 3000 * 1 Bit/s Æ R < 6000 Bit/s. Transferzeit = Tü + Td
Sender
Empfänger
Übertragungszeit Tü = b / vü
Endliche Ausbreitungsgeschwindigkeit im Medium
Übertragungsmedium (Laufzeit Td = d / vd )
ȱ Abbildungȱ2Ȭ2:ȱLaufzeit,ȱTransferzeitȱundȱÜbertragungszeitȱ
Übertragungszeit,ȱ Laufzeitȱ undȱ Transferzeit.ȱȱInteressantȱistȱauchȱdieȱBeziehungȱ zwischenȱderȱÜbertragungszeit,ȱderȱLaufzeitȱundȱderȱTransferzeitȱeinesȱNachrichȬ tenblocksȱ(Abbildungȱ2Ȭ2).ȱȱ Einȱ Blockȱ mitȱ bestimmterȱ Bitlängeȱ bȱ (inȱ Bit)ȱ wirdȱ beimȱ Senderȱ inȱ endlicherȱ GeȬ schwindigkeitȱvüȱ(inȱBit/s)ȱgesendet.ȱDieseȱZeitȱistȱdieȱÜbertragungszeitȱTü.ȱSieȱgibtȱ dieȱZeitȱan,ȱdieȱbenötigtȱwird,ȱbisȱderȱBitblockȱanȱdasȱMediumȱübergebenȱist:ȱ Tü = b / vü [s]
19ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ DerȱBitblockȱkommtȱaufgrundȱderȱendlichenȱSignalgeschwindigkeitȱbzw.ȱAusbreiȬ tungsgeschwindigkeitȱ vdȱ (gemessenȱ inȱ m/s)ȱ derȱ Signaleȱ undȱ einerȱ endlichenȱ EntȬ fernungȱdȱ(inȱm)ȱerstȱnachȱeinerȱbestimmtenȱLaufzeitȱTdȱbeimȱEmpfängerȱan:ȱ Td = d / vd [s]
DieȱLaufzeitȱistȱabhängigȱvomȱMedium.ȱDieȱTransferzeitȱTt,ȱȱalsoȱdieȱgesamteȱZeitȱ vomȱ Absendenȱ desȱ Bitblocksȱ bisȱ zurȱ Ankunftȱ beimȱ Empfänger,ȱ ergibtȱ sichȱ alsȱ SummeȱvonȱÜbertragungszeitȱundȱLaufzeit:ȱ Tt = Tü + Td [s]
Beiȱ niedrigenȱ Übertragungsgeschwindigkeitenȱ wirdȱ dieȱ Laufzeitȱ gegenüberȱ derȱ Übertragungszeitȱ vernachlässigbar,ȱ beiȱ großenȱ Entfernungenȱ istȱ dasȱ allerdingsȱ nichtȱso.ȱDieȱLaufzeitȱhängtȱvomȱMediumȱab.ȱEinigeȱMedienȱundȱderenȱAusbreiȬ tungsgeschwindigkeitenȱ undȱ Laufzeitenȱ sindȱ inȱ Tabelleȱ 2Ȭ1ȱ dargestellt.ȱ ZumȱVerȬ gleich:ȱ Schnellerȱ alsȱ dieȱ Lichtgeschwindigkeit,ȱ dieȱ ca.ȱ 300.000ȱ km/sȱ =ȱ 3ȱ *ȱ 108ȱ m/sȱ beträgt,ȱistȱheuteȱnichtȱmöglich.ȱAlleȱelektromagnetischenȱStrahlungenȱbreitenȱsichȱ imȱVakuumȱmitȱLichtgeschwindigkeitȱaus.ȱInȱeinemȱdichterenȱMediumȱwieȱKupferȱ oderȱGlasȱsinktȱdieȱGeschwindigkeitȱ Mediumȱ
~ȱAusbreitungsgeȬ ~ȱLaufzeitȱTdȱinȱs/kmȱ schwindigkeitȱvdȱinȱm/sȱ
Funkkanalȱ
3*108ȱ(näherungsweise)ȱ
1/3*10Ȭ5ȱȱ(0,00000333…)ȱ
FreiraumȬInfrarotȱ
3*108ȱ(näherungsweise)ȱ
1/3*10Ȭ5ȱȱ(0,00000333…)ȱ
Glasfaserleitungȱ(Quarzglas)ȱ
2*108ȱ
5*10Ȭ6ȱȱ(0,000005)ȱ
BasisbandȬKoaxialkabelȱ(50/75ȱ Ohm)ȱ
2,3*108ȱ
4,3*10Ȭ6ȱȱ(0,0000043…)ȱ
Zweidrahtleitungȱ(verdrillt)ȱ
2,5*108ȱ
4*10Ȭ6ȱȱ(0,000004)ȱ
Tabelleȱ2Ȭ1:ȱTypischeȱLaufzeitenȱ
Beispielȱ 1:ȱ Betrachtenȱ wirȱ eineȱ verdrillteȱ Zweidrahtleitungȱ mitȱ einerȱ ÜbertraȬ gungsgeschwindigkeitȱvonȱ2.400ȱBit/sȱundȱeinerȱAusbreitungsgeschwindigkeitȱvonȱ 2,5ȱ*ȱ108ȱm/s,ȱüberȱdieȱeinȱBitblockȱderȱLängeȱ100ȱBitȱübertragenȱwerdenȱsoll.ȱNehȬ menȱwirȱweiterhinȱan,ȱdassȱdieȱLeitungȱ100ȱkmȱlangȱsei.ȱHierȱergibtȱsichȱalsȱTransȬ ferzeit:ȱ Tü = 100 Bit / 2.400 Bit/s ~ 42 ms; Td = 100.000 m / (2,5 * 108 m/s) =
0,4 ms;
Tt = Tü + Td ~ 42 ms + 0,4 ms ~ 42,4 ms;ȱ
HierȱistȱalsoȱdieȱLaufzeitȱimȱVergleichȱzurȱÜbertragungszeitȱvernachlässigbar.ȱ
20ȱ
2.1ȱȱBitübertragungsschichtȱ Beispielȱ2:ȱBetrachtenȱwirȱnunȱeineȱFunkverbindungȱüberȱgeostationäreȱSatellitenȱ mitȱeinerȱÜbertragungsgeschwindigkeitȱvonȱ2.400ȱBit/sȱundȱeinerȱAusbreitungsgeȬ schwindigkeitȱvonȱ3ȱ*ȱ108ȱm/s.ȱZuȱübertragenȱistȱebenfallsȱeinȱBitblockȱderȱLängeȱ 100ȱ Bitȱ undȱ dieȱ Leitungȱ seiȱ 36.000ȱ kmȱ *ȱ 2ȱ (hinȱ undȱ zurück)ȱ lang.ȱ Dasȱ Funksignalȱ mussȱjaȱzumȱSatellitenȱundȱwiederȱzurȱErdeȱzurück.ȱDannȱergibtȱsichȱalsȱTransferȬ zeit:ȱ Tü
= 100 Bit / 2.400 Bit/s ~ 42 ms;
Td = 72*106 m / 3*108 m/s) = 24*10-2 s (240ms); Tt = Tü + Td ~ 42 ms + 240 ms ~ 282 ms;
BeiȱdiesemȱBeispielȱistȱesȱgenauȱumgekehrt:ȱNichtȱdieȱLaufzeit,ȱsondernȱdieȱÜberȬ tragungszeitȱistȱvernachlässigbar.ȱȱ Esȱseiȱnochmalsȱangemerkt,ȱdassȱdieȱBitrateȱnurȱdieȱZeitȱangibt,ȱdieȱbenötigtȱwird,ȱ umȱdieȱDatenȱinȱdasȱÜbertragungsmediumȱeinzustellen.ȱJeȱgrößerȱdieȱEntfernungȱ ist,ȱdestoȱwenigerȱistȱdieȱBitrateȱfürȱdieȱgesamteȱTransferzeitȱentscheidend.ȱ Übertragungszeit
1000 sec 100 sec 10 sec 1 sec 100 msec 10 msec 1 msec 103 104 105 106 107 108 109 1010 10111012
Datenrate Bit/s
ȱ
Abbildungȱ2Ȭ3:ȱÜbertragungszeitȱfürȱeineȱ1ȬMbyteȬDateiȱbeiȱeinerȱEntfernungȱvonȱ4.000ȱ kmȱnachȱ(Zitterbartȱ1995)ȱ
Abbildungȱ 2Ȭ3ȱ zeigtȱ amȱ Beispielȱ derȱ Übertragungȱ einerȱ 1ȬMbyteȬDateiȱ überȱ 4.000ȱ km,ȱ dassȱ sichȱ dieȱ Übertragungszeitȱ beiȱ großenȱ Distanzenȱ auchȱ durchȱ deutlicheȱ Erhöhungȱ derȱ Bitrateȱ nichtȱ mehrȱ wesentlichȱ verbessernȱ lässt.ȱ Manȱ sieht,ȱ dassȱ dieȱ Übertragungszeitȱ beiȱ Geschwindigkeitenȱ vonȱ bisȱ zuȱ 1ȱ Mbit/sȱ vonȱ derȱ Datenrateȱ beherrschtȱwird,ȱvonȱdaȱabȱbestimmtȱvorȱallemȱdieȱRundreiseverzögerungȱvonȱ40ȱ msȱdieȱÜbertragungszeit.ȱNurȱ1ȱmsȱwirdȱbeiȱ1ȱGbit/sȱfürȱdasȱEinspeisenȱderȱBitsȱinȱ dieȱLeitungȱbenötigt,ȱderȱRestȱwirdȱfürȱdieȱLaufzeitȱbenötigt.ȱ Jitterȱ undȱ Verzögerungssensibilität.ȱ ȱ Eineȱ insbesondereȱ fürȱ dieȱ MultimediaȬ DatenübertragungȱwichtigeȱQualitätsgrößeȱistȱdieȱVerzögerungsschwankungȱbzw.ȱ dasȱ Jitterȱ (Flattern).ȱ Damitȱ bezeichnetȱ manȱ dieȱ Schwankungȱ inȱ derȱ Verzögerungȱ nacheinanderȱ empfangenerȱ Datenpakete.ȱ MultimediaȬAnwendungenȱ (Audio,ȱ ViȬ
21ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ deo)ȱwieȱHDTVȱ(HighȱDefinitionȱTV)ȱbenötigenȱeinenȱkontinuierlichenȱDatenflussȱ undȱdamitȱeineȱminimaleȱVerzögerungsschwankung.ȱManȱsagt,ȱdieseȱAnwendunȬ genȱ sindȱ sensibelȱ fürȱ Verzögerungsschwankungen.ȱ Deshalbȱ istȱ dieserȱ Parameterȱ einȱ wichtigerȱ Aspektȱ hinsichtlichȱ derȱ Dienstequalitätȱ derartigerȱ Anwendungen.ȱ Wenigerȱ wichtigȱ istȱ diesȱ etwaȱ beiȱ klassischenȱ FiletransferȬAnwendungen,ȱ daȱ dieȱ SchwankungenȱhierȱnichtȱbeimȱAnwenderȱsichtbarȱwerden.ȱ
2.1.3
Digitale Übertragung und Multiplexierung
ZurȱÜbertragungȱeinesȱBitstromsȱgibtȱesȱgrundsätzlichȱzweiȱVarianten,ȱdieȱanalogeȱ undȱ dieȱ digitaleȱ Übertragung.ȱ Dieȱ analogeȱ Übertragungȱ funktioniertȱ mitȱ einerȱ Mengeȱ anȱ kodiertenȱ Wertenȱ ausȱ einemȱ kontinuierlichenȱ undȱ unendlichenȱ ZeiȬ chenvorrat.ȱDieȱdigitalenȱSignaleȱmüssenȱbeiȱanalogerȱÜbertragungȱaufȱeinȱTrägerȬ signalȱaufmoduliertȱwerden.ȱDieȱdigitaleȱÜbertragungȱhatȱgegenüberȱderȱanalogenȱ ÜbertragungȱeinigeȱVorteile.ȱ Sieȱistȱpräziser,ȱschnellerȱundȱdeutlichȱwenigerȱstörȬ anfällig,ȱ undȱ zudemȱ zeichnetȱ sieȱ sichȱ durchȱ eineȱ höhereȱ Übertragungskapazitätȱ aus.ȱ Modulationsarten.ȱ Alsȱ Modulationsartenȱ ȱ sindȱ Frequenzmodulationȱ (z.B.ȱ eineȱ Schwingungȱ =ȱ 1,ȱ zweiȱ Schwingungenȱ =ȱ 0),ȱ Amplitudenmodulationȱ (z.B.ȱ flacheȱ Schwingungȱ =ȱ 0)ȱ undȱ Phasenmodulationȱ (z.B.ȱ vorgezogeneȱ Phaseȱ istȱ 1)ȱ möglich.ȱ Einȱ Beispielȱ fürȱ einenȱ Standardȱ zurȱ analogenȱ Übertragungȱ istȱ dieȱ vonȱ derȱ ITUȬTȱ genormteȱV24ȬSchnittstelle.ȱDigitaleȱÜbertragungȱzeichnetȱsichȱdurchȱeinenȱendliȬ chenȱZeichenvorratȱmitȱsprungartigemȱÜbergangȱzwischenȱdigitalenȱZeichenȱaus.ȱ BeispielsystemeȱfürȱdieȱdigitaleȱÜbertragungȱsindȱISDNȱundȱADSL.ȱ Inȱ Bezugȱ aufȱ dieȱ Übertragungsgeschwindigkeitȱ unterscheidetȱ manȱ zwischenȱ SchmalbandȬȱ undȱ Breitbandnetzenȱ undȱ meintȱ damitȱ einfachȱ zweiȱ nichtȱ klarȱ voneiȬ nanderȱ abgegrenzteȱ Geschwindigkeitsklassen.ȱ „Schmalbandige“ȱ Netzeȱ sindȱ z.B.ȱ dasȱheutigeȱISDN 1ȱ(auchȱSchmalbandȬISDNȱgenannt)ȱoderȱklassischeȱLANs.ȱTypiȬ scheȱ „breitbandige“ȱ Netzeȱ sindȱ GigabitȬEthernetȱ undȱ ATMȬNetze.ȱ Währendȱ manȱ beiȱ Basisbandsystemenȱ(Schmalbandsysteme)ȱimȱ Übertragungsmediumȱ nurȱ einenȱ logischenȱKanalȱnutzt,ȱwirdȱdieȱBandbreiteȱinȱBreitbandsystemenȱaufȱmehrereȱKaȬ näleȱaufgeteilt,ȱalsoȱeineȱArtȱMultiplexierungȱbetrieben.ȱDamitȱlässtȱsichȱinsgesamtȱ eineȱwesentlichȱhöhereȱDatenrateȱbzw.ȱÜbertragungsgeschwindigkeitȱerzielen.ȱ Multiplexierungsverfahren Einȱ Übertragungskanalȱ istȱ imȱ Allgemeinenȱ teuer.ȱ Wennȱ alsoȱ dieȱ theoretischeȱ Grenzeȱ derȱ Kanalkapazitätȱ nochȱ nichtȱ ausgeschöpftȱ ist,ȱ kannȱ manȱ alsȱ Mittelȱ derȱ Kostensenkungȱ fürȱ dieȱ Übertragungȱ mehrereȱ logischeȱ Verbindungenȱ aufȱ demselȬ benȱ geographischenȱ Wegȱ sog.ȱ Multiplexierungsverfahrenȱ (Multiplexing)ȱ einsetzen.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ISDNȱ =ȱ Integratedȱ Serviceȱ Digitalȱ Network:ȱ Diesesȱ Systemȱ wurdeȱ eingeführt,ȱ umȱ SprachȬȱundȱDatenübertragung,ȱalsoȱTelefonieȱundȱRechnerkommunikation,ȱüberȱeinenȱ Netzzugangȱdigitalȱundȱintegriertȱzuȱermöglichen.ȱ
1
22ȱ
2.1ȱȱBitübertragungsschichtȱ Hierȱ bietenȱ sichȱ imȱ Wesentlichenȱ dasȱ FrequenzȬȱ undȱ Zeitmultiplexverfahrenȱ (FreȬ quencyȱDivisionȱMultiplexingȱ=ȱFDMȱundȱTimeȱDivisionȱMultiplexingȱ=ȱTDM)ȱȱanȱ (sieheȱhierzuȱAbbildungȱ2Ȭ4).ȱBeiȱFDMȱwirdȱdasȱnutzbareȱFrequenzbandȱdesȱÜberȬ tragungsmediumsȱ inȱ mehrereȱ Teilbänderȱ aufgeteilt.ȱ Beiȱ TDMȱ wirdȱ dasȱ ÜbertraȬ gungsmediumȱ fürȱ bestimmteȱ Zeitperiodenȱ einemȱ QuellenȬSenkenȬPaarȱ zugeordȬ net.ȱ Dieȱ Übertragungȱ erfolgtȱ inȱ Zeitperiodenȱ undȱ daherȱ istȱ eineȱ Umschaltungȱ erȬ forderlich.ȱ Frequenz
Frequenz
Aufteilung in sich nicht überlappende Teilbänder Frequenzband
Frequenzband
Frequenzmultiplex
Zeit
Zeitmultiplex
Zeit
ȱ
Abbildungȱ2Ȭ4:ȱFrequenzȬȱundȱZeitmultiplexverfahrenȱȱ
Analogeȱ Signaleȱ müssenȱ zuerstȱ digitalisiertȱ werden,ȱ eheȱ sieȱ inȱ einemȱ digitalenȱ Systemȱ weiterberarbeitetȱ werdenȱ können.ȱ Einȱ analogesȱ Signalȱ istȱ zunächstȱ zeitȬȱ undȱwertkontinuierlichȱundȱmussȱinȱeinȱzeitȬȱundȱwertdiskretesȱSignalȱumgewanȬ deltȱwerden.ȱEinȱdigitalesȱSignalȱhatȱalsoȱeinȱdiskretesȱArgumentȱundȱeinenȱdiskreȬ tenȱWertebereichȱundȱauchȱnurȱendlichȱvielȱInformation.ȱ Pulse Code Modulation (PCM) Einȱ wichtigesȱ TDMȬbasiertesȱ Verfahrenȱ istȱ PCMȱ (Pulseȱ Codeȱ Modulation).ȱ PCMȱ bildetȱdieȱGrundlageȱfürȱeinigeȱKommunikationssystemeȱundȱistȱderȱStandardȱfürȱ dieȱ digitaleȱ Kodierungȱ vonȱ Audiodatenȱ imȱ Telefonnetz.ȱ Dasȱ Grundprinzipȱ derȱ A/DȬUmwandlungȱ(AnalogȬDigitalȬUmwandlung)ȱwirdȱimȱFolgendenȱbeschrieben.ȱ Dreiȱ Bearbeitungsschritteȱ sindȱ imȱ PCMȬVerfahrenȱ fürȱ dieȱ Digitalisierungȱ einesȱ analogenȱSignalsȱerforderlich:ȱ – Abtastungȱ – Quantisierungȱ – Kodierungȱ Abtastung.ȱ Dasȱ Zielȱ derȱ Abtastungȱ istȱ zunächst,ȱ einȱ zeitkontinuierlichesȱ Signalȱ inȱ einȱ zeitdiskretesȱ umzuwandeln.ȱ Nachȱ Abbildungȱ 2Ȭ5ȱ wirdȱ dasȱ analogeȱ Signalȱ inȱ konstantenȱ Zeitabständenȱ Tȱ abgetastetȱ (sampling).ȱ Beiȱ dieserȱ Abtastungȱ werdenȱ dieȱSignalwerteȱübernommenȱundȱmanȱerhältȱeinȱzeitdiskretes,ȱaberȱnochȱwertkonȬ tinuierlichesȱSignal.ȱDiesȱistȱnochȱkeinȱdigitalesȱSignal.ȱDieȱ„Samples“ȱmüssenȱalsoȱ nochȱweiterverarbeitetȱwerden,ȱwasȱbeiȱderȱQuantisierungȱerfolgt.ȱ
23ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ Analoges Signal
Zeitdiskretes Signal
Wert
Wert
x
x x
x x
x
Zeit
Zeit
TA =Abtastintervall
ȱ Abbildungȱ2Ȭ5:ȱAbtastungȱeinesȱanalogenȱSignalsȱ
BeimȱsamplingȱspieltȱalsȱGrundideeȱdasȱAbtasttheoremȱvonȱShannonȱeineȱbedeutendeȱ Rolle.ȱNachȱShannonȱgilt,ȱdassȱdieȱAbtastfrequenzȱgrößerȱseinȱmussȱalsȱdieȱdoppelȬ teȱBandbreiteȱBȱdesȱanalogenȱSignals.ȱEsȱmussȱalsoȱgelten:ȱ 1 / TA = fA > 2 * B
fAȱistȱdieȱminimaleȱAbtastfrequenz,ȱTAȱdasȱAbtastintervall,ȱundȱBȱistȱdieȱBandbreite.ȱ Wirdȱdiesȱeingehalten,ȱsoȱstehtȱbeimȱEmpfängerȱgenügendȱInformationȱzurȱVerfüȬ gung,ȱumȱdasȱOriginalsignalȱfehlerfreiȱzuȱrekonstruieren.ȱMusikinstrumenteȱhabenȱ beispielsweiseȱeineȱBandbreiteȱvonȱetwaȱ20ȱkHzȱoderȱsogarȱmehr,ȱwasȱaberȱdannȱ dasȱmenschlicheȱOhrȱgarȱnichtȱmehrȱhört.ȱBeiȱCDsȱarbeitetȱmanȱmitȱeinerȱAbtastȬ frequenzȱvonȱ44.1ȱkHz,ȱalsoȱmehrȱalsȱdasȱDoppelteȱderȱGrenzfrequenz,ȱundȱdamitȱ wirdȱdasȱAbtasttheoremȱmehrȱalsȱerfülltȱ(Meyerȱ2002).ȱ Quantisierung.ȱ Dieȱ Quantisierungȱ hatȱ dasȱ Ziel,ȱ ausȱ einemȱ wertkontinuierlichenȱ SignalȱeinȱwertdiskretesȱSignalȱzuȱerzeugen.ȱDiesȱgeschiehtȱimȱPrinzipȱdurchȱRunȬ den.ȱ Dazuȱ wirdȱ derȱ Wertebereichȱ desȱ analogenȱ Signalsȱ inȱ eineȱ endlicheȱ Anzahlȱ vonȱQuantisierungsintervallenȱgegliedert.ȱJedesȱIntervallȱwirdȱmitȱeinemȱdiskretenȱ Wertȱ belegt.ȱ Allenȱ analogenȱ Signalenȱ desȱ Intervallsȱ wirdȱ derselbeȱ diskreteȱ Wertȱ zugewiesen.ȱ Hierbeiȱ sindȱ Quantisierungsfehlerȱ (Signalverfälschungen)ȱ wieȱ RauȬ schenȱ oderȱ Quantisierungsrauschenȱ möglich,ȱ dieȱ sichȱ aufȱ max.ȱ ½ȱ desȱ Intervallsȱ belaufenȱundȱeinenȱInformationsverlustȱalsȱPreisȱfürȱdieȱVorteileȱderȱDigitaltechnikȱ zurȱFolgeȱhaben.ȱJeȱkleinerȱdasȱQuantisierungsintervallȱist,ȱumsoȱgeringerȱsindȱdieȱ Quantisierungsfehler.ȱȱ
24ȱ
2.1ȱȱBitübertragungsschichtȱ Analoges Signal
Wert- und zeitdiskretes Signal Wert
Wert
Quantisierungsintervall
Zeit
7 6 5 x 4 3 2 1 0
x x
x x
x
Zeit
TA =Abtastintervall
Abbildungȱ2Ȭ6:ȱQuantisierungȱeinesȱanalogenȱSignalsȱ
InȱAbbildungȱ2Ȭ6ȱstellenȱdieȱhorizontalenȱLinienȱdieȱmöglichenȱganzzahligenȱWerȬ teȱdar.ȱEinȱA/DȬWandlerȱwähltȱjeweilsȱdenȱnächstliegendenȱWertȱalsȱCodeȱaus,ȱwasȱ imȱ Beispielȱ dieȱ Wertefolgeȱ „5ȱ 5ȱ 4ȱ 3ȱ 3ȱ 4“ȱ ergibt.ȱ Inȱ derȱ PCMȬTechnikȱ gibtȱ esȱ 256ȱ Quantisierungsintervalle,ȱ inȱ Abbildungȱ 2Ȭ6ȱ sindȱ achtȱ Quantisierungsintervalleȱ dargestellt.ȱNachȱderȱQuantisierungȱistȱeinȱSignalȱdigital,ȱalsoȱwertȬȱundȱzeitdiskret.ȱ Kodierung.ȱ Dieȱ Kodierungȱ hatȱ schließlichȱ nochȱ dieȱ Aufgabe,ȱ denȱ QuantisierungsȬ intervallenȱCodesȱzuzuordnen.ȱDieȱPCMȬTechnikȱbenötigtȱ8ȱBitȱfürȱdieȱKodierung,ȱ daȱ256ȱQuantisierungsintervalleȱkodiertȱwerdenȱmüssen.ȱBeiȱachtȱQuantisierungsȬ intervallen,ȱwieȱinȱderȱAbbildungȱskizziert,ȱbenötigtȱmanȱdreiȱBitȱzurȱKodierung.ȱ Einȱ Haupteinsatzgebietȱ vonȱ PCMȱ istȱ dieȱ Telefonie.ȱ Einȱ analogerȱ Fernsprechkanalȱ hatȱeineȱBandbreiteȱvonȱ3100ȱHzȱzwischenȱ300ȱHzȱundȱ3400ȱHz,ȱalso:ȱ fA > 2 * 3100 Hz Æ fA > 6200 Hz
Technischȱ wurdeȱ eineȱ erhöhteȱ Abtastfrequenzȱ vonȱ 8000ȱ Hzȱ realisiert.ȱ Alsȱ AbtastȬ intervallȱ(AbtastperiodeȱTA)ȱergibtȱsichȱdannȱȱ TA =
1 / fA
= 125 Ps.
Alleȱ125ȱPsȱwirdȱdasȱanalogeȱFernsprechsignalȱabgetastet,ȱumȱesȱzuȱdigitalisieren.ȱ EinȱdigitalerȱSprachkanalȱhatȱdannȱfolgendeȱBitrate:ȱ fA * 8 Bit = 8000 Hz * 8 Bit = 64 Kbit/s (Anm: Hz = 1/s)
Dieȱ PCMȬTechnikȱ istȱ heuteȱ insbesondereȱ fürȱ dieȱ sog.ȱ dienstintegrierendenȱ Netzeȱ fürȱdieȱgleichzeitigeȱÜbertragungȱvonȱDaten,ȱBewegtbildernȱundȱSpracheȱvonȱBeȬ deutungȱundȱwirdȱz.B.ȱbeiȱISDNȱeingesetzt.ȱEinȱISDNȬBȬKanalȱhatȱeineȱBitrateȱvonȱ 64ȱKbit/sȱundȱrepräsentiertȱeinenȱdigitalenȱSprachkanal.ȱ AufȱBasisȱderȱGrundeinheitȱvonȱ64ȱKbit/sȱwurdeȱeineȱsog.ȱÜbertragungshierarchieȱ definiert,ȱinȱderȱjeweilsȱmehrereȱKanäleȱmultiplexiertȱwerdenȱkönnenȱ(vgl.ȱTabelleȱ 2Ȭ2).ȱInȱPCMȬ30ȱsindȱdannȱz.B.ȱ 30 * 64 Kbit/s + 2 * 64 Kbit/s (Steuerinformation) = 2,048 Mbit/s
verfügbar.ȱEntsprechendȱgibtȱesȱPCMȬ120ȱmitȱ8,448ȱMBit/sȱusw.ȱȱ
25ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ Tabelleȱ2Ȭ2:ȱPCMȬÜbertragungshierarchieȱ PCMȬHierarchieȱ
Übertragungsrateȱ
PCMȬ30ȱ
2,048ȱMbit/sȱ
PCMȬ120ȱ
8,448ȱMbit/sȱ
PCMȬ480ȱ
34,368ȱMbit/sȱ
PCMȬ1920ȱ
139,264ȱMbit/sȱ
PCMȬ7680ȱ
564,992ȱMbit/sȱ
ȱ
2.1.4
Quellen-, Kanal- und Leitungskodierung
BevorȱDatenȱüberȱeinenȱKanalȱübertragenȱwerden,ȱwerdenȱsieȱaufȱmehrfacheȱWeiȬ seȱ kodiert.ȱ Wieȱ inȱ Abbildungȱ 2Ȭ7ȱ zuȱ sehenȱ ist,ȱ unterscheidetȱ manȱ QuellenkodieȬ rung,ȱ Kanalkodierungȱ undȱ Leitungskodierung.ȱ Imȱ Folgendenȱ sollȱ einȱ Überblickȱ überȱdieseȱKodierungsverfahrenȱgegebenȱwerden.ȱ Zu sendende Signale
Quellenkodierung
Kanalkodierung
Übertragene Signale
Signalredundanz entfernen Signalredundanz ggf. hinzufügen Fehlerkennungund Korrektur
Quellenkodierung
Kanalkodierung
Redundanz
Leitungskodierung
Leitungskodierung
Übertragungskanal
Störungen
ȱ Abbildungȱ2Ȭ7:ȱKodierungȱvonȱNachrichtenȱ
Quellenkodierung DieȱQuellenkodierungȱhatȱzumȱZiel,ȱDatenȱsoȱzuȱkodieren,ȱdassȱsieȱmöglichstȱweȬ nigȱ Platzȱ benötigenȱ undȱ dadurchȱ imȱ Sinneȱ derȱ Datenkommunikationȱ auchȱ mitȱ möglichstȱ geringerȱ Übertragungsrateȱ versendetȱ werdenȱ können.ȱ Dieȱ QuellenkoȬ dierungȱ sorgtȱ aberȱ auchȱ fürȱ eineȱ platzsparendeȱ Speicherungȱ vonȱ Datenȱ (z.B.ȱ AuȬ dioȬȱ undȱ VideoȬDaten).ȱ Manȱ sprichtȱ beiȱ derȱ Quellenkodierungȱ auchȱ vonȱ DatenȬ komprimierung.ȱ
26ȱ
2.1ȱȱBitübertragungsschichtȱ BeiȱderȱQuellenkodierungȱkönnenȱunwichtigeȱDatenȱeliminiertȱwerden.ȱDiesȱführtȱ zuȱeinerȱ verlustbehaftetenȱ Kodierung.ȱAndereȱVerfahrenȱ dienenȱderȱ verlustfreienȱ Kodierung.ȱ Dieȱ Entropiekodierungȱ istȱ z.B.ȱ eineȱ verlustfreieȱ Kodierung,ȱ beiȱ derȱ jedemȱ Zeichenȱ desȱ Quellcodesȱ unterschiedlichȱ langeȱ Bitfolgenȱ zugeordnetȱ werȬ den. 2ȱ Kanalkodierung Unterȱ Kanalkodierungȱ verstehtȱ manȱ Verfahren,ȱ mitȱ denenȱ digitaleȱ Datenȱ vorȱ derȱ Übertragungȱ durchȱ dasȱ Ergänzenȱ vonȱ Redundanzȱ gegenȱ Übertragungsfehlerȱ geȬ schütztȱ werden.ȱ Dieȱ Redundanzȱ wirdȱ amȱ Eingangȱ einesȱ Übertragungskanalsȱ erȬ gänztȱundȱamȱAusgangȱwiederȱentfernt.ȱ Dieȱ Datenȱ werdenȱ hierzuȱ alsȱ Codewörterȱ kodiert,ȱ wobeiȱ fehlererkennendeȱ (errorȱ detection)ȱundȱfehlerkorrigierendeȱ(errorȱcorrection)ȱCodesȱunterschiedenȱwerden.ȱ Beiȱ digitalenȱ Standleitungenȱ kannȱ heuteȱ z.B.ȱ vonȱ einerȱ sehrȱ geringenȱ BitfehlerȬ wahrscheinlichkeitȱvonȱca.ȱ10Ȭ12ȱausgegangenȱwerden.ȱInsbesondereȱbeiȱdrahtloserȱ Übertragungȱ istȱ aberȱ dieȱ Bitfehlerwahrscheinlichkeitȱ nochȱ wesentlichȱ höher.ȱ Zuȱ denȱ übertragenenȱ Nettodatenȱ wirdȱ vomȱ Senderȱ redundanteȱ Informationȱ ergänzt.ȱ Derȱ Empfängerȱ kannȱ dieseȱ dannȱ auswertenȱ undȱ ggf.ȱ Übertragungsfehlerȱ feststelȬ lenȱundȱkorrigieren.ȱDasȱHinzufügenȱvonȱRedundanzȱerfordertȱeineȱhöhereȱBitrateȱ fürȱdieȱDatenübertragung.ȱDaherȱistȱabzuwägen,ȱwievielȱRedundanzȱnotwendigȱist,ȱ umȱfürȱeinenȱÜbertragungskanalȱeineȱgeeigneteȱFehlerkorrekturfähigkeitȱzuȱerreiȬ chen.ȱ Klassischeȱ Verfahrenȱ zurȱ Kanalkodierungȱ sindȱ derȱ Einsatzȱ vonȱ Paritätsbitsȱ undȱ zyklischeȱRedundanzcodes.ȱȱ EinsatzȱvonȱParitätsbits.ȱUnterȱParitätȱeinerȱBitfolgeȱverstehtȱmanȱdieȱAnzahlȱderȱ Einsenȱ inȱ derȱ Bitfolge.ȱ Setztȱ manȱ z.B.ȱ aufȱ eineȱ geradeȱ Parität,ȱ soȱ wirdȱ einȱ denȱ NutzdatenȱzuȱergänzendesȱParitätsbitȱaufȱbinärȱ„1“ȱgesetzt,ȱwennȱdieȱAnzahlȱderȱ Einsenȱ inȱ derȱ Nutzdatenȱ ungeradeȱ ist.ȱ Dieȱ Berechnungȱ istȱ sehrȱ einfach,ȱ weshalbȱ Paritätsbitsȱhäufigȱeingesetztȱwerden.ȱManȱberechnetȱz.B.ȱeinȱParitätsbitȱproȱ8ȬBitȬ ZeichenȱundȱergänztȱdiesȱinȱderȱNachricht.ȱ Esȱhängtȱvonȱderȱsog.ȱHammingȬDistanzȱab,ȱwieȱvieleȱFehlerȱdurchȱParitätsprüfungȱ erkanntȱbzw.ȱsogarȱkorrigiertȱwerdenȱkönnen.ȱDieȱDistanzȱzweierȱCodewörterȱistȱ dieȱAnzahlȱderȱBitpositionen,ȱinȱdenenȱsichȱdieȱbeidenȱCodewörterȱunterscheiden.ȱ DieȱHammingȬDistanzȱ einesȱ CodesȱistȱdannȱderȱMinimalwertȱ derȱ DistanzenȱzwiȬ schenȱallenȱmöglichenȱPaarenȱvonȱCodewörtern.ȱBeiȱeinerȱHammingȬDistanzȱvonȱ dȱkönnenȱdȱ–ȱ1ȱFehlerȱerkanntȱundȱtȱ<ȱ(dȱ–ȱ1)/2ȱFehlerȱkorrigiertȱwerden. 3ȱMitȱeinerȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ WeitereȱInformationenȱzurȱKompressionȱvonȱAudioȬȱundȱVideoȬDatenȱsindȱinȱKapitelȱ6ȱ zuȱfinden.ȱ
2
ȱȱ Näheresȱhierzuȱfindetȱmanȱinȱ(Sikoraȱ2003).ȱHierȱfindenȱsichȱauchȱweitereȱWahrscheinȬ lichkeitsangaben.ȱ
3
27ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ 1ȬBitȬParitätsprüfungȱ kannȱ zwarȱ keineȱ Fehlerkorrekturȱ unterstütztȱ werden,ȱ aberȱ manȱerkenntȱeinenȱFehlerȱbeiȱeinerȱungeradenȱAnzahlȱvonȱBitsȱinȱeinerȱZeichenfolȬ ge.ȱManȱerkenntȱdagegenȱnicht,ȱwennȱesȱsichȱumȱeineȱgeradeȱAnzahlȱanȱBitfehlernȱ handelt.ȱȱ ZyklischeȱRedundanzcodes.ȱZyklischeȱRedundanzcodesȱȱ(auchȱCRCȱ=ȱCyclicȱRedunȬ dancyȱ Check)ȱ werdenȱ ebenfallsȱ sehrȱ häufigȱ zurȱ Fehlererkennungȱ eingesetzt,ȱ undȱ zwarȱ insbesondereȱ beiȱ längeren,ȱ zuȱ übertragendenȱ Datenblöcken.ȱ Bekannteȱ EinȬ satzbereicheȱ sindȱ dieȱ heutigeȱ USBȬSchnittstelle 4ȱinȱ PCsȱ undȱ EthernetȬNetzwerkeȱ (sieheȱSchichtȱ2).ȱHierȱwerdenȱdieȱBitsȱderȱNutzinformationȱvonȱlinksȱnachȱrechtsȱ alsȱ Koeffizientenȱ einesȱ Polynomsȱaufgefasst.ȱ DiesesȱPolynomȱ wirdȱ durchȱ einȱsog.ȱ Generatorpolynomȱ vomȱ Gradȱ kȱ dividiert.ȱ Dabeiȱ entstehtȱ einȱ Restpolynomȱ vomȱ Gradȱ kȱ –ȱ 1.ȱ Dieserȱ Divisionsrestȱ (bzw.ȱ dieȱ Koeffizientenȱ desȱ Restpolynoms)ȱ stelltȱ dannȱ dieȱ Prüfsummeȱ dar,ȱ dieȱ anȱ dieȱ Nutzdatenȱ angehängtȱ wird.ȱ Derȱ Empfängerȱ teiltȱ dieȱ empfangenenȱ Datenȱ (Nutzdatenbitsȱ undȱ denȱ Rest)ȱ ebenfallsȱ durchȱ dasȱ Generatorpolynom.ȱBeiȱFehlerfreiheitȱmussȱsichȱeinȱRestȱvonȱ0ȱergeben.ȱ NutztȱmanȱCRCȱbeiȱzeichenorientiertenȱProtokollen,ȱsoȱbetrachtetȱmanȱdieȱBitsȱderȱ aufeinanderfolgendenȱ Codewörterȱ alsȱ Koeffizienten.ȱ Beiȱ bitorientiertenȱ ProtokolȬ lenȱwerdenȱdieȱDatenbitsȱalsȱKoeffizientenȱdesȱPoynomsȱverwendet.ȱEinȱzyklischerȱ Codeȱmitȱeinemȱ16ȬBitȬCRCȬFeldȱkannȱalleȱFehlerȱerkennen,ȱbeiȱdenenȱbisȱzuȱ16ȱBitȱ inȱ Folgeȱ fehlerhaftȱ übertragenȱ wurden,ȱ beiȱ einemȱ 32ȱ Bitȱ langenȱ CRCȬFeldȱ kannȱ manȱ schonȱ fehlerhafteȱ Folgenȱ bisȱ zuȱ 32ȱ Bitȱ erkennen.ȱ Fehlerȱ mitȱ mehrȱ alsȱ 32ȱ Bitȱ könnenȱebenfallsȱmitȱsehrȱhoherȱWahrscheinlichkeitȱerkanntȱwerdenȱ(mitȱmehrȱalsȱ 99,99ȱ%ȱWahrscheinlichkeit).ȱ Leitungskodierung Konvertiertȱ manȱ einȱ analogesȱ Signalȱ aufȱ einȱ digitalesȱ oderȱ umgekehrt,ȱ benötigtȱ manȱ Kodierungsverfahren.ȱ Manȱ sprichtȱ hierȱ auchȱ vonȱ Leitungskodierung.ȱ Dieȱ LeiȬ tungskodierungȱlegtȱbeiȱderȱdigitalenȱDatenübertragungȱfest,ȱwieȱeinȱSignalȱphysiȬ kalischȱübertragenȱwird.ȱEinȱzuȱübertragendesȱSignalȱsollȱdabeiȱmöglichstȱoptimalȱ anȱ dasȱ Übertragungsmediumȱ angepasstȱ werden.ȱ Esȱ gibtȱ verschiedeneȱ Verfahrenȱ zurȱLeitungskodierung,ȱvonȱdenenȱdreiȱimȱFolgendenȱkurzȱskizziertȱwerdenȱsollen.ȱ BinäreȱLeitungscodes.ȱBekanntȱistȱu.a.ȱdieȱreineȱBitkodierung,ȱfürȱdieȱmanȱdenȱlogiȬ schenȱZuständenȱ0ȱundȱ1ȱaufȱderȱphysikalischenȱLeitungȱauchȱnurȱzweiȱverschieȬ deneȱ Zustände,ȱ wieȱ z.B.ȱ Spannungen,ȱzuordnet.ȱ Eineȱ logischeȱ 1ȱkannȱalsȱ positiveȱ Spannungȱundȱeineȱlogischeȱ0ȱalsȱnegativeȱSpannungȱdargestelltȱwerden.ȱDieȱreineȱ BitkodierungȱhatȱdenȱNachteil,ȱdassȱbeiȱlangenȱSequenzenȱderȱTaktȱverlorenȱgeht.ȱ Dieserȱ unterliegtȱ nämlichȱ immerȱ kleinenȱ Schwankungen.ȱ Derȱ Taktverlustȱ hatȱ zurȱ Folge,ȱdassȱesȱzuȱMissinterpretationenȱaufȱEmpfängerseiteȱkommenȱkann.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ USBȱstehtȱfürȱUniversalȱSerialȱBusȱundȱistȱeinȱPCȬStandardȱfürȱdenȱAnschlussȱvonȱserielȬ lenȱGerätenȱanȱdenȱPC.ȱDerartigeȱBusseȱfindenȱsichȱheueȱinȱjedemȱmodernenȱPC.ȱ
4
28ȱ
2.1ȱȱBitübertragungsschichtȱ ManchesterȬKodierung.ȱ Einȱ anderesȱ Verfahrenȱ wirdȱ alsȱ ManchesterȬKodierungȱ bezeichnet.ȱDieȱManchesterȬKodierungȱ(auchȱBiȬPhaseȬMark)ȱundȱandereȱVerfahrenȱ wieȱdasȱNRZIȬȱ(NonȱReturnȱtoȱZeroȱInvert)ȱoderȱdasȱMLTȬVerfahrenȱ(MultiȱLevelȱ Transmissionȱ)ȱversuchen,ȱdenȱTaktȱbeimȱEmpfängerȱausȱderȱBitdarstellungȱwiederȱ zurückzugewinnen.ȱ Beiȱ derȱ ManchesterȬKodierungȱ interpretiertȱ manȱ z.B.ȱ eineȱ 1,ȱ wennȱdasȱSignalȱvonȱhochȱnachȱniedrigȱgehtȱ(fallendeȱFlanke)ȱundȱeineȱ0ȱimȱumȬ gekehrtenȱ Fallȱ (steigendeȱ Flanke).ȱ Inȱ Abbildungȱ 2Ȭ8ȱ istȱ stellvertretendȱ dieȱ ManȬ chesterȬKodierungȱimȱVergleichȱzurȱBinärkodierungȱdargestellt.ȱBeiȱderȱManchesȬ terȬKodierungȱ wirdȱ dieȱ erforderlicheȱ Bitrateȱ verdoppeltȱ undȱ dieȱ SchrittgeschwinȬ figkeitȱ halbiert.ȱ Eineȱ weitereȱ Varianteȱ stelltȱ dieȱ differenzierteȱ ManchesterȬKodieȬ rungȱdar,ȱdieȱhierȱnichtȱweiterȱerläutertȱwerdenȱsoll.ȱ Bitstrom
1
0
0
0
0
1
0
1
1
1
1
Binäre Kodierung
ManchesterKodierung
ȱ Abbildungȱ2Ȭ8:ȱManchesterȬKodierungȱimȱVergleichȱzurȱBinärkodierungȱ
BlockȬKodierung.ȱ Beiȱ derȱ BlockȬKodierungȱ werdenȱ pȱ Bitsȱ einesȱ Binärwortesȱ zuȱ eiȬ nemȱBlockȱmitȱderȱBitlängeȱqȱzusammengefasst.ȱManȱbezeichnetȱdieseȱCodesȱauchȱ mitȱpBqB.ȱȱ EinȱtypischerȱBlockcode,ȱderȱu.a.ȱauchȱbeiȱverschiedenenȱEthernetȬSystemenȱ(sieheȱ Schichtȱ2)ȱimȱBereichȱderȱ100ȱMbit/sȬEbeneȱEinsatzȱfindet,ȱistȱderȱ4B5BȬCode.ȱHierȱ werdenȱ ausȱ 4ȬBitȬGruppenȱ 5ȬBitȬWörterȱ kodiert.ȱ Diesȱ ergibtȱ imȱ Gegensatzȱ zurȱ ManchesterȬKodierung,ȱbeiȱderȱdoppeltȱsoȱvieleȱBitȱübertragenȱwerdenȱalsȱmanȱfürȱ dieȱ Informationȱ benötigt,ȱ nurȱ eineȱ Redundanzȱ vonȱ 20ȱ %.ȱ Derȱ ManchesterȬCodeȱ kannȱ auchȱ alsȱ 1B2BȬCodeȱ bezeichnetȱ werden.ȱ Inȱ GigabitȬEthernetsȱ nutztȱ einenȱ 8B10BȬCode.ȱ
2.1.5
Datenübertragungsmedien und Verkabelung
OhneȱzuȱsehrȱaufȱdieȱphysikalischenȱGegebenheitenȱeinzugehen,ȱsollenȱinȱdiesemȱ Abschnittȱ dieȱ wesentlichenȱ Übertragungsmedienȱ zusammengefasst,ȱ sowieȱ typiȬ scheȱ Einsätzeȱ kurzȱ diskutiertȱ werden.ȱ Inȱ Tabelleȱ 2Ȭ3ȱ sindȱ typischeȱ ÜbertragungsȬ medienȱbeschriebenȱundȱdabeiȱauchȱdieȱmöglichenȱKanalkapazitätenȱangegeben.ȱ Twistedȱ Pair.ȱTwistedȱPairȱȱistȱeineȱgenerelleȱBezeichnungȱfürȱKupferkabelȱmitȱeiȬ nemȱoderȱmehrerenȱverdrilltenȱLeitungspaaren.ȱTwistedȬPairȱistȱderȱältesteȱKabelȬ typ,ȱ wirdȱ aberȱ immerȱ nochȱ amȱ meistenȱ eingesetzt.ȱ Meistensȱ nutztȱ manȱ zweiȱ verȬ drillteȱ Paare,ȱ alsoȱ vierȱ Adern.ȱ Einȱ Paarȱ wirdȱ zumȱ Sendenȱ undȱ dasȱ andereȱ zumȱ
29ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ Empfangenȱ verwendet.ȱ Durchȱ dieȱ„Verschlingung“ȱ derȱ ȱAdernȱerreichtȱ manȱeineȱ Verringerungȱ derȱ EinȬȱ undȱ Ausstrahlung,ȱ daȱ sichȱ dieȱ Magnetfelderȱ derȱ beidenȱ stromduchflossenenȱLeiterȱwechselseitigȱneutralisieren.ȱ Heuteȱ unterscheidetȱ manȱ verschiedeneȱ Artenȱ vonȱ verdrilltenȱ Kupferkabeln,ȱ dieȱ sichȱ hauptsächlichȱ hinsichtlichȱ derȱ Abschirmungȱ unterscheiden.ȱ Manȱ ordnetȱ dieȱ KabelartenȱauchȱnachȱQualitätȱinȱdieȱKategorienȱ1ȱbisȱ7,ȱwobeiȱdieȱKategorieȱ7ȱdieȱ bestenȱ Dämpfungswerteȱ beiȱ einerȱ hohenȱ Frequenzȱ vonȱ 600ȱ MHzȱ besitzt.ȱ Beziehtȱ manȱ auchȱ dieȱ gesamteȱ Übertragungsstreckeȱ mitȱ inȱ dieȱ Betrachtungȱ ein,ȱ soȱ unterȬ scheidetȱ derȱ entsprechendeȱ Standardȱ derȱ ISOȱ (EIA/TIAȱ 568A)ȱ nochmalsȱ sog.ȱ AnȬ wendungsklassenȱAȱbisȱF,ȱwobeiȱFȱBandbreitenȱbisȱzuȱ750ȱMHzȱunterstützt.ȱȱ Tabelleȱ2Ȭ3:ȱDatenübertragungsmedienȱ Mediumȱ
Aufbauȱ
Kanalkapazitätȱ
TwistedȱPairȱ
Verdrilltesȱ8ȬadrigesȱKupferkabelȬ paarȱ(Telefonkabel)ȱ
1ȱGbit/sȱ
Koaxialkabelȱ
VomȱzylindrischenȱLeiterȱumȬ schlossenerȱKupferdrahtkernȱ
ca.ȱ10ȱMbit/sȱ
Glasfaserkabelȱ
VomȱzylindrischenȱGlasmantelȱ umschlossenerȱGlaskernȱ
mehrereȱGbit/sȱ
MobilerȱDatenȬ funkȱ
TerrestrischerȱZellularfunkȱ(z.B.:ȱ FunkȬLAN)ȱ
einigeȱMbit/sȱ(neuereȱWLANȬ Technologieȱbisȱzuȱ54ȱMbit/sȱ undȱmehr)ȱ
Richtfunkȱ
Terrestrischȱundȱortsfestȱ
Bisȱzuȱ4ȱMbit/sȱ
Satellitenfunkȱ
GeostationäreȱNachrichtensatelliȬ tenȱ
56ȱKbit/sȱȱ
Inȱ Abbildungȱ 2Ȭ9ȱ sindȱ dieȱ verschiedenenȱ Bauformenȱ vonȱ TwistedȬPairȬKabelnȱ dargestellt.ȱ Derȱ einfachsteȱ Typȱ wirdȱ alsȱ UTPȱ bezeichnet,ȱ derȱ amȱ bestenȱ abgeȬ schirmteȱalsȱS/STP.ȱBeiȱS/STPȱsindȱsowohlȱdieȱeinzelnenȱAdernpaareȱabgeschirmtȱ (Shield),ȱalsȱauchȱalleȱAdernpaareȱgemeinsamȱ(Screen).ȱ Koaxialkabel.ȱ Dasȱ Koaxialkabelȱ hatȱ einenȱ Innenleiterȱausȱ Kupferȱ undȱ istȱ mitȱ einerȱ Isolierschicht,ȱ einemȱ rohrförmigenȱ Außenleiterȱ zurȱ Abschirmungȱ undȱ einerȱ AuȬ ßenisolierungȱ umgeben.ȱ Koaxialkabelȱ könnenȱ bisȱ zuȱ einerȱ Bandbreiteȱ vonȱ 2ȱ GHzȱ genutztȱwerden.ȱSieȱsindȱrechtȱschwierigȱzuȱverlegen,ȱverfügenȱaberȱüberȱeineȱeinȬ facheȱAnschlusstechnik.ȱ Glasfaserkabel.ȱGlasfaserkabelȱ (auchȱ optischeȱ Kabel,ȱLichtwellenleiterȱ oderȱ LWLȱ =ȱ Opticalȱ Fibreȱ Cable)ȱ sindȱ ausȱ Glasȱ oderȱ Kunststofffasernȱ hergestellt.ȱ Daȱ Glasȱ beȬ
30ȱ
2.1ȱȱBitübertragungsschichtȱ kanntlichȱwiederumȱausȱSandȱhergestelltȱwird,ȱstehtȱfürȱdieȱHerstellungȱeinȱgünsȬ tigesȱ Rohmaterialȱ zurȱ Verfügung.ȱ Dieȱ Datenübertragungȱ erfolgtȱ überȱ sehrȱ kurzeȱ Laserlichtimpulse,ȱdieȱimȱNanosekundenbereichȱgesendetȱwerden,ȱmitȱeinerȱhohenȱ Impulsrate,ȱdieȱbisȱzuȱ1ȱTHzȱreicht.ȱ Richtfunk.ȱBeiȱRichtfunkȱwirdȱdrahtlosȱüberȱelektromagnetischeȱWellenȱübertragen,ȱ dieȱ vonȱ einemȱ Senderȱ direktȱ undȱ gebündeltȱ undȱ mitȱ relativȱ kleinerȱ Leistungȱ aufȱ eineȱ entsprechendeȱ Antenneȱ desȱ Empfängersȱ gerichtetȱ sind.ȱ Manȱ benötigtȱ hierzuȱ aufȱderȱSenderȬȱundȱderȱEmpfängerseiteȱsog.ȱRichtfunkantennen.ȱRichtfunkantenȬ nenȱkönnenȱz.B.ȱaufȱDächernȱhöhererȱHäuserȱplatziertȱwerden.ȱBeiȱderȱRundfunkȬ übertragungȱ werdenȱ ebenfallsȱ elektromagnetischeȱ Wellenȱ zurȱ Datenübertragungȱ verwendet.ȱ Dieȱ Radiowellenȱ werdenȱ gleichmäßigȱ z.B.ȱ vonȱ Satellitenȱ ausgestrahlt.ȱ Dieȱ Reichweiteȱ hängtȱ u.a.ȱ vonȱ derȱ Sendeleistungȱ undȱ derȱ Empfindlichkeitȱ derȱ Empfängerȱ ab.ȱ Dieȱ drahtloseȱ Übertragung,ȱ dieȱ jaȱ immerȱ interessanterȱ wird,ȱ istȱ inȱ derȱ Literaturȱ ausführlichȱ beschrieben.ȱ Dieȱ Arbeitsweiseȱ undȱ derȱ physikalischeȱ AufbauȱderȱeinzelnenȱKabelartenȱistȱebenfallsȱderȱLiteraturȱzuȱentnehmenȱundȱsollȱ hierȱnichtȱweiterȱvertieftȱwerden.ȱȱ Unshielded Twisted Pair (UTP)
Shielded Twisted Pair (STP)
Screened/Unshielded Twisted Pair (S/UTP)
Screened/Shielded Twisted Pair (S/STP)
Adernpaar
Kunststoffmantel
Adernschirm (Shield)
Kabelschirm (Screen)
ȱ Abbildungȱ2Ȭ9:ȱTwistedȬPairȬKabel:ȱBauformenȱ
DieȱletzteȱMeile.ȱInteressantȱundȱteuerȱbeiȱderȱVernetzungȱistȱdieȱletzteȱMeile,ȱauchȱ localȱloopȱoderȱ lastȱmileȱ genannt.ȱ Diesȱ istȱ derȱ Anschlussȱ derȱ einzelnenȱ Gebäudeȱ anȱ einȱNetzwerkȱeinerȱTelefongesellschaft.ȱManȱsprichtȱhierȱauchȱvonȱZugangsnetzen.ȱ Inȱ denȱ letztenȱ Jahrzehntenȱ wurdenȱ dieȱ letztenȱ Meilenȱ vorwiegendȱ mitȱ KupferleiȬ tungenȱ erschlossen,ȱ währendȱ Weitdistanzübertragungenȱ zwischenȱ VermittlungsȬ rechnernȱ derȱ Telefongesellschaftenȱ überȱ Multiplexverbindungen,ȱ inȱ letzterȱ Zeitȱ immerȱ mehrȱ mitȱ Glasfasernȱ realisiertȱ wurden.ȱ Dieȱ Kupferleitungenȱ warenȱ urȬ sprünglichȱfürȱBasisbandȬSprachübertragungenȱüberȱDistanzenȱbisȱzuȱachtȱKilomeȬ terȱ undȱ nichtȱ fürȱ dieȱ digitaleȱ Übertragungȱ vorgesehen.ȱ Folglichȱ musstenȱ sichȱ dieȱ TelefonȬGesellschaftenȱ überlegen,ȱ wieȱ sieȱ dieȱ Bandbreitenȱ bisȱ zumȱ Gebäudeȱ verȬ bessernȱkonnten.ȱȱ ZunächstȱwurdenȱanalogeȱModemsȱverwendet,ȱmitȱdenenȱmanȱeineȱBitrateȱvonȱ56ȱ Kbit/sȱ erreichte.ȱ Späterȱ wurdeȱ ISDNȱ entwickelt,ȱ undȱ manȱ konnteȱ damitȱ überȱ dasȱ
31ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ bestehendeȱ Kupferkabelȱ bereitsȱ standardmäßigȱ 144ȱ Kbit/sȱ erreichen,ȱ beiȱ Bedarfȱ sogarȱ 2ȱ Mbit/sȱ überȱ denȱ sog.ȱ ISDNȬPrimärmultiplexkanal. 5ȱAuchȱ beiȱ ADSL 6ȱwerȬ denȱ dieȱ vorhandenenȱ Kupferkabelȱ nachȱ einemȱ speziellenȱ Modulationsverfahrenȱ ausgenutzt.ȱ Überȱ dieȱ Fernsehverkabelungȱ schafftenȱ esȱ dieȱ Fernsehgesellschaften 7,ȱ KoaxialkabelȱbisȱinsȱHausȱzuȱverlegenȱundȱauchȱüberȱdieȱStromversorgungȱ(StarkȬ stromverdrahtung)ȱ lassenȱ sichȱ einigeȱ Mbit/sȱ erreichen.ȱ LWLȱ sindȱ heuteȱ fürȱ dieȱ letzteȱMeileȱ(FTTHȱ=ȱFiberȱToȱTheȱHome)ȱȱinȱderȱRegelȱimmerȱnochȱzuȱteuer.ȱȱ Glasfaserbündel mit hoher Bandbreite Abzweigkasten
Glasfaser
Vermittlungsamt
Kupferkabel (verdrilltes Paar)
ȱ Abbildungȱ2Ȭ10:ȱTypischerȱEinsatzȱvonȱKabelartenȱ
InȱAbbildungȱ2Ȭ10ȱistȱeineȱtypischeȱVerkabelungȱdargestellt,ȱwieȱsieȱTelefongesellȬ schaftenȱdurchführen.ȱDieȱVermittlungsknotenȱderȱTelefonȬGesellschaftenȱwerdenȱ heuteȱ überȱ Glasfaserbündelȱ vernetzt.ȱ Inȱ einemȱ Ortȱ oderȱ einemȱ Stadtteilȱ befindetȱ sichȱeinȱAbzweigkasten,ȱvonȱdemȱausȱdannȱdieȱeinzelnenȱHäuserȱ(dieȱletzteȱMeile)ȱ überȱverdrillteȱKupferkabelȱangeschlossenȱsind.ȱDaȱmanȱesȱhierȱoftȱnurȱmitȱeinigenȱ HundertȱMeternȱzuȱtunȱhat,ȱkannȱmanȱüberȱdieȱKupferkabelȱauchȱeineȱrelativȱhoheȱ Bitrateȱ erreichen.ȱ Manȱ siehtȱ also,ȱ dassȱ eineȱ kompletteȱ Vernetzungȱ überȱ Glasfaserȱ bisȱhinȱzuȱdenȱeinzelnenȱHäusernȱheuteȱnochȱnichtȱrealisiertȱist.ȱDerȱGrundȱistȱinȱ denȱhohenȱKostenȱzuȱsehen,ȱdieȱdurchȱeineȱvollständigeȱGlasfaservernetzungȱverȬ ursachtȱwürden.ȱZudemȱgibtȱesȱjaȱschonȱeineȱhoheȱAbdeckungȱdurchȱKupferkabel.ȱ Strukturierteȱ Verkabelung.ȱ Imȱ Gebäudeȱ vernetztȱ manȱ heuteȱ nichtȱ mehrȱ überȱ eiȬ nenȱphysikalischenȱBusȱmitȱKoaxialkabelȱwieȱdiesȱfrüherȱbeiȱeinemȱLANȱoftȱnochȱ derȱ Fallȱ war,ȱ sondernȱüberȱ einȱ strukturiertesȱ undȱ vereinheitlichtesȱVerkabelungsȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ISDNȬPrimärmultiplexkanäleȱverfügenȱüberȱeineȱBitrateȱvonȱ30ȱ*ȱ64ȱKbit/sȱ(BȬKanäle)ȱ+ȱ1ȱ *ȱ64ȱKbit/sȱSteuerkanalȱ(DȬKanal)ȱundȱeinȱweitererȱfürȱinterneȱZwecke,ȱsieheȱKapitelȱ3.ȱ
5
ȱȱ AllgemeineȱBezeichnungȱfürȱdieȱeffizienteȱdigitaleȱAusnutzungȱderȱKupferverkabelungȱ derȱletztenȱMeileȱistȱxDSL,ȱwobeiȱxȱeinȱPlatzhalterȱfürȱ„S“ȱ=ȱsymmetrisch,ȱ„A“ȱ=ȱasymȬ metrischȱusw.ȱistȱ(Meyerȱ2002),ȱsieheȱKapitelȱ3.ȱ
6
ȱȱ DasȱangewendeteȱVerfahrenȱheißtȱHFCȱ(HybridȱFiberȱCoaxialȱCable),ȱvgl.ȱ(Kuroseȱ2002).ȱ
7
32ȱ
2.1ȱȱBitübertragungsschichtȱ systems,ȱwieȱesȱimȱStandardȱISO/UECȱȬ11801ȱbeschriebenȱist.ȱManȱsprichtȱhierȱvonȱ strukturierterȱVerkabelungȱ ȱ undȱ möchteȱ damitȱ u.a.ȱ erreichen,ȱ dassȱ möglichstȱ wenigȱ unterschiedlicheȱ Übertragungsmedienȱ dieȱ Übertragungȱ möglichstȱ vielerȱ AnwenȬ dungenȱ erlaubenȱ undȱ unterschiedlicheȱ LANȬTechnologienȱ durchȱ einenȱ einheitliȬ chenȱKabeltypȱunterstütztȱwerden.ȱ
Tertiärverkabelung
Sekundärverkabelung
Primärverkabelung
ȱ Abbildungȱ2Ȭ11:ȱStrukturierteȱVerkabelungȱvonȱGebäudenȱ
Manȱ unterteiltȱ beiȱ derȱ strukturiertenȱ Verkabelungȱ dieȱ Gebäudeverkabelung,ȱ wieȱ inȱAbbildungȱ2Ȭ11ȱdargestellt,ȱinȱeinenȱPrimärȬ,ȱeinenȱSekundärȬȱundȱeinenȱTertiȬ ärbereich:ȱ – Derȱ Primärbereichȱ istȱ derȱ gebäudeübergreifendeȱ Bereich,ȱ derȱ möglichstȱ reȬ dundantȱaufȱBasisȱvonȱLichtwellenleiternȱverkabeltȱwird.ȱȱ – ImȱSekundärbereichȱinstalliertȱmanȱeinȱGebäudeȬinternesȱBackboneȱaufȱBaȬ sisȱvonȱKupferkabelnȱoderȱLichtwellenleitern.ȱȱ – Denȱ Tertiärbereichȱ bildetȱ eineȱ sternförmigeȱ Verkabelungȱ aufȱ denȱ einzelnenȱ Etagen.ȱDieȱEndgeräteȱwerdenȱmitȱEtagenverteilernȱverbunden.ȱ Vorteilȱ dieserȱ PunktȬzuȬPunktȬVernetzungȱ imȱ Tertiärbereichȱ ist,ȱ dassȱ beiȱ Ausfallȱ einesȱKabels,ȱimȱGegensatzȱzuȱeinemȱBussystemȱmitȱKoaxialkabel,ȱnichtȱdasȱganzeȱ Netzȱ lahmgelegtȱ wird.ȱ Weiterhinȱ verwendetȱ manȱ Verteilerȱ mitȱ Patchfeldern,ȱ mitȱ denenȱmanȱsehrȱflexibelȱundȱohneȱweitereȱVerkabelungȱdieȱeinzelnenȱSteckdosenȱ fürȱdieȱEndgeräteȱbelegenȱkann.ȱ Abschließendȱ sollȱ nochȱ erwähntȱ werden,ȱ dassȱ auchȱ dieȱ Datenübertragungȱ überȱ Stromleitungenȱ möglichȱ ist.ȱ Manȱ sprichtȱ hierȱ vonȱ Powerlineȱ Communication.ȱ Beiȱ diesemȱ Verfahrenȱ werdenȱ dieȱ höherenȱ Frequenzbereicheȱ derȱ Stromleitungenȱ fürȱ dieȱ Übertragungȱ verwendet.ȱ Heuteȱ sindȱ z.B.ȱ bereitsȱ Geräteȱ imȱ Handelȱ erhältlich,ȱ dieȱ überȱ herkömmlicheȱ Stromsteckdosenȱ LANȬVerbindungenȱ ermöglichen.ȱ Diesȱ istȱ alsoȱ eineȱ Variante,ȱ dieȱ verwendetȱ werdenȱ kann,ȱ wennȱ eineȱ andereȱ VerkabeȬ lungsartȱoderȱeineȱFunkausleuchtungȱnurȱschwerȱmöglichȱist.ȱ
33ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ
2.2 Sicherungsschicht 2.2.1
Aufgaben und Einordnung
Dieȱ Sicherungsschichtȱ (auchȱ Dataȱ Linkȱ Layer)ȱ stelltȱ anȱ einemȱ DLȬSAPȱ (sieȬ heȱ Abbildungȱ 2Ȭ12)ȱ einenȱ Dienstȱ zurȱ Verfügung,ȱ derȱ jeȱ nachȱ SchichtȬ2Ȭ Implementierungȱ etwasȱ andersȱ aussieht.ȱ Grundsätzlichȱ wirdȱ eineȱ zuverlässigeȱ Bitübertragungȱ überȱ dieȱ Datenverbindungȱ zwischenȱ zweiȱ Rechnersystemenȱ beȬ reitgestellt.ȱ Mitȱ „gesichert“ȱ meintȱ manȱ hier,ȱ dassȱ überprüftȱ wird,ȱ obȱ dieȱ Datenȱ auchȱ beimȱ Empfängerȱ angekommenȱ sindȱ undȱ Übertragungsfehlerȱ erkanntȱ undȱ evtl.ȱ behobenȱ werdenȱ (Fehlersicherung).ȱ Manȱ sprichtȱ auchȱ vonȱ einerȱ gesichertenȱ EndeȬzuȬEndeȬVerbindungȱzwischenȱzweiȱRechnersystemen.ȱ DL-IDU DL-ICI
DL-SAP
DL-IDU DL-ICI DL-SDU
DL-SDU
DL-SAP
Schicht 2
DL-Instanz
DL-PDUs
DL-Instanz
DL-PCI DL-SDU PH-IDU (ungesicherte Bits)
PH-IDU
Bitübertragungsschicht
ȱ Abbildungȱ2Ȭ12:ȱDLȬInstanzȱ
Fürȱ dieȱ Aufgabeȱ derȱ Fehlererkennungȱ undȱ evtl.ȱ Behebungȱ werdenȱ sog.ȱ ErrorȬ DetectionȬCodes,ȱ alsoȱ Prüfsummen,ȱ wieȱ etwaȱ CyclicȬRedundancyȬCodesȱ (CRC) 8,ȱ mitgesendet.ȱHierȱhandeltȱesȱsichȱimȱAllgemeinenȱumȱredundanteȱInformation,ȱdieȱ esȱ ermöglicht,ȱ gewisseȱ Fehlerȱ zuȱ erkennenȱ undȱ beiȱ ausreichenderȱ Redundanzȱ soȬ garȱautomatischȱzuȱbeheben.ȱInȱderȱPraxisȱwirdȱallerdingsȱausȱAufwandsgründenȱ seltenȱeineȱKorrekturȱvorgenommen,ȱeinȱerneutesȱSendenȱistȱhierȱeffizienter.ȱ DieȱübertragenenȱBitsȱwerdenȱinȱlogischeȱBlöckeȱzusammengefasst.ȱZwischenȱSenȬ derȱ undȱ Empfängerȱ bzw.ȱ denȱ zugeordnetenȱ DLȬInstanzenȱ erfolgtȱ eineȱ BlocksynȬ chronisation.ȱAusȱdemȱBitstromȱwerdenȱalsoȱNachrichtenbestandteileȱerkannt.ȱUmȱ eineȱ Nachrichtȱ vonȱ einerȱ folgendenȱ abzutrennen,ȱ istȱ eineȱ Rahmungȱ („Framing“)ȱ notwendig.ȱ Framingȱ kannȱ aufȱ Zeichenebeneȱ erfolgen,ȱ indemȱ manȱ spezielleȱ StartȬȱ undȱ StopȬZeichenȱ definiertȱ (z.B.ȱ dieȱ ASCIIȬZeichenȱ STXȱ undȱ ETX)ȱ undȱ dieseȱ amȱ Anfangȱ bzw.ȱ amȱ Endeȱ derȱ Nachrichtȱ sendet.ȱ Kommenȱ dieseȱ Zeichenȱ aberȱ inȱ denȱ Nutzdatenȱvor,ȱmüssenȱsieȱüberȱeinȱweiteresȱZeichenȱ„neutralisiert“ȱwerden,ȱsonstȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dahinterȱ steckenȱ PolynomialȬVerfahren,ȱ dieȱ inȱ (Tanenbaumȱ 2003a)ȱ undȱ (Kuroseȱ 2002)ȱ nachgelesenȱwerdenȱkönnen.ȱ
8
34ȱ
2.2ȱȱSicherungsschichtȱ gehtȱdieȱSynchronisationȱverloren.ȱHierȱmüssenȱsichȱSenderȱundȱEmpfängerȱeinigȱ sein,ȱwelchesȱZeichenȱdafürȱverwendetȱwird,ȱwobeiȱhäufigȱdasȱASCIIȬZeichenȱDLEȱ verwendetȱwird.ȱDiesenȱMechanismusȱnenntȱmanȱCharacterȬStuffingȱ(Stopfen).ȱȱ Daten,ȱdieȱeinȱSenderȱabschickt,ȱdürfenȱnichtȱverlorenȱgehen.ȱHierȱkannȱmanȱinȱderȱ SicherungsschichtȱebenfallsȱMaßnahmenȱergreifen,ȱwobeiȱfolgendeȱProtokollmechaȬ nismenȱinȱKombinationȱangewendetȱwerden:ȱ – – – –
Bestätigungenȱsendenȱ Zeitüberwachungenȱ(Timerüberwachung)ȱfürȱBestätigungenȱdurchführenȱ Sendungswiederholungȱdurchführenȱ ErkennenȱvonȱDuplikatenȱüberȱSequenzzählerȱundȱVerwerfenȱdieserȱ
EsȱgibtȱunterschiedlicheȱSicherungsprotokolle.ȱManȱsprichtȱhierȱvonȱverbindungsȬ orientiertenȱ undȱ verbindungslosenȱ Protokollenȱ undȱ meintȱ damit,ȱ dassȱ entwederȱ vorȱdemȱNutzdatenaustauschȱeineȱVerbindungȱaufgebautȱwerdenȱmussȱoderȱnicht.ȱ Weiterhinȱ gibtȱ esȱ Protokolleȱ mitȱ undȱ ohneȱ Bestätigung.ȱ Unbestätigteȱ Protokolleȱ übertragenȱDaten,ȱohneȱeineȱentsprechendeȱDLȬPDUȱACK(knowlegde)ȱvomȱEmpȬ fängerȱzuȱerhalten.ȱBeiȱbestätigtenȱProtokollenȱwirdȱderȱSenderȱüberȱdasȱAnkomȬ menȱeinerȱDLȬPDUȱvomȱEmpfängerȱmitȱeinerȱDLȬPDUȱvomȱTypȱACKȱinformiert.ȱ EineȱweitereȱAufgabeȱderȱSicherungsschichtȱistȱdieȱFlusskontrolleȱzurȱVermeidungȱ vonȱRückstausȱundȱdarausȱresultierendenȱDatenverlusten.ȱEineȱempfangendeȱDLȬ Instanzȱmussȱjaȱnichtȱimmerȱgenauȱsoȱschnellȱempfangenȱkönnenȱwieȱdieȱsendendeȱ DLȬInstanzȱ überträgt.ȱ Dieȱ Folgeȱ wäreȱ eineȱ Überflutungȱ derȱ empfangendenȱ DLȬ Instanz,ȱwasȱȱvermiedenȱwerdenȱmuss.ȱ XON/XOFFȬProtokoll.ȱ Einȱ klassischenȱ Protokollȱ zurȱ Flusssteuerungȱ istȱ dasȱ inȱ Abbildungȱ 2Ȭ13ȱ dargestellteȱ XON/XOFFȬProtokoll.ȱ Hierȱ verwaltetȱ jedeȱ DLȬ InstanzȱeinenȱEmpfangspufferȱ(vgl.ȱAbbildungȱ2Ȭ14),ȱinȱdemȱerȱempfangeneȱNachȬ richtenȱeinstellt.ȱWirdȱderȱPufferȱzuȱvoll,ȱistȱalsoȱz.B.ȱeineȱachtzigȬprozentigeȱBefülȬ lungȱ erreicht,ȱ soȱ sendetȱ dieȱ DLȬInstanzȱ aufȱ Empfängerseiteȱ dasȱ Zeichenȱ XOFFȱ (ASCIIȬZeichen).ȱ Dieȱ sendendeȱ DLȬInstanzȱ beendetȱ dasȱ Senden,ȱ bisȱ esȱ einȱ XONȱ empfängt.ȱXONȱsignalisiertȱdemȱSender,ȱdassȱderȱEmpfängerȱwiederȱPlatzȱinȱseiȬ nemȱ Pufferȱ hat.ȱ DieȱPuffergrößeȱundȱ auchȱ derȱ Befüllungsgrad,ȱabȱ demȱ einȱ XOFFȱ bzw.ȱwiederȱeinȱXONȱgesendetȱwird,ȱmüssenȱnatürlichȱgutȱabgestimmtȱsein.ȱ EineȱandereȱMöglichkeitȱzurȱFlusskontrolleȱistȱderȱSlidingȬWindowȬMechanismus,ȱinȱ demȱSenderȱundȱEmpfängerȱdarüberȱBuchȱführen,ȱwieȱvieleȱNachrichtenȱgesendetȱ werdenȱdürfen,ȱbevorȱderȱSenderȱausgebremstȱwird.ȱDerȱEmpfängerȱbestätigtȱanȬ kommendeȱNachrichtenȱoderȱBytesȱüberȱeineȱACKȬPDUȱundȱsendetȱzusätzlichȱdieȱ Information,ȱwieȱgroßȱdasȱ„Sendefenster“ȱfürȱeineȱbestimmteȱVerbindungȱnochȱist.ȱ WeiterhinȱwirdȱinȱSchichtȱ2ȱgeregelt,ȱwerȱalsȱnächstesȱaufȱdenȱKanalȱzugreiftȱ(KaȬ nalsteuerung),ȱ alsoȱ welcherȱ Kommunikationspartnerȱ wannȱ dasȱ ÜbertragungsmeȬ diumȱnutzenȱdarf.ȱ
35ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ Unterȱ Flusskontrolleȱ verstehtȱ manȱ alsoȱ dieȱ Sicherstellung,ȱ dassȱ einȱ überlasteterȱ Empfängerȱ nichtȱ vonȱ einemȱ Senderȱ mitȱ Nachrichtenȱ überschwemmtȱ wird,ȱ dieȱ erȱ nichtȱverarbeitenȱkann.ȱDurchȱgeeigneteȱFlusskontrollmechanismenȱkannȱmanȱdenȱ Senderȱausbremsen,ȱwofürȱesȱmehrereȱMöglichkeitenȱgibt.ȱ DL-Instanz A
DL-Instanz B
DL-PDU(Data ) DL-PDU(Data ) DLPDU(XOFF)
Weitersenden verboten! Senden wieder erlaubt
DLON) PDU(X
Eingabepuffer ist zu voll Eingabepuffer wird entleert
... DL-PDU(Data)
ȱ Abbildungȱ2Ȭ13:ȱXON/XOFFȬProtokollȱ
Einȱ typischesȱ (inȱ dieȱ Jahreȱ gekommenes)ȱ Protokollȱ derȱ Schichtȱ 2ȱ istȱ dasȱ zeichenȬ orientierteȱ BSCȬProtokollȱ (Binaryȱ Synchronousȱ Communicationȱ Protocol),ȱ dasȱ urȬ sprünglichȱvonȱIBMȱentwickeltȱwurde.ȱ„Zeichenorientiert“ȱbedeutetȱhier,ȱdassȱdasȱ Protokollȱzeichenweiseȱsendet,ȱwobeiȱdieȱKodierungȱnachȱdemȱASCIIȬZeichensatzȱ erfolgtȱundȱdieȱTransparenzȱderȱDatenȱdurchȱDLEȬZeichenȱerreichtȱwird.ȱCharacȬ terȬStuffingȱȱistȱalsoȱerforderlich.ȱ Einȱ anderesȱ Protokollȱ derȱ Schichtȱ 2ȱ istȱ dasȱ bitorientierteȱ HDLCȬProtokollȱ ȱ (Highȱ Levelȱ Dataȱ Linkȱ Controlȱ Protocol),ȱ dasȱ ebenfallsȱ vonȱ IBMȱ entwickeltȱ wurdeȱ undȱ leistungsfähigerȱalsȱBSCȱist.ȱHDLCȱwirdȱweiterȱuntenȱnochȱnäherȱerläuert.ȱ DaȱdieȱKomplexitätȱderȱSchichtȱ2ȱvorȱallemȱinȱLocalȱAreaȱNetworksȱbeträchtlichȱist,ȱ teiltȱmanȱdieseȱfunktionalȱnochmalsȱinȱzweiȱSublayers,ȱdieȱMACȬȱȱundȱLLCȬSchichtȱȱ auf.ȱ DieȱMACȬLayerȱ(MediumȱAccessȱControl)ȱ oderȱ 2aȬSchichtȱ regeltȱ denȱ Zugriffȱ aufȱ einenȱ Mehrfachzugriffskanal.ȱ Dieȱ LLCȬLayerȱ (Logicalȱ Linkȱ Control)ȱ oderȱ 2bȬ SchichtȱverwaltetȱdieȱVerbindungenȱzwischenȱdenȱDLȬInstanzen.ȱ ȱ
36ȱ
2.2ȱȱSicherungsschichtȱ Rechner A
Rechner B
DL-Instanz A
DL-Instanz B
Empfangspuffer
Empfangspuffer
PH-Instanz A
PH-Instanz B
ȱ Abbildungȱ2Ȭ14:ȱEmpfangspufferȱinȱderȱDLȬInstanzȱ
Einigeȱ derȱ Mechanismenȱ ausȱ derȱ Schichtȱ 2,ȱ wieȱ dasȱ SlidingȬWindowȬVerfahren,ȱ findenȱauchȱ inȱ derȱ Transportschichtȱ Anwendung,ȱ geltenȱ dortȱaberȱ fürȱ eineȱ EndeȬ zuȬEndeȬKommunikation,ȱ dieȱ evtl.ȱ überȱ mehrereȱ Rechnerȱ gehtȱ undȱ nichtȱ wieȱ inȱ Schichtȱ2ȱ„nur“ȱzwischenȱzweiȱRechnersystemenȱabgewickeltȱwird.ȱ
2.2.2
Topologien
Netzwerkeȱ könnenȱ unterschiedlichȱ strukturiertȱ sein,ȱ undȱ manȱ unterscheidetȱ hinȬ sichtlichȱderȱTopologieȱvorȱallemȱȱBusnetze,ȱSternnetze,ȱBaumnetze,ȱRingnetzeȱundȱ vermaschteȱNetzeȱ(vgl.ȱAbbildungȱ2Ȭ15).ȱDieseȱTopologienȱhabenȱunterschiedlicheȱ VorȬȱundȱNachteile.ȱSternförmigeȱNetzeȱsindȱz.B.ȱumȱeineȱZentraleȱgruppiert,ȱwasȱ nachteiligȱbeiȱeinemȱAusfallȱderȱZentraleȱist.ȱInȱBusnetzenȱhängenȱalleȱRechnerȱanȱ einemȱgemeinsamenȱMedium,ȱwasȱzuȱgeringenȱLeitungskostenȱführt.ȱAlleȱRechnerȱ konkurrierenȱallerdingsȱumȱdasȱgleicheȱMediumȱ(Wettkampf).ȱ
Busnetz
Sternnetz
Vermaschtes Netz
Ringnetz Baumnetz
ȱ
Abbildungȱ2Ȭ15:ȱNetzwerktopologienȱ
Inȱ Ringnetzenȱ sindȱ dieȱ Knotenȱ ringförmigȱ angeordnet,ȱ undȱ dieȱ Übertragungȱ erȬ folgtȱ immerȱnurȱ inȱ eineȱ Richtung.ȱMeistȱ sindȱ dieȱ Leitungenȱ zwischenȱ denȱ einzelȬ nenȱKnotenȱauchȱdoppeltȱausgelegt.ȱBaumnetzeȱweisenȱeineȱhierarchischeȱOrganiȬ
37ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ sationȱ mitȱ einemȱ Wurzelrechnerȱ aus.ȱ Fälltȱ dieserȱ aus,ȱ soȱ istȱ dasȱ problematisch.ȱ RobustȱgegenȱAusfall,ȱdafürȱaberȱmitȱhohenȱLeitungskostenȱeinhergehendȱsindȱsog.ȱ vermaschteȱ Netze,ȱ woȱ einȱ Rechnerknotenȱ immerȱ mitȱ mindestensȱ zweiȱ anderenȱ verbundenȱ ist.ȱ Esȱ istȱ auchȱ möglich,ȱ dassȱ einȱ Netzȱ wieȱ einȱ Busȱ arbeiten,ȱ aberȱ alsȱ Sternȱvernetztȱist.ȱInȱLANsȱwerdenȱhäufigȱlogischeȱBussystemeȱeingesetzt.ȱȱ
2.2.3
Buszugriffsverfahren
Inȱ BusȬbasiertenȱ Netzenȱ sindȱ sog.ȱ Buszugriffsverfahrenȱ fürȱ denȱ Medienzugangȱ erforderlich.ȱDiesȱsindȱMechanismenȱfürȱdenȱzeitgleichenȱZugriffȱaufȱdasȱÜbertraȬ gungsmediumȱ durchȱ mehrereȱ Knotenȱ (Stationen).ȱ Dieseȱ BusȬȱ oderȱ allgemeinȱ KaȬ nalzugriffsverfahrenȱ sindȱ inȱ derȱ Schichtȱ 2ȱ undȱ zwarȱ inȱ derȱ MACȬTeilschichtȱ anȬ geordnet.ȱ Betrachtetȱ werdenȱ imȱ Folgendenȱ vorwiegendȱ Buszugriffsverfahrenȱ imȱ LANȬBereich.ȱȱ Dieȱ Zuteilungȱ desȱ Bussesȱ mussȱ eindeutigȱ geregeltȱ werden.ȱ Nachȱ Abbildungȱ 2Ȭ16ȱ kannȱmanȱdieȱBuszugriffsverfahrenȱinȱgesteuerteȱundȱungesteuerteȱVerfahrenȱeinteiȬ len.ȱGesteuerterȱZugriffȱbedeutet,ȱdassȱesȱeinenȱklarȱdefiniertenȱSteuerungsmechaȬ nismusȱ fürȱ dieȱ Zuteilungȱ desȱ Bussesȱ gibt,ȱ währendȱ einȱ ungesteuertesȱ ZugriffsȬ verfahrenȱzufälligȱist.ȱUngesteuerterȱZugriffȱerfordertȱeineȱCarrierȬSenseȬMultipleȬ AccessȬStrategieȱ(kurz:ȱCSMAȬStrategie).ȱȱ ȱ Buszugriffsverfahren
ungesteuert (zufällig)
gesteuert
zentral gesteuert
dezentral gesteuert
Master-SlaveArchitektur
kollisionsfrei
nicht kollisionsfrei
Multi-MasterArchitektur
Polling Delegated Token
Token Passing Token Ring TDMA
CSMA/CA
CSMA/CD
LIN MOST
FlexRay TTP TTCAN
CAN
Ethernet
Strategie Technologie
ȱ
Abbildungȱ2Ȭ16:ȱEinteilungȱderȱBuszugriffsverfahrenȱnachȱ(Schäuffeleȱ2003)ȱ
ManȱunterscheidetȱhierȱwiederumȱinȱkollisionsfreienȱundȱnichtȱkollisionsfreienȱBuszuȬ griff.ȱBeiȱletzteremȱkannȱjederȱKnotenȱzuȱjederȱZeitȱaufȱdenȱBusȱzugreifen,ȱwasȱzuȱ Kollisionenȱführenȱkann.ȱDaherȱistȱeineȱKollisionsstrategieȱerforderlich.ȱȱ Strategien,ȱ dieȱ Kollisionenȱ zwarȱ erkennenȱ undȱ behandeln,ȱ aberȱ nichtȱ vermeiden,ȱ werdenȱ alsȱ CSMA/CollisionȬDetectingȬStrategienȱ (kurz:ȱ CSMA/CD)ȱ bezeichnet.ȱ Derȱ bekanntesteȱ Technologievertreterȱ dieserȱ Strategieȱ istȱ Ethernet.ȱ Eineȱ Strategie,ȱ dieȱ
38ȱ
2.2ȱȱSicherungsschichtȱ Kollisionenȱmöglichstȱvermeidenȱkann,ȱwirdȱalsȱCSMA/CollisionȬAvoidanceȬStrategieȱ (kurz:ȱCSMA/CA)ȱbezeichnet.ȱDiesȱkannȱmanȱz.B.ȱdurchȱNachrichtenpriorisierungȱ erreichen.ȱNurȱdieȱNachrichtenȱmitȱhöchsterȱPrioritätȱdürfenȱgesendetȱwerden.ȱSoȱ wirdȱ diesȱ z.B.ȱ beiȱ CANȬBussenȱ (Controllerȱ Areaȱ Network)ȱ gemacht.ȱ CANȱ istȱ einȱ vonȱ derȱ Firmaȱ Boschȱ Anfangȱ derȱ 80erȱ Jahreȱ fürȱ denȱ Einsatzȱ inȱ Kraftfahrzeugenȱ entwickeltesȱFeldbussystem,ȱwelchesȱheuteȱeinenȱvielfältigenȱEinsatzȱbeiȱFahrzeuȬ genȱvorweist.ȱ Weiterhinȱ kannȱ manȱ zwischenȱ MasterȬSlaveȬȱ undȱ MultiȬMasterȬArchitekturȱ unterȬ scheiden.ȱ Inȱ einerȱ MasterȬSlaveȬArchitekturȱ hatȱ manȱ einenȱ Masterknoten,ȱ derȱ dieȱ SteuerungȱdesȱBuszugangsȱübernimmt.ȱBeiȱeinerȱMultiȬMasterȬArchitekturȱerfolgtȱ dieȱ Zugangssteuerungȱ dezentralȱ durchȱ alleȱ Knoten.ȱ MasterȬSlaveȬArchitekturenȱ sindȱ einfacherȱ zuȱ realisieren,ȱ sindȱ aberȱ nichtȱ soȱ ausfallsicherȱ wieȱ MultiȬMasterȬ Architekturen.ȱ Beiȱ Ausfallȱ desȱ Masterknotensȱ funktioniertȱ derȱ Busȱ inȱ derȱ Regelȱ nichtȱ mehr.ȱ MultiȬMasterȬVerfahrenȱ könnenȱ entwederȱ tokenȬȱ oderȱ zeitgesteuertȱ sein.ȱEinȱTokenȱistȱhierȱeineȱspezielleȱNachricht,ȱdieȱvonȱKnotenȱzuȱKnotenȱweiterȬ gegebenȱ wird.ȱ Hatȱ einȱ Knotenȱ dasȱ Token,ȱ darfȱ erȱ fürȱ eineȱ definierteȱ Zeitspanneȱ denȱBusȱzumȱSendenȱseinerȱNachrichtenȱnutzen.ȱDanachȱgibtȱerȱdasȱTokenȱweiter.ȱ Beiȱ zeitgesteuertenȱ Verfahrenȱ erhältȱ jederȱ Knotenȱ einenȱ festenȱ Zeitschlitzȱ fürȱ dieȱ exklusiveȱ Nutzungȱ desȱ Busses.ȱ Manȱ sprichtȱ hierȱ auchȱ vonȱ TimeȬDivisionȬMultiȬ AccessȬStrategieȱ(kurzȱTDMAȬStrategie).ȱInȱdieseȱKategorieȱfallenȱz.B.ȱFlexRay,ȱTTNȱ (Transitȱ Televisionȱ Network)ȱ undȱ TTCANȱ (Timeȱ Triggeredȱ CAN):ȱ FlexRayȱ istȱ einȱ Kommunikationssystem,ȱ dasȱ eineȱ zuverlässigeȱ undȱ echtzeitfähigeȱ DatenübertraȬ gungȱzwischenȱdenȱelektrischenȱundȱmechatronischenȱKomponentenȱimȱAutomoȬ bilȱ darstellt.ȱ Mitȱ einerȱ Datenübertragungsrateȱ vonȱ 10ȱ Mbit/sȱ istȱ FlexRayȱ schnellerȱ alsȱdieȱheuteȱinȱKraftfahrzeugenȱeingesetztenȱDatenbusseȱwieȱCAN.ȱEsȱwirdȱvomȱ FlexRayȬKonsortiumȱ(BMWȱAG,ȱDaimlerChryslerȱAG,ȱ...)ȱstandardisiert.ȱ Inȱ derȱ Abbildungȱ 2Ȭ156ȱ sindȱ auchȱ typischeȱ Technologienȱ dargestellt,ȱ dieȱ inȱ dieȱ jeweiligenȱ Kategorienȱ passen.ȱ Inȱ betrieblichemȱ Umfeldȱ findetȱ manȱ inȱ ersterȱ Linieȱ dieȱverschiedenenȱVariantenȱderȱEthernetȬTechnologie,ȱdieȱCSMA/CDȱalsȱZugriffsȬ strategieȱ nutzt.ȱ Inȱ Realzeitumgebungen,ȱ alsoȱ inȱ Systemumgebungen,ȱ inȱ denenȱ esȱ mehrȱ aufȱ deterministischesȱ Verhaltenȱ desȱ Bussesȱ ankommt,ȱ findetȱ manȱ FeldbusȬ systemeȱwieȱetwaȱCAN,ȱLINȱȱ(LocalȱInterconnectȱNetwork) 9,ȱMOSTȱȱ(MediaȱOrienȬ tedȱSystemsȱTransport) 10ȱundȱFlexRay.ȱDieseȱBussystemeȱsindȱvorwiegendȱauchȱimȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ LINȱistȱeinȱseriellerȱBusȱzurȱVernetzungȱeinfacherȱAktorenȱundȱSensorenȱimȱBereichȱvonȱ Automobilanwendungen.ȱDasȱBussystemȱverfügtȱüberȱeinȱeinfachesȱProtokollȱundȱeineȱ einfacheȱAblaufsteuerung.ȱ
9
ȱȱ MOSTȱ istȱ einȱ MultimediaȬGlasfaserbusȱ fürȱ Applikationenȱ inȱ derȱ Automobilelektronik.ȱ EsȱdefiniertȱProtokolleȱsowieȱHardwareȬȱundȱSoftwareȬEbenenȱfürȱdieȱÜbertragungȱvonȱ SteuerungsȬ,ȱ EchtzeitȬȱ undȱ Paketdaten.ȱ MOSTȱ wirdȱ u.a.ȱ fürȱ dieȱ Kommunikationȱ multiȬ medialerȱSystemeȱimȱAutoȱeingesetztȱ(ÜberbegriffȱInfotainmentȱimȱFahrzeug).ȱ
10
39ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ AutomotiveȬUmfeld,ȱ alsoȱinȱ Autosȱ(BMW,...)ȱ vorzufinden.ȱSieȱverbindenȱ dortȱ dieȱ verschiedenenȱSteuergeräteȱmiteinander.ȱȱ EineȱetwasȱandereȱKlassifizierungȱunterscheidetȱfolgendeȱZugriffsverfahren:ȱ – Wettkampfverfahren:ȱManȱkannȱsichȱalsȱAnalogieȱvorstellen,ȱdassȱeineȱDiskusȬ sionsgruppeȱdiskutiert,ȱinȱderȱalleȱgleichberechtigtȱredenȱdürfen.ȱ Typischesȱ VerfahrenȱistȱhierȱauchȱCSMA/CD,ȱdasȱimȱLANȱundȱzwarȱinȱBustopologienȱ eingesetztȱwird.ȱ – TokenȬPassingȬVerfahren:ȱ Diesesȱ Verfahrenȱ kannȱ manȱ mitȱ einerȱ DiskussionsȬ gruppeȱ vergleichen,ȱ inȱ derȱ derjenigeȱ redenȱ darf,ȱ demȱ derȱ Diskussionsleiterȱ dasȱ Wortȱ erteiltȱ hat.ȱ Dasȱ Verfahrenȱ istȱ auchȱ imȱ LANȱ interessant.ȱ TokenȬ PassingȱstammtȱausȱderȱIBMȬWeltȱundȱwirdȱinȱRingnetzenȱverwendet.ȱ – DistributedȬQueueȬDualȬBusȬVerfahrenȱ (DQDB):ȱ Beiȱ diesemȱ Verfahrenȱ darfȱ manȱinnerhalbȱderȱDiskussionsgruppeȱreden,ȱwennȱmanȱgemäßȱderȱReihenȬ folgeȱ eingehenderȱ Wortmeldungenȱ dranȱ ist.ȱ DQDBȱ wurdeȱ inȱ MANȱ (RingȬ netze)ȱeingesetzt,ȱistȱheuteȱaberȱnichtȱmehrȱverbreitet.ȱ
2.2.4
Fallbeispiel: CSMA-Protokolle
BeiȱMehrfachzugriffskanälenȱ(auchȱalsȱVielfachzugriffskanäleȱbezeichnet)ȱpflanzenȱ sichȱalleȱvonȱeinerȱStationȱgesendetenȱSignaleȱinȱbeideȱRichtungenȱdesȱKanalsȱfort.ȱ Inȱ Ermangelungȱ einesȱ zentralenȱ Controllers,ȱ könnenȱ alleȱ Stationenȱ unabhängigȱ voneinanderȱ arbeitenȱ undȱ gleichzeitigȱ sendenȱ (Multipleȱ Accessȱ =ȱ MA).ȱ Hierȱ kommtȱ esȱzuȱ Kollisionen,ȱdieȱ mitȱ speziellenȱ Aktionenȱ bearbeitetȱwerdenȱ müssen.ȱ EinȱverteiltesȱKoordinationsschemaȱistȱalsoȱerforderlich,ȱumȱKollisionenȱzuȱerkenȬ nenȱundȱzuȱbeseitigenȱ(Tanenbaumȱ2003a).ȱ Esȱ gibtȱ mehrereȱ Algorithmenȱ fürȱ denȱ nebenläufigenȱ Zugriffȱ aufȱ einenȱ MehrfachȬ zugriffskanalȱimȱWettkampfverfahren.ȱALOHAȱundȱseineȱverschiedenenȱVersionenȱ warenȱ Endeȱ derȱ 60erȱ undȱ inȱ denȱ 70erȱ Jahrenȱ dieȱ bekanntestenȱ Verfahren.ȱ Unterȱ demȱ Begriffȱ ALOHAȱ werdenȱ gelegentlichȱ auchȱ alleȱ Wettkampfverfahrenȱ zusamȬ mengefasst.ȱ ALOHAȱ wurdeȱ ursprünglichȱ vonȱ derȱ Universitätȱ vonȱ Hawaiiȱ entwiȬ ckelt.ȱDasȱALOHAȬVerfahrenȱwurdeȱinȱeinerȱsog.ȱ„slotted“ȱundȱeinerȱ„reinen“ȱFormȱ betrieben.ȱ Inȱderȱ slottedȱVersionȱ wurdenȱ Zeitintervalleȱ fürȱ Framesȱ(Rahmen)ȱ defiȬ niert,ȱdieȱbeimȱSendenȱeinzuhaltenȱwaren.ȱDasȱSendenȱeinesȱFramesȱwarȱalsoȱimȬ merȱanȱeinenȱfestenȱZeitschlitzȱgebunden.ȱImȱ„reinen“ȱ(pure)ȱALOHAȱgabȱesȱkeineȱ Zeitschlitze,ȱundȱdamitȱkonnteȱjedeȱStationȱsendenȱwannȱsieȱwollte.ȱEineȱÜberprüȬ fungȱ desȱ Kanals,ȱ obȱ erȱ freiȱ war,ȱ wurdeȱ beimȱ reinenȱ ALOHAȱ nichtȱ durchgeführt.ȱ DasȱführteȱjeȱnachȱNetzwerkauslastungȱzuȱvielenȱKollisionenȱundȱdamitȱzuȱniedriȬ gemȱ Durchsatz.ȱ Pureȱ ALOHAȱ warȱ aberȱ nichtȱ sehrȱ effektiv,ȱ daȱ alleȱ Stationen,ȱ dieȱ sendenȱ wollten,ȱ ohneȱ Rücksichtȱ aufȱ andereȱ auchȱ sendenȱ durften.ȱ Slottedȱ ALOHAȱ warȱetwasȱeffektiver.ȱ
40ȱ
2.2ȱȱSicherungsschichtȱ S1
erfolgreicher Kanalzugriff
erfolgreicher Kanalzugriff
Zufallszeit
S2
Fehlversuch (Kanalzugriff nicht erfolgreich)
erfolgreicher Kanalzugriff
Zeit
ȱ
Abbildungȱ2Ȭ17:ȱSzenarioȱeinesȱKanalzugriffsȱbeiȱnonȬpersistentȱCSMAȱ
Protokolle,ȱdieȱdenȱKanalȱ(Träger,ȱCarrier)ȱdagegenȱvorȱdemȱSendenȱabhörenȱundȱ dannȱ entscheiden,ȱ obȱ gesendetȱ werdenȱ kann,ȱ heißenȱ auchȱ TrägererkennungsproȬ tokolleȱ(CarrierȱSenseȱProtocols)ȱoderȱCSMAȬProtokolle.ȱAuchȱCSMAȱistȱnichtȱkolȬ lisionsfrei.ȱEsȱgibtȱverschiedeneȱCSMAȬVarianten.ȱManȱunterscheidetȱnichtȱpersisȬ tenteȱ(nonȬpersistent)ȱundȱpȬpersistente 11ȱCSMAȬVerfahren.ȱ NonȬpersistentȱCSMA.ȱBeiȱnonȬpersistentȱCSMAȱwirdȱvorȱdemȱSendenȱgeprüft,ȱobȱ derȱKanalȱfreiȱist.ȱFallsȱȱdiesȱderȱFallȱist,ȱwirdȱgesendet.ȱIstȱdiesȱnichtȱderȱFall,ȱȱwirdȱ eineȱ zufälligȱ verteilteȱ Zeitȱ gewartetȱ undȱ dannȱ wiederȱ vonȱ vorneȱ begonnen.ȱ DaȬ durchȱwirdȱdieȱWahrscheinlichkeitȱvermindert,ȱdassȱeinȱbelegterȱKanalȱnachȱdemȱ FreiwerdenȱgleichzeitigȱdurchȱmehrereȱwartendeȱStationenȱbelegtȱwirdȱundȱsomitȱ wiederumȱ Kollisionenȱ provoziertȱ werden.ȱ Einȱ KanalȬZugriffsszenarioȱ istȱ inȱAbbildungȱ2Ȭ17ȱskizziert.ȱHierȱgreifenȱzweiȱStationenȱS1ȱundȱS2ȱaufȱdenȱKanalȱ zu.ȱS1ȱistȱzunächstȱerfolgreich,ȱS2ȱhat,ȱbevorȱsieȱdenȱKanalȱerfolgreichȱnutzenȱkann,ȱ erstȱ einmalȱ einenȱ Fehlversuchȱ undȱ wartetȱ daraufhinȱ eineȱ zufälligȱ langeȱ Zeitȱ vorȱ demȱerneutenȱKanalzugriff.ȱ pȬpersistentȱ CSMA.ȱ Beimȱ pȬpersistentȱ CSMAȱ prüftȱ eineȱ Stationȱ vorȱ demȱ Sendenȱ auch,ȱobȱderȱKanalȱfreiȱist.ȱFallsȱdiesȱderȱFallȱist,ȱwirdȱdasȱPaketȱnurȱmitȱderȱWahrȬ scheinlichkeitȱ pȱ sofortȱ gesendet.ȱ Mitȱ derȱ Wahrscheinlichkeitȱ 1ȱ –ȱ pȱ wirdȱ zunächstȱ eineȱbestimmteȱZeitȱgewartetȱundȱdanachȱderȱSendeversuchȱwiederholt.ȱ Beiȱ belegtemȱ Kanalȱ beobachtetȱ dieȱ sendewilligeȱ Stationȱ denȱ Kanal,ȱ bisȱ dieserȱ freiȱ wird.ȱ Sobaldȱ erȱ freiȱ wird,ȱ wirdȱ wieȱ geradeȱ erläutertȱ verfahren.ȱ Einȱ Szenarioȱ fürȱ einenȱ typischenȱ zeitlichenȱ Verlaufȱ beiȱ pȬpersistentȱ CSMAȱ istȱ inȱ Abbildungȱ 2Ȭ18ȱ skizziert.ȱImȱBeispielȱnutztȱzunächstȱdieȱStationȱS1ȱdenȱKanalȱ(Wahrscheinlichkeitȱ p)ȱundȱwartetȱbeimȱzweitenȱVersuchȱ(Wahrscheinlichkeitȱ1ȱ–ȱp)ȱeineȱZeitȱt,bisȱderȱ Kanalȱgenutztȱwird.ȱDieȱStationȱS2ȱhatȱzunächstȱeinenȱFehlversuch,ȱweilȱS1ȱgeradeȱ sendet,ȱ versuchtȱ esȱ beharrlichȱ weiterȱ undȱ erhältȱ dannȱ schließlichȱ denȱ Kanal.ȱ AnȬ schließendȱhatȱS1ȱebenfallsȱeinenȱFehlversuch.ȱȱ Dieȱ Zeitȱ tȱ istȱ soȱ gewählt,ȱ dassȱ einȱ Bitȱ geradeȱ Zeitȱ hat,ȱ denȱ Kanalȱ zuȱ durchlaufen.ȱ Dadurchȱ wirdȱ erreicht,ȱ dassȱ beiȱ zweiȱ oderȱ mehrerenȱ sendewilligenȱ Stationenȱ nurȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Persistentȱ=ȱbeharrend.ȱ
11
41ȱ
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ eineȱStationȱsendet.ȱDieȱzweiteȱhatȱinȱderȱZeitȱtȱdieȱMöglichkeitȱfestzustellen,ȱdassȱ derȱKanalȱbelegtȱist.ȱ DieȱWahrscheinlichkeitȱpȱkannȱinȱdiesemȱVerfahrenȱvariiertȱwerden,ȱumȱdieȱÜberȬ tragungskapazitätȱbzw.ȱdieȱVerzögerungszeitȱzuȱoptimieren.ȱ 1Ȭpersistentȱ CSMA.ȱ Eineȱ Spezialvarianteȱ istȱ dasȱ 1ȬpersistentȱCSMA.ȱ Inȱ dieserȱ VaȬ rianteȱ hörtȱ eineȱ Stationȱ denȱ Kanalȱ ab,ȱ wennȱ sieȱ sendenȱ möchte.ȱ Istȱ derȱ Kanalȱ beȬ setzt,ȱ wirdȱ gewartet,ȱ bisȱ erȱ freiȱ ist,ȱ ansonstenȱ wirdȱ einȱ Rahmenȱ übertragen.ȱ Derȱ Nameȱkommtȱdaher,ȱweilȱeineȱStationȱmitȱeinerȱWahrscheinlichkeitȱvonȱ1ȱsendet,ȱ wennȱderȱKanalȱfreiȱist.ȱ Dieȱ CSMAȬVerfahrenȱ sindȱ effektiverȱ alsȱ dasȱ reineȱ undȱ dasȱ slottedȱ ALOHAȬ Verfahren,ȱ daȱ sieȱ sicherstellen,ȱ dassȱ keineȱ Stationȱ sendet,ȱ wennȱ derȱ Kanalȱ geradeȱ belegtȱist.ȱEineȱweitereȱVerbesserungȱergibtȱsich,ȱwennȱeineȱStationȱbeiȱFeststellungȱ einerȱ Kollisionȱ sofortȱ aufhörtȱ zuȱ senden.ȱ Dieseȱ Erweiterungȱ wirdȱ alsȱ CSMA/CDȱ bezeichnet,ȱwobeiȱ„CD“ȱfürȱCollisionȱDetectionȱ(Kollisionserkennung)ȱsteht.ȱ Dasȱ CSMA/CDȬVerfahrenȱ istȱ dasȱ bekanntesteȱ undȱ wichtigsteȱ MedienzugangsverȬ fahrenȱbzw.ȱMehrfachzugriffsprotokollȱundȱistȱimȱLANȬUmfeldȱheuteȱsehrȱverbreiȬ tet.ȱDasȱVerfahrenȱfunktioniertȱnunȱso,ȱdassȱalleȱStationen,ȱdieȱanȱdenȱKanalȱ(Bus)ȱ angeschlossenȱ sind,ȱ dasȱ Übertragungsmediumȱ abhörenȱ (Carrierȱ Senseȱ =ȱ CS)ȱ undȱ ständigȱ prüfen,ȱ obȱ andereȱ Stationenȱ sendenȱ (Busyȱ Waiting).ȱ Eineȱ Stationȱ (einȱ Rechner),ȱ dieȱ eineȱ Nachrichtȱ sendenȱ möchte,ȱ kannȱ diesȱ völligȱ autarkȱ entscheidenȱ undȱmussȱdabeiȱeinigeȱRegelnȱbeachten.ȱȱ Beiȱ CSMA/CDȱ überwachtȱ eineȱ Stationȱ alsoȱ zunächstȱ dasȱ Medium.ȱ Istȱ esȱ belegt,ȱ mussȱ sieȱ ihrenȱ Übertragungswunschȱ zurückstellen.ȱ Istȱ dasȱ Mediumȱ frei,ȱ erfolgtȱ nachȱ demȱ Verstreichenȱ einerȱ bestimmtenȱ Zeitspanneȱ dieȱ Übertragung,ȱ ansonstenȱ wartetȱ dieȱ sendewilligeȱ Stationȱ eineȱ zufälligeȱ Zeit.ȱ Istȱ derȱ Kanalȱ frei,ȱ sendetȱ dieȱ StationȱundȱhörtȱgleichzeitigȱdasȱMediumȱab.ȱStimmtȱdas,ȱwasȱabgehörtȱwird,ȱnichtȱ mehrȱ mitȱ demȱ überein,ȱ wasȱ gesendetȱ wurde,ȱ liegtȱ eineȱ Kollisionȱ vorȱ (Collisionȱ Detectionȱ=ȱCD).ȱInȱdiesemȱFallȱhörenȱalleȱStationenȱaufȱzuȱsendenȱundȱwartenȱeineȱ zufälligeȱZeit,ȱbisȱsieȱwiederȱanfangenȱzuȱsenden.ȱ ȱ t
Kanalzugriff
S1
persistent versuchen
S2
0 p
1-p
persistent versuchen
Kanalzugriff
Fehlversuch
t
Kanalzugriff
Kanalzugriff
p
Fehlversuch
1-p
p
Abbildungȱ2Ȭ18:ȱSzenarioȱeinesȱKanalzugriffsȱbeiȱpȬpersistentȱCSMAȱ
42ȱ
Zeit
ȱ
2.2ȱȱSicherungsschichtȱ DamitȱdieȱKanalbelegungȱoderȱeineȱKollisionȱauchȱvonȱderȱamȱweitestenȱentfernȬ tenȱ Stationȱ erkanntȱ werdenȱ kann,ȱ istȱ eineȱ Mindestnachrichtenlängeȱ erforderlich,ȱ dieȱ vonȱ derȱ Signallaufzeit,ȱ alsoȱ vonȱ derȱ Übertragungsgeschwindigkeitȱ undȱ derȱ Kanallänge,ȱ abhängt.ȱ Dasȱ Sendenȱ einerȱ Nachrichtȱ sollteȱ doppeltȱ soȱ langeȱ wieȱ dieȱ Signallaufzeitȱsein.ȱDamitȱwirdȱauchȱeineȱKollisionȱerkannt,ȱwennȱdieȱentferntesteȱ StationȱkurzȱvorȱdemȱEndeȱeinesȱRahmensȱselbstȱzuȱsendenȱbeginnt.ȱ Dasȱ CSMA/CDȬVerfahrenȱ wirdȱ auchȱ imȱ EthernetȬStandardȱ IEEEȱ 802.3ȱ inȱ einerȱ speziellenȱVarianteȱverwendet.ȱEsȱsollȱnochȱangemerktȱwerden,ȱdassȱdasȱverwenȬ deteȱZugriffsverfahrenȱaufȱdasȱMediumȱ(CSMA/CD)ȱrelativȱeinfachȱzuȱimplemenȬ tierenȱ ist.ȱ Beiȱ geringerȱ Lastȱ erhältȱ eineȱ Stationȱ auchȱ schnellȱ denȱ Zugriffȱ aufȱ dasȱ Medium.ȱ Jedochȱ könnenȱ Stationenȱ beiȱ vielenȱ Kollisionenȱ auchȱ benachteiligtȱ werȬ den.ȱCSMA/CDȱistȱkeinȱdeterministischesȱVerfahren,ȱdasȱeinerȱStationȱdenȱZugriffȱ innerhalbȱ einerȱ genauȱ festgelegtenȱ Zeitspanneȱ zusichert.ȱ Daherȱ istȱ esȱ nichtȱ echtȬ zeitfähigȱundȱauchȱnichtȱsoȱgutȱfürȱMultimediaȬAnwendungenȱgeeignet.ȱ
2.2.5
Überblick über konkrete Netzwerktechnologien
Konkreteȱ Ausführungsformenȱ bzw.ȱ Ausprägungenȱ vonȱ Netzenȱ stammenȱ meistȱ ausȱ Entwicklungenȱ beiȱ konkretenȱ Herstellerfirmenȱ undȱ wurdenȱ oftȱ nachträglichȱ standardisiert.ȱHierzuȱgehörenȱu.a.:ȱ – EthernetȱalsȱLANȬStandardȱ(IEEEȱ802.3).ȱȱ – Tokenȱ Busȱ alsȱ LANȬStandardȱ (IEEEȱ 802.4)ȱ fürȱ logischeȱ Ringtopologienȱ aufȱ BasisȱeinesȱphysikalischenȱBussesȱ(u.a.ȱvonȱGeneralȱMotorsȱfürȱAutomatisieȬ rungsaufgabenȱinȱderȱFertigungȱkonzipiert).ȱ – TokenȱRingȱalsȱLANȬStandardȱmeistȱinȱIBMȬUmgebungȱ(IEEEȱ802.5).ȱȱ – WLANȱ(WirelessȱLAN)ȱalsȱdrahtlosesȱNetzwerkȱ(IEEEȱ802.11).ȱ – DQDBȱalsȱMANȬStandardȱ(IEEEȱ802.6).ȱȱ – FDDIȱbzw.ȱFDDIȱIIȱ(FiberȱDistributedȱDataȱInterface)ȱalsȱMANȬStandard,ȱeinȱ DoppelringȱaufȱBasisȱvonȱLichtwellenleitern,ȱderȱȱEinsatzȱinȱBackbonesȱfinȬ detȱ (100ȱ Mbit/sȱ beiȱ Entfernungenȱ vonȱ mehrȱ alsȱ 200ȱ km,ȱ bisȱ zuȱ 1000ȱ StatioȬ nen).ȱȱ – ATMȱ (Asynchronousȱ Transferȱ Mode)ȱ alsȱ WAN/LANȬStandardȱ imȱ TelefonȬ netzȱoderȱauchȱfürȱLANȬBackbones.ȱȱ Dieȱ erstenȱ fünfȱ genanntenȱ Systembeispieleȱ sindȱ imȱ IEEEȬNormenwerkȱ 802ȱ fürȱ LANȱ undȱ MANȱ zusammengefasst.ȱ ATMȱ wirdȱ durchȱ dasȱ ATMȬForumȱ genormt.ȱ Wirȱ wollenȱ exemplarischȱ IEEEȱ 802.3ȱ undȱ 802.11ȱ etwasȱ näherȱ betrachten.ȱ Inȱ Abbildungȱ 2Ȭ19ȱ sindȱ dieȱ imȱ IEEEȱ 802ȬStandardȱ behandeltenȱ Normenȱ skizziert.ȱ ManȱsiehtȱinȱderȱAbbildungȱdieȱetwasȱerweiterteȱSchichtung.ȱȱ
43ȱ
Schicht 1
Schicht 2
2ȱȱTechnischeȱGrundlagenȱvonȱRechnernetzenȱ
LLC (Logical Link Control) MAC (Media Access Control)
Bitübertragung
IEEE 802.2 Logical Link Control
IEEE 802.3 Ethernet
IEEE 802.4 Token Bus
IEEE 802.5 Token Ring
IEEE 802.11 WLAN
IEEE 802.6 DQDB
ȱ Abbildungȱ2Ȭ19:ȱIEEEȬStandardisierungsgruppenȱ
DieȱSchichtȱ2ȱumfasstȱdieȱIEEEȬ802.2ȬNormȱfürȱdieȱLLCȬSublayerȱundȱreichtȱinȱdieȱ IEEEȬ802.3ȬNormȱhinein.ȱDieseȱNormȱistȱständigȱinȱderȱWeiterentwicklung,ȱundȱesȱ gibtȱauchȱmittlerweileȱvieleȱNormierungsȬUntergruppen.ȱBeispielsweiseȱbeschreibtȱ dieȱ Unternormȱ 802.3abȱ 1000BaseȬTȱ fürȱ einȱ Gbit/sȬEthernetȱ überȱ TwistedȬPairȱ undȱ dieȱ Unternormȱ 802.3yȱ 100BaseȬT2ȱ überȱ 100ȱ Mbit/sȱ aufȱ Basisȱ einesȱ TwistedȬPairȬ KabelsȱniedrigererȱQualität.ȱ
2.3 Übungsaufgaben 1. 2. 3. 4. 5. 6. 7. 8.
44ȱ
UnterscheidenȱSieȱdieȱBegriffeȱTransferzeit,ȱLaufzeitȱundȱÜbertragungszeit.ȱ Wasȱ beschreibtȱ dieȱ Schrittgeschwindigkeitȱ undȱ welcheȱ Einheitȱ wirdȱ verwenȬ det?ȱ WasȱverstehtȱmanȱbeiȱderȱVerkabelungȱunterȱS/STP?ȱ ErklärenȱSieȱdieȱGrundprinzipienȱderȱstrukturiertenȱVerkabelung.ȱ ErläuternȱSieȱdenȱUnterschiedȱzwischenȱpȬpersistentȱundȱ1ȬpersistentȱCSMA?ȱ WasȱverstehtȱmanȱunterȱgesteuertenȱBuszugriffsverfahrenȱundȱwelcheȱVarianȬ tenȱgibtȱesȱhierfür?ȱ Wasȱ verstehtȱ manȱ unterȱ ungesteuertenȱ Buszugriffsverfahrenȱ undȱ welcheȱ VaȬ riantenȱgibtȱesȱhierfür?ȱ WozuȱbenötigtȱmanȱinȱderȱSchichtȱ2ȱeinȱXON/XOFFȬProtokoll?ȱ
ȱ
3 Ausgewählte Technologien und Protokolle unterer Schichten BevorȱdieȱhöherenȱKommunikationsschichtenȱundȱdieȱwichtigstenȱProtokolleȱdarȬ ausȱbetrachtetȱwerden,ȱsollenȱvorabȱeinigeȱProtokolle,ȱTechnologienȱundȱÜbertraȬ gungstechnikenȱ fürȱ denȱ LANȬȱ undȱ WANȬBereich,ȱ dieȱ gemäßȱ ISO/OSIȬReferenzȬ modellȱüberwiegendȱinȱdenȱunterenȱSchichtenȱangesiedeltȱsind,ȱanhandȱvonȱFallȬ beispielenȱbetrachtetȱwerden.ȱȱ InȱdiesemȱKapitelȱwirdȱeinȱknapperȱÜberblickȱzuȱausgewähltenȱThemenȱgegeben.ȱ Stellvertretendȱ fürȱ einenȱ Standardȱ derȱ Schichtȱ 1ȱ wirdȱ RSȬ232ȱ diskutiert.ȱ Fürȱ dieȱ Schichtȱ2ȱwirdȱdasȱHDLCȬProtokoll,ȱdasȱinȱvielenȱNetzwerkenȱinȱmehrerenȱVarianȬ tenȱ vorzufindenȱ ist,ȱ sowieȱ dasȱ PPPȬProtokollȱ vorgestellt.ȱ Ethernet,ȱ virtuelleȱ LANȱ (VLAN)ȱ undȱ wirelessȱ LANȱ (WLAN)ȱ werdenȱ beispielhaftȱ alsȱ Technologienȱ derȱ unterenȱ beidenȱ Schichtenȱ imȱ LANȬBereichȱ betrachtet.ȱ Mitȱ ISDNȱ wirdȱ einȱ Dienst,ȱ derȱweitȱverbreitet,ȱaberȱnunȱschonȱinȱdieȱJahreȱgekommenȱist,ȱalsȱTechnologieȱundȱ Zugangȱ fürȱ Weitverkehrsnetzeȱ vorgestellt.ȱ Dasȱ DSLȬVerfahren,ȱ dasȱ dieȱ gleichenȱ KabelȱwieȱISDNȱverwendet,ȱwirdȱebenfallsȱkurzȱskizziert.ȱPDH,ȱSDHȱundȱSONETȱ sindȱ Übertragungsverfahren,ȱ dieȱ inȱ Weitverkehrsnetzenȱ eingesetztȱ werden.ȱ Dieseȱ Verfahrenȱ sollenȱ ebenfallsȱ kurzȱ vorgestelltȱ werden.ȱ Amȱ Endeȱ desȱ Kapitelsȱ wirdȱ nochȱATMȱalsȱWANȬTechnologieȱeingeführt.ȱ Zielsetzung des Kapitels ZielȱdiesesȱKapitelsȱistȱes,ȱeinenȱÜberblickȱüberȱausgewählteȱProtokolleȱundȱTechȬ nologienȱuntererȱKommunikationsschichten,ȱinsbesondereȱvonȱRSȬ232,ȱHDLC,ȱPPP,ȱ Ethernet,ȱ WLANȱ undȱ ATMȱ zuȱ geben.ȱ Derȱ Studierendeȱ sollteȱ dieȱ Funktionalitätȱ dieserȱProtokolleȱundȱTechnologienȱerläuternȱkönnen.ȱ Wichtige Begriffe RSȬ232,ȱ HDLCȱ (NRM,ȱ ARM,ȱ ABM),ȱ PPP,ȱ Ethernetȱ (100BaseȬT,…),ȱ EthernetȬHubȱ undȱEthernetȬSwitch,ȱWLAN,ȱDSL,ȱATM,ȱVLAN.ȱ
3.1 Bitübertragungsschicht: Der RS-232-Standard EinȱweitȱverbreiteterȱStandardȱfürȱdieȱÜbertragungȱvonȱDatenȱüberȱkurzeȱEntferȬ nungenȱistȱderȱvonȱderȱElectronicȱIndustriesȱAssociationȱ(EIA) 1ȱgenormteȱRSȬ232Ȭ Standard.ȱDerȱStandardȱhatȱdieȱvollständigeȱBezeichnungȱRSȬ232ȬCȱundȱwirdȱseitȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EIAȱistȱeinȱZusammenschlussȱvonȱHerstellernȱelektronischerȱGeräte.ȱ
1
45ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ 1991ȱauchȱEIAȬ232ȬCȬStandardȱgenannt.ȱDieȱinternationaleȱNormȱderȱCCITTȱheißtȱ V.24.ȱV24ȱstimmtȱaberȱmitȱRSȬ232ȬCȱweitgehendȱübereinȱundȱsollȱunsȱalsȱBeispielȱ fürȱeineȱSchichtȬ1ȬKonventionȱdienen.ȱȱ ImȱRSȬ232ȬStandardȱwerdenȱdieȱSignalȬSpannung,ȱdasȱSignalȬTiming,ȱeinȱProtokollȱ zumȱAustauschȱderȱInformationȱsowieȱdieȱmechanischenȱVerbindungenȱfestgelegt.ȱ RSȬ232ȱ definiertȱ eineȱ serielle,ȱ asynchroneȱ Kommunikationȱ zwischenȱ zweiȱ RechȬ nernȱ oderȱ zwischenȱ einemȱ Rechnerȱ undȱ einemȱ Modem.ȱ Dieȱ Übertragungȱ erfolgtȱ seriellȱ (imȱ Gegensatzȱ zuȱ parallel),ȱ alsoȱ Bitȱ fürȱ Bitȱ nacheinanderȱ überȱ einenȱ Leiterȱ (einȱPinȱistȱfürȱdasȱSendenȱreserviert).ȱDieȱÜbertragungȱerfolgtȱasynchronȱinȱganȬ zenȱ Zeichen.ȱ Asynchronȱ bedeutetȱ hier,ȱ dassȱ sichȱ Senderȱ undȱ Empfängerȱ vorȱ derȱ Übertragungȱ nichtȱ synchronisieren.ȱ Abbildungȱ 3Ȭ1ȱ zeigtȱ dieȱ typischeȱ Verbindungȱ zwischenȱ einemȱ Rechnerȱ (DTEȱ =ȱ Dataȱ Terminalȱ Equipment)ȱ undȱ einemȱ Modemȱ (DCEȱ =ȱ Dataȱ CircuitȬterminatingȱ Equipment).ȱ Aufȱ derȱ DCEȬSeiteȱ istȱ dieȱ PinȬ Belegungȱ„female“,ȱaufȱderȱDTEȬSeiteȱ„male“.ȱȱ Teiefonleitung
Computer Male DB25
Female DB25
Interface-Kabel
Modem
DTE
DCE
Data Terminal Equipment
Data Circuit-terminating Equipment
ȱ
Abbildungȱ3Ȭ1:ȱKommunikationȱzwischenȱDTEȱundȱDCEȱinȱRSȬ232ȱ
Dieȱ Übertragungȱ erfolgtȱ inȱ einerȱ einfachenȱ Binärkodierung.ȱ Eineȱ Spannungȱ zwiȬ schenȱ–3Vȱundȱ–25Vȱwirdȱalsȱlogischeȱȇ1ȇ,ȱeineȱSpannungȱzwischenȱ+3Vȱundȱ+25Vȱ alsȱlogischeȱȇ0ȇȱbetrachtet.ȱWeiterhinȱgilt:ȱ – FürȱdieȱÜbertragungȱeinesȱZeichensȱwerdenȱinsgesamtȱneunȱBitȱbenötigt.ȱ – VorȱjederȱÜbertragungȱeinesȱZeichensȱwirdȱeinȱ0ȬBit,ȱdasȱsog.ȱStartbitȱȱüberȬ tragen.ȱDiesesȱ0ȬBitȱistȱnotwendig,ȱweilȱdieȱSpannungȱnachȱderȱÜbertragungȱ aufȱeinenȱ1ȬBitȬWertȱstehenȱbleibt.ȱȱ – NachȱderȱÜbertragungȱeinesȱZeichensȱwirdȱeinȱStopbitȱ(0b1)ȱȱgesendet.ȱȱ – EinȱZeichenȱwirdȱinȱsiebenȱBitȱkodiert.ȱȱ DieȱSpannungȱzurȱÜbertragungȱeinesȱBitȱwirdȱbeimȱSendenȱfürȱeineȱvorgegebeneȱ Mindestzeitȱangelegt,ȱdamitȱderȱEmpfängerȱfürȱdasȱAbgreifenȱgenügendȱZeitȱhat.ȱ DerȱRSȬ232ȬStandardȱistȱfürȱDatenratenȱbisȱ20.000ȱBit/sȱbeiȱKabellängenȱbisȱzuȱ15ȱmȱ ausgelegt.ȱ Senderȱ undȱ Empfängerȱ müssenȱ dieȱ gleicheȱ Signalgeschwindigkeitȱ einȬ gestelltȱ haben,ȱ wobeiȱ 19.200ȱ Baudȱ üblicherweiseȱ alsȱ Obergrenzeȱ eingesetztȱ wird.ȱ AuchȱBaudratenȱvonȱ300,ȱ600,ȱ1200,ȱ4800ȱundȱ9600ȱwerdenȱverwendet.ȱUmȱFehlerȱ zuȱerkennen,ȱmisstȱderȱEmpfängerȱeineȱanliegendeȱSpannungȱmehrmalsȱundȱverȬ
46ȱ
3.1ȱȱBitübertragungsschicht:ȱDerȱRSȬ232ȬStandardȱ gleichtȱ dieȱ Messergebnisseȱ miteinander.ȱ Stelltȱ erȱ Unterschiedeȱ fest,ȱ wirdȱ einȱ FraȬ mingȬErrorȱsignalisiert.ȱ Spannung
+25 V
Logisch ´0´
+3 V
Transition Region
Zeit -3 V
Logisch ´1´
-25 V
ȱ Abbildungȱ3Ȭ2:ȱKodierungȱbeiȱRSȬ232ȱ
Keinȱ Kabelȱ leitetȱ Elektrizitätȱ perfekt.ȱ Dasȱ SignalȬTimingȱ unterliegtȱ daherȱ einigenȱ Konventionen,ȱundȱbeimȱWechselȱvonȱ0b1ȱaufȱ0b0ȱoderȱumgekehrtȱȱmussȱeinigesȱ beachtetȱ werden.ȱ Beispielsweiseȱ müssenȱ sichȱ Signaleȱ währendȱ einesȱ ZustandsȬ wechselsȱ zumȱ entgegengesetztenȱ Signalwertbereichȱ bewegen,ȱ ohneȱ dieȱ Richtungȱ zuȱ ändernȱ (sieheȱ dieȱ inȱ derȱ Abbildungȱ 3Ȭ2ȱ dargestellteȱ Transitionȱ Region).ȱ Dieȱ TransitionszeitȱfürȱdenȱÜbergangȱvonȱeinemȱZustandȱinȱdenȱanderenȱsollteȱweniȬ gerȱ alsȱ eineȱ Millisekundeȱ betragen.ȱ Einȱ akzeptablerȱ Pulsȱ sowieȱ dreiȱ fehlerhafteȱ PulseȱsindȱinȱAbbildungȱ3Ȭ3ȱdargestellt.ȱEinȱfehlerhafterȱPulsȱführtȱmöglicherweiseȱ zuȱeinemȱFramingȬError.ȱ Signalverlauf ok
Nicht ok
Signal betritt Transition Region erneut
Nicht ok
Signal dreht innerhalb der Transition Region um
Nicht ok
Signal fällt zu langsam
ȱ
Abbildungȱ3Ȭ3:ȱSaubereȱundȱfehlerhafteȱTransitionenȱbeiȱRSȬ232ȱ
47ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ RSȬ232ȱ beschreibtȱ eineȱ Duplexübertragung.ȱ Imȱ Gegensatzȱ zuȱ einemȱ HalbduplexȬ Verfahrenȱ stehtȱ jeȱ Richtungȱ einȱ Leiterȱ zurȱ Verfügung.ȱ Dieȱ Steckergrößeȱ undȱ dieȱ einzelnenȱAnschlüsseȱ(Pins)ȱsindȱgenauȱfestgelegt.ȱDieȱPinsȱsindȱdurchnummeriert.ȱ FürȱdieȱErdungȱwirdȱfürȱbeideȱRichtungenȱeinȱLeiterȱverwendet.ȱȱ DieȱPinȬBelegungȱsiehtȱeinenȱ25ȬpoligenȱSteckerȱvorȱ(DB25ȬStecker).ȱDerȱStandardȱ gibtȱ vor,ȱ wieȱ dieȱ 25ȱ Pinsȱ belegtȱ sind.ȱ 22ȱ Pinsȱ werdenȱ derzeitȱ genutztȱ heȱAbbildungȱ3Ȭ4),ȱneunȱdavonȱwerdenȱmeistensȱverwendetȱ(Comerȱ2002):ȱȱ – Pinȱ1ȱistȱdieȱGehäusemasseȱ(Erdung)ȱfürȱbeideȱRichtungen.ȱ – Mitȱ DataȬTerminalȬReadyȱ (DTR,ȱ Pinȱ 20)ȱ bestätigtȱ derȱ Rechnerȱ demȱ Modem,ȱ dassȱerȱeingeschaltetȱistȱ(beimȱHochfahren).ȱ – Wirdȱ dasȱ Modemȱ eingeschaltet,ȱ soȱ sendetȱ esȱ eineȱ 0b1ȱ aufȱ DataȬSetȬReadyȱ (DSR,ȱPinȱ6).ȱ – Wennȱ dasȱ Modemȱ einenȱ Trägerȱ (einȱ Signal)ȱ erkennt,ȱ soȱ wirdȱ CarrierȬDetectȱ (Pinȱ8)ȱgesendet.ȱ – Mitȱ RequestȬtoȬSendȱ (RTS,ȱ Pinȱ 4)ȱ wirdȱ durchȱ denȱ Rechnerȱ einȱ Sendewunschȱ signalisiert.ȱ – ClearȬtoȬSendȱ(CTS,ȱPinȱ5)ȱsignalisiertȱdieȱEmpfangsbereitschaftȱdesȱModems.ȱ – MitȱTransmitȱ(Pinȱ2)ȱundȱReceiveȱ(Pinȱ3)ȱwirdȱgesendetȱundȱempfangen.ȱ Dieȱ verfahrenstechnischeȱ Spezifikation,ȱ alsoȱ dasȱ Protokollȱ istȱ ebenfallsȱ festgelegt.ȱ DamitȱistȱdieȱzulässigeȱReihenfolgeȱderȱSignaleȱbzw.ȱEreignisseȱdefiniert.ȱDasȱProȬ tokollȱ siehtȱ imȱ Wesentlichenȱ sog.ȱ RequestȬ/ResponseȬPaareȱ vor.ȱ Wennȱ etwaȱ derȱ RechnerȱeinȱRTSȬSignalȱanlegt,ȱsoȱmussȱdasȱModemȱmitȱCTSȱantworten,ȱsofernȱesȱ Datenȱempfangenȱkann.ȱ Masse (1) Transmit (2) Receive (3) Request-to-Send (4) DTE (Rechner)
Clear-to-Send (5) Data-Set-Ready (6)
DCE (Modem)
... Carrier-Detect (8) Data-Terminal-Ready (20)
ȱ Abbildungȱ3Ȭ4:ȱPinȬBelegungȱbeiȱRSȬ232ȱ
Eineȱ weitereȱ Nutzungsvarianteȱ vonȱ RSȬ232ȱ istȱ dieȱ direkteȱ Verbindungȱ zweierȱ Rechnerȱüberȱeinȱsog.ȱNullmodem,ȱdasȱinȱeinemȱKabelȱmitȱgekreuztenȱPinsȱausgeȬ
48ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ legtȱist.ȱHierȱwirdȱz.B.ȱderȱTransmitȬAnschlussȱdesȱeinenȱRechnersȱmitȱdemȱReceiȬ veȬAnschlussȱdesȱanderenȱRechnersȱverbundenȱ(Kreuzung).ȱȱ Dieȱ Weiterentwicklungȱ desȱ RSȬ232ȬStandardsȱ istȱ dieȱ Normengruppeȱ RSȬ449,ȱ dieȱ ausȱ denȱ Normenȱ RSȬ449ȬA,ȱ RSȬ422ȬAȱ undȱ RSȬ423ȬAȱ besteht.ȱ Dieserȱ Standardȱ unȬ terstütztȱÜbertragungsgeschwindigkeitenȱbisȱ2ȱMbit/sȱüberȱ60ȱmȱlangeȱKabel.ȱHierȱ wirdȱeinȱ37ȬpoligerȱSteckerȱbenutzt.ȱ Esȱsollȱnochȱangemerktȱwerden,ȱdassȱRSȬ232ȱfürȱkurzeȱEntfernungenȱdefiniertȱundȱ daherȱ auchȱ nurȱ eineȱ einfacheȱ Kodierungȱ mitȱ positiverȱ undȱ negativerȱ Spannungȱ ausreichendȱist.ȱDieseȱTechnikȱeignetȱsichȱnichtȱsoȱohneȱweiteresȱfürȱgroßeȱEntferȬ nungen,ȱdaȱderȱStromȱmitȱderȱzurückgelegtenȱStreckeȱzunehmendȱschwächerȱwird.ȱ DurchȱdenȱWiderstandȱimȱKabelȱentstehtȱeinȱSignalverlust,ȱdieȱelektrischeȱEnergieȱ wirdȱinȱWärmeenergieȱumgewandelt.ȱWasȱmanȱbenötigtȱistȱdaherȱeinȱkontinuierȬ lichȱschwingendesȱSignalȱ(Sinuswellen),ȱdasȱauchȱalsȱTrägerȱbezeichnetȱwird.ȱDerȱ Trägerȱschwingtȱständigȱmit,ȱauchȱwennȱkeineȱDatenȱgesendetȱwerden.ȱDieȱInforȬ mationȱwirdȱdurchȱdieȱsog.ȱModulation,ȱalsoȱdurchȱeineȱgeringfügigeȱModifikationȱ desȱTrägersȱdurchȱdenȱSenderȱübertragen.ȱDieseȱModifikationȱerkenntȱderȱSenderȱ undȱkannȱdieȱInformationȱdarausȱdekodieren.ȱEineȱArtȱderȱModulationȱistȱz.B.ȱdieȱ VeränderungȱderȱPhaseȱ(Phasenmodulation),ȱandereȱwerdenȱalsȱAmplitudenȬȱundȱ Frequenzmodulationȱbezeichnet.ȱ
3.2 Protokolle und Technologien der Sicherungsschicht 3.2.1
HDLC-Protokoll
EinȱbekanntesȱProtokollȱderȱSchichtȱ2ȱistȱdasȱbitorientierteȱHDLCȬProtokollȱ(Highȱ Levelȱ Dataȱ Linkȱ Controlȱ Protocol),ȱ dasȱ ursprünglichȱ unterȱ demȱ Namenȱ SDLCȱ (Synchronousȱ Dataȱ Linkȱ Layer)ȱ inȱ derȱ SNAȬArchitekturȱ (Systemȱ Networkȱ ArchiȬ tecture)ȱvonȱIBMȱentstand.ȱDieȱISOȱnenntȱdasȱProtokollȱHDLCȱ(ISOȱ33009ȱundȱISOȱ 4345),ȱdieȱCCITTȱübernahmȱdasȱProtokollȱundȱmachteȱLAPȱ(LinkȱAccessȱProtocol)ȱ daraus.ȱ Imȱ X.25ȬPaketnetzȱ wurdeȱ esȱ auchȱ inȱ derȱ Schichtȱ 2ȱ eingesetztȱ undȱ unterȱ demȱNamenȱLAPBȱȱbekannt.ȱHDLCȱistȱexaktȱinȱderȱSchichtȱ2aȱ(LLC,ȱLocicalȱLinkȱ Control)ȱ angesiedelt.ȱ HDLCȱ findetȱ vorȱ allemȱ inȱ öffentlichenȱ Netzenȱ (WAN)ȱ AnȬ wendung.ȱ Dasȱ Protokollȱ bietetȱ einenȱ verbindungsorientiertenȱ Dienst.ȱ Esȱ wirdȱ zurȱ gesichertenȱ PunktȬzuȬPunktȬVerbindungȱ zwischenȱ zweiȱ Rechnern,ȱ aberȱ auchȱ fürȱ PunktȬzuȬ MehrpunktȬVerbindungenȱverwendetȱ (einȱRechnerȱ steuertȱ mehrereȱ Stationen).ȱEsȱ führtȱfolgendeȱAufgabenȱaus:ȱ – – – –
Datenübertragungȱȱ Flusskontrolleȱ Reihenfolgekontrolleȱ FehlerkontrolleȱundȱFehlerbenachrichtigungȱanȱdieȱSchichtȱ3ȱ
49ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ HDLCȬStationstypenȱ undȱ Betriebsmodi.ȱ Manȱ unterscheidetȱ inȱ HDLCȱ dreiȱ StatiȬ onstypen:ȱ Primäre,ȱ sekundäreȱ undȱ kombinierteȱ Stationen.ȱ Eineȱ primäreȱ Stationȱ steuertȱ dieȱ Kommunikation,ȱ sekundäreȱ Stationenȱ antwortenȱ aufȱ dieȱ Kommandosȱ derȱ primärenȱ Station.ȱ Zwischenȱ primärenȱ undȱ sekundärenȱ Stationenȱ wirdȱ jeȱ eineȱ eigeneȱVerbindungȱ verwaltet.ȱ Kombinierteȱ Stationenȱ könnenȱ inȱbeidenȱRollenȱ arȬ beiten.ȱ HDLCȱ unterscheidetȱ weiterhinȱ zweiȱ Typenȱ vonȱ LinkȬKonfigurationen.ȱ Beiȱ unsymȬ metrischenȱKonfigurationenȱarbeitenȱmehrereȱSekundärstationenȱmitȱeinerȱPrimärȬ stationȱzusammen.ȱBeiȱderȱsymmetrischenȱLinkȬKonfigurationȱarbeitenȱzweiȱkomȬ binierteȱStationen.ȱDieȱDatenübertragungȱgeschiehtȱjeweilsȱimȱVollȬȱoderȱHalbdupȬ lexȬVerfahren.ȱ Unsymmetrische Konfiguration
Primary
Secondary
Steuert die Kommunikation
NRM
antwortet
Unsymmetrische Konfiguration
Secondary Betriebsmodi
ARM
Primary
Secondary Secondary
ABM Symmetrische Konfiguration
Kombiniert
gleichberechtigt
Kombiniert = kombinierte Station
Kombiniert
ȱ
Abbildungȱ3Ȭ5:ȱHDLCȬBetriebsmodiȱȱ
HDLCȱerlaubtȱdurchȱdieȱKombinationȱderȱLinkȬKonfigurationenȱmitȱdemȱEinsatzȱ derȱvorhandenenȱStationstypenȱmehrereȱBetriebsmodiȱ(Abbildungȱ3Ȭ5):ȱ – NormalȱModeȱ(NRM):ȱDieserȱBetriebsmodusȱwirdȱbeiȱunsymmetrischerȱKonȬ figurationȱverwendet.ȱNurȱdieȱprimäreȱStationȱlöstȱdieȱÜbertragungȱaus,ȱdieȱ sekundärenȱantwortenȱentsprechend.ȱ – Asynchronousȱ Responseȱ Modeȱ (ARM):ȱ ȱ Dieserȱ Betriebsmodusȱ wirdȱ beiȱ ȱ unȬ symmetrischerȱ Konfigurationȱ verwendet.ȱ Dieȱ sekundäreȱ Stationȱ kannȱ dieȱ ÜbertragungȱohneȱErlaubnisȱderȱprimärenȱbeginnen.ȱ – Asynchronousȱ Balancedȱ Modeȱ (ABM):ȱ ȱ Dieserȱ Betriebsmodusȱ wirdȱ beiȱ symȬ metrischerȱ Konfigurationȱ verwendet.ȱ Dieȱ Stationenȱ sindȱ jeweilsȱ kombiniertȱ undȱkönnenȱdieȱÜbertragungȱbeliebigȱauslösen.ȱ
50ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ HDLCȬRahmenformat.ȱ HDLCȱ istȱ einȱ bitorientiertesȱ Protokoll.ȱ Dasȱ bedeutet,ȱ dassȱ dieȱDatenȱbitweiseȱkodiertȱüberȱdieȱLeitungȱgehenȱundȱdaherȱkeineȱspeziellenȱZeiȬ chenȱfürȱdieȱErreichungȱvonȱDatentransparenzȱverwendetȱwerden.ȱBeiȱbitorientierȬ tenȱ Protokollenȱ wieȱ HDLCȱ hatȱ manȱ dasȱ Problemȱ derȱ Datentransparenzȱ aufȱ derȱ Bitebene.ȱÜberȱeineȱRahmungȱmitȱHilfeȱeinesȱspeziellenȱFlagsȱ(ZeichenȱmitȱspezielȬ lerȱBitfolgeȱ0b01111110)ȱamȱAnfangȱundȱamȱEndeȱjederȱNachrichtȱwirdȱnämlichȱdieȱ Nachrichtenbegrenzungȱ kenntlichȱ gemacht.ȱ Umȱ diesesȱ Flagȱ inȱ denȱ Nutzdatenȱ zuȱ erkennenȱ(Datentransparenz),ȱverwendetȱmanȱdieȱBitȬStuffingȬTechnikȱ(Bitstopfen).ȱ Nachȱ fünfȱ aufeinanderfolgendenȱ binärenȱ Einsenȱ wirdȱ vomȱ Senderȱ (vonȱ derȱ SchichtȬ2ȬInstanz)ȱ eineȱ binäreȱ Nullȱ ergänzt,ȱ dieȱ derȱ Empfängerȱ nachȱ demselbenȱ Musterȱwiederȱentfernt.ȱȱ Ähnlichȱ verhältȱ esȱ sichȱ beiȱ denȱ sog.ȱ zeichenorientiertenȱ Protokollen,ȱ woȱ imȱ WeȬ sentlichenȱASCIIȬZeichenȱdurchȱdieȱLeitungȱgehenȱundȱspezielleȱZeichenȱalsȱSteuȬ erzeichenȱgenutztȱwerden.ȱUmȱSteuerzeichenȱinȱdenȱDatenȱzuȱerkennen,ȱwirdȱChaȬ racterȬStuffingȱ verwendet,ȱ d.ȱ h.ȱ esȱ werdenȱ „Entwertungszeichenȱ wieȱ dasȱ ASCIIȬ Zeichenȱ DLEȱ vorȱ dieȱ Sonderzeichenȱ gesetzt.ȱ Diesȱ wirdȱ vomȱ Empfängerȱ entspreȬ chendȱinterpretiert.ȱ DerȱAufbauȱdesȱHDLCȬRahmensȱistȱinȱAbbildungȱ3Ȭ6ȱdargestellt.ȱ 8 Bit
01111110
8 Bit
Adresse
8 Bit
Steuerung
>= 0 Bit
Daten
16 Bit
Prüfsumme
8 Bit
01111110 ȱ
Abbildungȱ3Ȭ6:ȱHDLCȬRahmenformatȱ
Dieȱ einzelnenȱ Felderȱ spiegelnȱ dieȱ Semantikȱ desȱ Protokollsȱ widerȱ undȱ sollenȱ desȬ halbȱkurzȱbetrachtetȱwerden:ȱ – AmȱAnfangȱundȱamȱEndeȱeinerȱHDLCȬPDUȱsindȱjeweilsȱdieȱbereitsȱbekannȬ tenȱ Flagsȱ (0b01111110)ȱ zurȱ Synchronisationȱ zwischenȱ Senderȱ undȱ EmpfänȬ gerȱpositioniert.ȱ – Dasȱ Feldȱ Adresseȱ istȱ dannȱ interessant,ȱ wennȱ mehrȱ alsȱ zweiȱ Rechnerȱ miteiȬ nanderȱ kommunizieren.ȱ Beispielsweiseȱ wirdȱ dasȱ Feldȱ verwendet,ȱ umȱ TerȬ minalsȱzuȱidentifizieren,ȱdieȱvonȱeinemȱMasterȱangesteuertȱwerden.ȱȱ – DasȱFeldȱSteuerungȱdientȱfürȱverschiedeneȱZweckeȱundȱenthältȱu.a.ȱeineȱFolȬ genummerȱ undȱ eineȱ Bestätigungsnummer.ȱ Dasȱ Feldȱ wirdȱ nochȱ imȱ ZusamȬ menhangȱerläutert.ȱ – Imȱ Feldȱ Daten,ȱ dasȱ auchȱ leerȱ seinȱ kann,ȱ sindȱ dieȱ Nutzdatenȱ untergebrachtȱ (alsoȱdieȱSchichtȬ3ȬPDU).ȱDatenȱkönnenȱbeliebigȱlangȱsein.ȱ – DasȱFeldȱPrüfsummeȱenthältȱeineȱPrüfsummeȱaufȱBasisȱeinesȱzyklischenȱReȬ dundanzcodes.ȱ Zurȱ Prüfsummenberechnungȱ fürȱ HDLCȱ wirdȱ dasȱ 16ȬBitȬ Standardgeneratorpolynomȱ G(x) = x16+x12+x5+1 verwendet,ȱ dasȱ vonȱ derȱ
51ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ CCITTȱ zumȱ internationlenȱ Standardȱ CRCȬCCITTȱ erhobenȱ wurde 2 .ȱ CRCȬ CCITTȱ istȱ eineȱ 16ȬBitȬPrüfsummeȱ undȱ wirdȱ fürȱ Codesȱ mitȱ einerȱ ZeichenȬ längeȱvonȱachtȱBitȱverwendet.ȱErkanntȱwerdenȱdamitȱalleȱ1ȬBitȬFehler,ȱalleȱ2Ȭ BitȬFehler,ȱalleȱungeradenȱBitȬFehler,ȱalleȱFehlerbündel 3ȱmitȱ16ȱoderȱwenigerȱ Bit,ȱ 99.997ȱ %ȱ allerȱ 17ȬBitȬFehlerbündelȱ undȱ 99.998ȱ %ȱ 18Ȭȱ undȱ MehrȬBitȬ Fehlerbündel 4.ȱ Dieȱ Nutzungȱ desȱ Prüfsummenverfahrensȱ kannȱ inȱ (TanenȬ baumȱ2003a)ȱnachgelesenȱwerden.ȱ Daȱ dieȱ Kommunikationȱ inȱ HDLCȱ verbindungsorientiertȱ ist,ȱ gibtȱ esȱ eineȱ VerbinȬ dungsaufbauphase,ȱ eineȱ Phaseȱ desȱ Informationsaustauschsȱ undȱ eineȱ Phaseȱ derȱ Verbindungsabbaus.ȱEsȱgibtȱinȱHDLCȱdreiȱRahmenarten,ȱdieȱzurȱKommunikationȱ verwendetȱwerden.ȱManȱteiltȱsieȱeinȱinȱfolgendeȱTypen:ȱ – Informationsrahmenȱ(IȬRahmen):ȱIȬRahmenȱenthaltenȱdieȱNutzdatenȱundȱInȬ formationenȱzurȱFlusssteuerungȱundȱFehlerbehebung.ȱ – Überwachungsrahmenȱ (SȬRahmen):ȱ Dieseȱ Rahmenȱ werdenȱ zuȱ SteuerzweȬ ckenȱbenutzt,ȱu.a.,ȱumȱBestätigungenȱzuȱsenden.ȱ – Unnummerierteȱ Rahmenȱ (UȬRahmen):ȱ UȬRahmenȱ werdenȱ fürȱ dieȱ VerbinȬ dungssteuerungȱ benutztȱ („Unnumbered“ȱ imȱ Sinneȱ derȱ FolgenummernreiȬ henfolge).ȱ Esȱ gibtȱ verschiedeneȱ PDUsȱ (sog.ȱ Kommandos),ȱ dieȱ nichtȱ alleȱ imȱ Detailȱ erläutertȱ werdenȱsollen.ȱFürȱdieȱKennzeichnungȱderȱRahmenartȱundȱdesȱKommandosȱwerȬ denȱdieȱerstenȱfünfȱBitȱdesȱFeldesȱSteuerungȱverwendet,ȱaberȱesȱwerdenȱnichtȱalleȱ 32ȱMöglichkeitenȱgenutzt.ȱDieȱwichtigstenȱTeilfelderȱausȱdemȱFeldȱSteuerungȱsindȱ inȱAbbildungȱ3Ȭ7ȱskizziert.ȱ 3 Bit
1 Bit
3 Bit
0
Seq
P/ F
Next
Steuerfeld eines I-Rahmens
1
0 Typ
P/ F
Next
Steuerfeld eines S-Rahmens
1
1 Typ
P/ F
...
Steuerfeld eines U-Rahmens
1 Bit
ȱ
Abbildungȱ3Ȭ7:ȱSteuerfelderȱ(Tanenbaumȱ2003a)ȱ
Dasȱ Feldȱ Seqȱ beinhaltetȱ dieȱ Folgenummerȱ fürȱ einenȱ SchiebefensterȬMechanismusȱ (SlidingȬWindow)ȱzurȱFlusskontrolle.ȱDiesȱbedeutet,ȱdassȱbisȱzuȱsiebenȱnochȱnichtȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EinȱweitererȱStandardȱistȱz.B.ȱdasȱCRCȬ12ȬPolynom,ȱdasȱbeiȱeinerȱZeichenlängeȱvonȱ6ȱBitȱ eingesetztȱwird.ȱȱ
2
ȱȱ 16ȬBitȬFehlerbündelȱbedeutet,ȱdassȱ16ȱBitȱinȱFolgeȱfehlerhaftȱsind.ȱ
3
ȱȱ Beiȱ Prüfsummenfeldernȱ mitȱ einerȱ Breiteȱ vonȱ 32ȱ Bitȱ sindȱ FehlererkennungswahrscheinȬ lichkeitenȱvonȱ99,99999995ȱ%ȱȱmöglich.ȱ
4
52ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ bestätigteȱ Rahmenȱ ausstehenȱ dürfen.ȱ Dieȱ Nummerierungȱ derȱ Rahmenȱ liegtȱ imȱ Bereichȱ vonȱ 0ȱ bisȱ 7ȱ (binärȱ 0b000ȱ bisȱ 0b111ȱ moduloȱ 8,ȱ nachȱ 7ȱ wirdȱ alsoȱ wiederȱ 0ȱ verwendet).ȱ Dasȱ Feldȱ Nextȱ beinhaltetȱ dieȱ Bestätigungsnummer,ȱ dieȱ üblicherweiseȱ imȱ HuckeȬ packverfahrenȱ (PickybackȬVerfahren)ȱ genutztȱ wird.ȱ Esȱ wirdȱ dieȱ Nummerȱ desȱ alsȱ nächstesȱerwartetenȱRahmensȱȱgesendet.ȱȱ Dasȱ Feldȱ P/Fȱ (Poll/FinalȬBit)ȱ dientȱ derȱ zyklischenȱ Abfrageȱ einerȱ Gruppeȱ vonȱ StaȬ tionenȱ(Sekundärstationen)ȱȱüberȱeinenȱsteuerndenȱRechnerȱ(Primärstation).ȱ DasȱFeldȱTypȱgibtȱAuskunftȱüberȱdieȱverschiedenenȱArtenȱvonȱÜberwachungsrahȬ menȱ (SȬRahmen,ȱ wobeiȱ esȱ hierȱ verschiedeneȱ Variantenȱ gibt,ȱ dieȱ nichtȱ alleȱ aufgeȬ führtȱwerdenȱsollen.ȱEinigeȱBeispieleȱfürȱSȬRahmenȱsind:ȱ – PositiveȱBestätigung,ȱRECEIVEȱREADY,ȱRRȱ(Typȱ000).ȱ – NegativeȱBestätigung,ȱREJECT,ȱREJȱ(Typȱ001):ȱFordertȱeineȱNeuübertragungȱ an.ȱ – NegativeȱBestätigung,ȱRECEIVEȱNOTȱREADY,ȱRNRȱ(Typȱ010):ȱBestätigtȱalleȱ Rahmenȱ bisȱ zuȱ Next,ȱ dientȱ aberȱ zumȱ Ausbremsenȱ desȱ Senders.ȱ Wennȱ derȱ Senderȱwiederȱübertragenȱdarf,ȱwirdȱRRȱgesendet.ȱ – Selektivesȱ Ablehnen,ȱREJECT,ȱ REJȱ(Typȱ 100):ȱ Fordertȱ eineȱ Neuübertragungȱ einesȱRahmensȱan.ȱ HDLCȱ benutztȱ alsoȱ eineȱ Fenstertechnikȱ mitȱ einemȱ einfachenȱ BestätigungsmechaȬ nismus.ȱEsȱbautȱeineȱVerbindungȱaufȱundȱnachȱdemȱInformationsaustauschȱwiederȱ ab.ȱ Inȱ Abbildungȱ 3Ȭ8ȱ istȱ derȱ Ablaufȱ einerȱ Übertragungȱ imȱ ABMȬModeȱ (gleichbeȬ rechtigteȱ Stationen)ȱ vereinfachtȱ dargestellt,ȱ wobeiȱ dieȱ Nutzdatenȱ vernachlässigtȱ werden:ȱ – ZunächstȱwirdȱüberȱeinenȱUȬRahmenȱ(SABMȬKommando)ȱvonȱStationȱAȱeinȱ VerbindungswunschȱfürȱdenȱABMȬModusȱaufgebaut.ȱȱ – DieȱVerbindungȱwirdȱvonȱStationȱBȱbestätigtȱ(UȬRahmenȱUAȱ=ȱUnnumberedȱ Acknowledge).ȱȱ – Anschließendȱ erfolgtȱ dieȱ Datenübertragungȱ überȱ IȬRahmen.ȱ Derȱ ersteȱ IȬ Rahmenȱ(I,ȱ0,ȱ0)ȱderȱStationȱAȱwirdȱsofortȱvonȱderȱStationȱBȱmitȱ(S,ȱRR,ȱ1)ȱbeȬ stätigt.ȱȱ – DerȱzweiteȱundȱdritteȱIȬRahmenȱ((I,ȱ1,ȱ0)ȱundȱ(I,ȱ2,ȱ0))ȱderȱStationȱAȱwerdenȱ hintereinander,ȱ zunächstȱ ohneȱ Bestätigungȱ übermittelt.ȱ Imȱ Beispielȱ kommtȱ einȱIȬRahmenȱ(I,ȱ2,ȱ0)ȱbeimȱEmpfängerȱnichtȱan.ȱ – Stationȱ Bȱ sendetȱ daraufhinȱ einenȱ Rahmenȱ undȱ bestätigtȱ imȱ HuckepackverȬ fahren,ȱdassȱderȱRahmenȱmitȱderȱNummerȱ1ȱangekommenȱistȱ(I,ȱ0,ȱ2).ȱ – Stationȱ Aȱ sendetȱ einenȱ Rahmenȱ mitȱ derȱ Nummerȱ 3,ȱ derȱ nunȱ vonȱ Stationȱ Bȱ abgewiesenȱwird.ȱÜberȱeinenȱȱ(S,ȱREJ,ȱ2)ȬRahmenȱwirdȱderȱStationȱAȱmitgeȬ teilt,ȱalleȱRahmenȱabȱNummerȱ2ȱerneutȱzuȱsenden.ȱȱ – DiesȱwirdȱvonȱderȱStationȱAȱerledigtȱ(I,ȱ2,ȱ1)ȱusw.ȱ
53ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ – Amȱ Endeȱ derȱ Übertragungȱ wirdȱ derȱ Verbindungsabbauȱ mitȱ einemȱ UȬ Rahmenȱ (DISȬKommando)ȱ eingeleitet.ȱ Derȱ Verbindungsabbauwunschȱ wirdȱ wiederumȱmitȱeinemȱUȬRahmenȱ(UAȬKommando)ȱbestätigt.ȱ Station A
Station B (S,SABM)
Verbindungsaufbau
(UA) (I, 0, 0) (S, RR, 1)
Bestätigung
(I, 1, 0) (I, 2, 0) (I, 0, 2) Piggypack-Bestätigung!
Datenaustausch
(I, 3, 1) (S, REJ, 2) Neuübertragung ab Rahmen 2! Verbindungsabbau
Bestätigung Rahmen Nr. 2 fehlt, erneut ab Rahmen Nr. 2 senden, auch Nr. 3!
(I, 2, 1) usw...
(DIS) (UA)
(S,SABM): Set Asynchronous Balanced Mode (S,REJ, n): Negative Quittung, gehe auf Folgenummer n zurück und sende ab hier alle noch mal (DIS): Disconnect Request (I, Seq, Next): I-Rahmen mit Seq als Folge- und Next als Bestätigungsnummer (S, RR, Next): S-Rahmen zur Bestätigung mit Angabe von Next für den als nächstes erwarteten Rahmen (UA): Unnumbered Acknowledge
ȱ
Abbildungȱ3Ȭ8:ȱSequenzdiagrammȱfürȱeineȱtypischeȱHDLCȬKommunikationȱ
3.2.2
Point-to-Point-Protocol (PPP)
Imȱ Internetȱ hatȱ sichȱ alsȱ SchichtȬ2ȬProtokollȱ fürȱ PunktȬzuȬPunktȬLeitungenȱ (alsoȱ nichtȱfürȱbusorientierteȱNetze)ȱdasȱProtokollȱPPPȱȱ(RFCȱ1661,ȱRFCȱ1662,ȱRFCȱ1663)ȱ durchgesetzt.ȱ Dasȱ Protokollȱ wirdȱ nebenȱ demȱ immerȱ wenigerȱ verbreitetenȱ SLIPȱ (SerialȱLineȱIPȱ) 5ȱfürȱdenȱInternetȬZugangȱvomȱDienstnutzerȱzumȱInternetȬProviderȱ genutzt.ȱ PPPȱ wirdȱ alsoȱ fürȱ dieȱ Verbindungȱ zwischenȱ einemȱ PCȱ imȱ Homeofficeȱ überȱ Modemȱ zumȱ InternetȬProviderȱ eingesetzt.ȱ Einȱ weiteresȱ Einsatzfeldȱ istȱ dieȱ Kommunikationȱ zwischenȱ InternetȬRouternȱ überȱ gemieteteȱ Leitungen.ȱ Dieȱ vonȱ PPPȱ unterstützteȱ PunktȬzuȬPunktȬVerbindungȱ istȱ eineȱ VollduplexȬVerbindung.ȱ Überȱ PPPȱ wirdȱ u.a.ȱ undȱ vorzugsweiseȱ IPȱ alsȱ SchichtȬ3ȬProtokollȱ eingesetzt.ȱ PPPȱ unterstütztȱwieȱHDLCȱeineȱFehlerbehandlungȱundȱermöglichtȱsogarȱdasȱAushanȬ delnȱvonȱIPȬAdressenȱzurȱVerbindungsaufbauzeit.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ SLIPȱ istȱ einȱ einfachesȱ SchichtȬ2ȬProtokollȱ fürȱ DialȬUpȬTelefonleitungenȱ überȱ Modemȱ zumȱ Internet.ȱ Esȱ istȱ imȱ RFCȱ 1055ȱ standardisiert.ȱ Überȱ SLIPȱ wirdȱ eineȱ TCP/IPȬKommuȬ nikationȱermöglicht.ȱ
5
54ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ PPPȱ unterstütztȱ einenȱ sog.ȱ MultiprotokollȬFramingȬMechanismus,ȱ derȱ überȱ mehrereȱ SchichtȬ1ȬImplementierungenȱ wieȱModemverbindungen,ȱaberȱ auchȱ überȱ bitserielȬ lenȱ HDLCȬVerbindungenȱ undȱ auchȱ überȱ SDH/SONETȬVerbindunge 6 ȱeingesetztȱ werdenȱkann.ȱ PPPȱbestehtȱausȱfolgendenȱTeilprotokollen:ȱ – LCPȱ (Linkȱ Controlȱ Protocol)ȱ zumȱ Verbindungsaufbauȱ undȱ Ȭabbauȱ einerȱ SchichtȬ2ȬVerbindung.ȱÜberȱLCPȱwerdenȱauchȱdiverseȱOptionenȱausgehanȬ delt.ȱ – NCPȱ(NetworkȱControlȱProtocol)ȱzumȱAushandelnȱvonȱOptionenȱderȱNetzȬ werkschicht.ȱInȱderȱRegelȱwirdȱhierȱIPȱunterstützt.ȱÜberȱNCPȱwirdȱalsoȱauchȱ dieȱIPȬAdresszuordnungȱausgehandelt.ȱEsȱsindȱaberȱauchȱandereȱNetzwerkȬ protokolleȱmöglich.ȱȱ Einȱ Rechner,ȱ derȱ sichȱ überȱ einȱ Modemȱ mitȱ PPPȱ insȱ Internetȱ einwählenȱ will,ȱ bautȱ zunächstȱ eineȱ Modemverbindungȱ auf.ȱ Wennȱ dieseȱ besteht,ȱ wirdȱ überȱ LCPȱ eineȱ SchichtȬ2ȬVerbindungȱ etabliert.ȱ Anschließendȱ wirdȱ überȱ NCPȱ eineȱ SchichtȬ3Ȭ Verbindungȱ ausgehandeltȱ undȱ ggf.ȱ eineȱ Netzwerkadresseȱ (meistȱ IPȬAdresse 7 ȱ)ȱ vereinbart,ȱüberȱdieȱderȱRechnerȱimȱweiterenȱVerlaufȱimȱNetzwerkȱadressierbarȱist.ȱ Danachȱ kannȱ derȱ Rechnerȱ beliebigeȱ SchichtȬ3ȬNachrichtenȱ senden.ȱ Amȱ Endeȱ derȱ Kommunikationȱ wirdȱ dieȱ Verbindungȱ wiederȱ überȱ denȱ umgekehrtenȱ Wegȱ abgeȬ baut.ȱ Zunächstȱ wirdȱ überȱ NCPȱ dieȱ SchichtȬ3ȬVerbindungȱ abgebaut,ȱ anschließendȱ überȱLCPȱdieȱSchichtȬ2ȬVerbindungȱundȱschließlichȱauchȱdieȱModemverbindung.ȱ Byte
1
01111110
1
Adresse
1
1 oder 2
Steuerung
Protokoll
variabel
Daten
2 oder 4
1
Prüfsumme
01111110
ȱ Abbildungȱ3Ȭ9:ȱPPPȬRahmenformatȱ
Dasȱ PPPȬRahmenformat,ȱ dasȱ inȱ Abbildungȱ 3Ȭ9ȱ dargestelltȱ wird,ȱ istȱ demȱ HDLCȬ Rahmenformatȱsehrȱähnlich,ȱallerdingsȱistȱPPPȱimȱUnterschiedȱzuȱHDLCȱzeichenȬ orientiertȱ (imȱ Gegensatzȱ zuȱ bitorientiert)ȱ undȱ verwendetȱ dasȱ ZeichenstopfverfahȬ renȱ(CharacterȬStuffing),ȱumȱDatentransparenzȱzuȱerreichen:ȱ – Dasȱ Feldȱ Adresseȱ wirdȱ immerȱ mitȱ 0b11111111ȱ belegt,ȱ umȱ anzudeuten,ȱ dassȱ alleȱStationenȱdenȱFrameȱakzeptieren.ȱManȱvermeidetȱdamitȱdieȱZuordnungȱ vonȱeigenenȱSchichtȬ2ȬAdressenȱundȱderenȱVerwaltung.ȱȱ – DasȱFeldȱSteuerungȱhatȱalsȱStandardwertȱ0b00000011.ȱDerȱWertȱdeutetȱeinenȱ „UnnumberedȱFrame“ȱan.ȱDasȱbedeutet,ȱdassȱPPPȱstandardmäßigȱkeineȱzuȬ verlässigeȱ Übertragungȱ mitȱ Folgenummernȱ undȱ Bestätigungȱ unterstützt.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ SDHȱundȱSONETȱwerdenȱweiterȱuntenȱeingeführt.ȱ
6
ȱȱ IPȬAdressenȱwerdenȱinȱKapitelȱ4ȱausführlichȱbehandelt.ȱ
7
55ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ „Numberedȱmode“ȱwieȱinȱHDLCȱkannȱaberȱauchȱgenutztȱwerden.ȱDieȱFelȬ derȱ Steuerungȱ undȱ Adresseȱ könnenȱ auchȱ optionalȱ überȱ LCPȱ ausgeblendetȱ werden,ȱumȱzweiȱByteȱinȱjedemȱFrameȱeinzusparen.ȱ – DasȱFeldȱProtokollȱlegtȱfest,ȱwelcheȱNachrichtȱinȱdenȱNutzdatenȱliegt.ȱEsȱgibtȱ CodesȱfürȱLCP,ȱNCP,ȱIP,ȱIPXȱusw.ȱWennȱdasȱFeldȱmitȱ0b0ȱbeginnt,ȱhandeltȱ esȱ sichȱ umȱ einȱ Paketȱ derȱ Netzwerkschicht,ȱ beginntȱ esȱ mitȱ 0b1,ȱ wirdȱ esȱ alsȱ Nachrichtȱbetrachtet,ȱdieȱfürȱdasȱAushandelnȱvonȱOptionenȱdient.ȱDasȱFeldȱ hatȱ normalerweiseȱ eineȱ Längeȱ vonȱ zweiȱ Byte,ȱ kannȱ aberȱ überȱ LCPȬMechaȬ nismenȱaufȱeinȱByteȱheruntergesetztȱwerden.ȱ – ImȱFeldȱDatenȱ(auchȱPayloadȱgenannt)ȱwerdenȱdieȱNutzdatenȱübertragen.ȱDieȱ Standardlängeȱistȱ1.500ȱByte,ȱaberȱdieȱLängeȱkannȱauchȱüberȱLCPȱverhandeltȱ werden.ȱAuchȱdieȱLängeȱdesȱanschließendenȱFeldesȱPrüfsummeȱkannȱausgeȬ handeltȱwerden.ȱȱ ImȱRFCȱ1661ȱsindȱ11ȱLCPȬPDUsȱdefiniert.ȱZumȱAushandelnȱvonȱOptionenȱgibtȱesȱ z.B.ȱ dieȱ PDUsȱ ConfigureȬRequest,ȱ ConfigureȬACK,ȱ ConfigureȬNAKȱ undȱ ConfigureȬ RejectȱundȱzumȱBeendenȱeinerȱVerbindungȱdieȱPDUsȱTerminateȬRequestȱundȱTermiȬ nateȬACK.ȱFürȱweitereȱInformationenȱwirdȱaufȱdieȱentsprechendenȱRFCsȱverwiesen.ȱ
3.2.3
Ethernet LAN
EineȱderȱbekanntestenȱLANȬTechnologienȱistȱEthernet,ȱeineȱbusȬorientierteȱTechnoȬ logie.ȱ Dasȱ Ethernetȱ wurdeȱ Anfangȱ derȱ 70erȱ Jahreȱ vonȱ R.ȱ Metcalfe 8ȱbeiȱ derȱ Firmaȱ Xeroxȱ entwickeltȱ undȱ späterȱ vonȱ Xerox,ȱ DECȱ undȱ Intelȱ zumȱ IEEEȱ 802.3ȬStandardȱ ausgebaut.ȱ Seineȱ Vorgeschichteȱ gehtȱaufȱ dasȱ ALOHAȬSystemȱ zurück.ȱ Diesȱistȱ einȱ anȱderȱUniversitätȱvonȱHawaiȱentwickeltesȱRundfunksystemȱaufȱBasisȱeinesȱMehrȬ fachzugriffsprotokolls.ȱImȱWeiterenȱwirdȱaufȱdasȱZugriffsverfahrenȱundȱdieȱKolliȬ sionsbehandlungȱ inȱ EthernetȬbasiertenȱ LANs,ȱ aufȱ dieȱ verschiedenenȱ EthernetȬ VariantenȱundȱdieȱeingesetztenȱKabeltypen,ȱaufȱdenȱAufbauȱderȱEthernetȬRahmenȱ (DLȬPDUs),ȱ aufȱ dasȱ Verfahrenȱ zurȱ Prüfsummenberechnung,ȱ aufȱ dieȱ LeitungskoȬ dierungȱundȱaufȱLANȬSwitchingȱeingegangen.ȱ ZugriffsȬȱundȱKollisionsbehandlung.ȱEthernetȱistȱvonȱderȱTopologieȱherȱeinȱBusȬ systemȱ undȱ nutztȱ alsȱ Medienzugriffsverfahrenȱ CSMA/CD.ȱ Ethernetȱ wirdȱ fälschliȬ cherweiseȱoftȱmitȱdemȱZugriffsverfahrenȱverwechselt.ȱDerȱEthernetȬStandardȱumȬ fasstȱaberȱmehrȱalsȱnurȱdasȱZugriffsverfahren.ȱȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ R.ȱMetcalfeȱistȱderȱGründerȱvonȱ3COM,ȱhatȱdieȱFirmaȱaberȱverkauft.ȱ
8
56ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ Station ist sendebereit
Kanal abhören
Daten senden und Kanal weiter abhören
Neuer Versuch
Warten gemäß BackoffStrategie
Kanal besetzt
Kollision entdeckt
JAM-Signal senden
Keine Kollision
ȱ Abbildungȱ3Ȭ10:ȱCSMA/CDȬAlgorithmusȱzurȱKollisionsbehandlungȱ
DerȱgrobeȱAblaufȱeinesȱSendevorgangsȱbeiȱEthernetȱistȱgrafischȱinȱAbbildungȱ3Ȭ10ȱ alsȱAlgorithmusȱdargestelltȱundȱsiehtȱwieȱfolgtȱaus:ȱ – ZunächstȱüberwachtȱeineȱStationȱdasȱMediumȱ(CarrierȱSense).ȱIstȱesȱbelegt,ȱ mussȱsieȱihrenȱÜbertragungswunschȱzurückstellen.ȱIstȱdasȱMediumȱfrei,ȱerȬ folgtȱnachȱdemȱVerstreichenȱeinerȱbestimmtenȱZeitspanneȱdieȱÜbertragung,ȱ wobeiȱgleichzeitigȱdieȱÜbertragungsleitungȱ(dasȱMedium)ȱabgehörtȱwird.ȱ – Dieȱ Datenübertragungȱ beginntȱ mitȱ einerȱ Präambel,ȱ dieȱ einȱ binäresȱ Musterȱ 0b10101010ȱenthält,ȱundȱdemȱanschließendenȱSendenȱderȱDaten.ȱWennȱkeineȱ andereȱ Stationȱ sendet,ȱ bisȱ dieȱ Datenȱ vollständigȱ beimȱ Empfängerȱ sindȱ undȱ vonȱdiesemȱvomȱNetzȱgelesenȱwurden,ȱistȱdieȱÜbertragungȱerfolgreich.ȱAlleȱ StationenȱerhaltenȱdasȱPaketȱundȱprüfen,ȱobȱesȱȱanȱsieȱadressiertȱist.ȱIstȱdasȱ Paketȱ beiȱ derȱ Zielstationȱ angelangt,ȱ prüftȱ dieseȱ dasȱ Paketȱ aufȱ Integritätȱ (KontrolleȱderȱkorrektenȱLängeȱundȱAuswertungȱderȱPrüfsumme).ȱ – SendenȱgleichzeitigȱmehrereȱStationen,ȱkommtȱesȱzuȱeinerȱÜberlagerungȱderȱ Signaleȱ (Kollision).ȱ Angenommenȱ zweiȱ Stationenȱanȱ entgegengesetztenȱ EnȬ denȱ einesȱ Segmentsȱ beginnenȱ zuȱ senden.ȱ Dieȱ Signaleȱ breitenȱ sichȱ imȱ MeȬ diumȱmitȱca.ȱ70%ȱderȱLichtgeschwindigkeitȱaus.ȱSobaldȱsieȱsichȱüberlappen,ȱ störenȱsieȱsichȱgegenseitig.ȱ – Alleȱ Stationenȱ brechenȱ dieȱ Übertragungȱ beiȱ Erkennenȱ einerȱ Kollisionȱ abȱ (Kollisionserkennung,ȱCollisionȱDetectionȱ=ȱCD).ȱHatȱeineȱStationȱeineȱKolliȬ sionȱ entdeckt,ȱ reagiertȱ sieȱ aberȱ nichtȱ nurȱ mitȱ derȱ Unterbrechungȱ derȱ ÜberȬ tragung,ȱ sondernȱ erzeugtȱ auchȱ einȱ sog.ȱ 32ȬBitȬJAMȬSignalȱ (Störsignal),ȱ dasȱ nachȱlinksȱundȱrechtsȱanȱalleȱStationenȱweitergereichtȱwird.ȱDasȱJAMȬSignalȱ hatȱdenȱInhaltȱ0b10101010ȱ(undȱzwarȱviermal).ȱDamitȱwirdȱfürȱdieȱanderenȱ StationenȱdieȱErkennungȱeinerȱKollisionȱerleichtert.ȱ – DurchȱdasȱAbhörenȱnachȱdemȱSendenȱfälltȱdieȱStörungȱderȱsendendenȱStatiȬ onȱ auf.ȱ Umȱ auchȱ zuȱ gewährleisten,ȱ dassȱ eineȱ Kollisionȱ alleȱ Stationenȱ inȱ eiȬ nemȱSegmentȱerreichenȱkann,ȱmussȱdieȱgesamteȱTransferzeitȱberücksichtigtȱ
57ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ werden.ȱDieseȱhängtȱvonȱderȱmaximalenȱKabellängeȱabȱundȱwirdȱnatürlichȱ auchȱ durchȱ dieȱ PDUȬLängeȱ (Rahmengröße),ȱ fürȱ dieȱ eineȱ minimaleȱ Größeȱ festgelegtȱwerdenȱmuss,ȱbeeinflusst.ȱȱ – NachdemȱdieȱStationenȱdurchȱdasȱJAMȬSignalȱdieȱKollisionȱerkanntȱhaben,ȱ ermittelnȱ dieseȱ zufallsabhängigȱ undȱ abhängigȱ vonȱ derȱ Zahlȱ derȱ aktuellenȱ Sendeabbrücheȱ derȱ Stationȱ eineȱ Zeitspanne,ȱ inȱ derȱ sieȱ warten.ȱ Danachȱ erȬ folgtȱeinȱerneuterȱSendeversuch.ȱKlapptȱesȱwiederȱnicht,ȱwirdȱdieȱmaximaleȱ WartezeitȱverdoppeltȱundȱausȱdemȱIntervallȱzwischenȱ0ȱundȱderȱmaximalenȱ Wartezeitȱ eineȱ Zufallswartezeitȱ ausgewählt.ȱ Diesȱ geschiehtȱ max.ȱ 16ȱ mal,ȱ beimȱ10.ȱVersuchȱwirdȱdieȱWartezeitȱeingefroren.ȱDiesesȱVerfahrenȱwirdȱalsȱ binärerȱexponentiellerȱBackoffȱbezeichnet.ȱ InȱAbbildungȱ3Ȭ11ȱsindȱvierȱSzenarienȱeinerȱKollisionȱskizziert.ȱKollisionenȱmüssenȱ auchȱimȱkritischstenȱFallȱerkanntȱwerden,ȱalsoȱauchȱdann,ȱwennȱdieȱbeidenȱStatioȬ nenȱgleichzeitigȱsenden,ȱdieȱamȱweitestenȱauseinanderȱliegen.ȱDaherȱistȱimȱEtherȬ netȬStandardȱeineȱMindestlängeȱderȱDLȬPDUȱundȱeineȱmaximaleȱEntfernungȱzwiȬ schenȱdenȱamȱweitestenȱentferntenȱStationenȱvorgeschrieben.ȱDieȱStationȱAȱsendetȱ gemäßȱderȱAbbildungȱeineȱDLȬPDUȱundȱüberwachtȱdasȱMediumȱfürȱdasȱZweifaȬ cheȱderȱmaximalenȱVerteilungszeit.ȱStationȱAȱgehtȱdavonȱaus,ȱdassȱihrȱPaketȱordȬ nungsgemäßȱübertragenȱist,ȱwennȱinȱdieserȱZeitȱkeineȱStörungenȱauffallen.ȱȱ Station A
Station B
Station A
Paket startet bei Zeit 0
Station B
Paket ist fast bei B
Szenario 1
Szenario 2
Station A
Station B
Kollision
Szenario 3
Station A
Station B
Störung kommt bei A an Szenario 4
ȱ
Abbildungȱ3Ȭ11:ȱKollisionenȱimȱEthernetȱnachȱ(Tanenbaumȱ2003a)ȱ
DerȱZeitraumȱgemessenȱinȱsog.ȱBitzeitenȱ(Zeit,ȱdieȱeinȱBitȱbenötigt),ȱnachȱdemȱdasȱ MediumȱeindeutigȱdurchȱeineȱStationȱalsȱbelegtȱgilt,ȱwirdȱalsȱSlotȬTimeȱbezeichnet.ȱ Dieȱ SlotȬTimeȱ korrespondiertȱ inȱ einemȱ 10ȬMbit/sȬEthernetȱ mitȱ einerȱ minimalenȱ Rahmengrößenȱvonȱ64ȱByteȱundȱistȱdaherȱ512ȱBitzeitenȱ(64ȱ*ȱ8ȱBitȱ=ȱ512ȱBit)ȱlang.ȱ Innerhalbȱ derȱ SlotȬTimeȱ mussȱ eineȱ Kollisionȱ erkanntȱ werden,ȱ alsoȱ müssenȱ innerȬ halbȱdieserȱZeitȱdieȱkonkurrierendenȱStationenȱauchȱnochȱsenden,ȱdaȱsieȱansonstenȱ
58ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ eineȱ Kollisionȱ garȱ nichtȱ bemerkenȱ würden.ȱ Damitȱ wirdȱ auchȱ deutlich,ȱ warumȱ esȱ eineȱminimaleȱRahmengrößeȱgebenȱmuss.ȱ ImȱBeispielȱsendetȱdieȱadressierteȱEmpfängerstationȱBȱkurzȱvorȱAblaufȱderȱVerteiȬ lungszeitȱselbstȱeineȱDLȬPDUȱundȱesȱtrittȱinȱSzenarioȱ3ȱeineȱKollisionȱauf.ȱBȱerkenntȱ dieȱKollisionȱalsȱerstesȱundȱsendetȱeinȱsog.ȱJAMȬSignal,ȱumȱalleȱanderenȱStationenȱ zuȱ warnen.ȱ Dieȱ Stationȱ Aȱ siehtȱ dasȱ JAMȬSignalȱ kurzȱ vorȱ Ablaufȱ derȱ doppeltenȱ Verteilungszeitȱ undȱ kannȱ daraufȱ mitȱ demȱ Wartenȱ undȱ erneutenȱ Sendenȱ gemäßȱ CSMA/CDȱreagieren.ȱ Betrachtenȱ wirȱ hierzuȱ dieȱ Abbildungȱ 3Ȭ12.ȱ Dieȱ Instanzȱ Aȱ (eineȱ EthernetȬStation)ȱ sendetȱeinenȱEthernetȬRahmenȱanȱeineȱbeliebigeȱStationȱimȱNetzwerk.ȱDieȱInstanzȱ BȱistȱphysikalischȱamȱweitestenȱvonȱInstanzȱAȱentfernt.ȱDasȱErkennenȱeinerȱKolliȬ sionȱ kannȱ beiȱ Instanzȱ Bȱ erstȱ dannȱ erfolgen,ȱ wennȱ dasȱ ersteȱ Bitȱ desȱ gesendetenȱ Rahmensȱbeiȱihrȱankommt.ȱBisȱdahinȱistȱbereitsȱdieȱeinfacheȱSignallaufzeitȱimȱMeȬ diumȱ vorüber.ȱ Entdecktȱ nunȱ dieȱ Instanzȱ Bȱ eineȱ Kollision,ȱ soȱ sendetȱ esȱ einȱ JAMȬ Signal,ȱdasȱaberȱauchȱwiederȱeineȱvolleȱSignallaufzeitȱbenötigt,ȱbisȱesȱbeiȱInstanzȱAȱ ankommt.ȱ Erstȱ nachȱ derȱ zweifachenȱ Signallaufzeitȱ istȱ eineȱ Kollisionserkennungȱ durchȱ dieȱ Instanzȱ Aȱ möglich.ȱ Dasȱ Kollisionssignalȱ mussȱ vonȱ derȱ Instanzȱ Aȱ nochȱ währendȱ desȱ Sendensȱ desȱ EthernetȬRahmens,ȱ derȱ dieȱ Kollisionȱ mitverursachte,ȱ empfangenȱwerden.ȱAndernfallsȱkönnteȱdieȱKollisionȱnichtȱerkanntȱwerden.ȱ Instanz A
Doppelte Signallaufzeit
Instanz B
Er ste sB it
Signallaufzeit
al ign ss n o i llis Ko
Maximale Entfernung
ȱ Abbildungȱ3Ȭ12:ȱKollisionsfensterȱbeiȱEthernetȱ
ImȱBeispielȱausȱAbbildungȱ3Ȭ13ȱsendetȱdieȱStationȱAȱzumȱZeitpunktȱtȱeinȱDatenpaȬ ketȱ ab.ȱ Dieȱ Stationȱ Bȱ sendetȱ ebenfallsȱ zumȱ Zeitpunktȱ tȱ +ȱ (Tȱ Ȭȱ dt),ȱ alsoȱ kurzȱ bevorȱ dasȱSignalȱvonȱAȱbeiȱBȱankommtȱeinȱDatenpaket.ȱDamitȱnunȱdieȱStationȱAȱdieȱKolȬ lisionȱerkennenȱkann,ȱvergehtȱnochmalsȱdieȱZeitȱ(TȱȬȱdt),ȱalsoȱinsgesamtȱtȱ+ȱ2ȱ*ȱ(TȱȬȱ dt).ȱ Wirȱ vernachlässigenȱ derȱ Einfachheitȱ halberȱ dtȱ (dtȱ lassenȱ wirȱ gegenȱ 0ȱ gehen).ȱ Darausȱ ergibtȱ sich,ȱ dassȱ dieȱ Übertragungȱ einesȱ Datenpaketsȱ mindestensȱ 2ȱ*ȱ Tȱ beȬ tragenȱmuss,ȱdamitȱeineȱKollisionȱsicherȱerkanntȱwird.ȱDieseȱZeitdauerȱentsprichtȱ derȱSlotȬTime.ȱ
59ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ DieȱSignallaufzeitȱhängtȱnatürlichȱvonȱallenȱKomponentenȱdesȱgesamtenȱÜbertraȬ gungswegsȱ ab.ȱ Hierzuȱ gehörenȱ nebenȱ denȱ Kabelnȱ auchȱ Repeater.ȱ Einȱ EthernetȬ LANȱdarfȱsichȱnichtȱbeliebigȱausdehnenȱundȱauchȱnurȱeineȱbegrenzteȱAnzahlȱvonȱ Repeaternȱ haben,ȱ ansonstenȱ müssenȱ dieȱ Datenpaketeȱ längerȱ werden,ȱ umȱ nochȱ Kollisionenȱ zuȱ erkennen.ȱ Ähnlichesȱ trifftȱ zu,ȱ wennȱ manȱ dieȱ Geschwindigkeitȱ derȱ Übertragungȱheraufsetzt.ȱBeiȱzunehmenderȱGeschwindigkeitȱdesȱNetzesȱmussȱdieȱ Mindestlängeȱ entsprechendȱ erhöhtȱ oderȱ dieȱ maximaleȱ Kabellängeȱ proportionalȱ verkürztȱwerden.ȱȱ Station A
Station B
Paket startet bei Zeit t
Paket startet bei Zeit t + T
ȱ Abbildungȱ3Ȭ13:ȱSignalausbreitungsgeschwindigkeitȱundȱKollisionenȱ
DieȱLängeȱdesȱLANȬSegmentsȱundȱdieȱPaketlängeȱsindȱalsoȱzweiȱwichtigeȱParameȬ ter,ȱ dieȱ harmonierenȱ müssen,ȱ damitȱ dasȱ LANȱ funktioniert.ȱ Beiȱ einerȱ maximalenȱ Segmentlängeȱvonȱ2500ȱm 9ȱ(überȱvierȱRepeaterȱmöglich)ȱmussȱbeiȱeinemȱ10ȬMbit/sȬ EthernetȬLANȱ derȱ kleinsteȱ zulässigeȱ Rahmenȱ ca.ȱ 51.2ȱ Psȱ dauern.ȱ Diesȱ entsprichtȱ denȱobenȱerwähntenȱ512ȱBitzeitenȱ(mitȱminimalerȱRahmengrößeȱvonȱ64ȱByte).ȱ EthernetȬVariantenȱ fürȱ verschiedeneȱ Kabeltypen.ȱ Ethernetȱ unterstütztȱ mehrereȱ Kabeltypen.ȱ Historischȱ wurdeȱ derȱ Kabeltypȱ 10Base5ȱ verwendet.ȱ Hierȱ handeltȱ esȱ sichȱumȱeinȱdickesȱKoaxialkabelȱ(auchȱalsȱYellowȱCableȱbekannt).ȱ„10“ȱstehtȱfürȱdieȱ unterstützteȱ Bitrateȱ vonȱ 10ȱ Mbit/sȱ undȱ „5“ȱ stehtȱ fürȱ einȱ maximalesȱ Segmentȱ vonȱ 500ȱm.ȱBeiȱ10Base5ȱistȱeineȱStationȱüberȱeinȱsog.ȱDropkabel,ȱdasȱzuȱeinemȱTransceiȬ verȱführt,ȱanȱdenȱBusȱangeschlossen.ȱȱ 10Base2ȱȱwurdeȱauchȱalsȱ„Cheapernet“ȱȱbezeichnet,ȱdaȱesȱetwasȱgünstigerȱwar.ȱEsȱ nutztȱalsȱKabeltypȱeinȱdünnesȱundȱdamitȱleichterȱzuȱverlegendesȱKoaxialkabel,ȱdasȱ vonȱ Stationȱ zuȱ Stationȱ geschleiftȱ wird.ȱ Kabelbrücheȱ oderȱ loseȱ Steckerȱ sindȱ beiȱ 10Base5ȱundȱ10Base2ȱproblematisch.ȱDasȱAnhängenȱeinerȱneuenȱStationȱführtȱdazu,ȱ dassȱ dasȱ Netzȱ unterbrochenȱ werdenȱ muss.ȱ Fürȱ dieȱ einzelnenȱ Variantenȱ gibtȱ esȱ bestimmteȱVorgaben,ȱwieȱetwaȱdieȱmaximaleȱLängeȱeinesȱSegmentsȱoderȱderȱMinȬ destabstandȱ zwischenȱ Stationen.ȱ Abbildungȱ 3Ȭ14ȱ zeigtȱ diesȱ exemplarischȱ fürȱ 10Base5.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Unterȱ Berücksichtigungȱ derȱ DropȬKapelȱ derȱ Stationenȱ undȱ derȱ Repeaterȱ sogarȱ 2800ȱ mȱ (Rechȱ2008).ȱ
9
60ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ
Dropkabel max. 50 m
Dropkabel max. 50 m
Dropkabel max. 50 m
... Transceiver
mind. 2,5 m max. 500 m Segmentlänge
Abschlusswiderstand
ȱ
Abbildungȱ3Ȭ14:ȱ10Base5ȬKonfigurationȱ
Beiȱ10Base5ȱistȱdieȱmaximaleȱLANȬLängeȱ2500ȱmȱ(nachȱ(Rechȱ2008)ȱsogarȱ2800ȱm),ȱ daȱ manȱ fünfȱ Segmenteȱ überȱ max.ȱ vierȱ Repeaterȱ koppelnȱ darf.ȱ Damitȱ kannȱ manȱ max.ȱ500ȱStationenȱ(100ȱproȱSegment)ȱmiteinanderȱverbinden.ȱ Beiȱ10BaseȬTȱstelltȱeinȱHubȱdenȱBusȱdar.ȱAlleȱStationenȱsindȱmitȱeinemȱmax.ȱ100ȱmȱ langen,ȱ verdrilltenȱ Kupferkabelȱ anȱ denȱ Hubȱ angeschlossen.ȱ Diesesȱ Systemȱ hatȱ gegenüberȱ 10Base5ȱ undȱ 10Base2ȱ denȱ Vorteil,ȱ dassȱ Kabelbrücheȱ schnellȱ entdecktȱ werdenȱundȱnurȱnochȱlokaleȱProblemeȱverursachen,ȱdasȱNetzȱaberȱweiterȱarbeitenȱ kann.ȱ Abbildungȱ 3Ȭ15ȱ zeigtȱ dieȱ Konfigurationȱ einesȱ 10BaseȬTȬbasiertenȱ Netzes.ȱ AuchȱhierȱdürfenȱmaximalȱvierȱHubsȱanstelleȱvonȱRepeaternȱverwendetȱwerden.ȱ 10BaseȬFȱunterstütztȱschließlichȱalsȱKabeltypȱeinȱGlasfaserkabelȱundȱwirdȱzurȱsternȬ förmigenȱVernetzungȱvonȱGebäudenȱoderȱweitȱvoneinanderȱentferntenȱHubsȱverȬ wendet.ȱ 10Base5ȱ undȱ 10Base2ȱ sindȱ mittlerweileȱ veraltet.ȱ Heuteȱ vernetztȱ manȱ überwiegendȱ sternförmigȱ(strukturierteȱVerkabelung)ȱundȱnutztȱ10BaseȬTȱbzw.ȱdessenȱNachfolȬ ger.ȱ Dieȱ Nachfolgerȱ werdenȱ 100BaseȬTȱ(T4ȱundȱTX)ȱ ȱgenanntȱ undȱ manȱ bezeichnetȱ dieseȱVarianteȱauchȱalsȱFastȱEthernet. 10ȱ100BaseȬTXȱistȱheuteȱeinȱStandard,ȱwennȱesȱ umȱLANȬVernetzungȱinȱGebäudenȱgeht.ȱȱ Auchȱ 10BaseȬFȱ hatȱ sichȱ zuȱ 100BaseȬFXȱ ȱ weiterentwickelt.ȱ Beiȱ 100BaseȬTXȱ ȱ undȱ 100BaseȬFXȱȱwirdȱzudemȱdieȱKoppelungȱnichtȱüberȱeinenȱHub,ȱsondernȱüberȱeinenȱ Switchȱ ȱ durchgeführt,ȱ wasȱ eineȱ dedizierteȱ Verbindungȱ zwischenȱ zweiȱ Stationenȱ ermöglicht.ȱDadurchȱwirdȱeineȱKollisionserkennungȱüberflüssig. 11ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ObwohlȱFDDIȱdasȱLANȱderȱZukunftȱwerdenȱsollte,ȱhatȱsichȱinȱdenȱletztenȱJahrenȱhierȱdieȱ EthernetȬTechnologieȱ100BaseȬTȱdurchgesetztȱundȱFDDIȱverdrängt.ȱ
10
ȱȱ Beiȱ100VGȬAnyLanȱverzichtetȱmanȱganzȱaufȱdasȱZugriffsverfahrenȱCSMA/CDȱundȱstatȬ tetȱdenȱHubȱmitȱmehrȱIntelligenzȱfürȱdieseȱAufgabeȱaus.ȱEineȱStationȱdarfȱnurȱdannȱsenȬ den,ȱwennȱderȱzentraleȱHubȱsieȱdazuȱauffordert.ȱ
11
61ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ
max. 100 m
....
Ethernet-Hub
ȱ Abbildungȱ3Ȭ15:ȱ10BaseȬTȬKonfigurationȱ
DieȱneuesteȱEntwicklungȱistȱdasȱGigabitȬEthernetȱȱmitȱeinerȱBitrateȱvonȱ1000ȱMbit/sȱ undȱ mehrȱ (10ȱ Gbit/s),ȱ wobeiȱ eineȱ einfacheȱ Migrationȱ zwischenȱ 10ȱ Mbit/sȬ,ȱ 100ȱ Mbit/sȬȱundȱ1000ȱMbit/sȬTechnologieȱangestrebtȱwurde.ȱȱ WerȱsichȱfürȱweitereȱtechnischeȱDatenȱundȱParameterȱwieȱdieȱmaximaleȱSegmentȬ längeȱ oderȱ dieȱ maximaleȱAnzahlȱ anȱ möglichenȱStationenȱ fürȱ dieȱeinzelnenȱ EtherȬ netȬVariantenȱinteressiert,ȱderȱseiȱaufȱdieȱLiteraturȱ(Rechȱ2008)ȱverwiesen.ȱ EthernetȬRahmenȱ (DLȬPDUs).ȱ Derȱ Aufbauȱ derȱ DLȬPDUs,ȱ imȱ Ethernetȱ alsȱ EtherȬ netȬRahmenȱbezeichnet,ȱistȱinȱAbbildungȱ3Ȭ16ȱdargestellt.ȱDieȱPräambelȱbestehtȱausȱ demȱBitmusterȱ0b10101010ȱundȱdientȱderȱSynchronisation.ȱDasȱStartȬKennzeichenȱ (Startȱ Frameȱ Delimiter)ȱ bestehtȱ ausȱ demȱ Bitmusterȱ 0b10101011ȱ undȱ kennzeichnetȱ denȱ Anfangȱ desȱ Rahmens.ȱ Dieȱ SourceȬȱ undȱ dieȱ DestinationȬAdresseȱ müssenȱ fürȱ jedeȱangeschlosseneȱStationȱeindeutigȱsein.ȱDieȱsechsȱByteȱderȱAdresseȱsindȱnochȬ malsȱwieȱfolgtȱunterteilt:ȱ – I/GȬFeldȱ (1ȱ Bit):ȱ Individuelleȱ oderȱ Gruppenadresseȱ fürȱ Multicastȱ bzw.ȱ Broadcast.ȱ – U/LȬFeldȱ (1ȱ Bit):ȱ Kennzeichen,ȱ obȱ dieȱ Adresseȱ vomȱ Netzbetreiberȱ oderȱ derȱ IEEEȱvergebenȱwurde.ȱ – Herstellerkennungȱ(22ȱBit):ȱKennzeichnetȱdenȱHerstellerȱderȱEthernetȬKarteȱ eindeutig.ȱ – Gerätenummerȱ(24ȱBit):ȱLaufendeȱNummer,ȱdieȱderȱGeräteherstellerȱvergibt.ȱ ImȱLängenfeldȱstehtȱdieȱAnzahlȱderȱByteȱimȱanschließendenȱNutzdatenȬBereich.ȱImȱ PaddingȬFeldȱwirdȱderȱRahmenȱaufȱmindestensȱ64ȱByteȱaufgefülllt,ȱfallsȱerȱkleinerȱ ist.ȱHierȱwerdenȱdieȱPräambelȱundȱderȱStartȱFrameȱDelimiterȱnichtȱmitgezählt,ȱdaȱ dieseȱFelderȱnurȱzurȱSynchronisierungȱundȱzurȱKennzeichnungȱeinesȱbeginnendenȱ RahmensȱdienenȱundȱnichtȱzumȱeigentlichenȱRahmenȱgehören.ȱ
62ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ Präambel Start Frame Delimiter Destination-MAC-Adresse Source-MAC-Adresse Pakettyp oder Längenfeld Nutzdaten Padding (optional) Prüfsumme (CRC)
7 Byte 1 Byte 6 Byte 6 Byte
2 Byte 0 bis 1500 Byte max. 46 Byte auffüllen, falls Rahmen < 64 Byte 4 Byte min. 64 Byte, ohne Präambel und ohne Start Frame Delimiter
ȱ
Abbildungȱ3Ȭ16:ȱEthernetȬRahmenformatȱ
Prüfsummenberechnung.ȱDieȱPrüfsummeȱwirdȱnachȱdemȱCRCȬVerfahrenȱ(Cyclicȱ Redundancyȱ Check)ȱ berechnet.ȱ Dasȱ Verfahrenȱ basiertȱ aufȱ einemȱ Polynomȱ vomȱ Gradeȱ k–1.ȱ Esȱ stelltȱ imȱ Prinzipȱ einenȱ 32ȬBitȬHashcodeȱ derȱ Nutzdatenȱ dar.ȱ Wennȱ einigeȱBitȱwegenȱeinerȱKanalstörungȱimȱKabelȱverfälschtȱwerden,ȱdannȱistȱdieȱPrüfȬ summeȱ fastȱ immerȱ falsch.ȱ Derȱ Empfängerȱ merktȱ dies,ȱ indemȱ erȱ dieȱ Prüfsummeȱ ebenfallsȱ berechnetȱ undȱ sieȱ mitȱ derȱ gesendetenȱ vergleicht.ȱ Dieȱ PolynomberechȬ nungȱwirdȱmitȱXORȱ(exclusiveȱOR)ȱohneȱÜbertragȱdurchgeführt.ȱAmȱAnfangȱderȱ Polynomberechnungȱ werdenȱ kȱ Nullbitȱ anȱ dieȱ niederwertigeȱ Seiteȱ desȱ EthernetȬ Rahmensȱ gehängt.ȱ Anschließendȱ erfolgtȱ anhandȱ derȱ Bitketteȱ dieȱ PolynomberechȬ nung.ȱȱ Dasȱ Verfahrenȱ sollȱ anȱ folgendemȱ Beispielȱ ausȱ (Tanenbaumȱ 2003a)ȱ verdeutlichtȱ werden:ȱ – DieȱBitsummeȱdesȱEthernetȬBeispielrahmensȱseiȱ0b11011011011.ȱ – DasȱverwendeteȱPolynomȱseiȱ10011ȱ=ȱx4ȱ+ȱx1ȱ+ȱx0ȱ(Bitpositionȱaufȱ1ȱÆȱPotenzȱ gehtȱinȱdasȱPolynomȱein).ȱ – EinȱAnhängenȱvonȱkȱ=ȱ4ȱNullbitȱergibt:ȱ110110110110000.ȱ – DieȱBerechnungȱderȱPrüfsumme:ȱȱ o 110110110110000ȱ:ȱ10011ȱ=ȱ1100001010,ȱRestȱ1110.ȱ – Übertragenȱ wirdȱ derȱ Ursprungsrahmenȱ undȱ derȱ Rest,ȱ insgesamtȱ alsoȱ 0b110110110111110.ȱ AufȱdieȱDarstellungȱderȱexaktenȱBerechnungȱderȱPrüfsummeȱsollȱhierȱnichtȱeingeȬ gangenȱwerden.ȱSieȱkannȱinȱderȱangegebenenȱLiteraturȱnachgelesenȱwerden.ȱ Leitungskodierung.ȱ Fürȱ dieȱ Leitungskodierungȱ wirdȱ imȱ EthernetȬStandardȱ dieȱ ManchesterȬKodierungȱ ȱverwendet.ȱ Jedeȱ BitȬPeriodeȱ wirdȱ inȱ zweiȱ gleicheȱ Intervalleȱ unterteilt.ȱEineȱbinäreȱEinsȱwirdȱgesendet,ȱindemȱdieȱSpannungȱimȱerstenȱIntervallȱ hochȱundȱimȱzweitenȱIntervallȱniedrigȱgesetztȱwird,ȱbeiȱderȱbinärenȱNullȱistȱesȱumȬ gekehrt.ȱ Imȱ Vergleichȱ zurȱ direktenȱ Binärkodierungȱ wirdȱ alsoȱ dieȱ doppelteȱ BandȬ breiteȱbenötigt.ȱAlsȱHighȬSignalȱwirdȱ0,85ȱVoltȱundȱalsȱLowȬSignalȱ–0,85ȱVoltȱverȬ wendet.ȱ Abȱ demȱ Fastȱ Ethernetȱ wirdȱ dieȱ ManchesterȬKodierungȱ nichtȱ mehrȱ verȬ
63ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ wendet,ȱdaȱeineȱVerdoppelungȱderȱSignalgeschwindigkeitȱbeiȱhöherenȱDatenratenȱ sehrȱaufwändigȱist.ȱImȱGigabitȬEthernetȱwirdȱbeispielsweiseȱdasȱ8B/10BȬVerfahrenȱ verwendet,ȱinȱdemȱjeweilsȱ8ȱBitȱbinäreȱNutzdatenȱzurȱseriellenȱÜbertragungȱinȱ10ȱ BitȱlangeȱKodeȬGruppenȱumgewandeltȱwerdenȱ(Rechȱ2008).ȱ LANȬSwitching.ȱSwitches,ȱauchȱalsȱLANȬSwitchesȱoderȱSwitchingȬHubȱbezeichnetȱ nutzenȱimȱ Gegensatzȱzuȱdenȱ anderenȱEthernetȬTechnikenȱkeinȱ„shared“ȱMediumȱ mehr.ȱ Jedeȱ Station,ȱ dieȱ amȱ Switchȱ angeschlossenȱ ist,ȱ erhältȱ eineȱ dedizierteȱ AnȬ schlussleitung.ȱ Dieȱ Stationenȱ werdenȱ fürȱ dieȱ Dauerȱ derȱ Kommunikationȱ jeweilsȱ paarweiseȱmiteinanderȱverbunden.ȱȱȱ ManȱunterscheidetȱStoreȬandȬForwardȬSwitchesȱȱundȱCutȬThroughȬSwitches.ȱȱEinȱStoȬ reȬandȬForwardȬSwitchȱ nimmtȱ einenȱ ganzenȱ Rahmenȱ auf,ȱ analysiertȱ ihnȱundȱ gibtȱ ihnȱweiter.ȱEinȱCutȬThroughȬSwitchȱgibtȱdenȱRahmenȱsofortȱnachȱderȱIdentifikatiȬ onȱderȱfastȱamȱAnfangȱdesȱRahmensȱstehendenȱZieladresseȱanȱdieȱadressierteȱStaȬ tionȱ weiter.ȱ Vorteilȱ vonȱ StoreȬandȬForwardȬSwitchesȱ ist,ȱ dassȱ erȱ fehlerhafteȱ RahȬ menȱerkennenȱkann.ȱDiesȱistȱbeiȱCutȬThroughȬSwitchesȱnichtȱmöglich.ȱDafürȱhabenȱ CutȬThroughȬSwitchesȱeinenȱLeistungsvorteil.ȱHeuteȱbeherrschenȱSwitchȬProdukteȱ meistȱbeideȱVarianten.ȱ Inȱ Abbildungȱ 3Ȭ17ȱ istȱ einȱ LANȬSwitchȱ dargestellt.ȱ Einȱ Kreuzschienenverteilerȱ imȱ InnerenȱdesȱSwitchesȱsorgtȱfürȱdasȱSchaltenȱ(„Switching“)ȱderȱVerbindungen.ȱȱ DieseȱTechnikȱermöglichtȱesȱauch,ȱdassȱdieȱfürȱEthernetȬLANsȱtypischenȱKollisioȬ nenȱ praktischȱ nichtȱ mehrȱ auftreten.ȱ Dadurchȱ wirdȱ dasȱ EthernetȬLANȱ mitȱ SwitȬ chingȬTechnikȱauchȱfürȱEchtzeitanwendungenȱimmerȱinteressanterȱ(Poppȱ2004).ȱ Dieȱ SwitchingȬTechnikȱ entwickelteȱ sichȱ inȱ denȱ letztenȱ Jahrenȱ insbesondereȱ imȱ TCP/IPȬUmfeldȱsehrȱstarkȱweiter.ȱDaherȱkannȱmanȱkeineȱklarenȱSchichtengrenzen,ȱ wieȱdieseȱimȱOSIȬModellȱvorgegebenȱsind,ȱmehrȱziehen.ȱSwitchingȱaufȱLayerȱ3ȱbisȱ 7ȱbedeutet,ȱdassȱhöhereȱSchichtenȱinȱdieȱSwitchingȬEntscheidungȱeinbezogenȱwerȬ den.ȱDasȱheißtȱdieȱSwitchingȬEntscheidungȱmuss,ȱunabhängigȱvonȱderȱGeschwinȬ digkeitȱ desȱ Interfaces,ȱ zusätzlicheȱ Entscheidungskriterienȱ derȱ Schichtenȱ 3ȱ bisȱ 7ȱ berücksichtigen.ȱ Imȱ einfachstenȱ Fallȱ wirdȱ dieȱWeiterleitungsentscheidungȱaufȱderȱ Schichtȱ3ȱbehandelt.ȱHierȱsprichtȱmanȱvonȱeinemȱLayerȬ3ȬSwitch.ȱImȱPaketȱaufȱderȱ Schichtȱ3ȱkannȱaberȱebensoȱeineȱInformationȱüberȱdieȱPrioritätȱenthaltenȱsein,ȱmitȱ derȱdasȱPaketȱzuȱübertragenȱist.ȱȱStandȱderȱTechnikȱistȱesȱbereitsȱheute,ȱWeiterleiȬ tungsentscheidungenȱ mitȱ Hilfeȱ vonȱ Kriterienȱ derȱ Schichtenȱ 3ȱ undȱ 4ȱ zuȱ unterstütȬ zen.ȱMehrereȱHerstellerȱhabenȱhierzuȱVerfahrenȱinȱunterschiedlicherȱAusprägungȱ implementiert.ȱWennȱauchȱnochȱKriterienȱvonȱSchichtȬ7ȬProtokollenȱberücksichtigtȱ werden,ȱsprichtȱmanȱvonȱApplicationȬSwitches.ȱ
64ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ
....
Switch
ȱ Abbildungȱ3Ȭ17:ȱLANȬSwitchȱ
VirtuelleȱLAN.ȱAlsȱVLANȱ(VirtualȱLocalȱAreaȱNetwork)ȱȱbezeichnetȱmanȱeinȱlogiȬ schesȱNetzwerkȱinnerhalbȱeinesȱphysikalischenȱNetzwerkes.ȱManȱkannȱmitȱdieserȱ Technikȱ innerhalbȱ einesȱ physikalischenȱ Netzwerksȱ mehrerenȱ Benutzergruppenȱ oderȱOrganisationseinheitenȱeigeneȱ(virtuelle)ȱLANȱzuordnen.ȱ Esȱ gibtȱ mehrereȱ RealisierungsvariantenȱfürȱVLANs.ȱBeispielsweiseȱ könnenȱinȱderȱ Schichtȱ2ȱMACȬAdressenȱoderȱPortsȱvonȱintelligentenȱHubsȱoderȱLANȬSwitchesȱzuȱ Gruppenȱzusammengefasstȱwerden 12.ȱIntelligenteȱHubsȱkönnenȱbeispielsweiseȱimȱ internenȱ BusȱZeitschlitzeȱimȱ Zeitmultiplexverfahrenȱaufȱ verschiedeneȱ VLANsȱ zuȬ ordnen.ȱ Diesenȱ einzelnenȱ Portsȱ werdenȱ dabeiȱ dieȱ Zeitschlitzeȱ zugeordnet.ȱ ÄhnliȬ chesȱistȱmitȱLANȬSwitchesȱ(sog.ȱVLANȬtauglicheȱSwitches)ȱmöglich.ȱInȱAbbildungȱ 3Ȭ18ȱ istȱ einȱ Beispielȱ fürȱ zweiȱ VLANsȱ innerhalbȱ vonȱ zweiȱ LayerȬ2ȬSwitchesȱ durchȱ Portzuordnungȱgegeben.ȱJederȱSwitchȱhatȱimȱBeispielȱachtȱPorts.ȱDieȱStationenȱS1,ȱ S3,ȱ S5,ȱ S6ȱ undȱ S7ȱ bisȱ S14ȱ sindȱ demȱ VLANȱ 1ȱ zugeordnet,ȱ dieȱ restlichenȱ Stationenȱ sindȱ Mitgliederȱ desȱ VLANȱ 2.ȱ Dieȱ Switchesȱ sindȱ miteinanderȱ verbunden.ȱ Einȱ NetzwerkadministratorȱmussȱdieȱPortsȱdenȱVLANsȱmanuellȱzuordnen.ȱSollenȱStaȬ tionenȱ derȱ beidenȱ VLANsȱ miteinanderȱ kommunizieren,ȱ istȱ inȱ derȱ Schichtȱ 3ȱ einȱ Routerȱerforderlich,ȱdaȱsieȱvollständigȱvoneinanderȱisoliertȱsind.ȱ Auchȱ inȱ derȱ Schichtȱ 3ȱ undȱ inȱ derȱ Schichtȱ 4ȱ kannȱ dieȱ VLANȬGruppierungȱ vorgeȬ nommenȱwerden.ȱWelcheȱStationȱzuȱwelchemȱVLANȱgehört,ȱkannȱauchȱüberȱdenȱ Inhaltȱ derȱ Nachrichtenȱ festgestelltȱ werden.ȱ Hierȱ sindȱ jeȱ nachȱ Produktȱ mehrereȱ Methodenȱ möglich.ȱ Manȱ kannȱ beispielsweiseȱ alleȱ EthernetȬStationenȱ mitȱ einemȱ bestimmtenȱ Wertȱ imȱ Feldȱ Pakettypȱ einemȱ VLANȱ zuordnen.ȱ Aufȱ derȱ Schichtȱ 3ȱ könnteȱ manȱz.B.ȱalleȱ IPȬAdressenȱ einesȱ Subnetzesȱ einemȱ VLANȱ zuordnen.ȱ Inȱderȱ Schichtȱ 4ȱ istȱ dieȱ Zuordnungȱ überȱ Transportadressenȱ (z.B.ȱ TCP/UDPȬPorts)ȱ mögȬ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sieheȱz.B.ȱdenȱCiscoȱVLANȱMembershipȱPolicyȱServerȱ(VMPS)ȱoderȱdasȱGARPȱ(Genericȱ AttributeȱRegistrationȱProtocol)ȱVLANȱRegistrationȱProtocolȱ(GVRP).ȱ
12
65ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ lich 13.ȱDieȱAuswertungȱderȱPaketeȱistȱallerdingsȱmitȱrelativȱvielȱAufwandȱverbunȬ den.ȱ Layer-2-Switch
Layer-2-Switch
S1 S2 S3 S4
1
VLAN 1
VLAN 1
1
2
2
S10
3
3
S11 S12
4
4
S5
5
5
S6
6
6
S7
7
7
S8
S9
8
VLAN 2
VLAN 2
8
S13 S14 S15 S16
ȱ
Abbildungȱ3Ȭ18:ȱVLANȬRealisierungȱaufȱBasisȱvonȱPortnummernȱ
Dieȱ VLANȬTechnikȱ funktioniertȱ auchȱ inȱ EthernetȬLANsȱ mitȱ derȱ LANȬSwitchingȬ Technik.ȱDerȱentsprechendeȱIEEEȬStandardȱheißtȱ802.1Q 14.ȱJedemȱVLANȱwirdȱeineȱ eindeutigeȱ Nummer,ȱ dieȱ sog.ȱ VLANȬIdȱ zugeordnet.ȱ Gemäßȱ demȱ IEEEȬStandardȱ 802.1Qȱ wirdȱ hierfürȱ dasȱ EthernetȬPaketȱ umȱ 4ȱ Byteȱ erweitert.ȱ Davonȱ istȱ einȱ 12ȱ Bitȱ langesȱ Feldȱ zurȱ Aufnahmeȱ derȱ VLANȬIdȱ vorgesehen,ȱ soȱ dassȱ insgesamtȱ 4094ȱ VLANsȱ möglichȱ sind.ȱ Dieȱ VLANȬIdsȱ 0ȱ undȱ 4095ȱ sindȱ reserviert.ȱ Derȱ erweiterteȱ EthernetȬRahmenȱ istȱ inȱ Abbildungȱ 3Ȭ19ȱ skizziert.ȱ Dasȱ VLANȬFeldȱ hatȱ wiederumȱ vierȱEinzelfelder:ȱ – Dasȱ Feldȱ TPIDȱ (Tagȱ Protocolȱ Identifier)ȱ istȱ fürȱ dasȱ Ethernetȱ belanglosȱ undȱ hatȱ einenȱ festenȱ Wertȱ 0x8100.ȱ Esȱ wirdȱ fürȱ dieȱ Übertragungȱ überȱ andereȱ Technologienȱwieȱz.B.ȱTokenȱRingȱbenötigt.ȱ – DasȱFeldȱUserȬPrioritätȱdientȱderȱKennzeichnungȱzeitkritischerȱFramesȱ – DasȱFeldȱCFIȱȱ(CanonicalȱFormatȱIndicatorȱ)ȱwirdȱauchȱnurȱfürȱdieȱKommuȬ nikationȱüberȱȱTokenȬRingȱbenötigt.ȱ – DieȱVLANȬIdȱdientȱderȱIdentifikationȱeinesȱbestimmtenȱVLAN.ȱȱ EinȱGerät,ȱdasȱzumȱVLANȱmitȱderȱVLANȬIdȱ=ȱ1ȱgehört,ȱkannȱmitȱjedemȱanderenȱ Gerätȱ imȱ gleichenȱ VLANȱkommunizieren,ȱ nichtȱjedochȱ mitȱ einemȱ Gerätȱinȱ einemȱ anderenȱVLAN.ȱDieȱKommunikationȱzwischenȱVLANȱistȱnurȱüberȱRouterȱmöglich.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ IPȬAdressierungȱ (Vermittlungsschicht)ȱ undȱ TCP/UDPȬAdressierungȱ (Transportschicht)ȱ wirdȱnochȱinȱdenȱKapitelnȱ4ȱundȱ5ȱerläutert.ȱ
13
ȱȱ Dieȱ Vorarbeitenȱ leisteteȱ dieȱ Firmaȱ Ciscoȱ imȱ DeȬFactoȬStandardȱ ISLȱ (Intelȱ Switchȱ Linkȱ Protokoll).ȱ
14
66ȱ
3.2ȱȱProtokolleȱundȱTechnologienȱderȱSicherungsschichtȱ Empfängtȱ einȱ VLANȬfähigerȱ Switchȱ vonȱ einemȱ Portȱ einenȱ EthernetȬRahmen,ȱ inȱ demȱerȱeinȱVLANȬTagȱerkennt,ȱsoȱwirdȱdieserȱanȱdenȱadressiertenȱZielportȱweiterȬ geleitet.ȱFallsȱsichȱanȱdiesemȱPortȱeinȱEndgerätȱbefindet,ȱwirdȱzuvorȱdasȱTagȱvomȱ Switchȱ entferntȱ undȱ einȱ normalerȱ EthernetȬRahmenȱ weiterȱ gesendet.ȱ Umgekehrtȱ wirdȱeinemȱEthernetȬRahmen,ȱderȱvonȱeinemȱEndgerätȱgesendetȱwurde,ȱimȱSwitchȱ dasȱVLANȬTagȱhinzugefügt.ȱEsȱgibtȱaberȱauchȱbereitsȱNetzwerkkartenȱfürȱEndgeȬ räte,ȱdieȱdieseȱAufgabeȱerledigen.ȱ Präambel Start Frame Delimiter Destination-MAC-Adresse VLAN-Tag Source-MAC-Adresse Pakettyp oder Längenfeld
TPID User-Priorität CFI VLAN-Id
16 Bit 3 Bit 1 Bit 12 Bit
Nutzdaten Padding (optional) Prüfsumme (CRC)
ȱ
Abbildungȱ3Ȭ19:ȱEthernetȬRahmenformatȱmitȱVLANȬErweiterungȱ
3.2.4
Wireless LAN (WLAN)
Dieȱ Verbreitungȱ vonȱ WLANȱ nachȱ derȱ Normȱ IEEEȱ 802.11ȱ nimmtȱ inȱ denȱ letztenȱ Jahrenȱ starkȱ zu.ȱ Vorȱ allemȱ ermöglichtȱ esȱ inȱ Hotels,ȱ Restaurants,ȱ Flughäfenȱ usw.ȱ eineȱ idealeȱ Variante,ȱ Kundenȱ mitȱ eigenenȱ Notebooksȱ einenȱ Netzzugangȱ bzw.ȱ InternetȬZugangȱ anzubieten.ȱ Aberȱ auchȱ z.B.ȱ fürȱ HandelsȬUnternehmenȱ (VersandȬȱ undȱ Großhandelȱ mitȱ Zentrallagern)ȱ istȱ einȱ Einsatzȱ vonȱ WLANȱ inȱ Lagersystemenȱ etwaȱfürȱmobilesȱKommissionierpersonalȱgutȱgeeignet.ȱDaȱheutzutageȱoftȱWLANȬ Routerȱ vomȱ DSLȬAnbieterȱ beiȱ einemȱ Neuvertragȱ ausgeliefertȱ werden,ȱ wächstȱ dieȱ VerbreitungȱvonȱWLANȱauchȱimȱprivatenȱBereich.ȱ InȱdrahtlosenȱLANsȱnachȱIEEEȱ802.11ȱȱwirdȱdieȱmodifizierteȱFormȱdesȱCSMA/CDȬ Verfahrensȱ eingesetzt,ȱ dasȱ alsȱ CSMA/CAȱ ȱ bezeichnetȱ wird.ȱ Dieȱ Abkürzungȱ „CA“ȱ stehtȱ fürȱ Collisionȱ Avoidance,ȱ alsoȱ (möglichst)ȱ Vermeidenȱ vonȱ Kollisionenȱ oderȱ zumindestȱ dieȱ Wahrscheinlichkeitȱ vonȱ Kollisionenȱ geringȱ halten.ȱ Dasȱ MeȬ diumȱwirdȱhierzuȱabgehört,ȱundȱesȱwirdȱerstȱübertragen,ȱwennȱesȱfreiȱist.ȱZusätzȬ lichȱ wirdȱ einȱ Quittierungsverfahrenȱ eingesetzt.ȱ Vonȱ einerȱ Stationȱ wirdȱ vorȱ demȱ SendenȱeinerȱNachrichtȱzunächstȱeineȱkurzeȱSteuernachrichtȱabgeschickt,ȱdieȱvomȱ Empfängerȱ bestätigtȱ wird.ȱ Erstȱ nachȱ demȱ Empfangȱ derȱ Bestätigungȱ beginntȱ derȱ SenderȱdieȱeigentlichenȱDatenȱzuȱsenden.ȱAlleȱanderenȱStationenȱdesȱAntennenbeȬ reichsȱwartenȱnachȱEmpfangȱderȱSteuernachrichtȱaufȱdasȱtatsächlicheȱDatenpaket.ȱ DasȱWLANȱnachȱ802.11ȱkannȱinȱzweiȱgrundlegendenȱVariantenȱrealisiertȱwerden.ȱ ManȱunterscheidetȱInfrastrukturȬȱundȱAdȬhocȬNetzwerke:ȱ InfrastrukturȬModus.ȱ Inȱ diesemȱ Modusȱ kommunizierenȱ mehrereȱ WLANȬStatioȬ nenȱ überȱ einenȱ festenȱ Zugangspunkt,ȱ derȱ alsȱ AccessȬPointȱ bezeichnetȱ wird.ȱ Alleȱ
67ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ Stationenȱ undȱ derȱ fürȱ sieȱ zuständigeȱ AccessȬPointȱ werdenȱ zusammenȱ alsȱ Basicȱ Serviceȱ Setȱ (BSS)ȱ ȱbezeichnet.ȱ Dieȱ AccessȬPointsȱ ȱkönnenȱ auchȱ denȱ Zugangȱ zuȱ eiȬ nemȱFestnetzȱverschaffen.ȱȱ Verteilungssystem (Anbindung an Festnetz...)
Access Point
Access Point
BSS
WLAN-Station WLAN-Station
WLAN-Station
WLAN-Station WLAN-Station
BSS
WLAN-Station
ȱ Abbildungȱ3Ȭ20:ȱTypischeȱWLANȬVernetzungȱinȱInfrastrukturȬModusȱ
AdȬhocȬModus.ȱ Imȱ AdȬhocȬModusȱ kommunizierenȱ mehrereȱ WLANȬStationenȱ untereinanderȱdirekt,ȱalsoȱohneȱAccessȱPointȱinȱeinemȱsog.ȱIBSSȱ(IndependentȱBaȬ sicȱServiceȱSet).ȱEinȱIBSSȱumfasstȱhierȱalleȱStationenȱimȱselbenȱÜbertragungsbereich.ȱ InȱAbbildungȱ3Ȭ20ȱistȱderȱInfrastrukturmodusȱmitȱzweiȱBSSȱskizziert,ȱdieȱüberȱeinȱ Verteilungssystemȱ miteinanderȱ verbundenȱ sindȱ (Festnetz).ȱ Inȱ Abbildungȱ 3Ȭ21ȱ istȱ derȱ AdȬhocȬModusȱ beispielhaftȱ mitȱ dreiȱ WLANȬStationenȱ inȱ einemȱ IBSSȱ dargeȬ stellt.ȱ
WLAN-Station
WLAN-Station WLAN-Station
IBSS
ȱ Abbildungȱ3Ȭ21:ȱWLANȱnachȱ803.11ȱimȱAdȬhocȬModusȱ
FunkkommunikationȱundȱFrequenzband.ȱDieȱ802.11aȬNormȱistȱfürȱeinȱFrequenzȬ bandȱ vonȱ 2,4ȱ GHzȱ vorgesehenȱ undȱ erreichtȱ eineȱ Bitrateȱ vonȱ max.ȱ 11ȱ Mbit/s.ȱ Dieȱ neueȱVarianteȱ802.11gȱerreichtȱDatenratenȱvonȱ54ȱMbit/sȱundȱdieȱEntwicklungȱistȱ hierȱnochȱnichtȱabgeschlossen.ȱ
68ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ Esȱsollȱnochȱbemerktȱwerden,ȱdassȱFunkkommunikationȱwesentlichȱstöranfälligerȱ alsȱdieȱdrahtgebundeneȱKommunikationȱist.ȱKabelȱkannȱmanȱgutȱabschirmen,ȱdasȱ Funkmediumȱnicht.ȱFunkȱistȱsehrȱanfälligȱfürȱjedwedeȱelektromagnetischeȱStörungȱ undȱauchȱfürȱWettereinflüsse.ȱAuchȱsindȱdieȱDatenratenȱbeiȱderȱFunkkommunikaȬ tionȱwesentlichȱniedriger.ȱFrequenzenȱsindȱknappeȱRessourcen 15.ȱȱȱ Dieȱ Entfernung,ȱ inȱ derȱ einȱ Signalȱ nochȱ empfangenȱ werdenȱ kann,ȱ hängtȱ vonȱ derȱ Frequenzȱab.ȱJeȱhöherȱdieȱFrequenz,ȱdestoȱgeringerȱistȱdieȱReichweiteȱundȱauchȱdieȱ Dämpfungȱnimmtȱzu.ȱSchließlichȱmussȱbeiȱderȱFunkkommunikationȱnochȱberückȬ sichtigtȱ werden,ȱ dassȱ sichȱ zwischenȱ Senderȱ undȱ Empfängerȱ meistȱ irgendwelcheȱ Hindernisseȱbefindenȱ(Gebäude,....)ȱundȱkeineȱdirekteȱSichtverbindungȱvorhandenȱ ist.ȱDiesȱtrifftȱbesondersȱaufȱStädteȱzu.ȱJeȱhöherȱdieȱFrequenzȱist,ȱdestoȱmehrȱverȬ hältȱsichȱdasȱSignalȱwieȱLicht.ȱSignaleȱmitȱniedrigerȱFrequenzȱdurchdringenȱObjekȬ teȱbesserȱalsȱSignaleȱmitȱhoherȱFrequenz.ȱDasȱSignalȱmussȱalsoȱggf.ȱmehrmalsȱreȬ flektiertȱwerden,ȱbisȱesȱbeimȱEmpfängerȱankommt,ȱundȱverliertȱdabeiȱjeȱnachȱOberȬ flächenbeschaffenheitȱdesȱHindernissesȱanȱStärke,ȱdaȱesȱteilweiseȱabsorbiertȱwird.ȱ
3.3 Zugang zu öffentlichen Netzen (WAN-Technologien) 3.3.1
ISDN
ISDNȱstehtȱfürȱIntegratedȱServicesȱDigitalȱNetworkȱȱundȱintegriertȱverschiedenarȬ tigeȱ Kommunikationsdiensteȱ wieȱ Sprache,ȱ DatenȬȱ undȱ Bildkommunikationȱ innerȬ halbȱ einesȱ Netzwerksȱ überȱ einenȱ Netzwerkzugang.ȱ ISDNȱ istȱ einȱ digitalesȱleitungsȬ vermitteltesȱ Systemȱ undȱ wirdȱ überwiegendȱ fürȱ dieȱ Telefonieȱ verwendet.ȱ Esȱ wirdȱ auchȱ alsȱ SchmalbandȬISDNȱ bezeichnet.ȱ ISDNȱ spieltȱ inȱ Deutschlandȱ undȱ mitȱ EuroȬ ISDNȱauchȱinȱEuropaȱeineȱwichtigeȱRolle.ȱInȱDeutschlandȱwirdȱesȱflächendeckendȱ eingesetzt.ȱ Alleȱ EUȬStaatenȱ verfügenȱ ebenfallsȱ überȱ eineȱ ISDNȬInfrastruktur.ȱ Inȱ denȱUSAȱwirdȱISDNȱallerdingsȱnichtȱeingesetzt.ȱDerȱTelekomȬAnbieterȱAT&TȱbieȬ tetȱz.B.ȱeinenȱISDNȬähnlichenȱDienstȱunterȱdemȱNamenȱ5ESSȱinȱdenȱUSAȱan.ȱȱ ISDNȱnutztȱdasȱPCMȬVerfahrenȱ(PulseȱCodeȱModulation).ȱPCMȱȱbildetȱdieȱGrundȬ lageȱfürȱeinigeȱKommunikationssystemeȱundȱistȱderȱStandardȱfürȱdieȱdigitaleȱKoȬ dierungȱvonȱAudiodatenȱimȱTelefonnetz.ȱAufȱBasisȱderȱGrundeinheitȱvonȱ64ȱKbit/sȱ wurdeȱeineȱsog.ȱÜbertragungshierarchieȱdefiniert,ȱinȱdenenȱjeweilsȱmehrereȱKanäleȱ multiplexiertȱ werdenȱ können.ȱ Dieȱ PCMȬÜbertragungshierarchieȱ wurdeȱ bereitsȱ inȱ Kapitelȱ2ȱdargestellt.ȱInȱPCMȬ30ȱsindȱdannȱz.B.ȱ30ȱ*ȱ64ȱKbit/sȱ+ȱ2ȱ*ȱ64ȱKbit/sȱ(SteuerȬ information)ȱ =ȱ 2,048ȱ Mbit/sȱ verfügbar.ȱ Entsprechendȱ gibtȱ esȱ PCMȬ120ȱ mitȱ 8,448ȱ MBit/sȱ usw.ȱ Dieȱ PCMȬHierarchieȱ wirdȱ fürȱ denȱ internenȱ Aufbauȱ desȱ ISDNȬ Netzwerkesȱgenutzt.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dieȱ einheitlicheȱ Vergabeȱ vonȱ Frequenzenȱ regeltȱ weltweitȱ dieȱ ITUȱ undȱ inȱ Europaȱ dieȱ EuropeanȱConferenceȱforȱPostsȱanȱTelecommunicationsȱ(CEPT).ȱ
15
69ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ ISDNȬNetzwerk.ȱ Dasȱ ISDNȬNetzwerkȱ istȱ hierachischȱ aufgebaut.ȱ Manȱ unterscheiȬ detȱ digitaleȱ Fernvermittlungenȱ (dasȱ sindȱ Knotenrechner)ȱ undȱ darunterȱ digitaleȱ Ortsvermittlungen.ȱ Dieȱ Ortsvermittlungenȱ hängenȱanȱ denȱ Fernvermittlungen,ȱ dieȱ wiederumȱaufȱhöchsterȱEbeneȱmiteinanderȱvernetztȱsind.ȱAnȱdenȱOrtsvermittlunȬ genȱ hängenȱ schließlichȱ dieȱ Telefonanbindungenȱ fürȱ dieȱ Hausanschlüsseȱ vonȱ PriȬ vatkundenȱbzw.ȱvonȱUnternehmenȱ(sieheȱAbbildungȱ3Ȭ22).ȱZwischenȱeinerȱdigitaȬ lenȱ Ortsvermittlungȱ (Ortsvermittlungsstelleȱ oderȱ OvSt)ȱ undȱ einerȱ digitaleȱ FernȬ vermittlungȱ wirdȱ z.Bȱ eineȱ PCMȬ30ȬVerbindungȱ genutzt,ȱ zwischenȱ zweiȱ digitalenȱ FernvermittlungenȱeineȱPCMȬ7680ȬVerbindung.ȱ 564,992 Mbit/s
2,048 Mbit/s
digitale Fernvermittlung digitale Ortsvermittlung
digitale Fernvermittlung
2,048 Mbit/s
digitale Ortsvermittlung 1 2 3 4 5 6 7 8 9 *
8 #
analoges Telefon möglich
64 Kbit/s
64 Kbit/s Netzanschluss
Netzanschluss
1 2 3 4 5 6 7 8 9 *
3
1
2
3
4
5
6
7
8
9
4 7
5 8
6 9
*
8
#
*
8
#
1
8 #
ISDN-Endgerät
2
ISDN-Endgerät
ISDN-Endgerät
ȱ
Abbildungȱ3Ȭ22:ȱISDNȬKonfigurationȱnachȱ(Zitterbartȱ1995)ȱ
Hausinternȱ wirdȱ einȱ sog.ȱ S0ȬBusȱ ȱverlegt,ȱ anȱ denȱ unmittelbarȱ ISDNȬfähigeȱ Geräteȱ (Telefone,ȱRechnerȱmitȱISDNȬAdaptern,ȱFaxgeräte)ȱȱangeschlossenȱwerdenȱkönnen.ȱ EinȱS0ȬBusȱbestehtȱausȱvierȱDrähten,ȱjeweilsȱzweiȱjeȱSenderichtung.ȱMitȱHilfeȱeinesȱ Terminaladaptersȱ (TA)ȱ könnenȱ anȱ denȱ S0ȬBusȱ auchȱ analogeȱ Geräteȱ angeschlossenȱ werden.ȱ Derȱ Telekombetreiberȱ (Carrier)ȱ installiertȱ beimȱ Endkundenȱ eineȱ Dose,ȱ denȱ NTȬ Netzanschlussȱ (auchȱ NT1 16ȱgenannt).ȱ Zwischenȱ Endkundenȱ undȱ Ortsvermittlungȱ werdenȱ verdrillteȱ Kupferkabelȱ verwendetȱ (letzteȱ Meile).ȱ Einȱ Endgerätȱ (Rechnerȱ oderȱTelefon)ȱwirdȱvorȱOrtȱüberȱeinenȱISDNȬNTȱanȱdasȱISDNȬNetzȱangeschlossen.ȱ Ausȱ derȱSichtȱ desȱ Endkundenȱ istȱ derȱNTȬNetzanschlussȱ dieȱ Grenzeȱzumȱ öffentliȬ chenȱNetzȱundȱdamitȱderȱNetzwerkzugang.ȱUnternehmenȱhängenȱmeistȱeineȱNeȬ benstellenanlageȱ(PBXȱ=ȱPrivateȱBranchȱeXchange)ȱanȱdenȱNTȬNetzanschluss.ȱDieȱ PBXȱbildetȱdannȱdenȱsog.ȱNT2ȬAnschluss.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ NTȱ stehtȱ fürȱ Networkȱ Termination.ȱ Inȱ Deutschlandȱ wirdȱ dieserȱ Anschlussȱ alsȱ NTBAȱ (NetzterminatorȬBasisanschluss)ȱbezeichnet.ȱ
16
70ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ Endkunde
Carrier
S
ISDN-Endgerät
1
2
3
4
5
6
7
8
9
*
8
#
S
ISDN-Telefon
NT2 ISDN PBX
U
T NT1
ISDN Exchange
Internes Netz des Carriers (Anbieters)
S R TA Nicht-ISDN-Endgerät TA = Terminaladapter
ȱ
Abbildungȱ3Ȭ23:ȱISDNȬReferenzkonfigurationȱ
DieȱCCITTȱdefiniertȱverschiedeneȱSchnittstellen,ȱdieȱalsȱBezugspunkteȱR,ȱS,ȱTȱundȱ Uȱbezeichnetȱwerdenȱ(sieheȱAbbildungȱ3Ȭ23):ȱ – DieȱTȬSchnittstelleȱliegtȱimȱNT1ȬStecker.ȱ – DieȱSȬSchnittstelleȱliegtȱzwischenȱeinerȱISDNȬPBXȱundȱeinenȱISDNȬEndgerät.ȱ – RȱdientȱalsȱSchnittstelleȱzuȱeinemȱTerminaladapterȱ(TA)ȱundȱEndgerätenȱohȬ neȱISDN.ȱ – Uȱ istȱ dieȱ Schnittstelleȱ zwischemȱ denȱ ISDNȬNetzbetreibernȱ undȱ demȱ NT1Ȭ Anschluss.ȱ ISDNȬSchichtenmodell.ȱDasȱISDNȬSchichtenmodellȱunterscheidetȱdieȱverschiedeȬ nenȱ Protokollstacksȱ inȱ denȱ Endsystemen,ȱ inȱ denȱ Ortsvermittlungenȱ undȱ inȱ denȱ Fernvermittlungen.ȱWeiterhinȱwirdȱdieȱÜbertragungȱvonȱNutzdatenȱundȱvonȱSigȬ nalisierungsinformationȱ unterschieden.ȱ Fürȱ alleȱ verwendetenȱ Protokolleȱ gibtȱ esȱ Empfehlungenȱ derȱ ITU.ȱ Zurȱ Signalisierungȱ zwischenȱ denȱ FernvermittlungsȬ InstanzenȱwirdȱdasȱSignalisierungssystemȱSS7 17ȱ(SignallingȱSystemȱNr.ȱ7)ȱverwenȬ det.ȱ SS7ȱ undȱ dessenȱ Protokollstackȱ sollenȱ hierȱ nichtȱ weiterȱ betrachtetȱ werden.ȱ VielmehrȱkonzentrierenȱwirȱunsȱaufȱdieȱKommunikationȱzwischenȱdenȱEndgerätenȱ undȱdenȱOrtsvermittlungsȬInstanzen.ȱ Schichtȱ1.ȱDieȱArbeitsweiseȱderȱSchichtȱ1ȱwirdȱdurchȱdieȱSpezifikationenȱI.430ȱundȱ I.431ȱ festgelegt.ȱ ȱ Dieȱ ISDNȬRahmenȱ aufȱ derȱ physischenȱ Ebeneȱ habenȱ eineȱ Längeȱ vonȱ48ȱBit.ȱEinȱRahmenȱwirdȱinȱ250ȱPsȱübertragen.ȱVonȱdenȱ48ȱBitȱsindȱ36ȱDatenbit,ȱ womitȱsichȱeineȱDatenrateȱvonȱ144ȱKbit/sȱerrechnet.ȱZwischenȱeinemȱempfangenenȱ undȱ einemȱ gesendetenȱ Rahmenȱ liegtȱ eineȱ Zeitverzögerungȱ vonȱ zweiȱ Bit.ȱ Derȱ ISDNȬRahmenȱistȱinȱAbbildungȱ3Ȭ24ȱ dargestellt.ȱOhneȱaufȱdieȱEinzelbitȱnäherȱeinȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ InȱEuropaȱauchȱalsȱC7ȱbekannt.ȱ
17
71ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ zugehen,ȱ wirdȱ deutlich,ȱ dassȱ alleȱ 250ȱ Psȱ imȱ ZeitmultiplexȬVerfahrenȱ 16ȱ Bitȱ jeȱ BȬ Kanalȱundȱ4ȱBitȱfürȱdenȱDȬKanalȱgesendetȱwerden.ȱ 48 Bit in 250 Microsekunden 1
1
8
1
1
1
1
1
8
1
1
1
8
F
F
B1 ... B1
E
D
A
FA
N
B2 ... B2
E
D
M
B1 ... B1
F = Rahmenbit FA = zusätzliches Rahmenbit L = Ausgleichsbit A = Aktivierungsbit N = Binäre "1" festgelegt
1
1
1
8
1
1
1
E
D
S
B2 ... B2
E
D
L
16 Bit in 250 Microsekunden für B1-Kanal 16 Bit in 250 Microsekunden für B2-Kanal 4 Bit in 250 Microsekunden für D-Kanal ----------------------------------------------------36 Datenbit
D = D-Kanalbit E = D-Echokanalbit B1 = B1-Kanalbit B2 = B2-Kanalbit M/S = Füllbit
ȱ
Abbildungȱ3Ȭ24:ȱSchichtȬ1ȬRahmenȱbeiȱISDNȱnachȱ(Sikoraȱ2003)ȱ
Schichtȱ2.ȱDieȱSchichtȱ2ȱfolgtȱdenȱEmpfehlungenȱQ.920ȱundȱQ.921ȱderȱITUȬT.ȱDieseȱ SchichtȱsorgtȱfürȱeineȱzuverlässigeȱÜbertragungȱderȱDLȬRahmenȱundȱfürȱdasȱVerȬ bindungsmanagementȱ zwischenȱ Endgerätȱ undȱ Vermittlungsstelle.ȱ Dasȱ Protokollȱ wirdȱauchȱalsȱLAPDȱ(HDLCȬVariante)ȱbezeichnet.ȱLAPDȱ(LinkȬAccessȬProcedureȬ DȬKanal)ȱübernimmtȱdieȱAufgabenȱderȱRahmenbegrenzungȱundȱderȱReihenfolgeȬ zuordnung,ȱ derȱ Fehlererkennungȱ undȱ derȱ Ȭkorrektur.ȱ Weiterhinȱ wirdȱ eineȱ FlussȬ steuerungȱ durchgeführt.ȱ Derȱ Aufbauȱ derȱ ISDNȬLAPDȬRahmenȱ ähneltȱ demȱ obenȱ beschriebenenȱHDLCȬRahmenȱstark.ȱ Endsystem A 3
Q.930, Q.931
2
Q.920, Q.921
1
ISDN-Vermittlungsstelle
Endsystem B
Q.930, Q.931 Q.920, Q.921 NT
I.430, I.431 S
NT U
D-Kanal
D-Kanal
U
I.430, I.431 S
ȱ Abbildungȱ3Ȭ25:ȱISDNȬProtokollstackȱnachȱ(Sikoraȱ2003)ȱ
Inȱ einemȱ S0ȬBusȱ istȱ derȱ DȬKanalȱ (4ȱ DȬBit)ȱ fürȱ alleȱ angeschlossenenȱ Endgeräteȱ nurȱ einmalȱ vorhanden.ȱ Derȱ Zugriffȱ aufȱ denȱ DȬKanalȱ wirdȱ überȱ Zugriffsprioritätenȱ gesteuert.ȱ Einȱ Endgerät,ȱ dasȱ sendenȱ möchte,ȱ prüftȱ vorherȱ denȱ Kanal,ȱ inȱ demȱ esȱ eineȱvorgegebeneȱAnzahlȱanȱEinsenȱausliest.ȱDieȱPrioritätȱeinerȱStationȱnimmtȱmitȱ zunehmenderȱAnzahlȱanȱEinsen,ȱdieȱesȱvorȱdemȱSendenȱlesenȱmuss,ȱab.ȱEineȱStatiȬ on,ȱdieȱgesendetȱhat,ȱȱerhöhtȱdieȱAnzahlȱderȱzuȱerkennendenȱEinsenȱumȱeinenȱvorȬ gegebenenȱ Wert,ȱ damitȱ dieȱ anderenȱ Stationenȱ alsȱ nächsteȱ dasȱ Mediumȱ erhaltenȱ können.ȱDieȱPrioritätȱwirdȱwiederȱerhöht,ȱsobaldȱdieȱeingestellteȱAnzahlȱanȱEinsenȱ hintereinanderȱamȱBusȱerkanntȱwurden.ȱWennȱmehrȱalsȱeinȱEndgerätȱsendet,ȱwerȬ denȱauftretendeȱKollisionenȱerkannt,ȱindemȱjedesȱgesendeteȱBitȱauchȱwiederȱüberȱ dasȱEȬBitȱgelesenȱwird.ȱSobaldȱeinȱEndgerätȱeineȱAbweichungȱfeststellt,ȱbeendetȱesȱ dasȱSendenȱundȱȱwarten,ȱbisȱesȱwiederȱanȱderȱReiheȱist.ȱȱ
72ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ Schichtȱ 3.ȱInȱderȱSchichtȱ3 18ȱwerdenȱdieȱITUȬTȬEmpfehlungȱQ.930ȱundȱQ.931ȱverȬ wendet.ȱ Dieȱ Protokolleȱ sindȱ zuständigȱ fürȱ denȱ Gesprächsaufbauȱ zwischenȱ denȱ ISDNȬEndsystemenȱsowieȱfürȱdieȱKontrolleȱundȱfürȱdenȱZugangȱzuȱdenȱangeboteȬ nenȱ Diensten.ȱ Weiterhinȱ werdenȱ hierȱ dieȱ ISDNȬPDUsȱ fürȱ dieȱ Kommunikationȱ (ISDNȬMeldungenȱ genannt)ȱ definiert.ȱ Typischeȱ PDUsȱ sindȱ dieȱ CONNȬPDUȱ zumȱ Aufbauȱ derȱ Verbindung,ȱ dieȱ CONNACKȬPDUȱ zurȱ Verbindungsbestätigungȱ undȱ dieȱDISCȬPDUȱzumȱEinleitenȱeinesȱVerbindungsabbaus.ȱ AlleȱQ.xȬProtokolleȱbildenȱdasȱsog.ȱDigitalȱSubscriberȱSignallingȱSystemȱNo.1ȱ(DSS1),ȱ dasȱeuropaweitȱgenutztȱwirdȱundȱauchȱalsȱEuroȬISDNȱbezeichnetȱwird.ȱDieȱProtoȬ kollstacksȱ sindȱ inȱ Abbildungȱ 3Ȭ25ȱ skizziert.ȱ Weitereȱ Detailsȱ zuȱ denȱ Protokollenȱ sindȱderȱLiteraturȱzuȱentnehmen.ȱȱ Dieȱ TelekomȬGesellschaftenȱ bietenȱ verschiedeneȱ Dienstzugängeȱ an.ȱ Derȱ einfacheȱ BasisanschlussȱzurȱAblösungȱdesȱanalogenȱTelefonsȱbietetȱzweiȱBȬKanäleȱmitȱeinerȱ Bitrateȱ vonȱ jeȱ 64ȱ Kbit/s)ȱ undȱ einenȱ DȬKanalȱ (Bitrate16ȱ Kbit/s)ȱ fürȱ dieȱ Steuerungȱ (2B+1D).ȱErȱwirdȱauchȱalsȱS0ȬAnschlussȱbezeichnetȱundȱstelltȱeineȱDatenrateȱvonȱ144ȱ kbit/sȱbereit.ȱDanebenȱwirdȱnochȱderȱsog.ȱPrimärmultiplexkanalȱmitȱ30ȱKanäleȱundȱ einenȱDȬKanalȱmitȱ64ȱKbit/sȱinȱEuropaȱangebotenȱ(30B+1D).ȱFürȱeinenȱPrimärmulȬ tiplexanschlussȱ (auchȱ S2MȬAnschlussȱ genannt)ȱ kannȱ internȱ vomȱ Carrierȱ eineȱ PCMȬ 30ȬVerbindungȱverwendetȱwerden.ȱDerȱnochȱfreieȱ32.ȱ64ȬKbit/sȬKanalȱwirdȱu.a.ȱfürȱ dasȱNetzwerkmanagementȱundȱzurȱSynchronisationȱverwendet.ȱDamitȱerreichtȱeinȱ S2MȬAnschlussȱeineȱDatenrateȱvonȱ2.048ȱkbit/s.ȱ Abschließendȱseiȱnochȱbemerkt,ȱdassȱderȱStandardisierungsprozessȱfürȱISDNȱziemȬ lichȱ langeȱ gedauertȱ hatȱ (seitȱ 1984)ȱ undȱ ISDNȱ heuteȱ –ȱ trotzȱ weiterȱ Verbreitungȱ –ȱ schonȱwiederȱalsȱveraltetȱgilt.ȱ
3.3.2
DSL
Einȱ weitererȱ WANȬZugangsdienstȱ istȱ DSL.ȱ DSLȱ stehtȱ fürȱ Digitalȱ Subscriberȱ Lineȱ (digitaleȱ Teilnehmeranschlussleitung).ȱ DSLȱ nutztȱ dieȱ gleichenȱ KupferȬDoppelȬ adernȱ(vierȱDrähte)ȱwieȱISDN,ȱalsoȱherkömmlicheȱTelefonleitungen,ȱkannȱaberȱeineȱ wesentlichȱ höhereȱ Datenrateȱ erzielen.ȱ Manȱ unterscheidetȱ mehrereȱ DSLȬVerfahrenȱ undȱsprichtȱoftȱauchȱinsgesamtȱüberȱdieȱxDSLȬVerfahren.ȱ xDSLȱistȱsehrȱgutȱfürȱdieȱInternetȬNutzungȱgeeignet,ȱ(wennȱmanȱdasȱtypischeȱWebȬ SurfȬVerhaltenȱbetrachtet)ȱundȱwirdȱvonȱdenȱTelekomanbieternȱauchȱalsȱInternetȬ Zugangsdienstȱ angeboten.ȱ ADSLȱ wirdȱ z.B.ȱ überȱ denȱ vorhandenenȱ ISDNȬZugangȱ angeboten,ȱwobeiȱTelefonierenȱundȱDatenübertragungȱgleichzeitigȱüberȱdieselbenȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Manȱ siehtȱ also,ȱ dassȱ dieȱ ISDNȬArchitekturȱ inȱ einemȱ 3ȬSchichtenmodellȱ beschriebenȱ ist.ȱ Wieȱwirȱnochȱsehenȱwerden,ȱistȱz.B.ȱinȱderȱTCP/IPȬArchitekturȱeinȱISDNȬWANȬZugangȱ inȱderȱSchichtȱ2ȱangesiedelt.ȱDiesȱistȱdurchausȱnichtsȱUngewöhnliches,ȱdaȱhierȱvölligȱeiȬ genständigeȱ Architekturenȱ vorliegenȱ undȱ einȱ IPȬNetzwerkȱ ISDNȱ nurȱ alsȱ TransportȬ netzwerkȱbenutzt.ȱ
18
73ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ Kabelȱmöglichȱist.ȱManȱunterscheidetȱbeiȱxDSLȱsymmetrischeȱundȱasymmetrischeȱ Verfahren,ȱwobeiȱbeiȱletzterenȱdieȱDownstreamȬÜbertragungȱ(vomȱInternetȱServiceȱ ProviderȱzumȱEndkundenȱundȱUpstreamȬÜbertragungȱfürȱdenȱumgekehrtenȱWegȱ differenziertȱwird.ȱ BeispieleȱfürȱxDSL:ȱ – ADSLȱ stehtȱ fürȱ Asymmetricalȱ DSLȱ undȱ verfügtȱ überȱ eineȱ DownstreamȬRateȱȱ bisȱzuȱ8ȱMbit/s.ȱImȱUpstreamȱwirdȱbisȱzuȱ640ȱKbit/sȱerreicht.ȱManȱkannȱmitȱ ADSLȱ Distanzenȱ vonȱ 2,7ȱ bisȱ 5,5ȱ kmȱ bedienen.ȱ Dieseȱ Asymmetrieȱ istȱ alsoȱ durchȱ dieȱ unterschiedlichenȱ Bitratenȱ gegeben.ȱ Weiterentwicklungenȱ vonȱ ADSLȱ (ADSL2,ȱ ADSL2+)ȱ ermöglichenȱ sogarȱ nochȱ deutlichȱ höhereȱ DatenraȬ tenȱ beiȱ größerenȱ Distanzenȱ (Downstream:ȱ 25ȱ Mbit/s,ȱ Upstream:ȱ 3ȱ Mbit/s).ȱ WeiterentwicklungenȱvonȱADSLȱsindȱADSL2ȱundȱADSL2+.ȱADSL2ȱerweitertȱ beiȱKompatibilitätȱzuȱADSLȱdieȱmaximaleȱDownstreamȬRateȱaufȱ16ȱMbit/s,ȱ ADSL2+ȱaufȱ25ȱMbit/s 19.ȱ – SDSLȱ stehtȱ fürȱ Symmetricalȱ DSL.ȱ Hierȱ erreichtȱ manȱ sowohlȱ „DownȬ stream“ȱalsȱauchȱ„Upstream“ȱDatenratenȱvonȱüberȱ2ȱMbit/s 20.ȱ – VDSLȱ stehtȱ fürȱVeryȱHighȱBitȱ Rateȱ DSL.ȱ Hierȱerreichtȱ manȱ imȱ DownstreamȬ DatenratenȱinȱderȱGrößenordnungȱvonȱ52ȱMbit/s.ȱ Manȱmussȱbeachten,ȱdassȱbeiȱdenȱeinzelnenȱVerfahrenȱdieȱDatenrateȱundȱdieȱDisȬ tanzȱ umgekehrtȱ proportionalȱ zueinanderȱ sind.ȱ VDSLȱ verfügtȱ z.B.ȱ überȱ eineȱ sehrȱ hoheȱDatenrateȱbeiȱkurzenȱEntfernungen.ȱ
0,3 3 Sprache
10 Upstream
1000
100 Downstream
f [kHz]
ȱ
Abbildungȱ3Ȭ26:ȱFrequenzbelegungȱbeiȱADSLȱnachȱ(Sikoraȱ2003)ȱ
xDSLȬAnschlüsseȱbietenȱVollduplexübertragungȱz.B.ȱüberȱeinȱFrequenzmultiplexȬ verfahren.ȱ Beiȱ ADSLȱ siehtȱ z.B.ȱ dieȱ Frequenzbelegungȱ wieȱ inȱ Abbildungȱ 3Ȭ26ȱ darȬ gestelltȱaus.ȱManȱsiehtȱinȱderȱAbbildung,ȱdassȱfürȱSprache,ȱUpstreamȱundȱDownȬ streamȱdisjunkteȱFrequenzbereicheȱreserviertȱsind.ȱȱ Einȱ ADSLȬAnschlussȱ benötigtȱ zweiȱ Modemsȱ (auchȱ ATUȱ =ȱ ADSLȱ Terminalȱ Unitȱ genannt)ȱundȱzweiȱsog.ȱSplitterȱ(auchȱBBAEȱ=ȱBreitbandanschlusseinheit),ȱdieȱüberȱ eineȱ Zweidrahtleitungȱ miteinanderȱ verbundenȱ sind.ȱ Einȱ Splitterȱ istȱ imȱ HausanȬ schlussȱ undȱeinerȱinȱderȱVermittlungsstelle.ȱ Splitterȱ sindȱ Frequenzweichenȱundȱ teiȬ lenȱ denȱ Frequenzbereichȱ desȱ Telefondienstesȱ vomȱ ADSLȬFrequenzbereichȱ ab.ȱ InȱAbbildungȱ3Ȭ27ȱistȱeinȱtypischesȱBeispielȱeinesȱADSLȬZugangsȱfürȱeinȱHausnetzȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ADSL2ȱbzw.ȱADSL+ȱgeltenȱauchȱalsȱVoraussetzungȱfürȱdasȱInternetȬFernsehenȱ(IPTV).ȱ
19
ȱȱ DieȱvonȱdenȱTelekomȬBetreibernȱangebotenenȱDatenratenȱerhöhenȱsichȱständig.ȱ
20
74ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ beschrieben.ȱAnȱdieȱATUȱistȱhierȱimȱHausanschlussȱeinȱEthernetȬHubȱangeschlosȬ sen,ȱanȱdenȱwiederumȱdieȱeinzelnenȱRechnerȱangeschlossenȱsind.ȱ Endkunde (Hausanschluss)
Vermittlungsstelle des Carriers
meist kombiniert
EthernetHub
ATU Splitter
Zweidrahtleitung
Splitter
...
... 1 2 3 4 5 6 7 8 9 * 8 #
PC
PC
Telefon
ATU = ADSL-Modem
ȱ
Abbildungȱ3Ȭ27:ȱADSLȬAnschlussȬBeispielȱ
EineȱBesonderheitȱistȱbeiȱADSLȱnochȱzuȱerwähnen.ȱDieȱModulationsmethodeȱwirdȱ dynamischȱermittelt.ȱWennȱdieȱverwendeteȱFrequenzȱüberȱeineȱhoheȱQualitätȱverȬ fügt,ȱwirdȱeineȱModulationsmethodeȱgewählt,ȱdieȱmehrȱBitȱproȱBaudȱkodiert.ȱBeiȱ niedrigerȱQualitätȱwerdenȱentsprechendȱwenigerȱBitȱproȱBaudȱkodiert.ȱ Hinweis:ȱ Heuteȱ nutztȱ manȱ fürȱ denȱ Anschlussȱ seinesȱ HeimȬPCsȱ ADSLȬModems,ȱ dieȱnebenȱderȱModemfunktionalitätȱauchȱmitȱFirewallȬTechnik,ȱIPȬRouterȬ,ȱDHCPȬȱ undȱ NATȬFunktionalitätȱ (sieheȱ Kapitelȱ 4),ȱ EthernetȬHub,ȱ usw.ȱ ausgestattetȱ sind,ȱ alsoȱ überȱ eineȱ kompletteȱ Anbindungsmöglichkeitȱ ansȱ Internetȱ verfügen.ȱ Auchȱ KombinationenȱvonȱADSLȬModemsȱmitȱWLANȬTechnologienȱsindȱüblich.ȱ
3.3.3
PDH, SDH und SONET
Inȱ derȱ Schichtȱ 1ȱ sindȱ nebenȱ PCMȱ (Pulseȱ Codeȱ Modulation)ȱ weitereȱ MultiplexȬ Technikenȱ mitȱ digitalenȱ Übertragungshierarchienȱ fürȱ Weitverkehrsverbindungenȱ angesiedelt,ȱdieȱmanȱhinsichtlichȱdesȱzugrundeliegendenȱÜbertragungsverfahrensȱ inȱsynchrone,ȱasynchroneȱundȱplesiochroneȱ(chronosȱ=ȱZeit)ȱVerfahrenȱeinteilt.ȱȱ Übertragungsverfahrenȱ allgemein.ȱ Beiȱ derȱ synchronenȱ Übertragungȱ wirdȱ zwiȬ schenȱSenderȱundȱEmpfängerȱderȱgleicheȱTaktȱfürȱalleȱzuȱübertragendenȱBitȱeingeȬ halten,ȱbeiȱderȱasynchronenȱÜbertragungȱgibtȱesȱkeinenȱgemeinsamenȱTakt.ȱBeiȱderȱ synchronenȱ Übertragungȱ wirdȱ derȱ Taktȱ ausȱ demȱ empfangenenȱ Datensignalȱ regeȬ neriert,ȱwasȱbeimȱEmpfängerȱrechtȱaufwändigȱist.ȱ Beiȱ derȱ asynchronenȱ Übertragungȱ schwingenȱ zwarȱ dieȱ Taktgeneratorenȱ vonȱ SenȬ derȱundȱEmpfängerȱunterschiedlichȱundȱunabhängigȱvoneinander,ȱaberȱmanȱsynȬ chronisiertȱnachȱjedemȱgesendetenȱDatenwortȱneu.ȱDasȱkannȱmanȱz.B.ȱsoȱbewerkȬ stelligen,ȱ dassȱ jedeȱ Gruppeȱ vonȱ NutzdatenȬBitȱ durchȱ sog.ȱ SynchronisationsȬBitȱ eingerahmtȱ istȱ (StartȬȱ undȱ StopȬBit).ȱ Plesiochroneȱ Übertragungȱ istȱ fast,ȱ aberȱ dochȱ
75ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ nichtȱ ganzȱ synchronȱ (Plesioȱ stehtȱ fürȱ „fast“),ȱ dasȱ heißt,ȱ esȱ istȱ einȱ leichtesȱ AbweiȬ chenȱdesȱTaktsȱzwischenȱQuelleȱundȱSenkeȱmöglich,ȱdasȱauszugleichenȱist.ȱ Zweiȱ wichtigeȱ MultiplexȬTechnikenȱ mitȱ Übertragungshierarchienȱ sindȱ PDHȱ (PleȬ siochronousȱDigitalȱHierarchie)ȱundȱSDHȱ(SynchronousȱDigitalȱHierarchy).ȱInsbeȬ sondereȱdasȱeuropäischeȱSDH,ȱdasȱinȱNordamerikaȱalsȱSONETȱ(SynchronousȱOptiȬ calȱNETwork)ȱbezeichnetȱwird,ȱistȱeinȱmodernesȱTransportverfahrenȱfürȱWeitverȬ kehrsnetze.ȱ PDHȱ undȱ SDH/SONETȱ sollenȱ hierȱ kurzȱ eingeführtȱ werden.ȱ Fürȱ eineȱ weiterführendeȱErläuterungȱwirdȱaufȱ(Tanenbaumȱ2003a)ȱverwiesen.ȱȱ PDHȬTechnologie.ȱDieȱseitȱdenȱ60erȱJahrenȱentwickeltenȱPDHȬNetzeȱbenutzenȱeinȱ TDMȬVerfahrenȱ (Timeȱ Divisionȱ Multiplexing,ȱ Zeitmulitplexverfahren).ȱ Dieȱ PDHȬ Hierarchieȱistȱ inȱ Tabelleȱ3Ȭ1ȱ dargestellt.ȱHeuteȱsindȱ inȱ Europaȱ vorwiegendȱ E1,ȱE3ȱ undȱ E4ȱ relevant,ȱ E5ȱ wirdȱ bereitsȱ durchȱ dieȱ SDHȬTechnologieȱ verdrängtȱ undȱ E2ȱ wirdȱ gerneȱ übersprungen.ȱ Leiderȱ sindȱ fürȱ PDHȱ keineȱ weltweitenȱ Standardsȱ verȬ fügbar.ȱDieȱangebotenenȱBitratenȱinȱdenȱUSAȱundȱinȱJapanȱunterscheidenȱsichȱvonȱ denȱeuropäischen.ȱ Tabelleȱ3Ȭ1:ȱPDHȬHierarchieȱinȱEuropaȱ BezeichnungȱnachȱITUȬTȱ GenaueȱBitrateȱ[Mbit/s]ȱ E1ȱ
2,048ȱMbit/sȱȱ
E2ȱ
8,448ȱMbit/sȱȱ
E3ȱ
34,368ȱMbit/sȱȱ
E4ȱ
139,264ȱMbit/sȱȱ
E5ȱ
565,148ȱMbit/sȱȱ
ȱ
PDHȱwarȱnieȱeinȱweltweiterȱStandard.ȱNachteiligȱanȱPDHȱistȱaußerdemȱdasȱkomȬ plizierteȱVerfahren,ȱmitȱdemȱmanȱeinzelneȱKanäleȱausȱeinerȱPDHȬHierarchieȱ„heȬ rausfischen“ȱ muss.ȱ Dasȱ Signalȱ mussȱ nämlichȱ aufgebrochenȱ werden,ȱ wobeiȱ alleȱ Multiplexierungsstufenȱzuȱdurchlaufenȱsind,ȱumȱdenȱKanalȱzuȱlesen.ȱAnschließendȱ istȱ dasȱ Signalȱ wiederȱ neuȱ zuȱ multiplexieren.ȱ Diesȱ liegtȱ daran,ȱ dassȱ PDHȱ fürȱ jedeȱ Multiplexstufeȱ einenȱ eigenenȱ Rahmenȱ definiert.ȱ Dasȱ Multiplexenȱ erfolgtȱ zudemȱ bitweise.ȱ SDHȬȱ undȱ SONETȬTechnologie.ȱ Dieȱ SDHȬTechnologieȱ wurdeȱ 1990ȱ durchȱ dieȱ ITUȬTȱ festgelegtȱ undȱ behebtȱ dieȱ PDHȬNachteileȱ weitgehend.ȱ SDHȱ entstandȱ urȬ sprünglichȱ ausȱ Forschungsarbeitenȱ inȱ denȱ amerikanischenȱ BellȬLaborsȱ undȱ zwarȱ dortȱunterȱdemȱNamenȱSONET.ȱSDHȱistȱfürȱdieȱÜbertragungȱüberȱLichtwellenleiterȱ (LWL)ȱ konzipiertȱ undȱ imȱ Gegensatzȱ zuȱ PDHȱ weitgehendȱ inȱ Softwareȱ (inȱ denȱ Netzwerkkomponenten)ȱrealisiert.ȱDieȱVorteileȱgegenüberȱPDHȱsind:ȱ – SDHȱistȱeinȱweltweitȱgültigerȱStandardȱüberȱalleȱHierarchiestufen.ȱȱ
76ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ – DirekteȱEntnahmeȱderȱeinzelnenȱZubringersignale,ȱalsoȱderȱZugriffȱaufȱeinenȱ einzelnenȱKanalȱinnerhalbȱderȱMultiplexierungshierarchie.ȱSDHȱistȱalsoȱweȬ sentlichȱeinfacherȱalsȱPDH.ȱ – Esȱwirdȱbyteweiseȱmultiplexiert.ȱ SDHȱ benötigtȱ alsȱ synchroneȱ Übertragungstechnikȱ eineȱ zentraleȱ Taktversorgung,ȱ wasȱjeweilsȱlandesweitȱrealisiertȱwird.ȱ Manȱ kannȱ sichȱ vorstellen,ȱ dassȱ dieȱ Nachrichtenzusammenstellungȱ beiȱ SDHȱ verȬ gleichbarȱmitȱAbläufenȱinȱeinemȱGüterbahnhofȱist.ȱDerȱTransportȱderȱDatenȱerfolgtȱ inȱ Containern,ȱ dieȱ ineinanderȱ verpackbarȱ sind.ȱ Dieȱ Datenübertragungȱ erfolgtȱ inȱ Rahmen,ȱsog.ȱvirtuellenȱContainernȱ(VC),ȱdieȱalsȱSynchronousȱTransportȱModulesȱ (STM)ȱbezeichnetȱwerden.ȱEinȱSTMȬ1ȬRahmenȱhatȱneunȱZeilenȱzuȱjeȱ270ȱByteȱundȱ umfasstȱsomitȱ19440ȱBitȱ(9ȱZeilenȱ*ȱ270ȱByte/Zeileȱ*ȱ8ȱBit/Byte).ȱProȱSekundeȱwerȬ denȱ 8000ȱ STMȬ1ȬRahmenȱ übertragen,ȱ wasȱ eineȱ nominale 21 ȱBitrateȱ vonȱ 155,52ȱ Mbits/sȱ ergibtȱ (19440ȱ Bit/Rahmenȱ *ȱ 8000ȱ Rahmen/sȱ =ȱ 155,52ȱ Mbit/s).ȱ Jedesȱ Byteȱ unterstütztȱsomitȱeineȱDatenübertragungsrateȱvonȱ64ȱKbit/s.ȱ Dieȱ Rahmenȱ werdenȱ multiplexiert.ȱ Vierȱ STMȬ1ȬRahmenȱ bildenȱ einenȱ STMȬ4Ȭ Rahmen,ȱ vierȱ STMȬ4ȬRahmenȱ einenȱ STMȬ16ȬRahmenȱ usw.ȱ STMȬ16ȱ stelltȱ z.B.ȱ eineȱ Datenrateȱvonȱ2488,32ȱMbit/sȱzurȱVerfügung.ȱHeuteȱsindȱbereitsȱnominaleȱBitratenȱ vonȱ159252,480ȱMbit/sȱ(STMȬ1024)ȱverfügbar.ȱ 270 * 9 Zeilen * Bit * 8000/s Abtastfrequenz = 155,52 Mbit/s
SOH Pointer Pointer 1
SOH
SOH: Section Overhead (Header) POH: Path Overhead (Header)
POH
Payload Container
............
P O H
Pointer n
Container
P O H
63 Container mit jeweils 2 MBit/s 3 Container mit jeweils 34 Mbit/s 1 Container mit 140 Mbit/s
Container
ȱ
Abbildungȱ3Ȭ28:ȱSTMȬ1ȬTransportmodulȱ
Derȱ schnelleȱ Zugriffȱ aufȱ dieȱ einzelnenȱ Kanäleȱ erfolgtȱ durchȱ dieȱ Auswertungȱ desȱ sog.ȱPointers.ȱAbbildungȱ3Ȭ28ȱ zeigtȱeinenȱSTMȬ1ȬRahmenȱgrobȱskizziert.ȱDerȱPoinȬ terȱimȱSOHȱ(SectionȱOverhead)ȱzeigtȱaufȱdenȱBeginnȱdesȱgrößtenȱContainers.ȱConȬ tainerȱsindȱentkoppeltȱvomȱübergeordnetenȱTransportmodul.ȱEineȱneueȱVerschalȬ tungȱgehtȱdaherȱsehrȱschnellȱohneȱZwischenpufferung.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DieȱeffektiveȱNutzlastȱistȱetwasȱgeringer,ȱdaȱmanȱnochȱdenȱOverheadȱwegrechnenȱmuss.ȱ
21
77ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ
3.3.4
ATM
Eineȱ weitere,ȱ vorwiegendȱ inȱ öffentlichenȱ Netzenȱ eingesetzteȱ WANȬTechnologie 22ȱ istȱ ATMȱ (Abkürzungȱ fürȱ Asynchronerȱ Transferȱ Modus).ȱ ATMȱ wurdeȱ ursprünglichȱ auchȱalsȱuniversellesȱBreitbandnetzȱbezeichnetȱundȱwarȱalsȱWeiterentwicklungȱvonȱ SȬISDNȱ (SchmalbandȬISDN,ȱ wieȱ dasȱ heutigeȱ ISDNȱ genanntȱ wird)ȱ gedacht.ȱ Manȱ sprachȱdaherȱauchȱvomȱsog.ȱBreitbandȬISDNȱ(BȬISDN).ȱBȬISDNȱwarȱeinȱTelekomȬ dienst,ȱ derȱ sowohlȱ TelekommunikationsȬȱ alsȱ auchȱ Datendiensteȱ sowieȱ VerteilȬ diensteȱ(fürȱRundfunkȱundȱFernsehen)ȱinȱeinemȱeinheitlichenȱNetzȱanbot.ȱErȱsollteȱ alsoȱ inȱ einerȱ gemeinsamenȱ Netzwerkinfrastrukturȱ dasȱ Fernsprechnetz,ȱ dasȱ FernȬ sehnetzȱ undȱ Rechnernetzeȱ bedienenȱ können.ȱ Heuteȱ wirdȱ derȱ Begriffȱ BȬISDNȱ fürȱ Breitbandnetzeȱnichtȱmehrȱverwendet.ȱDieȱNetzkonzeptionȱerwiesȱsichȱalsȱzuȱteuer.ȱȱ Multiplexieren.ȱDasȱ„A“ȱinȱATMȱbeziehtȱsichȱnachȱITUȬTȱaufȱdasȱMultiplexierenȱ vonȱDatenȱüberȱeinȱnichtȱstarresȱKanalkonzeptȱfürȱVerbindungen.ȱDiesȱgiltȱimȱUnȬ terschiedȱzumȱsynchronenȱTransfermodus,ȱwoȱsichȱdieȱDatenȱfürȱeineȱVerbindungȱ anȱ genauȱ definiertenȱ Stellenȱ einesȱ periodischȱ gesendetenȱ Übertragungsrahmensȱ befinden.ȱ Dieȱ Übertragungȱ derȱ Datenȱ erfolgtȱ inȱ kleinenȱ Paketenȱ (ATMȬZellen).ȱ ATMȱ benötigtȱ schnelleȱ Vermittlungsknotenȱ (Synonyme:ȱ ATMȬKnoten,ȱ ATMȬ Vermittler,ȱ ATMȬSwitch,ȱ ATMȬMultiplexiererȱ oderȱ ATMȬRouter),ȱ umȱ dieȱ Paketeȱ schnellȱ bewegenȱ zuȱ können.ȱ Diesȱ wirdȱ u.a.ȱ dadurchȱ erreicht,ȱ dassȱ keineȱFehlerkorȬ rekturȱdurchgeführtȱwird.ȱStelltȱmanȱsichȱeineȱKombinationȱausȱATMȱundȱSDHȱvor,ȱ soȱpasstȱdieȱAnalogie,ȱdassȱSDHȱdasȱTransportnetzȱundȱdieȱATMȬKnotenȱdieȱRanȬ gierbahnhöfeȱdarstellen.ȱȱ 1 2 3 4 5 6 7 8 9 *
8 #
konstant langsam Leerzellen (Idle-Zellen)
konstant schnell
ATMMUX (Switch)
ATMMUX (Switch)
variabel
ȱ Abbildungȱ3Ȭ29:ȱATMȬFunktionsweiseȱnachȱ(Kieferȱ1999)ȱ
Inȱ Abbildungȱ 3Ȭ29ȱ wirdȱ dieȱ prinzipielleȱ Arbeitsweiseȱ vonȱ ATMȱ gezeigt.ȱ UnterȬ schiedlicheȱEndgeräteȱmitȱunterschiedlichenȱAnforderungenȱanȱdieȱKommunikatiȬ onsverbindungȱwerdenȱunterstützt.ȱImȱBildȱsindȱdreiȱTeilnehmerȱmitȱunterschiedȬ lichenȱAnforderungenȱanȱdasȱKommunikationssystemȱdargestellt.ȱDerȱverantwortȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ATMȱkannȱauchȱimȱLANȱeingesetztȱwerden,ȱistȱjedochȱdortȱnichtȱsehrȱverbreitet.ȱ
22
78ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ licheȱATMȬMultiplexiererȱüberträgtȱdieȱDatenȱdurchȱeineȱflexibleȱZuordnungȱvonȱ ZellenȱzuȱVerbindungen.ȱȱ Übermittlungsverfahren.ȱ ATMȱ istȱ einȱ paketȬȱundȱverbindungsorientiertesȱ ÜbermittȬ lungsverfahrenȱundȱarbeitetȱmitȱvirtuellenȱVerbindungen,ȱd.h.ȱzwischenȱzweiȱTeilȬ nehmernȱ mussȱ zuerstȱ einȱ Verbindungsaufbauȱ durchgeführtȱ werden,ȱ bevorȱ komȬ muniziertȱwerdenȱkann.ȱManȱunterscheidetȱpermanenteȱ(PVCȱ=ȱPermanentȱVirtualȱ Circuit)ȱ undȱ transienteȱ (SVCȱ =ȱ Switchedȱ Virtualȱ Circuit)ȱ Verbindungen.ȱ Einȱ PVCȱ istȱwieȱeineȱStandleitung,ȱdieȱstatischȱundȱmanuellȱvomȱCarrierȱkonfiguriertȱwirdȱ undȱ auchȱ überȱ SwitchȬAusfälleȱ hinwegȱ bekanntȱ bleibt.ȱ Nachȱ einemȱ SystemȬȱ oderȱ Stromausfallȱ einesȱ beteiligtenȱ Switchesȱ wirdȱ einȱ PVCȱ wiederȱ aufgebaut.ȱ Einȱ SVCȱ wirdȱdynamischȱaufgebaut,ȱwennȱdiesȱvonȱeinemȱEndgerätȱgefordertȱwird.ȱ Dienstqualität.ȱ ATMȱ unterstütztȱ auchȱ bestimmteȱ Anforderungenȱ anȱ dieȱ DienstȬ qualitätȱ inȱ Netzen.ȱ Insbesondereȱ inȱ neuerenȱ MultimediaȬAnwendungenȱ istȱ beiȬ spielsweiseȱ oftȱ eineȱ gleichzeitigeȱ Übertragungȱ vonȱ Sprache,ȱ Datenȱ undȱ (BewegtȬ)ȱ Bildernȱ erforderlich.ȱ Nebenȱ einemȱ großenȱ Bandbreitenbedarfȱ (unkomprimierteȱ VideoȬStrömeȱbenötigenȱbisȱzuȱ210ȱMbit/s)ȱsindȱvorȱallemȱfürȱAudioȬȱundȱVideoȬ übertragungen,ȱ aberȱ auchȱ fürȱ Simulationsdatenȱ kontinuierlicheȱ Medienströmeȱ gefordert.ȱDiesȱbedeutet,ȱdassȱdieȱPräsentationȱkontinuierlichȱüberȱdieȱZeitȱverlauȬ fenȱsoll.ȱFürȱdieȱÜbertragungȱvonȱSprachȬȱundȱVideodatenȱwirdȱalsoȱeinȱkonkreterȱ Zeitbezugȱ(Echtzeitbezug)ȱgefordert.ȱ FolgendeȱÜbertragungsparameterȱsindȱdabeiȱwichtig:ȱ – Verzögerung:ȱEineȱakzeptableȱVerzögerungȱfürȱAudioȬȱundȱVideodatenȱliegtȱ beiȱ150ȱms.ȱ – Verzögerungssensibilitätȱ(Jitter,ȱVarianzȱderȱVerzögerung):ȱDieȱAnkunftszeitȱ darfȱnichtȱzuȱstarkȱvariierenȱ(ca.ȱ20ȱnsȱbeiȱAudio).ȱ – KonstanteȱundȱauchȱhoheȱBitrate.ȱ UmȱfürȱdieȱÜbertragungȱeineȱausreichendeȱQualitätȱzuȱerhalten,ȱistȱeineȱDienstquaȬ litätȱ inȱ Netzenȱ (QualitiyȬofȬService,ȱ QoS)ȱ vonȱ hoherȱ Bedeutung.ȱ Hierunterȱ verstehtȱ manȱ dieȱ Fähigkeitȱ einesȱ Netzwerks,ȱ einenȱ beliebigenȱ Mixȱ vonȱ Bandbreite,ȱ VerzöȬ gerung,ȱ Jitterȱ undȱ Paketverlustȱ überȱ denȱ gesamtenȱ Kommunikationswegȱ (alsoȱ auchȱ überȱ mehrereȱ Teilnetzeȱ hinweg)ȱ zuȱ kontrollierenȱ undȱ innerhalbȱ sinnvollerȱ Grenzenȱzuȱhalten.ȱHierzuȱsindȱnatürlichȱauchȱMaßnahmenȱzurȱFlussȬȱundȱÜberȬ lastkontrolleȱvonȱenormerȱBedeutung.ȱȱ ATMȬPaketaufbau.ȱ ATMȱ dientȱ derȱ schnellenȱ Paketvermittlung,ȱ wobeiȱ alsȱ Paketeȱ sog.ȱZellenȱkonstanterȱLängeȱvonȱ53ȱByteȱ(48ȱByteȱNutzdatenȱundȱ5ȱByteȱOverhead,ȱ sieheȱAbbildungȱ3Ȭ30)ȱübertragenȱwerden.ȱDasȱKonzeptȱbezeichnetȱmanȱalsȱZellenȬ vermittlung.ȱ Dieȱ Zellengrößeȱ vonȱ 53ȱ Byteȱ stelltȱ einenȱ Kompromissȱ zwischenȱ denȱ AnforderungenȱanȱdieȱDatenȬȱundȱdieȱSprachübertragungȱdar.ȱDatenübertragungȱ benötigtȱ vorȱ allemȱ großeȱ Nutzdatenfelder,ȱ Sprachübertragungȱ eineȱ möglichstȱ geȬ ringeȱPaketierzeit.ȱDurchȱdieȱÜbertragungȱaufȱBasisȱkleinerȱPaketeȱ(Zellen)ȱistȱmanȱ sehrȱflexibelȱundȱkannȱauchȱEchtzeitanforderungenȱbefriedigen.ȱ
79ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ 5 Byte
48 Byte
Zellkopf VC
Nutzinformation VP
VC = Virtual Channel VP = Virtual Path
Physikalische Verbindung
ȱ Abbildungȱ3Ȭ30:ȱATMȬZellenaufbau,ȱATMȬPfadeȱundȱȬChannelsȱ
NachȱITUȬTȱI.361ȱgibtȱesȱzweiȱverschiedeneȱTypenȱvonȱATMȬZellköpfenȱ(Headern),ȱ dieȱsichȱgeringfügigȱunterscheiden 23.ȱInȱAbbildungȱ3Ȭ31ȱsindȱdieȱHeaderȱderȱNNIȬȱ undȱderȱUNIȬZelleȱdargestellt.ȱImȱNNIȬZellenkopfȱsindȱvierȱBitȱmehrȱfürȱdenȱVPIȱ reserviert,ȱ dafürȱ istȱ keinȱ Feldȱ Flusskontrolleȱ vorhanden.ȱ Dieȱ Felderȱ habenȱ imȱ EinȬ zelnenȱfolgendeȱBedeutung:ȱ – DasȱFeldȱ Flusskontrolleȱ (auchȱ GFCȱ =ȱ Genericȱ Flowȱ Control)ȱ dientȱderȱ FlussȬ steuerungȱzwischenȱEndgerätȱundȱNetz.ȱ24ȱ – Dieȱ Felderȱ VPIȱ undȱ VCIȱ gebenȱ dasȱ Zielȱ derȱ Zelleȱ an.ȱ Derȱ virtuelleȱ Kanalȱ (auchȱCircuitȱgenannt)ȱwirdȱadressiert.ȱVPIȱistȱderȱVirtualȱPathȱIdentifier,ȱVCIȱ derȱ Virtualȱ Channelȱ Identifier.ȱ Beideȱ Felderȱ zusammenȱ werdenȱ alsȱ VerbinȬ dungsȬIdentifikatorȱverwendetȱ(24ȱBit).ȱ – Dasȱ Feldȱ Payloadtypȱ (3ȱ Bit)ȱ gibtȱ denȱ Nutzdatentypȱ an.ȱ Hierȱ wirdȱ zwischenȱ BenutzerzellenȱundȱungenutztenȱZellenȱ(UnassignedȱCells)ȱusw.ȱunterschieȬ den.ȱLetztereȱwerdenȱu.a.ȱzumȱStopfenȱverwenden.ȱAuchȱsog.ȱO&MȬZellenȱ (OperationsȱandȱManagement)ȱsindȱfürȱdasȱNetzwerkmanagementȱvorgeseȬ hen.ȱ – DasȱFeldȱPrioȱ(1ȱBit)ȱgibtȱan,ȱobȱdieȱZelleȱbeiȱeinerȱÜberlastsituationȱweggeȬ worfenȱwerdenȱkannȱoderȱnicht.ȱDerȱWertȱB’0’ȱentsprichtȱderȱhöherenȱPrioriȬ tät.ȱZellenȱmitȱdiesemȱWertȱwerdenȱbeiȱeinerȱÜberlastsituationȱzunächstȱverȬ schont.ȱ – DasȱFeldȱCRCȱ(auchȱHECȱ=ȱHeaderȱErrorȱControlȱgenannt)ȱenthältȱeineȱPrüfȬ summeȱzurȱSynchronisationȱundȱFehlererkennung,ȱdieȱvonȱderȱSendestationȱ vorȱ demȱ Absendenȱ derȱ Zelleȱ ermitteltȱ wird.ȱ Dieȱ Prüfungȱ umfasstȱ denȱ ZelȬ lenkopf,ȱ genauerȱ gesagtȱ dieȱ erstenȱ vierȱ Byteȱ davon.ȱ Einzelbitfehlerȱ könnenȱ auchȱkorrigiertȱwerden,ȱZellenȱmitȱmehrerenȱFehlernȱwerdenȱverworfen.ȱFürȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DieȱHeaderȱsindȱinȱderȱITUȬTȬEmpfehlungȱI.361ȱbeschrieben.ȱ
23
ȱȱ ATMȱkannȱauchȱimȱLANȱeingesetztȱwerden,ȱistȱdortȱaberȱseltenȱvorzufinden.ȱDasȱFeldȱ FlusskontrolleȱdientȱhierȱderȱRegelungȱvonȱZugriffsȬȱundȱÜbertragungsrechten,ȱsollȱaberȱ nichtȱweiterȱbetrachtetȱwerden.ȱ
24
80ȱ
3.3ȱȱZugangȱzuȱöffentlichenȱNetzenȱ(WANȬTechnologien)ȱ dieȱ Nutzdatenȱ istȱ keineȱ Fehlererkennungȱ vorgesehen.ȱ Dasȱ Feldȱ dientȱ auchȱ derȱ Synchronisationȱ desȱ Empfängersȱ aufȱ denȱ Zellenanfang.ȱ Dieȱ Ermittlungȱ derȱ Zellgrenzenȱ wirdȱ überȱ diesesȱ Feldȱ erreicht,ȱ indemȱ derȱ Empfängerȱ soȱ langeȱfünfȱByteȱausȱdemȱBitstromȱentnimmt,ȱbisȱerȱeineȱgültigeȱPrüfsummeȱ findet.ȱErȱverschiebtȱdenȱAusschnittȱausȱdemȱBitstromȱsoȱlange,ȱbisȱerȱeinenȱ gültigenȱ Zellkopfȱ findet.ȱ Überȱ dieseȱ Technikȱ vermeidetȱ manȱ dieȱ Nutzungȱ festgelegterȱBitmusterȱfürȱdieȱFestlegungȱderȱZellgrenzen.ȱȱ Mehrereȱvirtuelle,ȱunidirektionaleȱVerbindungen,ȱsog.ȱDatenkanäleȱ(VirtualȱChanȬ nels)ȱ werdenȱ zumȱ Transportȱ verwendetȱ undȱ vonȱ denȱ ATMȬKnotenȱ (Switches)ȱ zuȱ virtuellenȱPfadenȱzusammengefasst.ȱDerȱVPIȱidentifiziertȱdenȱPfadȱzwischenȱallenȱ beteiligtenȱSwitches.ȱDerȱVCIȱkannȱfürȱjedeȱEinzelverbindungȱzwischenȱdenȱSwitȬ chesȱ andersȱ sein.ȱ Damitȱ istȱ esȱ nichtȱ notwendig,ȱ dassȱ eineȱ VCIȱ inȱ allenȱ EinzelverȬ bindungenȱgeschaltetȱwerdenȱmuss.ȱJederȱSwitchȱentlangȱdesȱPfadsȱvergibtȱjeweilsȱ eineȱeigeneȱVCI,ȱdieȱdemȱPfadȱzugeordnetȱwird.ȱDieȱInformationȱwirdȱinȱdenȱSwitȬ chesȱinȱ„RoutingȬTabellen“ȱgehalten.ȱȱ 4 Bit
4 Bit
Flusskontrolle
VPI (Teil 1)
VPI (Teil 2)
VCI (Teil 1)
VCI (Teil 2)
VCI (Teil 3)
VCI (Teil 4)
Payloadtyp
Prio
CRC (HEC) ... 48 Byte Payload (Nutzdaten) ...
a) Zellenheader für Network-Network-Interface (NNI) 4 Bit
4 Bit
VPI (Teil 1)
VPI (Teil 2)
VPI (Teil 3)
VCI (Teil 1)
VCI (Teil 2) VCI (Teil 4)
VCI (Teil 3) Payloadtyp
Prio
CRC (HEC) ... 48 Byte Payload (Nutzdaten) ...
a) Zellenheader für User-Network-Interface (UNI)
ȱ
Abbildungȱ3Ȭ31:ȱATMȬZellenheaderȱ
ATMȬSchichtenmodell.ȱ ATMȱ istȱ inȱ einemȱ eigenenȱ (rechtȱ komplexenȱ undȱ vomȱ ISO/OSIȬModellȱ abweichendenȱ Referenzmodellȱ beschrieben,ȱ dasȱ inȱ Abbildungȱ 3Ȭ32ȱskizziertȱist.ȱDasȱATMȬReferenzmodellȱsiehtȱfolgendeȱSchichtenȱvor:ȱ – ÜblicherweiseȱwerdenȱSDH/SONETȬRahmenȱzurȱDatenübertragungȱaufȱderȱ physischenȱEbeneȱ(Schichtȱ1)ȱverwendet.ȱ – Dieȱ inȱ derȱ Regelȱ aufȱ physischeȱ SDH/SONETȬVerbindungenȱ aufsetzendeȱ ATMȬSchichtȱistȱfürȱdenȱZellenaustauschȱzuständig.ȱȱ
81ȱ
3ȱȱAusgewählteȱTechnologienȱundȱProtokolleȱuntererȱSchichtenȱ – OberhalbȱderȱATMȬSchichtȱliegtȱdieȱAALȬSchichtȱ(ATMȱAdaptationȱLayer),ȱ welcheȱ dieȱ Aufgabeȱ hat,ȱ bestimmteȱ Dienstklassenȱ zuȱ behandeln.ȱ Vonȱ denȱ entwickeltenȱAALȬProtokollenȱAAL1,ȱAAL2,ȱAAL3/4 25ȱundȱAAL5ȱsindȱheuȬ teȱvorȱallemȱAAL1ȱundȱAAL5ȱrelevant.ȱDieȱSchichtȱistȱzweigeteilt.ȱDieȱSARȬ Schichtȱ (Segmentationȱ andȱ Reassembly)ȱ erzeugtȱ Nutzdatensegmente,ȱ dieȱ CSȬSchichtȱ (Convergenceȱ Sublayer)ȱ dientȱ derȱ Anpassungȱ anȱ dieȱ höherenȱ Schichten.ȱ CSȱ gibtȱ esȱ jeȱ nachȱ Dienstklasseȱinȱ unterschiedlichenȱ AusprägunȬ genȱ(VBR,ȱUBR,ȱCBR,ȱABR).ȱ – ULPȱistȱdasȱdarüberliegendeȱBenutzerprotokollȱ(UpperȱLayerȱProtocol).ȱ AufȱdieȱeinzelnenȱPDUsȱsollȱanȱdieserȱStelleȱnichtȱweiterȱeingegangenȱwerden.ȱSieȱ werdenȱ inȱ denȱ ATMȬZellenȱ übertragenȱ undȱ benötigenȱ natürlichȱ eigeneȱ SteuerinȬ formationen.ȱ Jeȱ nachȱ AALȬProtokollvarianteȱ werdenȱ imȱ ATMȬReferenzmodellȱ diverseȱ DienstȬ klassen,ȱ unterstützt,ȱ dieȱ verschiedeneȱ Qualitätskriterienȱ erfüllen,ȱ wobeiȱ alsȱ KriteȬ rienȱ derȱ Zeitbezugȱ zwischenȱ Senderȱ undȱ Empfänger,ȱ dieȱ Bitratenanforderungȱ (konstantȱ oderȱ variabel)ȱ undȱ dieȱ Verbindungsartȱ (verbindungsorientiert,ȱ verbinȬ dungslos)ȱ herangezogenȱ werden.ȱ Dieȱ Zusammensetzungȱ desȱ Zellenstromsȱ ausȱ NutzȬȱ undȱ Leerzellenȱ wirdȱ alsȱ Verkehrsprofilȱ bezeichnet.ȱ Diesesȱ kannȱ durchȱ verȬ schiedeneȱ Parameterȱ beeinflusstȱ werden:ȱ Normaleȱ Bitrate,ȱSpitzenbitrate,ȱ ZellverȬ teilung,ȱ Verzögerung,ȱ maximaleȱ erlaubteȱ Zellverlustrateȱ usw.ȱ Dasȱ Verkehrsprofilȱ wirdȱ beiȱ derȱ Verbindungsaufnahmeȱ zwischenȱ demȱ Endgerätȱ undȱ demȱ nächstenȱ ATMȬKnotenȱausgehandelt.ȱȱ ATM-Instanz 1 ULP
ATM-Instanz 2
ULP
ULP-PDUs
ULP
ULP
ULP
... VBR SAR
UBR v SAR
CBR SAR
AAL-PDUs AAL
ATM-Zellen
ATM
SDH-Rahmen
SDH/SONET SAR = Segmentation and Reassembly CBR = Constant Bit Rate ULP = Upper Layer Protocol
ULP ...
VBR
UBRv
CBR
SAR
AAL
AAL
ATM SDH/SONET
UBR = Unspecified Bit Rate VBR = Variable Bit Rate
ȱ Abbildungȱ3Ȭ32:ȱATMȬSchichtenmodellȱ
ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ AAL3ȱ undȱ AAL4ȱ wurdenȱ zusammengefasst.ȱ Eineȱ Beschreibungȱ derȱ einzelnenȱ AALȬ Protokolleȱistȱ(Tanenbaumȱ2003a)ȱzuȱentnehmenȱ
25
82ȱ
3.4ȱȱÜbungsaufgabenȱ Manȱ sprichtȱ beiȱ denȱ verfügbarenȱ undȱ auszuhandelndenȱ ATMȬVerkehrsprofilenȱ auchȱu.a.ȱvon:ȱ – CBRȱ (Constantȱ Bitrate),ȱ typischȱ fürȱ Telefonie,ȱ Fax,ȱ VideoȬonȬDemand,ȱ usw.ȱ HierȱgiltȱdasȱVerhältnis:ȱSpitzenbitrateȱ:ȱmittlereȱBitrateȱ=ȱ1.ȱ – ABRȱ (ȱ (Availableȱ Bitrate),ȱ typischȱ fürȱ burstartigenȱ Datenverkehr.ȱ Hierȱ gilt:ȱ Spitzenbitrateȱ:ȱmittlereȱBitrateȱentschiedenȱgrößerȱalsȱ1.ȱ – VBRȱ (ȱ (Variableȱ Bitrate),ȱ typischȱ fürȱ MultimediaȬÜbertragungen.ȱ Hierȱ gilt:ȱ Spitzenbitrateȱ:ȱmittlereȱBitrateȱgrößerȱoderȱgleichȱ1.ȱȱ – UBRȱ(UnspecifiedȱBitrate),ȱBestȬEffortȬVergabeȱderȱBitrateȱohneȱGarantie.ȱ AbschließendeȱBemerkung.ȱDieȱzentralenȱKonzepteȱvonȱATMȱgeltenȱunabhängigȱ vonȱ speziellenȱ Netzenȱ undȱ könnenȱ daherȱ aufȱ verschiedeneȱ Basisnetzwerkeȱ abgeȬ bildetȱwerden.ȱATMȱarbeitetȱz.B.ȱmitȱeinerȱDatenrateȱvonȱ155,52ȱMbit/s,ȱundȱmanȱ kannȱ zurȱ Übertragungȱ vonȱ ATMȬZellenȱ einenȱ STMȬ1ȬRahmenȱ ausȱ einemȱ SDHȬ Netzȱverwenden.ȱ Dieȱ Netzinfrastrukturȱ imȱ Weitverkehrsbereichȱ fürȱ öffentlicheȱ Breitbandnetzeȱ baȬ siertȱ heuteȱ nochȱ aufȱ denȱ Schlüsseltechnologienȱ SDHȱ undȱ ATM.ȱ Alsȱ ÜbertraȬ gungsmediumȱ dienenȱ Lichtwellenleiterȱ (Glasfaser).ȱ SDHȱ stelltȱ dieȱ erforderlicheȱ Übertragungskapazitätȱ bereit.ȱ Basisȱ derȱ TransportȬInfrastrukturȱ sindȱ SDHȱ undȱ ATM.ȱ Esȱseiȱnochȱerwähnt,ȱdassȱdieȱATMȱtrotzȱderȱgutenȱtechnischenȱVoraussetzungen,ȱ heuteȱ vorȱ allemȱ wegenȱ derȱ hohenȱ Kostenȱ dieserȱ Technologieȱ nichtȱ genutztȱ wird.ȱ TatsächlichȱscheintȱsichȱwohlȱATMȱinȱletzterȱZeitȱaufgrundȱderȱpositivenȱEntwickȬ lungȱ andererȱ Technologienȱ wieȱ etwaȱ derȱ EthernetȬTechnologieȱ nichtȱ mehrȱ weiterȱ zuȱverbreiten.ȱDieȱDeutscheȱTelekomȱhatȱz.B.ȱangekündigt,ȱinȱZukunftȱnichtȱmehrȱ ATMȱalsȱBasisȱfürȱihreȱxDSLȬInfrastrukturȱeinzusetzen,ȱsondernȱEthernet.ȱ
3.4 Übungsaufgaben 1. 2. 3. 4. 5. 6. 7.
WelcheȱHDLCȬBetriebsmodiȱkennenȱSie?ȱErläuternȱSieȱeinenȱdavon.ȱ Skizzierenȱ Sieȱ einenȱ Ablaufȱ einerȱ HDLCȬKommunikationȱ zwischenȱ zweiȱ StaȬ tionenȱimȱABMȬModeȱ WasȱbedeutetȱLANȬSwitchingȱ WozuȱdientȱdasȱProtokollȱPPP?ȱ Könnenȱ beiȱ Ethernet,ȱ speziellȱ beiȱ 100BaseȬTȱ Kollisionenȱ auftretenȱ undȱ wasȱ machtȱmanȱinȱheutigenȱEthernetȬNetzwerkenȱgegenȱKollisionen?ȱ WasȱistȱimȱWLANȱnachȱIEEEȱ802.11ȱeinȱInfrastrukturȬModus?ȱ WasȱbedeutetȱADSLȱimȱVergleichȱzuȱSDSL?ȱ
83ȱ
ȱ
4 Konzepte und Protokolle der Vermittlungsschicht Inȱ diesemȱ Kapitelȱ werdenȱ dieȱ Grundlagenȱ derȱ Vermittlungsschichtȱ erläutertȱ undȱ konkretȱanȱderȱTCP/IPȬProtokollfamilieȱbeispielhaftȱskizziert.ȱZunächstȱwerdenȱdieȱ allgemeinenȱ Aufgabenstellungenȱ derȱ Schichtȱ 3ȱ aufgezeigt.ȱ Hierzuȱ gehörenȱ dieȱ Vermittlung,ȱ dieȱ Wegewahlȱ undȱ dieȱ Staukontrolle.ȱ Verschiedeneȱ Verfahrenȱ zurȱ Lösungȱ dieserȱ Aufgabenstellungenȱ werdenȱ gezeigt.ȱ Anschließendȱ werdenȱ dieȱ wichtigstenȱProtokolleȱderȱSchichtȱ3ȱdesȱInternetsȱvorgestelltȱundȱauchȱderȱAufbauȱ undȱdieȱZusammenhängeȱdesȱInternetsȱbeschrieben.ȱAusführlichȱwirdȱaufȱdieȱAdȬ ressierungsproblemeȱ undȱaufȱ Ansätzeȱzurȱ Lösungȱdieserȱ Problemeȱ (VLSM,ȱNAT,ȱ CIDR)ȱ eingegangen.ȱ Nebenȱ demȱ Protokollȱ IPȱ werdenȱ SteuerȬȱ undȱ KommunikatiȬ onsprotokolleȱ wieȱ ICMP,ȱ ARP,ȱ NATȱ undȱ DHCPȱ beschrieben.ȱ Ebensoȱ wirdȱ aufȱ konkreteȱ RoutingȬProtokolleȱ wieȱ RIP,ȱ OSPFȱ undȱ BGPȱ eingegangen.ȱ Schließlichȱ wirdȱamȱEndeȱdesȱKapitelsȱnochȱeinȱEinblickȱinȱdieȱneuesteȱVersionȱdesȱInternetȬ ProtokollsȱIPv6ȱgegeben.ȱ Zielsetzung des Kapitels ZielȱdiesesȱKapitelsȱistȱes,ȱeinenȱÜberblickȱüberȱdieȱAufgabenȱundȱdieȱFunktionsȬ weiseȱderȱSchichtȱ3,ȱinsbesondereȱinnerhalbȱderȱTCP/IPȬProtokollfamilieȱzuȱgeben.ȱ Derȱ Studierendeȱ sollȱ sichȱ einȱ tiefergehendesȱ Verständnisȱ überȱ dieȱ Arbeitsweiseȱ undȱ dasȱ Zusammenspielȱ verschiedenerȱ Technikenȱ undȱ Protokolleȱ derȱ Schichtȱ 3ȱ verschaffen.ȱ Wichtige Begriffe Vermittlung,ȱLeitungsvermittlung,ȱWegewahl,ȱRouting,ȱadaptives,ȱstatisches,ȱzentȬ ralisiertesȱ Routing,ȱ Router,ȱ Subnetzwerk,ȱ Metrikenȱ fürȱ dieȱ Routingentscheidung,ȱ Optimierungsprinzip,ȱ Peering,ȱ Transit,ȱ Provider,ȱ Autonomesȱ System,ȱ Protokolleȱ wieȱ IP,ȱ ICMP,ȱ NAT,ȱ DHCP,ȱ ARP,ȱ RARP,ȱ LinkȬStateȬVerfahren,ȱ OSPF,ȱ DistanzȬ VectorȬVerfahren,ȱRoutingprotokolleȱwieȱRIP,ȱOSPF,ȱISȬISȱundȱBGP,ȱMPLS,ȱCIDRȱ undȱVLSM,ȱIPv6,ȱVPN.ȱ
4.1 Grundlagen Inȱ diesemȱ Abschnittȱ wollenȱ wirȱ einigeȱMechanismenȱ derȱVermittlungsschichtȱ deȬ taillierterȱbesprechen.ȱVorabȱsollȱeinȱkurzerȱÜberblickȱüberȱdieȱVermittlungsschicht,ȱ derenȱAufgabenȱundȱPositionierungȱimȱProtokollstackȱgegebenȱwerden:ȱ – Dieȱ Vermittlungsschichtȱ istȱ dieȱ untersteȱ Schicht,ȱ dieȱ sichȱ mitȱ EndeȬzuȬEndeȬ ÜbertragungȱinȱeinemȱNetzwerkȱbefasst.ȱȱ
85ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Dieȱ Schnittstelleȱ zurȱ Vermittlungsschichtȱ istȱ fürȱ WANȬZugängeȱ auchȱ meistȱ dieȱNetzbetreiberschnittstelle.ȱȱ – DieȱEndsystemeȱkommunizierenȱüberȱeinenȱoderȱmehrereȱNetzknotenrechȬ nerȱ undȱ überȱ einenȱ oderȱ mehrereȱ Übertragungswegeȱ (Teilstrecken)ȱ miteiȬ nander.ȱ – Zuȱ denȱ Aufgabenȱ derȱ Vermittlungsschichtȱ gehörenȱ imȱ Wesentlichenȱ dieȱ Wegewahlȱ (auchȱ Routingȱ genannt),ȱ Multiplexenȱ undȱ Demultiplexen,ȱ dieȱ Staukontrolleȱ(CongestionȱControl)ȱsowieȱdieȱSegmentierungȱundȱdieȱReasȬ semblierungȱ(auchȱalsȱFragmentierungȱundȱDefragmentierungȱbezeichnet).ȱ WirȱwerdenȱunsȱimȱWeiterenȱzunächstȱallgemeinȱmitȱVermittlungsverfahren,ȱWeȬ gewahlȬMechanismenȱundȱderȱStaukontrolleȱbefassen,ȱbevorȱwirȱimȱnächstenȱTeilȱ dasȱInternetȱmitȱseinenȱspeziellenȱSchichtȬ3ȬProtokollenȱbetrachten.ȱȱ Besondererȱ Wertȱ wirdȱ alsoȱ aufȱ dieȱ Mechanismenȱ derȱ Vermittlungsschichtȱ desȱ Internetsȱ mitȱ ihrenȱ wesentlichenȱ Protokollenȱ gelegt.ȱ Weitereȱ Protokolle,ȱ dieȱ derȱ Vermittlungsschichtȱ zugeordnetȱ werdenȱ (wieȱ z.B.ȱ IPX),ȱ könnenȱ inȱ derȱ angegebeȬ nenȱLiteraturȱnachgelesenȱwerden.ȱ
4.1.1
Vermittlungsverfahren
InȱderȱVermittlungsschichtȱhabenȱwirȱesȱvorȱallemȱimȱWANȱüblicherweiseȱmitȱsog.ȱ Teilstreckennetzenȱ zuȱ tun.ȱ Diesȱ sindȱ imȱ Wesentlichenȱ Netzknoten,ȱ dieȱ überȱ LeiȬ tungenȱmiteinanderȱverbundenȱsind.ȱAnȱdieseȱwerdenȱdieȱDEEsȱ(DatenendeinrichȬ tung),ȱalsoȱdieȱeinzelnenȱEndsystemeȱangeschlossen.ȱ Teilstrecke Netzknoten
DEE 6
A
E
C
DEE 2
Schicht-3Verbindung
DEE 1
B
F
D
DEE 5
DEE 3
DEE 4
DEE: Datenendeinrichtung A, B,...,F: Knotenrechner, Netzknoten
ȱ Abbildungȱ4Ȭ1:ȱBeispielnetzwerkȱ
86ȱ
4.1ȱȱGrundlagenȱ DenȱGesamtvorgangȱderȱVerbindungsherstellung,ȱdesȱHaltensȱundȱdesȱAbbauensȱ einerȱ Verbindungȱ bezeichnetȱ manȱ alsȱ Vermittlungȱ (engl.ȱ Switching).ȱ Imȱ demȱ BeiȬ spielnetzȱausȱAbbildungȱ4Ȭ1ȱwirdȱeineȱVerbindungȱzwischenȱDEE1ȱundȱDEE2ȱüberȱ dieȱKnotenȱB,ȱCȱundȱEȱhergestellt.ȱ Wirȱ greifenȱimȱ Folgendenȱ dieȱ verschiedenenȱVermittlungsverfahrenȱaufȱundȱstelȬ lenȱSieȱgegenüber.ȱInȱAbbildungȱ4Ȭ2ȱwirdȱzunächstȱinȱLeitungsȬȱundȱPaketvermittȬ lungȱ (Paketvermittlungȱ wirdȱ gelegentlichȱ auchȱ alsȱ Nachrichtenvermittlungȱ beȬ zeichnet)ȱunterschieden.ȱȱ Vermittlungsverfahren Verbindung mit unbest. Übertragungszeit
Verbindung mit garantierter Bandbreite
Aufteilen der Nachrichten in Datenpakete
Leitungsvermittlung • Fernsprechnetz • ISDN (S-ISDN) • Nebenstellenanlagen
Paketvermittlung
Verbindung ohne Aufund Abbauphase
verbindungslos (datagram)
• LAN
Diffusionsvermittlung
Verbindung mit Auf- und Abbauphase
verbindungsorientiert (virtual circuit) Weiträumige, öffentl. Datennetze (Datex-P) ATM
ȱ Abbildungȱ4Ȭ2:ȱVermittlungsverfahrenȱ
Leitungsvermittlung.ȱ Inȱ leitungsvermitteltenȱ Netzwerkenȱ werdenȱ alleȱ aufȱ demȱ Netzwerkpfadȱ benötigtenȱ Ressourcenȱ wieȱ Bandbreiteȱ undȱ Pufferspeicherȱ inȱ denȱ NetzwerkknotenȱfürȱdieȱDauerȱderȱVerbindungȱvorabȱreserviert.ȱ BeispielnetzeȱfürȱdieȱklassischeȱLeitungsvermittlungȱsindȱdasȱanalogeȱFernsprechȬ netzȱundȱdasȱdigitaleȱISDN.ȱBeiȱdiesemȱSwitchingȬVerfahren,ȱauchȱcircuitȱswitchingȱ oderȱDurchschaltevermittlungȱgenannt,ȱwirdȱüberȱdieȱgesamteȱVerbindungȱeinȱphyȬ sikalischerȱ Verbindungswegȱ durchȱ dasȱ Netzwerkȱ geschaltet.ȱ Esȱ wirdȱ eineȱ festeȱ Bandbreiteȱgarantiertȱundȱzwarȱunabhängigȱvonȱdem,ȱwasȱtatsächlichȱübertragenȱ wird.ȱȱ BeiȱderȱLeitungsvermittlungȱistȱesȱwahrscheinlich,ȱdassȱBandbreiteȱunnötigȱreserȬ viertȱwird,ȱwennȱz.B.ȱdasȱNachrichtenaufkommenȱnichtȱimmerȱkonstantȱist.ȱAuchȱ mitȱBlockierungen,ȱalsoȱderȱAblehnungȱeinesȱVerbindungswunschesȱistȱzuȱrechnen,ȱ wennȱkeinȱVerbindungswegȱmehrȱfreiȱist.ȱȱ DieȱteuerenȱLeitungenȱzwischenȱdenȱNetzknotenȱwerdenȱinȱheutigenȱNetzwerkenȱ mitȱ Hilfeȱ vonȱ Multiplexverfahrenȱ inȱ mehrereȱ „Sprechkreise“ȱ aufgeteilt.ȱ Dieȱ verȬ wendetenȱVerfahrenȱsindȱFrequenzmultiplexenȱ(FDM)ȱundȱZeitmultiplexenȱ(TDM),ȱ
87ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ wobeiȱ sichȱ heuteȱ dasȱ Zeitmultiplexverfahrenȱ durchsetzt,ȱ beiȱ demȱ jederȱ EndeȬzuȬ EndeȬVerbindungȱzwischenȱzweiȱKnotenrechnernȱeinȱZeitschlitzȱzugeordnetȱwird,ȱ überȱdenȱeineȱbestimmteȱBitrateȱmöglichȱist.ȱ Paketvermittlung.ȱ Beiȱ derȱ Paketvermittlungȱ werdenȱ immerȱ kompletteȱ NachrichȬ tenȱinȱeinzelnenȱDatenpaketenȱzwischenȱdenȱNetzwerkknotenȱausgetauscht.ȱNachȬ richtenȱ werdenȱ erstȱ weitergesendet,ȱ wennȱ sieȱ vollständigȱ sind.ȱ Manȱ sprichtȱ hierȱ auchȱ vonȱ StoreȬandȬForwardȬVerfahren.ȱ Datagrammeȱ werdenȱ überȱ eineȱ vorherȱ aufgebauteȱsog.ȱvirtuelleȱVerbindungȱübermittelt.ȱȱ Beiȱ derȱ Paketvermittlungȱ werdenȱ dieȱ Ressourcenȱ nichtȱ vorabȱ reserviert,ȱ sondernȱ zurȱLaufzeitȱdynamischȱzugewiesen.ȱDieȱFolgeȱkannȱsein,ȱdassȱzweiȱKommunikaȬ tionspartnerȱaufȱeineȱVerbindungȱetwaȱinȱeinerȱWarteschlangeȱwartenȱmüssen,ȱbisȱ dieȱerforderlichenȱRessourcenȱverfügbarȱsind.ȱ DasȱNetzȱüberträgtȱdieȱNachrichtenȱimmerȱmitȱderȱZieladresseȱevtl.ȱüberȱmehrereȱ KnotenȱmitȱZwischenspeicherungȱundȱzerlegtȱsieȱggf.ȱinȱeinzelneȱPaketeȱ(NȬPDUs).ȱ DieȱPaketvermittlungȱistȱfürȱdieȱDatenübertragungȱeffizienterȱalsȱdieȱLeitungsverȬ mittlung,ȱ jedochȱ wirdȱ keineȱ Bandbreiteȱ garantiert.ȱ Daherȱ gibtȱ esȱ aberȱ auchȱ kaumȱ Blockierungen.ȱ Typischeȱ Beispieleȱ fürȱ Paketvermittlungsnetzeȱ sindȱ dasȱ Internetȱ undȱdasȱBreitbandȬISDNȱaufȱBasisȱvonȱATMȱ(sehrȱkurzeȱPakete,ȱZellen).ȱInȱheutiȬ genȱ Netzwerkenȱ wirdȱ dieȱ Leitungsvermittlungȱ immerȱ mehrȱ durchȱ dieȱ PaketverȬ mittlungȱersetzt.ȱ Output
Input Lines 4
1
5
2
3
Input-Buffer
3 5
Routing
4
Switch
2
Router
Buffers
1
Output Lines
ȱ Abbildungȱ4Ȭ3:ȱPrinzipȱderȱPaketvermittlungȱimȱKnotenȱnachȱ(Gerdsenȱ1994a)ȱ
Inȱ Abbildungȱ 4Ȭ3ȱ istȱ dargestellt,ȱ wieȱ einȱ Knotenrechnerȱ (Router)ȱ inȱ einemȱ paketȬ vermitteltenȱ Netzȱ grundsätzlichȱarbeitet.ȱ Überȱ eineȱ oderȱ mehrereȱ EingangsleitunȬ genȱ werdenȱ ankommendeȱ Paketeȱ entgegengenommenȱ undȱ überȱ eineȱ SwitchingȬȱ undȱRoutingȬLogikȱanȱdieȱpassendeȱAusgangsleitungȱweitergegeben.ȱ BeiȱderȱPaketvermittlungȱunterscheidetȱmanȱdieȱverbindungsloseȱundȱdieȱverbinȬ dungsorientierteȱ Variante.ȱ Beiȱ derȱ verbindungslosenȱ Paketvermittlungȱ werdenȱ Datagrammeȱ(NȬPDUs)ȱohneȱvorhergehendenȱVerbindungsaufbauȱgesendet.ȱJedesȱ DatagrammȱenthältȱdieȱQuellȬȱundȱdieȱZieladresse.ȱDieȱKnotenȱermittelnȱfürȱjedesȱ DatagrammȱeinenȱoptimalenȱWegȱ(Routing).ȱManȱbezeichnetȱdiesȱauchȱalsȱverbinȬ dungsloseȱVermittlung.ȱ Esȱ istȱ nurȱ einȱeinfacherȱ dataȬDienstȱ zumȱSendenȱ vonȱDaȬ tagrammenȱerforderlich.ȱ
88ȱ
4.1ȱȱGrundlagenȱ InȱAbbildungȱ4Ȭ4ȱ istȱdargestellt,ȱwieȱeineȱNachrichtȱderȱTȬInstanzȱ1ȱüberȱmehrereȱ Knotenȱ B,ȱ C,ȱ Eȱ zumȱ Zielȱ (TȬInstanzȱ 2)ȱ weitergeleitetȱ wird.ȱ Dieȱ Antwortȱ gehtȱ hierȱ überȱ denȱ gleichenȱ Wegȱ zurück,ȱ wasȱ aberȱ inȱ derȱ Schichtȱ 3ȱ jeȱ nachȱ Konfigurationȱ undȱNetzauslastungȱerfolgenȱkann.ȱ N-SAP
N-SAP T-Instanz 1 n-data.req (dest., N-SDU)
N-Instanz Knoten B DATA(...)
N-Instanz Knoten C
DATA(...)
N-Instanz Knoten E
DATA(...)
T-Instanz 2
DATA(...) n-data.ind (source, N-SDU)
n-data.ind (source, N-SDU)
DATA(...)
DATA(...)
DATA(...)
DATA(...)
n-data.res (dest., N-SDU)
t N-SAP: Network Service Access Point
ȱ
Abbildungȱ4Ȭ4:ȱNachrichtenflussȱüberȱmehrereȱNȬInstanzenȱnachȱ(Gerdsenȱ1994a)ȱ
Sonderfälleȱ derȱ Paketvermittlungȱ sindȱ Virtualȱ Circuitsȱ (VC).ȱ Sieȱ werdenȱ auchȱ „scheinbareȱVerbindungen“ȱgenannt.ȱDieȱVerbindungȱbleibtȱhierȱfürȱdieȱDauerȱderȱ Datenübertragungȱ erhalten.ȱ Beiȱ VCȱ kannȱ manȱ sagen,ȱ dassȱ keinȱ physikalischesȱ Durchschaltenȱ derȱ Verbindungȱ erfolgt,ȱ sondernȱ dieȱ beimȱ Verbindungsaufbauȱ erȬ mittelteȱ RoutingȬInformationȱ inȱ denȱ Knotenȱ verwendetȱ wird.ȱ Einȱ typischesȱ Netz,ȱ dasȱmitȱVirtualȱCircuitsȱarbeitet,ȱistȱdasȱinȱdieȱJahreȱgekommeneȱDatexȬPȬNetzwerkȱ derȱTelekom.ȱEinȱmoderneresȱBeispielnetzȱstelltȱATMȱdar.ȱ Manȱ nenntȱ Virtualȱ Circuitsȱ auchȱ einenȱ verbindungsorientiertenȱ Dienstȱ aufȱ derȱ Vermittlungsschicht.ȱ Dieȱ Kommunikationȱ überȱ VCȱ wirdȱ mitȱ entsprechendenȱ Dienstenȱ inȱ dieȱ dreiȱ Phasenȱ Verbindungsaufbauȱ (connectȬDienst),ȱ DatenübertraȬ gungȱ(dataȬDienst)ȱundȱVerbindungsabbauȱ(disconnectȬDienst)ȱeingeteilt.ȱDieȱVerȬ bindungȱ zwischenȱ zweiȱ Endsystemenȱ wirdȱ schrittweiseȱ überȱ Teilstreckenȱ aufgeȬ baut.ȱDieȱKnotenȱmüssenȱinȱderȱVerbindungsaufbauphaseȱInformationenȱüberȱdasȱ Mappingȱ vonȱ eingehendenȱ Paketenȱ zuȱ Ausgangsteilstreckenȱ speichern,ȱ alsoȱ eineȱ gewisseȱKontextverwaltungȱ(StatusȱundȱVerbindungstabellen)ȱdurchführen.ȱ Schließlichȱ kannȱ alsȱ Spezialfallȱ derȱ paketorientierten,ȱ verbindungslosenȱ VermittȬ lungȱauchȱdasȱbekannteȱDiffussionsnetzȱangesehenȱwerden,ȱdasȱz.B.ȱimȱLANȱVerȬ wendungȱfindet.ȱ
89ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
4.1.2
Wegewahl (Routing)
Dieȱ Wegewahlȱ (Routing)ȱ istȱ eineȱ derȱ wesentlichenȱ Aufgabenȱ derȱ SchichtȬ3Ȭ Instanzenȱ inȱ denȱ Knotenȱ desȱ Vermittlungsnetzes.ȱ Sieȱ wirdȱ beiȱ paketorientiertenȱ Netzenȱnotwendig,ȱwennȱinȱeinemȱNetzwerkȱalternativeȱWegeȱzwischenȱdenȱEndȬ systemenȱvorhandenȱsind.ȱ Verschiedeneȱ RoutingȬKriterienȱ undȱ ȬAlgorithmenȱ sindȱ möglich.ȱ Hierzuȱ gehörenȱ dieȱSucheȱderȱgeringstenȱEntfernungȱoderȱdieȱmöglichstȱgeringeȱAnzahlȱvonȱHopsȱ (Anzahlȱ derȱ zuȱ durchlaufendenȱ Knoten).ȱ Dieȱ RoutingȬInformationȱ wirdȱ inȱ RouȬ tingȬTabellenȱinȱderȱRegelȱinȱdenȱKnotenȱverwaltet.ȱRoutingȬVerfahrenȱlassenȱsichȱ nachȱ verschiedenenȱ Klassifizierungenȱ einteilen:ȱ Manȱ unterscheidetȱ z.B.ȱ globaleȱ oderȱdezentraleȱVerfahren,ȱaberȱauchȱstatischeȱoderȱdynamischeȱVerfahren.ȱ ȱ Routing-Verfahren
Nicht adaptive Verfahren (statisch)
Flooding
Adaptive Verfahren (dynamisch)
Lokale Verfahren (isolated)
Zentralisierte Verfahren
Verteilte Verfahren
Hot Potato
Link-State Verfahren
Distanz-Vector Verfahren
ȱ Abbildungȱ4Ȭ5:ȱKlassifizierungȱderȱRoutingȬVerfahrenȱ
Dasȱ einfachsteȱVerfahrenȱistȱ Flooding.ȱHierȱ wirdȱ jedesȱankommendeȱPaketȱanȱalleȱ oderȱ eineȱ begrenzteȱ Auswahlȱ (selektivesȱFlooding)ȱ anȱ Ausgangsleitungenȱ weitergeȬ reicht.ȱFloodingȱistȱenormȱrobust,ȱundȱesȱwähltȱimmerȱdenȱoptimalenȱWeg,ȱdaȱesȱjaȱ alleȱauswählt.ȱLeiderȱistȱdasȱVerfahrenȱaberȱnichtȱsehrȱleistungsfähig.ȱ ManȱunterscheidetȱweiterhinȱfolgendeȱVerfahren:ȱ – StatischeȱAlgorithmen:ȱHierȱgibtȱesȱkeineȱMessungenȱderȱaktuellenȱSituation,ȱ sondernȱvorȱderȱInbetriebnahmeȱermittelteȱMetriken.ȱEineȱstatischeȱRoutingȬ Tabelle,ȱdieȱbeiȱderȱKnotenkonfigurierungȱeingerichtetȱwird,ȱenthältȱdieȱfestȱ vorgegebenenȱRouten,ȱdieȱeinȱPaketȱnehmenȱkann.ȱȱ – Dynamischeȱ (adaptive)ȱ Algorithmen:ȱ Dieseȱ Verfahrenȱ nutzenȱ VerkehrsmesȬ sungenȱ zurȱ Routenermittlung.ȱ Dieȱ RoutingȬTabellenȱ werdenȱ dynamischȱ überȱdefinierteȱMetrikenȱangepasst.ȱDieȱOptimierungskriterienȱkönnenȱsichȱ dynamischȱverändernȱundȱwerdenȱimȱAlgorithmusȱberücksichtigt.ȱ
90ȱ
4.1ȱȱGrundlagenȱ Statischeȱ RoutingȬAlgorithmenȱ sindȱ dasȱ ShortestȬPathȬRouting,ȱ Floodingȱ undȱ flussbasiertesȱ Routing.ȱ Beimȱ dynamischenȱ Routingȱ unterscheidetȱ man,ȱ wieȱ inȱAbbildungȱ4Ȭ5ȱzuȱsehenȱist,ȱwiederumȱfolgendeȱMöglichkeiten:ȱ – IsoliertesȱRouting:ȱHierȱtrifftȱjederȱKnotenȱdieȱȱRoutingȬEntscheidungenȱalleiȬ ne.ȱInȱdieseȱKategorieȱfälltȱauchȱdasȱsog.ȱHotȬPotatoȬVerfahren,ȱbeiȱdemȱjeȬ desȱankommendeȱDatagrammȱgrundsätzlichȱsoȱschnellȱwieȱmöglichȱanȱalleȱ nichtȱüberlastetenȱAusgängeȱweiterȱgeleitetȱwird.ȱ – ZentralesȱRoutingȱ überȱ einenȱ zentralenȱ Knotenȱ (RoutingȬKontrollȬZentrum):ȱ Dieȱ Zentraleȱ ermitteltȱ dieȱ RoutingȬInformationȱ undȱ überträgtȱ alleȱ RoutingȬ TabellenȱanȱdieȱeinzelnenȱKnoten.ȱ – DezentralesȱRoutingȱ(verteilteȱVerfahren):ȱDieȱRoutingȬFunktionalitätȱliegtȱinȱ jedemȱ einzelnenȱ Knoten.ȱ Dieȱ RoutingȬTabellenȱ werdenȱ imȱ Zusammenspielȱ ermittelt.ȱ Eineȱ andereȱ Klassifizierungȱ unterteiltȱ inȱ zustandsabhängigeȱ undȱ zustandsunabȬ hängigeȱRoutingȬVerfahren.ȱBeiȱzustandsunabhängigenȱVerfahrenȱwirdȱderȱaktuelȬ leȱZustandȱdesȱNetzesȱnichtȱberücksichtigt.ȱDieȱaktuelleȱBelastungȱderȱRouterȱoderȱ dieȱ Bandbreitenauslastungȱ spieltȱ alsoȱ keineȱ Rolle.ȱ Dieȱ Wegewahlȱ berücksichtigtȱ nurȱ dieȱ Entfernungȱ zumȱ Ziel.ȱ Zustandsabhängigeȱ Verfahrenȱ berücksichtigenȱ daȬ gegenȱdieȱaktuelleȱSituation.ȱ ZentralesȱRouting.ȱBeimȱzentralenȱRoutingȱgibtȱesȱeinȱsog.ȱRoutingȬControlȬCenterȱ (RCC),ȱinȱdemȱdieȱgesamteȱRoutingȬInformationȱgesammeltȱwirdȱ(sieheȱAbbildungȱ 4Ȭ6).ȱ Dasȱ Verfahrenȱ istȱ nichtȱ fehlertolerant,ȱ aberȱ konsistent,ȱ jedochȱ bestehtȱ beimȱ zentralenȱRoutingȱdieȱGefahr,ȱdassȱRoutingȬInformationȱanȱAktualitätȱverliert.ȱȱ RCC
Router senden Veränderungen periodisch
Router
E A
B
Routing-Info wird wieder verteilt
D
F
ȱ Abbildungȱ4Ȭ6:ȱZentralesȱRoutingȱüberȱeinȱRCCȱ
Verteiltesȱ Routing.ȱ Beimȱ verteiltenȱ Routingȱ unterscheidetȱ manȱ imȱ Wesentlichenȱ zweiȱverschiedeneȱVerfahren.ȱZumȱeinenȱistȱdasȱDistanceȬVectorȬRoutingȱoderȱEntȬ fernungsvektorenverfahrenȱ einȱ sehrȱ bekanntesȱ undȱ ursprünglichȱ imȱ ARPANETȱ undȱauchȱnachherȱimȱInternetȱeingesetztesȱVerfahren.ȱZumȱanderenȱistȱdasȱheuteȱ ebenfallsȱ imȱ Internetȱ eingesetzteȱ Verfahrenȱ namensȱ LinkȬStateȬRoutingȱ oderȱ VerȬ
91ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ bindungszustandsverfahrenȱsehrȱbekannt.ȱEsȱwirdȱseitȱdemȱEndeȱderȱ70erȱJahreȱimȱ ARPANETȱbzw.ȱimȱInternetȱeingesetzt.ȱȱ Hierarchischesȱ Routing.ȱ Schließlichȱ istȱ auchȱ nochȱ dasȱ hierarchischeȱ RoutingȬ Verfahrenȱ zuȱ nennen.ȱ Großeȱ Netzeȱ habenȱ (zu)ȱ großeȱ RoutingȬTabellen,ȱ dieȱ mitȱ langenȱSuchzeitenȱinȱdenȱRoutingȬTabellenȱeinhergehen,ȱzurȱFolge.ȱDieȱVerringeȬ rungȱ derȱ RoutingȬTabellenȱ kannȱ durchȱ eineȱ hierarchischeȱ Organisationȱ erreichtȱ werden.ȱAlsȱHierarchiestufenȱsindȱz.B.ȱRegionenȱgeeignet.ȱInȱAbbildungȱ4Ȭ7ȱistȱeinȱ Beispielȱ fürȱ einȱ nachȱ Regionenȱ aufgeteiltesȱ Netzwerkȱ dargestellt,ȱ wobeiȱ nurȱ dieȱ Netzwerkknotenȱgezeigtȱwerden.ȱ Region 2
Region 1 2A
1B
2B
2C 1C
2D
1A
Region 5
Region 4 Region 3 3B
4A
3A
4B
5C
5B 4C
5D
5A 5E
ȱ
Abbildungȱ4Ȭ7:ȱHierarchischȱorganisiertesȱRoutingȱ
Würdeȱ inȱ diesemȱ Beispielȱ jederȱ Knotenȱ jedenȱ anderenȱ erreichenȱ müssen,ȱ kämeȱ manȱz.B.ȱfürȱdenȱKnotenȱ1AȱinȱRegionȱ1ȱgemäßȱderȱRoutingȬTabelleȱausȱAbbildungȱ 4Ȭ8ȱaufȱ17ȱTabelleneinträge.ȱȱ Routing-Tabelle für 1A (vorher) Ziel
Leitung
1A 1B 1C 2A 2B 2C 2D 3A 3B 4A 4B 4C 5A 5B 5C 5D 5E
-1B 1C 1B 1B 1B 1B 1C 1C 1C 1C 1C 1C 1C 1B 1C 1C
Teilstr. -1 1 2 3 3 4 3 2 3 4 4 4 5 5 6 5
Routing-Tabelle für 1A (nachher) Ziel
Leitung
Teilstr.
1A 1B 1C 2 3 4 5
-1B 1C 1B 1C 1C 1C
-1 1 2 2 3 4
Reduktion von 17 auf 7 Einträge! Nachteil: Ansteigende Pfadlängen
ȱ Abbildungȱ4Ȭ8:ȱRoutingȬTabelleȱfürȱhierarchischesȱRouting,ȱBeispielȱnachȱ(Tanenbaumȱ 2003a)ȱ
92ȱ
4.1ȱȱGrundlagenȱ BeiȱhierarchischemȱRoutingȱmitȱspeziellenȱKnotenȱinȱjederȱRegion,ȱdieȱnachȱaußenȱ hinȱbekanntȱsindȱundȱDatagrammeȱweiterleiten,ȱkommtȱmanȱnurȱnochȱaufȱsiebenȱ EinträgeȱinȱderȱRoutingȬTabelleȱvonȱKnotenȱ1A.ȱNachteiligȱamȱhierarchischenȱRouȬ tingȱsindȱdieȱmöglicherweiseȱansteigendenȱPfadlängen.ȱ Dieȱ ansteigendeȱ Pfadlängeȱ beimȱ hierarchischenȱ Routingȱ kannȱ amȱ Beispielȱ derȱ Pfadlängeȱzwischenȱ denȱ Knotenȱ 1Aȱ undȱ 5Cȱ gezeigtȱwerden.ȱ Ohneȱ hierarchischesȱ Routingȱ würdeȱ derȱ Knotenȱ 1A,ȱ wieȱ inȱ derȱ Routingtabelleȱ inȱ derȱ Abbildungȱ 4Ȭ8ȱ linksȱangegeben,ȱPaketeȱzumȱKnotenȱ5CȱüberȱdenȱKnotenȱ1Bȱversenden.ȱBetrachtetȱ manȱ dieȱ Abbildungȱ 4Ȭ7,ȱ ergibtȱ sichȱ somitȱ derȱ Pfadȱ 1AȬ1BȬ2AȬ2CȬ2DȬ5Cȱ mitȱ einerȱ Längeȱ vonȱ 5ȱ Teilstrecken.ȱ Dieȱ Routingtabelleȱ beimȱ hierarchischenȱ Routingȱ (Abbildungȱ4Ȭ8ȱrechts)ȱgibtȱfürȱZieleȱderȱRegionȱ5ȱdenȱKnotenȱ1CȱalsȱerstenȱKnotenȱ vor.ȱBetrachtetȱmanȱwiederȱdieȱAbbildungȱ4Ȭ7,ȱergibtȱsichȱderȱneueȱPfadȱ1AȬ1CȬ3BȬ 4AȬ5AȬ5BȬ5CȱmitȱeinerȱLängeȱvonȱ6ȱTeilstrecken.ȱDurchȱdasȱhierarchischeȱRoutingȱ istȱdieȱPfadlängeȱfürȱdieȱVerbindungȱzwischenȱdenȱKnotenȱ1Aȱundȱ5Cȱsomitȱvonȱ5ȱ aufȱ6ȱTeilstreckenȱangestiegen.ȱ Router
A
E
C
D
B
F ȱ
Abbildungȱ4Ȭ9:ȱOptimierungsprinzipȱbeimȱRoutingȱ
Optimierungsprinzip.ȱFürȱdasȱRoutingȱgiltȱeinȱOptimierungsprinzip,ȱdasȱfolgendesȱ besagt:ȱWennȱRouterȱCȱaufȱdemȱoptimalenȱPfadȱzwischenȱAȱundȱFȱliegt,ȱdannȱfälltȱ derȱPfadȱvonȱCȱnachȱFȱebensoȱaufȱdieseȱRouteȱ(sieheȱAbbildungȱ4Ȭ9).ȱImȱShortestȬ PathȬRoutingȱ wirdȱ einȱ Graphȱ desȱ Teilnetzesȱ statischȱ erstellt.ȱ Jederȱ Knotenȱ imȱ GraphȱentsprichtȱeinemȱRouter,ȱeineȱKanteȱentsprichtȱeinerȱLeitungȱzwischenȱzweiȱ Routern.ȱDieȱKantenȱwerdenȱbeschriftetȱ(„Pfadlänge“),ȱdieȱMetrikȱhierfürȱkannȱausȱ verschiedenenȱKritierienȱ(auchȱkombiniert)ȱberechnetȱwerden.ȱUnterȱanderemȱsindȱ folgendeȱKriterienȱmöglich:ȱ – – – – –
Entfernungȱ Bandbreiteȱ Durchschnittsverkehrȱ DurchschnittlicheȱWarteschlangenlängeȱinȱdenȱRouternȱ Verzögerungȱ
Dieȱ Berechnungȱ desȱ kürzestenȱ Pfadsȱ erfolgtȱ dannȱ überȱ einenȱ OptimierungsalgoȬ rithmusȱwieȱz.B.ȱüberȱDijkstrasȱAlgorithmusȱ(Tanenbaumȱ2003a).ȱInȱderȱAbbildungȱ
93ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 4Ȭ10ȱ istȱderȱNetzwerkȬGraphȱmitȱMetrikenȱskizziert.ȱBerücksichtigtȱmanȱdieȱinȱderȱ Abbildungȱ alsȱ Kantenbeschriftungenȱ angegebenenȱ Metrikwerte,ȱ ergibtȱ sichȱ zwiȬ schenȱ denȱ Knotenȱ Aȱ undȱ Fȱ alsȱ kürzesterȱ Pfadȱ AȬCȬEȬFȱ mitȱ einerȱ aufsummiertenȱ Pfadlängeȱ(AdditionȱderȱWerte)ȱvonȱ7.ȱ DieȱzugrundeliegendeȱProblemstellungȱstammtȱausȱderȱGraphentheorieȱundȱkannȱ wieȱfolgtȱbeschriebenȱwerden:ȱFindeȱfürȱeinenȱStartknotenȱsȱundȱeinenȱEndknotenȱeȱ einesȱ gewichtetenȱ Graphenȱ Gȱ mitȱ derȱ Knotenmengeȱ V,ȱ derȱ Kantenmengeȱ Eȱ undȱ derȱKostenfunktionȱkȱeinenȱWegȱzwischenȱsȱundȱeȱmitȱminimalenȱKosten.ȱDieȱKosȬ tenfunktionȱkȱbeziehtȱsichȱaufȱeineȱKanteȱzwischenȱzweiȱKnoten.ȱ
A
2
3
B
Router
2
4
4
E
C 6
D
1
1
F ȱ
Abbildungȱ4Ȭ10:ȱBeispielȱfürȱeineȱShortestȬPathȬBerechnungȱ
DistanceȬVectorȬVerfahren.ȱ Imȱ DistanceȬVectorȬVerfahrenȱ ȱ (andereȱ Bezeichnung:ȱ BellmanȬFordȬRoutingȱnachȱBellman,ȱ1957ȱundȱFord,ȱ1962)ȱführtȱjederȱRouterȱeineȱ dynamischȱ aktualisierteȱ RoutingȬTabelleȱ mitȱ allenȱ Zielen.ȱ Derȱ Begriffȱ „EntferȬ nungsvektor“ȱbzw.ȱ„DistanceȬVector“ȱkommtȱdaher,ȱdassȱeineȱRouteȱzuȱeinemȱZielȱ ausȱ einerȱ Kombinationȱ ausȱ Entfernungȱ undȱ Richtungȱ (Vektor)ȱ angegebenȱ wird.ȱ Dieȱ Entfernungȱ istȱ dabeiȱ eineȱ metrischeȱ Bewertungȱ derȱ Routeȱ nachȱ einemȱ beȬ stimmtenȱVerfahren,ȱinȱdasȱverschiedeneȱGrößenȱeinbezogenȱwerdenȱkönnen.ȱDasȱ Verfahrenȱsetztȱvoraus,ȱdassȱeinȱRouterȱdieȱEntfernungȱzuȱallenȱZielenȱkennt,ȱwoȬ beiȱ dieȱ Berechnungȱ mitȱ Hilfeȱ derȱ Nachbarknotenȱ ausgeführtȱ wird.ȱ Dieȱ RoutingȬ Tabelleneinträgeȱ enthaltenȱ dieȱ bevorzugteȱ Ausgangsleitungȱ zuȱ einemȱ Ziel.ȱ Alsȱ Metrikȱkannȱz.B.ȱdieȱVerzögerungȱinȱmsȱoderȱdieȱAnzahlȱderȱTeilstreckenȱ(Hops)ȱ bisȱ zumȱ Zielȱ verwendetȱ werden:ȱ Benachbarteȱ Routerȱ tauschenȱ RoutingȬInforȬ mationȱaus.ȱȱ NachteiligȱbeiȱdiesemȱVerfahrenȱist,ȱdassȱSchleifenȱmöglichȱsindȱundȱdadurchȱPakeȬ teȱewigȱkreisenȱkönnen.ȱDasȱProblemȱistȱauchȱalsȱCountȬtoȬInfinityȬProblemȱbekannt.ȱ Zudemȱ hatȱ dasȱ Verfahrenȱ eineȱ schlechteȱ Konvergenz,ȱ wasȱ bedeutet,ȱ dassȱ sichȱ schlechteȱ Nachrichtenȱ z.B.ȱ überȱ nichtȱ mehrȱ verfügbareȱ Routen,ȱ sehrȱ langsamȱ imȱ Netzȱ verbreiten.ȱ Diesȱ liegtȱ daran,ȱ dassȱkeinȱ Knotenȱüberȱ vollständigeȱ InformatioȬ nenȱ (Verbindungenȱ undȱ derenȱ Kosten)ȱ zumȱ Netzȱ verfügt.ȱ Keinȱ Knotenȱ verfügtȱ (außerȱ beiȱ direktenȱ Nachbarn)ȱ überȱ denȱ vollständigenȱ Pfadȱ zuȱ einemȱ entferntenȱ Knoten,ȱsondernȱkenntȱnurȱdenȱNachbarn,ȱanȱdenȱerȱeinȱPaketȱsendenȱmuss,ȱdamitȱ esȱbeimȱgewünschtenȱZielknotenȱankommt.ȱ
94ȱ
4.1ȱȱGrundlagenȱ JederȱKnotenȱsiehtȱbeimȱDistanceȬVectorȬRoutingȱnurȱseineȱNachbarn.ȱEinigeȱZeitȱ nachȱ demȱ Netzstart,ȱ nachȱ derȱ sog.ȱ Konvergenzdauer,ȱ verfügenȱ alleȱ Knotenȱ überȱ dieȱoptimalenȱRoutingȬTabellen.ȱJederȱRouterȱlegtȱbeimȱStartȱzunächstȱeinenȱVekȬ torȱ mitȱ derȱ Entfernungȱ 0ȱ fürȱ jedenȱ bekanntenȱ Routerȱ an.ȱ Alleȱ anderenȱ Zieleȱ beȬ kommenȱdieȱEntfernungȱ„unendlich“.ȱDurchȱdasȱzyklischeȱVersendenȱderȱbekannȬ tenȱ Entfernungsvektorenȱ breitenȱ sichȱ dieȱ Informationenȱ imȱ Netzȱ aus.ȱ Mitȱ jederȱ neuenȱInformationȱwerdenȱdieȱoptimalenȱRoutenȱinȱdenȱRouternȱneuȱberechnet.ȱ WieȱmanȱimȱBeispielȱausȱAbbildungȱ4Ȭ11ȱ sieht,ȱenthaltenȱdieȱEinträgeȱinȱdenȱRouȬ tingȬTabellenȱdenȱZielknoten,ȱdieȱDistanzȱzumȱZielknotenȱundȱdieȱKostenȱ(hierȱinȱ Hops).ȱ Imȱ Beispielȱ sindȱ dieȱ RoutingȬTabellenȱ vonȱ Knotenȱ Aȱ undȱ Eȱ dargestellt.ȱ Aȱ lerntȱhierȱz.B.ȱȱvonȱdenȱbenachbartenȱKnoten,ȱdassȱderȱoptimaleȱWegȱzuȱDȱüberȱEȱ inȱ5ȱHopsȱist.ȱ Knoten A
Knoten E Ziel
Distanz Nächster Knoten
Hops
Ziel
Distanz
Nächster Knoten
Hops
B
4
B
1
A
2
A
1
3
B
1
C
3
C
1
B
E
2
E
1
C
4
B
2
D
5
E
2
D
3
D
1
Nach einiger Zeit (Konvergenzdauer) verfügen alle Router über optimale Routing-Tabellen
C 3
A
1 4 2
...
B 4
3
E
3
D ȱ
Abbildungȱ4Ȭ11:ȱBeispielȬRoutingȬTabellenȱimȱDistanceȬVectorȬVerfahrenȱ
Dieȱ Eigenschaftenȱ desȱ DistanceȬVectorȬRoutingȱ lassenȱ sichȱ kurzȱ wieȱ folgtȱ zusamȬ menfassen:ȱ – Dasȱ Verfahrenȱ istȱ verteilt.ȱ Dieȱ Nachbarnȱ tauschenȱ Informationenȱ überȱ dieȱ nächsteȱ Umgebungȱ aus,ȱ dieȱ Routerȱ berechnenȱ dieȱ bestenȱ Pfadeȱ ausȱ ihrerȱ SichtȱundȱtauschenȱerneutȱInformationenȱaus.ȱ – DasȱVerfahrenȱistȱiterativ,ȱesȱwirdȱzyklischȱwiederholt.ȱ – Dieȱ einzelnenȱ Knotenȱ arbeitenȱ selbstständigȱ undȱ völligȱ unabhängigȱ voneiȬ nander.ȱ – GuteȱNachrichtenȱverbreitenȱsichȱschnell,ȱschlechteȱeherȱlangsam.ȱ – BeiȱAusfallȱeinesȱLinksȱistȱevtl.ȱkeineȱTerminierungȱmehrȱsichergestellt.ȱ ȱ
95ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ LinkȬStateȬVerfahren.ȱ Imȱ LinkȬStateȬVerfahrenȱ verwaltetȱ jederȱ Routerȱ eineȱ Kopieȱ derȱgesamtenȱNetzwerktopologieȱinȱeinerȱLinkȬStateȬDatenbasis,ȱalsoȱnichtȱnurȱderȱ nächstenȱUmgebungȱwieȱbeimȱDistanceȬVectorȬVerfahren.ȱJederȱKnotenȱkenntȱalsoȱ alleȱKosteninformationenȱdesȱgesamtenȱNetzwerks.ȱJederȱRouterȱverteiltȱdieȱlokaleȱ Informationȱ perȱ Floodingȱ anȱ alleȱ anderenȱ Routerȱ imȱ Netzȱ undȱ damitȱ kenntȱ jederȱ Routerȱalleȱanderen.ȱDieȱBerechnungȱderȱoptimalenȱRoutenȱerfolgtȱmeistȱdezentral,ȱ wobeiȱjederȱeinzelneȱKnotenȱdenȱabsolutȱkürzestenȱPfadȱerrechnet.ȱAuchȱeineȱzentȬ raleȱBerechnungȱderȱoptimalenȱWegeȱmitȱeinerȱnetzweitenȱVerteilungȱistȱimȱLinkȬ StateȬVerfahrenȱmöglich.ȱWichtigȱistȱnur,ȱdassȱbeiȱderȱBerechnungȱdieȱInformatioȬ nenȱzumȱgesamtenȱNetzȱeinbezogenȱwerden.ȱDieȱBerechnungȱderȱkürzestenȱPfadeȱ wirdȱ z.B.ȱ überȱ einenȱ ShortestȬPathȬAlgorithmusȱ (z.B.ȱ Dijkstra’sȱ Algorithmus)ȱ durchgeführt. 1ȱ DaȱalleȱKnotenȱdieȱgesamteȱTopologieȱkennenȱundȱsomitȱjederȱKnotenȱdieȱgleicheȱ Informationȱ überȱ dieȱ Topologieȱ besitzt,ȱ sindȱ keineȱ Schleifenȱ undȱ eineȱ schnelleȱ ReaktionȱaufȱTopologieänderungenȱmöglich.ȱ Diesesȱ Verfahrenȱ wirdȱ deshalbȱ alsȱ LinkȬStateȬVerfahrenȱ bezeichnet,ȱ weilȱ esȱ dieȱ globaleȱZustandsinformationȱdesȱNetzesȱmitȱdenȱKostenȱallerȱVerbindungsleitunȬ genȱ(Links)ȱkennenȱmuss.ȱDieȱKnotenȱkennenȱzwarȱanfangsȱnochȱnichtȱalleȱandeȬ renȱKnoten,ȱaberȱdurchȱdenȱEmpfangȱvonȱsog.ȱLinkȬStateȬBroadcastsȱwirdȱdieȱInȬ formationȱunterȱdenȱKnotenȱausgetauscht.ȱȱ InȱsehrȱgroßenȱNetzenȱistȱesȱsinnvoll,ȱeineȱgewisseȱHierarchieȱimȱNetzȱeinzuführenȱ (sieheȱ hierarchischesȱ Routing)ȱ undȱ innerhalbȱ kleinererȱ Regionenȱ oderȱ Teilnetzenȱ einȱ einheitlichesȱ RoutingȬVerfahrenȱ zuȱ nutzen.ȱ Zumȱ Austauschȱ derȱ RoutingȬ Informationȱ zwischenȱ denȱ Regionenȱ könnenȱ dannȱ wiederȱ eigeneȱ Verfahrenȱ verȬ wendetȱ werden,ȱ dieȱ komprimierteȱ Informationȱ austauschen.ȱ Einȱ LinkȬStateȬ VerfahrenȱwürdeȱüberȱalleȱRechnerȱimȱInternetȱnichtȱfunktionieren.ȱWirȱwerdenȱimȱ Weiterenȱ nochȱ sehen,ȱ dassȱ imȱ globalenȱ Internetȱ mehrereȱ Verfahrenȱ zurȱ AnwenȬ dungȱkommen,ȱaberȱnatürlichȱauchȱeineȱHierarchisierungȱdurchgeführtȱwurde.ȱ
4.1.3
Staukontrolle (Congestion Control)
ZuȱvieleȱPaketeȱinȱeinemȱNetz,ȱalsoȱmehrȱalsȱdieȱmaximaleȱÜbertragungskapazitätȱ zulässt,ȱführenȱzumȱAbfallȱderȱLeistungȱundȱdamitȱzurȱÜberlastungȱ(Congestion)ȱ oderȱVerstopfungȱdesȱNetzes.ȱDieȱUrsachenȱhierfürȱkönnenȱvielfältigȱsein:ȱȱ – VieleȱPaketeȱzuȱeinerȱZeitȱführenȱzuȱlangenȱWarteschlangenȱinȱdenȱNetzknoȬ tenȱ – LangsameȱProzessorenȱinȱdenȱNetzknotenȱ – ZuȱwenigȱSpeicherȱinȱdenȱNetzknotenȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DijkstraȱhatȱsichȱimȱJahreȱ1959ȱdamitȱbefasst.ȱDerȱAlgorithmusȱvonȱDijkstraȱfürȱdasȱLinkȬ StateȬVerfahrenȱ istȱ inȱ (Kuroseȱ 2002)ȱ ausführlichȱ beschrieben.ȱ Einȱ andererȱ Algorithmusȱ hierfürȱistȱderȱsog.ȱPrimȬAlgorithmus.ȱ
1
96ȱ
4.1ȱȱGrundlagenȱ EineȱÜberlastungȱkannȱzuȱeinemȱTeufelskreisȱführen.ȱPaketeȱgehenȱverlorenȱoderȱ werdenȱ evtl.ȱ inȱ Netzknotenȱ verworfenȱ undȱ werdenȱ vonȱ denȱ Sendernȱ erneutȱ verȬ schickt.ȱDieȱSendungswiederholungenȱerhöhenȱwiederumȱdieȱLast,ȱundȱsoȱgehtȱesȱ weiter,ȱbisȱdasȱNetzȱvollständigȱüberlastetȱist.ȱBeiȱübermäßigerȱVerkehrsbelastungȱ desȱ Netzesȱ fälltȱ –ȱ wieȱ inȱ Abbildungȱ 4Ȭ12ȱ zuȱ sehenȱ istȱ –ȱ dieȱ Leistungȱ rapideȱ ab.ȱ DurchȱStaukontrolleȱsollenȱVerstopfungenȱbzw.ȱÜberlastungenȱimȱNetzȱvermiedenȱ werden.ȱMaßnahmenȱkönnenȱinȱdenȱSchichtenȱ2ȱbisȱ4ȱergriffenȱwerden.ȱMöglichȬ keitenȱderȱStaukontrolleȱsindȱu.a.:ȱ – LokaleȱSteuerungȱ(gehörtȱzurȱSchichtȱ2),ȱdaȱsieȱsichȱaufȱEinzelleitungenȱbeȬ ziehtȱ – EndeȬzuȬEndeȬSteuerungȱzwischenȱEndsystemenȱ(Schichtȱ4)ȱ – GlobaleȱSteuerungȱüberȱdasȱgesamteȱNetzȱ(Schichtȱ3)ȱ Kapazität des Netzes
perfekt Maximale Kapazität des Teilnetzes wünschenswert überlastet
Gesendete Pakete
ȱ
Abbildungȱ4Ȭ12:ȱNetzwerkbelastungȱundȱLeistungȱimȱNetzȱnachȱ(Tanenbaumȱ2003a)ȱ
ImȱGegensatzȱzurȱFlusssteuerungȱistȱdieȱStaukontrolleȱeinȱMechanismusȱmitȱnetzȬ globalenȱAuswirkungen.ȱWirȱwollenȱunsȱinȱdiesemȱAbschnittȱmitȱdenȱMöglichkeiȬ tenȱinȱderȱSchichtȱ3ȱbefassen.ȱBeiȱderȱDiskussionȱderȱTransportschichtȱwirdȱaufȱdieȱ dortȱvorhandenenȱMöglichkeitenȱeingegangen.ȱ EineȱwesentlicheȱUrsacheȱfürȱÜberlastungenȱsindȱ Verkehrsspitzen.ȱManȱkannȱdieseȱ bereitsȱimȱVorfeldȱeindämmen,ȱindemȱmanȱdasȱsog.ȱTrafficȱShapingȱalsȱMaßnahmeȱ zurȱRegulierungȱ derȱdurchschnittlichenȱ Datenübertragungsrateȱvonȱ Endsystemenȱ einsetzt.ȱ Dieȱ Überwachungȱ derȱ Endsystemeȱ wirdȱ alsȱ Trafficȱ Policingȱ bezeichnetȱ undȱ kannȱ durchȱ denȱ Netzbetreiberȱ ausgeführtȱ werden.ȱ Dieseȱ Maßnahmeȱ eignetȱ sichȱ besserȱ fürȱvirtuelleȱVerbindungenȱ(VC)ȱalsȱfürȱdatagrammorientierteȱNetze.ȱZumȱEinsatzȱ
97ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ kommtȱderȱLeakyȬBucketȬAlgorithmus,ȱdessenȱPrinzipȱinȱderȱAbbildungȱ4Ȭ13ȱskizȬ ziertȱistȱundȱwieȱfolgtȱfunktioniert:ȱ Endsystemeȱ (Hosts)ȱ verfügenȱ überȱ Netzwerkschnittstellenȱ inȱ Kernelȱ ȱ undȱ NetzȬ werkkartenȱmitȱeinerȱinternenȱWarteschlange,ȱdieȱhierȱalsȱLeackyȱBucketȱbezeichȬ netȱwirdȱ(rinnenderȱEimer).ȱWennȱdieȱWarteschlangeȱvollȱist,ȱwirdȱeinȱneuesȱPaketȱ schonȱimȱEndsystemȱverworfenȱundȱbelastetȱdasȱNetzȱnicht.ȱ DieȱerforderlichenȱParameterȱmüssenȱinȱeinerȱsog.ȱFlussspezifikationȱfürȱvirtuelleȱ Verbindungenȱ beimȱ Verbindungsaufbauȱ zwischenȱ Senderȱ undȱ Empfängerȱ ausgeȬ handeltȱ werden.ȱ Manȱ einigtȱ sichȱ beimȱ Verbindungsaufbauȱ überȱ dieȱ max.ȱ PaketȬ größe,ȱ dieȱ max.ȱ Übertragungsrateȱ usw.ȱ Dieȱ Abbildungȱ 4Ȭ13ȱ zeigtȱ dieȱ Analogieȱ einesȱ rinnendenȱ Eimersȱ mitȱ einerȱ Netzwerkschnittstelleȱ inȱ einemȱ Host,ȱ dieȱ denȱ AusgangȱderȱPaketeȱreguliert.ȱAuchȱbeimȱWassereimerȱtropftȱdasȱWasserȱkonstantȱ durchȱdieȱÖffnung.ȱ Zulauf
Host
Paket Unregulierter Fluss
Schnittstelle mit rinnendem Eimer
Eimer nimmt Pakete auf
Rinnender Eimer (Leaky Bucket) Regulierter Fluss Wasser tropft in konstanter Rate aus dem Loch
Netz
ȱ
Abbildungȱ4Ȭ13:ȱLeakyȬBucketȬVerfahrenȱzurȱStaukontrolleȱnachȱ(Tanenbaumȱ2003a)ȱ
FürȱNetzeȱmitȱvirtuellenȱVerbindungenȱundȱauchȱfürȱdatagrammorientierteȱNetzeȱ gibtȱ esȱ nochȱ weitereȱ Möglichkeitenȱ derȱ Überlastungskontrolle.ȱ Hierfürȱ wirdȱ aufȱ dieȱLiteraturȱverwiesenȱ(Tanenbaumȱ2003a).ȱ
4.2 Das Internet und das Internet-Protokoll IPv4 4.2.1
Überblick
Inȱ Abbildungȱ 4Ȭ14ȱ sindȱ dieȱ wichtigstenȱ Bestandteileȱ (Protokolle,ȱ SoftwarekompoȬ nenten,ȱ Adressierungsmechanismen)ȱ derȱ Vermittlungsschichtȱ imȱ Internetȱ inȱ AbȬ grenzungȱ zuȱ denȱ benachbartenȱ Schichtenȱ dargestellt.ȱ Daȱ dasȱ Internetȱ einȱ paketȬ orientiertesȱNetzwerkȱist,ȱistȱdieȱWegewahlȱ(Routing)ȱeineȱderȱwichtigstenȱAufgaȬ benȱ derȱ Vermittlungsschichtȱ imȱ Internet.ȱ Imȱ Internetȱ bzw.ȱ inȱ Netzwerken,ȱ dieȱ IPȱ nutzen,ȱwirdȱdasȱkompletteȱRoutingȱüberȱverschiedeneȱProtokolleȱabgewickelt.ȱȱ Dieȱ Vermittlungsknotenȱ verwaltenȱ jeweilsȱ eineȱ RoutingȬTabelle.ȱ Schließlichȱ überȬ nimmtȱ dasȱ InternetȬProtokollȱ dieȱ eigentlichenȱ Übertragungsaufgabenȱ sowieȱ dieȱ
98ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Adressierung.ȱ Dasȱ InternetȬProtokollȱ (IP),ȱ alsȱ wichtigstesȱ Protokollȱ derȱ InternetȬ Vermittlungschichtȱ istȱ einȱ paketvermitteltesȱ (datagrammorientiertes)ȱ undȱ verbinȬ dungslosesȱProtokoll.ȱIPȱdientȱderȱBeförderungȱvonȱDatagrammenȱvonȱeinerȱQuelȬ leȱzuȱeinemȱZielȱevtl.ȱüberȱverschiedeneȱZwischenknotenȱ(IPȬRouter).ȱDatagrammeȱ werdenȱ ggf.ȱ währendȱ desȱ Transportsȱ zerlegtȱ undȱ amȱ Zielȱ wiederȱ zusammengeȬ führt,ȱbevorȱsieȱderȱSchichtȱ4ȱübergebenȱwerden.ȱȱ IPȱstelltȱeinenȱungesichertenȱverbindungslosenȱDienstȱzurȱVerfügung,ȱd.h.ȱesȱexisȬ tiertȱkeineȱGarantieȱderȱPaketauslieferung.ȱDieȱÜbertragungȱerfolgtȱnachȱdemȱBestȬ EffortȬPrinzipȱ(AuslieferungȱnachȱbestemȱBemühen),ȱwobeiȱjedesȱPaketȱdesȱDatenȬ stromsȱ isoliertȱ behandeltȱ wird.ȱ Einȱ IPȬPaketȱ wirdȱ inȱ einemȱ oderȱ –ȱ sofernȱ eineȱ Fragmentierungȱ erforderlichȱ istȱ –ȱ ggf.ȱ inȱ mehrerenȱ Rahmenȱ derȱ zugrundeliegenȬ denȱSchichtȱ2ȱtransportiert,ȱfürȱdenȱLängenrestriktionenȱbestehen.ȱBeiȱEthernetȱistȱ z.B.ȱeineȱLängeȱvonȱ1500ȱByteȱüblich.ȱȱ InȱdieȱVermittlungsschichtȱordnenȱwirȱauchȱspezielleȱProtokolleȱzurȱUnterstützungȱ undȱ Optimierungȱ derȱ Adressierungȱ undȱ Adresskonfigurierungȱ wieȱ DHCPȱ (DyȬ namicȱHostȱConfigurationȱProtocol)ȱundȱNATȱ(NetworkȱAddressȱTranslation)ȱein.ȱ Dieseȱ Zuordnungȱ istȱ inȱ derȱ Literaturȱ nichtȱ immerȱ üblich,ȱ passtȱ aberȱ ausȱ unsererȱ Sichtȱrechtȱgut.ȱ Transportschicht: TCP, UDP Routing-Protokolle RIP, OSPF, BGP
RoutingTabelle
NAT und DHCP
IP-Protokoll und Adressierung (VLSM u. CIDR)
Vermittlungsschicht
ICMP-Protokoll
Sicherungsschicht
ARP/RARPProtokoll
Bitübertragungsschicht
ȱ Abbildungȱ4Ȭ14:ȱDasȱInnereȱderȱVermittlungsschichtȱimȱInternetȱnachȱ(Kuroseȱ2002)ȱ
Wirȱ werdenȱ imȱ Weiterenȱ dieȱ wichtigstenȱ Komponentenȱ derȱ Vermittlungsschichtȱ ausführlichȱdiskutieren.ȱInȱderȱAbbildungȱ4Ȭ14ȱistȱzuȱerkennen,ȱdassȱARPȱ(Addressȱ Resolutionȱ Protocol)ȱ undȱ RARPȱ (Reverseȱ Addressȱ Resolutionȱ Protocol)ȱ anȱ derȱ SchnittstelleȱzwischenȱSchichtȱ2ȱundȱ3ȱangesiedeltȱwurden.ȱDieseȱProtokolleȱkümȬ mernȱsichȱumȱdasȱMappingȱderȱMACȬAdressenȱaufȱdieȱIPȬAdressen,ȱundȱwirȱbeȬ handelnȱdieȱProblematikȱebenfallsȱinȱdiesemȱKapitel.ȱDasȱICMPȬProtokollȱdientȱalsȱ SteuerprotokollȱzurȱÜbertragungȱvonȱFehlermeldungenȱundȱwirdȱebenfallsȱweiterȱ untenȱdiskutiert.ȱ
99ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
4.2.2
Aufbau des Internets
Dasȱ globaleȱ Internetȱ stelltȱ sichȱ heuteȱ alsȱ eineȱ Sammlungȱ vonȱ vielenȱ Einzelnetzenȱ dar,ȱ dieȱ weltweitȱ überȱ vieleȱ Kommunikationsverbindungenȱ miteinanderȱ verbunȬ denȱsind.ȱDieȱEinzelnetzeȱwerdenȱauchȱalsȱautonomeȱSystemeȱbezeichnet.ȱȱ Autonome Systeme Autonomeȱ Systemeȱ (AS)ȱ sindȱ eigenständigȱ vonȱ verschiedenstenȱ Organisationenȱ verwalteteȱTeilnetze.ȱEsȱgibtȱderzeitȱmehrȱalsȱ110.000ȱautonomeȱSystemeȱweltweit.ȱ DasȱInternetȱistȱeineȱȱ hierarchischeȱOrganisationȱdesȱgesamtenȱNetzwerks,ȱdasȱdieȱ autonomenȱSystemeȱmiteinanderȱverbindet.ȱDieȱgroßenȱASȱbildenȱgemeinsamȱeinȱ globalesȱ Backboneȱ (Netzwerkrückgrad),ȱ dasȱ wiederumȱ ausȱ kleinerenȱ Backbonesȱ zusammengesetztȱ ist.ȱ Typischeȱ autonomeȱ Systemeȱ sindȱ Institutionenȱ (UniversitäȬ ten,...)ȱ undȱ regionaleȱ InternetȬProvider.ȱ ASȱ könnenȱ fürȱ sichȱ regionaleȱ Netze,ȱ aberȱ auchȱglobaleȱNetzeȱbetreiben.ȱAnȱdenȱBackbonesȱhängenȱregionaleȱNetze,ȱundȱanȱ denȱ regionalenȱ Netzenȱ hängenȱ dieȱ Netzeȱ vonȱ Unternehmen,ȱ Universitäten,ȱ InterȬ netȱServiceȱProvidernȱ(ISP),ȱusw.ȱBeispielsweiseȱwirdȱderȱZugriffȱeinesȱinȱDeutschȬ landȱplatziertenȱHostsȱüberȱdasȱInternetȱaufȱeinenȱServerȱinȱdenȱUSAȱüberȱmehrereȱ Teilnetzeȱ transportiert.ȱ Inȱ derȱ Abbildungȱ 4Ȭ15ȱ sindȱ dieȱ Backbonesȱ ausȱ denȱ USAȱ undȱ Europaȱ skizziert.ȱ Sieȱ sindȱ überȱ transatlantischeȱ Standleitungen 2ȱverbunden.ȱ DieȱschwarzenȱPunkteȱrepräsentierenȱIPȬRouter,ȱvonȱdenenȱesȱeineȱganzeȱMengeȱinȱ jedemȱASȱgibt.ȱȱ US Backbone Standleitung nach Asien
Europäisches Backbone Transatlantik Standleitung
...
...
IP-Router Regionales Netz
...
Nationales Netz
Universitätsnetz Unternehmensnetz
ȱ Abbildungȱ4Ȭ15:ȱDasȱInternetȱalsȱSammlungȱvielerȱautonomerȱTeilnetzeȱ(Tanenbaumȱ2003a)ȱ
ASȬNummern.ȱ Autonomeȱ Systemeȱ habenȱ sichȱ inȱ denȱ letztenȱ Jahrzehntenȱ unterȬ schiedlichȱ entwickeltȱ undȱ verfügenȱ z.B.ȱ überȱ verschiedeneȱ RoutingȬStrategien.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DieȱKabelȱsindȱtatsächlichȱdurchȱdenȱAtlantikȱgezogen.ȱ
2
100ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ JedesȱASȱhatȱeineȱeindeutigeȱNummerȱ(ASȬNummern,ȱASN),ȱvonȱdenenȱeinigeȱhierȱ genanntȱwerdenȱsollen:ȱ – AS11,ȱHarwardȬUniversityȱ – AS20633,ȱUniversitätȱFrankfurtȱ – AS1248,ȱNokiaȱ – AS2022,ȱSiemensȱ – AS3680,ȱNovellȱ – AS4183,ȱCompuserveȱȱ – AS6142,ȱSunȱ – AS12816,ȱMünchnerȱWissenschaftsnetzȱ(MWN)ȱ Dieȱ ASȬNummernȱ sindȱ 32ȱ Bitȱ lang 3ȱundȱ werdenȱ vonȱ derȱ IANAȱ verwaltet.ȱ IANAȱ delegiertȱ dieȱZuteilungȱ wiederumȱanȱ regionaleȱRegistrierungsinstanzenȱ wieȱRIPEȱ NCCȱ(EuropaȱundȱAsien),ȱARINȱ(Nordamerika)ȱundȱAfriNICȱ(Afrika).ȱEinȱISP,ȱderȱ vonȱIANAȱalsȱsolcherȱanerkanntȱwerdenȱwill,ȱmussȱmindestensȱmitȱzweiȱanderenȱ ASȱüberȱeinȱadaptivesȱRoutingprotokollȱverbundenȱseinȱ(mehrȱzumȱRoutingȱweiterȱ unten).ȱ Kommunikation über Peering- und Transitabkommen TierȬxȬAS.ȱ Manȱ unterscheidetȱ jeȱ nachȱ Größeȱ undȱ Bedeutungȱ TierȬ1Ȭ,ȱ TierȬ2Ȭȱ undȱ TierȬ3ȬAS,ȱ dieȱ imȱ Internetȱ auchȱ alsȱ Providerȱ undȱ gelegentlichȱ auchȱ alsȱ Carrierȱ beȬ zeichnetȱ werden.ȱ Dieȱ Begriffeȱ sindȱ nichtȱ eindeutigȱ definiertȱ undȱ hängenȱ vonȱ denȱ Rollenȱab,ȱdieȱeinȱASȱimȱ„InternetȬMarkt“ȱausfüllt:ȱ – TierȬ1ȬASȱ sindȱ Betreiberȱ vonȱ globalenȱ InternetȬBackbones.ȱ Hierzuȱ gehörenȱ z.B.ȱ AT&Tȱ (USȬamerikanischerȱ Telekomanbieter),ȱ AOLȱ (USȬamerikanischerȱ OnlineȬDienst,ȱ NTTȱ (Nipponȱ Telegraphȱ andȱ Telephoneȱ Corporation)ȱ undȱ VerizonȱCommunicationsȱ(USȬamerikanischerȱTelekomanbieter).ȱEsȱgibtȱnurȱ wenigeȱTierȬ1ȬAS 4.ȱ – TierȬ2ȬASȱ sindȱ Betreiberȱ großer,ȱ überregionalerȱ Netze.ȱ Typischeȱ TierȬ2Ȭ ProviderȱsindȱdieȱDeutscheȱTelekom,ȱdieȱFranceȱTelecomȱundȱTiscaliȱ(TeleȬ komȬUnternehmen,ȱItalien).ȱ – TierȬ3ȬASȱsindȱkleinere,ȱlokaleȱProviderȱmitȱEndkundengeschäft.ȱHierzuȱgeȬ hörenȱ z.B.ȱ MȬnetȱ inȱ Bayernȱ (Hauptgesellschafterȱ sindȱ dieȱ Münchnerȱ StadtȬ werke),ȱHansenetȱ(Hamburg)ȱundȱVersatelȱ(Berlin).ȱTierȬ3ȬASȱwerdenȱauchȱ alsȱEdgeȬNetworksȱbezeichnet.ȱȱ Eineȱoffizielleȱ„Ernennung“ȱzuȱeinemȱTierȬ1ȬASȱgibtȱesȱnicht.ȱDiesȱhängtȱvonȱdenȱ Eigenschaftenȱ einesȱ ASȱ ab.ȱ Esȱ gibtȱ nurȱ wenigeȱ TierȬ1Ȭȱ undȱ TierȬ2ȬAS,ȱ aberȱ vieleȱ TierȬ3ȬAS,ȱ die,ȱ etwasȱ vereinfacht,ȱ inȱ Abbildungȱ 4Ȭ16ȱ dargestelltȱ sind.ȱ NormalerȬ weiseȱbenötigtȱeinȱTierȬ3ȬASȱeineȱAnbindungȱanȱeinenȱTierȬ2ȬAS,ȱumȱimȱweltweiȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ SeitȱJanuarȱ2009.ȱ
3
ȱȱ Aktuellȱca.ȱ12ȱweltweit.ȱ
4
101ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ tenȱ Internetȱ mitȱ allenȱ anderenȱ ASȱ kommunizierenȱ zuȱ können.ȱ Diesȱ istȱ aberȱ nichtȱ zwingendȱnotwendig,ȱdaȱesȱauchȱandereȱVerbindungsmöglichkeitenȱzwischenȱASȱ gibt.ȱ Ebensoȱ istȱ einȱ TierȬ2ȬASȱ mitȱ mindestensȱ einemȱ TierȬ1ȬASȱ verbunden.ȱ Dieȱ TierȬ1ȬASȱbildenȱweitgehendȱdasȱglobaleȱBackbone.ȱ
…
Tier-3 … Tier-2
Tier-1 …
…
ȱ Abbildungȱ4Ȭ16:ȱVereinfachteȱDarstellungȱderȱBeziehungenȱvonȱASȱ(Kuroseȱ2008)ȱ
InternetȬKnoten.ȱDieȱgrößerenȱASȱwerdenȱauchȱalsȱInternetȬKnoten,ȱPeeringȬPoints,ȱ InternetȱExchanges,ȱInternetȱExchangeȱPoints,ȱNetworkȱAccessȱPointsȱ(NAP)ȱȱoderȱkurzȱ alsȱIXȱȱbezeichnet.ȱSieȱstellenȱsog.ȱPeeringȬȱoderȱauchȱTransitȬDiensteȱzurȱVerfügung,ȱ dieȱesȱkleinerenȱASȱermöglichen,ȱDatenȱauchȱmitȱanderenȱASȱauszutauschen.ȱAS,ȱ dieȱ nurȱ TransitȬDiensteȱ anbietenȱ undȱ keineȱ TransitȬDiensteȱ hinzukaufen,ȱ nenntȱ manȱauchȱTransitȬAS. 5ȱȱ PeeringȬȱundȱTransitabkommen.ȱDieȱProviderȱvereinbaren,ȱwieȱmiteinanderȱabgeȬ rechnetȱ wird.ȱ Gleichgestellteȱ TierȬ1ȬASȱ führenȱ üblicherweiseȱ einenȱ kostenlosenȱ Datenaustauschȱmiteinanderȱdurch.ȱHierȱsprichtȱmanȱauchȱvonȱPeeringȬAbkommen.ȱ AnsonstenȱwerdenȱdieȱKostenȱmeistȱnachȱTransferleistungȱabgerechnet,ȱundȱmanȱ sprichtȱinȱdiesemȱFallȱvonȱTransitȬAbkommen.ȱAuchȱPeeringȬAbkommenȱzwischenȱ TierȬ1Ȭȱ undȱ TierȬ2Ȭȱ oderȱ sogarȱ TierȬ3ȬASȱ sindȱ üblich,ȱ wennȱ beideȱ Partnerȱ darausȱ einenȱ Vorteilȱ ziehenȱ können.ȱ Jeȱ mehrȱ Vereinbarungenȱ einȱ ASȱ mitȱ anderenȱ hat,ȱ destoȱbesserȱsindȱdieȱKommunikationsverbindungen,ȱdieȱeinȱASȱwiederumȱdenȱbeiȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DasȱRoutingȱzwischenȱdenȱPeeringȬPointsȱerfolgtȱmeistȱüberȱdasȱBorderȱGatewayȱProtoȬ colȱ(BGP),ȱsieheȱweiterȱunten.ȱ
5
102ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ ihmȱ angeschlossenenȱ ASȱ bietenȱ kann.ȱ TierȬ3ȬASȱ sindȱ normalerweiseȱ inȱ derȱ Rolleȱ derȱKunden,ȱTierȬ1ȬASȱsindȱinȱderȱRolleȱvonȱProvidernȱbzw.ȱPeers,ȱTierȬ2ȬASȱsindȱ meistȱProviderȱfürȱTierȬ3ȬAS,ȱkönnenȱaberȱauchȱPeersȱzuȱanderenȱASȱsein.ȱ ÖffentlicheȱPeeringȬPunkte.ȱInȱdenȱletztenȱJahrenȱhabenȱsichȱauchȱgroßeȱöffentliȬ cheȱ(public)ȱPeeringȬPunkteȱentwickeltȱundȱwerdenȱoftȱvonȱmehrerenȱkleinerenȱASȱ unterstützt.ȱ Nichtȱ alleȱ ASȱ nutzenȱ diese,ȱ aberȱ mittlerweileȱ wirdȱ dochȱ sehrȱ vielȱ InternetȬVerkehrȱüberȱöffentlicheȱPeeringȬPunkteȱabgewickelt. 6ȱDieȱDEȬCIXȱManaȬ gementȱGmbHȱbetreibtȱz.B.ȱdenȱderzeitȱzweitgrößtenȱeuropäischenȱIXȱinȱFrankfurt,ȱ DEȬCIXȱgenannt 7.ȱWeitereȱInternetȬKnotenȱinȱDeutschlandȱsindȱz.B.ȱBȬCIXȱ(Berlinȱ CommercialȱInternetȱExchange)ȱinȱBerlinȱsowieȱALPȬIXȱinȱMünchen.ȱ DieȱAbbildungȱ4Ȭ17ȱzeigtȱvereinfacht,ȱwieȱheutigeȱASȱundȱöffentlicheȱInternetȱExȬ changeȱPointsȱüberȱPeeringȬȱundȱTransitȬAbkommenȱmiteinanderȱverbundenȱsind.ȱȱ AS
Drittgrößter in Europa
Größter in Europa VIX (Wien)
LINX (London) Internationaler öffentlicher IX
AS
AMS-IX (Amsterdam) AS
…
AS
Weltweites WeltweitesInternet Internet TransitAbkommen
AS
AS DE-CIX (Frankfurt) TransitAbkommen
Uplink
AS
HHCIX (Hamburg)
AS
INXS (München) Nationaler öffentlicher IX
PeeringAbkommen
AS
AS
Zweitgrößter in Europa TransitAbkommen
…
S-IX (Stuttgart)
AS
ȱ Abbildungȱ4Ȭ17:ȱVereinfachteȱSichtȱaufȱdieȱVerbindungenȱimȱInternetȱ
Dieȱ autonomenȱ Systemeȱ werdenȱ jeȱ nachȱ Marktrolleȱ alsȱ Peer,ȱ Providerȱ und/oderȱ Kundeȱbezeichnet,ȱjeȱnachdem,ȱwieȱsieȱagieren.ȱInȱderȱRolleȱeinesȱProvidersȱbietenȱ sieȱanderenȱASȱZugangȱzumȱweltweitenȱInternetȱanȱundȱverlangenȱhierfürȱGebühȬ ren.ȱ Inȱ derȱ Kundenrolleȱ nutzenȱ sieȱ Diensteȱ andererȱ Provider.ȱ Wennȱ einȱ Providerȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dieȱ TopȬ80ȱ InternetȬKnotenȱ inȱ Europaȱ sindȱ unterȱ derȱ URLȱ ȱ http://www.alrond.com/deȱ zuȱfinden,ȱStand:ȱ23.05.2009.ȱ
6
ȱȱ Sieheȱhttp://www.deȬcix.de,ȱStand:ȱ23.05.2009.ȱ
7
103ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ nichtȱ selbstȱ Kundeȱ istȱ undȱ mitȱ anderenȱ Providernȱ gleichberechtigtenȱ DatenausȬ tauschȱbetreibt,ȱsprichtȱmanȱvonȱeinemȱPeer.ȱDiesȱsindȱinȱderȱRegelȱTierȬ1ȬAS.ȱȱ Links.ȱDieȱAnbindungȱeinesȱASȱanȱdasȱglobaleȱInternetȱwirdȱüberȱKommunikatiȬ onsverbindungen,ȱ dieȱ alsȱ Linksȱ bezeichnetȱ werden,ȱ erreicht.ȱ Jeȱ nachdem,ȱ wieȱ einȱ ASȱanȱdasȱInternetȱangebundenȱist,ȱunterscheidetȱman:ȱ – StubȱAS:ȱDieseȱsindȱnurȱüberȱeinenȱLinkȱanȱeinenȱProviderȱ(einȱanderesȱAS)ȱ angebunden.ȱLautȱInternetȬRichtlinienȱsollteȱdiesȱgarȱnichtȱsein.ȱ – MultihomedȬStubȬAS:ȱ Dieseȱ sindȱ ausȱ Gründenȱ derȱ Ausfallsicherheitȱ überȱ mindestensȱzweiȱLinksȱanȱeinenȱProviderȱangebunden.ȱ – MultihomedȬAS:ȱ Dieseȱ ASȱ sindȱ zurȱ Erhöhungȱ derȱ Ausfallsicherheitȱ überȱ mehrereȱLinksȱanȱmindestensȱzweiȱProviderȱangebunden.ȱȱ – TransitȬAS:ȱ TransitȬASȱ stellenȱ Zwischensystemeȱ dar,ȱ dieȱ fürȱ denȱ Übergangȱ vonȱeinemȱzumȱanderenȱASȱdienen.ȱSieȱarbeitenȱalsȱreineȱTransportnetze.ȱ Dieȱ Abbildungȱ 4Ȭ18ȱ stelltȱ dieȱ verschiedenenȱ Variantenȱ derȱ Anbindungȱ anȱ dasȱ Internetȱnochmalsȱdar.ȱ Transit-AS
1 Link
Stub-AS
Transit-AS
Transit-AS
2 Links 2 Links MultihomedStub-AS
Multihomed-AS
Stub-AS
ȱ Abbildungȱ4Ȭ18:ȱBeispielȱfürȱverschiedeneȱLinksȱvonȱautonomenȱSystemenȱuntereinanderȱ
4.2.3
Standardisierung im Internet
FürȱdieȱWeiterentwicklungȱdesȱInternetȱistȱdasȱIABȱ(InternetȱActivity,ȱheute:ȱArchiȬ tectureȱ Board)ȱ ȱ zuständig,ȱ dasȱ bereitsȱ 1983ȱ gegründetȱ undȱ 1989ȱ umorganisiertȱ wurde.ȱDasȱBoardȱhatȱmehrereȱBereicheȱundȱGruppenȱ(sieheȱAbbildungȱ4Ȭ19):ȱ – DasȱIABȱ(Board)ȱbestimmtȱdieȱRichtlinienȱderȱPolitik.ȱ – Dieȱ IETFȱ kümmertȱ sichȱ inȱ verschiedenenȱ Bereichenȱ (areas)ȱ umȱ kurzȬȱ undȱ mittelfristigeȱProbleme.ȱ – DieȱIESGȱkoordiniertȱdieȱIETFȱWorkingȱGroups.ȱȱ – Dieȱ IRTFȱ istȱ einȱ Forschungsbereich,ȱ derȱ dieȱ TCP/IPȬForschungsthemenȱ koordiniert.ȱ – DieȱIRSGȱkoordiniertȱdieȱForschungsaktivitätenȱderȱeinzelnenȱGruppen.ȱ DieȱWorkingȱGroupsȱsetzenȱsichȱausȱfreiwilligenȱMitarbeiternȱzusammen.ȱ
104ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ
The Board IRTF
IETF IRSG
IESG
...
area
Research Groups
...
... area
...
...
Working Groups
IAB Organisation IRTF: Internet Research Task Force IETF: Internet Engineering Task Force IRSG: Internet Research Steering Group IESG: Internet Engineering Steering Group
ȱ
Abbildungȱ4Ȭ19:ȱOrganisationȱdesȱInternetȱArchitectureȱBoardsȱ
DasȱNICȱȱ(NetworkȱInformationȱCenter,ȱgesprochenȱ„Nick“)ȱistȱzuständigȱfürȱȱdieȱ Dokumentationȱ undȱ dieȱ Verwaltungȱ derȱ umfangreichenȱ Informationȱ überȱ ProtoȬ kolle,ȱStandards,ȱServices,ȱusw.ȱDasȱNICȱverwaltetȱdasȱInternetȱundȱauchȱdieȱDoȬ mänennamenȱ (www.nic.net).ȱ Inȱ Deutschlandȱ istȱ dieȱ DENICȱ (www.denic.de)ȱ alsȱ nationaleȱVertretungȱeingerichtet.ȱȱ
4.2.4
Adressierung in Internet-basierten Netzen
Einȱ Rechnersystemȱ wirdȱimȱ Internetȱ alsȱ Hostȱ bezeichnetȱ undȱ besitztȱ inȱ derȱRegelȱ einenȱ Hostnamenȱ alsȱ symbolischeȱ Bezeichnung.ȱ Dieȱ IPȬAdresseȱ ȱ istȱ nichtȱ anȱ denȱ Host,ȱsondernȱanȱdenȱNetzwerkzugangȱgebunden.ȱVerfügtȱeinȱHostȱalsoȱz.B.ȱüberȱ einenȱ EthernetȬAdapter,ȱ soȱ istȱ diesemȱ inȱ einemȱ IPȬNetzwerkȱ eineȱ IPȬAdresseȱ zuȬ geordnet.ȱDemnachȱistȱesȱmöglich,ȱdassȱeinȱHostȱmehrereȱIPȬAdressenȱbesitzt,ȱdieȱ jeweilsȱ dieȱ Netzzugängeȱ eindeutigȱ adressieren.ȱ Einȱ IPȬRouterȱ verfügtȱ z.B.ȱ mind.ȱ überȱzweiȱIPȬAdressen.ȱ IPȬAdressenȱsindȱinȱderȱderzeitȱaktuellenȱIPȬVersionȱ4ȱ(IPv4)ȱ32ȱBitȱlangeȱAdressen.ȱ Esȱgibtȱalsoȱinsgesamtȱ232ȱ=ȱ4294967296ȱIPȬAdressen.ȱEineȱAdresseȱbestehtȱausȱdemȱ TupelȱausȱNetzwerknummerȱundȱHostnummer.ȱDieȱIPȬAdressenȱvonȱQuelleȱundȱ ZielȱwerdenȱinȱjedemȱIPȬPaketȱmitȱübertragen.ȱ Umȱ unterschiedlichȱ großeȱ Organisationenȱ zuȱ unterstützen,ȱ entschiedenȱ sichȱ dieȱ Designerȱ desȱ Internet,ȱ denȱ Adressraumȱ inȱ Klassenȱ ȱ aufzuteilen.ȱ Manȱ sprichtȱ hierȱ vonȱklassenweiserȱAdressierung.ȱManȱunterscheidetȱfünfȱverschiedeneȱAdressformaȬ te,ȱdieȱinȱdieȱKlassenȱA,ȱB,ȱC,ȱDȱundȱEȱeingeteiltȱsind.ȱEineȱIPȬAdresseȱwirdȱinȱgeȬ punktetenȱ Dezimalzahlenȱ (dottedȱ decimal),ȱ jeweilsȱ einȱ Byteȱ alsȱ Dezimalzahlȱ zwiȬ schenȱ0ȱundȱ255,ȱangegeben.ȱȱ Beispiel:ȱDieȱhexadezimaleȱDarstellungȱeinerȱIPȬAdresseȱistȱ0xC0290614.ȱDieȱkorȬ respondierendeȱDezimaldarstellungȱistȱ192.41.6.20,ȱmitȱ0xC0ȱ=ȱ192,ȱ0x29ȱ=ȱ41ȱusw.ȱ
105ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 4 Byte, 32 Bit
Adressbereich: 1.0.0.0 bis 127.255.255.255
Klasse A
0 Netz
Host
Klasse B
10
Klasse C
110
Netz
Klasse D
1110
Multicast-Adresse
224.0.0.0 bis 239.255.255.255
Klasse E
11110
Reservierte Adresse
240.0.0.0 bis 247.255.255.255
Netz
Host Host
128.0.0.0 bis 191.255.255.255 192.0.0.0 bis 223.255.255.255
Alle Adressen der Form 127.xx.yy.zz sind Loopback-Adressen!
ȱ
Abbildungȱ4Ȭ20:ȱIPȬAdressformateȱ
Dieȱ Klasseȱeinerȱ Adresseȱerkenntȱ man,ȱ wieȱinȱAbbildungȱ4Ȭ20ȱ dargestellt,ȱanȱdenȱ erstenȱBit.ȱEineȱKlasseȬAȬAdresseȱerkenntȱmanȱz.B.ȱdaran,ȱdassȱsieȱmitȱeinerȱbinäȬ renȱ Nullȱ beginnt,ȱ eineȱ KlasseȬBȬAdresseȱ beginntȱ mitȱ binärȱ0b10ȱ usw.ȱ Dieseȱ InforȬ mationȱnutzenȱauchȱdieȱRouterȱaus,ȱumȱeineȱZieladresseȱzuȱinterpretieren.ȱInȱderȱ Abbildungȱkannȱmanȱerkennen,ȱdassȱsichȱdieȱAdressklassenȱimȱWesentlichenȱdarinȱ unterscheiden,ȱdassȱsieȱunterschiedlicheȱLängenȱfürȱdieȱNetzwerknummernȱhaben.ȱ Eineȱ KlasseȬAȬAdresseȱ hatȱ z.B.ȱ nurȱ einȱ Byteȱ fürȱ dieȱ Netzwerknummer,ȱ währendȱ eineȱ KlasseȬBȬAdresseȱ zweiȱ Byteȱ undȱ eineȱ KlasseȬCȬAdresseȱ dreiȱ Byteȱ fürȱ dieȱ Netzwerknummerȱhat.ȱ Heuteȱsprichtȱmanȱauchȱvonȱ/8ȬNetzwerken,ȱwennȱmanȱKlasseȬAȬNetzwerkeȱmeintȱ undȱentsprechendesȱgiltȱfürȱdieȱKlasseȱBȱ(/16)ȱundȱdieȱKlasseȱCȱ(/24).ȱDieȱZahlȱhinȬ terȱ demȱ Schrägstrichȱ gibtȱ dieȱ Anzahlȱ derȱ Bitȱ fürȱ dieȱ Netzwerknummerȱ an.ȱ Dieȱ SchreibweiseȱwirdȱauchȱalsȱPräfixȬLängenȬSchreibweiseȱoderȱPräfixȬNotationȱbezeichȬ net:ȱ – Esȱ gibtȱ insgesamtȱ (27ȱ –ȱ 2)ȱ Netzwerkeȱ derȱ Klasseȱ A,ȱ daȱ siebenȱ Bitȱ fürȱ dieȱ Netzwerknummerȱ reserviertȱ sind.ȱ Jedesȱ KlasseȬAȬNetzwerkȱ kannȱ (224ȱ Ȭȱ 2)ȱ Hostadressenȱ unterstützen.ȱ Beiȱ derȱ Berechnungȱ werdenȱ zweiȱ NetzwerkadȬ ressenȱ abgezogen,ȱ daȱ dasȱ Netzwerkȱ 0.0.0.0ȱ alsȱ StandardȬRouteȱ undȱ dasȱ Netzwerkȱ127.0.0.0ȱalsȱLoopbackȬAdresseȱverwendetȱwird.ȱAuchȱbeimȱHostȬ anteilȱdürfenȱnichtȱalleȱAdressenȱausgenutztȱwerden.ȱDieȱAdressenȱmitȱnurȱ NullenȱundȱnurȱEinsenȱhabenȱeineȱSonderbedeutung.ȱ – Fürȱ KlasseȬBȬNetzeȱ stehenȱ 14ȱ Bitȱ fürȱ denȱ Netzwerkanteilȱ zurȱ Verfügung,ȱ zweiȱ Bitȱ („10“)ȱ sindȱ zurȱ Identifikationȱ derȱ Klasseȱ reserviert.ȱ Diesȱ ergibtȱ 16.384ȱKlasseȬBȬNetze.ȱJedesȱKlasseȬBȬNetzwerkȱkannȱmaximalȱ(216ȱ–ȱ2)ȱHostsȱ enthalten.ȱ
106ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ – InȱderȱKlasseȱCȱstehenȱ21ȱBitȱfürȱdenȱNetzwerkanteilȱzurȱVerfügungȱ(dreiȱBitȱ sindȱfürȱdieȱ Identifikationȱreserviertȱ („110“).ȱ Diesȱ ergibtȱ (221ȱ–ȱ 2)ȱ verfügbareȱ KlasseȬCȬNetzwerke.ȱ InȱTabelleȱ4Ȭ1ȱsindȱdieȱAdressumfängeȱnochmalsȱgrobȱzusammengefasst.ȱ Tabelleȱ4Ȭ1:ȱAdressumfängeȱderȱIPȬKlassenȱ
Klasse
Anzahl Netze
Max. Anzahl Hosts je Netz
Anteil am IPAdressraum
Adressen insgesamt
A (/8)
126 (27 – 2)
16777214 (224 – 2)
50 %
2147483638 (231)
B (/16)
16384 (214)
65534 (216 – 2)
25 %
1073741824 (230)
C (/24)
2097152 (221)
254 (28 – 2)
12,5 %
536870912 (229) ȱ
Damitȱ sindȱ 87,5ȱ %ȱ desȱ IPȬAdressraumsȱ festgelegt.ȱ Derȱ Restȱ wirdȱ denȱ Klassenȱ Dȱ undȱEȱsowieȱdenȱAdressenȱzurȱprivatenȱNutzungȱzugeordnet.ȱDieȱKlasseȱDȱistȱfürȱ MulticastingȬAnwendungenȱ reserviert,ȱ undȱ dieȱ Klasseȱ Eȱ wirdȱ imȱ Momentȱ nichtȱ benutzt.ȱ Einigeȱ IPȬAdressenȱ habenȱ eineȱ besondereȱ Bedeutungȱ undȱ sollenȱ hierȱ erȬ wähntȱwerden.ȱHierzuȱgehören:ȱ – DieȱniedrigsteȱIPȬAdresseȱistȱ0.0.0.0.ȱDieseȱAdresseȱhatȱdieȱbesondereȱBedeuȬ tungȱ„einȱbestimmtesȱNetz“ȱoderȱ„einȱbestimmterȱHost“ȱundȱwirdȱevtl.ȱbeimȱ BootvorgangȱeinesȱHostsȱbenötigt.ȱ – EineȱAdresseȱmitȱeinerȱNetzwerknummerȱbestehendȱausȱlauterȱbinärenȱEinȬ senȱ undȱ einemȱ beliebigenȱ Hostanteilȱ ermöglichtȱ esȱ Hosts,ȱ aufȱ dasȱ eigeneȱ Netzwerkȱzuȱverweisen,ȱohneȱdieȱNetzwerknummerȱzuȱkennen.ȱ – Dieȱ höchsteȱ IPȬAdresseȱ istȱ 255.255.255.255ȱ (–1).ȱ Sieȱ wirdȱ alsȱ BroadcastȬ Adresseȱverwendet.ȱBeimȱBroadcastȱwerdenȱalleȱHostsȱeinesȱNetzwerksȱmitȱ einemȱ Datagrammȱ angesprochen.ȱ Alleȱ Hostsȱ nehmenȱ alsoȱ Paketeȱ mitȱ derȱ Zieladresseȱ 255.255.255.255ȱ vomȱ Netzȱ undȱ leitenȱ sieȱ anȱ dieȱ AnwendungsȬ prozesseȱ weiter,ȱ dieȱ daraufȱ warten.ȱ Wennȱ dieȱ darunterliegendeȱ Schichtȱ 2ȱ Broadcastingȱunterstützt,ȱ dannȱ gehtȱauchȱ physikalischȱ nurȱ einȱ Paketȱ durchȱ dasȱ Netz.ȱ Diesȱ istȱ fürȱ bestimmteȱ Anwendungenȱ sehrȱ interessant,ȱ daȱ dieȱ NetzwerkbelastungȱniedrigerȱalsȱbeiȱEinzelnachrichtenȱist.ȱ – AlleȱAdressen,ȱdieȱmitȱ127.ȱbeginnen,ȱsindȱsog.ȱLoopbackȬAdressenȱundȱfürȱ dieȱ interneȱ Hostkommunikationȱ reserviert.ȱ Paketeȱ mitȱ Zieladressenȱ inȱ dieȬ semȱBereichȱwerdenȱnichtȱaufȱdasȱNetzȱgelegt.ȱ Broadcast Beimȱ Broadcastingȱ unterscheidetȱ manȱ nochmalsȱ zwischenȱ direktemȱ (gerichteten,ȱ directed)ȱ undȱ begrenztenȱ (limited)ȱ Broadcast.ȱ Derȱ direkteȱ Broadcastȱ ermöglichtȱ dasȱSendenȱeinerȱBroadcastȬNachrichtȱanȱeinȱbeliebigesȱNetzwerkȱimȱInternetȱundȱ zwarȱdirektȱvonȱeinemȱHostȱeinesȱanderenȱNetzwerksȱaus.ȱDerȱzuständigeȱRouterȱ
107ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ sendetȱ dasȱ Paketȱ überȱ denȱ entsprechendenȱ Pfadȱ zumȱ Zielrouter,ȱ derȱ dannȱ denȱ BroadcastȱinȱseinemȱlokalenȱNetzwerkȱsendet.ȱȱ Dieȱ Adresseȱ fürȱ denȱ direktenȱ Broadcastȱ enthältȱ dieȱ Netzwerknummerȱ undȱ imȱ Hostteilȱ lauterȱ binäreȱ Einsen.ȱ Wieȱ inȱ Abbildungȱ 4Ȭ21ȱ dargestellt,ȱ sendetȱ derȱ Hostȱ H1ȱ einenȱ Broadcastȱ anȱ einȱ anderesȱ Netz,ȱ inȱ demȱ dieȱ zweiȱ Hostsȱ H2ȱ undȱ H3ȱ dieȱ Nachrichtȱerhalten.ȱSowohlȱdasȱQuellȬ,ȱalsȱauchȱdasȱZielnetzȱsindȱKlasseȬCȬNetze.ȱ Dieȱ ZielȬBroadcastȬAdresseȱ inȱ „dottedȱ decimal“ȱ istȱ 130.6.20.255.ȱ Einȱ begrenzterȱ Broadcastȱ beziehtȱ sichȱ aufȱ dasȱ lokaleȱ Netzwerkȱ undȱ wirdȱ vonȱ denȱ Routernȱ nichtȱ durchgelassen.ȱ Dieȱ „limited“ȱ BroadcastȬAdresseȱ istȱ inȱ diesemȱ Fallȱ fürȱ alleȱ Netzeȱ gleichȱundȱistȱ–ȱwieȱbereitsȱweiterȱobenȱerläutertȱ–ȱ255.255.255.255.ȱAusȱdenȱAusȬ führungenȱ zuȱ denȱ Spezialadressenȱ ergibtȱ sich,ȱ dassȱ esȱ keineȱ HostȬAdresseȱ gebenȱ kann,ȱdessenȱHostanteilȱnurȱausȱbinärenȱEinsenȱoderȱNullenȱbesteht.ȱ Logische Kommunikation
Ziel-IP-Adresse: 130.6.20.255
Internet
H1
H2
Router
Klasse-C-Netz 130.5.20.*
H3
Klasse-C-Netz 130.6.20.*
Physikalische Verteilung der Broadcast-Nachricht
ȱ
Abbildungȱ4Ȭ21:ȱBeispielȱfürȱeinenȱdirektenȱBroadcastȱ
DasȱWeiterleitenȱvonȱdirectedȱBroadcastȬNachrichtenȱistȱinȱvielenȱRouternȱdeaktiȬ viert,ȱdaȱesȱfürȱAngriffeȱ(z.B.ȱSmurfȬAttacken)ȱgenutztȱwerdenȱkann. 8ȱ Private Adressen EineȱweitereȱBesonderheitȱsindȱdieȱsog.ȱprivatenȱIPȬAdressen.ȱPrivateȱAdressenȱsindȱ imȱRFCȱ1918ȱdefiniert.ȱHierzuȱgehören:ȱ – 10.0.0.0ȱmitȱeinemȱNetzwerkanteilȱvonȱ8ȱBitȱ(Netzwerkmaskeȱ255.0.0.0/8,ȱBeȬ reichȱ10.x.x.x) 9ȱ – 172.16.0.0ȱ mitȱ einemȱ 12ȬBitȬNetzwerkanteilȱ (Netzwerkmaskeȱ 255.240.0.0/12,ȱ Bereichȱ172.16.x.xȱȬ172.31.x.x)ȱȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Beiȱ einemȱ SmurfȬAngriffȱ sendetȱ einȱ Angreiferȱ Nachrichtenȱ (sieheȱ ICMPȱ unten)ȱ anȱ dieȱ directedȱBroadcastȬAdresseȱeinesȱNetzwerks.ȱ
8
ȱȱ DieȱHintergründeȱderȱNetzwerkmaskeȱwerdenȱetwasȱweiterȱuntenȱinȱdiesemȱAbschnittȱ aufgeklärt.ȱ
9
108ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ – 192.168.0.0ȱ mitȱ einemȱ Netzwerkanteilȱ vonȱ 16ȱ Bitȱ (Netzwerkmaskeȱ 255.255.0.0/16,ȱBereichȱ192.168.x.x)ȱ HierbeiȱhandeltȱesȱsichȱumȱAdressen,ȱdieȱjederȱRouterȱbesondersȱbehandelt.ȱPaketeȱ mitȱeinerȱderartigenȱZieladresseȱwerdenȱvonȱdenȱRouternȱnichtȱweitergeleitetȱundȱ verlassenȱdaherȱ niemalsȱdasȱlokaleȱ Netzwerk.ȱ Dieseȱ Adressenȱkönnenȱ vonȱ jedemȱ NetzwerkȱfürȱinterneȱZweckeȱverwendetȱwerdenȱundȱsindȱdaherȱnichtȱmehrȱglobalȱ eindeutig.ȱHeuteȱnutztȱmanȱdieȱprivatenȱAdressenȱgerneȱfürȱȱdieȱAdressvergabeȱimȱ Intranet,ȱ währendȱ manȱ nachȱ außenȱ hinȱ zumȱ globalenȱ Internetȱ einȱ Masqueradingȱ überȱNATȱ(wirdȱnochȱspäterȱerläutert)ȱausführt.ȱ Netzwerkmasken und Routing DieȱRouterȱmüssenȱwissen,ȱwelcheȱAdressklasseȱinȱeinemȱIPȬPaketȱalsȱZielȱadresȬ siertȱist.ȱDaȱaberȱdieȱAdressklasseȱnichtȱimȱIPȬHeaderȱsteht,ȱmussȱderȱRouterȱdieseȱ InformationȱaufȱandereȱWeiseȱherausfinden.ȱDieȱLösungȱist,ȱdassȱinȱdenȱRoutingȬ Tabelleneinträgenȱ nochȱ eineȱ zusätzlicheȱ Informationȱ mitȱ aufgenommenȱ wird.ȱ Esȱ handeltȱsichȱumȱdieȱNetzwerkmaske. 10.ȱȱ DieȱNetzwerkmaskeȱistȱeinȱ32ȱBitȱbreitesȱFeld,ȱinȱdemȱfürȱjedesȱAdressbitȱgenauȱeinȱ Bitȱ zugeordnetȱ ist.ȱ Stehtȱ einȱ Bitȱ aufȱ Binärȱ ‚1’,ȱ soȱ istȱ dasȱ Bitȱ inȱ derȱ IPȬAdresseȱ derȱ Netzwerknummerȱzugeordnet.ȱBeiȱdenȱklassenbehaftetenȱA/B/CȬAdressenȱkönnenȱ diesȱnatürlichȱnurȱalleȱBitȱderȱNetzwerknummerȱsein.ȱ Wennȱ einȱ Routerȱ einȱ Paketȱ empfängt,ȱ legtȱ erȱ dieȱ Netzwerkmaskeȱ überȱ dieȱ IPȬ AdresseȱundȱermitteltȱsoȱdieȱNetzwerkȬȱundȱdieȱHostadresse.ȱInȱAbbildungȱ4Ȭ22ȱistȱ einȱBeispielȱfürȱdieȱNutzungȱderȱNetzwerkadresseȱangegeben.ȱȱ 180
.
41
.
6
.
Adresse in dotted decimal
20
1011 0100
0010 1001
0000 0110
0001 0100
Adresse binär
1111 1111
1111 1111
0000 0000
0000 0000
Netzwerkmaske binär
1011 0100
0010 1001
0000 0000
0000 0000
Netzwerkadresse binär
Logische Und-Verknüpfung der IP-Adresse mit der Netzmaske Die Netzwerkadresse ist demnach: 180.41.0.0 Netzwerkmaske in dotted decimal: 255.255.0.0
ȱ Abbildungȱ4Ȭ22:ȱNetzwerkmaskeȱundȱderenȱEinsatzȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ RoutingȬTabellenȱ werdenȱ auchȱ inȱ denȱ Hostsȱ geführt.ȱ Inȱ WindowsȬSystemenȱ kannȱ manȱ sichȱ z.B.ȱ mitȱ demȱ Kommandoȱ routeȱ printȱ dieȱ aktuellenȱ RoutingȬTabelleneinträgeȱ inȱ eiȬ nemȱHostȱanschauen.ȱ
10
109ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ EinȱRouterȱführtȱeineȱlogischeȱUndȬOperationȱausȱundȱermitteltȱsoȱdieȱNetzwerkȬ nummerȱ bzw.ȱ Netzwerkadresse.ȱ Imȱ Beispielȱ handeltȱ esȱ sichȱ umȱ eineȱ KlasseȬBȬ Adresse.ȱ RoutingȬProtokolleȱübermittelnȱheuteȱnochȱdieȱvierȱByteȱlangeȱNetzwerkmaskeȱinȱ IhrenȱPDUs.ȱ
4.2.5
Subnetze und deren Adressierung
Durchȱ dieȱ Klasseneinteilungȱ ergabȱ sichȱ eineȱ gewisseȱ Verschwendungȱ vonȱ AdresȬ sen.ȱ Dieȱ zweistufigeȱ Adressierungȱ (Netzwerknummer,ȱ Hostnummer)ȱ führteȱ zuȬ demȱzuȱProblemen,ȱwennȱeineȱOrganisationȱseinȱinternesȱNetzwerkȱstrukturierenȱ wollte.ȱ Jedeȱ Aufgliederungȱ desȱ Netzwerksȱ gingȱ nurȱ überȱ dieȱ Beantragungȱ einerȱ zusätzlichenȱ Netzwerknummer.ȱ Dieȱ RoutingȬTabellenȱ inȱ denȱ BackboneȬRouternȱ begannenȱzuȱwachsen.ȱȱ ImȱRFCȱ950ȱwurdenȱschließlichȱimȱJahreȱ1985ȱTeilnetzeȱ(Subnets)ȱdefiniert,ȱumȱdieȱ organisatorischenȱ Problemeȱ abzumildernȱ undȱ auchȱ umȱ dieȱ RoutingȬTabellenȱ imȱ globalenȱ Internetȱ zuȱ entlasten.ȱ Durchȱ dieȱ Subnetzadressierungȱ wurdeȱ eineȱ bessereȱ organisatorischeȱGliederungȱderȱinternenȱNetzeȱermöglicht.ȱ Erweitertes Netzwerkpräfix Netzwerkpräfix
Subnetzwerknummer Hostnummer
ȱ Abbildungȱ4Ȭ23:ȱErweitertesȱNetzwerkpräfixȱbeiȱSubnetzadressierungȱ
Dieȱ Hostadresseȱ wirdȱ hierbeiȱ zurȱ Unterteilungȱ desȱ Netzwerksȱ inȱ mehrereȱ UnterȬ netzeȱ (Subnetze)ȱ inȱ zweiȱ Teileȱ zerlegtȱ undȱ zwarȱ inȱ dieȱ Teilnetznummerȱ (Subnet)ȱ undȱ dieȱ Hostnummer,ȱ worausȱ sichȱ insgesamtȱ eineȱ dreistufigeȱ Hierarchieȱ ergibt.ȱ Dieȱ gesamteȱ IPȬAdresseȱ wirdȱ beiȱ Subnettingȱ überȱ dasȱ Tupelȱ ȱ (Netzwerknummer,ȱ Subnetzwerknummer,ȱHostnummer)ȱangegebenȱ(sieheȱAbbildungȱ4Ȭ23).ȱ Nach außen sieht man nur 130.5.
Interne Organisation
130.5.0.0 Internet
Router
130.5.32.0 130.5.64.0 130.5.96.0 130.5.128.0 130.5.160.0 130.5.192.0 130.5.224.0 …
3. Byte wird zur Subnetzadressierung genutzt
Abbildungȱ4Ȭ24:ȱReduktionȱderȱRoutereinträgeȱdurchȱSubnetzeȱ
110ȱ
ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Wieȱ dieȱ Abbildungȱ 4Ȭ24ȱ zeigt,ȱ wirdȱ außerhalbȱ desȱ Teilnetzesȱ dieȱ Aufgliederungȱ allerdingsȱnichtȱsichtbar.ȱImȱglobalenȱInternetȱgibtȱesȱalsoȱnurȱeinenȱRouteneintragȱ fürȱ dieȱ Netzwerknummer,ȱ nichtȱ aberȱ fürȱ dieȱ Subnetzwerknummern.ȱ Interneȱ IPȬ Routerȱ berücksichtigenȱ aberȱ dieȱ Subnetzadresse.ȱ Dieȱ Netzwerkmaskeȱ wirdȱ auchȱ hierȱalsȱBitmaskeȱverwendet,ȱumȱdieȱBitȱderȱSubnetzwerknummerȱzuȱidentifizieren.ȱ InsgesamtȱsindȱimȱBeispielȱ254ȱSubnetzeȱmöglich,ȱdaȱdieȱSubnetzwerknummerȱdieȱ Werteȱ1ȱbisȱ254ȱannehmenȱkann.ȱ DerȱlokaleȱAdministratorȱbesitztȱalleȱFreiheitenȱzurȱBildungȱvonȱSubnetzen,ȱohneȱ dieȱKomplexitätȱaufȱdieȱexternenȱInternetȬRouterȱzuȱübertragen.ȱBeiȱeinerȱKlasseȬBȬ AdresseȱwäreȱfolgendeȱStrukturȱdenkbar:ȱ – DieȱerstenȱbeidenȱByteȱsindȱdieȱNetzwerknummer.ȱ – DasȱdritteȱByteȱgibtȱdieȱOrganisationseinheitȱimȱUnternehmenȱanȱ(SubnetzȬ Adresse).ȱ – DasȱvierteȱByteȱerlaubtȱdieȱNummerierungȱderȱHosts.ȱ 180
.
41
.
6
.
Adresse in dotted decimal
20
1011 0100
0010 1001
0000 0110
0001 0100
Adresse binär
1111 1111
1111 1111
1111 1111
0000 0000
Netzwerkmaske binär
1011 0100
0010 1001
0000 0110
0000 0000
Netzwerkadresse binär
Subnetz mit zwei Byte für Netzwerknummer und ein Byte für Subnetzwerknummer Die Netzmaske ist hier: 255.255.255.0
ȱ
Abbildungȱ4Ȭ25:ȱEinsatzȱderȱSubnetzadressierungȱ
DamitȱerkenntȱeinȱAdministratorȱschonȱanȱderȱAdresse,ȱwelcherȱOrganisationseinȬ heitȱ einȱ Hostȱ zugeordnetȱ ist.ȱ Durchȱ dieȱ Subnetzadressierungȱ ergebenȱ sichȱ zwarȱ nichtȱmehrȱAdressen,ȱaberȱsieȱträgtȱwesentlichȱzurȱunternehmensinternenȱStruktuȬ rierungȱ bei,ȱ ohneȱ dassȱ diesȱ nachȱ außenȱ dringt.ȱ Betrachtenȱ wirȱ dasȱ Beispielȱ inȱAbbildungȱ4Ȭ25.ȱHierȱistȱdieȱNetzmaskeȱ255.255.255.0ȱbeiȱeinerȱKlasseȬBȬAdresse.ȱ DasȱdritteȱByteȱdientȱalsoȱderȱSubnetzȬBildungȱundȱdasȱvierteȱbleibtȱfürȱdieȱHostȬ nummer.ȱ Dieȱ Nutzungȱ vonȱ Adressteilenȱ fürȱ dieȱ Subnetzbildungȱ istȱ nichtȱ anȱ dieȱ ByteȬ Grenzenȱgebunden.ȱDieȱKlasseȬCȬAdresseȱ193.1.1.0ȱkannȱmanȱz.B.ȱmitȱeinerȱNetzȬ werkmaskeȱ vonȱ 255.255.255.224ȱ (/27)ȱ ausstatten.ȱ Inȱ diesemȱ Fallȱ sindȱ dieȱ dreiȱ höȬ herwertigenȱ Bitȱ desȱ Hostanteilsȱ fürȱ dasȱ Subnetzwerkȱ reserviert,ȱ undȱ esȱ bleibenȱ nochȱ5ȱBitȱfürȱdenȱHostanteilȱübrigȱ(sieheȱAbbildungȱ4Ȭ26).ȱ
111ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 193
.
1
.
1
.
Adresse in dotted decimal
0
1100 0001
0000 0001
0000 0001
0000 0000
Adresse binär
1111 1111
1111 1111
1111 1111
1110 0000
Netzwerkmaske Binär Æ /27
Erweitertes Netzwerkpräfix
ȱ
Abbildungȱ4Ȭ26:ȱSubnetzwerkȱmitȱ27ȬBitȱerweitertesȱNetzwerkpräfixȱ
Damitȱ lassenȱ sichȱ inȱ diesemȱ Beispielȱ achtȱ /27ȬTeilnetzeȱ bilden,ȱ dieȱ folgendeȱ SubȬ netzȬAdressenȱzugeordnetȱbekommen:ȱ Basisnetz: 11000001.00000001.00000001.00000000 = 193.1.1.0/24 Teilnetz 0: 11000001.00000001.00000001.00000000 = 193.1.1.0/27 Teilnetz 1: 11000001.00000001.00000001.00100000 = 193.1.1.32/27 Teilnetz 2: 11000001.00000001.00000001.01000000 = 193.1.1.64/27 Teilnetz 3: 11000001.00000001.00000001.01100000 = 193.1.1.96/27 Teilnetz 4: 11000001.00000001.00000001.10000000 = 193.1.1.128/27 Teilnetz 5: 11000001.00000001.00000001.10100000 = 193.1.1.160/27 Teilnetz 6: 11000001.00000001.00000001.11000000 = 193.1.1.192/27 Teilnetz 7: 11000001.00000001.00000001.11100000 = 193.1.1.224/27
DasȱBasisnetzȱ193.1.1.0/24ȱwirdȱalsoȱinȱachtȱTeilnetzeȱmitȱjeweilsȱ30ȱnutzbarenȱIPȬ Adressenȱaufgeteilt.ȱDiesȱergibtȱinsgesamtȱ240ȱAdressen.ȱDieȱAdressenȱmitȱlauterȱ NullenȱundȱEinsenȱkönnenȱinȱkeinemȱ/27ȬNetzwerkȱgenutztȱwerden.ȱEsȱsindȱalsoȱ vonȱ denȱ maximalȱ möglichenȱ 254ȱ Adressenȱ desȱ /24ȬSubnetzesȱ weitereȱ 14ȱ fürȱ dieȱ Nutzungȱausgeschlossen.ȱDefaktoȱverliertȱmanȱalsoȱdurchȱdieȱSubnetzȬAufteilungȱ einȱpaarȱIPȬAdressen.ȱ Subnettingȱ wirdȱ auchȱ alsȱ FLSMȬSubnettingȱ (Fixedȱ Lengthȱ Subnetȱ Masks)ȱ imȱ GeȬ gensatzȱzuȱVLSMȱ(dasȱimȱFolgendenȱerläutertȱwird)ȱbezeichnet.ȱDamitȱistȱgemeint,ȱ dassȱeineȱeingestellteȱSubnetzȬAdresseȱinȱeinemȱNetzwerkȱstarrȱist.ȱTeilnetzȱ0ȱhatȱ imȱ Beispielȱ dieȱ Adresseȱ 193.1.1.0/27.ȱ Imȱ ganzenȱ Subnetzȱ mussȱ dieseȱ SubnetzȬ Adresseȱgelten,ȱundȱsieȱkannȱauchȱnichtȱmehrȱweiterȱunterteiltȱwerden.ȱ
4.2.6
VLSM und CIDR
InȱdenȱRoutingȬTabellenȱderȱwichtigenȱInternetȬRouter,ȱderȱsog.ȱBackboneȬRouter,ȱ istȱ seitȱ denȱ 90erȱ Jahrenȱ ȱ einȱ exponentiellesȱ Wachstumȱ zuȱ verzeichnen.ȱ Imȱ Jahreȱ 1990ȱgabȱesȱetwasȱmehrȱalsȱ2.000ȱRouten,ȱ1992ȱbereitsȱmehrȱalsȱ8.000ȱundȱ1995ȱwarȬ enȱesȱschonȱmehrȱalsȱ30.000ȱRouteneinträgeȱinȱdenȱBackboneȬRoutern.ȱ DasȱInternetȱwächstȱimmerȱmehrȱ(inȱdenȱ90erȱJahrenȱverdoppelteȱsichȱseineȱGrößeȱ inȱ wenigerȱalsȱ einemȱJahr),ȱ wasȱ vorȱ allemȱ durchȱ dieȱenormeȱ Nutzungȱ desȱ Worldȱ Wideȱ Webȱ verursachtȱ wird.ȱ Esȱ zeichneteȱ sichȱ bereitsȱ seitȱ Anfangȱ derȱ 90erȱ Jahreȱ
112ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ aufgrundȱ desȱ nichtȱ effektivȱ ausgenutztenȱ Adressraumsȱ eineȱ gewisseȱ AdressenȬ knappheitȱaus.ȱȱȱ Dieȱ Netzwerknummernȱ wurdenȱ zudemȱ inȱ derȱ Vergangenheitȱ nichtȱ sehrȱ effizientȱ verteilt.ȱKlasseȱAȬȱundȱBȬAdressenȱwurdenȱanȱOrganisationenȱvergeben,ȱdieȱüberȬ hauptȱ nichtȱ soȱ vieleȱ Adressenȱ benötigten.ȱ Aufgrundȱ derȱ Klasseneinteilungȱ kannȱ allerdingsȱ auchȱ tatsächlichȱ nichtȱ derȱ ganzeȱ Adressbereichȱ sinnvollȱ ausgenutztȱ werden.ȱBeispielsweiseȱmussteȱeinȱUnternehmenȱmitȱnurȱ10ȱRechnernȱeineȱKlasseȬ CȬAdresseȱ nutzenȱ undȱ vergeudeteȱ damitȱ 244ȱ (256Ȭ10Ȭ2)ȱ ȱIPȬAdressen 11,ȱ dieȱanderȬ weitigȱ genutztȱ werdenȱ könnten.ȱ Diesȱ istȱ auchȱ einȱ Grundȱ dafür,ȱ warumȱ IPȬ Adressenȱknappȱsind.ȱDaherȱwerdenȱheuteȱIPȬAdressenȱvomȱNICȱbzw.ȱinȱDeutschȬ landȱvonȱderȱDENICȱetwasȱrestriktiverȱzugewiesen.ȱ EinigeȱVerbesserungsvorschlägeȱfürȱdieȱAdressenproblematikȱwurdenȱerarbeitet:ȱ – Mitȱ demȱ VLSMȬKonzeptȱ (Variableȱ Lengthȱ Subnetȱ Masks)ȱ wurdenȱ variableȱ LängenȱderȱSubnetzȬMaskenȱinnerhalbȱeinerȱOrganisationȱmöglich.ȱEineȱbeȬ darfsgerechteȱAufteilungȱdesȱAdressraumsȱimȱIntranetȱwirdȱdadurchȱunterȬ stützt.ȱ – Mitȱ CIDRȱ (Classlessȱ InterDomainȱ Routing),ȱ auchȱ alsȱ „classlessȱ IP“ȱ bezeichȬ net,ȱwurdeȱdasȱKonzeptȱderȱKlasseneinteilungȱauchȱimȱglobalenȱInternetȱfalȬ lenȱgelassen.ȱVLSMȱwirdȱdamitȱauchȱvonȱdenȱRouternȱimȱglobalenȱInternetȱ unterstützt.ȱ Damitȱ wirdȱ eineȱ bedarfsgerechteȱ Aufteilungȱ desȱ Adressraumsȱ imȱglobalenȱInternetȱvereinfacht.ȱ – InȱderȱPraxisȱschafftȱNATȱ(NetworkȱAddressȱTranslation)ȱauchȱeineȱgewisseȱ Erleichterung.ȱȱ – DieȱneueȱVersionȱdesȱInternetȬProtokollsȱIPv6ȱmitȱAdresslängenȱvonȱ128ȱBitȱ sollȱinȱZukunftȱrichtigeȱAbhilfeȱschaffen.ȱȱ VLSMȱ(VariableȱLengthȱSubnetȱMasks)ȱbesagtȱprinzipiell,ȱdassȱeinemȱIPȬNetzwerkȱ mehrȱalsȱeineȱNetzwerkmaskeȱbzw.ȱeineȱvariabelȱlangeȱTeilnetzmaskeȱzugewiesenȱ werdenȱ kann.ȱ Damitȱ kannȱ eineȱ Organisationȱ denȱ ihrȱ zugewiesenenȱ Adressraumȱ nochȱeffektiverȱalsȱmitȱSubnetzadressenȱnutzen.ȱEineȱfeinereȱAufteilungȱderȱAdresȬ senȱaufȱinterneȱNetzeȱistȱmöglich,ȱwasȱwiederumȱhilft,ȱAdressenȱeinzusparen.ȱ Manȱ ergänztȱnachȱ derȱ IPȬAdresseȱ einenȱ Schrägstrichȱ undȱ dahinterȱ dieȱ Anzahlȱ anȱ Bit,ȱ dieȱ (linksbündig)ȱ fürȱdieȱ Netzwerknummerȱ verwendetȱ werden.ȱ DieȱNotationȱ lautetȱalsoȱwieȱfolgt:ȱ/ȱ Beispieladressen:ȱ – 180.41.6.0/16ȱ istȱ eineȱ klassischeȱ KlasseȬBȬAdresseȱ mitȱ zweiȱ Byteȱ fürȱ dieȱ NetzwerknummerȱundȱzweiȱByteȱfürȱdieȱHostnummer.ȱ – 180.41.6.0/24ȱistȱeinȱPendantȱzurȱinȱAbbildungȱ4Ȭ25ȱ gezeigtenȱSubnetzadresȬ seȱmitȱeinemȱNetzwerkanteilȱvonȱ24ȱBitȱundȱ8ȱBitȱfürȱdieȱHostnummer.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ZweiȱAdressenȱ(lauterȱNullenȱoderȱEinsen)ȱkönnenȱnichtȱfürȱHostsȱgenutztȱwerden.ȱ
11
113ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – 180.41.6.0/25ȱ entsprichtȱ vomȱ Adressbereichȱ einerȱ halbenȱ KlasseȬCȬAdresse.ȱ Esȱverbleibenȱ7ȱBitȱfürȱdenȱHostanteil.ȱ – 180.41.6.0/28ȱbelässtȱnurȱnochȱ4ȱBitȱfürȱdieȱHostnummerȱundȱkannȱfürȱkleineȱ Netzeȱ eingesetztȱ werden.ȱ Damitȱ wirdȱ einȱ KlasseȬCȬNetzwerkȱ nochȱ einmalȱ unterteilt.ȱ Insgesamtȱ könnteȱ manȱ mitȱ /28ȱ genauȱ 16ȱ kleineȱ Netzeȱ dieserȱ Artȱ unterstützen.ȱDavonȱkönnenȱaberȱzweiȱnichtȱgenutztȱwerden.ȱ SubnetzȬOrganisationȱbeiȱVLSMȱ Derȱ Vorteilȱ vonȱ VLSMȱ fürȱ eineȱ Organisationȱ sollȱ anȱ einemȱ typischenȱ KlasseȬBȬ Netzwerkȱ(/16ȬNetzwerk)ȱbeispielhaftȱdiskutiertȱwerden:ȱArbeitetȱmanȱohneȱinterȬ neȱSubnetze,ȱhatȱmanȱnurȱeinȱNetzwerkȱfürȱdieȱganzeȱOrganisation.ȱWennȱmanȱz.B.ȱ Subnettingȱ mitȱ einemȱ /22ȬNetzwerkpräfixȱ verwendet,ȱ soȱ ȱ bedeutetȱ dies,ȱ dassȱ 64ȱ Subnetzeȱ (6ȱ Bit)ȱ gebildetȱ werdenȱ können.ȱ Jedesȱ dieserȱ Subnetzeȱ kannȱ überȱ 1.022ȱ (210ȱ –ȱ 2)ȱ Hostadressenȱ verfügen.ȱ Wennȱ allerdingsȱ einȱ Teilnetzȱ derȱ Organisationȱ wenigerȱalsȱ1.022,ȱz.B.ȱnurȱ50ȱHostadressenȱbenötigt,ȱistȱdieȱAufteilungȱbeiȱSubnetȬ tingȱauchȱvielȱzuȱstarr.ȱMehrȱalsȱeineȱTeilnetzwerkmaskeȱistȱnichtȱmöglich,ȱundȱesȱ werdenȱvieleȱIPȬAdressenȱverschenkt.ȱȱ WäreȱdieȱTeilnetzmaskeȱnochȱweiterȱunterteilbar,ȱsoȱkönnteȱmanȱunterhalbȱdesȱ/22Ȭ Teilnetzesȱ z.B.ȱ nochȱ einȱ /26ȬTeilnetzȱ bildenȱ undȱ hätteȱ fürȱ dieȱ Abteilungȱ mitȱ 50ȱ Hostsȱ eineȱ vernünftigeȱ Größeȱ (26ȱ –ȱ 2ȱ =ȱ 62ȱ Adressen)ȱ ohneȱ zuȱ großeȱ AdressenverȬ schwendung.ȱ VLSMȱ erlaubtȱ dies,ȱ indemȱ derȱ Adressraumȱ einerȱ Organisationȱ reȬ kursivȱ aufteilbarȱ ist.ȱ Zusätzliche,ȱ überȱ dieȱ KlasseȬBȬNetzwerkadresseȱ hinausgeȬ hendeȱ Routinginformationȱ wirdȱ aberȱ nichtȱ nachȱ außenȱ insȱ globaleȱ Internetȱ gegeȬ ben,ȱdieȱSubnetzeȱsindȱalsoȱnurȱinȱderȱOrganisationȱbekannt,ȱundȱdieȱRouterȱwerȬ denȱnichtȱbelastet.ȱ Beispiel:ȱ Inȱ Abbildungȱ 4Ȭ27ȱ istȱ einȱ Beispielȱ fürȱ eineȱ hierarchischeȱ Aufteilungȱ desȱ Teilnetzesȱ11.0.0.0/8ȱskizziert.ȱDasȱTeilnetzȱistȱzunächstȱinȱ254ȱ/16ȬTeilnetzeȱunterȬ teiltȱundȱdieseȱwiederumȱinȱ/24ȬTeilnetze.ȱInȱderȱAbbildungȱsindȱaufȱderȱunterstenȱ Ebeneȱ schließlichȱ sechsȱ nutzbareȱ /27ȬTeilnetzeȱ unterȱ 11.1.2.0/24ȱ dargestellt.ȱ Dieȱ anderenȱ Teilnetzeȱ könnenȱ ebenfallsȱ untergliedertȱ werdenȱ undȱ auchȱ dieȱ /27Ȭ Teilnetzeȱsindȱweiterhinȱunterteilbar.ȱȱ Mitȱ VLSMȱ istȱ eineȱ bedarfsgerechteȱ Aufteilungȱ desȱ Adressraumsȱ möglich.ȱ Beiȱ derȱ NetzwerkplanungȱmussȱmanȱsichȱüberlegenȱwieȱvieleȱSubnetzeȱundȱwieȱvieleȱIPȬ Adressenȱ manȱ innerhalbȱ einesȱ Subnetzesȱ benötigt.ȱ Darausȱ ergibtȱ sichȱ dieȱ Anzahlȱ derȱ Bit,ȱ dieȱmanȱ nochȱ demȱ Netzwerkpräfixȱ hinzufügenȱ muss.ȱHatȱ manȱ beispielsȬ weiseȱvonȱseinemȱISPȱdieȱAdresseȱ143.26.0.0/16ȱfürȱdieȱeigeneȱOrganisationȱzugeȬ wiesenȱbekommenȱundȱdieȱOrganisationȱistȱinȱ14ȱSubnetzeȱmitȱjeweilsȱmax.ȱ4.000ȱ Rechnernȱ strukturiert,ȱ soȱistȱ esȱsinnvoll,ȱ vierȱ Bitȱ fürȱ dieȱSubnetzȬAdressierungȱ zuȱ verwenden.ȱ Damitȱ kannȱ manȱ nämlichȱ 14ȱ Subnetzeȱ bildenȱ undȱ erhältȱ jeweilsȱ einȱ /20ȬSubnetzȱmitȱ4.094ȱIPȬAdressen.ȱGibtȱesȱeinigeȱkleinereȱSubnetzeȱinȱderȱOrganiȬ sation,ȱkannȱmanȱeinȱ/20ȬSubnetzȱauchȱnochmalsȱunterteilen.ȱ ȱ
114ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ /8
/16
/24
11.0.0.0/8
11.1.0.0/16
11.1.1.0/24
11.2.0.0/16
11.1.2.0/24
11.3.0.0/16
11.1.3.0/24
...
...
11.254.0.0/16
11.1.254.0/24
binär (letztes Byte): /27
11.1.2.0/27
000x.xxxx (nicht nutzbar)
11.1.2.32/27
001x.xxxx
11.1.2.64/27
010x.xxxx
11.1.2.96/27
011x.xxxx
11.1.2.128/27
100x.xxxx
11.1.2.160/27
101x.xxxx
11.1.2.192/27
110x.xxxx
11.1.2.224/27
111x.xxxx (nicht nutzbar)
8 /27-Teilnetze mit jeweils 30 Hostadressen
ȱ Abbildungȱ4Ȭ27:ȱBeispielȱfürȱhierarchischeȱVLSMȬAufteilungȱeinesȱNetzwerkbereichsȱ
Routing bei VLSM Dieȱ internenȱ Routerȱ derȱ Organisationȱ müssenȱ aberȱ VLSMȱ unterstützen.ȱ RIPȬ1,ȱ einesȱderȱbekanntestenȱRoutingȬProtokolle,ȱüberträgtȱauchȱbeimȱInformationsausȬ tauschȱzwischenȱdenȱRouternȱkeineȱNetzwerkmaske,ȱundȱdamitȱwirdȱdieȱSubnetzȬ Informationȱ nichtȱ übertragen.ȱ RIPȬ1ȱ ermittelnȱ dieȱ Netzwerkmaskenȱ fürȱ nichtȱ beȬ kannteȱNetzwerkeȱanhandȱderȱNetzwerknummer,ȱdieȱsichȱausȱderȱKlassenzugehöȬ rigkeitȱergibt.ȱEsȱsindȱalsoȱerweiterteȱRoutingprotokolleȱerforderlich.ȱDieȱFolgeverȬ sionȱvonȱRIPȬ1ȱwirdȱalsȱRIPȬ2ȱbezeichnetȱundȱunterstütztȱVLSMȱbereits.ȱAuchȱdasȱ RoutingȬProtokollȱOSPFȱunterstütztȱbereitsȱdasȱWeiterleitenȱdesȱerweitertenȱNetzȬ werkpräfix. 12ȱȱ Beispiel:ȱ Inȱ Abbildungȱ 4Ȭ28ȱ istȱ einȱ Beispielȱ fürȱ eineȱ strukturierteȱ Nutzungȱ vonȱ VLSMȱinȱeinerȱinternenȱOrganisationȱgegeben.ȱDerȱRouter,ȱderȱinsȱglobaleȱInternetȱ routet,ȱgibtȱnurȱeineȱRouteȱ(11/8)ȱfürȱdieȱderȱOrganisationȱzugewieseneȱNetzwerkȬ nummerȱbekannt.ȱȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dieȱ RoutingȬProtokolleȱ werdenȱ nochȱ erläutert.ȱ RIPȱ undȱ OSPFȱ werdenȱ innerhalbȱ vonȱ autonomenȱSystemenȱverwendet.ȱ
12
115ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Interne Organisation (Intranet) 11.1.0.0/16
Übergang ins Internet
Internet
11.2.0.0/16 11.3.0.0/16 ...
R1
11.1.1.0/24 11.1.2.0/24 ...
R2
11.252.0.0/16 11.254.0.0/16
11.0.0.0/8 (11/8)
11.1.252.0/24 11.1.254.0/24
R3 11.253.0.0/16
Ins globale Internet ist nur eine Route bekannt!
Rx
Router
R4 11.1.253.0/24
11.253.32.0/19 11.253.64.0/19 ... 11.253.160.0/19 11.253.192.0/19
11.1.253.21/27 11.1.253.64/27 11.1.253.96/27 11.1.253.128/27 11.1.253.160/27 ...
ȱ Abbildungȱ4Ȭ28:ȱVLSMȬBeispielkonfigurationȱ
AuchȱinternȱfassenȱRouterȱdieȱTeilnetzeȱzusammen.ȱDerȱRouterȱR4ȱfasstȱz.B.ȱsechsȱ /27ȬTeilnetzeȱzusammen.ȱNachȱaußenȱgibtȱderȱRouterȱnurȱInformationenȱüberȱdasȱ Teilnetzȱ11.1.253.0/24.ȱRouterȱR2ȱstelltȱR4ȱalsoȱalleȱPaketeȱdurch,ȱdieȱanȱdasȱgesamȬ teȱTeilnetzȱ11.1.253.0/24ȱadressiertȱsind.ȱWieȱR4ȱweiterroutetȱistȱR2ȱnichtȱbekannt.ȱ AuchȱderȱRouterȱR2ȱfasstȱalleȱhinterȱihmȱliegendenȱRoutenȱinȱderȱTeilnetzwerkadȬ resseȱ11.1.0.0/16ȱundȱR3ȱalleȱTeilnetzeȱzurȱRouteȱ11.253.0.0/16ȱzusammen.ȱ CIDR im globalen Internet: CIDR 13ȱ(RFCsȱ 1518/1519)ȱ istȱ einȱ InternetȬStandardȱ (RFCȬProtokolltypȱ =ȱ ProposedȬ StandardȬProtokoll)ȱ undȱ bedeutetȱ “Classlessȱ Interȱ Domainȱ Routing“.ȱ Mitȱ diesemȱ Konzeptȱ begegnetȱ manȱ derȱ Adressknappheitȱ auchȱ imȱ globalenȱ Internet.ȱ CIDRȱ funktioniertȱwieȱVLSM,ȱdieȱNetzwerknummernȱsindȱalsoȱnichtȱstarrȱnachȱKlassenȱ sondernȱ flexibel,ȱ bitweiseȱ einstellbar.ȱ Mitȱ CIDRȱ wirdȱ eineȱ IPȬAdresseȱ wieȱ beiȱ VLSMȱinȱNetzwerkpräfixȬNotationȱbeschrieben.ȱDamitȱhatȱmanȱimȱglobalenȱInterȬ netȱ nebenȱ einerȱ optimalerenȱ Adressenorganisationȱ auchȱ dieȱ Vorteileȱ derȱ RoutenȬ AggregationȱzurȱEntlastungȱderȱRoutingȬTabellen.ȱ DasȱKonzeptȱvonȱCIDRȱgehtȱnochȱetwasȱweiter:ȱ – Dieȱ restlichen,ȱ nochȱ nichtȱ vergebenenȱ KlasseȬCȬNetzeȱ (beiȱ derȱ CIDRȬ Einführungȱca.ȱ2ȱMillionen)ȱwerdenȱinȱBlöckenȱvariablerȱLängeȱvergeben.ȱ – Dieȱ Vergabeȱ derȱ Blöckeȱ wirdȱ vonȱ denȱ ISPsȱ (Internetȱ Serviceȱ Provider)ȱ verȬ waltet.ȱ – CIDRȱ unterstütztȱ sog.ȱ geographischeȱ Zonenȱ fürȱ dieȱ verbleibendenȱ KlasseȬCȬ Netze.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ CIDRȱwirdȱalsȱ„caider“ȱausgesprochen.ȱ
13
116ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Brauchtȱz.B.ȱeinȱStandortȱ(Unternehmen,ȱInstitut)ȱ2.000ȱAdressen,ȱerhältȱerȱvomȱISPȱ achtȱ aufeinanderfolgendeȱ KlasseȬCȬNetzeȱ zugewiesen,ȱ wasȱ 2.048ȱ Adressenȱ entȬ spricht.ȱDamitȱkannȱaufȱeineȱKlasseȬBȬAdresseȱverzichtetȱwerden.ȱBrauchtȱeinȱUnȬ ternehmenȱwenigerȱAdressen,ȱalsȱmitȱeinerȱKlasseȬCȬAdresseȱadressierbarȱsind,ȱsoȱ wirdȱ auchȱ dieȱ KlasseȬCȬAdresseȱ vomȱ ISPȱ nochȱ einmalȱ unterteiltȱ undȱ manȱ spartȱ erneutȱAdressenȱein.ȱ CIDRȱhatȱsichȱheuteȱzumȱStandardȱentwickeltȱundȱwirdȱvonȱallenȱRouternȱundȱdenȱ entsprechendenȱ RoutingȬProtokollenȱ unterstützt.ȱ Alleȱ Routerȱ müssenȱ einenȱ WeiȬ terleitungsalgorithmusȱ implementieren,ȱ derȱ aufȱ derȱ längstȱ möglichenȱ ÜbereinȬ stimmungȱ derȱ Netzwerkmaskeȱ basiert.ȱ Dieȱ RoutingȬProtokolleȱ müssenȱ dieȱ NetzȬ werkpräfixeȱmitȱderȱRoutingȬInformationȱ(Routenankündigung)ȱübertragen.ȱ Beispielȱ fürȱsinnvolleȱ Netzwerkgestaltungȱ mitȱCIDR/VLSM:ȱDerȱAdressbereichȱ 180.41.224.0/24ȱ kannȱ mitȱ CIDRȱ undȱVLSMȱ vielfältigȱ aufgeteiltȱ werden.ȱ Inȱ derȱ TaȬ belleȱ 4Ȭ2ȱ istȱ eineȱ beispielhafteȱ Aufteilungȱ dargestellt.ȱ Bräuchteȱ manȱ etwaȱ einenȱ Adressbereichȱ mitȱ 25ȱHostadressen,ȱ kämeȱ z.B.ȱ 180.41.224.192/27ȱmitȱ insgesamtȱ 30ȱ gültigenȱ Hostadressenȱ inȱ Frage.ȱ Manȱ könnteȱ diesenȱ Adressbereichȱ auchȱ nochȱ inȱ zweiȱBereicheȱzuȱjeȱ14ȱAdressenȱaufteilen.ȱDiesȱfunktioniert,ȱindemȱmanȱstattȱ27ȱBitȱ nunȱ28ȱBitȱfürȱdieȱMaskeȱverwendet,ȱworausȱsichȱfolgendeȱBereicheȱergeben:ȱ – 180.41.224.192/28ȱ(gültigeȱAdressenȱ180.41.224.193ȱbisȱ180.41.224.206)ȱ – 180.41.224.208/28ȱ(gültigeȱAdressenȱ180.41.224.209ȱbisȱ180.41.224.222)ȱ DurchȱdieȱAufteilungȱverliertȱmanȱaberȱnochmalsȱzweiȱHostadressen,ȱdaȱinȱbeidenȱ Bereichenȱ nunȱ jeweilsȱ 14ȱ Hostadressenȱ gültigȱ sind.ȱ Diesȱ reichtȱ aberȱ immerȱ noch,ȱ umȱdieȱAnforderungȱzuȱerfüllen.ȱ Tabelleȱ4Ȭ2:ȱBeispielȱfürȱeineȱAufteilungȱdesȱAdressraumsȱmitȱCIDR/VLSMȱ Adressbereichȱ
BinäreȱNetzwerkadresseȱ
vonȱAdresseȱ
bisȱAdresseȱ
Adressenȱ
180.41.224.0/25ȱ
11000000.00101001.11100000.00000000ȱ
180.41.224.0ȱ
180.41.224.127ȱ
128ȱȬȱ2ȱ
180.41.224.128/26ȱ
11000000.00101001.11100000.10000000ȱ
180.41.224.128ȱ
180.41.224.191ȱ
64ȱ–ȱ2ȱ
180.41.224.192/27ȱ
11000000.00101001.11100000.11000000ȱ
180.41.224.192ȱ
180.41.224.223ȱ
32ȱ–ȱ2ȱ
180.41.224.224/28ȱ
11000000.00101001.11100000.11100000ȱ
180.41.ȱ224.224ȱ
180.41.224.239ȱ
16ȱ–ȱ2ȱȱ
180.41.224.240/29ȱ
11000000.00101001.11100000.ȱ11110000ȱ
180.41.224.240ȱ
180.41.224.247ȱ
8ȱ–ȱ2ȱ
180.41.224.248/30ȱ
11000000.00101001.11100000.ȱ11111000ȱ
180.41.224.248ȱ
180.41.224.251ȱ
4ȱ–ȱ2ȱ
180.41.224.252/30ȱ
11000000.00101001.11100000.ȱ11111100ȱ
180.41.224.252ȱ
180.41.224.255ȱ
4ȱ–ȱ2ȱ
ȱ DieȱTabelleȱ4Ȭ2ȱzeigtȱeineȱtypischeȱAufteilungȱeinesȱKlasseȬCȬNetzwerksȱinȱweitereȱ Subnetze.ȱJedeȱAdresseȱdarfȱnatürlichȱnurȱeinmalȱvorkommen.ȱÜberschneidungenȱ
117ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ darfȱesȱnichtȱgeben,ȱundȱderȱAdressbereichȱdarfȱnatürlichȱauchȱnurȱeinmalȱvergeȬ benȱ werden.ȱ Dieȱ Vergabeȱ derȱ Adressenȱ mussȱ entsprechendȱ geplantȱ werden.ȱ Dasȱ KlasseȬCȬNetzwerkȱ wirdȱ inȱ zweiȱ Subnetzeȱ mitȱ 126ȱ Adresseȱ (/25)ȱ aufgeteilt.ȱ Dasȱ ersteȱmitȱderȱAdresseȱ180.41.224.0/25ȱwirdȱnichtȱmehrȱweiterȱuntergliedertȱundȱdasȱ zweiteȱmitȱderȱAdresseȱ180.41.224.128/25ȱwirdȱweiterȱzerlegt.ȱSchrittweiseȱwerdenȱ demȱ Netzwerkpräfixȱ immerȱ mehrȱ Bitȱ hinzugefügt.ȱ Dieȱ fettȱ dargestelltenȱ Bitȱ sindȱ demȱ Netzwerkpräfixȱ zugeordnet,ȱ dieȱ restlichenȱ Bitȱ könnenȱ fürȱ denȱ Hostanteilȱ verwendetȱwerden.ȱ Geographische Zonen: Einȱ positiverȱ Nebeneffektȱ ergibtȱ sichȱ beiȱ Einsatzȱ vonȱ CIDRȱ durchȱ eineȱ VerbesseȬ rungȱ imȱ globalenȱ InternetȬRoutingȱ undȱ zwarȱ nichtȱ nurȱ durchȱ dieȱ RoutenȬ Aggregation.ȱȱ Dieȱ verbleibendenȱ KlasseȬCȬNetzeȱ werdenȱ inȱ achtȱ gleichȱ großeȱ Adressblöckeȱ mitȱ einerȱGrößeȱvonȱ131.072ȱAdressenȱunterteiltȱundȱsog.ȱAreasȱ(geographischeȱZonen)ȱ zugeordnetȱ (RFCȱ 1466).ȱ Aktuellȱ sindȱ u.a.ȱ vierȱ Areasȱ mitȱ folgendenȱ Adressenȱ ausȱ demȱKlasseȬCȬAdressbereichȱfestgelegt:ȱ – – – –
Europa:ȱ194.0.0.0ȱbisȱ195.255.255.255ȱ Nordamerika:ȱ198.0.0.0ȱbisȱ199.255.255.255ȱ ZentralȬȱundȱSüdamerika:ȱ200.0.0.0ȱbisȱ201.255.255.255ȱ PazifikȬLänder:ȱ202.0.0.0ȱbisȱ203.255.255.255ȱ
Durchȱ eineȱ festeȱ Zuordnungȱ vonȱ KlasseȬCȬAdressbereichenȱ zuȱ geographischenȱ Zonenȱ kannȱ nunȱ z.B.ȱ einȱ europäischerȱ Routerȱ anhandȱ derȱ Zieladresseȱ feststellen,ȱ obȱ einȱ Paketȱ inȱ Europaȱ bleibtȱ oderȱ z.B.ȱ direktȱ zuȱ einemȱ amerikanischenȱ Routerȱ weitergeleitetȱwerdenȱsoll.ȱDamitȱwirdȱeineȱOptimierungȱderȱWegewahlȱerreicht.ȱ 31ȬBitȬPräfixes.ȱ Beiȱ VLSM/CIDRȱ werdenȱ durchȱ dieȱ Nichtausnutzungȱ vonȱ /31Ȭ SubnetzenȱIPȬAdressenȱverschenkt.ȱTatsächlichȱerhältȱmanȱz.B.ȱausȱeinemȱKlasseȬ CȬNetzwerkȱ wenigerȱ IPȬAdressenȱ alsȱ beiȱ derȱ klassenweisenȱ Adressvergabe.ȱ UrȬ sprünglichȱ warȱ dieȱ Nutzungȱ einesȱ /31ȬSubnetzesȱ nichtȱ zulässig,ȱ daȱ hiermitȱ nurȱ zweiȱHostadressenȱgebildetȱwerdenȱkönnen.ȱDieȱersteȱbestehtȱausȱeinerȱbinärenȱ‚0’ȱ undȱdieȱzweiteȱausȱeinerȱ‚1’ȱimȱHostanteil.ȱAdressenȱmitȱlauterȱNullenȱoderȱEinsenȱ sindȱ aberȱ nichtȱ fürȱ Hostadressenȱ zugelassen,ȱ daȱ sieȱ mitȱ Spezialadressenȱ wieȱ derȱ Broadcastadresseȱ inȱ Konfliktȱ stehen.ȱ Imȱ RFCȱ 3021ȱ istȱ dieȱ Nutzungȱ vonȱ 31ȬBitȬ Präfixesȱaberȱnunȱeingeschränktȱzugelassenȱworden.ȱAlsȱsinnvolleȱAnwendungȱistȱ derȱEinsatzȱbeiȱderȱVerbindungȱzweierȱRouterȱangegeben.ȱDamitȱkönnenȱnunȱauchȱ dieseȱAdressenȱeingesetztȱwerden,ȱwasȱalsȱMittelȱzurȱLinderungȱderȱAdressknapȬ pheitȱgenutztȱwerdenȱkann.ȱ ȱ
118ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ
4.2.7
IP-Protokoll-Header
InȱdiesemȱAbschnittȱwerfenȱwirȱeinenȱBlickȱaufȱdieȱIPȬPCI,ȱalsoȱdenȱIPȬHeaderȱmitȱ allȱ seinenȱ Feldern.ȱ Wieȱ inȱ Abbildungȱ 4Ȭ29ȱ unschwerȱ zuȱ erkennenȱ ist,ȱ handeltȱ esȱ sichȱaufgrundȱdesȱvariabelȱlangenȱOptionsteilsȱumȱeinenȱvariabelȱlangenȱHeader.ȱ 32 Bit
Version
IHL
Type of Service
Identifikation Time to Live
Paketlänge (in Byte) Flags
Protokoll
Fragment Offset Header Prüfsumme
Quell-IP-Adresse Ziel-IP-Adresse Optionen (0 oder mehr Wörter)
Padding
Daten
ȱ Abbildungȱ4Ȭ29:ȱIPȬHeaderȱ
FolgendeȱFelderȱsindȱimȱIPȬHeaderȱenthalten:ȱ – Version:ȱEnthältȱdieȱgenutzteȱIPȬVersionȱ(derzeitȱ4).ȱȱ – IHL:ȱ Gibtȱ dieȱ Längeȱ desȱ IPȬHeadersȱ gemessenȱ inȱ 32ȬBitȬWortenȱ an.ȱ Diesesȱ Längenfeldȱ istȱ aufgrundȱ derȱ variablenȱ Längeȱ desȱ Optionsfeldesȱ nötig.ȱ Derȱ HeaderȱhatȱeineȱLängeȱvonȱmindestensȱfünfȱ32ȬBitȬWortenȱohneȱBerücksichȬ tigungȱderȱOptionenȱundȱmaximalȱ15ȱWortenȱbeiȱOptionsangabe,ȱalsoȱmax.ȱ 60ȱByte.ȱȱ – TypeȱofȱService:ȱDieȱBedeutungȱdiesesȱFeldesȱwurdeȱmehrfachȱgeändert:ȱ o ImȱRFCȱ791ȱwurdeȱesȱaufȱdreiȱEinzelfelderȱaufgeteilt.ȱInȱdenȱerstenȱdreiȱ Bitȱ konnteȱ manȱ eineȱ Prioritätȱ angebenȱ (000=Standard,ȱ 001=Priorität,ȱ ...,ȱ 101=kritisch,ȱ ...),ȱ inȱ denȱ nächstenȱ dreiȱ Bitȱ einenȱ ServiceȬTypenȱ (hoherȱ Durchsatz,ȱniedrigeȱVerzögerung,ȱ...)ȱundȱdieȱletztenȱbeidenȱBitȱwurdenȱ nichtȱbelegt.ȱ o Nachȱ einigenȱ Änderungenȱ wurdenȱ dieȱ erstenȱ sechsȱ Bitȱ imȱ Rahmenȱ derȱ FestlegungenȱdifferenzierterȱServicesȱimȱInternetȱimȱRFCȱ2474ȱneuȱdefiȬ niert.ȱ Zurȱ Definitionȱ differenzierterȱ Servicesȱ könnenȱ 64ȱ verschiedeneȱ Klassenȱangegebenȱwerden.ȱ o DieȱletztenȱbeidenȱBitȱwerdenȱheuteȱgemäßȱRFCȱ2481ȱfürȱeinenȱexpliziȬ tenȱ CongestionȬNotificationȬMechanismusȱ (ECN)ȱ verwendet.ȱ Überȱ dieȬ senȱ Mechanismusȱ könnenȱ sichȱ benachbarteȱ Routerȱ überȱ WarteschlanȬ genȬEngpässeȱ informieren,ȱ umȱ Überlastsituationenȱ aufȱ derȱ IPȬEbeneȱ zuȱ behandeln.ȱ
119ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Paketlänge:ȱGesamtlängeȱdesȱDatenpaketsȱinȱByteȱinkl.ȱdesȱHeaders.ȱDieȱMaȬ ximallängeȱbeträgtȱ65.535ȱByte.ȱ – Identifikation:ȱ Alleȱ Fragmenteȱ einesȱ Datagrammsȱ erhaltenȱ hierȱ denȱ gleichenȱ Wertȱ(mehrȱdazuȱweiterȱunten).ȱ – Flags:ȱ (3ȱ Bit)ȱ Dientȱ derȱ Kontrolleȱ derȱ Fragmentierungȱ (mehrȱ dazuȱ beiȱ derȱ Fragmentierungȱweiterȱunten).ȱDieȱFlagsȱgebenȱan,ȱobȱdasȱFeldȱgeteiltȱwerȬ denȱmussȱundȱweitereȱPaketeȱfolgenȱoderȱobȱdasȱaktuelleȱPaketȱdasȱletzteȱist.ȱ EsȱsindȱdreiȱFlags,ȱwovonȱdasȱersteȱunbenutztȱist.ȱDieȱbenutztenȱFlagsȱheiȬ ßenȱDFȱundȱMFȱundȱhabenȱfolgendeȱBedeutung:ȱ o Fallsȱ DF=1ȱ ist,ȱ dannȱ istȱ eineȱ Fragmentierungȱ desȱ Paketsȱ nichtȱ erlaubt.ȱ Diesesȱ Flagȱ istȱ fürȱ Routerȱ vonȱ Bedeutung,ȱ umȱ zuȱ entscheiden,ȱ obȱ eineȱ Fragmentierungȱerfolgenȱdarf.ȱ o Fallsȱ MF=0ȱ (Moreȱ Fragments)ȱ ist,ȱ dannȱ handeltȱ esȱ sichȱ umȱ dasȱ letzteȱ FragmentȱimȱDatagramm.ȱFallsȱMF=1ȱist,ȱfolgenȱnochȱweitereȱFragmente.ȱ Diesesȱ Flagȱ istȱ fürȱ dasȱ Zielsystemȱ wichtig,ȱ umȱ dasȱ Endeȱ desȱ DataȬ grammsȱzuȱerkennen.ȱ – Fragmentȱ Offsetȱ (FO):ȱ Diesesȱ Feldȱ dientȱ derȱ korrektenȱ Herstellungȱ derȱ UrȬ sprungssequenz,ȱ daȱ Paketeȱ dasȱ Zielȱ inȱ unterschiedlicherȱ Reihenfolgeȱ erreiȬ chen.ȱ Dasȱ Feldȱ dientȱ derȱ Ermittlungȱ derȱ relativenȱ Lageȱ desȱ Fragmentsȱ imȱ Datagrammȱ(angegebenȱinȱByteȬOffsetȱdividiertȱdurchȱ8)ȱundȱistȱ13ȱBitȱlang.ȱ Damitȱlassenȱsichȱgenauȱ213ȱ*ȱ8ȱByteȱ=ȱ8.192ȱ*ȱ8ȱByteȱdarstellen,ȱwasȱmitȱderȱ maximalenȱ Paketlängeȱ korrespondiert.ȱDasȱ kleinsteȱFragmentȱ hatȱ demnachȱ eineȱLängeȱvonȱ8ȱByteȱ(ohneȱHeader).ȱ – Timeȱtoȱ liveȱ(TTL):ȱ Dasȱ Feldȱ gibtȱ an,ȱ wieȱ langeȱ einȱ Datagrammȱ imȱ Internetȱ verbleibenȱdarf.ȱEsȱdientȱdazu,ȱzuȱalteȱPaketeȱvomȱNetzȱzuȱnehmen.ȱBeiȱeiȬ nemȱWertȱvonȱ0ȱwirdȱdasȱPaketȱverworfenȱundȱeineȱICMPȬNachrichtȱ(ICMPȱ wirdȱ weiterȱ untenȱ nochȱ erläutert)ȱ zumȱ Quellhostȱ gesendet.ȱ Ursprünglichȱ warȱdieȱAngabeȱderȱZeitȱinȱSekundenȱ(max.ȱ255ȱs)ȱgedacht,ȱeinȱPaketȱsollteȱ alsoȱ max.ȱ 255ȱ Sekundenȱ lebenȱ undȱ dannȱ mussȱ esȱ ausgeliefertȱ sein.ȱ Heuteȱ wirdȱ esȱ aberȱ alsȱ HopȬCountȱ genutzt.ȱ Jederȱ Router,ȱ denȱ einȱ Paketȱ passiert,ȱ subtrahiertȱ1ȱvonȱdiesemȱFeld.ȱDerȱInitialzustandȱhängtȱmeistȱvonȱderȱKonȬ figurierungȱimȱHostȱab.ȱ – Protokoll:ȱ Dasȱ Feldȱ definiertȱ dasȱ darüberliegendeȱ Protokoll,ȱ anȱ welchesȱ dieȱ DatenȱdesȱPaketsȱweitergereichtȱwerdenȱ(6=TCP,ȱ89=OSPF,...)ȱundȱistȱwichȬ tigȱ fürȱ dieȱ Zuordnungȱ ankommenderȱ Paketeȱ anȱ dieȱ entsprechendenȱ TransȬ portinstanzen.ȱ – HeaderȬPrüfsumme:ȱ Diesȱ istȱ eineȱ Prüfsumme,ȱ dieȱ derȱ Fehlererkennungȱ imȱ IPȬHeaderȱ dient.ȱ Dasȱ Feldȱ sichertȱ alsoȱ nichtȱ Datenȱ inȱ höherenȱ Protokollen.ȱ Esȱ mussȱ fürȱ jedeȱ Teilstreckeȱ neuȱ berechnetȱ werden,ȱ daȱ sichȱ derȱ TTLȬWertȱ immerȱverändert.ȱ – QuellȬIPȬAdresseȱ undȱ ZielȬIPȬAdresse:ȱ Hierȱ werdenȱ jeweilsȱ dieȱ 32ȱ Bitȱ langenȱ IPȬAdressenȱfürȱdieȱQuelleȱundȱdasȱZielȱeingetragen.ȱȱ
120ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ – Optionen:ȱ Inȱ diesemȱ Feldȱ stehenȱ zusätzliche,ȱ optionaleȱ Angaben.ȱ Beispielȱ sindȱ„LooseȱSourceȱRouting“ȱalsȱMöglichkeit,ȱdenȱWegȱeinesȱPaketesȱdurchȱ dasȱInternetȱaufzuzeichnen,ȱundȱ„StrictȱSourceȱRouting“,ȱwobeiȱfürȱdieȱPaȬ keteȱ dieȱ Pfadvorgabeȱ eingehaltenȱ werdenȱ muss.ȱ Dasȱ Feldȱ wirdȱ seltenȱ verȬ wendet.ȱ – Padding:ȱ Wennȱ eineȱ Optionȱ genutztȱ wird,ȱ mussȱ dasȱ Datagrammȱ bisȱ zurȱ nächstenȱ32ȬBitȬGrenzeȱmitȱNullenȱaufgefülltȱwerden.ȱDiesȱwirdȱbeiȱBedarfȱ inȱdiesemȱFeldȱerledigt.ȱ – Daten:ȱHierȱsindȱdieȱNutzdatenȱderȱhöherenȱSchichtȱenthalten.ȱ Dieȱ Bedeutungȱ derȱ Felderȱ fürȱ dieȱ Fragmentierungȱ wirdȱ imȱ Zusammenhangȱ verȬ ständlich.ȱȱ
4.2.8
IP-Fragmentierung und -Reassemblierung
DasȱInternetȱunterstütztȱeineȱVielzahlȱvonȱNetzwerkzugängenȱ(Schichtȱ2).ȱImȱLANȱ istȱ z.B.ȱ derȱ EthernetȬStandardȱ einȱ typischerȱ Netzwerkzugang,ȱ imȱ WANȬBereichȱ gibtȱ esȱ u.a.ȱ ISDN,ȱ ADSL,ȱ ATMȱ usw.ȱ Allȱ dieseȱ Netzwerkzugängeȱ übertragenȱ ihreȱ Datenȱ ausȱ IPȬSichtȱ inȱ SchichtȬ2ȬPDUs,ȱ inȱ denenȱ dieȱ übertragbareȱ Nutzdatenlängeȱ jeweilsȱ unterschiedlichȱ ist.ȱ EthernetȬPaketeȱ habenȱ z.B.ȱ eineȱ Maximallängeȱ vonȱ 1.500ȱ Byte.ȱ Vieleȱ WANȱ könnenȱ nichtȱ mehrȱalsȱ576ȱByteȱ inȱ einerȱPDUȱ übertragen.ȱ DieseȱGrößeȱwirdȱalsȱmaximaleȱTransfereinheitȱ(MTU)ȱbezeichnet.ȱȱ AufȱeinerȱRouteȱzwischenȱeinemȱZielrechnerȱundȱeinemȱQuellrechnerȱkannȱesȱnunȱ sein,ȱ dassȱ verschiedeneȱ SchichtȬ2ȬVerbindungenȱ zuȱ durchlaufenȱ sind,ȱ dieȱ unterȬ schiedlicheȱ MTUȬLängenȱ aufweisen.ȱ Wennȱ einȱ IPȬDatagrammȱ größerȱ ist,ȱ alsȱ dieȱ MTUȱ desȱ Netzwerkzugangs,ȱ überȱ denȱ esȱ gesendetȱ werdenȱ soll,ȱ dannȱ mussȱ derȱ RouterȱdiesesȱPaketȱzerlegen,ȱundȱderȱZielknotenȱmussȱalleȱTeileȱ(Fragmente)ȱwieȬ derȱ zusammenbauen.ȱ Erstȱ wennȱ alleȱ Fragmenteȱ einesȱ IPȬDatagrammsȱ wiederȱ zuȬ sammengebautȱsind,ȱkannȱesȱamȱZielknotenȱanȱdieȱTransportschichtȱweitergereichtȱ werden.ȱ Dieseȱ Aufgabeȱ nenntȱ manȱ bekanntlichȱ Fragmentierungȱ (Assemblierung)ȱ undȱ DeȬ fragmentierungȱ(Reassemblierung).ȱImȱIPȬHeaderȱsindȱdieȱInformationenȱenthalten,ȱ dieȱnotwendigȱsind,ȱumȱdieseȱAufgabeȱzuȱerfüllen.ȱBeimȱZusammensetzenȱdesȱIPȬ Datagrammsȱ imȱ Zielknotenȱ mussȱ u.a.ȱ erkennbarȱ sein,ȱ welchesȱ Fragmentȱ nunȱ zuȱ welchemȱ IPȬDatagrammȱ gehörtȱ undȱ inȱ welcherȱ Reihenfolgeȱ dieȱ Fragmenteȱ zuȬ sammengebautȱ werdenȱ müssen.ȱ Außerdemȱ müssenȱ Regelnȱ fürȱ Fehlersituationenȱ definiertȱ sein,ȱ z.B.ȱ wasȱ zuȱ tunȱ ist,ȱ wennȱ einȱ Fragmentȱ nichtȱ imȱ Zielrechnerȱ anȬ kommt.ȱ Sobaldȱ einȱ IPȬRouterȱ eineȱ Fragmentierungȱ initiiertȱ hat,ȱ laufenȱ inȱ einemȱ Knotenȱ einigeȱAktivitätenȱundȱÜberprüfungenȱab:ȱ – Dasȱ DFȬFlagȱ wirdȱ überprüft,ȱ umȱ festzustellen,ȱ obȱ eineȱ Fragmentierungȱ erȬ laubtȱist.ȱIstȱdasȱBitȱaufȱ„1“ȱgesetzt,ȱwirdȱdasȱPaketȱverworfen.ȱ
121ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – IstȱdasȱDFȬFlagȱnichtȱgesetzt,ȱwirdȱentsprechendȱderȱzulässigenȱPaketgrößeȱ dasȱDatenfeldȱdesȱUrȬPaketesȱinȱmehrereȱTeileȱzerlegtȱ(fragmentiert).ȱ – AlleȱneuȱentstandenenȱPaketeȱ–ȱmitȱAusnahmeȱdesȱletztenȱPaketesȱ–ȱweisenȱ alsȱLängeȱimmerȱeinȱVielfachesȱvonȱ8ȱByteȱauf.ȱ – Alleȱ Datenteileȱ werdenȱ inȱ neuȱ erzeugteȱ IPȬPaketeȱ eingebettet.ȱ Dieȱ Headerȱ dieserȱPaketeȱsindȱKopienȱdesȱUrsprungskopfesȱmitȱeinigenȱModifikationen.ȱȱ – Dasȱ MFȬFlagȱ wirdȱ inȱ allenȱ Fragmentenȱ mitȱ Ausnahmeȱ desȱ letztenȱ aufȱ „1“ȱgesetzt.ȱ – DasȱFragmentȬOffsetȬFeldȱerhältȱAngabenȱdarüber,ȱwoȱdasȱDatenfeldȱinȱReȬ lationȱzumȱBeginnȱdesȱnichtȱfragmentiertenȱUrȬPaketesȱplatziertȱist.ȱ – Enthältȱ dasȱUrȬPaketȱ Optionen,ȱ wirdȱabhängigȱ vomȱ TypeȬFeldȱ entschieden,ȱ obȱdieȱOptionȱinȱjedesȱPaketfragmentȱaufgenommenȱwirdȱ(z.B.ȱProtokollieȬ rungȱderȱRoute).ȱ – DieȱHeaderlängeȱ(IHL)ȱundȱdieȱPaketlängeȱsindȱfürȱjedesȱFragmentȱneuȱzuȱ bestimmenȱ – DieȱHeaderprüfsummeȱwirdȱfürȱjedesȱFragmentȱneuȱberechnet.ȱ DieȱZielstationȱsetztȱdieȱFragmenteȱeinesȱDatagrammsȱwiederȱzusammen.ȱDieȱZuȬ sammengehörigkeitȱentnimmtȱsieȱdemȱIdentifikationsfeld,ȱdasȱvonȱeinerȱFragmenȬ tierungȱunberührtȱbleibt.ȱBeiȱderȱDefragmentierungȱwirdȱwieȱfolgtȱvorgegangen:ȱ – DieȱankommendenȱFragmenteȱwerdenȱzunächstȱgepuffert.ȱBeiȱEintreffenȱdesȱ erstenȱFragmentsȱwirdȱeinȱTimerȱgestartet.ȱ – IstȱderȱTimerȱabgelaufenȱbevorȱalleȱFragmenteȱeingetroffenȱsind,ȱwirdȱalles,ȱ wasȱbisȱdahinȱgesammeltȱwurde,ȱverworfen.ȱ – Imȱ anderenȱ Fallȱ wirdȱ dasȱ kompletteȱ IPȬDatagrammȱ amȱ NȬSAPȱ zurȱ TransȬ portschichtȱhochgereicht.ȱ ErstȱwennȱalleȱFragmenteȱamȱZielhostȱangekommenȱsindȱ(undȱdiesȱkannȱdurchausȱ inȱandererȱReihenfolgeȱsein),ȱkannȱdieȱReassemblierungȱabgeschlossenȱwerden.ȱ Esȱistȱnatürlichȱwünschenswert,ȱdassȱdieȱFragmentierungȱaufȱeinȱMinimumȱreduȬ ziertȱ wird,ȱ daȱ esȱ sowohlȱ inȱ denȱ Routernȱ alsȱ auchȱ inȱ denȱ Endknotenȱ zusätzlichenȱ Overheadȱ bedeutet.ȱ Imȱ Internetȱ istȱ definiert,ȱ dassȱ jedesȱ Sicherungsprotokollȱ eineȱ MTUȬLängeȱvonȱ 576ȱByteȱunterstützenȱsoll.ȱ Fragmentierungȱ kannȱ alsoȱ vermiedenȱ werden,ȱ wennȱ dieȱ Transportprotokolleȱ (TCPȱ undȱ UDP)ȱ kleinereȱ Segmenteȱ verȬ wenden.ȱȱ Beispielȱ nachȱ (Kuroseȱ 2002):ȱ Betrachtenȱ wirȱ denȱ Fall,ȱ dassȱ einȱ Datagrammȱ mitȱ 4.000ȱ Byteȱ (3.980ȱ Byteȱ Nutzdatenȱ undȱ 20ȱ Byteȱ IPȬHeader)ȱ Längeȱ undȱ natürlichȱ auchȱ inkl.ȱ derȱ Headerȱ höhererȱ Protokolleȱ beiȱ einemȱ Routerȱ ankommtȱ undȱ überȱ eineȱ Netzwerkverbindungȱ mitȱ einerȱ MTUȱ vonȱ 1500ȱ Byteȱ weitergeleitetȱ werdenȱ muss.ȱ Dasȱ OriginalȬDatagramm,ȱ dasȱ eineȱ Identifikationȱ vonȱ 777ȱ hat,ȱ wirdȱ inȱ dreiȱ Fragmenteȱ zerlegt,ȱ inȱ denenȱ dieȱ IPȬHeaderȬFelderȱ gemäßȱ Tabelleȱ 4Ȭ3ȱ gefülltȱ werȬ denȱmüssenȱ(sieheȱhierzuȱdenȱIPȬHeader).ȱImȱFeldȱFragmentȱOffsetȱ(FO)ȱstehtȱtatȬ sächlichȱdieȱByteȬPositionȱdividiertȱdurchȱ8.ȱAlsoȱstehtȱz.B.ȱimȱFOȬFeldȱdesȱzweitenȱ
122ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ FragmentsȱderȱWertȱ185.ȱBisȱaufȱdasȱletzteȱFragmentȱeinesȱDatagrammsȱhabenȱalleȱ Fragmenteȱ eineȱ durchȱ 8ȱ teilbareȱ Anzahlȱ anȱ Byte.ȱ Beiȱ einerȱ MTUȱ vonȱ 1500ȱ Byteȱ könnenȱ abzüglichȱ desȱ minimalenȱ IPȬHeadersȱ 1480ȱ Byteȱ IPȬNutzdatenȱ übertragenȱ werden.ȱ Tabelleȱ4Ȭ3:ȱBeispielȱfürȱeineȱIPȬFragmentierungȱ FragȬ mentȱ
Byteanzahlȱimȱ Datenfeldȱ
IdentifikaȬ tionȱ
FragmentȬOffsetȱinȱ Byteȱ(imȱFOȬFeld)ȱ
Flagsȱ
1ȱ
1480ȱ
777ȱ
0ȱ(0)ȱ
MF=1ȱ
2ȱ
1480ȱ
777ȱ
1480ȱ(185)ȱ
MF=1ȱ
3ȱ
1020ȱ
777ȱ
2960ȱ(370)ȱ
MF=0ȱ
ȱ
Einȱ Fragmentȱ wirdȱ beiȱ derȱ Übertragungȱ wieȱ einȱ normalesȱ Datagrammȱ behandeltȱ undȱkannȱsomitȱselbstȱwiederȱinȱFragmenteȱzerlegtȱwerden.ȱWerdenȱbeispielsweiseȱ dieȱ Fragmenteȱ derȱ Tabelleȱ 4Ȭ3ȱ vomȱ nächstenȱ Routerȱ überȱ eineȱ Verbindungȱ mitȱ einerȱMTUȱvonȱ1024ȱByteȱübertragen,ȱistȱeineȱweitereȱFragmentierungȱnotwendig.ȱ Daȱ dieȱ Fragmenteȱ alsȱ eigenständigeȱ Datagrammeȱ behandeltȱ werden,ȱ kannȱ esȱ zuȱ einerȱunerwartetȱhohenȱAnzahlȱvonȱFragmentenȱkommen.ȱWieȱinȱderȱTabelleȱ4Ȭ4ȱ zuȱ sehenȱ ist,ȱ werdenȱ sechsȱ Fragmenteȱ erzeugt,ȱ daȱ jedesȱ Fragmentȱ nochmalsȱ inȱ zweiȱ Fragmenteȱ aufgeteiltȱ wird.ȱ Wäreȱ schonȱ beiȱ derȱ erstenȱ Fragmentierungȱ dieȱ MTUȱ beiȱ 1024ȱ Byte,ȱ würdenȱ nurȱ 4ȱ (3980ȱ /ȱ 1000ȱ <=ȱ 4)ȱ Fragmenteȱ erzeugtȱ werden.ȱ Wieȱschonȱbeschrieben,ȱkannȱdieȱZielstationȱauchȱbeiȱmehrmaligerȱFragmentierungȱ dasȱursprünglicheȱDatagrammȱüberȱdenȱFragmentȬOffsetȱwiederherstellen.ȱ Tabelleȱ4Ȭ4:ȱBeispielȱfürȱeineȱIPȬFragmentierungȱ FragȬ mentȱ
Byteanzahlȱimȱ Datenfeldȱ
IdentifikaȬ tionȱ
FragmentȬOffsetȱinȱ Byteȱ(imȱFOȬFeld)ȱ
Flagsȱ
1ȱ(1.1)ȱ
1000ȱ
777ȱ
0ȱ(0)ȱ
MF=1ȱ
2ȱ(1.2)ȱ
480ȱ
777ȱ
1000ȱ(125)ȱ
MF=1ȱ
3ȱ(2.1)ȱ
1000ȱ
777ȱ
1480ȱ(185)ȱ
MF=1ȱ
4ȱ(2.2)ȱ
480ȱ
777ȱ
2480ȱ(310)ȱ
MF=1ȱ
5ȱ(3.1)ȱ
1000ȱ
777ȱ
2960ȱ(370)ȱ
MF=1ȱ
6ȱ(3.2)ȱ
20ȱ
777ȱ
3960ȱ(495)ȱ
MF=0ȱ
ȱ
123ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
4.2.9
Routing im Internet
Fürȱ dieȱ Wegewahlȱ werdenȱ imȱ Internetȱ verschiedeneȱ Verfahrenȱ eingesetzt,ȱ undȱ manȱmussȱprinzipiellȱzwischenȱderȱWegewahlȱinnerhalbȱautonomerȱSystemeȱ(IntȬ raȬASȬRouting)ȱundȱderȱWegewahlȱimȱglobalenȱInternet,ȱalsoȱzwischenȱdenȱautoȬ nomenȱSystemenȱ(InterȬASȬRouting),ȱunterscheiden.ȱJedesȱautonomeȱSystemȱkannȱ internȱeigeneȱRoutingȬAlgorithmenȱverwenden,ȱdieȱinȱIPȬRouternȱablaufen.ȱEinȱIPȬ RouterȱverbindetȱmindestensȱzweiȱNetzwerkeȱundȱverfügtȱdaherȱüberȱzweiȱNetzȬ werkadapter.ȱȱ Routing-Tabellen JederȱIPȬRouterȱundȱauchȱjederȱHostȱverwaltetȱeineȱRoutingȬTabelleȱmitȱRoutingȬ Informationen.ȱ Einȱ Eintragȱ inȱ derȱ RoutingȬTabelleȱ (sieheȱ Tabelleȱ 4Ȭ5)ȱ spezifiziertȱ eineȱ Route.ȱ Bestandteileȱ sindȱ dasȱ Netzwerkzielȱ (Netzwerkadresseȱ desȱ Zielsȱ derȱ Route),ȱ dieȱ Netzwerkmaskeȱ oderȱ evtl.ȱ dieȱ Längeȱ derȱ SubnetzȬMaskeȱ beiȱ Einsatzȱ vonȱVLSMȱbzw.ȱCIDR,ȱderȱnächsteȱRouterȱaufȱderȱRouteȱ(auchȱGatewayȱgenannt),ȱ derȱAusgangsportȱ(auchȱalsȱInterfaceȱbezeichnet)ȱundȱeineȱMetrik.ȱEinigeȱAnmerȬ kungenȱhierzu:ȱ – Auchȱ Hostsȱ verfügenȱ überȱ eineȱ RoutingȬTabelle,ȱ inȱ derȱ z.B.ȱ dasȱ DefaultȬ Gatewayȱ mitȱ Zieladresseȱ 0.0.0.0,ȱ alsoȱ dieȱ StandardȬRouteȱ statischȱ eingetraȬ genȱist.ȱ – InȱderȱSpalteȱNetzwerkzielȱkannȱauchȱeineȱHostadresseȱstehen.ȱManȱsprichtȱinȱ diesemȱFallȱvonȱeinerȱHostroute,ȱundȱdieȱSpalteȱNetzwerkmaskeȱenthältȱinȱdieȬ semȱFallȱdenȱWertȱ„255.255.255.255“.ȱ – InȱderȱSpalteȱMetrikȱwerdenȱdieȱKostenȱderȱRouteȱangegeben.ȱBeiȱRIPȱ(sieheȱ weiterȱ unten)ȱ wirdȱ hierȱ z.B.ȱ dieȱ Anzahlȱ anȱ Hopsȱ zumȱ Zielȱ angegeben.ȱ Einȱ Hopȱ kannȱ alsȱ dasȱ Absendenȱ einesȱ Paketsȱ ausȱ einemȱ Router/Hostȱ interpreȬ tiertȱ werden.ȱ Dieȱ Anzahlȱ derȱ Hopsȱ gibtȱ alsoȱ dieȱ Anzahlȱ derȱ AbsendevorȬ gängeȱan,ȱbisȱdasȱPaketȱamȱZielȱist. 14ȱ – InȱderȱSpalteȱAusgangsportȱstehtȱüblicherweiseȱdieȱdemȱInterfaceȱzugeordneȬ teȱȱIPȬAdresse.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Hinweis:ȱ Dieseȱ Metrikȱ wirdȱ beiȱ Windowsȱ z.B.ȱ anhandȱ desȱ Netzwerkanschlussesȱ autoȬ matischȱermittelt.ȱEineȱMetrikȱvonȱ20ȱwirdȱöfterȱfürȱeinenȱ100ȱMBitȬLANȬAnschlussȱverȬ geben.ȱ
14
124ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Tabelleȱ4Ȭ5:ȱTypischerȱAufbauȱeinerȱRoutingȬTabelleȱinȱIPȬNetzenȱ Netzwerkziel
Netzwerkmaske
Nächster Router
Ausgangsport = Schnittstelle
Metrik
...
...
...
...
...
ȱ
GrundsätzlichesȱzurȱRoutenbestimmung.ȱBeiȱdynamischenȱbzw.ȱzustandsbehafteȬ tenȱRoutingȬProtokollenȱwerdenȱzwischenȱdenȱRouternȱInformationenȱzurȱAktuaȬ lisierungȱderȱRoutingȬTabellenȱausgetauscht.ȱDieseȱInformationenȱbezeichnetȱmanȱ auchȱalsȱRoutingȬInformationen.ȱWelcheȱInformationenȱkonkretȱausgetauschtȱwerȬ den,ȱhängtȱvomȱeingesetztenȱRoutingȬProtokollȱab.ȱ DieȱBestimmungȱderȱRouteȱläuftȱnachȱeinemȱdefiniertenȱAlgorithmusȱab,ȱderȱgrobȱ skizziertȱwerdenȱsoll:ȱȱ – DieȱZieladresseȱeinesȱankommendenȱundȱweiterzuleitendenȱIPȬPaketsȱwirdȱ mitȱallenȱEinträgenȱderȱRoutingȬTabelleȱverglichen.ȱHierzuȱwirdȱeineȱbitweiȬ seȱ UndȬOperationȱ zwischenȱ derȱ Zieladresseȱ imȱ Paketȱ undȱ derȱ NetzwerkȬ maskeȱausȱallenȱRouteneinträgen,ȱdieȱinȱderȱRoutingȬTabelleȱstehen,ȱdurchȬ geführt.ȱAnschließendȱwirdȱdasȱErgebnisȱjeweilsȱmitȱderȱSpalteȱNetzwerkzielȱ desselbenȱ Eintragsȱ inȱ derȱ RoutingȬTabelleȱ verglichen.ȱ Wennȱ dasȱ Ergebnisȱ derȱUndȬOperationȱmitȱdemȱNetzwerkzielȱübereinstimmt,ȱrepräsentiertȱderȱ entsprechendeȱRoutingȬEintragȱeineȱpotenzielleȱRoute.ȱȱ – Ausȱ allenȱ potenziellenȱ Routenȱ wirdȱ dieȱ Routeȱ mitȱ derȱ längstenȱ ÜbereinȬ stimmungȱ beiȱ derȱ UndȬOperationȱ ausgewählt.ȱ Diesȱ istȱ dieȱ Routeȱ mitȱ denȱ meistenȱübereinstimmendenȱBit.ȱȱ – Beiȱ gleichwertigenȱRoutenȱ wirdȱdieȱ Routeȱ mitȱ demȱbestenȱ (kleinsten)ȱ Wertȱ ausȱ derȱ Spalteȱ Metrikȱ ausgewählt.ȱ Gibtȱ esȱ hierȱ auchȱ mehrereȱ Kandidaten,ȱ wirdȱzufälligȱentschieden.ȱ FürȱalleȱankommendenȱPakete,ȱzuȱdenenȱkeinȱkonkretesȱNetzwerkzielȱinȱderȱRouȬ tingȬTabelleȱ gefundenȱ wird,ȱ kannȱ dieȱ DefaultȬRouteȱ (Standardroute)ȱ angewendetȱ werden,ȱumȱdasȱPaketȱweiterzuleiten.ȱDieseȱRouteȱwirdȱvonȱvornehereinȱfestgelegtȱ undȱimȱRouterȱbzw.ȱimȱHostȱkonfiguriert.ȱDasȱNetzwerkzielȱderȱStandardrouteȱhatȱ denȱWertȱ„0.0.0.0“ȱundȱdieȱNetzwerkmaskeȱ„0.0.0.0“ȱ(sieheȱauchȱdasȱfolgendeȱBeiȬ spiel).ȱ Beispiel:ȱ Überȱ dasȱ Kommandoȱ netstatȱ ȱ Ȭrȱ kannȱ inȱ denȱ meistenȱ Betriebssystemenȱ derȱaktuelleȱInhaltȱderȱRoutingȬTabelleȱausgegebenȱwerden.ȱDieȱȱfolgendeȱAusgaȬ beȱwurdeȱaufȱeinemȱWindowsȬbasiertenȱHostȱmitȱderȱIPȬAdresseȱ10.28.16.21ȱ(priȬ vatesȱIPȬNetzwerk)ȱerzeugt:ȱ >ȱnetstatȱȬrȱ
125ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Aktive Routen: Netzwerkziel
Netzwerkmaske
Gateway
Schnittstelle
0.0.0.0
0.0.0.0
10.28.1.253
10.28.16.21
Anzahl 20
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
10.28.16.21
255.255.255.255
127.0.0.1
127.0.0.1
20
224.0.0.0
240.0.0.0
10.28.16.21
10.28.16.21
20
255.255.255.255
255.255.255.255
10.28.16.21
10.28.16.21
1
... Standardgateway: 10.28.1.253
DieȱAbbildungȱ4Ȭ30ȱzeigtȱdieȱEinbettungȱdesȱausgewähltenȱHostsȱinȱdasȱBeispielȬ netzwerk.ȱ Esȱ handeltȱ sichȱ umȱ einȱ KlasseȬAȬNetzwerkȱ mitȱ einemȱ Netzwerkanteilȱ vonȱ8ȱBit.ȱ Betrachtetes Netz
Betrachteter Host
10.28.16.21 10.0.0.0/8
10.28.1.253
Standardgateway
Weitere Netze
ȱ Abbildungȱ4Ȭ30:ȱNetwerkausschnittȱzumȱRoutingȬBeispielȱ
InȱdemȱHostȱgibtȱesȱgenauȱeineȱEthernetkarteȱ(LANȬAdapter),ȱalsoȱeineȱSchnittstelȬ leȱ(physikalischerȱAusgangsport)ȱnachȱaußen.ȱDieȱSpalteȱmitȱderȱBezeichnungȱ„GaȬ teway“ȱ gibtȱ denȱ nächstenȱ Routerȱ an.ȱ Alsȱ Standardgatewayȱ istȱ derȱ Routerȱ 10.28.1.253ȱkonfiguriert.ȱDieȱEinträgeȱwerdenȱimȱFolgendenȱeinzelnȱbetrachtet.ȱȱ Standardroute.ȱ Derȱ ersteȱ Eintragȱ gibtȱ dieȱ Standardrouteȱ an.ȱ Sieȱ hatȱ immerȱ dasȱ Netzwerkzielȱ0.0.0.0ȱundȱdieȱNetzwerkmaskeȱ0.0.0.0ȱ(/0).ȱ Netzwerkziel 0.0.0.0
Netzwerkmaske 0.0.0.0
Gateway 10.28.1.253
Schnittstelle 10.28.16.21
Anzahl 20
Bedeutung:ȱ Jedesȱ Paketȱ mitȱ einerȱ IPv4ȬZieladresse,ȱ fürȱ dieȱ eineȱ bitweiseȱ logischeȱ UndȬOperationȱmitȱ0.0.0.0ȱausgeführtȱwird,ȱführtȱimmerȱzuȱdemȱErgebnisȱ0.0.0.0.ȱ Dieȱ Standardrouteȱ führtȱ daherȱ zuȱ einerȱ Übereinstimmungȱ mitȱ jederȱ IPv4Ȭ Zieladresse.ȱ Wennȱ dieȱ Standardrouteȱ dieȱ längsteȱ übereinstimmendeȱ Routeȱ ist,ȱ lautetȱ dieȱ Adresseȱ desȱ nächstenȱ Knotensȱ 10.28.1.253ȱ (StandardȬGateway)ȱ undȱ dieȱ
126ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Schnittstelleȱ fürȱ denȱ nächstenȱ Knotenȱ istȱ derȱ Netzwerkadapterȱ mitȱ derȱ IPv4Ȭ Adresseȱ10.28.16.21ȱ(einzigerȱLANȬAdapter).ȱ LoopbackȬRoute.ȱDerȱnächsteȱEintragȱgibtȱdieȱsog.ȱLoopbackȬRouteȱan.ȱAlsȱNetzȬ werkzielȱ wirdȱ fürȱ dieseȱ Routeȱ üblicherweiseȱ 127.0.0.0ȱ angegebenȱ undȱ alsȱ NetzȬ werkmaskeȱ255.0.0.0ȱ(/8).ȱ Netzwerkziel 127.0.0.0
Netzwerkmaske 255.0.0.0
Gateway 127.0.0.1
Schnittstelle 127.0.0.1
Anzahl 1
Bedeutung:ȱ Fürȱ alleȱ Pakete,ȱ dieȱ anȱ Adressenȱ inȱ derȱ Formȱ 127.x.y.zȱ gesendetȱ werȬ den,ȱwirdȱdieȱAdresseȱdesȱnächstenȱKnotensȱaufȱ127.0.0.1ȱ(dieȱLoopbackȬAdresse)ȱ gesetzt.ȱDieȱSchnittstelleȱfürȱdenȱnächstenȱKnotenȱistȱdieȱSchnittstelleȱmitȱderȱAdȬ resseȱ 127.0.0.1ȱ (dieȱ LoopbackȬSchnittstelle).ȱ Dieȱ Paketeȱ werdenȱ nichtȱ inȱ dasȱ NetzȬ werkȱgesendet,ȱsondernȱverbleibenȱimȱHost.ȱ Hostroute.ȱ Dieȱ Routeȱ mitȱ derȱ eigenenȱ IPȬAdresseȱ alsȱ Netzwerkzielȱ (10.28.16.21)ȱ undȱ derȱNetzwerkmaskeȱ255.255.255.255ȱ (/32)ȱ wirdȱ immerȱ alsȱ Hostrouteȱ bezeichȬ net.ȱ Netzwerkziel 10.28.16.21
Netzwerkmaske 255.255.255.255
Gateway 127.0.0.1
Schnittstelle 127.0.0.1
Anzahl 20
Bedeutung:ȱ Fürȱ alleȱ (vonȱ einerȱ lokalenȱ Anwendung)ȱ anȱ dieȱ Adresseȱ 10.28.16.21ȱ (eigeneȱ IPȬAdresse)ȱ gesendetenȱ IPv4ȬPaketeȱ wirdȱ dieȱ Adresseȱ desȱ nächstenȱ KnoȬ tensȱ aufȱ 127.0.0.1ȱ gesetzt.ȱ Damitȱ erfolgtȱ eineȱ Kommunikationȱ überȱ denȱ Kernel,ȱ ohneȱ dasȱ Netzwerkȱ zuȱ belasten.ȱ Dieȱ Paketeȱ verbleibenȱ imȱ Host.ȱ Dieȱ verwendeteȱ SchnittstelleȱfürȱdenȱnächstenȱKnotenȱistȱalsoȱdieȱLoopbackȬSchnittstelle.ȱȱ RouteȱfürȱMulticastȬVerkehr.ȱDerȱEintragȱmitȱdemȱNetzwerkzielȱ224.0.0.0ȱundȱderȱ Netzwerkmaskeȱ 240.0.0.0ȱ (/4)ȱ istȱ eineȱ Routeȱ fürȱ denȱ MulticastȬVerkehr,ȱ derȱ vonȱ diesemȱHostȱgesendetȱwird.ȱ Netzwerkziel 224.0.0.0
Netzwerkmaske 240.0.0.0
Gateway 10.28.16.21
Schnittstelle 10.28.16.21
Anzahl 20
Bedeutung:ȱFürȱalleȱvonȱdiesemȱHostȱausgehendenȱMulticastȬPaketeȱwirdȱdieȱAdȬ resseȱdesȱnächstenȱKnotensȱaufȱdieȱAdresseȱ10.28.16.21ȱgesetzt,ȱundȱfürȱdieȱSchnittȬ stelleȱdesȱnächstenȱKnotensȱwirdȱderȱLANȬAdapterȱmitȱderȱIPȬAdresseȱ10.28.16.21ȱ festgelegt.ȱȱ LimitedȬBroadcastȬAdresse.ȱ Derȱ Eintragȱ mitȱ demȱ Netzwerkzielȱ 255.255.255.255ȱ undȱ derȱ Netzwerkmaskeȱ 255.255.255.255ȱ (/32)ȱ istȱ eineȱ Hostroute,ȱ dieȱ derȱ limitedȱ BroadcastȬAdresseȱentsprichtȱ Netzwerkziel 255.255.255.255
Netzwerkmaske 255.255.255.255
Gateway 10.28.16.21
Schnittstelle 10.28.16.21
Anzahl 1
Bedeutung:ȱ Fürȱ alleȱ anȱ dieȱ IPȬAdresseȱ 255.255.255.255ȱ gesendetenȱ IPv4ȬPaketeȱ wirdȱdieȱAdresseȱdesȱnächstenȱKnotensȱaufȱdieȱIPȬAdresseȱ10.28.16.21ȱgesetzt,ȱundȱ
127ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ dieȱ Schnittstelleȱ desȱ nächstenȱ Knotensȱ istȱ derȱ LANȬAdapterȱ mitȱ derȱ Adresseȱ 10.28.16.21.ȱ IGP und EGP Dieȱ RoutingȬProtokolleȱ fürȱ autonomeȱ Systemeȱ werdenȱ alsȱ InteriorȬGatewayȬ Protokolleȱ (IGP)ȱ bezeichnet,ȱ dieȱ zwischenȱ autonomenȱ Systemenȱ alsȱ ExteriorȬ GatewayȬProtokolleȱ(EGP).ȱȱ DasȱRoutingȱInformationȱProtocolȱ(RIP) 15ȱistȱeinȱälteresȱIGPȬProtokollȱfürȱkleinereȱ Netze.ȱEsȱistȱeinȱDistanceȬVectorȬProtokollȱmitȱdenȱbereitsȱdiskutiertenȱNachteilenȱ wieȱ demȱ CountȬtoȬInfinityȬProblem.ȱ RIPȱ istȱ einȱ zustandsunabhängigesȱ RoutingȬ ProtokollȱundȱberücksichtigtȱdamitȱnichtȱdieȱaktuelleȱNetzwerksituation.ȱ NachfolgerȱvonȱRIPȱistȱseitȱca.ȱ1990ȱdasȱOpenȱShortestȱPathȱFirstȱProtocolȱ(OSPF,ȱRFCȱ 1247).ȱ OSPFȱ wirdȱ vonȱ derȱ InternetȬGemeindeȱ empfohlen.ȱ Dasȱ Netzȱ wirdȱ hierȱ alsȱ gerichteterȱ Graphȱ abstrahiert.ȱ Dieȱ Kantenȱ zwischenȱdenȱ Knotenȱ werdenȱ mitȱKosȬ tenȱ gewichtetȱ (Entfernung,ȱ Verzögerung,...)ȱ undȱ dieȱ Entscheidungȱ überȱ dasȱ RouȬ tingȱ erfolgtȱ anhandȱ derȱ Kosten.ȱ OSPFȱ istȱ einȱ zustandsabhängigesȱ RoutingȬ Protokoll.ȱ BeiȱEGPȱwerdenȱandereȱZieleȱverfolgtȱalsȱbeiȱIGP.ȱBeispieleȱfürȱRoutingȬKriterienȱ sindȱhierȱu.a.:ȱ – NichtȱalleȱPaketeȱzwischenȱdenȱASȱdürfenȱbefördertȱwerden.ȱ – FürȱdenȱTransitverkehrȱwerdenȱGebührenȱverrechnet.ȱ – WichtigeȱInformationenȱnichtȱdurchȱunsichereȱautonomeȱSystemeȱsenden.ȱ Hierzuȱ sindȱ RoutingȬRegelnȱ erforderlich,ȱ dieȱ vomȱ RoutingȬProtokollȱ unterstütztȱ werdenȱmüssen.ȱImȱInternetȱwirdȱalsȱEGPȱdasȱBorderȬGatewayȬProtokollȱ(BGP),ȱeinȱ DistanceȬVectorȬProtokoll,ȱ empfohlenȱ (RFCȱ 1771)ȱ undȱ stelltȱ quasiȱ denȱ DeȬfactoȬ Standardȱ dar.ȱ Imȱ BGPȱ werdenȱ nichtȱ nurȱ Kostenȱ proȱ Zielȱ verwaltet,ȱ sondernȱ esȱ wirdȱauchȱeineȱBuchführungȱüberȱdieȱNutzungȱderȱVerbindungenȱdurchgeführt.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ RIPȱoderȱRIPȬ1ȱ(Versionȱ1)ȱistȱimȱRFCȱ1058ȱgenormt,ȱdieȱweiterentwickelteȱVersionȱ2ȱvonȱ RIPȱ(RIPȬ2)ȱimȱRFCȱ2453.ȱEinȱweiteres,ȱbekanntesȱIGPȬProtokollȱistȱIGRPȱ(InteriorȱGateȬ wayȱRoutingȱProtocol)ȱvonȱderȱFirmaȱCisco,ȱalsoȱeineȱfirmeneigeneȱLösung.ȱAuchȱgibtȱesȱ eineȱErweiterungȱdiesesȱProtokolls,ȱdieȱEIFRPȱ(EnhancedȱIGRP)ȱheißt.ȱCiscoȱentwickelteȱ dasȱProtokoll,ȱumȱdieȱEinschränkungenȱvonȱRIPȱzuȱumgehen.ȱEsȱläuftȱallerdingsȱnurȱunȬ terȱCiscoȬRoutern.ȱDasȱOSIȬRoutingȬProtokollȱISȬISȱistȱebenfallsȱeinȱIGP.ȱ
15
128ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ IGP innerhalb eines AS muss gleich sein
R1 IGP
R3
AS IGP
A1
IGP
Core Network
A2 IGP R3
IGP
A3 AS IGP IGP Router in einem AS werden gemeinsam administriert
R3
R1
R2
AS IGP
R2
IGP
AS kann beliebig viele Netze beinhalten
IGP
Rx
Kann IGP
Ax
Kann IGP und EGP
ȱ Abbildungȱ4Ȭ31:ȱRoutingȱimȱInternetȱ
Inȱ Abbildungȱ 4Ȭ31ȱ sindȱ dieȱ Zusammenhängeȱ zwischenȱ IGPȱ undȱ EGPȱ imȱ Internetȱ dargestellt.ȱDieȱdreiȱautonomenȱSystemeȱinȱderȱAbbildungȱarbeitenȱalleȱüberȱeigeȬ neȱIGP.ȱImȱglobalenȱInternetȱwirdȱEGPȱverwendet.ȱInȱjedemȱASȱistȱeinȱRouter,ȱderȱ sowohlȱIGPȱnachȱinnen,ȱalsȱauchȱEGPȱnachȱaußenȱbetreibt.ȱ Routing Information Protocol, Version 1 (RIP-1) Betrachtenȱ wirȱ zunächstȱ RIPȱ (RFCȱ 1058)ȱ etwasȱ genauer.ȱ RIPȱ wurdeȱ ursprünglichȱ vonȱ XEROXȱ entwickeltȱ undȱ istȱ einȱ leichtȱ zuȱ implementierendesȱ DistanceȬVectorȬ Protokoll.ȱEsȱnutztȱUDPȱzumȱAustauschȱderȱRoutingȬInformationȱunterȱdenȱRouȬ tern,ȱwobeiȱeineȱRequestȬPDUȱzurȱAnfrageȱ(einȱsog.ȱAdvertisement)ȱderȱRoutingȬ Informationȱ beiȱ einemȱ NachbarȬRouterȱ undȱ eineȱ entsprechendeȱ ResponseȬPDUȱ definiertȱ ist.ȱ Zurȱ Kommunikationȱ wirdȱ derȱ UDPȬPortȱ 520ȱ verwendet.ȱ Beimȱ Startȱ einesȱ Routersȱ sendetȱ dieserȱ zunächstȱ anȱ allȱ seineȱ NachbarȬRouterȱ eineȱ RequestȬ PDUȱ undȱ fordertȱ damitȱ dieȱ RoutingȬInformationenȱ an.ȱ Dieȱ Antwortȱ erhältȱ erȱ inȱ zielgerichtetenȱResponseȬPDUsȱ(alsoȱnichtȱüberȱBroadcastȬ,ȱsondernȱüberȱUnicastȬ Nachrichten).ȱ Imȱ normalenȱ Betriebȱ sendetȱ einȱ Routerȱ unaufgefordertȱ seineȱ RouȬ tingȬInformationenȱ undȱ nutztȱ hierzuȱ ebenfallsȱ dieȱ ResponseȬPDUs.ȱ Inȱ einerȱ ResȬ ponseȬPDUȱkönnenȱmax.ȱ25ȱTabelleneinträgeȱübertragenȱwerden.ȱ AlsȱMetrikȱwirdȱdieȱAnzahlȱderȱSprüngeȱ(Hops)ȱvonȱRouterȱzuȱRouterȱverwendet.ȱ Dieȱ Hopsȱ werdenȱ inȱ denȱ Paketenȱ inȱ einemȱ Feldȱ imȱ IPȬHeaderȱ (TTL)ȱ gezählt.ȱ Beiȱ RIPȱ istȱ derȱ maximaleȱ HopȬCountȱ 15.ȱ Eineȱ höhereȱ Angabeȱ wirdȱ alsȱ „unendȬ lich“ȱinterpretiert.ȱȱDieȱImplementierungȱunterȱUnixȱliegtȱbeispielsweiseȱinȱeinemȱ
129ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Prozessȱnamensȱrouted 16ȱ(RoutingȱDämon).ȱHeuteȱistȱRIPȱzwarȱnichtȱmehrȱderȱempȬ fohleneȱ Standardȱ imȱ Internet,ȱ esȱ wirdȱ aberȱ inȱ kleinenȱ Netzenȱ immerȱ nochȱ starkȱ verwendet.ȱ Dieȱ Routerȱ tauschenȱ alleȱ 30ȱ Sekundenȱ überȱ einenȱ Broadcastȱ Advertisementsȱ inȱ FormȱvonȱunaufgefordertenȱResponseȬPDUsȱaus,ȱinȱdenenȱdieȱkompletteȱRoutingȬ TabelleȱanȱalleȱNachbarȬRouterȱübertragenȱwird.ȱDaȱderȱBroadcastȱaufȱMACȬEbeneȱ erfolgtȱ undȱ diesȱ eineȱ rechtȱ hoheȱ Netzwerkbelastungȱ mitȱ sichȱ bringt,ȱ istȱ RIPȬ1ȱ fürȱ denȱEinsatzȱimȱWANȱnichtȱoptimal.ȱ WennȱeinȱRouterȱ180ȱSekundenȱnichtsȱvonȱeinemȱseinerȱNachbarnȱhört,ȱgiltȱdieserȱ alsȱnichtȱerreichbar.ȱDieȱRoutingȬTabelleȱwirdȱdaraufhinȱaktualisiert,ȱd.h.ȱdieȱMetȬ rikȱderȱRouteȱzuȱdiesemȱRouterȱwirdȱmitȱdemȱWertȱ16ȱbelegt,ȱundȱdieȱRoutenändeȬ rungȱ wirdȱ anȱ dieȱ anderenȱ Nachbarnȱ propagiert.ȱ Dasȱ tatsächlicheȱ Entfernenȱ derȱ RouteȱausȱderȱRoutingȬTabelleȱerfolgtȱimȱAnschluss.ȱZusätzlichȱwirdȱderȱTimeoutȱ fürȱdieȱÜberwachungȱdesȱNachbarnȱaufȱ120ȱSekundenȱverkürzt.ȱDieserȱMechanisȬ musȱwirdȱauchȱalsȱGarbageȬCollectionȱbezeichnet.ȱȱ Dasȱ Problemȱ derȱ langsamenȱ Konvergenzȱ undȱ derȱ Schleifenȱ („CountȬtoȬInfinityȬ Problem“)ȱistȱinȱRIPȬ1ȱgegeben.ȱDieȱKonvergenzzeitȱistȱdieȱZeit,ȱdieȱbenötigtȱwird,ȱ bisȱalleȱRouterȱdieȱaktuelleȱVernetzungsstrukturȱkennengelerntȱhaben.ȱWennȱmanȱ davonȱausgeht,ȱdassȱalleȱRouterȱihreȱRoutingȬInformationenȱalleȱ30ȱSekundenȱverȬ teilen,ȱkannȱdieȱVerbreitungȱeinerȱneuenȱInformationȱinȱeinemȱNetzȱmitȱmehrerenȱ SubnetzenȱdurchausȱmehrereȱMinutenȱdauern.ȱȱ Beispiel:ȱSendetȱderȱRouterȱR1,ȱwieȱinȱAbbildungȱ4Ȭ32ȱdargestellt,ȱeineȱneueȱRouȬ tenȬInformation,ȱ soȱ dauertȱ esȱ imȱ Beispielȱ 90ȱ Sekundenȱ bisȱ dieȱ Informationȱ beimȱ Routerȱ R5ȱ angekommenȱ ist.ȱ Wieȱ manȱ erkennenȱ kann,ȱ istȱ dieȱ Konvergenzzeitȱ zuȬ fallsabhängig,ȱdaȱdasȱEintreffenȱdesȱEreignissesȱ„NeueȱRouteȱbekannt“ȱnochȱnichtȱ sofortȱ zumȱ Sendenȱ einerȱ AdvertisementȬPDUȱ führt.ȱ Bisȱ zumȱ nächstenȱ Broadcastȱ dauertȱesȱimȱMittelȱ15ȱSekunden.ȱImȱBeispielȱsendetȱR1ȱdieȱneueȱInformationȱnachȱ 15ȱSekunden,ȱR2ȱsendetȱsieȱ15ȱSekundenȱnachȱdemȱEmpfangȱweiter,ȱR3ȱwartetȱ20ȱ Sekundenȱusw.ȱ UmȱdieȱKonvergenzzeitȱbeiȱRIPȱzuȱverringernȱgibtȱesȱdreiȱMöglichkeiten:ȱDieȱSplitȬ HorizonȬTechnikȱ (geteilterȱ Horizont),ȱ dieȱ SplitȬHorizonȬTechnikȱ mitȱ PoisonȬReverseȱ (vergifteterȱ Rückweg)ȱ undȱ sog.ȱ Triggeredȱ Updatesȱ (ereignisgesteuerteȱ RoutenȬ Aktualisierungen). 17ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Etwasȱ verwirrendȱ magȱ esȱ sein,ȱ dassȱ eineȱ Aufgabeȱ derȱ Vemittlungsschichtȱ überȱ einenȱ ProtokollȱderȱSchichtȱ4ȱ(UDP)ȱabgewickeltȱwird.ȱDiesȱliegtȱanȱderȱUnixȬHistorie,ȱdaȱrouȬ tedȱ eigentlichȱ alsȱ Anwendungȱ inȱ derȱ Anwendungsschichtȱ platziertȱ istȱ undȱ daherȱ einenȱ Transportdienstȱverwendenȱkann.ȱ
16
ȱȱ WelcheȱMethodenȱinȱdenȱRouternȱnunȱimplementiertȱsind,ȱistȱdemȱHerstellerȱüberlassen.ȱ
17
130ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ Wartezeit bis zum Senden der nächsten Advertisement-PDU:
t0
15 s
15 s
20 s
10 s
30 s
R1
R2
R3
R4
R5
+50 s
+60 s
+90 s
+15 s
+30 s
t Neue Route wird bekannt
R2 hat neue Route 30 s nach Bekanntwerden (unter Vernachlässigung der Netzwerklaufzeit)
ȱ
Abbildungȱ4Ȭ32:ȱKonvergenzzeitȱbeiȱRIPȬ1ȱ
BeiȱderȱSplitȬHorizonȬTechnikȱwirdȱdieȱKonvergenzzeitȱdadurchȱverringert,ȱdassȱinȱ denȱRoutingȬTabellenȱzusätzlichȱdieȱInformationȱverwaltetȱwird,ȱwoherȱ(vonȱwelȬ chemȱRouter)ȱdieȱRoutingȬInformationȱstammt.ȱEinȱRouterȱdarfȱkeineȱRouteȱanȱeinȱ Subnetzȱ propagieren,ȱ dieȱ erȱ überȱ dasselbeȱ Subnetzȱ gelerntȱ hat.ȱ Beiȱ derȱ SplitȬ HorizonȬTechnikȱ mitȱ PoisonȬReverseȱ werdenȱ zwarȱ alleȱ Routenȱ propagiert,ȱ jedochȱ werdenȱRouten,ȱdieȱausȱeinemȱSubnetzȱerlerntȱwurden,ȱanȱdiesesȱmitȱeinerȱMetrikȱ vonȱ16ȱHopsȱgesendet.ȱDamitȱsindȱsieȱalsȱ„nichtȱerreichbar“ȱmarkiert.ȱBeiȱNutzungȱ derȱTriggeredȬUpdatesȬMethodeȱwerdenȱRoutenȬAktualisierungenȱunmittelbarȱnachȱ demȱEintreffenȱdieserȱEreignisseȱweitergeleitet,ȱd.h.ȱesȱwirdȱnichtȱgewartet,ȱbisȱderȱ 30ȬSekundenȬTimerȱ abläuft.ȱ Diesȱ erhöhtȱ zwarȱ dieȱ Netzwerkbelastung,ȱ aberȱ dieȱ Konvergenzzeitȱwirdȱdeutlichȱverringert.ȱ Beispiel:ȱ Betrachtenȱ wirȱ denȱ Netzausschnittȱ ausȱ Abbildungȱ 4Ȭ33.ȱ Wasȱ passiertȱ ohneȱ undȱ wasȱ mitȱ SplitȬHorizon,ȱ wennȱ dieȱ Verbindungȱ zwischenȱ Routerȱ R1ȱ undȱ RouterȱR2ȱȱausfällt?ȱ a) Alle Verbindungen R1-R2, R2-R3 und R3-R4 intakt
R1
R2
R3
R4
R2
R3
R4
b) Verbindung R1-R2 fällt aus
R1
ȱ Abbildungȱ4Ȭ33:ȱVerbindungsabbruchȱbeiȱRIPȱ
OhneȱSplitȱHorizon:ȱ – R3ȱhatȱnochȱdieȱRoutingȬInformation,ȱdassȱR1ȱüberȱeinenȱHopȱerreichbarȱist.ȱ – R3ȱ propagiertȱ dieseȱ Infoȱ anȱ R2,ȱ alsoȱ anȱ denȱ Router,ȱ überȱ denȱ R1ȱ erreichtȱ wurde.ȱ – R2ȱglaubtȱdiesȱundȱsendetȱPaketeȱzuȱR1ȱnunȱüberȱR3.ȱ
131ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Esȱ entstehtȱ einȱ PingȬPongȬEffekt,ȱ alsoȱ eineȱ RoutingȬSchleifeȱ bisȱ derȱ HopȬ Countȱ=ȱ16ȱist,ȱdannȱerstȱwirdȱR1ȱalsȱnichtȱerreichbarȱmarkiert.ȱ MitȱSplitȱHorizon:ȱ – R3ȱweiß,ȱwoherȱdieȱRoutingȬInformationȱfürȱR1ȱkommtȱ(vonȱR2).ȱ – DieȱRouteȱmitȱhöherenȱKostenȱwirdȱnichtȱzurückpropagiert.ȱ Beiȱ Anwendungȱ vonȱ SplitȬHorizonȱ könnenȱ RoutingȬSchleifeȱ undȱ somitȱ dasȱ CountȬ ToȬInfinityȬProblemȱvermiedenȱwerden.ȱGleichesȱgiltȱbeiȱderȱAnwendungȱderȱSplitȬ HorizonȬTechnikȱ mitȱ PoisonȬReverse.ȱ Weistȱ dieȱ Netzwerktopologieȱ jedochȱ Schleifenȱ (Kreise)ȱ auf,ȱ kannȱ auchȱ beiȱ Anwendungȱ derȱ SplitȬHorizonȬTechnikȱ dasȱ CountȬToȬ InfinityȬProblemȱauftreten.ȱ RIPȬ1ȬPDUȬAufbau.ȱRIPȬ1ȬPDUsȱwerdenȱüberȱUDPȱausgetauscht.ȱDieȱKommuniȬ kationȱ erfolgtȱ immerȱ zwischenȱ benachbartenȱ Routern.ȱ Eineȱ RIPȬ1ȬPDUȱ hatȱ denȱ inȱ Abbildungȱ 4Ȭ34ȱ skizziertenȱ Aufbau.ȱ Dieȱ PDUȱ bestehtȱ ausȱ zweiȱ Teilen,ȱ einemȱ RIPȬ1ȬHeaderȱundȱeinerȱTabelleȱmitȱmaximalȱ25ȱRoutingȬEinträgen.ȱWennȱeinȱRouȬ terȱmehrȱalsȱ25ȱRoutenȱpropagierenȱmöchte,ȱmussȱerȱmehrereȱNachrichtenȱsenden.ȱȱ 32 Bit
Kommando
Version
Nicht verwendet
Tabelle mit RIP-1-Entries zu je 20 Byte ... RIP-1-Entry: Address-Family-Identifier
Nicht verwendet
IPv4-Adresse Nicht verwendet Nicht verwendet Metrik
ȱ Abbildungȱ4Ȭ34:ȱRIPȬ1ȬPDUȱ
DerȱRIPȬ1ȬHeaderȱenthältȱzweiȱgenutzteȱFelder:ȱ – Kommando:ȱInȱdiesemȱFeldȱwirdȱangegeben,ȱobȱesȱsichȱumȱeineȱRIPȬRequestȬȱ (0x01)ȱoderȱumȱeineȱRIPȬResponseȬPDUȱ(0x02)ȱhandelt.ȱ – Version:ȱAngabeȱderȱverwendetenȱRIPȬVersionȱ(0x01ȱ=ȱRIPȬ1).ȱ EinȱRIPȬ1ȬEntryȱenthältȱdreiȱFelderȱzurȱAngabeȱjeweilsȱeinerȱRoute:ȱ – AddressȬFamiliyȬIdentifierȱ(AFI):ȱDiesesȱFeldȱgibtȱdieȱAdressierungsartȱanȱundȱ enthältȱ fürȱ IPȬAdressenȱ immerȱ denȱ Wertȱ 0x02.ȱ RIPȱ wurdeȱ ursprünglichȱ unabhängigȱvonȱderȱNetzwerkschichtȱkonzipiert.ȱ
132ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ – IPv4ȬAdresse:ȱInȱdiesemȱFeldȱstehtȱdieȱIPȬAdresseȱderȱRoute,ȱalsoȱdesȱNetzȬ werkziels.ȱȱ – Metrik:ȱ Inȱ diesemȱ Feldȱ wirdȱ dieȱ Anzahlȱ derȱ Hopsȱ zumȱ Netzwerkzielȱ überȬ tragen.ȱStehtȱderȱWertȱ16ȱinȱdiesemȱFeld,ȱbedeutetȱdies,ȱdassȱdasȱangegebeneȱ Netzwerkzielȱnichtȱerreichbarȱist.ȱ Routing Information Protocol, Version 2 (RIP-2) WieȱbereitsȱerwähntȱhatȱRIPȬ1ȱeinigeȱSchwächen.ȱHierzuȱgehörtȱz.B.,ȱdassȱdieȱRIPȬ 1ȬAdvertisementsȱüberȱBroadcastȱaufȱderȱMACȬEbeneȱübertragenȱwerden,ȱwasȱzuȱ hoherȱNetzwerkbelastungȱführt.ȱWeiterhinȱwirdȱVLSMȱvonȱRIPȬ1ȱnichtȱunterstützt.ȱ Schließlichȱ wirdȱ inȱ denȱ RIPȬ1ȬEntriesȱ dieȱ Subnetzmaskeȱ derȱ Netzwerkzieleȱ nichtȱ mitȱ übertragen,ȱ weshalbȱ einȱ Routerȱ eigenständigȱ einfacheȱ Annahmenȱ überȱ dieȱ Subnetzmaskeȱ treffenȱ muss.ȱ Beispielsweiseȱ werdenȱ dieȱ erstenȱ dreiȱ Bitȱ derȱ IPȬ Adresseȱ desȱ Netzwerkzielsȱ analysiert,ȱ umȱ dieȱ Netzwerkklasseȱ zuȱ ermittelnȱ undȱ damitȱdieȱSubnetzmaskeȱherzuleiten.ȱ DasȱProtokollȱRIPȬ2ȱ(RFCȱ2453)ȱistȱeineȱWeiterentwicklungȱvonȱRIPȬ1ȱundȱistȱebenȬ fallsȱ einȱ DistanceȬVectorȬRoutingȬProtokoll,ȱ auchȱ BellmanȬFordȬȱ oderȱ FordȬFulȬ kersonȬAlgorithmusȱ genannt.ȱ RIPȬ2ȱ hatȱ imȱ Vergleichȱ zuȱRIPȬ1ȱ einigeȱ ErweiterunȬ genȱbzw.ȱVerbesserungen,ȱumȱdieȱgenanntenȱSchwächenȱzuȱkompensieren.ȱTrotzȬ demȱ istȱ RIPȬ2ȱ kompatibelȱ zuȱ RIPȬ1,ȱ daȱ RIPȬ1ȬRouterȱ RIPȬ2Ȭspezifischeȱ Felderȱ imȱ RIPȬHeaderȱüberlesen.ȱ FolgendeȱFunktionenȱsindȱneuȱbzw.ȱverbessertȱworden:ȱ – RIPȬ2ȱunterstütztȱimȱGegensatzȱzuȱRIPȬ1ȱ„classlessȱIPȬRouting“ȱmitȱvariabelȱ langenȱSubnetzmaskenȱ(VLSMȱundȱCIDR).ȱ – RIPȬ2ȱ unterstütztȱ eineȱ RouterȬAuthentifizierungȱ alsȱ Sicherheitsinstrumentȱ fürȱdieȱAktualisierungȱvonȱRoutingȬTabellen.ȱDieȱAuthentifizierungȱvermeiȬ det,ȱ dassȱ Routerȱ anderenȱ nichtȱ berechtigtenȱ Routernȱ ihreȱ RoutingȬInformaȬ tionenȱweiterleiten.ȱDieȱAuthentifizierungȱerfolgtȱüberȱeinȱKennwort.ȱ – RIPȬ1ȱ verwendetȱ Broadcastingȱ zumȱ Verbreitenȱ vonȱ RoutingȬInformationen.ȱ RIPȬ1ȬPDUsȱ werdenȱ aberȱ nichtȱ nurȱ vonȱ Routernȱ empfangen,ȱ sondernȱ auchȱ vonȱdenȱangeschlossenenȱEndgeräten 18.ȱRIPȬ2ȱverwendetȱdagegenȱMulticasȬ ting,ȱwobeiȱdieȱRIPȬ2ȬPDUsȱüberȱeineȱKlasseȬDȬAdresseȱ(224.0.0.9)ȱversendetȱ werden.ȱEndgeräteȱwerdenȱalsoȱdurchȱRIPȬ2ȬPDUsȱnichtȱbeeinträchtigt.ȱ Dasȱ Erlernenȱ derȱ Routenȱ vonȱ denȱ NachbarȬRouternȱ erfolgtȱ beiȱ RIPȬ2ȱ nachȱ demȱ gleichenȱPrinzipȱwieȱbeiȱRIPȬ1.ȱAuchȱderȱmaximaleȱHopȬCountȱistȱweiterhinȱaufȱ15ȱ eingestellt.ȱDieȱMethodenȱSplitȬHorizon,ȱSplitȬHorizonȱmitȱPoisonȬReverseȱundȱTriggeȬ redȬUpdatesȱwerdenȱunterstützt.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ MACȬBroadcastsȱwerdenȱvonȱjedemȱRechnerȱimȱNetzȱbisȱzurȱSchichtȱ2ȱbehandelt.ȱ
18
133ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ RIPȬ2ȬPDUȬAufbau.ȱ RIPȬ2ȬPDUsȱ habenȱ einenȱ ähnlichenȱ Aufbauȱ wieȱ RIPȬ1ȬPDUsȱ (sieheȱ Abbildungȱ 4Ȭ35).ȱ Derȱ Headerȱ istȱ identisch,ȱ imȱ Feldȱ Versionȱ stehtȱ allerdingsȱ derȱWertȱ0x02.ȱ InȱdenȱRoutenȬEinträgenȱgibtȱesȱeinigeȱUnterschiede.ȱDieȱFelderȱRouteȬTag,ȱSubnetȬ MaskȱundȱNextȬHopȱwurdenȱergänzt:ȱ – RouteȬTag:ȱDiesesȱFeldȱwirdȱnurȱbenutzt,ȱwennȱeinȱRIPȬ2ȬRouterȱauchȱRouȬ tenȱausȱanderenȱRoutingȬProtokollen,ȱz.B.ȱvonȱeinemȱBGPȬRouterȱ(sieheȱunȬ ten)ȱ übernimmt.ȱ Inȱ diesemȱ Fallȱ kannȱ imȱ RouteȬTagȱ einȱ Kennzeichenȱ überȬ tragenȱ werden,ȱ dasȱ dieȱHerkunftȱ angibt.ȱ Diesȱ könnteȱ z.B.ȱ dieȱNummerȱ desȱ ASȱsein.ȱDasȱFeldȱkannȱinnerhalbȱeinesȱASȱfreiȱverwendetȱwerden,ȱdieȱRouȬ terȱmüssenȱsichȱnurȱüberȱdenȱInhaltȱeinigȱsein.ȱ – SubnetȬMask:ȱ Diesesȱ Feldȱ enthältȱ dieȱ Subnetzmaskeȱ desȱ Netzwerkzielsȱ undȱ unterstütztȱdamitȱVLSMȱundȱCIDR.ȱ – NextȬHop:ȱ Überȱ diesesȱ Feldȱ kannȱ einȱ Routerȱ eineȱ direkteȱ Routeȱ zuȱ einemȱ Hostȱ(HostȬRoute)ȱbekanntȱgeben.ȱDasȱFeldȱbeinhaltetȱdieȱAdresseȱdesȱHosts.ȱ Mitȱ dieserȱ Informationȱ inȱ derȱ RoutingȬTabelleȱ sendetȱ einȱ Routerȱ ankomȬ mendeȱIPȬPakete,ȱdieȱanȱdenȱHostȱadressiertȱsind,ȱnichtȱüberȱeinenȱRouter,ȱ sondernȱdirektȱanȱdenȱangegebenenȱHostȱweiter.ȱ 32 Bit
Kommando
Version
Nicht verwendet
Tabelle mit RIP-2-Entries zu je 20 Byte ... RIP-2-Entry: Address-Family-Identifier
Route-Tag
IPv4-Adresse Subnet-Mask Next-Hop Metrik
ȱ Abbildungȱ4Ȭ35:ȱRIPȬ2ȬPDUȱ
Dieȱ Authentifizierungȱ wirdȱ überȱ denȱ erstenȱ RoutenȬEintragȱ inȱ derȱ Tabelleȱ vorgeȬ nommen.ȱ Dieȱ Felderȱ werdenȱ hierfürȱ speziellȱ belegt.ȱ Imȱ AFIȬFeldȱ wirdȱ derȱ Wertȱ 0xFFFF,ȱimȱFeldȱRouteȬTagȱeinȱAuthentifizierungstyp,ȱundȱinȱdenȱrestlichenȱ16ȱByteȱ werdenȱ dieȱ Angabenȱ fürȱ dieȱ Authentifizierungȱ eingetragen.ȱ Möglichȱ sindȱ hierȱ entwederȱ einȱ Kennwortȱ oderȱ eineȱ MD5ȬPrüfsummeȱ (Messageȱ Digestȱ 5ȱ istȱ einȱ
134ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ HashcodeȬVerfahren 19).ȱ Wirdȱ einȱ einfaches,ȱ unverschlüsseltesȱ Kennwortȱ verwenȬ det,ȱstehtȱimȱFeldȱRouteȬTagȱderȱWertȱ0x0001.ȱ OSPF und OSPFv2 WährendȱfürȱkleinereȱNetzeȱheuteȱoftȱnochȱRIPȱbzw.ȱdieȱstatischeȱKonfigurierungȱ derȱ RoutingȬTabellenȱ verwendetȱ wird,ȱ istȱ OSPFȱ fürȱ großeȱ Unternehmensnetzeȱ gedacht.ȱOSPFȱistȱeinȱoffenerȱStandardȱ(OpenȱSPF)ȱfürȱeinȱLinkȬStateȬProtokoll.ȱImȱ Gegensatzȱ zuȱ RIPȱ handeltȱ esȱ sichȱ hierȱ umȱ einȱ zustandsorientiertesȱ RoutingȬ Protokoll.ȱ Derȱ „Linkȱ State“ȱ istȱ derȱ Zustandȱ einerȱ Verbindungȱ zwischenȱ zweiȱ IPȬ Routern.ȱAktuellȱliegtȱOSPFȱinȱderȱVersionȱ2ȱ(OSPFv2)ȱvorȱ(RFCȱ2328).ȱJederȱRouȬ terȱ führtȱ beiȱ OSPFȱ eineȱ Datenbasisȱ (LinkȬStateȬDatenbankȱ oderȱ VerbindungszuȬ standsdatenbankȱ genannt)ȱ mitȱ allenȱ RoutingȬInformationenȱ desȱ Netzes.ȱ Dieȱ RouȬ tingȬInformationȱzuȱallenȱRoutenȱwirdȱalsoȱinȱjedemȱRouterȱgeführt.ȱDieȱKommuȬ nikationȱzumȱAustauschȱderȱRoutingȬInformationȱerfolgtȱbeiȱOSPFȱzwischenȱallenȱ unmittelbarenȱ Nachbarnȱ (beiȱ kleinerenȱ Netzen)ȱ oderȱ zwischenȱ herkömmlichenȱ undȱsog.ȱdesigniertenȱNachbarnȱ(großeȱNetze).ȱ Jederȱ Routerȱ erzeugtȱ ausȱ seinerȱ Sichtȱ einenȱ SPFȬBaumȱ (ShortestȬPathȬFirst),ȱ derȱ auchȱ alsȱ SpanningȬTreeȱ (überspannenderȱ Baum)ȱ bezeichnetȱ wird,ȱ fürȱ dasȱ ganzeȱ Netzwerk.ȱ Inȱ diesemȱ Baumȱ stelltȱ derȱ Routerȱ dieȱ Wurzelȱ dar.ȱ Dieȱ Berechnungȱ erȬ folgtȱ beispielsweiseȱ aufȱ Basisȱ desȱ DijkstraȬAlgorithmus.ȱ Dieȱ Verzweigungenȱ imȱ BaumȱstellenȱdieȱgünstigstenȱRoutenȱzuȱallenȱbekanntenȱSubnetzenȱbzw.ȱanderenȱ Routernȱ dar.ȱ Aufȱ Basisȱ desȱ SPFȬBaumsȱ wirdȱ dieȱ RoutingȬTabelleȱ erzeugt.ȱ InȱAbbildungȱ4Ȭ36ȱistȱeinȱBeispielȱeinesȱSpanningȬTreesȱfürȱeinenȱRouterȱAȱdargesȬ tellt.ȱ JedeȱKanteȱdesȱBaumsȱstelltȱgewissermaßenȱeinenȱSubnetzübergangȱundȱdamitȱdenȱ „Link“ȱzwischenȱzweiȱRouternȱdar.ȱDieseȱLinksȱmüssenȱmitȱKostenȱversehenȱwerȬ den,ȱ wobeiȱ alsȱ Faktorenȱz.B.ȱ dieȱ Belastung,ȱ dieȱÜbertragungsrateȱ oderȱ dieȱ VerzöȬ gerungȱmöglichȱsind.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ HashȬFunktion,ȱdieȱ vonȱ Prof.ȱ R.ȱ L.ȱ Rivestȱ amȱ MITȱ entwickeltȱ wurde.ȱ MD5ȱ erzeugtȱ ausȱ einerȱ Nachrichtȱ variablerȱ Längeȱ eineȱ Ausgabeȱ festerȱ Längeȱ (128ȱ Bit).ȱ Dieȱ EingabenachȬ richtȱwirdȱinȱ512ȬBitȬBlöckeȱaufgeteilt.ȱMD5ȱwirdȱunterȱanderemȱzurȱIntegritätsprüfungȱ vonȱNachrichtenȱbenutzt.ȱDerȱSenderȱerzeugtȱeinenȱHashȬCodeȱausȱeinerȱNachricht,ȱderȱ Empfängerȱ erzeugtȱ ihnȱ ebenfallsȱ fürȱ dieȱ empfangeneȱ Nachrichtȱ undȱ vergleichtȱ ihnȱ mitȱ demȱgesendetenȱWert.ȱ
19
135ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
2
3
E
B
A
Wurzel 3
4
D
C 2
F 2
J
1
H
2
I 5
K ȱ
Abbildungȱ4Ȭ36:ȱSpanningȬTreeȱeinesȱOSPFȬRoutersȱ
DamitȱalleȱRouterȱdieȱvollständigeȱTopologieȱdesȱNetzesȱkennen,ȱmüssenȱsieȱsichȱ synchronisieren.ȱBeiȱOSPFȱsiehtȱdiesȱsoȱaus,ȱdassȱjederȱRouterȱmitȱseinenȱNachbarnȱ kommuniziertȱundȱjedeȱVeränderung,ȱdieȱerȱvonȱeinemȱNachbarnȱerfährt,ȱanȱalleȱ anderenȱ Nachbarnȱ weiterleitet.ȱ Dieȱ Kommunikationȱ erfolgtȱ dabeiȱ inȱ BroadcastȬ NetzwerkenȱwieȱherkömmlichenȱEthernetȬLANsȱüberȱIPȬMulticastȬAdressenȱoderȱ überȱPunktȬzuȬPunktȬVerbindungenȱzwischenȱzweiȱRouternȱ(z.B.ȱmitȱdesigniertenȱ Routern,ȱsieheȱunten).ȱBeiȱBroadcastnetzenȱhörtȱjederȱRouterȱdieȱzugeordneteȱMulȬ ticastȬAdresseȱab.ȱ ZumȱAufbauȱvonȱNachbarschaftenȱ(Adjacency)ȱsendetȱ–ȱetwasȱvereinfachtȱdargeȬ stelltȱ –ȱ einȱ Routerȱ beimȱ Startȱ seinenȱ Nachbarnȱ sog.ȱ HelloȬPDUsȱzu.ȱ Nichtȱ alleȱ anȬ grenzendenȱ Routerȱ werdenȱ auchȱ zuȱ Nachbarnȱ (sog.ȱ adjacents).ȱ Anhandȱ derȱ AntȬ worten,ȱdieȱauchȱinȱFormȱvonȱHelloȬPDUsȱeintreffen,ȱentscheidetȱderȱneuȱgestarteȬ teȱ Router,ȱ welcheȱ Routerȱ seineȱ Nachbarnȱ sind.ȱ Dieȱ Nachbarnȱ sendenȱ demȱ neuenȱ RouterȱihreȱRoutingȬInformationenȱinȱFormȱvonȱDatabaseȬDescriptionȬPDUs.ȱȱȱ AufȱähnlicheȱWeiseȱläuftȱesȱab,ȱwennȱeinȱneuerȱRouterȱzuȱeinemȱbestehendenȱIPȬ Netzwerkȱ hinzukommt.ȱ Jederȱ Routerȱ sendetȱ nachȱ derȱ HelloȬPhaseȱ seineȱ eigeneȱ RoutingȬInformationȱalsȱsog.ȱLSAȱ(LinkȬStateȬAdvertisements).ȱDieȱvonȱdenȱNachȬ barrouternȱempfangenenȱLSAsȱwerdenȱjeweilsȱanȱdieȱanderenȱNachbarrouterȱweiȬ tergeleitet.ȱDamitȱwirdȱdasȱganzeȱNetzwerkȱmitȱallenȱRoutingȬInformationenȱüberȬ flutet.ȱ Zumȱ Abgleichȱ derȱ LinkȬStateȬDatenbankȱ istȱ einȱ zyklischerȱ Austauschȱ (alleȱ 30ȱmin)ȱderȱTopologieänderungenȱmitȱdenȱNachbarnȱvorgesehen.ȱȱ EineȱLebendüberwachungȱwirdȱebenfallsȱperiodischȱunterȱdenȱNachbarnȱdurchgeȬ führt.ȱJederȱRouterȱteiltȱseinenȱNachbarnȱinȱregelmäßigenȱHelloȬPDUsȱmit,ȱdassȱerȱ nochȱaktivȱist.ȱKommtȱ40ȱSekundenȱlangȱkeineȱHelloȬPDUȱeinesȱNachbarn,ȱsoȱgiltȱ dieserȱalsȱausgefallen.ȱDerȱRouter,ȱderȱdenȱAusfallȱbemerkt,ȱsendetȱeineȱLinkȬStateȬ UpdateȬPDUȱanȱalleȱanderenȱNachbarn,ȱdieȱauchȱmitȱeinerȱLinkȬStateȬAckȬPDUȱbeȬ stätigtȱwird.ȱȱ
136ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ 10.1.1.1
10.1.1.2
R1
R2
1
10.1.1.4
10.1.1.6
R4
R6
X
1 3
10.1.1.3
R3
3 Verteilungstakt
R5
2
10.1.1.5
ȱ Abbildungȱ4Ȭ37:ȱRoutenaustauschȱbeimȱLinkȬStateȬVerfahrenȱ
DieȱVerteilungȱeinerȱVeränderungȱimȱNetzȱgehtȱ–ȱnachdemȱsieȱerkanntȱwordenȱistȱ –ȱ relativȱ schnell,ȱ dasȱ Protokollȱ arbeitetȱ alsoȱ mitȱ rechtȱ hoherȱ Konvergenzȱ (sieȬ heȱAbbildungȱ4Ȭ37).ȱImȱBeispielȱistȱdieȱVerbindungȱzwischenȱ10.1.1.2ȱundȱ10.1.1.4ȱ ausgefallen.ȱ Dieȱ LinkȬStateȬUpdatesȱ werdenȱ überȱ dasȱ ganzeȱ Netzȱ verteilt.ȱ NachȬ demȱdieȱLinkȬStateȬDatenbankenȱallerȱRouterȱsynchronisiertȱsind,ȱgibtȱesȱnurȱnochȱ eineȱkürzesteȱRouteȱzuȱjedemȱRouter.ȱ Unterstützungȱ großerȱ Netze.ȱ Fürȱ großeȱ Netzwerkeȱ kannȱ manȱ eineȱ Aufteilungȱ inȱ mehrereȱautarkeȱOSPFȬBereicheȱvornehmen,ȱdamitȱdieȱBerechnungȱderȱoptimalenȱ Routenȱ inȱ denȱ beteiligtenȱ Routernȱ nichtȱ zuȱ aufwändigȱ wird.ȱ Dieȱ Netzbereicheȱ werdenȱauchȱalsȱAreasȱbezeichnetȱundȱerhaltenȱeineȱAreaȬIdȱzurȱIdentifikation.ȱDieȱ SchreibweiseȱfürȱdieȱAreaȬIdȱistȱanalogȱzurȱIPȬAdresseȱinȱdottedȱdecimalȱnotiertȱ(BeiȬ spiel:ȱ0.0.3.1).ȱ AreasȱdienenȱderȱHierarchisierungȱeinesȱautonomenȱSystems.ȱAlleȱAreasȱsindȱüberȱ einȱOSPFȬBackboneȱmiteinanderȱverbundenȱ(sieheȱhierzuȱAbbildungȱ4Ȭ38),ȱdasȱdieȱ AreaȬIdȱ0.0.0.0ȱbesitzt.ȱBackbonesȱwerdenȱauchȱalsȱAreaȱ0ȱbezeichnet.ȱȱ
Area 1 R1
OSPF-Backbone Area 0
R4
R2
Area 2
ASBR Autonomes System
R3 Area 3
Externe Netzwerke (andere AS)
ȱ Abbildungȱ4Ȭ38:ȱOSPFȬBackboneȱ
InȱeinerȱAreaȱverwendenȱalleȱRouterȱdenȱgleichenȱShortestȬPathȬFirstȬAlgorithmus.ȱ Jederȱ Routerȱ inȱ einerȱ Areaȱ hatȱ dieȱ gleicheȱ LinkȬStateȬDatenbank.ȱ Routerȱ kennenȱ
137ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ nurȱ dieȱ Routerȱ ausȱ ihrerȱ Area.ȱ Einȱ Routerȱ derȱ Areaȱ mussȱ jedochȱ amȱ OSPFȬ Backboneȱhängenȱundȱzwarȱüberȱeinenȱsog.ȱGrenzȬȱoderȱAreaȬGrenzȬRouter.ȱȱ BeiȱOSPFȱgibtȱesȱvierȱRouterȬKlassen:ȱ – InterneȱRouterȱderȱArea,ȱdieȱnurȱIntraȬASȬRoutingȱdurchführenȱundȱnachȱauȬ ßenȱnichtȱinȱErscheinungȱtreten.ȱ – AreaȬGrenzȬRouter:ȱDiesȱsindȱRouterȱanȱBereichsgrenzenȱ(AreaȬGrenzen),ȱdieȱ zweiȱoderȱmehrereȱAreasȱinnerhalbȱeinesȱASȱverbinden.ȱ – BackboneȬRouter:ȱ Dieseȱ befindenȱ sichȱ imȱ Backboneȱ undȱ führenȱ dasȱ Routingȱ innerhalbȱdesȱBackbonesȱdurch,ȱsieȱsindȱaberȱselbstȱkeineȱASȬGrenzȬRouter.ȱ – ASȬGrenzȬRouter:ȱ (Areaȱ Boundaryȱ Routerȱ =ȱ ASBR).ȱ Sieȱ vermittelnȱ zwischenȱ mehrerenȱ autonomenȱ Systemenȱ undȱ tauschenȱ mitȱ diesenȱ RoutingȬInformaȬ tionenȱaus.ȱ EinȱAreaȬGrenzȬRouterȱkenntȱdieȱLSAȬDatenbankenȱallerȱAreas,ȱanȱdenenȱerȱangeȬ bundenȱ ist.ȱ Alleȱ AreaȬGrenzȬRouterȱ sindȱ imȱ Backboneȱ enthalten.ȱ Dasȱ Backboneȱ dientȱ primärȱ dazu,ȱ denȱ Verkehrȱ zwischenȱ denȱ Bereichenȱ imȱ ASȱ weiterzuleiten.ȱ Vonȱ einemȱ autonomenȱ Systemȱ ausȱ werdenȱ externeȱ Routenȱ zuȱ anderenȱ ASȱ überȱ ASBRȱausgetauschtȱundȱdadurchȱnurȱinȱdiesenȱverwaltet.ȱInȱAbbildungȱ4Ȭ38ȱistȱz.B.ȱ derȱRouterȱR4ȱeinȱASBR,ȱwährendȱR1,ȱR2ȱundȱR3ȱAreaȬGrenzȬRouterȱsind.ȱȱ JederȱRouterȱerhältȱzurȱIdentifikationȱeineȱRouterȬId.ȱDieȱÜbertragungȱderȱRoutingȬ Informationenȱ erfolgtȱ direktȱ oderȱ überȱ spezielleȱ MulticastȬAdressen.ȱ OSPFȬPDUsȱ werdenȱ auchȱ nurȱ zwischenȱ Nachbarnȱ ausgetauscht.ȱ Einȱ Weiterroutenȱ außerhalbȱ desȱeigenenȱNetzesȱwirdȱunterstützt.ȱ Dieȱ Aufteilungȱ einesȱ großenȱ ASȱ hatȱ denȱ Vorteil,ȱ dassȱ dieȱ Größeȱ derȱ LinkȬStateȬ DatenbankenȱverringertȱwirdȱundȱdamitȱauchȱdieȱRoutingȬTabellenȱreduziertȱwerȬ den.ȱ Designierteȱ Router.ȱ Wennȱ esȱ inȱ einemȱ Netzwerkȱ vieleȱ OSPFȬRouterȱ gibt,ȱ istȱ dieȱ Netzwerkbelastungȱsehrȱgroß.ȱBeiȱeinemȱNetzwerkȱmitȱnȱRouternȱmüssenȱn(nȬ1)/2ȱ Nachbarschaftenȱ aufgebautȱ werden.ȱ Inȱ BroadcastȬNetzwerkenȱ (LAN)ȱ wirdȱ daherȱ einȱ sog.ȱ designierterȱ Routerȱ undȱ einȱ ErsatzȬRouterȱ (designierterȱ BackupȬRouter)ȱ zurȱSynchronisationȱderȱRoutingȬInformationȱbestimmt.ȱȱ DerȱdesignierteȱRouterȱistȱfürȱdieȱVerteilungȱderȱRoutingȬInformationȱ(inȱFormȱvonȱ LSAs)ȱzuständigȱundȱwirdȱmitȱeinerȱsog.ȱPrioritätȱgekennzeichnet,ȱdieȱhöherȱistȱalsȱ beiȱ herkömmlichenȱ OSPFȬRoutern.ȱ Überȱ dieseȱ Informationȱ kannȱ einȱ designierterȱ Routerȱ imȱ Netzȱ identifiziertȱ ȱ werden.ȱ Eineȱ direkteȱ Kommunikationȱ derȱ OSPFȬ Routerȱ istȱ damitȱ nichtȱ mehrȱ erforderlich.ȱ Esȱ wirdȱ nurȱ nochȱ mitȱ demȱ designiertenȱ RouterȱoderȱseinemȱStellvertreterȱkommuniziert.ȱDieȱAnzahlȱderȱNachbarschaftenȱ reduziertȱsichȱbeiȱEinsatzȱeinesȱdesigniertenȱRoutersȱsomitȱaufȱnȬ1.ȱDamitȱwirdȱdieȱ Netzwerkbelastung,ȱ dieȱ sichȱ ansonstenȱ aufgrundȱ vonȱ Broadcastsȱ ergebenȱ würde,ȱ reduziert.ȱ
138ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ OSPFȬPDUȬTypen.ȱImȱOSPFȬProtokollȱsindȱfünfȱOSPFȬPDUȬȱbzw.ȱPaketypenȱdeȬ finiert:ȱ – HelloȬPDUȱzurȱFeststellungȱderȱNachbarn.ȱ – DatabaseȬDescriptionȬPDUȱzurȱBekanntgabeȱderȱneuestenȱLinkȬStateȬDatenȬ banken.ȱ – LinkȬStateȬRequestȬPDUȱ zumȱ Anfordernȱ vonȱ RoutingȬInformationenȱ bzw.ȱ ÄnderungenȱvonȱdenȱNachbarn.ȱ – LinkȬStateȬUpdateȬPDUȱ zumȱ Verteilenȱ vonȱ RoutingȬInformationenȱ anȱ dieȱ Nachbarn.ȱ – LinkȬStateȬAcknowledgementȬPDUȱzurȱBestätigungȱeinesȱUpdates.ȱ DieȱOSPFȬPDUȱverfügtȱüberȱeinenȱHeaderȱȱundȱdieȱNutzdaten.ȱInȱAbbildungȱ4Ȭ39ȱ istȱderȱGrobaufbauȱderȱOSPFȬPDUsȱdargestellt.ȱOSPFȬPDUsȱwerdenȱimȱGegensatzȱ zuȱ RIPȱ direktȱ überȱ IPȱ gesendetȱ (sieheȱ IPȬHeader,ȱ Protokollȱ =ȱ 89).ȱ Damitȱ müssteȱ manȱOSPFȱeigentlichȱderȱSchichtȱ4ȱzuordnen.ȱ IP-Header (Protokoll = 89) OSPF Header
OSPF-PDU
OSPF Daten
ȱ Abbildungȱ4Ȭ39:ȱGrobaufbauȱderȱOSPFȬPDUȱ
InȱAbbildungȱ4Ȭ40ȱistȱderȱHeaderȱetwasȱverfeinertȱdargestellt:ȱ – ImȱFeldȱVersionȱwirdȱderȱWertȱ„2“ȱeingetragen.ȱȱ – DasȱFeldȱTypȱgibtȱdenȱgenauenȱInhaltȱdesȱPaketsȱanȱ(HelloȬPDU,ȱDatabaseȬ DescriptionȬPDU,...).ȱ – ImȱFeldȱLängeȱstehtȱdieȱGesamtlängeȱderȱPDUȱinȱByteȱ(inkl.ȱHeader).ȱȱ – Dasȱ Feldȱ RouterȬIdȱ identifiziertȱ denȱ sendendenȱ Router.ȱ Inȱ AreaȬIdȱ wirdȱ derȱ Bereichȱangegeben,ȱinȱdemȱdieȱPDUȱerzeugtȱwurde.ȱȱ – ImȱFeldȱPrüfsummeȱwirdȱeineȱPrüfsummeȱüberȱdenȱPDUȬInhaltȱohneȱdenȱInȬ haltȱdesȱFeldesȱAuthȱ(1+2)ȱangegeben.ȱȱ – AuthȬTypȱ gibtȱ dieȱ Artȱ derȱ Identifikationȱ an.ȱ Möglicheȱ Angabenȱ sindȱ hierȱ entwederȱ eineȱ passwortȬgestützteȱ Authentifizierungȱ oderȱ eineȱ kryptografiȬ scheȱSumme.ȱȱ – Imȱ Feldȱ Authȱ (imȱ Bildȱ ausȱ Darstellungsgründenȱ aufgeteiltȱ aufȱ Auth(1)ȱ undȱ (2))ȱwirdȱjeȱnachȱInhaltȱdesȱFeldesȱAuthȬTypȱdieȱeigentlicheȱAuthentifikationȱ eingetragen.ȱ
139ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 64 Bit
Version Typ
Länge
Router-Id
Area-Id
Prüfsumme
Auth-Typ
Auth (1)
Auth (2)
Nutzdaten ...
ȱ Abbildungȱ4Ȭ40:ȱOSPFv2ȬHeaderȱȱ
Aufȱ denȱ Aufbauȱ derȱ HelloȬPDUȱ sollȱ exemplarischȱ eingegangenȱ werden.ȱ Imȱ Feldȱ Netzwerkmaskeȱ wirdȱ dieȱ NetzwerkȬȱ oderȱ Subnetzmaskeȱ desȱ lokalenȱ OSPFȬRouterȬ Portsȱ angegeben,ȱ überȱ denȱ dieȱ PDUȱ gesendetȱ wird.ȱ Imȱ Feldȱ Intervallȱ wirdȱ inȱ SeȬ kundenȱangegeben,ȱinȱwelchenȱAbständenȱeineȱHelloȬPDUȱgesendetȱwird.ȱImȱFeldȱ OptionsȱwerdenȱeinigeȱBitȱfürȱoptionaleȱAngabenȱreserviert,ȱaufȱdieȱhierȱnichtȱnäȬ herȱeingegangenȱwerdenȱsoll.ȱDasȱFeldȱPrioȱgibtȱdieȱRouterȬPrioritätȱanȱundȱwirdȱ beiȱ Einsatzȱ vonȱ dediziertenȱ Routernȱ verwendet.ȱ Designierteȱ Routerȱ habenȱ eineȱ höhereȱ Prioritätȱ alsȱ konventionelleȱ OSPFȬRouter.ȱ Imȱ Feldȱ RouterȬDeadȬIntervallȱ wirdȱ dieȱ Zeitȱ inȱ Sekundenȱ angegeben,ȱ dieȱ verstreichenȱ darf,ȱ bisȱ einȱ NachbarȬ Routerȱalsȱausgefallenȱgilt.ȱ 64 Bit
Netzwerkmaske
Intervall
Options
Router-Dead-Intervall
Designierter Router
Designierter Backup-Router
Nachbar (n mal)....
Prio
ȱ Abbildungȱ4Ȭ41:ȱOSPFv2ȬHelloȬPDUȱ
DasȱFeldȱDesignierterȱRouterȱistȱnurȱausgefüllt,ȱwennȱesȱsichȱbeimȱSenderȱumȱeinenȱ designiertenȱRouterȱ handelt.ȱ Inȱ diesemȱFallȱstehtȱ dieȱ IPȬAdresseȱdesȱ PortsȱinȱdieȬ semȱFeld.ȱFürȱdasȱFeldȱDesignierterȱBackupȬRouterȱgiltȱdasȱgleiche.ȱDerȱWertȱ0.0.0.0ȱ wirdȱverwendet,ȱwennȱderȱsendendeȱRouterȱwederȱdesignierterȱnochȱdesignierterȱ BackupȬRouterȱ ist.ȱ Imȱ Feldȱ Nachbarȱ wirdȱ schließlichȱ eineȱ Listeȱ vonȱ Idsȱ derȱ NachȬ barȬRouterȱangegeben,ȱdieȱdemȱsendendenȱRouterȱbereitsȱbekanntȱsind.ȱȱ DieȱHelloȬPDUȱ(Abbildungȱ4Ȭ41)ȱwirdȱverwendet,ȱumȱbeiȱderȱInitialisierungȱeinesȱ RoutersȱalleȱNachbarnȱzuȱermittelnȱundȱumȱinȱregelmäßigenȱAbständenȱzuȱprüfen,ȱ obȱ dieȱ Verbindungenȱ zuȱ denȱ Nachbarnȱ nochȱ verfügbarȱ sind.ȱ Weiterhinȱ wirdȱ dieȱ PDUȱ eingesetzt,ȱ umȱ inȱ BroadcastȬNetzenȱ einenȱ designiertenȱ Routerȱ undȱ einenȱȱ BackupȬRouterȱzuȱbestimmen.ȱ
140ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ InȱAbbildungȱ4Ȭ42ȱistȱeineȱInitialisierungsphaseȱfürȱeineȱOSPFȬInstanzȱ1ȱdargestellt,ȱ dieȱzweiȱNachbarnȱmitȱHelloȬPDUsȱanspricht.ȱBeideȱantwortenȱ–ȱetwasȱvereinfachtȱ dargestelltȱ–ȱȱmitȱeinerȱHelloȬPDUȱundȱübergebenȱihreȱRouterȬIds.ȱ OSPF-Instanz 1
OSPF-Instanz 2 Hello-PDU
OSPF-Instanz 3 Nachbarn
Hello-PDU
Initialisierung r-Id = 2) Hello-PDU (Route r-Id = 3) Hello-PDU (Route
ȱ Abbildungȱ4Ȭ42:ȱOSPFȬHelloȬProtokollȱ
Wennȱ dieȱ Nachbarschaftenȱ aufgebautȱ sind,ȱ werdenȱ dieȱ RoutingȬInformationenȱ (dieȱ LinkȬStateȬDatabases)ȱ ständigȱ synchronisiert.ȱ Diesȱ geschiehtȱ überȱ DatabaseȬ DescriptionȬPDUs.ȱȱ Überȱ LinkȬStateȬRequestȬPDUsȱ könnenȱ vonȱ denȱ Nachbarnȱ gezieltȱ Informationenȱ (LinkȱStateȱAdvertisementsȱ=ȱLSA)ȱzuȱLinksȱangefordertȱwerden.ȱAntwortenȱwerȬ denȱ überȱ LinkȬStateȬUpdateȬPDUsȱ gesendet,ȱ undȱ dieseȱ werdenȱ wiederumȱ durchȱ LinkȬStateȬAckȬPDUsȱbestätigt.ȱInȱderȱLinkȬStateȬ,ȱderȱLinkȬStateȬUpdateȬȱundȱderȱ LinkȬStateȬAckȬPDUȱ könnenȱ Listenȱ vonȱ LinkȬStatesȱ angegebenȱ werdenȱ heȱAbbildungȱ4Ȭ43).ȱȱ OSPF-Instanz 1
OSPF-Instanz 2
Link-State-Requ est-PDU (LSA-Lis te) -PD Link-State-Update
Link-State-Ack-PD U
U (LSA-Liste)
(LSA-Liste)
ȱ Abbildungȱ4Ȭ43:ȱOSPFȬLinkȬStateȬRequestȬBearbeitungȱ
Dieȱ Einzelheitenȱ zuȱ denȱ OSPFȬPDUsȱ könnenȱ inȱ denȱ einzelnenȱ RFCsȱ nachgelesenȱ werden.ȱAufȱeineȱdetaillierteȱDarstellungȱwirdȱhierȱverzichtet.ȱ IS-IS DasȱISOȬProtokollȱISȬISȱ(IntermediateȱSystemȱtoȱIntermediateȱSystemȱintraȬdomainȱ routingȱinformationȱexchangeȱprotocol)ȱwirdȱwieȱOSPFȱinȱgroßenȱNetzenȱalsȱIGPȱ genutzt.ȱ Währendȱ sichȱ Protokolleȱ wieȱ RIPȱ undȱ OSPFȱ starkȱ amȱ InternetȬStandardȱ
141ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ orientieren,ȱbautȱISȬISȱaufȱdenȱOSIȬStandardsȱauf.ȱISȬISȱistȱinȱderȱaktuellenȱVersionȱ imȱinternationalenȱStandardȱISO/IECȱ10589:2002ȱbeschrieben.ȱ DieȱgrundlegendeȱFunktionsweiseȱvonȱISȬISȱundȱOSPFȱistȱsehrȱähnlich.ȱAuchȱISȬISȱ verwaltetȱ eineȱ Datenbankȱ (Linkȱ Stateȱ Database),ȱ inȱ derȱ dieȱ VerbindungsinformaȬ tionenȱ derȱ gesamtenȱ Topologieȱ erfasstȱ werden.ȱ Aufȱ Basisȱ dieserȱ Datenȱ wirdȱ wieȱ beiȱ OSPFȱ einȱ SpanningȬTreeȱ mitȱ derȱ jeweilsȱ günstigstenȱ Verbindungȱ zuȱ jedemȱ Knotenȱ errechnet.ȱ Umȱ dieȱ fürȱ dieȱ Berechnungȱ desȱ SpanningȬTreeȱ benötigtenȱ InȬ formationȱ zuȱ erlangen,ȱ werdenȱ auchȱ beiȱ ISȬISȱ zwischenȱ denȱ Routernȱ (beiȱ ISȬISȱ sprichtȱ manȱ vonȱ einemȱ Intermediateȱ System)ȱ Nachrichtenȱ mitȱ VerbindungsinforȬ mationenȱ (Linkȱ Stateȱ Packet)ȱ ausgetauscht.ȱ Bevorȱ zwischenȱ zweiȱ Intermediateȱ Systemsȱ(IS)ȱeineȱSynchronisationȱderȱVerbindungsinformationenȱstartet,ȱwirdȱwieȱ beiȱOSPFȱeineȱNachbarschaftȱ(Adjacency)ȱaufgebaut.ȱDazuȱsendetȱeinȱIS,ȱzumȱBeiȬ spielȱnachȱdemȱStart,ȱeineȱISȬtoȬISȬHelloȬPDUȱ(IIHȬPDU),ȱumȱandereȱISȱzuȱfinden.ȱ EinȱbenachbarterȱISȱempfängtȱdieȱIIHȬPDU,ȱprüftȱdieȱinȱderȱIIHȬPDUȱenthaltenenȱ Informationenȱ (z.B.ȱSystemȱ IDȱ desȱSenders)ȱ undȱsendetȱ eineȱ IIHȬPDUȱalsȱ BestätiȬ gungȱ zurück.ȱ Dieȱ IIHȬPDUsȱ werdenȱ auchȱ verwendet,ȱ umȱ beiȱ einerȱ aufgebautenȱ NachbarschaftȱperiodischȱdieȱQualitätȱderȱVerbindungȱzwischenȱdenȱISȱzuȱprüfen.ȱ WieȱschonȱangesprochenȱistȱdieȱgrundlegendeȱFunktionsweiseȱvonȱISȬISȱundȱOSPFȱ sehrȱähnlich.ȱImȱFolgendenȱwerdenȱdaherȱnurȱeinigeȱUnterschiede20ȱzwischenȱdenȱ beidenȱInteriorȬGatewayȬProtokollenȱkurzȱbeschrieben.ȱ
ȱ Abbildungȱ4Ȭ44:ȱBeispielhafterȱProtokollstapelȱvonȱISȬISȱundȱOSPFȱ
Beiȱ derȱ Betrachtungȱ derȱ Protokollstapelȱ istȱ zuȱ sehen,ȱ dassȱ ISȬISȱ direktȱ aufȱ einemȱ ProtokollȱderȱSchichtȱzweiȱ(z.B.ȱEthernet)ȱaufsetzt.ȱWieȱAbbildungȱ4Ȭ44ȱzeigt,ȱnutztȱ OPSFȱimȱGegensatzȱdazuȱdasȱIPȬProtokollȱausȱderȱSchichtȱdrei,ȱumȱNachrichtenȱzuȱ versenden.ȱ ISȬISȱ mussȱ somitȱ dieȱ verschiedenenȱ Protokolltypenȱ derȱ Schichtȱ zweiȱ unterstützen.ȱAbhängigȱvonȱderȱeingesetztenȱTechnologieȱmussȱISȬISȱdieȱNachrichȬ tenȱ entsprechendȱ demȱ jeweiligenȱ Protokollȱ derȱ Schichtȱ zweiȱ übergeben.ȱ Aufȱ denȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EineȱausführlicheȱBeschreibungȱderȱUnterschiedeȱzwischenȱISȬISȱundȱOSPFȱistȱinȱ„ISȬISȱ andȱOSPFȱDifferenceȱDiscussions“ȱvonȱBhatia,ȱManralȱundȱOharaȱ(InternetȱDraft,ȱ2005)ȱ zuȱlesen.ȱ
20
142ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ DienstȱderȱFragmentierungȱmussȱISȬISȱverzichten.ȱEinȱOSPFȬRouterȱkannȱdagegenȱ ohneȱ Rücksichtȱ aufȱ dieȱ MTUȱ (Maximumȱ Transmissionȱ Unit)ȱ Nachrichtenȱ anȱ IPȱ übergeben.ȱ Sindȱ dieȱ Nachrichtenȱ zuȱ lang,ȱ wirdȱ eineȱ IPȬFragmentierungȱ durchgeȬ führt.ȱ ISȬISȱ mussȱ eineȱ solcheȱ Fragmentierungȱ entwederȱ selbstȱ durchführen,ȱ oderȱ dieȱ Paketeȱ müssenȱ unterȱ Beachtungȱ derȱ MTUȱ erstelltȱ werden.ȱ Durchȱ dieȱ direkteȱ NutzungȱderȱDiensteȱausȱderȱSchichtȱzweiȱwirdȱkeinȱzusätzlicherȱProtokollȬHeaderȱ benötigt.ȱ Durchȱ dieȱ Vermeidungȱ desȱ zusätzlichenȱ Overheadsȱ werdenȱ dieȱ NachȬ richtenȱdesȱISȬISȬPaketesȱetwasȱkleiner.ȱ Externes Netzwerk (anderes AS)
OSPF Area 0
Area
Area 1
Area 3
Area 2
Externes Netzwerk (andere RD)
IS-IS
Area
AS
Area
Area
Interne Router
Area-Grenz-Router
Level-1-IS-IS-Routing
Backbone-Router
AS-Grenz-Router
Level-2-IS-IS-Routing
Routing Domain
Interdomain-Routing
ȱ
Abbildungȱ4Ȭ45:ȱVergleichȱderȱOSPFȱundȱISȬISȱTopologieȱ
ISȬISȱ unterteiltȱ ähnlichȱ demȱ OSPFȱ dasȱ Netzwerkȱ inȱ kleinereȱ Bereicheȱ (Areas)ȱ umȱ dieȱ Vorteileȱ vonȱ hierarchischemȱ Routingȱ zuȱ nutzen.ȱ Wieȱ schonȱ weiterȱ obenȱ amȱ BeispielȱvonȱOSPFȱbeschrieben,ȱwerdenȱdurchȱdasȱhierarchischeȱRoutingȱdieȱRouȬ tingȬTabelleȱkürzerȱundȱsomitȱdieȱBerechungȱderȱgünstigstenȱPfadeȱeinfacher.ȱWieȱ inȱAbbildungȱ4Ȭ45ȱzuȱsehenȱist,ȱwerdenȱbeiȱISȬISȱdieȱBereichsgrenzenȱüberȱdieȱVerȬ bindungenȱ definiert.ȱ Dieȱ Verbindungenȱ (Links)ȱ zwischenȱ zweiȱ ISȱ werdenȱ inȱ dreiȱ Klassenȱaufgeteilt:ȱ – LevelȬ1ȬISȬISȬRoutingȱzwischenȱIntermediateȱSystemsȱinnerhalbȱeinerȱArea.ȱ – LevelȬ2ȬISȬISȬRoutingȱ zwischenȱ Intermediateȱ Systemsȱ innerhalbȱ einerȱ Areaȱ undȱzwischenȱAreasȱeinerȱRoutingȬDomäne.ȱ – InterdomainȬRoutingȱ zwischenȱ eigenständigenȱ RoutingȬDomänenȱ (AutonoȬ menȱSystemen).ȱ ImȱGegensatzȱzuȱOSPFȱgibtȱesȱbeiȱISȬISȱkeineȱgesonderteȱBackboneȬArea.ȱDieȱVerȬ bindungȱ derȱ Areasȱ wirdȱ überȱ LevelȬ2ȬISȬISȬRoutingȱ realisiert.ȱ Eineȱ Verbindungȱ kannȱ beiȱ ISȬISȱ nebenȱ einemȱ LevelȬ1Ȭȱ auchȱ fürȱ einȱ LevelȬ2ȬISȬISȬRoutingȱ genutztȱ werden.ȱ DasȱISȬISȬProtokollȱwirdȱgegenwärtig,ȱwieȱdasȱOSPFȬProtokoll,ȱinȱgroßenȱIPȱNetzȬ werkenȱ eingesetzt.ȱ ISȬISȱ wirdȱ vonȱ denȱ meistenȱ TierȬ1ȬISPsȱ alsȱ RoutingȬProtokollȱ gewählt.ȱVieleȱgroßeȱISPsȱwechselnȱzuȱISȬIS,ȱdaȱesȱimȱVergleichȱzuȱOSPFȱalsȱstabiȬ
143ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ lerȱundȱeinfacherȱzuȱimplementierenȱgilt.ȱOSPFȱistȱalsȱRoutingȱProtokollȱbeiȱmittleȬ renȱ bisȱ großenȱ ISPsȱ starkȱ verbreitet.ȱ Beiȱ IPȬbasiertenȱ Unternehmensnetzwerkenȱ wirdȱfastȱausschließlichȱOSPFȱverwendet.ȱ Esȱ sollȱ nochȱ festgehaltenȱ werden,ȱ dassȱ dieȱ Entscheidung,ȱ welchesȱ RoutingȬ Protokollȱ verwendetȱ wird,ȱ vonȱ derȱ grundlegendenȱ Entscheidung,ȱ welcheȱ ProtoȬ kollstandardsȱimȱNetzȱgenutztȱwerden,ȱabhängt.ȱISȬISȱsetztȱnämlichȱaufȱdemȱOSIȬ StandardȱundȱOSPFȱaufȱdemȱInternetȬStandardȱauf.ȱDieseȱAbhängigkeitȱergibtȱsichȱ zumȱ Beispielȱ ausȱ denȱ Unterschiedenȱ beiȱ derȱ Adressierungȱ derȱ Knoten.ȱ Wirdȱ inȱ einemȱNetzwerkȱdasȱInternetȬProtokollȱ(IP)ȱeingesetzt,ȱbevorzugtȱmanȱOSPFȱoderȱ RIPȱ (sieheȱ dazuȱ Abbildungȱ 4Ȭ44).ȱ Werdenȱ hingegenȱ imȱ Netzwerkȱ ISOȬProtokolleȱ (wieȱ etwaȱ ISOȬ9542ȬStandard,ȱ ISOȱ Endȱ Systemȱ toȱ Intermediateȱ Systemȱ Protocol)ȱ eingesetzt,ȱ istȱ ISȬISȱ dieȱ bevorzugteȱ Wahl.ȱ Esȱ existierenȱ aberȱ auchȱ Vorschlägeȱ wieȱ derȱRFCȱ1195,ȱumȱISȬISȱfürȱIPȬbasiertesȱRoutingȱoderȱinȱgemischtenȱUmgebungenȱ zuȱnutzen.ȱ Border-Gateway-Protokolle BGP und BGP-4 BGPȱ(RFCsȱ1654,ȱ1771,ȱ1772ȱundȱ1773)ȱbzw.ȱdessenȱneuereȱVersionȱBGPȬ4ȱ(Borderȱ Gatewayȱ Protocol,ȱ auchȱ BGPv4) 21ȱistȱ einȱ EGP,ȱ dasȱ heuteȱ imȱ Internetȱ eingesetztȱ wird.ȱ Dasȱ ältereȱ BGPȬProtokollȱ istȱ inȱ RFCȱ 1163ȱ beschrieben.ȱ Inȱ derȱ derzeitȱ eingeȬ setztenȱVersionȱ 4ȱ istȱ esȱimȱ RFCȱ1771ȱspezifiziert.ȱ BGPȱ istȱ einȱ Pfadvektorprotokollȱ (PathȱVectorȱProtocol)ȱundȱermöglichtȱdasȱRoutingȱzwischenȱverschiedenenȱautoȬ nomenȱ Systemenȱ (AS)ȱ undȱ ähneltȱ vomȱ Grundprinzipȱ herȱ demȱ DistanceȬVectorȬ Verfahren.ȱ Imȱ Gegensatzȱ zumȱ DistanceȬVectorȬVerfahrenȱ verwendetȱ BGPȱ jedochȱ keineȱKosteninformationȱ(wieȱdieȱAnzahlȱderȱHops),ȱsondernȱnurȱdieȱPfadinformaȬ tion.ȱȱ Derzeitȱ istȱ imȱ Internetȱ nurȱ BGPȱ alsȱ spezielleȱ Ausprägungȱ einesȱ EGPȱ imȱ Einsatz.ȱ DieȱPfadeȱwerdenȱhierȱaufȱASȬEbene,ȱnichtȱaufȱRouterȬEbeneȱverwaltet.ȱJederȱBGPȬ Routerȱ führtȱ eineȱ Datenbankȱ mitȱ Routenȱ zuȱ allenȱ erreichbarenȱ autonomenȱ SysteȬ men.ȱ Dieȱ heutigenȱ RoutingȬTabellengrößenȱ umfassenȱ ca.ȱ 200.000ȱ Einträgeȱ fürȱ ca.ȱ 26.000ȱ autonomeȱ Systeme.ȱ Unmittelbarȱ benachbarteȱ Routerȱ bezeichnetȱ manȱ auchȱ alsȱ Peersȱ bzw.ȱ BGPȬSpeaker.ȱ Dieȱ Verbindungȱ zwischenȱ Peersȱ wirdȱ alsȱ PeerȬ Verbindungȱbezeichnet 22.ȱȱ Kernstückȱ desȱ BGPȬProtokollsȱ istȱ eineȱ UPDATEȬNachricht.ȱ Mitȱ Hilfeȱ vonȱ UPDAȬ TEȬPDUsȱ teilenȱ sichȱ Routerȱ dieȱ Existenzȱ neuerȱ Routenȱ überȱ sog.ȱ Announcementsȱ mitȱundȱkommunizierenȱauchȱdenȱWegfallȱbestehenderȱRoutenȱ(Withdrawals).ȱDerȱ Empfängerȱ einerȱ UPDATEȬNachrichtȱ entscheidetȱ anhandȱ seinerȱ RoutingȬPolicies,ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ BGPȱgibtȱesȱerstȱseitȱ1989,ȱBGPȬ4ȱseitȱ1993.ȱ
21
ȱȱ BGPȱkannȱauchȱinnerhalbȱeinesȱASȱverwendetȱwerdenȱundȱwirdȱdannȱalsȱIBGPȱbezeichȬ net.ȱȱ
22
144ȱ
4.2ȱȱDasȱInternetȱundȱdasȱInternetȬProtokollȱIPv4ȱ wasȱ mitȱ denȱ UPDATEȬInformationenȱ passierenȱ sollȱ (verarbeitenȱ undȱ Routenȱ anȬ passen,ȱnurȱweiterleiten).ȱ BGPȬRouterȱ kennenȱ alsoȱ dieȱ besteȱ Routeȱ zuȱ einemȱ anderenȱ ASȱ alsȱ vollständigenȱ Pfad.ȱEinȱBGPȬRouterȱinformiertȱperiodischȱalleȱNachbarȬBGPȬRouterȱgenauȱüberȱ dieȱzuȱnutzendenȱRouten.ȱZyklenȱinȱRoutenȱwerdenȱbeiȱÜbernahmeȱderȱInformatiȬ onȱgefunden,ȱindemȱgeprüftȱwird,ȱobȱdieȱeigeneȱASȬNummerȱinȱderȱRouteȱist.ȱFallsȱ diesȱ derȱ Fallȱ ist,ȱ wirdȱ dieȱ Routeȱ nichtȱ akzeptiert.ȱ Damitȱ trittȱ auchȱ dasȱ CountȬtoȬ InfinityȬProblemȱ nichtȱ auf.ȱ BGPȬRouterȱ überwachenȱ sichȱ gegenseitigȱ überȱ einȱ HeartbeatȬProtokoll,ȱumȱAusfälleȱschnellȱzuȱerkennen.ȱ DieȱRoutingȬInformationȱwirdȱinȱdenȱBGPȬRouternȱinȱsog.ȱRIBȱ(RoutingȱInformatiȬ onȱ Base)ȱ abgelegt.ȱ BGPȬRouterȱ verwendenȱ zurȱ Auswahlȱ derȱ bestenȱ Routenȱ eineȱ RoutingȬPolicyȱ mitȱ unterschiedlichenȱ Regelwerken,ȱ inȱ dieȱ Sicherheitsaspekte,ȱ KosȬ tenaspekteȱundȱevtl.ȱSperrenȱvonȱRoutenȱfürȱbestimmteȱAbsenderȱundȱEmpfängerȱ eineȱ Rolleȱ spielen.ȱ Eineȱ Route,ȱ welcheȱ dieȱ Regelnȱ verletzt,ȱ wirdȱ aufȱ „unendȬ lich“ȱgesetzt.ȱEineȱkonkreteȱVorgabeȱzurȱStrategieȱistȱaberȱnichtȱgegeben.ȱDiesȱwirdȱ vielmehrȱdenȱeinzelnenȱRouternȱ(bzw.ȱderenȱAdministratoren)ȱüberlassen.ȱ AS11 R4
BGP
Nur direkte Nachbarn reden miteinander
AS20
AS3
BGP
R1 BGP
Rx
AS23
R5
R3
BGP-Router Lebendüberwachung
R2 P BG
AS1212
ȱ Abbildungȱ4Ȭ46:ȱBGPȬRouterȬKommunikationȱ
DieȱArbeitsweiseȱderȱBGPȬRouterȱistȱinȱAbbildungȱ4Ȭ46ȱdargestellt.ȱInȱjedemȱASȱistȱ (mind.)ȱ einȱ BGPȬRouter,ȱ derȱ alsȱ Stellvertreterȱ desȱ ASȱ dientȱ undȱ mitȱ denȱ anderenȱ BGPȬRouternȱkommuniziert.ȱȱBGPȬ4ȱwirdȱalsoȱzwischenȱASȬGrenzrouternȱ(ASBR)ȱ verwendet.ȱ BGPȬPDUs.ȱ BGPȱ nutztȱ TCPȱ (Portȱ 179) 23ȱalsȱ Transportprotokollȱ fürȱ denȱ NachrichȬ tenaustauschȱ(verbindungsorientiert!).ȱFolgendeȱBGPȬPDUsȱsindȱdefiniert:ȱ – OPENȬPDU:ȱ Dieseȱ PDUȱ wirdȱ nachȱ demȱ TCPȬVerbindungsaufbauȱ gesendetȱ undȱ dientȱ derȱ Identifikationȱ undȱ Authentifizierungȱ sowieȱ demȱ ParameterȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ AuchȱhierȱwirdȱeinȱTransportprotokollȱfürȱeineȱSchichtȬ3ȬAufgabeȱverwendet.ȱ
23
145ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ austauschȱ(TimerȱfürȱdieȱZeitüberwachungȱzwischenȱHeartbeatȬȱundȱUpdaȬ teȬPDUs,ȱBGPȬIdentifierȱdesȱsendendenȱRouters,ȱIdentifikationȱdesȱAutonoȬ menȱSystems,...).ȱ – UPDATEȬPDU:ȱMitȱdieserȱPDUȱwirdȱeinȱAdvertisement,ȱalsoȱeinȱPfadȱzuȱeiȬ nemȱbestimmtenȱZielȱanȱdenȱNachbarnȱgesendet.ȱAuchȱbeiȱÄnderungenȱderȱ RoutenȱwirdȱeineȱUPDATEȬPDUȱgesendet.ȱ – KEEPALIVEȬPDU:ȱ Dieseȱ PDUȱ dientȱ alsȱ BestätigungsȬPDUȱ fürȱ dieȱ OPENȬ PDUȱ (OPENȬResponse).ȱ Einȱ Nachbarȱ teiltȱ mitȱ derȱ PDUȱ auchȱ mit,ȱ dassȱ erȱ nochȱamȱLebenȱist.ȱ – NOTIFICATIONȬPDU:ȱ Dieseȱ PDUȱ dientȱ dazu,ȱ einenȱ Nachbarnȱ darüberȱ zuȱ informieren,ȱ dassȱ inȱ einerȱ vorhergehendenȱ PDUȱ einȱ Fehlerȱ warȱ oderȱ dassȱ derȱsendendeȱBGPȬRouterȱdieȱVerbindungȱschließenȱmöchte.ȱ Dieȱ nähereȱ Beschreibungȱ desȱ PDUȬAufbausȱ derȱ BGPȬ4ȬPDUsȱ kannȱ imȱ RFCȱ 1771ȱ nachgelesenȱ werden.ȱ BGPȬ4ȱ unterstütztȱ imȱ Gegensatzȱ zumȱ Vorgängerȱ BGPȱ auchȱ CIDRȱundȱdieȱAggregationȱvonȱRouten.ȱHeuteȱwirdȱimȱInternetȱfastȱausschließlichȱ BGPȬ4ȱeingesetzt.ȱ Multicast-Routing DerȱVollständigkeitȱhalberȱsollenȱzumȱThemenbereichȱ„RoutingȱimȱInternet“ȱnochȱ RoutingȬProtokolleȱ fürȱ dasȱ MulticastȬRoutingȱ erwähntȱ werden.ȱ Dasȱ Protokollȱ IGMPȱ (Interȱ Groupȱ Managementȱ Protocol)ȱ dientȱ imȱ Internetȱ alsȱ Mechanismus,ȱ überȱdenȱAnwendungenȱ(MulticastȬClients)ȱsichȱdynamischȱinȱMulticastȬGruppenȱ registrierenȱkönnen.ȱMulticastingȱstelltȱeineȱwichtigeȱTechnikȱfürȱVideoȬȱundȱAuȬ diokonferenzenȱimȱInternetȱdar.ȱ RIPȱ undȱ OSPFȱ werdenȱ fürȱ dasȱ Routingȱ vonȱ UnicastȬNachrichtenȱ verwendet.ȱ Fürȱ dasȱ Routingȱ vonȱ MulticastȬNachrichtenȱ imȱ Internetȱ sindȱ spezielleȱ RoutingȬ Protokolleȱerforderlich,ȱdieȱinȱsog.ȱMulticastȬRouternȱimplementiertȱwerden.ȱȱ MulticastȬRoutingȬProtokolle,ȱ dieȱ imȱ Internetȱ verwendetȱ werden,ȱ sindȱ z.B.ȱ DVMRPȱ (Distanceȱ Vectorȱ Multicastȱ Protocol,ȱ RFCȱ 1075)ȱ undȱ MOSPFȱ (Multicastȱ OSPF,ȱRFCȱ1854).ȱDVRMPȱsetztȱaufȱRIPȱauf,ȱundȱMOSPFȱistȱeineȱErweiterungȱvonȱ OSPF.ȱ Daherȱ nutztȱ DVRMPȱ auchȱ einȱ vonȱ RIPȱ abgeleitetesȱ DistanceȬVectorȬProtoȬ kollȱundȱMOSPFȱeinȱLinkȬStateȬVerfahren.ȱȱ Einȱ Zusammenschlussȱ vonȱ multicastfähigenȱ Routernȱ imȱ Internetȱ entstandȱ ausȱ eiȬ nerȱ Initiativeȱ derȱ IETFȱ mitȱ demȱ Ziel,ȱ MulticastȬTechnikenȱ auszuprobieren.ȱ Alsȱ BezeichnungȱfürȱdasȱNetzwerkȱwurdeȱMboneȱ(MulticastȱBackboneȱonȱtheȱInternet)ȱ verwendet.ȱ Heuteȱ beherrschenȱ nahezuȱ alleȱ Routerȱ auchȱ MulticastȬRoutingȬProtoȬ kolle,ȱ weshalbȱ dasȱ spezielleȱ Mboneȱ nichtȱ mehrȱ weiterentwickeltȱ wird.ȱ MulticastȬ Routerȱ (MȬRouter)ȱ sindȱ imȱ Prinzipȱ heuteȱ StandardȬRouter,ȱ dieȱ nebenȱ RIP/OSPFȱ nochȱdasȱRoutingȱvonȱMulticastȬNachrichtenȱunterstützen.ȱ Aufȱ dieȱ Funktionsweiseȱ derȱ Protokolle,ȱ desȱ MboneȬSystemsȱ undȱ dessenȱ spezielleȱ RoutingȬProtokolleȱsollȱanȱdieserȱStelleȱnichtȱweiterȱeingegangenȱwerden.ȱȱ
146ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ Multi-Protocol Label Switching (MPLS) Bevorȱ dasȱ Themaȱ Routingȱ abgeschlossenȱ werdenȱ kann,ȱ sollȱ nochȱ aufȱ dieȱ MPLSȬ Technikȱeingegangenȱwerden,ȱdieȱinȱersterȱLinieȱfürȱdieȱKommunikationȱzwischenȱ denȱ Routernȱ vonȱ ISPsȱ genutztȱ wirdȱ undȱ daherȱ fürȱ dieȱ externenȱ InternetȬNutzerȱ kaumȱsichtbarȱwird.ȱ MPLSȱ vereintȱ unterschiedlicheȱ Protokolleȱ inȱ einemȱ Routerȱ undȱ kombiniertȱ dieȱ Vorteileȱ vonȱ Switchingȱ mitȱ Routing.ȱ Mitȱ MPLSȱ versuchtȱ man,ȱ dieȱ Vorteileȱ vonȱ virtuellenȱ Leitungenȱ (Virtualȱ Circuits)ȱ mitȱ denȱ Vorteilenȱ vonȱ Datagrammenȱ zuȱ verbinden,ȱ umȱ damitȱ einenȱ Leistungsgewinnȱ zuȱ erzielen.ȱ Insbesondereȱ dieȱ aufȬ wändigeȱSucheȱnachȱEinträgenȱinȱdenȱRoutingȬTabellenȱsollteȱbeschleunigtȱwerden.ȱ DazuȱwurdenȱzuȱdenȱIPȬPaketenȱsog.ȱLabelsȱergänzt,ȱdieȱvonȱdenȱRouternȱfürȱeineȱ schnelleȱRoutingȬEntscheidungȱverwendetȱwerden.ȱȱ EinȱMPLSȬfähigerȱRouterȱweistȱjedemȱPräfixȱinȱderȱRoutingȬTabelleȱeinȱausȱseinerȱ SichtȱeindeutigesȱLabelȱzu,ȱdasȱerȱseinenȱNachbarȬRouternȱmitteilt.ȱDieȱnotwendigeȱ AdvertisementȬPDUȱ wirdȱ imȱ LabelȱDistributionȱProtocolȱ (LDP,ȱRFCȱ 3036)ȱdefiniert.ȱ DamitȱwerdenȱdieȱNachbarȬRouterȱaufgefordert,ȱdieseȱLabelsȱanȱalleȱIPȬPaketeȱzuȱ hängen,ȱ dieȱ anȱ eineȱ IPȬAdresseȱ mitȱ demȱ zugeordnetenȱ Präfixȱ adressiertȱ werden.ȱ BeiȱankommendenȱPaketenȱmussȱderȱRouterȱnunȱnichtȱmehrȱdieȱaufwändigeȱSucheȱ inȱ derȱ RoutingȬTabelleȱ überȱ denȱ IPȬZieladressȬSuchalgorithmusȱ (größteȱ ÜbereinȬ stimmung)ȱdurchführen,ȱsondernȱkannȱdenȱAusgangsportȱanhandȱdesȱLabelsȱweȬ sentlichȱschnellerȱermitteln.ȱ MPLSȱarbeitetȱzwischenȱdenȱSchichtenȱ2ȱundȱ3ȱdesȱOSIȬSchichtenmodellsȱalsȱZwiȬ schenschicht.ȱUrprünglichȱsindȱdieȱFunktionalitätenȱvonȱMPLSȱdurchȱdasȱFeatureȱ ȈTagȱSwitchingȈȱinȱdenȱRouternȱvonȱCiscoȱbekanntȱgeworden.ȱMittlerweileȱgibtȱesȱ eineȱFülleȱvonȱRFCs,ȱdieȱsichȱmitȱMPLSȱbefassen.ȱFürȱeineȱweitergehendeȱBetrachȬ tungȱ seiȱ stellvertretendȱ derȱ RFCȱ 3031ȱ genannt,ȱ derȱ dieȱ MPLSȬArchitekturȱ beȬ schreibt.ȱ
4.3 Steuer- und Konfigurationsprotokolle im Internet InȱdiesemȱAbschnittȱwerdenȱwichtigeȱSteuerȬȱundȱKonfigurationsprotokolleȱfürȱdieȱ Schichtȱ3ȱdesȱInternetsȱerörtert.ȱDieseȱProtokolleȱsindȱessentiellerȱBestandteilȱinterȬ netȬbasierterȱNetzwerke.ȱ
4.3.1
Internet Control Message Protocol (ICMP)
Dasȱ Internetȱ Controlȱ Messageȱ Protocolȱ (ICMP,ȱ RFCȱ 792)ȱ istȱ einȱ Steuerprotokoll,ȱ dasȱvonȱHostsȱundȱRouternȱbenutztȱwird.ȱEsȱdientȱderȱÜbertragungȱvonȱunerwarȬ tetenȱEreignissenȱundȱauchȱfürȱTestzweckeȱinȱderȱVermittlungsschicht.ȱ ICMPȱ gehörtȱ inȱ dieȱ InternetȬVermittlungsschichtȱ undȱ nutztȱ fürȱ dieȱ DatenübertraȬ gungȱdasȱIPȬProtokoll.ȱICMPȬPDUsȱwerdenȱdaherȱwieȱTCPȬȱoderȱUDPȬPaketeȱalsȱ IPȬNutzdatenȱübertragen.ȱ
147ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ InȱAbbildungȱ4Ȭ47ȱistȱderȱAufbauȱeinerȱICMPȬNachrichtȱmitȱHeaderȱundȱNutzdaȬ tenteilȱ dargestellt.ȱ Imȱ Headerȱ sindȱ derȱ Nachrichtentypȱ undȱ einȱ Codeȱ definiert.ȱ WeiterhinȱistȱimȱHeaderȱeineȱPrüfsummeȱzuȱfinden.ȱImȱNutzdatenteilȱwirdȱeinȱTeilȱ desȱursprünglichenȱIPȬPaketsȱübertragen,ȱundȱzwarȱderȱIPȬHeaderȱundȱ64ȱBitȱdesȱ Nutzdatenteils,ȱwelchesȱdasȱZielȱnichtȱerreichtȱhat.ȱ 32 Bit Typ=3
Code=0..5
Prüfsumme 0 ... 0
Internet-Datagramm-Header + 64 Bit des Datagramms, welches das Ziel nicht erreicht
ȱ
Abbildungȱ4Ȭ47:ȱICMPȬNachrichtȱ
StelltȱeinȱIPȬRouterȱeinȱProblemȱfest,ȱsendetȱerȱeineȱICMPȬNachrichtȱdirektȱanȱdenȱ Absender.ȱ Einigeȱ typischeȱ Beispieleȱ vonȱ ICMPȬNachrichtenȱ sollenȱ stellvertretendȱ erwähntȱwerden:ȱ – ȱ„Destinationȱunreachable“ȱwirdȱvonȱeinemȱRouterȱabgesetzt,ȱderȱeinȱDataȬ grammȱnichtȱausliefernȱkannȱ(Typȱ=ȱ3,ȱCodeȱ=ȱ1).ȱȱ – „Networkȱunreachable“ȱwirdȱvonȱeinemȱRouterȱabgesetzt,ȱwennȱeinȱadresȬ siertesȱNetzwerkȱvonȱeinemȱRouterȱnichtȱerreichbarȱistȱ(Typȱ=ȱ3,ȱCodeȱ=ȱ0).ȱ – „Sourceȱquench“ȱwirdȱvonȱeinemȱRouterȱgesendet,ȱwennȱseinȱSpeicherplatzȱ erschöpftȱistȱ(Typȱ=ȱ4,ȱCodeȱ=ȱ0).ȱ – Dasȱ pingȬKommandoȱ verwendetȱ ICMPȬPDUsȱ (Echoȱ Request,ȱ Echoȱ Reply),ȱ umȱ zuȱ prüfen,ȱ obȱ einȱ bestimmterȱ Hostȱ oderȱ Routerȱ erreichbarȱ istȱ (Typȱ =ȱ0,ȱ Codeȱ=ȱ0).ȱ – Dasȱ tracerouteȬKommando,ȱ dasȱ zurȱ Ermittlungȱ einerȱ Routeȱ zwischenȱ zweiȱ Rechnernȱ dient,ȱ verwendetȱ u.a.ȱ dieȱ ICMPȬNachrichtȱ „Timeȱ ExceedȬ ed“ȱ(Typ=11).ȱ AlleȱderzeitȱdefiniertenȱICMPȬNachrichtenȱsindȱdemȱentsprechendenȱRFCȱzuȱentȬ nehmen.ȱ
4.3.2
ARP und RARP
Bisherȱsindȱwirȱdavonȱausgegangen,ȱdassȱjederȱHostȱnebenȱdenȱIPȬAdressen 24ȱderȱ ZielhostsȱauchȱdieȱSchichtȬ2ȬAdressenȱkennt,ȱdieȱfürȱdieȱAdressierungȱinȱderȱSicheȬ rungsschichtȱnotwendigȱsind.ȱFürȱdieȱAdressierungȱimȱEthernetȱbrauchtȱmanȱz.B.ȱ eineȱ48ȱBitȱlangeȱMACȬAdresseȱ(Beispiel:ȱfürȱeineȱEthernetȬAdresse:ȱ1AȬ23ȬF9ȬCDȬ 06Ȭ9B).ȱInȱanderenȱNetzwerkȬArchitekturenȱ(sieheȱz.B.ȱimȱISO/OSIȬModell)ȱwerdenȱ dieȱ MACȬAdressenȱ statischȱ perȱ Vorabkonfigurationȱ mitȱ denȱ SchichtȬ3ȬAdressenȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dasȱ könnenȱ auchȱ mehrereȱ jeȱ Hostȱ sein,ȱ daȱ dieȱ IPȬAdressenȱ anȱ dasȱ Netzwerkinterfaceȱ gekoppeltȱsind.ȱȱ
24
148ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ gekoppelt.ȱImȱinternetbasiertenȱLANȱistȱdiesȱnichtȱso.ȱJederȱHostȱkenntȱinitialȱnurȱ seineȱeigene(n)ȱMACȬAdresse(n)ȱundȱnichtȱdieȱderȱPartnerhosts.ȱ WieȱbekommtȱeinȱHostȱalsoȱdieȱMACȬAdresseȱeinesȱPartners?ȱErȱmussȱsieȱsichȱzurȱ Laufzeitȱ besorgen,ȱ undȱ hierfürȱ dientȱ dasȱ Steuerprotokollȱ ARP,ȱ dasȱ eigentlichȱ zurȱ HälfteȱinȱdieȱSchichtȱ2ȱundȱzurȱanderenȱHälfteȱinȱdieȱSchichtȱ3ȱgehört.ȱARPȱ(AddȬ ressȱ Resolutionȱ Protocol)ȱ dientȱ demȱ dynamischenȱ Mappingȱ vonȱ IPȬAdressenȱ aufȱ SchichtȬ2ȬAdressenȱ(MACȬAdressen).ȱȱ ARPȱfunktioniertȱimȱWesentlichenȱwieȱfolgt:ȱ – WennȱeinȱZielhostȱadressiertȱwird,ȱderȱbisherȱnochȱnichtȱoderȱschonȱlängereȱ Zeitȱ nichtȱ mehrȱ adressiertȱ wurde,ȱ wirdȱ einȱ ARPȬRequestȱ inȱ einemȱ limitedȱ Broadcastȱ imȱ LANȱ versendet.ȱ Inȱ demȱ ARPȬRequestȱ istȱ dieȱ IPȬZieladresseȱ eingetragen.ȱ Mitȱ diesemȱ ARPȬRequestȱ fragtȱ derȱ Hostȱ alleȱ anderenȱ Rechnerȱ imȱLAN,ȱwerȱdennȱdieseȱAdresseȱkennt.ȱ – DerȱZielhostȱoderȱeinȱandererȱantwortetȱmitȱeinemȱARPȬReplyȱundȱübergibtȱ dabeiȱseineȱMACȬAdresse.ȱ DamitȱdieȱMACȬAdressenȱnichtȱständigȱneuȱangefragtȱwerdenȱmüssen,ȱführtȱjederȱ Hostȱ einenȱ ARPȬCacheȱ undȱ merktȱ sichȱ darinȱ dieȱ SchichtȬ2ȬAdressenȱ zuȱ denȱ entȬ sprechendenȱ IPȬAdressen,ȱ mitȱ denenȱ erȱ geradeȱ zuȱ tunȱ hat.ȱ Derȱ ARPȬCacheȱ wirdȱ aberȱperiodischȱbereinigt,ȱumȱevtl.ȱInkonsistenzenȱzuȱvermeiden.ȱJederȱEintragȱhatȱ hierzuȱeinȱTTLȬFeldȱ(TimeȬToȬLive).ȱWirdȱeinȱEintragȱȱeineȱbestimmteȱZeitȱ(z.B.ȱ20ȱ Minuten)ȱnichtȱbenötigt,ȱsoȱwirdȱerȱausȱdemȱARPȬCacheȱgelöscht.ȱȱ ARPȬPDUȬAufbau.ȱ Inȱ Abbildungȱ 4Ȭ48ȱ istȱ derȱ ARPȬHeaderȱ mitȱ seinenȱ Feldernȱ dargestellt.ȱDasȱProtokollȱistȱsehrȱallgemeingültigȱgehalten,ȱwirdȱaberȱüberwiegendȱ fürȱEthernetȬNetzwerkeȱverwendet.ȱ 32 Bit
Hardware-Typ HLEN
Protokoll-Typ
PLEN
Operation
Sender-HardwareAdresse (48 Bit)
Sender-IP-
Adresse
Ziel-
Hardware-Adresse (48 Bit) Ziel-IP-Adresse
ȱ Abbildungȱ4Ȭ48:ȱARP/RARPȬHeaderȱ
ȱ ȱ
149ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ DieȱFelderȱbedeutenȱimȱEinzelnen:ȱȱ – HardwareȬTyp:ȱHierȱwirdȱderȱHardwareȬAdresstypȱangegeben,ȱwobeiȱderzeitȱ nurȱ„1“ȱfürȱEthernetȱdefiniertȱist.ȱ – ProtokollȬTyp:ȱ Diesesȱ Feldȱenthältȱ denȱAdresstypȱ desȱ höherliegendenȱ ProtoȬ kolls.ȱWirdȱARPȱmitȱIPȱverwendet,ȱstehtȱinȱdemȱFeldȱderȱWertȱ0x0800.ȱ – HLEN:ȱDasȱFeldȱenthältȱdieȱLängeȱderȱHardwareȬAdresse.ȱ – PLEN:ȱ Diesesȱ Feldȱ enthältȱ dieȱ Längeȱ derȱ SchichtȬ3ȬAdresseȱ (z.B.ȱ IPȬAdresȬ senlänge).ȱ – Operation:ȱInȱdiesemȱFeldȱstehtȱdieȱProtokollȬOperation,ȱdieȱausgeführtȱwerȬ denȱsoll.ȱMöglicheȱInhalteȱsind:ȱ o 1ȱ=ȱARPȬRequestȱ o 2ȱ=ȱARPȬResponseȱ o 3ȱ=ȱRARPȬRequestȱȱ o 4ȱ=ȱRARPȬResponseȱ – DieȱrestlichenȱFeldnamenȱsindȱsprechendȱundȱenthaltenȱdieȱAdressinformaȬ tionȱ (SenderȬHardwareȬAdresse,ȱ ZielȬHardwareȬAdresseȱ =ȱ MACȬAdresseȱ undȱ ZielȬIPȬAdresse).ȱ DieȱBelegungȱderȱeinzelnenȱFelderȱhängtȱvonȱderȱaktuellenȱProtokolloperationȱab.ȱ WirdȱeineȱMACȬAdresseȱgesucht,ȱsoȱistȱz.B.ȱdieȱIPȬAdesseȱausgefüllt.ȱ Derȱ Headerȱ wirdȱ auchȱ nochȱ fürȱ einȱ weiteresȱ Steuerprotokoll,ȱ undȱ zwarȱ fürȱ dasȱ Reverseȱ ARPȱ (RARP,ȱ RFCȱ 903)ȱ verwendet.ȱ Diesesȱ Protokollȱ wirdȱ benötigt,ȱ wennȱȱ –ȱ imȱ Gegensatzȱ zuȱ ARPȱ –ȱ zuȱ einerȱ MACȬAdresseȱ eineȱ IPȬAdresseȱ gesuchtȱ wird.ȱ KlassischerȱAnwendungsfallȱist,ȱwennȱeineȱplattenloseȱWorkstationȱhochfährtȱundȱ ihreȱ IPȬAdresseȱ benötigt.ȱ Inȱ diesemȱ Fallȱ sendetȱ sieȱ einenȱ RARPȬRequest,ȱ undȱ einȱ zuständigerȱRARPȬServerȱbeantwortetȱdieȱAnfrage. 25ȱȱ ARPȬProxy.ȱ Einȱ Problemȱ gibtȱ esȱ nochȱ beimȱ Einsatzȱ vonȱ ARPȱ zurȱ MACȬ Adressenermittlung:ȱ Wennȱ derȱ Zielhostȱ nichtȱ imȱ lokalenȱ Netzȱ ist,ȱ kannȱ erȱ auchȱ nichtȱ antworten.ȱ Inȱ diesemȱ Fallȱ übernimmtȱ derȱ zuständigeȱ IPȬRouterȱ dieȱ Rolleȱ einesȱ Stellvertretersȱ (ARPȬProxy)ȱ undȱ sendetȱ seineȱ MACȬAdresseȱ anȱ denȱ anfraȬ gendenȱ Host.ȱ Überȱ dieȱ IPȬAdresseȱ desȱ gewünschtenȱ Zielhostsȱ kannȱ erȱ ausȱ seinerȱ RoutingȬTabelleȱdieȱgewünschteȱRouteȱbestimmen.ȱȱ DerȱRouterȱimȱZielnetzȱmussȱnunȱbeiȱAnkunftȱdesȱerstenȱIPȬPaketsȱfürȱdenȱbetrofȬ fenenȱZielhostȱdessenȱMACȬAdresseȱermitteln,ȱsofernȱerȱsieȱnochȱnichtȱkennt.ȱDiesȱ erledigtȱerȱebenfallsȱüberȱeinenȱARPȬRequest.ȱDerȱZusammenhangȱistȱinȱdemȱtypiȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ MittlerweileȱwirdȱfürȱdieseȱAufgabeȱdemȱBOOTPȬProtokollȱderȱVorzugȱgegeben,ȱdasȱinȱ RFCȱ951ȱbeschriebenȱist.ȱRARPȱhatȱnämlichȱdenȱNachteil,ȱdassȱesȱlimitedȱBroadcastsȱsenȬ detȱundȱdamitȱinȱjedemȱTeilnetzȱeinȱRARPȬServerȱstehenȱmuss.ȱImȱGegensatzȱdazuȱbeȬ nutztȱ BOOTPȱ UDPȬNachrichten,ȱ welcheȱ dieȱ Routerȱ weiterleiten.ȱ Nochȱ fortschrittlicherȱ istȱDHCP.ȱ
25
150ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ schenȱCampusnetzȱinȱAbbildungȱ4Ȭ49ȱdargestellt.ȱMöchteȱinȱdiesemȱNetzȱz.B.ȱeinȱ HostȱdesȱInformatikȬNetzesȱmitȱeinemȱHostȱimȱBWLȬNetzȱkommunizieren,ȱagiertȱ derȱRouterȱmitȱderȱIPȬAdresseȱ192.31.65.1ȱalsȱARPȬProxy.ȱ zum Internet Router mit 2 IP-Adressen 192.31.60.4 192.31.65.1
Backbone-FDDIRing 192.31.60.0
Router mit 2 IP-Adressen 192.31.60.7 192.31.63.3
Host
Klasse-C-Netz FB Informatik Ethernet-LAN, 192.31.65.0
ARP-Proxy
Klasse-C-Netz FB Betriebswirtschaft Ethernet-LAN, 192.31.63.0
ȱ
Abbildungȱ4Ȭ49:ȱNetzwerkbeispielȱfürȱeinenȱARPȬRequestȱüberȱeinenȱARPȬProxyȱnachȱ (Tanenbaumȱ2003a)ȱ
4.3.3
NAT und IP-Masquerading
Mitȱ NATȱ (Networkȱ Addressȱ Translation)ȱ werdenȱ grundsätzlichȱ Adressenȱ einesȱ privatenȱ Netzesȱ überȱ Abbildungstabellenȱ öffentlichȱ registriertenȱ IPȬAdressenȱ zuȬ geordnet.ȱ Diesȱ führtȱ dazu,ȱ dassȱ interneȱ Rechnerȱ keineȱ öffentlichenȱ IPȬAdressenȱ habenȱmüssen.ȱDieȱZuordnungȱkannȱ1:1ȱerfolgen,ȱd.h.ȱfürȱjedeȱinterneȱIPȬAdresseȱ wirdȱ eineȱ eigeneȱ externeȱ IPȬAdresseȱ zugeordnet.ȱ Mitȱ IPȬMasqueradingȱ oderȱ PATȱ (PortȱandȱAddressȱTranslation) 26ȱwerdenȱalleȱinternenȱIPȬAdressenȱaufȱgenauȱeineȱ öffentlichȱ registrierteȱ Adresseȱ abgebildet.ȱ Umȱ dieseȱ Abbildungȱ durchführenȱ zuȱ können,ȱwerdenȱPortnummernȱbenutzt.ȱ NAT/PATȱwirdȱheuteȱauchȱinȱDMZȱ(DeȬMilitarizedȱZone)ȱeingesetzt,ȱdamitȱinterȬ neȱRechnerȱmitȱderȱAußenweltȱohneȱVerletzungȱderȱSicherheitskriterienȱimȱNetzȬ werkȱ kommunizierenȱkönnen.ȱ Ohneȱzuȱ starkȱ aufȱ sicherheitsrelevanteȱ Themenȱ imȱ Internetȱeinzugehen,ȱsollȱNATȱimȱZusammenhangȱmitȱDMZȱkurzȱerläutertȱwerden.ȱ EineȱDMZȱistȱinȱeinemȱNetzwerkȱwieȱz.B.ȱeinemȱUnternehmensȬȱoderȱeinemȱUniȬ versitätsnetz,ȱdasȱanȱdasȱglobaleȱInternetȱangeschlossenȱist,ȱerforderlich,ȱumȱeinenȱ gewissenȱSchutzȱvorȱAngriffenȱaufȱinterneȱHostsȱzuȱbieten.ȱEineȱDMZ 27ȱistȱgewisȬ sermaßenȱ einȱ Zwischennetzȱ zwischenȱ demȱ globalenȱ Internetȱ undȱ demȱ internenȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Auchȱalsȱ1:nȬNATȱbezeichnet.ȱ
26
ȱȱ DerȱBegriffȱstammtȱausȱdemȱMilitärischenȱ(z.B.ȱdeȬȱoderȱentmilitarisierteȱZoneȱzwischenȱ NordȬȱundȱSüdkorea).ȱ
27
151ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Netzwerk,ȱ wieȱ diesȱ z.B.ȱ inȱ Abbildungȱ 4Ȭ50ȱ skizziertȱ ist,ȱ dasȱ einenȱ SicherheitsbeȬ reichȱdarstellt.ȱ MöchteȱeinȱHostȱausȱdemȱinternenȱNetzwerkȱmitȱeinemȱHostȱimȱInternetȱkommuȬ nizieren,ȱsoȱgehtȱdiesȱnurȱüberȱdieȱDMZ.ȱInȱderȱDMZȱstehenȱdieȱRechner,ȱdieȱnachȱ außenȱhinȱsichtbarȱseinȱsollen.ȱȱ SpezielleȱNATȬServerȱoderȱIPȬRouter,ȱwelcheȱdieȱNATȬAufgabenȱzusätzlichȱüberȬ nehmen,ȱarbeitenȱnachȱaußenȱhinȱalsȱStellvertreterȱ(Proxies)ȱfürȱalleȱinternenȱHosts.ȱ SieȱtauschenȱbeiȱausgehendenȱundȱentsprechendȱbeiȱankommendenȱIPȬPaketenȱdieȱ IPȬAdressenȱundȱdieȱ Portsȱ derȱ Transportschichtȱaus.ȱBeiȱausgehendenȱ IPȬPaketenȱ wirdȱinȱdasȱFeldȱQuellȬIPȬAdresseȱimȱIPȬHeaderȱdieȱIPȬAdresseȱundȱimȱTCPȬPaketȱ derȱ Quellportȱ durchȱ denȱ NATȬServerȱ eingetragen.ȱ Beiȱ ankommendenȱ IPȬPaketenȱ wirdȱ dasȱ Feldȱ ZielȬIPȬAdresseȱ ausgetauscht.ȱ Durchȱ diesesȱ Mappingȱ wirdȱ nachȱ auȬ ßenȱ hinȱ nurȱ nochȱ derȱ NATȬServerȱ gesehen,ȱ undȱ dieȱ interneȱ Netzwerkstrukturȱ bleibtȱ verborgen.ȱ Damitȱ könnenȱ auchȱ keineȱ internenȱ Hostsȱ direktȱ adressiertȱ werȬ den,ȱwasȱzurȱErhöhungȱderȱSicherheitȱbeiträgt.ȱ Zielserver: S
Internet
Grenze zum Internet
F
180.41.214.240
180.41.214.242
P
HTTP-Proxy
198.200.219.5/24
TCP-Verbindung
R
N 180.41.214.241
DMZ 180.41.214.240/29
TCP-Verbindung
F R
Internes Unternehmensnetz 10.0.1.0/8 H
Host kommuniziert mit dem Server
H 10.0.1.5
S Webserver
F = Firewall H = Einfacher Host N = NAT-Server P = Proxy R = Router S = Server
ȱ Abbildungȱ4Ȭ50:ȱBeispielnetzȱmitȱDMZȱȱ
Umȱ nunȱ zuȱ zeigen,ȱ wieȱ dasȱ Ganzeȱ funktioniert,ȱ sollȱ nochmalsȱ dasȱ Beispielnetzȱ ausȱ Abbildungȱ 4Ȭ50ȱ herangezogenȱ werden.ȱ Einȱ Hostȱ mitȱ derȱ IPȬAdresseȱ 10.0.1.5ȱ möchteȱgerneȱmitȱeinemȱServerȱinȱeinemȱanderenȱNetzwerkȱeineȱTCPȬVerbindungȱ aufbauen.ȱDieȱKommunikationȱgehtȱfürȱalleȱBeteiligtenȱunbemerktȱüberȱdenȱNATȬ Server.ȱ Derȱ Zielrechnerȱ (bzw.ȱ dessenȱ Netzwerkanbindung)ȱ hatȱ dieȱ Adresseȱ
152ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ 198.200.219.5.ȱInȱderȱDMZȱistȱeineȱIPȬNetzwerkadresseȱmitȱmaximalȱ14ȱHostadresȬ senȱ(16Ȭ2)ȱzugewiesen.ȱDieȱDMZȱenthältȱverschiedeneȱRechner,ȱmeistȱRouterȱundȱ ProxyȬServer,ȱaberȱauchȱdenȱNATȬServer. 28ȱManȱsiehtȱalso,ȱdassȱdieȱinterneȱNetzȬ strukturȱverborgenȱwerdenȱkann.ȱȱ BeiȱVerbindungsaufbauwünschenȱvonȱaußen,ȱdieȱanȱeinenȱinternenȱServerȱgerichȬ tetȱ sind,ȱ wirdȱ ähnlichȱ verfahren.ȱ Dadurchȱ wirdȱ beiȱ TCPȱ dieȱ Verbindungȱ immerȱ unterbrochen,ȱundȱesȱgibtȱkeineȱechteȱEndeȬzuȬEndeȬVerbindungȱmehr.ȱEsȱwerdenȱ sogarȱ zweiȱ TCPȬVerbindungenȱ aufgebaut,ȱ eineȱ zwischenȱ Quellhostȱ undȱ NATȬ Serverȱ undȱ eineȱ zwischenȱ NATȬServerȱ undȱ Zielhost.ȱ Diesȱ istȱ allerdingsȱ nurȱ demȱ NATȬServerȱbekannt.ȱ SchonȱbeimȱVerbindungsaufbauȱwerdenȱdieȱIPȬPakete,ȱdieȱnachȱaußenȱgehen,ȱverȬ ändert.ȱ Derȱ NATȬServerȱ ändertȱ dieȱ ConnectȬRequestȬPDU,ȱ indemȱ erȱ inȱ dasȱ Feldȱ QuellȬIPȬAdresseȱ seineȱ eigeneȱ Adresseȱ einträgt.ȱ Erȱ verwaltetȱ inȱ einerȱ Tabelle,ȱ welȬ chesȱ Mappingȱ erȱ durchgeführtȱ hat,ȱumȱauchȱPDUsȱ vonȱ derȱ Gegenseiteȱzuordnenȱ zuȱkönnen.ȱDieȱConnectȬResponseȬPDUȱwirdȱinȱderȱgleichenȱWeiseȱmaskiert,ȱwoȬ beiȱhierȱdieȱAdresseȱdesȱQuellhostsȱeingetragenȱwirdȱ(vgl.ȱhierzuȱAbbildungȱ4Ȭ51).ȱ Client
NAT-Server
Server
Extern
Conne ct(IP , Po Request c rtc , IP , s Port ) s Conne ct(IP P Request Nat ort Nat , IP , P orts ) s se espon rt t) a ect-R Conn rt ,IP NatPo N o s (IP s, P se espon rt ) ect-R Conn rt , IP c, Po c o s (IP s, P
ACK
ACK
ȱ Abbildungȱ4Ȭ51:ȱSequenzdiagrammȱzurȱTCPȬVerbindungsaufbauȱmitȱNATȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dieȱ Bedeutungȱ einerȱ Firewall,ȱ einesȱ ProxyȬServersȱ undȱ einesȱ Paketfiltersȱ kannȱ (TanenȬ baumȱ2003a)ȱentnommenȱwerden.ȱ
28
153ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ SelbstverständlichȱgibtȱesȱinȱdemȱBeispielnetzȱauchȱnochȱFirewalls,ȱggf.ȱPaketfilter,ȱ RouterȱundȱProxyȬServer.ȱDieseȱRechnerȱspielenȱaberȱinȱBezugȱaufȱNATȱkeineȱgroȬ ßeȱ Rolle,ȱ bisȱ aufȱ dieȱ Tatsache,ȱ dassȱ dieȱ NATȬFunktionalitätȱ auchȱ imȱ Routerȱ seinȱ kann.ȱFirewalls,ȱProxiesȱundȱPaketfilterȱsichernȱdasȱNetzwerkȱab.ȱ DieȱBegriffeȱNAT,ȱPATȱundȱIPȬMasqueradingȱwerdenȱoftȱnichtȱeindeutigȱverwenȬ det.ȱ Manȱ sprichtȱ vonȱ IPȬMasquerading,ȱ weilȱ dieȱ internenȱ IPȬAdressenȱ einesȱ NetzȬ werksȱmitȱderȱIPȬAdresseȱdesȱNATȬServersȱmaskiertȱwerden.ȱNachȱaußenȱhinȱsindȱ dieȱ lokalenȱ IPȬAdressenȱ somitȱ garȱ nichtȱ sichtbar.ȱ Damitȱ hatȱ NATȱ natürlichȱ auchȱ nochȱdenȱVorteil,ȱdassȱmanȱmassivȱNetzwerkadressenȱeinsparenȱkann.ȱInternȱkannȱ manȱ nämlichȱ eineȱ beliebige,ȱ nachȱ außenȱ nichtȱ sichtbareȱ Netzwerknummerȱ verȬ wenden.ȱHierȱeignenȱsichȱvorȱallemȱdieȱprivatenȱIPȬAdressenȱ(10.0.0.0/8ȱusw.),ȱdieȱ ohnehinȱnachȱaußenȱnichtȱgeroutetȱwerden.ȱFürȱeinȱNetzwerkȱ(z.B.ȱeinȱUnternehȬ mensnetz)ȱbenötigtȱmanȱsomitȱnachȱaußenȱhinȱnurȱnochȱeineȱoffizielleȱIPȬAdresse.ȱ Wennȱ manȱ einenȱ Mailserver,ȱ einenȱ WWWȬServerȱ bzw.ȱ derenȱ Proxiesȱ undȱ ggf.ȱ weitereȱ Diensteȱ vonȱ außenȱ adressierbarȱ machenȱ möchte,ȱ kommenȱ nochȱ einȱ paarȱ weitereȱoffizielleȱAdressenȱhinzu.ȱ Abschließendȱ seiȱ nochȱ erwähnt,ȱ dassȱ inȱ einemȱ gutȱ gesichertenȱ Netzȱ alleȱ AnwenȬ dungsdiensteȱ inȱ derȱ DMZȱ durchȱ Proxiesȱ vertretenȱ werden.ȱ Einȱ direkterȱ Kontaktȱ einesȱinternenȱRechnersȱmitȱdemȱInternetȱistȱdamitȱausgeschlossen.ȱ
4.3.4
Dynamic Host Configuration Protocol (DHCP)
Netzwerkadministratorenȱ müssenȱ sichȱ u.a.ȱ umȱ dieȱ IPȬAdressvergabeȱ kümmern.ȱ Jederȱ einzelneȱ Hostȱ imȱ Netzȱ benötigtȱ mindestensȱ eineȱ IPȬAdresse.ȱ Beiȱ manuellerȱ Konfigurationȱ istȱ dasȱ bereitsȱ beiȱ kleinerenȱ Netzwerkenȱ eineȱ nichtȱ zuȱ unterschätȬ zendeȱ Aufgabe.ȱ Fürȱ jedenȱ Rechnerȱ mussȱ eineȱ manuelleȱ Konfigurationȱ derȱ IPȬ Parameterȱ ausgeführtȱ werden.ȱ Beiȱ mehrerenȱ Tausendȱ Rechnernȱ imȱ Netzȱ istȱ dieseȱ Aufgabeȱnichtȱmehrȱmanuellȱabzuwickeln,ȱAutomatismenȱsindȱerforderlich.ȱȱ ZuȱdiesemȱZweckȱwurdeȱdasȱDynamicȱHostȱConfigurationȱProtocolȱ(DHCP,ȱRFCsȱ 2131ȱ undȱ 2132)ȱ entwickelt.ȱ Wieȱ derȱ Nameȱ schonȱ sagt,ȱ handeltȱ esȱ sichȱ beiȱ diesemȱ ProtokollȱumȱeinenȱMechanismus,ȱderȱesȱermöglicht,ȱdassȱHostsȱdynamischȱ(meistȱ beimȱ Startvorgang)ȱ eineȱ IPȬAdresseȱ undȱ weitereȱ IPȬParameterȱ vonȱ einemȱ DHCPȬ Serverȱanfordernȱkönnen.ȱ Nebenȱ derȱ IPȬAdresseȱ kannȱ einȱ Host,ȱ DHCPȬClientȱ genannt,ȱ dieȱ Subnetzmaske,ȱ dieȱ Adresseȱ desȱ DNSȬServersȱ (wirdȱ weiterȱ untenȱ erläutert),ȱ desȱ zuständigenȱ IPȬ RoutersȱundȱweitereȱParameterȱwieȱdenȱzuständigenȱWebȬȱundȱMailserverȱbesorȬ gen.ȱDieȱÜbertragungȱkannȱvollständigȱohneȱmanuellenȱEingriffȱerfolgen.ȱ DHCPȱ istȱ eineȱ Weiterentwicklungȱ desȱ BOOTPȬProtokollsȱ undȱ istȱ mitȱ BOOTPȱ kompatibel.ȱ Einȱ DHCPȬServerȱ verwaltetȱ dieȱ Adressinformationȱ undȱ kannȱ verȬ schiedeneȱ Diensteȱ anbieten.ȱ Entwederȱ kannȱ einemȱ DHCPȬClientȱ eineȱ IPȬAdresseȱ vollautomatischȱ aufȱ unbegrenzteȱ Zeitȱ oderȱ fürȱ eineȱ begrenzteȱ Zeitȱ (dynamischeȱ Zuweisung)ȱzugewiesenȱwerden.ȱNachȱAblaufȱeinerȱvorgegebenenȱZeitȱmussȱdannȱ
154ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ derȱDHCPȬClientȱerneutȱanfragen.ȱDieȱDHCPȬServerȱführenȱBuchȱüberȱdieȱvergeȬ benenȱundȱnochȱvorhandenenȱIPȬAdressen.ȱ Esȱ sollȱ nochȱ erwähntȱ werden,ȱ dassȱ mitȱ DHCPȱ einemȱ Clientȱ perȱ ServerȬKonfiguȬ rationȱauchȱeineȱfesteȱIPȬAdresseȱzugewiesenȱwerdenȱkann.ȱDerȱClientȱwirdȱdannȱ immerȱ mitȱ derȱ gleichenȱ Netzwerkkonfigurationȱ versorgt.ȱ Wirdȱ diesȱ nichtȱ explizitȱ angegeben,ȱ soȱ wirdȱ fürȱ denȱ Clientȱ eineȱ IPȬAdresseȱ ausȱ einemȱ IPȬAdresspoolȱ dyȬ namischȱzugewiesen.ȱ DHCPȬPDUȬAufbau.ȱ Imȱ Folgendenȱ wollenȱ wirȱ einenȱ Blickȱ aufȱ dieȱ DHCPȬPDUȱ werfen,ȱ dieȱ zumȱ Austauschȱ derȱ Informationenȱ zwischenȱ Clientȱ undȱ Serverȱ verȬ wendetȱwirdȱ(Abb.ȱ4Ȭ52).ȱ 32 Bit
Operation
H-Typ
H-Länge
Hops
Transaktionsnummer (xid) Dauer
Flags Client-IP-Adresse Your-Client-IP-Adresse Server-IP-Adresse
Relay-Agent-IP-Adresse Client-Hardware-Adresse (16 Byte) Servername (64 Byte) Bootdatei (128 Byte) Optionen (variabel)
ȱ
Abbildungȱ4Ȭ52:ȱDHCPȬPDUȱ
ImȱEinzelnenȱenthältȱdieȱDHCPȬPDUȱfolgendeȱFelder:ȱ29ȱ – Operation:ȱNachrichtenoptionȱ(1=Bootrequest,ȱ2=Bootreply).ȱ – HȬTyp:ȱGibtȱInformationenȱüberȱdieȱHardwareȱdesȱverwendetenȱNetzesȱ(z.B.ȱ 1=10ȬMBȬEthernet). 30ȱ – HȬLänge:ȱGibtȱdieȱLängeȱderȱHardwareadresseȱ(MAC)ȱanȱ(z.B.ȱ6ȱByteȱbeiȱ10Ȭ MBȬEthernet).ȱ – Hops:ȱStandardmäßigȱaufȱ0,ȱkannȱbeimȱBootenȱüberȱRelayȬAgentsȱverwendetȱ werden.ȱ – Transaktionsnummer:ȱFortlaufendeȱIdentifikationȱderȱRequests.ȱ – Dauer:ȱ Anzahlȱ derȱ Sekunden,ȱ dieȱ beimȱ Clientȱ seitȱ Adressanfrageȱ bzw.ȱ ErȬ neuerungsanfrageȱvergangenȱsind.ȱȱ – Flags:ȱ Dasȱ ersteȱ Bitȱ zeigtȱ an,ȱ obȱ esȱ sichȱ umȱ einȱ MulticastȬPaketȱ handelt.ȱ (TCP/IPȬStacksȱ müssenȱ Unicastsȱ nichtȱ annehmen,ȱ wennȱ nochȱ keineȱ IPȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Vgl.ȱhttp://www.ietf.org/rfc/rfc2131.txt,ȱStand:ȱ06.07.2009.ȱ
29
ȱȱ Vgl.ȱhttp://www.ietf.org/rfc/rfc1700.txt,ȱStand:ȱ6.07.2009.ȱ
30
155ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
– – – –
– – – –
Adresseȱ konfiguriertȱ ist.)ȱ Dieȱ folgendenȱ Bitsȱ sindȱ fürȱ denȱ zukünftigenȱ GeȬ brauchȱreserviertȱundȱwerdenȱderzeitȱnichtȱbeachtet.ȱ ClientȬIPȬAdresse:ȱDiesesȱFeldȱwirdȱnurȱgesetzt,ȱwennȱderȱClientȱbereitsȱeineȱ IPȬAdresseȱbesitztȱundȱz.B.ȱeinenȱREFRESHȬProzessȱanstößt.ȱ YourȬClientȬIPȬAdresse:ȱDieȱvorgeschlageneȱIPȬAdresseȱdesȱDHCPȬServers.ȱ ServerȬIPȬAdresse:ȱDieȱAdresseȱdesȱDHCPȬServers.ȱ RelayȬAgentȬIPȬAdresse:ȱ Fallsȱ dieȱ Kommunikationȱ überȱ einenȱ RelayȬAgent,ȱ alsoȱeinenȱVermittlerȱzwischenȱzweiȱSubnetzen,ȱerfolgt,ȱwirdȱhierȱdessenȱIPȬ Adresseȱeingetragen.ȱ ClientȬHardwareȬAdresse:ȱHardwareȬAdresseȱdesȱClients.ȱ Servername:ȱHostnameȱdesȱServersȱ(optional).ȱ Bootdatei:ȱ Nameȱ einerȱ Bootdatei,ȱ dieȱ vomȱ Clientȱ überȱ TFTPȱ geladenȱ undȱ ausgeführtȱwerdenȱsoll.ȱ Optionen:ȱ Diesesȱ Feldȱ istȱ vonȱ variablerȱ Länge,ȱ mindestensȱ jedochȱ 312ȱ Byteȱ langȱundȱbeinhaltetȱsowohlȱPflichtȬȱalsȱauchȱKannfelder.ȱNebenȱdenȱDHCPȬ spezifischenȱ Einstellungen,ȱ wieȱ z.B.ȱ Nachrichtentypȱ undȱ LeaseȬZeit,ȱ werdenȱ hierȱauchȱverschiedeneȱOptionenȱzurȱKonfigurationȱdesȱNetzwerkadapters,ȱ insbesondereȱ zurȱ Konfigurationȱ vonȱ TCP/IPȱ aufgelistetȱ (z.B.ȱ DNSȬServer,ȱ TTL,ȱ MTU,ȱ IPȬRouten,ȱ etc.).ȱ Fürȱ detaillerteȱ Informationenȱ seiȱ aufȱ RFCȱ 1355ȱ verwiesen.ȱ
Dieȱ Tabelleȱ 4Ȭ6ȱ zeigtȱ dieȱ verschiedenenȱ Nachrichtentypen,ȱ dieȱ imȱ Rahmenȱ einerȱ DHCPȬKommunikationȱ versendetȱ werdenȱ können,ȱ sowieȱ dieȱ zugehörigenȱ Werteȱ imȱentsprechendenȱOptionsfeldȱderȱDHCPȬPDU.ȱȱ Tabelleȱ4Ȭ6:ȱDieȱOptionȱ„Nachrichtentyp“ȱundȱihreȱWerteȱ Wert
Nachrichtentyp
1
DHCPDISCOVER
2
DHCPOFFER
3
DHCPREQUEST
4
DHCPDECLINE
5
DHCPACK
6
DHCPNAK
7
DHCPRELEASE
8
DHCPINFORM
ȱ
AblaufȱderȱKommunikation.ȱDerȱprinzipielleȱAblaufȱeinerȱdynamischenȱAnfordeȬ rungȱeinerȱIPȬAdresseȱdurchȱeinenȱDHCPȬClientȱistȱinȱAbbildungȱ4Ȭ53ȱdargestellt:ȱ – DerȱDHCPȬClientȱsendetȱbeimȱBootvorgangȱeineȱDiscoverȬPDUȱüberȱdirekȬ tenȱBroadcastȱinsȱNetz.ȱ – EinȱzuständigerȱDHCPȬServer,ȱderȱnatürlichȱdoppeltȱausgelegtȱwerdenȱmussȱ (erȱsollteȱkeinȱSingleȱPointȱofȱFailureȱsein),ȱbietetȱdemȱClientȱeineȱNetzwerkȬ konfigurationȱinȱeinerȱOfferȬPDUȱan.ȱ
156ȱ
4.3ȱȱSteuerȬȱundȱKonfigurationsprotokolleȱimȱInternetȱ – Fallsȱ derȱ Clientȱ annimmt,ȱsendetȱ erȱseinerseitsȱ eineȱRequestȬPDUȱ direktȱ anȱ denȱnunȱbekanntenȱDHCPȬServer.ȱ – DerȱDHCPȬServerȱbestätigtȱdiesȱnochmalsȱmitȱeinerȱACKȬPDU.ȱ – Dieȱ Zeit,ȱ dieȱ derȱ DHCPȬClientȱ dieȱ Netzwerkkonfigurationȱ nutzenȱ darf,ȱ dieȱ sog.ȱLeaseȬZeit,ȱwirdȱebenfallsȱinȱFormȱvonȱzweiȱParameternȱT1ȱundȱT2ȱmitȱ übergeben.ȱT1ȱgibtȱstandardmäßigȱ50ȱ%ȱderȱLeaseȬZeitȱan,ȱT2ȱ87,5ȱ%.ȱWieȱinȱ derȱ Abbildungȱ 4Ȭ53ȱ zuȱ sehenȱ ist,ȱ wirdȱ nachȱ Ablaufȱ vonȱ T1ȱ erneutȱ eineȱ ReȬ questȬPDUȱ zumȱ DHCPȬServerȱ gesendetȱ (REFRESH),ȱ wennȱ dieȱ NetzwerkȬ konfigurationȱnochȱlängerȱerwünschtȱist.ȱKommtȱeineȱACKȬPDUȱvomȱServer,ȱ läuftȱ dieȱ LeaseȬZeitȱ erneutȱ an.ȱ Kommtȱ keineȱ ACKȬPDU,ȱ wirdȱ nachȱ Ablaufȱ desȱTimersȱT2ȱerneutȱeinȱDiscoveryȱüberȱeinenȱBroadcastȱeingeleitet.ȱ DHCP-Client
DHCP-Server
UDP-Port 68
UDP-Port 67
Discover-PD U Zieladr. = 25 (Quelladr. = 0.0.0.0, 5….)
Offer-PDU Request-PDU
ACK-PDU T1 = Timer für 50 % der Lease-Zeit T2 = Timer für 87,5 % der Lease-Zeit
T1 T2
Request-PDU
Discover-PD U
...
ȱ
Abbildungȱ4Ȭ53:ȱAblaufȱeinerȱDHCPȬKommunikationȱ
Damitȱ derȱ DHCPȬMechanismusȱ schonȱ beimȱ Bootenȱ funktioniert,ȱ mussȱ dasȱ BeȬ triebssystemȱ gewisseȱ Vorkehrungenȱ treffen.ȱ Trickreichȱ istȱ auch,ȱ wieȱ derȱ DHCPȬ Serverȱ denȱ DHCPȬClientȱ inȱ derȱ OfferȬPDUȱ adressiert.ȱ Erȱ hatȱ jaȱ nochȱ keineȱ IPȬ AdresseȱdesȱClients,ȱmussȱaberȱeinȱIPȬDatagrammȱsenden,ȱinȱdemȱdieȱOfferȬPDUȱ übertragenȱ wird.ȱ Dieȱ Lösungȱ hierfürȱ ist,ȱ dassȱ derȱ Serverȱ direktȱ anȱ dieȱ MACȬ Adresseȱ sendet.ȱ Daȱ mancheȱ TCPȬ/IPȬStacksȱ dieseȱ Paketeȱ jedochȱ nichtȱ annehmen,ȱ könnenȱ dieȱ OfferȬ/ACKȬ/NAKȬPDUsȱ auchȱ alsȱ Multicastȱ gesendetȱ werden.ȱ Derȱ ClientȱmussȱhierzuȱimȱFeldȱ„Flags“ȱdasȱMulticastȬBitȱgesetztȱhaben.ȱDieȱKommuȬ nikationȱzwischenȱDHCPȬClientȱundȱȬServerȱwirdȱüberȱUDPȱabgewickelt.ȱFürȱdenȱ DHCPȬClientȱ istȱ fürȱ dieȱ Kommunikationȱ derȱ UDPȬPortȱ 68ȱ undȱ fürȱ denȱ DHCPȬ ServerȱderȱUDPȬPortȱ67ȱreserviert.ȱ
157ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ NachteiligȱanȱdemȱVerfahrenȱwarȱursprünglich,ȱdassȱinȱjedemȱSubnetzȱeinȱDHCPȬ Serverȱplatziertȱseinȱmusste.ȱDiesesȱProblemȱistȱjedochȱgelöst,ȱdaȱheutigeȱIPȬRouterȱ auchȱ alsȱ sog.ȱ DHCPȬRelayȬAgentsȱ auftreten,ȱ dieȱ DHCPȬNachrichtenȱ anȱ DHCPȬ ServerȱinȱanderenȱNetzwerkenȱweiterleiten.ȱȱ DieȱweiterenȱNachrichtentypenȱhabenȱfolgendeȱBedeutung:ȱ – Decline:ȱ Nachȱ demȱ Empfangȱ derȱ ACKȬPDUȱ überprüftȱ derȱ Clientȱ nochȱ einȬ mal,ȱobȱdieȱihmȱzugewieseneȱAdresseȱwirklichȱfreiȱist.ȱDazuȱkannȱerȱz.B.ȱeiȬ neȱ ARPȬAnfrageȱ senden.ȱ Wennȱ dieȱ Adresseȱ bereitsȱ vergebenȱ ist,ȱ mussȱ derȱ Clientȱ eineȱ DeclineȬPDUȱ anȱ denȱ Serverȱ sendenȱ undȱ dieȱ DHCPȬAnfrageȱ erȬ neutȱbeginnen.ȱ – Release:ȱ Mitȱ einerȱ ReleaseȬPDUȱ gibtȱ derȱ Clientȱ dieȱ ihmȱ zugewieseneȱ IPȬ Adresseȱwiederȱfrei.ȱDerȱServerȱkannȱüberȱdieseȱdanachȱwiederȱfreiȱverfügen.ȱȱ – Inform:ȱEineȱInformȬPDUȱwirdȱvomȱClientȱanȱdenȱServerȱgesendet,ȱwennȱderȱ ClientȱbereitsȱeineȱIPȬAdresseȱeingetragenȱhatȱ(z.B.ȱdurchȱmanuelleȱKonfiguȬ ration)ȱ undȱ nurȱ nochȱ Konfigurationsdatenȱ (z.B.ȱ Gateway,ȱ DNSȬServer)ȱ erȬ fragenȱwill.ȱInȱdiesemȱFallȱwiederȱeinȱDHCPȬRequestȱmitȱgesetzterȱClientȬIPȬ Adresseȱgesendet.ȱ Beispielȱ einerȱ DHCPȬServerkonfigurationȱ unterȱ Linux.ȱ Unterȱ Linuxȱ wirdȱ eineȱ DHCPȬServerimplementierungȱ alsȱ Dämonprozessȱ bereitgestellt.ȱ Derȱ Dämonȱ hatȱ denȱNamenȱdhcpdȱundȱwirdȱüberȱeineȱKonfigurationsdateiȱnamensȱ/etc/dhcpd.confȱ konfiguriert.ȱ Eineȱ typischeȱ Konfigurationȱ lässtȱ sichȱ beispielsweiseȱ wieȱ folgtȱ beȬ schreiben:ȱ default-lease-time 600; # 10 Minuten max-lease-time 7200; # 2 Stunden option domain-name “isys.com”; option domain-name-servers 192.168.1.1 192.168.1.2; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option subnet-mask 255.255.255.0; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; range 192.168.1.100 192.168.1.200; } host mandl hardware ethernet 00:00:45:12:EE:E4; fixed-address 192.168.1.21;
Inȱ denȱ Optionsangabenȱ sindȱ dieȱ Parameterȱ eingetragen,ȱ dieȱ anȱ denȱ DHCPȬClientȱ beiȱ einemȱ Requestȱ nebenȱ derȱ IPȬAdresseȱ übertragenȱ werden.ȱ Inȱ denȱ Rangesȱ sindȱ dieȱ IPȬAdressbereicheȱ angegeben,ȱ dieȱ derȱ DHCPȬServerȱ vergebenȱ darf.ȱ Derȱ Hostȱ
158ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ mitȱ demȱ Hostnamenȱ „mandl“ȱ undȱ derȱ angegebenenȱ EthernetȬAdresseȱ istȱ imȱ BeiȬ spielȱstatischȱeinerȱfestenȱIPȬAdresseȱzugewiesen.ȱ Beispielȱ fürȱ DHCPȬEinsatz.ȱWieȱinȱAbbildungȱ4Ȭ54ȱzuȱsehenȱist,ȱmeldenȱsichȱdieȱ einzelnenȱ Hostsȱ (meistȱ Arbeitsplätze,ȱ seltenerȱ Server)ȱ beimȱ DHCPȬServerȱ überȱ BroadcastȱmitȱeinerȱDHCPȬAnfrage.ȱȱ Host 1
Host n
.... Beim Bootvorgang Broadcast senden
DHCP-Server
Router
Doppelt auslegen Internet
Konfigurationsdatei z.B.: /etc/dhcpd.conf default-lease-time 600; # 10 Minuten max-lease-time 7200; # 2 Stunden option domain-name “dept101.com”; option domain-name-servers 192.168.1.1 192.168.1.2; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option subnet-mask 255.255.255.0; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; range 192.168.1.100 192.168.1.200; } host mandl hardware ethernet 00:00:45:12:EE:E4; fixed-address 192.168.1.21;
Abbildungȱ4Ȭ54:ȱBeispielȱfürȱdenȱDHCPȬEinsatzȱ
Derȱ DHCPȬServerȱ weißȱ aufgrundȱ seinerȱ Konfiguration,ȱ wieȱ erȱ dieȱ Anfragenȱ zuȱ beantwortenȱhat.ȱImȱBeispielȱistȱfürȱdieȱdynamischeȱVergabeȱvonȱIPȬAdressenȱeineȱ Rangeȱvonȱ192.168.1.10ȱbisȱ192.168.1.20ȱundȱeineȱweitereȱRangeȱvonȱ192.168.1.100ȱ bisȱ 192.168.1.200ȱ festgelegt.ȱ Weiterhinȱ istȱ einȱ Hostȱ (Hostnameȱ mandl)ȱ mitȱ einerȱ festenȱIPȬAdresseȱbelegt.ȱ
4.4 Das neue Internet-Protokoll IPv6 4.4.1
Ziele der IPv6-Entwicklung
HauptzielȱderȱEntwicklungȱeinesȱneuenȱIPȬProtokollsȱ(IPv6,ȱoderȱIPnG)ȱwarȱes,ȱdieȱ Adressproblematikȱ umfassendȱ undȱ langfristigȱ zuȱ lösen.ȱ Zukunftsszenarienȱ sindȱ u.a.,ȱ dassȱ jederȱ Fernseherȱ baldȱ einȱ InternetȬKnotenȱ (VideoȬonȬDemand)ȱ seinȱ sollȱ undȱdassȱesȱMillionenȱvonȱdrahtlosenȱSystemenȱimȱInternetȱgibt,ȱdieȱalleȱadressierȬ barȱ sind.ȱ Mitȱ IPv4ȬAdressenȱ istȱ diesȱ nichtȱ möglich,ȱ IPv6ȱ sollȱ dasȱ Adressproblemȱ aberȱzumindestȱfürȱlangeȱZeitȱlösen.ȱWeitereȱSubzieleȱderȱIPv6ȬEntwicklungȱsind:ȱ – DieȱVereinfachungȱdesȱProtokollsȱzurȱschnellerenȱBearbeitungȱvonȱPaketenȱ inȱRoutern.ȱ – DerȱUmfangȱderȱRoutingȬTabellenȱsollȱreduziertȱwerden.ȱ – AnwendungstypenȱwieȱMultimediaȬAnwendungenȱ(Echtzeitanwendungen)ȱ sollenȱunterstütztȱwerden.ȱ – Flussmarkenȱsollenȱunterstütztȱwerden.ȱ
159ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Eineȱ höhereȱSicherheitȱinȱderȱSchichtȱ 3ȱ (Datenschutz,ȱ Authentifikation)ȱsollȱ erreichtȱwerden.ȱ – DasȱMulticastingȱsollȱbesserȱunterstütztȱwerden.ȱ – Zurȱ Unterstützungȱ mobilerȱ Hostsȱ sollȱ dieȱ Möglichkeitȱ geschaffenȱ werden,ȱ dassȱHostsȱihrȱHeimatnetzȱverlassenȱkönnen.ȱ – IPv6ȱsollȱdieȱMöglichkeitȱderȱWeiterentwicklungȱdesȱProtokollsȱvereinfachen.ȱ Dieȱ Koexistenzȱ mitȱ IPv4ȱ istȱ fürȱ eineȱ Migrationȱ unbedingtȱ erforderlichȱ undȱ wirdȱ daherȱangestrebt,ȱdaȱesȱunmöglichȱist,ȱdasȱganzeȱInternetȱaufȱeinenȱZugȱumzustelȬ len.ȱDasȱProtokollȱistȱfertigȱkonzipiertȱ(RFCȱ2460)ȱundȱderzeitȱnurȱpartiellȱimȱEinȬ satz,ȱalsoȱ(noch)ȱnichtȱbesondersȱverbreitet.ȱWirȱwollenȱinȱdiesemȱAbschnittȱnurȱdieȱ wichtigstenȱMerkmaleȱkurzȱdiskutieren.ȱȱ
4.4.2
IPv6-Adressstruktur und -Adressraum
Auchȱ inȱ IPv6ȱ kennzeichnetȱ eineȱ Adresseȱ nichtȱ einenȱ Host,ȱ sondernȱ einȱ Interfaceȱ (physikalischerȱ Port),ȱ alsoȱ denȱ Netzwerkanschlussȱ desȱ Hosts.ȱ Esȱ wirdȱ fürȱ jedesȱ InterfaceȱeineȱIPȬAdresseȱvergeben.ȱ IPv6ȱunterstütztȱ16ȬByteȬAdressenȱ(128ȱBit)ȱmitȱeinerȱneuenȱNotation.ȱDerȱgrundȬ legendeȱ Aufbauȱ einerȱ IPv6ȬAdresseȱ mitȱ 128ȱ Bitȱ istȱ inȱ Abbildungȱ 4Ȭ55ȱ sowohlȱ unȬ strukturiertȱ alsȱ auchȱ zunächstȱ grobȱ strukturiertȱ inȱ einenȱ NetzwerkȬȱ undȱ einenȱ InterfaceȬAnteilȱdargestellt.ȱȱ Unstrukturierte IPv6-Adresse 128 Bit
IPv6-Adresse
Strukturierte IPv6-Adresse n Bit
Netzwerk-Identifikation
128 - n Bit
Interface
Abbildungȱ4Ȭ55:ȱGrundlegenderȱAufbauȱeinerȱIPv6ȬAdresseȱ
Anmerkung:ȱ Eineȱ anschaulicheȱ Analogieȱ zurȱ Anzahlȱ derȱ möglichenȱ IPv6Ȭ Adressenȱ(2128)ȱistȱdieȱfolgende:ȱWennȱdieȱganzeȱWeltȱmitȱComputernȱbedecktȱwäre,ȱ könnteȱmanȱmitȱIPv6ȱca.ȱ7*1023ȱ IPȬAdressenȱproȱm2ȱabdecken.ȱDiesȱergibtȱsichȱwieȱ folgt:ȱDerȱÄquatorradiusȱderȱErdeȱrȱistȱ6,378*106ȱm.ȱDieȱErdoberflächeȱSȱistȱ4ȱ*ȱr2ȱ*ȱ Pi.ȱDarausȱfolgtȱSȱ=ȱ5,112*1014ȱQuadratmeterȱ(annähernd,ȱdaȱdieȱErdeȱnichtȱwirklichȱ eineȱ Kugelȱ ist).ȱ Dieȱ theoretischȱ möglicheȱ Anzahlȱ anȱ Adressenȱ inȱ IPv6ȱ istȱ 2128ȱ alsoȱ 3,40*1038.ȱDiesȱergibtȱschließlichȱ6,65*1023ȱIPv6ȱAdressenȱproȱQuadratmeterȱoderȱca.ȱ
160ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ 665ȱ Billiardenȱ IPv6ȱ Adressenȱ proȱ Quadratmillimeter.ȱ Imȱ Vergleichȱ zuȱ IPv4ȱ ergibtȱ 96 sichȱeineȱVergrößerungȱdesȱAdressraumsȱumȱ2 .ȱȱ EsȱgibtȱverschiedeneȱKlassenȱvonȱAdressen:ȱ – UnicastȬAdressen:ȱ Diesȱ istȱ derȱ traditionelleȱ Adresstypȱ zumȱ Adressierenȱ desȱ NetzanschlussesȱeinesȱHostsȱoderȱRouters.ȱ – MulticastȬAdressen:ȱ Kennzeichnenȱ eineȱ Reiheȱ vonȱ Endsystemen,ȱ alsoȱ eineȱ GruppeȱvonȱInterfaces,ȱz.B.ȱfürȱGruppenkommunikation.ȱEinȱPaketȱwirdȱanȱ alleȱNetzanschlüsseȱzugestellt,ȱdieȱeinerȱMulticastȬAdresseȱzugeordnetȱsind.ȱ Dieȱ Aufgabeȱ derȱ BroadcastȬAdressenȱ (IPv4)ȱ wirdȱ beiȱ IPv6ȱ vonȱ MulticastȬ Adressenȱübernommenȱȱ – AnycastȬAdressen:ȱKennzeichnenȱeineȱGruppeȱvonȱNetzwerkanschlüssen,ȱdieȱ meistȱeinerȱfunktionalenȱGruppeȱangehörenȱ(z.B.:ȱalleȱRouter).ȱEinȱmitȱeinerȱ AnycastȬAdresseȱ versehenesȱ Datagrammȱ wirdȱ einemȱ beliebigenȱ Rechnerȱ ausȱderȱMengeȱzugestellt.ȱEsȱwirdȱversucht,ȱdenȱ„nächstliegenden“ȱRechnerȱ ausȱderȱGruppeȱzuȱerreichen.ȱȱ DieȱAdressenȱsindȱvonȱderȱDarstellungȱherȱinȱachtȱGruppenȱzuȱjeȱvierȱHexȬZahlenȱ (16ȱBit)ȱabgetrenntȱdurchȱDoppelpunkteȱaufgeteilt.ȱ Beispiel:ȱȱ „8000:0000:0000:0000:0123:5555:89AB:CDEF“
FührendeȱNullenȱkönnenȱinȱjederȱGruppeȱweggelassenȱwerdenȱ(z.B.ȱ0ȱstattȱ0000,ȱ3ȱ stattȱ 0003).ȱ Gruppenȱ mitȱ lauterȱ Nullenȱ könnenȱ durchȱ zweiȱ Doppelpunkteȱ „::“ȱ erȬ setztȱwerden.ȱDasȱSymbolȱ„::“ȱistȱnurȱanȱeinerȱStelleȱderȱAdresseȱerlaubt,ȱsonstȱgehtȱ dieȱEindeutigkeitȱverloren.ȱ Beispiele:ȱ „8A00:0000:0123:0005:89AB:CDEF:0000:0000“
wirdȱzuȱȱ „8A00:0:123:5:89AB:CDEF::“
undȱ „::65:78C1:9A:6008“ȱȱ
entsprichtȱȱ „0000:0000:0000:0000:0065:78C1:009A:6008“
IPv4ȬAdressenȱkönnenȱebenfallsȱaufȱdieȱneueȱSchreibweiseȱabgebildetȱwerden.ȱDieȱ erstenȱ 12ȱ Byteȱ werdenȱ wieȱ ebenȱ beschriebenȱ inȱ sechsȱ Gruppenȱ zuȱ jeȱ vierȱ HexȬ Zahlenȱ abgetrenntȱ durchȱ Doppelpunkteȱ aufgeteilt.ȱ Fürȱ dieȱ verbleibendenȱ 4ȱ Byteȱ wird,ȱ zurȱ Darstellungȱ derȱ IPv4ȬAdresse,ȱ dieȱ klassischeȱ Schreibweiseȱ verwendet.ȱ AlternativȱkannȱeineȱIPv4ȬAdresseȱalsȱnormaleȱIPv6ȬAdresseȱgeschriebenȱwerden.ȱ Hierzuȱ müssenȱ jeweilsȱ zweiȱ Byteȱ derȱ IPv4ȬAdresseȱ zuȱ einerȱ HexȬZahlenȬGruppeȱ umgerechnetȱwerden.ȱDieȱIPv4ȬAdressenȱsindȱmitȱ0xFFFFȱgekennzeichnet.ȱ
161ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Beispiel:ȱȱ „::FFFF:192.168.0.1
entsprichtȱȱ ::FFFF:C0A8:1“
EineȱklassenweiseȱAufteilungȱinȱAȬ,ȱBȬ,ȱCȬKlassenȱusw.ȱgibtȱesȱbeiȱIPv6ȱnicht.ȱDieȱ 128ȬBitȬAdresseȱ wirdȱ aberȱ üblicherweiseȱ inȱ eineȱ Netzidentifikationȱ undȱ inȱ eineȱ Identifikationȱ fürȱ denȱ Hostȱ strukturiert.ȱ Meistȱ werdenȱ dieȱ erstenȱ nȱ Bitȱ (üblicherȬ weiseȱ dieȱ erstenȱ 64ȱ Bit)ȱ alsȱ Netzidentifikationȱ verwendet,ȱ undȱ derȱ Restȱ wirdȱ derȱ Hostidȱzugeordnet.ȱDieȱPräfixlängeȱwirdȱinȱCIDRȬNotationȱanȱdieȱAdresseȱgehängt.ȱȱ Beispiel:ȱȱ „2001::0123:5555:89AB:CDEF/64“
Auchȱ inȱ einerȱ URLȱ kannȱ eineȱ IPv6ȬAdresseȱ notiertȱ werden,ȱ wobeiȱ eckigeȱ KlamȬ mernȱ alsȱ Trennzeichenȱ verwendetȱ werden.ȱ Diesȱ istȱ notwendig,ȱ daȱ dasȱ Zeichenȱ „:“ȱauchȱinȱderȱURLȱvorkommt.ȱ Beispiel:ȱȱ „http://[2001::0123:5555:89AB:CDEF/64]:8080“
Imȱ Anschlussȱ werdenȱ einigeȱ IPv6ȬAdressformateȱ diskutiert.ȱ Esȱ sollȱ aberȱ erwähntȱ werden,ȱdassȱdieȱDiskussionȱumȱdieȱAdressstrukturierungȱnochȱnichtȱabgeschlosȬ senȱist.ȱDiesȱerkenntȱmanȱauchȱanȱderȱFülleȱanȱneuenȱRFCs,ȱdieȱesȱzuȱdiesemȱTheȬ maȱ gibt.ȱ Dieȱ folgendeȱ Beschreibungȱ beziehtȱ sichȱ aufȱ denȱ RFCȱ 4291ȱ vonȱ Februarȱ 2006.ȱ IPv6ȬAdressȬSonderformen.ȱEsȱgibtȱeinigeȱIPv6ȬAdressenȱmitȱSonderformen.ȱDieȬ seȱSonderformenȱwerdenȱinȱdenȱerstenȱBitȱderȱAdresseȱkodiert.ȱDieseȱKodierungenȱ könnenȱvonȱdenȱRouternȱausgewertetȱwerden.ȱ – Dasȱ Präfixȱ ::/128ȱ (alleȱ 128ȱ Bitȱ stehenȱ aufȱ 0)ȱ entsprichtȱ derȱ IPv4ȬAdresseȱ 0.0.0.0ȱundȱstehtȱfürȱdieȱundefinierteȱAdresse.ȱEineȱandereȱDarstellungsformȱ istȱ 0:0:0:0:0:0:0:0.ȱ Dieseȱ Adresseȱ kannȱ beimȱ Bootvorgangȱ einesȱ Hostsȱ verȬ wendetȱ werden,ȱ umȱ eineȱ Adresskonfigurationȱ durchzuführen,ȱ undȱ darfȱ nichtȱalsȱEmpfängeradresseȱbenutztȱwerden.ȱ – DasȱPräfixȱ::1/128ȱgibtȱdieȱLoopbackȬAdresseȱ(inȱIPv4ȱz.B.ȱ127.0.0.1)ȱan.ȱEineȱ andereȱ Darstellungsformȱ istȱ 0:0:0:0:0:0:0:1.ȱ Dieȱ LoopbackȬAdresseȱ wirdȱ wieȱ beiȱIPv4ȱverwendet,ȱumȱPaketeȱanȱsichȱselbstȱzuȱsenden.ȱIPv6ȬPaketeȱmitȱderȱ LoopbackȬAdresseȱ alsȱ Zieladresseȱ werdenȱ nichtȱ anȱ dieȱ angeschlossenenȱ Netzeȱweitergeleitet.ȱSieȱdürfenȱkeinemȱInterfaceȱzugewiesenȱwerden.ȱ – DasȱPräfixȱFF00::/8ȱ(dieȱerstenȱachtȱBitȱstehenȱaufȱ1)ȱweistȱaufȱeineȱMulticastȬ Adresseȱhin.ȱȱ – DasȱPräfixȱFF80::/10ȱweistȱaufȱeineȱLinkȬLocalȬAdresseȱhinȱ(sieheȱweiterȱunȬ ten).ȱ
162ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ AlleȱAdressen,ȱdieȱnichtȱmitȱeinemȱderȱebenȱbeschriebenenȱPräfixeȱbeginnen,ȱwerȬ denȱ alsȱ globaleȱ UnicastȬAdressenȱ behandelt.ȱ AnycastȬAdressenȱ werdenȱ ausȱ demȱ Adressbereichȱ derȱ UnicastȬAdressenȱ erstellt.ȱ Durchȱ dasȱ Zuweisenȱ einerȱ UnicastȬ AdresseȱzuȱmehrerenȱInterfacesȱwirdȱausȱihrȱeineȱAnycastȬAdresse.ȱImȱFolgendenȱ werdenȱdieȱAdressformenȱnäherȱbeschrieben.ȱ GlobalȱUnicastȬAdressen.ȱGlobalȱUnicastȬAdressenȱdienenȱdazu,ȱeinenȱHostȱ(KnoȬ ten)ȱ imȱ Internetȱ globalȱ eindeutigȱ zuȱ identifizieren.ȱ Eineȱ UnicastȬAdresseȱ hatȱ folȬ gendenȱAufbauȱ(sieheȱAbbildungȱ4Ȭ56).ȱ n Bit
m Bit
128 - n –m Bit
Netzwerk-Identifikation
Subnet-Identifikation
Interface-Identifikation
ȱ
Abbildungȱ4Ȭ56:ȱAufbauȱeinerȱglobalenȱUnicastȬAdresseȱ
Dieȱ Netzwerkidentifikationȱ (dasȱ sog.ȱ GlobalȱRoutingȱPrefix)ȱ kannȱ dazuȱ verwendetȱ werden,ȱdenȱAdressbereichȱeinerȱOrganisation,ȱz.B.ȱeinesȱInternetȱProviders,ȱoderȱ einesȱUnternehmensȱzuȱidentifizieren.ȱDieseȱInformationȱnutzenȱRouterȱzurȱOptiȬ mierung.ȱ Dasȱ Präfixȱ wirdȱ üblicherweiseȱ nochmalsȱ hierarchischȱ strukturiert.ȱ AdȬ ressbereicheȱeinerȱgemeinsamenȱRouteȱwerdenȱinȱdenȱRoutingȬTabellenȱderȱInterȬ netȬRouterȱ zusammengefasst.ȱ Auchȱ dieȱ SubnetȬIdentifikationȱ kannȱ fürȱ individuelleȱ Adressierungshierarchienȱ nochmals,ȱ z.B.ȱ inȱ geographischeȱ Adressbereicheȱ unterȬ gliedertȱ werden.ȱ Dieȱ InterfaceȬIdentifikationȱ dientȱ derȱ Adressierungȱ einesȱ Hostsȱ innerhalbȱeinesȱSubnetzes.ȱSieȱwirdȱmanuellȱzugewiesenȱoderȱmitȱHilfeȱeinesȱspeȬ ziellenȱ Verfahrensȱ automatischȱ (Autokonfiguration)ȱ generiert 31 .ȱ Dieȱ InterfaceȬ Identifikationȱ kannȱ auchȱ zufälligȱ erzeugtȱ werden,ȱ umȱ Sicherheitsproblemeȱ zuȱ vermeidenȱ(RFCȱ4941).ȱEinȱBeispielȱeinerȱUntergliederungȱderȱeinzelnenȱAdressbeȬ standteileȱistȱinȱAbbildungȱ4Ȭ57ȱdargestellt.ȱDieseȱUnicastȬAdressenȱsindȱfürȱProviȬ derȱgeeignetȱundȱbestehenȱausȱeinemȱöffentlichenȱundȱeinemȱprivatenȱAnteil.ȱDieȱ einzelnenȱAdressbestandteileȱhabenȱdabeiȱfolgendeȱBedeutung:ȱ – RegistryȬIdȱ istȱ dieȱ internationaleȱ RegistrierungsȬId;ȱ ICANN 32ȱhatȱ dieȱ RegistȬ ryȬIdȱ0b10000,ȱRIPE 33ȱhatȱ0b01000ȱundȱAPNIC 34ȱhatȱ0b00100ȱusw.ȱȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DiesesȱVerfahrenȱwirdȱalsȱEUIȬ64ȬVerfahrenȱbezeichnet.ȱEsȱbeschreibtȱdieȱautomatischeȱ Erweiterungȱderȱ48ȬBitȬlangenȱMACȬAdresseȱaufȱeinenȱ64ȬBitȬlangenȱInterfaceȬIdentifier.ȱ Dieȱ64ȬBitȬbasierteȱEUIȬ64ȬAdresseȱwirdȱvomȱIEEEȱfestgelegt.ȱEUIȬ64ȬAdressenȱwerdenȱ entwederȱeinemȱNetzwerkadapterȱzugewiesenȱoderȱvonȱIEEEȬ802ȬAdressenȱabgeleitet.ȱ
31
ȱȱ ICANNȱistȱdieȱAbkürzungȱȱfürȱInternetȱCorporationȱforȱAssignedȱNamesȱandȱNumbers.ȱ
32
ȱȱ RIPEȱstehtȱfürȱReesauȱIPȱEuropeenȱRegionalȱInternetȱRegistryȱforȱȱEurope,ȱderȱeuropäȬ ischenȱRegistrierungsorganisationȱdesȱInternets.ȱ
33
34
ȱȱ APNICȱstehtȱfürȱAsiaȱPacificȱInternetȱInformationȱCenter.ȱ
163ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Nat.ȱRegistryȬIdȱistȱdieȱIdentifikationȱeinerȱnationalenȱOrganisation.ȱ – ProviderȬIdȱidentifiziertȱdenȱAnbieterȱderȱInternetȬDienste,ȱdenȱISP.ȱDieȱProȬ viderȬIdȱ kannȱ variabelȱ langȱ sein.ȱ Einȱ großer,ȱ weltweitȱ agierenderȱ Providerȱ erhältȱ z.B.ȱ eineȱ kleineȱ Idȱ (pȱ istȱ klein).ȱ Damitȱ bleibenȱ mehrȱ Bitȱ fürȱ dieȱ SubȬ ProviderȱdiesesȱAnbietersȱübrig.ȱ – SubscriberȬIdȱ kennzeichnetȱ einenȱ privatenȱ Netzbetreiberȱ undȱ kannȱ mitȱ derȱ NetzwerkȬIdȱinȱIPv4ȱverglichenȱwerden.ȱ – IntraȬSubscriberȬIdȱ dientȱ derȱ privatenȱ Nutzungȱ undȱ kannȱ nochmalsȱ zurȱ Strukturierungȱ innerhalbȱ einesȱ privatenȱ Netzesȱ verwendetȱ werden.ȱ Hierzuȱ wirdȱderȱAdressanteilȱinȱeineȱSubnetȬIdȱundȱeineȱInterfaceȬIdȱzerlegt,ȱwasȱbeiȱ IPv4ȱebenfallsȱderȱSubnetȬIdȱundȱderȱHostȬIdȱentspricht.ȱ Eineȱ internationalȱ agierendeȱ Registrierungsorganisationȱ kannȱ alsoȱ mehrereȱ natioȬ naleȱOrganisationenȱmitȱAdressenȱversorgenȱundȱdieseȱwiederumȱjeweilsȱmehrereȱ nationaleȱOrganisationen.ȱDieȱöffentlichenȱAdressanteileȱermöglichenȱeineȱglobaleȱ Lokalisierungȱ aufȱ derȱ Erde,ȱ womitȱ einȱ weltweitesȱ hierarchischesȱ Routingȱ ermögȬ lichtȱwird.ȱ Öffentliche Struktur
Private Struktur
r Bit
n Bit
p Bit
Registry-Id
Nat. Registry-Id
Provider-Id
64-r-n-p Bit Subscriber-Id
16 Bit Subnet-Id
64 Bit Intra-Subscriber-Id
48 Bit Interface-Id
ȱ Abbildungȱ4Ȭ57:ȱBeispielȱeinerȱStrukturȱeinerȱUnicastȬAdresseȱ
GlobaleȱUnicastȬAdressenȱdienenȱalsoȱimȱWesentlichenȱderȱHierarchisierung.ȱDaȬ mitȱ kannȱ eineȱ weltweiteȱ Hierarchieȱ anȱ Adressenȱ aufgebautȱ werden,ȱ dieȱ letztendȬ lichȱ imȱ Vergleichȱ zuȱ IPv4ȱ zurȱ Reduzierungȱ derȱ Einträgeȱ inȱ denȱ RoutingȬTabellenȱ führt.ȱ IPv4ȬMappedȱAdressen.ȱZurȱAbbildungȱvonȱIPv4ȱAdressenȱgibtȱesȱeinenȱspezielȬ lenȱ Adressbereichȱ derȱ globalenȱ UnicastȬAdressen.ȱ IPv4ȬMappedȬAdressenȱ benutȬ zenȱ immerȱ denȱ Präfixȱ ::FFFF/96.ȱ Dieȱ verbleibendenȱ 32ȱ Bitȱ werdenȱ zuȱ Kodierungȱ derȱIPv4ȱAdresseȱverwendet,ȱdieȱnatürlichȱglobalȱeindeutigȱseinȱmuss.ȱ LinkȬlokaleȱ Adressen.ȱJedeȱ LinkȬlokaleȱ Adresseȱ bestehtȱ ausȱ demȱ Präfixȱ FE80::/10ȱ undȱ demȱ 64ȱ Bitȱ langenȱ InterfaceȬIdentifier.ȱ LinkȬlokaleȱ Adressenȱ werdenȱ vonȱ jeȬ demȱ Hostȱ beimȱ Systemstartȱ erzeugtȱ undȱ aufȱ dasȱ lokaleȱ Subnetzȱ beschränkt.ȱ Sieȱ sindȱ nurȱ fürȱdenȱ Einsatzȱinnerhalbȱ desȱ eigenenȱNetzwerkesȱ bestimmt.ȱ Eineȱ LinkȬ lokaleȱ Adresseȱ darfȱ daherȱ vonȱ Routernȱ nichtȱ inȱ andereȱ Netzeȱ weitergeleitetȱ werȬ den.ȱBeispielhafteȱEinsatzbereicheȱsindȱdieȱautomatischeȱAdresskonfigurationȱoderȱ dasȱNeighborȱDiscovery.ȱ
164ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ AnycastȬAdressen.ȱEineȱUnicastȬAdresse,ȱdieȱmehrȱalsȱeinemȱInterfaceȱzugeordnetȱ wird,ȱbezeichnetȱmanȱalsȱAnycastȬAdresse.ȱAlleȱKnotenȱdieȱeinerȱAnycastȬGruppeȱ hinzugefügtȱ werden,ȱ müssenȱ explizitȱ dafürȱ konfiguriertȱ werden.ȱ Beimȱ Routingȱ wirdȱ versuchtȱ denȱ nächstenȱ Knotenȱ derȱ AnycastȬGruppeȱ zuȱ erreichen.ȱ EineȱAnyȬ castȬAdresseȱbesitzt,ȱanalogȱzuȱdenȱanderenȱAdressen,ȱeinenȱPräfixȱzurȱIdentifikaȬ tionȱ desȱ Netzwerks.ȱ Innerhalbȱ desȱ durchȱ dasȱ Präfixȱ identifiziertenȱ Netzwerkes,ȱ müssenȱ sichȱ alleȱ Knotenȱ befinden,ȱ dieȱ mitȱ einerȱ AnycastȬAdresseȱ adressiertȱ werȬ den.ȱInnerhalbȱdesȱNetzwerkesȱeinerȱAnycastȬGruppeȱmussȱdieȱvollständigeȱAnyȬ castȬAdresseȱalsȱgesonderterȱEintragȱinȱdenȱRoutingȬTabellenȱgeführtȱwerden.ȱSollȱ eineȱ AnycastȬGruppeȱ gebildetȱ werden,ȱ dieȱ überȱ dasȱ gesamteȱ Internetȱ verteiltȱ ist,ȱ mussȱ einȱ Präfixȱ mitȱ derȱ Längeȱ 0ȱ gewähltȱ werden.ȱ Fürȱ solcheȱ globalenȱ AnycastȬ AdressenȱmüssenȱdieȱentsprechendenȱEinträgeȱinȱdenȱRoutingȬTabellenȱallerȱRouȬ terȱ verwaltetȱ werden.ȱ Dieȱ Verwendungȱ dieserȱ globalenȱ AnycastȬAdressenȱ wirdȱ daherȱwohlȱvollständigȱuntersagtȱoderȱstarkȱeingeschränkt.ȱ EineȱbeispielhafteȱAnycastȬAdresseȱistȱdieȱvordefinierteȱAdresseȱallerȱRouterȱeinesȱ Teilnetzes.ȱErgänztȱmanȱdieȱIdentifikationȱeinesȱNetzwerksȱmitȱeinerȱ„leeren“ȱ(alleȱ Bitȱsindȱaufȱ0ȱgesetzt)ȱIdentifikationȱfürȱdenȱHost,ȱerhältȱmanȱdieȱAnycastȬAdresseȱ derȱ lokalenȱ Router.ȱ Einȱ Paketȱ dasȱ anȱ dieseȱ AnycastȬAdresseȱ versendetȱ wird,ȱ erȬ reichtȱinȱderȱRegelȱdirektȱeinenȱderȱnächstenȱRouter.ȱEsȱistȱsomitȱmöglich,ȱnurȱmitȱ demȱ Wissenȱ derȱ Netzwerkidentifikation,ȱ einenȱ derȱ Routerȱ imȱ lokalenȱ Netzwerkȱ überȱdieȱAnycastȬAdresseȱanzusprechen.ȱ MulticastȬAdressen.ȱ MulticastȬNachrichtenȱ werdenȱ z.B.ȱ ȱ fürȱ dieȱ Anwendungenȱ NeighborȱDiscovery,ȱDHCPȱundȱfürȱdieȱUnterstützungȱdesȱRoutingsȱeingesetzt.ȱEineȱ MulticastȬAdresseȱ darfȱ wieȱ beiȱ IPv4ȱ nichtȱ alsȱ Absenderadresseȱ benutztȱ werden.ȱ DerȱAufbauȱsiehtȱfolgendermaßenȱausȱ(sieheȱAbbildungȱ4Ȭ58):ȱ IPv6ȬMulticastȬAdressenȱ beginnenȱ mitȱ demȱ FormatȬPräfixȱ 0xFF00/8ȱ (binärȱ 0b11111111).ȱ Anschließendȱ folgtȱ einȱ Feldȱ namensȱ Flag,ȱ vonȱ denenȱ dasȱ letzteȱ Bitȱ angibt,ȱ obȱ esȱ sichȱ umȱ eineȱ temporärȱ vergebeneȱ oderȱ umȱ eineȱ sog.ȱ „wellȬknown“,ȱ alsoȱ eineȱ ständigȱ zugeordneteȱ MulticastȬAdresseȱ handelt.ȱ Dieȱ erstenȱ dreiȱ Bitȱ sindȱ fürȱzukünftigeȱVerwendungenȱreserviertȱundȱmüssenȱderzeitȱaufȱNullȱgesetztȱsein.ȱ 8 Bit
4 Bit
4 Bit
112 Bit
1111 1111
Flags
Scope
Group-Id
Format-Präfix
ȱ
Abbildungȱ4Ȭ58:ȱIPv6ȬMulticastȬAdressenȱ
ImȱFeldȱScopeȱistȱinȱeinemȱHalbbyteȱderȱGültigkeitsbereichȱfestgelegtȱ(Werte:ȱ0x0ȱ–ȱ 0xF).ȱDerȱWertȱ0xEȱbedeutetȱz.B.,ȱdassȱesȱsichȱumȱeineȱMulticastȬAdresseȱhandelt,ȱ dieȱ alleȱ Rechnerȱ adressiert.ȱ Diesȱ entsprichtȱ derȱ IPv4ȬBroadcastadresseȱ Dasȱ Feldȱ Scopeȱ legtȱ somitȱ fest,ȱ wieȱ weitȱ sichȱ einȱ MulticastȬPaketȱ ausbreitenȱ darf.ȱ Möglicheȱ Werteȱsindȱu.a.:ȱ
165ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ – Derȱ Wertȱ 0x1ȱ kennzeichnetȱ eineȱ MulticastȬAdresse,ȱ dieȱ sichȱ nurȱ aufȱ dasȱ InterfaceȱeinesȱRechnersȱbezieht.ȱDieȱPakete,ȱdieȱanȱdieseȱAdresseȱgesendetȱ werden,ȱsindȱknotenlokalȱundȱverlassenȱdenȱKnotenȱnie.ȱSoȱgekennzeichneteȱ AdressenȱsindȱalsoȱvergleichbarȱmitȱdenȱIPv4ȬLoopbackȬAdressen.ȱ – DerȱWertȱ0x2ȱgibtȱan,ȱdassȱesȱsichȱumȱeineȱLinkȬlokaleȱAdresseȱhandelt.ȱDieȱ Pakete,ȱdieȱanȱdieseȱAdresseȱgesendetȱwerden,ȱwerdenȱvonȱRouternȱgrundȬ sätzlichȱnieȱweitergeleitetȱundȱkönnenȱdeshalbȱdasȱSubnetzȱnichtȱverlassen.ȱȱ ImȱFeldȱGroupȬIdȱistȱschließlichȱdieȱIdentifikationȱderȱMulticastȬGruppeȱenthalten.ȱ ImȱRFCȱ3306ȱwirdȱdieȱStrukturierungȱdiesesȱFeldesȱweiterȱdiskutiert.ȱ
4.4.3
Der IPv6-Header
InȱAbbildungȱ4Ȭ59ȱ istȱderȱIPv6ȬHeaderȱdargestellt.ȱErȱistȱnunȱimȱVergleichȱzuȱIPv4ȱ etwasȱ einfacherȱ strukturiert.ȱ Esȱ gibtȱ z.B.ȱ keineȱ Optionenȱ mehr.ȱ Dafürȱ gibtȱ esȱ inȱ IPv6ȱausgelagerteȱErweiterungsȬHeader,ȱdieȱbeiȱBedarfȱverwendetȱwerden.ȱȱ 32 Bit Version
Priority
Flow Label
Payload Length
Next Header
Hop Limit
Source Address (16 Byte)
Destination Address (16 Byte)
ȱ Abbildungȱ4Ȭ59:ȱIPv6ȬHeaderȱ
FolgendeȱFelderȱsindȱimȱIPv6ȬHeaderȱenthalten:ȱ – Version:ȱVersionsnummerȱdesȱInternetȬProtokollsȱ(6)ȱ – Priorität:ȱ Derȱ Wertȱ derȱ Prioritätȱ dientȱ alsȱ Informationȱ fürȱ Routerȱ undȱ istȱ interessantȱbeiȱÜberlastsituationen.ȱFolgendeȱWerteȱsindȱmöglich:ȱ o 0–7ȱ=ȱVerkehrsartenȱmitȱStaukontrolleȱ o 0ȱ=ȱnichtȱcharakterisierterȱVerkehrȱ o 4ȱ=ȱstoßartigerȱVerkehrȱ(ftp,ȱNFS)ȱ o 6ȱ=ȱinteraktiverȱVerkehrȱ(telnet)ȱ o 8–15ȱ=ȱVerkehrsartenȱohneȱStaukontrolleȱ(8ȱz.B.ȱfürȱVideoanwendungen)ȱ
166ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ – Flussmarke:ȱ Identifikationȱ desȱ „Flusses“,ȱ fallsȱ ungleichȱ 0.ȱ Flussmarkenȱ werȬ denȱ imȱ Quellknotenȱ inȱ dieȱ IPv6ȬPDUȱ eingetragen.ȱ Dieȱ Quelladresseȱ kennȬ zeichnetȱinȱVerbindungȱmitȱderȱZieladresseȱundȱderȱFlussmarkeȱeinenȱFluss.ȱ – PayloadȱLength:ȱNutzdatenlängeȱohneȱdieȱ40ȱByteȱdesȱIPv6ȬHeaders.ȱ – Nextȱ Header:ȱ Verweisȱ aufȱ erstenȱ ErweiterungsȬHeader.ȱ Derȱ letzteȱ ErweiteȬ rungsȬHeaderȱ verweistȱ aufȱ denȱ Protokolltypȱ derȱ nächstȱ höherenȱ Schichtȱ (sieheȱIPv4ȬFeldȱProtokoll).ȱ – HopȱLimit:ȱ Verbleibendeȱ Lebenszeitȱ desȱ Paketsȱ inȱ Hops.ȱ Jederȱ Routerȱ zähltȱ dasȱ HopȬLimitȱ beiȱ Ankunftȱ einesȱ IPȬPaketsȱ umȱ 1ȱ herunter.ȱ Diesȱ entsprichtȱ demȱTTLȬFeldȱinȱIPv4.ȱDerȱNameȱentsprichtȱjetztȱderȱeigentlichenȱNutzungȱ imȱInternet.ȱ – SourceȱundȱDestinationȱAdresse:ȱIPv6ȬAdressenȱderȱQuelleȱundȱdesȱZiels.ȱ Tabelleȱ4Ȭ7:ȱIPv6ȬErweiterungsȬHeaderȱ Erweiterungs-Header
Beschreibung
Optionen für Teilstrecken (Hop-by-Hop)
Verschiedene Informationen für Router
Routing
Definition einer vollen oder teilweisen Route
Fragmentierung
Verwaltung von Datengrammfragmenten
Authentifikation
Echtheitsüberprüfung des Senders
Verschlüsselte Sicherheitsdaten
Informationen über verschlüsselten Inhalt
Optionen für Ziele
Zusätzliche Informationen für das Ziel
ȱ
InȱTabelleȱ4Ȭ7ȱsindȱdieȱinȱIPv6ȱdefiniertenȱErweiterungsȬHeaderȱzusammengefasst.ȱ Headerȱ undȱ ErweiterungsȬHeaderȱ sindȱ miteinanderȱ verkettet,ȱ wobeiȱ jederȱ Typȱ max.ȱ einmalȱ vorkommenȱ kann.ȱ Dieȱ Erweiterungenȱ werdenȱ nichtȱ inȱ denȱ Routernȱ bearbeitet,ȱ sondernȱ nurȱ inȱ denȱ Endsystemen.ȱ Eineȱ Ausnahmeȱ hierzuȱ istȱ derȱ RouȬ tingȬErweiterungsȬHeader.ȱDieȱReihenfolgeȱderȱErweiterungsȬHeaderȱinȱeinemȱIPȬ Paketȱistȱgenauȱfestgelegt.ȱ EinȱBeispielȱfürȱeineȱKetteȱausȱeinemȱIPv6ȬHeaderȱmitȱeinemȱErweiterungsȬHeaderȱ undȱeinerȱanschließendenȱTCPȬPDUȱistȱinȱAbbildungȱ4Ȭ60ȱdargestellt.ȱ IPv6 Header Next Header = Routing
IPv6 Header Next Header = TCP
TCP-Header + Daten
ȱ Abbildungȱ4Ȭ60:ȱVerkettungȱderȱIPv6ȬErweiterungsȬHeaderȱ
Dieȱ ErweiterungsȬHeaderȱ fürȱ dasȱ Routingȱ undȱ fürȱ dieȱ Fragmentierungȱ sollenȱ imȱ Folgendenȱbeispielhaftȱdiskutiertȱwerden.ȱ
167ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ RoutingȬHeader.ȱDerȱRoutingȬHeaderȱdientȱdemȱQuellhostȱzurȱFestlegungȱ(VorabȬ definition)ȱdesȱWegesȱ(Pfads)ȱbisȱzumȱZiel.ȱEsȱwirdȱsowohlȱstriktes,ȱalsȱauchȱlosesȱ Routing,ȱd.hȱeinȱvollerȱPfadȱoderȱausgewählteȱRouterȱzugelassen.ȱȱ DerȱRoutingȬHeaderȱenthältȱfolgendeȱFelder:ȱ – NextȱHeader:ȱVerweisȱaufȱdenȱnächstenȱErweiterungsheaderȱinȱderȱKette.ȱ – Anzahlȱ Adressen:ȱ Anzahlȱ derȱ folgendenȱ IPȬAdressen,ȱ dieȱ besuchtȱ werdenȱ müssen.ȱ – NextȱAddress:ȱ Indexȱ innerhalbȱ derȱ folgendenȱ IPȬAdresslisteȱ aufȱ dieȱ nächsteȱ zuȱbesuchendeȱAdresse.ȱ – Bitmuster:ȱBitmap,ȱinȱderȱfürȱjedeȱIPȬAdresseȱeinȱBitȱvorhandenȱist.ȱBeiȱeinerȱ BitfolgeȱmitȱWertenȱvonȱ1ȱmüssenȱdieȱkorrespondierendenȱAdressenȱunmitȬ telbarȱ aufeinanderȱ besuchtȱ werden.ȱ Ansonstenȱ könnenȱ auchȱandereȱ Routerȱ dazwischenȱliegen.ȱ – Adressliste:ȱ Bisȱ zuȱ 24ȱ IPȬAdressen,ȱ dieȱ durchlaufenȱ werdenȱ müssenȱȱ (Abb.ȱ4Ȭ61).ȱ Next Header
0
Anzahl Adressen
reserviert
Next Address
Bitmuster Adressliste (1 – 24 Adressen)
ȱ Abbildungȱ4Ȭ61:ȱIPv6ȬRoutingȬHeaderȱ
FragmentierungsȬHeader.ȱDerȱFragmentierungsȬHeaderȱwirdȱverwendet,ȱumȱgröȬ ßereȱDateneinheitenȱzuȱsenden,ȱalsoȱwennȱdieȱIPȬPDUȬLängeȱgrößerȱalsȱdieȱMTUȱ desȱPfadesȱist.ȱȱ NachȱAbbildungȱ4Ȭ62ȱsindȱimȱFragmentierungsȬHeaderȱfolgendeȱFelderȱenthalten:ȱ – NextȱHeader:ȱVerweisȱaufȱdenȱnächstenȱErweiterungsheaderȱinȱderȱKette.ȱ – FragmentȱOffset:ȱ Positionȱ derȱ Nutzdatenȱ relativȱ zumȱ Beginnȱ derȱ PDUȱ (UrsȬ prungsȬDateneinheit).ȱ – Identifikation:ȱIdentifikationȱ(Id)ȱderȱPDU.ȱ – M:ȱDiesȱistȱdasȱsog.ȱMoreȬFlag,ȱMȱ=ȱ1ȱbedeutet,ȱdassȱweitereȱFragmenteȱfolȬ gen.ȱ Next Header
reserviert
Fragment Offset
00M
Identifikation
ȱ Abbildungȱ4Ȭ62:ȱIPv6ȬFragmentierungsȬHeaderȱ
168ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ ImȱGegensatzȱzuȱIPv4ȱerfolgtȱdieȱFragmentierungȱbeiȱIPv6ȱnurȱimȱQuellknoten,ȱdieȱ Routerȱ segmentierenȱ dagegenȱ nicht.ȱ Diesȱ hatȱ eineȱ geringereȱ Routerbelastungȱ zurȱ Folge,ȱdieȱnatürlichȱaufȱKostenȱderȱHostsȱgeht.ȱ
4.4.4
Flussmarken
Einȱinteressanterȱ Aspektȱ inȱ IPv6ȱ sindȱ sog.ȱ Flussmarken.ȱ Zielȱ vonȱ Flussmarkenȱ istȱ derȱAufbauȱvonȱPseudoverbindungenȱzwischenȱQuelleȱundȱZielȱmitȱdefinierbarenȱ QSȬMerkmalenȱ wieȱ Verzögerungȱ undȱ Bandbreite.ȱ Ressourcenȱ könnenȱ reserviertȱ werden,ȱ wasȱ fürȱ Datenströmeȱ vonȱ Echtzeitanwendungenȱ sehrȱ hilfreichȱ ist.ȱ Einȱ „Fluss“ȱ wirdȱ durchȱ dieȱ QuellȬȱ undȱ Zieladresseȱ sowieȱ durchȱ eineȱ Flussnummerȱ eindeutigȱidentifiziert.ȱ DieȱFlexibilitätȱvonȱDatagrammȬNetzenȱsollȱbeiȱdiesemȱMechanismusȱmitȱdenȱVorȬ teilenȱderȱvirtuellenȱVerbindungenȱkombiniertȱwerden.ȱRouterȱführenȱfürȱdieȱVerȬ arbeitungȱvonȱ„Flüssen“ȱeineȱSonderbehandlungȱdurch.ȱ Manȱsollteȱallerdingsȱerwähnen,ȱdassȱdasȱThemaȱnochȱstarkȱinȱderȱExperimentierȬ phaseȱist,ȱweshalbȱhierȱauchȱnichtȱweiterȱdaraufȱeingegangenȱwird.ȱ
4.4.5
Neighbor Discovery
Dasȱ Neighborȱ Discoveryȱ Protocolȱ (NDȬProtokoll,ȱ RFCȱ 2461)ȱ dientȱ beiȱ IPv6ȱ zurȱ Unterstützungȱ derȱ automatischenȱ Konfigurationȱ vonȱ Endsystemen.ȱ Imȱ NDȬ ProtokollȱsprichtȱmanȱvonȱLinks,ȱwennȱmanȱeinenȱNetzwerkanschlussȱmeint,ȱundȱ vonȱ LinkȬAdresse,ȱ wennȱ manȱ vonȱ derȱ Adresseȱ desȱ Netzwerkanschlussesȱ spricht.ȱ DabeiȱspieltȱesȱkeineȱRolle,ȱumȱwelchenȱphysikalischenȱNetzwerkanschlussȱesȱsichȱ handelt.ȱDasȱNDȬProtokollȱistȱsowohlȱfürȱLANsȱalsȱauchȱfürȱverbindungsorientierȬ teȱ Netzeȱ (ISDN,ȱ ATM,...)ȱ konzipiert.ȱ Inȱ einemȱ EthernetȬLANȱistȱ dieȱ LinkȬAdresseȱ eineȱMACȬAdresse,ȱinȱeinemȱISDNȬNetzwerkȱistȱesȱdieȱISDNȬRufnummerȱundȱinȱ ATMȬNetzwerkenȱeineȱATMȬAdresse.ȱ Dasȱ NDȬProtokollȱ löstȱ einigeȱ Probleme,ȱ dieȱ ausȱ derȱ IPv4ȬKonfigurationȱ bekanntȱ sindȱundȱdortȱinȱeigenenȱProtokollenȱbehandeltȱwerden.ȱHierzuȱgehörenȱu.a.:ȱ – DasȱAuffindenȱvonȱRouternȱimȱgleichenȱLinkȱ(Subnetz).ȱDiesȱwirdȱalsȱRouterȱ Discoveryȱbezeichnet.ȱ – Dieȱ dynamischeȱ Zuordnungȱ vonȱ Konfigurationsparameternȱ wieȱ derȱ maxiȬ malenȱMTUȱundȱdemȱHopȬLimitȱanȱIPv6ȬEndsysteme.ȱHierȱsprichtȱmanȱvonȱ ParameterȱDiscovery.ȱ – Dieȱ automatischeȱ IPȬAdressȬKonfigurationȱ fürȱ Interfacesȱ zurȱ Laufzeitȱ (Neighborȱ Solicitation).ȱ Hierȱ istȱ auchȱ dieȱ Abbildungȱ derȱ bisherigenȱ 48ȬBitȬ MACȬAdressenȱaufȱdieȱEUIȬ64ȬBitȬAdressenȱvonȱBedeutung.ȱ – Dieȱ dynamischeȱ AdressȬAuflösungȱ fürȱ LayerȬ2ȬAdressen,ȱ wieȱ esȱ heuteȱ imȱ ARPȬProtokollȱabgewickeltȱwird.ȱ – DieȱoptimaleȱMTUȱwirdȱinȱIPv6ȱvomȱsendendenȱEndsystemȱeingestelltȱundȱ mussȱzurȱLaufzeitȱgefundenȱundȱoptimiertȱwerden.ȱDieȱSucheȱnachȱderȱopȬ
169ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ timalenȱMTUȱzwischenȱSenderȱundȱEmpfängerȱwirdȱalsȱPathȱMTUȱDiscoveȬ ryȱbezeichnet.ȱ BeispielhaftȱsollenȱzweiȱAspekteȱbetrachtetȱwerden:ȱDieȱErmittlungȱvonȱKonfiguraȬ tionsparameternȱvomȱRouterȱundȱdasȱAuffindenȱvonȱRouternȱimȱNetz.ȱDerȱLiteraȬ turȱ könnenȱ weitereȱ interessanteȱ Funktionenȱ wieȱ NeighborȬSolicitationȱ entnommenȱ werdenȱ(Wieseȱ2002).ȱ RouterȬDiscovery.ȱ Wennȱ einȱ Endsystemȱ seinenȱ nächstenȱ Routerȱ sucht,ȱ sendetȱ esȱ eineȱ RouterȬSolicitationȬNachrichtȱ überȱ Multicastȱ anȱ dieȱ Adresseȱ „FF02::2“.ȱ Damitȱ werdenȱ alleȱ Routerȱ angesprochen.ȱ Dieȱ Routerȱ antwortenȱ mitȱ einerȱ RouterȬ AdvertisementȬNachricht.ȱ Damitȱ unterstütztȱ dasȱ NDȬProtokollȱ dasȱ Auffindenȱ desȱ verantwortlichenȱRoutersȱzurȱLaufzeit,ȱundȱmanȱmussȱdieseȱInformationȱnichtȱimȱ Endsystemȱ manuellȱ konfigurierenȱ oderȱ überȱ DHCPȱ ermitteln.ȱ Inȱ einemȱ IPv6Ȭ Subnetzȱ könnenȱ imȱ Gegensatzȱ zuȱ IPv4ȱ mehrereȱ Routerȱ aktivȱ sein.ȱ Dasȱ NDȬ ProtokollȱnutztȱzurȱAbwicklungȱseinerȱAufgabenȱeinigeȱICMPv6ȬNachrichten.ȱȱDasȱ ErmittelnȱdesȱnächstenȱRoutersȱimȱSubnetzȱwirdȱz.B.ȱüberȱeineȱICMPv6ȬNachrichtȱ (RouterȱDiscovery)ȱdurchgeführt.ȱ Parameterȱ Discovery.ȱ Einȱ Hostȱ einesȱ Subnetzesȱ kannȱ zumȱ Startzeitpunktȱ eineȱ Nachrichtȱ insȱ Subnetzȱ senden,ȱ dieȱ alsȱ RouterȬSolicitationȬNachricht 35 ȱbezeichnetȱ wird.ȱDieȱNachrichtȱwirdȱanȱdieȱfesteȱMulticastȬAdresseȱ„FF02::1“ 36ȱ(Scopeȱ=ȱ„linkȬ lokal“,ȱ alsoȱ imȱ Subnetz)ȱ gesendet.ȱ Einȱ Routerȱ antwortetȱ mitȱ einerȱ RouterȬ AdvertisementȬNachrichtȱanȱdieȱLinkȬAdresseȱdesȱEndsystems.ȱFolgendeȱParameterȱ kannȱeineȱRouterȬAdvertisementȬNachrichtȱu.a.ȱübertragen:ȱ – MaxȬHopȬLimit:ȱDiesȱistȱderȱWertȱ„HopȬLimit“,ȱderȱinȱdieȱIPv6ȬPDUsȱeingeȬ tragenȱwird.ȱ – RetransmissionȬTimer:ȱZeitȱinȱMillisekunden,ȱdieȱseitȱdemȱAbsendenȱderȱletzȬ tenȱSolicitationȬNachrichtȱabgelaufenȱist.ȱȱ – ManagedȬAddressȬConfigurationȬFlag:ȱ Überȱ dieseȱ Informationȱ wirdȱangezeigt,ȱ dassȱderȱRouterȱeineȱstatefulȱConfigurationȱ(sieheȱunten)ȱmitȱDHCPv6ȱunterȬ stützt.ȱȱ – Überȱ einȱ Optionsfeldȱ wirdȱ z.B.ȱ vomȱ Routerȱ auchȱ dieȱ MTUȬSizeȱ übermittelt.ȱ MitȱdieserȱInformationȱkannȱdasȱEndsystemȱzurȱVermeidungȱvonȱFragmenȬ tierungȱbeitragen,ȱwasȱjaȱinȱIPv6ȱAufgabeȱderȱEndsystemeȱist.ȱ InȱIPv4ȱwirdȱdieseȱAufgabeȱvomȱDHCPȬServerȱprinzipiellȱmitȱübernommen,ȱsofernȱ nichtȱeineȱstatischeȱEinstellungȱderȱParameterȱimȱEndsystemȱvorgenommenȱwird.ȱ JederȱIPv6ȬRouterȱsendetȱzudemȱperiodischȱseineȱParameterȱimȱSubnetzȱüberȱeineȱ RouterȬAdvertisementȬNachrichtȱauchȱüberȱdieȱMulticastȬAdresseȱ„FF02::2“.ȱȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Solicitationȱ=ȱBewerbung,ȱAnsuchen.ȱ
35
ȱȱ DieseȱMulticastȬAdresseȱwirdȱauchȱSolicitedȬMulticastȬAdresseȱgenannt.ȱ
36
170ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ Wennȱ inȱ IPv6ȱ beimȱ Parameterȱ Discoveryȱ keinȱ Routerȱ antwortet,ȱ kannȱ dasȱ ProtoȬ kollȱDHCPv6ȱverwendetȱwerden.ȱȱ
4.4.6
Automatische Adresskonfiguration
Dieȱ automatischeȱ Konfigurationȱ vonȱ Endsystemen,ȱ d.h.ȱ dieȱ Versorgungȱ derȱ EndȬ systemeȱmitȱIPv6ȬAdressen,ȱwirdȱinȱIPv6ȱüberȱzweiȱVariantenȱunterstützt:ȱStatelessȱ undȱstatefulȱAutoconfiguration.ȱBeideȱMöglichkeitenȱsollenȱimȱFolgendenȱkurzȱerläuȬ tertȱwerden.ȱ StatelessȱAutoconfiguration.ȱBeiȱdieserȱVarianteȱsuchenȱsichȱdieȱEndsystemeȱeinesȱ IPv6ȬSubnetzesȱ automatischȱ ohneȱ Unterstützungȱ durchȱ einenȱ dediziertenȱ DHCPȬ Serverȱ ihreȱ IPȬAdressen.ȱ Dasȱ Verfahrenȱ funktioniertȱ nurȱ innerhalbȱ vonȱ IPv6Ȭ Subnetzen.ȱ Dieȱ IPv6ȬAdresseȱ einesȱ Subnetzesȱ setztȱ sichȱ ausȱ zweiȱ Teilen,ȱ einemȱ Präfixȱ undȱ einemȱ sog.ȱ LinkȬTokenȱ zusammen.ȱ Dasȱ LinkȬTokenȱ repräsentiertȱ dieȱ einemȱ Endsystemȱ bereitsȱ zumȱ Startzeitpunktȱ bekannteȱ MACȬAdresseȱ (imȱ Falleȱ einesȱ LAN).ȱ Nurȱ dasȱ Präfixȱ mussȱ ermitteltȱ werden,ȱ derȱ Restȱ istȱ demȱ Endsystemȱ bekannt.ȱȱ FürȱdieseȱKonfigurationsartȱwirdȱICMPv6ȱalsȱProtokollȱverwendet.ȱICMPv6ȬPaketeȱ werdenȱhierfürȱwiederumȱinȱIPv6ȬPaketeȱeingebettet,ȱdieȱalsȱHopȬLimitȱdenȱWertȱ 255ȱ enthalten.ȱ Eineȱ Weiterleitungȱ derȱ Paketeȱ durchȱ einenȱ Routerȱ istȱ damitȱ nichtȱ zugelassen.ȱDerȱAblaufȱistȱgrobȱinȱAbbildungȱ4Ȭ63ȱskizziert.ȱ WennȱeinȱEndsystemȱeineȱIPv6ȬAdresseȱbenötigt,ȱsendetȱesȱzunächstȱinȱeinemȱersȬ tenȱ Schrittȱ dieȱ eigeneȱ LinkȬAdresse,ȱ alsoȱ dieȱ MACȬAdresseȱ inȱ einerȱ ICMPv6Ȭ NachrichtȱmitȱdemȱTypȱ135ȱüberȱdieȱsog.ȱSolicitedȬMulticastȬAdresseȱ„FF02::1“.ȱDieȬ seȱ Nachrichtȱ wirdȱ alsȱ NeighborȬSolicitationȱ bezeichnet.ȱ Dabeiȱ werdenȱ alleȱ EndsysȬ temeȱundȱRouterȱdesȱSubnetzesȱangesprochen.ȱWennȱnunȱeinȱRechnerȱimȱSubnetzȱ dieȱ gesendeteȱ MACȬAdresseȱ (dasȱ LinkȬToken)ȱ ebenfallsȱ verwendet,ȱ sendetȱ dieserȱ eineȱNeighborȬAdvertisementȬNachrichtȱdirektȱanȱdieȱLinkȬAdresseȱdesȱanfragendenȱ Endsystems.ȱ Damitȱ kannȱ alsoȱ festgestelltȱ werden,ȱ obȱ einȱ LinkȬTokenȱ bereitsȱ verȬ wendetȱwird.ȱIstȱdiesȱderȱFall,ȱmussȱeineȱmanuelleȱKonfliktauflösungȱerfolgen.ȱ Endsystem im Subnetz
Alle Router im Subnetz
ICMPv6-PDU
Alle Endsysteme
(NS)
ICMPv6-PDU (NA)*
tion ) (Duplicate Address Detec
ICMPv6-PDU
(NS) NA = Neighbor Advertisement NA = Neighbor Solicitation
ICMPv6-PDU (NA)**
*) Nur wenn ein Host das Link-Token schon hat **) Alle Rechner im Subnetz hören mit
ȱ
Abbildungȱ4Ȭ63:ȱAblaufȱbeiȱstatelessȱAutoconfigurationȱ
171ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ Wennȱ dasȱ LinkȬTokenȱ eindeutigȱ ist,ȱ sichȱ alsoȱ keinȱ andererȱ Rechnerȱ beschwert,ȱ wirdȱ inȱ einemȱ zweitenȱ Schrittȱ eineȱ weitereȱ NeighborȬSolicitationȬNachrichtȱ anȱ dieȱ spezielleȱ ȱ AllȬRoutersȬMulticastȬAdresseȱgesendet.ȱ Dieseȱ Nachrichtȱ istȱ fürȱ alleȱ lokaȬ lenȱ Routerȱ bestimmt.ȱ Mindestensȱ einȱ Routerȱ antwortetȱ anȱ dieȱ SolicitedȬMulticastȬ AdresseȱȱmitȱeinerȱNeighborȬAdvertisementȬNachricht,ȱinȱderȱerȱdasȱPräfixȱzurȱErgänȬ zungȱ derȱ IPv6ȬAdresseȱ anȱ dasȱ Endsystemȱ überträgt.ȱ Alleȱ Rechnerȱ imȱ Netzȱ hörenȱ dieȱNachrichtȱmit,ȱundȱdieȱIPv6ȬAdresseȱistȱnunȱimȱSubnetzȱbekannt.ȱȱ Durchȱ diesesȱ Verfahrenȱ wirdȱ auchȱ einȱ vereinfachtesȱ Renumberingȱ vonȱ IPȬAdresȬ senȱ möglich,ȱ daȱ dieȱ Vergabeȱ derȱ Adressenȱ zeitlichȱ überȱ eineȱ LeaseȬZeitȱ begrenztȱ wird.ȱ StatelessȱAutoconfigurationȱistȱrisikoreich,ȱdaȱeinȱRouterȱauchȱausfallenȱkannȱundȱ dannȱ keinȱ Endsystemȱ mehrȱ inȱ derȱ Lageȱ ist,ȱ imȱ Subnetzȱ zuȱ kommunizieren.ȱ Eineȱ ErgänzungȱderȱVarianteȱumȱeinenȱDHCPv6ȬServerȱistȱdaherȱdurchausȱsinnvoll.ȱ Statefulȱ Autoconfiguration.ȱ Dieȱ zustandsbehafteteȱ Autoconfigurationȱ wirdȱ überȱ dasȱ Protokollȱ DHCPv6ȱ (RFCȱ 2462)ȱ unterstützt.ȱ Wieȱ beiȱ DHCPȱ wirdȱ hierfürȱ einȱ DHCPȬServerȱ benutzt,ȱ derȱ dieȱ Adressenȱ undȱ sonstigeȱ Konfigurationsparameterȱ (RouterȬAdresse,ȱDNSȬServername,...)ȱverwaltet.ȱȱ Dasȱ Endsystemȱ fungiertȱ alsȱ DHCPȬClientȱ undȱ kommuniziertȱ überȱ dasȱ DHCPv6Ȭ Protokollȱ mitȱ einemȱ DHCPv6ȬServer.ȱ Istȱ derȱ Serverȱnichtȱ imȱ Subnetz,ȱ kannȱ erȱ imȱ DHCPv6ȬModellȱüberȱeinenȱDHCPv6ȬAgenten,ȱderȱaufȱeinemȱRouterȱliegt,ȱindirektȱ angesprochenȱ werden.ȱ Einȱ DHCPv6ȬAgentȱ wirdȱ auchȱ alsȱ DHCPv6ȬRelayȱ bezeichȬ net.ȱȱ DasȱDHCPv6ȬProtokollȱähneltȱdemȱDHCPȬProtokollȱstarkȱundȱwirdȱdaherȱanȱdieȬ serȱStelleȱnichtȱweiterȱausgeführt.ȱ
4.4.7
Anpassung wichtiger Protokolle an IPv6
BeiȱNutzungȱvonȱIPv6ȱsindȱauchȱdieȱmeistenȱSteuerȬȱundȱRoutingȬProtokolleȱentȬ sprechendȱanzupassen.ȱImȱFolgendenȱsollenȱeinigeȱderȱneuenȱProtokolleȱkurzȱvorȬ gestelltȱ werden.ȱ Nebenȱ denȱ hierȱ genanntenȱ Anpassungenȱ istȱ fürȱ IPv6ȱ auchȱ dieȱ TCP/UDPȬSocketȬSchnittstelleȱ anzupassen,ȱ daȱ hierȱ IPȬAdressenȱ alsȱ Parameterȱ fürȱ mancheȱFunktionenȱverwendetȱwerden,ȱderenȱLängeȱsichȱändert.ȱ RIPng.ȱ RIPngȱ (RIPȱ nextȱ generation,ȱ RFCȱ 2462)ȱ istȱ eineȱ Anpassungȱ desȱ RoutingȬ Protokollsȱ RIPȬ2ȱ anȱ IPv6.ȱ Insbesondereȱ wirdȱ hierȱ dieȱ Adressierungȱ aufȱ dieȱ neueȱ Adresslängeȱ erweitert.ȱ RIPngȱ bleibtȱ aberȱ einȱ DistanceȬVectorȬProtokoll.ȱ Derȱ AusȬ tauschȱderȱRoutingȬInformationenȱundȱauchȱderȱmaximaleȱHopȬCountȱvonȱ15ȱänȬ dernȱsichȱnicht.ȱZurȱVermeidungȱdesȱCountȬtoȬInfinityȬProblemsȱwerdenȱebenfallsȱ dieȱbeiȱRIPȬ1ȱundȱRIPȬ2ȱvorgeschlagenenenȱMethodenȱverwendet.ȱ DieȱwesentlichenȱVeränderungenȱsollenȱkurzȱdargestelltȱwerden:ȱ – DieȱPräfixlängeȱderȱSubnetzmaskeȱundȱnichtȱmehrȱdieȱSubnetzmaskeȱselbstȱ wirdȱinȱ denȱRoutingȬInformationenȱübermittelt.ȱ Damitȱ istȱ esȱauchȱ möglich,ȱ
172ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ dassȱ RIPngȱ inȱ Netzwerkenȱ eingesetztȱ wird,ȱ inȱ denenȱ mehrereȱ Präfixlängenȱ verwendetȱwerden.ȱ – Durchȱ Angabeȱ einesȱ „nächstenȱ Hops“ȱ kannȱ derȱ nächsteȱ Routerȱ fürȱ einȱ Netzwerkzielȱ direktȱ angegebenȱ werden.ȱ Imȱ Gegensatzȱ zuȱ RIPȬ2ȱ dientȱ dieȱ AngabeȱzurȱAdressierungȱeinesȱnächstenȱRoutersȱundȱnichtȱeinesȱHosts.ȱ Derȱ Aufbauȱ einerȱ RIPngȬPDUȱ istȱ inȱ Abbildungȱ 4Ȭ64ȱ skizziert.ȱ Derȱ Aufbauȱ desȱ Headersȱ entsprichtȱ demȱ vonȱ RIPȬ2.ȱ Dieȱ Tabelleȱ mitȱ RoutingȬInformationenȱ wirdȱ alsȱRTEȬTabelleȱ(RoutingȱTableȱEntry)ȱbezeichnet.ȱDieȱLängeȱderȱRTEȬTabelleȱistȱnurȱ durchȱdieȱMTUȱbeschränkt.ȱInȱdenȱRTEsȱgibtȱesȱeinigeȱUnterschiedeȱzuȱRIPȬ2.ȱImȱ Feldȱ IPv6ȬPräfixȱ wirdȱ dasȱ Netzwerkzielȱ alsȱ IPv6ȬAdresseȱ übermittelt.ȱ Dieȱ gültigeȱ PräfixȬLängeȱ wirdȱ imȱ Feldȱ PräfixȬLängeȱ inȱ einemȱ Byteȱ übermittelt.ȱ Dieȱ restlichenȱ FelderȱentsprechenȱdenȱFeldernȱderȱRIPȬ2ȬPDU.ȱ 32 Bit
Kommando
Version
Nicht verwendet
Tabelle mit sog. Routing-Table-Entries (RTE) zu je 20 Byte ... RTE-Entry: IPv6-Präfix (16 Bytes) ... Route-Tag
Präfix-Länge
Metrik
ȱ Abbildungȱ4Ȭ64:ȱRIPngȬPDUȱ
DieȱInformationȱfürȱeinenȱnächstenȱHopȱwirdȱimȱFeldȱIPv6ȬPräfixȱeingetragenȱundȱ zusätzlichȱalsȱsolcheȱimȱFeldȱMetrikȱmitȱdemȱWertȱ0xFFȱgekennzeichnet.ȱȱ OSPFng.ȱȱOSPFngȱ(OSPFȱnextȱgeneration)ȱistȱeineȱAnpassungȱvonȱOSPFv2ȱanȱIPv6.ȱ PrinzipiellȱgibtȱesȱallerdingsȱkaumȱÄnderungen.ȱDieȱOSPFngȬPaketeȱwerdenȱȬȱwieȱ beiȱOSPFv2ȱȬȱdirektȱinȱIPȬPaketenȱübertragen.ȱEsȱwerdenȱauchȱdieȱgleichenȱPDUȬ TypenȱunterstütztȱwieȱbeiȱOSPFv2.ȱ ICMPv6.ȱ Auchȱ inȱ IPv6ȬUmgebungenȱ istȱ einȱ Hilfsprotokollȱ wieȱ ICMPȱ notwendig.ȱ ICMPv6ȱ istȱ dieȱ Anpassungȱ vonȱ ICMPȱ anȱ IPv6,ȱ allerdingsȱ sindȱ einigeȱ Funktionenȱ ergänztȱ worden.ȱ ICMPv6ȱ wirdȱ wieȱ dasȱ bisherigeȱ ICMPȱ nebenȱ derȱ Übertragungȱ vonȱ Fehlermeldungenȱ auchȱ fürȱ Diagnoseinformationenȱ verwendet.ȱ Darüberȱ hiȬ nausȱwirdȱesȱzurȱUnterstützungȱderȱautomatischenȱAdresskonfigurationȱeingesetzt.ȱ
173ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 32 Bit
Typ
Code
Prüfsumme
ICMPv6-Daten
ȱ Abbildungȱ4Ȭ65:ȱICMPv6ȬPDUȱ
DerȱICMPv6ȬNachrichtȱ(sieheȱAbbildungȱ4Ȭ65)ȱwirdȱinȱderȱIPv6ȬNachricht,ȱinȱderȱ sieȱ eingebettetȱ ist,ȱ mitȱ einerȱ NextȬHeaderȬInformationȱ =ȱ 58ȱ eingeleitet.ȱ Dieȱ Felderȱ entsprechenȱderȱherkömmlichenȱICMPȬPDU.ȱDieȱTypȬAngabeȱistȱneuȱorganisiert:ȱ – Typȱ=ȱ1ȱbedeutetȱz.B.ȱ„DestinationȱUnreachableȱMessage“ȱ – Typȱ=ȱ2ȱbeinhaltetȱdieȱInformationȱ„PacketȱtooȱbigȱMessage“ȱȱ – Typȱ =ȱ 128ȱ beinhaltetȱ dieȱ Informationȱ „Echoȱ Requestȱ Message“ȱ undȱ wirdȱ vomȱKommandoȱpingȱgenutzt.ȱ – usw.ȱȱ Neuȱ sindȱ vorȱ allemȱ dieȱ Nachrichtentypenȱ 130,ȱ 131ȱ undȱ 132ȱ ȱ fürȱ dieȱ GruppenȬ MembershipȬNachrichtenȱundȱdieȱTypenȱ133ȱbisȱ173ȱzurȱUnterstützungȱderȱautoȬ matischenȱ Adresskonfiguration.ȱ Mitȱ einerȱ Nachrichtȱ vomȱ Typȱ 130ȱ sendetȱ z.B.ȱ einȱ MulticastȬKnotenȱ einemȱ MȬRouterȱ eineȱ Anfrage,ȱ obȱ erȱ anȱ derȱ MulticastȬGruppeȱ teilnehmenȱdarf.ȱ ARPv6.ȱ ȱ Istȱ beiȱ IPv6ȱ imȱ Prinzipȱ nichtȱ mehrȱ notwendig,ȱ daȱ dieȱ MACȬAdressenȱ inȱ dieȱInterfaceȬIdsȱeingetragenȱundȱvonȱdaherȱstatischȱfestgelegtȱwerdenȱkönnen.ȱ DHCPv6.ȱDiesesȱProtokollȱwirdȱinȱIPv6ȬUmgebungenȱfürȱ„statefulȱAutoconfiguratiȬ on“ȱ verwendet.ȱ Dieȱ Funktionsweiseȱ wurdeȱ bereitsȱ beschrieben.ȱ Dasȱ Protokollȱ hatȱ nurȱeinigeȱErweiterungenȱgegenüberȱDHCP.ȱ
4.4.8
Migrationaspekte und abschließende Bemerkungen
Zuȱ Migrationszweckenȱ werdenȱ heuteȱ dieȱ IPȬRouterȱ (DualȬIPȬStack)ȱ soȱ ausgelegt,ȱ dassȱ sieȱ beideȱ Protokolleȱ (IPv4ȱ undȱ IPv6)ȱ beherrschen,ȱ wobeiȱ u.a.ȱ verschiedeneȱ Szenarienȱbetrachtetȱwerdenȱmüssen:ȱȱ – EinȱIPv4ȬNetzwerkȱmussȱinȱeineȱIPv6ȬUmgebungȱintegriertȱwerden.ȱ – EinȱIPv6ȬNetzȱmussȱanȱeinȱIPv4ȬNetzȱangeschlossenȱwerden.ȱ – ZweiȱIPv6ȬNetzeȱkommunizierenȱüberȱeinȱIPv4ȬNetz.ȱHierȱkannȱeinȱTunneȬ lingȬMechanismusȱ genutztȱ werden,ȱ d.h.ȱ IPv6ȬNachrichtenȱ werdenȱ inȱ IPv4Ȭ Paketenȱeingepacktȱundȱübertragen.ȱ Dieȱ meistenȱ Herstellerȱ vonȱ Betriebssystemenȱ (Windows,ȱ Linux,ȱ Solaris,ȱ HPȬUX,ȱ AIX)ȱ undȱ Routernȱ (Cisco)ȱ unterstützenȱ heuteȱ IPv6,ȱ allerdingsȱ häufigȱ nichtȱ stanȬ dardmäßig,ȱ sondernȱ alsȱ experimentellerȱ oderȱ gesondertȱ zuȱ installierenderȱ ProtoȬ kollstack.ȱȱ
174ȱ
4.4ȱȱDasȱneueȱInternetȬProtokollȱIPv6ȱ Dieȱ meistenȱ Anwendungenȱ sindȱ inzwischenȱ ebenfallsȱ IPv6Ȭfähig.ȱ Dieȱ Nutzungȱ vonȱIPv6ȱimȱprivatenȱNetzwerkȱistȱalsoȱmöglich.ȱImȱglobalenȱInternetȱistȱIPv6ȱnochȱ nichtȱetabliertȱundȱfunktioniertȱnurȱüberȱTunnelingȬMechanismen.ȱȱInȱDeutschlandȱ wurdeȱdasȱJOINȬProjektȱzurȱEvaluationȱvonȱIPv6ȱabgewickelt.ȱ6Winȱhießȱderȱersteȱ IPv6ȬBackboneȱinȱDeutschland,ȱderȱvomȱVereinȱzurȱFörderungȱdesȱDeutschenȱForȬ schungsnetzesȱ (DFN 37)ȱ aufgebautȱ wurde.ȱ Einȱ anderesȱ Netzwerkȱ wurdeȱ vonȱ derȱ Deutschenȱ Telekomȱ unterhaltenȱ undȱ einȱ drittes,ȱ dasȱ weltweiteȱ 6Bone,ȱ istȱ bereitsȱ seitȱJuniȱ2005ȱwiederȱeingestellt.ȱ Einȱ großerȱ Vorteilȱ vonȱ IPv6ȱ ist,ȱ dassȱ imȱ Gegensatzȱ zuȱ IPv4ȱ inȱ IPv6ȱ schonȱ SicherȬ heitsmechanismenȱimȱProtokollȱspezifiziertȱsind. 38ȱVorȱallemȱsindȱzweiȱMechanisȬ menȱverfügbar:ȱȱ – Authentifizierung:ȱ Derȱ MD5ȬAlgorithmusȱ (Messageȱ Digest)ȱ kannȱ zurȱ AuȬ thentifizierungȱderȱPartnerȱverwendetȱwerden.ȱ – Verschlüsselung:ȱDieȱVerschlüsselungȱdesȱNutzdatenteilsȱwirdȱmitȱeinerȱVaȬ rianteȱdesȱDESȬVerschlüsselungsalgorithmusȱunterstützt.ȱDESȱ(DataȱEncrypȬ tionȱStandard)ȱistȱeinȱsymmetrischesȱVerschlüsselungsverfahren.ȱ DamitȱkannȱaufȱIPv4ȬErweiterungenȱwieȱz.B.ȱzurȱGewährleistungȱvonȱNetzwerksiȬ cherheitȱinȱIPv6ȱverzichtetȱwerden.ȱAufȱdieȱSicherheitsaspekteȱsollȱanȱdieserȱStelleȱ nichtȱ weiterȱ eingegangenȱ werden.ȱ Inȱ derȱ angegebenenȱ Literaturȱ gibtȱ esȱ einigeȱ interessanteȱAusführungenȱhierzu.ȱ VieleȱwichtigeȱAspekteȱfürȱmoderneȱHochleistungsnetzeȱsowieȱAnforderungenȱanȱ mobileȱSystemeȱundȱSicherheitsprotokolleȱsindȱinȱIPv6ȱbereitsȱintegriert.ȱEinȱUmȬ stiegȱ brächteȱ alsoȱ fürȱ einigeȱ Anwendungstypenȱ enormeȱ Vorteile.ȱ Allerdingsȱ istȱ abzusehen,ȱdassȱdieȱkompletteȱUmstellungȱvonȱIPv4ȱaufȱIPv6ȱmöglicherweiseȱnochȱ langeȱdauernȱwird,ȱzumalȱauchȱdieȱAdressproblemeȱdurchȱMechanismenȱwieȱNATȱ undȱ CIDRȱ imȱ Momentȱ zumindestȱ eingedämmtȱ sind.ȱ Migrationskonzepteȱ sindȱ erforderlich,ȱdaȱdieȱUmstellungȱnichtȱaufȱeinmalȱmöglichȱist.ȱFürȱdieȱnächstenȱJahȬ reȱistȱwohlȱeineȱKoexistenzȱvonȱIPv4ȱundȱIPv6ȱzuȱerwarten.ȱDiesȱerfordertȱjeȱnachȱ NetzwerksituationȱMigrationstechnikenȱwieȱzumȱBeispielȱdieȱKopplungȱvonȱIPv6Ȭ Netzeȱ überȱ einȱ IPv4ȬNetzwerkȱ undȱ dasȱ Betreibenȱ vonȱ DualȬIPȬRouternȱ undȱ EndȬ systemen.ȱ Esȱsollȱnochȱerwähntȱwerden,ȱdassȱnebenȱdenȱSchichtȬ3ȬProtokollenȱfürȱeineȱMigraȬ tionȱ nachȱ IPv6ȱ auchȱ höhereȱ Protokolleȱ angepasstȱ werdenȱ müssen.ȱ Imȱ folgendenȱ Kapitelȱ werdenȱ zumȱ Beispielȱ sog.ȱ Pseudoheaderȱ inȱ UDPȱ undȱ inȱ TCPȱ erläutert.ȱ DieseȱnutzenȱIPȬAdressenȱderȱQuellȬȱundȱZielhostsȱzurȱBerechnungȱvonȱPrüfsumȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DFNȱ=ȱDeutschesȱForschungsnetz.ȱ
37
ȱȱ InȱIPv4ȱgibtȱesȱkeineȱderartigenȱMechanismen,ȱweshalbȱdasȱIPsecȬProtokollȱ(IPȬSecurity)ȱ eingeführtȱwurde.ȱDasȱProtokollȱstelltȱauchȱfürȱIPv4ȱAuthentifizierungsȬȱundȱVerschlüsȬ selungsmechanismenȱbereit.ȱ
38
175ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ men.ȱ Daȱ dieȱ IPv6ȬAdressenȱ wesentlichȱ längerȱ sind,ȱ müssenȱ dieȱ PrüfsummenbeȬ rechnungenȱ angepasstȱ werden.ȱ Auchȱ aufȱ DNS,ȱ dasȱ ebenfallsȱ weiterȱ untenȱ beȬ schriebenȱwird,ȱhatȱeineȱIPv6ȬUmstellungȱAuswirkungen.ȱDortȱwurdenȱneueȱDNSȬ Recordtypenȱeingeführt,ȱmitȱdenenȱIPv6ȬAdressenȱangegebenȱwerdenȱkönnen.ȱEsȱ gibtȱalsoȱauchȱIPv6ȬfähigeȱUDPȬ,ȱTCPȬȱundȱDNSȬVarianten.ȱ
4.5 Virtual Private Networks Einȱ Virtuellesȱ Privatesȱ Netzȱ (VPN)ȱ istȱ einȱ Netzwerk,ȱ dasȱ zumȱ Transportȱ privaterȱ Datenȱ einȱ öffentlichesȱ Netzȱ (zumȱ Beispielȱ dasȱ Internet)ȱ nutzt.ȱ Imȱ IPȬUmfeldȱ werȬ denȱheuteȱVPNsȱimmerȱmehrȱeingesetzt,ȱdaȱsieȱeineȱdirekteȱVerbindungȱzwischenȱ denȱ einzelnenȱ Netzwerkenȱ überflüssigȱ machen.ȱ Teilnehmerȱ einesȱ VPNȱ könnenȱ Datenȱ wieȱ inȱ einemȱ internenȱ LANȱ austauschen.ȱ Dieȱ einzelnenȱ Teilnehmerȱ selbstȱ müssenȱhierzuȱnichtȱdirektȱverbundenȱsein.ȱȱ DasȱProblemȱistȱjedochȱdieȱGewährleistungȱeinerȱabhörsicherenȱÜbertragungȱüberȱ dasȱ dochȱ rechtȱ unsichereȱ globaleȱ Internet.ȱ Dieȱ Verbindungȱ überȱ dasȱ öffentlicheȱ Netzȱ (meistȱ dasȱ globaleȱ Internet)ȱ mussȱ daherȱ verschlüsseltȱ werden.ȱ Eineȱ VerbinȬ dungȱ derȱ Netzeȱ wirdȱ überȱ einenȱ sog.ȱ Tunnelȱ zwischenȱ VPNȬClientȱ undȱ VPNȬ Serverȱermöglichtȱ(IPȬTunneling).ȱȱ VPNsȱ werdenȱ oftȱ verwendet,ȱumȱMitarbeiternȱaußerhalbȱ einerȱ Organisationȱ oderȱ Firmaȱ denȱ Zugriffȱ aufȱ dasȱ interneȱ Netzȱ zuȱ geben.ȱ Dabeiȱ bautȱ einȱ Endsystemȱ desȱ Mitarbeitersȱeineȱsog.ȱVPNȬVerbindungȱzuȱdemȱihmȱbekanntenȱVPNȬGatewayȱdesȱ Unternehmensȱauf.ȱȱÜberȱdieseȱVerbindungȱistȱesȱdannȱmöglich,ȱsoȱzuȱarbeiten,ȱalsȱ obȱmanȱsichȱimȱlokalenȱNetzȱderȱFirmaȱbefindet.ȱAberȱauchȱdieȱAnbindungȱeinesȱ ganzenȱ Netzesȱ beispielsweiseȱ einerȱ Filialeȱ anȱ einȱ Unternehmensnetzwerkȱ einesȱ Mutterunternehmens,ȱwieȱdiesȱinȱAbbildungȱ4Ȭ66ȱskizziertȱwird,ȱistȱüberȱeinȱVPNȱ sinnvoll.ȱ Wennȱ zweiȱ gleichberechtigteȱ Netzeȱ überȱ einȱ VPNȱ verbundenȱ werden,ȱ wirdȱ aufȱ beidenȱ Seitenȱ einȱ VPNȬGatewayȱ verwendet.ȱ Dieseȱ bauenȱ dannȱ untereiȬ nanderȱ eineȱ VPNȬVerbindungȱ auf.ȱ Andereȱ Rechnerȱ inȱ einemȱ lokalenȱ Netzȱ verȬ wendenȱ nunȱ jeweilsȱ dasȱ lokaleȱ VPNȬGateway,ȱ umȱ Datenȱ inȱ dasȱ andereȱ Netzȱ zuȱ senden.ȱSoȱlassenȱsichȱzumȱBeispielȱzweiȱweitȱentfernteȱStandorteȱeinerȱFirmaȱverȬ binden.ȱDieȱVPNȬGatewaysȱsorgenȱfürȱdieȱAuthentifizierungȱderȱTeilnehmerȱundȱ dieȱAbbildungȱderȱIPȬAdressenȱaufȱdieȱlokaleȱUmgebung.ȱ ȱ
176ȱ
4.6ȱȱÜbungsaufgabenȱ Außenstelle Geschäftspartner,...
Unternehmensnetzwerk
Firewall
Firewall Internet
Sicherer Tunnel VPN Gateway Telearbeiter
ȱ
Abbildungȱ4Ȭ66:ȱEinȱVPNȬBeispielȱ
Dasȱ bekanntesteȱ Protokollȱ (esȱ istȱ wohlȱ eherȱ eineȱ Gruppeȱ vonȱ Protokollen)ȱ zumȱ Betreibenȱ einesȱ VPNȱ imȱ globalenȱ Internetȱ istȱ IPSecȱ (IPȱ Security),ȱ dasȱ entwickeltȱ wurde,ȱumȱdieȱSchwächenȱvonȱIPv4ȱzuȱbeheben.ȱIPSecȱentstandȱauchȱimȱZugeȱderȱ EntwicklungȱvonȱIPv6ȱundȱistȱinȱmehrerenȱRFCsȱspezifiziertȱ(RFCsȱ2401,ȱ2402,ȱ2406,ȱ 2407,ȱ 2408ȱ undȱ 2409,ȱ wobeiȱ RFCȱ 2401ȱ dasȱ Basisdokumentȱ ist).ȱ IPSecȱ enthältȱ MeȬ chanismenȱ zurȱ Authentifizierungȱ überȱ Schlüsselaustauschȱ undȱ zurȱ VerschlüsseȬ lungȱvonȱDaten.ȱDasȱProtokollȱistȱziemlichȱkomplexȱundȱsollȱanȱdieserȱStelleȱnichtȱ weiterȱvertieftȱwerden.ȱ
4.6 Übungsaufgaben 1.
NennenȱSieȱzweiȱAufgabenȱderȱVermittlungsschichtȱundȱbeschreibenȱSieȱdieseȱ kurz!ȱ
2.
WasȱunterscheidetȱdieȱVermittlungsverfahrenȱ„Leitungsvermittlung“ȱundȱ„PaȬ ketvermittlung“?ȱ
3.
WarumȱwerdenȱvirtuelleȱVerbindungenȱinȱderȱSchichtȱ3ȱauchȱscheinbareȱVerȬ bindungenȱgenannt?ȱ
4.
ErläuternȱSieȱdenȱUnterschiedȱzwischenȱstatischenȱundȱdynamischenȱRoutingȬ Mechanismen!ȱNennenȱSieȱjeȱeinȱkonkretesȱVerfahrenȱhierzu!ȱ
5.
Wasȱ verstehtȱ manȱ unterȱ einemȱ zentralenȱ RoutingȬVerfahren?ȱ Handeltȱ esȱ sichȱ hierȱumȱeinȱstatischesȱoderȱumȱeinȱadaptivesȱRoutingȬVerfahren?ȱ
6.
WelcheȱVorteileȱbringtȱeinȱhierarchischesȱRoutingȬVerfahren?ȱ
7.
ErläuternȱSieȱkurzȱdasȱOptimierungsprinzipȱbeimȱRouting!ȱ
8.
WasȱverstehtȱmanȱimȱDistanceȬVectorȬRoutingȬVerfahrenȱunterȱdemȱCountȬtoȬ InfinityȬProblemȱundȱwieȱverhältȱsichȱdasȱVerfahrenȱimȱHinblickȱaufȱKonverȬ genz?ȱBegründenȱSieȱIhreȱEntscheidung!ȱ
9.
Welcheȱ Artȱ vonȱ RoutingȬVerfahrenȱ istȱ dasȱ DistanceȬVectorȬVerfahrenȱ undȱ wannȱwirdȱesȱinȱIPȬNetzenȱauchȱheuteȱnochȱeingesetzt?ȱ
177ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ 10. NennenȱSieȱdreiȱmöglicheȱMetriken,ȱdieȱeinȱRoutingȬVerfahrenȱzurȱErmittlungȱ derȱoptimalenȱRoutenȱnutzenȱkann!ȱ 11. Wieȱ siehtȱ einȱ einzelnerȱ Routerȱ imȱ LinkȬStateȬRoutingȬVerfahrenȱ dieȱ aktuelleȱ Netzwerktopologie?ȱȱ 12. Sindȱ imȱ LinkȬStateȬRoutingȬVerfahrenȱ Schleifenȱ möglich?ȱ Begründenȱ Sieȱ Ihreȱ Entscheidung!ȱ 13. WasȱverstehtȱmanȱunterȱeinemȱLeakyȬBucketȬVerfahrenȱundȱwozuȱdientȱes?ȱ 14. WasȱistȱeinȱautonomesȱSystemȱimȱInternetȱundȱwelcheȱArtenȱvonȱautonomenȱ SystemenȱkennenȱSie?ȱ 15. WasȱistȱimȱglobalenȱInternetȱeinȱTransitȬAS?ȱ 16. Beschreibenȱ Sieȱ kurzȱ denȱ Dienst,ȱ denȱ IPȱ fürȱ dieȱ darüberliegendenȱ Schichtenȱ zurȱVerfügungȱstelltȱimȱHinblickȱaufȱdieȱÜbertragungssicherheit!ȱȱ 17. WelchesȱVermittlungsverfahrenȱverwendetȱdieȱInternetȬSchicht?ȱ 18. WasȱverstehtȱmanȱunterȱeinemȱSinkȱTreeȱimȱSinneȱderȱWegewahl?ȱ 19. WasȱverstehtȱmanȱunterȱNATȱ(NetworkȱAddressȱTranslation)ȱundȱwelcheȱVorȬ teileȱbietetȱdasȱVerfahren?ȱ 20. WelcheȱAufgabeȱverrichtetȱeinȱNATȬRouterȱimȱRahmenȱderȱAdressierungȱfürȱ ankommendeȱundȱabgehendeȱIPȬPakete?ȱ 21. WarumȱmussȱeinȱNATȬRouterȱvorȱdemȱWeiterleitenȱeinesȱvomȱglobalenȱInterȬ netȱ ankommendenȱ oderȱ vomȱ Intranetȱ abgehendenȱ IPȬPaketesȱ dieȱ ChecksumȬ meȱimȱIPȬHeaderȱjedesmalȱneuȱberechnen?ȱȱ 22. Nennenȱ Sieȱ denȱ Unterschiedȱ zwischenȱ derȱ klassischenȱ SubnetzȬAdressierungȱ undȱdemȱClasslessȱȱInterdomainȱRoutingȱ(CIDR)!ȱWelcheȱVorteileȱbringtȱCIDRȱ fürȱdieȱAdressenknappheitȱimȱInternetȱ(Begründung)?ȱ 23. Wozuȱ wirdȱ inȱ IPv4ȬNetzenȱ imȱ Routerȱ dasȱ Wissenȱ überȱ eineȱ Netzwerkmaskeȱ fürȱjedesȱangeschlosseneȱNetzȱbenötigt?ȱ 24. WasȱbedeutetȱinȱCIDRȱdieȱDarstellungȱ132.10.1.8/24?ȱ 25. WieȱfindetȱeinȱHostȱinnerhalbȱeinesȱLANsȱ(IPv4ȬNetzwerks)ȱdieȱMACȬAdresseȱ einesȱPartnerȬHosts,ȱwennȱerȱdasȱersteȱMalȱeinȱIPȬPaketȱanȱdiesenȱsendenȱwill?ȱ 26. WieȱfindetȱeinȱHostȱdieȱMACȬAdresseȱeinesȱPartnerȬHosts,ȱderȱnichtȱimȱeigeȬ nenȱ LAN,ȱ sondernȱ irgendwoȱ inȱ einemȱ entferntenȱ LAN,ȱ dasȱ aberȱ überȱ einenȱ Routerȱerreichbarȱist,ȱliegt?ȱ 27. ÜberȱwelchesȱSteuerprotokollȱwirdȱeineȱPingȬNachrichtȱabgesetzt?ȱVerwendetȱ dasȱbesagteȱSteuerprotokollȱTCP,ȱUDPȱoderȱdirektȱIPȱzurȱNachrichtenübertraȬ gung?ȱ
178ȱ
4.6ȱȱÜbungsaufgabenȱ 28. ErläuternȱSieȱdenȱUnterschiedȱzwischenȱlimitedȱBroadcastȱundȱdirectedȱBroadȬ castȱinȱIPȬNetzen!ȱWannȱbenötigtȱmanȱz.B.ȱdieseȱBroadcastȬVariantenȱ(Nennenȱ SieȱjeȱeinȱBeispiel)?ȱ 29. Wasȱ kannȱ dieȱ Vermittlungsschichtȱ zurȱ Vermeidungȱ bzw.ȱ zumȱ Abbauȱ vonȱ StausituationenȱimȱNetzȱbeitragen?ȱ 30. Kannȱ manȱ innerhalbȱ einesȱ autonomenȱ Systemsȱ imȱ globalenȱ Internetȱ unterȬ schiedlicheȱRoutingȬVerfahrenȱverwenden?ȱBegründenȱSieȱIhreȱEntscheidung!ȱ 31. WarumȱwerdenȱinȱIPv4ȱIPȬAdressenȱ„verschenkt“ȱundȱwieȱwerdenȱimȱderzeiȬ tigenȱ globalenȱ Internetȱ IPȬAdressenȱ eingespart?ȱ Nennenȱ Sieȱ zweiȱ EinsparvaȬ rianten!ȱ 32. WelcheȱBedeutungȱhatȱdasȱTTLȬFeldȱimȱIPȬHeaderȱundȱwieȱwirdȱesȱinȱeinemȱ RouterȱimȱRahmenȱderȱBearbeitungȱeinesȱankommendenȱIPȬPaketsȱbearbeitet?ȱ 33. WozuȱbenötigtȱeineȱIPȬInstanzȱdasȱFeldȱProtokollȱausȱdemȱIPȬHeader?ȱ 34. BeschreibenȱSieȱkurzȱdenȱProtokollmechanismusȱderȱFragmentierungȱamȱBeiȬ spielȱ vonȱ IPv4ȱ undȱ gehenȱ Sieȱ dabeiȱ aufȱ dieȱ genutztenȱ Felderȱ Identifikation,ȱ FragmentȱOffsetȱundȱFlagsȱein!ȱ 35. Welchesȱ Problemȱ imȱ RoutingȬProtokollȱ RIPȱ versuchtȱ dieȱ SplitȬHorizonȬTechȬ nikȱzuȱlösenȱundȱwieȱfunktioniertȱdieseȱTechnik?ȱȱ 36. Imȱ globalenȱ Internetȱ setztȱ manȱ prinzipiellȱ zweiȱ verschiedeneȱ RoutingȬ Verfahrenȱ einȱ (EGPȱ undȱ IGP).ȱ Erläuternȱ Sieȱ denȱ Unterschiedȱ zwischenȱ EGPȱ undȱIGPȱundȱstellenȱSieȱdar,ȱwoȱbeideȱRoutingȬVerfahrenȱVerwendungȱfinden?ȱ NennenȱSieȱjeȱeinȱkonkretesȱRoutingȬProtokollȱfürȱdieȱbeidenȱVerfahren!ȱ 37. NennenȱSieȱdreiȱZieleȱderȱIPv6ȬEntwicklung!ȱ 38. WelchenȱSinnȱhabenȱimȱIPv6ȬProtokollȱdieȱsog.ȱErweiterungsheader?ȱNennenȱ SieȱzweiȱErweiterungsheaderȱundȱbeschreibenȱSieȱkurzȱderenȱAufgabe!ȱ 39. WozuȱsollenȱimȱIPv6ȬProtokollȱFlussmarkenȱdienen?ȱ 40. HostȱAȱsendetȱinȱeinemȱIPv4ȬNetzwerkȱseinemȱPartnerhostȱBȱeinȱIPȬPaketȱderȱ Längeȱ5000ȱ Byte.ȱ20ȱ Byteȱdavonȱ enthältȱ derȱ IPȬHeaderȱ desȱPaketsȱ (minimalerȱ IPȬHeaderȱohneȱOptionen).ȱEsȱgeltenȱfolgendeȱBedingungen:ȱ – DasȱIPȬPaketȱmussȱvonȱAȱnachȱBȱdreiȱIPȬNetzeȱdurchlaufen,ȱHostȱAȱliegtȱimȱ Netzȱ1,ȱNetzȱ2ȱistȱeinȱTransitnetzȱundȱHostȱBȱliegtȱinȱNetzȱ3ȱ – Netzȱ1ȱundȱNetzȱ2ȱwerdenȱdurchȱRouterȱR1ȱverbundenȱ – Netzȱ2ȱundȱNetzȱ3ȱwerdenȱdurchȱRouterȱR2ȱverbundenȱ – Netzȱ1ȱhatȱeineȱMTUȱvonȱ2048ȱByteȱ – Netzȱ2ȱhatȱeineȱMTUȱvonȱ1024ȱByteȱ – Netzȱ3ȱhatȱeineȱMTUȱvonȱ576ȱByteȱ
SkizzierenȱSieȱdieȱgesamteȱNetzwerktopologie!ȱ
179ȱ
4ȱȱKonzepteȱundȱProtokolleȱderȱVermittlungsschichtȱ
WieȱvieleȱIPȬFragmenteȱverlassenȱR1ȱfürȱdasȱbesagteȱIPȬPaketȱinȱRichtungȱ NetzwerkȱmitȱderȱNummerȱ2?ȱ WieȱvieleȱIPȬFragmenteȱverlassenȱR2ȱfürȱdasȱbesagteȱIPȬPaketȱinȱRichtungȱ NetzwerkȱmitȱderȱNummerȱ3?ȱ Inȱ welchemȱ Systemȱ (Hostȱ oderȱ Router)ȱ werdenȱ dieȱ IPȬFragmenteȱ wiederȱ zusammengebaut?ȱ Wieȱ wirdȱ inȱ diesemȱ Systemȱ erkannt,ȱ welcheȱ IPȬ FragmenteȱzumȱursprünglichenȱIPȬPaketȱgehören?ȱ
41. Eineȱ Organisationȱ hatȱ vonȱ seinemȱ ISPȱ denȱ IPv4ȬAdressblockȱ 131.42.0.0/16ȱ (classless)ȱ zugewiesenȱ bekommen.ȱ Dieȱ Organisationȱ möchteȱ gerneȱ ihrȱ NetzȬ werkȱinternȱwieȱfolgtȱaufteilen:ȱ – 1ȱSubnetzȱmitȱbisȱzuȱ32000ȱRechnernȱ – 15ȱSubnetzeȱmitȱbisȱzuȱ2000ȱRechnernȱ – 8ȱSubnetzeȱmitȱbisȱzuȱ250ȱRechnernȱ Derȱ Adressblockȱ wirdȱ zunächstȱ inȱ dieȱ zweiȱ Adressblöckeȱ 131.42.0.0./17ȱ undȱ 131.42.128.0/17ȱaufgeteilt.ȱZeigenȱ Sieȱ auf,ȱ wieȱ dieȱ Organisationȱ internȱ dieȱAdȬ ressenȱweiterȱaufteilenȱkönnte,ȱumȱobigesȱZielȱzuȱerreichen.ȱHinweis:ȱAlleȱbeȬ teiligtenȱRouterȱbeherrschenȱCIDR.ȱ 42. Wasȱ passiert,ȱ wennȱ einȱ IPv4ȬFragment,ȱ alsoȱ einȱ Teilȱ einesȱ IPv4ȬPakets,ȱ inȱ eiȬ nemȱNetzwerkȱlandet,ȱdessenȱMTUȱkleinerȱistȱalsȱdieȱLängeȱdesȱFragments?ȱ 43. Woȱ(aufȱwelchemȱRechner)ȱwerdenȱIPv4ȬFragmenteȱwiederȱzumȱursprünglichȱ abgesendetenȱIPv4ȬDatagrammȱreassembliert?ȱ 44. Wasȱ verstehtȱ manȱ imȱ Sinneȱ derȱ IPȬAdressvergabeȱ unterȱ einemȱ multihomedȱ Host?ȱ 45. Wieȱ lautenȱ dieȱ entsprechendenȱ Netzwerkmaskenȱ fürȱ dieȱ CIDRȬPräfixnotaȬ tionenȱ/16,ȱ/20ȱundȱ/24?ȱ 46. AusȱdemȱAdressbereichȱ11.1.253/24ȱeinesȱVLSMȬTeilnetzesȱsollenȱ/27ȬTeilnetzeȱ herausgeschnittenȱ werden.ȱ Wieȱ lautenȱ dieȱ Teilnetzwerkadressen?ȱ Wieȱ vieleȱ Adressenȱbleibenȱproȱ/27ȬTeilnetz?ȱ 47. Erläuternȱ Sie,ȱ wieȱ einȱ neuȱ inȱ einȱ Netzwerkȱ hinzukommenderȱ OSPFȬRouterȱ seineȱRoutingȬInformationȱaufbautȱundȱverwaltet.ȱGehenȱSieȱdabeiȱaufȱdenȱBeȬ griffȱ desȱ SpanningȬTreeȱ undȱ aufȱ dieȱ nachbarschaftlicheȱ Beziehungȱ derȱ OSPFȬ Routerȱein.ȱ 48. Einȱ Problemȱ beiȱ RoutingȬProtokollenȱ istȱ dasȱ Konvergenzverhaltenȱ bzw.ȱ dieȱ KonvergenzdauerȱbeiȱÄnderungenȱderȱNetzwerktopologieȱoderȱbeiȱÄnderunȬ genȱvonȱRouten.ȱWieȱistȱdasȱKonvergenzverhaltenȱbeiȱdenȱRoutingȬProtokollenȱ RIPȬ2ȱ undȱ OSPFv2?ȱ Welcheȱ Mechanismenȱ nutztȱ RIPȬ2ȱ zurȱ Verbesserungȱ derȱ Konvergenz?ȱ Sindȱ inȱ beidenȱ RoutingȬProtokollenȱ Endlosschleifenȱ (CountȬtoȬ InfinityȬProblem)ȱmöglich?ȱ 49. WieȱfunktioniertȱbeiȱIPv6ȱprinzipiellȱdieȱautomatischeȱAdresskonfiguration?ȱ
180ȱ
ȱ
5 Konzepte und Protokolle der Transportschicht Transportprotokolleȱ wieȱ TCPȱ undȱ UDPȱ sindȱ dieȱ Basisȱ fürȱ dieȱ höherwertigenȱ Kommunikationsmechanismen.ȱ Wasȱ manȱ inȱ denȱ höherenȱ Schichtenȱ sonstȱ nichtȱ sieht,ȱaberȱsichȱimȱHintergrundȱderȱKommunikationȱabspielt,ȱsollȱinȱdiesemȱKapiȬ telȱdargestelltȱwerden,ȱumȱauchȱdieȱKomplexitätȱderȱKommunikationsabläufeȱeinȬ schätzenȱzuȱkönnen.ȱȱ InȱdiesemȱKapitelȱwirdȱzunächstȱdieȱFunktionalitätȱvonȱTransportschichtenȱallgeȬ meinȱ betrachtet.ȱ Hierbeiȱ werdenȱ Themenȱ wieȱ dasȱ Verbindungsmanagementȱ undȱ dieȱ Datenübertragungȱ einschließlichȱ derȱ FlusskontrollȬȱ undȱ derȱ StaukontrollmeȬ chanismenȱ betrachtet.ȱ Inȱ denȱ anschließendenȱ Abschnittenȱ werdenȱ dieȱ konkretenȱ TCPȬȱundȱUDPȬProtokollmechanismenȱerläutert.ȱSpezielleȱLösungenȱdieserȱbeidenȱ Protokolle,ȱinsbesondereȱdesȱweitausȱkomplexerenȱTCP,ȱwieȱetwaȱdasȱSlowȬStartȬ Verfahren,ȱ dasȱ spezielleȱ TimerȬManagementȱ usw.ȱ werdenȱ dargestellt.ȱ Dieȱ ProtoȬ kollheaderȱbeiderȱProtokolleȱwerdenȱebenfallsȱdiskutiert.ȱ Zielsetzung des Kapitels Derȱ Studierendeȱ sollȱ verstehen,ȱ wieȱ Transportprotokolleȱ grundsätzlichȱ arbeitenȱ undȱwieȱimȱSpeziellenȱdieȱProtokolleȱTCPȱundȱwieȱUDPȱfunktionieren.ȱ Wichtige Begriffe DreiȬWegeȬHandshake,ȱGoȬBackȬNȬVerfahren,ȱKumulativesȱQuittierungsverfahren,ȱ NAKȬVerfahren,ȱ SlidingȬWindowsȬVerfahren,ȱ SlowȬStartȬVerfahren,ȱ UDPȬȱ undȱ TCPȬPorts.ȱ
5.1 Grundlagen InȱdiesemȱAbschnittȱwerdenȱgrundlegendeȱMechanismenȱderȱTransportschichtȱalsȱ Basisȱ fürȱ dieȱ anschließendeȱ konkreteȱ Betrachtungȱ derȱ Protokolleȱ TCPȱ undȱ UDPȱ zunächstȱallgemeinȱdiskutiert.ȱ
5.1.1
Transportdienste
Dieȱ Transportschichtȱ stelltȱ denȱ anwendungsorientiertenȱ Schichtenȱ einenȱ TransȬ portdienstȱ fürȱ eineȱ EndeȬzuȬEndeȬBeziehungȱ zurȱ Verfügung.ȱ Höhereȱ Schichtenȱ nutzenȱdieȱDiensteȱzumȱAustauschȱvonȱNachrichtenȱüberȱeinenȱDienstzugangȱ(TȬ SAP,ȱvgl.ȱAbbildungȱ5Ȭ1).ȱJeȱnachȱAusprägungȱderȱTransportschichtȱistȱderȱDienstȱ zuverlässigȱoderȱunzuverlässigȱimȱSinneȱderȱDatenübertragung.ȱ
181ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Manȱ unterscheidetȱ weiterhinȱ grundsätzlichȱ zwischenȱ verbindungsorientiertenȱ undȱ verbindungslosenȱ Transportdiensten.ȱ Beiȱ ersterenȱ wirdȱ zwischenȱ denȱ KommunikaȬ tionspartnernȱ vorȱ demȱ eigentlichenȱ Datenaustauschȱ eineȱ Transportverbindungȱ etabliert,ȱbeiȱletzterenȱistȱdiesȱnichtȱnotwendig.ȱ T-IDU T-ICI
T-SAP
T-Instanz
T-IDU T-ICI
T-SDU
Schicht 4
T-PDUs T-PCI
T-SDU
T-SAP
T-Instanz
T-SDU
(meist) unvollkommener N-Dienst
ȱ Abbildungȱ5Ȭ1:ȱDiensteȱderȱTransportschichtȱȱ
VerbindungsorientierteȱTransportdiensteȱsindȱdurchȱdreiȱPhasenȱgekennzeichnet:ȱ – Verbindungsaufbauȱ – Datenübertragungȱ – Verbindungsabbauȱ Derȱ Senderȱ adressiertȱ denȱ Empfängerȱ beimȱ Verbindungsaufbauȱ undȱ sendetȱ beimȱ Datenaustauschȱ inȱ denȱ TȬPDUsȱ ȱ (auchȱ alsȱ Segmenteȱ bezeichnet)ȱ nurȱ nochȱ seineȱ VerbindungsȬIdentifikationȱmit.ȱFürȱeineȱVerbindungȱmussȱbeiȱbeidenȱKommuniȬ kationspartnernȱ inȱ denȱ Transportinstanzenȱ einȱ gemeinsamerȱ Verbindungskontextȱ verwaltetȱ werden,ȱ derȱ sichȱ fürȱ jedesȱ Protokollȱ inȱ einemȱ Zustandsautomatenȱ beȬ schreibenȱlässt.ȱȱ VerbindungsloseȱDiensteȱsindȱmeistȱdurchȱfolgendeȱEigenschaftenȱcharakterisiert:ȱ – – – –
DerȱVerlustȱvonȱDatenpaketenȱistȱmöglichȱ DieȱDatenȱkönnenȱggf.ȱverfälschtȱwerdenȱ DieȱReihenfolgeȱistȱnichtȱgarantiertȱ DieȱAdressierungsinformationȱmussȱinȱallenȱTȬPDUsȱenthaltenȱseinȱ
Verbindungsorientierteȱ Protokolleȱ sindȱ komplexerȱ undȱ daherȱ aufwändigerȱ zuȱ implementieren,ȱbietenȱaberȱinȱderȱRegelȱeineȱhöhereȱZuverlässigkeitȱundȱgarantieȬ renȱ meistȱ eineȱ fehlerfreieȱ undȱ reihenfolgerichtigeȱ Auslieferungȱ derȱ Datenȱ beimȱ Empfänger.ȱȱ Nichtȱ jedeȱ Anwendungȱ benötigtȱ einenȱ verbindungsorientiertenȱ Transportdienstȱ undȱ entsprechendeȱ Zuverlässigkeit.ȱ Diesȱ istȱ z.B.ȱ fürȱ neuereȱ Anwendungstypenȱȱ wieȱetwaȱVideoübertragungenȱ(Streaming)ȱderȱFall.ȱHierȱwirdȱoftȱaufȱverbindungsȬ
182ȱ
5.1ȱȱGrundlagenȱ loseȱDiensteȱzurückgegriffen,ȱdaȱeinȱbegrenzterȱDatenverlustȱvertretbarerȱalsȱVerȬ zögerungenȱbzw.ȱVerzögerungsschwankungenȱinȱderȱDatenübertragungȱist.ȱ Dieȱ grundlegendenȱ Protokollfunktionen,ȱ dieȱ inȱ derȱ Transportschichtȱ angesiedeltȱ werden,ȱsindȱ jeȱ nachȱProtokollȱunterschiedlich.ȱ Grundsätzlichȱ sindȱ folgendeȱAufȬ gabenȱzuȱerfüllen:ȱ – – – – – –
VerbindungsmanagementȱundȱAdressierungȱ ZuverlässigerȱDatentransferȱ Flusskontrolleȱ Staukontrolleȱ MultiplexierungȱundȱDemultiplexierungȱ Fragmentierungȱ(bzw.ȱSegmentierung)ȱundȱDefragmentierungȱȱ
Welcheȱ Mechanismenȱ dieȱ TȬInstanzȱ implementiert,ȱ hängtȱ sehrȱ starkȱ vonȱ derȱ darȬ unterliegendenȱNȬSchichtȱab.ȱIstȱdieseȱschonȱsehrȱzuverlässig,ȱkannȱdieȱImplemenȬ tierungȱinȱderȱTȬInstanzȱeinfacherȱsein.ȱȱ
5.1.2
Verbindungsmanagement und Adressierung
InȱAbbildungȱ5Ȭ2ȱistȱdieȱKommunikationȱzwischenȱzweiȱAnwendungsprozessenȱinȱ zweiȱ verschiedenenȱ Rechnersystemenȱ (Hosts)ȱ dargestellt.ȱ Dieȱ AnwendungsproȬ zesseȱ sindȱ überȱ dieȱ zugehörigenȱ TȬSAPsȱ adressierbar,ȱ währendȱ dieȱ TransportȬ schichtȱ NȬSAPsȱ zurȱ Adressierungȱ derȱ Rechnersystemeȱ nutzt.ȱ Dieȱ SchichtȬ4Ȭ Adresseȱ wirdȱ auchȱ alsȱ Transportadresseȱ bezeichnet.ȱ Inȱ derȱ Abbildungȱ istȱ zuȱ erȬ kennen,ȱdassȱeinȱAnwendungsprozessȱnebenȱdemȱNȬSAPȱnochȱeinȱweiteresȱIdentiȬ fikationsmerkmalȱ aufweisenȱ muss,ȱ daȱ jaȱ mehrȱ alsȱ einȱ Anwendungsprozessȱ einesȱ Hostsȱ überȱ denselbenȱ NȬSAPȱ kommunizierenȱ kann.ȱ Beiȱ TCPȱ istȱ diesȱ z.B.ȱ dieȱ sog.ȱ Portnummer.ȱ Host 1
T-SAP
AnwendungsProzess 1
Transportschicht Vermittlungsschicht
N-SAP
Transportverbindung beginnt hier Netzverbindung beginnt hier
Host 2 AnwendungsProzess 2
Transportschicht Vermittlungsschicht
Sicherungsschicht
Sicherungsschicht
Bitübertragungsschicht
Bitübertragungsschicht
T-SAP = Transport Service Access Point N-SAP = Network Service Access Point
ȱ
Abbildungȱ5Ȭ2:ȱAdressierungȱüberȱTȬSAPȱ
183ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Eineȱ TȬInstanzȱ unterstütztȱ inȱ derȱ Regelȱ mehrereȱ TȬSAPs.ȱ Transportadressenȱ sindȱ meistȱsehrȱkryptisch,ȱweshalbȱoftȱsymbolischeȱAdressenȱbenutztȱwerden,ȱdieȱüberȱ sog.ȱ NamingȬServicesȱ (Directoryȱ Services)ȱ aufȱ Transportadressenȱ abgebildetȱ werȬ den,ȱ ohneȱ dassȱ derȱ Anwendungsprogrammiererȱ dieseȱ kennenȱ muss.ȱ Einȱ Beispielȱ fürȱ einenȱ klassischenȱ NamingȬServiceȱ istȱ dasȱ imȱ Internetȱ unbedingtȱ erforderlicheȱ DNSȱ(DomainȱNameȱSystem).ȱ Verbindungsorientierteȱ Diensteȱ erfordernȱ einenȱ Verbindungsaufbau,ȱ inȱ demȱ zuȬ nächstȱaufȱbeidenȱSeitenȱeinȱVerbindungskontextȱaufgebautȱwird.ȱDieȱEndpunkteȱ derȱVerbindungȱwerdenȱimȱISO/OSIȬJargonȱauchȱalsȱConnectionȱEndȱPointsȱ(CEP)ȱ bezeichnet.ȱȱ Verbindungsaufbau:ȱ Beimȱ Verbindungsaufbauȱ mussȱ sichergestelltȱ werden,ȱ dassȱ keineȱ DuplikatȬPDUsȱ alterȱ Verbindungenȱ erneutȱ beimȱ Empfängerȱ ankommen.ȱ Hierzuȱ sindȱ entsprechendeȱ Protokollmechanismenȱ wieȱ etwaȱ eineȱ Folgenummerȱ (Sequenznummern)ȱ alsȱ fortlaufenderȱ Zählerȱ derȱ abgesendetenȱ Nachrichtenȱ komȬ biniertȱmitȱeinerȱmaximalenȱPaketlebensdauerȱerforderlich.ȱ T-Instanz A Lokale Ermittlung der Folgenummer x
T-Instanz B Connect.Request (seq = x)
Lokale Ermittlung der Folgenummer y Connect.Response (seq = y, ACK = x)
Daten senden und Bestätigung von y (Huckepack)
Data.Request (se q = x, ACK = y)
...
Seq = Folgenummer T-Instanz = Transportinstanz
ȱ
Abbildungȱ5Ȭ3:ȱDreiȬWegeȬHandshakeȬProtokollȱfürȱdenȱnormalenȱVerbindungsaufbauȱ
EinȱVerbindungsaufbauȱerfolgtȱmeistȱüberȱeinenȱbestätigtenȱDienst,ȱinȱdemȱFolgeȬ nummernȱvereinbartȱwerden.ȱEinȱklassischesȱVerbindungsaufbauprotokollȱistȱdasȱ DreiȬWegeȬHandshakeȬProtokoll,ȱ ȱ dasȱ inȱ Abbildungȱ 5Ȭ3ȱ skizziertȱ ist.ȱ Derȱ Ablaufȱ siehtȱwieȱfolgtȱaus:ȱ – HostȱAȱ(bzw.ȱdieȱTȬInstanzȱinȱHostȱA)ȱinitiiertȱdenȱVerbindungsaufbauȱmitȱ einerȱ ConnectȬRequestȬPDUȱ undȱsendetȱ dabeiȱ eineȱvorherȱ ermittelteȱ FolgeȬ nummerȱ (seq=x)ȱ mit.ȱ Mitȱ derȱ ConnectȬRequestȬPDUȱ wirdȱ auchȱ dieȱ TransȬ portadresseȱgesendet,ȱȱumȱdenȱEmpfängerȱzuȱidentifizieren.ȱ
184ȱ
5.1ȱȱGrundlagenȱ – Hostȱ Bȱ (bzw.ȱ dieȱ TȬInstanzȱ inȱ Hostȱ B)ȱ bestätigtȱ denȱ VerbindungsaufbauȬ wunschȱ mitȱ einerȱ ACKȬPDU,ȱ bestätigtȱ dabeiȱ dieȱ Folgenummerȱ undȱ sendetȱ seineȱeigeneȱFolgenummerȱ(seq=y)ȱmitȱderȱACKȬPDUȱanȱHostȱA.ȱ – HostȱAȱbestätigtȱdieȱFolgenummerȱvonȱHostȱBȱmitȱderȱerstenȱDataȬPDUȱimȱ PiggypackingȬVerfahren,ȱundȱdamitȱistȱdieȱVerbindungȱaufgebaut.ȱ Wieȱ inȱ Abbildungȱ 5Ȭ4ȱ dargestellt,ȱ könnenȱ beimȱ Verbindungsaufbauȱ gewisseȱ FehȬ lersituationenȱ auftreten.ȱ Beispielsweiseȱ kannȱ eineȱ alteȱ ConnectȬRequestȬPDUȱ beiȱ Hostȱ Bȱ ankommen,ȱ derȱ dannȱ nichtȱ feststellenȱ kann,ȱ obȱ diesȱ eineȱ gültigeȱ PDUȱ ist.ȱ Hostȱ Aȱ mussȱ erkennen,ȱ dassȱ esȱ sichȱ umȱ einenȱ ConnectȬResponseȱ fürȱ einenȱ ConȬ nectȬRequestȱhandelt,ȱderȱnichtȱbzw.ȱinȱderȱVergangenheitȱvonȱihmȱinitiiertȱwurde.ȱ ErȱmussȱdieȱACKȬPDUȱdannȱnegativȱbeantwortenȱundȱdieȱVerbindungȱzurückweiȬ senȱ(Reject).ȱȱ T-Instanz A
T-Instanz B
Connect.Request (seq = x) Altes Duplikat!
Instanz B merkt nichts! Connect.Response (seq = y, ACK = x)
Instanz A erkennt das Duplikat und verweigert Verbindungsaufbau
Connect.Reject (seq = x, ACK
= y)
Ende!
Seq = Folgenummer T-Instanz = Transportinstanz
ȱ Abbildungȱ5Ȭ4:ȱVerbindungsaufbau,ȱFehlerfallȱ1:ȱConnectȬRequestȬDuplikatȱtauchtȱaufȱ
Eineȱ nochȱ kompliziertereȱ Fehlersituationȱ kannȱ auftreten,ȱ wennȱ zusätzlichȱ zumȱ ConnectȬRequestȬDuplikatȱnochȱeinȱaltesȱACKȬDuplikatȱauftritt.ȱAuchȱhierȱdarfȱdieȱ Verbindungȱnichtȱzustandeȱkommenȱ(vgl.ȱAbbildungȱ5Ȭ5).ȱ
185ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ T-Instanz A
T-Instanz B
Connect.Request (seq = x) Altes Duplikat!
Instanz B merkt nichts! Connect.Response (seq = y, ACK = x)
Instanz A erkennt das Duplikat und verweigert Verbindungsaufbau
Data.Request (se q = x, ACK = z) Altes ACK-Duplikat! Connect.Reject (seq = x, ACK
Bestätigung falsch!
= y)
Ende! Seq = Folgenummer T-Instanz = Transportinstanz
ȱ
Abbildungȱ5Ȭ5:ȱVerbindungsaufbau,ȱFehlerfallȱ2:ȱCRȬȱundȱACKȬDuplikateȱtauchenȱaufȱ
Verbindungsabbau:ȱAuchȱanȱeinenȱordnungsgemäßenȱVerbindungsabbauȱwerdenȱ einigeȱAnforderungenȱgestellt:ȱBeimȱVerbindungsabbauȱdürfenȱkeineȱNachrichtenȱ verlorenȱgehen.ȱEinȱDatenverlustȱkannȱnämlichȱvorkommen,ȱwennȱeineȱSeiteȱeinenȱ Verbindungsabbauȱ initiiert,ȱ dieȱ andereȱ aberȱ vorȱ Erhaltȱ derȱ DisconnectȬRequestȬ PDUȱnochȱeineȱNachrichtȱsendet.ȱDieseȱNachrichtȱistȱdannȱverlorenȱ(Datenverlust).ȱ DaherȱistȱeinȱanspruchsvollesȱVerbindungsabbauȬProtokollȱnotwendig.ȱAuchȱhierȱ verwendetȱ manȱ gerneȱ einenȱ DreiȬWegeȬHandshakeȬMechanismus,ȱ inȱ demȱ beideȱ Seiten 1ȱihreȱ„Senderichtung“ȱabbauen.ȱ
ȱ Abbildungȱ5Ȭ6:ȱDasȱZweiȬArmeenȬProblemȱausȱ(Tanenbaumȱ2003a)ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ WirȱgehenȱhierȱvonȱeinerȱVollduplexȬVerbindungȱaus.ȱ
1
186ȱ
5.1ȱȱGrundlagenȱ Dasȱ Problemȱ wirdȱ durchȱ dasȱ ZweiȬArmeenȬBeispielȱ transparent.ȱ Dieȱ Armeeȱ derȱ WeißröckeȱlagertȱinȱeinemȱTal.ȱAufȱzweiȱAnhöhenȱlagertȱjeweilsȱeinȱTeilȱderȱArmeeȱ derȱBlauröcke.ȱDieȱBlauröckeȱkönnenȱnurȱgemeinsamȱgewinnenȱundȱmüssenȱihrenȱ Angriffȱ synchronisieren.ȱ Zurȱ Kommunikationȱ derȱ beidenȱ Teilarmeenȱ derȱ BlauröȬ ckeȱ existiertȱ einȱ unzuverlässigerȱ Kommunikationskanal,ȱ undȱ zwarȱ Boten,ȱ dieȱ zuȱ FußȱdurchȱdasȱTalȱrennenȱmüssenȱ(vgl.ȱAbbildungȱ5Ȭ6).ȱ DieȱeineȱSeiteȱderȱBlauröckeȱsendetȱeinenȱBotenȱmitȱeinerȱNachrichtȱlos.ȱDamitȱsieȱ aberȱsicherȱseinȱkann,ȱdassȱerȱangekommenȱist,ȱmussȱdieȱzweiteȱSeiteȱdieȱNachrichtȱ überȱeinenȱweiterenȱBotenȱbestätigen.ȱWasȱistȱaber,ȱwennȱderȱnichtȱankommt?ȱUndȱ wennȱ erȱ ankommt,ȱ woherȱ weißȱ esȱ dannȱ dieȱ zweiteȱ Seite?ȱ Keinȱ Protokollȱ istȱ hierȱ absolutȱzuverlässig,ȱdennȱesȱwirdȱimmerȱeineȱSeiteȱgeben,ȱdieȱunsicherȱist,ȱobȱdieȱ letzteȱNachrichtȱangekommenȱist.ȱ T-Instanz A Disconnect-Request senden und Timer starten
T-Instanz B Discon.Request
Discon.Response Verbindung abbauen, ACK senden
Disconnect-Request bestätigen und Timer starten
Discon.Response (ACK) Verbindung abbauen
Timer würde hier laufen
Timer würde hier laufen
ȱ Abbildungȱ5Ȭ7:ȱSzenarioȱbeimȱVerbindungsabbau,ȱnormalerȱAblaufȱnachȱ(Tanenbaumȱ 2003a)ȱ
Übertragenȱ aufȱ denȱ Verbindungsabbauȱ bedeutetȱ dies,ȱ dassȱ beimȱ DreiȬWegeȬ HandshakeȱjederzeitȱeinȱDisconnectȬRequestȱoderȱeineȱBestätigungȱverlorenȱgehenȱ kann.ȱManȱlöstȱdasȱProblemȱinȱderȱPraxisȱpragmatischȱüberȱeineȱTimerüberwachungȱ mitȱbegrenzterȱAnzahlȱanȱNachrichtenwiederholungenȱ(wirdȱbeiȱProtokollenȱoftȱsoȱ gehandhabt).ȱ Diesȱ liefertȱ dannȱ keineȱ unfehlbaren,ȱ aberȱ dochȱ ganzȱ zufriedenstelȬ lendeȱ Ergebnisse.ȱ Aberȱ einȱ Problemȱ bleibtȱ bestehen:ȱ Fallsȱ derȱ ersteȱ DisconnectȬ Requestȱundȱnȱweitereȱverlorenȱgehen,ȱbautȱderȱSenderȱdieȱVerbindungȱabȱundȱderȱ Partnerȱ weißȱ nichtsȱ davon.ȱ Inȱ diesemȱ Fallȱ liegtȱ eineȱ halboffeneȱ Verbindungȱ vor.ȱ Aberȱ auchȱ diesesȱ Problemȱ kannȱ gelöstȱ werden,ȱ indemȱ beimȱ Sendenȱ einerȱ NachȬ richtȱnachȱeinerȱbestimmtenȱZeitȱdieȱVerbindungȱabgebautȱwird,ȱwennȱkeineȱAntȬ wortȱzurückkommt.ȱDerȱPartnerȱbautȱdannȱauchȱdieȱVerbindungȱirgendwannȱwieȬ derȱab.ȱInȱdenȱfolgendenȱAbbildungenȱsindȱeinigeȱSzenarienȱfürȱdieȱTimerüberwaȬ
187ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ chungȱ beimȱ Verbindungsabbauȱ skizziert,ȱ dieȱ inȱ einemȱ verbindungsorientiertenȱ Transportprotokollȱ behandeltȱ werdenȱ sollten.ȱ Abbildungȱ 5Ȭ7ȱ stelltȱ denȱ normalenȱ VerbindungsabbauȱalsȱDreiȬWegeȬHandshakeȱdar.ȱInȱAbbildungȱ5Ȭ8ȱ istȱeinȱSzenaȬ rioȱskizziert,ȱinȱdemȱeinȱTimerȱabläuft.ȱInȱdiesemȱFallȱtrenntȱdieȱInstanzȱBȱdieȱVerȬ bindungȱbeimȱAblaufȱdesȱTimers.ȱ T-Instanz A Disconnect-Request senden und Timer starten
T-Instanz B Discon.Request
Discon.Response Verbindung abbauen, ACK senden
Disconnect-Request bestätigen und Timer starten
Discon.Response (ACK)
Timer würde hier laufen
Timeout, Verbindung trennen
ȱ Abbildungȱ5Ȭ8:ȱSzenarioȱbeimȱVerbindungsabbau,ȱTimerablaufȱ Inȱ Abbildungȱ 5Ȭ9ȱ gehtȱ ausȱ irgendeinemȱ beliebigenȱ Grundȱ (z.B.ȱ NetzwerküberlasȬ
tung)ȱ dieȱ DisconnectȬResponseȬPDUȱ derȱ Instanzȱ Bȱ verlorenȱ undȱ kommtȱ daherȱ nichtȱ beiȱ Instanzȱ Aȱ an.ȱ Inȱ diesemȱ Fallȱ läuftȱ beiȱ Instanzȱ Aȱ derȱ Timerȱ ab,ȱ undȱ dieȱ DisconnectȬRequestȬPDUȱwirdȱerneutȱgesendet.ȱ T-Instanz A Disconnect-Request senden und Timer starten
T-Instanz B Discon.Request Discon.Response Geht im Netz verloren!
Timeout, erneut senden
Disconnect-Request bestätigen und Timer starten
Discon.Request Discon.Response
Verbindung trennen
Discon.Response (ACK) Verbindung trennen
ȱ Abbildungȱ5Ȭ9:ȱSzenarioȱbeimȱVerbindungsabbau,ȱDisconnectȬResponsesȱgehenȱverlorenȱ
188ȱ
5.1ȱȱGrundlagenȱ SchließlichȱgehenȱinȱdemȱSzenario,ȱdasȱinȱAbbildungȱ5Ȭ10ȱskizziertȱist,ȱdieȱDisconȬ nectȬResponseȬPDUȱderȱInstanzȱBȱundȱeineȱerneutȱgesendeteȱDisconnectȬRequestȬ PDUȱ derȱ Instanzȱ Aȱ verloren.ȱ Hierȱ greiftȱ aufȱ beidenȱ Seitenȱ derȱ TimeoutȬ Mechanismus.ȱDieȱVerbindungenȱwerdenȱselbstständigȱvonȱdenȱbeidenȱInstanzenȱ getrennt,ȱ wennȱ dieȱ Wartezeitȱ aufȱ dieȱ Antwortnachrichtȱ desȱ jeweiligenȱ Partnersȱ abgelaufenȱist.ȱWieȱoftȱeineȱNachrichtȱbeiȱeinemȱTimeoutȬEreignisȱwiederholtȱwird,ȱ hängtȱ vomȱ jeweiligenȱ Transportprotokollȱ ab.ȱ Esȱ gibtȱ sicherlichȱ nochȱ weitereȱ FehȬ lervariationen,ȱdieȱaberȱalleȱüberȱdieȱTimerüberwachungȱlösbarȱsind.ȱ T-Instanz A Disconnect-Request senden und Timer starten
T-Instanz B Discon.Request Discon.Response Geht im Netz verloren!
Timeout, erneut senden
Disconnect-Request bestätigen und Timer starten ...
Discon.Request Geht im Netz verloren!
Timeout, Verbindung trennen
Timeout, Verbindung trennen
ȱ Abbildungȱ5Ȭ10:ȱSzenarioȱbeimȱVerbindungsabbau,ȱzweiȱDisconnectȬPDUsȱgehenȱverloȬ renȱ
5.1.3
Zuverlässiger Datentransfer
BeiȱeinemȱzuverlässigenȱDatentransfer,ȱwieȱihnȱsowohlȱTCPȱalsȱauchȱOSIȱTPȱ4ȱgeȬ währleistet,ȱȱwerdenȱdieȱDatenȱinȱderȱrichtigenȱReihenfolge,ȱvollständigȱundȱohneȱ Fehlerȱübertragen.ȱProblemeȱwerdenȱerkanntȱundȱvomȱTransportȬProvider,ȱsofernȱ möglich,ȱgelöstȱoderȱüberȱdieȱDiensteschnittstelleȱnachȱobenȱweiterȱgemeldet.ȱWeiȬ terhinȱ werdenȱ beiȱ einemȱ zuverlässigenȱ Datentransferȱ Duplikateȱ vermieden.ȱ Einȱ zuverlässigerȱ Datentransferȱ erfordertȱ daherȱ geeigneteȱ Protokollmechanismenȱ zurȱ Fehlererkennungȱ undȱ Fehlerbehebung,ȱ einȱ EmpfängerȬFeedbackȱ (Bestätigungen),ȱ eineȱ Möglichkeitȱderȱ Neuübertragungȱvonȱ Datenȱ sowieȱ eineȱ geeigneteȱ FlusskontȬ rolle.ȱ Quittierungsverfahren Wasȱ dasȱ Transportprotokollȱ tatsächlichȱ leistenȱ muss,ȱ umȱ Zuverlässigkeitȱ zuȱ geȬ währleisten,ȱ hängtȱ vomȱ Dienstȱ derȱ Schichtȱ 3ȱ ab.ȱ Beiȱ einemȱ absolutȱ zuverlässigenȱ KanalȱderȱSchichtȱ3ȱmussȱdieȱSchichtȱ4ȱnatürlichȱwenigerȱtunȱalsȱbeiȱverlustbehafteȬ tenȱKanälen.ȱ
189ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Umȱsicherȱzuȱsein,ȱdassȱNachrichtenȱinȱeinemȱverlustbehaftetenȱKanalȱrichtigȱanȬ kommen,ȱsindȱQuittierungsverfahrenȱerforderlich.ȱHierȱgibtȱesȱgravierendeȱUnterȬ schiedeȱhinsichtlichȱderȱLeistung.ȱEinfacheȱVerfahrenȱquittierenȱjedeȱDataȬPDUȱmitȱ einerȱ ACKȬPDUȱ (Acknowledge),ȱ wasȱ natürlichȱ nichtȱ sehrȱ leistungsfähigȱ ist.ȱ Derȱ Senderȱ mussȱ beiȱ diesemȱ StopȬandȬWaitȬProtokollȱ immerȱ warten,ȱ bisȱ eineȱ BestätiȬ gungȱeintrifft,ȱbevorȱerȱweitereȱDataȬPDUsȱsendenȱkann.ȱAufwändigereȱVerfahrenȱ ermöglichenȱ dasȱ Sendenȱ mehrererȱ Datenȱ undȱ sammelnȱ dieȱ Bestätigungenȱ ggf.ȱ kumuliertȱein.ȱHierȱsprichtȱmanȱauchȱvonȱPipelining.ȱȱ T-Instanz A Daten-PDU senden Warten auf ACK! ... Erst hier kann wieder gesendet werden Timer würde hier ablaufen
T-Instanz B Data.Request (D ata)
Daten erhalten, bestätigen
Data.Response (ACK)
Data.Request (D ata)
Daten erhalten, bestätigen
Data.Response (ACK)
ȱ Abbildungȱ5Ȭ11:ȱPositivȬselektivesȱQuittungsverfahrenȱ
ManȱunterscheidetȱbeiȱQuittungsverfahren:ȱ – PositivȬselektivesȱ Quittierungsverfahrenȱ wieȱ dasȱ StopȬandȬWaitȬProtokoll:ȱ HierȱwirdȱvomȱEmpfängerȱeineȱQuittungȱ(ACK)ȱproȱempfangenerȱNachrichtȱ gesendet.ȱ Diesȱ hatȱ einenȱ hohenȱ zusätzlichenȱ Nachrichtenverkehrȱ zurȱ ge.ȱAbbildungȱ5Ȭ11ȱzeigtȱdiesesȱVerfahren.ȱ – PositivȬkumulativesȱ Quittierungsverfahren:ȱ Eineȱ Quittungȱ wirdȱ fürȱ mehrereȱ Nachrichtenȱverwendet.ȱDieseȱReduzierungȱderȱNetzlastȱhatȱaberȱdenȱNachȬ teil,ȱdassȱInformationȱüberȱeinenȱDatenverlustȱverspätetȱanȱdenȱSenderȱüberȬ tragenȱwird.ȱ – NegativȬselektivesȱQuittierungsverfahren:ȱȱEsȱwerdenȱvomȱEmpfängerȱnurȱseȬ lektivȱnichtȱempfangene,ȱalsoȱverlorengegangene,ȱȱNachrichtenȱerneutȱvomȱ Senderȱ angefordert.ȱ Alleȱ Nachrichten,ȱ beiȱ denenȱ keineȱ Nachfrageȱ kommt,ȱ geltenȱbeimȱSenderȱalsȱangekommen.ȱȱDiesesȱVerfahrenȱreduziertȱdieȱNetzȬ lastȱweiter.ȱEinȱVerlustȱvonȱnegativenȱQuittungenȱ(NachfragenȱdesȱEmpfänȬ gers)ȱistȱjedochȱmöglichȱundȱmussȱbehandeltȱwerden.ȱ – Eineȱ KombinationȱderȱVerfahren:ȱ InȱHochleistungsnetzenȱ verwendetȱ manȱz.B.ȱ dasȱpositivȱkumulativeȱkombiniertȱmitȱdemȱnegativȱselektivenȱVerfahren.ȱ Dasȱ positivȬkumulativeȱ Verfahrenȱ istȱ inȱ Abbildungȱ 5Ȭ12ȱ angedeutet.ȱ Imȱ Szenarioȱ werdenȱvonȱInstanzȱAȱzweiȱNachrichtenȱgesendetȱundȱdurchȱInstanzȱBȱgemeinsamȱ
190ȱ
5.1ȱȱGrundlagenȱ bestätigt.ȱInstanzȱAȱmussȱinȱdiesemȱFallȱnichtȱnachȱjederȱNachrichtȱaufȱeineȱBestäȬ tigungȱwarten.ȱ T-Instanz A
T-Instanz B
Daten-PDU 1 senden
Data.Request (D ata1)
Daten-PDU 2 senden, Kein Warten auf ACK 1
Daten erhalten
Data.Request (D ata2)
Daten erhalten
Daten 1 + 2 bestätigen
Data.Response (ACK 1+2) ...
ȱ Abbildungȱ5Ȭ12:ȱPositivȬkumulativesȱQuittungsverfahrenȱ
InȱAbbildungȱ5Ȭ13ȱwirdȱeinȱBeispielȱfürȱeineȱnegativȬselektiveȱQuittungȱdargestellt.ȱ Dieȱ2.ȱNachrichtȱkommtȱbeiȱInstanzȱBȱnichtȱanȱundȱwirdȱbeiȱEintreffenȱderȱNachȬ richtȱ 3ȱ nochmalsȱ angefordert.ȱ Fallsȱ dieȱ NAKȬNachrichtȱ (NotȬAcknowledge)ȱ nichtȱ beimȱ Senderȱ ankommt,ȱ weißȱ dieserȱ vomȱ Verschwindenȱ derȱ Nachrichtȱ 2ȱ nichts.ȱ Daherȱ mussȱ dieȱ Instanzȱ Bȱ durchȱ Zeitüberwachungȱ dafürȱ sorgen,ȱ dassȱ dieȱ NAKȬ Nachrichtȱerneutȱgesendetȱwird.ȱ T-Instanz A Daten-PDU 1 senden
T-Instanz B Data.Request (D ata1)
Daten-PDU 2 senden
Data.Request (D ata2) Kommt nicht an!
Daten-PDU 3 senden
Data.Request (D ata3)
Data.Response (NAK 2) Daten-PDU 2 erneut senden
Daten erhalten
Nachricht 3 erhalten, Nachricht 2 wird angefordert Timerüberwachung notwendig!
...
ȱ
Abbildungȱ5Ȭ13:ȱNegativȬselektivesȱQuittungsverfahrenȱ
Übertragungswiederholung Verlorengegangeneȱ Nachrichtenȱ müssenȱ erneutȱ übertragenȱ werden.ȱ Diesenȱ VorȬ gangȱ nenntȱ manȱ Übertragungswiederholung.ȱ Dieȱ positivenȱ Quittierungsverfahrenȱ benötigenȱfürȱjedeȱgesendeteȱPDUȱeineȱTimerüberwachung,ȱdamitȱnichtȱendlosȱaufȱ
191ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ eineȱACKȬPDUȱgewartetȱwird.ȱDieȱÜbertragungswiederholungȱistȱdabeiȱaufȱzweiȱ Artenȱ üblich.ȱ Entwederȱ manȱ verwendetȱ eineȱ selektiveȱ Wiederholungȱ oderȱ einȱ GoȬ BackȬNȬVerfahren:ȱ – Beimȱ selektivenȱ Verfahrenȱ werdenȱ nurȱ dieȱ negativȱ quittiertenȱ Nachrichtenȱ wiederholt.ȱ Derȱ Empfängerȱ puffertȱ dieȱ nachfolgendenȱ Nachrichten,ȱ bisȱ dieȱ fehlendeȱdaȱist.ȱErstȱwennȱdiesȱderȱFallȱist,ȱwerdenȱdieȱDatenȱamȱTȬSAPȱnachȱ obenȱzurȱnächstenȱSchichtȱweitergereicht.ȱNachteiligȱistȱdabei,ȱdassȱeineȱhoȬ heȱPufferkapazitätȱbeimȱEmpfängerȱerforderlichȱist.ȱVonȱVorteilȱist,ȱdassȱdieȱ reguläreȱÜbertragungȱwährendȱderȱWiederholungȱfortgesetztȱwerdenȱkann.ȱ – Beimȱ GoȬBackȬNȬVerfahrenȱ werdenȱ dieȱ fehlerhafteȱ Nachrichtȱ sowieȱ alleȱ nachfolgendenȱ Nachrichtenȱ erneutȱ übertragen.ȱ Nachteiligȱ istȱ hier,ȱ dassȱ dieȱ reguläreȱ Übertragungȱ unterbrochenȱ wird.ȱ Vonȱ Vorteilȱ ist,ȱ dassȱ beimȱ EmpȬ fängerȱnurȱgeringeȱSpeicherkapazitätȱerforderlichȱist.ȱ SenderȱundȱEmpfängerȱmüssenȱsichȱüberȱdasȱverwendeteȱVerfahrenȱeinigȱsein.ȱDieȱ genaueȱVorgehensweiseȱistȱalsoȱinȱderȱProtokollspezifikationȱfestzulegen.ȱ FürȱbeideȱVerfahrenȱgiltȱgenerell,ȱdassȱderȱSenderȱNachrichtenȱüberȱeinenȱgewisȬ senȱZeitraumȱzurȱÜbertragungswiederholungȱbereithaltenȱmuss.ȱEsȱkannȱjaȱjederȬ zeitȱ vorkommen,ȱ dassȱ eineȱ Nachrichtȱ erneutȱ angefordertȱ wird.ȱ Beimȱ StopȬandȬ WaitȬVerfahrenȱistȱdiesȱrelativȱeinfach.ȱDerȱSenderȱmussȱnurȱeineȱNachrichtȱspeiȬ chernȱundȱkannȱsieȱbeiȱEmpfangȱderȱACKȬPDUȱverwerfen.ȱSchwierigerȱistȱesȱbeimȱ positivȬkumulativenȱ undȱ beimȱ negativȬselektivenȱ Verfahren.ȱ Beimȱ negativȬ selektivenȱVerfahrenȱistȱesȱfürȱdenȱSenderȱproblematischȱfestzustellen,ȱwannȱeineȱ gesendeteȱ Nachrichtȱ ausȱ demȱ Pufferȱ eliminiertȱ werdenȱ kann.ȱ Derȱ Senderȱ weißȱ jaȱ nieȱ genau,ȱ obȱ dieȱ Nachrichtenȱ beimȱ Empfängerȱ angekommenȱ sindȱ oderȱ nicht.ȱ DeshalbȱwirdȱdiesesȱVerfahrenȱinȱseinerȱreinenȱFormȱauchȱseltenȱverwendet.ȱ InȱAbbildungȱ5Ȭ14ȱistȱeinȱGoȬBackȬNȬVerfahrenȱskizziert,ȱwobeiȱeineȱselektiv,ȱnegaȬ tiveȱQuittierungȱ(EmpfängerȱmeldetȱaktivȱfehlendeȱPDUs)ȱangenommenȱwird.ȱDieȱ DataȬPDUȱmitȱNummerȱ2ȱwirdȱvonȱInstanzȱBȱangemahnt.ȱDaraufhinȱwerdenȱvonȱ Instanzȱ Aȱ dieȱ DataȬPDUsȱ mitȱ derȱ Nummerȱ 2ȱ undȱ dieȱ ebenfallsȱ bereitsȱ gesendeteȱ (aberȱangekommene)ȱPDUȱmitȱFolgenummerȱ3ȱerneutȱgesendet.ȱȱ DieȱNetzbelastungȱistȱinȱlangsamenȱNetzenȱrelativȱgering.ȱAndersȱdagegenȱistȱdiesȱ inȱ Netzenȱ mitȱ hoherȱ Pfadkapazität,ȱ daȱ beiȱ entsprechenderȱ Fenstergrößeȱ (sieheȱ Flusskontrolle)ȱ vieleȱ PDUsȱ gesendetȱ werdenȱ können,ȱ bevorȱ dieȱ ersteȱ NegativȬ QuittungȱbeimȱSenderȱeintrifft.ȱDiesȱführtȱdannȱggf.ȱzurȱunnötigenȱÜbertragungsȬ wiederholungȱvielerȱPDUs.ȱȱ ȱ
192ȱ
5.1ȱȱGrundlagenȱ T-Instanz A
Nachrichten senden
T-Instanz B Data.Request (D ata1) Data.Request (D ata2) Data.Request (D Kommt nicht an! ata3)
NAK (Data2) Ab Data 2 alles noch mal senden
Nachricht 2 fehlt!
Data.Request (D ata2) Data.Request (D ata3)
ȱ Abbildungȱ5Ȭ14:ȱNegativȬselektiveȱQuittungȱundȱGoȬBackȬNȬVerfahrenȱ
Abschließendȱsollȱnochȱerwähntȱwerden,ȱdassȱeinȱzuverlässigerȱDatentransferȱnochȱ keineȱ Verarbeitungssicherheitȱ undȱ schonȱ garȱ keineȱ Transaktionssicherheit,ȱ geȬ währleistet.ȱZuverlässigerȱ Datentransferȱ bedeutetȱ „lediglich“,ȱdassȱ dieȱ vonȱ einemȱ Sendeprozessȱ abgesendetenȱ Nachrichtenȱ beiȱ derȱ TȬInstanzȱ desȱ Empfängersȱ anȬ kommen,ȱalsoȱdortȱinȱdenȱEmpfangspufferȱeingetragenȱwerden.ȱObȱsieȱvomȱEmpȬ fängerprozessȱ abgearbeitetȱ werdenȱ oderȱ garȱ zuȱ denȱ gewünschtenȱ DatenbankzuȬ griffenȱführen,ȱistȱnichtȱgesichert.ȱHierfürȱwerdenȱhöhereȱProtokolle,ȱsog.ȱTransakȬ tionsprotokolleȱbenötigt,ȱdieȱinȱderȱAnwendungsschichtȱplatziertȱundȱnochȱkompȬ lexerȱ alsȱ Transportprotokolleȱ sind.ȱ Manȱ findetȱ Realisierungenȱ vonȱ TransaktionsȬ protokollenȱinȱheutigenȱDatenbankmanagementsystemen.ȱ
5.1.4
Flusskontrolle
UnterȱFlusskontrolleȱverstehtȱmanȱinȱderȱSchichtȱ4ȱinȱetwaȱdasȱGleicheȱwieȱinȱderȱ Schichtȱ 2,ȱ mitȱ demȱ Unterschied,ȱ dassȱ manȱ inȱ derȱ Schichtȱ 4ȱ eineȱ EndeȬzuȬEndeȬ Verbindungȱggf.ȱüberȱeinȱȱkomplexesȱNetzwerkȱverwaltet,ȱwährendȱdieȱSchichtȱ2ȱ eineȱEndeȬzuȬEndeȬVerbindungȱzwischenȱzweiȱRechnersystemenȱunterstützt.ȱLetzȬ teresȱistȱwesentlichȱeinfacherȱinȱdenȱGriffȱzuȱbekommen.ȱ DurchȱdieȱSteuerungȱdesȱDatenflussesȱsollȱeineȱÜberlastungȱdesȱEmpfängersȱverȬ miedenȱwerden.ȱTraditionelleȱFlusskontrollȬVerfahrenȱsind:ȱ – StopȬandȬWaitȬVerfahren:ȱȱDiesȱistȱdasȱeinfachsteȱVerfahren,ȱwobeiȱeineȱKoppȬ lungȱ vonȱ FlussȬȱ undȱ Fehlerkontrolleȱ durchgeführtȱ wird.ȱ Dieȱ nächsteȱ NachȬ richtȱwirdȱerstȱnachȱeinerȱerfolgreichenȱQuittierungȱgesendetȱ(Fenstergrößeȱ1).ȱȱ – Fensterbasierteȱ Flusskontrolleȱ (SlidingȬWindowȬVerfahren):ȱ Derȱ Empfängerȱ vergibtȱeinenȱsog.ȱSendekredit,ȱalsoȱeineȱmax.ȱMengeȱanȱNachrichtenȱoderȱByȬ te,ȱdieȱunquittiertȱanȱihnȱgesendetȱwerdenȱdürfen.ȱDerȱSendekreditȱreduziertȱ
193ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ sichȱbeiȱjedemȱSenden.ȱDerȱEmpfängerȱkannȱdenȱSendekreditȱdurchȱpositiveȱ Quittungenȱerhöhen.ȱDerȱVorteilȱdiesesȱVerfahrensȱist,ȱdassȱeinȱkontinuierliȬ cherȱDatenflussȱundȱhöhererȱDurchsatzȱalsȱbeiȱStopȬandȬWaitȱmöglichȱist.ȱ FürȱdieȱfensterbasierteȱFlusskontrolleȱwerdenȱinȱdenȱTransportinstanzenȱfürȱjedenȱ Kommunikationspartnerȱ vierȱ FolgennummernȬIntervalleȱ verwaltet,ȱ dieȱ grobȱ inȱAbbildungȱ5Ȭ15ȱdargestelltȱsind:ȱ – Dasȱ linkeȱ Intervallȱ sindȱ Folgenummern,ȱ dieȱ gesendetȱ undȱ vomȱ Empfängerȱ bereitsȱbestätigtȱwurden.ȱ – Dasȱ zweiteȱ Intervallȱ vonȱ linksȱ stelltȱ alleȱ Folgenummernȱ dar,ȱ dieȱ gesendet,ȱ aberȱvomȱEmpfängerȱnochȱnichtȱbestätigtȱwurden.ȱDerȱZeigerȱbaseȱverweistȱ aufȱdenȱAnfangȱdiesesȱIntervalls.ȱ – DasȱnächsteȱIntervallȱgibtȱalleȱFolgenummernȱan,ȱdieȱnochȱverwendetȱwerȬ denȱ dürfen,ȱ ohneȱ dassȱ eineȱ weitereȱ Bestätigungȱ vomȱ Empfängerȱ eintrifft.ȱ DerȱZeigerȱnextseqnumȱzeigtȱaufȱdenȱAnfangȱdesȱIntervalls.ȱ – DasȱvierteȱIntervallȱzeigtȱdieȱFolgenummern,ȱdieȱnochȱnichtȱverwendetȱwerȬ denȱdürfen.ȱ base
bereits bestätigt
nextseqnum
gesendet, aber noch nicht bestätigt
verwendbar, noch nicht gesendet
Fenstergröße N
nicht verwendbar
ȱ
Abbildungȱ5Ȭ15:ȱIntervallverwaltungȱfürȱdieȱfensterbasierteȱFlusskontrolleȱnachȱ(Kuroseȱ 2002)ȱ
Dieȱ beidenȱ innerenȱ Intervalleȱ bildenȱ zusammenȱ dasȱ aktuelleȱ Fenster,ȱ gebenȱ alsoȱ denȱverfügbarenȱSendekreditȱan.ȱTrifftȱnunȱeineȱBestätigungȱdesȱEmpfängersȱein,ȱ wandertȱ dasȱ Fensterȱ umȱ dieȱ Anzahlȱ derȱ bestätigtenȱ Folgenummernȱ nachȱ rechts,ȱ d.h.ȱ derȱ Zeigerȱ baseȱ wirdȱ nachȱ rechtsȱ verschoben.ȱ Gleichzeitigȱ wirdȱ eineȱ entspreȬ chendeȱAnzahlȱanȱFolgenummernȱausȱdenȱbisherȱnichtȱverwendbarenȱFolgenumȬ mernȱ demȱ drittenȱ Intervallȱ zugeordnet.ȱ Derȱ Zeigerȱ nextseqnumȱ wirdȱ nichtȱ veränȬ dert.ȱ Erstȱ wennȱ wiederȱ Nachrichtenȱ gesendetȱ werden,ȱ wirdȱ dieserȱ entsprechendȱ derȱAnzahlȱanȱbenutztenȱFolgenummernȱnachȱrechtsȱverschoben.ȱ Dieȱ Größeȱ desȱ Sendekreditsȱ istȱ entscheidendȱ fürȱ dieȱ Leistungȱ desȱ Protokolls.ȱ Zuȱ großeȱ Krediteȱ gewährleistenȱ keinenȱ richtigenȱ Schutzȱ derȱ Ressourcenȱ beimȱ EmpȬ fänger.ȱ Eineȱ zuȱ starkeȱ Limitierungȱ führtȱ zuȱ schlechtererȱ Leistung.ȱ Dieȱ Größeȱ desȱ
194ȱ
5.1ȱȱGrundlagenȱ SendekreditsȱhängtȱauchȱvonȱderȱPfadkapazitätȱab,ȱalsoȱdavon,ȱwieȱvieleȱPaketeȱimȱ Netzwerkȱgespeichertȱwerdenȱkönnen.ȱ Inȱ Abbildungȱ 5Ȭ16ȱ istȱ einȱ Beispielȱ fürȱ eineȱ fensterbasierteȱ Flusskontrolleȱ inȱ einemȱ NetzȱmitȱniedrigerȱPfadkapazitätȱgezeigt.ȱDerȱanfänglichȱbereitgestellteȱSendekreȬ ditȱwirdȱimmerȱwiederȱschnellȱgenugȱdurchȱdenȱEmpfängerȱbestätigt,ȱsoȱdassȱesȱzuȱ keinenȱWartezeitenȱimȱSenderȱkommt.ȱ BeiȱNetzwerkenȱmitȱhoherȱPfadkapazitätȱführenȱkleineȱSendekrediteȱhäufigȱdazu,ȱ dassȱderȱSenderȱdurchȱdasȱWartenȱaufȱKreditbestätigungenȱblockiertȱwird.ȱDiesȱistȱ inȱ Abbildungȱ 5Ȭ17ȱ skizziert.ȱ Beiȱ einemȱ Sendekreditȱ vonȱ dreiȱ entstehenȱ beträchtliȬ cheȱWartezeitenȱimȱSenderȱundȱauchȱimȱEmpfänger.ȱDieȱInstanzȱAȱhatȱbeiȱkleinenȱ Kreditenȱ häufigȱ keinenȱ Sendekredit,ȱ istȱ wiederȱ einerȱ da,ȱ entstehenȱ BurstȬ Übertragungenȱ(ÜbertragungȱvonȱgroßenȱMengen)ȱinȱFenstergröße. T-Instanz A 0
T-Instanz B Data.Reque st(Data0)
CREDIT=3) Data.Response(ACK=1,
1
2
Data.Reque st(Data1)
Data.Reque st(Data2)
CREDIT=3) Data.Response(ACK=3,
3
ACK=1, CREDIT=3
ACK=3, CREDIT=3
Data.Reque st(Data3)
CREDIT=3) Data.Response(ACK=4,
ACK=4, CREDIT=3
Anfänglicher Sendekredit ist 3 Kumulative Quittierung Kontinuierliches Senden von Daten möglich, da immer Sendekredit verfügbar ist
ȱ
Abbildungȱ5Ȭ16:ȱFensterbasierteȱFlusskontrolleȱbeiȱgeringerȱPfadkapazitätȱnachȱ(ZitterȬ bartȱ1996)ȱ
195ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ T-Instanz A 0 1 2
T-Instanz B
Data.Request (Data 0) Data.Request (Data 1) Data.Request (Data2)
ACK=1, CREDIT=3 ACK=2, CREDIT=3 ACK=3, CREDIT=3
Wartezeit im Sender
3
Data.Request (Data 3)
Wartezeit im Empfänger
4 5 Anfänglicher Sendekredit = 3 Hohe Pfadkapazität Wartezeiten im Sender und im Empfänger
ȱ
Abbildungȱ5Ȭ17:ȱFensterbasierteȱFlusskontrolleȱbeiȱhoherȱPfadkapazitätȱnachȱ(Zitterbartȱ 1996)ȱ
5.1.5
Staukontrolle
DurchȱStaukontrolleȱ(CongestionȱControl)ȱsollenȱVerstopfungenȱbzw.ȱÜberlastunȬ genȱ imȱ Netzȱ vermiedenȱ werden.ȱ Maßnahmenȱ zurȱ Staukontrolleȱ könnenȱ inȱ denȱ Schichtenȱ2ȱbisȱ4ȱdurchgeführtȱwerdenȱundȱbeziehenȱsichȱinȱderȱSchichtȱ4ȱüberwieȬ gendȱaufȱdieȱEndeȬzuȬEndeȬSteuerungȱzwischenȱEndsystemen.ȱȱ Staukontrolleȱ istȱ einȱ Mechanismusȱ mitȱ netzglobalenȱ Auswirkungen.ȱ Einigeȱ NetzȬ werkprotokolleȱ(wieȱATMȱABR)ȱliefernȱamȱNȬSAPȱgewisseȱInformationen,ȱandereȱ (wieȱdasȱInternetȬProtokoll)ȱnicht.ȱȱ InȱderȱTransportschichtȱhatȱmanȱdieȱMöglichkeit,ȱausȱSichtȱeinerȱbestimmtenȱEndeȬ zuȬEndeȬVerbindungȱ Maßnahmenȱ zuȱ ergreifen,ȱ wennȱ einȱ Engpassȱ erkanntȱ wird.ȱ EineȱtypischeȱMaßnahmeȱistȱdieȱDrosselungȱdesȱDatenverkehrsȱdurchȱZurückhalȬ tenȱvonȱPaketen.ȱ BeiȱderȱBehandlungȱdesȱTransportprotokollsȱTCPȱwirdȱaufȱdasȱThemaȱStaukontrolȬ leȱamȱkonkretenȱProtokollbeispielȱeingegangen.ȱ
5.1.6
Multiplexierung und Demultiplexierung
InȱvielenȱFällenȱwerdenȱvonȱeinemȱHostȱzuȱeinemȱanderenȱmehrereȱTransportverȬ bindungenȱfürȱeineȱoderȱsogarȱmehrereȱAnwendungenȱbenötigt.ȱAufȱderȱSchichtȱ3ȱ genügtȱaberȱeineȱNetzwerkverbindung,ȱumȱalleȱTransportverbindungenȱzuȱbedieȬ nen.ȱ
196ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ Umȱ NȬVerbindungenȱ besserȱ zuȱ nutzen,ȱ kannȱ dieȱ Transportschichtȱ eineȱ NȬ Verbindungȱ fürȱ mehrereȱ Transportverbindungenȱ verwenden.ȱ Diesenȱ MechanisȬ musȱnenntȱmanȱMultiplexierenȱoderȱMultiplexenȱȱbzw.ȱdenȱumgekehrtenȱVorgangȱ Demultiplexierenȱbzw.ȱDemultiplexen.ȱ DieȱTȬInstanzȱhatȱdieȱAufgabe,ȱdenȱVerkehr,ȱderȱüberȱverschiedeneȱTȬSAPsȱläuft,ȱ anȱ einenȱ NȬSAPȱ zuȱ leiten.ȱ Umgekehrtȱ werdenȱ ankommendeȱ Pakete,ȱ welcheȱ dieȱ Schichtȱ 3ȱ anȱ dieȱ Schichtȱ 4ȱ weiterleitet,ȱ entsprechendȱ denȱ einzelnenȱ TȬSAPsȱ zuȬ geordnet.ȱDiesȱgeschiehtȱmitȱHilfeȱderȱAdressȬInformation.ȱȱ
5.1.7
Fragmentierung/Segmentierung und Defragmentierung
EineȱTȬSDU,ȱdieȱanȱeinemȱTȬSAPȱübergebenȱwird,ȱhatȱüblicherweiseȱeineȱbeliebigeȱ Länge.ȱEineȱTȬPDUȱhatȱaberȱoftȱnurȱeineȱbestimmteȱMaximallänge,ȱauchȱMSSȱ(MaȬ ximumȱ Segmentȱ Size)ȱ genannt.ȱ ȱ Inȱ diesemȱ Fallȱ mussȱ dieȱ TȬInstanzȱ zuȱ großeȱ TȬ SDUsȱ inȱ mehrereȱ Segmenteȱ zerstückelnȱ undȱ einzelnȱ übertragen.ȱ Diesenȱ Vorgangȱ nenntȱmanȱFragmentierungȱoderȱinȱderȱSchichtȱ4ȱauchȱSegmentierung.ȱȱ Beimȱ Empfängerȱ ankommendeȱ Segmente,ȱ welcheȱ dieȱ NȬInstanzȱ einerȱ TȬInstanzȱ liefert,ȱ müssenȱ entsprechendȱ wiederȱ zusammengebautȱ werden,ȱ umȱ eineȱ vollstänȬ digeȱTȬSDUȱzuȱerhaltenȱundȱnachȱobenȱweiterreichenȱzuȱkönnen.ȱȱDiesenȱVorgangȱ nenntȱ manȱ Defragmentierungȱ oderȱ Reassemblierung.ȱ Zuverlässigeȱ TransportproȬ tokolleȱstellenȱsicher,ȱdassȱauchȱkeineȱFragmenteȱverlorenȱgehen.ȱEineȱSchichtȱtieȬ ferȱkannȱderȱgleicheȱMechanismusȱübrigensȱnochmalsȱangewendetȱwerden.ȱȱ ZurȱOptimierungȱversuchenȱleistungsfähigeȱProtokolleȱjedoch,ȱdieȱFragmentierungȱ inȱGrenzenȱzuȱhalten,ȱdaȱmitȱdiesemȱMechanismusȱvielȱOverheadȱverursachtȱwird.ȱ
5.2 Transmission Control Protocol (TCP) 5.2.1
Einordnung und Aufgaben
TCPȱ istȱ einȱ Transportprotokollȱ undȱ gibtȱ derȱ TCP/IPȬProtokollfamilieȱ seinenȱ NaȬ men.ȱ Esȱ ermöglichtȱ eineȱ EndeȬzuȬEndeȬBeziehungȱ zwischenȱ kommunizierendenȱ Anwendungsinstanzen.ȱTCPȱistȱsehrȱweitȱverbreitetȱundȱalsȱIndustrienormȱakzepȬ tiert.ȱEsȱistȱeinȱoffenes,ȱfreiȱverfügbaresȱProtokollȱundȱdamitȱnichtȱanȱeinenȱHerstelȬ lerȱgebunden.ȱNebenȱUDPȱistȱTCPȱdasȱTransportprotokollȱimȱInternet,ȱaufȱdasȱdieȱ meistenȱAnwendungenȱbasieren.ȱ AlsȱTransportzugriffsschnittstelleȱdientȱdieȱSocketȬSchnittstelle.ȱEinȱTȬSAPȱwirdȱinȱ TCPȱdurchȱeinenȱPortȱmitȱeinerȱPortnummerȱidentifiziert.ȱEinȱAnwendungsprozessȱ benötigtȱ alsoȱ einenȱ lokalenȱ TCPȬPortȱ undȱ kommuniziertȱ überȱ diesenȱ mitȱ einemȱ anderenȱ Anwendungsprozess,ȱ derȱ ebenfallsȱ überȱ einenȱ TCPȬPortȱ adressierbarȱ ist.ȱ WieȱinȱAbbildungȱ5Ȭ18ȱgezeigt,ȱkannȱeinȱAnwendungsprozessȱdurchausȱmitȱmehȬ rerenȱ anderenȱ Anwendungsprozessenȱ überȱ denȱ gleichenȱ oderȱ überȱ verschiedeneȱ Portsȱkommunizieren.ȱ
197ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ TCPȱ istȱ einȱ verbindungsorientiertes,ȱ zuverlässigesȱProtokoll.ȱ DieȱProtokollmechaȬ nismenȱ vonȱTCPȱ werdenȱinȱ diesemȱ Abschnittȱ beschrieben.ȱ Grobȱgesagtȱ kümmertȱ sichȱ TCPȱ umȱ dieȱ Erzeugungȱ undȱ Erhaltungȱ einerȱ gesichertenȱ EndeȬzuȬEndeȬ Verbindungȱ zwischenȱ zweiȱ Anwendungsprozessenȱ aufȱ Basisȱ vonȱ IP.ȱ TCPȱ garanȬ tiertȱweiterhinȱdieȱReihenfolgeȱderȱNachrichten,ȱundȱdieȱvollständigeȱAuslieferung,ȱ übernimmtȱ dieȱ FlussȬȱ undȱ Staukontrolleȱ undȱ kümmertȱ sichȱ umȱ dieȱ MultiplexieȬ rungȱsowieȱdieȱSegmentierung.ȱ TCPȱstelltȱalsoȱsicher,ȱdassȱDatenȱ – – – –
nichtȱverändertȱwerden,ȱ nichtȱverlorenȱgehen,ȱ nichtȱdupliziertȱwerdenȱundȱȱ inȱderȱrichtigenȱReihenfolgeȱeintreffen.ȱ
TCPȱ ermöglichtȱ dieȱ Kommunikationȱ überȱ vollduplexȬfähige,ȱ bidirektionaleȱ virtuelleȱ Verbindungenȱ zwischenȱ Anwendungsprozessen.ȱ Dasȱ bedeutet,ȱ beideȱ KommuniȬ kationspartnerȱkönnenȱzuȱbeliebigenȱZeitenȱNachrichtenȱsenden,ȱauchȱgleichzeitig.ȱȱ Wichtigȱ istȱ auch,ȱ dassȱ TCPȱ amȱ TȬSAPȱ eineȱ StromȬorientierteȱ Kommunikationȱ (Stream)ȱimȱUnterschiedȱzurȱblockorientiertenȱÜbertragungȱ(sieheȱOSIȱTP4)ȱunterȬ stützt.ȱ Datenȱ werdenȱ alsoȱ vonȱ einemȱ Anwendungsprozessȱ Byteȱ fürȱ Byteȱ inȱ einenȱ Bytestromȱ geschrieben.ȱ Dieȱ TCPȬInstanzȱ kümmertȱ sichȱ umȱ denȱ Aufbauȱ vonȱ SegȬ menten,ȱdieȱübertragenȱwerden.ȱDiesȱbleibtȱfürȱAnwendungsprozesseȱtransparent.ȱ AndereȱTransportdiensteȱerwartenȱihreȱDatenȱinȱfestenȱBlöcken.ȱȱ MaßnahmenȱzurȱSicherungȱderȱÜbertragungȱsindȱdieȱNutzungȱvonȱPrüfsummen,ȱ Bestätigungen,ȱ Zeitüberwachungsmechanismenȱ mitȱverschiedenenȱ Timern,ȱNachȬ richtenwiederholung,ȱSequenznummernȱfürȱdieȱReihenfolgeüberwachungȱundȱdasȱ SlidingȬWindowsȬPrinzipȱzurȱFlusskontrolle.ȱ Host 1
Host 2
Host 3
Userprozess
Userprozess
Serverprozess
Adressierbar über Port
Schicht 4
...
...
...
TCP ermöglicht eine Ende-zu-Ende Beziehung zwischen kommunizierenden Anwendungsinstanzen (Anwendungsprozessen)
ȱ Abbildungȱ5Ȭ18:ȱEndeȬzuȬEndeȬBeziehungȱinȱTCPȱȱ
198ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ TCPȱnutztȱprinzipiellȱfolgendeȱProtokollmechanismen:ȱ – DreiȬWegeȬHandshakeȬVerbindungsaufȬȱundȱ–abbau.ȱ – Positives,ȱ kumulativesȱ Bestätigungsverfahrenȱ mitȱ Timerüberwachungȱ fürȱ jedeȱNachricht.ȱ – Implizitesȱ negativesȱ Bestätigungsverfahrenȱ (NAKȬMechanismus):ȱ Beiȱ dreiȱ ankommendenȱ DuplikatȬACKȬPDUsȱ wirdȱ beimȱ Senderȱ dasȱ Fehlenȱ desȱ folȬ gendenȱ Segmentsȱ angenommen.ȱ Einȱ sog.ȱ FastȬRetransmitȬMechanismusȱ führtȱzurȱNeuübertragungȱdesȱSegments,ȱbevorȱderȱTimerȱabläuft.ȱ – GoȬBackȬNȱzurȱÜbertragungswiederholung.ȱ – FlussȬȱundȱStaukontrolle.ȱ
5.2.2
TCP-Header
TCPȱsiehtȱdenȱDatenstromȱ(Stream)ȱalsȱeineȱSequenzȱvonȱOctetsȱ(Byte)ȱundȱunterȬ teiltȱdieseȱzurȱÜbertragungȱinȱSegmente.ȱEinȱSegmentȱbestehtȱausȱeinemȱmind.ȱ20ȱ ByteȱlangenȱTCPȬHeader.ȱȱ DieȱBegrenzungȱderȱSegmentlängeȱfürȱjedeȱTeilsteckeȱistȱaberȱdurchȱdieȱMTUȱ(MaȬ ximumȱTransferȱUnit)ȱfürȱjedeȱTeilstreckeȱeinesȱNetzesȱgegeben.ȱInȱAbbildungȱ5Ȭ19ȱ istȱdargestellt,ȱdassȱinȱderȱTCPȬSchichtȱSegmenteȱausgetauschtȱwerden,ȱinȱderȱIPȬ Schichtȱsog.ȱIPȬFragmente.ȱ Host 1 Userprozess
Host 2
TCP-Segmente
Serverprozess
4 3 2 IP-Fragmente 1 Bits zwischen den einzelnen Teilstrecken Byte-Strom wird in TCP-Segmente gepackt Achtung: TCP-Segmentierung != IP-Fragmentierung
ȱ
Abbildungȱ5Ȭ19:ȱTCPȬSegmenteȱfürȱdenȱDatenaustauschȱ
DerȱinȱderȱRegelȱ20ȱByteȱlangeȱTCPȬHeaderȱ(TȬPCI)ȱenthältȱdieȱgesamteȱSteuerinȬ formation,ȱ dieȱ TCPȱ fürȱ denȱ Verbindungsaufbau,ȱ denȱ zuverlässigenȱ Datentransferȱ undȱ denȱ Verbindungsabbauȱ benötigt.ȱ Dazuȱ könnenȱ nochȱ wahlweiseȱ bestimmteȱ
199ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Optionenȱkommen,ȱwasȱdazuȱführt,ȱdassȱderȱHeaderȱauchȱlängerȱalsȱ20ȱByteȱseinȱ undȱdamitȱauchȱeineȱvariableȱLängeȱaufweisenȱkann.ȱȱImȱAnschlussȱanȱdenȱHeaderȱ werdenȱbeiȱTCPȬDataȬPDUsȱdieȱDatenȱübertragen.ȱAbbildungȱ5Ȭ20ȱ zeigtȱdenȱTCPȬ Header.ȱ 32 Bit
Quellport
Zielport Folgenummer
Bestätigungsnummer Offset Res.
Flags
Zeitfenstergröße
Prüfsumme
Urgent-Zeiger
Optionen (0 oder mehrere 32-Bit-Wörter)
Padding
Daten (optional) ȱ Abbildungȱ5Ȭ20:ȱTCPȬProtokollȬHeaderȱ(TȬPCI)ȱ
ImȱEinzelnenȱenthältȱderȱTCPȬHeaderȱfolgendeȱFelder:ȱ – QuellȬȱ undȱ Zielport:ȱ Portnummerȱ desȱ Anwendungsprogrammsȱ desȱ Sendersȱ (Quelle)ȱundȱdesȱEmpfängersȱ(Ziel).ȱȱ – Folgenummer:ȱNächstesȱByteȱinnerhalbȱdesȱTCPȬStreams,ȱdasȱderȱSenderȱabȬ sendet.ȱȱ – Bestätigungsnummer:ȱGibtȱdasȱalsȱnächstesȱerwarteteȱByteȱimȱTCPȬStromȱdesȱ PartnersȱanȱundȱbestätigtȱdamitȱdenȱEmpfangȱderȱvorhergehendenȱByte.ȱȱ – Offset:ȱGibtȱdieȱLängeȱdesȱTCPȬHeadersȱinȱ32ȬBitȬWortenȱan.ȱDiesȱistȱnötig,ȱ daȱ derȱ Headerȱ aufgrundȱ desȱ variablenȱ Optionenfeldesȱ keineȱ fixeȱ Längeȱ aufweist.ȱ – Reserviertȱ(Res.):ȱHatȱnochȱkeineȱVerwendung.ȱ – Flags:ȱSteuerkennzeichenȱfürȱdiverseȱAufgaben.ȱȱ – Zeitfenstergröße:ȱ Erlaubtȱ esȱ einemȱ Empfänger,ȱ inȱ einerȱ ACKȬPDUȱ seinemȱ PartnerȱdenȱvorhandenenȱPufferplatzȱinȱByteȱzumȱEmpfangȱderȱDatenȱmitȬ zuteilenȱ(auchȱWindowȬSize).ȱ – Prüfsumme:ȱVerifiziertȱdasȱGesamtpaketȱ(Header+Daten)ȱaufȱBasisȱeinesȱeinȬ fachenȱPrüfsummenalgorithmus.ȱ – UrgentȬZeiger:ȱ Beschreibtȱ dieȱ Positionȱ (Byteversatzȱ abȱ derȱ aktuellenȱ FolgeȬ nummer),ȱȱanȱderȱdringlicheȱDatenȱvorgefundenȱwerden.ȱDieseȱDatenȱwerȬ denȱvorrangigȱbehandelt.ȱDerȱZeigerȱwirdȱallerdingsȱinȱderȱPraxisȱseltenȱgeȬ nutzt.ȱ
200ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ – Optionen:ȱOptionaleȱAngabenȱzumȱAushandelnȱbestimmterȱVerbindungspaȬ rameter.ȱ – Padding:ȱ Aufüllenȱ aufȱ Wortgrenze,ȱ wennȱ dasȱ Optionsfeldȱ kleinerȱ alsȱ einȱ Vielfachesȱvonȱ4ȱByteȱist.ȱ – Daten:ȱNutzlast,ȱdieȱauchȱfehlenȱkann.ȱ Dieȱ Folgenummerȱ undȱ dieȱ Bestätigungsnummerȱ dienenȱ derȱ Flusskontrolleȱ undȱ derȱ Synchronisationȱ zwischenȱ Senderȱ undȱ Empfängerȱ bzgl.ȱ derȱ übertragenenȱ Daten.ȱ DieȱTCPȬFlusskontrolleȱwirdȱnochȱbehandelt.ȱ DieȱFlagsȱimȱTCPȬHeaderȱhabenȱeineȱbesondereȱBedeutung.ȱDieseȱsindȱinȱTabelleȱ 5Ȭ1ȱ beschrieben.ȱ Ursprünglichȱ warenȱ esȱ sechsȱ Flags,ȱ inȱ neuerenȱ TCPȬImplemenȬ tierungenȱ werdenȱ bereitsȱ achtȱ Flagsȱ unterstützt.ȱ Hinzuȱ kamenȱ mitȱ RFCȱ 2481ȱ dieȱ FlagsȱCWRȱundȱECN. 2ȱ Tabelleȱ5Ȭ1:ȱTCPȬFlagsȱ
Flag (1 Bit) Bedeutung CWR
Nutzung für die explizite Staukontrolle (Congestion Window Reduced).
ECE
Nutzung für die explizite Staukontrolle (ECN-Echo).
URG
Kennzeichen, das angibt, dass das Urgent-Zeiger-Feld gefüllt ist.
ACK
Bestätigung (z.B. bei Verbindungsaufbau genutzt), d.h. die Bestätigungsnummer hat einen gültigen Wert.
PSH
Zeigt Push-Daten an. Ankommende Daten dürfen beim Empfänger nicht zwischengespeichert werden, sondern sind sofort an den Empfängerprozess weiter zu leiten.
RST
Dient zum - Rücksetzen der Verbindung (sinnvoll z.B. nach dem Absturz eines Hosts). Es ist keine Kontextinformation mehr verfügbar. - Abweisen eines Verbindungsaufbauwunsches - Abweisen eines ungültigen Segments
SYN
Wird genutzt beim Verbindungsaufbau. Der Host, der die Verbindung aufbaut, sendet zunächst eine SYN-PDU.
FIN
Wird genutzt beim Verbindungsabbau. Der Host, der die Verbindung abbauen möchte, sendet als erstes eine FIN-PDU.
ȱ
DasȱFeldȱPrüfsummeȱdientȱderȱÜberprüfungȱdesȱTCPȬHeaders,ȱderȱDatenȱundȱeinesȱ Pseudoheaders,ȱ derȱ inȱ Abbildungȱ 5Ȭ21ȱ skizziertȱ ist.ȱ Alleȱ 16ȬBitȬWörterȱ werdenȱ inȱ ihrȱEinerȬKomplementȱumgewandeltȱundȱanschließendȱaddiert.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EinenȱECNȬMechanismusȱgibtȱesȱnunȱebensoȱfürȱIPȱzumȱAustauschȱvonȱStauinformatiȬ onenȱzwischenȱRouternȱ(kurzȱerwähntȱinȱKapitelȱ4).ȱ
2
201ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ DerȱPseudoheaderȱenthältȱdieȱIPȬAdresseȱdesȱQuellȬȱundȱdesȱZielrechners,ȱdieȱProȬ tokollnummerȱ(Nummerȱ6ȱ=ȱTCP)ȱundȱdieȱLängeȱderȱTCPȬPDUȱinȱByte.ȱSinnȱundȱ Zweckȱ desȱ Protokollheadersȱ istȱ es,ȱ beimȱ Empfängerȱ fehlgeleiteteȱ PDUsȱ zuȱ erkenȬ nen.ȱ Diesȱ kannȱ dieȱ empfangendeȱ TCPȬInstanzȱ anhandȱ derȱ IPȬAdresseȱ prüfen.ȱ InȬ formationenȱ desȱ SchichtȬ3ȬProtokollsȱ werdenȱ inȱ derȱ Schichtȱ 4ȱ verwendet,ȱ wasȱ alȬ lerdingsȱderȱProtokollschichtungȱwiderspricht.ȱZudemȱkannȱdieȱAngabeȱderȱLängeȱ derȱTCPȬPDUȱgenutztȱwerden,ȱumȱfestzustellen,ȱobȱdieȱganzeȱPDUȱbeimȱEmpfänȬ gerȱangekommenȱist.ȱ 32 Bit
Quelladresse Zieladresse 00000000
Protokoll = 6 Länge des TCP-Segments
ȱ Abbildungȱ5Ȭ21:ȱTCPȬPseudoȬHeaderȱ
Optionen.ȱ Dieȱ Optionenȱ wurdenȱ relativȱ seltenȱ verwendet,ȱ aberȱ mittlerweileȱ dieȬ nenȱsieȱdemȱAushandelnȱeinigerȱwichtigerȱTCPȬFunktionen.ȱSieȱbestehenȱentwederȱ ausȱ einemȱ einzelnenȱ Byteȱ (Optionsnummer)ȱ oderȱ habenȱ eineȱ variableȱ Form.ȱ Jedeȱ zulässigeȱOptionȱistȱmitȱeinerȱTypangabe,ȱeinemȱLängenfeldȱundȱdenȱeigentlichenȱ Optionsdatenȱgekennzeichnetȱ(sieheȱAbbildungȱ5Ȭ22). 24 Bit ...
Typ
Länge
Optionsdaten
...
ȱ
Abbildungȱ5Ȭ22:ȱGrundlegenderȱAufbauȱdesȱTCPȬOptionsfeldesȱ
Optionenȱ werdenȱ inȱ denȱ entsprechendenȱ RFCsȱ mitȱ Abkürzungenȱ bezeichnet.ȱ Zuȱ denȱOptionenȱgehörenȱu.a.ȱMSS,ȱWSOPT,ȱSACK,ȱSACKOKȱundȱTSOPT:ȱ – Maximumȱ Segmentȱ Sizeȱ (MSS),ȱ Typȱ =ȱ 2,ȱ dieȱ Optionsdatenȱ sindȱ 4ȱ Byteȱ langȱ (RFCȱ793):ȱDieseȱOptionȱdientȱfürȱdasȱAushandelnȱderȱmaximalenȱSegmentȬ längeȱbeimȱVerbindungsaufbauȱ(SYNȬFlagȱmussȱgesetztȱsein).ȱFürȱdieȱMSSȬ Angabeȱstehenȱ16ȱBitȱzurȱVerfügung,ȱd.h.ȱeinȱSegmentȱkannȱmaximalȱ64ȱKBȱ großȱsein.ȱBeideȱHostsȱübermittelnȱbeimȱVerbindungsaufbauȱihrȱMaximumȱ undȱderȱkleinereȱderȱbeidenȱWerteȱwirdȱgenommen.ȱAlsȱgrundlegendeȱVerȬ einbarungȱ gilt,ȱ dassȱ alleȱ Hostsȱ TCPȬSegmenteȱ vonȱ 536+20ȱ Byteȱ akzeptierenȱ müssen.ȱ Wirdȱ alsoȱ nichtsȱ weiterȱ vereinbart,ȱ giltȱ dieseȱ MSSȱ fürȱ dieȱ VerbinȬ dung.ȱȱ
202ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ – WindowsȬScaleȬOptionȱ(WSOPT),ȱTypȱ=ȱ3,ȱȱdieȱOptionsdatenȱsindȱ3ȱByteȱlangȱ (RFCȱ 1323):ȱ Dieseȱ Optionȱ dientȱ zumȱ Aushandelnȱ derȱ maximalenȱ FensterȬ größeȱfürȱdasȱSlidingȬWindowȬVerfahrenȱ(RFCȱ1323).ȱFürȱLeitungenȱmitȱhoȬ herȱBandbreiteȱsindȱnämlichȱ64ȱKBȱ(sieheȱ16ȱBitȱimȱFeldȱZeitfenstergröße)ȱalsȱ maximaleȱ Fenstergrößeȱ zuȱ klein,ȱ daȱ einȱ Senderȱ dannȱ evtl.ȱ zuȱ langeȱ wartenȱ muss,ȱ bisȱ erȱ erneutȱ sendenȱ darf.ȱ Dieȱ Fenstergrößeȱ kannȱ aufȱ 230ȱBitȱ (=ȱ 1ȱ GB)ȱ skaliertȱwerden,ȱinȱdemȱderȱInhaltȱdesȱFeldesȱZeitfenstergrößeȱumȱmax.ȱ14ȱBitȱ nachȱ linksȱ verschobenȱ wird.ȱ Derȱ Skalierungsfaktorȱ wirdȱ inȱ dieserȱ Optionȱ übertragenȱ (sieheȱ Abbildungȱ 5Ȭ23).ȱ Dieȱ Realisierungȱ derȱ Skalierungȱ erfolgtȱ durchȱ Linksshiftȱ desȱ Feldesȱ Zeitfenstergrößeȱ umȱ soȱ vieleȱ Bitȱ wieȱ imȱ SkalieȬ rungsfaktorȱangegebenȱwerdenȱ(max.ȱ14).ȱDasȱAushandelnȱderȱFenstergrößeȱ kannȱ nurȱ beimȱ Verbindungsaufbauȱ (SYNȬPDUs)ȱ erfolgenȱ undȱ istȱ fürȱ beideȱ Senderichtungenȱmöglich.ȱDieȱBegrenzungȱdesȱSkalierungsfaktorsȱaufȱmax.ȱ 14ȱ Bitȱ hatȱ mitȱ demȱ Wertebereichȱ derȱ Sequenznummerȱ zuȱ tun.ȱ Dieȱ FensterȬ größeȱmussȱkleinerȱalsȱderȱAbstandȱzwischenȱlinkemȱundȱrechtemȱEndeȱdesȱ Sequenznummernbereichsȱsein.ȱ – ZweiȱOptionenȱfürȱdieȱselektiveȱWiederholungȱ(SACKOKȱundȱSACK),ȱTypȱ=ȱ4ȱ undȱ5,ȱOptionsdatenȱsindȱbeiȱSACKOKȱ2ȱByteȱundȱbeiȱSACKȱvariabelȱlangȱ (RCFȱ 2018):ȱ Anstelleȱ desȱ GoȬBackȬNȬVerfahrensȱ kannȱ selektiveȱ WiederhoȬ lungȱ fürȱ dieȱ Verbindungȱ genutztȱ werden.ȱ Dieseȱ Vorgehensweiseȱ wirdȱ mitȱ derȱOptionȱSACKOKȱfestgelegt.ȱMitȱderȱOptionȱSACKȱkannȱmanȱerlauben,ȱ dassȱinȱeinerȱACKȬPDUȱeineȱListeȱvonȱSequenznummernbereichenȱübergeȬ benȱ wird,ȱ dieȱ bereitsȱ empfangenȱ wurden.ȱ Dieȱ Listeȱ istȱ variabelȱ langȱ undȱ enthältȱ zurȱ Angabeȱ derȱ bestätigtenȱ Nachrichtenȱ Nummernpaare.ȱ Dieȱ ersteȱ NummerȱeinesȱPaaresȱgibtȱdabeiȱdieȱersteȱSequenznummerȱdesȱBereichsȱan,ȱ dieȱempfangenȱwurde.ȱDieȱzweiteȱNummerȱgibtȱdieȱersteȱnichtȱempfangeneȱ Sequenznummerȱan. – Timestampsȱ Optionȱ (TSOPT),ȱ Typȱ =ȱ 8,ȱ dieȱ Optionsdatenȱ sindȱ 10ȱ Byteȱ lang:ȱ Diesesȱ Feldȱ bestehtȱ ausȱ zweiȱ Zeitstempelnȱ zuȱ jeȱ 4ȱ Byte:ȱ Einemȱ sog.ȱ TimeȬ stampȱ(TSval)ȱundȱTimestampȬEchoȬReplyȱ(TSecr).ȱLetzteresȱFeldȱistȱnurȱbeiȱ ACKȬSegmentenȱerlaubt.ȱMitȱdiesenȱWertenȱkönnenȱsichȱdieȱTCPȬInstanzenȱ einerȱ Verbindungȱ überȱ dieȱ sog.ȱ RoundȬTripȬTimeȱ (RTT)ȱ informieren.ȱ Manȱ kannȱalsoȱdamitȱdieȱZeitȱmessen,ȱdieȱbenötigtȱwird,ȱumȱeineȱȱTCPȬPDUȱzuȱ sendenȱundȱumȱdieȱBestätigungȱzuȱerhalten,ȱdassȱsieȱbeimȱEmpfängerȱangeȬ kommenȱist.ȱEineȱTCPȬInstanzȱkannȱz.B.ȱmitȱeinerȱSYNȬPDUȱoderȱeinerȱDaȬ taȬPDUȱ denȱ TSvalȬWertȱ setzen.ȱ Dieȱ PartnerȬTCPȬInstanzȱ antwortetȱ immerȱ aufȱdieȱletzteȱAnforderungȱinnerhalbȱeinerȱACKȬPDUȱmitȱeinemȱTSecrȬWert.ȱ Damitȱ tauschenȱ beideȱ Instanzenȱ ihreȱ Timestampsȱ zumȱ Absendezeitpunktȱ aus.ȱ
203ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ 24 Bit
Typ = 3
Länge = 3
Skalierung
ȱ
Abbildungȱ5Ȭ23:ȱAufbauȱderȱWSOPTȬOptionȱ
WichtigeȱFelderȱwerdenȱinȱderȱweiterenȱBeschreibungȱderȱTCPȬProtokollmechanisȬ menȱausführlichȱimȱZusammenhangȱbeschrieben.ȱ
5.2.3
Adressierung
Anwendungsprozesseȱ sindȱ überȱ Transportadressenȱ adressierbar,ȱ dieȱ alsȱ Socketsȱ bezeichnetȱ werden.ȱ Einȱ Socketȱ istȱ einȱ Tupelȱ derȱ Formȱ (IPȬAdresse,ȱ TCPȬPortȬ nummer).ȱ Meistȱ erfolgtȱ dieȱ Kommunikationȱ inȱ einemȱ ClientȬ/ServerȬParadigma.ȱ Einȱ Serverprozessȱ stelltȱ einenȱ Dienstȱ bereitȱ undȱ bietetȱ ihnȱ überȱ eineȱ Portnummerȱ an.ȱ Einȱ Portȱ (Abk.ȱ fürȱ Portnummer)ȱ istȱ eineȱ 16ȬBitȬIntegerzahl.ȱ Wennȱ einȱ ClientȬ prozessȱ dieȱ IPȬAdresseȱ undȱ dieȱ Portnummerȱ desȱ Dienstesȱ sowieȱ dasȱ zugehörigeȱ Protokollȱkennt,ȱkannȱerȱmitȱdemȱServerȱkommunizierenȱundȱdessenȱDiensteȱnutȬ zen.ȱ IANA 3ȱverwaltetȱdieȱPortsȱundȱdefiniertȱsog.ȱwellȬknownȱ(wohlbekannte)ȱPortsȱmitȱ einemȱ Nummernbereichȱ vonȱ 0ȱ bisȱ 1023,ȱ registrierteȱ Portsȱ (Nummernbereichȱ vonȱ 1024ȱbisȱ49151)ȱundȱdynamischeȱbzw.ȱprivateȱPortsȱ(Nummernbereichȱvonȱ49152ȱȱbisȱ 65535).ȱȱ EsȱgibtȱeineȱReiheȱvonȱwellȬknownȱPortsȱfürȱreservierteȱServices.ȱDieseȱsindȱinnerȬ halbȱ derȱ TCP/IPȬGemeindeȱ bekanntȱ undȱ werdenȱ immerȱ gleichȱ benutzt.ȱ Wichtigeȱ TCPȬPortsȱ(wellȬknownȱPorts)ȱundȱdazugehörigeȱDiensteȱsindȱz.B.: 4ȱ – – – –
Portȱ23,ȱTelnetȱ(RemoteȱLogin)ȱ Portsȱ20ȱundȱ21,ȱftpȱ(FileȱTransferȱProtocol)ȱ Portȱ25,ȱSMTPȱ(SimpleȱMailȱTransferȱProtocol)ȱ Portȱ80,ȱHTTPȱ(HyperȱTextȱTransferȱProtocol)ȱ
RegistrierteȱPortsȱwerdenȱdurchȱIANAȱbestimmteȱAnwendungenȱfestȱzugeordnet.ȱ Dieȱ Herstellerȱ derȱ Anwendungenȱ müssenȱ dieȱ Zuordnungȱ wieȱ Domänennamenȱ beantragen.ȱFolgendeȱAnwendungenȱsindȱz.B.ȱalsȱTCPȬPortsȱregistriert:ȱ Portȱ1109,ȱKerberos POP – Portȱ1433,ȱMicrosoftȱSQLȱServerȱ – Portȱ1512,ȱMicrosoftȱWindowsȱInternetȱNameȱServiceȱ(wins)ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ –
ȱȱ IANAȱ=ȱInternetȱAssignedȱNumbersȱAuthority.ȱ
3
ȱȱ Inȱ UnixȬȱ undȱ WindowsȬSystemenȱ sindȱ Servicesȱ mitȱ reserviertenȱ Portsȱ meistȱ inȱ einerȱ Konfigurationsdateiȱȱwieȱz.B.ȱ/etc/servicesȱfestgelegt.ȱ
4
204ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ Dynamischeȱ bzw.ȱ privateȱ Portsȱ könnenȱ beliebigȱ verwendetȱ werden.ȱ Dieȱ ZuordȬ nungȱ wirdȱ vonȱ IANAȱ nichtȱ registriert.ȱ Mitȱ diesenȱ Portnummernȱ istȱ esȱ möglich,ȱ eigeneȱ Diensteȱ zuȱ definieren.ȱ Hierȱ könnenȱ inȱ einemȱ Netzȱ auchȱ Überlappungenȱ auftreten.ȱBeispielsweiseȱkannȱeinȱServerȱ1ȱeinenȱDienstȱmitȱderȱPortnummerȱ52000ȱ anbietenȱundȱeinȱServerȱ2ȱeinenȱanderenȱDienstȱmitȱderselbenȱPortnummerȱ52000.ȱ DiesȱistȱkeinȱProblem,ȱsofernȱdieȱAnwendungsdomänenȱdisjunktȱsind.ȱAufȱeinemȱ RechnerȱkannȱeinȱPortȱaberȱnurȱeinmalȱvergebenȱwerden.ȱ EineȱVerbindungȱwirdȱdurchȱeinȱPaarȱvonȱEndpunktenȱeindeutigȱidentifiziertȱ(SoȬ cketȱ Pair).ȱ Diesȱ entsprichtȱ einemȱ Quadrupel,ȱ dasȱ dieȱ IPȬAdresseȱ vonȱ Hostȱ 1,ȱ dieȱ Portnummer,ȱdieȱinȱHostȱ1ȱgenutztȱwird,ȱdieȱIPȬAdresseȱvonȱHostȱ2ȱundȱdieȱPortȬ nummerȱȱaufȱderȱSeiteȱvonȱHostȱ2ȱenthält.ȱ Dadurchȱistȱesȱmöglich,ȱdassȱeinȱTCPȬPortȱaufȱeinemȱHostȱfürȱvieleȱVerbindungenȱ genutztȱwerdenȱkann,ȱwasȱinȱeinigenȱAnwendungenȱauchȱintensivȱgenutztȱwird.ȱ Beispiel:ȱDerȱHTTPȬPortȱ80ȱwirdȱfürȱvieleȱVerbindungenȱeinesȱHTTPȬServersȱ(hierȱ imȱ Beispielȱ mitȱ derȱ IPȬAdresseȱ 195.214.80.76)ȱ mitȱ beliebigȱ vielenȱ WebȬClientsȱ (Browsern)ȱ verwendet.ȱ Möglicheȱ TCPȬVerbindungenȱ ausȱ Sichtȱ desȱ HTTPȬServersȱ sind:ȱ ȱ ((195.214.80.76, 80) (196.210.80.10,6000)) ((195.214.80.76, 80) (197.200.80.11,6001)) ...
Manȱ erkennt,ȱ dassȱ serverseitigȱ dieȱ Portnummerȱ 80ȱ fürȱ jedeȱ TCPȬVerbindungȱ mitȱ WebȬClientsȱgenutztȱwirdȱundȱdieȱSocketȱPairsȱtrotzdemȱalleȱeindeutigȱsind.ȱ Wieȱ schonȱ angedeutetȱ nutztȱ manȱ zurȱ Ermittlungȱ derȱ SchichtȬ3ȬAdresseȱ (IPȬ Adresse),ȱdieȱBestandteilȱderȱTransportadresseȱist,ȱeinenȱNamingȬServiceȱwieȱDNS.ȱ Inȱ Programmenȱ verwendetȱ manȱ sinnvollerweiseȱ symbolischeȱ Namen,ȱ dieȱ alsȱ Hostnamenȱbezeichnetȱwerden.ȱ
5.2.4
Flusskontrolle
Beiȱ derȱ Einrichtungȱ einerȱ TCPȬVerbindungȱ sorgenȱ dieȱ TCPȬInstanzenȱ beiderȱ Kommunikationspartnerȱdafür,ȱdassȱfürȱdieȱVerbindungȱjeweilsȱPufferbereicheȱfürȱ abzusendendeȱ undȱ zuȱ empfangendeȱ Datenȱ eingerichtetȱ werden.ȱ Aufgabeȱ derȱ Flusskontrolleȱ istȱ es,ȱ dassȱ derȱ Empfangspufferȱ immerȱ ausreichendȱ ist.ȱ Inȱ Abbildungȱ 5Ȭ24ȱ istȱ einȱ Empfangspufferȱ skizziert.ȱ Dieȱ TCPȬInstanzȱ mussȱ überȱ dessenȱBefüllungsgradȱBuchȱführen.ȱEsȱistȱeineȱderȱwichtigstenȱAufgabenȱvonȱTCP,ȱ eineȱoptimaleȱFenstergrößeȱfürȱTransportverbindungenȱbereitzustellen.ȱ
205ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ
Anwendungsprozess
TCP-Instanz
Belegter Puffer Freier Puffer
Ankommende Pakete IP-Instanz
ȱ Abbildungȱ5Ȭ24:ȱEmpfangspufferȱfürȱTCPȬVerbindungenȱ
TCPȱverwendetȱfürȱdieȱFlusskontrolleȱeinenȱSlidingȬWindowȬMechanismus.ȱDieserȱ erlaubtȱ dieȱ Übertragungȱ vonȱ mehrerenȱ TCPȬSegmenten,ȱ bevorȱ eineȱ Bestätigungȱ eintrifft,ȱsofernȱdieȱÜbertragungȱdieȱvereinbarteȱFenstergrößeȱnichtȱüberschreitet.ȱ Beiȱ TCPȱ funktioniertȱ SlidingȬWindowȱ aufȱ derȱ Basisȱ vonȱ Octetsȱ (Byte),ȱ worinȱ sichȱ auchȱ derȱ StreamsȬGedankeȱ widerspiegelt.ȱ Dieȱ Octetsȱ (Byte)ȱ einesȱ Streamsȱ sindȱ sequenziellȱnummeriert.ȱDieȱFlusskontrolleȱwirdȱbeiderseitsȱdurchȱdenȱEmpfängerȱ gesteuert,ȱderȱdemȱjeweiligenȱPartnerȱmitteilt,ȱwieȱvielȱfreierȱPlatzȱnochȱinȱseinemȱ Empfangspufferȱist.ȱDerȱPartnerȱdarfȱnichtȱmehrȱDatenȱsendenȱundȱmussȱdasȱSenȬ denȱeinesȱSegmentsȱbeiȱBedarfȱverzögern.ȱ ZurȱFensterkontrolleȱwirdȱimȱTCPȬHeaderȱdasȱFeldȱZeitfenstergrößeȱverwendet.ȱInȱ jederȱ ACKȬPDUȱ sendetȱ eineȱ TCPȬInstanzȱ inȱ diesemȱ Feldȱ dieȱ Anzahlȱ anȱ Byte,ȱ dieȱ derȱ Partnerȱ aktuellȱ sendenȱ darf,ȱ ohneȱ dassȱ derȱ Empfangspufferȱ überläuft.ȱ Wennȱ derȱEmpfängerȱeineȱNachrichtȱmitȱeinemȱWertȱvonȱ0ȱimȱFeldȱZeitfenstergrößeȱsenȬ det,ȱsoȱbedeutetȱdiesȱfürȱdenȱSender,ȱdassȱerȱsofortȱmitȱdemȱSendenȱaufhörenȱmuss.ȱ ErstȱwennȱderȱEmpfängerȱwiederȱeinȱZeitfensterȱ>ȱ0ȱsendet,ȱdarfȱderȱSenderȱerneutȱ Nachrichtenȱsenden.ȱ InȱAbbildungȱ5Ȭ25ȱistȱdiesȱbeispielhaftȱskizziert.ȱAnfänglichȱistȱderȱEmpfangspufferȱ aufȱ derȱ Empfängerseiteȱ leer.ȱ Inȱ diesemȱ Beispielȱ istȱ derȱ Pufferȱ 4ȱ KBȱ groß.ȱ Inȱ derȱ TCPȬInstanzȱaufȱderȱEmpfängerseiteȱläuftȱderȱPufferȱvoll,ȱdaȱderȱAnwendungsproȬ zessȱ dieȱ Datenȱ vermutlichȱ nichtȱ oderȱ zuȱ langsamȱ zurȱ Verarbeitungȱ abholt.ȱ Diesȱ kannȱ vieleȱ Gründeȱ haben.ȱ Beispielsweiseȱ kannȱ derȱ Hostȱ zuȱ starkȱ ausgelastetȱ seinȱ oderȱ einȱ Anwendungsprozessȱ wartetȱ aufȱ einȱ Ereignis.ȱ Derȱ Senderȱ wirdȱ dadurchȱ blockiertȱundȱwartet,ȱbisȱderȱEmpfängerȱwiederȱfreienȱPufferplatzȱmeldet,ȱinȱdemȱ erȱeineȱzusätzlicheȱACKȬPDUȱabsendet,ȱinȱderȱimȱFeldȱ„Fenstergröße“ȱ(WIN)ȱ2ȱKBȱ angegebenȱwerden.ȱ Dieȱ Flusskontrollmechanismenȱ wurdenȱ mehrmalsȱ optimiert,ȱ undȱ esȱ gibtȱ inȱ derȱ TCPȬDokumentationȱ eineȱ Reiheȱ vonȱ RFCsȱ mitȱ Vorschlägenȱ fürȱ OptimierungsȬ Algorithmen.ȱ Einigeȱ Besonderheiten,ȱ dieȱ auchȱ ausführlichȱ inȱ derȱ angegebenenȱ Literaturȱerläutertȱsind,ȱsollenȱhierȱkurzȱskizziertȱwerden:ȱ
206ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ Sender
Empfänger Empfangspuffer:
Anwendung schreibt 2 KB
0
4 KB leer
2K SEQ =0
2 KB IN = 2048, W ACK =
2048
Anwendung schreibt 3 KB 2K SEQ = 2048
Sender ist blockiert
Voll ACK
0 , WIN = = 4096
IN 4096, W ACK =
Anwendung liest 2 KB
= 2048
2 KB Sender kann bis zu 2 KB übertragen 1K
SEQ = 40 96
1K
2 KB
ȱ Abbildungȱ5Ȭ25:ȱSlidingȬWindowȬMechanismusȱbeiȱTCPȱnachȱ(Tanenbaumȱ2003a)ȱ
NagleȬAlgorithmus.ȱ Einȱ Algorithmus,ȱ derȱ sichȱ durchgesetztȱ hat,ȱ istȱ derȱ NagleȬ Algorithmusȱ (RFCȱ 896ȱ undȱ RFCȱ 1122),ȱ derȱ beiȱ allenȱ TCPȬImplementierungenȱ verȬ wendetȱwird.ȱNagleȱversuchteȱausȱOptimierungsgründenȱzuȱverhindern,ȱdassȱvieleȱ kleineȱNachrichtenȱgesendetȱwerden,ȱdaȱdieseȱschlechtȱfürȱdieȱNetzauslastungȱsind.ȱ Kleineȱ Nachrichtenȱ werdenȱ alsoȱ beiȱ Bedarfȱ zusammengefasstȱ undȱ zwarȱ nachȱ folȬ gendemȱPrinzip:ȱ – Wennȱ vomȱ Anwendungsprozessȱ anȱ derȱ SocketȬSchnittstelleȱ dieȱ Datenȱ imȱ StreamȱByteȱfürȱByteȱankommen,ȱwirdȱzunächstȱnurȱdasȱersteȱByteȱgesendetȱ undȱdieȱrestlichenȱwerdenȱimȱSendepufferȱgesammelt.ȱȱ – KommtȱdannȱdieȱACKȬPDUȱfürȱdasȱeineȱByteȱan,ȱwerdenȱalleȱanstehendenȱ Byteȱgesendet.ȱ – Anschließendȱwirdȱerneutȱgesammeltȱundȱsoȱgehtȱesȱweiter.ȱ DiesȱistȱallerdingsȱnichtȱimmerȱoptimalȱundȱinsbesondereȱschlechtȱbeiȱAnwendunȬ genȱ mitȱ direktemȱ Echoȱ derȱ Dialogeingaben.ȱ Beispieleȱ dafürȱ sindȱ XȬWindowsȬ
207ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Anwendungen,ȱ daȱ hierȱ fürȱ jedeȱ Mausbewegungȱ eineȱ Übertragungȱ stattfindenȱ muss,ȱ umȱ denȱ Cursorȱ aufȱ demȱ Bildschirmȱ zuȱ bewegen.ȱ Geschiehtȱ diesȱ nicht,ȱ beȬ wegtȱsichȱderȱCursorȱaufȱdemȱBildschirmȱnichtȱsynchronȱzurȱBewegungȱderȱMausȱ undȱggf.ȱruckartig.ȱInȱdiesemȱFallȱistȱesȱbesser,ȱabhängigȱvomȱAnwendungstypȱdenȱ NagleȬAlgorithmusȱ auszuschalten.ȱ Weitereȱ Beispielanwendungenȱ fürȱ dieseȱ ProbȬ lematikȱsindȱSSHȱundȱTelnet.ȱ Istȱ diesesȱ Verhaltenȱ fürȱ eineȱ Anwendungȱ problematisch,ȱ soȱ lässtȱ sichȱ derȱ NagleȬ Algorithmusȱ unterȱ POSIXȬkompatiblenȱ Betriebssystemenȱ mitȱ derȱ setsockoptȬ OptionȱTCP_NODELAYȱabschalten.ȱInȱderȱPraxisȱwirdȱdasȱzumȱBeispielȱbeiȱinterȬ aktivenȱSitzungsprotokollenȱwieȱTelnetȱoderȱSSHȱgetan,ȱumȱdieȱReaktionszeitȱderȱ GegenseiteȱaufȱTastatureingabenȱoderȱbeiȱBildschirmausgabenȱzuȱverkürzen.ȱ SillyȬWindowȬSyndrom.ȱ Einȱ anderesȱ Problemȱ istȱ alsȱ dasȱ SillyȬWindowȬSyndromȱ bekannt.ȱEsȱtrittȱauf,ȱwennȱeinȱempfangenderȱAnwendungsprozessȱdieȱDatenȱbyȬ teweiseȱ ausliest,ȱ derȱ Senderȱ aberȱ inȱ größerenȱ Nachrichtenȱ sendet.ȱ Inȱ diesemȱ Fallȱ wirdȱ derȱ Empfangspufferȱ immerȱ umȱ einȱ Byteȱ geleert,ȱ undȱ dieȱ TCPȬInstanzȱ beimȱ Empfängerȱ sendetȱ daraufhinȱ eineȱ ACKȬPDUȱ mitȱ demȱ Hinweis,ȱ dassȱ wiederȱ einȱ Byteȱübertragenȱwerdenȱkann.ȱDiesȱverhindertȱClarksȱLösung,ȱindemȱesȱdasȱSendenȱ einerȱ ACKȬPDUȱ bisȱ zuȱ einerȱ vernünftigenȱ Fenstergrößeȱ zurückhält.ȱ Dieȱ MechaȬ nismenȱvonȱNagleȱundȱClarkȱergänzenȱsichȱinȱeinerȱTCPȬImplementierung.ȱ
5.2.5
Datenübertragung
Inȱ diesemȱ Abschnittȱ behandelnȱ wirȱ dieȱ normaleȱ Datenübertragungȱ inȱ TCP.ȱ BeȬ trachtenȱwirȱzunächstȱdieȱDatenübertragungȱbeiȱbereitsȱvorhandenerȱVerbindung.ȱ Derȱ Ablaufȱ einerȱ Übertragungȱ einesȱ Datensegmentsȱ sieht,ȱ wieȱ inȱ Abbildungȱ 5Ȭ26ȱ dargestellt,ȱbeiȱTCPȱimȱNormalfallȱwieȱfolgtȱaus:ȱ – Derȱ Senderȱ stelltȱ einȱ Segmentȱ zusammen,ȱ sendetȱ esȱ abȱ undȱ ziehtȱ anschlieȬ ßendȱfürȱjedesȱeinzelneȱSegmentȱeinenȱTimerȱzurȱZeitüberwachungȱauf.ȱDieȱ ZeitȱfürȱdenȱTimerȱwirdȱdynamischȱanhandȱderȱaktuellenȱRTTȱ(RoundȱTripȱ Time)ȱ ermittelt.ȱ Diesȱ istȱ dieȱ Zeit,ȱ dieȱ dieȱ EndeȬzuȬEndeȬÜbertragungȱ einesȱ SegmentsȱeinschließlichȱderȱBestätigungȱdauert.ȱ – Imȱ Normalfallȱ erhältȱ derȱ Empfängerȱ dasȱ Paketȱ undȱ bestätigtȱ esȱ inȱ einemȱ kumulativenȱ Verfahren.ȱ Damitȱ wirdȱ versucht,ȱ dieȱ Netzlastȱ zuȱ reduzieren.ȱ Immerȱ dann,ȱ wennȱ esȱ möglichȱ ist,ȱ gleichȱ mehrereȱ Segmenteȱ zuȱ bestätigen,ȱ wirdȱdiesȱgemacht.ȱEsȱwirdȱsogarȱeineȱVerzögerungȱderȱBestätigungȱunterȬ stützt,ȱumȱnochȱaufȱweitereȱSegmenteȱzuȱwarten.ȱ – DerȱSenderȱerhältȱdieȱACKȬPDUȱundȱlöschtȱdaraufhinȱdenȱTimer.ȱ EineȱACKȬPDUȱzeichnetȱsichȱdadurchȱaus,ȱdassȱdasȱACKȬFlagȱgesetztȱist.ȱNunȱgibtȱ esȱ natürlichȱ einigeȱ Fehlerszenarien,ȱ dieȱ TCPȱ bearbeitenȱ muss.ȱ Dieȱ wichtigstenȱ werdenȱkurzȱskizziert:ȱȱ ȱ
208ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ Szenarioȱ „Erfolgreicheȱ Übertragung“.ȱ Inȱ Abbildungȱ 5Ȭ26ȱ wirdȱ dieȱ Übertragungȱ zweierȱ Segmenteȱ dargestellt,ȱ dieȱ ordnungsgemäßȱ (inȱ diesemȱ Falleȱ jedesȱ fürȱ sich)ȱ bestätigtȱ werden.ȱ Beiȱ Ankunftȱ derȱ Bestätigungȱ wirdȱ derȱ Timerȱ inȱ derȱ Instanzȱ 1ȱ gelöscht,ȱundȱdieȱÜbertragungȱistȱdamitȱabgeschlossen.ȱ T-Instanz 1 Timer aufziehen
T-Instanz 2
Data.Request (SeqNr
= 92, 8 Byte Daten)
se (ACK = Data.Respon
Timeout-Zeit
1, BestNr =
100)
Timer löschen Geplanter Timeout Timer aufziehen
Data.Request (SeqNr =
Data.Respon
Timeout-Zeit
100, 20 Byte Daten)
se (ACK = 1,
BestNr = 120)
Timer löschen Geplanter Timeout
Abbildungȱ5Ȭ26:ȱNormaleȱÜbertragungȱeinesȱTCPȬSegmentsȱ
Szenarioȱ„Timerȱläuftȱab“.ȱLäuftȱimȱSenderȱz.B.ȱderȱTimerȱab,ȱbevorȱeineȱBestätiȬ gungȱ angekommenȱ ist,ȱ wirdȱ dasȱ Segmentȱ nochȱ einmalȱ gesendet.ȱ Derȱ genaueȱ Grund,ȱwarumȱdasȱSegmentȱnichtȱbestätigtȱwurde,ȱistȱdemȱSenderȱnichtȱbekannt.ȱ Esȱkannȱsein,ȱdassȱdasȱUrsprungssegmentȱverlorenȱgegangenȱist,ȱesȱkannȱaberȱauchȱ sein,ȱdassȱdieȱACKȬPDUȱnichtȱangekommenȱist.ȱ InȱAbbildungȱ5Ȭ27ȱläuftȱdagegenȱderȱTimerȱvorȱAnkunftȱderȱACKȬPDUȱinȱInstanzȱ 1ȱab.ȱDieȱACKȬPDUȱgehtȱimȱNetzȱverloren.ȱDasȱSegmentȱwirdȱerneutȱübertragen,ȱ undȱdieȱzweiteȱÜbertragungȱwirdȱvonȱInstanzȱ2ȱbestätigt.ȱDieȱzweiteȱBestätigungȱ trifftȱrechtzeitigȱein.ȱ Esȱseiȱhierȱnochmalsȱdaraufȱhingewiesen,ȱdassȱeinȱSegmentȱbeiȱderȱÜbertragungȱimȱ Netzȱ durchausȱ verlorenȱ gehenȱ kann.ȱ Immerhinȱ kannȱ esȱ sein,ȱ dassȱ einȱ Router,ȱ durchȱ denȱ dasȱ Segmentȱ weitergeleitetȱ werdenȱ soll,ȱ geradeȱ überlastetȱ ist.ȱ AußerȬ demȱ kannȱ eineȱ EndeȬzuȬEndeȬKommunikationȱ zwischenȱ zweiȱ AnwendungsproȬ zessenȱüberȱmehrereȱRouterȱ ablaufen.ȱTCPȱ stelltȱ aberȱ sicher,ȱ dassȱ einȱ verlorengeȬ gangenesȱ Segmentȱ nochȱ einmalȱ übertragenȱ wird.ȱ Dieȱ empfangendeȱ TCPȬInstanzȱ gibtȱ nurȱ TȬSDUsȱ nachȱ obenȱ zumȱ Anwendungsprozessȱ weiter,ȱ wennȱ dieseȱ einenȱ lückenlosenȱDatenstromȱ(Stream)ȱergeben.ȱ
209ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ T-Instanz 1 Timer aufziehen
T-Instanz 2
Data.Request (SeqNr = 92, 8 Byte
se (ACK = Data.Respon
Timeout-Zeit
Daten)
1, BestNr =
100)
Nachricht kommt nicht an!
Geplanter Timeout
Data.Request (SeqNr = 92, 8 Byte
Data.Respon
Timeout-Zeit
se (ACK = 1,
Daten)
0) BestNr = 10
Timer löschen Geplanter Timeout
ȱ Abbildungȱ5Ȭ27:ȱTimerablaufȱbeiȱderȱÜbertragungȱeinesȱTCPȬSegmentsȱ
Szenarioȱ „Empfängerȱ vermisstȱ einȱ Segment“.ȱ Einȱ sog.ȱ implizitesȱNAKȱ (Notȱ AckȬ nowledge)ȱ wirdȱ inȱ TCPȱ ebenfallsȱ unterstützt.ȱ Wennȱ derȱ Empfängerȱ einȱ Segmentȱ vermisst,ȱsoȱsendetȱerȱdieȱvorhergehendeȱBestätigungȱnochȱeinmal.ȱErhältȱderȱSenȬ derȱ viermalȱ dieȱ gleicheȱ Bestätigungȱ (alsoȱ dreiȱ ACKȬDuplikate) 5,ȱ soȱ nimmtȱ erȱ an,ȱ dassȱaufȱdasȱSegmentȱfolgendeȱSegmenteȱnichtȱangekommenȱsindȱundȱsendetȱdieseȱ vorȱAblaufȱdesȱTimersȱerneutȱ(sieheȱAbbildungȱ5Ȭ28).ȱ DasȱdreimaligeȱEmpfangenȱeinerȱgleichenȱBestätigungȱkannȱ–ȱjeȱnachȱTCPȬImpleȬ mentierungȱ –ȱ auchȱ Auswirkungenȱ aufȱ dieȱ Staukontrolleȱ haben.ȱ Dieserȱ Vorgangȱ wirdȱalsȱFastȱRetransmitȱbezeichnetȱ(sieheȱhierzuȱauchȱdenȱmitȱdemȱFastȱRetransmitȱ gemeinsamȱbehandeltenȱMechanismus,ȱderȱalsȱFastȬRecoveryȱbezeichnetȱwird).ȱ Szenarioȱ„SenderȱerhältȱkeinȱACK,ȱaberȱSendewiederholungȱwirdȱdurchȱkumuȬ lativesȱ ACKȱ vermieden“.ȱ Fürȱ dieȱ Garantieȱ derȱ Reihenfolgeȱ undȱ derȱ VollständigȬ keitȱwirdȱbeiȱTCPȱderȱEinsatzȱvonȱSequenznummernȱunterstützt,ȱdieȱimȱSinneȱdesȱ DatenstromȬKonzeptsȱaufȱeinzelnenȱBytes,ȱnichtȱaufȱTCPȬSegmentenȱbasieren.ȱImȱ TCPȬHeaderȱ wirdȱ hierfürȱ dasȱ Feldȱ Folgenummerȱ verwendet.ȱ Dieȱ initialeȱ SequenzȬ nummerȱ wirdȱ beimȱ Verbindungsaufbauȱ fürȱ beideȱ Kommunikationsrichtungenȱ festgelegt.ȱ Sieȱ enthältȱ jeweilsȱ dieȱ laufendeȱ Nummerȱ desȱ alsȱ nächstesȱ erwartetenȱ ByteȱimȱStreamȱderȱVerbindung.ȱȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ SieheȱhierzuȱRFCȱ2581,ȱfrüherȱwarenȱesȱlautȱRFCȱ2001ȱnurȱzweiȱACKȬDuplikate.ȱ
5
210ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ T-Instanz 1
T-Instanz 2 Data.Request
(SeqNr = 92,
8 Byte Daten
)
0) BestNr = 10 se (ACK = 1, Data.Respon Data.Request (SeqNr = 100, 20 Byte Daten ) Data.Request X (SeqNr = 120, 50 Byte Daten ) Data.Respon
se (ACK = 1,
se (A Data.Respon
r = 100) CK = 1, BestN
e (ACK = Data.Respons
NAK erkannt! Erneut senden
Data.Reques Data.Reques
0) BestNr = 10
1, BestNr =
100)
1. Bestätigung
2. Bestätigung 3. Bestätigung 4. Bestätigung
t (SeqNr = 10 0, 20 Byte Da ten) t (SeqNr = 12 0, 50 Byte Da ten)
se (ACK Data.Respon
= 1, BestNr
= 170)
Abbildungȱ5Ȭ28:ȱEmpfängerȱsendetȱimplizitesȱNAKȱ
DieȱBestätigungȱderȱordnungsgemäßenȱAnkunftȱeinesȱSegmentsȱwirdȱinȱderȱACKȬ PDUȱüberȱdasȱFeldȱBestätigungsnummerȱdurchgeführt.ȱInȱdiesemȱFeldȱstehtȱjeweilsȱ dieȱalsȱnächstesȱerwarteteȱSequenznummerȱdesȱPartners,ȱwomitȱderȱEmpfangȱallerȱ vorhergehendenȱ Byteȱ imȱ Streamȱ bestätigtȱ wird.ȱ Eineȱ Bestätigungȱ mussȱ vonȱ derȱ empfangendenȱ TCPȬInstanzȱ nichtȱunbedingtȱ sofortȱgesendetȱ werden,ȱ sofernȱ nochȱ PlatzȱimȱEmpfangspufferȱist.ȱHierȱbestehtȱeineȱgewisseȱImplementierungsfreiheit.ȱ EineȱAusnahmeȱbildenȱsog.ȱ„UrgentȬDaten“,ȱdieȱimmerȱgesendetȱwerdenȱkönnen,ȱ auchȱwennȱderȱEmpfangspufferȱvollȱist,ȱwobeiȱdieseȱallerdingsȱinȱderȱRegelȱnichtȱ verwendetȱwerden.ȱ Wieȱbereitsȱangedeutet,ȱwerdenȱTCPȬSegmenteȱwennȱmöglichȱkumulativȱbestätigt.ȱ DiesȱhatȱdenȱpositivenȱNebeneffekt,ȱdassȱggf.ȱauchȱverlorenȱgegangeneȱACKȬPDUsȱ durchȱ folgendeȱ ACKȬPDUsȱ erledigtȱ werden.ȱ Diesȱ istȱ z.B.ȱ imȱ Sequenzdiagrammȱ ausȱ Abbildungȱ 5Ȭ29ȱ deutlichȱ zuȱ sehen.ȱ Inȱ diesemȱ Szenarioȱ gehtȱ eineȱ ACKȬPDUȱ verlorenȱundȱwirdȱdurchȱdieȱfolgendeȱkompensiert.ȱ Inȱ denȱ RFCsȱ 1122ȱ undȱ 2581ȱ werdenȱ einigeȱ ImplementierungsȬEmpfehlungenȱ fürȱ dieȱ Quittierungsmechanismenȱ vonȱ TCPȬSegmentenȱ gegeben.ȱ Einigeȱ Beispieleȱ solȬ lenȱhierzuȱerwähntȱwerden:ȱ – Derȱ Empfängerȱ einesȱ TCPȬSegmentsȱ sollteȱ maximalȱ 500ȱ msȱ aufȱ weitereȱ Segmenteȱwarten,ȱumȱdieseȱkumulativȱzuȱbestätigen.ȱ
211ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ – Kommtȱ einȱ TCPȬSegmentȱ außerhalbȱ derȱ Reiheȱ mitȱ einerȱ Sequenznummerȱ beiȱeinerȱTCPȬInstanzȱan,ȱdieȱhöherȱistȱalsȱdieȱerwartete,ȱsoȱsollȱeinȱDuplikatȬ ACKȱgesendetȱwerden.ȱDamitȱweißȱderȱSenderȱsofort,ȱdassȱerȱdieȱfehlendenȱ TCPȬSegmenteȱerneutȱsendenȱmuss.ȱ – KommtȱeinȱTCPȬSegmentȱbeiȱeinerȱTCPȬInstanzȱan,ȱdasȱeineȱLückeȱschließt,ȱ soȱ wirdȱ diesȱ sofort,ȱ ohneȱ Verzögerungȱ bestätigt,ȱ damitȱ dieȱ sendendeȱ TCPȬ Instanzȱnichtȱbehindertȱwird.ȱ T-Instanz 1 Timer aufziehen für SeqNr = 92
Timer aufziehen für SeqNr = 100
T-Instanz 2
Data.Request (SeqNr
= 92, 8 Byte Daten)
Data.Request (SeqNr = 100, 10 Byte Daten)
se (A Data.Respon
r = 100) CK = 1, BestN
X
Timeout-Zeit
Verlust bleibt ohne Folgen! Alle Timeouts löschen
nse (ACK = Data.Respo
1, BestNr =
110)
Kumulative Quittung!
Geplanter Timeout 1 Geplanter Timeout 2
ȱ Abbildungȱ5Ȭ29ȱKumulativeȱQuittierungȱinȱTCPȱ
5.2.6
Verbindungsmanagement
Bisherȱ wurdeȱ vorausgesetzt,ȱ dassȱ eineȱ TCPȬVerbindungȱ existiert.ȱ Nunȱ wirdȱ dieȱ Verbindungsaufbauphaseȱ näherȱ betrachtet.ȱ Beimȱ Verbindungsaufbauȱ erfolgtȱ eineȱ Synchronisationȱ zwischenȱ einemȱ aktivenȱ Partner,ȱ derȱ denȱ VerbindungsaufbauȬ wunschȱ absetzt,ȱ undȱ einemȱ passivenȱ Partner,ȱ derȱ aufȱ einenȱ VerbindungsaufbauȬ wunschȱ wartet.ȱ WährendȱdesȱVerbindungsaufbausȱwerdenȱ einigeȱ ParameterȱausȬ gehandelt,ȱ dieȱ fürȱ dieȱ weitereȱ Kommunikationȱ alsȱ Basisȱ dienen.ȱ Hierzuȱ gehörenȱ dieȱ Größeȱ derȱ Flusskontrollfenster,ȱ dieȱ initialenȱ Folgenummernȱ fürȱ beideȱ Partnerȱ undȱdieȱAnzahlȱderȱSegmente,ȱdieȱimȱRahmenȱderȱStaukontrolleȱanfänglichȱgesenȬ detȱ werdenȱ dürfen.ȱ TCPȱ verwendetȱ einȱ DreiȬWegeȬHandshakeȬProtokollȱ fürȱ denȱ VerbindungsaufbauȱwieȱesȱvereinfachtȱinȱAbbildungȱ5Ȭ30ȱdargestelltȱist:ȱ ȱ ȱ ȱ
212ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ – Derȱ aktiveȱ Partnerȱ –ȱ alsȱ Instanzȱ 1ȱ bezeichnetȱ –ȱ (imȱ Sinneȱ einerȱ ClientȬ /ServerȬArchitekturȱ auchȱ alsȱ Clientȱ bezeichnet)ȱ beginntȱ denȱ VerbindungsȬ aufbauȱjeȱnachȱSocketȬImplementierungȱz.B.ȱmitȱeinemȱConnectȬAufruf.ȱDieȱ zuständigeȱTCPȬInstanzȱrichtetȱdaraufhinȱlokalȱeinenȱKontextȱeinȱundȱermitȬ teltȱ eineȱ initialeȱ Folgenummer,ȱ dieȱ sieȱ imȱ Feldȱ Folgenummerȱ mitȱ einerȱ ConȬ nectȬRequestȬPDUȱanȱdenȱServerȱsendet.ȱDieseȱPDUȱistȱdurchȱeinȱgesetztesȱ SYNȬFlagȱmarkiert.ȱImȱTCPȬHeaderȱwirdȱweiterhinȱderȱadressierteȱPortȱundȱ derȱeigeneȱPortȱeingetragen.ȱ – DerȱpassiveȱPartnerȱ–ȱalsȱInstanzȱ2ȱbezeichnetȱ–ȱwartetȱschonȱaufȱeinenȱVerȬ bindungsaufbauwunsch,ȱ inȱ demȱ erȱ anȱ derȱ SocketȬSchnittstelleȱ einenȱ ListenȬ Aufrufȱgetätigtȱhat.ȱDieȱzuständigeȱTCPȬInstanzȱaufȱderȱpassivenȱSeiteȱbautȱ ebenfallsȱeinenȱKontextȱaufȱundȱsendetȱeineȱConnectȬResponseȬPDU,ȱinȱderȱ dasȱSYNȬFlagȱundȱdasȱACKȬFlagȱaufȱ1ȱgesetztȱsind.ȱWeiterhinȱwirdȱdieȱFolȬ genummerȱdesȱpassivenȱPartnersȱdadurchȱbestätigt,ȱdasȱsieȱumȱ1ȱerhöhtȱundȱ inȱ dasȱ Feldȱ „Bestätigungsnummer“ȱ eingetragenȱ wird.ȱ Diesȱ bedeutet,ȱ dassȱ dasȱnächsteȱerwarteteȱByteȱdieȱermittelteȱFolgenummerȱenthaltenȱmuss.ȱZuȬ demȱ berechnetȱ dieȱ TCPȬInstanzȱ vorȱ demȱ Absendenȱ derȱ ConnectȬResponseȬ PDUȱ ebenfallsȱ eineȱ Folgenummerȱ fürȱ dieȱ vonȱ ihrȱ gesendetenȱ Datenȱ undȱ nimmtȱ sieȱ inȱ dieȱ PDUȱ imȱ Feldȱ Folgenummerȱ mitȱ auf.ȱ Zuȱ beachtenȱ istȱ auch,ȱ dassȱderȱpassiveȱPartnerȱdieȱPortnummerȱnochȱverändernȱkann.ȱ – Sobaldȱ derȱ aktiveȱ Partnerȱ dieȱ ACKȬPDUȱ erhält,ȱ stelltȱ erȱ seinerseitsȱ eineȱ ACKȬPDUȱ zusammen,ȱ inȱ derȱ dasȱ SYNȬFlagȱ aufȱ 0ȱ undȱ dasȱ ACKȬFlagȱ aufȱ 1ȱ gesetztȱ sindȱ undȱ imȱ Feldȱ Bestätigungsnummerȱ dieȱ umȱ 1ȱ erhöhteȱ FolgenumȬ merȱdesȱaktivenȱPartnersȱeingetragenȱwird.ȱDasȱACKȱkannȱauchȱimȱPiggyȬ packingȱmitȱdemȱerstenȱanstehendenȱDatensegmentȱgesendetȱwerden.ȱ ȱ ȱ ȱ ȱ ȱ ȱ
213ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ T-Instanz 1
T-Instanz 2 Connect.Request (SYN=1, folge _nr=c_isn) , Connect.Response (SYN=1, ACK=1, folge_nr=s_isn best_nr=c_isn+1)
Connect.Response (SY N=0, ACK=1, folge_nr=c _isn+1, best_nr=s_isn+1)
Datenaustausch kann ab den ausgetauschten Sequenznummern beginnen c_isn = Initial Sequence Number des Clients (Instanz 1) s_isn = Initial Sequence Number des Servers (Instanz 2)
Abbildungȱ5Ȭ30:ȱNormalerȱVerbindungsaufbauȱinȱTCPȱnachȱ(Tanenbaumȱ2003a)ȱ
Sollteȱ derȱ passiveȱ Partnerȱ aufȱ denȱ Verbindungswunschȱ nichtȱ antworten,ȱ wirdȱ inȱ derȱ Regelȱ einȱ erneuterȱ ConnectionȬRequestȱ abgesetzt.ȱ Diesȱ wirdȱ jeȱ nachȱ KonfiguȬ rierungȱderȱTCPȬInstanzȱmehrmalsȱversucht,ȱwobeiȱeineȱdreimaligeȱWiederholungȱ häufigȱanzutreffenȱist.ȱ Beiȱ jedemȱ Datenaustauschȱ werdenȱ imȱ weiterenȱ Verlaufȱ derȱ Kommunikationȱ dieȱ FelderȱQuellȬȱundȱZielport,ȱdieȱFolgenummerȱundȱdieȱBestätigungsnummerȱsowieȱdasȱ Feldȱ Fenstergrößeȱgesendet.ȱ Derȱ aktiveȱ Partnerȱ sendetȱ inȱ derȱ ConnectȬRequestȬPDUȱ seineȱPortnummerȱalsȱQuellportȱundȱdenȱadressiertenȱTSAPȱalsȱZielportȱimȱTCPȬ Header.ȱ Derȱ passiveȱ Partȱ kannȱ seinenȱ Portȱ inȱ derȱ ConnectȬResponseȬPDUȱ nochȱ malȱverändern.ȱQuellȬȱundȱZielportȱwerdenȱjeweilsȱausȱSichtȱdesȱSendersȱbelegt.ȱ Beimȱ Verbindungsaufbauȱ sindȱ Kollisionenȱ möglich.ȱ Zweiȱ Hostsȱ könnenȱ z.B.ȱ gleichzeitigȱ versuchen,ȱ eineȱ Verbindungȱ zueinanderȱ aufzubauen.ȱ TCPȱ sorgtȱ aberȱ dafür,ȱdassȱinȱdiesemȱFallȱnurȱeineȱTCPȬVerbindungȱmitȱgleichenȱParameternȱaufȬ gebautȱ wird.ȱInȱAbbildungȱ 5Ȭ31ȱ istȱderȱnormaleȱVerbindungsaufbauȱ demȱ VerbinȬ dungsaufbauȱmitȱeinerȱKollisionȱgegenübergestellt.ȱDieserȱFallȱistȱnatürlichȱschonȱ alleinȱaufgrundȱderȱasymmetrischenȱClientȬ/ServerȬKommunikation,ȱwieȱsieȱmeisȬ tensȱinȱTCPȱverwendetȱwird,ȱrechtȱunwahrscheinlich.ȱ TCPȱsorgtȱauchȱfürȱdieȱVermeidungȱeinerȱweiteren,ȱebenfallsȱrechtȱunwahrscheinȬ lichen,ȱ Kollisionsartȱ vonȱ Folgenummernȱ aufeinanderȱ folgenderȱ Verbindungenȱ zwischenȱ gleichenȱ Hosts.ȱ Beiȱ TCPȱ kannȱ nämlichȱ dasȱ fürȱ Sequenznummernȱ typiȬ scheȱ Problemȱ auftreten,ȱ dassȱ eineȱ Verbindungȱ abgebrochenȱ undȱ zufälligȱ gleichȱ wiederȱmitȱdenȱgleichenȱPortsȱeineȱVerbindungȱaufgebautȱwirdȱundȱdarüberȱhinȬ ausȱeineȱNachrichtȱderȱaltenȱVerbindungȱnochȱunterwegsȱist.ȱȱInȱdiesemȱFallȱkannȱ esȱ zurȱ Verwendungȱ einerȱ nochȱ inȱ derȱ altenȱ Verbindungȱ genutztenȱ SequenznumȬ
214ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ merȱ kommen.ȱ TCPȱ beugtȱ hierȱ vor,ȱ indemȱ dieȱ Folgenummernȱ ZeitgeberȬgesteuertȱ mitȱ einemȱ bestimmtenȱ Zyklusȱ (ursprünglichȱ 4,6ȱ Stunden)ȱ ermitteltȱ werden.ȱ Diesȱ schließtȱderartigeȱKollisionenȱsoȱgutȱwieȱaus.ȱ T-Instanz 1
T-Instanz 2 SYN = 1,
SYN SYN
= 1,
= 0,
ACK
ACK
=1
= 1,
SEQ -Nr
=x
T-Instanz 2
SYN = 1,
SEQ-N r=x
r= Q- N , SE
T-Instanz 1
y, A
Nr = CK-
x+
SEQ-N r=x
1 = SYN
E 1, S
r= Q- N
,S =1
y
-Nr EQ
=y
,
CK 1, A + 1 x N= SY -Nr = K AC SYN ACK = 0, A CK =y = 1, +1 SE
+1, ACK =
Q-N r
=x
+1,
y +1
Normalfall
Kollision
Nur eine Verbindung mit den Folgenummern (x,y)
ȱ Abbildungȱ5Ȭ31:ȱKollisionȱbeimȱTCPȬVerbindungsaufbauȱ
AbschließendȱsollȱderȱVollständigkeitȱhalberȱnochȱerwähntȱwerden,ȱdassȱeinȱVerȬ bindungsaufbauwunschȱ vomȱ passivenȱ Partnerȱ auchȱ sofortȱ abgewiesenȱ werdenȱ kann,ȱwennȱz.B.ȱkeinȱProzessȱimȱListenȬZustandȱist.ȱInȱdiesemȱFallȱsendetȱdieȱpasȬ siveȱ TCPȬInstanzȱ eineȱ ResetȬPDUȱ (mitȱ gesetztemȱ RSTȬBit),ȱ undȱ manȱ kannȱ inȱ derȱ Regelȱdavonȱausgehen,ȱdassȱdieȱKommunikationsanwendungȱnichtȱrichtigȱinitialiȬ siertȱistȱoderȱaberȱeinȱgrößeresȱProblemȱinȱderȱTCPȬInstanzȱvorliegt.ȱ Sobaldȱ dieȱ Kommunikation,ȱ dieȱ theoretischȱ beliebigȱ langeȱ dauernȱ kann,ȱ abgeȬ schlossenȱ ist,ȱ wirdȱ vonȱ einerȱ Seiteȱ (egalȱ vonȱ welcher)ȱ einȱ Verbindungsabbauȱ iniȬ tiiert.ȱDiesȱgeschiehtȱanȱderȱSocketȬSchnittstelleȱüberȱeinenȱcloseȬAufruf.ȱDieȱinitiieȬ rendeȱSeiteȱstartetȱeinenȱetwasȱmodifiziertenȱDreiȬWegeȬHandshakeȬMechanismus.ȱ Jedeȱ derȱ beidenȱ Verbindungsrichtungenȱ derȱ VollduplexȬVerbindungȱ wirdȱ abgeȬ baut,ȱd.h.ȱbeideȱSeitenȱbauenȱihreȱ„Senderichtung“ȱab.ȱDerȱAblaufȱistȱinȱAbbildungȱ 5Ȭ32ȱskizziertȱundȱverläuftȱwieȱfolgt:ȱ – DerȱaktivȱabbauendeȱPartnerȱ(TȬInstanzȱ1)ȱsendetȱzunächstȱeinȱSegmentȱmitȱ FINȬFlagȱ=ȱ1.ȱȱ – DerȱpassiveȱPartnerȱ(TȬInstanzȱ2)ȱantwortetȱmitȱeinemȱACKȱundȱinformiertȱ dieȱAnwendungȱüberȱdenȱVerbindungsabbauwunsch.ȱ
215ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ – WennȱdieȱPartnerȬAnwendungȱdieȱcloseȬFunktionȱanȱderȱSocketschnittstelleȱ aufruft,ȱ sendetȱ dieȱ TCPȬInstanzȱ einȱ weiteresȱ TCPȬSegmentȱ mitȱ gesetztemȱ FINȬFlag.ȱ – DerȱaktiveȱPartnerȱsendetȱabschließendȱeinȱSegmentȱmitȱACKȬFlagȱ=ȱ1.ȱȱ Inȱ derȱ Abbildungȱ sindȱ dieȱ Zustandsübergängeȱ inȱ denȱ Zustandsautomatenȱ derȱ beteiligtenȱTCPȬInstanzenȱdargestellt.ȱManȱsiehtȱanȱdenȱZustandsübergängen,ȱdassȱ derȱ Verbindungsabbauȱ nichtȱ trivialȱ ist.ȱ Dieȱ Verbindungȱ istȱ einseitigȱ abgebaut,ȱ wennȱ eineȱ Seiteȱ denȱ Zustandȱ CLOSEȱ erreichtȱ hat.ȱ Inȱ diesemȱFallȱsendetȱ sieȱ keineȱ Datenȱ mehrȱ überȱ dieseȱ Verbindung.ȱ Habenȱ beideȱ Seitenȱ denȱ Zustandȱ CLOSEȱ erȬ reichtȱistȱdieȱVerbindungȱvollständigȱabgebaut.ȱȱ
T-Instanz 1 ESTABLISHED close-Aufruf FIN_WAIT_1
T-Instanz 2 Disconn.Request (FIN = 1, folge _nr = i) Disconn.Response (FIN = 0, ACK = 1, best_nr = i+1 folge_nr = j)
FIN_WAIT_2 Disconn.Response (FIN = 1, ACK = 1, best_nr = i+1 folge_nr = j)
TIMED_WAIT Warten... CLOSED
Disconn.Respo nse (ACK = 1, best_nr = j+1)
ESTABLISHED Anwendung informieren CLOSE_WAIT close-Aufruf LAST_ACK CLOSED
Zustände im TCP-Zustandsautomat: ESTABLISHED, FIN_WAIT-1, FIN_WAIT_2, TIMED_WAIT, CLOSED, CLOSE_WAIT, LAST_ACK
ȱ
Abbildungȱ5Ȭ32ȱTCPȬVerbindungsabbauȱ
Eineȱ Besonderheitȱ desȱ Verbindungsabbausȱ beimȱ aktivenȱ Partnerȱ ist,ȱ dassȱ erȱ nachȱ allenȱ Bestätigungenȱ desȱ gegenüberliegendenȱ Partnersȱ dieȱ Verbindungȱ nochȱ nichtȱ abschließt,ȱ sondernȱ erstȱ nochȱ inȱ denȱ Zustandȱ TIMED_WAITȱ geht.ȱ Hierȱ wartetȱ erȱ eineȱ bestimmteȱ Zeitȱ aufȱ Pakete,ȱ dieȱ evtl.ȱ nochȱ imȱ Netzȱ unterwegsȱ sind,ȱ damitȱ nichtsȱverlorenȱgeht.ȱEsȱkönnteȱjaȱsein,ȱdassȱeinȱDatensegmentȱdesȱPartnersȱdurchȱ seineȱACKȬPDUsȱwährendȱdesȱVerbindungsabbausȱüberholtȱwurde.ȱAlleȱSegmenȬ teȱ mitȱ denȱ Folgenummernȱ <ȱ iȱ bzw.ȱ <ȱ jȱ müssenȱ nochȱ beimȱ jeweiligenȱ Zielhostȱ anȬ kommen.ȱInȱdiesemȱZustandȱverweiltȱdieȱTCPȬInstanzȱeineȱdoppelteȱPaketlebensȬ dauerȱ langȱ (sieheȱ auchȱ TimedȬWaitȬTimer).ȱ Nachȱ Ablaufȱ einesȱ Timersȱ wirdȱ derȱ ZustandȱCLOSEȱeingenommen.ȱ
216ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ LautȱZustandsautomatȱgibtȱesȱmehrereȱVariantenȱdesȱVerbindungsabbaus.ȱEsȱgehtȱ auchȱmitȱdreiȱSegmenten,ȱwennȱdieȱpassiveȱSeiteȱvonȱderȱAnwendungȱsofortȱeinenȱ closeȬAufrufȱerhält.ȱBeimȱpassivenȱPartnerȱkannȱesȱaberȱeineȱWeileȱdauern,ȱbisȱdieȱ AnwendungȱaufȱdasȱcloseȬEreignisȱreagiert.ȱDieȱAnwendungȱkönnteȱjaȱevtl.ȱsogarȱ eineȱBenutzereingabeȱerfordern,ȱwasȱvomȱProgrammȱabhängt.ȱ Auchȱ eineȱ abnormaleȱ Beendigungȱ einerȱ Verbindungȱ istȱ möglich.ȱ Inȱ diesemȱ Fallȱ wirdȱ einȱ TCPȬSegmentȱ mitȱ RSTȬBitȱ =ȱ 1ȱ gesendet,ȱ undȱ derȱ Empfängerȱ brichtȱ dieȱ Verbindungȱsofortȱab.ȱ
5.2.7
Staukontrolle
ImȱJahreȱ1986ȱgabȱesȱimȱInternetȱmassiveȱStausituationen.ȱAusȱdiesemȱGrundȱsuchȬ teȱmanȱfürȱdasȱThemaȱStaukontrolleȱ(auchȱCongestionȱControlȱoderȱÜberlastkontȬ rolle)ȱ ȱ eineȱ Lösung,ȱ dieȱ manȱ auchȱ einȱ paarȱ Jahreȱ späterȱ standardisierte.ȱ Seitȱ 1989ȱ gehörtȱeinȱMechanismusȱzurȱStaukontrolleȱzumȱTCPȬStandard.ȱȱ IPȱistȱnichtȱinȱderȱLage,ȱderȱTCPȬSchichtȱirgendwelcheȱInformationenȱzurȱNetzausȬ lastungȱnachȱobenȱzuȱgeben.ȱAlsoȱmussȱTCPȱselbstȱdafürȱsorgen,ȱdassȱesȱStausituaȬ tionenȱ wennȱ möglichȱ präventivȱ erkenntȱ undȱ daraufȱ reagiert.ȱ TCPȱ kannȱ diesȱ nurȱ aufȱ Basisȱ derȱ einzelnenȱ Verbindungen,ȱ alsoȱ fürȱ jedeȱ EndeȬzuȬEndeȬBeziehungȱ seȬ parat.ȱ Staukontrolleȱ darfȱ nichtȱ mitȱ Flusskontrolleȱ verwechseltȱ werden.ȱ Währendȱ dieȱ Staukontrolleȱ Netzproblemeȱ zuȱ vermeidenȱ versucht,ȱ kümmertȱ sichȱ dieȱ FlussȬ kontrolleȱdarum,ȱdassȱkeineȱEmpfangspufferȱinȱdenȱEndsystemenȱüberlaufen.ȱ Einȱ Paketverlustȱ oderȱ eineȱ zuȱ spätȱ ankommendeȱ ACKȬPDUȱ wirdȱ vonȱ TCPȱ alsȱ AuswirkungȱeinerȱStausituationȱimȱNetzȱinterpretiert.ȱDieȱAnnahmeȱvonȱTCPȱist,ȱ dassȱ Netzeȱ prinzipiellȱ stabilȱ sindȱ undȱ daherȱ eineȱ fehlendeȱ Bestätigungȱ nachȱ demȱ Sendenȱ einerȱ Nachrichtȱ aufȱ einȱ Netzproblemȱ zurückzuführenȱ ist.ȱ Inȱ diesemȱ Fallȱ wirdȱdieȱDatenübertragungȱgedrosselt.ȱ Dasȱ verwendeteȱ Verfahrenȱ wirdȱ alsȱ reaktivesȱ SlowȬStartȬVerfahrenȱ (LangsamstartȬ Verfahren,ȱ RFCȱ 1122)ȱ bezeichnet,ȱ weilȱ esȱ mitȱ einemȱ kleinen,ȱ sog.ȱ Überlastfensterȱ beginnt.ȱ Dasȱ Verfahrenȱ bautȱ aufȱ dasȱ Erkennenȱ vonȱ Datenverlustenȱ auf.ȱ BestätiȬ gungenȱdienenȱalsȱTaktgeberȱfürȱdenȱSender.ȱDieȱÜbertragungsrateȱwirdȱimȱÜberȬ lastfallȱ beiȱ diesemȱ Verfahrenȱ vomȱ Senderȱ massivȱ gedrosselt.ȱ Dieȱ gesendetenȱ DaȬ tenmengenȱ werdenȱ kontrolliert.ȱ Imȱ Gegensatzȱ zurȱ Flusskontrolleȱ drosseltȱ beiȱ derȱ Staukontrolleȱ derȱ Senderȱ dieȱ Datenübertragung.ȱ Alleȱ TCPȬImplementierungenȱ müssenȱdasȱSlowȬStartȬVerfahrenȱunterstützen.ȱ TCPȱfunktioniertȱnunȱso,ȱdassȱesȱsichȱfürȱjedeȱVerbindungȱanȱdieȱoptimaleȱDatenüȬ bertragungsrateȱherantastet.ȱDieȱmaximaleȱMengeȱanȱDaten,ȱdieȱohneȱBestätigungȱ gesendetȱwerdenȱdarf,ȱistȱdurchȱdieȱGrößeȱdesȱsog.ȱÜberlastfenstersȱbzw.ȱStaukontȬ rollfenstersȱbegrenzt,ȱdasȱnunȱzusätzlichȱzumȱEmpfangsfensterȱderȱFlusskontrolleȱ verwaltetȱwird.ȱEsȱgilt:ȱ Sendekredit für eine TCP-Verbindung = min {Überlastungsfenster, Empfangsfenster}
217ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Diesȱ bedeutet,ȱ dassȱ derȱ Sendekreditȱ einerȱ Verbindungȱ nichtȱ größerȱ alsȱ dasȱ MiniȬ mumȱausȱderȱGrößeȱdesȱÜberlastfenstersȱundȱdesȱEmpfangsfenstersȱ(Fenstergrößeȱ derȱFlusskontrolle)ȱseinȱdarf.ȱ DieȱStaukontrolleȱläuft,ȱwieȱinȱAbbildungȱ5Ȭ33ȱzuȱsehenȱist,ȱinȱzweiȱPhasenȱab:ȱ – SlowȬStartȬPhaseȱȱ(nachȱdieserȱPhaseȱistȱdasȱVerfahrenȱbenannt):ȱSenderȱundȱ EmpfängerȱeinigenȱsichȱbeimȱVerbindungsaufbauȱaufȱeineȱersteȱzuȱsendendeȱ AnzahlȱanȱSegmentenȱmitȱderȱvereinbartenȱTCPȬSegmentlängeȱ(z.B.ȱ1024ȱByȬ te).ȱȱ – Derȱ Senderȱ sendetȱ zunächstȱ einȱ Segmentȱ dieserȱ Länge.ȱ Kommtȱ eineȱ ACKȬ PDUȱhierfürȱrechzeitig,ȱwirdȱdieȱAnzahlȱderȱSegmente,ȱdieȱgesendetȱwerdenȱ dürfenȱ(alsoȱdasȱÜberlastungsfenster)ȱverdoppelt.ȱExaktȱsiehtȱesȱsoȱaus,ȱdassȱ jedesȱbestätigteȱByteȱverdoppeltȱwird.ȱDasȱgehtȱbisȱzuȱeinemȱSchwellwertȱsoȱ weiter,ȱwasȱzuȱeinerȱexponentiellenȱSteigerungȱderȱGrößeȱdesȱÜberlastungsȬ fenstersȱführt.ȱ – Nachȱ demȱ Erreichenȱ desȱ Schwellwertsȱ (Grenzwert)ȱ gehtȱ dasȱ Verfahrenȱ inȱ dieȱsog.ȱProbingȬȱoderȱÜberlastvermeidungsphaseȱ(CongestionȱAvoidance)ȱüber.ȱ InȱdieserȱPhaseȱerhöhtȱsichȱbeiȱjederȱempfangenenȱQuittungȱdieȱAnzahlȱderȱ zulässigenȱSegmenteȱnurȱnochȱlinearȱumȱ1.ȱ ManȱsiehtȱauchȱinȱderȱAbbildung,ȱdassȱdasȱSlowȬStartȬVerfahrenȱgarȱnichtȱsoȱlangȬ samȱist,ȱsondernȱnurȱmitȱeinemȱkleinenȱÜberlastfensterȱbeginnt.ȱDieȱSteigerungȱderȱ Überlastfenstergrößeȱ istȱ exponentiell,ȱ solangeȱ allesȱ gutȱ geht.ȱ Alsȱ Obergrenzeȱ giltȱ natürlichȱ dieȱ Fenstergröße,ȱ dieȱ auchȱ dynamischȱ ermitteltȱ wird.ȱ Dieȱ Fenstergrößeȱ kannȱ allerdingsȱ durchȱ Nutzungȱ derȱ Optionȱ WSOPTȱ (sieheȱ TCPȬHeader)ȱ bisȱ zuȱ 1ȱ GBȱgroßȱsein.ȱAufgrundȱeinesȱEngpassesȱaufȱderȱEmpfangsseiteȱkannȱimmerȱeineȱ DrosselungȱdesȱDatenverkehrsȱinitiiertȱwerdenȱ(sieheȱhierzuȱdasȱThemaȱFlusskontȬ rolle).ȱ DieȱErmittlungȱderȱGrößeȱdesȱSendekreditsȱerfolgtȱimmerȱinȱbeidenȱTCPȬInstanzenȱ separat,ȱalsoȱfürȱbeideȱKommunikationsrichtungen,ȱundȱkannȱnatürlichȱauchȱvonȬ einanderȱabweichen.ȱȱ Wasȱpassiertȱnun,ȱwennȱeineȱACKȬPDUȱnichtȱrechtzeitigȱeintrifftȱundȱeinȱTimeoutȱ abläuft?ȱTCPȱgehtȱdavonȱaus,ȱdassȱz.B.ȱeinȱweitererȱSenderȱimȱNetzȱhinzugekomȬ menȱ istȱ undȱ sichȱ dieȱ Verbindungȱ mitȱ diesemȱ neuenȱ Senderȱ (undȱ natürlichȱ denȱ schonȱ vorhandenenȱ Teilnehmern)ȱ dieȱ Pfadkapazitätȱ teilenȱ muss,ȱ oderȱ aber,ȱ dassȱ irgendwoȱeinȱNetzproblemȱvorliegt.ȱAlsȱReaktionȱdaraufȱwirdȱderȱSchwellwertȱaufȱ dieȱ Hälfteȱ desȱ aktuellenȱ Staukontrollfenstersȱ reduziert,ȱ dieȱ Segmentgrößeȱ wiederȱ aufȱ dasȱ Minimumȱ heruntergesetzt,ȱ undȱ dasȱ Verfahrenȱ beginntȱ vonȱ vorne,ȱ alsoȱ wiederȱ mitȱ einemȱ SlowȬStart.ȱ Dieȱ Reaktionȱ istȱ alsoȱ massiv,ȱ dieȱ Lastȱ wirdȱ sofortȱ starkȱreduziert.ȱ Abbildungȱ 5Ȭ33ȱ zeigtȱ einȱ Beispielȱ fürȱ eineȱ Entwicklungȱ desȱ Überlastungsfensters.ȱ Dieȱ Ursprungsgrößeȱ desȱ Überlastungsfenstersȱ istȱ hierȱ einȱ TCPȬSegmentȱ mitȱ derȱ Längeȱ1ȱKB.ȱDerȱersteȱSchwellwertȱliegtȱbeiȱ32ȱKB.ȱAbȱdieserȱÜberlastfenstergrößeȱ
218ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ steigtȱ dasȱ Fensterȱ linearȱ umȱ jeweilsȱ eineȱ MSS.ȱ Beiȱ einerȱ Größeȱ desȱ ÜberlastungsȬ fenstersȱ vonȱ 40ȱ KBȱ trittȱ einȱ Timeoutȱ auf,ȱ dieȱ ACKȬPDUȱ bleibtȱ alsoȱ aus.ȱ Derȱ Schwellwertȱwirdȱdannȱaufȱ20ȱKBȱgesetztȱundȱdasȱVerfahrenȱbeginntȱvonȱvorne.ȱ 44
.
40
Überlastungsfenster (KB)
36
.
32
Timeout
Schwelle
28
.
.. . . . .
.
.
24
Schwelle
20
16
12
8
. ..
4
0 0
2
4
. .. 6
8
10
12
14
16
18
20
22
..
24
Anzahl der Übertragungen bzw. RTTs
ȱ Abbildungȱ5Ȭ33:ȱStaukontrolleȱbeiȱTCPȱnachȱ(Tanenbaumȱ2003a)ȱ
ManȱsiehtȱanȱdiesemȱVerfahren,ȱdassȱauchȱhierȱdieȱTimerlängeȱganzȱentscheidendȱ ist.ȱ Istȱ einȱ Timerȱ zuȱ lang,ȱ kannȱ esȱ zuȱ Leistungsverlustenȱ kommen;ȱ istȱ erȱ zuȱ kurzȱ wirdȱ dieȱ Lastȱ durchȱ erneutesȱ Sendenȱ nochmalsȱ erhöht.ȱ TCPȱ führtȱ daherȱ dieȱ BeȬ rechnungȱanhandȱ derȱ Umlaufzeitȱ einesȱ Segmentsȱdynamischȱ durchȱ undȱ versuchtȱ immerȱ eineȱ derȱ Situationȱ angemesseneȱ RTTȱ zuȱ ermitteln.ȱ Dieȱ Algorithmenȱ zurȱ Berechnungȱ derȱ Umlaufzeitȱ sindȱ imȱ RFCȱ 1122ȱ festgehalten.ȱ Derȱ SlowȬStartȬ Algorithmusȱ wirdȱ auchȱ –ȱ zumindestȱ inȱ derȱ CongestionȬAvoidanceȬPhaseȱ –ȱ alsȱ AIMDȬAlgorithmusȱ (AdditiveȬIncrease,ȱ MultiplicativeȬDecrease)ȱ bezeichnet,ȱ weilȱ TCPȱdieȱÜbertragungsrateȱadditivȱerhöht,ȱwennȱderȱTCPȬPfadȱinȱOrdnungȱistȱundȱ multiplikativȱsenkt,ȱwennȱeinȱDatenverlustȱerkanntȱwird.ȱȱ Einȱ ergänzendesȱ Verfahrenȱ zurȱ Staukontrolleȱ inȱ TCPȱ istȱ derȱ FastȬRecoveryȬ Algorithmus,ȱ derȱ denȱ mehrfachenȱ Empfangȱ vonȱ Bestätigungenȱ fürȱ eineȱ TCPȬPDUȱ nutztȱ (RFCȱ 2581).ȱ Wennȱ derȱ Senderȱ vierȱ Quittierungenȱ (dreiȱ ACKȬDuplikate)ȱ fürȱ eineȱ TCPȬPDUȱ empfängt,ȱ gehtȱ erȱ vonȱ einemȱ Paketverlustȱ ausȱ undȱ veranlasstȱ dieȱ sofortigeȱ Sendewiederholungȱ derȱ PDU.ȱ Dieȱ Sendeleistungȱ wirdȱ entsprechendȱ anȬ gepasst.ȱ Derȱ Schwellwertȱ wirdȱ aufȱ dieȱ Hälfteȱ desȱ aktuellenȱ Staukontrollfenstersȱ reduziert.ȱDaȱnurȱvonȱeinemȱPaketverlustȱundȱnichtȱvonȱeinemȱStauȱimȱNetzwerkȱ
219ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ ausgegangenȱ wirdȱ (dieȱ demȱ verlorengegangenenȱ Segmentȱ folgendenȱ Segmenteȱ sindȱ jaȱ imȱ Pufferȱ desȱ Empfängers),ȱ wirdȱ dasȱ Staukontrollfensterȱ aufȱ einenȱ Wertȱ überȱdemȱSchwellwertȱgesetztȱundȱesȱwirdȱzudemȱmitȱderȱStauvermeidungsphaseȱ fortgefahren.ȱ DieȱStaukontrolleȱversuchtȱmanȱinȱletzterȱZeitȱauchȱnochȱüberȱeinenȱanderenȱMeȬ chanismusȱzuȱverbessern.ȱImȱRFCȱ2481ȱwurdenȱzweiȱweitereȱFlagsȱimȱTCPȬHeaderȱ vorgeschlagen,ȱ dieȱ fürȱ dieȱ EndeȬzuȬEndeȬSignalisierungȱ vonȱ Stauproblemen,ȱ geȬ nauerȱ zurȱ explizitenȱ Stausignalisierungȱ zwischenȱ Endpunktenȱ (ECNȱ =ȱ Explicitȱ CongestionȱNotification),ȱverwendetȱwerdenȱsollen.ȱDiesȱsindȱdieȱFlagsȱCWRȱundȱ ECN.ȱWährendȱdesȱVerbindungsaufbausȱhandelnȱhierfürȱdieȱbeidenȱPartnerȱüberȱ dieȱ Flagsȱ CWRȱ undȱ ECNȱ aus,ȱ obȱ sieȱ fürȱ dieȱ Transportverbindungȱ eineȱ EndeȬzuȬ EndeȬStausignalisierungȱ einrichten.ȱ Derȱ aktiveȱ TCPȬPartnerȱ setztȱ beiȱ derȱ SYNȬ Nachricht,ȱ alsoȱ inȱ derȱ ConnectȬRequestȬPDU,ȱ auchȱ dasȱ ECEȬFlagȱ undȱ dasȱ CWRȬ Flag.ȱ Derȱ TCPȬPartnerȱ antwortetȱ inȱ derȱ ConnectȬResponseȬPDUȱ mitȱ einerȱ Bestätigung,ȱ inȱderȱdasȱSYNȬFlag,ȱdasȱACKȬFlagȱundȱdasȱECEȬFlagȱgesetztȱsind,ȱnichtȱaberȱdasȱ CWRȬFlag.ȱIstȱkeinȱECNȱgewünscht,ȱdannȱwirdȱvomȱPartnerȱinȱderȱAntwortnachȬ richtȱwederȱdasȱCWRȬȱnochȱdasȱECEȬFlagȱgesetzt.ȱWieȱdieȱSignalisierungȱderȱStauȬ situationenȱdannȱerfolgt,ȱistȱnochȱweitgehendȱinȱderȱExperimentierphaseȱundȱsollȱ daherȱnichtȱweiterȱausgeführtȱwerden.ȱ
5.2.8
Timer-Management
Dieȱ richtigeȱ Einstellungȱ vonȱ TimeoutȬWertenȱ istȱ inȱ allenȱ Protokollen,ȱ soȱ auchȱ inȱ TCP,ȱ sehrȱ wichtigȱ fürȱ dieȱ Leistungsfähigkeit.ȱ Ausȱ diesemȱ Grundȱ sollȱ anȱ dieserȱ Stelleȱ nochmalsȱ kurzȱ aufȱ dieȱ TimerȬProblematikȱ eingegangenȱ werden.ȱ TCPȱ verȬ wendetȱz.B.ȱfolgendeȱTimer:ȱ – RetransmissionȱTimer:ȱDieserȱTimerȱdientȱderȱÜberwachungȱderȱÜbertragungȱ derȱ TCPȬSegmenteȱ nachȱ demȱ sog.ȱ KarnȬAlgorithmusȱ undȱ wirdȱ fürȱ jedeȱ einȬ zelneȱ Übertragungȱ verwendet.ȱ Wennȱ einȱ Timerȱ abläuft,ȱ wirdȱ erȱ verlängertȱ undȱdasȱTCPȬSegmentȱwirdȱerneutȱgesendetȱ(Übertragungswiederholung).ȱ – Keepaliveȱ Timer:ȱ Dieserȱ Timerȱ wirdȱ verwendet,ȱ umȱ zuȱ überprüfen,ȱ obȱ einȱ Partner,ȱderȱschonȱlängereȱZeitȱnichtsȱgesendetȱhat,ȱnochȱlebt.ȱLäuftȱderȱTiȬ merȱab,ȱüberprüftȱeineȱSeiteȱdurchȱdasȱSendenȱeinerȱNachricht,ȱobȱderȱPartȬ nerȱnochȱlebt.ȱKommtȱkeineȱAntwortȱzurück,ȱwirdȱdieȱVerbindungȱabgebaut.ȱ – TimedȬWaitȬTimer:ȱ Dieserȱ Timerȱ wirdȱ fürȱ denȱ Verbindungsabbauȱ benötigtȱ undȱ läuftȱ überȱ dieȱ doppelteȱ Paketlebensdauerȱ (Sieheȱ TCPȬZustandsȬ automaten).ȱDerȱTimerȱsollȱsicherstellen,ȱdassȱalleȱPaketeȱbeiȱeinemȱVerbinȬ dungsabbauȱnochȱübertragenȱwerden.ȱ DerȱfürȱdieȱLeistungsfähigkeitȱdesȱProtokollsȱwichtigsteȱTimerȱistȱohneȱZweifelȱderȱ RetransmissionȬTimer,ȱderȱbeiȱjedemȱSendenȱeinesȱSegmentsȱangewendetȱwird.ȱErȱ
220ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ wirdȱgestoppt,ȱwennȱdieȱACKȬPDUȱrechtzeitigȱankommt,ȱimȱanderenȱFallȱwirdȱdasȱ Segmentȱerneutȱübertragen.ȱȱ WieȱinȱAbbildungȱ5Ȭ34ȱ dargestellt,ȱistȱdieȱoptimaleȱLängeȱeinesȱTimersȱdannȱgegeȬ ben,ȱwennȱsichȱdieȱWahrscheinlichkeitsdichteȱderȱAnkunftszeitenȱvonȱBestätigunȬ genȱȱwieȱinȱBildȱ(a)ȱverhält.ȱDiesȱistȱaberȱinȱderȱSchichtȱ2ȱvielȱeinfacherȱzuȱerreichenȱ alsȱinȱderȱSchichtȱ4.ȱInȱSchichtȱ2ȱistȱdieȱerwarteteȱVerzögerungȱgutȱvorhersehbar.ȱInȱ Schichtȱ 4ȱ istȱ diesȱ weitausȱ komplizierter,ȱ daȱ dieȱ Rundreisezeitȱ (Roundȱ Tripȱ Time,ȱ RTT)ȱüberȱmehrereȱRouterȱgehenȱkannȱundȱsichȱdiesȱauchȱnochȱdynamischȱändert.ȱ Eineȱ Überlastungȱ desȱ Netzesȱ verändertȱ dieȱ Situationȱ inȱ wenigenȱ Sekunden.ȱ Dieȱ WahrscheinlichkeitsdichteȱderȱAnkunftszeitenȱvonȱBestätigungenȱistȱbeiȱTCPȱeherȱ durchȱ dieȱ Funktionȱ inȱ Bildȱ (b)ȱ beschreibbar.ȱ Einȱ TimerȬIntervallȱ T1ȱ führtȱ hierȱ zuȱ unnötigenȱNeuübertragungen,ȱundȱT2ȱführtȱzuȱLeistungseinbußenȱdurchȱzuȱlangeȱ Verzögerungen.ȱ DieȱRTTȱistȱimȱWesentlichenȱdieȱVerzögerungszeit,ȱalsoȱdieȱZeit,ȱdieȱbenötigtȱwird,ȱ bisȱ dieȱ Quittungȱ fürȱ eineȱ Nachrichtȱ empfangenȱ wird.ȱ Dieseȱ Zeitȱ wirdȱ auchȱ alsȱ RoundtripȬZeitȱbezeichnet.ȱMitȱHilfeȱderȱRTTȱkannȱdieȱTimeoutȬBerechnungȱerfolȬ gen.ȱ Dieȱ RTTȱ verändertȱ sichȱ aberȱ dynamischȱ jeȱ nachȱ Lastsituation.ȱ Ausȱ diesemȱ Grundȱ wirdȱ beiȱ TCPȱ einȱ sehrȱ dynamischerȱ Algorithmusȱ verwendet,ȱ derȱ dasȱ TiȬ meoutȬIntervallȱaufȱderȱGrundlageȱvonȱständigenȱMessungenȱderȱNetzlastȱimmerȱ wiederȱ anpasst.ȱ Dieserȱ Algorithmusȱ gehtȱ imȱ Wesentlichenȱ vonȱ derȱ Messungȱ derȱ RTTȱaus.ȱBeiȱjedemȱRoundtripȱwirdȱdieȱneueȱRTTȱausȱderȱangesammeltenȱRTTȱundȱ derȱzuletztȱgemessenenȱRTTȱermittelt.ȱDieȱWerteȱgehenȱüberȱeinenȱGlättungsfaktor,ȱ derȱtypischerweiseȱbeiȱ7/8ȱliegt,ȱinȱdieȱBerechnungȱein.ȱ AusȱdiesemȱWertȱwirdȱdannȱnachȱeinemȱBerechnungsschema,ȱdasȱaufȱJacobsonȱundȱ KarnȱzurückzuführenȱistȱundȱinȱderȱLiteraturȱnachgelesenȱwerdenȱkann,ȱeinȱneuerȱ TimeoutȬWertȱermittelt.ȱȱ T
T1
T2
0,3
Wahrscheinlichkeit
Wahrscheinlichkeit
0,3
0,2
0,2
0,1
0,1
0
0 0
10
20
30
Rundreise (ms) (a)
Optimale Länge des Timers T
40
50
0
10
20
30
40
50
Rundreise (ms) (b)
Schlechte Timer T1 (zu kurz) und T2 (zu lang)
ȱ
Abbildungȱ5Ȭ34:ȱTimerproblematikȱbeiȱTCPȱnachȱ(Tanenbaumȱ2003a)ȱ
221ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ GehenȱDatenpaketeȱverloren,ȱsoȱmüssenȱsieȱerneutȱgesendetȱwerden.ȱRTTȱwirdȱvonȱ derȱ letztenȱ Wiederholungssendungȱ bisȱ zumȱ ACKȱ ermittelt,ȱ wodurchȱ dieȱ RTTȱ zuȱ niedrigȱ angesetztȱ wird.ȱ Neuereȱ Implementierungenȱ ziehenȱ daherȱ beiȱ derȱ ErmittȬ lungȱ vonȱ RTTȱ dieȱ wiederholtenȱ Datenpaketeȱ nichtȱ mehrȱ mitȱ einȱ undȱ habenȱ dieȱ BestimmungȱdesȱTimeoutsȱweiterȱoptimiertȱ(Tanenbaumȱ2003a).ȱ
5.2.9
TCP-Zustandsautomat
Wieȱbereitsȱmehrfachȱerwähnt,ȱkannȱjedesȱProtokollȱdurchȱeinenȱZustandsautomaȬ tenȱdargestelltȱwerden.ȱHeuteȱverwendetȱmanȱzurȱProtokollspezifikationȱerweiterȬ teȱendlicheȱAutomatenȱ(ExtendedȱFiniteȱStateȱMachines,ȱEFSM)ȱoderȱCommunicaȬ tingȱExtendedȱFiniteȱStateȱMachinesȱ(CEFSM).ȱProtokollinstanzenȱwerdenȱalsȱendȬ licheȱ Automatenȱ derȱ Klasseȱ CEFSMȱ beschrieben.ȱ Alsȱ formaleȱ BeschreibungsspraȬ che,ȱ welcheȱ CEFSMȱ nutzt,ȱ dientȱ z.B.ȱ SDLȱ (Specificationȱ andȱ Descriptionȱ LanguaȬ ge) 6.ȱ ClientAnwendung
ServerAnwendung [Socket-Interface]
TCP-Instanz (Client)
[TCP-Protokoll]
TCP-Instanz (Server)
ȱ Abbildungȱ5Ȭ35:ȱVereinfachtesȱSystemmodellȱfürȱdasȱTCPȬProtokollȱ
Wirȱ wollenȱ hierȱ lediglichȱ eineȱ grobeȱ Darstellungȱ desȱ TCPȬProtokollautomatenȱ geben.ȱ Einȱ vereinfachtesȱ Systemmodellȱ istȱ inȱ Abbildungȱ 5Ȭ35ȱ dargestellt.ȱ Aufȱ derȱ ClientȬSeiteȱ kommuniziertȱ eineȱ ClientȬAnwendungȱ lokalȱ mitȱ einerȱ TCPȬInstanzȱ überȱ einȱ SocketȬInterface.ȱ Aufȱ derȱ Serverseiteȱ verhältȱ esȱ sichȱ ähnlich.ȱ Dieȱ beidenȱ TCPȬInstanzenȱ kommunizierenȱ überȱ TCPȱ miteinander.ȱ Selbstverständlichȱ sindȱ inȱ einerȱ vollständigenȱ Protokollspezifikationȱ auchȱ nochȱ andereȱ Ereignisquellenȱ wieȱ z.B.ȱ einȱ Zeitgeberȱ fürȱ dieȱ Timerbearbeitungȱ notwendig.ȱ Diesȱ wirdȱ fürȱ unsereȱ BeȬ trachtungȱjedochȱvernachlässigt.ȱȱ FürȱalleȱKommunikationskomponentenȱistȱjeweilsȱeinȱProtokollautomatȱzuȱspezifiȬ zieren.ȱWirȱzeigenȱimȱFolgendenȱ(Abbildungȱ5Ȭ36)ȱ denȱvereinfachtenȱProtokollauȬ tomatenȱfürȱdieȱTCPȬInstanzȱ(zusammengefasstȱfürȱbeideȱKommunikationsseiten).ȱ Dieȱ fetten,ȱ durchgezogenenȱ Linienȱ inȱ derȱ Abbildungȱ zeigenȱ dieȱ normalenȱ ZuȬ standsübergängeȱ imȱ Client,ȱ dieȱ fettȱ gestricheltenȱ Linienȱ dieȱ normalenȱ ZustandsȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EineȱsehrȱguteȱEinführungȱzurȱProtokollspezifikationȱmitȱSDLȱistȱinȱ(Gerdsenȱ1994a)ȱzuȱ finden.ȱ
6
222ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ übergängeȱimȱServerȱan.ȱDieȱfeinȱgezeichnetenȱLinienȱdeutenȱSpezialübergängeȱan.ȱ DieȱNotationȱdesȱAutomatenȱistȱwieȱfolgtȱzuȱlesen:ȱ – DieȱKästenȱrepräsentierenȱZustände.ȱ – EinȱZustandsübergangȱwirdȱdurchȱeineȱbeschrifteteȱKanteȱdargestellt.ȱ – Dieȱ Beschriftungȱ amȱ Zustandsübergangȱ gibtȱ dasȱ auslösendeȱ Ereignisȱ (z.B.ȱ eineȱ ankommendeȱ PDU,ȱ denȱ Aufrufȱ einerȱ Funktionȱ desȱ AnwendungsproȬ zessesȱ oderȱ einȱ Timeout)ȱ an.ȱ Nachȱ einemȱ folgendenȱ Schrägstrichȱ wirdȱ dieȱ beimȱ Zustandsübergangȱ ausgeführteȱ Aktionȱ angegebenȱ (z.B.ȱ ACKȱ fürȱ dasȱ Sendenȱ einerȱ ACKȬPDUȱ oderȱ nurȱ einȱ Minuszeichen,ȱ wennȱ nichtsȱ getanȱ wird).ȱ – JeȱnachȱaktuellerȱRolleȱeinesȱTCPȬPartnersȱwerdenȱunterschiedlicheȱZustänȬ deȱ durchlaufen.ȱ Einigeȱ derȱ Zuständeȱ werdenȱ nurȱ imȱ aktivenȱ Partnerȱ verȬ wendet.ȱ Hierzuȱ gehörenȱ dieȱ Zuständeȱ FIN_WAIT_1,ȱ FIN_WAIT_2,ȱ CLOSȬ INGȱ undȱ TIMED_WAIT,ȱ dieȱ fürȱ denȱ aktivenȱ Verbindungsabbauȱ genutztȱ werden.ȱ Andereȱ werdenȱ nurȱ imȱ passivenȱ Partnerȱ verwendet.ȱ HierzuȱgehöȬ renȱ z.B.ȱ dieȱ Zuständeȱ LISTENȱ beimȱ passivenȱ Verbindungsaufbauȱ sowieȱ CLOSED_WAITȱundȱLAST_ACKȱbeimȱpassivenȱVerbindungsabbau.ȱ InteressantȱsindȱvorȱallemȱdieȱZustandsübergängeȱbeimȱVerbindungsaufȬȱundȱabȬ bau.ȱ Clientseitigȱ (alsoȱ imȱ aktivenȱ Partner)ȱ wirdȱ durchȱ dasȱ Sendenȱ einerȱ ConnectȬ RequestȬPDUȱ (SYN)ȱ inȱ denȱ Zustandȱ SYN_SENTȱ übergegangen.ȱ Diesȱ istȱ derȱ ersteȱ SchrittȱimȱDreiȬWegeȬHandshake.ȱNachȱEmpfangȱeinesȱSYNȱundȱeinesȱACKȱ(ACKȬ PDU)ȱ wirdȱ ebenfallsȱ einȱ ACKȱ gesendetȱ undȱ derȱ Zustandȱ aufȱ ESTABLISHEDȱ geȬ wechselt.ȱDieȱVerbindungȱistȱnunȱaufȱderȱClientseiteȱeingerichtet.ȱAufȱderȱServerȬ seiteȱ (passiverȱ Partner)ȱ spieltȱ sichȱ unterdessenȱ Folgendesȱ ab:ȱ Derȱ Serverȱ befindetȱ sichȱ ursprünglichȱ imȱ Zustandȱ LISTEN,ȱ d.h.ȱ erȱ wartetȱ aufȱ ankommendeȱ VerbinȬ dungswünsche.ȱTrifftȱeineȱConnectionȬRequestȬPDUȱeinȱ(SYNȬBitȱgesetzt),ȱantworȬ tetȱ derȱ Serverȱ mitȱ SYN+ACKȱ (ACKȬPDU)ȱ undȱ gehtȱ inȱ denȱ Zustandȱ SYN_RCVD.ȱ Nachȱ demȱ erneutenȱ Empfangȱ einerȱ ACKȬPDUȱ wirdȱ derȱ Zustandȱ aufȱ ESTABLISȬ HEDȱgesetzt.ȱDamitȱistȱauchȱdieȱVerbindungȱaufȱderȱServerseiteȱeingerichtet,ȱundȱ dieȱ Datenübertragungȱ kannȱ inȱ diesemȱ Zustandȱ beginnen.ȱ Derȱ Zustandȱ ESTABȬ LISHEDȱ wirdȱ nurȱ imȱ Fehlerfallȱ (imȱ vereinfachtenȱ Zustandsautomatenȱ nichtȱ darȬ gestellt)ȱoderȱbeimȱBeendenȱderȱVerbindungȱverlassen.ȱ
223ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ
(Startzustand) connect /SYN
CLOSED close/listen/-
close/-
SYN/S YN +ACK LISTEN
SYN RCVD
RST/-
send/SYN (gleichzeitig geöffnet )
SYN/ACK
SYN SENT
(Datenübertragung )
c lose/FIN ACK/-
ESTABLISHED
SYN + ACK/ACK (Schritt 3 des Dreiwege -Handshakes )
c lose/FIN
FIN/ACK
C LOSE aktiv
FIN WAIT 1
FIN /ACK
ACK/-
FIN WAIT 2
(CLOSE
CLOSE WAIT
CLOSING
ACK/-
FIN + ACK/ACK FIN /ACK
passiv)
close/FIN
TIMED WAIT
LAST ACK
(Timeout /-)
Endzustand = Anfangszustand
ACK/-
CLOSED (Zurück zum Anfang)
Abbildungȱ5Ȭ36:ȱVereinfachterȱTCPȬProtokollautomatȱnachȱ(RFCȱ793)ȱ
Derȱ Verbindungsabbauȱ istȱ nochȱ etwasȱ komplizierter,ȱ aberȱ auchȱ hierȱ spiegeltȱ sichȱ derȱDreiȬWegeȬHandshakeȱwider.ȱEinȱaktiverȱPartnerȱ(aktivȱimȱSinneȱdesȱVerbinȬ dungsabbaus)ȱ mussȱ denȱ Verbindungsabbauȱ initiieren.ȱ Derȱ Anwendungsprozessȱ leitetȱ denȱ Verbindungsabbauȱ durchȱ Aufrufȱ derȱ closeȬFunktionȱ ein.ȱ Imȱ Normalfallȱ gehtȱderȱaktiveȱPartnerȱnachȱdemȱSendenȱeinerȱDisconnectȬRequestȬPDUȱ(FINȬBitȱ =ȱ 1)ȱ inȱ denȱ Zustandȱ FIN_WAIT1.ȱ Schonȱ inȱ diesemȱ Zustandȱ wirdȱ keineȱ weitereȱ
224ȱ
5.2ȱȱTransmissionȱControlȱProtocolȱ(TCP)ȱ DataȬPDUȱ mehrȱ gesendet,ȱ esȱ dürfenȱ aberȱ nochȱ welcheȱ empfangenȱ werden.ȱ Derȱ passiveȱPartnerȱempfängtȱeineȱDisconnetȬRequestȬPDU,ȱbestätigtȱdieseȱundȱmeldetȱ derȱ Anwendungȱ denȱ gewünschtenȱ Verbindungsabbau.ȱ Dieȱ Anwendungȱ hatȱ nunȱ ZeitȱaufȱdenȱVerbindungsabbauȱzuȱreagierenȱundȱbestätigtȱdenȱVerbindungsabbauȱ mitȱ derȱ closeȬFunktion.ȱ TCPȱ sendetȱ daraufhinȱ auchȱ anȱ denȱ aktivenȱ Partnerȱ eineȱ DisconnectȬRequestȬPDUȱ undȱ wechseltȱ inȱ denȱ Zustandȱ LAST_ACK,ȱ umȱ aufȱ dieȱ letzteȱBestätigungȱzuȱwarten.ȱDerȱaktiveȱPartnerȱwechseltȱschonȱnachȱderȱerhalteȬ nenȱBestätigungȱinȱdenȱZustandȱFIN_WAIT2ȱundȱwartetȱaufȱdenȱVerbindungsabȬ bauwunsch.ȱNachȱdemȱErhaltȱderȱDisconnectȬRequestȬPDUȱundȱdemȱSendenȱeinerȱ erneutenȱACKȬPDUȱwirdȱimȱaktivenȱPartnerȱinȱdenȱZustandȱTIMED_WAITȱüberȬ gegangen.ȱ Inȱ diesemȱ Zustandȱ wirdȱ derȱ TimedȬWaitȬTimerȱ aufgezogenȱ undȱ zwarȱ aufȱdieȱdoppelteȱPaketlebensdauer.ȱErstȱnachȱAblaufȱdesȱTimersȱwirdȱderȱZustandȱ CLOSEDȱeingenommen,ȱundȱdamitȱistȱdieȱVerbindungȱbeendet.ȱDerȱpassiveȱPartȬ nerȱ wechseltȱ sofortȱ nachȱ demȱ Erhaltenȱ derȱ letztenȱ Bestätigungȱ inȱ denȱ Zustandȱ CLOSED.ȱȱ Beimȱ Verbindungsabbauȱ werdenȱ insgesamtȱ vierȱ Nachrichtenȱ ausgetauscht.ȱ Esȱ handeltȱ sichȱ somitȱ umȱ einenȱ modifiziertenȱ DreiȬWegeȬHandshake,ȱ daȱ derȱ Serverȱ (passiveȱPartner)ȱmitȱzweiȱNachrichtenȱaufȱdenȱVerbindungsabbauwunschȱreagiert.ȱ DerȱGrundȱfürȱdenȱZustandȱTIMED_WAITȱistȱ–ȱwieȱschonȱweiterȱobenȱangesproȬ chenȱ–ȱdarinȱzuȱsehen,ȱdassȱnochȱzurȱSicherheitȱsoȱlangeȱgewartetȱwerdenȱsoll,ȱbisȱ tatsächlichȱkeinȱPaketȱmehrȱunterwegsȱseinȱkann.ȱDeshalbȱwirdȱdieȱaktuellȱdoppelȬ teȱPaketlebensdauerȱalsȱWartezeitȱverwendet.ȱ (Start) 30 sek. - 2 min warten
CLOSED
TIMED WAIT
CONNECT/SYN
SYN SENT SYN+ACK/ACK
FIN/ACK
FIN WAIT2
ACK/-
ESTABLISHED FIN WAIT1
CLOSE/FIN
ȱ
Abbildungȱ5Ȭ37:ȱTCPȬZustandsautomatȱdesȱClientsȱ
Nebenȱ demȱ ebenȱ beschriebenenȱ Verbindungsaufbauȱ undȱ Ȭabbauȱ siehtȱ derȱ TCPȬ Protokollautomatȱ nochȱ spezielleȱ Variantenȱ wieȱ beispielsweiseȱ denȱ gleichzeitigenȱ VerbindungsaufbauȬȱundȱȬabbauȱvor.ȱ
225ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Inȱ Abbildungȱ 5Ȭ37ȱ undȱ Abbildungȱ 5Ȭ38ȱ sindȱ dieȱ Zustandsübergängeȱ nochmalsȱ getrenntȱ fürȱ denȱ TCPȬClientȱ (aktiverȱ Partnerȱ beimȱ Verbindungsaufbau)ȱ undȱ denȱ TCPȬServerȱ(passiverȱPartnerȱbeimȱVerbindungsaufbau)ȱdargestellt.ȱ Derȱ Statusȱ wirdȱ mitȱ allenȱ anderenȱ Variablenȱ imȱ sog.ȱ TCBȱ (Transmissionȱ Controlȱ Blockȱ (RFCȱ 793)ȱ durchȱ dieȱ TCPȬInstanzȱ verwaltet.ȱ Andereȱ Variablen,ȱ dieȱ jeȱ TCPȬ Verbindungȱ undȱ Kommunikationsseiteȱ imȱ TCBȱ liegen,ȱ sindȱ dieȱ Fenstergröße,ȱ dieȱ Größeȱ desȱ Überlastungsfensters,ȱ dieȱ verschiedenenȱ Zeigerȱ fürȱ dieȱ FensterverwalȬ tung,ȱdieȱverschiedenenȱTimerȱusw.ȱ (Start) ACK/-
CLOSED
LISTEN/-
LAST ACK
LISTEN
SYN/SYN+ACK
CLOSE/FIN
CLOSE WAIT
FIN/ACK
SYN RCVD ESTABLISHED
ACK/-
ȱ
Abbildungȱ5Ȭ38:ȱTCPȬZustandsautomatȱdesȱServersȱ
Esȱ sollȱ nochȱ erwähntȱ werden,ȱ dassȱ imȱ TCPȬZustandsautomatenȱ derȱ SendeȬȱ undȱ Empfangsvorgangȱ nichtȱ mehrȱ verfeinertȱ sind.ȱ Erȱ konzentriertȱ sichȱ hauptsächlichȱ aufȱ dasȱ Verbindungsmanagement.ȱ Dieȱ eigentlicheȱ Datenübertragungȱ erfolgtȱ imȱ ZustandȱESTABLISHED.ȱAuchȱhierȱkönnteȱmanȱeineȱVerfeinerungȱvornehmen,ȱdieȱ z.B.ȱ dieȱ Timerüberwachung,ȱ dasȱ BestätigungsȬȱ undȱ dasȱ ÜbertragungswiederhoȬ lungsverfahrenȱinkl.ȱdemȱFastȱRetransmitȱbeschreibt.ȱ
5.3 User Datagram Protocol (UDP) 5.3.1
Einordnung und Aufgaben
Imȱ Gegensatzȱ zuȱ TCPȱ istȱ UDPȱ einȱ unzuverlässiges,ȱ verbindungslosesȱ TransportȬ protokoll.ȱDiesesȱTransportprotokollȱhatȱsichȱimȱGegensatzȱzuȱTCPȱseitȱseinerȱersȬ tenȱSpezifikationȱkaumȱverändert.ȱEsȱistȱwieȱfolgtȱcharakterisiert:ȱ – EsȱwerdenȱkeineȱEmpfangsbestätigungenȱfürȱPaketeȱgesendetȱ – UDPȬNachrichten,ȱdieȱbeiȱUDPȱalsȱDatagrammeȱbezeichnetȱwerden,ȱkönnenȱ jederzeitȱverlorenȱgehenȱ – EingehendeȱPaketeȱwerdenȱnichtȱinȱeinerȱReihenfolgeȱsortiertȱ
226ȱ
5.3ȱȱUserȱDatagramȱProtocolȱ(UDP)ȱ – EsȱgibtȱkeineȱFlussȬȱundȱkeineȱStaukontrolle.ȱ MaßnahmenȱzurȱErhöhungȱderȱZuverlässigkeitȱwieȱBestätigungen,ȱTimerüberwaȬ chungȱ undȱ Übertragungswiederholung,ȱ müssenȱ imȱ darüberliegendenȱ AnwenȬ dungsprotokollȱergriffenȱwerden.ȱLediglichȱdieȱSegmentierungȱundȱauchȱeinȱMulȬ tiplexierenȱ mehrererȱ UDPȬKommunikationsbeziehungenȱ überȱ einenȱ darunterlieȬ gendenȱIPȬSAPȱwirdȱvonȱUDPȱübernommen.ȱTrotzdemȱbietetȱUDPȱ–ȱrichtigȱeingeȬ setztȱ–ȱeinigeȱVorteile:ȱ – BeiȱUDPȱistȱkeineȱexpliziteȱVerbindungsaufbauȬPhaseȱerforderlichȱundȱentȬ sprechendȱauchȱkeinȱVerbindungsabbau.ȱUDPȬbasierteȱProtokolleȱsindȱrechtȱ einfachȱzuȱimplementieren.ȱUDPȱmussȱkeineȱKontextverwaltungȱdurchfühȬ ren,ȱsondernȱarbeitetȱimȱWesentlichenȱzustandslos.ȱDaȱesȱkeineȱVerbindunȬ genȱ gibt,ȱ brauchtȱ manȱ fürȱ jedenȱ Kommunikationsprozessȱ genauȱ einenȱ Portȱ (hierȱ einȱ UDPȬPort).ȱ Einȱ Anwendungsprozessȱ erzeugtȱ einenȱ UDPȬSocketȱ undȱkannȱNachrichtenȱsendenȱundȱempfangen.ȱ – ManȱkannȱunterȱUmständenȱeineȱbessereȱLeistungȱerzielen,ȱaberȱnur,ȱwennȱ TCPȱimȱAnwendungsprotokollȱnichtȱnachgebautȱwerdenȱmuss,ȱsondernȱeineȱ gewisseȱUnzuverlässigkeitȱinȱKaufȱgenommenȱwerdenȱkann.ȱ – MitȱUDPȱkannȱauchȱMulticastingȱundȱBroadcastingȱgenutztȱwerden,ȱd.h.ȱeiȬ neȱGruppeȱvonȱȱAnwendungsprozessenȱkannȱmitȱwesentlichȱwenigerȱNachȬ richtenverkehrȱkommunizieren,ȱalsȱbeiȱNutzungȱeinzelnerȱPunktȬzuȬPunktȬ Verbindungen.ȱBeispielsweiseȱkannȱmanȱmitȱMulticast/BroadcastȱeineȱNachȬ richt,ȱdieȱeinȱProduzentenȬProzessȱerzeugt,ȱmitȱeinerȱeinzigenȱUDPȬPDUȱanȱ mehrereȱPartnerȱsenden.ȱ – DieȱSenderateȱwirdȱbeiȱUDPȱnichtȱwieȱbeiȱTCPȱgedrosseltȱ(sieheȱStaukontrolȬ le),ȱwennȱeineȱNetzüberlastȱvorliegt.ȱEsȱgehenȱdannȱzwarȱevtl.ȱNachrichtenȱ verloren,ȱ aberȱ fürȱ AudioȬȱ undȱ VideoȬStrömeȱ oderȱ sonstigeȱ MultimediaȬ Anwendungenȱkannȱdiesȱgünstigerȱsein 7.ȱ Inȱ denȱ UDPȬDatagrammenȱ wirdȱ immerȱ dieȱ TȬSAPȬAdresseȱ desȱ Sendersȱ undȱ desȱ Empfängersȱgesendet.ȱDerȱTȬSAPȱistȱbeiȱUDPȱeinȱUDPȬPort.ȱDerȱWertebereichȱderȱ inȱeinemȱRechnerȱverfügbarenȱUDPȬPortsȱistȱdisjunktȱzumȱWertebereichȱfürȱTCPȬ PortsȱundȱwirdȱvonȱdenȱProtokollimplementierungenȱvölligȱselbstständigȱverwalȬ tet. Zuȱ denȱ wichtigenȱ UDPȬPortnummern,ȱ dieȱ auchȱ alsȱ wellȬknownȱ Portsȱ definiertȱ sind,ȱgehörenȱu.a.:ȱ – 53,ȱDNSȱ(DomainȱNameȱService)ȱ – 69,ȱTFTPȱ(TrivialȱFileȱTransferȱProtocol)ȱ – 161,ȱSNMPȱ(SimpleȱNetworkȱManagementȱProtocol)ȱ – 520,ȱRIPȱ(RoutingȱInformationȱProtocol)ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Wieȱ bereitsȱ erläutertȱ tolerierenȱ dieseȱ Anwendungenȱ einenȱ gewissenȱ Datenverlustȱ undȱ verkraftenȱdiesenȱeherȱalsȱzuȱgroßeȱundȱunkontrollierbareȱVerzögerungenȱundȱJitter.ȱ
7
227ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ Imȱ Gegensatzȱ zuȱ TCPȱ bietetȱ eineȱ UDPȬInstanzȱ anȱ derȱ Schnittstelleȱ zumȱ AnwenȬ dungsprozessȱ auchȱ keinenȱ StreamȬMechanismus.ȱ Datagrammeȱ werdenȱ inȱ festenȱ Blöckenȱgesendet.ȱ
5.3.2
UDP-Header
DerȱUDPȬProtokollȬHeaderȱ(sieheȱAbbildungȱ5Ȭ39)ȱ istȱverglichenȱmitȱTCPȱwesentȬ lichȱeinfacherȱundȱbestehtȱausȱnurȱachtȱByte.ȱNebenȱderȱAdressierungsinformationȱ enthältȱ erȱ nochȱ dieȱ variableȱ Längeȱ desȱ UDPȬDatagrammsȱ sowieȱ eineȱ optionaleȱ Prüfsumme.ȱ DieȱFelderȱdesȱUDPȬHeadersȱsollenȱkurzȱeinzelnȱbeschriebenȱwerden:ȱ – UDPȬQuellȬPortnummer:ȱNummerȱdesȱsendendenȱPorts.ȱ – UDPȬZielȬPortnummer:ȱ Nummerȱ desȱ empfangendenȱ Ports,ȱ alsoȱ desȱ adresȬ siertenȱPartners.ȱ – Länge:ȱ Hierȱwirdȱ dieȱ Größeȱ desȱUDPȬPaketesȱ inkl.ȱdesȱ Headersȱinȱ ByteȱanȬ gegeben.ȱDiesȱistȱnotwendig,ȱdaȱUDPȬPDUsȱkeineȱfixeȱLängeȱaufweisen.ȱ – Prüfsummeȱ(optional):ȱDieȱPrüfsummeȱistȱoptionalȱundȱprüftȱdasȱGesamtpaȬ ketȱ(Daten+Header)ȱinȱVerbindungȱmitȱeinemȱPseudoȬHeaderȱ(sieheȱunten).ȱ EsȱwirdȱeinȱEinerȬKomplimentȱzuȱderȱSummeȱallerȱ16ȬBitȬWörterȱermittelt. 8ȱ – Daten:ȱNettodatenȱdesȱDatagramms.ȱ DurchȱdieȱAngabeȱderȱDatagrammȬLängeȱ(16ȱBitȱbreitesȱLängenfeld)ȱistȱdieȱLängeȱ einerȱUDPȬPDUȱbegrenzt.ȱDieȱLängeȱeinesȱUDPȬPaketsȱistȱminimalȱ8ȱByteȱ(nurȱderȱ UDPȬHeaderȱohneȱPrüfsumme)ȱundȱmaximalȱ216ȱ –ȱ1ȱ=ȱ65.535ȱByte.ȱȱDieȱNettodaȬ tenlängeȱergibtȱsichȱausȱfolgenderȱBerechnung:ȱ 216 - 1 - 8 (Header) Byte = 65.527 Byte
Esȱistȱsinnvoll,ȱdieȱUDPȬNachrichtenȱnichtȱlängerȱalsȱinȱderȱmaximalȱmöglichenȱIPȬ Paketlängeȱ zuȱ versenden,ȱ daȱ sonstȱ inȱ derȱ IPȬSchichtȱ fragmentiertȱ wirdȱ undȱ dieȱ WahrscheinlichkeitȱeinesȱDatenverlustsȱgrößerȱwird.ȱȱ DaȱdieȱPrüfsummenberechnungȱtatsächlichȱetwasȱkomplizierterȱistȱundȱauchȱnochȱ derȱ sog.ȱ PseudoȬHeaderȱ imȱ Spielȱist,ȱ sollȱ hierȱ nochmalsȱ kurzȱ daraufȱeingegangenȱ werden.ȱDieȱPrüfsummeȱistȱdieȱeinzigeȱMöglichkeit,ȱdieȱintakteȱÜbertragungȱbeimȱ Empfängerȱ zuȱ verifizieren.ȱ Zielȱ desȱ Prozederesȱ istȱ esȱ auch,ȱ beimȱ Empfängerȱ heȬ rauszufinden,ȱobȱdasȱPaketȱdenȱrichtigenȱEmpfängerȱgefundenȱhat.ȱ Manȱsprichtȱvonȱ einemȱPseudoȬHeader,ȱ weilȱ vorȱ demȱ Berechnenȱ derȱPrüfsummeȱ einȱvirtuellerȱHeaderȱgebildetȱwird,ȱderȱumȱdieȱFelderȱausȱAbbildungȱ5Ȭ39ȱergänztȱ wird.ȱDasȱPaketȱwirdȱaufȱeineȱdurchȱ16ȱBitȱteilbareȱGrößeȱaufgefüllt.ȱDieȱergänztenȱ FelderȱsindȱTeileȱdesȱIPȬHeaders.ȱȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ EinzelheitenȱzurȱPrüfsummenberechnungȱfindenȱsichȱimȱRFCȱ1071.ȱ
8
228ȱ
5.3ȱȱUserȱDatagramȱProtocolȱ(UDP)ȱ Derȱ Empfängerȱ mussȱ beiȱ Empfangȱ einerȱ UDPȬNachricht,ȱ dieȱ eineȱ Prüfsummeȱ enthält,ȱfolgendesȱunternehmen:ȱȱ – – – –
DieȱIPȬAdressenȱausȱdemȱankommendenȱIPȬPaketȱlesen.ȱ DerȱPseudoȬHeaderȱmussȱzusammengebautȱwerden.ȱ DieȱPrüfsummeȱmussȱebenfallsȱberechnetȱwerden.ȱ DieȱmitgesendeteȱPrüfsummeȱmitȱderȱberechnetenȱvergleichen.ȱ 32 Bit
UDP-Quellportnummer
UDP-Zielportnummer
Länge
Prüfsumme (optional) Daten
(optional)
UDP-Header
32 Bit
IP-Adresse des Senders IP-Adresse des Empfängers Zero
Protokoll
(17)
UDP-Länge
(ohne Pseudo Header)
UDP-Pseudo-Header
ȱ Abbildungȱ5Ȭ39:ȱUDPȬHeaderȱundȱUDPȬPseudoȬHeaderȱ
WennȱdieȱbeidenȱPrüfsummenȱidentischȱsind,ȱdannȱhatȱmanȱdurchȱdiesenȱTrickȱdieȱ Gewissheit,ȱdassȱdasȱDatagrammȱseinenȱZielrechnerȱundȱauchȱdenȱrichtigenȱUDPȬ Portȱerreichtȱhabenȱmuss.ȱȱEineȱFehlerbehebungȱfindetȱaberȱnichtȱstatt.ȱEinȱfehlerȬ haftesȱ Paketȱ wirdȱ nichtȱ anȱ denȱ Anwendungsprozessȱ weitergegeben,ȱ sondernȱ inȱ denȱmeistenȱImplementierungenȱverworfen. 9ȱ
5.3.3
Datenübertragung
DieȱDatenübertragungȱistȱinȱUDPȱrelativȱeinfach.ȱEineȱUDPȬbasierteȱKommunikaȬ tionsanwendungȱ mussȱ nurȱ dafürȱ sorgen,ȱ dassȱ dieȱ Kommunikationsprozesseȱ ihreȱ Portsȱ kennen,ȱ überȱ dieȱ SocketȬSchnittstelleȱ jeweilsȱ einȱ UDPȬ(Datagramm)ȬSocketȱ erzeugenȱundȱdannȱkönnenȱsieȱsichȱDatagrammeȱzusenden.ȱDasȱSendenȱderȱDatenȱ erfolgtȱ dabeiȱ völligȱ asynchron.ȱ Dasȱ darüberliegendeȱ Anwendungsprotokollȱ mussȱ dieȱeigentlicheȱArbeitȱausführen.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Mancheȱ UDPȬImplementierungenȱ scheinenȱ einȱ fehlerhaftesȱ UDPȬDatagrammȱ auchȱ anȱ denȱAnwendungsprozessȱweiterȱzuȱgebenȱundȱeineȱWarnungȱȱzuȱergänzen.ȱ
9
229ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ UDP-Instanz 1 UDP-Socket erzeugen
UDP-Instanz 2
UDP-Datag
ramm 1
UDP-Socket erzeugen
UDP-Datagramm 2
a UDP-D
tagram
m3
UDP-Datagramm 4
ȱ Abbildungȱ5Ȭ40ȱEinfacheȱKommunikationȱüberȱUDPȱ
DieȱUDPȬInstanzȱwickeltȱbeiȱBedarfȱeineȱSegmentierung/Desegmentierungȱab,ȱaberȱ übernimmtȱzusätzlichȱzurȱÜbertragungȱderȱDatagrammeȱkeineȱweiterenȱMaßnahȬ men.ȱInȱAbbildungȱ5Ȭ40ȱ istȱeineȱtypischeȱKommunikationȱzweierȱüberȱUDPȱkomȬ munizierenderȱ Transportinstanzenȱ dargestellt,ȱ dieȱ sichȱ gegenseitigȱ wahlfreiȱ sichȱ überlappendeȱ Datagrammeȱ zusenden.ȱ Dieȱ gesamteȱ Protokolllogikȱ liegtȱ inȱ denȱ AnwendungsȬPDUs.ȱ Dieȱ beidenȱ inȱ derȱ Abbildungȱ kommunizierendenȱ Prozesseȱ sendenȱhierȱjeweilsȱzweiȱPDUsȱüberȱUDPȱzuȱihrenȱKommunikationspartnern.ȱBeȬ stätigungenȱwerdenȱvonȱUDPȱnichtȱversendet.ȱDieseȱmüssenȱinȱdenȱAnwendungsȬ PDUsȱversendetȱwerden.ȱ AufgrundȱdesȱeinfachenȱProtokollsȱwirdȱanȱdieserȱStelleȱaufȱdieȱBeschreibungȱdesȱ Protokollautomatenȱverzichtet.ȱ
5.4 Abschließende Bemerkung TCPȱ istȱ eindeutigȱ dasȱ weitȱ komplexereȱ Transportprotokollȱ derȱ TCP/IPȬProtokollȬ familie.ȱ Dieȱ TCPȬEntwicklungȱ istȱ aufgrundȱ derȱ sichȱ änderndenȱ Anforderungenȱ (mobileȱSysteme,ȱmultimedialeȱAnwendungen)ȱnochȱnichtȱabgeschlossen.ȱEsȱwirdȱ auchȱ heuteȱ nochȱ ständigȱ weiterentwickelt.ȱ Esȱ sollȱ daherȱ nochȱ abschließendȱ aufȱ neueȱ Ansätzeȱ fürȱ dasȱ Congestionȱ Controlȱ undȱ aufȱ weitereȱ TCPȬFunktionenȱ imȱ Umfeldȱ derȱ HighȬPreformanceȬNetzwerkeȱ hingewiesenȱ werden.ȱ Hierzuȱ gehörenȱ Ansätzeȱ wieȱ TCPȱ Reno,ȱ TCPȱ BIC,ȱ TCPȱ CUBIC,ȱ Hamiltonȱ TCP,ȱ TCPȱ Highspeedȱ undȱ TCPȱ Scalable.ȱ Dieseȱ Ansätzeȱ sollenȱ hierȱ nichtȱ weiterȱ vertieftȱ werden.ȱ Einenȱ erstenȱ EinstiegȱinȱneueȱThemenȱderȱTCPȬForschungȱfindetȱmanȱimȱWWW.ȱ 10ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/index.htmȱ 10.6.2007).ȱ
10
230ȱ
(letzterȱ
Zugriffȱ
amȱ
5.5ȱȱÜbungsaufgabenȱ
5.5 Übungsaufgaben 1.ȱ Nennenȱ Sieȱ vierȱ typischeȱ Protokollfunktionen,ȱ dieȱ inȱ derȱ Transportschichtȱ implementiertȱseinȱsollten!ȱ 2.
Beschreibenȱ Sieȱ einenȱ DreiȬWegeȬVerbindungsaufbauȱ undȱ erläuternȱ Sieȱ kurz,ȱ wieȱmanȱdurchȱdieseȱArtȱdesȱVerbindungsaufbausȱDuplikateȱerkennenȱkann!ȱ
3.
WasȱistȱeineȱEndeȬzuȬEndeȬVerbindungȱimȱSinneȱderȱTransportschicht?ȱ
4.
Nennenȱ Sieȱ jeȱ einenȱ Vorteilȱ fürȱ einȱ verbindungslosesȱ undȱ einȱ verbindungsȬ orientiertesȱProtokollȱderȱTransportschicht!ȱȱ
5.
Wasȱ willȱ manȱ mitȱ einerȱ Timerüberwachungȱ beimȱ Verbindungsabbauȱ einerȱ Transportverbindungȱerreichen?ȱȱ
6.
BeiȱderȱFehlerbehandlungȱnutztȱmanȱinȱeinerȱgesichertenȱTransportschichtȱu.a.ȱ dasȱ positivȱ selektiveȱ undȱ dasȱ negativȱ selektiveȱ Quittierungsverfahren.ȱ ErläuȬ ternȱSieȱdieȱbeidenȱVerfahren!ȱ
7.
Zurȱ Fehlerbehebungȱ nutztȱ manȱ inȱ derȱ Transportschichtȱ dasȱ Verfahrenȱ derȱ Übertragungswiederholung.ȱNennenȱSieȱhierzuȱzweiȱVerfahrenȱundȱerläuternȱ sieȱ dieseȱ kurz!ȱ Wasȱ mussȱderȱ Senderȱ tun,ȱ damitȱ eineȱ ÜbertragungswiederhoȬ lungȱmöglichȱist?ȱ
8.
WasȱistȱbeiȱTCPȱeinȱPortȱundȱwasȱistȱbeiȱTCPȱeinȱwellȬknownȱPort?ȱ
9.
TCPȱistȱdatenstromorientiertȱ(streamȬortientiert).ȱWasȱbedeutetȱdas?ȱ
10. WasȱsindȱTCPȬSegmente,ȱwieȱgroßȱsindȱdieseȱmindestensȱundȱwarum?ȱ 11. WieȱwirdȱinȱTCPȱeineȱVerbindungȱeindeutigȱidentifiziert?ȱ 12. WieȱvieleȱTCPȬSegmenteȱwerdenȱfürȱdieȱÜbertragungȱvonȱ100ȱByteȱNutzdatenȱ durchsȱ Netzȱ gesendet?ȱ Erläuternȱ Sieȱ diesȱ anhandȱ einesȱ TimeȬSequenceȬ Diagramms!ȱ 13. Welcheȱ Quittierungsvarianteȱ wirdȱ beiȱ TCPȱ eingesetzt,ȱ damitȱ derȱ Empfängerȱ denȱordnungsgemäßenȱEmpfangȱeinerȱNachrichtȱbestätigenȱkann?ȱWasȱmachtȱ derȱSenderȱeinesȱPakets,ȱwennȱerȱkeineȱQuittungȱvomȱEmpfängerȱerhält?ȱ 14. ErläuternȱSieȱdasȱSillyȬWindowȬSyndromȱbeiȱTCP!ȱ 15. WozuȱdientȱdasȱSlowȬStartȬVerfahrenȱbeiȱTCP?ȱBeschreibenȱSieȱdasȱVerfahrenȱ kurz!ȱ 16. WozuȱdienenȱdieȱbeidenȱZuständeȱTIMED_WAITȱundȱCLOSE_WAITȱimȱTCPȬ Zustandsautomaten?ȱGehenȱSieȱdabeiȱkurzȱaufȱdenȱVerbindungsabbauȱein!ȱ 17. Nennenȱ Sieȱzweiȱ Timer,ȱ dieȱ beiȱ TCPȱ verwendetȱ werden,ȱundȱ beschreibenȱ Sieȱ kurzȱderenȱAufgabe!ȱȱ 18. Wasȱ unternimmtȱ dieȱ empfangendeȱ UDPȬInstanz,ȱ wennȱ eineȱ UDPȬPDUȱ anȬ kommt?ȱGehenȱSieȱhierȱaufȱdenȱSinnȱdesȱUDPȬPseudoȬHeadersȱein!ȱ
231ȱ
5ȱȱKonzepteȱundȱProtokolleȱderȱTransportschichtȱ 19. NennenȱSieȱzweiȱVorteileȱvonȱUDPȱimȱVergleichȱzuȱTCP!ȱ 20. Wozuȱ dienenȱ dieȱ Statiȱ SYN_RECVDȱ undȱ SYN_SENTȱ desȱ TCPȬZustandsautoȬ maten?ȱȱ 21. WelchenȱSinnȱhatȱderȱUDPȬPseudoȬHeader?ȱ 22. Übernimmtȱ eineȱ UDPȬInstanzȱ dieȱ Aufgabeȱ derȱ Segmentierungȱ einesȱ langenȱ DatagrammsȱoderȱmussȱdieseȱAufgabeȱdasȱAnwendungsprotokollȱerledigen?ȱ 23. Erläuternȱ Sieȱ kurz,ȱ wasȱ beiȱ einerȱ negativenȱ Quittierungȱ fürȱ eineȱ TransportȬ PDUȱpassiert,ȱwennȱinȱeinemȱNetzwerkȱmitȱhoherȱPfadkapazitätȱeineȱfensterȬ basierteȱ Flusskontrolleȱ mitȱ einemȱ großenȱ Fensterȱ angewendetȱ wirdȱ undȱ dieȱ ÜbertragungswiederholungȱimȱGoȬBackȬNȬVerfahrenȱerfolgt.ȱ
232ȱ
ȱ
6 Ausgewählte Anwendungsprotokolle Dasȱ Transportsystemȱ istȱ nurȱ vorhanden,ȱ weilȱ esȱ denȱ eigentlichȱ nutzbringendenȱ Kommunikationssystemen,ȱdieȱinȱderȱAnwendungsschichtȱliegen,ȱalsȱKommunikaȬ tionsbasisȱ dienenȱ soll.ȱ Dieȱ höherenȱ Kommunikationsprotokolleȱ unterstützen,ȱ wieȱ derȱ Nameȱ sagt,ȱ konkreteȱ Anwendungssysteme.ȱ Inȱ diesemȱ Kapitelȱ werdenȱ daherȱ nachȱ einemȱ Überblickȱ überȱ TCPȬȱ undȱ UDPȬbasierteȱ Protokolleȱ derȱ AnwendungsȬ schichtȱ einigeȱ Anwendungssystemeȱ undȱ derenȱ Kommunikationsprotokolleȱ beȬ trachtet.ȱ Alsȱ Fallbeispieleȱ dienenȱ dasȱ Domainȱ Nameȱ Systemȱ (DNS),ȱ Webbasierteȱ Systemeȱ mitȱ HTTPȱ alsȱ Standardprotokollȱ sowieȱ EȬMailȬServicesȱ mitȱ denȱ entspreȬ chendenȱProtokollenȱSMTP,ȱPOP3ȱundȱIMAP4ȱundȱeinigeȱAnwendungsprotokolleȱ fürȱmultimedialeȱSysteme.ȱ Zielsetzung des Kapitels ZielȱdiesesȱKapitelsȱistȱes,ȱeinenȱÜberblickȱüberȱdieȱAufgabenȱundȱdieȱFunktionsȬ weiseȱ höhererȱ Protokolleȱ derȱ TCP/IPȬFamilieȱ undȱ derenȱ Einbettungȱ inȱ dieȱ RefeȬ renzmodelleȱzuȱverschaffen.ȱȱ Wichtige Begriffe DNS,ȱ Domänen,ȱ TopȬLevelȬDomainsȱ (TLDs),ȱ DomainȬServer,ȱ RootȬNameȬServer,ȱ DNSSEC,ȱ HTTP,ȱ AJAX,ȱ XMLHttpRequest,ȱ HTML,ȱ WWW,ȱ SMTP,ȱ IMAP4,ȱ POP3,ȱ Codec,ȱRTP,ȱRTCP,ȱRTSP,ȱSIP,ȱUPnP,ȱMPEG.ȱ
6.1 Überblick über TCP/UDP-Anwendungsprotokolle BevorȱaufȱspezielleȱAnwendungsprotokolleȱderȱTCP/IPȬProtokollfamilieȱeingeganȬ genȱ wird,ȱ sollȱ vorabȱ nochmalsȱ einȱ Überblickȱ überȱ einigeȱ wichtigeȱ Protokolleȱ undȱ derenȱEinordnungȱinȱdieȱProtokollfamilieȱgegebenȱwerden.ȱ WirȱsehenȱinȱAbbildungȱ6Ȭ1ȱ einigeȱProtokolleȱinȱderȱAnwendungsschicht,ȱdieȱentȬ wederȱ aufȱ TCPȱ oderȱ UDPȱ basieren.ȱ Inȱ derȱ Transportschichtȱ sindȱ dieȱ wichtigstenȱ ProtokolleȱTCPȱundȱUDP,ȱdieȱwiederumȱaufȱIPv4/IPv6ȱaufsetzen.ȱ EsȱgibtȱaberȱauchȱdurchausȱProtokolle,ȱdieȱmehrereȱandereȱBasisprotokolleȱnutzen.ȱ DNSȱ kannȱ sowohlȱ überȱ TCPȱ alsȱ auchȱ überȱ UDPȱ arbeiten.ȱ Inȱ derȱ VermittlungsȬ schichtȱsindȱschließlichȱIPv4ȱbzw.ȱIPv6ȱdieȱzentralenȱProtokolle,ȱüberȱdieȱalleȱandeȬ renȱProtokolleȱihreȱNachrichtenȱaustauschen.ȱ
233ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ
FTP Anwendungsschicht
SMTP HTTP HTTPS
NNTP RMI
rlogin... BGP IIOP
RTP
DHCP
H.323 DNS RPC
NFS
BOOTP ruptime
SNMP NIS
SIP
RIP-1/2
IMAP
RTCP
OSPFv1/2
RSVP ...
LDAP
SocketSchnittstelle
Transportschicht
TLS
Vermittlungsschicht
ICMPv4/6
Netzwerkzugang
TELNET
UDP
TCP IGMPv4/6
IEEE 802.x (LANs)
IPv4/6
ARP
FDDI
RARP ATM
Schicht-2Schnittstelle
...
Physikalische Schicht
ȱ Abbildungȱ6Ȭ1:ȱWichtigeȱProtokolleȱderȱTCP/IPȬFamilieȱ
Inȱ Tabelleȱ 6Ȭ1ȱ sindȱ dieȱ Protokollbezeichnungenȱ einigerȱ wichtigerȱ Protokolleȱ derȱ TCP/IPȬProtokollfamilieȱ kurzȱ erläutert.ȱ Zuȱ jedemȱ Protokollȱ wirdȱ angegeben,ȱ aufȱ welchemȱ Basisprotokollȱ (TCP,ȱ UDP,ȱ IP)ȱ esȱ aufsetzt.ȱ Hinterȱ denȱ meistenȱ AnwenȬ dungsprotokollenȱ steckenȱ auchȱ zumȱ Teilȱ komplizierteȱ verteilteȱ Systeme.ȱ DNSȱ istȱ z.B.ȱ einȱ verteiltesȱ Datenhaltungssystem.ȱ FTPȱ setztȱ eineȱ ClientȬ/ServerȬBeziehungȱ zwischenȱ einemȱ FTPȬServerȱ undȱ einemȱ FTPȬClient,ȱ derȱ eineȱ Dateiȱ übertragenȱ möchte,ȱ voraus.ȱ Auchȱ SNMPȱ istȱ zwarȱ derȱ Nameȱ einesȱ Protokolls,ȱ aberȱ dahinterȱ verbirgtȱsichȱeinȱManagerȬAgentenȬSystemȱmitȱSNMPȬAgenten,ȱdieȱManagementȬ Informationenȱ verwalten,ȱ undȱ SNMPȬClientsȱ (ManagementȬAnwendungen),ȱ welȬ cheȱdieȱInformationȱlesenȱundȱteilweiseȱauchȱverändernȱkönnen.ȱ WirȱwollenȱimȱFolgendenȱnurȱeineȱkleineȱAuswahlȱanȱProtokollenȱausȱderȱAnwenȬ dungsschicht,ȱ undȱzwarȱ DNS,ȱ HTTPȱundȱ EȬMailȬProtokolleȱ besprechen,ȱ ohneȱdieȱ manȱ sichȱ dasȱ Internetȱ garȱ nichtȱ mehrȱ vorstellenȱ kann.ȱ Weiterhinȱ werdenȱ wirȱ aufȱ einigeȱ MultimediaȬProtokolleȱ eingehen.ȱ Andereȱ Anwendungsprotokolleȱ wieȱ RIPȱ undȱOSPF,ȱdieȱzwarȱformalȱinȱderȱAnwendungsschichtȱangesiedeltȱsind,ȱfunktionalȱ aberȱ inȱ dieȱ Schichtȱ 3ȱ gehören,ȱ wurdenȱ bereitsȱ anȱ denȱ entsprechendenȱ Stellenȱ beȬ handelt.ȱ Informationenȱ zuȱ denȱ anderenȱ Protokollenȱ sindȱ inȱ derȱ Literaturȱ undȱ inȱ denȱeinschlägigenȱRFCsȱnachzulesen.ȱ
234ȱ
6.1ȱȱÜberblickȱüberȱTCP/UDPȬAnwendungsprotokolleȱ
Tabelleȱ6Ȭ1:ȱProtokolleȱderȱTCP/IPȬFamilieȱ Protokollȱ
Transportȱ
Beschreibungȱ
ARPȱ
IPȱ
AddressȱResolutionȱProtocolȱ
ICMPȱ
IPȱ
InternetȱControlȱMessageȱProtocolȱ
IGMPȱ
IPȱ
InternetȱGroupȱManagementȱProtocolȱ
OSPF,ȱOSPFv2ȱ
IPȱ
OpenȱShortestȱPathȱFirstȱProtocolȱ
RARPȱ
IPȱ
ReverseȱAddressȱResolutionȱProtocolȱ
RSVPȱ
IPȱ
ResourceȱReservationȱProtocolȱ
BGP,ȱBGPȬ4ȱ
TCPȱ
BorderȱGatewayȱProtocolȱ
FTPȱ
TCPȱ
FileȱTransferȱProtocolȱ
HTTPȱ(HTTPS)ȱ
TCPȱ
HypertextȱTransferȱProtocolȱ(overȱTLS)ȱ
IIOPȱ
TCPȱ
InternetȱInterȱORBȱProtocolȱ
NNTPȱ
TCPȱ
NetworkȱNewsȱTransferȱProtocolȱ
SMTPȱ
TCPȱ
SimpleȱMailȱTransferȱProtocolȱ
rcp,ȱrlogin,..ȱ
TCPȱ
BerkeleyȱRemoteȬKommandosȱ
RMPȱ(RMI)ȱ
TCPȱ
JavaȱRemoteȱMethodȱInvocationȱProtocolȱ
TELNETȱ
TCPȱ
SitzungȱmitȱentferntemȱHostȱ
TLSȱ
TCPȱ
TransportȱLayerȱSecurityȱ(SSLv3),ȱVorgängerȱSSLȱ
X.11ȱ
TCPȱ
C/SȬProtokollȱdesȱXȬWindowsȬSystemsȱ
BOOTPȱ
UDPȱ
BootstrapȬProtokollȱfürȱdisklessȱComputerȱ
DHCPȱ
UDPȱ
DynamicȱHostȱConfigurationȱProtocolȱ
LDAPȱ
UDPȱ
LigthtweightȱDirectoryȱAccessȱProtocolȱ
NFSȱ
UDPȱ
NetworkȱFileȱSystemȱ
NIS,ȱNIS+ȱ
UDPȱ
NetworkȱInformationȱServiceȱ
RIPȬ1,ȱRIPȬ2ȱ
UDPȱ
RoutingȱInformationȱProtocolȱ
SNMPȱ
UDPȱ
SimpleȱNetworkȱManagementȱProtocolȱ
RTPȱ
UDPȱ
RealtimeȱTransportȱProtocolȱ
RTCPȱ
UDPȱ
RealtimeȱTransportȱControlȱProtocolȱ
RPCȱ
UDP,ȱTCPȱ
RemoteȱProcedureȱCallȱ(z.B.ȱSunȱONC)ȱ
H.323ȱ
UDP,ȱTCPȱ
ITUȬTȬStandardȱfürȱmultimedialeȱKommunikationȱ
RPCȱ
UDP,ȱTCPȱ
RemoteȱProcedureȱCallȱ(z.B.ȱSunȱONC)ȱ
DNSȱ
UDP,ȱTCPȱ
DomainȱNameȱSystemȱ
SIPȱ
UDP,ȱTCPȱ
SessionȱInitiatonȱProtocolȱ
235ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ
6.2 Domain Name System (DNS) InȱdiesemȱAbschnittȱwirdȱdasȱDomainȱNameȱSystemȱerläutert,ȱdasȱheuteȱimȱInterȬ netȱfürȱdieȱAbbildungȱvonȱsymbolischenȱNamenȱ(Domainnamenȱusw.)ȱaufȱAdresȬ senȱ(IPȬAdressenȱusw.)ȱzuständigȱist.ȱ
6.2.1
Systemüberblick
Imȱ ARPANETȱ mitȱ seinenȱ wenigenȱ hundertȱ Hostsȱ warȱ dieȱ Verwaltungȱ derȱ RechȬ neradressenȱnochȱeinfach.ȱEsȱgabȱeineȱDateiȱhosts.txtȱaufȱeinemȱVerwaltungsrechȬ ner,ȱdieȱalleȱIPȬAdressenȱdesȱNetzwerksȱenthielt.ȱDerȱNamensraumȱwarȱflach.ȱDieȱ DateiȱwurdeȱnachtsȱaufȱdieȱanderenȱHostsȱkopiert,ȱundȱdasȱwarȱderȱganzeȱKonfiȬ gurationsaufwand,ȱderȱzuȱbetreibenȱwar.ȱ Alsȱ dasȱNetzȱ immerȱ größerȱ wurde,ȱ warȱ dasȱ nichtȱ mehrȱ soȱ einfachȱ zuȱ handhabenȱ undȱ manȱ führteȱ imȱ Jahreȱ 1983ȱ DNSȱ (Domainȱ Nameȱ System)ȱ ein.ȱ DNSȱ dientȱ derȱ AbbildungȱvonȱHostnamenȱaufȱIPȬAdressenȱsowieȱEȬMailȬAdressenȱundȱistȱeinȱsog.ȱ InternetȬDirectoryȬService.ȱDasȱDNSȱwurdeȱ1983ȱvonȱPaulȱMockapetrisȱentworfenȱ undȱimȱRFCȱ882ȱbeschrieben.ȱDerȱRFCȱ882ȱwurdeȱinzwischenȱvonȱdenȱRFCsȱ1034ȱ undȱ1035ȱabgelöst.ȱ DNSȱ istȱ einȱ hierarchischesȱ Namensverzeichnisȱ fürȱ IPȬAdressenȱ (Adressbuchȱ desȱ Internets)ȱ undȱ verwaltetȱ eineȱ statischeȱ Datenbasis,ȱ dieȱ sichȱ überȱ zahlreicheȱ InterȬ netȬHostsȱ erstreckt.ȱ Konzeptionellȱ istȱ dasȱ Internetȱ inȱ mehrereȱ hundertȱ Domänenȱ aufgeteilt.ȱ Dieȱ Domänenȱ sindȱ wiederumȱ inȱ Teildomänenȱ (Subdomains)ȱ unterglieȬ dertȱusw.ȱEsȱistȱallerdingsȱeineȱreinȱorganisatorischeȱundȱkeineȱphysikalischeȱEinteiȬ lung.ȱ ManȱsprichtȱauchȱvonȱeinemȱweltweitȱverteiltenȱNamensraumȱ(vgl.ȱAbbildungȱ6Ȭ2),ȱ derȱalsȱBaumȱstrukturiertȱist.ȱDieȱBlätterȱdesȱBaumesȱsindȱdieȱHosts.ȱ Wurzel
mil
com
sun
eng
edu
...
net
...
ieee
...
org
acm
us
isys
www
de
dept101
...
Namensbildung durch Konkatentation entlang des Baumes. Beispiel: eng.sun.com oder www.isys.de
ȱ Abbildungȱ6Ȭ2:ȱHierarchischerȱDNSȬBaumȱ
236ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ ManȱunterscheidetȱverschiedeneȱDomaintypen:ȱ – Geographischeȱ oderȱ länderspezifischeȱ (CountryȬCode,ȱ ccTLDs)ȱ Domainsȱ wieȱ de,ȱ at,ȱ us,ȱ uk,ȱ gb,ȱ usw.ȱ Fürȱ jedesȱ Landȱ istȱ nachȱ ISOȱ 3166ȱ einȱ Codeȱ mitȱ zweiȱBuchstabenȱvorgesehen.ȱEsȱgibtȱderzeitȱüberȱ200ȱccTLDs.ȱFürȱdieȱEuroȬ päischeȱUnionȱwurdeȱ.euȱebenfallsȱdieserȱArtȱvonȱDomainsȱzugeordnet,ȱobȬ wohlȱ .euȱ alsȱ eineȱ Ausnahmeȱ behandeltȱ wirdȱ (Listeȱ derȱ Ausnahmenȱ zuȱ ISOȱ 3166).ȱ – AllgemeineȱDomainsȱfürȱOrganisationenȱ(genericȱoderȱgTLDs)ȱȱ – InfrastrukturȬDomainsȱalsȱSonderfallȱ(spezielleȱDomainȱ.arpa)ȱȱ Manȱ nenntȱ dieseȱ Domainsȱ auchȱ TopȬLevelȬDomainsȱ (ccTLDsȱ fürȱ geographischeȱ Domainsȱ undȱ TLDsȱ fürȱ dieȱ anderen).ȱ Einigeȱ derȱ sog.ȱ TopȬLevelȬDomainsȱ sindȱ inȱ derȱ Tabelleȱ 6Ȭ2ȱ aufgeführt.ȱ Dieseȱ werdenȱ auchȱ alsȱ „nichtȬgesponserte“ȱ Domainsȱ bezeichnet,ȱ daȱ ihreȱ Verwaltungȱ durchȱ dieȱ ICANNȱ erfolgt.ȱ Heuteȱ istȱ dieȱ ICANNȱ (Internetȱ Corporationȱ forȱ Assignedȱ Namesȱ andȱ Numbers)ȱ undȱ dieȱ InternetȬ Communityȱ fürȱ dieȱPflegeȱ undȱ Vergabeȱ derȱ DomainȬNamenȱ verantwortlich.ȱ Willȱ manȱeineȱDomäneȱreservieren,ȱübernimmtȱmeistȱeinȱISPȱ(InternetȱServiceȱProvider)ȱ stellvertretendȱdieseȱAufgabe.ȱ Tabelleȱ6Ȭ2:ȱEinigeȱGenericȱTopȬLevelȬDomainsȱ(gTLDs)ȱ Domain
Beschreibung
com
Kommerzielle Organisationen (sun.com, ibm.com, ...)
edu
Bildungseinrichtungen (fhm.edu)
gov
Amerikanische Regierungsstellen (nfs.gov)
mil
Militärische Einrichtung in den USA (navy.mil)
net
Netzwerkorganisationen (nsf.net)
org
Nichtkommerzielle Organisationen
bis
Business, für Unternehmen
arpa
TLD des ursprünglichen Arpanets, die heute als sog. Address and Routing Parameter Area verwendet wird (auch als "Infrastruktur-Domain" bezeichnet).
pro
Professions, Berufsgruppen der USA, Deutschlands und des Vereinigten Königreichs
ȱ
AlleȱTLDsȱsindȱinȱderȱoberstenȱEbeneȱdesȱNamensbaumsȱplatziert.ȱDieseȱEbeneȱdesȱ DNSȬNamensraumsȱ wirdȱ vomȱ InterNIC 1ȱ(Internetȱ Networkȱ Informationȱ Center)ȱ administriert.ȱ InterNICȱ überträgtȱ dieȱ Verantwortungȱ zurȱ Verwaltungȱ vonȱ DomäȬ nenȱanȱöffentlicheȱundȱprivateȱOrganisationen.ȱDieseȱOrganisationenȱsetzenȱDNSȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sieheȱhierzuȱhttp://www.Internic.com.ȱ
1
237ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ Serverȱ fürȱ dieȱ Verwaltungȱ ein.ȱ Jedesȱ Landȱ hatȱ seineȱ eigeneȱ Registrierungspolitik.ȱ Dieȱ Domäneȱ .deȱ wurdeȱ ursprünglichȱ technischȱ undȱ auchȱ administrativȱ anȱ denȱ Universitätenȱ inȱ Dortmundȱ undȱ Karlsruheȱ verwaltetȱ undȱ wurdeȱ abȱ 1996ȱ mitȱ derȱ GründungȱderȱDENICȱeGȱ(DeutscheȱNetworkȱInformationȱCenter)ȱnachȱFrankfurtȱ überführt.ȱDieȱDENICȱistȱheuteȱeineȱeingetrageneȱGenossenschaft.ȱȱ „Gesponserte“ȱ Domainsȱ werdenȱ vonȱ unabhängigenȱ Organisationenȱ inȱ Eigenregieȱ kontrolliertȱ undȱ auchȱ finanziert.ȱ Dieseȱ Organistationenȱ habenȱ dasȱ Recht,ȱ eigeneȱ RichtlinienȱfürȱdieȱVergabeȱvonȱDomainnamenȱanzuwenden.ȱZuȱdenȱ„gesponserȬ ten“ȱTLDsȱgehören:ȱ – .aero:ȱAeronautics,ȱfürȱinȱderȱLuftfahrtȱtätigeȱOrganisationen,ȱweltweiterȱEinȬ satz.ȱ – .coop:ȱStehtȱfürȱcooperativesȱ(Genossenschaften),ȱweltweiterȱEinsatz.ȱ – .mobi:ȱDarstellungȱvonȱWebseitenȱspeziellȱfürȱmobileȱEndgeräte,ȱweltweiterȱ Einsatz.ȱ – .museum:ȱMuseen,ȱweltweiterȱEinsatz.ȱ – .name:ȱNurȱfürȱnatürlicheȱPersonenȱoderȱFamilienȱ(Privatpersonen),ȱweltweiȬ terȱEinsatz.ȱ – .travel:ȱFürȱdieȱReiseȬIndustrieȱ(z.B.ȱReisebüro,ȱFluggesellschaftenȱetc.).ȱ Dieȱ InfrastrukturȬTLDȱ .arpaȱ warȱ ursprünglichȱ nurȱ alsȱ temporäreȱ Lösungȱ beiȱ derȱ EinrichtungȱdesȱDNSȱimȱInternetȱgedacht,ȱjedochȱstellteȱsichȱdieȱspätereȱAuflösungȱ dieserȱ Domainȱ alsȱ problematischȱ heraus.ȱ Dieȱ Subdomainȱ inȬaddr.arpaȱ istȱ heuteȱ weltweitȱimȱEinsatz,ȱumȱdasȱAuflösenȱeinerȱIPȬAdresseȱinȱeinenȱDomainnamenȱzuȱ ermöglichen.2ȱȱ EsȱgibtȱimȱglobalenȱInternetȱheuteȱauchȱOrganisationen,ȱdieȱalternativeȱDNSȬServerȱ betreiben,ȱ überȱ dieȱ zusätzlichȱ zuȱ denȱ vomȱ ICANNȱ kontrolliertenȱ TLDsȱ weitereȱ TLDsȱverfügbarȱsind.ȱDieseȱAdressenȱsindȱaberȱfürȱherkömmlicheȱInternetȬNutzerȱ nichtȱ erreichbar.ȱ Auchȱ werdenȱ sieȱ vonȱ Suchmaschinenȱ wieȱ Googleȱ ignoriert.ȱ Einȱ weitererȱNachteilȱist,ȱdassȱdieȱNamensräumeȱzweierȱBetreiberȱkollidierenȱkönnen.ȱ FolgendeȱOrganisationenȱsindȱnochȱverfügbar:ȱ – OpenNICȱ versuchtȱ dieȱ alternativenȱ Systemeȱ zusammenzuführen,ȱ betrachtetȱ jedochȱdieȱICANNȬTLDsȱalsȱvorrangigȱundȱakzeptiertȱwederȱinȱKonfliktȱsteȬ hendeȱnochȱprivateȱNamensräume.ȱOpenNICȱverfügtȱüberȱeigeneȱTLDsȱmitȱ denȱBezeichnungenȱ.glue,ȱ.indy,ȱ.geek,ȱ.null,ȱ.ossȱundȱ.parody.ȱ – AlterNICȱ stelltȱ dieȱ folgendenȱ TLDsȱ .exp,ȱ .llc,ȱ .lnx,ȱ .ltd,ȱ .med,ȱ .nic,ȱ .noc,ȱ .pornȱ usw.ȱzurȱVerfügung.ȱ – DasȱFreeȱCommunityȱNetworkȱverwendetȱalsȱeinzigeȱTLDȱ.fcn.ȱ – Pacificȱ Rootȱ bietetȱ TLDs,ȱ dieȱ überȱ OpenNICȬNameȬServerȱ erreichbarȱ sind:ȱ ais,ȱ.bali,ȱ.belize,ȱ.bio,ȱ.cal,ȱ.career,ȱ.chem,ȱ.children,ȱ.costarica,ȱ.ind,ȱ.job,ȱ.lib,ȱ.medic,ȱ .nomad,ȱ.npo,ȱ.ppp,ȱ.sat,ȱ.satcom,ȱ.satnet,ȱ.scuba,ȱ.socal,ȱ.stream,ȱ.workȱundȱ.www.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sieheȱauchȱ„reverseȱLookup“ȱweiterȱunten.ȱ
2
238ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ DesȱWeiterenȱgibtȱesȱauchȱdasȱeuropäischeȱOpenȱRootȱServerȱNetwork.ȱEsȱstelltȱeineȱ unabhängigeȱAlternativeȱzuȱdenȱICANNȬRootȬNameȬServern 3ȱbereit.ȱ DNSȱ istȱ eineȱ baumförmigeȱ weltweiteȱ Vernetzungȱ vonȱ NameȬServernȱ (DNSȬ Servern),ȱ dieȱ gemeinsamȱ dieȱ verteilteȱ DNSȬDatenbankȱ bilden.ȱ Jederȱ Knotenȱ imȱ DNSȬBaumȱ hatȱ einenȱ Namenȱ undȱ stelltȱ eineȱ Domäneȱ bzw.ȱ eineȱ Subdomäne.ȱ Derȱ Baumȱ kannȱ mitȱ einemȱ Verzeichnisȱ inȱ einemȱ Dateisystemȱ verglichenȱ werden.ȱ Inȱ Abbildungȱ 6Ȭ3ȱ sindȱ zweiȱ Beispieleȱ fürȱ Unternehmensnetzeȱ mitȱ einemȱ entspreȬ chendenȱ SubdomänenȬBaum.ȱ Beispielsweiseȱ hatȱ dieȱ Hochschuleȱ Münchenȱ eineȱ AufteilungȱderȱDomäneȱhmȱinȱSubdomänenȱrealisiert.ȱDieȱFakultätȱInformatikȱ(cs:ȱ ComputerȱScience)ȱhatȱz.B.ȱeinenȱeigenenȱAdressraumȱzuȱverwalten.ȱ com edu
company hm ...
location ...
cs
division Hochschule München
host
... Mögliche Struktur eines Unternehmens
ȱ
Abbildungȱ6Ȭ3:ȱBeispieleȱfürȱeineȱDomäneȱmitȱuntergeordnetenȱSubdomänenȱ
6.2.2
DNS-Zonen und deren Verwaltung
Dasȱ Herzstückȱ vonȱ DNSȱ bildenȱ dieȱ sog.ȱ DNSȬRootȬNameȬServerȱ (kurz:ȱ RootȬ NameȬServer).ȱ Dieseȱ stehenȱ weltweitȱ zurȱ Verfügung,ȱ umȱ eineȱ DNSȬAnfrageȱ zuȱ beantwortenȱ bzw.ȱ Informationenȱ überȱ dieȱ weitereȱ Sucheȱ zuȱ geben.ȱ Einȱ RootȬ NameȬServerȱ verfügtȱ überȱ eineȱ ReferenzȬDatenbankȱ allerȱ vonȱ derȱ ICANNȱ freigeȬ gebenenȱTopȬLevelȬDomainsȱ(TLD)ȱundȱdieȱwichtigstenȱReferenzenȱaufȱdieȱsog.ȱTopȬ LevelȬDomainȬServer.ȱȱ Einȱ RootȬNameȬServerȱ kenntȱ immerȱ einenȱ DNSȬServer,ȱ derȱ eineȱ Anfrageȱ beantȬ wortenȱ oderȱ zumindestȱ anȱ denȱ richtigenȱ DNSȬServerȱ weiterleitenȱ kann.ȱ Erȱ weiß,ȱ woȱ dieȱ einzelnenȱ TopȬLevelȬDomainȬServerȱ zuȱ findenȱ sind.ȱ Dieȱ RootȬDomainȬ ServerȱsindȱdemnachȱfürȱdieȱNamensauflösungȱvonȱgroßerȱBedeutung.ȱWärenȱalleȱ RootȬDomainȬServerȱnichtȱmehrȱverfügbar,ȱdannȱkönnteȱmanȱimȱInternetȱnurȱnochȱ sehrȱeingeschränktȱkommunizieren.ȱ Esȱ gibtȱ derzeitȱ weltweitȱ 13ȱ sog.ȱ RootȬNameȬServerȱ (Aȱ bisȱ M),ȱ vonȱ denenȱ 10ȱ inȱ Nordamerika,ȱeinerȱinȱStockholm,ȱeinerȱinȱLondonȱundȱeinerȱinȱTokioȱ(MȬKnoten)ȱ stehen.ȱ Daȱ dieȱ RootȬNameȬServerȱ vielfachȱ dasȱ Zielȱ vonȱ Angriffenȱ waren,ȱ wurdeȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DieȱAufgabeȱderȱDNSȬRootȬNameȬServerȱwirdȱweiterȱuntenȱinȱdiesemȱKapitelȱerläutert.ȱ
3
239ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ dieȱAusfallsicherheitȱdurchȱdieȱNutzungȱvonȱAnycastȱȱalsȱAdressierungsartȱinȱdenȱ letztenȱJahrenȱnochmalsȱwesentlichȱerhöht.ȱȱ Einigeȱ RootȬNameȬServerȱ bestehenȱ heuteȱ somitȱ nichtȱ mehrȱ ausȱ einemȱ ServersysȬ tem,ȱ sondernȱ ausȱ mehrerenȱ Serversystemen,ȱ dieȱ zuȱ einemȱ logischenȱ Serverȱ zuȬ sammengeschlossenȱ sind.ȱ Dieseȱ Serverȱ (Nodes)ȱ befindenȱ sichȱ anȱ verschiedenenȱ Standortenȱ umȱ dieȱ ganzeȱ Weltȱ verteiltȱ undȱ sindȱ perȱ Anycastȱ überȱ dieselbeȱ IPȬ Adresseȱ erreichbar.ȱ Beiȱ Anycastȱ antwortetȱ derȱ RootȬNameȬServerȱ aufȱ eineȱ DNSȬ Anfrage,ȱ derȱ überȱ dieȱ kürzesteȱ Routeȱ erreichbarȱ ist.ȱ Anfangȱ 2007ȱ nutztenȱ bereitsȱ sechsȱRootȬNameȬServerȱdasȱAnycastȬVerfahren.ȱDerȱRootȬNameȬServerȱFȱbestandȱ z.B.ȱ ausȱ 33,ȱ derȱ RootȬNameȬServerȱ Kȱ ausȱ 16ȱ Serverrechnern.ȱ Anfangȱ 2009ȱ gabȱ esȱ insgesamtȱbereitsȱmehrȱalsȱ120ȱRootȬNameȬServerȱweltweit.ȱ Gemäßȱ RFCȱ 2870ȱ mussȱ jederȱ RootȬNameȬServerȱ mitȱ derȱ dreifachenȱ Lastȱ desȱ amȱ stärkstenȱ belastetenȱ RootȬNameȬServersȱ umgehenȱ können.ȱ Dasȱ bedeutet,ȱ dassȱ einȱ RootȬNameȬServerȱ imȱ Normalbetriebȱ nurȱ maximalȱ einȱ Drittelȱ seinerȱ Kapazitätȱ ausnutzenȱ darf.ȱ Fallenȱ zweiȱ Drittelȱ derȱ Kapazitätȱ einesȱ RootȬNameȬServersȱ aus,ȱ sollȱdasȱnochȱbetriebsfähigeȱDrittelȱtrotzdemȱalleȱAnfragenȱbeantwortenȱkönnen.ȱ DaȱdieȱAbhängigkeitȱvonȱdenȱinȱNordamerikaȱplatziertenȱRootȬNameȬServernȱsehrȱ hochȱ war,ȱ hatteȱ sichȱ seitȱ demȱ Jahreȱ 2002ȱ eineȱ europäischeȱ Initiative,ȱ dasȱ ORSNȱ (Openȱ Rootȱ Serverȱ Network)ȱ etabliert,ȱ umȱ fürȱ eineȱ gewisseȱ Autarkieȱ desȱ NetzȬ werksȱ inȱ Europaȱ zuȱ sorgen.ȱ Dieȱ ORSNȱ wollteȱ gerneȱ inȱ mehrerenȱ europäischenȱ Ländern,ȱ allerdingsȱ max.ȱ 13ȱ RootȬNameȬServer,ȱ einrichten.ȱ Dasȱ Netzwerkȱ wurdeȱ auchȱaufgebaut,ȱallerdingsȱwurdeȱderȱBetriebȱimȱJahreȱ2008ȱmangelsȱInteresseȱderȱ Betreiberȱwiederȱeingestellt.ȱȱ Einȱ Internetȱ Serviceȱ Providerȱ (ISP)ȱ oderȱ einȱ privaterȱ ISPȱ (z.B.ȱ einȱ Unternehmen)ȱ verfügtȱ überȱ einenȱ lokalenȱ DNSȬServer.ȱ Dieȱ Anfrageȱ einesȱ Hostsȱ gehtȱ zunächstȱ zumȱ lokalenȱ DNSȬServer.ȱ Einȱ Hostȱ kenntȱ dessenȱ Adresseȱ meistȱ aufgrundȱ einerȱ manuellen4ȱoderȱeinerȱauomatischenȱ(sieheȱDHCP)ȱKonfiguration.ȱ EinȱeinzelnerȱDNSȬServerȱverwaltetȱjeweilsȱsog.ȱZonenȱdesȱDNSȬBaums,ȱwobeiȱeineȱ ZoneȱanȱeinemȱBaumknotenȱbeginntȱundȱdieȱdarunterliegendenȱZweigeȱbeinhaltet.ȱ EinȱDNSȬServerȱ(bzw.ȱdieȱentspr.ȱOrganisation)ȱkannȱdieȱVerantwortungȱfürȱSubȬ zonenȱ anȱ einenȱ weiterenȱ DNSȬServerȱ delegieren.ȱ Dieȱ DNSȬServerȱ kennenȱ jeweilsȱ ihreȱNachbarnȱinȱderȱdarunterȬȱundȱdarüberliegendenȱZone.ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Unterȱ Windowsȱ kannȱ dieȱ IPȬAdresseȱ desȱ lokalenȱ DNSȬServersȱ z.B.ȱ inȱ derȱ SystemȬ steuerungȱ(Netzwerk)ȱimȱentsprechendenȱRegisterȱeingetragenȱwerden.ȱ
4
240ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ Beispiel für die Delegation: - TLD-Server kennt isys-Server - isys-Server kennt dept101-Server Zuständigkeit des TLDServers
de Zuständigkeit des DNSServers für dept101. isys.de
...
dept101
mandl
Zuständigkeit des DNSServers für isys.de
isys
financial
...
ȱ Abbildungȱ6Ȭ4:ȱDNSȬNameȬServerȱundȱZonenȱ
InȱAbbildungȱ6Ȭ4ȱistȱz.B.ȱeinȱDNSȬTeilbaumȱdargestellt,ȱderȱdreiȱZonenȱzeigt.ȱDieȱ obersteȱ Zoneȱ mitȱ demȱ Domänennamenȱ .deȱ wirdȱ vomȱ TLDȬServerȱ verwaltet.ȱ Dieȱ DomäneȱisysȱundȱallesȱwasȱdarunterȱliegtȱwirdȱanȱdieȱFirmaȱiSYSȱdelegiert.ȱUnterȱ isysȱ sindȱ zweiȱ Zonenȱ angelegt.ȱ Eineȱ Zoneȱ fürȱ dieȱ Domäneȱ isysȱ undȱ eineȱ weitereȱ Zoneȱ fürȱ denȱ Teilbaumȱ derȱ Abteilungȱ dept101.ȱ Inȱ beidenȱ Zonenȱ sindȱ DNSȬServerȱ vorhanden.ȱ Eineȱ Anfrageȱ ausȱ einemȱ anderenȱ Netzȱ kannȱ vomȱ TLDȬServerȱ anȱ denȱ iSYSȬDNSȬServerȱweitergeleitetȱwerden,ȱderȱdannȱseinerseitsȱggf.ȱdenȱDNSȬServerȱ ausȱdept101ȱnutzt.ȱDieȱdept101ȬZoneȱistȱnachȱaußenȱhinȱnichtȱbekannt.ȱ
6.2.3
Namensauflösung
Eineȱ Anwendung,ȱ dieȱ eineȱ Adresseȱ benötigt,ȱ wendetȱ sichȱ lokalȱ anȱ einenȱ Resolverȱȱ (Library),ȱderȱdieȱAnfrageȱanȱdenȱlokalenȱDNSȬServerȱ(auchȱNameȬServer)ȱrichtet,ȱ wieȱ dasȱ Beispielȱ inȱ Abbildungȱ 6Ȭ5ȱ zeigt.ȱ Unterȱ Unixȱ bzw.ȱ Linuxȱ sindȱ dieȱ NameȬ ServerȬDiensteȱ alsȱ BINDȱ ȱ (Berkeleyȱ Internetȱ Nameȱ Domain)ȱ implementiert.ȱ Imȱ DNSȬServerȱ läuftȱ derȱ Dämonprozessȱ named.ȱ BINDȱ stütztȱ sichȱ aufȱ mehrereȱ KonfiȬ gurationsdateien,ȱ dieȱ weiterȱ untenȱ erläutertȱ werden.ȱ DNSȬServerȱ sindȱ alsoȱ ProgȬ ramme,ȱdieȱAnfragenȱzuȱihremȱDomainȬNamensraumȱbeantworten.ȱȱ Manȱ unterscheidetȱ zwischenȱ autoritativenȱ undȱ nichtȬautoritativenȱ DNSȬServern.ȱ DerȱeinemȱHostȱdirektȱzugeordneteȱDNSȬServerȱwirdȱalsȱautoritativerȱDNSȬServerȱ bezeichnet.ȱOftȱsindȱdieȱlokalenȱundȱautoritativenȱDNSȬServerȱidentisch.ȱEinȱautoȬ ritativerȱ DNSȬServerȱ verfügtȱ immerȱ überȱ dieȱ Adressenȱ derȱ direktȱ zugeordnetenȱ Hostsȱ undȱistȱ verantwortlichȱ fürȱ eineȱ Zone.ȱ Seineȱ Informationenȱ überȱ dieseȱ Zoneȱ werdenȱ deshalbȱ alsȱ gesichertȱ angesehen.ȱ Fürȱ jedeȱ Zoneȱ existiertȱ mindestensȱ einȱ
241ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ autoritativerȱDNSȬServer,ȱderȱsog.ȱPrimaryȱNameȬServer.ȱDieserȱwirdȱinȱeinerȱKonȬ figurationsdatei 5ȱbekanntȱgemacht.ȱȱ Einȱ nichtȬautoritativerȱ NameȬServerȱ beziehtȱ seineȱ Informationenȱ überȱ eineȱ Zoneȱ vonȱ anderenȱ NameȬServern.ȱ Derartigeȱ Informationenȱ sindȱ allerdingsȱ nichtȱ gesiȬ chert.ȱ Daȱ sichȱ DNSȬInformationenȱ nurȱ seltenȱ ändern,ȱ speichernȱ nichtȬautoritativeȱ DNSȬServerȱ dieȱ erhaltenenȱ Informationenȱ inȱ einemȱ lokalenȱ Cacheȱ imȱ HauptspeiȬ cherȱab,ȱdamitȱdieseȱbeiȱeinerȱerneutenȱAnfrageȱschnellerȱvorliegen.ȱJederȱEintragȱ besitztȱaberȱeinȱVerfalldatumȱ(TTLȬDatumȱ=ȱtimeȱtoȱlive),ȱnachȱdessenȱAblaufȱeineȱ Löschungȱ ausȱ demȱ Cacheȱ erfolgt.ȱ Derȱ TTLȬWertȱ wirdȱ durchȱ einenȱ autoritativenȱ Serverȱ bestimmtȱ undȱ anhandȱ derȱ Änderungswahrscheinlichkeitȱ desȱ Eintragsȱ erȬ mittelt.ȱDNSȬDaten,ȱdieȱsichȱhäufigȱändern,ȱerhaltenȱeineȱniedrigeȱTTL.ȱDasȱkannȱ aberȱauchȱbedeuten,ȱdassȱderȱDNSȬServerȱnichtȱimmerȱrichtigeȱInformationenȱlieȬ fert.ȱȱ Derȱ Kommunikationsanwendungȱ bleibtȱ dieȱ Artȱ undȱ Weise,ȱ wieȱ dieȱ Adresseȱ beȬ sorgtȱwird,ȱverborgen.ȱSieȱruftȱlediglichȱeineȱMethodeȱoderȱFunktionȱauf,ȱwieȱz.B.ȱ gethostbynameȱinȱderȱSpracheȱC,ȱdieȱeineȱIPȬAdresseȱzuȱeinemȱHostnamenȱbesorgtȱ undȱdabeiȱimplizitȱdieȱMethodeȱresolveȱnutzt.ȱ DerȱResolverȱkannȱdieȱAnfrageȱentwederȱlokalȱbefriedigen,ȱwennȱerȱdieȱIPȬAdresseȱ inȱseinemȱCacheȱgespeichertȱhat,ȱoderȱerȱsetztȱeinenȱRequestȱanȱdenȱihmȱzugeordȬ netenȱlokalenȱDNSȬServerȱab.ȱDerȱDNSȬServerȱprüft,ȱobȱerȱdieȱAdresseȱinȱseinemȱ Cacheȱhat.ȱFallsȱja,ȱdannȱgibtȱerȱdieseȱinȱeinerȱResponseȬNachrichtȱanȱdenȱResolverȱ zurück.ȱ Fallsȱ erȱ dieȱ Adresseȱ nichtȱ hat,ȱ sendetȱ erȱ seinerseitsȱ einenȱ Requestȱ anȱ denȱ nächstenȱDNSȬServer.ȱ evtl. DNS-Server der übergeordneten Zone fragen, Strategien: ÆRekursive Queries (ganz auflösen) ÆIterative Queries (selbst weiterfragen) Kommunikationsanwendung
1: resolve resolver cache Im gleichen Prozess-Adressraum
2: DNS-Request
DNS-Server (named)
3: DNS-Response cache über TCP/IP-Netz Caching-Zeit hängt ab von der Gültigkeitsdauer, TTL
ȱ Abbildungȱ6Ȭ5:ȱAdressauflösungȱimȱDNSȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sog.ȱZonendatei,ȱimȱSOAȱResourceȱRecord.ȱ
5
242ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ Fürȱ dieȱ Kommunikationȱ derȱ DNSȬKomponentenȱ untereinanderȱ sindȱ gleichermaȬ ßenȱ derȱ TCPȬȱ undȱ derȱ UDPȬPortȱ mitȱ derȱ Nummerȱ 53ȱ reserviert.ȱ DNSȬAnfragenȱ werdenȱ normalerweiseȱ aufȱ demȱ UDPȬPortȱ abgesetztȱ undȱ auchȱ beantwortet.ȱ Fallsȱ dieȱ Antwortȱ aberȱ größerȱ alsȱ 512ȱ Byteȱ war,ȱ wurdeȱ dieseȱ früherȱ aufȱ demȱ TCPȬPortȱ übermittelt.ȱ Mitȱ Einführungȱ vonȱ EDNSȱ (Extendedȱ DNS)ȱ ȱ alsȱ DNSȬErweiterungȱ wurdeȱauchȱdieȱzehnfacheȱPDUȬGrößeȱ(RFCȱ2671)ȱmöglich.ȱȱ Root edu
com
...
edu-Zone
...
... com-Zone
...ibm.com
...
hm.edu NSx = DNS-Server
NS1 H1
Netz an HM
NS2 R1
Internet
NS3
NS4 R2
Z.B. WWWServer
IBM-Netz
H2
ȱ Abbildungȱ6Ȭ6:ȱIterativeȱAuflösungȱvonȱHostnamenȱ
Derȱ DNSȬServerȱ kannȱ entwederȱ eineȱ rekursiveȱ oderȱ eineȱ iterativeȱ Anfrageȱ (Query)ȱ absetzen.ȱInȱAbbildungȱ6Ȭ6ȱistȱz.B.ȱeineȱiterativeȱAuflösungȱskizziert.ȱDerȱHostȱH1ȱ imȱNetzȱderȱHochschuleȱMünchenȱ(hm.edu)ȱmöchteȱmitȱdemȱRechnerȱH2ȱimȱIBMȬ eigenenȱ Netzȱ unterȱ ibm.comȱ kommunizierenȱ undȱ wendetȱ sichȱ zurȱ AdressermittȬ lungȱzunächstȱanȱdenȱlokalenȱDNSȬServerȱNS1.ȱDieserȱfragtȱinȱderȱübergeordnetenȱ eduȬZoneȱnach,ȱfürȱdieȱderȱDNSȬServerȱNS2ȱzuständigȱist.ȱNS2ȱsendetȱanȱNS1ȱdieȱ Informationȱ zurück,ȱ dassȱ derȱ DNSȬServerȱ NS3ȱ fürȱ dieseȱ Aufgabeȱ zuständigȱ ist.ȱ NS1ȱstelltȱnunȱiterativȱdirektȱeineȱAnfrageȱanȱNS3ȱundȱderȱverweistȱschließlichȱaufȱ NS4.ȱ NS4ȱ istȱ derȱ lokaleȱ undȱ autoritativeȱ DNSȬServerȱ fürȱ Hostȱ H2ȱ undȱ kannȱ dieȱ Anfrageȱ beantworten.ȱ ResolverȬImplementierungenȱ vonȱ Clientsȱ nutzenȱ üblicherȬ weiseȱ eineȱ rekursiveȱ Auflösung,ȱ währendȱ NameȬServerȱ eineȱ iterativeȱ Auflösungȱ verwenden.ȱȱ Jederȱ DNSȬServerȱ istȱ genauȱ einerȱ Zoneȱ zugeordnet.ȱ Manȱ siehtȱ inȱ derȱ Abbildung,ȱ dassȱdieȱDNSȬOrganisationȱnichtsȱmitȱdemȱRoutingȱzuȱtunȱhat.ȱDieȱeingezeichneȬ tenȱRouterȱleitenȱzwarȱdieȱIPȬPaketeȱfürȱdieȱDNSȬAnfragenȱweiter,ȱkennenȱaberȱdieȱ DNSȬHierarchieȱ nicht.ȱ Fürȱ dieȱ Namensauflösungȱ werdenȱ inȱ diesemȱ Beispielȱ achtȱ DNSȬNachrichtenȱdurchȱdasȱNetzȱgesendet.ȱȱ BeiȱeinerȱrekursivenȱAnfrageȱsiehtȱdieȱKommunikationȱzwischenȱdenȱDNSȬServernȱ etwasȱ andersȱ ausȱ (vgl.ȱ Abbildungȱ 6Ȭ7).ȱ Jederȱ angefragteȱ DNSȬServerȱ gibtȱ dieȱ AnȬ
243ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ frageȱ anȱ denȱ nächstenȱ DNSȬServerȱ weiterȱ undȱ erhältȱ irgendwannȱ dasȱ Ergebnisȱ zurück,ȱdasȱerȱdannȱseinerseitsȱanȱdenȱanfragendenȱDNSȬServerȱbzw.ȱHostȱweiterȬ reicht.ȱ Dieȱ Anzahlȱ derȱ Nachrichten,ȱ dieȱ durchȱ dasȱ Netzȱ gesendetȱ werden,ȱ bleibtȱ allerdingsȱgleich.ȱBeiȱeinerȱweiterenȱAnfrageȱwäreȱdieȱIPȬAdresseȱvonȱH2ȱbereitsȱinȱ denȱ Cachesȱ derȱ einzelnenȱDNSȬServerȱundȱ sogarȱimȱ ResolverȬCacheȱ vonȱ H1ȱundȱ dieȱAnfrageȱwürdeȱwesentlichȱschnellerȱgehen.ȱȱ EineȱOptimierungȱkönnteȱsichȱergeben,ȱwennȱderȱautoritativeȱDNSȬServerȱbeiȱderȱ Sucheȱ sofortȱ einenȱ RootȬNameȬServerȱ kontaktiert.ȱ Dieȱ Adressenȱ derȱ RootȬNameȬ ServerȱsindȱallenȱDNSȬServernȱbekannt.ȱDerȱadressierteȱRootȬNameȬServerȱkönnteȱ evtl.ȱschonȱdenȱautoritativenȱDNSȬServerȱkennen.ȱ Root edu
com
...
edu-Zone
...
... com-Zone
...ibm.com
...
hm.edu NSx = DNS-Server
NS1 H1
Netz an HM
NS2 R1
Internet
NS3
NS4 R2
Z.B. WWWServer
IBM-Netz
H2
ȱ Abbildungȱ6Ȭ7:ȱRekursiveȱAuflösungȱvonȱHostnamenȱ
DasȱDNSȬProtokollȱermöglichtȱsowohlȱdieȱiterativeȱalsȱauchȱdieȱrekursiveȱAnfrage,ȱ undȱ auchȱ Mischformenȱ fürȱ eineȱ Anfrageȱ sindȱ möglich.ȱ Wannȱ welcherȱ Typȱ angeȬ wendetȱ wird,ȱ entscheidetȱ derȱ anfragendeȱ DNSȬServer.ȱ Anfragenȱ anȱ denȱ RootȬ NameȬServerȱwerdenȱimmerȱiterativȱausgeführt,ȱumȱihnȱnichtȱzuȱstarkȱzuȱbelasten.ȱ Damitȱ einȱ nichtȬautoritativerȱ NameȬServerȱ Informationenȱ überȱ andereȱ Teileȱ desȱ Namensraumesȱ findenȱ kann,ȱ bedientȱ erȱ sichȱ einerȱ entsprechendenȱ Suchstrategie,ȱ dieȱimȱFolgendenȱnochmalsȱkurzȱzusammengefasstȱwerdenȱsoll:ȱ – Erȱdelegiert,ȱwieȱbereitsȱerläutert,ȱTeileȱdesȱNamensraumesȱeinerȱDomainȱanȱ Subdomänen,ȱdieȱperȱKonfigurierungȱeingerichtetȱwerdenȱmüssen.ȱDieȱSubȬ domänenȱ erhaltenȱ eigeneȱ DNSȬServer.ȱ Einȱ DNSȬServerȱ kenntȱ alleȱ DNSȬ ServerȱderȱSubdomänenȱundȱgibtȱAnfragenȱggf.ȱanȱdieseȱweiter.ȱ – Fallsȱ derȱ angefragteȱ Namensraumȱ außerhalbȱ derȱ eigenenȱ Domäneȱ liegt,ȱ wirdȱdieȱAnfrageȱanȱeinenȱfestȱkonfiguriertenȱDNSȬServerȱweitergeleitet,ȱderȱ dannȱggf.ȱseinerseitsȱweitersucht.ȱ
244ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ – Fallsȱ keinȱ DNSȬServerȱ antwortet,ȱ wirdȱ einȱ DNSȬRootȬNameȬServerȱ kontakȬ tiert.ȱDieȱNamenȱderȱIPȬAdressenȱderȱDNSȬRootȬNameȬServerȱsindȱinȱeinerȱ statischenȱKonfigurationsdateiȱaufȱjedemȱDNSȬServersystemȱhinterlegt.ȱ Esȱ sollȱ nochȱ erwähntȱ werden,ȱ dassȱ beiȱ einerȱ Befriedigungȱ einesȱ Folgezugriffsȱ aufȱ dieȱgleicheȱAdresseȱüberȱeinenȱCacheȱdasȱErgebnisȱalsȱ„nichtȬautoritativ“ȱgekennȬ zeichnetȱ ist,ȱ daȱ esȱ nichtȱ vomȱ autoritativenȱ Serverȱ kommt.ȱ Derȱ Eintragȱ imȱ Cacheȱ lebtȱauchȱnurȱeineȱbestimmte,ȱkonfigurierbareȱZeitȱundȱwirdȱdannȱausȱAktualitätsȬ gründenȱwiederȱgelöscht.ȱ
6.2.4
Inverse Auflösung von IP-Adressen
MeistensȱwirdȱDNSȱverwendet,ȱumȱzuȱeinemȱDomänennamenȱdieȱzugehörigeȱIPȬ Adresseȱ zuȱ ermitteln.ȱ Oftȱ gibtȱ esȱ aberȱ auchȱ dieȱ umgekehrteȱ Situation,ȱ inȱ derȱ einȱ BenutzerȱoderȱeinȱProgrammȱnurȱüberȱeineȱIPȬAdresseȱeinesȱPartnerrechnersȱverȬ fügtȱundȱdenȱzugehörigenȱHostnamenȱbenötigt.ȱManȱbrauchtȱinȱdiesenȱFällenȱdenȱ HostnamenȱderȱbesserenȱLesbarkeitȱwegen,ȱumȱihnȱz.B.ȱzurȱDiagnoseȱinȱLogdateiȬ enȱeinzutragen.ȱDNSȬAnfragen,ȱdieȱdazuȱdienen,ȱeineȱIPȬAdresseȱaufȱeinenȱDomäȬ nennamenȱabzubilden,ȱwerdenȱalsȱinverseȱAnfragenȱbzw.ȱalsȱReverseȱLookupȱ(inȬ verseȱoderȱreverseȱAbbildung)ȱbezeichnet.ȱ EsȱistȱallerdingsȱsehrȱzeitaufwändigȱbeiȱeinerȱinversenȱAnfrageȱdenȱgesamtenȱDoȬ mänenȬBaumȱ nachȱ einerȱ IPȬAdresseȱ zuȱ durchsuchen,ȱ zumalȱ nichtȱ bekanntȱ ist,ȱ inȱ welchemȱZweigȱdesȱBaumesȱsichȱderȱgesuchteȱEintragȱbefindet.ȱAusȱdiesemȱGrundȱ wurdeȱ eineȱ eigenständigeȱ Domäneȱ fürȱ inverseȱ Zugriffeȱ geschaffen,ȱ dieȱ alsȱ inȬ addr.arpaȬDomäneȱbezeichnetȱundȱdurchȱInterNICȱverwaltetȱwird.ȱUnterhalbȱdieȬ serȱDomäneȱgibtȱesȱnurȱvierȱSubdomänenȬEbenen,ȱsoȱdassȱmanȱdieȱAuflösungȱeiȬ nesȱDomänennamensȱinȱwenigenȱSchrittenȱerledigenȱkann.ȱ Dieȱ Knotenȱ derȱ Domäneȱ inȬaddr.arpaȱ sindȱ nachȱ Zahlenȱ inȱ derȱ fürȱ IPȬAdressenȱ üblichenȱ Repräsentationȱ benannt.ȱ DieȱDomäneȱ inȬaddr.arpaȱ hatȱ256ȱSubdomänenȱ undȱ dieȱ Subdomänenȱ habenȱ jeweilsȱ wiederȱ 256ȱ Subdomänen.ȱ Inȱ derȱ unterstenȱ (vierten)ȱStufeȱwerdenȱdieȱvollenȱHostnamenȱeingetragen.ȱ Dieȱ Subdomänenȱ derȱ Ebeneȱ 1ȱ inȱ derȱ inȬaddr.arpaȬDomäneȱ habenȱ alsȱ Bezeichnungȱ eineȱZahlȱzwischenȱ0ȱundȱ255ȱundȱrepräsentierenȱdieȱersteȱKomponenteȱeinerȱIPȬ Adresse.ȱ Dieȱ nächsteȱ Ebeneȱ imȱ Baumȱ repräsentiertȱ dieȱ zweiteȱ Komponenteȱ einerȱ IPȬAdresseȱ usw.ȱ Inȱ Abbildungȱ 6Ȭ8ȱ istȱ eineȱ Adressauflösungȱ fürȱ dieȱ IPȬAdresseȱ 195.214.80.70ȱbeispielhaftȱdargestellt.ȱBeginnendȱmitȱdemȱniedrigstenȱByteȱderȱIPȬ AdresseȱwirdȱinȱdenȱBaumȱeingestiegen.ȱJedesȱByteȱwirdȱalsȱIndexȱinȱeinerȱEbeneȱ verwendet,ȱ bisȱ manȱ inȱ derȱ viertenȱ Ebeneȱ angelangtȱ istȱ undȱ denȱ zugeordnetenȱ Hostnamenȱerhält.ȱȱ
245ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ Root arpa in-arpa
...
... ...
70 80
0 214
195.214.80.70
... 255
70
...
80 214...
...
...
255 255
...
195
255
195
Gesamter Pfad: arpa.in-arpa.70.80.214.195 ȱ
Abbildungȱ6Ȭ8:ȱReverseȱAbbildungȱvonȱIPȬAdressenȱaufȱHostnamenȱ
Alleȱ lokalenȱ Netzeȱ (Subnetze)ȱ sollteȱ manȱ beiȱ Änderungenȱ immerȱ inȱ derȱ Domäneȱ inȬaddr.arpaȱeintragenȱlassen,ȱumȱdieȱumgekehrteȱAbbildungȱzuȱermöglichen.ȱ Reverseȱ Lookupȱ beiȱ IPv6.ȱ Beiȱ Einsatzȱ vonȱ IPv6ȱ wirdȱ fürȱ einenȱ inversenȱ Lookupȱ dieȱDömäneȱip6.arpaȱverwendet.ȱDieȱDNSȬUnterstützungȱfürȱIPv6ȱistȱimȱRFCȱ3596ȱ geregelt.ȱBeispielsweiseȱwirdȱdieȱIPv6ȬAdresseȱȱ 4321:0:1:2:3:4:567:89abȱ fürȱeinenȱReverseȱLookupȱwieȱfolgtȱnotiert:ȱ b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.ARPA.ȱ
6.2.5
DNS-Konfiguration
Jedeȱ Zoneȱ mussȱ einenȱ DNSȬServerȱ bereitstellenȱ undȱ sollteȱ diesenȱ auchȱ zurȱ ErhöȬ hungȱ derȱ Ausfallsicherheitȱ doppeltȱ auslegen.ȱ DNSȱ bietetȱ hierzuȱ dieȱ notwendigenȱ Mechanismenȱ zurȱ Synchronisationȱ einesȱ primärenȱ mitȱ einemȱ sekundärenȱ DNSȬ Server.ȱInȱAbbildungȱ6Ȭ9ȱistȱeinȱBeispielȱeinerȱmöglichenȱKonfigurationȱdargestellt,ȱ ohneȱ hierȱaufȱ Sicherheitsaspekteȱ einzugehen.ȱ Wieȱ manȱ sieht,ȱ gibtȱ esȱinȱdemȱ AusȬ schnittȱeinesȱUnternehmensnetzesȱzweiȱlokaleȱDNSȬServerȱimȱNetzȱmitȱdenȱAdresȬ senȱ 195.214.80.70ȱ undȱ 195.214.80.71.ȱ Derȱ nächsteȱ zugeordneteȱ DNSȬServerȱ liegtȱ beimȱISPȱundȱhatȱdieȱIPȬAdresseȱ195.143.108.2. 6ȱ Heuteȱ trenntȱ manȱ netzinterneȱ DNSȬServerȱ vonȱ denȱ externȱ zugänglichenȱ DNSȬ ServernȱundȱlegtȱnurȱdieȱexternenȱinȱeineȱdemilitarisierteȱZoneȱ(DMZ).ȱDerȱexterneȱ DNSȬServerȱ dientȱ dannȱ alsȱ Forwarderȱ undȱ alleȱ DNSȬNachrichtenȱ werdenȱ ausȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DiesȱsollȱnurȱalsȱBeispielȱdienenȱundȱmussȱnichtȱmitȱderȱRealitätȱübereinstimmen.ȱ
6
246ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ schließlichȱüberȱdiesenȱgesendet.ȱDamitȱwerdenȱauchȱexterneȱAngreiferȱdaranȱgeȬ hindert,ȱdassȱsieȱinterneȱAdressinformationenȱermittelnȱkönnen.ȱNurȱdieȱnachȱauȬ ßenȱzugänglichenȱRechnerȱ(z.B.ȱWWWȬServerȱoderȱWWWȬProxy)ȱsollenȱüberȱdenȱ Forwarderȱ abfragbarȱ sein.ȱ Einȱ DNSȬForwarderȱ istȱ alsoȱ einȱ DNSȬServer,ȱ derȱ zurȱ Auswertungȱ einerȱ DNSȬAnfrageȱ externȱ kommuniziert.ȱ Alleȱ internenȱ DNSȬServerȱ müssenȱsoȱkonfiguriertȱwerden,ȱdassȱsieȱAnfragen,ȱdieȱsieȱnichtȱselbstȱbeantwortenȱ können,ȱanȱdenȱForwarderȱsenden.ȱȱ Unternehmens-IP-Adresse: 195.214.80.64 Netzmaske: 255.255.255.192 195.214.80.70
DNSDNS-Server (secondary) secondary)
195.143.108.2
Client Internet
Intranet 195.214.80.71
DNSDNS-Server (primary) primary)
DNSDNS-Server
Nächster DNS-Server beim ISP
ȱ Abbildungȱ6Ȭ9:ȱDoppelteȱAuslegungȱderȱDNSȬServerȱinȱeinemȱUnternehmensnetzȱ
Ausȱ RedundanzȬȱ undȱ auchȱ ausȱ Lastverteilungsaspektenȱ herausȱ werdenȱ inȱ größeȬ renȱ Netzenȱ autoritativeȱ DNSȬServerȱ fastȱ immerȱ inȱ einȱ ServerȬClusterȱ eingebettet,ȱ wobeiȱdieȱZonendatenȱidentischȱaufȱeinemȱoderȱmehrerenȱSekundärservernȱliegen.ȱ DieȱSynchronisationȱzwischenȱdemȱPrimärȬȱundȱdenȱSekundärservernȱerfogtȱüberȱ spezielleȱZonentransfernachrichten.ȱDieȱDNSȬDatenbasisȱwirdȱinȱDateienȱverwaltet.ȱ Unterȱ Unixȱ oderȱ Linuxȱ werdenȱ fürȱ BINDȱ u.a.ȱ folgendeȱ Dateien/Dateitypen 7ȱzurȱ Konfigurationȱbenötigt:ȱ – named.confȱ undȱ namedȬboot:ȱ Dieseȱ Dateiȱ enthältȱ globaleȱ Parameterȱ fürȱ denȱ DNSȬServerȱ (BindȬOptionen,ȱ Forwarder,ȱ ZonenȬStruktur,ȱ usw.)ȱ undȱ wirdȱ unmittelbarȱ nachȱ demȱ Startȱ desȱ DNSȬServersȱ eingelesen.ȱ Inȱ denȱ Optionenȱ werdenȱunterȱforwardersȱdieȱDNSȬServerȱeingetragen,ȱanȱwelchenȱeineȱDNSȬ Anfrageȱ gesendetȱ werdenȱ soll,ȱ wennȱ sieȱ nichtȱ direktȱ beantwortetȱ werdenȱ kann.ȱ Trägtȱ manȱ „forwarderȱfirst“ȱ ein,ȱ soȱ wirdȱ jedeȱ DNSȬAnfrageȱ zuerstȱ anȱ dieȱ angegebenenȱ DNSȬServerȱ weitergeleitet,ȱ bevorȱ sieȱ anȱ einenȱ DNSȬRootȬ NameȬServerȱ gesendetȱ wird.ȱ Trägtȱ manȱ „forwarderȱ only“ȱ ein,ȱ werdenȱ dieȱ DNSȬRootȬNameȬServerȱgarȱnichtȱgefragt.ȱ – named.cacheȱ oderȱ named.root:ȱ Inȱ dieserȱ Dateiȱ sindȱ dieȱ weltweitȱ eindeutigenȱ DNSȬRootȬNameȬServerȱmitȱihrenȱIPȬAdressenȱhinterlegt.ȱ – db.127.0.0ȱoderȱnamed.127.0.0:ȱForwardȬLookupȬDateiȱfürȱdieȱAbbildungȱvonȱ localhostȱaufȱdieȱLoopbackȬAdresse.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Dieȱ Namenȱ derȱ Dateienȱ variierenȱ jeȱ nachȱ System,ȱ sindȱ auchȱ zumȱ Teilȱ freiȱ zuȱ vergebenȱ undȱnurȱexemplarischȱdargestellt.ȱȱ
7
247ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ – db.<domain>ȱ oderȱ named.<domain>:ȱ ForwardȬLookupȬDateiȱ fürȱ alleȱ RechnerȬ namenȱderȱDomäneȱ<domain>,ȱBeispiel:ȱdb.dept101.isysȬsoftware.de.ȱ – dbȱ oderȱ named.:ȱ ReverseȬLookupȬDateiȱ fürȱ dasȱ SubnetzȬ werkȱ mitȱ derȱ imȱ Dateinamenȱ enthaltenenȱ IPȬAdresseȱ ,ȱ Beispiel:ȱ db.192.168.2.ȱ ImȱFolgendenȱwirdȱeineȱKonfigurationsdateiȱnamed.confȱexemplarischȱgrobȱdargeȬ stellt,ȱ ohneȱ aufȱ Detailsȱ einzugehen.ȱ Derȱ Optionsteilȱ enthältȱ u.a.ȱ Angabenȱ zumȱ Forwarderȱ sowieȱ überȱ Rechner,ȱ dieȱ Anfragenȱ machenȱ dürfen.ȱ Anschließendȱ sindȱ dieȱ Zonenȱ beschrieben.ȱ Zuȱ jederȱ Zoneȱwirdȱ derȱ Verweisȱaufȱ dieȱzugehörigenȱdbȬ Dateienȱ(fürȱdieȱHosttabellenȱundȱfürȱinverseȱAuflösung)ȱangegeben.ȱ options { directory "/var/named"; forwarders { … }; … }; # Obligatorische Zone für die DNS-Root-Name-Server zone "." IN { type hint; file "named.root"; }; # Festlegen des Loopback (forward und reverse) zone "localhost" IN { type master; file "db.localhost"; }; zone "0.0.127.IN-ADDR.ARPA"
IN {
type master; file "db.127.0.0"; }; # Die Zonen (forward und reverse) zone "isys-software.de" IN { type master; file "db.isys-software.de"; }; … zone "dept101.isys-software.de" IN { type master; file "db.dept101.isys-software.de"; };
248ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ
zone "2.168.192.IN-ADDR.ARPA" IN { type master; file "db.192.168.2"; }; ...
Informationenȱ desȱ DNSȱ werdenȱ inȱsog.ȱ ResourceȱRecordsȱ(RR)ȱ verwaltet.ȱ Derȱ AufȬ bauȱeinesȱResourceȱRecordsȱwirdȱmeistȱmitȱfolgendemȱInhaltȱangegeben:ȱ8ȱ (Name, Type, Class, Time-to-live, Value)
DieȱFelderȱsollenȱhierȱnurȱkurzȱerläutertȱwerden:ȱ – Name:ȱNameȱdesȱIPȬKnotens,ȱzuȱdemȱderȱRRȱgehört.ȱ – Type:ȱTypȱdesȱRecordsȱ(Aȱ=ȱIPȬAdresse,ȱNSȱ=ȱNameȬServerȬRecordȱfürȱautoȬ risiertenȱ DNSȬServer,ȱ MXȱ =ȱ MailȬServerȬRecord,ȱ Verteilerȱ fürȱ MailȬServer,ȱ SOAȱ =ȱ Beginnȱ einerȱ Zone,ȱ CNAMEȱ =ȱ Aliasname,ȱ PTRȱ =ȱ Angabeȱ einesȱ ZeiȬ gersȱaufȱeineȱDomäne).ȱȱ – Class:ȱimmerȱINȱ(Internet).ȱ – TimeȬtoȬlive:ȱȱStabilitätȱ(Gültigkeitsdauer)ȱdesȱRecordsȱalsȱIntegerzahlȱ(jeȱhöȬ herȱdestoȱstabiler).ȱDerȱWertȱistȱfürȱdasȱCachingȱwichtigȱ(kurz:ȱTTL).ȱ – Value:ȱWertȱdesȱRecordsȱjeȱnachȱTyp:ȱz.B.ȱbeiȱTypȱ=ȱAȱdieȱIPȬAdresse,ȱbeiȱTypȱ NSȱ derȱ Nameȱ desȱ NameȬServers,ȱ beiȱ Typȱ MXȱ derȱ Nameȱ desȱ EȬMailȬ Servers,...).ȱ OhneȱweiterȱaufȱDetailsȱeinzugehen,ȱwirdȱimȱFolgendenȱeinȱAuszugȱeinerȱdbȬDateiȱ mitȱHostnamenȱgezeigt.ȱAmȱAnfangȱderȱDateiȱstehtȱeinȱsog.ȱSOAȬEintragȱ(Startȱofȱ Authority),ȱwelcherȱdieȱadministrierteȱZoneȱbeschreibtȱundȱu.a.ȱeineȱBearbeitungsȬ nummerȱ fürȱ dieȱ Versionspflegeȱ enthält.ȱ Weiterhinȱ sindȱ einigeȱ Parameterȱ aufgeȬ führt,ȱdieȱfürȱdenȱDNSȬServerȱwichtigȱsind.ȱBeispielsweiseȱwirdȱderȱStandardȬTTLȬ Wertȱ inȱ Sekundenȱ (hierȱ einȱ Tag)ȱ angegeben.ȱ Ansonstenȱ sindȱ nurȱ NSȬȱ undȱ AȬ RecordsȱinȱderȱDatei.ȱDieȱTTLȬAngabenȱsindȱinȱdenȱeinzelnenȱINȬRecordsȱweggeȬ lassen,ȱesȱgiltȱdieȱDefaultȬAngabe. 9ȱȱ ȱ
# Standard TTL, 2 Tage = 2D $TTL 2D # @ bedeutet, dass die Zone aus named.conf entnommen wird @ IN
SOA softie.isys-software.de. root.softie.isys-software.de. ( 2002121115
; serial YYYYMMDDCC
10800
; refresh after 3 hours
3600
; retry after 1 hour
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DemȱWertȱgehtȱoptionalȱeineȱLängenangabeȱvoraus.ȱ
8
ȱȱ Dieȱ Bedeutungȱ desȱ Platzhaltersymbolsȱ „@“ȱ undȱ weitereȱ Detailsȱ könnenȱ inȱ derȱ BINDȬ DokumentationȱdesȱjeweiligenȱSystemsȱnachgelesenȱwerden.ȱ
9
249ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ 604800
; expire after 1 week)
IN
NS
softie.isys-software.de.
IN
NS
softie2.isys-software.de.
localhost
IN
A
127.0.0.1
; Router grandcentral
IN
A
192.168.2.1
backup
IN
A
192.168.2.6
hardy
IN
A
192.168.2.7
sun101
IN
A
192.168.2.8
firedept
IN
A
192.168.2.9
andreas
IN
A
192.168.2.10
lalinea
IN
A
192.168.2.11
pflaume
IN
A
192.168.2.12
ulysses …
IN
A
192.168.2.13
; Server
… ; Workstations
Eineȱ weitereȱ Anwendungȱ vonȱ DNSȱ istȱ dieȱ Unterstützungȱ desȱ SMTPȬProtokolls 10,ȱ dasȱ fürȱ dieȱ Kommunikationȱ imȱ SMTPȬbasiertenȱ EȬMailȬSystemȱ wichtigȱ ist.ȱ DNSȱ hältȱ alleȱ Informationenȱ fürȱ eineȱ korrekteȱ Übermittlungȱ vonȱ EȬMails.ȱ Eineȱ EȬMailȬ Adresseȱ imȱ SMTPȬSystemȱ hatȱ bekanntlichȱ dasȱ Formatȱ [email protected].ȱ Mitȱ DNSȱ kannȱ derȱ Hostnameȱ aufgelöstȱ werden.ȱ Dazuȱ wirdȱ vorȱ demȱ Absendenȱ einerȱEȬMailȱeineȱDNSȬAnfrageȱabgesetzt,ȱmitȱderȱeinȱMXȬRecordȱdesȱZielrechnersȱ ermitteltȱ wird.ȱ Anschließendȱ wirdȱ mitȱ dieserȱ Informationȱ eineȱ Namensauflösungȱ durchȱ einenȱ weiterenȱ DNSȬRequestȱ initiiert,ȱ umȱ denȱ zugeordnetenȱ AȬRecordȱ zuȱ besorgen.ȱ Interessantȱ istȱ hier,ȱ dassȱ inȱ denȱ MXȬEinträgenȱ nochȱ sog.ȱ Gewichteȱ fürȱ dieȱ MailȬ Serverȱ einerȱZoneȱ angegebenȱ werdenȱ können.ȱ Jeȱ niedrigerȱ dasȱGewichtȱ ist,ȱumsoȱ eherȱ wirdȱ einȱ MailȬServerȱ ausgewähltȱ (inverseȱ Zusendereihenfolge).ȱ Damitȱ kannȱ einȱAusfallkonzeptȱaufgebautȱwerden.ȱNormalerweiseȱwirdȱderȱMailȬServerȱeinerȱ Domäneȱadressiert,ȱderȱdasȱniedrigsteȱGewichtȱhat.ȱFälltȱeinȱMailȬServerȱaus,ȱwirdȱ derȱnächsteȱinȱderȱListeȱadressiert.ȱMXȬEinträgeȱkönntenȱz.B.ȱwieȱfolgtȱaussehen:ȱ IN MX 5
mail1.isys-software.de
IN MX 10 mail2.isys-software.deȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ SMTPȱstehtȱfürȱSimpleȱMailȱTransferȱProtocol.ȱ
10
250ȱ
6.2ȱȱDomainȱNameȱSystemȱ(DNS)ȱ Inȱ diesemȱ Beispielȱ würdeȱ zunächstȱ derȱ MailȬServerȱ mail1ȱ angesprochen.ȱ Wennȱ dieserȱnichtȱantwortet,ȱwirdȱderȱMailȬServerȱmail2ȱadressiert.ȱȱ
6.2.6
DNS-Nachrichten
DieȱDNSȬNachrichtenȱfürȱdasȱRequestȬ/ResponseȬProtokollȱsetzenȱsichȱausȱmehreȬ renȱSektionenȱ(Sections)ȱzusammenȱ(RFCsȱ1035ȱundȱ1036):ȱ – DerȱHeaderȱbestehtȱausȱdenȱerstenȱsechsȱFeldernȱ(HeaderȱSection).ȱ – DieȱQuestionȱSectionȱenthältȱFelderȱzurȱSpezifikationȱderȱAnfrage.ȱDieȱAnfraȬ geȱwirdȱinȱeinemȱResourceȱRecordȱ(RR),ȱaberȱnurȱmitȱdenȱerstenȱdreiȱFeldernȱ (Name,ȱType,ȱClass)ȱformuliert.ȱ – DieȱAnswerȱSectionȱenthältȱdieȱAntwortȱeinesȱNameȬServersȱinȱFormȱvonȱReȬ sourceȱ Records.ȱ Eineȱ Antwortȱ kannȱ mehrereȱ RRȱ ausgeben,ȱ z.B.ȱ weilȱ einȱ HostnameȱmehrereȱIPȬAdressenȱhabenȱkann. 11ȱ – DieȱAuthorityȱSectionȱenthältȱdieȱRRsȱvonȱautorisiertenȱNameȬServern.ȱȱ – Dieȱ AdditionalȱInformationȱSectionȱ enthältȱ zusätzlicheȱInformationenȱ zurȱ AnȬ frageȱoderȱzurȱAntwortȱwieȱetwaȱdieȱZeit,ȱdieȱfürȱdieȱAnfrageȱbenötigtȱwurȬ de,ȱ denȱ Zeitpunktȱ derȱ Bearbeitungȱ undȱ dieȱ Längeȱ derȱ AnfrageȬȱ sowieȱ derȱ Antwortnachricht.ȱ WieȱdieȱAbbildungȱ6Ȭ10ȱzeigt,ȱhatȱderȱDNSȬHeaderȱ12ȱByteȱmitȱsechsȱFeldernȱdieȱ folgendeȱBedeutungȱhaben:ȱ – Identifikation:ȱDiesȱistȱeineȱIdȱderȱAnwendung,ȱwelcheȱdieȱAbfrageȱabgesetztȱ hatȱundȱwirdȱinȱdieȱAntwortȬNachrichtȱübernommen.ȱSomitȱistȱeineȱZuordȬ nungȱmöglich.ȱ – Parameters:ȱDasȱFeldȱhatȱmehrereȱStatusfelderȱundȱFlags:ȱ Anfrage/AntwortȬFlag:ȱ0ȱ=ȱAnfrage,ȱ1ȱ:=ȱResponseȱ Opcode:ȱOperationscode,ȱderȱdieȱArtȱderȱAnfrageȱangibt:ȱ0ȱ=ȱStandardȬ Query,ȱ1ȱ=ȱinverseȱQuery,ȱ2ȱ=ȱServerstatusȱabfragenȱ AAȬFlag:ȱFlag,ȱdasȱangibt,ȱobȱdieȱAntwortȱvonȱeinemȱautoritativenȱSerȬ verȱstammtȱ TCȬFlag:ȱFlagȱdasȱanzeigt,ȱobȱdieȱNachrichtȱgeteiltȱwurdeȱ(>ȱ512ȱByte)ȱ RDȬFlag:ȱ Flag,ȱ dasȱ gesetztȱ wird,ȱ wennȱ inȱ derȱ Anfrageȱ eineȱ rekursiveȱ Auflösungȱgewünschtȱwirdȱ RAȬFlag:ȱGibtȱan,ȱobȱeinȱServerȱrekursivesȱAuflösenȱunterstütztȱ Rcode:ȱAntwortȬCodeȱdesȱServers,ȱ0ȱ=ȱkeinȱFehler,ȱ2ȱbisȱ5ȱ=ȱverschiedeneȱ Fehlertypen,ȱFehlertypȱȱ3ȱbedeutetȱz.B.ȱ„Domainȱexistiertȱnicht“ȱ – QDcount:ȱAnzahlȱderȱEinträgeȱinȱderȱQuestionȱSection.ȱ – ANcount:AnzahlȱanȱResourceȱRecordsȱ(RR)ȱinȱderȱAnswerȱSection.ȱ – NScount:ȱAnzahlȱanȱResourceȱRecordsȱ(RR)ȱinȱderȱAuthorityȱSection.ȱ – ARcount:ȱAnzahlȱanȱRRȱinȱderȱAdditionalȱInformationȱSection.ȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ DieȱIPv4ȬAdresseȱistȱanȱdieȱNetzwerkschnittstelleȱgebunden.ȱ
11
251ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ 32 Bit
Identification
Parameters
QDcount NScount
ANcount ARcount Question Section Answer Section Authority Section
Additional Information Section
ȱ Abbildungȱ6Ȭ10:ȱAufbauȱderȱDNSȬPDUȱ
6.2.7
Sicheres DNS
DasȱklassischeȱDNSȱverwendetȱkeineȱSicherheitsmechanismen.ȱDadurchȱistȱesȱpoȬ tenziellenȱ Angreifernȱ möglich,ȱ dieȱ Kommunikationȱ zwischenȱ DNSȬClientȱ undȱ DNSȬServerȱ abzuhörenȱ undȱ zuȱ manipulieren,ȱ umȱ imȱ Internetȱ z.B.ȱ gefälschteȱ ZuȬ ordnungenȱ vonȱ Namenȱ aufȱ IPȬAdressenȱ inȱ Umlaufȱ zuȱ bringen.ȱ Manȱ bezeichnetȱ dieseȱAngriffsartȱalsȱDNSȬSpoofing.ȱBeiȱeinerȱManȬinȬtheȬMiddleȬAttackeȱbrauchtȱeinȱ Angreiferȱ lediglichȱ denȱ Datenverkehrȱ fürȱ DNSȬAnfragenȱ überȱ denȱ StandardȬPortȱ 53ȱ abzuhörenȱ undȱ dieȱ Anfragenȱ mitȱ gefälschtenȱ Datenȱ zuȱ beantworten.ȱ Daȱ derȱ ClientȱwederȱdieȱMöglichkeitȱhat,ȱfalscheȱEinträgeȱzuȱerkennen,ȱnochȱüberȱsichereȱ Informationenȱverfügt,ȱumȱdenȱAbsenderȱzuȱauthentifizieren,ȱwerdenȱdieȱfalschenȱ DNSȬEinträgeȱalsȱkorrektȱangenommenȱundȱverwendet.ȱ UmȱderartigenȱSicherheitsproblemenȱzuȱbegegnen,ȱwurdeȱDNSSECȱ(DNSȱSecurityȱ Extension)ȱerstmalsȱinȱRFCȱ2535ȱimȱJahrȱ1999ȱdefiniertȱundȱimȱJahrȱ2004ȱkomplettȱ neuȱüberarbeitetȱ(RFCȱ4033).ȱZieleȱvonȱDNSSECȱsindȱvorȱallemȱdieȱSicherstellungȱ derȱ Authentizitätȱ derȱ Herkunftȱ derȱ DNSȬPakete,ȱ dieȱ Datenintegritätȱ undȱ eineȱ siȬ chereȱ Verteilungȱ vonȱ öffentlichenȱ Schlüsseln.ȱ Überȱ einenȱ AuthentifizierungsmeȬ chanismusȱistȱeineȱPrüfungȱmöglich,ȱobȱeinȱSenderȱvonȱNachrichtenȱauchȱderjenigeȱ ist,ȱfürȱdenȱerȱsichȱausgibt.ȱDatenintegritätsmechanismenȱstellenȱsicher,ȱdassȱDatenȱ aufȱ demȱ Wegȱ nichtȱ verfälschtȱ werden.ȱ Daȱ fürȱ dieȱ sichereȱ Kommunikationȱ sog.ȱ Signaturenȱ benötigtȱ werden,ȱ istȱ einȱ Verteilungsmechanismusȱ fürȱ Schlüsselȱ erforȬ derlich.ȱ DNSECȱ nutztȱ einȱ PublicȬKeyȬVerschlüsselungsverfahrenȱ undȱ unterstütztȱ verschiedeneȱ Verschlüsselungsalgorithmenȱ (u.a.ȱ RSA/MD5ȱ undȱ RSA/SHAȬ1) 12 .ȱ Umȱ dieȱ obenȱ genanntenȱ Anforderungenȱ zuȱ erfüllen,ȱ wurdenȱ neueȱ ResourceȬ RecordȬTypenȱ(DNSKEY,ȱRRSIG,ȱusw.)ȱdefiniert.ȱ Alsȱ ersteȱ TopȬLevelȬDomainȱ führteȱ Schwedenȱ imȱ Jahrȱ 2005ȱ DNSSECȱ fürȱ dieȱ .seȬ DomäneȱeinȱundȱbietetȱseitdemȱDNSSECȱalsȱzusätzlichenȱServiceȱfürȱInhaberȱihrerȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ MehrȱzuȱVerschlüsselungsverfahrenȱistȱinȱ(Tanenbaumȱ2003a)ȱzuȱfinden.ȱ
12
252ȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ Subdomänenȱ an 13.ȱ Durchȱ dieȱ Einführungȱ vonȱ DNSSECȱ inȱ Schwedenȱ wurdeȱ derȱ Grundsteinȱ fürȱ einenȱ sicherenȱ Einsatzȱ vonȱ DNSȱ gelegt.ȱ Inwieweitȱ dieseȱ MöglichȬ keitȱvonȱanderenȱInternetȬTeilnehmernȱgenutztȱwird,ȱwirdȱdieȱZukunftȱzeigen.ȱFürȱ eineȱ tiefereȱ Betrachtungȱ vonȱ DNSSECȱ seiȱ aufȱ dieȱ RFCsȱ 4033,ȱ 4034,ȱ undȱ 4035ȱ verȬ wiesen.ȱ
6.3 Das World Wide Web 6.3.1
Einführung
HTMLȱ ȱ (Hypertextȱ Markupȱ Language)ȱ undȱ HTTPȱ (Hypertextȱ Transferȱ Protocol)ȱ sindȱ dieȱ wichtigstenȱ Komponentenȱ desȱ WWWȱ (Worldȱ Wideȱ Web).ȱ HTMLȱ istȱ dieȱ Auszeichnungsspracheȱ (Markupȱ Language),ȱ inȱ derȱ Dokumenteȱ (auchȱ HTMLȬ Seitenȱ genannt)ȱ beschriebenȱ werden.ȱ Sieȱ könnenȱ überȱ sog.ȱ HTMLȬLinksȱ (HyperȬ link)ȱbeliebigȱverknüpftȱwerden.ȱHTTPȱistȱeinȱAnwendungsprotokoll,ȱdasȱaufȱBasisȱ vonȱTCPȱalsȱtextbasiertesȱKommunikationsprotokollȱkonzipiertȱwurde.ȱTextbasiertȱ bedeutetȱinȱdiesemȱZusammenhang,ȱdassȱalleȱInformationenȱtextbasiertȱübertragenȱ werden.ȱȱ
Browser
HTTP
Internet, Intranet TCP/IP
Web-Client mit Browser
HTTP
Dokumente
Port 80
Serverrechner mit httpd
ȱ
Abbildungȱ6Ȭ11:ȱWebȬModellȱ
Dasȱ WebȬKommunikationsmodellȱ siehtȱ weiterhinȱ zweiȱ wichtigeȱ AnwendungsȬ komponentenȱvorȱ(sieheȱAbbildungȱ6Ȭ11):ȱ – WebȬBrowserȱaufȱderȱClientseiteȱalsȱgrafischeȱBenutzeroberflächeȱ – WebȬServerȱaufȱderȱServerseiteȱzurȱVerwaltungȱundȱGenerierungȱderȱDokuȬ mente.ȱ HTMLȱistȱeineȱrechtȱeinfacheȱMarkupȬLanguageȱundȱdurchȱdasȱW3CȬKonsortium 14ȱ genormt.ȱEineȱHTMLȬSeiteȱbeginntȱmitȱdemȱTagȱȱundȱendetȱmitȱ.ȱ Esȱ gibtȱ einigeȱ Möglichkeiten,ȱ umȱ eineȱ Bildschirmseiteȱ mitȱ Kontrollelementenȱ zuȱ versehen.ȱȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sieheȱhttp://www.dnssec.net/whyȬdeployȬdnssec,ȱletzterȱZugriffȱamȱ07.07.2009.ȱ
13
ȱȱ SieheȱWordȱWideȱWebȱConsortium,ȱwww.w3c.org.ȱ
14
253ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ DerȱStilȱeinerȱOberflächeȱwirdȱdurchȱeineȱHTMLȬErgänzung,ȱCSSȱ(CascadingȱStyleȱ Sheets)ȱ genannt,ȱ gesteuert.ȱ Mitȱ CSSȱ kannȱ manȱ dasȱ Look&Feelȱ einerȱ Oberflächeȱ unabhängigȱvonȱdenȱHTMLȬSeitenȱbeschreiben.ȱDaȱaberȱHTMLȱundȱCSSȱnichtȱzuȱ unserenȱSchwerpunktenȱzählen,ȱwerdenȱdieseȱSprachenȱimȱFolgendenȱnichtȱweiterȱ betrachtet.ȱȱ FürȱdieȱKommunikationȱistȱvonȱBedeutung,ȱdassȱderȱganzeȱHTMLȬCodeȱinȱlesbaȬ rerȱ Formȱ vomȱ WebȬServerȱ zumȱ WebȬClientȱ inȱ denȱ HTTPȬPDUsȱ übertragenȱ wird.ȱ WeiterhinȱgibtȱesȱMöglichkeiten,ȱinȱdenȱPDUsȱauchȱParameterȱausȱdenȱEingabefelȬ dernȱderȱHTMLȬSeitenȱanȱdenȱServerȱzuȱübertragen.ȱ optional
optional Dienst://
:TCP-Port
Serveradresse
Standard: „http://“
optional /Verzeichnis/Datei
Standard: „:80“
Beispiel 1: www.isys-software.de Beispiel 2: http://www.hm.edu:8080/mandl/doc
ȱ
Abbildungȱ6Ȭ12:ȱURLȬAufbauȱ
Dieȱ Adressierungȱ derȱ HTMLȬSeitenȱ aufȱ denȱ WebȬServernȱ erfolgtȱ überȱ ȱ Uniformȱ ResourceȱLocatorsȱ(URL)ȱoderȱallgemeingültigerȱüberȱsog.ȱUniformȱResourceȱIdenȬ tifierȱ(URI).ȱURIȱistȱeinȱallgemeinererȱBegriffȱfürȱalleȱAdressierungsmuster,ȱdieȱimȱ WWWȱunterstütztȱwerden.ȱDerȱAufbauȱeinerȱURLȱistȱinȱAbbildungȱ6Ȭ12ȱdargestellt.ȱ EineȱURLȱbestehtȱausȱdenȱfolgendenȱFeldern:ȱ – Dienst:ȱGibtȱdenȱDiensttypȱan.ȱBeiȱWebseiten,ȱdieȱüberȱdasȱHTTPȬProtokollȱȱ adressiertȱwerden,ȱistȱdiesȱHTTP.ȱȱ – Server:ȱHostnameȱdesȱWebȬServers.ȱ – TCPȬPort:ȱPortnummer,ȱunterȱwelcherȱderȱWebȬServerȱaufȱAnfragenȱwartet.ȱ DasȱFeldȱmussȱnichtȱangegebenȱwerden.ȱDerȱStandardportȱistȱ80.ȱ – Verzeichnis/Datei:ȱ Nameȱ desȱ Verzeichnissesȱ undȱ derȱ angesprochenenȱ Datei.ȱ EsȱwirdȱunterȱeinemȱkonfiguriertenȱPfadȱgesucht.ȱ BeiȱdenȱeinzelnenȱFeldernȱistȱaufȱdieȱTrennzeichenȱzuȱachten.ȱZwischenȱServernaȬ meȱundȱPortnummerȱmussȱz.B.ȱeinȱ„:“ȱstehen.ȱ DieserȱAdressierungsmechanismusȱwurdeȱfürȱstatischeȱWebseitenȱerfunden,ȱdientȱ aberȱ heuteȱ auchȱ zurȱ Adressierungȱ vonȱ Anwendungen,ȱ dieȱ dynamischȱ HTMLȬ Contentȱerzeugenȱund/oderȱkomplexeȱOperationenȱimȱServerȱausführen.ȱ Wirȱ betrachtenȱ nunȱ derȱ Vollständigkeitȱ halberȱ dieȱ ModellȬKomponentenȱ WebȬ ServerȱundȱWebȬBrowserȱundȱkonzentrierenȱunsȱanschließendȱvorwiegendȱaufȱdasȱ ProtokollȱHTTP.ȱ
254ȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ
6.3.2
Web-Server und Proxy-Cache-Server
Einȱ WebȬServerȱ wartetȱ aufȱ ankommendeȱ Verbindungsaufbauwünscheȱ standardȬ mäßigȱaufȱTCPȬPortȱ80,ȱindemȱerȱdieȱSocketȬFunktionȱlistenȱaufruft.ȱEinȱklassischerȱ TCPȬVerbindungsaufbauwunschȱwirdȱentgegengenommen.ȱStehtȱdieȱVerbindung,ȱ wirdȱvomȱWebȬBrowserȱeinȱHTTPȬRequestȱerzeugt,ȱderȱvomȱWebȬServerȱempfanȬ genȱundȱüblicherweiseȱinȱeinemȱeigenenȱThreadȱoderȱProzessȱbearbeitetȱwird.ȱDasȱ gewünschteȱ Dokumentȱ wirdȱ lokalisiertȱ (wirȱ nehmenȱ hierȱ dieȱ Adressierungȱ einerȱ statischenȱWebȬSeiteȱan,ȱwozuȱimȱkonfiguriertenȱRootȬVerzeichnisȱdesȱWebȬServersȱ gesuchtȱwird.ȱ httpd conf/
Clients mit WWW-Browsern
http.conf access.conf srm.conf
Main (Steuerung)
Port 80
...
Dokumentenverwaltung
Servlet-/JSPEngine
Java-VM
WWW-Root/ Dokumente
Kommunikationsbaustein
cgi-bin/ P1
P2
...
Skripte, Programme
Pn
Sohnprozesse
Abbildungȱ6Ȭ13:ȱGrobeȱArchitekturȱeinesȱWebserversȱ
WebȬServerȱsindȱheuteȱinȱApplicationȬServernȱintegriertȱ(sieheȱBEAȱWeblogicȱoderȱ IBMȱ Websphere)ȱ undȱ auchȱ alsȱ StandaloneȬSystemeȱ verfügbar.ȱ Derȱ bekanntesteȱ undȱ amȱ weitestenȱ verbreiteteȱ WebȬServerȱ istȱ derȱ Apacheȱ HTTPȬServer.ȱ Weitereȱ WebȬServerȱsindȱderȱNCSAȬServerȱvomȱNationalȱCenterȱofȱSupercomputingȱAppȬ licationsȱ undȱ derȱ CERNȬServerȱ vomȱ W3C.ȱ Nebenȱ demȱ ApacheȬHTTPȬServerȱ istȱ derȱ Microsoftȱ Internetȱ Informationȱ Serverȱ (IIS)ȱ vorȱ allemȱ beiȱ MicrosoftȬKundenȱ sehrȱverbreitet. 15ȱ EinȱWebȬServerȱ(beiȱApacheȱauchȱalsȱhttpdȬHintergrundprozessȱablaufend)ȱȱenthältȱ imȱAllgemeinenȱnebenȱeinerȱSteuerungskomponenteȱeineȱKomponenteȱzurȱDokuȬ mentenverwaltung,ȱ evtl.ȱ eineȱ Engineȱ fürȱ dieȱ ServletȬ/JSPȬBearbeitung,ȱ ASPȬ Bearbeitung,ȱPHPȬBearbeitungȱundȱeinigesȱmehr 16ȱ(vgl.ȱAbbildungȱ6Ȭ13).ȱBeiȱJavaȬ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ Sieheȱwww.beaȬsystems.com,ȱwww.ibm.com,ȱwww.apache.org.ȱ
15
ȱȱ Servletsȱ undȱ Javaȱ Serverȱ Pagesȱ (JSP),ȱ Activeȱ Serverȱ Pages,ȱ PHPȱ usw.ȱ sindȱ serverseitigeȱ Programmiertechniken.ȱHierȱhandeltȱesȱsichȱumȱScriptingȬSprachen,ȱdieȱimȱServerȱausȬ geführtȱwerdenȱundȱdaherȱzuȱinterpretierenȱsind.ȱDaherȱwerdenȱhierfürȱVerarbeitungsȬ komponentenȱimȱWebȬServerȱbenötigt.ȱEsȱgibtȱnochȱeinigeȱweitereȱWebtechniken.ȱ
16
255ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ lastigenȱWebȬServernȱistȱauchȱeineȱJVMȱimȱSpiel.ȱDieȱServerȱerzeugenȱfürȱdieȱBearȬ beitungȱ bestimmterȱ Anfragenȱ auchȱ nochȱ zusätzlicheȱ Prozesse.ȱ Insbesondereȱ beiȱ derȱ relativȱ altenȱ serverseitigenȱ Programmiertechnikȱ CGI 17ȱwirdȱ fürȱ jedeȱ Anfrageȱ einȱeigenerȱSohnprozessȱzurȱBearbeitungȱerzeugt.ȱ DieȱHTMLȬDokumenteȱliegenȱimȱFilesystemȱunterȱeinemȱRootȬVerzeichnis.ȱIstȱdasȱ voreingestellteȱRootȬVerzeichnisȱzumȱBeispielȱ/usr/local/httpd/docs,ȱsoȱsetztȱsichȱderȱ volleȱ Pfadnameȱ einesȱ ȱ adressiertenȱ Dokumentsȱ mitȱ demȱ Namenȱ /mandl/beispiel1Ȭ .htmlȱwieȱfolgtȱzusammen:ȱ /usr/local/httpd/docs/mandl/beispiel1.html
BeiȱAdressierungȱeinesȱVerzeichnissesȱanstattȱeinerȱDateiȱwirdȱimȱVerzeichnisȱdieȱ sog.ȱIndexdateiȱindex.htmlȱoderȱwelcome.htmlȱidentifiziert.ȱ DerȱWebȬServerȱliestȱseineȱKonfigurationsdatenȱvonȱDateien.ȱDasȱVerhaltenȱeinesȱ WebȬServersȱ kannȱ alsoȱ durchȱ Konfigurierungȱ verändertȱ werden.ȱ Esȱ gibtȱ einigeȱ Konfigurationsdateienȱhierfürȱ(hierȱamȱBeispielȱdesȱApacheȬWebȬServers):ȱ – – – –
httpd.confȱistȱdieȱServerkonfigurationsdateiȱ srm.confȱistȱdieȱRessourcenkonfigurationsdateiȱ access.confȱermöglichtȱdieȱVergabeȱvonȱZugriffsrechtenȱ mime.typesȱlegtȱdieȱunterstütztenȱMIMEȬTypenȱfest 18ȱ
BeispieleȱvonȱKonfigurationsparameternȱinȱhttpd.confȱsindȱu.a:ȱȱ – AgentLogȱdateiname:ȱDateiȱfürȱProtokollierungȱ – Portȱnummerȱ:ȱNummerȱdesȱTCPȬListenȬPortsȱ – ServerRootȱpfadname:ȱWurzelverzeichnisȱȱ Dieȱ weitereȱ Vertiefungȱ derȱ Funktionsweiseȱ undȱ Konfigurierbarkeitȱ vonȱ WebȬ ServernȱkannȱdenȱeinschlägigenȱProduktinformationenȱentnommenȱwerden.ȱ AusȱGründenȱderȱPerformanceȬOptimierung,ȱwegenȱSicherheitsaspektenȱbeiȱeinemȱ FirewallȬEinsatzȱ undȱ aufgrundȱ einerȱ begrenztenȱ Anzahlȱ anȱ vorhandenenȱ IPȬ Adressenȱ kannȱ manȱ auchȱ einenȱ ProxyȬCacheȬServerȱ einsetzen.ȱ Typischeȱ ProxyȬ CacheȬServerȱsindȱSquidȱ(Linux)ȱoderȱApacheȱCache.ȱDieȱArbeitsweiseȱeinesȱCacheȬ Proxyȱ istȱ definiert.ȱ Wieȱ Abbildungȱ 6Ȭ14ȱ zeigt,ȱ wirdȱ derȱ ProxyȬCacheȬServerȱ zwiȬ schenȱdieȱWebȬClientsȱundȱdemȱInternetȬZugangȱgelegt.ȱȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ CGIȱ stehtȱ fürȱ Commonȱ Gatewayȱ Interfaceȱ undȱ istȱ einerȱ derȱ erstenȱ Standardsȱ fürȱ denȱ
17
Aufrufȱ externerȱ Funktionenȱ ausȱ demȱ WebȬServerȱ herausȱ zurȱ Bearbeitungȱ dynamischerȱ WebȬSeiten.ȱ ȱȱ MIMEȬTypenȱ (Multipurposeȱ Internetȱ Mailȱ Extensions)ȱ sindȱ standardisierteȱ Dateitypenȱ unterschiedlichstenȱInhalts,ȱdieȱursprünglichȱausȱSMTPȱstammen.ȱ
18
256ȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ Internet
Intranet
Proxy Cache Server
Browser (Internet Explorer)
WWW Server
(Squid, Apache)
Client-Cache Ohne Caching
ȱ Abbildungȱ6Ȭ14:ȱHTTPȬProxyȬCachingȱ
Erȱ wirdȱ üblicherweiseȱ inȱ einerȱ DMZȱ positioniertȱ undȱ speichertȱ bereitsȱangefragteȱ Webseitenȱ nachȱ vorgegebenenȱ Strategien.ȱ Inȱ Mehrbenutzerumgebungenȱ kannȱ damitȱ einȱ „gecachtes“ȱ Dokumentȱ mehrerenȱ WebȬClientsȱ zurȱ Verfügungȱ gestelltȱ werden,ȱwasȱzuȱeinerȱErhöhungȱderȱHitrateȱführt.ȱDieȱRegelnȱfürȱdasȱCachingȱsindȱ inȱdenȱeinzelnenȱProduktenȱkonfigurierbar.ȱ
6.3.3
Web-Browser
WebȬBrowserȱstellenȱdieȱClientsȱdesȱWebȬKommunikationsmodellsȱdarȱundȱbietenȱ demȱ Anwenderȱ eineȱ komfortableȱ Benutzeroberfläche.ȱ Dieȱ gängigstenȱ WebȬ BrowserȱsindȱderzeitȱderȱMicrosoftȱInternetȱExplorer,ȱNetscapeȱCommunicatorȱundȱ Mozilla.ȱ WebȬBrowserȱ sindȱ komplexeȱ Softwareprogrammeȱ mitȱ vielenȱ Möglichkeitenȱ derȱ Einstellung.ȱ Dieȱ WebȬBrowserȱ derȱ einzelnenȱ Herstellerȱ unterstützenȱ zwarȱ alleȱ HTML,ȱaberȱsieȱarbeitenȱnichtȱimmerȱgleich.ȱDiesȱschafftȱKompatibilitätsproblemeȱ beiȱderȱEntwicklungȱvonȱWebȬAnwendungen.ȱ Rendering und GUI Engine
HTML
XML
JavaScripts
JavaVM
Active-X
Steuerung, Dispatcher HTTP Client
NNTP Client
FTP Client
Telnet Client
TCP-Transportdienste (Port 80)
ȱ Abbildungȱ6Ȭ15:ȱGrobeȱArchitekturȱeinesȱBrowsersȱ
257ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ InȱAbbildungȱ6Ȭ15ȱistȱeineȱgrobeȱArchitekturskizzeȱfürȱeinenȱWebȬBrowserȱdargeȬ stellt.ȱGanzȱuntenȱistȱderȱTCPȬTransportdienst,ȱüberȱdemȱmehrereȱProtokolleȱangeȬ siedeltȱsind.ȱEinȱWebȬBrowserȱunterstütztȱnichtȱnurȱdasȱHTTPȬProtokollȱ(Dienstȱ=ȱ http://),ȱsondernȱmanȱkannȱmeistȱauchȱnochȱFiletransferȱ(FTP,ȱftp://),ȱNewsȱ(NNTP)ȱ undȱweitereȱProtokolleȱnutzen.ȱInȱRichtungȱderȱPräsentationsschichtȱistȱeineȱRenȬ deringȬȱundȱGUIȬEngineȱzurȱAusgabeȱimȱBrowserȱvorhanden.ȱEsȱgibtȱdiverseȱAusȬ gabekomponentenȱ zurȱ Darstellungȱ vonȱ HTML,ȱ XMLȱ (eXtendedȱ Markupȱ LanguaȬ ge) 19ȱusw.ȱ Daȱ auchȱ clientseitigeȱ Scriptsȱ ausgeführtȱ werdenȱ können,ȱ sindȱ inȱ einemȱ BrowserȱauchȱInterpreterȱwieȱJavaȱundȱJavaScriptȱsowieȱimȱMicrosoftȱInternetȱExȬ plorerȱActiveȬXȱverfügbar.ȱ Einȱ WebȬClientȱ nimmtȱ normalerweiseȱ anȱ derȱ Oberflächeȱ eineȱ URLȱ entgegenȱ undȱ sendetȱ dieseȱnachȱ derȱ Bestätigungȱ durchȱ denȱ Benutzerȱ anȱdenȱ Server.ȱ Hierzuȱ beȬ nutztȱerȱdasȱHTTPȬProtokoll.ȱ
6.3.4
HTTP-Protokoll
HTTPȱ(RFCȱ2616)ȱbildetȱalsȱKommunikationsprotokollȱzwischenȱWebȬClientȬȱundȱ ServerȱdasȱRückgratȱdesȱWebs.ȱManȱmussȱHTTPȱverstehen,ȱwennȱmanȱguteȱWebȬ Anwendungenȱentwickelnȱwill.ȱHTTPȱistȱeinȱverbindungsorientiertesȱundȱzustandsloȬ sesȱȱRequestȬ/ResponseȬProtokoll.ȱWederȱderȱSenderȱnochȱderȱEmpfängerȱmerkenȱ sichȱ irgendwelcheȱ Statiȱ zurȱ Kommunikation.ȱ Einȱ Requestȱ istȱ mitȱ einemȱ Responseȱ vollständigȱabgearbeitet.ȱ Inȱ Abbildungȱ 6Ȭ16ȱ istȱ derȱ Protokollstackȱ skizziert.ȱ Einȱ WebȬBrowserȱ nutztȱ HTTP,ȱ dasȱaufȱTCPȱaufsetzt.ȱDiesȱbedeutet,ȱdassȱfürȱeineȱHTTPȬKommunikationȱeinȱTCPȬ Verbindungsaufbauȱ imȱ Sinneȱ einesȱ DreiȬWegeȬHandshakesȱ durchgeführtȱ werdenȱ muss.ȱ HTTPȱunterstütztȱstandardmäßigȱkeineȱKomprimierung,ȱallesȱwirdȱimȱASCIIȬTextȱ unterstützt.ȱ Fürȱ jedeȱ HTMLȬSeiteȱ undȱ jedeȱ Grafik,ȱ dieȱ vomȱ Serverȱ gelesenȱ wird,ȱ wirdȱ inȱHTTPȱ V1.0ȱ standardmäßigȱ eineȱ TCPȬVerbindungȱzwischenȱ WebȬBrowserȱ undȱȬServerȱaufgebaut.ȱDiesȱhatȱsichȱaberȱabȱderȱHTTPȬVersionȱV1.1ȱverändert,ȱwoȱ manȱdieȱWahlmöglichkeitȱhat,ȱeineȱVerbindungȱaufrechtȱzuȱerhaltenȱoderȱzuȱbeenȬ den.ȱ Nebenbeiȱseiȱnochȱerwähnt,ȱdassȱHTTPȱdieȱNutzungȱvonȱMIMEȬBezeichnernȱ(MeȬ dientypen)ȱfürȱdenȱInhaltȱderȱzuȱübertragendenȱDatenȱunterstützt.ȱEsȱkönnenȱalsoȱ beliebigeȱDateitypen,ȱdieȱeinenȱMIMEȬTypȱbesitzenȱundȱvomȱWebȬBrowserȱverarȬ beitetȱ werdenȱ können,ȱ überȱ HTTPȱ übertragenȱ werden.ȱ Einȱ WebȬClientȱ gibtȱ imȱ Requestȱan,ȱwelcheȱFormateȱerȱverarbeitenȱkann.ȱDerȱServerȱteiltȱdemȱWebȬClientȱȱ ȱ
ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ ZuȱXMLȱsieheȱwww.xml.org.ȱ
19
258ȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ inȱ derȱ Responseȱ mit,ȱ welchesȱ Formatȱ derȱ gesendeteȱ EntityȬAbschnittȱ nutztȱ (z.B.ȱ HTML,ȱ GIF,ȱ JPEGȬBilder,ȱ PDF).ȱ Medientypenȱ werdenȱ mitȱ derȱ Syntaxȱ /Ȭ ȱ bezeichnetȱ (Beispiele:ȱ Accept:ȱ */*ȱ =ȱ alleȱ Medientypen,ȱ Accept:ȱ text/*ȱ =ȱ alleȱTexttypenȱakzeptieren).ȱ Clientseite
Browser HTTP TCP
se res Ad IP- itteln m er
DNS
Serverseite
httpd HTTP-Nachrichten TCP-Segmente IP-Pakete
IP
HTTP TCP IP
Physikalische Nachricht
ȱ Abbildungȱ6Ȭ16:ȱHTTPȬProtokollstackȱ
FürȱalleȱOperationenȱwerdenȱimȱHTTPȬProtokollȱnurȱzweiȱPDUȬTypen,ȱdieȱHTTPȬ RequestȬȱ undȱ dieȱ HTTPȬResponseȬPDUȱ benötigt.ȱ Dieȱ PDUsȱ sindȱ sehrȱ generischȱ aufgebautȱ undȱ könnenȱ daherȱ mitȱ vielenȱ Spezialinformationenȱ (hierȱ Headerȱ geȬ nannt)ȱversehenȱwerden.ȱDieȱwichtigstenȱProtokolloperationenȱsindȱGETȱundȱPOST.ȱ MitȱGETȱundȱPOSTȱkönnenȱDokumenteȱvomȱWebȬServerȱangefragtȱwerden.ȱEineȱ entsprechendeȱHTTPȬRequestȬPDUȱwirdȱvomȱWebȬClientȱzumȱWebȬServerȱgesenȬ det,ȱeineȱHTTPȬResponseȬPDUȱmitȱdemȱErgebnisȱinȱderȱumgekehrtenȱRichtung.ȱ Abbildungȱ6Ȭ17ȱzeigtȱdenȱgrundsätzlichenȱAblaufȱderȱKommunikation.ȱManȱsieht,ȱ dassȱ vorȱ derȱ HTTPȬKommunikationȱ einȱ Verbindungsaufbauȱ durchgeführtȱ wirdȱ undȱ nachȱ demȱ Empfangȱ derȱ ResponseȬPDUȱ dieȱ Verbindungȱ (vomȱ Client)ȱ wiederȱ abgebautȱwird.ȱ Inȱ derȱ Abbildungȱ 6Ȭ17ȱ istȱ derȱ Aufbauȱ derȱ HTTPȬPDUȱ dargestellt.ȱ Einȱ HTTPȬ RequestȱbestehtȱausȱfolgendenȱTeilen:ȱ – RequestȬLineȱ(Anfragezeile):ȱDiesȱistȱderȱ„HauptȬHeader“ȱmitȱderȱAngabeȱderȱ Operationȱ(hierȱGET)ȱundȱderȱadressiertenȱURL.ȱInȱdiesemȱTeilȱwerdenȱauchȱ –ȱ fallsȱ vorhandenȱ –ȱ dieȱ Eingabeparameterȱ ausȱ denȱ HTMLȬFormularenȱ alsȱ (name,ȱvalue)ȬPaareȱmitȱübertragen.ȱ – Listeȱ vonȱ RequestȬHeadern:ȱ Hierȱ gibtȱ esȱ eineȱ Fülleȱ vonȱ HTTPȬHeadern.ȱ BeiȬ spielȱ Accept:ȱ text/htmlȱ mitȱ derȱ Bedeutung,ȱ dassȱ derȱ Browserȱ nurȱ HTMLȬ Dateienȱunterstützt.ȱ – EntityȬBody:ȱ Nutzdatenteilȱ derȱ Nachricht,ȱ derȱ beiȱ GETȱ leerȱ ist.ȱ Beiȱ POSTȱ werdenȱhier,ȱfallsȱvorhanden,ȱEingabeparameterȱausȱdenȱHTMLȬFormularenȱ übertragen.ȱ
259ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ WWW-Browser
WWW-Server TCP-Verbindungsaufbau (Connection-Request/Response) HTTP-Request
HTTP-Response
TCP-Verbindungsabbau (außer bei persistenten Connections)
ȱ Abbildungȱ6Ȭ17:ȱHTTPȬKommunikationȱ
EineȱHTTPȬResponseȱbestehtȱausȱfolgendenȱFeldernȱ(sieheȱAbbildungȱ6Ȭ18):ȱ – StatusȱLine:ȱHierȱwirdȱdieȱHTTPȬVersion,ȱderȱStatuscodeȱdesȱRequestsȱsowieȱ einȱTextȱzumȱStatusȱ(imȱBeispiel:ȱHTTP/1.0ȱ200ȱOK)ȱangegeben.ȱ – ListeȱvonȱResponseȬHeadern:ȱAuchȱhierȱsindȱvieleȱHeaderȱmöglich.ȱInȱderȱAbȬ bildungȱ istȱ z.B.ȱ derȱ Inhaltȱ derȱ HTTPȬResponseȱ imȱ Bodyȱ mitȱ demȱ Headerȱ ContentȬtype:ȱtext/htmlȱangegeben.ȱMitȱdemȱHeaderȱContentȬlength:ȱ2000ȱwirdȱ dieȱLängeȱderȱAntwortȱimȱBodyȱangezeigt.ȱ – EntityȬBody:ȱ Dieserȱ Teilȱ enthältȱ dieȱ Nutzdatenȱ desȱ Ergebnisses,ȱ alsoȱ inȱ derȱ RegelȱdenȱHTMLȬCode.ȱ DaȱdieȱNachrichtenȱimȱTextformatȱübertragenȱwerden,ȱsindȱTrennzeichenȱerforderȬ lich.ȱ Zwischenȱ denȱ einzelnenȱ PDUȬFeldernȱ werdenȱ Leerzeichenȱ eingefügt.ȱ Dieȱ Headerȱ sowieȱ derȱ Entityȱ Bodyȱ werdenȱ mitȱ denȱ ASCIIȬZeichenȱ CRȱ (Carriageȱ ReȬ turn)ȱ undȱ LFȱ (Lineȱ Feed)ȱ abgetrennt.ȱ Headernamenȱ undȱ Werteȱ werdenȱ durchȱ „:“ȱvoneinanderȱgetrennt.ȱ Dieȱ HTTPȬSpezifikationȱ (V1.1)ȱ enthältȱ vieleȱ HTTPȬHeader,ȱ dieȱ vonȱ Browsern,ȱ WebȬServernȱundȱauchȱvonȱeinemȱProxyȬCacheȬServerȱinȱdieȱHTTPȬPDUȱeingetraȬ genȱwerdenȱkönnen.ȱManȱunterscheidet:ȱ – – – –
260ȱ
AllgemeineȱHeaderȱfürȱWebȬClientȱundȱȬServerȱ RequestȱHeaderȱfürȱWebȬClientȱ ResponseȱHeaderȱfürȱWebȬServerȱ EntityȱHeaderȱfürȱWebȬClientȱundȱȬServerȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ HTTP-Request RequestRequest-Line
List of Request Headers
Entity Body
GET /path /ex1.html html HTTP/1.1 /path/ex1. Accept: Accept: text/html text/html
HTTPHTTP-Response Status Line HTTP/1.1 200 OK
List of Response Headers
Entity Body
MimeMime-Version: 1.0 ContentContent-type: type: text/html text/html ContentContent-length: length: 2000
...
ȱ Abbildungȱ6Ȭ18:ȱHTTPȬPDUsȱ
DerȱAufbauȱvonȱHeadernȱ(GroßȬ/KleinschreibungȱspieltȱkeineȱRolle)ȱsiehtȱwieȱfolgtȱ aus:ȱ :
Einȱ Headerȱ kannȱ sichȱ überȱ mehrereȱ Zeilenȱ erstrecken,ȱ Folgezeilenȱ müssenȱ mitȱ BlankȱoderȱTabȱbeginnen.ȱImȱFolgendenȱwerdenȱnochmalsȱeinigeȱBeispieleȱzuȱdenȱ einzelnenȱHeadertypenȱzusammengefasst:ȱ BeispieleȱfürȱallgemeineȱHeader:ȱCacheȬControlȬDirektive:ȱDefiniertȱinȱeinerȱListeȱ CachingȬDirektivenȱ(ListeȱmitȱKommaȱabgetrenntȱzulässig):ȱ – Imȱ RequestȬHeader:ȱ CacheȬControl:ȱ noȬcacheȱ bedeutet,ȱ dassȱ keinȱ Cacheȱ verȬ wendetȱwerdenȱsoll.ȱ – Imȱ ResponseȬHeader:ȱ CacheȬControl:ȱ noȬcacheȱ bedeutet,ȱ dassȱ dieȱ WebȬSeiteȱ nichtȱinȱdenȱCacheȱgelegtȱwerdenȱsoll.ȱ BeispieleȱfürȱRequestȬHeader:ȱ – Accept:ȱ/ȱ(Listeȱistȱzulässig),ȱz.B.ȱAccept:ȱtext/*ȱbedeutet,ȱdassȱ alleȱTextuntertypenȱerlaubtȱsindȱ(html,ȱplain,ȱenriched,...).ȱ – Cookie:ȱ =<wert> 20ȱ(Listeȱ mitȱ Strichpunktenȱ abgetrenntȱ istȱ zulässig).ȱ Speichertȱ dasȱ (name,ȱ value)ȬPaarȱ fürȱ dieȱ aktuelleȱ URL,ȱ z.B.ȱ Cookie:ȱ mps=1234123ȱ BeispieleȱfürȱResponseȬHeader:ȱ – Server:ȱ:ȱNameȱundȱVersionsnummerȱdesȱServers,ȱz.B.ȱServer:ȱ NSCA/2.0ȱȱȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ȱȱ CookiesȱsindȱDateien,ȱdieȱvomȱBrowserȱimȱFilesystemȱdesȱWebȬClientsȱgespeichertȱwerȬ den.ȱ Sieȱ könnenȱ vomȱ WebȬServerȱ angelegtȱ werden,ȱ wennȱ derȱ Browserȱ entsprechendȱ konfiguriertȱist.ȱManȱkannȱmitȱCookiesȱSessionȬübergreifendȱaufbewahren.ȱBeiȱerneuterȱ AnwahlȱeinerȱURLȱkannȱdasȱCookieȱmitȱdemȱHTTPȬRequestȱgesendetȱwerden.ȱ
20
261ȱ
6ȱȱAusgewählteȱAnwendungsprotokolleȱ – SetȬCookie:ȱ =<wert>ȱ [;option,...]:ȱ Setztȱ einȱ Cookieȱ fürȱ dieȱ aktuelleȱ URL,ȱz.B.ȱ SetȬCookie:ȱmandl=1234;ȱexpires=datumȱsetztȱeinȱ Cookieȱ mitȱ Namenȱ „mandl“ȱundȱdemȱWertȱ„1234“ȱmitȱeinemȱAblaufdatumȱvonȱ„datum“ȱȱ BeispielȱfürȱEntityȬHeader:ȱ – ContentȬLength:ȱn:ȱLängeȱdesȱübertragenenȱEntityȱBodiesȱinȱByte,ȱz.B.ȱConȬ tentȬlength:256ȱ Betrachtenȱ wirȱ nunȱ dieȱ Kommunikationȱ etwasȱ detaillierter.ȱ Derȱ clientseitigeȱ AbȬ laufȱeinerȱHTTPȬKommunikationȱsiehtȱwieȱfolgtȱaus:ȱ – DerȱWebȬClientȱermitteltȱdenȱHostnamenȱdesȱServersȱausȱderȱURLȱundȱbeȬ sorgtȱsichȱüberȱDNSȱdieȱIPȬAdresseȱdesȱWebȬServers.ȱEsȱkannȱaberȱauchȱeineȱ IPȬAdresseȱinȱderȱURLȱstehen,ȱdannȱentfälltȱderȱDNSȬLookup.ȱ – DerȱClientȱbautȱaktivȱeineȱTCPȬTransportverbindungȱzumȱSocketȱdesȱWebȬ ServersȱmitȱPortnummerȱ80ȱauf.ȱ – DerȱWebȬServerȱnimmtȱdieȱVerbindungȱan.ȱ – DerȱWebȬClientȱsendetȱdenȱHTTPȬBefehlȱ(z.B.ȱGETȱ/index/htmlȱHTTP/1.1).ȱ – DerȱWebȬClientȱsendetȱweitereȱoptionaleȱHTTPȬHeaderȱ(eigeneȱKonfiguratiȬ onȱundȱakzeptierteȱDokumentȬFormate,...),ȱz.B.ȱAccept:ȱimage/gif.ȱ – DerȱWebȬClientȱsendetȱeineȱLeerzeileȱ(EndeȱdesȱRequestsȱanzeigen).ȱ – Derȱ WebȬClientȱ sendetȱ evtl.ȱ nochȱ zusätzlicheȱ Datenȱ alsȱ Parameterȱ (InputȬ FelderȱausȱHTMLȬFormularen).ȱ AusȱSichtȱeinesȱWebȬServersȱsiehtȱderȱAblaufȱderȱHTTPȬKommunikationȱwieȱfolgtȱ aus:ȱ – NachȱderȱBearbeitungȱdesȱRequestsȱsendetȱderȱServerȱeineȱStatuszeileȱ(ResȬ ponseȱ Header)ȱ mitȱ dreiȱ Feldernȱ (Version,ȱ Statuscode,ȱ lesbarerȱ Text),ȱ z.B.ȱ HTTP/1.1ȱ200ȱOK.ȱ – AnschließendȱsendetȱderȱServerȱHTTPȬHeaderȱwieȱz.B.ȱContentȬtype:text/htmlȱ undȱContentȬlength:ȱ2482.ȱ – Anschließendȱ wirdȱ eineȱ Leerzeileȱ (CRȱ LF)ȱ gesendetȱ undȱ dasȱ angeforderteȱ Dokument.ȱ – Fallsȱ vomȱ Clientȱ keinȱHeaderȱ „Connection:Keepȱalive“ȱ gesendetȱ wurde,ȱ wirdȱ dieȱTCPȬVerbindungȱwiederȱabgebaut.ȱAbȱHTTPȱ1.1ȱwirdȱ„Keepȱalive“ȱstanȬ dardmäßigȱ ȱ verwendet.ȱ Dadurchȱ könnenȱ Applets,ȱ Grafiken,ȱ Rahmenȱ undȱ sonstigeȱObjekteȱüberȱdieselbeȱVerbindungȱübertragenȱwerden.ȱ NebenȱdenȱProtokolloperationenȱGETȱundȱPOSTȱgibtȱesȱauchȱnochȱandereȱOperaȬ tionen:ȱȱ – LINK:ȱ Fordertȱ an,ȱ dassȱ dieȱ HeaderȬInformationenȱ zuȱ einemȱ Dokumentȱ aufȱ demȱServerȱinȱBeziehungȱgesetztȱwerden.ȱ – UNLINK:ȱInverseȱOperationȱzuȱLINK.ȱ – PUT:ȱGegenstückȱzuȱGET,ȱsendetȱeinȱDokumentȱvomȱClientȱzumȱServerȱimȱ BodyȬAbschnitt.ȱ
262ȱ
6.3ȱȱDasȱWorldȱWideȱWebȱ – DELETE:ȱFordertȱdieȱEntfernungȱeinesȱDokumentsȱaufȱdemȱServerȱan.ȱ – OPTIONS:ȱFordertȱvomȱServerȱKommunikationsoptionenȱan.ȱ – TRACE:ȱ Fordertȱ vomȱ Serverȱ dasȱ Zurücksendenȱ desȱ gesendetenȱ BodyȬ Abschnitts.ȱ BeiȱderȱGETȬOperationȱistȱderȱBodyȬBereichȱimmerȱleerȱundȱzurȱÜbertragungȱvonȱ InputȬParameternȱfürȱserverseitigeȱProgrammeȱwirdȱdieȱURLȱergänzt.ȱNachȱeinemȱ FragezeichenȱkommenȱdannȱdieȱParameterȱausȱdenȱEingabefeldern.ȱ Beispiel:
GET /bin-cgi/my.pl?kdr=12345&name=mandl HTTP 1/1
Imȱ Beispielȱ ausȱ Abbildungȱ 6Ȭ19ȱ sendetȱ derȱ Serverȱ nachȱ Abarbeitungȱ desȱ CGIȬ Perlscriptsȱmy.plȱdieȱStandardausgabeȱdesȱScriptsȱalsȱResponseȱzurück.ȱȱ WeiterhinȱsollȱnochȱdieȱHEADȬOperationȱerwähntȱwerden.ȱDieseȱOperationȱfunkȬ tioniertȱ wieȱ dieȱ GETȬOperation,ȱ nurȱ dassȱ hierȱ vomȱ WebȬServerȱ keinȱ ErgebnisdoȬ kumentȱ gesendetȱ wird.ȱ Einȱ sinnvollerȱ Einsatzȱ fürȱ dieȱ HEADȬOperationȱ istȱ z.B.ȱ dannȱ gegeben,ȱ wennȱ derȱ WebȬClientȱ nurȱ dasȱ Datumȱ derȱ letztenȱ Änderungȱ oderȱ dieȱDokumentgrößeȱwissenȱwill.ȱ WWW-Browser
GET /bin-cgi/my.pl
WWW-Server
?kdr=12345&name =m an
dl HTTP /1.1
my.pl ausführen und Ergebnisdokument aufbauen
l>