计算机网络(二十九)应用层协议概要及远程登录、文件传输介绍

应用层协议概要

OSI参考模型与TCP/IP的应用层

1.应用协议的定义

利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。
应用协议则是为了实现某种应用而设计和创造的协议。

2.应用协议与协议的分层

网络应用由不同的用户和软件供应商开发而成。
设计师和开发人员根据所开发模块的功能和目的,可以利用现有的应用协议,也可以自己定义一个新的应用协议。
应用可以直接享用传输层以下的基础部分。因为开发者只要关心选用哪种应用协议、如何开发即可,而不必担心应用中的数据该以何种方式发送到目标主机等问题。这也是得益于网络层的功劳。

3.相当于OSI中第5、第6、第7层的协议

TCP/IP的应用层涵盖了OSI参考模型中第5、第6、第7层的所有功能,不仅包含了管理通信连接的会话层功能、转换数据格式的表示层功能,还包括与对端主机交互的应用层功能在内的所有功能。

远程登录

远程登录
远程登录:实现从自己的本地计算机登录到网络另一端计算功能的应用。
远程登录是为了实现TSS环境,是将主机和终端的关系应用到计算机网络上的一个结果。
远程登录主要使用TEL­NET和SSH两种协议。

1.TELNET

TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。
TELNET可以分为两类基本服务:
1.仿真终端功能。
2.协商选项机制。
TELNET中输入命令、运行、展示结果的过程
TELNET经常用于登录路由器或高性能交换机等网络设备进行相应的设置。
通过TELNET登录主机或路由器等设备时需要将自己的登录用户名和密码注册到服务端。

a.选项

TELNET中除了处理用户所输入的文字外,还提供选项的交互和协商功能。
行模式与透明模式

b.TELNET客户端

TELNET客户端是指利用TELNET协议实现远程登录的客户端程序。很多情况下,它的程序名就是telnet命令。
TELNET客户端通常与目标主机的23号端口建立连接,并与监听这个端口的服务端程序telnetd进行交互。
也可以与其他的TCP端口号连接,只要在该端口上有监听程序能够处理telnet请求即可。
每个服务器都有相应的端口号在等待连接。
鉴于FTP、SMTP 、HTTP、 POP3等协议的命令和应答都是字符串,因此通过TELNET客户端连接以后可以直接输入这些协议的具体命令。
TELNET客户端也可用于跟踪TCP/IP应用开发阶段的问题诊断。

2.SSH

SSH是加密的远程登录系统。TELNET中登录时无需输人密码就可以发送,容易造成通信窃听和非法人侵的危险。
功能:
1.可以使用更强的认证机制。
2.可以转发文件。
3.可以使用端口转发功能。
端口转发是指将特定端口号所收到的消息转发到特定的IP地址和端口号码的一种机制。
SSH的端口转发

文件传输

FTP是在两个相连的计算机之间进行文件传输时使用的协议。
FTP中需要在登录到对方的计算机后才能进行相应的操作。
互联网上有一种FTP服务器是允许任何人进行访问的,这种服务器叫做匿名服务器(anonymous ftp) 。登录这些服务器时使用匿名(anonymous)或ftp都可以。

1.FTP的工作机制概要

FTP使用两条TCP连接:一条用来控制,另一条用于数据(文件)的传输。
用于控制的TCP连接:
用于控制的TCP连接主要在FTP的控制部分使用。
利用这个连接,可以通过 ASCII码字符串发送请求和接收应答。
在这个连接上无法发送数据,数据需要一个专门的TCP进行连接。
FTP控制用的连接使用的是TCP21号端口。
控制用的连接,在用户要求断开之前会一直保持连接状态。
绝大多数FTP服务器都会对长时间没有任何新命令输人的用户的连接强制断开。
用于数据传输的TCP连接:
在TCP21号端口上进行文件GET(RETR)、PUT(STOR )、以及文件一览(LIST)等操作时,每次都会建立一个用于数据传输的TCP连接。
数据的传输和文件一览表的传输正是在这个新建的连接上进行。
数据传送完毕之后,传输数据的这条连接也会被断开,然后会在控制用的连接上继续进行命令或应答的处理。
用于数据传输的TCP连接是按照与控制用的连接相反的方向建立的。
在通过NAT连接外部FTP服务器的时候,无法直接建立传输数据时使用的TCP连接。此时,必须使用PASV命令修改建立连接的方向才行。
数据传输用的TCP连接通常使用端口20。可以用PORT命令修改为其他的值,出于安全的考虑,普遍在数据传输用的端口号中使用随机数进行分配。
FTP通信中使用两条TCP连接

2.通过ASCII码字符串进行的交互处理

FTP中请求命令中使用着"RETR" 等ASCII码字符串。
针对这些命令的应答则使用如"200" 等3位数字的ASCII码字符串。
对于ASCII码字符串型的协议来说换行具有重要意义。
换行由"CR" (ASCII码的十进制数为13)和"LF" (ASCII码的十进制数为10)两个控制符号组成。

3.FTP主要命令

ftp主要命令
ftp主要命令

4.FTP的主要应答消息

FTP的主要应答消息
ftp的主要应答消息
ftp的主要应答消息

猜你喜欢

转载自blog.csdn.net/NEUChords/article/details/92086520