第六章

6.1应用层概述

应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的

6.2客户/服务器方式(C/S方式)和对等方式(P2P方式)

客户和服务器是指通信中涉及的两个应用进程,客户是服务请求方,服务器是服务提供方服务器总是运行状态并等待客户的服务请求。服务汽油固定端口号(HTTP服务器默认端口号80),而运行服务器的主机也有固定的IP

基于C/S方式的应用服务通常是服务集中型,由于一对多服务因此常会出现服务器计算机跟不上众多客户机请求的情况,为此常用计算机群集构建一个强大的虚拟服务器

对等—在P2P中没有固定的服务请求者和服务提供者。分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方之间直接通信。

基于p2p的应用是服务分散型的,p2p最突出的特性是可扩展性系统性能不会因规模的增大而降低,具有成本上的优势。

6.3动态主机配置协议DHCP

DHCP提供了有一种机制称为即插即用联网。机制允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与

DHCP报文在运输层使用udp协议封装

DHCP客户在未获取到IP地址时使用地址0.0.0.0

6.4域名系统DNS

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

顶级域名TLD分为国家顶级域名nTLD、通用顶级域名gTLD、反向域arpa,国家顶级域名下注册二级域名均由该国家自行设定。

DNS使用分布在各地的域名服务器来实现域名到IP地址的转换

域名服务器可以划分为四种不同类型:根域名服务器-通常并不直接对域名进行解析而是返回该域名所属顶级域名的顶级域名服务器的IP地址、顶级域名服务器-负责管理在该顶级域名服务器注册的所有二级域名、权限域名服务器-负责管理某个区的域名、本地域名服务器-起着代理作用,会将该报文转发到上述的域名服务器的等级结构中,也叫默认域名服务器。**

域名解析过程—递归查询、迭代查询image-20221220170225517

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

DNS报文使用运输层的UDP协议进行封装,运输层端口号为53.

6.5 文件传送协议FTP

因特网上使用最广泛的文件传送协议—FTP提供交互式访问,允许客户指明文件的类型与格式并允许文件具有存取权限,FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

FTP客户与服务器要建立以下两个并行的TCP连接:1.控制连接-在整个会话期一直保持打开,用于传送FTP相关控制命令 2.数据连接-用于文件传输在每次文件传输时才建立,传输结束就关闭。 默认情况下FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接,主动方式使用TCP 20端口,被动方式由服务器和客户端自行决定。

6.6电子邮件

电子邮件系统采用客户/服务器方式,由用户代理、邮件服务器和电子邮件所需的协议构成image-20221221160031680

简单邮件转发协议SMTP工作原理image-20221221160254725

一个电子邮件由信封和内容两部分,内容由首部和主体两部分构成。

SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他二进制对象。

常见邮件读取协议:邮局协议POP—用户只能下载并删除方式或下载并保留方式下载到用户计算机,不允许用户在邮件服务器上管理文件。因特网邮件访问协议IMAP—用户在自己计算机上可以操控邮件服务器中的邮箱。这两种协议都采用基于TCP连接的客户/服务器方式

基于万维网的电子邮件—通过浏览器登录邮件服务器万维网网站。

6.7万维网www

万维网并非某种特殊网络,而是运行在因特网上的一个分布式应用,利用网页之间的超链接将不同网站的网页连接成一张逻辑上的

浏览器最重要的部分式渲染引擎也就是浏览器内核

万维网使用同一资源定位符URL来指明资源位置

URL组成image-20221221162603758

HTML—描述网页结构和内容,CSS描述网页样式,JS控制网页行为

HTTP/1.0采用非持续连接方式,每请求一个文档就要有两倍的RTT的开销,HTTP/1.1采用持续连接方式,还可以流水线工作。

HTTP是面向文本的,每一个字段都是ASCII码串,每个字段长度不确定image-20221221163254755

浏览器使用cookie在服务器上记录用户信息

万维网缓存又叫Web缓存,位于中间系统上的Web缓存又叫代理服务器,Web缓存把最近一些请求和响应暂存在本地磁盘中,当新请求到达时,若新请求到达时,若发现这个请求与暂时存放的请求相同就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。

至此计算机网络课程结束!目前时把计网课程大概浏览了一遍,唉道阻且长呀。接下来这几天差不多花七天时间把Linux看完吧。