Syllabus --- Computer Networks I
- Unix Network Programming : Networking Apis: Sockets and Xti (Volume 1)
2nd edition
- Authors: W. Richard Stevens
- Publisher: Prentice-Hall
- ISBN: 013490012X
Exam 3, due 11/22/1999
Homework Assignments
This course approaches the subject of computer networking from a
programming perspective. It's goal is to leave the student with the
ability to develop distributed applications using TCP/IP and RPC. The
course covers the overall organization of the Internet; the layered
design of networking software; TCP/IP programming (using sockets);
concepts behind RPC. There is a team-oriented
semester project.
Team signup page
Final grade is based on graded homework, two hour-exams and the
semester project.
- Introduction to networking.
- Unix review. Processes and low-level I/O.
- flock
- A dictionary of related C and Pascal
constructs
- Standard header-files for all network
programs
- OSI concepts --- layered software.
Description of the layers.
- The Internet. General organization and concepts.
- Ethernet.
- gethostbyname
- A C++ class for creating and using sockets
Compile these programs (t1.C and t2.C) via the command:
CC -oprogname -lsocket -lnsl progname.C
- Filtering mail
- Concept of a Protocol. Introduction to TCP/IP (Chapter 1 of text)
- Client-server model and Software design. (Chapter 2 of text)
- Concurrency in networks. (Chapter 3 of text)
- Program interface to Protocols. (Chapter 4 of text)
- Sockets. (Chapter 5 of text)
- Concept.
- Specifying an endpoint address.
- System-calls connected with sockets.
- TCP vs. UDP.
- Algorithms and issues in Client Software Design. (Chapter 6 of text)
- Identifying location of a server.
- Looking up a domain name.
- Port numbers and network byte-orders.
- The TCP client algorithm.
- Allocating a socket.
- TCP vs. UDP.
- Sample client software. (Chapter 7 of text)
- Issues in Server Software Design.(Chapter 8 of text)
- Concurrent vs. Iterative servers.
- Connection-oriented vs. connectionless servers.
- Four basic types of servers.
- Master and slave processes.
- Kerberos Protocol
- Iterative Connectionless Servers --- UDP. (Chapter 9 of text)
- Iterative, Connection-Oriented Servers --- TCP. (Chapter 10 of text)
- Concurrent, Connection-Oriented Servers. (Chapter 11 of text)
- Introduction to RPC.
This file was last modified