1.2 Requirements
1.3 Network architecture (eg layers)
1.5 Performance
2.1 Hardware Building Blocks (Nodes and Links)
2.2 Encoding: Manchester, 4B/5B, etc
2.3 Framing: byte-oriented, bit-oriented, Sonet
2.4 Error Detection
2.5 Sliding windows
2.6 Ethernet (see also my
ethernet notes)
3.1 Switching and Forwarding (but
not virtual circuits)
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
5.2 TCP (through 5.2.4)
The following exercises from the book should give you a fair
idea of
what
to expect on the exam; you shouldn't necessarily complete every detail
of these,
but you should
study the text until you're reasonably confident you know how to
approach them. The following exercise numbers are the same for both the
4th edition and the 3rd edition (I'm not sure this is always the case,
but it's true for these).
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 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
ARPcache.
(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 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?
3. Suppose A and B create a TCP connection with ISNA=2000 and ISNB=10,000. A sends three 1000-byte packets, and B ACKs each. Then B sends a 1000-byte packet to A and terminates the connection. List all packets, together with SEQ and ACK fields.
A sends
A sends | B Sends |
SYN, ISNA=2000 | |
SYN, ISNB=5000, ACK=_____________ | |
ACK, SEQ=___________, ACK=_____________ | |
Data1, SEQ=___________, ACK=_____________ | |
ACK, SEQ=____________, ACK=____________ | |
Data2, SEQ=___________, ACK=_____________ | |
ACK, SEQ=____________, ACK=____________ | |
Data3, SEQ=___________, ACK=_____________ | |
ACK, SEQ=____________, ACK=____________ | |
DataB, SEQ=___________, ACK=_____________ | |
FIN, SEQ=____________, ACK=____________ | |