Midterm Review Chapter 1: Introduction Chapter 2: Application Layer Chapter 3: Transport Layer Chapter 4: Network Layer (up to 4.4)
Chapter 1: Introduction Network edge: different types of access networks and communication links Network core: packet switching, circuit switching, packet switching vs. circuit switching Delay, loss and throughput: simple calculations using the 4 types of delay, bandwidth, link capacity, packet loss rate, and throughput Protocol layers: rationale behind layering design, the Internet 5-layer protocol stack, difference between Internet and OSI protocol stacks, encapsulation
Chapter 2: Application Layer Basic concepts: what’s involved in creating a network application, definition of process, client, server and socket, how to address a process, client-server and P2P paradigms Transport layer services: what transport layer services are required by application layer, TCP vs. UDP services and their suitability for different applications Protocols: comparative study of HTTP, FTP, Email and DNS (e.g., in-band/out-of-band, stateless/ stateful, pull/push), be able to describe how each protocol operates (using key components and their interactions), understand web caching, understand where to use SMTP, POP3 and IMAP for Email, understand the different level DNS servers, their interactions, different types of DNS records and how to insert a record into DNS, calculate file distribution time using client-server and P2P. You’re NOT required to memorize the message formats, commands and codes for these protocols
Chapter 3: Transport Layer Basic concepts: what transport layer does (including services provided and not provided), definition of end-to-end connection and segment, transport vs. network layer, multiplexing and demultiplexing UDP: services and uses, segment format, checksum calculation Reliable data transfer: comparative study of stop-and-wait, go-back-N, selective repeat and TCP, their operations, pros and cons, performances. TCP in detail: services and uses, segment format, definition and use of sequence #, ACK, time-out and duplicate ACKs (retransmission), sliding window, receive window (rwnd) and congestion window (cwnd), how to set time-out with RTT, when and how to perform retransmission, fast-retransmit, TCP flow control and TCP congestion control, understand SYN flooding and SYN cookies, understand general methods for congestion control (end-end vs. network-assisted, open-loop vs. close-loop)
Chapter 4: Network Layer Basic concepts: network layer services, definition of datagram and host-to-host connection, routing and forwarding Virtual circuit vs. datagram networks: their operations, offered services, pros and cons IPv4 addressing and NAT: be able to determine CIDR subnet address, subnet mask, # bits needed for host and subnet portion, max. # hosts supported, range of host IP addresses, address aggregation, forwarding based on routing table, understand the use, operation, and limitation of NAT
Exercise Problem [Kurose-Chapter 3-P37] pp. 306 Answer: a) [1,6] & [23,26] b) [6,16] & [17,22] c) Triple duplicate ACK d) Timeout e) 32 f) 21 g) 13 h) 7th round (64th-96th packets are sent) i) both are 4 j) ssthresh=21, cwnd=1 k) 52 (1+2+4+8+16+21)