Carl Malamud: Internet Talk Radio, flame of the Internet.
Malamud: This is Geek of the Week, and we’re talking to Stephen Casner, who’s a project leader for multimedia conferencing at USC’s Information Sciences Institute, ISI. Welcome to Geek of the Week, Steve.
Steve Casner: Welcome, Carl.
Malamud: You’re one of the architects of the multicast backbone, and maybe if you could give us a brief introduction to multicasting and then tell us why we need an MBone, a multicast backbone.
Casner: Well, multicasting is the distribution of a traffic source to a number of destinations with replication at branch points in the network rather than having to make the traffic source send a separate copy to each destination, which would require more bandwidth than is usually available. So, the multicast protocol was actually defined a few years ago and hasn’t really been deployed very quickly. It’s taken a while to get people to implement it in end systems and even longer to get it put into router so that we can achieve this multicast, multi-destination delivery. The advent of the IETF multicasts of audio and video has sort of served as the impetus for multicast to be implemented and get deployed.
Malamud: Wo if we don’t have multicasting in the router—so this is a variant of IP that supports multicasting. If we don’t have that, tell us how the multicast backbone overcomes that problem, how it builds multicasting on top of the—
Casner: Ah. Essentially what we’ve done is built a virtual network on top of the physical network, and the links of that virtual network are called tunnels. Because of the notion that the multicast packets are tunneling through a sequence of IP routers—IP unicast routers. The mechanism for doing that tunneling is simply to take the multicast packet and stick it in a unicast IP packet that’s address to the other end of the tunnel, and essentially then we’re using IP as a link layer protocol for the higher-layer multicast transmissions.
The nodes of that network are typically workstations, although there’s now an implementation in one commercial router. The nodes are workstations that receive transmissions either from a local Ethernet or from a link from another router through a tunnel, and then replicate the packets on each of the outgoing tunnels towards the destinations of the tree.
Malamud: Now isn’t all this encapsulation and tunneling inefficient?
Casner: It does cost the length of an IP header. But in fact most of the cost that we experience in this forwarding is the cost of processing a packet, not really so much the number of bytes in the packet. There is an efficiency question in that. audio packets in particular tend to be small so that they represent a small amount of time. And that means that adding on the length of an IP header is more than a trivial addition. Still it’s not so much that it makes this impractical.
Malamud: So the typical application of this MBone has been audio and video.
Casner: Primarily but not exclusively. There’s also still images that are distinct from video in that they’re sent in a means where retransmission is possible to construct a full image if some packets are lost and then produce the whole image once you have a complete set. There has also been some real-time visualization data. The Jason project had an undersea vehicle crawling around and you could run a visualization program getting in real time information according to the tracking of that vehicle and it would draw a picture on a map showing where it was going. It didn’t go very fast because it was under the ocean.
Malamud: So the basic technology is multicasting and then we have applications sitting on top of that like video and audio. When we think of the Internet, we think of a datagram service with no guarantees. How are we able to run an isochronous service like audio over a packet network like the Internet?
Casner: For one thing, the applications…we’re really not generating isochronous service. We’re not really delivering an isochronous service over the network. The transmission of the audio and video depends on using good-quality networks, or networks that are lightly loaded. And in the case where there is congestion then the audio and video are going to be disturbed at this point in the implementation. But rather than assume that the end nodes must get every bit of data at exactly the right time to play it, we’re also making the end applications more adaptable. And in the VAT audio program for example, produced by Lawrence Berkeley laboratory—Van Jacobson—the adaptation algorithm is fairly complex to be able to adjust to the delay variances that are seen and play the packets out still continuously.
Malamud: What are some of the techniques used to adjust for this variance and this delay in the packets?
Casner: Essentially the key is to build up just the right amount of delay so that you accommodate in that buffering delay how much variance you have in arrival times. It’s easy to put in a plenty large delay and then all of the packets that aren’t actually dropped will arrive within that large delay. But taking the simple approach to just making the delay large is not sufficient, because for interactive conversation as you know it’s very important to keep the end-to-end delay as low as possible.
Malamud: Is the delay low enough that we can have a comfortable phone conversation over the Internet?
Casner: Sure. Over reasonable parts of the Internet. Across DARTnet, for example, we have a round-trip delay when you measure with pings that is on the—like, between California and Boston, round trip delays of seventy-five milliseconds or so. And the additional delay that’s added on for reconstitution of audio and video is another like forty milliseconds. So, we may have 100, 150, maybe 200 milliseconds for typical paths across good portions of the network. That is, portions where you’re not seeing a lot of congestion delay.
Malamud: Now, the MBone goes to places where there is congestion delay, where there is highly-loaded links or very low bandwidth. How do we deal with this fact that there is a core of high connectivity and a periphery also wants to participate?
Casner: There’s a couple of methods that are used. I mean, there’s nothing that we can do to reduce the delay if there’s a path that has a lot of congestion and in order to manage that congestion there’s a lot of delay that has to be inserted at the receiver. You have to be able to tolerate that in your conversation. I mean, in fact there are some paths of the MBone that are over satellite links, and so that’s going to put in another 250 just for propagation delay. People have become fairly tolerant of that in learning to speak over satellite telephone links. And since there’s no charge for this I guess maybe that increases their level of tolerance.
Casner: the means to handle the variation in capabilities of end systems is to use different coding rights. For example there are some sites that are connected by links of fairly low bandwidth. And we can use more compression of the audio or video data so that it will fit within the available bandwidth on that link. Sort of bandwidth and delay are somewhat independent, but that is a method to get to places which are sort of disadvantaged.
Malamud: and I believe you use TTLs a way of saying what goes where?
Casner: That’s right. The—
Malamud: Could you explain what a TTL is and that would apply in this particular…
Casner: Okay. TTL is Time To Live, although the way it’s usually used in the Internet and IP at least it really refers more to hops. That is, in normal unicast IP delivery, Time To Live is how many routers you can go through. If the number of routers that you need to go through to reach a destination exceeds the Time To Live then the packet is discarded.
Malamud: And the idea was to prevent routing loops.
Casner: Exactly. In the case of multicast, we don’t need it to prevent routing loops because there are other mechanisms in the multicast routing that accomplish that. It’s used instead as a scoping mechanism, and we can intentionally limit the established thresholds at different points in the network, and the arriving packets must have a TTL greater than that threshold to pass that point. You may want to use these scoping limits for administrative control. That is to define communities, and also for this bandwidth management. It’s really a somewhat limited mechanism, though, to try to use for all of these purposes, and a better method for dealing with the bandwidth constraints is simply to prune traffic that would exceed your capabilities across a link and to allow through only certain channels of traffic which meet the bandwidth constraints.
Malamud: And the channels or defined by TTLs or by some other mechanism?
Casner: The channels are defined by different multicast addresses. So we actually set up different groups of participants and sources that would operate at the lower bandwidth. The pruning mechanism has not been in the…in fact is not widely released in MBone so far, however over the summer it was developed at Xerox PARC and is in beta release now. It will be deployed soon, we expect. It’s been part of the multicast design all along but simply hadn’t been implement.
Malamud: At the November IETF you were running at a TV station. But you also have been working in previous IETFs to reengineer the multicast backbone to make it work well in these situations. Can you tell us a bit about how you choose where your tunnels go and how you engineer an MBone to sit on top of the Internet?
Casner: Well the engineering is a somewhat approximate process. It’s not as exact as engineering in some of the other phases of our business, but basically to try to match the topology of this virtual network to a reasonable subset of the physical network. So, when there is a T1 line, for example, we try to have at most one tunnel cross that T1 line, so there’s at most one copy of the packets being distributed in the multicast tree. On the T3 backbone there’s enough capacity there that we can afford to have more than one, and we may need to in fact because we don’t have enough nodes to avoid—we don’t have nodes at all the possible branching spots so we have to in some cases have multiple tunnels running across a given T3 link. But still it’s a goal to try to put nodes wherever we need to have branch points and to have a single copy go across a link.
Malamud: How big was this multicast backbone at the November ’93 IETF?
Casner: The last check I did was about 640 subnets participating in the multicast backbone.
Malamud: Any idea how many people or computers were actually watching the IETF proceedings?
Casner: I haven’t taken a count yet. I intend to do that at the end of the IETF. The one previous in Amsterdam was 518. And for the first time that exceeded the number of physical attendees, the local attendees, which was 490-something. I don’t know that we will… I don’t know what the relative numbers will be at this meeting. There probably was an extra draw at the Amsterdam meeting because many of the MBone nodes are in the United States, and that meeting was out of the United States for the first time.
Malamud: You run a TV station at the IETF. Tell us a little bit about IETF TV and how it works.
Casner: Oh okay. First I should make a little correction there because the TV station is now primarily run by the local host site, or has been for both the Amsterdam and Houston IETFs, and that to a large extent for Columbus preceding that as well I was largely involved in the first two or three of them and arranging for the video and audio equipment and workstations to actually generate the data and send it.
The process of setting up a multicast from IETF really involves a number of components. Setting up the sort of video production capability, which is perhaps one of the harder parts given that the people who are involved are mostly computer geeks and know about that part and have access to resources for that part but don’t know so much about the audio and video. And coupling in with the audio system of the hotel. So there’s some learning that has to be done by the people who are running it and also getting cooperation from the hotel folks.
But then we have to have workstations that can be wheeled around to the rooms where the broadcast will occur and set up the cameras and everything, hook the audio and video into the workstation—sitting on a cart typically, and have a network connection in that room that heads back off to the Internet. Since the IETF meetings have now grown a fairly substantial terminal room appendage at each location, then there’s usually networking available that we can tap into for the multicast.
Malamud: Are you finding that you had to learn things about TV production in order to do this?
Casner: Well actually in college I did have an opportunity to do a little bit of student-level TV production. We have observed that certain kinds of cameras work better than others, and in fact it’s often the case that the more consumer-oriented cameras work better than fancy professional ones.
Malamud: Why is that?
Casner: Not really sure. It may be that we’ve had just bad luck in the instances where we had the professional cameras. It is a good idea to have cameras which have manual aperture and gain controls so that when you have people moving into and out of the field of the overhead projector for example it doesn’t because the whole image to increase and decrease in brightness, which is a problem for the video coding algorithm.
Malamud: What about audio. Do you mic the rooms yourself, or do you just feed off the hotel audio?
Casner: Generally we just have the hotel audio. THe system that would be put in that room to provide amplification for the local participants is sufficient. We pick up the signal from their microphone, tap it into the computer for transmission, and similarly tap into the signal—bring the signal in to the computer from the remote sites and then couple that into the amplifier which goes to the PA system in the room. It is a problem that we have more stringent requirements for micing the room than is necessary for just helping the local participants. And we do have trouble getting the participants in these working group meetings to be conscientious to go to a microphone, given that usually all we have is one floor stand microphone and a lavalier microphone say for the person leading the talk.
Malamud: Are people able to effectively participate in the meetings from remote locations?
Casner: Yes, they are. And in fact we have a few interesting examples. John Curran was telling me that in one working group meeting at the November IETF there was a key participation from a remote participant who was not able to attend, and they managed to reach consensus because the multicast was there. That was the first one that I’ve heard of which was at that level, but we have had in previous meetings of my working group, the Audio/Video Transport Working Group, we’ve had good interactions where we have a person ask a question, get an answer, get a new question. Genuinely interactive participation.
There’s also at the plenaries usually been one or two questions from the field. So we do have trouble encouraging people out in remote sites to participate. It is somewhat inhibiting to be at the end of a long wire. And that’s a problem. But I believe the potential is there for interactive participation.
Malamud: Is this the model for the next-century IETF meetings in which we don’t get a hotel anymore and we just all sit in front of our computers?
Casner: Certainly that’s a possibility, once we have the necessary infrastructure. You know, it’s always nice to meet with your friends and shake hands. I don’t think it’ll be entirely replaced.
Malamud: Oh yeah, absolutely. I suppose we could all crack a beer at our each location after the—
Casner: Either that or develop the Beer Transfer Protocol.
Malamud: That’s right. [chuckles] You were talking about your work on audio/video transport protocols.
Casner: Right.
Malamud: Currently a lot of the transport work is done over UDP, or TCP, or existing transport protocols. What would a new transport protocol do for us?
Casner: Well, what we’re trying to provide is the sequencing and loss measurement functions which are the task of TCP for reliable communication, say, but in a way that does not use retransmission like TCP does to achieve ultimate reliability. That is, we don’t need all of the bits to get through, it’s more important for them to get through in a timely manner. And if we just use UDP, it doesn’t provide the sequencing mechanisms, it doesn’t provide through sequencing the means to detect losses of packets. So you need some additional pieces. The Real-time Transport Protocol that’s been developed by the Audio/Video Transport Working Group provides some of those functions in a way that we believe will be useful in common to a variety of applications for audio and video and other areas.
Malamud: Steve Casner, if we go on MBone audio or MBone video, it’s essentially a room in which you can walk in and anybody can speak. And that’s a very useful model for people wanting to collaborate and talk to each other. For other functions, let’s say the President of the United States gets on and does an Internet town hall, you need more control. Can you tell us a little bit about some of the efforts going on to add a level of control on top of some of the audio and video conferencing tools that are out there.
Casner: So, part of what you’re talking about is security, say, to ensure that… Well I guess that’s really [crosstalk] a different piece…
Malamud: Well there’s security, there’s group formation, there’s a variety of issues that I know you and your colleague Eve Schooler have been dealing with down at ISI.
Casner: Right. The session control issues address more the needs of private meetings as opposed to the open broadcast—multicast is a better term—of IETF meetings, for example. But there’s another issue that you were driving at. With the President’s town hall, you may need to prevent people from talking back and interfering. And certainly one mechanism that you can use is control at the point where you’re playing out. That’s easy, you can avoid playing back to the President whatever is out there on the network. But there’s a problem of potentially having people interfere with the reception of others of the intended signal [crosstalk] coming from the President.
Malamud: That’s right. So you mute everybody out there, but on the other hand you’re only muting ’em at your site—
Casner: Right.
Malamud: —and if somebody is out there talking, everyone else in the room is hearing them.
Casner: Right. Now, each receiver has the opportunity to mute any sources that they don’t want. There’s the danger that someone could overload your system by throwing data at it so that you wouldn’t have enough processing power left to process the information that you wanted. But that’s really only a particular case of a much more general problem. The same is true that I could pummel your computer with UDP packets having nothing to do with audio and video and prevent you from doing your file transfers, for example. So, I don’t know that we have any specific mechanisms for avoiding that problem, but we do want to work on mechanisms for getting guarantees or assurances of good-quality transmission for the audio and video. That might involve reserving bandwidth, verifying that your packets flow along a path where… Well it may be important in some circumstances that your packets only flow through a network that you have control over, for example, though that’s a more unusual case.
The question of reserving resources for audio and video is an important one, and one… There’s a lot of activity currently underway in IETF and in the research community to define methods to manage resources in the network. The main purpose of it for audio and video is to achieve low-delay transmission, and really to answer the question that you asked earlier about how can we provide this isochronous service through the network.
Malamud: And what are some of the strategies that people are looking at as possible solutions?
Casner: Well I guess all of the strategies will involve having a function in the network nodes to give preference to some packets over others. That’s the basic idea. And so the variation in strategy is how you install in those network nodes the necessary state to tell it how to how to distinguish which packets are which, and to tell it what its policies, what its priorities should be. One method for doing that has been around for some time is the ST protocol with a more rigid, fixed or hard-state mechanism. And a recent development is the RSVP protocol which has a more soft-state and refreshed mechanism.
Malamud: And how’s that work? Tell us a little more about the RSVP protocol.
Casner: In the RSVP protocol, there are path messages that flow from the source along the multicast tree to receivers who have joined that multicast tree. And then reservation messages that flow from the receivers back up along that tree to cause resources to be reserved. The messages flowing back up from the receivers only have to flow so far as to the point where they join into a tree and join into reservations that are already there. That’s the mechanism for allowing this to scale to a large number of receivers in a practical manner.
Malamud: Multicasting has been around for a while, and as you said it’s taken a while to get that technology out there. How far away are we from having multicasting fully deployed in the Internet, or is that even a desirable goal?
Casner: Well I think it’s a desirable goal but it’s somewhat hard to predict how long it will be. There certainly is interest from the routers— Excuse me, the router manufacturers are interested in this problem and are paying attention to it more than they used to.
The reason why it’s taken a long time is there was no good reason to do it. And like many problems it’s a cyclical problem. If it existed there’s a lot of potential applications that would use it, but they can’t use it until it exists. That’s the key of these IETF multicasts. It seems to have provided that kick. People said hey yes, there is something we can multicast for. We can really send audio and video over the Internet if we have multicast, if we do develop the reservation mechanisms and deploy them and see the light and it’s beginning to happen.
Malamud: At Internet Talk Radio we get a lot of phone calls that are really meant for you. And those phone calls basically go, “I’m doing a wonderful thing and I want to broadcast it live over the Internet.” Now obviously “broadcast” is not the right word, and “live” in many of these conferences is probably not the right word either because some are pretty boring. But we’re also beginning to hear about you know, live concerts and live movies and live this. Is the Internet going to be able to handle that level of traffic?
Casner: Clearly the amount of bandwidth in the Internet is much less than is installed in the existing telephone network at large. And the Internet is not prepared to take over the job of providing telephone service to all of the people who use the Internet. But it may well be that Internet technology is the right way to integrate together all of these services at some point in the future. Quite a ways away, I would guess.
Malamud: Is it simply bandwidth that we’re missing?
Casner: Well. We need to build up the infrastructure of services as well, real-time service which, is not there but I think we will do that. Beyond that, then yes it’s a question of bandwidth.
Malamud: Thank you very much. We’ve been talking to Stephen Casner from Information Sciences Institute. And thanks for being a Geek of the Week.
This is Internet Talk Radio, flame of the Internet. You’ve been listening to Geek of the Week. You may copy this program to any medium and change the encoding, but may not alter the data or sell the contents. To purchase an audio cassette of this program, send mail to radio@ora.com.
Support for Geek of the Week comes from Sun Microsystems. Sun, The Network is the Computer. Support for Geek of the Week also comes from O’Reilly & Associates, publishers of the Global Network Navigator, your online hypertext magazine. For more information, send email to info@gnn.com. Network connectivity for the Internet Multicasting Service is provided by MFS DataNet and by UUNET Technologies.
Executive producer for Geek of the Week is Martin Lucas. Production Manager is James Roland. Rick Dunbar and Curtis Generous are the sysadmins. This is Carl Malamud for the Internet Multicasting Service, town crier to the global village.