• Lecture 04 recap
  • Today's topic: interprocess communication
  • Internet architecture
    • IP is point2point, TCP is end2end
    • BRIDGE: layer2 device
    • SWITCH: can be layer2 or layer3
    • ROUTER: layer3 device
    • MAC address is enough for network layer but it is too long
    • IP layer: LAN 2 LAN
    • TCP layer: end 2 end
  • Interprocess communication
    • Message passing
    • Synchronous:
      • wait for each other at communication point
      • tightly coupled
      • may cause deadlock (hard to debug)
    • Asynchronous:
      • "send" is always non-blocking: use middle buffer
      • "recv" can be blocking or non-blocking (polling/interrupt)
      • use async design as long as it is possible
    • Reliability
    • Ordering
  • Issues:
    • Message identifiers: remove duplication
    • Failure model: ......
    • Timeout: how to calculate timeout?
  • TCP/UDP
  • Group communication
    • Interest management: send only interesting data to game player