HP-UX HB v13.00 Ch-09 - Networking Basics
HP-UX Handbook – Rev 13.00 Page 6 (of 27)
Chapter 09 Network Basics
October 29, 2013
UDP stands for User Datagram Protocol:
The User Datagram Protocol gives application programs direct access to a datagram delivery
service, e.g. the delivery service that IP provides. This allows applications to exchange
messages over the network with a minimum of protocol overhead.
UDP is an unreliable, connectionless datagram protocol. As noted previously, “unreliable”
merely means there are no techniques in the protocol to verify that the data reached the other
end of the network correctly. Within your computer, UDP will deliver data correctly. UDP
uses 16-bit Source Port and Destination Port numbers in word 1 of the message header, to
deliver data to the correct applications process.
TCP stands for Transmission Control Protocol. This protocol goes through significantly more
expense to safeguard data integrity:
Applications requiring the transport protocol to provide reliable data delivery use TCP
because it verifies that data is delivered across the network accurately and in the proper
sequence. TCP is a reliable, connection-oriented, byte-stream protocol. Let's look at each of
the terms – reliable, connection-oriented, and byte-stream – in more detail.
TCP provides reliability with a mechanism called “Positive Acknowledgment with Re-
transmission” (PAR). A system using PAR sends the data again, unless it “hears” from the
remote system that the data arrived ok. The unit of data exchanged between cooperating TCP
modules is called a segment. Each segment contains a checksum that the recipient uses to
verify that the data is undamaged. If the data segment is received undamaged, the receiver
sends a positive acknowledgment back to the sender. If the data segment is damaged, the
receiver discards it. After an appropriate time-out period, the sending TCP module re-
transmits any segment for which no positive acknowledgment has been received.
The correlation between the transmitted data and the applications is accomplished by using port
numbers. Lots of applications/server programs bind themselves to dedicated ports. If this
correlation is documented in a standard RFC we talk about so-called well-known ports.
HP-UX handles this correlation within the file /etc/services (e.g. telnetd = port 23; ftpd = port 21;
ftp-data= port 20; rpcbind = port 111).
A different concept to make ports known to other programs is the “Remote Procedure Call”
technology. There, a server process will register itself with a central “location broker” process
which listens to a well known port. The clients can ask this location broker to get the required
port information for the other servers. (Examples: SUN-RPC: rpcbind = port 111; DCE-RPC:
rpcd/dced = port 135)