计算机网络应用层协议简介

最近一直在阅读《计算机网络自顶向下方法》这本书,也算是有一点心得,来和大家分享一下~

首先我们大家都熟知计算机网络一般的分层为5层:应用层,传输层,网络层,链路层与物理层。那我也按照这本书的阅读顺序,首先从应用层总结起:

来自百度百科的定义:

应用层:

应用层也称为应用实体(AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。CASE提供一组公用的应用服务,例如联系控制服务元素(ACSE)、可靠运输服务元素(RTSE)和远程操作服务元素(ROSE)等。

应用层协议:

应用层协议(application layer protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文。换句话来说,假如我们想使用应用程序向处于另一个端系统上面的应用程序发送报文的话,那么这之间应该使用什么样的规则,报文应该是什么样的格式,这些都有传说中的应用层协议来规定~

常用的应用层协议以及相关简介;

1、DNS:域名系统DNS是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
现在顶级域名TLD分为三大类:国家顶级域名nTLD;通用顶级域名gTLD;基础结构域名
域名服务器分为四种类型:根域名服务器;顶级域名服务器;本地域名服务器;权限域名服务器。

   2、FTP 通信过程中它的控制链路和数据链路不是在同一个端口进行通信的,而是在两个不同的 端口独立进行通信。首先由客户端向服务器发起控制链接的请求,当和服务器建立控制链接成功之后,在主动模式下客户端将会发一个端口号给服务器,告诉当前这次传输服务器所使用的数据传输端口,服务器收到这个信息后就向客户端发起数据链接请求,成功后进行当前这次的数据传输。在当前传输完成之后,该数据链路就被拆除了,如果客户端进行一次新的传输,则向服务器发送一个新的端口号,重新建立链接。在整个过程中,控制链路的链接一直都存在,直到 FTP 的整个通信过程结束,而数据链路每一次传输就需要建立一次新的链接。而被动模式过程和上述通信过程差不多,只是由客户端发起数据链路的建立请求。

在 FTP 交互的过程中,客户端通过命令字来告诉服务器相关的信息,常用的有访问控制命令 USER,PASS,CWD,QUIT 等八种;传输参数命令 PORT,PASV,TYPE, STRU,MODE 五种;FTP 服务命令 RETR,STOR,LIST,ABOR 等二十种。 服务器则通过一些状态码告诉客户端当前服务器的反馈状态。一般 2xx 表示当前的操作成功,3xx 表示权限问题,4xx 表示文件问题,5xx 表示服务器问题。

3、简单邮件传送协议(Simple Mail Transfer Protocol, SMTP):用于实现电子邮箱传送功能;

SMTP是一种提供可靠且有效电子邮件传输的协议。SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,SMTP 服务器在默认端口 25 上监听客户请求,主要用于传输系统之间的邮件信息。

SMTP 交互过程

比较简单,首先客户端向服务器的 SMTP 服务端口发起请求,通过三次握手建立链接。然后服务器返回 220 的状态码告诉客户端当前已经准备好服务,客户端收到该状态码后向服务器发出 HELO 或者 EHLO 的命令告诉服务器该客户端需要的服务类型,其中 HELO 是默认的 SMTP 服务,EHLO 要求除了默认的服务之 外还要支持扩展服务。当服务器告诉客户端它所支持的服务之后,双方用命令字和状态码进行交互。

4、telnet远程终端协议:telnet是一个简单的远程终端协议,它也是因特网的正式标准。又称为终端仿真协议。

5、超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务。

是一个属于应用层的面向对象的协议,它是基于 TCP(Transfer Control Protocol, 传输控制协议)的可靠传输,采用的是客户端/服务器的工作模式。在 HTTP 通信过程中,首先由客户端向服务器发起建立链接的请求,通过 TCP三次握手来完成,然后客户端向服务器发出请求,告诉服务器想得到的信息。服务器通过响应返回客户端需要的信息。最后通过 TCP 四次握手关闭链接,从而完成一次基本的通信过程。

基于可靠传输与不可靠传输的协议分类:

TCP提供IP下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送,如:HTTP(但是也可以使用UDP传输),Telnet,FTP,SMTP;

而UDP则不为IP提供可靠性、流控或差错恢复功能,是非面向连接,不可靠的传输,如:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

 

 

 

相关推荐