Tag Archives: tcpip

The Net Neutrality Debate – A Supply/Demand Perspective – V. Sridhar, Sasken

(This is a liveblog of a lecture on Network Neutrality by V. Sridhar, a Fellow at Sasken. This talk was delivered as a part of the Turing100@Persistent Lecture Series in Pune. 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. For more information about Dr. Sridhar, see his website)

The Problem of Net Neutrality

The principle of “Net Neutrality” states that all traffic on the internet should be treated equally. Thus, the principle states that network service providers (i.e. the telecom companies) should not be allowed to discriminate (i.e. limit or disallow) on network connections and speeds based on the type of traffic. Thus, for example, under net neutrality, a telecom should not be allowed to disallow BitTorrent Downloads, or limit bandwidth for Skype or Video streaming, or provide higher speeds and better quality of service guarantees for just traffic generated by iPhones or US-based companies.

Telecom companies are trying to introduce systems by which different levels of service are provided for different types of traffic, because, they argue that network neutrality is not economically viable.

The Demand for Network Services

  • Mobile broadband and 3G traffic is increasing exponentially
    • Even in India! In the last 7 months there has been 78% growth in 3G traffic, and 47% growth in 2G. India loves mobile broadband
    • Users are getting hooked to 3G. An average 3G user consumes 4 times more data than a 2G user. 3G is an acceptable alternative to wired broadband
    • Mobile data is growing fastest in smaller towns and villages (category B & C circles)
  • Video, voice, and streaming data are taking up huge chunks of bandwidth

NetHeads vs BellHeads

There are two major approaches to the network: the traditional telephone providers who come from a circuit switched Telephone background (the BellHeads), and the people who come from the packet-switched internet protocol background (the NetHeads). The BellHeads believe that the network is smart, endpoints are dumb; they believe in closed, proprietary networks; they expect payment for each service; often with per-minute charges; they want to control the evolution of the network and to control everything about the network. They want strong regulations. The NetHeads philosophy is that network is dumb, and endpoints are smart. So users should take all the decisions; they believe in an open community; and they expect cheap or free services, with no per-minute charges; they want the network to evolve organically without regulations.

To a large extent, the NetHeads are for net neutrality and the BellHeads are in favor of abolishing net neutrality in favor of carefully controlled tiered traffic.

The Supply Side

Land-line penetration is decreasing. On the other hand, mobile penetration continues to increase and is showing no signs of saturation. Fixed-line is losing its relevance, especially in case of emerging countries in India. Which means that increasing chunk of the internet bandwidth is going to be consumed by mobile devices.

LTE (the Long Term Evolution) mobile network is the fastest growing network ever. 300+ different operators all over the world are investing in LTE. This will come to India soon.

Mobile technologies are improving, and individual devices will soon be capable of handling 1Gbps data connections. This means that the capacity of the core network will have to go up to provide the speeds that the device is capable of consuming. And the NetHeads are making good progress and being able to provide high capacities for the core networks.

The problem is that the mobile spectrum is a scarce resource, and will soon become the bottleneck. The other problem is that chunks of the spectrum have to be exclusively allocated to individual operators. And then that operator has to operate just within that chunk.

The Problem of the Commons

When people have shared, unlimited access to a common resource, then each will consume the resource without recognizing that this results in costs for everyone else. When the total amount that everybody would like to consume goes above what is totally available, everybody suffers. This is a problem which will affect the mobile spectrum. The spectrum gets congested, and bandwidth suffers.

How to solve the congestion problem?

  • Congestion pricing. For example, cheaper access after 9pm is an instance of congestion pricing – an attempt to convince some of the users to consume resources when they’re less congested.
  • During periods of congestion, bandwidth is scarce and hence should have high prices. On the other hand, when the network is not congested, then the additional cost of supporting an additional user’s downloads is minimal, hence the user should be given free or very cheap access.

The Net Neutrality Debate

Net neutrality believes that the maximum good of maximum people will happen if networks service providers do not discriminate amongst their customers.

No discrimination means:

  • No blocking of content based on its source, ownership or destination
  • No slowing down or speeding up of content based on source, ownership or destination

Examples of discrimination:

  • In 2005, Madison River Communications (an ISP) blocked all Vonage VoIP phone traffic
  • In 2007, Comcast in the US, restricted some P2P applications (like BitTorrent)
  • In 2009, AT&T put restrictions on what iPhone apps can run on its network
    • Disallowed SlingPlayer (IP based video broadcast) over it’s 3G network
    • Skype was not allowed to run over AT&T’s 3G network

The case for net neutrality:

  • Innovation: Operators/ISPs can kill innovative and disruptive apps if they’re allowed to discriminate
  • Competition: Operators/ISPs can kill competition by selectively disallowing certain applications. For example, if AT&T slows down Google Search, but speeds up Bing Search, this can cause Google Search to die.
  • Consumers: Operators/ISPs will have a strong grip on the consumers and other players will not get easy access to them. This will hurt the consumers in the long run.

The case against net neutrality:

  • Capacity is finite. Especially in the case of mobile broadband (because the spectrum is limited)
  • If there is no prioritization, a few apps will consume too much bandwidth and hurt everybody; and also it reduces the service provider’s motivation to increase bandwidth
  • Prioritization, and higher pricing for specific apps can be used to pay for new innovations in future network capacity increases

Broadband is a two-sided market:

  • Apps and Broadband is a two-sided market.
    • Both, applications and bandwidth are needed by consumers
    • Without applications, users will not consume the bandwidth, because they have nothing interesting to do
    • Without bandwidth, users will not use applications, because they’ll be too slow
    • Hence both have to be promoted simultaneously
  • How should a two-sided market be handled?
    • Usually, one side should to be subsidized so it can grow and help the other grow
    • e.g. Somebody needs to break this cycle and grow one side of this market, so that the other can then grow
    • For example, Google (an app/content provider) is buying fiber and providing 1Gbps connection in Kansas for $70 per month. Thus Google is subsidizing the bandwidth increase, and hopes that the users and apps will increase in proportion.
  • Regulatory and Policy implications
    • Two ways to handle this:
      • Ex Ante: come up with regulations and policies before problems occur
        • Because lawsuits are expensive
        • US is trying to do this – they have exempted mobile providers from net neutrality principles
        • Netherlands has passed net neutrality regulations – first country in the world. Mobile operators are not allowed to disallow or discriminate against services like Skype
        • Rest of Europe: public consultations going on
      • Ex Post: Let the problems occur and then figure out how to deal with them
  • Net Neutrality and India
    • No mention of net neutrality in the NTP (National Telecom Policy 2012)
    • Fair Usage Policy (FUP)
      • Is against net neutrality (maybe)
      • It discriminates against users, but does not discriminate against applications
      • But it is indirect discrimination against applications – because users who use BitTorrent and other bandwidth heavy applications will be more affected by FUP
      • Affects innovation – because users are discouraged from using innovative, bandwidth heavy applications

Event Report: The Work and Impact of Bob Kahn and Vint Cerf

(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
  • 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

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