5.4.3 Integrated Services
Between 1995 and 1997, IETF put a lot of effort into devising
an architecture for streaming multimedia. This work resulted in over two dozen
RFCs, starting with RFCs 2205–2210. The generic name for this work is flow-based algorithms or integrated services. It was aimed at both unicast and
multicast applications. An example of the former is a single user streaming a
video clip from a news site. An example of the latter is a collection of digital
television stations broadcasting their programs as streams of IP packets to many
receivers at various locations. Below we will concentrate on multicast, since
unicast is a special case of multicast.
In many multicast applications, groups can change membership
dynamically, for example, as people enter a video conference and then get bored
and switch to a soap opera or the croquet channel. Under these conditions, the
approach of having the senders reserve bandwidth in advance does not work well,
since it would require each sender to track all entries and exits of its
audience. For a system designed to transmit television with millions of
subscribers, it would not work at all.
RSVP—The Resource reSerVation Protocol
The main IETF protocol for the integrated services architecture
is RSVP. It is described in RFC 2205 and
others. This protocol is used for making the reservations; other protocols are
used for sending the data. RSVP allows multiple senders to transmit to multiple
groups of receivers, permits individual receivers to switch channels freely, and
optimizes bandwidth use while at the same time eliminating congestion.
In its simplest form, the protocol uses multicast routing using
spanning trees, as discussed earlier. Each group is assigned a group address. To
send to a group, a sender puts the group's address in its packets. The standard
multicast routing algorithm then builds a spanning tree covering all group
members. The routing algorithm is not part of RSVP. The only difference from
normal multicasting is a little extra information that is multicast to the group
periodically to tell the routers along the tree to maintain certain data
structures in their memories.
As an example, consider the network of Fig. 5-37(a). Hosts 1 and 2 are multicast senders, and
hosts 3, 4, and 5 are multicast receivers. In this example, the senders and
receivers are disjoint, but in general, the two sets may overlap. The multicast
trees for hosts 1 and 2 are shown in Fig.
5-37(b) and Fig. 5-37(c),
respectively.
Figure 5-37. (a) A network. (b) The multicast spanning tree for host 1. (c) The multicast spanning tree for host 2.
To get better reception and eliminate congestion, any of the
receivers in a group can send a reservation message up the tree to the sender.
The message is propagated using the reverse path forwarding algorithm discussed
earlier. At each hop, the router notes the reservation and reserves the
necessary bandwidth. If insufficient bandwidth is available, it reports back
failure. By the time the message gets back to the source, bandwidth has been
reserved all the way from the sender to the receiver making the reservation
request along the spanning tree.
An example of such a reservation is shown in Fig. 5-38(a). Here host 3 has requested a channel to host
1. Once it has been established, packets can flow from 1 to 3 without
congestion. Now consider what happens if host 3 next reserves a channel to the
other sender, host 2, so the user can watch two television programs at once. A
second path is reserved, as illustrated in Fig. 5-38(b). Note that two separate channels are needed
from host 3 to router E because two independent
streams are being transmitted.
Figure 5-38. (a) Host 3 requests a channel to host 1. (b) Host 3 then requests a second channel, to host 2. (c) Host 5 requests a channel to host 1.
Finally, in Fig.
5-38(c), host 5 decides to watch the program being transmitted by host 1 and
also makes a reservation. First, dedicated bandwidth is reserved as far as
router H. However, this router sees that it
already has a feed from host 1, so if the necessary bandwidth has already been
reserved, it does not have to reserve any more. Note that hosts 3 and 5 might
have asked for different amounts of bandwidth (e.g., 3 has a black-and-white
television set, so it does not want the color information), so the capacity
reserved must be large enough to satisfy the greediest receiver.
When making a reservation, a receiver can (optionally) specify
one or more sources that it wants to receive from. It can also specify whether
these choices are fixed for the duration of the reservation or whether the
receiver wants to keep open the option of changing sources later. The routers
use this information to optimize bandwidth planning. In particular, two
receivers are only set up to share a path if they both agree not to change
sources later on.
The reason for this strategy in the fully dynamic case is that
reserved bandwidth is decoupled from the choice of source. Once a receiver has
reserved bandwidth, it can switch to another source and keep that portion of the
existing path that is valid for the new source. If host 2 is transmitting
several video streams, for example, host 3 may switch between them at will
without changing its reservation: the routers do not care what program the
receiver is watching.
No comments:
Post a Comment
silahkan membaca dan berkomentar