| ★ wanayoo — archive 1999 http://data.com/Tutorials/Real_Time_Services.html | Nouvelle recherche | Portail wanayoo |
![]() |
![]() |
Browse By... Technology/Topic Vendor Back Issues Content LAB TEST CENTER TECH TUTORIALS GLOBAL NETWORKS N.P.N. PRODUCT LEADERS OPINIONS/COLUMN Viewpoint INDUSTRY PIPE Visitor's Center FAQs Contact the Editors Free Newsletter Subscriptions Marketing Services Industry Front & Center Reader Service Custom Publishing Real World Seminars Vendor Strategies
|
|
|
Routing in the integrated services architecture (ISA) involves
three processes not found in conventional schemes. Packets are
associated with a particular flow, and a QOS (quality of service) is
established for each. Flow signalling is propagated across the network
to ensure proper handling.
|
Queuing adjustment is handled by a signaling protocol that communicates information about the flows between routers. The signaling protocol has two main purposes: to ensure that network resources are available to carry the flow and to install a queuing policy that meets its needs.
Defining an effective queuing policy is a key component of the ISA. Today, most switches and routers use first-in-first-out queuing. While simple and speedy, this doesn't perform well when links are congested--that is, when the queues are deep--because the algorithm lacks an effective way to tell an application to slow down. At least on internetworks, this is a particular problem with bursty traffic. Burstiness isn't a problem on a lightly loaded LAN where there are no routing delays. But once traffic leaves the LAN, problems can ari se: In particular, delay-sensitive traffic ends up waiting behind long bursts of less delay-sensitive traffic.
One way of resolving this problem is fair queuing, which calls for the switch to discriminate among traffic flows and to sort them, ensuring that no flow can take over the network link. Fair queuing also makes sure that flows using relatively little bandwidth are guaranteed minimal latency and that flows using more bandwidth can achieve approximately the same throughput, though at the cost of potentially increased latency.
Fair queuing has an interesting side effect: It permits the switch or router to slow down unduly aggressive flows. This makes the network more fair for other traffic, particularly if it is elastic. In fact, networks can theoretically be made completely predictable if applications control the rate at which they send--which programs using TCP do naturally--and if all switches in the network use a fair queuing algorithm.
In weighted fair queuing, a variant of f air queuing, each flow's bandwidth is weighted; therefore, real-time traffic gets exactly the performance it needs, inelastic traffic can be shielded from best-effort traffic, and best-effort flows can be shielded from one another. The catch is that weighted fair queuing can be slow because of the time it takes to sort the queues.
Another way that switches can implement the ISA guarantees uses a variant of the Random Early Detection (RED) congestion control mechanism. Although not specifically designed to handle real-time traffic, RED can be extended to provide different service guarantees for different types of traffic.
The theory behind RED is that most data-transport schemes are sensitive to loss and will at least momentarily slow down if some of their traffic gets dropped. This isn't a problem if the traffic is elastic (as in TCP), so having the router intentionally drop messages is a good way of slowing down this kind of traffic and eliminating network congestion. Furt hermore, if there's a mix of elastic and inelastic traffic, slowing down the elastic traffic helps improve the performance of its inelastic counterpart.
But this approach also can cause problems if a significant percentage of traffic is inelastic. To see why, it helps to take a look at how TCP (and protocols like it) handle traffic loss. TCP sends messages in order; when the protocol stack in the receiving station gets a message, either it's the next message in the sequence or it isn't. If it is the next one, the protocol delivers all the data it can to the application, updates the next expected sequence number, and either sends an acknowledgment immediately or schedules one to be sent after a small delay.
When the protocol stack in the sending host receives the acknowledgment, it checks to see what data has been acknowledged and determines whether the acknowledgment has been repeated. If so, a message was either received out of order or dropped. When a TCP sender detects a dropped message, it resends the message and then enters a slow-start phase, when it tests the network to find a rate at which it can send without dropping data. But in highly loaded networks, global synchronization can cause problems during this slow-start phase (see Figure 2).
Global synchronization allows many network nodes to
simultaneously transmit bursts (a). When traffic gets too heavy,
routers attempt to slow some sessions by dropping messages and
shifting into slow-start mode (b). When the nodes discover the network
is no longer congested, they begin transmitting at full speed,
clogging things up again (c).
|
Since data traffic is bursty, when messages start gett ing dropped this probably means that a temporary burst of data is traversing the network. If so, queues in the switches or routers are likely to be full. Once they start dropping messages, many TCP sessions simultaneously go into slow-start mode immediately. Network traffic slows down dramatically for a short time and then begins anew. The queues become congested again, and all of the sessions once more go into slow start. Because all of the slow starts occur at about the same time, they're synchronized.
One solution would be to tell a single TCP session at a time to slow down and then measure the effect before slowing down the next session. That's exactly what happens with RED. The router queue is divided in two parts: one for normal operation (designed not to drop messages) and one to handle overflows. RED measures the average queue depth. When it's low, the overflow queue operates as a temporary buffer. When the queue depth rises, it begins to drop messages, using an algorithm that increases the pr obability that the current message will be dropped as the time since the last dropped message increases. In consequence, the greater the network congestion, the faster the messages will be dropped. Furthermore, the interdrop interval is long enough to prevent messages from being dropped until the TCP sender has had a chance to detect the loss and go into slow start.
Extending RED to handle real-time traffic is fairly straightforward. Basically, the router simply drops messages at different rates for different flows, depending on their throughput and delay tolerance.
RSVP implements the ISA's admission and quality of service architecture. As its name implies, RSVP reserves network bandwidth and installs queuing policy for inelastic flows. When a station wants to reserve bandwidth for a particular path through the network, it sends a path message to the destination address. Each router along the route to the destination passes the message along. Since the message f ollows the same path that the sender's data will follow, it discovers which routers must be asked to provide the reserved bandwidth. The path message also carries information about the data stream that the sender wishes to transmit over the path. This information includes such things as the rate and size of the transmission burst.
When a receiving station gets the path message, it thus has the information it requires to determine what type of bandwidth and network services it must reserve to get the data. Note that there may be more than one receiving station, if, for instance, the data is part of a point-to-multipoint videoconference. Armed with this information, the receiving station formulates a message called recv, which requests bandwidth from the network. This message gets forwarded to each of the routers along the path from sender to receiver.
A router that gets the request first validates it, determining whether resources are available to provide the bandwidth requested. If not, the ro uter refuses the request. If resources are available, the router installs the queuing policy needed to manage the flow and forwards the request to the next router along the path.
As these reservations are passed upstream to the sender, they're merged, ensuring that the data flow isn't replicated unnecessarily. Since the reservations are merged, the more stringent requirements are satisfied. No receiver will get worse treatment than it requests, but it may get better treatment.
RSVP supports three types of reservations. Fixed-filter reservations establish a reservation on a path from a single source to its receivers. This is appropriate for flows, such as video, that have a separate continuous data stream from each sender. Wild-card and shared explicit reservations are used when senders alternate. One example is audio transmission, which needs bandwidth for only a single person to send at a time; the same bandwidth can be used by successive speakers in a conversation.
The ISA also works with a number of other protocols developed by such standards bodies as the IETF and the ITU-T (International Telecommunication Union--Telecommunication Standardization Sector). The additional specifications define such matters as the transport of H.320 videoconferencing data across an IP network via the ITU-T H.323 and H.225 protocols, as well as an API (application program interface) for applications to request QOS networking via the Winsock II protocol, which includes a socket interface design for ISA.
Although the ISA represents an elegant approach to a difficult problem, some pieces are still missing. In particular, its designers focused on audio and video traffic to the exclusion of other kinds of traffic that also could exploit such an approach.
For example, protocols like SNA and Appletalk might benefit from guaranteed-bandwidth tunnels through a multiprotocol network. It would be useful to define a service that doesn't ask for a specif ic bandwidth or for treatment as real-time traffic but informs a fair queuing network that the particular tunnel is carrying several best-effort traffic flows and should be weighted as such. This approach also could be used to prioritize network flows that are not tunnels but need improved service.
The IETF also is developing a LAN management protocol that will support H.323 videoconferencing over a LAN. The LAN manager basically is a way for RSVP reservations to be set up on a shared-medium LAN, such as Ethernet or FDDI. This is intended to control the amount of traffic with guarantees that's crossing the LAN from all sources. Finally, work is in progress to define a way of authenticating flows, to enable advanced reservations, and to limit who can obtain services from the network.
[ Home ]
[
Registration
|
Subscriptions
]
[
Contact Us
|
E-Mail
]
|
|||||||||||
![]() |
|