Introduction to Data Communication Fall 2011

Exercises 5

  1. Traceroute
    With a program called traceroute you can find out what routes packets really travel in the Internet. Links to many traceroute services are to be found from the net address http://www.traceroute.org, for example the traceroute service of Funet http://www.csc.fi/cgi-bin/nph-traceroute or the traceroute service of ETSI http://portal.etsi.org/webstats/traceroute.asp. Find out how packets are routed from USA or Canada to the Computer Science Department at the University of Helsinki (cs.helsinki.fi) or some other domain or IP address chosen by you.
    What information do you get about the routes? How is the traceroute program really working to get that information?

  2. Forwarding table and forwarding
    Consider a datagram networks using 32-bit host addresses. Suppose a router has four links, numbered 0 through 3, and packets are to be forwarded to the link interface as follows:
                  Destination Address Range         Link interface 
    	     
        11100000 00000000 00000000 00000000
                .............                         0
        11100000 11111111 11111111 11111111	 
        
        11100001 00000000 00000000 00000000
                 ............                         1                                         
        11100001 00000000 11111111 11111111   
        
        11100001 00000001 00000000 00000000
                 ...........                          2
        11100001 11111111 11111111 11111111
        
                otherwise                             3
    
    1. Provide a forwarding table that has four entries, uses longest-prefix matching, and forwards packets to the correct link interfaces.
    2. Describe how your forwarding table determines the appropriate Link interface for datagrams with destination addresses:
            11001000 10010001 01010001 01010101
            11100001 00000000 11000011 00111100
            11100001 10000000 00010001 01110111
      

  3. Subnet addresses
    Consider a router that interconnects three subnets: Sub1, Sub2, and Sub3. Suppose all of the interfaces in each of these three subnets are required to have the prefix 223.1.17.0/24. Also suppose that Sub1 is required to support up to 126 hosts or interfaces, and Sub2 and Sub3 are each required to support up to 60 interfaces. Provide three network address (of form a.b.c.d/x) that satisfy these constraints.

  4. Packet fragmentation
    The network layer of host A gets from its transport layer a segment of 3000 bytes to be sent to the host B. Between the host A and B there are three networks (a, x, b) and two routers R1 and R2. The MTU (Maximum Transfer Unit) (= the size of the largest IP datagram that the network can transport) for the network a is 4000 bytes. The MTU of the network x is 1500 B and of b is 1000 B. Suppose that the next sequence number for A's IP packet is 100.
            A - XXXXXXXXX  -  router  -  XXXXXXXXXXXX -  router - XXXXXXXXXX - B
    
                network a       R1        network x        R2       network b                
                MTU= 4000 B               MTU = 1500 B              MTU = 1000 B 

    What kind of IP packet does A send? What does the router R1 do to this packet? What does router R2 do to the packets it receives? What kind of IP packets does B receive? Give the contents of the IP header fields involved in fragmentation in the sent and received IP packets.

    The applet "IP Fragmentation" from the suppport page provided by the course book can be helpful.

  5. Distance vector routing
    For routing the distance vector algorithm is used. Supposing each node in the network below, first knows only the distances to its neighbors. What is the content of routing table of the node E after the node E has exchanged routing information with its neighbors?
             4
         A --------------- B
         |                /|
         |               / |
         |              /  |
         |          5  /   |
         |            /    | 
      12 |           /     | 7
         |          /      |
         |        E        |
         |      /   \      |
         |     /     \     |
         |  2 /       \10  |
         |   /         \   |
         |  /           \  |
         | /             \ |
         C --------------- D
                 1 
    

  6. Dijkstra's shortest path algorithm in routing
    1. Find using Dijkstra's algorithm the shortest (lowest cost) routes from node A to all other nodes in the network below.
                                  3
                          B . . . . . . .F
                        .  .            .  . 
                     .      .          .    .
                3  .       1 .      4 .      . 2
                 .            .      .        .
                .     3        .   .     3     .
      network  A . . . . . . .  D . . . . . . . .E
                 .             .  .             .
                  .           .    .           .
                   .         . 2    . 2       .
                 2  .       .        .       .  1
                     .     .          .     .
                      .   .            .  .
                       C . . . . . . .  G
       
                                2
    2. Give, based on the routes found, the routing table for node A. In the routing table there is, for each node the outlink to be used and the cost of the route. The outlinks are numbered so that the link from A to B is number 1, from A to D number 2 and from A to C number 3.