1.1应用层概念
应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。
- 最早期基于文本的应用(电子邮件、远程登录、文件传输、新闻组)
- 20世纪90年代将因特网带入千家万户的万维网WWW
- 当今流行的即使通信、p2p文件共享及各种音频应用
- 计算设备的小型化和“无处不在”,宽带住宅接入和无线网接入的日益普及和迅速发展,为未来更多的新型应用提供了广阔的舞台。
2.1客户/服务器方式(C/S方式)和对等方式(P2P方式)
客户/服务端(Client/Server,C/S)方式
- 客户和服务器是指通信中所涉及的两个应用进程。
- 客户/服务器方式所描述的是进程之间服务和被服务的关系。
- 客户是服务请求方,服务器是服务提供方。
- 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口(例如HTTP服务器的默认端口为80),而运行服务器的主机也具有固定的IP地址。
C/S方式是因特网上传统的,同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是C/S方式。包括万维网WWW、电子邮件、文件传输FTP等。
基于C/S方式的应用服务通常是服务集中型的,即应用服务集在网络中比客户计算机少得多得服务器计算机上。
- 由于一台服务器计算机要为多个客户端提供服务,在C/S应用中,常会出现服务器计算机跟不上众多客户机请求得情况。
- 为此,在C/S应用中,常用计算机集群(或服务器场)构建一个强大得虚拟服务器。
3.1动态主机配置协议DHCP
DHCP是应用层中的协议:用来自动分配IP地址、子网掩码、默认网关、DNS服务器
DHCP的工作过程
DHCP中继代理
4.1域名系统DNS
域名系统DNS的作用:便于用户记忆
DNS使大多数域名都在本地解析,仅少量解析需要在英特网上同行,因此系统效率很高。
由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行。
域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。显然不能将所有信息都储存在一台域名服务器中。DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。
根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。
域名解析的过程
- 递归查询
- 迭代查询
DNS报文使用运输层的UDP协议进行封装,运输层端口号为53
5.1文件传送协议FTP
文件传送协议FTP是因特网上使用最广泛的文件传送协议。
- FTP提供交互的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限
- FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间的传送文件。
FTP的常见用途是在计算机之间传输文件,尤其是用于批量传输文件
FTP的另一个常见的用途是让网站设计者将构成网站内容的大量文件批量上传到他们的Web服务器。
FTP的基本工作原理:
控制指令的通道一直打开(20端口),用于传送数据的通道(21端口)当传送时才打开,不传送的时候就关闭。
6.1电子邮件
简单邮件传送协议SMTP的基本工作原理
电子邮件的信息格式并不是由SMTP定义的,而是在RFC 822中单独定义的。一个电子邮件有信封和内容两部分。而内容又有首部和主体两部分构成。
SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。
为了解决SMTP传送非ASCII码文本的问题,提出了多用途因特网邮件扩展MIME
实际上,MIME不仅仅用于SMTP,也用于后来的同样面向ASCII字符的HTTP
常用的邮件读取协议有两种:
- 邮局协议POP:110端口(不允许用户在邮件服务器上管理自己的邮箱,只能下载保留或删除等操作)
- 因特网邮件访问协议IMAP:143端口(用户在自己的计算机上就可以操纵邮箱服务器中的邮箱)
基于万维网的电子邮件
7.1万维网WWW
为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类资源的位置
超文本传输协议HTTP
HTTP的报文格式
- HTTP是面向文本的,其报文中的每一个字段都是ASCII码串,并且每个字段的长度都是不确定的。
使用Cookie在服务器上记录用户信息
- Cookie是一种对无状态的HTTP进行状态化的技术
万维网缓存与代理服务器
- 在万维网中还可以使用缓存机制以提高万维网的效率
- 万维网缓存又称为Web缓存,可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器。
- web缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与缓存的请求相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。