应用层
概述
- 多媒体网络应用
- DNS
- 万维网WWW
- DHCP
- P2P
- FTP文件传输协议
C/S方式和P2P模式
C/S方式
描述进程之间服务和被服务的关系
-
服务器总是处于运行,并等待客户端请求,拥有固定端口号和固定IP地址
-
服务集中型
P2P方式
没有固定的服务请求者和服务提供者
每个对等方都可以服务或请求服务
-
服务分散型
-
扩展性强,系统性能不会因规模的增大而降低
-
成本低
DHCP动态主机配置协议
使用C/S方式,并在运输层封装为UDP数据报,DHCP客户端口号67,服务端端口号为68
工作流程如下:
-
客户广播发送
DHCP发现报文
,源IP地址0.0.0.0,目的IP255.255.255.255- 该报文封装有客户的MAC地址以及事务ID
-
服务端查询客户MAC地址,有就使用对应配置信息发送
DHCP提供报文
,没有就使用默认配置发送。- 源IP为服务器主机IP地址,目的IP则为255.255.255.255广播
- 广播以后,只有DHCP客户拥有监听该UDP用户数据报目的端口68的进程,故其他DHCP服务器收到后,不会解析,直接丢弃
-
客户解析出UDP数据报,根据事务ID来判断该报文是否自己所请求的报文
- 除事务ID,还有一些其他如IP地址的配置信息,其中IP地址已由服务器使用ARP确保该IP未被其他主机占用
-
客户从多个
DHCP提供报文
挑选一个进行使用,并广播DHCP请求报文
- 封装有事务ID,DHCP客户端MAC地址,接收租约中的IP地址,提供此租约的DHCP服务器的IP地址
-
对应的DHCP服务器发送
DHCP ACK
报文 -
DHCP客户收到,并再次使用ARP检测分配到的IP地址是否被占用
- 是:发送
DHCP DECLINE
,撤销IP地址租约,并重新发送DHCP发现报文
- 否:直接使用
- 是:发送
-
当过去一半租用期时,向对应DHCP服务器发送
DHCP请求报文
,更新租约- 同意:发送
DHCP ACK
得到新租约 - 不同意:发送
DHCP NACK
否认,客户端立即停止使用IP地址,并重新发送DHCP发现
- 未响应:到总共过去0.875倍租用期,重新发送
DHCP请求报文
等待回应,等到租用期过期,立即停止使用并重新发送DHCP请求报文
- 同意:发送
-
客户在租用期间随时可以通过发送
DHCP RELEASE
终止使用
DHCP中继代理
对于分隔在不同网络的DHCP服务器和客户主机,需要通过路由器中配置DHCP服务器IP地址使之成为DHCP中继代理才可使用DHCP服务
- 路由器收到
DHCP发现报文
后会将该报文单播发送给DHCP服务器
域名系统DNS
采用分布式管理,使大多数域名都在本地解析,少量解析在因特网上通信
因特网采用层次树状结构的域名结构
使用UDP协议封装,运输层端口号为53
域名结构由若干个分量组成,各分量用.
隔开,代表不同级别的域名
- 每一级不超过63个字符,不区分大小写
- 域名级别从左到右从低到高
- 完整域名不超过255字符
域名服务器
根域名服务器:
- 知晓所有顶级域名服务器的域名和IP地址,因特网上总计13个(实际上是13个服务器集群)
- 通常并不直接对域名解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址
顶级域名服务器:
- 管理在该顶级域名服务器注册的所有二级域名,收到DNS查询请求就给出响应的回答
授权/权限域名服务器:
- 负责管理某个区的域名,知晓其管辖的域名与IP地址的映射关系。
本地域名服务器:
- 一个主机发出DNS请求报文时,首先送往本地域名服务器,它会将报文转发到上述域名服务器的等级结构中
- 又称默认域名服务器
域名解析
递归查询:
迭代查询:
递归查询对被查询的域名服务器负担太大,一般使用:
从请求主机到本地域名服务器的查询是递归,其余的查询是迭代
为了减轻根域名服务器的负荷,减少因特网上DNS查询报文数量,在域名服务器和主机中广泛的使用了高速缓存
如果主机的DNS高速缓存中有该域名的DNS信息,不需要查询任何域名服务器。
文件传送协议FTP
交互式访问,客户可以指明文件的类型与格式,并允许文件具有存取权限。
FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
-
采用C/S方式
-
使用TCP连接,熟知端口号20/21
FTP客户和FTP服务器会建立两个TCP连接:用于传送控制命令的连接,传送数据的连接
- FTP客户发起TCP连接,这条连接用于传送控制命令,服务器熟知端口号21
- 有数据要传送时,FTP客户通过1中建立的连接告知服务器与自己另一个临时端口建立TCP连接,即数据通道,服务器熟知端口号20
只有传送控制命令的连接始终打开,传送数据的连接当数据传输终止即关闭
电子邮件系统
采用C/S方式,主要有用户代理,邮件服务器,电子邮件所需的协议三部分组成
其中电子邮件所需的协议有发送协议(SMTP)、读取协议(POP3,IMAP)之分
- 基于TCP连接实现
- 发送方用户代理使用SMTP送信到发送方邮件服务器
- 发送方邮件服务器与接收方邮件服务器使用SMTP发送
- 接收方用户代理需要使用POP3,IMAP从接收方邮件服务器拿取信件。
发送协议SMTP
建立TCP连接,服务器使用熟知端口号25
- 客户可使用14条SMTP命令,服务器可使用21种SMTP应答
- 不同的SMTP服务器给出的相应应答代码可能不同
- 只支持传输7bitASCII码
邮件信息格式
一个电子邮件有信封和内容两部分,而内容又有首部和主体两部分构成
- SMTP只能传送ASCII码文本数据,不能传送多媒体邮件以及部分非英语国家的文字
- 而MIME协议可以帮助SMTP转化非ASCII码数据转化为ASCII码
读取协议
分有POP和IMAP
-
POP:用户不能在邮件服务器上管理自己的邮件,例如创建文件夹,对邮件分类管理
-
IMAP:是个联机协议,允许用户在本地计算机操控邮件服务器中的邮箱
-
都基于TCP连接
浏览器与邮件服务器之间传输信件使用的是HTTP!
万维网WWW
它是一种大规模、联机式的信息储藏所,是运行在因特网上的一个分支应用,并非某种特殊的计算机网络
使用统一资源定位符URL来指明因特网上任何种类“资源”的位置。
超文本传输协议HTTP
HTTP/1.0使用非持续连接方式,基于TCP连接实现。
-
每次浏览器请求一个文件都要与服务器建立TCP连接,收到响应后就立即关闭连接
-
每请求一个文档就有两倍的RTT开销
HTTP/1.1使用持续连接方式
- 在发送响应后仍保持TCP连接,同一个客户和给服务器可以继续在TCP连接上传送后续HTTP请求和响应报文。
- 可以使用流水线方式,即发送请求时不用等待响应,直接发送后续请求
HTTP是面向文本的,每一个字段都是ASCII码串,长度不固定
Cookie
Cookie技术是一种对无状态的HTTP进行状态化的技术
缓存与代理服务器
万维网缓存又称Web缓存,可以在客户机,中间系统(又称代理服务器)上
- Web缓存将最近的一些请求和响应暂存于本地磁盘,当新请求到达时,若请求与缓存的请求一致,则返回暂存的响应