簡說Telnet服務的結構
Telnet幫助我們進行遠程連接,在很多平臺都有所使用。例如圖書館等大型的客戶平臺。那么Telnet服務的結構如何呢?這個也是幫助我們來理解這個協議的使用的基礎。所以今天我們就來介紹一下。我們知道Telnet服務器軟件是我們最常用的遠程登錄服務器軟件,是一種典型的客戶機/服務器模型的服務,它應用Telnet協議來工作.那么,什么是Telnet協議?它都具備哪些特點呢?
1 基本內容
Telnet服務是TCP/IP協議族中的一員,是Internet遠程登陸服務的標準協議.應用Telnet協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端.它提供了三種基本服務:
1)Telnet定義一個網絡虛擬終端為遠的系統提供一個標準接口.客戶機程序不必詳細了解遠的系統,他們只需構造使用標準接口的程序;
2)Telnet包括一個允許客戶機和服務器協商選項的機制,而且它還提供一組標準選項;
3)Telnet對稱處理連接的兩端,即Telnet不強迫客戶機從鍵盤輸入,也不強迫客戶機在屏幕上顯示輸出.
2 適應異構
為了使多個操作系統間的Telnet交互操作成為可能,就必須詳細了解異構計算機和操作系統.比如,一些操作系統需要每行文本用ASCII回車控制符(CR)結束,另一些系統則需要使用ASCII換行符(LF),還有一些系統需要用兩個字符的序列回車-換行(CR-LF);再比如,大多數操作系統為用戶提供了一個中斷程序運行的快捷鍵,但這個快捷鍵在各個系統中有可能不同(一些系統使用CTRL+C,而另一些系統使用ESCAPE).如果不考慮系統間的異構性,那么在本地發出的字符或命令,傳送到遠地并被遠地系統解釋后很可能會不準確或者出現錯誤.因此,Telnet協議必須解決這個問題.
為了適應異構環境,Telnet服務定義了數據和命令在Internet上的傳輸方式,此定義被稱作網絡虛擬終端NVT(Net Virtual Terminal).它的應用過程如下:
對于發送的數據:客戶機軟件把來自用戶終端的按鍵和命令序列轉換為NVT格式,并發送到服務器,服務器軟件將收到的數據和命令,從NVT格式轉換為遠地系統需要的格式;
對于返回的數據:遠地服務器將數據從遠地機器的格式轉換為NVT格式,而本地客戶機將將接收到的NVT格式數據再轉換為本地的格式.
對于NVT格式的詳細定義,有興趣的朋友可以去查找相關資料.
3 傳送遠地命令
我們知道絕大多數操作系統都提供各種快捷鍵來實現相應的控制命令,當用戶在本地終端鍵入這些快捷鍵的時候,本地系統將執行相應的控制命令,而不把這些快捷鍵作為輸入.那么對于Telnet來說,它是用什么來實現控制命令的遠地傳送呢?
Telnet同樣使用NVT來定義如何從客戶機將控制功能傳送到服務器.我們知道USASCII字符集包括95個可打印字符和33個控制碼.當用戶從本地鍵入普通字符時,NVT將按照其原始含義傳送;當用戶鍵入快捷鍵(組合鍵)時,NVT將把它轉化為特殊的ASCII字符在網絡上傳送,并在其到達遠地機器后轉化為相應的控制命令.將正常ASCII字符集與控制命令區分主要有兩個原因:
1)這種區分意味著Telnet服務具有更大的靈活性:它可在客戶機與服務器間傳送所有可能的ASCII字符以及所有控制功能;
2)這種區分使得客戶機可以無二義性的指定信令,而不會產生控制功能與普通字符的混亂.