The following are expectations of what you should know based on material
covered in lecture and from section 4.4 and chapters 5-6 of Tanenbaum for
Near Final Exam.  The near final exam will emphasis this material, but material from
the midterm test may be referenced.

Understand lab project 2.

% chapter 5 (and 4.4)

Understand the datagram and virtual circuit that can be provided by the
network layer.  Know the implications of each approach.

Know what is meant by the following terms in describing routing algorithms:
adaptive, non-adaptive, isolated, centralized and distributed.  Know how
these terms are related.

Know what flooding is in networking, how it is implemented and where it is
used.

Know how the Shortest Path First (SPF) algorithm (Dijkstra's algorithm) is
used to compute the shortest path between nodes in a network.

Know how backward learning is used in a decentralized routing and the
primary problem it has.

Understand and be able to use distance vector routing.

Understand and be able to use link state routing.

Know how hierarchical routing is used address scaling issues in routing.

Know how broadcasting can be implemented.

Know how nodes use reverse path forwarding for broadcasting.

Know and be able to briefly describe the following techniques for
congestion control: preallocation of resources, traffic shaping using the
leaky bucket algorithm, discarding of packets if no buffer space,
isarithmic congestion control, flow control and choke packets.

Know what level each of the following devices is used for network
interconnection: repeaters, bridges and routers/gateways.

Know how bridges work in general and problems that arise in connecting
different types of LANs.

Know how a spanning tree (transparent) bridge works.  Know its advantages
and disadvantages.

Know how a source routing bridge works.  Know its advantages and
disadvantages.

In comparison to bridges, know the additional functionality provided by 
routers/gateways.

Understand the need for fragmentation.

Understand the layering relationship between IP, TCP and UDP.

Know the type of service provided by IP, TCP and UDP.

Understand how Internet (IP) addressing is defined.

Understand the implication of different machine data representation on
network communication.

Understand how the Address Resolution Protocol (ARP) is used to map an
Internet address to a physical address.

Understand how the Reverse Address Resolution Protocol (RARP) is used to map a
physical address to an Internet address.  Know where this protocol is used.

Know the fields of the Internet Protocol header.  Know the purpose of each
field.

Be familiar the situations in which the Internet Control Message Protocol
(ICMP) is used.

Understand the difference between direct and indirect routing.  Know when
each is used.

Understand the basic idea of subnetting.

Know the steps a gateway uses in selecting a route for a datagram.

Be familiar with the Routing Information Protocol (RIP).

Know how the current Internet is divided into autonomous systems.

Know how exterior and interior gateway protocols are used in this
environment.

Be familiar with the Open Shortest Path First (OSPF) algorithm as an
interior gateway protocol.

Be familiar with Classless InterDomain Routing (CIDR) and its motivation.

Understand the motivations for IPv6, a new version of the Internet
Protocol.

% Chapter 6

Know the general issues that must be dealt with by the transport layer.

Understand how well-known addresses and name servers are used to send
messages to specific processes on remote machines.

Know the functionality provided by the User Datagram Protocol (UDP) and how
it is related to IP.

Know the functionality provided by the Transmission Control Protocol (TCP)
and how it is related to IP.

Know how ports are used in UDP and TCP.

Understand how the sliding window protocol in TCP works and how it compares
to the DLL sliding window protocols.

Be familiar with the important fields in the TCP header and the
functionality they provide.

Understand how connection set-up and termination is done in TCP.

Understand how retransmission timers are used in TCP.

Understand the use of the congestion window and the receiver's flow control
window in TCP.

Understand the idea of how slow-start is used in TCP to control congestion.