Key principles of the internet Communication based on simple datagram Simple core system, complexity at the edge Easy to deploy new applications/protocols No need to modify core to deploy application No central controller Routing system is designed carefully