當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 基礎(chǔ)知識(shí)科普站
[導(dǎo)讀]Telnet是位于OSI模型的第7層---應(yīng)用層上的一種協(xié)議,是一個(gè)通過(guò)創(chuàng)建虛擬終端提供連接到遠(yuǎn)程主機(jī)終端仿真的TCP/IP協(xié)議。

Telnet是位于OSI模型的第7層---應(yīng)用層上的一種協(xié)議,是一個(gè)通過(guò)創(chuàng)建虛擬終端提供連接到遠(yuǎn)程主機(jī)終端仿真的TCP/IP協(xié)議。這一協(xié)議需要通過(guò)用戶名和口令進(jìn)行認(rèn)證,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議。應(yīng)用Telnet協(xié)議能夠把本地用戶所使用的計(jì)算機(jī)變成遠(yuǎn)程主機(jī)系統(tǒng)的一個(gè)終端。它提供了三種基本服務(wù):1)Telnet定義一個(gè)網(wǎng)絡(luò)虛擬終端為遠(yuǎn)程系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)接口??蛻魴C(jī)程序不必詳細(xì)了解遠(yuǎn)程系統(tǒng),他們只需構(gòu)造使用標(biāo)準(zhǔn)接口的程序;2)Telnet包括一個(gè)允許客戶機(jī)和服務(wù)器協(xié)商選項(xiàng)的機(jī)制,而且它還提供一組標(biāo)準(zhǔn)選項(xiàng); .3)Telnet對(duì)稱(chēng)處理連接的兩端,即Telnet不強(qiáng)迫客戶機(jī)從鍵盤(pán)輸入,也不強(qiáng)迫客戶機(jī)在屏幕上顯示輸出。

Telnet協(xié)議的內(nèi)容

適應(yīng)異構(gòu)為了使多個(gè)操作系統(tǒng)間的Telnet交互操作成為可能,就必須詳細(xì)了解異構(gòu)計(jì)算機(jī)和操作系統(tǒng)。比如,一些操作系統(tǒng)需要每行文本用ASCⅡ回車(chē)控制符(CR)結(jié)束,另一些系統(tǒng)則需要使用ASCⅡ換行符(LF),還有一些系統(tǒng)需要用兩個(gè)字符的序列回車(chē)-換行(CR-LF);再比如,大多數(shù)操作系統(tǒng)為用戶提供了一個(gè)中斷程序運(yùn)行的快捷鍵,但這個(gè)快捷鍵在各個(gè)系統(tǒng)中有可能不同(一些系統(tǒng)使用CTRL+C,而另一些系統(tǒng)使用ESCAPE)。如果不考慮系統(tǒng)間的異構(gòu)性,那么在本地發(fā)出的字符或命令,傳送到遠(yuǎn)地并被遠(yuǎn)程系統(tǒng)解釋后很可能會(huì)不準(zhǔn)確或者出現(xiàn)錯(cuò)誤。因此,Telnet協(xié)議必須解決這個(gè)問(wèn)題?!榱诉m應(yīng)異構(gòu)環(huán)境,Telnet協(xié)議定義了數(shù)據(jù)和命令在Internet上的傳輸方式,此定義被稱(chēng)作網(wǎng)絡(luò)虛擬終端NVT(Net Virtual Terminal)。它的應(yīng)用過(guò)程如下: 對(duì)于發(fā)送的數(shù)據(jù):客戶機(jī)軟件把來(lái)自用戶終端的按鍵和命令序列轉(zhuǎn)換為NVT格式,并發(fā)送到服務(wù)器,服務(wù)器軟件將收到的數(shù)據(jù)和命令,從NVT格式轉(zhuǎn)換為遠(yuǎn)地系統(tǒng)需要的格式; 對(duì)于返回的數(shù)據(jù):遠(yuǎn)地服務(wù)器將數(shù)據(jù)從遠(yuǎn)地機(jī)器的格式轉(zhuǎn)換為NVT格式,而本地客戶機(jī)將接收到的NVT格式數(shù)據(jù)再轉(zhuǎn)換為本地的格式?!?duì)于NVT格式的詳細(xì)定義,有興趣的朋友可以去查找相關(guān)資料。

傳送遠(yuǎn)程命令我們知道絕大多數(shù)操作系統(tǒng)都提供各種快捷鍵來(lái)實(shí)現(xiàn)相應(yīng)的控制命令,當(dāng)用戶在本地終端鍵入這些快捷鍵的時(shí)候,本地系統(tǒng)將執(zhí)行相應(yīng)的控制命令,而不把這些快捷鍵作為輸入。那么對(duì)于Telnet來(lái)說(shuō),它是用什么來(lái)實(shí)現(xiàn)控制命令的遠(yuǎn)程傳送呢? Telnet同樣使用NVT來(lái)定義如何從客戶機(jī)將控制功能傳送到服務(wù)器。我們知道ASCⅡ字符集包括95個(gè)可打印字符和33個(gè)控制碼。當(dāng)用戶從本地鍵入普通字符時(shí),NVT將按照其原始含義傳送;當(dāng)用戶鍵入快捷鍵(組合鍵)時(shí),NVT將把它轉(zhuǎn)化為特殊的ASCⅡ字符在網(wǎng)絡(luò)上傳送,并在其到達(dá)遠(yuǎn)地機(jī)器后轉(zhuǎn)化為相應(yīng)的控制命令。將正常ASCⅡ字符集與控制命令區(qū)分的原因:1)這種區(qū)分意味著Telnet具有更大的靈活性:它可在客戶機(jī)與服務(wù)器間傳送所有可能的ASCⅡ字符以及所有控制功能;2)這種區(qū)分使得客戶機(jī)可以無(wú)二義性的指定信令,而不會(huì)產(chǎn)生控制功能與普通字符的混亂?!?

數(shù)據(jù)流向上面我們提到過(guò)將Telnet設(shè)計(jì)為應(yīng)用級(jí)軟件有一個(gè)缺點(diǎn),那就是:效率不高。這是為什么呢?下面給出Telnet中的數(shù)據(jù)流向:數(shù)據(jù)信息被用戶從本地鍵盤(pán)鍵入并通過(guò)操作系統(tǒng)傳到客戶機(jī)程序,客戶機(jī)程序?qū)⑵涮幚砗蠓祷夭僮飨到y(tǒng),并由操作系統(tǒng)經(jīng)過(guò)網(wǎng)絡(luò)傳送到遠(yuǎn)程機(jī)器,遠(yuǎn)程操作系統(tǒng)將所接收數(shù)據(jù)傳給服務(wù)器程序,并經(jīng)服務(wù)器程序再次處理后返回到操作系統(tǒng)上的偽終端入口點(diǎn),最后,遠(yuǎn)程操作系統(tǒng)將數(shù)據(jù)傳送到用戶正在運(yùn)行的應(yīng)用程序,這便是一次完整的輸入過(guò)程;輸出將按照同一通路從服務(wù)器傳送到客戶機(jī)。 因?yàn)槊恳淮蔚妮斎牒洼敵觯?jì)算機(jī)將切換進(jìn)程環(huán)境好幾次,這個(gè)開(kāi)銷(xiāo)是很昂貴的。還好用戶的鍵入速率并不算高,這個(gè)缺點(diǎn)我們?nèi)匀荒軌蚪邮堋!?

強(qiáng)制命令我們應(yīng)該考慮到這樣一種情況:假設(shè)本地用戶運(yùn)行了遠(yuǎn)地機(jī)器的一個(gè)無(wú)休止循環(huán)的錯(cuò)誤命令或程序,且此命令或程序已經(jīng)停止讀取輸入,那么操作系統(tǒng)的緩沖區(qū)可能因此而被占滿,如果這樣,遠(yuǎn)程服務(wù)器也無(wú)法再將數(shù)據(jù)寫(xiě)入偽終端,并且最終導(dǎo)致停止從TCP連接讀取數(shù)據(jù),TCP連接的緩沖區(qū)最終也會(huì)被占滿,從而導(dǎo)致阻止數(shù)據(jù)流流入此連接。如果以上事情真的發(fā)生了,那么本地用戶將失去對(duì)遠(yuǎn)程機(jī)器的控制。為了解決此問(wèn)題,Telnet協(xié)議必須使用外帶信令以便強(qiáng)制服務(wù)器讀取一個(gè)控制命令。我們知道TCP用緊急數(shù)據(jù)機(jī)制實(shí)現(xiàn)外帶數(shù)據(jù)信令,那么Telnet只要再附加一個(gè)被稱(chēng)為數(shù)據(jù)標(biāo)記(date mark)的保留八位組,并通過(guò)讓TCP發(fā)送已設(shè)置緊急數(shù)據(jù)比特的報(bào)文段通知服務(wù)器便可以了,攜帶緊急數(shù)據(jù)的報(bào)文段將繞過(guò)流量控制直接到達(dá)服務(wù)器。作為對(duì)緊急信令的相應(yīng),服務(wù)器將讀取并拋棄所有數(shù)據(jù),直到找到了一個(gè)數(shù)據(jù)標(biāo)記。服務(wù)器在遇到了數(shù)據(jù)標(biāo)記后將返回正常的處理過(guò)程。由于Telnet兩端的機(jī)器和操作系統(tǒng)的異構(gòu)性,使得Telnet不可能也不應(yīng)該嚴(yán)格規(guī)定每一個(gè)telnet連接的詳細(xì)配置,否則將大大影響Telnet的適應(yīng)異構(gòu)性。因此,Telnet采用選項(xiàng)協(xié)商機(jī)制來(lái)解決這一問(wèn)題。Telnet選項(xiàng)的范圍很廣:一些選項(xiàng)擴(kuò)充了大方向的功能,而一些選項(xiàng)制涉及一些微小細(xì)節(jié)。例如:有一個(gè)選項(xiàng)可以控制Telnet是在半雙工還是全雙工模式下工作(大方向);還有一個(gè)選項(xiàng)允許遠(yuǎn)地機(jī)器上的服務(wù)器決定用戶終端類(lèi)型(小細(xì)節(jié))。Telnet選項(xiàng)的協(xié)商方式也很有意思,它對(duì)于每個(gè)選項(xiàng)的處理都是對(duì)稱(chēng)的,即任何一端都可以發(fā)出協(xié)商申請(qǐng);任何一端都可以接受或拒絕這個(gè)申請(qǐng)。另外,如果一端試圖協(xié)商另一端不了解的選項(xiàng),接受請(qǐng)求的一端可簡(jiǎn)單的拒絕協(xié)商。因此,有可能將更新,更復(fù)雜的Telnet客戶機(jī)服務(wù)器版本與較老的,不太復(fù)雜的版本進(jìn)行交互操作。如果客戶機(jī)和服務(wù)器都理解新的選項(xiàng),可能會(huì)對(duì)交互有所改善。否則,它們將一起轉(zhuǎn)到效率較低但可工作的方式下運(yùn)行。所有的這些設(shè)計(jì),都是為了增強(qiáng)適應(yīng)異構(gòu)性,可見(jiàn)Telnet的適應(yīng)異構(gòu)性對(duì)其的應(yīng)用和發(fā)展是多么重要。上面討論了一些原理方面的東西,雖然我們?cè)赥elnet的使用過(guò)程中很難接觸到這一層面,但我認(rèn)為了解這些是有意義的,它會(huì)給我們帶來(lái)許多啟示。下面讓我們來(lái)看看Win2000的Telnet服務(wù)。

子選項(xiàng)協(xié)商有些選項(xiàng)不是僅僅用“激活”或“禁止”就能夠表達(dá)的。指定終端類(lèi)型就是一個(gè)例子,客戶進(jìn)程必須發(fā)送用一個(gè)A S C I I字符串來(lái)表示終端類(lèi)型。為了處理這種選項(xiàng),我們必須定義子選項(xiàng)協(xié)商機(jī)制。在R F C 1 0 9 1 [ VanBokkelen 1989]中定義了如何表示終端類(lèi)型這樣的子選項(xiàng)協(xié)商機(jī)制。首先連接的某一方(通常是客戶進(jìn)程)發(fā)送3個(gè)字節(jié)的字符序列來(lái)請(qǐng)求激活該選項(xiàng)。這里的2 4(十進(jìn)制)是終端類(lèi)型選項(xiàng)的I D號(hào)。如果收端(通常是服務(wù)器進(jìn)程)同意,那么響應(yīng)數(shù)據(jù)是:然后服務(wù)器進(jìn)程再發(fā)送如下的字符串:該字符串詢(xún)問(wèn)客戶進(jìn)程的終端類(lèi)型。其中S B是子選項(xiàng)協(xié)商的起始命令標(biāo)志。下一個(gè)字節(jié)的“2 4”代表這是終端類(lèi)型選項(xiàng)的子選項(xiàng)(通常S B后面的選項(xiàng)值就是子選項(xiàng)所要提交的內(nèi)容)。下一個(gè)字節(jié)的“ 1”表示“發(fā)送你的終端類(lèi)型”。子選項(xiàng)協(xié)商的結(jié)束命令標(biāo)志也是I A C,就像S B是起始命令標(biāo)志一樣。如果終端類(lèi)型是i b m p c,客戶進(jìn)程的響應(yīng)命令將是:第4個(gè)字節(jié)“0”代表“我的終端類(lèi)型是”(在Assigned Numbers RFC文檔中有正式的關(guān)于終端類(lèi)型的數(shù)值定義,但是最起碼在U n i x系統(tǒng)之間,終端類(lèi)型可以用任何對(duì)方可理解的數(shù)據(jù)進(jìn)行表示。只要這些數(shù)據(jù)在t e r m c a p或t e r m i n f o數(shù)據(jù)庫(kù)中有定義)。在Te l n e t子選項(xiàng)協(xié)商過(guò)程中,終端類(lèi)型用大寫(xiě)表示,當(dāng)服務(wù)器收到該字符串后會(huì)自動(dòng)轉(zhuǎn)換為小寫(xiě)字符。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉