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.
The protocols used by TCP/IP are shown in the right-hand box in Figure 3.
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.
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.
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.
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.