Midterm Study Sheet Below is a list of topics that will be covered on the midterm exam. Some topics may have summaries to clarify the coverage of the topic during the lecture. Disclaimer: the list may be incomplete. 1. Introduction to Computer Networks material from Kurose and Ross, Chapter 1: Computer Networks and the Internet Approaches to constructing the network core o Circuit switching Multiplexing in circuit switched networks Time Division Multiplexing Frequency Division Multiplexing Tip: You should know how each of these support the use of a single link by multiple users, how to calculate the transmission rate of circuit when using either of these approaches, how long it would take to transmit a file using either of these approaches, etc. o Packet switching Motivation for its use in the Internet as the network core Packet switches use store-and-forward transmission Each switch must receive the entire packet before it can begin to transmit the first bit of the packet Introduces a store-and-forward delay at the input to each link along the packet s route Store-and-forward delay at each switch responsible for forwarding a packet is L/R seconds o L is length of the packet (bits) o R is the rate of the link (bits/sec) Packet switching is a statistical multiplexing approach Tip: You should know why packet switching is called a statistical multiplexing approach, you should be able to describe the general idea of packet switching, and be able to compare it with circuit switching Introduces queuing delay o Definition o Cause Delay and Loss in Packet-Switched Networks o Types of delay Processing delay Queuing delay Traffic intensity measure Transmission delay Propagation delay
Tip: You should know what each of these mean and how they contribute to the end-to-end delay and the time that it takes to deliver a file or a single packet. An overview of the network protocol stack o Network layers Application Transport Network Link Physical o Encapsulation of messages at various layers Tip: see pages 50-51 in section 1.7.2 of Kurose and Ross Book is on reserve in the library if you haven t bought it yet Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer Network architectures o Client-server o Peer-to-peer o Application-Layer protocols HTTP Persistent o Pipelining o No pipelining Non-persistent Cookies Web Cache/Proxy servers o How they work o Why you want to use them FTP SMTP Mail access protocols o POP o IMAP DNS What it is DNS Caching Sockets! What are they? How are they used? Different kinds of sockets o Connection-oriented o Connectionless
How to program client and server communication (pseudocode) Data Transfer and the Transport Layer Material from Kurose and Ross, Chapter 3: The Transport Layer Multiplexing and demultiplexing o Connectionless o Connection-oriented Connectionless service o What does it offer? o The protocol that provides it: UDP Connection-oriented service o What does it offer? o The protocol that provides it: TCP o Mechanisms, approaches for providing reliable data transfer Acks Sequence numbers Timers o Sliding window protocols Why we want them Basic approaches o Go-back-N o Selective repeat o Tip: make sure that you read sections 3.4.3 and 3.4.4 in Kurose and Ross that cover these protocols. I will also give a handout on them on Monday. o TCP in detail Establishing a connection 3 way handshake Setting the timeout Estimating the RTT Sequence numbers Based on # of bytes! Policy for sending acknowledgements Cumulative acks What receiver should do with out-of-order packets See table on page 245 of Kurose and Ross Sender s policy for receiving acknowledgements TCP Header fields Don t memorize the message header format, just know what fields are needed to establish a TCP connection, for acknowledgements, and for congestion control o TCP Flow Control Advertised window o TCP Congestion Control
Congestion window! Slow start phase Why we want to use it Congestion avoidance Why we want to use it Approaches to adjusting the congestion window Use of threshold o Determines when slow start phase ends and congestion avoidance begins o Setting threshold Upon loss, half of the current value of the congestion window Variants of TCP o TCP Tahoe Slow start Congestion avoidance On any loss: Set threshold to half of last congestion window value go back to minimum window size (e.g., 1) and begin slow start o TCP Reno Slow start Congestion avoidance Fast retransmit and fast recovery! On loss detected by timeout o Same as TCP Tahoe On loss detected by 3 duplicate acks o Begin congestion avoidance at window size = threshold o Set threshold to half of last congestion window value TCP Delay Modeling Static window Dynamic window o Tip: don t worry about formula derivations, just know how to use the formulas Network Communication and the Network Layer Material from Kurose and Ross, Chapter 4: The Network Layer o Virtual circuit networks o Datagram networks
o IP Addressing Scheme o Forwarding and routing o IP address Prefix matching in routing tables (pg. 312, Kurose and Ross) o Routing o Link state approaches o Distance vector approaches o Interior Gateway Protocols RIP OSPF o Border Gateway Protocol