(This is a liveblog of the Turing100@Persistent Lecture on Bob Kahn and Vint Cerf by R. Venkateswaran, CTO of Persistent Systems. Since it is being typed as the event is happening, it is not really well structured, but should rather be viewed as a collection of bullet points of interesting things said during the talk.)
Vint Cerf and Bob Kahn
Vint Cerf: Widely known as the father of the internet. He is President of the ACM, Chief Internet Evangelist at Google, Chairman of the ICANN and many other influential positions. In addition to the Turing Award, he has also received the Presidential Medal of Freedom in 2005 and was elected to the Internet Hall of Fame in 2012.
Bob Kahn: Worked at AT&T Bell Labs, MIT, then while working with BBN, he got involved with the DARPA and Vint Cerf and they together worked on packet switching networks, and invented the IP and TCP.
The birth of the internet: TCP and IP. 70s and 80s.
-
The Internet:
- The first 20 years:
- Trusted network
- Defense, Research and Academic network
- Non-commercial
- Popular apps: email, ftp, telnet
- Next 20 years:
- Commercial use
- Multiple levels of ownership – increased distrust and security concerns
- Wide range of apps: email, WWW, etc
- The first 20 years:
-
What did Vint Cerf and Bob Kahn do?
- The problem:
- There were many packet switched networks at that time
- But very small, limited and self contained
- The different networks did not talk to each other
- Vint Cerf and Bob Kahn worked on interconnecting these networks
-
The approach
- Wanted a very simple, and reliable interface
- Non-proprietary solution. Standardized, non-patented, “open”
- Each network talked its own protocol, so they wanted a protocol neutral mechanism of connecting the networks.
- Each network had its own addressing scheme, so they had to invent a universal addressing scheme.
- Packets (information slices) forwarded from one host to another via the “internetwork”
- Packets sent along different routes, no guarantees of in-order delivery. Actually no guarantee of delivery
- Packets have sequence numbers, so end point needs to reassemble them in order
-
The protocol
- A “process header” identifies which process on the end host should be delivered the packets. This is today called the “port”
- Retransmissions to ensure reliable delivery. And duplicate detection.
- Flow control – to limit number of un-acknowledged packets, prevent bandwidth hogging
- A conceptual “connection” created between the end processes (TCP), but the actual network (IP) does not know or understand this
- Mechanism to set up and tear down the “connection” – the three-way handshake
- This are the main contributions of their seminal paper
- The Layered Network Architecture
- Paper in 1974 defining a 4 layered network model based on TCP/IP.
- This later became the basis of the 7 layer network architecture
- The Internet Protocol
- Packet-switched datagram network
- Is the glue between the physical network and the logical higher layers
- Key ideas:
- Network is very simple
- Just route the packets
- Robust and scalable
- Network does not guarantee any thing other than best effort
- No SLA, no guarantee of delivery, not guarantee of packet ordering
- Dumb network, smart end-host
- Very different from the existing, major networks of that time (the “circuit-switched” telephone networks of that time)
- No state maintained at any node of the network
- Advantages
- Can accommodate many different types of protocols and technologies
- Very scalable
- The Transport Layer
- UDP
- Most simplistic higher level protocol
- Unreliable, datagram-based protocol
- Detect errors, but no error corrections
- No reliability guarantees
- Great for applications like audio/video (which are not too affected by packet losses) or DNS (short transactions)
- TCP
- Reliable service on top of the unreliable underlying network
- Connection oriented, ordered-stream based, with congestion and flow control, bi-directional
- State only maintained at the end hosts, not at the intermediate hosts
- The problem:
Internet 2.0 – Commercialization
- The birth of the world wide web: late 80s early 90s
- Tim Berners-Lee came up with the idea of the the world-wide-web
- 1993: Mosaic, the first graphical web browser
- First Commercial ISP (Internet Service Provider) – Dial up internet
- Bandwidth doubling every 6 months
- Push for multi-media apps
- Push for higher bandwidth and rich apps
- Net apps (like VoIP, streaming video) demand higher bandwidth
- Higher bandwidth enables other new applications
- Apps: email, email with attachments, streaming video, intranets, e-commerce, ERP, Voice over Internet, Interactive Video Conferencing
- Dumb Network no longer works
- Single, dumb network cannot handle all these different applications
- Next Generation Networks evolved
- Single, packet-switched network for data, voice and video
- But with different levels of QoS guarantees for different services
- Clash of Network Philosophies: BellHeads vs NetHeads (mid-90s)
- Two major approaches: the BellHeads (circuit switched Telephone background), and the NetHeads (from the IP background)
- BellHeads philosophy: network is smart, endpoints are dumb; closed, proprietary communities; expect payment for service; per-minute charges; Control the evolution of the network; want strong regulations
- NetHeads philosophy: network is dumb, endpoints are smart; open community; expect cheap or free services; no per-minute charges; want network to evolve organically without regulations.
- These two worlds were merging, and there was lots of clashes
- BellHead network example: Asynchronous Transfer Mode (ATM) network
- Fixed sized packets over a connection oriented network
- Circuit setup from source to destination; all packets use same route
- Low per-packet processing at each intermediate node
- Much higher speeds than TCP/IP (10Gbps)
- A major challenge for the NetHeads
- Problems for NetHeads
- To support 10Gbps and above, each packet needs to be processed in less than 30ns, which is very difficult to do because of all the processing needed (reduce TTL, lookup destination address, manipulate headers, etc)
- As sizes of networks increased, sizes of lookup tables increased
- Almost read to concede defeat
- IP Switching: Breakthrough for NetHeads
- Use IP routing on top of ATM hardware
- Switch to ATM circuit switching (and bypass the routing layer) if a long-running connection detected.
- Late 90s, all IP networking companies started implementing variations on this concept
- MPLS: Multi-Protocol Lable Switching
- Standard developed by IP networking companies
- Insert a layer between TCP and IP (considered layer 2.5)
- Separates packet forwarding from packet routing
- Edges of the network do the full IP routing
- Internal nodes only forward packets, and don’t do full routes
- Separate forwarding information from routing information, and put forwarding info in an extra header (MPLS label – layer 2.5)
- MPLS Protocol (mid-97)
- First node (edge; ingress LSR) determines path, inserts MPLS label header
- Internal nodes only look at MPLS label, and forwards appropriately, without doing any routing and without looking at IP packet
- Last node (edge; egress LSR) removes the MPLS label
- Label switching at intermediate nodes can be implemented in hardware; significant reduction in total latency
- MPLS is now basis of most internet networking
Internet 3.0: The Future
End of the network centric viewpoint. (Note: These are futuristic predictions, not facts. But, for students, there should be lots of good project topics here.)
- Problems with today’s internet
- Support for mobility is pretty bad with TCP/IP.
- Security: viruses, spams, bots, DDOS attacks, hacks
- Internet was designed for co-operative use; not ideal for today’s climate
- Multi-homing not well supported by TCP/IP
- Change in IP address results in service disruption
- What if you change your ISP, your machine, etc?
- Cannot be done seamlessly
- Network is very machine/ip centric (“Where”)
- What is needed are People-centric networks (“Who”) and content centric (“What”)
- IP address ties together identity and location; this is neither necessary, nor desirable
- Three areas of future research:
- Delay Tolerant Network (DTN) Architecture
- Whenever end-to-end delay is more than a few 100 milliseconds, various things start breaking in today’s networks
- DTN’s characterized by:
- Things that are not always connected to the network. For example, sensor networks, gadgets, remote locations. Another Example: remote villages in Africa have a bus visiting them periodically, and that gives them internet access for a limited time every day.
- Extremely Long Delays
- Asymmetric Data Rates
- High Error Rates
- Needs a store-and-forward network
- Content-centric Networks
- Instead of everything being based on IP-address, how about giving unique identifiers to chunks of content, and define a networking protocol based on this
- Strategy: let the network figure out where the content is and how to deliver it
- Security: the content carries the authorization info, and unauthorized access is prevented
- Software Defined Networks
- Virtualizing the Network
- Search the net for: “OpenFlow”
- Hardware Router only does packet forwarding, but end applications can update the routing tables of the router using the OpenFlow protocol. App has a OpenFlow controller that sends updates to the OpenFlow agent on the Hardware Router.
- In the hardware/OS world, virtualization (VMWare, Xen, VirtualBox) are slowly taking over; OpenFlow is a similar idea for network hardware
- Oracle, VMWare have had major acquisitions in this space recently
- Delay Tolerant Network (DTN) Architecture