TCP-IP详解卷1-26:Telnet和Rlogin(Remote Login)):远程登录

一:TELNET远程登录的工作过程
    1: 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名; 
    2: 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报; 
    3: 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果; 
    4: 最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

二:TELNET协议内容
    Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务: 
    1: Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序; 
    2: Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; 
    3: Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

三: TELNET适应异构
    1: 网络虚拟终端(NVT)是一种虚拟的终端设备,它被客户和服务器所采用,用来建立数据表示和解释的一致性。 
    2: TELNET使用了一种对称的数据表示,当每个客户机发送数据时,把它的本地终端的字符表示影射到NVT的字符表示上,当接收数据时,又把NVT的表示映射到本地字符集合上。
    3: 为了适应异构环境,Telnet协议定义了数据和命令在Internet上的传输方式,此定义被称作网络虚拟终端NVT(Net Virtual Terminal)。它的应用过程如下:
        A: 对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令,从NVT格式转换为远地系统需要的格式; 
        B: 对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式,而本地客户机将将接收到的NVT格式数据再转换为本地的格式。

四: 传送远程命令
    1: 们知道绝大多数操作系统都提供各种快捷键来实现相应的控制命令,当用户在本地终端键入这些快捷键的时候,本地系统将执行相应的控制命令,而不把这些快捷键作为输入。
        那么对于Telnet来说,它是用什么来实现控制命令的远地传送呢? 
    2: Telnet同样使用NVT来定义如何从客户机将控制功能传送到服务器。
        我们知道USASCII字符集包括95个可打印字符和33个控制码。当用户从本地键入普通字符时,NVT将按照其原始含义传送;当用户键入快捷键(组合键)时,NVT将把它转化为特殊的ASCII字符在网络上传送,并在其到达远地机器后转化为相应的控制命令。
        将正常ASCII字符集与控制命令区分主要有两个原因: 
        A: 这种区分意味着Telnet具有更大的灵活性:它可在客户机与服务器间传送所有可能的ASCII字符以及所有控制功能; 
        B: 这种区分使得客户机可以无二义性的指定信令,而不会产生控制功能与普通字符的混乱。

五:数据流向:TELNET效率不高的原因
    数据信息被用户从本地键盘键入并通过操作系统传到客户机程序,客户机程序将其处理后返回操作系统,并由操作系统经过网络传送到远地机器,远地操作系统将所接收数据传给服务器程序,并经服务器程序再次处理后返回到操作系统上的伪终端入口点,最后,远地操作系统将数据传送到用户正在运行的应用程序,这便是一次完整的输入过程;
    输出将按照同一通路从服务器传送到客户机。

六:强制命令
    1: 我们应该考虑到这样一种情况:假设本地用户运行了远地机器的一个无休止循环的错误命令或程序,且此命令或程序已经停止读取输入,那么操作系统的缓冲区可能因此而被占满,如果这样,远地服务器也无法再将数据写入伪终端,并且最终导致停止从TCP连接读取数据,TCP连接的缓冲区最终也会被占满,从而导致阻止数据流流入此连接。
        如果以上事情真的发生了,那么本地用户将失去对远地机器的控制。 
    2: Telnet协议必须使用外带信令以便强制服务器读取一个控制命令。
        我们知道TCP用紧急数据机制实现外带数据信令,那么Telnet只要再附加一个被称为数据标记(date mark)的保留八位组,并通过让TCP发送已设置紧急数据比特的报文段通知服务器便可以了,携带紧急数据的报文段将绕过流量控制直接到达服务器。
        作为对紧急信令的相应,服务器将读取并抛弃所有数据,直到找到了一个数据标记。服务器在遇到了数据标记后将返回正常的处理过程。

转载来源:http://blog.csdn.net/chpdirector84/article/details/6033548

Tcp-IP详解之Telnet相关推荐

  1. TCP/IP详解--第十七章

     第17章 TCP:传输控制协议 17.1    引言   本章将介绍 TCP为应用层提供的服务,以及 TCP首部中的各个字段.随后的几章我们在了 解TCP的工作过程中将对这些字段作详细介绍. 对TC ...

  2. TCP/IP详解--第一章

    说明:专栏中的内容是<TCP/IP详解>这本书,博主分享在此. 第1章概     述 1.1   引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但  TCP/IP协 ...

  3. TCP/IP详解学习笔记-基本概念

    为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...

  4. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  5. 基础才是王道——TCP/IP详解学习笔记 这位仁兄写得太好了

    TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.as ...

  6. TCP/IP详解卷一读书笔记一

    TCP/IP详解卷一:第一章 一.分层   1.网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.   疑点 介质访问控制方法   多个主机需要通过一条"共享介质"发送 ...

  7. TCP/IP详解学习笔记(1)-基本概念

    为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...

  8. TCP/IP详解学习笔记

    [TCP/IP详解学习笔记(1)基本概念] 为什么会有TCP/IP协议? 计算机型号多种多样,并且运行于不同操作系统.虽然电线把计算机连接到了一起,但是这些计算机无法"交流",所以 ...

  9. TCP/IP详解学习笔记 这位仁兄写得太好了.

    http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样 ...

  10. 《TCP/IP详解·卷1:协议》随笔(已完结)

    第一章.概述 Internet的成功 Internet体系结构被设计成支持现有网络互联,同时提供了广泛的服务与协议操作. 选用数据包的分组交换主要是因为它的鲁棒性与效率,而相对来说数据安全性与交付可预 ...

最新文章

  1. python星号正方形_Python星号*与**用法分析
  2. asiox 多个baseurl_vue添加axios,并且指定baseurl
  3. MyBatis-Plus 通用IService的使用
  4. messenger android 4.,AndroidIPC机制(4)-Messenger
  5. git pull 提示错误,Your local changes to the following files would be overwritten by merge
  6. 根据字符串形式的路径导入模块(重要)
  7. messagebox java_如何从messagebox获得答案
  8. 重修 mongoDB 系列(一) 配置环境
  9. 土豪聪要请客(题解)
  10. mooc作业怎么上传附件_中国大学MOOC最新考试系统(老师视角)增加学生作弊成本...
  11. iso12233测试方法_ISO12233分辨率测试卡的操作步骤
  12. 计算机 编程 教程 pdf,[计算机软件及应用]PLC编程基础教程.pdf
  13. SRCNN 图像超分辨率重建(tf2)
  14. 将业务做到遍布全球,需要多大的IT运维团队?
  15. 获取当天开始时间以及结束时间
  16. Windows\Ubuntu修复UEFI引导
  17. 万科副总裁毛大庆在建策沙龙上关于楼市走向的发言
  18. AMD CPU 运行 Android Studio 原生模拟器的几点注意事项
  19. 防止excel单元格有效性验证因被粘贴而失效
  20. 操作系统实验三:主存空间的分配与回收

热门文章

  1. fastdfs:安装nginx
  2. [转] 如何提取word图片
  3. kotlin-2(IdeaIU-2018.2汉化破解)
  4. 《Python编程快速上手》8.9 实践项目
  5. JAVA Eclipse如何安装Swing
  6. 30道Linux面试题
  7. 判断服务是否开启,应用是否安装,并安装应用
  8. ubuntu11.04下如何发送文件到U盘如何添加发送文件到U盘的右键菜单
  9. 2018 Wannafly summer camp Day8--区间权值
  10. 【 数据结构(C语言)】线性表——链表反转