4.2k views

Which of the following is/are example(s) of stateful application layer protocol?

1. HTTP
2. FTP
3. TCP
4. POP3
1. $(i)$ and $(ii)$ only
2. $(ii)$ and $(iii)$ only
3. $(ii)$ and $(iv)$ only
4. $(iv)$ only
edited | 4.2k views
+1

Stateless protocol is a communications protocol in which no information is retained by either sender or receiver.(Note:The remembered information is called as the state)

HTTP(Stateless | Application Layer | Uses TCP (80)) - No information is maintained. If in some case state maintenance is required then cookies are used. Now HTTPS is HTTP over a secure connection So it is also stateless.

FTP (Stateful | Application Layer | Uses TCP (20 and 21)) server that conducts an interactive session with the user. During the session, a user is provided a means to be authenticated and set various variables (working directory, transfer mode), all stored on the server as part of the user's state.

TCP (Stateful / Transport Layer) various information related to connection is maintained.

BGP (Stateful / Application Layer / Uses TCP )  Finite state Automata is used to describe the state.

POP3 (Stateful / Application Layer / Uses TCP(110))

In General if some authorization is required then stateful design is used.

Refer ->

edited
+6

A POP3 server listens on well-known port 110

+2

Stateful is also used when a protocol has to

• Maintain logs(FTP maintains log of the users)
• Remember some sort of information about the user(IMAP remembers which folder currently we are looking at: Reference)

HTTP - stateless

FTP - stateful

TCP - not application layer protocol

POP3 - Stateful

And according to options answer would be C)

edited
0
POP3 stateless across session
0
why ftp is stateful
+2
FTP is stateful . FTP  that keep track of current directory and currently logged in user.
0
0
is RIP network layer/ application layer protocol?
0
RIP is application layer protocol
Option-C

Because of we know that HTTP is not stateful protocol is stateless protocol.

Whereas FTP is stateful protocol of application layer bcz it remember all the log file corresponding of client.

TCP is also stateful but but it is not application layer protocol .So this option will be wrong.

Whereas POP3 is stateful protocol of application layer.that's why Option -C is correct option.

Above answers are well explained on Statefulness and Statelessness of any protocol., just to add few more points.

Despite of the fact that if protocol is Stateless, we need to include additional information in every request (many a times repeated data) and this extra information will be needed to be interpreted by the server , which is the very drawback of Stateless protocols, Stateless protocols have been worldwide used as the protocol for the Web (http or https)  because of following advantages.

Stateless protocols are preferred-

1. Better Scalability and high Availability, as the state itself doesn't need to be stored on server so they ease replication concerns and no dynamic storage needed ex. HTTP ,which would be difficult otherwise, to implement. Even on connection loss, simply request-resend will resolve the problem.Request can be sent to any node at any time
2. Also they are cacheable  (EX. UDP, HTTP, IP etc)

On the other side, Stateful protocols are heavy to implement and Scalability is difficult. Ex. TCP, POP3, IMAP, FTP, SMTP etc.

Though nowadays many web applications (where protocol is HTTP) have started keeping logs of users. So we can say they (stateless protocols) virtually look like Stateful, which can be done by either Implementing cookies or by extending the URLs (state sent as URL part)..

Concluding for above question, Application layer stateful protocols are FTP & POP3. so (C)

1
2