Sie sind auf Seite 1von 14

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

1 2 3 4 5 6 7 8 9 10 11 12
Punkte:
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 Adres- 4
sierungssystem 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).
• 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 verschiede-
nen Anwendungen anzusprechen.

1d. Ordnen Sie die Begriffe richtig zu. 4


(Mehrfachzuweisung möglich)

UDP TCP
N
connection-less
1 N
connection-oriented
N
congestion-control
2 N
flow-control
N N
unicast
N
3 multicast
N
broadcast
N
best-effort
4
realtime

1
Name: Matrikel-Nr.:

Aufgaben: Punkte: 13

2a. Nennen Sie die drei elementaren Festlegungen, die für ein Protokoll ausgemacht werden 3
sollten!
• Syntax

• Semantik

• Zeitbedingungen

2b. Nennen Sie die zwei Eigenschaften, die ein endlicher Protokoll-Spezifikations-Automat 2
aufweisen sollte!
• Erreichbarkeit

• Beendbarkeit (Rückführung)

2c. Geben Sie die kommunizierenden Mealy-Automaten an, die sich aus dem abgebildeten 8
endlichen Protokoll-Spezifikations-Automaten ergeben. (Zustand 0 ist Start- und End-
zustand!)

CON
P-REQ
ACC REG
0 1 2 3 4

REJ P-RES
P-START

P-STOP LIF

Lösung:

2
Name: Matrikel-Nr.:

Aufgaben: Punkte: 12

3a. Beschreiben Sie den prinzipiellen Übertragungsablauf beim Stop-and-Wait-Protokoll und 3


begründen Sie, warum hier nur eine 1-Bit-Sequnznummer benötigt wird.

• Sender wartet nach jeder Übertragung eines Frames auf ein ACK
• Kommt das ACK innerhalb einer bestimmten Zeit nicht, läuft ein Timer ab (Ti-
meout) 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? 3
Wieso wird die so ermittelte Fenstergröße als optimal bezeichnet?

• 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 Staukon- 2
trolle gesteuert?

Flußkontrolle: advertised window

Staukontrolle: congestion window

3
Name: Matrikel-Nr.:

Aufgaben: Punkte: 6

4. Zeichnen Sie ein Interaktionsdiagramm für den einfachen Sliding-Window-Algorithmus 6


mit fester Fenstergröße von SWS=RWS=4 Frames, kumulativen ACKs (ohne Fast-
Retransmit) und einem Timeout-Intervall von etwa 2xRTT. Zu übertragen sind 12
Frames, das erste zu übertragende Frame habe die Sequenznummer 1. Bei der Übert-
ragung 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
X A4
F6 A5

F7 X
F8
2 * RTT

F9

F6
Timeout F6

A9

F10
F11
F12
A10
A11
A12

4
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ängersei-
te 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 1

5b. Das Emfangsfenster befindet sich in folgendem Zustand: 3


0 1 2 3 4 5 6 7 8 9 10

LFA LAF
Nun trifft ein Frame mit der Sequenznummer 2 ein. Geben Sie den resultierenden Zu-
stand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!

0 1 2 3 4 5 6 7 8 9 10

LFA 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: 3


0 1 2 3 4 5 6 7 8 9 10

LFA LAF
Nun trifft ein Frame mit der Sequenznummer 5 ein. Geben Sie den resultierenden Zu-
stand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!

0 1 2 3 4 5 6 7 8 9 10

LFA 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: 3


0 1 2 3 4 5 6 7 8 9 10

LFA LAF
Nun trifft ein Frame mit der Sequenznummer 3 ein. Geben Sie den resultierenden Zu-
stand auf der Empfängerseite an indem Sie die nachfolgende Graphik vervollständigen!

0 1 2 3 4 5 6 7 8 9 10

LFA LAF
Hat der Empfänger eine Nachricht an den Sender geschickt und wenn ja, welche?
5
ACK 5
Name: Matrikel-Nr.:

Aufgaben: Punkte: 10

6. Beschreiben Sie kurz die folgenden Mechanismen, die bei der Staukontrolle von TCP 10
vorgesehen sind.

6a. Slow Start

• exponentielle Vergrößerung des Congestion Windows


• Name wurde gewählt, weil früher zu Beginn einer Übertragung ein volles Ad-
vertised 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 (Du-
pACK)
• 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 Be-
nutzer verteilt.

6
Name: Matrikel-Nr.:

Aufgaben: Punkte: 17

7a. Sie haben den Auftrag ein Netzwerk für eine neue Zweigstelle ihrer Firma einzurichten. 12
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 IP-
Adressen, SubnetD 10 IP-Adressen und SubnetE 18 IP-Adressen.
Vervollständigen Sie die Tabelle:
Internet
ISP
SubnetA

R1

R3 SubnetF
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. Aggre- 3
gieren Sie die Adressbereiche soweit möglich. Die Default-Route zum Internet Service
Provider wurde bereits eingetragen.

CIDR-Notation 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? 2

• Anwachsen der Routing-Tabellen

• Adressmangel

7
Name: Matrikel-Nr.:

Aufgaben: Punkte: 14

8a. Nennen Sie vier Vorteile, die NAT bietet bzw. Einsatzgebiete für NAT! 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 4
auf welche ersetzt werden, unter Verwendung der Begriffe local, global, inside, outside,
wenn:
• 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 Source-
Adresse durch 205.26.69.1 ersetzt

8e. Geben Sie für Aufgabe 8d. den iptables-Befehl für die entgegengesetzte Richtung an. 2
Hinweis: Auf der letzten Seite der Klausur finden Sie eine Auswahl von iptables-
Optionen.

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 3
können.

• 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 Confederation- 3
E-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-E-
BGP-Verbindung ist?

• 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 Syste-
men einer Confederation wird Confederation-E-BGP verwendet.

9d. Welches Problem lässt sich durch die Verwendung von Route Reflectors oder Confede- 2
rations in einem Autonomen System lösen und warum tritt dieses Problem überhaupt
auf?

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? 2
Peer-Groups: Durch Peer Groups werden Router gruppiert.
Communities: Durch Communities werden Routen gruppiert.

9
Name: Matrikel-Nr.:

Aufgaben: Punkte: 7

10. Geben Sie die BGP-Konfiguration des Routers Meribel an, d.h. nur die Befehle, die zum 7
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ück-
sichtigen 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 10.50.250.1
neighbor 10.100.83.1 ebgp-multihop 2
neighbor 10.200.60.1 remote-as 200
neighbor 10.200.60.1 update-source 10.50.250.1
neighbor 10.200.60.1 ebgp-multihop 2

10
Name: Matrikel-Nr.:

Aufgaben: Punkte: 10

11a. Wozu wird das MED-Attribut bei BGP eingesetzt und welche Regeln gelten für des- 3
sen Weitergabe über BGP und dessen Auswertung (kleinere Werte gegenüber höheren
Werten)?

• Das MULTI-EXIT-DISC-Attribut (MED) ist dazu gedacht, den bevorzugten Ein-


trittspunkt 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 Szena- 3
rio 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?

• Der MED-Wert üblicherweise über eine Outgoing-Policy für ein Nachbar-AS ge-
setzt 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änge- 4
rung 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
Name: Matrikel-Nr.:

Aufgaben: Punkte: 12

12. Community-Attribute können z.B. auch dazu verwendet werden, die Austrittspunkte 12
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 Community-
Attribute auswerten und entsprechende Local-Preference-Werte setzen. Dabei soll fol-
gendes 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
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 ip address prefix-list <name>


match ip address <name>
match as-path <name>
match community <name>

set metric <metric>


set local-preference <local_pref>
set as-path prepend <as-path>
set community <community>

ip community-list <name> (permit|deny) <community>

Auswahl an iptables-Optionen:

-t <tabelle>
-A <chain>
-i [!] <interface>
-o [!] <interface>
-s [!] <adresse>[/<maske>]
-d [!] <adresse>[/<maske]
-j SNAT --to-source <adresse>[-<adresse>][:<port>-<port>]
-j DNAT --to-destination <adresse>[-<adresse>][:<port>-<port>]
-j MASQUERADE

13