Übungsblatt 1


Besprechung am 11.11.2000

Aufgabe 1

In der Vorlesung wurde vergessen auf die IP Adressen genauer einzugehen, die eine besondere
Bedeutung haben. Suchen Sie den Assigned Numbers RFC (RFC 1340). Welche reservierten
IP Adressen gibt es und welche Aufgabe haben sie?

Lösung zu Aufgabe 1:

RFC 1340 sagt dazu folgendes:

There are certain special cases for IP addresses [11].  These special cases can be concisely summarized using the earlier notation for an IP address:

 IP-address ::=  { <Network-number>, <Host-number> }

            or

 IP-address ::=  { <Network-number>, <Subnet-number>, <Host-number> }

 if we also use the notation "-1" to mean the field contains all 1
 bits.  Some common special cases are as follows:

(a)   {0, 0}

This host on this network.  Can only be used as a source address (see note later).

(b)   {0, <Host-number>}

Specified host on this network.  Can only be used as a source address.

(c)   { -1, -1}

Limited broadcast.  Can only be used as a destination address, and a datagram with this address must never be forwarded outside the (sub-)net of the source.

(d)   {<Network-number>, -1}

Directed broadcast to specified network.  Can only be used as a destination address.

(e)   {<Network-number>, <Subnet-number>, -1}

Directed broadcast to specified subnet.  Can only be used as a destination address.

(f)   {<Network-number>, -1, -1}

Directed broadcast to all subnets of specified subnetted network.  Can only be used as a destination address.

(g)   {127, <any>}

Internal host loopback address.  Should never appear outside a host.

Note also that the IP broadcast address, which has primary application to Ethernets and similar technologies that support an inherent broadcast function, has an all-ones value in the host field of the IP address.  Some early implementations chose the all-zeros value for this purpose, which is not in conformance with the specification [23, 49, 50].
 

Aufgabe 2

Berechnen Sie das checksummen Feld für folgenden IP Header - alle Werte sind dezimal
angegeben:
 

| 4 (4 bits) |  5 (4 bits) |   16 (8 bits) |          500 (16 bits)     |
| 256 (16 bits)                            | 0 (4 bits) |  0 (12 bits)  |
| 64 ( 8 bits)        |  6 (8 bits)        | ist zu berechnen! (16 bits)|
|                              134.155.48.10     (32 bits)              |
|                              134.155.48.96 (32 bits)                  |


Lösung zu Aufgabe 2
 

0100 0101 0001 0000 &
0000 0001 1111 0100 &
0000 0001 0000 0000 &
0000 0000 0000 0000 &
0100 0000 0000 0110 &
1000 0110 1001 1011 &
0011 0000 0000 1010 &
1000 0110 1001 1011 &
0011 0000 0110 0000
----------------
0000 0101 1000 1000 !
----------------
1111 1010 0111 0111 wird ins Checksummen Feld eingetragen!
 

 
 
 
 
 
 
 
 
 
 
 
 
 

Aufgabe 3

Finden Sie heraus wozu die ICMP Nachricht mit dem Typ 12 verwendet wird. Beschreiben Sie dies
kurz.

Lösung zu Aufgabe 3

Der ICMP RFC sagt dazu:

Parameter Problem Message
 

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Pointer    |                   unused                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Internet Header + 64 bits of Original Data Datagram      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   IP Fields:

   Destination Address

      The source network and address from the original datagram's data.

   ICMP Fields:

   Type

      12

   Code

      0 = pointer indicates the error.

   Checksum

      The checksum is the 16-bit ones's complement of the one's
      complement sum of the ICMP message starting with the ICMP Type.
      For computing the checksum , the checksum field should be zero.
      This checksum may be replaced in the future.

   Pointer

      If code = 0, identifies the octet where an error was detected.

   Internet Header + 64 bits of Data Datagram

      The internet header plus the first 64 bits of the original
      datagram's data.  This data is used by the host to match the
      message to the appropriate process.  If a higher level protocol
      uses port numbers, they are assumed to be in the first 64 data
      bits of the original datagram's data.

   Description

      If the gateway or host processing a datagram finds a problem with
      the header parameters such that it cannot complete processing the
      datagram it must discard the datagram.  One potential source of
      such a problem is with incorrect arguments in an option.  The
      gateway or host may also notify the source host via the parameter
      problem message.  This message is only sent if the error caused
      the datagram to be discarded.

      The pointer identifies the octet of the original datagram's header
      where the error was detected (it may be in the middle of an
      option).  For example, 1 indicates something is wrong with the
      Type of Service, and (if there are options present) 20 indicates
      something is wrong with the type code of the first option.

      Code 0 may be received from a gateway or a host.
 
 
 

Aufgabe 4

Gegeben sei das folgende LAN. Sie haben die Klasse B Adresse 134.155.x.x erhalten und
dürfen nun das Netz so einrichten wie es Ihnen gefällt. Einzige Bedingung: es muss
funktionieren!

Wählen sie geeignete Subnetz IDs für die LANs. Geben sie jedem Interface eine entsprechende
IP Adresse. Geben Sie für jedes System die Routing Tabelle an.


 

Lösung zur Aufgabe 4

Inklusieve der ATM Strecke gibt es 5 verschiedene Subnetze. Daher sollte die Subnetz ID mindestens
3 bit breit sein, wir wählen eine Breite von 4, damit wir flexibel für Erweiterungen sind. Die folgende
Lösung geht davon aus, daß die ATM Strecke als eigenes Subnetz betrachtet wird. Dies ist in der
Realität nicht besonders sinnvoll!

Wir wählen als Subnetz Maske für alle Subnetze: 255.255.240.0

Als Subnetz ID wählen wir die Nummer des LANs sowie 5 für die ATM Verbindung.

D.h. folgende IP Adressen können in den einzelnenSubnetzen vergeben werden
(inklusive Sonderadressen):
 

LAN 1: 134.155.16.0 - 134.155.31.255
LAN 2: 134.155.32.0 - 134.155.47.255
LAN 3: 134.155.48.0 - 134.155.63.255
LAN 4: 134.155.64.0 - 134.155.79.255
ATM:   134.155.80.0 - 134.155.95.255


Die Systeme erhalten die folgenden IP Adressen (dabei steht ifx für das Interface zu LAN x,
für die ATM Strecke wird hier die 5 verwendet):

Router 1:

if1: 134.155.16.1 if5: 134.155.80.1
Router 2:
if3: 134.155.48.1 if5: 134.155.80.2
Router 3:
if1: 134.155.16.2 if2: 134.155.31.1
Router 4:
if3: 134.155.48.2 if4: 134.155.64.1
Endsystem 1:
if3: 134.155.48.3
Endsystem 2:
if1: 134.155.16.3


Die Routingtabellen sehen wie folgt aus (dabei gehen wir davon aus, daß Router 1 eine Verbindung zum Internet hat, die hier nicht eingezeichnet ist):

Router 1:
Address      Gateway       Mask            Flags Interface
134.155.16.0 *             255.255.240.0   U     if1
134.155.32.0 134.155.16.2  255.255.240.0   UG    if1
134.155.48.0 134.155.80.2  255.255.240.0   UG    if5
134.155.64.0 134.155.80.2  255.255.240.0   UG    if5
134.155.80.0 *             255.255.240.0   U     if5
127.0.0.0    *             255.0.0.0       U     lo0
default      IP d. gateway 0.0.0.0         UG    interface
Router 2:
Address      Gateway       Mask            Flags Interface
134.155.16.0 134.155.80.1  255.255.240.0   UG    if5
134.155.32.0 134.155.80.1  255.255.240.0   UG    if5
134.155.48.0 *             255.255.240.0   U     if3
134.155.64.0 134.155.48.2  255.255.240.0   UG    if3
134.155.80.0 *             255.255.240.0   U     if5
127.0.0.0    *             255.0.0.0       U     lo0
default      134.155.80.1  0.0.0.0         UG    if5


Alle anderen Systeme analog!

Aufgabe 5

Gegeben sei das Netzwerk in nachstehender Abbildung. Die Routingtabellen in allen dargestellten Systemen seien statisch per Hand konfiguriert und
für die Systeme R2, R3 und E2 wie angegeben. Das Netzwerk besitzt die Class B Adresse 134.155.0.0. Es existieren 4 Subnetze, die alle die Subnetmask
255.255.255.0 haben. Für jedes Interface (Netzwerkkarte) ist die Interface ID und die IP Adresse angegeben (z.B. eth0/IP: 134.155.1.1 für die Netzwerkkarte
von E1). Die Flags in den Routing Tabellen haben die in der Vorlesung besprochene Bedeutung (U=Up, G=Gateway, H=Host).

a) Routingtabelle

Erstellen Sie eine geeignete Routingtabelle für R1, wenn der Router des Service-Providers, an den R1 mit einer ATM Strecken angeschlossen ist, die IP Adresse 135.156.1.254 hat.

b) Routing und ARP

Nun möchte Endsystem E2 ein Datenpaket an E1 schicken. Gehen Sie davon aus, dass die ARP-Caches auf allen Systemen leer sind. Nennen Sie alle ARP und Datenpakete
(in Form von Ethernet-Frames) in der richtigen Reihenfolge, die für diese Datenübertragung zwischen den Systemen ausgetauscht werden. Die MAC Adresse einer Netzwerkkarte
können Sie als System.Interface angeben. Die MAC Adresse der Ethernetkarte von R1 im Subnetz 1 wäre also R1.eth0. Verwenden Sie bitte folgende Form für die Darstellung der Lösung:

ARP request: Request <sender MAC> <sender IP> <receiver IP>
ARP reply: Reply <sender MAC> <sender IP> <receiver MAC> <rec. IP>
Daten Paket: Data <sender MAC> <receiver MAC>

Natürlich beinhalten die realen Pakete weitere Informationen, die für die Lösung dieser Aufgabe aber nicht angegeben werden müssen.

c) Routing und ARP II

Nehmen Sie wieder an, dass die ARP caches aller Systeme leer sind. Jetzt soll analog zur vorangegangenen Aufgabe
ein Datenpaket von E2 zu E3 (IP: 134.155.3.1) geschickt werden. Geben Sie wieder alle ARP und Datenpakete in
der richtigen Reihenfolge an.

d) Optimierung der Routingtabelle

Geben Sie nun eine neue, möglichst gute, Routingtabelle für E2 an.

Lösung zur Aufgabe 5

a)

b)

Request E2.eth0 134.155.2.1 134.155.2.254
Reply E2.eth0 134.155.2.1 R2.eth1 134.155.2.254
Data E2.eth0 R2.eth1
Request R2.eth0 134.155.1.253 134.155.1.1
Reply R2.eth0 134.155.1.253 E1.eth0 134.155.1.1
Data R2.eth0 E1.eth0

c)

Request E2.eth0 134.155.2.1 134.155.2.254
Reply E2.eth0 134.155.2.1 R2.eth1 134.155.2.254
Data E2.eth0 R2.eth1
Request R2.eth1 134.155.2.254 134.155.2.253
Reply R2.eth1 134.155.2.254 R3.eth2 134.155.2.253
Data R2.eth1 R3.eth2
Request R3.eth1 134.155.3.254 134.155.3.1
Reply R3.eth1 134.155.3.254 E3.eth0 134.155.3.1
Data R3.eth1 E3.eth0

d)