导图社区 应用层学习笔记
考研计网第六章应用层思维导图,包含网络应用模型、万维网、域名系统、电子邮件、文件传输协议等内容,结构型知识框架方便学习理解!
编辑于2021-09-12 17:01:53应用层
网络应用模型
客户/服务器模型(C/S模型)
概述:在客户/服务器(C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其它称为客户机的主机请求
工作流程
服务器处于接收请求状态
客户机发出服务请求,并等待接受结果
服务器收到请求后,进行必要的处理,得到结果并发送给客户机
主要特征
客户机是服务请求方,服务器是服务提供方
网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其它受限的网络活动
客户机相互之间不直接通信
受服务器硬件和网络带宽的限制,服务器支持的客户机数量有限,可扩展性不佳
客户/服务器模型的应用
Web
文件传输协议(FTP)
远程登陆
电子邮件
P2P模型
概述
各计算机没有固定的客户和服务器划分
任意一对计算机称为对等方(Peer),直接相互通信
每个结点既作为客户访问其它结点的资源,也作为服务器提供资源给其它结点访问
P2P应用
PPlive
Bittorrent
电驴
优点
减轻了服务器的计算压力,消除了对某个服务器的完全依赖,提高了系统效率和资源利用率
多个客户机之间可以直接共享文档
可扩展性好,传统服务器有响应和带宽的限制,只能接收一定数量的请求
网络健壮性强,单个结点的失效不会影响其它部分的结点
缺点
占用较多的内存,影响整机速度
P2P下载会对硬盘造成较大的损伤
使网络变得非常拥塞
各大ISP(互联网服务提供商,如电信、网通等)通常都对P2P应用持反对态度
域名系统(DNS)
基本概述
域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于机器处理的IP地址
DNS系统采用客户/服务器模型
协议运行在UDP之上,使用53号端口
层次域名空间
因特网采用层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器都有一个唯一的层次结构的名字就是域名
域名规则
标号中的英文不区分大小写
标号中除连字符(-)外不能使用其它的标点符号
每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
级别最低的域名写在最左边,级别最高的顶级域名写在最右边
顶级域名分类
国家顶级域名(nTLD):国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,“.uk”表示英国
通用顶级域名(gTLD):常见的有“.com”(公司)、“.net”(网络服务机构)、“.org”(非营利性组织)和“.gov”(国家或政府部门)等
基础结构域名:这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名
域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型
分类
根域名服务器:最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址
顶级域名服务器
负责管理在该顶级域名服务器注册的所有二级域名
收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)
授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记
授权域名服务器总能将其管辖的主机名转换为该主机的IP地址
本地域名服务器
当一台主机发送DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
每个因特网服务提供者(ISP),或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器
域名解析过程
正向解析:把域名映射成为IP地址
反向解析:把IP地址映射成为域名
查询方式
递归查询:给根域名服务造成的负载过大,所以在实际中几乎不使用
递归与迭代相结合的查询
主机向本地域名服务器的查询采用的是递归查询
本地域名服务器向根域名服务器的查询采用迭代查询
域名解析的过程
客户机向其本地域名服务器发送DNS请求报文
本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
根域名服务器收到请求后,判断该域名属于域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
本地域名服务器向顶级域名服务器dns.com发出解析请求报文
顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文
授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
高速缓存
主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息
优点
提高DNS的查询效率
减少因特网上的DNS查询报文数量
文件传输协议(FTP)
FTP的工作原理
概述
FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限
屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件
FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务
FTP的功能
提供不同种类主机系统(硬件、软件体系等都可以不同)之间的文件传输能力
以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
以匿名FTP的方式提供公用文件共享的能力
FTP进程组成
主进程:负责接收新的请求
若干从属进程:处理单个请求
工作步骤
打开熟知端口21(控制端口),使客户进程能连接上
等待客户进程发送连接请求
启动从属进程来处理客户进程发来的请求
回到等待状态,继续接收其他客户进程的请求
FTP服务器必须在整个会话期间保留用户的状态信息
控制连接与数据连接
特点:FTP在工作时使用两个并行的TCP连接
控制连接(端口号21)
服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接
控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCⅡ格式传送
控制连接在整个会话期间一直保持打开状态
数据连接(端口号20)
服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建数据传送进程和数据连接
传送完毕后关闭“数据传送连接”并结束运行
电子邮件
电子邮件系统的组成结构
电子邮件是一种异步通信方式,使用协议如SMTP、POP3(或IMAP)等
三个主要组成构件
用户代理(UA):用户与电子邮件系统的接口,具有撰写、显示和邮件处理的功能
邮件服务器
组成电子邮件系统的核心
发送和接收邮件
向用户回报发送情况
邮件发送协议和读取协议
SMTP:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件
POP3:邮件读取协议用于用户代理从邮件服务器读取邮件
电子邮件的收发过程
发信人调回用户代理来撰写和编辑要发送的邮件;用户代理用SMTP把邮件传送给发送方邮件服务器
发送方邮件服务器将邮件放入邮件缓存队列中,等待发送
运行在发送方邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接
TCP连接建立后,SMTP客户进程开始向远程SMTP服务器进程发送邮件;当所有待发送邮件发送完后,SMTP就关闭所建立的TCP连接
运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时读取
收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)
电子邮件格式与与MIME
电子邮件格式
To是必需的关键字,后面填入一个或多个收件人的电子邮件地址
Subject是可选关键字,是邮件的主题,反映了邮件的主要内容
From是必填的关键字,但它通常由邮件系统自动填入
多用途网际邮件扩充(MIME)
背景
SMTP只能传送一定长度的ASCⅡ码,许多其它非英语国家的文字(如中文)就无法传送
无法传送可执行文件及其它二进制对象
继续使用目前的格式,增加了邮件主题的结构,并定义了传送非ASCⅡ码的编码规则
内容
5个新的邮件首部字段,包括MIME版本、类型
定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化
定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变
SMTP和POP3
简单邮件传输协议(SMTP)
概述
一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息
使用客户/服务器方式
发送邮件的SMTP进程是SMTP客户,而负责接收的SMTP进程是SMTP服务器
TCP连接,端口号为25
通信阶段
连接建立
发件人的邮件发送到发送方邮件服务器的邮件缓存后,SMTP客户就每隔一定时间对邮件缓存扫描一次
发现有邮件,就是用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接
SMTP不使用中间邮件服务器;TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立
邮件传送
连接建立后就可开始传送邮件
邮件的传送从MAIL命令开始,MAIL命令后面有发件人的地址
SMTP服务器已准备好接收邮件,则回答250 OK,接着SMTP客户端发送一个或多个RCPT(收件人)命令
RCPT命令的作用:先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,避免浪费通信资源
获得OK的回答后,客户端就是用DATA命令,表示要开始传输邮件的内容
连接释放
邮件发送完毕后,SMTP客户应发送QUIT命令
SMTP服务器返回的信息是221(服务关闭),表示SMTP同意释放TCP连接
缺点
SMTP不能传送可执行文件或其它二进制对象
SMTP仅限于传送7位ASCⅡ码,不能传送其它非英语国家的文字
SMTP服务器会拒绝超过一定长度的邮件
POP3
概述
邮局协议(POP)是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3
当用户读取邮件时,用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件
使用客户/服务器的工作方式
在传输层使用TCP,端口号为110
工作方式
下载并保留
下载并删除
因特网报文存取协议(IMAP)
邮件接收协议,比POP复杂得多
用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息
允许用户代理只获取报文的某些部分
基于万维网的电子邮件
特点
用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用HTTP
在不同邮件服务器之间传送邮件时使用SMTP
万维网(WWW)
万维网的概念与组成结构
概念
在这个空间中,有用的事物称为资源,并由一个全域“统一资源定位符”(URL)标识
这些资源通过超文本传输协议(HTTP)传送给使用者,而后通过单机链接来获取资源
万维网的内核部分
统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL
超文本传输协议(HTTP):一个应用层协议,它使用TCP连接进行可靠传输,HTTP是万维网客户程序和服务器之间交互所必须严格遵守的协议
超文本标记语言(HTML):一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述
工作流程
Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
Web服务器把URL转换为文件路径,并返回信息给Web浏览器
通信完成关闭连接
超文本传输协议(HTTP)
概述
HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP是面向事物的应用层协议
规定了在浏览器和服务器之间的请求和响应的格式与规则
是万维网上能够可靠地交换文件的重要基础
HTTP的操作过程
每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80(默认)
当监听到连接请求后便与浏览器建立连接
TCP连接建立后,浏览器就像服务器发送请求获取某个Web页面的HTTP请求
服务器收到HTTP请求后,将构建所请求Web页的必须信息,并通过HTTP响应返回给浏览器
浏览器再将信息进行解释,然后将Web页显示给用户
TCP连接释放
HTTP报文
请求报文
响应报文
用户单击鼠标后发生的事件顺序
浏览器分析链接指向页面的URL
浏览器向DNS请求解析域名的IP地址
域名服务器DNS解析出IP地址
浏览器与该服务器建立TCP连接(默认端口号为80)
浏览器发出HTTP请求:GET/chn/index.html
服务器通过HTTP响应把文件index.htm发送给浏览器
TCP连接释放
浏览器解释文件index.htm,并将Web页显示给用户
HTTP的特点
HTTP是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求
使用Cookie加数据库的方式来跟踪用户的活动
HTTP采用TCP作为运输层协议,保证了数据的可靠传输
HTTP既可以使用非持久连接,也可以使用持久连接
持久连接与非持久连接
非持久连接:每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
持久连接
指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文
非流水线:客户在收到前一个响应后,才能发出下一个请求
流水线:客户每遇到一个对象引用,就立即发出一个请求
HTTP的报文结构
HTTP是面向文本的
报文类型
请求报文:从客户向服务器发送的请求报文
响应报文:从服务器到客户的回答
状态码
1xx表示通知信息,如请求收到了或正在处理
2xx表示成功,如接受或知道了
3xx表示重定向,如要完成请求还必须采取进一步行动
4xx表示客户的差错,如请求中有错误的语法或不能完成
5xx表示服务器的差错,如服务器失效无法完成请求