Embedded Linux Tutorial 9/11
The embedded Linux applications usually require networking services, actually it is another reason why Linux becomes so popular in embedded systems. During development, in field service, remote update, the network connectivity is also very important to embedded Linux. The networking is also a big topic, we can only list part of these services used in Linux. The developer can read a book from O'Reilly, Linux Network Administrator's Guide for detail.
Internet Super Server
The internet super server is an overall service monitor which listens to all well-known ports. The super server will invoke corresponding network program as soon as it get remote request. This approach reduces the resource requirement for network applications and offers centralized administration for networking. But SNMP agent and HTTP server usually will listen to the ports by themselves.
inetd. It is part of netkit. Now it is replaced by xinted with more features, but inetd is smaller and suitable for embedded systems.
xinetd. It is a secure replacement for inetd. If the embedded systems are planned to operate in unsecured environment, xinetd is a better solution.
SNMP
SNMP (Simple Network Management Protocol) allows administrator to mange the systems remotely. That feature is very important for network appliances. Free SNMP tools available for download including an extensible agent, a trap demon, an SNMP library, and other SNMP applications.
Telnet
Telnet is one of the simplest ways to log on remote computer. The remote computer must run telnet daemon to support telnet protocol.
netkit-telnetd, is part of netkit.
utelnetd, by Robert Schwebel. utelnetd is smaller than telnetd, but it does not support internet super server. utelnetd is a better solution for limited resource applications where do not require any other internet services.
SSH
Compare to Telnet, SSH (The Secure SHell)offers more security by easily deployment of public key based encryption algorithm. The OpenSSH is an open source implementation.
OpenSSH, is part of OpenBSD. It is suitable for cross-compiling for embedded systems.
LSH, open source, not suitable for cross-compiling.
HTTP
Embedded web (HTTP) servers are very popular in embedded systems, since it can offer standard UI and remote administration. Although Apache server is very popular in the world, but it is too big and too complex to being cross compiling. So we have to have to pick up some smaller HTTP servers for the embedded applications.
Boa, currently seems to be the favorite web server (open source and small-footprint)in the embedded crowd, and embedded Linux.
thttpd, thttpd is an open source web server from ACME Laboratories, designed for simplicity, a small execution footprint and speed.
SHTTPD is lightweight, easy to use, embeddable web server.
CGIC
Most of the servers offer script languages for dynamic web page, includes CGI, Perl, Python, JSP, ASP, PHP... But for embedded applications, CGIC is the best solution. It is an ANSI C library for CGI programming by Thomas Boutell.
Lua
"Lua" (pronounced LOO-ah) means "Moon" in Portuguese. Lua is a powerful, fast, light-weight, embeddable scripting language. It works perfectly with shttpd.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
DHCP
Dynamic Host Configuration Protocol, DHCP allows the host to configurate remote embedded targets actively. DHCP is made up of DHCP client and DHCP server.
udhcp, is part of BusyBox project, which support both glibc and uClibc.
- allankliu's blog
- 1227 reads





Post new comment