Internet Protocols

Professors Angelos Rouskas
Evangelos Haleplidis
Course category Core
Course ID DS-326
Credits 5
Lecture hours 3 hours
Lab hours 2 hours
Digital resources View on Aristarchus (Open e-Class)

Learning Outcomes

Τhe course presents architectures and protocols used in the internet, analyzing concepts and design approaches across different layers in networking TCP/IP protocol stack (link, internet, transport and application layers). The interface between application layer and transport service when implementing internet applications is also introduced. The course offers a mixture of theoretical aspects, laboratory exercises and socket programming for developing networking applications.

Upon successful completion of the course, the students will be in position to:

  • understand, analyze and evaluate the different design options and assumptions, and the performance of protocols at different layers of the TCP/IP stack (e.g. reliable transfer protocol TCP versus light transfer protocol UDP, distance-vector versus link-state routing protocols)
  • comprehend how internet affects the operation and performance of network applications and the involved communication protocols
  • understand and evaluate the performance of network applications that is due to the operation of internet protocols
  • develop simple client/server architecture applications using the socket API in Python
  • run and operate packet sniffing software and identify protocols interaction in packet traces

Course Contents

  • Introduction to Internet main concepts.
  • OSI and TCP/IP models.
  • Application layer protocols Dynamic Host Configuration Protocol (DHCP). HyperText Transfer Protocol (HTTP). File Transfer Protocol (FTP). Simple Mail Transfer Protocol (SMTP), POP, IMAP. Domain Name Service (DNS). Peer-2-Peer protocols.
  • Client-Server Architecture and programming. Sockets and Socket Programming.
  • Transport layer protocols. Transmission Control Protocol (TCP). User Datagram Protocol (UDP).
  • Internet layer protocols. IP Addressing. Internet Protocol (IPv4, IPv6). Internet Group Management Protocol (IGMP). Internet Control Message Protocol (ICMP). Routing Protocols, Autonomous Systems, Interior and Exterior protocols (RIP, OSPF, eBGP, iBGP)
  • Link layer protocols. Address Resolution Protocol (ARP). Reverse Address Resolution Protocol (RARP).
  • Multimedia networking. Multimedia applications, VoIP and Video over IP.

Recommended Readings

  1. Kurose, K. Ross, “Computer Networking: A top-down approach”
  2. Comer, “Internetworking with TCP/IP”
  3. Comer D., Stevens D. “Internetworking with TCP/IP vol3: Client-Server Programming and Applications”, Prentice Hall
  4. B. Forouzan, “TCP/IP Protocol”