März 2010
15:15 Uhr, Hörsaal D028
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
Aufgaben: Punkte: 13
• 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.
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
• 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.
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.
3e. Über welche Größe wird bei TCP die Flusskontrolle und über welche Größe die Staukon- 2
trolle gesteuert?
3
Name: Matrikel-Nr.:
Aufgaben: Punkte: 6
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
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
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)
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.
• 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
6e. Welcher der hier genannten Mechanismen kann als “fair” bezeichnet werden
und warum?
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
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
• 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
.
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
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.
Aufgaben: Punkte: 18
9a. Nennen Sie 3 Möglichkeiten, wie Einträge in die BGP-Tabelle eines Routers gelangen 3
können.
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?
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)?
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:
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.
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]
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