Course: Network Programming using BSD Sockets:


  1. Introduction to Internetworking, 7 layers OSI Model, TCP/IP Protocol stack.
  2. Introduction to BSD Sockets, Ports, standard Port Numbers, goofing with telnet.
  3. Unix Domain Sockets and Internet Domain Sockets.
  4. Various Socket System Calls like socket, bind, listen, accept, connect.
  5. Deal with read, write, send, recv, sendto, recvfrom.
  6. Client and Server Side Socket Programming.
  7. TCP, UDP, SCTP.
  8. Concurrent and Iterative Server design.
  9. Asynchronous vs. Synchronous programming.
  10. Working with Select, Poll and EPoll.
  11. Playing with Socket Options (Buffer Size, Reuse Address, keep connection alive, Segment Size, No Delay etc).
  12. Play with tools like tcpdump, netstat, and packet analyzers
  13. Hands on with some protocols like SMTP, DNS etc

Duration: 30 hours Theory, 90 hours Practical (Recommended)