自學 Linux 20—Linux 應用層網絡服務程序簡介—TELNET 協議和服務

TELNET 協議和服務

  TELNET 協議是最早出現的遠程登錄協議之一,使用 TELNET 協議可以在本機上登錄到遠程的計算機上進行一些操作。這在服務器管理中經常使用,可以方便地通過網絡對服務器的資源進行訪問和控制。

1. 遠程登錄的基本概念

  分時操作系統允許多個用戶同時使用一臺計算機。爲了保證系統的安全和記賬方便,系統要求每個用戶有單獨的賬號作爲登錄標識,系統還爲每個用戶指定了一個口令。用戶在使用該系統之前要輸入標識和口令,這個過程被稱爲 “ 登錄 ”。

  遠程登錄是指用戶使用 telnet 命令,使自己的計算機暫時成爲遠程主機的一個仿真終端的過程

2. 使用 TELNET 協議進行遠程登錄的工作過程

  使用 TELNET 協議進行遠程登錄時需要滿足以下條件:首先在本地主機上必須裝有包含 TELNET 協議的客戶程序,還必須知道遠程主機的 IP 地址或者域名,要能正常登錄必須知道登錄的用戶名和口令。TELNET 遠程登錄服務分爲以下 4 個過程:

  (1) 本地主機與遠程主機建立連接。這個建立過程實際上是建立一個 TCP 連接,用戶必須知道遠程主機的 IP 地址或域名。
  (2) 將本地終端上輸入的用戶名和口令,以及以後輸入的任何命令或字符以 NVT(Net Virtual Terminal) 格式傳送到遠程主機。該過程實際上是從本地主機向遠程主機發送一個 IP 數據報。
  (3) 將遠程主機輸出的數據轉化爲本地所接受的格式送回本地終端,包括輸入命令回顯和命令執行結果。
  (4) 最後,本地主機撤銷與遠程主機進行的連接,這個過程是撤銷一個 TCP 連接。

3. TELNET 協議

  TELNET 協議服務器軟件是最常用的遠程登錄服務器軟件,它是一種典型的客戶端 / 服務器模型的服務,使用 TELNET 協議來工作。

1. 基本內容

  TELNET 協議是 TCP/IP 協議族中的一種,是 Internet 遠程登錄服務的標準協議。使用 TELNET 協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端。它提供了 3 種基本服務。

  █ TELNET 定義一個網絡虛擬終端爲遠地系統提供一個標準接口。客戶端程序不必詳細瞭解遠地系統,只需構造使用標準接口的程序。
  █ TELNET 包括一個允許客戶端和服務器協商選項的機制,而且它還提供一組標準選項。
  █ TELNET 對稱處理連接的兩端,即 TELNET 不強迫客戶端從鍵盤輸入,也不強迫客戶端在屏幕上顯示輸出。

2. 異構網絡適應

  爲了使得多種操作系統間的 TELNET 交互操作能夠正常進行,TELNET 協議定義了一些統一的網絡傳輸格式和命令。

  例如,某些操作系統中需要每行文本用 ASCII 回車控制符(CR)結束,另一些系統則需要使用 ASCII 換行符(LF)作爲一行的結束標誌,還有一些系統需要用兩個字符的序列 回車換行(CRLF)作爲結束標記。

  大多數操作系統提供了一箇中斷當前程序運行的快捷鍵,但這個快捷鍵在各個系統中有可能不同(一些系統使用 Ctrl+C,而另一些系統使用 Esc 鍵)。如果不考慮多種操作系統之間的差異和異構性,就會發生在某個操作系統本地發出的字符或者命令,傳送到遠程主機後不能正常解析的情況。TELNET 協議定義了數據和命令在 Internet 上的傳輸方式,即網絡虛擬終端 NVT(Net Virtual Terminal)。它的應用過程如下所述。

  █ 對於發送的數據:客戶端軟件把來自用戶終端的按鍵和命令序列轉換爲 NVT 格式,併發送到服務器,服務器軟件將收到的數據和命令,從 NVT 格式轉換爲遠地系統需要的格式。
  █ 對於返回的數據:遠程服務器將數據格式轉換爲 NVT 格式,而本地客戶端將接收到的 NVT 格式數據再轉換爲本地的格式。

3. 傳送遠地命令

  大多數的操作系統都實現各種控制命令的各種快捷鍵操作,當登錄的用戶在本地終端輸入這些快捷鍵的時候,本地系統將執行對應的本地控制命令,而不把這些快捷鍵作爲輸入,TELNET 協議使用 NVT 來定義客戶端的快捷鍵並將控制功能傳送到服務器。當用戶從本地輸入普通字符時,NVT 將按照其原始含義傳送:當用戶輸入快捷鍵或者組合鍵的時候,NVT 把輸入的鍵值轉化爲特殊的 ASCII 字符在網絡上傳送,並在其到達服務器後轉化爲相應的控制命令。

4. 數據流向

  TELNET 應用軟件有一個缺點,它的效率不高。主要是其中的數據流向造成的。

  數據信息被用戶從本地鍵盤輸入並通過操作系統傳到客戶端程序,客戶端程序將其處理後返回操作系統,並由操作系統經過網絡傳送到服務器,服務器的操作系統將所接收的數據傳給服務器程序,並經服務器程序再次處理後返回到操作系統上的終端入口點,最後,服務器操作系統將數據傳送到用戶正在運行的應用程序,這便是一次完整的輸入過程:輸出將按照同一通路從服務器傳送到客戶端。

  因爲每一次輸入和輸出時,計算機將切換進程環境好幾次,這個開銷是很昂貴的。由於用戶按鍵的速率並不高,所以響應速度一般來說仍然可以接受。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章