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

Embedded Web Server for the CR16
National Semiconductor
Jeff Wright
5
scenario.  UDP is used by many networking applications needing only to transmit periodic datagrams
containing requests for service, or answers to these requests.  For example, most DNS requests
issued by browsers use UDP.)
Finally, for those applications whose requirements lay somewhere between these two extremes, a
suitable compromise may be that of writing your own networking software.  What is needed is an
acceptable subset of the standard TCP/IP capabilities - affording the application direct Internet
connectivity, while avoiding the costs associated with most of the high-end solutions.  Make no
mistake; this too comes at a price – and one that many engineers may not wish to countenance.  
The task of writing networking software is by no means trivial (at least with those with nominal
IQ’s, like that of the author’s), and is fraught with numerous crevasses and pitfalls.  The learning
curve for those unfamiliar with the subject can be considerable.  However, it is the author’s opinion
that such investments return significant long-term benefits for the companies and their engineers
whose products are evolving to include networking facilities.  Like any other area of technology, one
cannot consistently and successfully apply it, without having at least some level of expertise in that
area.  While “time-to-market” is certainly an important and even critical consideration, if you wish
to be around in the long run, you’ll need to equip yourself for the journey (i.e. acquire the necessary
knowledge). 
To that end, let us begin with a brief overview of this voluminous subject…
TCP Backgrounder:
The primary purpose of any transport protocol is to provide a “…reliable, securable, logical (i.e.
virtual) connection between pairs of processes”.  As per RFC 1122, TCP is the primary virtual-circuit
transport protocol for the Internet suite.”  By “virtual-circuit”, what is meant is that, although TCP
establishes what appears to be an actual circuit-switched or, physical connection (just like the one
you make when you phone in your pizza order), TCP is actually a packet-switched protocol.  Unlike
the direct point-to-point circuit established between a pair of telephones when placing a call, each
packet in a packet-switched protocol may be routed through different circuits, or paths, in
reaching its destination.  In a packet-switched protocol, every packet contains a source and
destination address.  This enables the dynamic routing of packets.  As circuits become available or
unavailable, the several packets of any single message may be routed through the Internet using
many different paths before reaching their final destination. 
TCP is used by applications requiring a reliable, connection-oriented transport service, such as Web
browsers (HTTP), electronic mail (SMTP/POP), and file transfer programs (FTP).  What does all
that mean?  Well, as per the venerable RFC, providing this Quality of Service (QoS) over an
unreliable network requires facilities in the following areas:
·
Basic Data Transfer:
TCP manages the transfer of data between peers by encapsulating the data into segments,
which are then carried in IP datagrams through the Internet.  TCP attaches a header as shown
in Figure 1 to each segment, carrying parameters necessary for addressing, flow-control, and
other important functions. 
Microcontroller.com White Papers Previous page Top Next page