Networking Review Questions - angrave/SystemProgramming GitHub Wiki

Topics

  • IPv4 vs IPv6
  • TCP vs UDP
  • Packet Loss/Connection Based
  • Get address info
  • DNS
  • TCP client calls
  • TCP server calls
  • shutdown
  • recvfrom
  • epoll vs select
  • RPC

Questions

  • What is IPv4? IPv6? What are the differences between them?
  • What is TCP? UDP? Give me advantages and disadvantages of both of them. When would I use one and not the other?
  • Which protocol is connection less and which one is connection based?
  • What is DNS? What is the route that DNS takes?
  • What does socket do?
  • What are the calls to set up a TCP client?
  • What are the calls to set up a TCP server?
  • What is the difference between a socket shutdown and closing?
  • When can you use read and write? How about recvfrom and sendto?
  • What are some advantages to epoll over select? How about select over epoll?
  • What is a remote procedure call? When should I use it?
  • What is marshalling/unmarshalling? Why is HTTP not an RPC?