ChorusOS 5.0 Features and Architecture Overview

Network Protocols

The ChorusOS operating system provides TCP/IP and UDP/IP stacks (POSIX-SOCKETS), both over IPv4 and IPv6.

IPv4 and IPv6 can be present and used simultaneously.

IPv4

IPv4 provides the host capabilities as defined by the Internet Engineering Task Force (IETF). The following IPv4 protocols are supported:

IPv4 RFC 

Description 

RFC 1122 

Requirements for Internet Hosts, Communication Layers 

RFC 1123 

Requirements for Internet Hosts, Application and Support 

RFC 791 

Internet Protocol 

RFC 792 

Internet Control Message Protocol 

RFC 768 

User Datagram Protocol 

RFC 793 

Transmission Control Protocol  

RFC 2236 

Internet Group Multicast Protocol 

RFC 950 

Internet Standard Subnetting Procedure 

RFC 1058 

Routing Information Protocol 

RFC 1112 

Host Extensions for IP Multicast

RFC 854 

Telnet Protocol Specification 

RFC 855 

Telnet Option Specification 

RFC 959 

File Transfer Protocol 

RFC 783 

TFTP Protocol

RFC 1350 

The TFTP Protocol (Revision 2)

RFC 1034 

Domain Names - Concepts and Facilities 

RFC 1035 

Domain Names - Implementation and Specification 

RFC 1055 

Transmission of IP over Serial Lines

RFC 826 

Address Resolution Protocol 

RFC 903 

A Reverse Address Resolution Protocol  

RFC 1661 

Point-to-Point Protocol 

RFC 1570 

PPP LCP Extensions

RFC 2131 

Dynamic Host Configuration Protocol  

RFC 951 

Bootstrap Protocol 

RFC 1497 

BOOTP Vendor Information Extensions

RFC 1532 

Clarifications and Extensions for the Bootstrap Protocol  

RFC 1577 

Classical IP and ARP over ATM

RFC 2453 

RIP Version 2

IPv6

The following IPv6 RFCs are supported:

IPv6 RFC 

Description 

RFC 1981 

Path MTU Discovery for IPv6

RFC 2292 

Advanced Sockets API for IPv6  

RFC 2373 

IPv6 Addressing Architecture: supports node required addresses, and conforms to the scope requirement. 

RFC 2374 

An IPv6 Aggregatable Global Unicast Address Format supports 64-bit length of Interface ID 

RFC 2375 

IPv6 Multicast Address Assignments Userland applications use the well known addresses assigned in the RFC 

RFC 2460 

IPv6 specification 

RFC 2461 

Neighbor discovery for IPv6 

RFC 2462 

IPv6 Stateless Address Autoconfiguration 

RFC 2463 

ICMPv6 for IPv6 specification 

RFC 2464 

Transmission of IPv6 Packets over Ethernet Networks 

RFC 2553 

Basic Socket Interface Extensions for IPv6. IPv4 mapped address and special behavior of IPv6 wild card bind socket are supported 

RFC 2675 

IPv6 Jumbograms 

RFC 2710 

Multicast Listener Discovery for IPv6 

The following utilities are available with IPv6 functionality:

Command 

Description 

ifconfig

Assign address to network interface and configure interface parameters 

netstat

Symbolically displays contents of various network-related data structures 

ndp

Symbolically displays the contents of the Neighbor Discovery cache 

route

Manually manipulate the network routing tables 

ping6

Elicit an ICMP6_ECHO_REPLY from a host or gateway

rtsol

Send only one Router Solicitation message to the specified interface and exit 

rtsold

Send ICMPv6 Router Solicitation messages to the specified interfaces 

gifconfig

Configures the physical address for the generic IP tunnel interface

ftp

Transfer files to and from a remote network site 

tftp

Transfer files to and from a remote machine 

For a full description of the implementation of IPv6 in the ChorusOS operating system, see "IPv6 and the ChorusOS System" in ChorusOS 5.0 System Administrator's Guide.

Point-to-Point Protocol (PPP)

The PPP feature allows serial lines to be used as network interfaces using the Point-to-Point Protocol. This feature needs to be configured for the ChorusOS operating system to fully support the various PPP-related commands provided by the ChorusOS system. These PPP-related commands are listed below:

pppstart:

Enables client PPP connections

pppstop:

Disables PPP services on the system by killing the pppstart daemon

pppclose:

Requests that the pppstart daemon close a previously opened PPP line

pppd:

Starts a PPP line

These services are complemented by chat(), which defines a conversational exchange between the computer and the modem. Its primary purpose is to establish the connection between the Point-to-Point Protocol daemon (pppd) and a remote pppd process.

The PPP feature does not export any APIs itself. It simply adds support of the PPP ifnet to the system.

For details, see the PPP(5FEA) man page.

Network Time Protocol (NTP)

The Network Time Protocol is implemented in the ChorusOS operating system as a set of daemons and commands whose purpose is to synchronize dates for different ChorusOS operating systems.

The NTP feature does not provide any specific API and relies on the following utilities and daemons:

ntpd:

Client/server daemon. The server feature provides a reference clock available to all systems on the network. The client feature is used to compute a clock according to other sources and keep the system clock synchronized with it.

ntptrace:

Determines where a given NTP server gets its time, and follows the chain of NTP servers back to their master time source.

ntpq:

The Network Time Protocol Query Program dynamically gets or sets the ntpd configuration.

ntpdate:

Sets the local date from the one provided by a remote NTP server

NTP services rely on the adjtime() system call.


Note -

The ChorusOS operating system supports the client side of the NTP protocol (RFC 1305).


Berkley Packet Filtering (BPF)

The BPF feature provides a raw interface to data link layers in a protocol independent fashion. All packets on the network, even those destined for other hosts, are accessible through this mechanism. It must be configured when using the Dynamic Host Configuration Protocol (DHCP) client (dhclient(1M)).

For details, see the BPF(5FEA) man page.

DHCP

The ChorusOS operating system supports DHCP as a client and as a server. The ChorusOS boot framework has also been enhanced so that it can use the DHCP protocol to retrieve the system image and boot it on the local node, provided there is a correctly configured DHCP server on the network. The client side of DHCP is provided by the ChorusOS dhclient(1M) utility.

NFS

The ChorusOS operating system supports both NFSv2 and NFSv3, from client and server points of view. This is described in "Network File System (NFS)".

NFS works over TCP or UDP on IPv4.

IOM_IPC

The IOM_IPC feature provides support for the ethIpcStackAttach(2K) system call and the corresponding built-in C_INIT(1M) command, ethIpcStackAttach. If the feature is not configured, the ethIpcStackAttach(2K) system call of the built-in C_INIT command will display an error message.

If the IOM_IPC feature is set to true, an IPC stack is included in the IOM system actor. The IPC stack may be attached to an Ethernet interface.

For details, see the IOM_IPC(5FEA) man page.

IOM_OSI

The IOM_OSI feature provides support for the ethOSIStackAttach(2K) system call.

If the IOM_OSI feature is set to true, an OSI stack is included in the IOM system actor. The OSI stack may be attached to an Ethernet interface.

For details, see the IOM_OSI(5FEA) man page.

POSIX_SOCKETS

The POSIX_SOCKETS feature is explained in "POSIX Sockets (POSIX_SOCKETS)".