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.