2 characteristics of networking: Distance and heterogeneity

Making the below problem harder compare to many other computer system components:

  • Performance: throughput, latency
    • Performance requirement is real so many optimization is needed. Making the real world implementation of most networking component extra complicated.
  • Reliability *
  • Compatibility
    • So many abstraction layer to solve the problem of
    • Lack of control on so many component of the system
  • Security
    • Distance, lack of control, heterogeneity, lots of abstraction makes the issue of security much harder

Because networking usually has to deal with transferring information over a much longer distance compare to other component in a computer system like CPU, GPU, memory, the above problems become much harder.