3.26
Since the I/O bus speed is less than the memory bandwidth, it is the
bottleneck. Effective bandwidth that the I/O bus can provide is 800/2
Mbps because each packet crosses the I/O bus twice. Therefore, the
number of interfaces is ⌊400/100⌋ = 4.
3.32
(a) After the upgrade the server—switch link is the only congested
link. For a busy Ethernet the contention interval is roughly
proportional to the number of stations contending, and this has
now been reduced to two. So performance should increase, but only
slightly.
(b) A switch makes it impossible for a station to eavesdrop on traffic
not addressed to it. On the other hand, switches tend to cost
more than hubs, per port.
3.45
(a) If multiple packets after the first arrive at the IP layer for
outbound delivery, but before the first ARP response comes back,
then we send out multiple unnecessary ARP packets. Not only do
these consume bandwidth, but because they are broadcast, they
interrupt every host and propagate across bridges.
(b) We should maintain a list of currently outstanding ARP
queries. Before sending a query, we first check this list. We also
might now retransmit queries on the list after a suitable timeout.
(c) This might, among other things, lead to frequent and excessive
packet loss at the beginning of new connections.
3.46
(a)
Distance to reach node:
A B C D E F
A 0 infty 3 8 infty infty
B infty 0 infty infty 2 infty
C 3 infty 0 infty 1 6
D 8 infty infty 0 2 infty
E infty 2 1 2 0 infty
F infty infty 6 infty infty 0
(b)
Distance to reach node:
A B C D E F
A 0 infty 3 8 4 9
B infty 0 3 4 2 infty
C 3 3 0 3 1 6
D 8 4 3 0 2 infty
E 4 2 1 2 0 7
F 9 infty 6 infty 7 0
(c)
Distance to reach node:
A B C D E F
A 0 6 3 6 4 9
B 6 0 3 4 2 9
C 3 3 0 3 1 6
D 6 4 3 0 2 9
E 4 2 1 2 0 7
F 9 9 6 9 7 0
3.55
Apply each subnet mask and if the corresponding subnet number matches the
SubnetNumber column, then use the entry in Next-Hop. (In these tables there is
always a unique match.)
(a) Applying the subnet mask 255.255.255.128, we get 128.96.39.0. Use
interface0 as the next hop.
(b) Applying subnet mask 255.255.255.128, we get 128.96.40.0. Use R2 as
the next hop.
(c) All subnet masks give 128.96.40.128 as the subnet number. Since there is
no match, use the default entry. Next hop is R4.
(d) Next hop is R3.
(e) None of the subnet number entries match, hence use default router R4.
3.68
(a) Giving each department a single subnet, the nominal subnet sizes
are 2^7, 2^6 , 2^5 and 2^5 respectively; we obtain these by rounding
up to the nearest power of 2. For example, a subnet with 128 addresses
is large enough to contain 75 hosts. A possible arrangement of subnet
numbers is as follows. Subnet numbers are in binary and represent an
initial segment of the bits of the last byte of the IP address;
anything to the right of the / represents host bits. The / thus
represents the subnet mask. Any individual bit can, by symmetry, be
flipped throughout: there are several possible bit assignments.
A 0/ one subnet bit, with value 0; seven host bits
B 10/
C 110/
D 111/
The essential requirement is that any two distinct subnet numbers
remain distinct when the longer one is truncated to the length of the
shorter.
(b) We have two choices: either assign multiple subnets to single
departments, or abandon subnets and buy a bridge. Here is a
solution giving A two subnets, of sizes 64 and 32; every other
department gets a single subnet of size the next highest power of
2:
A 01/
001/
B 10/
C 000/
D 11/
4.1
(a) Q will receive three routes to P, along links 1, 2, and 3.
(b) A->B traffic will take link 1. B−>A traffic will take link 2. Note that
this strategy minimizes cost to the source of the traffic.
(c) To have B->A traffic take link 1, Q could simply be configured to
prefer link 1 in all cases. The only general solution, though, is
for Q to accept into its routing tables some of the internal
structure of P, so that Q for example knows where A is relative to
links 1 and 2.
(d) If Q were configured to prefer AS paths through R, or to avoid AS
paths involving links 1 and 2, then Q might route to P via R.
4.5
(a) P’s table:
address nexthop
C2.0.0.0/8 Q
C3.0.0.0/8 R
C1.A3.0.0/16 PA
C1.B0.0.0/12 PB
Q’s table:
address nexthop
C1.0.0.0/8 P
C3.0.0.0/8 R
C2.0A.10.0/20 QA
C2.0B.0.0/16 QB
R’s table:
address nexthop
C1.0.0.0/8 P
C2.0.0.0/8 Q
(b) The same, except for the following changes of one entry each to P’s and
R’s tables:
P: C3.0.0.0/8 Q // was R
R: C1.0.0.0/8 Q // was P
(c) Note the use of the longest-match rule to distinguish the entries for Q &
QA in P’s table, and for P & PA in Q’s table.
P’s table:
address nexthop
C2.0.0.0/8 Q
C2.0A.10.0/20 QA // for QA
C1.A3.0.0/16 PA
C1.B0.0.0/12 PB
Q’s table:
address nexthop
C1.0.0.0/8 P
C1.A3.0.0/16 PA // for PA
C2.0A.10.0/20 QA
C2.0B.0.0/16 QB
4.7
(a) Inbound traffic takes a single path to the organization’s address
block, which corresponds to the organization’s “official”
location. This means all traffic enters the organization at a
single point even if much shorter alternative routes exist.
(b) For outbound traffic, the organization could enter into its own
tables all the highest-level geographical blocks for the outside
world, allowing the organization to route traffic to the exit
geographically closest to the destination.
(c) For an approach such as the preceding to work for inbound traffic as well,
the organization would have to be divided internally into geographically
based subnets, and the outside world would then have to accept routing
entries for each of these subnets. Consolidation of these subnets into a
single external entry would be lost.
(d) We now need each internal router to have entries for internal
routes to all the other internal IP networks; this suffices to
ensure internal traffic never leaves.
4.20
(a) correct
(b) incorrect (::: is not defined as abbreviating notation)
(c) incorrect (shorthand can only be used for one set of contiguous 0’s)
(d) correct
(e) incorrect (an IPv4 address mapped to IPv6 should be preceded by FFFF
hex).
4.3
(a) The diameter D of a network organized as a binary tree, with
root node as "backbone", would be of order log2 A. The
diameter of a planar rectangular grid of connections would
be of order sqrt(A).
(b) For each AS S, the BGP node needs to maintain a record of the
AS PATH to S, requiring 2x actual path length bytes. It also
needs a list of all the networks within S, requiring 4x number
of networks bytes. Summing these autonomous systems, we get 2AD
+ 4N , or 2AC log A + 4N and 2AC sqrt(A) + 4N for the
models from part (a), where C is a constant.