Understanding multicast and QoS in IP routers
The consolidation of the Internet Protocol as the foundation of most communications services has become indisputable. IP's simplicity, open standards development, relative low cost of deployment and, most importantly, a killer application — the World Wide Web — led to its extraordinary rapid uptake. Measured in terms of Internet adoption, the success of IP is unprecedented. It took 38 years to attract the first 50 million radio listeners and 13 years to attract 50 million television viewers. It only took four years for the Internet to attract its first 50 million users.
A large and rapidly increasing IP user base, at both individual and institutional levels, naturally led to the exploration of other applications and services that could leverage IP. These efforts were aided by advancements in media technologies, such as Wi-Fi, cable and xDSL, which led to availability of increased bandwidth at lower costs for broadband subscribers and enterprise users.
IP's ambitions focused on services such as telephony or video and audio content delivery, operating within a different paradigm than typical IP-based data exchange. With data exchange applications, the complete delivery and integrity of data is paramount. With the new services, the focus shifts to timely delivery of information even if some random, small amount is lost along the way. Moreover, while the original IP communications model targeted host-to-host exchange of information, the need to simultaneously deliver the same data to multiple hosts was also identified. IP evolved to support a wider range of services and applications.
This article is a follows-up to the Special Report in the August 2006 issue, “Understanding IP routers,” which analyzed the basic operation of a router and its generic architecture. It builds on that introduction to discuss some of the more advanced functions performed by routers today.
IP multicast
In its original version 4, IP was designed to support two types of communication:
- UnicastOne-to-one, with one source to one destination.
- BroadcastOne-to-all, with one source to all destinations within an IP subnet.
What happens, however, if several hosts in the same or different subnets are interested in the same packet at the same time? This scenario applies to the distribution of a software package within an enterprise or the delivery of a video program to broadband subscribers. Broadcasting the packet is not efficient because it bothers hosts that are not interested in the information. The packet could be sent via unicast to each destination, but in this case the resources of the source and network are dramatically taxed. A one-to-several communication mechanism, also called multicast, is more appropriate.
Get the TV Tech Newsletter
The professional video industry's #1 source for news, trends and product and tech information. Sign up below.
In a nutshell, the idea behind multicast is to enable the IP network to learn which hosts are interested in a given traffic (identified by a group address G) and to figure out how and where to optimally replicate that traffic. This way the source of the traffic (identified by its unicast IP address S) sends a single packet that will only reach all the listeners. Subscribers can be interested in the traffic regardless of the source (*, G) or in the traffic provided by a specific source (S, G). The IP routers providing network access to subscribers learn of their interest in a multicast group, and they signal that upstream.
Routers within the network collectively build a tree that enables them to optimally forward — over the shortest path between the source and the listeners — the traffic for a given multicast group. Due to the tree structure, it can avoid looping packets. While there is a lot more to the multicast operation (see Reference 1 on next page), this overview highlights the additional functions of a multicast-enabled router:
- Learn about listeners.
- Build the multicast tree.
- Replicate packets.
- Verify that packets are not looping.
Figure 1 describes the process of a network building the knowledge necessary to forward multicast traffic, while Figure 2 shows the process of forwarding the traffic over the multicast tree.
In relation to router architecture, the multicast state build-up and maintenance is handled in the control plane, and it requires processing and memory resources. The multicast traffic forwarding and replication takes place in the data plane and can be performed either in software or in hardware depending on the router.
IP multicast has gained significant visibility over the past several years. Enterprises are leveraging it for internal applications while service providers are using it to provide audio and video content over IP. Multicast is now an essential feature of modern IP networks.
Quality of service
So what do today's routers do? They transfer data between hosts over the shortest path and for certain applications with minimal or no packet drops. They support telephony services where packets cannot be delayed significantly. They deliver video content — sensitive to both drops and delays — and replicate it to multiple hosts or routers. And of course, they must handle the control plane messages essential to the proper operation of the network. This is a lot, both in terms of amount of traffic and the variety of service requirements. It is tempting to throw resources at the problem, more memory, CPU and bandwidth. But aside from the inevitable cost increase, congestion is a fact of life in a connectionless, best-effort environment such as IP networks. Routers need help to use their resources smartly in handling the various traffic types.
There are two architectures that enable IP to provide quality of service. The integrated service (IntServ) architecture brings IP forwarding closer to a circut-oriented-type protocol. In this case, before the traffic is exchanged between the source and the destination, the necessary resources are reserved across the entire path. The reservation is done with the help of signaling protocols.
The alternative architecture is called differentiated service (DiffServ). In this case, all routers are preconfigured with a set of classes and the resources that should be allocated to each class.
When IP packets enter the network, they are assigned — based on the service or application they support — to one of these classes, and their headers are marked with a 6 bits pattern corresponding to each class. Routers recognize the marking and handle the packet according to the policy defined for that class.
While IntServ provides more granular control of resource allocation, DiffServ does not require state maintenance in the network, making it simpler, more scalable and more resilient.
This IP QoS brief overview represents one aspect of an overall QoS architecture, which involves, for example, optimizations of the media layer as well. Leaving the details to dedicated references (see Reference 2 on page 55), we can summarize the additional functions performed by a QoS-enabled router:
- Classify IP packets.
- Mark packets based on classification.
- Apply the appropriate resources to handle the packets.
- Perform signaling if necessary.
Figure 3 depicts some of these functions in the context of DiffServ, which is the most commonly deployed QoS architecture.
With an increasing portfolio of services and an increase in users' expectations with respect to these services, QoS is becoming an important component of IP networks. It is particularly important in the lower bandwidth access portion of networks.
Summary
Routers have evolved beyond mere forwarding of packets across IP networks. They discover users that share a common interest, and they optimally deliver the traffic of interest to them. Routers allocate the right amount of resources to each traffic type in order to meet its service requirements. The complexity and capability of today's routers meet the needs of a diverse set of services and applications, which have one thing in common: They run over IP.
Ciprian Popoviciu, PhD, CCIE, is a technical leader within the Networked Solutions Integration Test Engineering group at Cisco Systems. He is also a senior member of the IEEE.
Key points
Mulicast enables routers to optimally deliver the same packet to multiple destinations simultaneously.
QoS helps routers to manage their resources to best support various types of user traffic and services.
References
- Beau Williamson, “Developing IP Multicast Networks, Volume 1,“ Cisco Press 1999
- Srinivas Vegesna, “IP Quality of Service,“ Cisco Press 2001