1. 程式人生 > >Telnet和Rlogin:遠端登入(26.5__4)

Telnet和Rlogin:遠端登入(26.5__4)

26.5.4 行方式:客戶中斷鍵

    看一下當用戶鍵入中斷鍵時 Te l n e t將發生什麼情況。假定在客戶主機  b s d i和伺服器

c a n g o g h . c s . b e r k e l e y . e d u之間建立了一個Te l n e t會話。圖2 6 - 1 7顯示了當使用者鍵入中斷

鍵後的時間系列(去掉了視窗通告和服務型別)。

    報文段1中顯示的是中斷鍵(通常是C o n t r o l _ C或D E L E T E )已經轉換為Te l n e t的I P (中斷程序)

命令:<IAC, IP>。下面的3個位元組:<IAC, DO, TM>,組成了Te l n e t的DO TIMING MARK選項。這

個標誌由客戶程序傳送,必須使用W I L L或W O N T響應。所有在響應前收到的資料都要丟棄(除

非是Te l n e t命令)。這是伺服器程序和客戶機端的同步過程。報文段1沒有采用T C P緊急方式。

       Host Requirements RFC敘述了I P命令不能使用Te l n e t的同步訊號來發送。如果可以的

    話,那麼<IAC, IP> 的後面將跟隨<IAC, DM> ,同時緊急指標指向D M位元組。大多數的

    Unix Telnet  客戶有一個選項來使用同步訊號傳送I P命令,但是這個選項預設是不用的

    (正如我們這裡看到的)。

----------------------- Page 22-----------------------

                         圖26-17 行方式下鍵入中斷鍵後的情況

    報文段2是伺服器程序對DO TIMING MARK 選項的響應。緊隨其後的是報文段 3和4 中

Te l n e t的同步訊號:<IAC, DM> 。報文段3中的緊急指標指向將在報文段4 中傳送的D M位元組。

    如果伺服器程序到客戶程序的視窗已滿,那麼客戶程序傳送瞭如報文段 1中的I P命令後就

丟棄收到的所有資料。即使伺服器程序被 T C P流量控制所終止而不能傳送如報文段 2、3和4 中

的資料,緊急指標仍然可以傳送。這和圖2 6 - 7 中的R l o g i n類似。

    為什麼同步訊號要分為兩個資料段傳送( 3和4 )?原因就是我們在2 0 . 8節中詳細討論T C P

緊急指標時提到的情況。有關主機需求的 R F C 中提到緊急指標應指向緊急資料的最後一個字

節,而很多衍生於伯克利的系統中,緊急指標指向緊急資料的倒數第 2個位元組(回憶一下在圖

2 6 - 6 中,緊急指標指向命令位元組的前一個位元組)。Te l n e t伺服器程序故意把同步訊號的第 1個字

節作為緊急資料,它知道緊急指標將指向下 1個位元組(即D M位元組),而I A C位元組和緊急指標必

須立即傳送,在下一步才傳送D M位元組。

    最後一個報文段6傳送的是資料,它是伺服器程序發生的提示符。

26.6  小結

    本章我們介紹了R l o g i n和Te l n e t操作。兩者都提供了從客戶程序遠端登入到伺服器程序,

是我們能夠在伺服器端執行程式的方法。

    這兩個應用是不同的。 R l o g i n假定連線的雙方都是U n i x系統,所以只提供一個選項,它

是1個簡單的協議。Te l n e t則不同,它用於在不同型別的主機之間建立連線。

    為了支援這種多機環境,Te l n e t提供客戶程序和伺服器程序的選項協商機制。如果連線的

雙方都支援這些選項,則可以增強一些功能。對於比較簡單的客戶程序和伺服器程序,它可

以提供Te l n e t的基本功能,而當雙方都支援某些選項時,它又可以充分利用雙方的新特性。

    我們介紹了Te l n e t的選項協商機制,也介紹了3種資料傳輸的方式:單字元方式、準行方

式和實行方式。現在的趨勢是隻要有可能,就儘量工作在準行方式下。這樣可以減少網路上

的資料量,同時為互動使用者提供更好的行編輯和回顯的響應。

    圖2 6 - 1 8概括並比較了R l o g i n和Te l n e t的不同特性。

----------------------- Page 23-----------------------

                          圖26-18 Rlogin和Telnet的不同特性

    R l o g i n伺服器和Te l n e t伺服器通常都將設定T C P 的保活選項以檢測客戶主機是否崩潰(如

果伺服器的T C P實現支援,見第2 3章)。這兩種應用都採用了T C P緊急方式,以便即使從服務

器到客戶的資料傳輸被流量控制所終止,伺服器仍然可以向客戶傳送命令。

習題

26.1 在圖2 6 - 5 中,標出所有延遲的A C K 。

26.2 在圖2 6 - 7 中,為什麼要傳送報文段1 2?

26.3 我們說過 R l o g i n 客戶程序必須使用保留埠號(見              1 . 9節)(通常R l o g i n 客戶使用

     5 1 2 ~ 1 0 2 3之間的保留埠)。這會給主機帶來什麼限制?有沒有解決的辦法?

26.4 閱讀RFC 1097 ,它描述了Te l n e t 的閾下報文( s u b l i m i n a l - m e s s a g e )選項。