On 26 Jul 2006, in the Usenet newsgroup comp.os.linux.networking, in article
<(E-Mail Removed). com>, sandeep wrote:
>Vincent van Beveren wrote:
>> sandeep wrote:
>>> What is best protocol which gives more speed then TCP for low bandwidth
>>> networks
>>> Example: for internet though GPRS ( 3 to 50 kbps)
This sounds like a question from a clueless boss who has no concept of
technical reality. It also has virtually nothing to do with Linux, but
I see you already multiposted the same question to comp.protocols.tcp-ip.
>> You can't use 'internet' without TCP/IP. UDP is faster, but it has no
>> error recover and ordering mechanism, but there is no such thing as
>> 'internet' over UDP.
Well, that's not _entirely_ true, but from a practical standpoint it is.
See
http://www.iana.org/assignments/protocol-numbers It's _highly_
unlikely, but you could find Appletalk, Novell IPX, Xerox XNS or even
Banyan Vines inside an IP packet - not that anyone would be likely to
know WTF it is, or what to do with the packet other than send back an
ICMP Type 3 Code 2 (_if_you're_lucky_) while they dump it on the ground.
>I want reliable data Transmission also so if I use UDP more
>retransmission of lost data so I think it will not give much faster for
>low speed networks.
Depends on how crappy the link is. IP _itself_ is unreliable by
definition.
>Is there any protocol which gives reliable then UDP and fast data
>transmission then TCP .
The only way you are going to speed up transmission is to reduce the
amount of stuff you are transmitting. If you are going to transmit
a jpeg of your favorite what-ever, it's already compressed, so the _data_
can't be reduced any further. That leaves the headers - 40 bytes minimum
(64 max) for IP and the same for TCP. And you must remember than any
scheme you come up with to reduce the headers size is ONLY going to work
between endpoints you control - because the rest of the world won't know
what your shortened packet is (and will therefore discard it).
So, have a look at RFC0791 and RFC0793, and see what you think you can
do without from those headers.
0791 Internet Protocol. J. Postel. September 1981. (Format: TXT=97779
bytes) (Obsoletes RFC0760) (Updated by RFC1349) (Also STD0005)
(Status: STANDARD)
0793 Transmission Control Protocol. J. Postel. September 1981.
(Format: TXT=172710 bytes) (Updated by RFC3168) (Also STD0007)
(Status: STANDARD)
In theory, you might consider Van Jacobson header compression
1144 Compressing TCP/IP headers for low-speed serial links. V.
Jacobson. February 1990. (Format: TXT=120959, PS=534729, PDF=255616
bytes) (Status: PROPOSED STANDARD)
but that only works over individual links (not end-to-end), and even if it
compressed everything in the headers down to a single byte, that will only
reduce a 1460 byte data packet (1500 bytes less IP and TCP headers) down
to 1461 bytes - a saving of 19 bytes (about 2.5 percent). That reduction
also only occurs on _established_ connections. You can't use VJ until the
connection is fully up.
You might want to ask the boss why he thinks you can fit six cubic meters
of stuff into a sack measuring 0.5 x 0.5 x 0.5 meters. Someone has a
_severe_ lack of concept.
Old guy