Featured image of post 应用层

应用层

应用层

概述

  • 多媒体网络应用
  • DNS
  • 万维网WWW
  • DHCP
  • P2P
  • E-MAIL
  • FTP文件传输协议

C/S方式和P2P模式

C/S方式

描述进程之间服务和被服务的关系

  • 服务器总是处于运行,并等待客户端请求,拥有固定端口号和固定IP地址

  • 服务集中型

P2P方式

没有固定的服务请求者和服务提供者

每个对等方都可以服务或请求服务

  • 服务分散型

  • 扩展性强,系统性能不会因规模的增大而降低

  • 成本低

DHCP动态主机配置协议

使用C/S方式,并在运输层封装为UDP数据报,DHCP客户端口号67,服务端端口号为68

工作流程如下:

  1. 客户广播发送DHCP发现报文,源IP地址0.0.0.0,目的IP255.255.255.255

    • 该报文封装有客户的MAC地址以及事务ID
  2. 服务端查询客户MAC地址,有就使用对应配置信息发送DHCP提供报文,没有就使用默认配置发送。

    • 源IP为服务器主机IP地址,目的IP则为255.255.255.255广播
    • 广播以后,只有DHCP客户拥有监听该UDP用户数据报目的端口68的进程,故其他DHCP服务器收到后,不会解析,直接丢弃
  3. 客户解析出UDP数据报,根据事务ID来判断该报文是否自己所请求的报文

    • 除事务ID,还有一些其他如IP地址的配置信息,其中IP地址已由服务器使用ARP确保该IP未被其他主机占用
  4. 客户从多个DHCP提供报文挑选一个进行使用,并广播DHCP请求报文

    • 封装有事务ID,DHCP客户端MAC地址,接收租约中的IP地址,提供此租约的DHCP服务器的IP地址
  5. 对应的DHCP服务器发送DHCP ACK报文

  6. DHCP客户收到,并再次使用ARP检测分配到的IP地址是否被占用

    • 是:发送DHCP DECLINE,撤销IP地址租约,并重新发送DHCP发现报文
    • 否:直接使用
  7. 当过去一半租用期时,向对应DHCP服务器发送DHCP请求报文,更新租约

    • 同意:发送DHCP ACK得到新租约
    • 不同意:发送DHCP NACK否认,客户端立即停止使用IP地址,并重新发送DHCP发现
    • 未响应:到总共过去0.875倍租用期,重新发送DHCP请求报文等待回应,等到租用期过期,立即停止使用并重新发送DHCP请求报文
  8. 客户在租用期间随时可以通过发送DHCP RELEASE终止使用

DHCP中继代理

对于分隔在不同网络的DHCP服务器和客户主机,需要通过路由器中配置DHCP服务器IP地址使之成为DHCP中继代理才可使用DHCP服务

  • 路由器收到DHCP发现报文后会将该报文单播发送给DHCP服务器

域名系统DNS

采用分布式管理,使大多数域名都在本地解析,少量解析在因特网上通信

因特网采用层次树状结构的域名结构

使用UDP协议封装,运输层端口号为53

域名结构由若干个分量组成,各分量用.隔开,代表不同级别的域名

  • 每一级不超过63个字符,不区分大小写
  • 域名级别从左到右从低到高
  • 完整域名不超过255字符

image-20220920110124750

域名服务器

根域名服务器:

  • 知晓所有顶级域名服务器的域名和IP地址,因特网上总计13个(实际上是13个服务器集群)
  • 通常并不直接对域名解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址

顶级域名服务器:

  • 管理在该顶级域名服务器注册的所有二级域名,收到DNS查询请求就给出响应的回答

授权/权限域名服务器:

  • 负责管理某个区的域名,知晓其管辖的域名与IP地址的映射关系。

本地域名服务器:

  • 一个主机发出DNS请求报文时,首先送往本地域名服务器,它会将报文转发到上述域名服务器的等级结构中
  • 又称默认域名服务器

域名解析

递归查询:

image-20220920110815938

迭代查询:

image-20220920110856620

递归查询对被查询的域名服务器负担太大,一般使用:

从请求主机到本地域名服务器的查询是递归,其余的查询是迭代

为了减轻根域名服务器的负荷,减少因特网上DNS查询报文数量,在域名服务器和主机中广泛的使用了高速缓存

如果主机的DNS高速缓存中有该域名的DNS信息,不需要查询任何域名服务器

文件传送协议FTP

交互式访问,客户可以指明文件的类型与格式,并允许文件具有存取权限。

FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

  • 采用C/S方式

  • 使用TCP连接,熟知端口号20/21

FTP客户和FTP服务器会建立两个TCP连接:用于传送控制命令的连接,传送数据的连接

  1. FTP客户发起TCP连接,这条连接用于传送控制命令,服务器熟知端口号21
  2. 有数据要传送时,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技术是一种对无状态的HTTP进行状态化的技术

缓存与代理服务器

万维网缓存又称Web缓存,可以在客户机,中间系统(又称代理服务器)上

  • Web缓存将最近的一些请求和响应暂存于本地磁盘,当新请求到达时,若请求与缓存的请求一致,则返回暂存的响应
总有些事情高于其他
Built with Hugo
主题 StackJimmy 设计
本站访客数人次 总访问量 本文阅读量