Unit One Objectives, ENGR 661, Computer Networks II Lecture 1)Give an overview of the Internet (topology, addressing, and naming) and explain how it interacts with an internet, intranet, & extranet. 2)Contrast the terms "LAN," "WAN," "T1," "Frame Relay," "ATM," "ADSL," and "DSLAM." 3)Describe how a client-server pair use the basic services of Tanenbaum's transport station. 4)Explain how the same code, executing on both computers, allows networking. 5)Explain, and give an example of, how user-driven versus event-driven routines cooperate to allow networking. UNIX Network Programming - 3rd edition - W. R. Stevens, et. al. Appendix A - IP V4 etc... 1)Describe the data encapsulation that requires up to 111 bytes to send one data byte through the Internet in a virtual terminal session. 2)Contrast the frame/packet sizes of a TCP control packet, ICMP ping request, and FTP data block. 3)Contrast an IP segment and IP packet. Contrast congestion versus flow- control. 4)Explain how IP prevents routing loops. Omit)Describe the overall design of Internet addresses and give the tradeoff. 6)Define "classless" "subnet" addressing and explain how it helps the above problem. Describe the role of addresses "0", "1", "-1", & "255" 7)Describe the design of 127.0.0.1 and explain how the address 127.0.0.1 assists with writing network code. 8)Describe the "old" versus "new" definition of "multihomed" and explain why it is required (see also p. 103 and the "weak end" system model). 9)Contrast "encapsulation," "multiplexing," and "tunneling." UNIX Network Programming - 3rd edition - W. R. Stevens, et. al. Chapter 1 - Introduction 1)Contrast "repeater," "bridge," "router," "switch," and "gateway." 2)Contrast "netstat," "ifconfig," "ping," "traceroute," "nslookup," and "tcpdump." 3)Be able to comment a section of code from the TCP Daytime Client/Server examples. 4)Describe three aspects of the Unix error reporting design. (indication, type, & presentation) Omit)Contrast "POSIX," "UNIX 98," "IETF," and "RFC." UNIX Network Programming - 3rd edition - W. R. Stevens, et. al. Chapter 2 - The Transport Layer: TCP and UDP 1)Describe four basic layers of network functionality and relate them to the Internet modules in Figure 2.1. 2)Contrast UDP, TCP, and SCTP based upon conection strategy, delivery method, and data delimiting. 3)Describe four ways to loose data in a network and explain how data loss leads to data duplication. 4)Explain how TCP options MMS, Window scale & Time stamp overcome the long fat pipe problem. Explain why this may not work. See also TCP_MAXSEG on p. 219. 5)Describe the basic (3) steps to complete a 3-way TCP handshake and explain how it overcomes duplicate packets. 6)Describe the relationship among the five "major" FTP states and explain how this leads to a "denial of service" attack. 7)Explain the confusion of the TIME_WAIT state and explain how it solves a basic problem in the TCP. 8)Describe the basic (4) steps to complete a 4-way SCTP handshake and explain what it was designed to overcome. 9)Define "port" and contrast "well-known," "registered," "ephemeral," and "masquerade" port numbers. See: http://www.iana.org/assignments/port-numbers 10)Contrast half versus full associations and duplicated versus unique associations. 11)Explain how client/server computing acquires and maintains multiple unique associations. 12)Contrast MTU, path MTU, path MTU discovery, V4 TCP MSS of 1,460 vs 1,500, and V6 MSS of 65,515 vs 65,535. 13)Describe the Minimum Reassembly Buffer sizes for V4 vs V6 and explain how this impacts UDP. 14)Define fragmentation. Explain why it leads to poor performance. And explain why the problem is so difficult to deal with (OS and net layers). Contrast the design of IPv4 versus IPv6 as they relate to fragmentation. UNIX Network Programming - 3rd edition - W. R. Stevens, et. al. Chapter 3 - Sockets Introduction 1)Describe the general contents of a socket structure and explain why it is difficult to create a true "generic" socket. (hint: multiple versions of Unix, two standards organizations, and four IP protocol address formats) 2)Contrast the following socket structures IPv4, IPv6, Unix, Datalink, & Storage. 3)Describe a "value-result" argument and explain why the concept of a kernel can be fuzzy. 4)Contrast little versus big "endian," why it exists, and at what network levels it resides. Omit)Describe the three aspects of address conversion functions and give three reasons why Stevens will only use the pton and ntop functions. 6)Explain the role of Stevens' sock_xxxx library. 7)Contrast file (disk) versus socket I/O and explain how to deal with it. 8)Explain how Stevens was able to reduce read run time from 8.8 to 0.3 sec.