Comp 343/443 Midterm Exam Information, Spring 2004

The midterm, Wednesday February 25, will cover the following sections (as numbered in the third edition of the text). Sections in bold are the most important. Sections in parentheses are corresponding sections from the second edition of the text.

1.2  Requirements (1.1)
1.3  Network architecture (eg layers) (1.2)
1.5  Performance (1.1.4)
2.1  Nodes and Links
2.2  Encoding: Manchester, 4B/5B, etc
2.3  Framing: byte-oriented, bit-oriented, Sonet
2.4  Basic error detection (not CRC!)
2.5  Sliding windows
2.6   Ethernet (see also my ethernet notes) (link fixed!)
3.1  Switching and Forwarding
3.2  Bridges and LAN switching
4.1  Basic IP, ARP
4.2.1 Routing-table basics
4.2.2  Distance Vector/RIP
4.3.1  Subnets
5.1  UDP; port-number abstraction
5.2.1-5.2.3 Basic TCP

The following exercises from the book should give you a fair idea of what to expect on the exam;you shouldn't necessarily complete these, but you should study the text until you're reasonably confident you know how to approach them. Exercise numbers are from the third edition, but where available I've also given the number of the corresponding exercise from the second edition.

Solutions will be here the Monday before.

Chapter 1:
  #22    Network delivery times  (#18 in 2nd edition)
Chapter 2:
  #36 (#30 in 2nd ed)    Sliding windows and intermediate routers
  #37 (#31 in 2nd ed)    Sliding windows and intermediate router queues
  #39 (#33 in 2nd ed)    Ethernet minimum packet size
  #47 (#39 in 2nd ed)    Ethernet collision timeline
Chapter 3:
  #1 (#1 in 2nd ed)     connections => VCI tables
  #3 (#2 in 2nd ed)     datagram forwarding
  #4 (#3 in 2nd ed)     datagram forwarding with DEFAULT entry
  #15 (#13 in 2nd ed)  Ethernet learning bridges
Chapter 4:
  #1 (#1 in 2nd ed)     IP addresses are per host, not per machine
  #2 (#2 in 2nd ed)     Fragmentation, header layout issues
  #15 (#12 in 2nd ed) IP distance-vector routing, without link breaks.
  #18 (#14 in 2nd ed) IP forwarding, sort of backwards
  #20 (#15 in 2nd ed) IP distance-vector routing, with link breaks.
  #40 (#33 in 2nd ed) subnets
Chapter 5:
 #5 (same in 2nd ed)     TCP closing
 #6 (same in 2nd ed)     SWS=0 probing
 #9 (same in 2nd ed)      field sizes
 #21a (#20a in 2nd ed)  TIME_WAIT

Here are two further study problems:

1. The following problem deals with IP routing tablesas maintained by routers; machines A, B, C, D, etc. are routers. No hostmachines are shown. The special machine DEFAULT is also a router, but youneed not give its routing table (it represents a default destination).Nets involved are all class C, with addresses 200.0.5, 200.0.6, 200.0.7,.... The following convention is used: machine A always has host portionof its address equal to 1; e.g. 200.0.5.1, 200.0.6.1, etc. Similarly, Bhas host portion 2, C has 3, D has 4. The special machine DEFAULT has hostportion 100.

(a). Give the routing tables for the following connections. You may use symbolic names (A, B, C...) for routers instead of IP addresses. Use default routes whenever possible, but be sure that a packet destinedfor some net other than 200.0.x gets routed to machine DEFAULT.

  net               net               net                 net
200.0.5____A_____200.0.6_____B______200.0.7_______D____200.0.8______DEFAULT
                             |                                                                                                                   200.0.8.100
                        net 200.0.9
                             |
                             C
                             |
                        net 200.0.10

b. Do the same for the following configuration.
                               B
                         /            \
        net 200.0.5             net 200.0.6
     /                                           \
    A                                             D------------200.0.9
     \                                            /                              \
       net 200.0.7                net 200.0.8                        DEFAULT
                        \             /
                               C

c. Suppose two routers, A and B, have tables as below. What will happen to an IP packet sent from A to address 147.126.4.9?

     200.0.5----A----------------------B----200.0.6

A: ___________________              B: ___________________
   200.0.5  |  direct                  200.0.6  |  direct
   default  |   B                      default  |   A

======================================================================
2. In real implementations of ARP, hosts are allowedto extract address mapping info from any broadcast ARP query packet: everymachine sending such a packet includes its own IP-to-physical address bindinginfo, and every machine receiving such a broadcast (whether or not intendedfor that machine) adds the source IP-to-physical address info to its ARPcache. Thus, in the example above, not only would A get B's address infobut also every machine on the net would get A's address info.

(a). Explain why this means that if
   1. A broadcasts an ARP query "where is B?"
   2. A sends B a regular IP packet
   3. B wants to send an IP packet in replyto A
then A's physical address will already be in B's ARPcache.

(b). Suppose A broadcasts a request "where is B", butinadvertently lists the physical address of another machine C instead ofits own (i.e. the ARP packet has IP src=A, phys src = ethernet addressof C).

What will happen? Specifically, will A get a reply? What entries will be made in the ARP caches on A, B, C, and a 4th machine D?

Suppose D uses its newly updated cache to send to A. Will the packet arrive at A? What if C tries to send to A?