From: Rosalia F Tungaraza (rltungar@cs.washington.edu)
Date: Wed Oct 06 2004 - 00:42:57 PDT
The authors describe the design and philosophy of the TCP
protocol, which unlike other protocols at the time enabled different
networks to send packets of data (of any size) between them.
In general, this protocol relies on gateways to
relay those packets from one network to the other. Each gateway on the
other hand, has the ability to re-size any packet so as to fit the
requirements of the succeeding network.
On the process level, the TCP protocol dictates the flow of packets
through multiplexing them to internetwork processes (via gateways) and
demultiplexing them to processes in the network. For example, when
demultiplexing, the protocol reassembles all the packets that were sent as
one message to a given process. Then decodes the process header section of
that packet, determines which process was addressed and delivers the
packet to it.
Additional features of this protocol include its ability to retransmit a
packet if the initial wasn't delivered (i.e. it didn't receive an
acknowledgment for it), and drop a packet(s) if it was received in the
wrong order.
The authors succeeded in breaking down the components of the TCP protocol
in such a way that a third party seeking to implement it (in their own
flavor) would easily identify the needed functionality. In other words, it
is general enough that it doesn't restrict anybody to one particular
implementation.
One limitation to the TCP protocol is that it has the potential to be
speed constraining. By this I mean, if a process needs packets to be sent
to it in specific time interval across various networks, the design of
this protocol may cause a delay (mainly due to the time needed to re-size
packets when passing through various gateways, decode the different
headers, e.t.c.). Eventually, this could also minimize a network's overall
performance. A possible solution would be to supplement this protocol with
other protocols such as UDP (a strategy employed by contemporary
networks).
For future work, this paper provides a blueprint of the TCP protocol upon
which various implementations could be created and tested to examine how
good they are in terms of their performances, reliability, and
user-ability. Since to this date there are many implementations of this
protocol, it would be an interesting study to see how variations in the
implementations affect user-ability. In other words, how different ISPs
optimized this protocol to make ends meet.
This archive was generated by hypermail 2.1.6 : Wed Oct 06 2004 - 00:42:57 PDT