All slide sets and reading assignments (in homeworks for the 4000 level students) will be part of the exam. Here are a list of topics/concepts which we will expect you to be prepared in. The chapters/sections will be the same as what applied to exam 1 and exam 2. In addition, for the link layer the sections are mentioned below. I have also put up an extra set of notes on Introduction/Basics: Chapter 1 =================== Connectivity: direct, indirect, point-to-point, multiple access, switched, inter-network How to build Scalable connectivity: filtering, forwarding, switches, routers, hubs... Internetworking issues: heterogeneity, scale System design concepts: tradeoffs in resources, Multiplexing: statistical multiplexing, stability, tradeoffs in delay/throughput Circuit switching vs packet switching Protocols, abstractions, layering, service models, service/peer-to-peer interfaces, encapsulation, design perspectives of users, designers, providers. From the text: Network edge, core, access networks, physical media. Application layer: ================= - Principles, design of HTTP, FTP, SMTP, DNS, Sockets - How these protocols reduce to a request/response primitive and are thus mapped onto TCP or UDP depending upon their requirements. Transport Layer: =============== - Services and principles - Multiplexing, demultiplexing. - Connectionless vs connection oriented: understanding of issues. - UDP - Principles of reliable data transfer, redundancy models (temporal), solid understanding of mechanisms like checksums, acks/naks, sequence numbers, windows, and how they can be combined to give different degrees of reliability - Go-back-N and selective repeat: the tradeoffs and design issues - TCP: services, segment structure, connection management, reliable data transfer, delayed acks, flow control, RTT estimation and timeout setting algorithms. - Principles of congestion control and TCP congestion control: self-clocking (a.k.a ack-clocking), dynamic windows, slow start, congestion avoidance, AIMD and fairness analysis, - Latency modeling: understanding of core analysis and implications regarding transfer times of small/medium/large packets Network Layer: ============= - Internetworking problems: heterogeneity and scale - Heterogeneity: overlay and translation models. Implications of overlay model: address and packet format mapping/resolution - IP forwarding paradigm: use of address structure to deduce direct/indirect connectivity, Layer 3 forwarding table, no broadcast at the network layer, Use of any available layer 2 forwarding to reach destination or next hop - Getting a datagram from source to destination. - IP addressing structure, address allocation issues: - Impact of address structure and understanding of why layer 2 does not scale without it (because it has a flat structure). - Class-ful model (class A, B, C, D, E), dotted decimal notation, why it led to inefficient address allocation - subnet masking and CIDR (supernet masking) and DHCP. - Implications on forwarding/routing algorithms: use of masks in forwarding and routing - Address allocation in CIDR: hierarchical allocation, variable length prefixes depending upon size of networks. - What IP does not provide? How is this consistent with the end-to-end principle ? How is this different from the telephony model ? - Mapping problems: IP fragmentation/reassembly, address resolution (ARP), path MTU discovery Routing: ======= - intra-domain and inter-domain routing - principles of routing: consistency, completeness, scalability - link-state vs distance vector approaches [note: I have also put up some additional notes on IP and routing on my backup web page] - Dijsktra and Distance vector (bellman-ford) algorithms. - RIP and OSPF Modeling: ========= (1) probability mass functions and distribution functions (2) some of the most common distribution: binomial, exponential, geometric and Poisson (3) M/M/1, M/M/1/K and M/G/1 queues: concentrate on which model to use rather than trying to solve for the Markov chains etc. (4) Little's theorem and the relationship between E(t) and E(n) Datalink Layer (Chapter 5, sections 5.1 to 5.7) (1) Services offered by the datalink layer (2) Why do need to provide reliability in the datalink when we already have it in network layer? (3) Error detection and correction - parity checks - CRC you should concentrate on how to generate parity bits and CRC checksum. Wether they are error detection or correction codes. (4) You should understand the difference between the 3 types of channel access schemes: fixed (TDMA, FDMA etc), random (Aloha, CSMA/CD etc) and taking turn (polling etc). What are the advantages and disadvantages of one over the other and under what circumstances would you use them. (5) Details of Aloha, slotted Aloha, CSMA/CD, Ethernet and 802.11 (6) Difference between hubs, bridges and switches. Advantages and disadvantages of each. You should understand the self learning properties of bridges and what are spanning trees.