2.1   Introduction

This chapter introduces the configuration and use of the standard VxWorks network stack, the details of which are given in subsequent chapters.

2.1.1   The Data Link Layer

Chapter 3. Data Link Layer Network Components is a discussion of the data link layer, its general configuration needs, and network drivers. These drivers handle the specifics of communicating over networking hardware, such as an Ethernet board, a serial line, or even the shared-memory backplane. These drivers are the foundation of the network stack. For information on booting VxWorks using these drivers, see chapter 13. Booting over the Network.

2.1.2   The MUX, TCP/IP, and Associated Protocols

After the chapter on the data link layer, chapter 4. TCP/IP Under VxWorks introduces the MUX and the TCP/IP protocol suite. Under VxWorks, TCP/IP uses the MUX interface to communicate with the data link layer. The purpose of the MUX is to decouple the data link and network layers. This makes it easier to add new network drivers under an existing protocol. It also makes it easier for an alternative protocol to run over the standard VxWorks data link layer. For more information on the MUX, see the Network Protocol Toolkit User's Guide.

The discussion of IP, TCP, and UDP is primarily an overview that prepares you for a discussion of their configuration needs under VxWorks. However, this chapter does describe ARP and Proxy ARP in some detail. ARP provides dynamic mapping from an IP address to the corresponding media address. Using ARP, VxWorks implements a proxy ARP scheme that can make distinct networks appear as one logical network. This proxy ARP scheme is an alternative to the use of explicit subnets for accessing the shared-memory network.

2.1.3   Network Configuration Protocols

The next group of protocols discussed, in chapter 5. Network Configuration Protocols, are the network configuration protocols:

The networking stack can use either DHCP or BOOTP to set up and maintain its network configuration information. At boot time, both DHCP and BOOTP can provide IP addresses and related information. BOOTP assigns IP addresses permanently. The DHCP protocol extends BOOTP to allow the assignment of IP addresses on a temporary basis. Thus, the client receives an IP address on lease. When the lease expires, the client must renegotiate the lease. As a result, DHCP remains active during run-time.

Although SNMP can provide network configuration information, it differs significantly from BOOTP and DHCP in that it was not designed for use at boot time. Instead, you use it to set up network management station (NMS) from which you can remotely configure, monitor, and control network devices called agents. Thus, SNMP is a network configuration protocol, but in a very different sense of the term.

Beyond providing a few paragraphs of description, this manual does not discuss SNMP. For detailed information on using SNMP with VxWorks, see WindNet SNMP VxWorks Optional Product Supplement.

2.1.4   Routing Applications

Chapter 6. Dynamic Routing Protocols discusses the routing applications:

RIP maintains routing information within small inter-networks. The RIP server provided with VxWorks is based on the 4.4 BSD routed program. The VxWorks RIP server supports three modes of operation: Version 1 RIP, Version 2 RIP with multicasting, and Version 2 RIP with broadcasting.

Like RIP, OSPF updates the information in the routing tables. However, OSPF is more complex than RIP. This complexity enhances functionality. Thus, an OSPF router can handle inter-networks that are too large for RIP. Unfortunately, this complexity also makes OSPF much harder to configure.

2.1.5   Networking APIs

Chapter 7. Networking APIs discusses the VxWorks implementation of sockets. Using sockets, applications can communicate across a backplane, within a single CPU, across an Ethernet, or across any connected combination of networks. Socket communications can occur between any combination of VxWorks tasks and host system processes. VxWorks supports a standard BSD socket interface to TCP and UDP. Using these standard BSD sockets, you can:

In addition to the standard BSD socket interface, VxWorks also supports zbuf sockets, an alternative set of socket calls based on a data abstraction called the zbuf (the zero-copy buffer). Using zbuf sockets, you share data buffers (or portions of data buffers) between separate software modules. Although this interface is WRS-specific, the interface can communicate with standard BSD sockets. Thus, the other end of the socket connection can use the standard BSD interface even if you chose to use the zbuf interface on the VxWorks side of the connection.

2.1.6   DNS, Domain Name System

DNS is a distributed database that most TCP/IP applications can use to translate host names to IP addresses and back. DNS uses a client/server architecture. The client side is known as the resolver. The server side is called the name server. VxWorks provides the resolver functionality in resolvLib. DNS is discussed briefly in chapter 8. DNS: Domain Name System. For detailed information on DNS, see RFC-1034 and RFC-1035.

2.1.7   SNTP, Simple Network Time Protocol

Using an SNTP client, a target can maintain the accuracy of its internal clock based on time values reported by one or more remote sources. Using an SNTP server, the target can provide time information to other systems. SNTP is discussed briefly in chapter 9. SNTP: A Time Protocol.

2.1.8   Remote Access Applications

Chapters 10. RPC: Remote Procedure Calls, 11. File Access Applications, and 12. rlogin and telnet: Host Access Applications discuss the applications that provide remote access over the network. VxWorks supports the following: