SKR 5302: Advanced Distributed Computing
SKR 5302: Advanced Distributed Computing © 2025 by Masnida Hussin is licensed under CC BY-SA 4.0
4. Chapter 4: Inter-process Communication
4.7. Network Layering
The TCP and UDP protocols use ports to map incoming data to a particular process running on a computer.
Network
Layering

Layering
Makes it Easier
Application programmer
- Doesn’t need to send IP packets
- Doesn’t need to send Ethernet frames
- Doesn’t need to know how TCP implements reliability
Only need a way to pass the data down
- Socket is the API to access transport layer functions
What Lower Layer Need to Know?
We pass the data down. What else does the lower layer need to know?
How to identify the destination process?
- Where to send the data? (Addressing)
- What process gets the data when it is there? (Multiplexing)
Identify
the Destination
Addressing
- IP address
- hostname (resolve to IP address via DNS)
Multiplexing
- port

Understanding Ports
The TCP and UDP protocols use ports to map incoming data to a particular process running on a computer.

Port is represented by a positive (16-bit) integer value. Some ports have been reserved to support common/well known services:
- ftp 21/tcp
- telnet 23/tcp
- smtp 25/tcp
- login 513/tcp
User level process/services generally use port number value >= 1024.
Ports
A port serves as a message source or destination
- With the Internet protocols, messages are sent to (Internet address, port) pairs
A local port can be bound to no more than one process. Processes may use multiple ports

Usage
of port-numbers
Standard applications use predefined port-numbers
- 21 - ftp
- 23 - telnet
- 80 - http
- 110 - pop3 (email)
- …
Other applications should choose between 1024 and 65535
- 4662 – eMule
- …