ChorusOS 5.0 System Administrator's Guide

Chapter 9 Network Components

This chapter describes network interfaces, devices and protocols in the ChorusOS product. The goal is to improve your understanding of what is available in the ChorusOS operating system before you begin setting up networking on a ChorusOS system. This chapter does not describe how to set up network components.

Supported Protocols

Network protocols define how messages are formatted and packaged for transmission over the network. They provide support for sockets, which are endpoints for communication, described in socket(2POSIX).

ChorusOS systems provide support for the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) over the Internet Protocol (IP). TCP is a high-level, reliable, connection-oriented protocol. It verifies that messages it sends get to their destinations and re-sends them if necessary. To do so, TCP relies on connections between the sender and the receiver. In contrast, UDP is also high-level, but is unreliable. It sends messages without verifying if they arrive, making UDP faster and lighter on system rescources than TCP. Both TCP and UDP sit atop the lower-level IP, the transport protocol for the Internet. This version of the ChorusOS operating system supports IPv6 and IPv4. Both UDP and TCP are supported over both versions of IP. For details about the ChorusOS implementations of these protocols, see ip(7P), ip6(7P), tcp(7P), and udp(7P). See also inet6(7P) and icmp6(7P). This guide provides information on IPv6. See "IPv6 and the ChorusOS System".

The Network Time Protocol, (NTP), is also supported. See ntpd(1M) and "Network Time Protocol (NTP)" for more information.

ChorusOS systems also support remote inter-process communication (remote IPC), by allowing you to create an IPC stack in the C_OS system actor and attach the stack to an Ethernet device. For details, see ethIpcStackAttach(2K) and IPC(5FEA). A chapter on Configuring IPC is provided with this guide. See Chapter 14, Configuring IPC.

Finally, ChorusOS systems provide a mechanism to support Open Systems Interconnect (OSI), by allowing you to attach an OSI stack that you provide to an Ethernet device. For details, see ethOsiStackAttach(2K).

Supported Interfaces

ChorusOS systems provide support for Ethernet, loopback and PPP network interfaces.

Network interfaces are lower-level than network protocols, providing the link between network hardware and network protocols. Figure 9-1 illustrates how the ifnet interface does this for Ethernet connections. Figure 9-2 does the same for the ppp interfaces for PPP connections. (Note that BPF here is Berkeley Packet Filter, and is explained in "Supported Devices".

Figure 9-1 Ethernet Networking

Graphic

The following list describes the network interfaces provided:

ifethN

The ChorusOS Ethernet interface provides the standard solution for high-speed network connections with other systems.

loN

The loopback interface allows a system to communicate with itself through IP without sending packets over the network. It is a software-only interface and does not depend on network transport hardware.

pppN

A PPP interface allows the ChorusOS system to connect to another system using a direct serial line or modem connection in the same way as an Ethernet connection.

gifN

A gif interface allows tunneling IP in IP.

Figure 9-2 PPP Networking

Graphic

Supported Devices

Network devices are low-level software drivers that make it easier for applications to work closely with network hardware.

ChorusOS systems provide two important types of network devices, Berkeley Packet Filters (BPF) and Teletype (tty, ptyp, ttyp) devices. Each network device described here requires both a device structure and a special file in order to function.

Special files provide access either to peripheral devices, such as serial lines, or to logical "devices", such as Berkeley Packet Filters. Each special file:

By convention, special files are located in the /dev directory. Special files are created, usually during system initialization, using the mknod(1M) command. See also "Naming Conventions for Special Files".

The following list enumerates and describes the network devices provided:

bpfN

A Berkeley Packet Filter is a special character device that allows applications to access all network packets directly, independently of network protocols. It is used in ChorusOS systems by networking utilities such as dhclient(1M) and rarp(1M) and tcpdump(1M).

The BPF device name is built from bpf concatenated with a unit number, N. So to make a BPF device:


$ mkdev bpfN

The BPF special file name takes the form /dev/bpfN.

ttyN

Teletype character devices date from the time when systems wrote output on teletypewriters. ChorusOS systems use tty character devices for serial line communications. The two pseudo-tty devices, ptyp (master) and ttyp (slave), are used by PPP interfaces to detect when IP traffic occurs in order to configure tty devices for dial-up on demand. The pseudo tty are also used by rlogin to manage a remote terminal over a socket link. There may be many pseudo tty and only a very small number of serial tty.

The tty device name is built from tty concatenated with a unit number, N.

To make a tty device:


$ mkdev ttyN

The tty special file names take the form /dev/tty0M, /dev/ptyp0M, or /dev/ttyp0M, where M is 1, 2, 3....