目录
1.应用层概述
应用层是计算机网路体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络发展最快的部分。
经典的网络应用有:
-
万维网WWW
-
域名系统DNS
-
动态主机配置协议DHCP
-
电子邮件
-
文件传送协议FTP
-
P2P文件共享
-
多媒体网络的应用
2.C/S与P2P的简介与区别
客户/服务器方式的服务是服务集中型的,它主要体现在应用服务集中在比用户计算机少的多的服务器计算机上。
P2P的应用是服务分散型的,它是分散在大量对等的计算机上,对等双方既是服务的请求者、又是服务的提供者。
3.动态主机配置协议DHCP
3.1DHCP的作用
试想这样一种问题?
额~我们可以为其手动配置网络配置信息,例如:
但是如果主机的数量规模较大,我们的手工配置的工作量就会变大,而且容易出错!
如果我们配置一台DHCP服务器,给他规定好相关的配置信息范围,当主机开机时,就会自动启动DHCP的进程,自动获取网络的配置信息。
3.2DHCP的工作过程
DHCP主要通过以下报文来实现其功能
报文 | 功能 |
---|---|
DHCP DISCOVER | DHCP发现报文 |
DHCP OFFER | DHCP提供报文 |
DHCP REQUEST | DHCP请求报文 |
DHCP ACK | DHCP确认报文 |
DHCP NACK | DHCP否定报文 |
DHCP RELEASE | DHCP释放报文 |
DHCP报文运输层通过UDP协议封装:
DHCP在客户使用的UDP端口号为68
DHCP服务器使用的UDP端口号为67
DHCP在未获取到IP地址前使用的IP地址为0.0.0.0
具体的工作流程如下:
3.3DHCP中继代理
如果在每一个网络上都配置DHCP服务器的话,现在的互联网错综复杂,会使DHCP服务器过多,所以现在基本都是在网络里有一个DHCP中继代理(通常是一台路由器),路由器里配置了DHCP的ip地址信息,作为主机到DHCP之间的桥梁。
4.域名系统DNS
域名系统DNS是因特网使用的命名系统,用来把人们常熟知的主机名,转化为IP地址。因特网采用了层次树状的域名结构。
4.1因特网的域名空间
4.2域名服务器
域名和IP地址的映射关系存放在域名服务器当中,域名服务器分布在各地。DNS使用域名服务器进行域名到IP地址的转换。
域名服务器的四种类型:
-
根域名服务器:是最高层次的域名服务器,通常并不直接对域名进行解析,而是返回所属顶级域名服务器的IP地址。
-
顶级域名服务器:负责查询二级域名,也可返回权限域名服务器的IP地址。
-
权限域名服务器:管理某个区的域名,每个主机的域名必须在某个区进行注册登记。
-
本地域名服务器:本地域名服务器起着代理的作用,DNS请求报文会率先到本地域名服务器。
域名解析的过程分为了:递归查询和迭代查询
递归查询:
迭代查询:
为了减轻查询的压力,一般在本地域名服务器上使用了高速缓存,一般是2天。
5.文件传输协议FTP
文件传输协议FTP是因特网上使用的最广泛的文件传输协议。
FTP客户和服务器之间要建立"控制连接"和"数据连接"这两个并行的TCP连接,控制连接在整个会话期间都保持连接,而数据连接只是在传输数据时连接,数据传输完之后就会关闭。
默认服务器主动情况下,FTP使用TCP21端口进行控制连接,TCP20端口进行数据连接。
但是服务器在被动的情况下,FTP使用哪个端口进行数据连接需要客户和服务器自行协商决定。
6.电子邮件
6.1概述
电子邮件采用的是客户端-->服务器的方式,三个主要构成组件:用户代理、邮件服务器、电子邮件协议。
-
用户代理指的是用户和电子邮件系统之间的接口,称为电子邮件客户端软件。
-
邮件服务器的功能是接受和发送邮件。
-
协议包括了邮件发送协议(SMTP)和邮件读取协议(POP3)
6.2SMTP
SMTP:常用的邮件发送协议,其主要的特点为:
-
基于TCP的连接,端口号为25
-
只能传送ASCII码文本
-
主要用于用户代理向服务器发送文件和邮件服务器之间传输邮件
为了解决只能传输ASCII码文本的邮件,提出了多因特网扩展MIME,可将非ASCII码转换为ASCII码。
6.3邮件读取协议
邮件读取协议:POP3和IMAP,它们都是基于TCP连接的。
6.4万维网的电子邮件
通过浏览器万维网网站登录即可发送邮件,用户浏览器与邮箱服务器之间基于HTTP协议,而邮件服务器之间还是SMTP。
7.万维网WWW
万维网WWW称为World Wide Web,是运行在因特网上的分布式应用。
7.1URL格式
万维网通过统一资源定位符URL来指定因特网上任意资源的位置,其一般形式为:
协议://主机:端口/路径
7.2HTTP
HTTP定义了浏览器怎样向服务器发送请求,以及服务器怎样向浏览器传送文档。
HTTP1.0采取的是非持续连接,每次请求都要与服务器80端口建立TCP连接,当收到响应是就即刻关闭。
HTTP1.1采取的是持续连接,一直保持着连接,可采用流水线式的方式,即能够连续发送多个请求报文。
7.3Web缓存
Web缓存指的是会把最近的一些发送的请求,而服务器响应的数据放在代理服务器中,浏览器发送请求时,如果与缓存里的请求相同,就会返回缓存里面暂存的数据,而不会再次通过URL访问因特网,Expires表示到期时间,如果缓存数据到期后,浏览器发送请求,代理服务器会访问原始服务器看数据是否有修改,如果没有,则只更新代理服务器数据到期时间即可,如果数据有修改,那么原始服务器会重新响应新的数据给代理服务器。