应用层协议

应用层协议定义了什么

应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了:
交换的消息类型,如请求消息和响应消息。
各种消息类型的语法,如消息中的各个字段及其详细描述。
字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送消息及对消息进行响应的规则。
有些应用层协议是由RFC文档定义的,因此它们位于公共领域,例如HTTP。
有些应用层协议是公司或者个人私有的,位于私人领域,例如QQ

应用层具体协议简介

(1)域名系统( DNS):用于实现网络设备名字到IP地址映射的网络服务。
(2)文件传输协议 (FTP):用于实现交互式文件传输功能。
(3)简单邮件传送协议( SMTP):用于实现电子邮箱传送功能。(MIME,POP3,IMAP)
(4)超文本传输协议( HTTP):用于实现WWW服务。
(5)简单网络管理协议( SNMP):用于管理与监视网络设备(路由器,交换机等)。
(6)远程登录协议(Telnet):用于实现远程登录功能。

应用层协议

域名系统DNS

例:某用户通过主机A浏览西安交大的主页 www.xjtu.edu.cn

  1. A向本地域名服务器DNS查询
  2. 如果DNS上有www.xjtu.edu.cn的记录,就立即返回IP地址给主机A
  3. 如果DNS上没有该域名记录,则DNS向根域名服务器发出查询请求
  4. 根域名服务器把负责cn域的*域名服务器B的IP地址告诉DNS
  5. DNS向B查询获得二级域名服务器C的IP地址,最终迭代查询到www.xjtu.edu.cn的ip直接返回DNS

HTTP(超文本传输协议)

HTTP功能

顾名思义,HTTP提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。
ps:万维网
万维网是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本( Hypertext)信息。

HTTP 请求/响应的步骤

1、客户端连接到Web服务器 (建立一个TCP连接)
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口建立一个TCP套接字连接。
2、发送HTTP请求(发送请求)
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,请求报文包含请求的方法、URL、协议版本请求头部和请求数据
3、服务器接受请求并返回HTTP响应(响应请求)
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。
4、释放连接TCP连接 若connection(关闭连接)
模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

FTP文件传送协议

文件传输协议有基于TCP的FTP和基于UDP的简单文件传输协议TFTP 。

应用层协议

Telnet(远程登录)(c/s,tcp)

远程登录功能允许用户与远程计算机进行动态交互,即用自己的键盘,鼠标等输入设备操纵远程计算机,运行远程计算机上的软件,在自己的显示器上了解运行情况,查看运行结果。

SNMP (简单网络管理协议)(UDP)

SNMP:“简单网络管理协议”,用于网络设备管理的协议。 SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。