Review Sheet, CMP405/CMP743 (The exam will focus on, but not completely limited to the following topics) Chapter 1. Overview 1. Define the following terms a. Access Networks b. FDM, TDP, CDMA c. Network Core d. Host e. ISP f. Protocol g. Network model h. Messages, Segments, Datagrams, Frames i. DoS attack, DDoS attack j. Queueing delay 2. Explain the difference between a client and server in the client/server model. 3. Discuss the difference between DSL and Cable service, two popular broadband access network technologies. Which one provides a user with a dedicated access link? Which one provides a user with a shared link? Can we say one of them is better than the other? 4. List a number of popular wireless access network technologies. Discuss the differences between WiFi, 3G and WiMAX 5. What are the differences between circuit switching and packet switching? 6. How does delay take place during data delivery? Explain the 4 factors that contribute to the data transmission delay between two routers. Explain the difference between transmission delay and propagation delay. Understand their impacts on long distance transmission and short distance transmission. 7. Calculate end to end delay on a number of datagrams transmitted from one end of the Internet to the other end, when the transmission delay and propagation delay at each hop is given. 8. Why are network models split into layers? List at least 3 reasons. 9. The name of message sent at each layer in the TCP/IP model. 10. Give examples of protocols and devices at each layer in the TCP/IP model. 11. Remember the names of the layers in the TCP/IP 5 layer model and the names of the layers in the ISO/OSI 7 layer model. Remember the major functions of each layer in the TCP/IP model. 12. What is data encapsulation and de-capsulation? Understand how data encapsulation and decapsulation happens during the end to end transmission of a message. 13. Why packets get lost in the Internet? 14. What are tier-1, tier-2 and tier-3 in the Internet architecture? What are the differences between tiers? Does any ISP officially claim itself as a Tier-1, 2 or 3 ISP? (Advanced topic: If not, how did we know the roles played by different ISP’s?) Chapter 2. Application layer 1. Definitions: a. HTTP protocol, HTTP Get, HTTP Ok b. Persistent and non-persistent connections c. Cookies d. Web Caching, Proxy e. Conditional GET f. SMTP g. PoP h. DNS i. Root DNS server j. TLD DNS servers k. Authoritative DNS Servers l. Local DNS server m. DNS Caching n. P2P model o. Circular DHT 2. Learn to find information such as HTTP version, path, homepage, last modified time, server type… in an HTTP message 3. Is HTTP a stateful protocol or stateless protocol by design? What is a cookie? Does the use of cookies changes the stateless nature of HTTP? What are the risks with the use of cookies? 4. What is web caching? What can we use web caching for other than improving the efficiency of Internet usage? Learn to calculate the average web accessing time in an Ethernet when a web cache is used. 5. How does the SMTP protocol work? Does a user use SMTP protocol to access his/her emails? If not, what are the major methods a user can access (read/delete) their emails? 6. Why I call protocols such as HTTP, SMTP, FTP dinosaur protocols? Is there any problem with the fact that these protocols use ASCII characters directly in the messages? 7. Is DNS supported by a single machine? Or it is a distributed system? 8. Other than provided domain name to IP address translation, what other services the DNS system can provide? 9. Describe how the hierarchical DNS system works in responding a DNS query? What are the differences between recursive DNS queries and iterative DNS queries? 10. To register a website, how many DNS records have to be created, at least? 11. Learn to do calculations comparing the difference between the efficiency of the client server model and the P2P model. You don’t have to memorize the equations, though. If I have a question for you in the exam, I’ll give you the formula needed. 12. How to use a Circular DHT to support a distributed database? Where do you need to use a hash function? Why do you need to use a hash function? 13. Brief explain how skype uses the P2P model to support online conferencing between two computers hiden behind firewalls. Chapter 3. Transport Layer (you can skip section 3.6 and section 3.7.1) 14. Definitions a. UDP, TCP b. Port number c. Well-known port numbers d. Stop and Wait Protocol e. Pipelined protocols f. FSM g. Go-back-N protocol h. Selective Repeat Protocol i. Sequence number j. Acknowledgment number k. SYN bit, ACK bit, FIN bit l. TCP Flow Control m. TCP Congestion Control n. Saw tooth behavior 15. What are the services provided by the transport layer? Which ones can be supported by TCP? Which one can be supported by UDP? 16. Discuss the difference between TCP and UDP and how you choose the right transport layer protocol for an application. 17. What is a port multiplexing and port de-multiplexing? What is a socket? 18. Explain the difference between a UDP socket and a TCP socket? 19. Be able to example the operation of an FSM when a diagram is given. 20. Under what assumptions the Rdt 2.x protocol can work? Under what assumptions the rdt 3.0 protocol has to be used to ensure reliable data transmission? 21. What are the problems with the stop and wait protocol? This includes the Rdt2.0 and Rdt 3.0 (alternate bit protocol). Learn to calculate the channel utilization rate of transportation layer protocols. 22. Discuss the difference between GBN and SR. 23. What are the differences between two major TCP implementations, TCP Tahoe and TCP Reno? 24. When are well known port numbers used? 25. How does TCP establish and terminate connections? Describe the TCP 3 way handshake mechanism in detail. What are the 4 major numbers exchanged between two end systems during a TCP 3 way handshake? 26. What is SYN FLOODING Attack? (Advanced topic, what are SYN Cookies?) 27. How does TCP realize reliable data transmission? How does TCP set up timers for segments transmitted? What is fast re-transmission? 28. How does TCP break data into segments? How do TCP set sequence numbers on segments that are used to transmit a large chunk of data? Learn to draw a chart for all the segments involved in the transmission of a chunk of data using TCP. With starting sequence number known from both sides of a TCP transaction, write down the 29. 30. 31. 32. sequence numbers and acknowledgement numbers carries in every data segment and ACK segment. How does TCP flow control work? How does TCP congestion control work? What is the difference between flow control and congestion control? What determines a computer’s receiving window size? What is slow start? What is fast recovery? Review the homework questions I assigned, I’ll give you 1 or 2 problems on calculation. Wireshark skills Learn how to analyze network traces using Wireshark. You are going to be given one question on analyzing captured frames. Review your labs Chapter 4. Network Layer 1. Definitions a. FCFS scheduling in routers (page 339) b. WFQ in routers (page 339) c. Random Early Detection (page 339) d. Drop Tail (page 339) e. HOL blocking (page 341) f. TTL field in IP header g. Lease time in DHCP h. NAT i. ICMP j. AS k. BGP, eBGP, iBGP l. OSPF m. RIP n. 2. What are the differences between Virtual Circuit and Datagram networks at the Network Layer? 3. Describe the general architecture (Figure 4.6) of a router and explain the functionality of each component in the architecture. Be able to draw a diagram on this. 4. Describe the three ways routers do switching internally. (Memory, Bus, Crossbar) Discuss the trade-offs involved (disadvantages, advantages) 5. Talk about how IP Packet fragmentation is done. Discuss the problems with fragmentation. How to avoid fragmentation at the network layer? 6. What is a subnet? Why do we need subnets? Is IP routing done based on individual IP addresses? 7. How does DHCP work? Be able to write down the 4 messages exchanged between a DHCP server and a DHCP client. What are the information that can be provided by a DHCP server to a client, in addition to an IP address? 8. How does NAT work? Why is NAT important? Especially for countries other than the US. 9. List out at least 3 differences between IPv4 and IPv6 and explain why they have the differences. 10. Compare the differences between link state routing algorithms and distance vector routing algorithms 11. Given the topology of a network, be able to calculate the best routes from a router toward each other node using the Dijkstra’s Algorithm. 12. Why do we need hierarchical routing? What are Autonomous Systems? In addition to handling inter-AS routing, what are the other major function of the BGP routing protocol? 13. What is routing policy? Give an example of a case in which due to a certain routing policy, an AS may choose not to tell its neighbor about a subnet it has route for. Chapter 5. Data Link Layer 1. Definitions a. Frames b. Ethernet c. ALOHA d. SLOTTED ALOHA e. CSMA/CD f. Token Ring g. Polling protocol h. MAC address i. Broadcast MAC address j. LAN k. ARP l. MAC address table m. Self-learning (switches) n. Forwarding and filtering o. VLAN p. trunks 2. What is the function of the link layer? With the network layer, we are already able to deliver packets end to end. Explain why we still need the link layer? 3. List out the 4 major type of addresses we learned in this course. Discuss their differences. In this chapter, you learn the difference between link layer addresses and network layer addresses. Why do we need link layer addresses while every computer may already have an IP address? I give you two reasons. You can expand on this. 4. What is a multiple access protocol? When do we need it? 5. How does slotted ALHOA works? What is the bandwidth utilization ratio of the slotted ALOHA? Why is it so bad? 6. Describe the basic operations of the CSMA protocol. Why is it much better than ALOHA? 7. Describe how the Token Ring protocol works. What are the problems of the token ring protocol? 8. What are the differences between a centralized and a decentralized multiple access protocol? What are the tradeoffs here? Give me an example of a centralized multiple access protocol. 9. What does ARP do? Why do we need ARP? What happens when a computer in an Ethernet wants to talk to another computer in the same Ethernet, knowing only its IP address? What happens when a computer in an Ethernet wants to talk to a computer in the global Internet, knowing only its IP address? (hint, gateway router) 10. Describe how ARP works. In the ARP protocol, which message is sent as a LAN broadcast message? 11. How does an Ethernet switch work? How does self-learning work? 12. What are the differences between a switch and a hub in an Ethernet? 13. What happens when a switch doesn’t have an entry in its forwarding table about a destination MAC address? What happens when a response frame is received by the switch? 14. Suppose a switch is used to connect multiple computers together, what happens when multiple computers want to send frames to the same computer at the same time? 15. Why do we want to use VLANs? (Consider cost reduction, flexible network configuration, security, etc.) 16. How does VLAN trunking work? Why do we need it?