This chapter describes the network interfaces, devices and protocols provided in the ChorusOS 4.0 product. The goal is to help you better understand what is available in the ChorusOS 4.0 product before you begin setting up networking on a ChorusOS system. This chapter does not describe how to set up network components.
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. In other words, it verifies that messages it sends get to their destinations and resends them if necessary. In order 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 whether they arrive or not, making UDP faster and less resource-hungry than TCP. Both TCP and UDP sit atop the lower-lever IP, which is a transport protocol. For details about the ChorusOS implementations of these protocols, see ip(7P), tcp(7P), and udp(7P).
ChorusOS systems also support remote inter-process communication (remote IPC), by allowing you to create an IPC stack
IOM system actor and attach the stack to an
Ethernet device. For details, see ethIpcStackAttach(2K) and IPC(5FEA).
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).
ChorusOS systems provide support for Ethernet, loopback, PPP and SLIP network interfaces.
Network interfaces are lower-level than network protocols, providing the link between network hardware and network protocols. Figure 2-1 illustrates how the ifnet interface does this for Ethernet connections. Figure 2-2 does the same for the ppp and sl interfaces for PPP and SLIP connections, respectively.
The ChorusOS Ethernet interface provides the standard solution for high-speed network connections with other systems.
The Ethernet interface name is built from ifeth concatenated with the unit number, N.
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.
The loopback interface name is built from lo concatenated with a number, N, usually 0 unless for some reason you require more than one loopback interface.
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.
The PPP interface name is built from ppp concatenated with a unit number, N.
A SLIP interface also 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.
The SLIP interface name is built from sl concatenated with a unit number, N.
Network devices are low-level drivers that make it easier for applications and interfaces 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 below requires both a device structure and a special file in order to function.
Refers to either a block or a raw device. All special files used for networking are raw (character) devices.
Has a major number. Major numbers are used by the system to select the corresponding device driver when several devices are configured.
Has a minor number. Minor numbers are not used directly by the system, but by the selected device driver.
By convention, special files are located in the /dev directory. Special files are created, usually during system initialization, using the mknod(1M) command.
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).
The BPF device name is built from bpf concatenated with a unit number, N.
The BPF special file name takes the form /dev/bpfN.
Teletype character devices date from the time when systems actually 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 tty device name is built from tty concatenated with a unit number, N.
The tty special file names takes the form /dev/tty0M, /dev/ptyp0M, or /dev/ttyp0M, where M is 1, 2, 3....