|Teaching Staff in Charge|
This course is an introductory course on computer networks. Using the Internet as a vehicle, this course introduces the underlying concepts and principles of modern computer networks with emphasis on protocols, architectures, and implementation issues. The main goal of this course is to understand layering in computer networks, understand different protocol stacks (OSI and TCP/IP), understand functions and protocols within a layer, understand how layers fit together and finally understand how the Internet works.
1. Computer Networks and the Internet
- What Is the Internet?
- Packet-Switched Networks
- Protocol Layers and Their Service Models
2. Application Layer
- Principles of Application Layer Protocols
- The Web and HTTP
- File Transfer: FTP
- Electronic Mail (SMTP, MIME)
- DNS--The Internet's Directory Service
- Socket Programming with TCP/UDP
3. Transport Layer
- Transport-Layer Services
- Multiplexing and Demultiplexing
- Connectionless Transport: UDP
- Principles of Reliable Data Transfer
- Connection-Oriented Transport: TCP
- Principles of Congestion Control
4. Network Layer and Routing
- Network Service Models
- Routing Principles
- The Internet Protocol (IP)
- Routing in the Internet
- What's Inside a Router?
- Mobility and the Network Layer
5. Link Layer and Local Area Networks
- Data Link Layer Services
- Error-Detection and -Correction Techniques
- Multiple Access Protocols
- LAN Addresses and ARP
- Hubs, Bridges, and Switches
- Wireless Links
- PPP: The Point-to-Point Protocol
- Asynchronous Transfer Mode (ATM)
- Frame Relay
6. Security in Computer Networks
- What is network security?
- Principles of cryptography
- Attacks and Counter-measures
1. "Cookie Central." [http://www.cookiecentral.com]
2. BULACEANU, CLAUDIU: Retele locale de calculatoare, Bucuresti: Editura Tehnica, 1995.
3. CAMPIONE, MARY - WALRATH, KATHY - HUML, ALISON: The Java(TM) Tutorial. Addison-Wesley, 2000. [http://java.sun.com/docs/books/tutorial/]
4. GIBBS, MARK: Retele de calculatoare pentru începatori. Bucuresti: Teora, 1996.
5. KUROSE, JAMES F. - ROSS, KEITH W.: Computer Networking: A Top-Down Approach Featuring the Internet. Addison-Wesley, (2nd ed.), 2000.
6. MAHMOUD, QUASAY H.: Sockets programming in Java: A tutorial. [http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html]
7. PETERSON, LARRY - DAVIE, BRUCE: Computer Networks: A Systems Approach. Morgan Kaufman, (3rd ed.), 2003.
8. STALLINGS, WILLIAM: Data and Computer Communications. Prentice Hall, (6th ed.), 2000.
9. TANENBAUM, ANDREW S.: Computer Networks. Prentice Hall, (3rd ed.), 2003.
10. TANENBAUM, ANDREW S.: Retele de calculatoare. Tg. Mures: Computer Press Agora, 1997.
- software projects and other lab activity for 1/3 of the final grade;
- written theoretical exam for 2/3 of the final grade