The number of undergraduate students, 2015-16 school year.
Layered architectures and the OSI Reference Model; design issues and protocols in the transport, network, and data link layers; architectures and control algorithms of local-area, point-to- point, and satellite networks; standards in networks access protocols; models of network interconnection; overview of networking and communication software.
Same as CS 438.
Same as CS 438.
Computer Networks: A Systems Approach, by Peterson and Davie, 5th Ed.
The course aims to provide advanced undergraduate and graduate students in Computer Science and Computer Engineering with the basic background, and design and evaluation skills in telecommunication and communication networks. The material taught will form the foundation for more advanced courses in computer networks. In each objective below, the letter(s) in parenthesis represents the element(s) of ABET Criterion 3 met by the objective.
A. After the 10th lecture hour, the students should be able to do the following:
1. Understand different multi-layer protocol stacks, their functionalities, their relationship to each other, their limitations, and their design issues. (a)
2. Understand the basic Ethernet technologies, Ethernet addressing, hardware interfaces, their connections to form local area networks, bridges, learning bridges, repeaters, switched Ethernets, routers, and gateways. (a)
3. Understand the four classes of Internet IPV4 addressing, their limitations, and their extensions to IPV6. (a)
4. Understand the ARP and RARP protocols. (a)
6. Understand routing algorithms on the Internet, the construction of a routing table, and the concepts of subnetting, proxy ARP gateways, and transparent gateways. (a)
7. Apply the concepts learned on an existing local area network to find out how routing is performed and the routes that messages take. Learn the use of other Unix network management commands (netstat, tcpdump, traceroute, ifconfig). (a, b)
B. After the 20th lecture hour, the student should be able to do all of the items listed in Part A plus the following:
8. Learn the socket interface on Unix, the client-server model, and TCP/IP networking commands on Unix. (a)
10. Learn the format and functionalities of IP datagrams, and understand the concept of protocol layering. (a)
11. Learn the UDP protocol and the way that ports are allocated in UDP. (a)
12. Learn the TCP protocol, the TCP fragment header, the adaptive retransmission algorithm, acknowledgment ambiguities, Karn's algorithm, Jacobson's algorithm, congestion avoidance, fast retransmit, fast recovery, and silly window syndromes. (a)
13. Measure round-trip propagation delays on the Internet, and infer how the TCP protocol manages flow and resolves congestion. (b)
14. Understand the domain name system on the Internet, the design of a domain name server, and Unix networking commands related to name service (resolver, name daemon, nslookup, traceroute). (a)
15. Apply the concepts learn to send messages to a name server and analyze the results returned. (b)
C. After the 32nd hour, the students should be able to do all of the items listed in Parts A and B plus the following:
16. Understand the logical link layer protocol, error detection and correction, various window protocols (stop and wait, selective repeat, and go-back N), and their performance analysis. (a)
19. Learn the Aloha multi-access protocol and various IEEE 802 standard protocols (802.2, 802.3, 802.3u, 802.3z, 802.4, 802.5, 802.6, 802.7, 802.8, 801.11, 802.15, 802.16, and 802.20). (a)
D. After the 45th hour, the students should be able to do all of the items listed in Parts A, B, and C, plus the following:
21. Apply Dijkstra's shortest-path algorithm to find the shortest paths in a graph. (a)
22. Understand the differences between link-state routing and distance-vector routing, and the protocol used in the Internet for routing. (a)
23. Design the optimal hierarchy in hierarchical routing. (a)
24. Understand congestion prevention and avoidance strategies, leaky bucket protocols, fair queuing, jitter control, and issues in multicasting. (a)
25. Understand time division multiplexing, the SONET architecture, switched networks, interconnection networks, ISDN, B-ISDN, and ATM switches. (a)
26. Learn the design of the data-link and network layers in ATM, cell delineation, routing and switching in ATM, quality of service, and congestion control in ATM. (a)
27. Apply the concepts learned to design a comprehensive program that performs flow control, error detection, error recovery, connection setup, and connection tear-down across an unreliable network. (b, c, d, e, g)