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.