Net_Prog
Abstract
- This course provides a broad overview of computer networking, covering the application layer, transport layer, network layer, and link layers.
- It covers basic concepts in computer networking as well as the prominent Internet protocols.
- It is intended for students who have had no previous course in computer networking.
Teaching and Learning Methods : Lectures and Lab sessions (group of 2-3 students)
Course Policies : Attendance to Lab session is mandatory.
Bibliography
Computer Networking: A Top-Down Approach (6th Edition) 6th Edition, by James F. Kurose, Keith W. Ross. Publisher: Pearson.
Requirements
Basic networking knowledge (TCP/IP, routing, CSMA/CD, Dijkstra, etc.)
Description
- Overview of computer networks : Packet switching, delay and loss concepts, physical media, protocol layering, Internet peering structure.
- Application layer : Web, E-mail, DNS, introduction to socket programming
- Transport layer : Principles of reliable transport : UDP and TCP, principles of congestion control
- Network layer and routing : Link-state routing theory, distance-vector routing theory, hierarchical routing, IPv4, addressing and CIDR, RIP
- Link layer : Error detection and correction techniques, multiple access protocols, LAN addressing and ARP, Ethernet
Learning outcomes:
- Being able to use main concepts of networking in an hands-on manner thanks to a GNS3 based living lab approach.
- Understanding of networking challenges and consequences (security, performance).
- Analysis of IP traces (including experimental know-how with Wireshark in a GNS3 environment). Network programming (client servers) in Python and Scapy
Nb hours : 42 with 3 lab sessions (9h)
Grading Policy :·Written exam (60%), Graded labs (40%)