Computer Networks

Master the fundamentals of computer networks, including protocols, VPNs, and network security, with hands-on experience in socket programming, real-time data transmission, and network application development.

Course Outcomes

  • Understand the basics of computer networks, including how webpages load, LAN operations, VPN setup, and access control mechanisms.
  • Gain hands-on experience with socket programming and Inter-Process Communication (IPC), essential for creating networked applications like chatbots or custom DNS servers.
  • Understand concepts of essential networking protocols such as HTTP, MQTT, DNS, TCS, IP, QUIC, ICMP and AMQP, and explore the advancements in wireless technologies like 5G/6G.
  • Understand the various layers and their importance in networking.
  • Learn the fundamentals of network security, focusing on encryption protocols like SSL/TLS, and understand the differences and applications of IPv6 and IPv4.

Approach

  • Set up your own VPNs and access controls.
  • Develop server-client applications using socket programming, guiding students through creating practical network applications like a local chatbot or a DNS server.
  • Use tools like Wireshark to understand and observe network packets and requests.
  • Understand the workings of real-time data transmission using MQTT or AMQP.
  • Understand the practical implementation and working of multiple security protocols.
  • Implement the theoretical concepts learned using practical problems from the CS primer on the topics above.