TCP/IP protocols

TCP/IP is a communication protocol used between physically separated computer systems. TCP/IP can be implemented on a wide variety of physical networks.

TCP/IP is a large family of protocols that is named after its two most important members, Transmission Control Protocol and Internet Protocol. Figure 3 shows the TCP/IP protocols used by CICS® ONC RPC in terms of the layered Open Systems Interconnection (OSI) model. For CICS users, who may be more accustomed to SNA, the left side of Figure 3 shows the SNA layers that correspond very roughly to the OSI layers.

Figure 3. TCP/IP protocols compared to the OSI and SNA models
 This diagram shows the 7 layers of the OSI protocol, : 1: Physical, 2: Data Link,3: Network, 4: Transport, 5: Session, 6: Presentation, 7: Application. These are compared with the SNA layers: Physical, Data Link, Path Control, Transmission, Data Flow, Presentation and Application, and the TCP/IP layers; 1 and 2: subnetwork, 3: IP, 4: TCP or UDP, 5: empty, 6: XDR, 7: RPC.

The protocols used by TCP/IP are shown in the right-hand box in Figure 3.

Internet Protocol (IP)
In terms of the OSI model, IP is a network-layer protocol. It provides a connectionless data transmission service, and supports both TCP and UDP. Data is transmitted link by link; an end-to-end connection is never set up during the call. The unit of data transmission is the datagram.
Transmission Control Protocol (TCP)
In terms of the OSI model, TCP is a transport-layer protocol. It provides a connection-oriented data transmission service between applications, that is, a connection is established before data transmission begins. TCP has more error checking that UDP.
User Datagram Protocol (UDP)
UDP is also a transport-layer protocol and is an alternative to TCP. It provides a connectionless data transmission service between applications. UDP has less error checking than TCP. If UDP users want to be able to respond to errors, the communicating programs must establish their own protocol for error handling. With high-quality transmission networks, UDP errors are of little concern.
ONC RPC and XDR
XDR and ONC RPC correspond to the sixth and seventh OSI layers.
Sockets interface
The interface between the fourth and higher layers is the sockets interface. In some TCP/IP implementations, the sockets interface is the API that customers use to write their higher-level applications.

TCP/IP internet addresses and ports

TCP/IP provides for process-to-process communication, which means that calls need an addressing scheme that specifies both the physical host connection (Host A and Host B in Figure 4) and the software process or application (C, D, E, F, G, and H). The way this is done in TCP/IP is for calls to specify the host by an internet address and the process by a port number. You may find internet addresses also referred to elsewhere as internet protocol (IP) addresses or host IDs.

Figure 4. How applications are addressed
 This diagram shows Host A with Host Address 129.126.178.99, port numbers 21, 23, 4100 and processes C, D and E. It shows Host B with Host address 123.156.189.2 with port numbers 3300, 3301, 3302 and processes F, G, and H.

Internet addresses

Each host on a TCP/IP internet is identified by its internet address. An internet address is 32 bits, but it is usually displayed in dotted decimal notation. Each byte is converted to a decimal number in the range 0 to 255, and the four numbers are separated by dots thus: 129.126.178.99.

Remember that an internet is a collection of networks -- hence the internet address must specify both the network and the individual host. How this is done varies with the size of the network. In the example just given, 129.126 specifies the network, 178.99 specifies the host on that network.

Port numbers (for servers)

An incoming connection request specifies the server that it wants by specifying the server’s port number. For instance, in Figure 4, a call requesting port number 21 on host A is directed to process C.

Well-known ports identify servers that carry standard services such as the File Transfer Protocol (FTP) or Telnet. The same service is always allocated the same port number, so, for example, FTP is always 21 and Telnet always 23. Networks generally reserve port numbers 1 through 255 for well-known ports.

Port numbers (for clients)

Client applications must also identify themselves with port numbers so that server applications can distinguish different connection requests. The method of allocating client port numbers must ensure that the numbers are unique; such port numbers are termed ephemeral port numbers. For example, in Figure 4, process F is shown with port number 3300 on host B allocated.

Related concepts
Interfaces to CICS transactions and programs
The Client/Server concept
Distributed computing
ONC and DCE concepts
EXCI concepts
3270 bridge concepts
[[ Contents Previous Page | Next Page Index ]]