Telnetがプロトコルと見なされるのはなぜですか?これは単純なTCPトランスポート/エコープログラムではありませんか?

Telnetがプロトコルと見なされるのはなぜですか?これは単純なTCPトランスポート/エコープログラムではありませんか?

これは概念的な質問に近いです。説明が少し必要です。


今日、私はソケットプログラミングを学び、簡単なチャットサーバーとチャットクライアントを書いています。Beejのネットワークプログラミングガイド。 (チャットサーバーはクライアントメッセージを受信し、他のすべてのクライアントにメッセージを送信します)

コピーしました。 チャットサーバー自分で書いたチャットクライアント

チャットクライアントは、stdinサーバーに入力を送信し、サーバーからソケットデータを印刷するプログラムです。

telnetその後、サーバーへの接続にのみ使用できるというガイドが見つかりました。試してみましたが、うまくいきました。


私はTelnetに最初に触れ、それが実際に何であるか長い間知りませんでした。

今私の経験のために混乱しました。

Telnetは単純なTCPトランスポート/エコープログラムではありませんか?何がそれをそう特別にするか。規約もの?私の愚かなチャットクライアントプログラムは[application]プロトコルを生成しません。

ウィキペディアで規約:

通信では、通信プロトコルはシステムです。ルール 2つ以上のオブジェクトがあらゆる種類の物理量の変化を介して情報を送信できるようにする通信システム。

Telnetはどのようなルールを生成しますか?telnet host port、生の入力/出力のためにTCPストリームソケットを開きますか?これはルールではありません。

ベストアンサー1

Telnet は以下で定義されます。RFC 854。プロトコルを含むすべてをプロトコルにすることは、一連の規則/制約です。ルールの1つは、TelnetがTCPを介して実行され、ポート23が割り当てられることです。これは些細なようですが、どこかに指定する必要があります。

必要なものを送信することはできません。一部には制限と特別な意味があります。たとえば、「ネットワーク仮想端末」を定義します。これは、Telnetが設定されると、プリンタ、白黒モニタ、ANSIコードをサポートするカラーモニタなど、さまざまな端末が存在する可能性があるためです。

また、次のようなものもあります。

要約すると、すべての当事者は、オプションXXX、DO XXX、およびDON'Tの実行を開始したい(提案)を示すためにWILL XXXを送信し、オプションXXX、WILL XXX、およびWON'T XXXの要求(要求)の実行を開始します。します。肯定的で否定的な確認。 NVTはオプションが有効になっていない場合は残っているため、DON'T応答とWON'T応答は両方の端で処理可能な状態で接続を維持することが保証されます。したがって、すべてのホストは、サポートされていないオプションをまったく認識せず、不明なオプション要求に対して拒否(つまり拒否)を返すようにTELNETプロシージャを実装できます。

現代では、これらのものの大部分はもはや重要ではありません(再び、プロトコルとしてのTelnetはセキュリティが不足しているため、もはや広く使用されていません)。したがって、実際には送信/エコーに帰結します。実際に端末と対話しなければならない場合でなければです。

おすすめ記事