Computer Network 4
Computer Network 4
Computer Network 4
COMPUTER NETWORK
COMPUTER NETWOR
NETWORK PROTOCOLS
Definition : A protocol is a set of rules that govern a communication. Practically, protocols are
softwares that implement a particular service. Protocols can be classified into two sets namely:
communication protocol and routing protocol.
1. COMMUNICATION PROTOCOLS
These are protocols that establish, coordinate and control a communication. A communication can be
any exchange (voice or data) from source to destination. Below is a classification according to the OSI
model.
1.1. Network layer Protocols:
1.1.1. Address Resolution Protocol(ARP)
This is a protocol that maps the IP address of a machine to the Mac address of that machine. This
allows computers to know the Mac address of other computers, from their IP address that they possess.
When a computer wants to initiate communication with another computer, it must first know its Mac
address.
To know the MAC address of remote host on a broadcast domain, a computer wishing to initiate
communication sends out an ARP broadcast message asking, “Who has this IP address?” Because it is
a broadcast, all hosts on the network segment (broadcast domain) receive this packet and process it.
ARP packet contains the IP address of destination host, the sending host wishes to talk to. When a host
receives an ARP packet destined to it, it replies back with its own MAC address. Once the host gets
destination MAC address, it can communicate with remote host using Layer2 protocol. This MAC to
IP mapping is saved into ARP cache(table) of both sending and receiving hosts. Next time, if they
require to communicate, they can directly refer to their respective ARP cache.
1.1.2. Internet Control Message Protocol(ICMP)
ICMP is network diagnostic and error reporting protocol. ICMP belongs to IP protocol suite and uses
IP as carrier protocol. After constructing ICMP packet, it is encapsulated in IP packet. Because IP
itself is a best-effort non-reliable protocol, so is ICMP. Any feedback about network is sent back to the
originating host. If some error in the network occurs, it is reported by means of ICMP. ICMP contains
dozens of diagnostic and error reporting messages. A few are listed below:
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
The transport layer ensures end to end delivery of a message. That is it takes data from a superior
layer, breaks the data into smaller units called segments and numbers each segment , then hands the
segment to the inferior layer for delivery. In order to realize this function, it uses the following
protocols:
1.2.1. Transmission Control Protocol
It belongs to the IP protocol suit and provides reliable communication between two hosts.
1.2.1.1. Characteristics(Features)
- TCP is reliable protocol: Receiver always sends either positive or negative acknowledgement about
the data packet to the sender.
- TCP ensures that the data reaches intended destination in the same order it was sent.
- TCP is connection oriented. TCP requires that connection between two remote points be established
before sending actual data.
- TCP provides error-checking and recovery mechanism.
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
- TCP provides flow control and quality of service.
1.2.1.2. Structure of a TCP header
Destination Port (16-bits): It identifies destination port of the application process on the receiving
device.
- Sequence Number (32-bits): Sequence number of data bytes of a segment in a session.
- Acknowledgement Number (32-bits): When ACK flag is set, this number contains the next
sequence number of the data byte expected and works as acknowledgement of the previous data
received.
- Data Offset (4-bits): This field implies both, the size of TCP header (32-bit words) and the offset of
data in current packet in the whole TCP segment.
- Reserved (3-bits): Reserved for future use and all are set zero by default.
- Flags (1-bit each):
- Windows Size: This field is used for flow control between two stations and indicates the amount of
buffer (in bytes) the receiver has allocated for a segment, i.e. how much data is the receiver expecting.
- Checksum: This field contains the checksum of Header, Data, and Pseudo Headers
- Urgent Pointer: It points to the urgent data byte if URG flag is set to 1.
- Options: It facilitates additional options which are not covered by the regular header. Option field is
always described in 32-bit words. If this field contains data less than 32-bit, padding is used to cover
the remaining bits to reach 32- bit boundary.
1.2.1.3. Connection Establishment( Three way Hand Shake).
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
Client initiates the connection and sends the segment with a Sequence number. Server acknowledges it
back with its own Sequence number plus ACK of client’s segment which is one more than client’s
Sequence number. Client after receiving ACK of its segment sends an acknowledgement of Server’s
response.
- Procedure for Connection Release release.
Either of server and client can send TCP segment with FIN flag set to 1. When the receiving end
responds it back by ACKnowledging FIN, that direction of TCP communication is closed and
connection is released.
1.2.2. User Datagram Protocol.
UDP is the simplest transport layer communication protocol that is connectionless and unreliable. In
UDP, the receiver does not generate an acknowledgement of packet received and the sender does not
wait for any acknowledgement of packet sent.
Where and why do we deploy this unreliable UDP protocol?
We deploy UDP where the acknowledgement packets share significant amount of bandwidth along
with the actual data. For example, in case of video streaming, thousands of packets are forwarded
towards its users. Acknowledging all the packets is troublesome and may contain huge amount of
bandwidth wastage.
1.2.2.1. Characteristics.
- UDP is good protocol for data flowing in one direction.
- UDP is used when acknowledgement of data does not hold any significance.
- UDP is not connection oriented.
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
- UDP does not provide congestion control mechanism.
- UDP does not guarantee ordered delivery of data.
- UDP is suitable protocol for streaming applications such as VoIP, multimedia streaming.
1.2.2.2. Structure of UDP header.
UDP is always encapsulated in the IP protocol, hence is part of the IP protocol suit. Its header is very
simple as shown below:
SMTP is used to transfer electronic mail from one user to another. SMTP uses TCP port number 25
and 587. Client software uses Internet Message Access Protocol (IMAP) or POP protocols to receive
emails.
1.3.3. File Transfer Protocol(FTP).
FTP is used for file transfer over the network. FTP uses TCP/IP for communication and it works on
TCP port 21. FTP works on Client/Server Model where a client requests file from Server and server
sends requested resource back to the client. FTP uses out-of-band controlling i.e. FTP uses TCP port
20 for exchanging controlling information and the actual data is sent over TCP port 21.
1.3.4. Post Office Protocol(POP).
The Post Office Protocol version 3 (POP3) is a simple mail retrieval protocol used by User Agents
(client email software) to retrieve mails from mail server. When a client needs to retrieve mails from
server, it opens a connection with the server on TCP port 110. User can then access his mails and
download them to the local computer.
1.3.5. Hyper Text Transfer Protocol (HTTP).
The Hyper Text Transfer Protocol (HTTP) is the foundation(implementer) of World Wide
Web(www). It works also on Client/server architecture. When a user wantsto access any HTTP page
on the internet, the client machine at user end initiates a TCP connection to server on port 80. When
the server accepts the client request, the client is authorized to access web pages.
2. ROUTING PROTOCOLS.
These are protocols which convey packets from one host to another in a network. Some routing
protocols include:
This version provides routing by prefix and sends subnet mask information in the update of routes.
This is known as Classless routing. Classless routing protocols can allow the subnets of a particular
network to have different subnet mask. This is called Variable Length Subnet mask (VLSM).
2.3.Interior Gateway Routing Protocol(IGRP)
This is a distance vector protocol put in place by cisco. It was deployed to solve routing problems in
large networks that RIP could not solve. It selects the fastest available route based on the bandwidth,
reliability and delay. It can convey packets to more than 15 hops and uses only classfull routing.
2.4. Open Shortest Path First(OSPF).
This is a routing protocol put in place by IETF in 1948. It was developed to manage network routing
problems in large networks that RIP could not solve.
2.5. Intermediate System-to-Intermediate System (ISIS).
Its a routing protocol that takes into consideration even other packets different from IP.
2.6. Enhance Interior Gateway Routing Protocol (EIGRP).
It is an ameliorated version of IGRP that was developed by cisco and offers best performance by
selecting only the most rapid and less traffic route. It is an advanced distance vector protocol which is
sometimes classified as hybrid protocol.
2.7. Border Gateway Protocol (BGP).
It is an example of External Gateway Protocol (EGP) that allows the exchange of routing information
between two different networks and also guarantees internal routing. This is the most updated protocol
used by very large ISP organizations in the internet. BGP4 is the first version to allow CIDR. Routing
is done according to network strategy.
The table below is a summary of protocols, and functions.
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
Protocol Port Number Description
FTP 20 AND 21 File Transfer Protocol is used
to transfer files between an
FTP client workstation and an
FTP server. Port 20 is for data
and port 21 is used for control
signaling between server and
client.
HTTP 80 Hypertext Transfer Protocol is
used to transfer hypertext
information over the Internet.
The most familiar application
use for hypertext information
retrieval is a web browser.
TCP Transmission Control Protocol A reliable connection oriented
protocol used to control the
management of application
level services between
computers.
IP Internet Protocol Identifier of each computer or
communication devices on the
network and internet.
ARP Address Resolution Protocol Enables the packaging of IP
data into Ethernet package
ICMP Internet Control Message Provides management and
Protocol error reporting to help manage
the process of sending data
between computers.
SMTP 25 Simple Mail Transport
Protocol is used to send and
receive mail messages
between mail servers over the
Internet.
POP3 110 Post Office Protocol version 3
is used to retrieve mail from a
mail server by a mail reader
application program.
Telnet 23 Telecommunications Network
protocol is used over local
networks and the Internet to
establish terminal sessions
between a client computer and
a server.
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
PPP Point-To-Point Protocol Data transfer using modem
UDP User Datagram Protocol An unreliable connection less
protocol used to control the
management of application
level services between
computers.
DHCP 67 and 68 Dynamic Host Configuration
Protocol provides the means
for network clients to obtain
an IP address, default gateway
IP address, and Domain Name
System server addresses.
IRC 6697 IRC Internet Relay Chat is
used for group
communications over the
Internet. Groups are referred
to as channels and can also
provide direct client-to-client
chats and file transfers.
DNS 53 Domain Name System server
requests are used to convert a
host name to an IP address so
it may be found on the
Internet.
SNMP 161 Simple Network Management
Protocol is used to manage
and monitor network devices
over the local network and
Internet.
NTP 123 Network Time Protocol is
used to synchronize time on a
network by synchronizing
network devices to a time
standard found on the local
network or over the Internet,
BGP 179 Border Gateway Protocol is
the main routing protocol of
the Internet. It is responsible
for maintaining a table of IP
networks and makes routing
decisions on path networking
policies and rules.
RIP 520 Routing Information Protocol
is routing protocol run on
COMPUTER NETWORK
COMPUTER NETWORK
COMPUTER NETWOR
local network segments to
advertise route gateway
addresses within the local
network.