[e2e] How do we deal with mobile networks?
Detlef Bosau
detlef.bosau at web.de
Sun Feb 24 07:08:36 PST 2013
After some recent off list discussions, I think we have some issue here.
First of all: Where is the right place for loss recovery?
Up to now, we discuss mainly two alternatives: End to End and local.
When a packet cannot be successfully transmitted via some mobile link
due to noise, it does neither make sense to repeat it over and over
locally nor does it make sense to repeat it over and over end to end.
Although the latter alternative is worse than the first because /absurd
retransmissions end to end do harm to competing flows./ The same holds
true when we replace retransmissions by some sophisticated FEC scheme,
as it was by Van Jacobson in "A Rant on Queues" in 2006. Despite of all
other difficulties, avoiding local ARQ by adding redundancy, e.g. like
in the TETRYS work by Lochin et al., uses resources which are no longer
available for competing flows.
Now, in his talk, VJ proposes even to avoid local Reed Solomon Coding
and the like and I completely disagree. I think we are in the well
proven tradition of Salzers End to End paper, when we carefully consider
were packet recovery is done best: As locally as possible.
First, there is nothing like "the universal error free FEC", any kind of
FEC will always be chosen adequate to the link. If a FEC scheme is
chosen to strong, the resource consumption is to expensive and the
throughput as seen by upper layers is to small. If a FEC scheme is
chosen to weak, a flow (and hence competing flows as well) will suffer
from lots of retransmissions.
Second, when we want to find FEC schemes appropriate for a channel, we
must a) have information about the noisy channel to find appropriate
schemes and b) react timely. When we think of, e.g., HSDPA where the
coding scheme is adapted every 2 milliseconds, it is obvious that we
cannot timely adapt to a HSDPA link on a End to End basis.
A basic insight, which seems not to be commonly accepted to me, is that
a link's throughput, more precisely: the time needed to successfully
transfer a packet on the link, does not mainly depend on the technology
in use but on the channel's properties. I was a bit confused here by RFC
3819, where the authors write the following:
> 8.5.3. Analysis of Link-Layer Effects on TCP Performance
>
> Consider the following example:
>
> A designer invents a new wireless link layer which, on average, loses
> 1% of IP packets. The link layer supports packets of up to 1040
> bytes, and has a one-way delay of 20 msec.
First, such a link layer inevitably needs some local FEC/ARQ mechanism.
Second: The loss probability does not depend on the link layer but on
the channel. Of course, a link layer may abstract this to upper layers -
to the cost of unbounded transmission times. Particularly for HSDPA, the
typical selection schemes for coding schemes well include "out of range
areas", i.e. when a channel is too bad it is simply not used.
What makes me curious in the context of the aforementioned RFC is that
the authors in the following text use well known TCP formulae, e.g. by
Mathis or Padhye, to do throughput estimations and simply assume that
parameters like "RTT" or "RTO" would be available in the context of
mobile networks.
Or when it comes to the dimensioning of queueing memory, it is assumed
that we had something like a "bottleneck bandwidth" which is the least
throughput along the path. What is the throughput of a mobile wireless
interface? Particularly in the context of packet switching where we
expect packets to be delivered correctly? /Simply spoken: In the general
case, it is unknown./
*What are my conclusions?*
1. As soon as TCP paths include one or more mobile links, TCP RTT
estimators, and hence derived confidence intervals like RTO, do not
really hold.
2. The same holds true for formulae based upon those statistics.
3. Error recovery should be done as locally as possible. In that
particular respect we should change our attitude from hat outlined
in RFC 791 from
> 1.2. Scope
>
> The internet protocol is specifically limited in scope to provide the
> functions necessary to deliver a package of bits (an internet
> datagram) from a source to a destination over an interconnected system
> of networks. There are no mechanisms to augment end-to-end data
> reliability, flow control, sequencing, or other services commonly
> found in host-to-host protocols. The internet protocol can capitalize
> on the services of its supporting networks to provide various types
> and qualities of service.
to an attitude where we request a sufficiently small packet loss
probability, e.g. 1 percent, and request an appropriate signalling
mechanism when this cannot be achieved in order to look for a
possibility to overcome the problem, e.g. by some route change, or
to inform the application layer of the problem to enable appropriate
actions. It may even be appropriate to define some technology
specific maximum transmission time for a packet, hence we have a
certain limit: "SDU transmission time < 0.1 seconds, SDU loss
probility <= 0.01" - and when this cannot be achieved, upper layers
are notified accordingly.
4. TCP is an asynchronous protocol. We should not expect TCP flows to
run "smoothly" with "the same rate" from End to End throughout the
whole path. TCP packets my clump together in parts of the path, they
may be sparsely distributed in others. Hence, we should discuss
whether it does make sense to do congestion control, resource
management and scheduling on a strong End to End basis, as it is
done today, or whether we should discuss possible alternatives.
(This discussion is not only motivated by mobile networks, I could
mention other reasons as well, however in this post I would like to
restrict myself on mobile networks.)
--
------------------------------------------------------------------
Detlef Bosau
Galileistraße 30
70565 Stuttgart Tel.: +49 711 5208031
mobile: +49 172 6819937
skype: detlef.bosau
ICQ: 566129673
detlef.bosau at web.de http://www.detlef-bosau.de
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.postel.org/pipermail/end2end-interest/attachments/20130224/decfec31/attachment.html
More information about the end2end-interest
mailing list