考研—计算机网络—应用层
两种模型——网络应用模型
1)客户/服务器模型
服务器是一个总是打开的主机,用来服务客户机。
客户是服务请求方,服务器是服务提供方。
C/S模式应用包括:Web、文件传输FTP、远程登陆、电子邮件
主要特点:
1、网络中计算机地位不平等,服务器可以限制客户机的权限。
2、客户机之间不直接通信
3、可扩展性不佳
2)P2P模型
peer to peer 对等网络模型。顾名思义,在p2p中没有固定的客户机和服务器的限制,每一对计算机称为对等方,直接相互通信。p2p常用的应用:PPlive、Bittorrent、电驴
与CS相比的优点:
1、减轻服务器压力,消除了对服务器的依赖
2、多个客户机可以直接共享文档
3、可扩展性好
4、网络健壮性好
P2P模型的缺点使获取服务的同时,还要提供服务,会占用较大的内存。影响整机速度。
DNS域名系统
域名系统就是一种方便人们使用的ip地址。域名就是ip地址的人类语言版。DNS使用客户/服务器模式,基于UDP协议,使用53号端口。
域名系统分为三个体系:层次域名系统、域名服务器、解析器
1)层次域名空间
域名就是名字的区域限制,层次就是将域名分层,大层包含小层,这样的树形结构,这样就可以得到一个唯一的域名来表示一个ip地址。域可以分子域,子域还可以划分子域。一般有顶级域、二级域名、三级域名。每一个域名由 . 英文中的点来分开。一个域名从后往前层级降低。即最右边的是顶级域。比如:www.baidu.com 百度的网址,com就是邸国际域名,baidu就是二级域名,www就是三级域名。
关于域名需要注意几点:
1、域名中的英文不区分大小写
2、那个点只能是英文输入法下的点
3、每一个域名不能超过63个字符,整个域名不能超过255个字符。
顶级域名分类
1、国家或地区顶级域名,比如中国就是“.cn”
2、通用顶级域名,常见的有:com公司企业、net网络服务机构、org非营利性组织、gov美国政府部门。
3、基础结构域名,只有一个,arpa,反向域名解析。又称为反向域名
2)域名服务器
DNS采用分布式的数据库系统,客户机/服务器的模式。所有的域名需要到域名服务器解析成ip地址。每一个域名服务器负责的区域大小是有限的,能解析的域名也有限,这些域名服务器不仅能解析域名,还能与其他服务器通信。当自己不能解析的时候,要知道能去找谁。域名服务器按层次分类主要有四类服务器:
1、根域名服务器
根域名服务是最高层次的域名服务器,所有根域名服务器都知道所有顶级域名服务器的ip地址。根域名服务器是最重要的域名服务器,任何本地域名服务器无法解析的时候就直接找根域名服务器帮助。因特网上共有13个根域名服务器,用来管理顶级域,并且告诉本地域名服务器怎么做。
2、顶级域名服务器
顶级域名服务器负责管理在该顶级域名服务器注册的二级域名。当收到DNS查询请求时,就给出相应的回答。
3、授权域名服务器
主机必须在授权域名服务器登记。
4、本地域名服务器
每一个单位就可以拥有一个本地域名服务器,当一个主机发出DNS查询请求,这个查询请求报文就发送给该主机的本地域名服务器。本地域名服务器直接服务我们。
3)域名解析过程
解析就是将域名转换成ip地址或者把ip地址转换为域名。域名到ip地址称为正向解析,ip地址到域名叫反向解析。
域名解析有两种方式递归方式和递归迭代方式。前者在实际中由于过大的负载并不是使用。
1、递归方式
当本地域名服务器找不到解析方式时,就以DNS客户的身份向根域名服务器查询。后面就通过根域名服务器在找顶级域名服务器,在找权限域名服务器后,找到后再原路返回。
2、递归迭代方式
加上迭代的方式,当根域名服务收到本地域名服务器的查询请求,只给出两种回复。一种是根域名知道ip地址就直接告诉它,第二种就是告诉他应该去哪个顶级域名服务器去查找。同样顶级域名也是告诉ip地址或者应该去哪一个权限域名找。
在域名解析的过程中,总共使用了8个UDP报文。
1、客户机向本地域名服务器发出申请
2、本地服务器如果没有,就去找根域名服务器
3、根域名如果不能直接给他ip地址,就把顶级域名服务器的ip地址反给本地
4、本地去顶级域名找
5、顶级域名也不知道,就给他权限域名服务器的ip地址
6、本地去权限服务器找
7、权限服务器给他ip地址。找到了。
8、本地收到ip地址后反给客户。
为了提高DNS的查询效率,在域名服务器中广泛的使用高速缓存。
文件传输协议FTP
FTP是因特网上使用的最广泛的文件传送协议。FTP提高交互式的访问。允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP提高以下功能:
1、提供不同种类主机系统之间的文件传输系统
2、以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
3、匿名FTP的方式提供公用文件共享的能力
FTP采用客户服务器模式,使用TCP可靠的传输。其工作过程:
1、打开熟知端口21(控制端口):使客户进程连接上
2、等待客户进程发送连接请求
3、启动丛属进程来处理客户进程发来的请求。主进程与从属进程并发执行。
4、回到等待状态,继续接收其他客户进程的请求。
FTP在工作时使用两个并行的TCP连接。控制连接21和数据连接20
1、控制连接21
服务器监听21号端口,等待客户连接。控制连接用来传输控制信息。控制信息都是以7位ASCII格式传送。控制连接虽然不传输数据,但是在整个传输过程中,是保证打开状态的。
2、数据连接20
服务器在接收到控制后,就创建“数据传送进程”和“数据连接”。文件传输后关闭连接。
【注意】在使用FTP时,若需要修改服务器上的文件,要将服务器上的文件发送到主机,主机修改后再发给服务器。
【注意2】FTP使用了一个分离的控制连接,所以FTP的控制信息是外带的。
电子邮件
电子邮件是一种异步的传输方式,通信时并不需要双方同时在场,电子邮件发送到收件人使用的邮件服务器,并放在收件箱中,收件人随时可以在网上到自己使用的邮件服务器。
电子邮件由用户代理、邮件服务器组成。其中有SMTP和POP3两种协议帮助制定规则。
1、用户代理UA:用户与电子邮件系统的接口,可以以一个友好的界面让用户查看自己的邮件。通常就是一个PC上运行的软件。
2、邮件服务器:组成电子邮件系统的核心,邮件服务器用来发送和接收邮件,同时还要向发信人报告邮件的传送情况,比如是否到达。使用客户服务器模式,一个邮件服务器既可以当客户也可以当服务器。
3、邮件发送协议:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件。一般是SMTP
4、邮件读取协议:邮件读取协议用于用户代理从邮件服务器读取邮件,一般是POP3
【注意】SMTP是采取推的方式,SMTP客户端将邮件推给服务器端。POP3采用的拉的方式,用户要读取邮件时从邮件服务器拉取邮件。
电子邮件收发过程:
1、发言人调用用户代理来写邮件,用户代理用SMTP协议把邮件传送给对方的邮件服务器。
2、发送邮件服务器将邮件放入邮件发送缓存序列。
3、邮件服务向对方服务器建立TCP连接,发送邮件。
4、对方的邮件服务器收到后,就将邮件放到用户人的邮箱中。
5、收信人打算收信时,就使用POP3协议将邮件拉出来。
电子邮件格式:
From:邮箱名@邮箱所在主机域名
To:邮箱名@邮箱所在主机域名
MIME多用途网际邮件扩充
MIME是为了使电子邮件可以适用于更多种场景。MIME介于用户和SMTP之间,用于非ASCII码转换成ASCII码。因为SMTP只能使用ASCII码传送。MIME可以将用户输入的各种语言转换成ASCII码。MIME主要包括三部分内容:
1、5个新的邮件首部字段。MIME版本、内容描述、内容标识、内容传送编码、内容类型。
2、对多媒体电子邮件格式规范化
3、定义了传送编码。
SMTP协议:
负责发送SMTP的进程就是客户,负责接收邮件的SMTP进程就是服务器。
SMTP用TCP连接,端口号为25.
POP3协议:
接收方的用户代理运行POP3客户进程,接收方的邮件服务器运行POP3服务器程序。
POP3用TCP连接,端口号为110
万维网WWW
万维网组成
1、统一资源定位符URL:负责标识万维网上的各种文档。并使万维网范围下的每一个文档都有一个唯一的URL
2、超文本传输协议HTTP:一个应用层协议,使用TCP连接,是万维网客户端和服务器必须遵守的协议。
3、超文本标记语言HTML:是一种文档结构的标记语言。使用一些约定的标记将各种多媒体整合在一个文档。
URL就是我们上网常用的网址,其格式为:<协议>://<主机>:<端口>/<路径>
常见的协议有http、ftp
主机就是资源所在主机的域名也可以是ip地址
端口和路径有时可以省略。
路径就是该资源在该主机上的文件路径。
比如我随便复制一个网址:https://wenku.baidu.com/view/9082850da45177232e60a20b.html
这是一个百度文库的一个文档的网址,开头就是http协议,wenku.baidu.com是主机的域名,百度属于公司的顶级域名,文库属于百度的二级域名。这个URL没有端口号,斜杠后面就是该文档在文库那个主机下的路径位置,可以看出在view的文件夹内。最后的后缀html就说明这个网址使用了HTML语言,是一个HTM文档。
万维网使用客户服务器模式,我们常用的浏览器就是万维网的客户程序,而存放万维网文档的主机运行着服务程序。其通信工作流程:
1、web用户通过URL与web服务器建立连接,并发送浏览请求。
2、web把url转换成文件路径,并返回信息给web浏览器。
3、通信完成,关闭连接。
【注意】万维网是因特网最主要的部分,但是万维网不是因特网的全部。
HTTP超文本传输协议
HTTP协议规定了在浏览器和服务器之间的请求和响应的格式和规则。是万维网上能够可靠的交换文件的重要基础。
1)HTTP操作过程
万维网站点的服务器不断监视TCP端口80,只要监听到连接请求后,便于浏览器建立连接,TCP连接建立好后,浏览器就向服务器发送请求获取某一web界面的HTTP请求。服务器收到请求后,组织好web界面后,通过HTTP响应返回给浏览器。浏览器将信息解释后,用户就可以看到了。所以HTTP有两种报文:请求报文和响应报文。
https://www.bupt.edu.cn 以访问北京邮电大学为例。
1」浏览器分析链接指向页面的URL
2」浏览器向DNS请求解析https://www.bupt.edu.cn的IP地址
3」域名系统解析出北邮的IP地址
4」浏览器通过IP地址与北邮网站服务器建立TCP连接 默认端口80
5」浏览器发出HTTP请求
6」服务器通过HTTP响应把文件发送给用户
7」TCP连接释放
8」浏览器将文件解释成方便用户使用的样子。
2)HTTP协议的特点
1、HTTP协议是无记忆的,第一次来和第二次来是一样的对待。
2、HTTP协议基于TCP,是可靠的,但是HTTP本身是无连接的,虽然使用TCP,但是通信双方是不需要建立HTTP连接的。
3、HTTP支持非持久连接和持久连接,非持久连接就是传一个网页元素就要建立一个TCP,持久连接就是保持着连接。持久连接又分流水线形式和非流水线形式。
常见应用层协议总结
FTP数据连接 TCP 20
FTP控制连接 TCP 21
TELNET TCP 23(TELNET是远程登录服务的协议)
SMTP TCP 25
DNS UDP 53
TFTP UDP 69 简单文件传输协议
HTTP TCP 80
POP3 TCP 110
SNMP UDP 161 简单网络管理协议