I'm a PhD student at UC San Diego in the Department of Computer Science and Engineering. I am researching data center networks with Amin Vahdat. You can contact me at nfarring@cs.ucsd.edu.
Rethinking the Internet Protocol
IP was invented in an era where there were multiple competing packet switching networks. The designers of the ARPANET faced two choices. First, they could introduce gateways between networks to translate from one packet format to another. Second, they could abstract away the physical packet switched networks altogether by encapsulating virtual packets (IP datagrams) inside physical packets (frames). They chose the second approach.
Fast forward to today. IEEE 802.3 Ethernet comes with every computer. Every notebook has 802.11 WiFi. There are technologies for the metropolitan area such as 802.16 WiMAX and 802.17 RPR. All of these technologies share the common 48-bit "MAC" address. All of them support traffic bridging at Layer 2. There is support for flow control and QoS. What would the Internet Protocol look like if this level of standardization and ubiquity had been available in the 1970's?
What do you do when Bandwidth goes to Infinity?
Optical single-mode fiber has a theoretical bandwidth of 50 Tb/s. Fiber is also very cheap and thin (it's the electrical-to-optical-to-electrical conversion that is currently expensive). What do you do when bandwidth goes to infinity? Will you still be using TCP/IP? What changes and what stays the same?
- Latency does not change. Should we prefetch data in anticipation of use? Is that a good use of energy?
- Should major content providers co-locate servers on your network in order to reduce latency?
- Do we need video streaming in a world where downloading a two hour movie takes a few seconds?
A World with Two Networks
There are two networks: the front-end network and the back-end network. The front-end network is the one you interact with. This includes technologies we have today like wireless mice and keyboards and cellular phones, and future technologies like smart homes and ubiquitous computing. The back-end network is relatively invisible. This is your ISP, the data centers owned by the content providers, the physical cables.
These two networks are very different. The front-end network is all about YOU, and interacting with you to gather your commands and provide you with results. The back-end network is all about YOUR DATA, and how best to move it around to where it needs to be at the moment. It is the intersection of these two networks that is the most exciting place to be.
