gtpc3m2a | Concepts and Structures |
TCP/IP supports an interconnection of computer networks that provides universal communication services. The TPF system provides:
TCP/IP offload support is an offload implementation based on the TCP/IP offload device. Socket applications in the TPF system communicate through the TCP/IP offload device to applications in remote TCP/IP devices.
The socket application programming interface (API) consists of standard ISO-C socket function calls. With TCP/IP offload support, when a TPF socket application issues a socket function call, the call is sent to the TCP/IP offload device using the Common Link Access to Workstation (CLAW) protocol. The TCP/IP offload device then communicates with the remote node using TCP/IP. The TCP/IP offload device uses the CLAW protocol to pass the socket API return code back to the TPF system, which then presents the return code to the socket application that issued the socket function call.
With TCP/IP native stack support, the stack is incorporated in the TPF system itself. This support enables the TPF system to directly connect to IP router boxes in addition to continuing to support offload devices.
See TPF Transmission Control Protocol/Internet Protocol for more information about TCP/IP support.
The Internet daemon is a socket application that creates and monitors sockets with remote nodes on the Internet and then starts Internet server applications that process the specific communications protocol used with the remote nodes. Once a connection is made, the Internet server application communicates with the remote node on the Internet directly.
Internet server applications are also socket applications. For example, a Trivial File Transfer Protocol (TFTP) server, a File Transfer Protocol (FTP) server, and a Hypertext Transfer Protocol (HTTP) server are socket applications.
Figure 61 shows the relationship of the Internet daemon and Internet server applications.
The Internet daemon is a long-running process that consists of two major components:
There are process models that define the interface to the Internet daemon based on the level of control needed by an Internet server application. There are subtle differences in the functions used by the Internet daemon, which relate to the level of control that results.
The WAIT, NOWAIT, or DAEMON process model provides synchronous control because the tpf_fork function is used to create a child process for which the TPF system sends a SIGCHLD signal to the parent process when the child process ends. The DAEMON process model differs from the WAIT and NOWAIT process models in that the Internet daemon does not create or monitor sockets.
The AOR process model provides asynchronous control because the activate_on_receipt or activate_on_receipt_with_length function is used. When a remote client connects, the Internet daemon issues an activate_on_receipt or activate_on_receipt_with_length function to pass control of the new socket to your TCP server application when the first message is received from the remote client.
The NOLISTEN and RPC process models do not provide any control; the swisc_create function is used to create an independent ECB.
The syslog daemon is a server process that is started by the Internet daemon and receives messages on well-known port 514 as shown in Figure 61. Internet server applications and components use the syslog daemon for logging purposes and can also send trace information to the syslog daemon. Messages can be logged to files or to tape. See TPF Transmission Control Protocol/Internet Protocol for more information about the syslog daemon.
An FTP server is a socket application that is called by the Internet daemon when a message is received on well-known port 21. The FTP server is started by the Internet daemon and subsequently communicates with the remote node directly as shown in Figure 61.
A TFTP server is a socket application that is called by the Internet daemon when a message is received on well-known port 69. The TFTP server is started by the Internet daemon and subsequently communicates with the remote node directly as shown in Figure 61.
An HTTP server is a TCP/IP application that is called by the Internet daemon when a message is received on well-known port 80. The HTTP server is started by the Internet daemon and subsequently communicates with the remote node directly as shown in Figure 61.
Figure 61. Socket Application Overview. HTTP, FTP, TFTP, and syslog daemon servers communicate over well-known ports.