The course targets learning the models, methods, and algorithms related to the design and implementation of computer network protocols; acquire knowledge in the main Internet protocols and technologies (TCP/IP suite). More specific it targets: Learning the concepts, methods, models, and algorithms for the design and implementation of computer network protocols. Understanding the principles of protocol layering and protocol hierarchy, the role of standardization and the importance of open technologies for Internet development. Learning the main Internet protocols and technologies (in the TCP/IP suite): low level (communication oriented) and high level (application oriented). Protocol analysis for high performance networks, mobile networks, and ad-hoc networks. Learning new methods and mechanisms used to obtain high performance in computer networks. Learning the principles and design solutions for open, scalable, and high performance networks. Study of high level protocols (for remote access, e-mail, Web, file transfer) and of their use for the development of Internet services. Syllabus
: Evolution of computer networks and communication protocols; Reference models: ISO OSI and TCP/IP Models; Architectural layers; Services; Protocols; Data link protocols: Services and functions, Error detection and correction, Transmission control, Start-Stop and sliding window protocols, HDLC, SLIP, PPP; Protocol verification and performance analysis; Network layer: Routing, Network layer services, Internal organization of the network layer, Addresses, Routing protocols. Algorithms for congestion control, Network interconnection, Internet Protocol; Transport layer: Transport service primitives, Transport protocols, Connection establishment and release, Flow control and adaptive retransmission, Multiplexing, Crash recovery, Transport protocols implementation and evaluation, TCP, UDP, RTP, Wireless TCP; Performance issues and solutions; Client-server model; Sockets; DNS; SMTP; MIME; POP3; IMAP; FTP; The Web; HTTP; HTML; Dynamic pages; Security protocols: Threats and controls, Introduction to Cryptography, Encryption models, Symmetric key algorithms, DES, AES, Public key algorithms, RSA, Digital signatures. Certificates. PKI, Firewall, VPN, DNS security.