different types of distributed embedded system are rapidly emerging the Internet-enabled
embedded system and Internet appliances. The Internet
is not well suited to the real-time tasks that are the bread and butter of
embedded computing, but it does provide a rich environment for non–real-time
interaction. In this section we will discuss the Internet and how it can be
used by embedded computing systems.
The Internet Protocol (IP) [Los97, Sta97A]
is the fundamental protocol on the Internet. It provides
connectionless, packet-based communication. Industrial automation has long been
a good application area for Internet-based embedded systems.
appliances that use the Internet are rapidly becoming another use of IP in
embedded computing. Internet protocol is not defined over a particular physical
implementation it is an internetworking standard. Internet
packets are assumed to be carried by some other network, such as an Ethernet. In
general, an Internet packet will travel over several different networks from
source to destination.
allows data to flow seamlessly through these networks from one end user to
another. The relationship between IP and individual networks is illustrated in
Figure 4.6. IP works at the network layer.
A wants to send data to node B, the application’s data pass through several
layers of the protocol stack to send to the IP. IP creates packets for routing
to the destination, which are then sent to the data link and physical
layers. A node that transmits data among different types of networks is known
as a router.
router’s functionality must go up to the IP layer, but since it is not running
applications, it does not need to go to higher levels of the OSI model.
general, a packet may go through several routers to get to its destination. At
the destination, the IP layer provides data to the transport layer and
ultimately the receiving application.
data pass through several layers of the protocol stack, the IP packet data are
encapsulated in packet formats appropriate to each layer.
format of an IP packet is shown in Figure 4.7. The header and data payload are
both of variable length. The maximum total length of the header and data payload
is 65,535 bytes.
Internet address is a number (32 bits in early versions of IP, 128 bits in
IPv6). The IP address is typically written in the form xxx.xx.xx.xx. The names
by which users and applications typically refer to Internet nodes, such as
foo.baz.com, are translated into IP addresses via calls to a Domain
Name Server, one of the higher-level services built on top of IP.
that IP works at the network layer tells us that it does not guarantee that a
packet is delivered to its destination. Furthermore, packets that do arrive may
come out of order. This is referred to as best-effort routing.
routes for data may change quickly with subsequent packets being routed along
very different paths with different delays, real-time performance of IP can be
hard to predict.
Control Protocol (TCP) is one such example. It provides a connection
oriented service that ensures that data arrive in the appropriate order, and it
uses an acknowledgment protocol to ensure that packets arrive. Because many
higher-level services are built on top of TCP, the basic protocol is often
referred to as TCP/IP.
4.8 shows the relationships between IP and higher-level Internet services.
Using IP as the foundation, TCP is used to provide File Transport Protocol
for batch file transfers, Hypertext Transport Protocol (HTTP) for
Worldwide Web service, Simple Mail Transfer Protocol for email,
and Telnet for virtual terminals.
A separate transport protocol, User Datagram Protocol, is used as the basis for the network management services provided by the Simple Network Management Protocol.
Internet provides a standard way for an embedded system to act in concert with
other devices and with users, such as:
One of the earliest Internet-enabled embedded
systems was the laser printer. High-end laser printers often use IP to receive
print jobs from host machines.
Portable Internet devices can display Web pages,
read email, and synchronize calendar information with remote computers.
A home control system allows the homeowner to
remotely monitor and control home cameras, lights, and so on.
Although there are higher-level services that provide more
time-sensitive delivery mechanisms for the Internet, the basic incarnation of
the Internet is not well suited to hard real-time operations. However, IP is a
very good way to let the embedded system talk to other systems.
provides a way for both special-purpose and standard programs (such as Web
browsers) to talk to the embedded system. This non–real-time interaction can be
used to monitor the system, set its configuration, and interact with it.