第六章 应用层 【期末复习|考研复习】
计算机网络系列文章传送门:
第一章 计算机网络概述
第二章 物理层
第三章 数据链路层
第四章 网络层
第五章 传输层
第六章 应用层
第七章 网络安全
计算机网络整理-简称&缩写
文章目录
- [第六章 应用层 【期末复习|考研复习】](#第六章 应用层 【期末复习|考研复习】)
- 前言
- 六、应用层
-
- [6.1 网络应用模型](#6.1 网络应用模型)
-
- [6.1.1 客户/服务器模式C/S模型](#6.1.1 客户/服务器模式C/S模型)
- [6.1.2 P2P模型](#6.1.2 P2P模型)
- [6.2 域名系统DNS](#6.2 域名系统DNS)
-
- 6.2.1层次域名空间
- [6.2.2 域名服务器](#6.2.2 域名服务器)
- [6.2.3 域名解析过程](#6.2.3 域名解析过程)
- [6.3 文件传输协议FTP](#6.3 文件传输协议FTP)
-
- [6.3.1 FTP工作原理及功能](#6.3.1 FTP工作原理及功能)
- [6.3.2 FTP的控制与数据传输模式](#6.3.2 FTP的控制与数据传输模式)
- [6.4 电子邮件](#6.4 电子邮件)
-
- [6.4.1 电子邮件的组成构成](#6.4.1 电子邮件的组成构成)
- [6.4.2 MIME(Multipurpose Internet Mail Extensions)](#6.4.2 MIME(Multipurpose Internet Mail Extensions))
- [6.4.3 SMTP](#6.4.3 SMTP)
- [6.4.4 POP3](#6.4.4 POP3)
- [6.5 万维网WWW](#6.5 万维网WWW)
-
- [6.5.1 超文本传输协议HTTP](#6.5.1 超文本传输协议HTTP)
- [下一章 第七章 网络安全](#下一章 第七章 网络安全)
前言
给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机操作系统和西电的计算机操作系统。
六、应用层
6.1 网络应用模型
6.1.1 客户/服务器模式C/S模型
服务器:1、提供计算服务的设备。2、永久提供服务。3、永久性访问地址或域名。
客户机:1、请求计算服务的主机。2、与服务器通信,使用服务器提供的服务。3、间接性接入网络。4、可能使用动态IP地址。5、不与其他客户机直接通信。
6.1.2 P2P模型
1、不存在永远在线的服务器。2、每个主机既可以提供服务也可以请求服务。3、节点间歇性接入网络。4、节点可能改变IP地址。5、P2P的可拓展性好。6、网络健壮性强。7、多个客户机之间可以直接共享文档。P2P模型的缺点:在获取服务的同时还要给其他节点提供服务因此会占用较多的内存影响整机进度,并且P2P下载可能会对硬盘造成较大损伤。
6.2 域名系统DNS
域名系统是因特网使用的命名系统,用来将具有特定含义的主机名转换为便于机器处理的IP地址。DNS系统采用客户服务器模型,其协议运行在UDP之上,使用53号端口。DNS分为3部分:层次域名空间、域名服务器和解析器。多个IP地址可以映射到同一个域名上,多个主机也可以负载均衡到同一个域名上,一台主机也可以通过虚拟机映射到多个域名上。
6.2.1层次域名空间
从事域名空间可以分为顶级域、二级域、三级域等,顶级域名分为3类:国家顶级域名如.cn/.us,通用顶级域名如.com/.net/.org/.gov,基础结构域名arpa。
6.2.2 域名服务器
域名服务器分为根域名服务器、顶级域名服务器、授权域名服务器、本地域名服务器。全球总共有13个根域名服务器。根域名服务器并不直接把待查询的域名直接转化为IP地址而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。顶级域名服务器管理该顶级域名服务器下注册的所有2级域名。
6.2.3 域名解析过程
域名解析过程有两种方式:递归查询和递归与迭代相结合的查询,通常采用递归与迭代相结合的查询方式。
主机向本地域名服务器的查询采用的是递归查询:如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份向根域名服务器发送查询请求报文。
本地域名服务器向根域名服务器的查询采用迭代查询:根域名服务器收到本地域名服务器发送的迭代查询请求报文时要么给出所查询的IP地址要么告诉本地域名服务器下一步查询的顶级域名服务器的地址,同样顶级域名服务器收到查询请求报文后要么给出所查询的IP地址要么告诉本地域名服务器下一步应向哪一个权限域名服务器查询,最后知道所要解析的域名IP地址后把这个结果返回给查询主机。
对于y.abc.com的域名解析过程:1、客户机向其本地域名服务器发送DNS请求报文。2、本地语音服务器收到请求后查询本地缓存若没有该记录则以DNS客户的身份向根域名服务器发送解析请求报文。3、根域名服务器收到请求后判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。4、本地域名服务器向顶级域名服务器dns.com发送解析请求报文。5、顶级域名服务器dns.com收到请求后判断该域名属于abc.com域因此将对应的授权域名服务器dns.abc.com的 IP地址返回给本地域名服务器。6、本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。7、授权域名服务器dns.abc.com收到请求后将查询结果返回给本地域名服务器。8、本地域名服务器将查询结果保存到本地缓存同时返回给客户机。一共使用了8个UDP报文。
为了提高DNS的查询效率并减少因特网上DNS查询报文数量 在域名服务器中广泛的使用了高速缓存。主机名和IP地址之间的映射不是永久存在的所以DNS服务器在一段时间后丢弃高速缓存中的信息。
6.3 文件传输协议FTP
6.3.1 FTP工作原理及功能
FTP采用客户/服务器的工作方式,使用TCP可靠传输服务提供交互式访问,允许客户指明文件的类型和格式并允许文件具有存储权限。一个FTP服务器进程可同时为多个客户进程提供服务。FTP服务器进程由两大部分组成:1、主进程:负责接收新的请求。2、若干从属进程负责处理单个请求。
6.3.2 FTP的控制与数据传输模式
FTP在工作时使用2个并行的TCP连接:一个是控制链接端口号21,一个是数据链接端口号20。是否使用TCP 20号端口建立数据链接与传输模式有关:主动模式TCP 20端口,被动模式大于1024端口。FTP传输模式分为:1、文本模式:ASCII模式以文本序列传输数据。2、二进制模式:Binary模式以二进制序列传输数据。
6.4 电子邮件
6.4.1 电子邮件的组成构成
一个电子邮件系统具有3个最重要的组成构件,即用户代理,邮件服务器和电子邮件使用的协议如SMTP、POP3。
用户代理:用户与电子邮件系统的接口,通常情况下用户代理就是一个运行在PC上的程序如Outlook、Foxmail等。邮件服务器:它的功能就是发送和接收邮件,同时要告知发信人邮件发送状况。邮件服务器采用客户/服务器的方式工作,但是他必须同时充当客户和服务器。邮件发送协议和读取协议:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP。邮件读取协议用于用户代理从邮件服务器读取邮件如POP3。
电子邮件收发过程:1、发信人调用用户代理来撰写和编辑要发送的邮件,用户代理用SMTP把邮件传传送给发送端邮件服务器。2、发送端邮件服务器将邮件放入邮件缓存队列等待发送。3、运行在发送端邮件服务器的SMTP客户程序发现邮件缓存中有待发送的邮件就向运行在接收端的邮件服务器的SMTP服务器进程发起建立TCP连接。4、TCP连接建立后SMTP客户进程开始向远程SMTP服务器发送邮件,当所有的邮件发送完后SMTP就关闭所建立的TCP链接。5、运行在接收端邮件服务器中的SMTP服务器接收到邮件后将邮件放入收信人的用户邮箱等待收信人在方便时读取。6、收信人打算收件时调用用户代理使用POP3或IMAP协议将自己的邮件从接收端邮件服务器的用户邮箱中取出。
6.4.2 MIME(Multipurpose Internet Mail Extensions)
在SMTP的基础上增加了邮件主体的结构,定义了传送非ASCII的编码规则。支持二进制与多种文字的传送。
6.4.3 SMTP
SMTP用的是TCP链接,端口号为25。SMTP通信有以下3个阶段连接建立邮件传送,连接释放。SMTP缺点:1、不能传送可执行文件或其他二进制对象;2、仅能传送7位ASCII码,不能传送其他非英语国家文字;3、会拒绝超过一定程度的邮件
6.4.4 POP3
邮局协议是一个非常简单但功能有限的邮件读取协议,POP3也采用客户/服务器的工作方式,在传输层使用TCP端口号为110。目前出现很多基于万维网的电子邮件如Hotmail、Gmail等这些电子邮件的特点是用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP,而且在不同的邮件服务器之间才使用SMTP。
6.5 万维网WWW
万维网是一个分布式、联机式的信息存储空间。万维网以客户/服务器的方式工作。在这个空间中,有一个全域的统一资源定位符URL标识这些资源,通过超文本协议HTTP传送给使用者,而后者通过单击链接来获取资源。万维网的内核由3个标准构成:1、统一资源定位符URL,负责标识万维网上的各种文档并使每个文档在整个万维网的使用范围内有唯一的标识符URL。 2、超文本传输协议HTTP:一个应用层协议它使用TCP链接进行可靠传输,HTTP 是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。3、超文本标记语言HTML:一种文档结构的标记语言,它使用一些约定的标记对页面上的各种文字、声音、图像、视频格式进行描述。
URL是对因特网上获得的资源位置和访问的一种简洁表示,URL相当于一个文件名在网络范围内的扩展。URL的一般形式是:<协议>:😕/<主机>:<端口>/<路径>。常见的协议有HTTP、FTP等。
6.5.1 超文本传输协议HTTP
HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网万维网文档以及服务器怎样把文档传送给浏览器。HTTP是面向应用层的协议,每个万维网站点都有一个服务器进程它不断地监听TCP的端口(80), 当监听到连接请求便与浏览器建立TCP链接,然后浏览器就向服务器发送请求获得某个web页面的HTTP请求,服务器收到请求后将构建所请求web页的必须信息并通过HTTP响应返回给浏览器,浏览器再将信息进行解释然后将web页显示给用户,最后TCP连接释放。因此HTTP有两类报文:请求报文(从外部客户端向web服务器发送服务请求)和响应报文(从外部服务器对外部客户端请求的回答)
以清华大学网站为例:1、浏览器分析链接指向页面的URL。2、浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址。3、域名系统DNS解析出清华大学服务器的IP地址。4、浏览器与该服务器建立TCP连接默认端口80。 5、浏览器发出HTTP请求get /chn /index.htm。6、服务器通过HTTP请求响应把文件index.htm发送给浏览器。7、释放TCP连接。8、浏览器解释文件index.htm并将web页显示给用户。
HTTP使用TCP作为运输层协议,保证数据的可靠传输,但HTTP本身是无连接的。虽然HTTP使用了TCP链接但通信双方在交换HTTP报文之前是不需要建立HTTP链接。HTTP是无状态,HTTP既可以使用非持久连接也可以使用持久连接。持久链接又分为非流水线和流水线两种方式。HTTP/1.1默认的方式是使用流水线的持久链接,在这种情况下客户对遇到的每个对象引用就立即发送一个请求,因此客户可以逐个地连续地发送对各个引用对象的请求,这种情况减少了TCP链接中的空闲时间提高了效率。
HTTP请求报文中常用的几个方法:GET:请求读取由URL标识的信息;HEAD请求读取由URL标识的信息的首部;POST:给服务器添加信息如注释;CONNECT:用于代理服务器。