Office hours: Monday and Wednesday, 1:00-3:00 pm
Teaching Assistant: Greg Socha. His office hours are 5:30-8:30 Tues/Thurs evenings,
in the labs. Look in DH341 first; he should have a sign.
Email him at gsocha@perlprog.com.
Greg has some additional network resources at
www.networks.perlprog.com.
I hope to cover some material on network security too (but we didn't).
1.1 Foundations
1.2 Network architecture (eg layers)
2.5 Sliding windows
2.6 Ethernet (see also my ethernet notes)
3.1 Forwarding
3.2 Bridging (but not the spanning tree algorithm)
4.1 Basic IP
4.2.1 Routing-table basics
4.2.2 Distance Vector/RIP
4.3.1 Subnets
5.1 UDP; port-number abstraction
The homework problems assigned earlier are good to study. The following additional exercises would also be good to study; you shouldn't necessarily complete these, but you should study the text until you're reasonably confident you know how to approach them. Solutions are here.
Here are two further study problems:
1. The following problem deals with IP routing tables as maintained by routers; machines A, B, C, D, etc. are routers. No host machines are shown. The special machine DEFAULT is also a router, but you need 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 portion of its address equal to 1; e.g. 200.0.5.1, 200.0.6.1, etc. Similarly, B has host portion 2, C has 3, D has 4. The special machine DEFAULT has host portion 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 destined for 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 allowed
to extract address mapping info from any broadcast ARP query packet: every
machine sending such a packet includes its own IP-to-physical address binding
info, and every machine receiving such a broadcast (whether or not intended
for that machine) adds the source IP-to-physical address info to its ARP
cache. Thus, in the example above, not only would A get B's address info
but 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 reply
to A
then A's physical address will already be in B's ARP
cache.
(b). Suppose A broadcasts a request "where is B", but inadvertently lists the physical address of another machine C instead of its own (i.e. the ARP packet has IP src=A, phys src = ethernet address of 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?
The exam will cover material in the following sections. Some of the midterm study topics appear here, but some do not (and will thus not be on the final).
Chapter 2: 2.5: sliding windows Chapter 3: 3.1: datagram routing Chapter 4: 4.1: basic IP 4.2: routing 4.3: subnets, supernets, BGP, and the Internet (omit 4.3.6, on IPv6) There will be no questions on the specifics of BGP. Chapter 5: 5.1: UDP 5.2: TCP Chapter 6: 6.1.2: Taxonomy 6.3: TCP congestion control mechanisms Slow Start Congestion Avoidance phase - linear increase Sawtooth graph (p 467, 471, 474) Fast retransmit Fast recovery 6.4.1: DECbit 6.4.2: RED 6.4.3: General outline of TCP Vegas WUMP Protocol issues regarding the BUMP protocol, specifically regarding comparisons to TCP, and general implementation and design issues.Here are some relevant exercises from the text. Answers are here.
The following paper has useful information about TCP/IP security: Security Problems in the TCP/IP Protocol Suite by Steve Bellovin.