mid qns

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

IP stands for Internet Protocol and v4 stands for Version Four (IPv4).

IPv4 was the primary version brought into action for production
within the ARPANET in 1983. IP version four addresses are 32-bit
integers which will be expressed in decimal notation. In this article,
we will discuss about IPv4 datagram header.
What is IPv4?
IPv4 is a connectionless protocol used for packet-switched
networks. Internet Protocol Version 4 (IPv4) is the fourth revision of
the Internet Protocol and a widely used protocol in data
communication over different kinds of networks. IPv4 is a
connectionless protocol used in packet-switched layer networks,
such as Ethernet. It provides a logical connection between network
devices by providing identification for each device. There are many
ways to configure IPv4 with all kinds of devices – including manual
and automatic configurations – depending on the network type. IPv4
uses 32-bit addresses for Ethernet communication in five classes: A,
B, C, D and E. Classes A, B, and C have a different bit length for
addressing the network host. Class D addresses are reserved
for multicasting, while class E addresses are reserved for military
purposes. IPv4 uses 32-bit (4-byte) addressing, which gives
232 addresses. IPv4 addresses are written in the dot-decimal
notation, which comprises four octets of the address expressed
individually in decimal and separated by periods, for instance,
192.168.1.5.
Characteristics of IPv4
 IPv4 could be a 32-Bit IP Address.
 IPv4 could be a numeric address, and its bits are separated by a
dot.
 The number of header fields is twelve and the length of the
header field is twenty.
 It has Unicast, broadcast, and multicast style of addresses.
 IPv4 supports VLSM (Virtual Length Subnet Mask).
 IPv4 uses the Post Address Resolution Protocol to map to the MAC
address.
 RIP may be a routing protocol supported by the routed daemon.
 Networks ought to be designed either manually or with DHCP.
 Packet fragmentation permits from routers and causing host.
IPv4 Datagram Header
 VERSION: Version of the IP protocol (4 bits), which is 4 for IPv4
 HLEN: IP header length (4 bits), which is the number of 32 bit
words in the header. The minimum value for this field is 5 and the
maximum is 15.
 Type of service: Low Delay, High Throughput, Reliability (8 bits)
 Total Length: Length of header + Data (16 bits), which has a
minimum value 20 bytes and the maximum is 65,535 bytes.
 Identification: Unique Packet Id for identifying the group of
fragments of a single IP datagram (16 bits)
 Flags: 3 flags of 1 bit each : reserved bit (must be zero), do not
fragment flag, more fragments flag (same order)
 Fragment Offset: Represents the number of Data Bytes ahead of
the particular fragment in the particular Datagram. Specified in
terms of number of 8 bytes, which has the maximum value of
65,528 bytes.
 Time to live: Datagram’s lifetime (8 bits), It prevents the
datagram to loop through the network by restricting the number
of Hops taken by a Packet before delivering to the Destination.
 Protocol: Name of the protocol to which the data is to be passed
(8 bits)
 Header Checksum: 16 bits header checksum for checking errors
in the datagram header
 Source IP address: 32 bits IP address of the sender
 Destination IP address: 32 bits IP address of the receiver
 Option: Optional information such as source route, record route.
Used by the Network administrator to check whether a path is
working or not.

IPv4 Datagram Header


Due to the presence of options, the size of the datagram header can
be of variable length (20 bytes to 60 bytes).

User Datagram Protocol (UDP) is a Transport Layer protocol. UDP is


a part of the Internet Protocol suite, referred to as UDP/IP suite.
Unlike TCP, it is an unreliable and connectionless protocol. So, there
is no need to establish a connection before data transfer. The UDP
helps to establish low-latency and loss-tolerating connections over
the network. The UDP enables process-to-process communication.
What is User Datagram Protocol?
User Datagram Protocol (UDP) is one of the core protocols of the
Internet Protocol (IP) suite. It is a communication protocol used
across the internet for time-sensitive transmissions such as video
playback or DNS lookups . Unlike Transmission Control Protocol
(TCP), UDP is connectionless and does not guarantee delivery, order,
or error checking, making it a lightweight and efficient option for
certain types of data transmission.

UDP Header
UDP header is an 8-byte fixed and simple header, while for TCP it
may vary from 20 bytes to 60 bytes. The first 8 Bytes contain all
necessary header information and the remaining part consists of
data. UDP port number fields are each 16 bits long, therefore the
range for port numbers is defined from 0 to 65535; port number 0 is
reserved. Port numbers help to distinguish different user requests or
processes.

UDP Header

 Source Port: Source Port is a 2 Byte long field used to identify


the port number of the source.
 Destination Port: It is a 2 Byte long field, used to identify the port
of the destined packet.
 Length: Length is the length of UDP including the header and the
data. It is a 16-bits field.
 Checksum: Checksum is 2 Bytes long field. It is the 16-bit one’s
complement of the one’s complement sum of the UDP header,
the pseudo-header of information from the IP header, and the
data, padded with zero octets at the end (if necessary) to make a
multiple of two octets.
Applications of UDP
 Used for simple request-response communication when the size
of data is less and hence there is lesser concern about flow and
error control.
 It is a suitable protocol for multicasting as UDP supports packet
switching.
 UDP is used for some routing update protocols like RIP(Routing
Information Protocol).
 Normally used for real-time applications which can not tolerate
uneven delays between sections of a received message.
 VoIP (Voice over Internet Protocol) services, such as Skype and
WhatsApp, use UDP for real-time voice communication. The delay
in voice communication can be noticeable if packets are delayed
due to congestion control, so UDP is used to ensure fast and
efficient data transmission.
 DNS (Domain Name System) also uses UDP for its query/response
messages. DNS queries are typically small and require a quick
response time, making UDP a suitable protocol for this
application.
 DHCP (Dynamic Host Configuration Protocol) uses UDP to
dynamically assign IP addresses to devices on a network. DHCP
messages are typically small, and the delay caused by packet
loss or retransmission is generally not critical for this application.
 Following implementations uses UDP as a transport layer
protocol:
o NTP (Network Time Protocol)
o DNS (Domain Name Service)
o BOOTP, DHCP.
o NNP (Network News Protocol)
o Quote of the day protocol
o TFTP, RTSP, RIP.
 The application layer can do some of the tasks through UDP-
o Trace Route
o Record Route
o Timestamp
 UDP takes a datagram from Network Layer , attaches its header,
and sends it to the user. So, it works fast.
TCP vs UDP
Transmission Control Protocol User Datagram Protocol
Basis (TCP) (UDP)

UDP is the Datagram-


oriented protocol. This is
TCP is a connection-oriented protocol. because there is no overhead
Connection orientation means that the for opening a connection,
communicating devices should establish maintaining a connection, or
a connection before transmitting data and terminating a connection.
should close the connection after UDP is efficient for
transmitting the data. broadcast and multicast
types of network
Type of Service transmission.
Transmission Control Protocol User Datagram Protocol
Basis (TCP) (UDP)

The delivery of data to the


TCP is reliable as it guarantees the
destination cannot be
delivery of data to the destination router.
Reliability guaranteed in UDP.

TCP provides extensive error-checking


UDP has only the basic
mechanisms. It is because it provides
Error checking error-checking mechanism
flow control and acknowledgment of
using checksums.
mechanism data.

Acknowledgme No acknowledgment
An acknowledgment segment is present.
nt segment.

There is no sequencing of
Sequencing of data is a feature of
data in UDP. If the order is
Transmission Control Protocol (TCP).
required, it has to be
this means that packets arrive in order at
managed by the application
the receiver.
Sequence layer.

UDP is faster, simpler, and


TCP is comparatively slower than UDP.
Speed more efficient than TCP.

There is no retransmission
Retransmission of lost packets is
of lost packets in the User
possible in TCP, but not in UDP.
Retransmission Datagram Protocol (UDP).

TCP has a (20-60) bytes variable length UDP has an 8 bytes fixed-
Header Length header. length header.

Weight TCP is heavy-weight. UDP is lightweight.

Handshaking Uses handshakes such as SYN, ACK, It’s a connectionless


Techniques SYN-ACK protocol i.e. No handshake

Broadcasting TCP doesn’t support Broadcasting. UDP supports Broadcasting.


Transmission Control Protocol User Datagram Protocol
Basis (TCP) (UDP)

UDP is used
TCP is used by HTTP, by DNS, DHCP,
HTTPs , FTP , SMTP and Telnet . TFTP, SNMP , RIP,
Protocols and VoIP.

UDP connection is a
The TCP connection is a byte stream.
Stream Type message stream.

Overhead Low but higher than UDP. Very low.

This protocol is used in


This protocol is primarily utilized in situations where quick
situations when a safe and trustworthy communication is necessary
communication procedure is necessary, but where dependability is
such as in email, on the web surfing, and not a concern, such as VoIP,
in military services. game streaming, video, and
Applications music streaming, etc.

Advantages of UDP
 Speed: UDP is faster than TCP because it does not have the
overhead of establishing a connection and ensuring reliable data
delivery.
 Lower latency: Since there is no connection establishment, there
is lower latency and faster response time.
 Simplicity: UDP has a simpler protocol design than TCP, making it
easier to implement and manage.
 Broadcast support: UDP supports broadcasting to multiple
recipients, making it useful for applications such as video
streaming and online gaming.
 Smaller packet size: UDP uses smaller packet sizes than TCP,
which can reduce network congestion and improve overall
network performance.
 User Datagram Protocol (UDP) is more efficient in terms of both
latency and bandwidth.
Disadvantages of UDP
 No reliability: UDP does not guarantee delivery of packets or
order of delivery, which can lead to missing or duplicate data.
 No congestion control: UDP does not have congestion control,
which means that it can send packets at a rate that can cause
network congestion.
 Vulnerable to attacks: UDP is vulnerable to denial-of-service
attacks , where an attacker can flood a network with UDP
packets, overwhelming the network and causing it to crash.
 Limited use cases: UDP is not suitable for applications that
require reliable data delivery, such as email or file transfers, and
is better suited for applications that can tolerate some data loss,
such as video streaming or online gaming.
 The purpose of using a pseudo-header is to verify that the UDP
packet has reached its correct destination
 The correct destination consist of a specific machine and a
specific protocol port number within that machine

UDP pseudo header

UDP Pseudo Header Details


 The UDP header itself specify only protocol port number.thus , to
verify the destination UDP on the sending machine computes a
checksum that covers the destination IP address as well as the
UDP packet.
 At the ultimate destination, UDP software verifies the checksum
using the destination IP address obtained from the header of the
IP packet that carried the UDP message.
 If the checksum agrees, then it must be true that the packet has
reached the intended destination host as well as the correct
protocol port within that host.
User Interface
A user interface should allow the creation of new receive ports,
receive operations on the receive ports that returns the data octets
and an indication of source port and source address, and an
operation that allows a datagram to be sent, specifying the data,
source and destination ports and address to be sent.
IP Interface
 The UDP module must be able to determine the source and
destination internet address and the protocol field from internet
header
 One possible UDP/IP interface would return the whole internet
datagram including the entire internet header in response to a
receive operation
 Such an interface would also allow the UDP to pass a full internet
datagram complete with header to the IP to send. the IP would
verify certain fields for consistency and compute the internet
header checksum.
 The IP interface allows the UDP module to interact with the
network layer of the protocol stack, which is responsible for
routing and delivering data across the network.
 The IP interface provides a mechanism for the UDP module to
communicate with other hosts on the network by providing
access to the underlying IP protocol.
 The IP interface can be used by the UDP module to send and
receive data packets over the network, with the help of IP routing
and addressing mechanisms.

File Transfer Protocol:-


FTP is a standard communication protocol. There are various other
protocols like HTTP which are used to transfer files between
computers, but they lack clarity and focus as compared to FTP.
Moreover, the systems involved in connection are heterogeneous,
i.e. they differ in operating systems, directories, structures,
character sets, etc the FTP shields the user from these differences
and transfers data efficiently and reliably. FTP can transfer ASCII,
EBCDIC, or image files. The ASCII is the default file share format, in
this, each character is encoded by NVT ASCII. In ASCII or EBCDIC the
destination must be ready to accept files in this mode. The image
file format is the default format for transforming binary files.
The File Transfer Protocol (FTP) is widely used in the application
layer of networking. It works at the application layer, ensuring that
files are sent and received securely.

Types of FTP
There are different ways through which a server and a client
do a file transfer using FTP. Some of them are mentioned
below:
 Anonymous FTP: Anonymous FTP is enabled on some sites
whose files are available for public access. A user can access
these files without having any username or password. Instead,
the username is set to anonymous, and the password is to the
guest by default. Here, user access is very limited. For example,
the user can be allowed to copy the files but not to navigate
through directories.
 Password Protected FTP: This type of FTP is similar to the
previous one, but the change in it is the use of username and
password.
 FTP Secure (FTPS): It is also called as FTP Secure Sockets Layer
(FTP SSL). It is a more secure version of FTP data transfer.
Whenever FTP connection is established, Transport Layer Security
(TLS) is enabled.
 FTP over Explicit SSL/TLS (FTPES): FTPES helps by upgrading
FTP Connection from port 21 to an encrypted connection.
 Secure FTP (SFTP): SFTP is not a FTP Protocol, but it is a subset
of Secure Shell Protocol, as it works on port 22.
What is FTP Useful:-
FTP is especially useful for:
 Transferring Large Files: FTP can transfer large files in one
shot; thus applicable when hosting websites, backing up servers,
or sharing files in large quantities.
 Remote File Management: Files on a remote server can be
uploaded, downloaded, deleted, renamed, and copied according
to the users’ choices.
 Automating File Transfers: FTP is a great protocol for the
execution of file transfers on predefined scripts and
employments.
 Accessing Public Files: Anonymous FTP means that everybody
irrespective of the identity is allowed to download some files with
no permissions needed.
How to Use FTP:-
To use FTP, follow these steps:
 Connect to the FTP Server: One can connect to the server
using the address, username and password through an FTP client
or a command line interface. Anonymous Information may not
need a username and password.
 Navigate Directories: Some commands include ls that is used
to list directories and cd that is used to change directories.
 Transfer Files: File transfer may be done by using the
commands such as get for downloading files, and put for
uploading files.
 Manage Files: Make operations like deletion (Delete), renaming
(Rename) as well as copying (Copy) of files.
 Close the Connection: Once file transfer has been
accomplished, terminate the connection by giving the bye or quit
command.
How Does FTP Work:-
FTP is a client server protocol that has two communication channel,
command channel for conversation control and data channel for file
content.
Here are steps mentioned in which FTP works:
 A user has to log in to FTP Server first, there may be some
servers where you can access to content without login, known as
anonymous FTP.
 Client can start a conversation with server, upon requesting to
download a file.
 The user can start different functions like upload, delete, rename,
copy files, etc. on server.

Types of Connection in FTP


 Control Connection
 Data Connection
Control Connection
For sending control information like user identification, password,
commands to change the remote directory, commands to retrieve
and store files, etc., FTP makes use of a control connection. The
control connection is initiated on port number 21.
Data connection
For sending the actual file, FTP makes use of a data connection. A
data connection is initiated on port number 20.
FTP sends the control information out-of-band as it uses a separate
control connection. Some protocols send their request and response
header lines and the data in the same TCP connection. For this
reason, they are said to send their control information in-band. HTTP
and SMTP are such examples.

FTP Session
When an FTP session is started between a client and a server, the
client initiates a control TCP connection with the server side. The
client sends control information over this. When the server receives
this, it initiates a data connection to the client side. But the control
connection remains active throughout the user session. As we know
HTTP is stateless . But FTP needs to maintain a state about its user
throughout the session.
FTP Clients
FTP works on a client-server model. The FTP client is a program that
runs on the user’s computer to enable the user to talk to and get
files from remote computers. It is a set of commands that
establishes the connection between two hosts, helps to transfer the
files, and then closes the connection.
Some of the commands are:
get the filename(retrieve the file from the server)
get the filename(retrieve multiple files from the server )
ls(list files available in the current directory of the server)
There are also built-in FTP programs, which makes it easier to
transfer files and it does not require remembering the commands.
FTP Data Types
The data type of a file, which determines how the file is represented
overall, is the first piece of information that can be provided about
it. The FTP standard specifies the following four categories of data:
 ASCII: Describes an ASCII text file in which each line is indicated
by the previously mentioned type of end-of-line marker.
 EBCDIC: For files that use IBM’s EBCDIC character set, this type
is conceptually identical to ASCII.
 Image: This is the “black box” mode I described earlier; the file
has no formal internal structure and is transferred one byte at a
time without any processing.
 Local: Files containing data in logical bytes with a bit count other
than eight can be handled by this data type.
FTP Replies
Some of the FTP replies are:
 200 – Command okay.
 530 – Not logged in.
 331 – User name okay, need a password.
 221 – Service closing control connection.
 551 – Requested action aborted: page type unknown.
 502 – Command not implemented.
 503 – Bad sequence of commands.
 504 – Command not implemented for that parameter.
Characteristics of FTP
 FTP uses TCP as a transport layer protocol.
 It is good for simple file transfers, such as during boot time.
 Errors in the transmission (lost packets, checksum errors) must
be handled by the TFTP server.
 It uses only one connection through well-known port 69.
 TFTP uses a simple lock-step protocol (each data packet needs to
be acknowledged). Thus the throughput is limited.
FTP’s Security Issues
 Information could not go across a secure tunnel since FTP was not
intended to do so. Thus, encryption is not present. A hacker
would not need to struggle with encryption to access or alter data
that is usable if they could intercept an FTP transaction.
 Even with FTP cloud storage, data can still be intercepted and
misused if the service provider’s system is attacked.
 As a result, data sent via FTP is a target for spoofing, sniffing,
brute force, and other types of attacks that move somewhat
slowly. A hacker might examine an FTP transmission and try to
take advantage of any flaws by simply port scanning.
 The fact that FTP uses clear-text passwords—passwords that
haven’t been encrypted—is one of its main security flaws. Put
differently, “Jerry1992” appears exactly like “Jerry1992.” The real
password is hidden via an algorithm in more secure protocols. As
a result, “Jerry1992” might appear as
“dj18387saksng8937d9d8d7s6a8d89.” Passwords like this are not
secured by FTP, which makes them more easily cracked by
malicious actors.
What is an FTP Port?
FTP operates using two ports:
 Port 21: As mentioned earlier this is where the commands are
issued.
 Port 20: This is the special port required for data connection
where the real transfer of file is made.
How to Change FTP Port Numbers
To change the default FTP port numbers, follow these steps:
 Access Server Configuration: Connect the control panel of
your FTP server well as the FTP server configuration file used.
 Modify the Port Number: Find out the possible port settings
from the configuration file. Alter the control port, default port is
21 and that of the data is 20.
 Restart the FTP Service: Finally once you have saved your
changes you need to stop and restart the FTP service so that the
new port settings can be implemented.
 Update Client Settings: Make certain that all the FTP clients
that connect with the server are notified of the new port
numbers.
Advantages of FTP
 File sharing also comes in the category of advantages of FTP in
this between two machines files can be shared on the network.
 Speed is one of the main benefits of FTP.
 Since we don’t have to finish every operation to obtain the entire
file, it is more efficient.
 Using the username and password, we must log in to the FTP
server. As a result, FTP might be considered more secure.
 We can move the files back and forth via FTP. Let’s say you are
the firm manager and you provide information to every
employee, and they all reply on the same server.
Disadvantages of FTP
 File size limit is the drawback of FTP only 2 GB size files can be
transferred.
 More then one receivers are not supported by FTP.
 FTP does not encrypt the data this is one of the biggest
drawbacks of FTP.
 FTP is unsecured we use login IDs and passwords making it
secure but they can be attacked by hackers.

Difference Between FTP and SFTP


It stands for File Transfer Protocol. It stands for Secure File Transfer Protocol.

In FTP, secure channel is not provided to In SFTP, a secure channel is provided to


transfer the files between the hosts. transfer the files between the hosts.

It usually runs on port no-21. It usually runs on port no-22.

It does not encrypt the data before sending It encrypted data before sending.

It makes uploading and downloading of files It maintains full security of the data by
without any security. using SSH keys.

You might also like