Re: draft-rosenberg-midcom-turn-07
"Toshihiro Sonoda" <[email protected]> Fri, 4 Mar 2005 00:55:11 +0900
| Newsgroups | gmane.ietf.midcom |
|---|---|
| Message-ID | <032301c52009$61fad470$e101a8c0@FM307599003> |
>I think that I found two problems while implementing TURN: > > The first problem is that the design creates some inefficiencies in the > packet processing. Let say E is the endpoint, T the TURN server and R1 > and R2 two remote destinations that will exchange packets with E through > the TURN server. First E want to send a packet to R1 so it wraps the > packet in a TURN Send packet, sends it to T, that forwards the original > packet to R1. > At this time, R1 becomes the default destination, and E can directly > sends the next packets to T, that will forward them to R1. If R1 sends > back a packet to T, the packet will be forwarded back to E. Now let say > that E want to send a packet to R2. As R2 is not the default > destination, E needs to wrap the packet in a Send request, and send it > to T for forwarding to R2. The problem here is that if E want to send > packets to R1, it will have to wrap again the packet in a Send request > to change the default back to R1. In the worst case if E wants to send > packets alternatively to R1 and R2, a Send wrapper must be used for each > packet, which can be inefficient - a Send wrapper adds 80 bytes to the > size of the packet, and needs more CPU and memory to be processed. A > simple modification to the TURN protocol would be to add a parameter to > explicitly ask the TURN server to change the default destination - or to > use a different request, e.g. SendWithDefault. Why do you allocate 2 address on TURN server using TURN Allocate Request? You can use one for speaking with R1, and another with R2.