This puts me in doubt. Because one can, using the "telnet application" "connect" to a remote host at Port Number 23. But beneath is used of course the TCP Protocol. At the same time, one can connect to a remote host (this remote host is also some sort of a server) at other ports. what is happening here then???
First, before I launch into an explanation, let me recommend the definitive book on this topic, W.Richard Stevens'TCP/IP Illustrated, volume I. Everybody interested in this stuff should have a copy of this, and his "UNIX Network Programming" as well. Now: telnet is interesting. The protocol allows for option negotiation, so that it can do all sorts of neat stuff (window size changes!) but is designed in such a way that a very dumb implementation and a very smart implementation can talk to eachother just fine; furthermore, a very dumb implementation looks just like a plain, ordinary socket with no logic behind it. Therefore, a real telnet server accepts connections from real telnet clients, does some negotiation to see who will echo characters, what terminal type will be used, etc, etc, and then executes a shell and connects the client to it. But you can also use a telnet client to talk to a "dumb" server -- basically, any server that just opens a socket and waits for text commands. The trick is that the telnet server, not the client, initiates the negotiations. If the client doesn't hear any negotiation commands coming from the server, then it just passes keystrokes through, more or less untouched.
The TCP/IP model consists of four layers, termed Application, Transport, Network, and Link. I'm not sure what 'connection protocol' means for you. Connection type (tcp, udp, raw sockets)? In any event, telnet is an Application level tool.
Make visible what, without you, might perhaps never have been seen. - Robert Bresson
posted 16 years ago
Let me tell with an example what I have understood: when one does telnet host-ip port-number does the "telnet application" first connect over a socket to the host at "telnet service port(23)" ? and then be connected by the "telnet server service" to the specified port(i.e. service) or first to the service port identified by port-number, that listens already there?
Originally posted by R�stem e Zal: This puts me in doubt. Because one can, using the "telnet application" "connect" to a remote host at Port Number 23. But beneath is used of course the TCP Protocol. At the same time, one can connect to a remote host (this remote host is also some sort of a server) at other ports. what is happening here then???
Hi R�stem e Zal! one should remember that telnet is an application layer protocol.And TCP is a transport layer protocol. Application layer protocols use transport layer protocols. Another exaple is that HTTP uses TCP/IP. Apart from telnet port, there are a no. of other ports thru which the machine can talk.
posted 16 years ago
Murthy, i know there exists rlogin I remember having used. I was just confused that the name "telnet" both refers to 1-telnet service protocol standard 2-the name of the application that connects to the telnet service(its name could have been maybe txeofdi23_my_application) 3-bypassing the telnet service, one can using the telnet application, connect to another service at the host, which allows some text based communication...(or even binary based, i mean over a concole I can attach files to send to an SMTP server...) But thx to everybody, now it is crystal clear in my mind... By the way, W. Richard Stevens - TCP-IP Illustrated - Vol 1.pdf is great. thx to edonkey