NVT格式的数据流是7bit标准ASCII格式,控制信息是最高位设置为1的8bit格式,这表明最高位设置为1的数据字节(取值为128~255)无法在Telnet上传输。汉字采用双字节编码,为了与7bit标准ASCII字符区分开来,汉字编码的8bit最高位设置为1,如无法传输这样的数据,那就没有办法通过Telnet传输中文信息了。事实上,Telnet中有一个二进制选项(RFC856),该选项允许数据以8bit的格式进行传输。
由于Telnet两端计算机和操作系统的异构性,使得Telnet不可能严格规定每一连接的详细配置,否则将影响其异构适应性,因此,Telnet采用选项协商机制解决这一问题。
Telnet选项范围广,具有很大灵活性,表8-8列出常用Telnet选项。客户端与服务器以Telnet通信时,可在连接的任何时候进行选项协商,而不仅仅是在会话初始时。
表8-8 常用Telnet选项
(www.xing528.com)
Telnet选项协商命令格式:IAC<命令代码><选项代码>
执行选项协商命令由三个字节组成:前两个字节与普通Telnet命令一样,第三字节代表引用的选项代码。
Telnet选项协商对称,任何一端都可发出协商请求,任何一端都可接受或拒绝协商请求。此外,如一端提出的协商选项不能被另一端所理解(如较新Telnet服务程序与较老Telnet服务程序之间的交互操作),则接受请求的一端可简单地拒绝协商,两者将一起在效率较低但可工作的方式下运行。当然,如连接两端都能理解新的选项,工作效率将会提高。为了启用或禁用选项,客户端与服务器通过DO、DON’T、WILL和WON’T命令来指示对方。连接的一端可自愿或请求另一端启用或禁用某个选项。发送WILL/WON’T选项命令,可表明愿意启用/禁用某个选项;发送DO/DON’T选项命令,可请求另一端启用/禁用某个选项。
Telnet服务是基于TCP协议的,服务端口23。Telnet的TCP连接是在用户端口和服务器端口之间建立,服务器在23端口上监听客户请求。由于TCP连接全双工,并通过连接双方的端口来标识,服务器可对不同的用户端口与服务器的23端口之间的许多并发连接进行应答。其中客户端口可取大于1024的任意数值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。