Musterlösung

Werbung
Koblenz am 1. März 2010
15:15 Uhr, Hörsaal D028
Klausur zur Vorlesung
Vertiefung Rechnernetze
Prof. Dr. Ch. Steigner
Wintersemester 2009/2010
Name:
Vorname:
Matrikel-Nr.:
Studiengang:
Musterlösung
Punkte:
1 2 3 4 5 6 7 8 9 10 11 12
13 13 12 6 10 10 17 14 18 7 10 12
Gesamt: 142
Note:
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 13
1a. Was sind die wesentlichen Konstruktionsprinzipien einer Rechnernetz-Architektur?
3
• Protokolle
• Schichten
• Adressen
1b. In welche Schichten wird das TCP/IP Schichten-Modell aufgegliedert und welches Adressierungssystem kommt auf der jeweiligen Schicht zum Einsatz? Nennen Sie die Schichten
und das jeweils zugehörige Adresssystem. Beginnen Sie mit der obersten Schicht.
(Von oben nach unten in der richtigen Reihenfolge, Top-Down).
4
• Anwendung (Application)
– Portnummer
• Transport
– Protokollnummer
• Internet/Netzwerk (Network)
– IP-Adresse
• Netzzugang/Bitübertragung (Data-Link)
– MAC-Adresse
1c. Welche zusätzliche Funktionen bietet das UDP-Protokoll gegenüber dem IP-Protokoll?
2
• Stichwort: Multiplexing / Prozessdemultiplexing
– UDP bietet über die Portnummern die Möglichkeit Daten zwischen verschiedenen Anwendungen anzusprechen.
1d. Ordnen Sie die Begriffe richtig zu.
(Mehrfachzuweisung möglich)
1
2
3
4
4
UDP
N
connection-less
TCP
connection-oriented
N
congestion-control
N
flow-control
N
unicast
N
N
N
multicast
broadcast
N
best-effort
N
realtime
1
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 13
2a. Nennen Sie die drei elementaren Festlegungen, die für ein Protokoll ausgemacht werden
sollten!
3
• Syntax
• Semantik
• Zeitbedingungen
2b. Nennen Sie die zwei Eigenschaften, die ein endlicher Protokoll-Spezifikations-Automat
aufweisen sollte!
2
• Erreichbarkeit
• Beendbarkeit (Rückführung)
2c. Geben Sie die kommunizierenden Mealy-Automaten an, die sich aus dem abgebildeten
endlichen Protokoll-Spezifikations-Automaten ergeben. (Zustand 0 ist Start- und Endzustand!)
CON
0
P-REQ
1
ACC
2
3
P-STOP
LIF
5
Lösung:
2
4
P-RES
P-START
REJ
REG
8
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 12
3a. Beschreiben Sie den prinzipiellen Übertragungsablauf beim Stop-and-Wait-Protokoll und
begründen Sie, warum hier nur eine 1-Bit-Sequnznummer benötigt wird.
3
• Sender wartet nach jeder Übertragung eines Frames auf ein ACK
• Kommt das ACK innerhalb einer bestimmten Zeit nicht, läuft ein Timer ab (Timeout) und der Sender überträgt den Original-Frame erneut
• Gehen ACKs verloren, kann der Empfänger ohne eine 1-Bit-Sequnznummer nicht
zwischen Frame-Duplikaten und neuen Frames unterscheiden.
3b. Welche Vorteile bietet das Sliding Window Protokoll?
2
• zuverlässige Übertragung
• Übertragung in der richtigen Reihenfolge
• Flusskontrolle zwischen Sender und Empfänger
• Bandbreite wird besser genutzt
3c. Wie kann man beim Sliding-Window-Verfahren die optimale Fenstergröße ermitteln?
Wieso wird die so ermittelte Fenstergröße als optimal bezeichnet?
3
• Der Sender soll solange Frames schicken können, bis frühestens eine Antwort vom
Empfänger ankommen kann.
• Sendefenstergröße = RTT / Sendezeit für ein Frame
• Die Leitungskapazität soll bestmöglichst ausgenutzt werden
• keeping the pipe full
3d. Erklären Sie kurz was unter Flußkontrolle und was unter Staukontrolle verstanden wird.
2
Flußkontrolle: Der Empfänger wird nicht überlastet.
Staukontrolle: Das Netz wird nicht überlastet.
3e. Über welche Größe wird bei TCP die Flusskontrolle und über welche Größe die Staukontrolle gesteuert?
Flußkontrolle: advertised window
Staukontrolle: congestion window
3
2
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 6
4. Zeichnen Sie ein Interaktionsdiagramm für den einfachen Sliding-Window-Algorithmus
mit fester Fenstergröße von SWS=RWS=4 Frames, kumulativen ACKs (ohne FastRetransmit) und einem Timeout-Intervall von etwa 2xRTT. Zu übertragen sind 12
Frames, das erste zu übertragende Frame habe die Sequenznummer 1. Bei der Übertragung gehe die Bestätigung für Frame 2, also ACK 2, auf dem Weg vom Empfänger
an den Sender und der Frame 6 auf dem Weg vom Sender zum Empfänger verloren.
Das Interaktionsdiagramm soll den Übertragungsablauf (ohne Verbindungsauf- bzw.
Abbau) vollständig darstellen. Aus dem Diagramm soll zudem ersichtlich sein, dass die
Sendefenstergröße auf die RTT abgestimmt wurde.
Lösung:
Sender
Empfänger
F1
F2
RTT
F3
A1
F4
A2
F5
A3
A4
F6
A5
X
2 * RTT
F7
F8
F9
Timeout F6
F6
A9
F10
F11
F12
A10
A11
A12
4
X
6
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 10
5. Ein Kommunikationsprotokoll benutze den Sliding-Window-Algorithmus mit kumulativen
Acknowledgments. Im Folgenden ist jeweils der aktuelle Zustand auf der Empfängerseite dargestellt. Dabei bedeuten grau hinterlegte Felder, dass der entsprechende Frame
bereits zuvor angekommen ist.
5a. Wie groß ist in den Beispielen unten jeweils das Empfangsfenster?
LAF−LFA=5
5b. Das Emfangsfenster befindet sich in folgendem Zustand:
0
1
2
3
4
5
LFA
6
7
8
9
1
3
10
LAF
Nun trifft ein Frame mit der Sequenznummer 2 ein. Geben Sie den resultierenden Zustand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!
0
1
2
3
4
5
6
LFA
7
8
9
10
LAF
Hat der Empfänger eine Nachricht an den Sender geschickt und wenn ja, welche?
ACK 2
5c. Das Emfangsfenster befindet sich in folgendem Zustand:
0
1
2
3
4
5
6
7
LFA
8
9
3
10
LAF
Nun trifft ein Frame mit der Sequenznummer 5 ein. Geben Sie den resultierenden Zustand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!
0
1
2
3
4
5
6
7
LFA
8
9
10
LAF
Hat der Empfänger eine Nachricht an den Sender geschickt und wenn ja, welche?
Nein (Bei Fast-Retransmit ACK 3)
5d. Das Emfangsfenster befindet sich in folgendem Zustand:
0
1
2
3
4
5
6
LFA
7
8
9
10
LAF
Nun trifft ein Frame mit der Sequenznummer 3 ein. Geben Sie den resultierenden Zustand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!
0
1
2
3
4
5
LFA
6
7
8
9
10
LAF
Hat der Empfänger eine Nachricht an den Sender geschickt und wenn ja, welche?
5
ACK 5
3
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 10
6. Beschreiben Sie kurz die folgenden Mechanismen, die bei der Staukontrolle von TCP
vorgesehen sind.
6a. Slow Start
• exponentielle Vergrößerung des Congestion Windows
• Name wurde gewählt, weil früher zu Beginn einer Übertragung ein volles Advertised Window gesendet wurde
• für jedes empfangene ACK wird das Congestion Window um 1 erhöht
6b. Additive Increase Multiplicative Decrease
• Solange kein TCP-Segment verloren geht (d.h. die ACKs ankommen), wird das
Congestion Window pro RTT um einen festen Wert inkrementiert (Typischer
Wert: +1).
• additive increase
• Tritt ein Timeout auf (keine ACKs kommen an), wird das Congestion Window
halbiert
• multiplicative decrease
6c. Fast Retransmit
• Kommen Segmente Out-Of-Order, entstehen also Lücken im Eingangspuffer
des Empfängers, dann
• schickt der Empfänger jeweils das letzte schon gegebene ACK erneut (DupACK)
• der Sender deutet die DupACKs als Hinweis auf verlorene Segmente
• das dritte DupACK löst dann die Retransmission aus
6d. Fast Recovery
• Überspringen der Slow-Start-Phase nach einem Stauereignis
• gleich Additive Increase mit halbem Congestion Window
6e. Welcher der hier genannten Mechanismen kann als “fair” bezeichnet werden
und warum?
• Additive Increase Multiplicative Decrease
• Durch das Verfahren wird die vorhandene Bandbreite gleichmäßig auf die Benutzer verteilt.
6
10
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 17
7a. Sie haben den Auftrag ein Netzwerk für eine neue Zweigstelle ihrer Firma einzurichten.
Es gibt 6 Abteilungen (A-F), von denen jede ihr eigenes Subnetz (A-F) erhält. Jede
Abteilung hat einen entsprechenden Bedarf an IP-Adressen. Von ihrem Internet Service
Provider (ISP) haben Sie dafür das Klasse-C Netz 205.26.69.0 erhalten. Die verfügbaren
IP-Adressen müssen nun wie folgt verteilt werden:
SubnetA benötigt 105 IP-Adressen, die aus dem unteren Bereich kommen sollen (die
niedrigsten IP-Adressen). SubnetF benötigt 34 IP-Adressen aus dem oberen Bereich (die
höchsten IP-Adressen). Die übrigen IP-Adressen sollen der Reihe nach, aufsteigend, auf
die verbliebenen Subnetze verteilt werden. SubnetB und SubnetC benötigen je 5 IPAdressen, SubnetD 10 IP-Adressen und SubnetE 18 IP-Adressen.
Vervollständigen Sie die Tabelle:
Internet
12
ISP
SubnetA
R1
SubnetF
R3
R2
SubnetB
SubnetC
R4
SubnetD
SubnetE
Subnetz
Anzahl IPs
Subnet-IP
Broadcast-IP
CIDR-Notation
SubnetA
105
205.26.69.0
205.26.69.127
205.26.69.0/25
SubnetB
5
205.26.69.128
205.26.69.135
205.26.69.128/29
SubnetC
5
205.26.69.136
205.26.69.143
205.26.69.136/29
SubnetD
10
205.26.69.144
205.26.69.159
205.26.69.144/28
SubnetE
18
205.26.69.160
205.26.69.191
205.26.69.160/27
SubnetF
34
205.26.69.192
205.26.69.255
205.26.69.192/26
7b. Notieren Sie die Weiterleitungstabelle von Router R1 aus der obigen Topologie. Aggregieren Sie die Adressbereiche soweit möglich. Die Default-Route zum Internet Service
Provider wurde bereits eingetragen.
CIDR-Notation
3
Nexthop-Router
default
ISP
205.26.69.0/25
−−−
205.26.69.128/28
R2
205.26.69.144/28
R3
205.26.69.160/27
R3
205.26.69.192/26
R3
7c. Welche Probleme sollten mit der Einführung der CIDR-Adressnotation behoben werden?
• Anwachsen der Routing-Tabellen
• Adressmangel
7
2
Name:
Matrikel-Nr.:
Aufgaben:
8a. Nennen Sie vier Vorteile, die NAT bietet bzw. Einsatzgebiete für NAT!
Punkte: 14
4
• IPv4-Adressmangel entschärfen
• Verbergen der internen Netzinfrastruktur nach außen
• Migration (zu einem anderen Provider) bzw. Providerfusion
• Lastverteilung (load distribution)
• Unterstützung virtueller Server
8b. Nennen Sie Probleme, die durch die Verwendung von NAT auftreten können!
2
• Die End-to-End Semantik bei verbindungsorientierten Protokollen wird aufgegeben
– Folge u.a.:
– Application-Layer-Protokolle laufen eventuell nicht über NAT
– IPsec ist nicht nutzbar
8c. Erläutern Sie, welche Gültigkeitsbereiche bei NAT betroffen sind, bzw. welche Adressen
auf welche ersetzt werden, unter Verwendung der Begriffe local, global, inside, outside,
wenn:
4
• ein IP-Packet von innen nach außen gesendet wird.
Inside local Adresse wird durch inside global Adresse ersetzt
Outside local Adresse wird durch outside global Adresse ersetzt
• ein IP-Packet von außen nach innen gesendet wird.
– Inside global Adresse wird durch inside local Adresse ersetzt
– Outside global Adresse wird durch outside local Adresse ersetzt
.
8d. Erläutern Sie den folgenden iptables-Befehl.
2
iptables -t nat -A POSTROUTING -o eth1 -s 10.1.3.1 -j SNAT --to 205.26.69.1
Source-NAT in der POSTROUTING-Chain
IP-Pakete, die über eth1 hinausgehen und als Source-Adresse 10.1.3.1 haben, wird diese SourceAdresse durch 205.26.69.1 ersetzt
8e. Geben Sie für Aufgabe 8d. den iptables-Befehl für die entgegengesetzte Richtung an.
Hinweis: Auf der letzten Seite der Klausur finden Sie eine Auswahl von iptablesOptionen.
2
iptables -t nat -A PREROUTING -i eth1 -d 205.26.69.1 -j DNAT --to 10.1.3.1
Destination-NAT in der PREROUTING-Chain
IP-Pakete, die über eth1 hereinkommen und als Ziel-Adresse 205.26.69.1 haben, wird diese Ziel-Adresse
durch 10.1.3.1 ersetzt.
8
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 18
9a. Nennen Sie 3 Möglichkeiten, wie Einträge in die BGP-Tabelle eines Routers gelangen
können.
3
• durch das network oder aggregate-addess Kommando
• durch Redistribution
• durch eine Update-Nachricht eines BGP-Peers
9b. Welche 4 Nachrichtentypen kennt BGP und welche Bedeutung fällt ihnen zu?
8
• Open
– erste Nachricht, die ausgetauscht wird.
– Grundeinstellungen und Parameter werden ausgetauscht.
• Update
– Austausch von Routen-Informationen
• Notification
– Fehlerbenachrichtigung
• Keepalive
– “Heart Beat”
– sicherstellen, dass die TCP-Verbindung steht
9c. Bei BGP unterscheidet man die Protokollvarianten I-BGP, E-BGP und ConfederationE-BGP. Wann wird welche Variante verwendet d.h. was sind die Kriterien nach denen
festgelegt ist, ob eine BGP-Verbingung eine I-BGP-, E-BGP- oder Confederation-EBGP-Verbindung ist?
3
• Bei BGP-Verbindungen zwischen Peers im gleichen autonomen System wird I-BGP
verwendet.
• Bei BGP-Verbindungen zwischen Peers in unterschiedlichen autonomen Systems
wird E-BGP verwendet.
• Bei BGP-Verbindungen zwischen Peers in unterschiedlichen subautonomen Systemen einer Confederation wird Confederation-E-BGP verwendet.
9d. Welches Problem lässt sich durch die Verwendung von Route Reflectors oder Confederations in einem Autonomen System lösen und warum tritt dieses Problem überhaupt
auf?
2
Das Skalierungsproblem, dass durch den Full-Mesh von I-BGP-Peers verursacht wird.
9e. Wofür werden Communities und wofür werden Peer-Groups in BGP verwendet?
Peer-Groups: Durch Peer Groups werden Router gruppiert.
Communities: Durch Communities werden Routen gruppiert.
9
2
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 7
10. Geben Sie die BGP-Konfiguration des Routers Meribel an, d.h. nur die Befehle, die zum
BGP-Verbindungsaufbau zu Innsbr(ck) und Cervini(a), nötig sind, ohne Weitergabe
spezieller Prefixe oder Einrichtung von Routing-Policies. Verwenden Sie als Adressen die
angegebenen Router-IDs welche über Loopbackinterfaces eingerichtet sind und berücksichtigen Sie die Konfigurationen, die bei der Verwendung der Loopbackinterfaceadresse
als Sourceadresse und zum Verbindungsaufbau über E-BGP nötig sind. Hinweis: Auf
der letzten Seite der Klausur finden Sie eine Auswahl von BGP-Kommandos.
router bgp 50
bgp router-id 10.50.250.1
neighbor 10.100.83.1 remote-as 100
neighbor 10.100.83.1 update-source
neighbor 10.100.83.1 ebgp-multihop
neighbor 10.200.60.1 remote-as 200
neighbor 10.200.60.1 update-source
neighbor 10.200.60.1 ebgp-multihop
10
10.50.250.1
2
10.50.250.1
2
7
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 10
11a. Wozu wird das MED-Attribut bei BGP eingesetzt und welche Regeln gelten für dessen Weitergabe über BGP und dessen Auswertung (kleinere Werte gegenüber höheren
Werten)?
3
• Das MULTI-EXIT-DISC-Attribut (MED) ist dazu gedacht, den bevorzugten Eintrittspunkt in ein AS nach außen bekannt zu geben.
• Dabei gilt im Unterschied zur local preference: Je kleiner der MED-Wert, desto
höher die Präferenz.
• Der MED-Wert wird üblicherweise im Rahmen einer Outbound-Policy auf einer
E-BGP-Verbindung gesetzt.
• Der MED-Wert wird dann nur über I-BGP weitergegeben und wandert über keine
weitere AS-Grenze.
11b. Es soll eine Routing-Policiy konfiguriert werden, die im auf Seite 10 abgebildeten Szenario bewirkt, dass Verkehr zum Prefix 192.168.100.0/24 bevorzugt über die Verbindung
Innsbruck-Zermatt in AS30 hinein fließt. Warum läßt sich in dieser konkreten Topologie
das für diese Art von Routing-Policy vom BGP-Standard vorgesehene Attribut MED
nicht verwenden?
3
• Der MED-Wert üblicherweise über eine Outgoing-Policy für ein Nachbar-AS gesetzt und verläßt dieses AS dann nicht mehr, d.h. er wird dann nur noch über
I-BGP weitergegeben.
• Da Innsbruck und Cervinia in verschiedenen AS liegen, kommt ein MED-Wert,
der z.B. auf Zermatt als Outgoing-Policy auf der BGP-Verbindung zu Innsbruck
gesetzt wird, nicht bei Cervinia an.
• Der MED-Wert wird zudem nur zur Bewertung zweier Routen herangezogen, wenn
diese in das gleiche Nachbar-AS führen.
• Da Innsbruck und Cervinia in verschiedenen AS liegen, ist das hier nicht der Fall,
da immer eine Route direkt zu AS 30 mit einer Route über AS 100 (oder AS 200)
nach AS 30 verglichen werden müßte.
11c. Wie können Sie stattdessen die Routing-Policy aus Aufgabe 11b über AS-Pfad-Verlängerung auf dem Router Moritz umsetzen? Geben Sie die BGP-Konfigurationszeilen für
den Router Moritz an.
BGP-Konfiguration auf Moritz:
neighbor 10.200.60.1 route-map PFAD out
ip prefix-list 1 permit 192.168.100.0/24
route-map PFAD permit 10
match ip address prefix-list 1
set as-path prepend 30 30
11
4
Name:
Matrikel-Nr.:
Aufgaben:
Punkte: 12
12. Community-Attribute können z.B. auch dazu verwendet werden, die Austrittspunkte
von Traffic aus einem Autonomen System fernzusteuern. Wir wollen nun mithilfe von
Community-Attributen von AS30 aus das Setzen von Local-Preference-Werten in AS50
und AS75 steuern. Für Prefixe, die Zermatt an Innsbruck annonciert, setzen wir das
Community-Attribut 30:1 und für Routen, die Moritz an Cervinia annonciert, setzen wir
das Community-Attribut 30:2. Meribel und Lillehammer können dann die CommunityAttribute auswerten und entsprechende Local-Preference-Werte setzen. Dabei soll folgendes erreicht werden: Traffic von AS 50 nach AS 30 soll über Moritz in AS 30 fließen
und Traffic von AS 75 nach AS 30 soll über Zermatt in AS 30 fließen. Geben Sie die
Konfigurationsergänzungen für Zermatt und Moritz an, die die richtigen Communities
setzen und geben Sie diejenigen Ergänzungen für Meribel und Lillehammer an, die die
Communities auswerten und die Local-Preference-Werte passend setzen.
Konfiguration auf Zermatt:
neighbor 10.100.83.1 route-map SETCOM out
route-map SETCOM permit 10
set community 30:1
Konfiguration auf Moritz:
neighbor 10.200.60.1 route-map SETCOM out
route-map SETCOM permit 10
set community 30:2
Konfiguration auf Lille:
neighbor 10.100.83.1 route-map COMM in
neighbor 10.100.60.1 route-map COMM in
neighbor 10.50.250.1 route-map COMM in
ip community-list 301 permit 30:1
ip community-list 301 deny any
ip community-list 302 permit 30:2
ip community-list 302 deny any
route-map COMM permit 10
match community 301
set local-preference 200
route-map COMM permit 20
match community 302
set local-preference 50
Konfiguration auf Meribel:
neighbor 10.100.83.1 route-map COMM in
neighbor 10.75.100.1 route-map COMM in
neighbor 10.100.60.1 route-map COMM in
ip community-list 301 permit 30:1
ip community-list 301 deny any
ip community-list 302 permit 30:2
ip community-list 302 deny any
route-map COMM permit 10
match community 301
set local-preference 50
route-map COMM permit 20
match community 302
set local-preference 200
12
12
Auswahl an BGP-Kommandos:
BGP router
router bgp <asn>
bgp router-id <A.B.C.D>
bgp cluster-id <a.b.c.d>
BGP route/Route Aggregation
network <A.B.C.D/M>
aggregate-address <A.B.C.D/M>
aggregate-address <A.B.C.D/M> summary-only
Redistribute to BGP
redistribute kernel
redistribute static
redistribute connected
redistribute rip
redistribute ospf
BGP Peer commands
neighbor <peer> remote-as <asn>
neighbor <peer> ebgp-multihop
neighbor <peer> next-hop-self
neighbor <peer> update-source
neighbor <peer> send-community
neighbor <peer> route-reflector-client
Peer filtering
neighbor <peer> distribute-list <name> [in|out]
neighbor <peer> filter-list <name> [in|out]
neighbor <peer> prefix-list <name> [in|out]
neighbor <peer> route-map <name> [in|out]
access-list <name> (permit|deny) <prefix>
ip as-path access-list <name> (permit|deny) <reg-expression>
ip prefix-list <name> (permit|deny) <prefix>
ip community-list <name> (permit|deny) <community>
route-map <route-map-name> permit <priority>
match
match
match
match
set
set
set
set
ip address prefix-list <name>
ip address <name>
as-path <name>
community <name>
metric <metric>
local-preference <local_pref>
as-path prepend <as-path>
community <community>
ip community-list <name> (permit|deny) <community>
Auswahl an iptables-Optionen:
-t
-A
-i
-o
-s
-d
-j
-j
-j
<tabelle>
<chain>
[!] <interface>
[!] <interface>
[!] <adresse>[/<maske>]
[!] <adresse>[/<maske]
SNAT --to-source <adresse>[-<adresse>][:<port>-<port>]
DNAT --to-destination <adresse>[-<adresse>][:<port>-<port>]
MASQUERADE
13
Herunterladen