Computer Networks
A.Y. 2018/2019
Learning objectives
The main objective of the course is to analyze the technologies, models, functioning principles, and main protocols at the basis of computer networks. This course will also present the main application protocols, and related services, of the IP network and will discuss some techniques of distributed programming. To achieve the above objectives, the course will consist of both traditional lectures (72 hours - 9 cfu) and practical laboratory lessons (48 hours - 3 cfu).
Expected learning outcomes
Students will learn technologies, models, functioning principles, and the main protocols at the basis of computer networks, with particular relevance to the IP network. Students will also learn the main application protocols, and related services, of the IP network and the technologies for distributed programming based on socket and RPC.
Lesson period: Second semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Responsible
Lesson period
Second semester
Course syllabus
The class will discuss technologies and protocols underlying computer networks. The class is composed of three parts. The first part will present the fundamentals of computer networks, including local networks and Internet, focusing on network and transport-level protocols (IP).
1. Introduction. Structure and types of information processing systems. Computation and service infrastructure. Multilevel standard: the ISO/OSI example.
2. Introduction to local networks. Motivation. Public and private networks; design fundamentals. Private network types and architectures: LAN, MAN, WAN. Topologies: fully- or partially-connected networks, hierarchical, ring, star, bus. The basic notions underlying communication: contention, connection, routing. OSI Level 1: wiring and physical communication. OSI Level 2: MAC and LLC sublevels. IEEE standards.
3. Introduction to protocols. OSI Level 3: Protocols' features and design. Internal organization. OSI Level 4: services for transport levels. Comparison between virtual circuit-based and datagram-based networks.
4. Case study: Internet Protocol (IP). Network level: IPv4. IP addresses. Subnetting and Supernetting. Control protocols. ICMP. ARP, RARP. IPv6. IPv6 base header. Extension headers.
5. Routing algorithms. Flooding. Static routing. Shortest path routing. Distance-vector and link-state routing. Broadcast routing. Multicast routing. Routing IP: OSPF. BGP. Internet multicasting.
6. Internetworking IP. Chaining of virtual circuits. Connectionless internetworking. Tunneling and fragmentation management. Firewall. NAT.
7. Transport-level services. Elements of transport protocols. TCP/IP transport: the TCP service model. TCP protocol. UDP protocol. TCP segment header. UDP header. Quality of service. Transport primitives.
The second part will focus on higher levels of the ISO/OSI model, describing the main application protocols and services for the Internet, and presenting some techniques for distributed programming.
1. Client-server paradigm. Structure of application services based on TCP and UDP.
2. Application protocols for IP networks. BOOTP, DHCP. IP address assignment. DNS. Naming. Domain. Domain name resolution.
3. Internet applications and services. WWW, Electronic Mail, File Transfer, Remote Login. Analysis of the main application-level protocols: HTTP, FTP, Telnet, SMTP, POP3.
4. Network administration. SMNP protocol for network management.
5. Distributed programming. Socket. Standard interfaces at socket and stream levels for Unix and Windows. TCP and UDP Sockets. C and Java Sockets. Concurrent sockets. Middleware-based techniques. Remote procedure call (RPC). XML RPC.
6. Fundamentals of cloud computing.
The third part will consist of practical laboratory exercises focusing on (i) experimental analysis and configuration of the main Internet protocols and services, (ii) the main concepts of distributed programming
1. Introduction. Structure and types of information processing systems. Computation and service infrastructure. Multilevel standard: the ISO/OSI example.
2. Introduction to local networks. Motivation. Public and private networks; design fundamentals. Private network types and architectures: LAN, MAN, WAN. Topologies: fully- or partially-connected networks, hierarchical, ring, star, bus. The basic notions underlying communication: contention, connection, routing. OSI Level 1: wiring and physical communication. OSI Level 2: MAC and LLC sublevels. IEEE standards.
3. Introduction to protocols. OSI Level 3: Protocols' features and design. Internal organization. OSI Level 4: services for transport levels. Comparison between virtual circuit-based and datagram-based networks.
4. Case study: Internet Protocol (IP). Network level: IPv4. IP addresses. Subnetting and Supernetting. Control protocols. ICMP. ARP, RARP. IPv6. IPv6 base header. Extension headers.
5. Routing algorithms. Flooding. Static routing. Shortest path routing. Distance-vector and link-state routing. Broadcast routing. Multicast routing. Routing IP: OSPF. BGP. Internet multicasting.
6. Internetworking IP. Chaining of virtual circuits. Connectionless internetworking. Tunneling and fragmentation management. Firewall. NAT.
7. Transport-level services. Elements of transport protocols. TCP/IP transport: the TCP service model. TCP protocol. UDP protocol. TCP segment header. UDP header. Quality of service. Transport primitives.
The second part will focus on higher levels of the ISO/OSI model, describing the main application protocols and services for the Internet, and presenting some techniques for distributed programming.
1. Client-server paradigm. Structure of application services based on TCP and UDP.
2. Application protocols for IP networks. BOOTP, DHCP. IP address assignment. DNS. Naming. Domain. Domain name resolution.
3. Internet applications and services. WWW, Electronic Mail, File Transfer, Remote Login. Analysis of the main application-level protocols: HTTP, FTP, Telnet, SMTP, POP3.
4. Network administration. SMNP protocol for network management.
5. Distributed programming. Socket. Standard interfaces at socket and stream levels for Unix and Windows. TCP and UDP Sockets. C and Java Sockets. Concurrent sockets. Middleware-based techniques. Remote procedure call (RPC). XML RPC.
6. Fundamentals of cloud computing.
The third part will consist of practical laboratory exercises focusing on (i) experimental analysis and configuration of the main Internet protocols and services, (ii) the main concepts of distributed programming
INF/01 - INFORMATICS - University credits: 12
Laboratories: 48 hours
Lessons: 72 hours
Lessons: 72 hours
Professors:
Ardagna Claudio Agostino, Damiani Ernesto
Professor(s)
Reception:
By appointment only
At Dipartimento di Informatica, Via Celoria 18, Milan (MI)