?? rfc856.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:顧國飛(ggfei ggfei@263.net)
譯文發布時間:2001-4-2
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須保留本文檔的翻譯及版權信息。
Network Working Group J. Postel
Request for Comments: 856 J. Reynolds
ISI
Obsoletes: NIC 15389 May 1983
RFC856 TELNET二進制傳輸
(RFC856--TELNET BINARY TRANSMISSION)
本RFC規范了一個ARPA Internet community上的標準。在ARPA Internet上的所有主機應當采用和實現這個標準。
目錄
1. 命令和代碼 1
2. 命令意義 1
3. 默認情況 2
4. 選項出現的原因 2
5. 選項描述 2
6. 實現問題 3
1. 命令和代碼
TRANSMIT-BINARY 0
2. 命令意義
* IAC WILL TRANSMIT-BINARY
這個命令請求的發送方請求開始傳輸,或確定現在要傳輸的數據在接收方會以八位二進制方式解釋。
* IAC WON'T TRANSMIT-BINARY
如果連接已在二進制方式下,發送此命令要求接收方恢復原來標準的NVT ASCII方式解釋數據。如果現在還未在二進制方式下,發送方拒絕傳輸將被接受者解釋為二進制數據的字符(也就是說,數據傳輸者要求繼續按現在方式進行傳輸)。只有當雙方均同意的情況下才有可能進行二進制傳輸。
* IAC DO TRANSMIT-BINARY
發送者要求傳輸數據,或確定數據將要被傳輸,這些數據均被解釋為8位二進制的。
* IAC DON'T TRANSMIT-BINARY
如果現在處于二進制狀態下,命令發送方要求數據發送方進行標準的NTV ASCII的傳輸。如果連接未在二進制狀態下,發出命令者要求數據發送方按現在的狀態發送數據。只有當雙方均同意的情況下才有可能進行二進制傳輸。
3. 默認情況
默認情況為:WON'T TRANSMIT-BINARY和DON'T TRANSMIT-BINARY,連接未在二進制狀態下。
4. 選項出現的原因
有時候利用telnet上的二進制傳輸會更有效率,這就是出現的根本原因吧。而雙方只要把對數據的解釋方式加以改變就可以完成這一選項,因此也比較方便。
5. 選項描述
開始二進制傳輸后,接收方對沒有IAC開始的數據以二進制進行解釋。IAC后面的是標準的TELNET命令。如果IAC后面的命令不可識別,它和IAC NOP命令的效果一樣。
6. 實現問題
實現二進制傳輸則不能進行其它模式的傳輸,這是可以預見的。然而,如果雙方能夠理解它們同處于二進制傳輸模式或者例如它們同處于Echo模式,如果他們對此進行了協商,則不會出現什么問題。
我們看到上面的命令意義解釋可以注意到WON'T和DON'T的意義要看現在是不是處于二進制傳輸模式下,假設現在處于EBCDIC模式下,而且一方也不知道任何二進制傳輸的命令,如果它接收到DO TRANSMIT-BINARY,它根本不知道這是什么,因此返回WON'T TRANSMIT-BINARY,如果對于WON'T TRANSMIT-BINARY的默認值是NVT ASCII,發送DO TRANSMIT-BINARY可能希望接收方轉到NVT ASCII,但接收DO TRANSMIT-BINARY的一方有可能不這么做。
因此,我們有這樣一條規則:當連接不處于二進制狀態時,默認值(也就是說,對WON'T和DON'T的解釋)是維持現狀,無論是在在NVT ASCII,EBCDIC或者是其他狀態。然而,當連接處于二進制狀態時,這規則就不頂用了。這就要求連接雙方維持一個保存所有可用的連接狀態的棧,這樣才能正確解釋WON'T和DON'T。在二進制狀態下,WON'T和DON'T會使狀態返回NVT ASCII。
因為telnet是一個雙向的通道,因此必須保證雙向的數據流都是二進制的。在實現時遵守防止循環的規則,這一規則在telnet協議中有描述。下面我們看看從一個進程和終端開始或接收二進制傳輸的情況:
a. 從終端開始二進制傳輸
實現者應該考慮在二進制狀態下如何產生8位有效數據,其中不帶什么校驗位之類的東西。
b. 二進制傳輸到進程
實現者應該考慮在二進制狀態下進行如何接收所有的二進制數據。例如TOPS-20會在終端級解釋一些特定字符(例如,ETX,中斷control-C),而不把它們傳送到進程。
c. 從進程開始的二進制傳輸
實現者應該考慮傳輸的字符如何不對對方的終端解釋為其它的字符。例如TOPS-20會將非打印字符轉為一個箭頭和一個可打印字符。
d. 二進制傳輸到終端
實現者應該考慮接收到的數據如何傳送到本地終端。包括本地應該加入的一些字符,校驗運算或字符轉換。
RFC 856 TELNET BINARY TRANSMISSION RFC 856 TELNET二進制傳輸
1
3
RFC文檔中文翻譯計劃
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -