Vous êtes sur la page 1sur 26

Sub-Topic : Functions of Ports & Sockets

1
Recap

In the previous topic , you have learnt about

Features of TCP/IP

2
Objectives

On completion of this topic, you will be able to know about

Purpose of Ports and Sockets

Define Ports and port numbers

Define sockets and socket numbers

Functions of ports and sockets

Explain the functions of Ports and Sockets

3
Ports and Sockets
A Client machine is capable of browsing multiple web
pages originated from different web servers
simultaneously
Ports and Sockets help to identify the process running on
the host machine uniquely
Every process is identified by a 16-bit port number
Socket is the program that is associated with every
process
When a web page is opened, automatically a socket
program is initialized to receive/send packets to the
process
A port number is also created to identify the process
uniquely
4
Ports and Sockets

The socket program at source communicate with the


socket program at the destination machine with the
associated source port/destination port numbers

When a web page is terminated automatically, the socket


programs will be terminated and the associated port
numbers are released back

5
Why need Ports & Sockets ?
Client machines run multiple processes while browsing
multiple web pages at the same time
Example : Computer A communicate Computer C
using TELNET
Computer A communicate Computer B
using FTP
To communicate over TCP, the source process and
destination process establish a connection to one another

Every TCP connection can be uniquely identified by its two


endpoints

6
Why need Ports & Sockets ? Contd
Data transfer from source to destination host needs IP
Address and Physical Addresses of Connection End
Points

Ports and Sockets are Connection End Points

Each process binds a socket to its end of the connection

The source and destination each reads from and writes to


the socket bound to the connection

TCP multiplexes multiple connections to a single Internet


host using Ports and Sockets

7
What is a Port ?
One of the circuit connection points on a front end
processor or local intelligent controller

The TCP and UDP protocols use ports to map incoming


data to a particular process running on a computer

P
TCP SRC
o
Dest.
r Host
Host t

8
Ports
Process 1 Process 2 Process 3 Process 4

Port Port Port Port


TCP or UDP

Data

Port# Data Packet


At the transport layer, an address is needed to choose
among multiple processes running on the destination host
called Port Number
Destination Port Number for delivery
Source Port Number for reply

9
Port Number
Port is represented by a positive (16-bit ) integer value
between 0 and 65,535

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

10
Port Number

IANA ( Internet Assigned Number Authority ) has divided


Port Numbers in to three ranges

Well Known Ports

Ranges from 0 to 1023

Assigned and controlled by IANA

11
Port Number

Registered Ports

Ranges from 1024 to 49,151

Not assigned and controlled, but registered by


IANA

Dynamic Ports

Ranges from 49,152 to 65,535

Nether registered nor controlled by IANA

Used by any process temporarily


12
What is a Socket ?
A Socket is one endpoint of a two-way communication
link between two processes running on the network

A socket is bound to a port number so that the TCP layer


can identify the application that data is destined to be sent

TCP connection can be uniquely identified by its two


endpoints, multiple connections are possible between
host and the server

Sockets provide an interface for programming networks at


the transport layer

13
Socket Address

Process to Process delivery of data needs two identifiers,


IP Address and Port Number at each endpoint

Socket Address combination of IP address and a Port


number

Example
I P Address 200.23.56.8 69 <-- Port Number

Socket Address 200.23.56.8 69

14
Socket Address Contd
Transport Layer Protocol needs a pair of Socket
addresses
Client Socket Address
Uniquely defines the Client Process
Server Socket Address
Uniquely defines Server Process

Both Socket Addresses contain IP Header and


Transport Layer Protocol Header
IP Header contains IP Addresses
TCP & UDP Header contains the Port Numbers

15
Socket Communication
A server (program) runs on a specific computer and has a
socket that is bound to a specific port. The server waits and
listens to the socket for a client to make a connection
request

The client makes a connection request knowing the


hostname and port Number on which the server is
listening. The client binds to its local port number that it will
use during this connection

FIG .1

16
Socket Communication Contd.
It needs a new socket so that it can continue to listen to the
original socket for connection requests while tending to the
needs of the connected client

If connection is established, the server gets a new socket


bound to the same local port and also has its remote
endpoint set to the address and port of the client

FIG .2

17
Socket Communication contd.

If the connection is accepted by the Client, a socket is


successfully created and the client can use the socket to
communicate with the server

The client and server can now communicate by using their


sockets

18
Types of Sockets
Active Socket
Connected to a remote active socket via an open data
connection
Closing the connection, destroys the active sockets at
each point
Passive Socket
Connected, but awaits an incoming connection, which
will spawn a new active socket
Each port contains
Single Passive Socket - awaiting incoming connections
Multiple Active Sockets - each corresponds to an open
connection on the port
19
Summary
In this topic , you have learnt about

Every TCP connection can be uniquely identified by its two


endpoints

TCP multiplexes multiple connections to a single Internet


host using Ports and Socket

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


between 0 and 65,535

20
Summary

A Socket is one endpoint of a two-way communication


link between two processes running on the network

Sockets provide an interface for programming networks at


the transport layer

Socket Address is the combination of IP address and


Port number

Network devices communicate with each other by


establishing a connection and their sockets bound to the
local ports

21
Quiz

1. Transport layer protocols use ____ to map


incoming data to a process

A. Ports

B. Sockets

C. Packets

D. All of the above

22
Quiz
2. A Port Number ranges from ____________

A. 1024 to 65536

B. 0 to 65535

C. 0 to 1024

D. 4096 to 65535

23
Quiz

3. Socket Number is a combination of ________

A. Segment Number, Port Number

B. IP Address, Port Number

C. Net ID, IP Address

D. All of the above24

24
Quiz
4. Sockets provide an interface for programming
networks at the ____________ layer

A. Application

B. Network

C. Physical

D. Transport

25
Frequently Asked Questions

1. What is the need of ports and sockets ?


2. What is a Port and Port Number ?
3. List the various ranges of port numbers and their purpose
4. What is a socket and socket number ?
5. What are the functions of ports and sockets ?
6. List the types of sockets
7. Explain how client and server communicate ?

26

Vous aimerez peut-être aussi