1、概述
应用层对应用程序的通信提供服务。
应用层协议定义:
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法,如报文中的各个字段及其详细描述。
字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:文件传输、访问和管理;电子邮件;虚拟终端;查询服务和远程作业登录。
应用层的重要协议:FTP、SMTP、POP3、HTTP、DNS。
网络应用模型:客户/服务模型(Client/Server)、P2P模型(Peer to Peer)
1.1 客户/服务模型
服务器:提供计算服务的设备。
1.永久提供服务
2.永久性访问地址/域名
客户机:请求计算服务的主机。
1.与服务器通信,使用服务器提供的服务
2.间歇性接入网络
3.可能使用动态IP地址
4.不与其他客户机直接通信
应用::Web,文件传输,FTP,远程登录,电子邮件。
1.2 P2P模型
不存在永远在线的服务器。
每个主机既可以提供服务,也可以请求服务。
任意端系统/节点之间可以直接通讯。
节点间歇性接入网络。
节点可能改变IP地址可扩展性好。
网络健壮性强。
2、DNS
主机只认识IP地址,人类记不住IP地址,因此会用域名来表示主机,DNS的作用就是把域名转为主机IP。
2.1 域名
2.2 域名服务器
2.3 域名解析过程
3、FTP
文件传送协议FTP (File Transfer Protocol):提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
简单文件传送协议TFTP ( Trivial File Transfer Protocol)
3.1 FTP服务器和用户端
FTP是基于客户/服务器(C/S)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
3.2 FTP工作原理
登录方式:FTP地址+用户名和密码。
匿名登陆:互连网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件。
FTP使用TCP实现可靠传输。
FTP传输模式:文本模式:ASCIl模式,以文本序列传输数据。
4、电子邮件
4.1 组成结构
4.2 SMTP
SMTP(简单邮件传送协议)现定了在两个相互通信的SMTP进程之间应如何交换信息。负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
SMTP采用TCP连接,端口号是25。
通信的三个阶段:建立连接、邮件传送、连接释放。
1、连接建立
2、邮件传送
3、连接释放
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221”,表示同意释放TCP连接。
4.3 MIME
SMTP的缺点:
1.SMTP不能传送可执行文件或者其他二进制对象。
2.SMTP仅限于传送7位ASCIlI码,不能传送其他非英语国家的文字。
3.SMTP服务器会拒绝超过一定长度的邮件。
通过因特网邮件扩充MIME:
使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
4.4 POP3
POP3(邮局协议)采用TCP连接,端口号是110。
POP3工作方式:下载并保留(在服务器)、下载并删除。
4.5 IMAP
IMAP(网际报文存取协议)比POP协议复杂。当用户pc上的lMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
4.6 基于万维网的电子邮件
5、万维网
万维网www (World wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
6、HTTP
6.1 概述
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
用户浏览页面方法:输入URL、点击超链接。
6.2 特点
HTTP协议是无状态的。
但是在实际工作中,一些万维网站点常常希望能够识别用户。
Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录。
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTp连接)。
HTTP的连接方式:持久连接(keep-alive)、非持久连接(Close)。
6.3 连接方式
6.4 报文结构
HTTP报文分为请求报文和相应报文。HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串。
某浏览器发出请求报文如下所示:
状态码:
1xx表示通知信息的,如请求收到了或正在处理。
2xx表示成功,如接受或知道了。
3xx表示重定向,如要完成请求还必须采取进一步的行动。
4xx表示客户的差错,如请求中有错误的语法或不能完成。
5xx表示服务器的差错,如服务器失效无法完成请求。=