目录
应用层协议概要
到此为止所介绍的IP协议、TCP协议以及UDP协议是通信最基本的部分, 它们属于OSI参考模型中的下半部分。
应用协议主要是指OSI参考模型中第5层、第6层、 第7层上半部分的协议。
应用协议的定义
利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件 传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。
TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广的协议。而应 用协议则是为了实现某种应用而设计和创造的协议。
例如,远程登录等应用经常使用的TELNET协议,它的支持基于文字的命令 与应答,通过命令可以执行各种各样的其他应用。
应用协议与协议的分层
网络应用由不同的用户和软件供应商开发而成。为了实现网络应用的功能, 在应用之间进行通信时将其连接的网络协议是非常重要的。设计师和开发人员 根据所开发模块的功能和目的,可以利用现有的应用协议,也可以自己定义一个 新的应用协议。
应用可以直接享用传输层以下的基础部分。因为开发者只要关心选用哪种应 用协议、如何开发即可,而不必担心应用中的数据该以何种方式发送到目标主机 等问题。这也是得益于网络层的功劳。
相当于OSI中第5、第6、第7层的协议
TCP/IP的应用层涵盖了OSI参考模型中第5、第6、第7层的所有功能,不 仅包含了管理通信连接的会话层功能、转换数据格式的表示层功能,还包括与对 端主机交互的应用层功能在内的所有功能。
远程登录
远程登录是为了实现TSS (分时)环境,是将主机和终端的关系 应用到计算机网络上的一个结果。TSS中通常有一个处理能力非常强的主机,围 绕着这台主机的是处理能力没有那么强的多个终端机器。这些终端通过专线与主 机相连。
类似地,实现从自己的本地计算机登录到网络另一端计算功能的应用就叫做 远程登录。通过远程登录到通用计算机或UNIX工作站以后,不仅可以直接使用 这些主机上的应用,还可以对这些计算机进行参数设置。远程登录主要使用TELNET和SSH 两种协议。
TELNET
TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主 机上执行。本地用户好像直接与远端主机内部的Shell,相连着似的,直接在本地 进行操作。
TELNET可以分为两类基本服务。一是仿真终端功能,二是协商选项机制。
TELNET经常用于登录路由器或高性能交换机等网络设备进行相应的设置。
通过TELNET登录主机或路由器等设备时需要将自己的登录用户名和密码注册到 服务端。
选项
TELNET中除了处理用户所输入的文字外,还提供选项的交互和协商功能。
例如,为实现仿真终端(NVT, Network Virtual Terminal)所用到的界面控制信息 就是通过选项功能发送出去的。而且,如图所示TELNET中的行模式或透明 模式两种模式的设置,也是通过TELNET客户端与TELNET服务端之间的选项功 能进行设置的。
TELNET客户端
所谓TELNET客户端是指利用TELNET协议实现远程登录的客户端程 序。很多情况下,它的程序名就是telnet命令。
TELNET客户端通常与目标主机的23号端口建立连接,并与监听这 个端口的服务端程序telnetd进行交互。当然,也可以与其他的TCP端口 号连接,只要在该端口上有监听程序能够处理telnet请求即可。在一般的 telnet命令中可以按照如下格式指定端口号:
telnet主机名 TCP端口号
TCP端口号为21时可以连接到ITP应用,为25时可以连 接到SMTP,为80时可连接到HTTP ,为llO时可 连接到POP3 。如此看来,每个服务器都有相应的端口号在等 待连接。
因此,以下两个命令可以视为相同:
ftp主机名
telnet主机名21
鉴于ITP、SMTP、HTTP、POP3等协议的命令和应答都是字符串, 因此通过TELNET客户端连接以后可以直接输入这些协议的具体命令。 TELNET客户端也可用于跟踪TCP/IP应用开发阶段的问题诊断。
SSH
SSH是加密的远程登录系统。TELNET中登录时无需输入密码就可以发送, 容易造成通信窃听和非法入侵的危险。使用SSH后可以加密通信内容。即使信息 被窃听也无法破解所发送的密码、具体命令以及命令返回的结果是什么。
SSH还包括很多非常方