Navigation bar
  Start Previous page  7 of 35  Next page End Home  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  

Embedded Web Server for the CR16
National Semiconductor
Jeff Wright
In a typical host (all systems using TCP/IP attached to the Internet - except routers), multiple
resident applications (e.g. a Web browser, and an e-mail client) may simultaneously utilize TCP’s
services.  Within each host, each application is assigned a port number, thereafter used by TCP
as a “handle” to identify the application.  Using this port number, TCP is able to determine which
segment goes to which application.
Not to be confused with the physical, point-to-point connection mentioned earlier, TCP is a
connection-oriented protocol.  That is, in order to achieve the reliability and implement the
flow-control mechanism mentioned above, a transport protocol must establish, manage, and
maintain a connection between the two peers exchanging data.  Contrast this with TCP’s sister
protocol UDP, which is a connectionless transport protocol.  Also referred to as simply a
datagram service, UDP does not establish, manage, or maintain a connection between itself and
its peer (the other UDP).  Rather, UDP simply transmits and receives datagrams, leaving any
error control to the overlying application.  
A connection is defined as a pair of sockets, plus the sequence numbers, window sizes, etc.,
maintained by both TCP’s involved in the communications.  A socket is defined as the
concatenation of the application’s port number with its host’s IP address.
Precedence and Security:
TCP includes features that allow applications to optionally indicate certain levels of security and
precedence for their communications.  Default precedence and security values are used unless
otherwise explicitly indicated (which is most of the time).
TCP and Window Management
Though initially perhaps somewhat confusing, TCP’s use of “the Window”, and just how this
Window is able to slide is one of TCP’s fundamental concepts.  Essentially, TCP’s Window is a
means of flow control, somewhat analogous to the XON/XOFF mechanism used in asynchronous
serial links.  However, TCP’s Window augments this basic flow control mechanism by including
means to help maximize the efficiency of the communication channel.  (In a TCP context,
efficiency is understood as, maximal data flow between peers with minimal use of network
bandwidth.  That is, the exchange of data in such a manner that utilizes the least amount of
network traffic.)  
As illustrated in Figure 1 above, every TCP segment sent out over a network includes a dynamic
Window field in its header, whose purpose is to inform the other TCP just how much data it is
currently prepared to accept.  At first glance, this may seem a little redundant since during the
“SYNchronization” process each TCP explicitly or implicitly advertises a Maximum Segment Size
TCP’s Maximum Segment Size (MSS):
The MSS is the most common TCP option and may only be issued during the “SYN”, or,
connection process.  As its name implies, the MSS option informs the other TCP of the White Papers Previous page Top Next page