\documentclass[11pt]{article}
\usepackage{handout2e}
\usepackage[dvips]{graphicx}
\usepackage{epsfig}
\begin{document}
\input{macros}
\input{courseMacros}
\thispagestyle{empty}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1.8ex}

\head{CSU640}{Network Fundamentals}{Fall 2004}{28 October 2004}{9}

\begin{center}
\Large{\bf Problem Set 3 (due Monday, November 8)}
\end{center}

\medskip

{\bf 1. (8 points) IP fragmentation}

Suppose a TCP message that contains 2048 bytes of data and 20 bytes of
TCP header is passed to IP for delivery across two networks of the
Internet (i.e., from the source host to a router to the destination
host).  The first network has an MTU (maximum transmission unit) of
1024 bytes while the second has an MTU of 512 bytes.  Give the sizes
and offsets of the sequence of fragments delivered to the network
layer at the destination host.  Assume all IP headers are 20 bytes.

{\bf 2. (8 points) Allocation of IP addresses} 

An organization has a network with the allocated range of IP addresses
being 200.1.1/24, and wants to form subnets for four departments, with
hosts as follows: subnet A with 72 hosts, subnet B with 35 hosts,
subnet C with 20 hosts, and subnet D with 18 hosts.  Thus, there are
145 hosts in all.
\begin{itemize}
\item[{\bf (a)}] 
Give a possible arrangement of subnet masks to make this possible.

\item[{\bf (b)}]
Suggest what the organization might do if department D grows to 34
hosts.
\end{itemize}
{\bf 3. (8 points) Routing tables with CIDR addressing}

Suppose X, Y, and Z are network service providers (ISPs), with
respective CIDR address allocations (in hexadecimal form) C1.0.0.0/8,
C2.0.0.0/8, and C3.0.0.0/8.  Each provider's customers receive address
allocations that are a subset of the providers.  

ISP X has two customers: XA, with allocation C1.B2.0.0/16, and XB,
with allocation C1.B0.0.0/16.

ISP Y also has two customers: YA with allocation C2.0A.10.0/20, and YB
with allocation C2.0B.0.0/16.

Suppose X is connected to Y and Y to Z.  Give routing tables for X, Y,
and Z.  Each routing table has 2 fields: one is the network/masklength
(in CIDR format), and the other is the nexthop.  In the nexthop field,
you can simply write the name of the ISP or the customer on the next
hop.

{\bf 4. (8 points) NAT and P2P applications} 

Problem 18 of Chapter 4, page 407.

{\bf 5. (9 points) Dijsktra's shortest path algorithm} 

Problem 21 of Chapter 4, page 408.

{\bf 6. (9 points) Distance vector algorithm} 

Problem 26 of Chapter 4, page 409.

\end{document}