Content: | Part 1: Introduction What is the Internet, What is a protocol? The Network Edge, Core, and Access Networks Physical Media Delay, Loss and throughputin Packet-Switched Networks Protocol Layers and Their Service Models The structure of the Internet A Brief History of Computer Networking and the Internet Part 2: The Application Layer Principles of Application-Layer Protocols The World Wide Web: HTTP File Transfer: FTP Electronic Mail in the Internet The Internet's Directory Service: DNS Peer-peer systems Socket Programming PROGRAMMING ASSIGNMENT 1 Part 3: The Transport Layer Transport-Layer Services and Principles Multiplexing and Demultiplexing Applications Connectionless Transport: UDP Principles of Reliable of Data Transfer TCP case study PROGRAMMING ASSIGNMENT 2 Principles of Congestion Control TCP Congestion Control Part 4: The Network Layer Introduction and Network Service Model Routing Principles Hierarchical Routing IP: the Internet Protocol Routing in the Internet What is Inside a Router? Part 5: The Link Layer and Local Area Networks The Data Link Layer: Introduction, Services Error Detection and Correction Multiple Acces Protocols and LANs LAN Addresses and ARP Ethernet
VLANs A Day in the Life of an HTTP Request (synthesis) Part 6: Security in Computer Networks What is Network Security? Attacks and Countermeasures Principles of Cryptography Authentication: Who are You? Integrity Key Distribution and Certification Firewalls Case Studies |
Learning Results: | This course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: overview of network architectures, applications, network programming interfaces (e.g., sockets), transport, congestion, routing, and data link protocols, addressing, local area networks, wireless networks, network security, and network management. Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. There will be four or five written assignments, two programming assignments, several hands-on labs (that can be done on any Internet-connected PC),and a final exam. |
Suggested Books: | 1. Δικτύωση Υπολογιστών, 7η Έκδοση, James F. Kurose, Keith W. Ross Λεπτομέρειες 2. ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ, ANDREW S. TANENBAUM, DAVID J. WETHERALL Λεπτομέρειες 3. Οργάνωση και Αρχιτεκτονική Υπολογιστών, 11η Έκδοση, Stallings William |