目录
1.应用层概述
应用层的主要任务是通过应用进程的交互实现特定的网络应用,网络应用程序只运行在端系统中,运输层为其提供了端到端的进程间逻辑通信服务
1.1.客户/服务器方式和对等方式
1.客户/服务器方式(C/S方式)
客户/服务器方式是指进程间服务与被服务的方式;客户进程为服务请求方,服务器进程为服务提供方
C/S方式是服务集中型,即随着进程的增多服务器性能降低
服务器总是处于运行状态,等待客户进程的服务请求,服务器和服务器主机有着固定的端口号和IP地址
2.对等方式(P2P方式)
在P2P方式中,无固定服务请求者和服务提供者,通信对等方相互之间直接进行通信
P2P方式是服务分散性,且具有良好的可拓展性,系统性能与用户数量无明显关系
1.2.动态主机配置协议DHCP
动态主机配置协议DHCP可以为计算机自动配置网络参数,采用C/S方式,DHCP报文封装在UDP用户数据报进行传输
2.域名系统DNS
2.1.DNS的作用
使用域名可以更方便人们记忆目的主机地址,通过域名可以映射到相应的IP地址
2.2.层次树状结构的域名结构
因特网采用层次树状结构的域名结构:
···.三级域名.二级域名.顶级域名
每个域名由字母和数字组成,且总长度不超过25个字符;从左向右域名等级逐渐提高,各级域名由上一级域名管理机构管理(域名相同 != 级别相同)
2.3.因特网上的域名服务器
域名服务器的作用是将域名找到对应的IP地址
1.根域名服务器:拥有所有顶级域名服务器的域名以及IP地址,返回该域名所属的顶级域名的域名服务器的IP地址
2.顶级域名服务器:管理在该顶级域名服务器注册的所有二级域名
3.权限域名服务器:管理某个区的域名
本地域名服务器:不属于上述域名服务器等级体系,起代理作用,将该报文转发到上述域名服务器等级结构中查找
2.4.域名解析过程
递归查询需要逐级查询,若查找某一域名IP,本地服务器只需发送一次查询请求即可
迭代查询需要分别查询,若查询某一域名IP,本地服务器需要发送多次查询请求
主机到本地服务器总是递归查询
2.5.DNS高速缓存
高速缓存用于存放最近查询过的域名以及从何处获得域名映射信息的记录
高速缓存会为每项内容设置计时器,若超出计时器则删除该内容
3.文件传送协议FTP
1.FTP的作用
FTP提供交互式访问,采用C/S方式,允许客户指明文件类型与格式,还可以设置存取权限
FTP屏蔽了各计算机系统的细节,可在异构网络中任意计算机间传送
2.FTP的工作原理
FTP分为主动模式和被动模式两种工作方式
主动模式:通信双发建立数据通道时,FTP服务器主动连接FTP客户
被动模式:通信双发建立数据通道时,FTP服务器被动连接FTP客户,端口号可由用户自行决定
FTP双方首先要建立两条TCP连接:控制连接和数据连接,控制连接用于传送控制命令,在FTP工作过程中始终打开;数据连接仅在数据传输时打开;在主动模式下,控制连接和数据连接的端口号分别为21,20
4.电子邮件
1.电子邮件系统的组成
电子邮件系统由三部分组成:用户代理、邮件服务器、电子邮件所需协议
2.电子邮件的发送与接收
电子邮件系统采用C/S方式,通信双面需要建立TCP通道
3.简单邮件传送协议SMTP和多用途因特网邮件扩展MIME、POP3邮件读取协议
SMTP:SMTP仅支持传送7比特的ASCII码数据,TCP熟知端口号为25
MIME:当发送邮件中含有ACSII码之外的数据时,需要通过MIME将其转换为ACSII码数据再进行SMTP发送,接收方同样可以使用MIME还原SMTP中非ASCII数据
POP3:POP3仅支持下载删除/下载并保存文件,不可在服务器上管理文件,TCP熟知端口号为110
5.万维网WWW
5.1.统一资源定位符URL
万维网用URL来指明因特网上任意资源的位置,其一般形势如下:
<协议>://<主机>:<端口>:/<路径>
5.2.万维网文档
万维网文档由以下三个主要部分构成:
超文本标记语言HTML:用于描述网页结构和内容
层叠样式表CSS:用于描述网页样式
脚本语言JavaScript:用于控制网页行为
5.3.超文本传输协议HTTP
1.HTTP的操作过程
·非持续连接方式:每次浏览器进程要请求一个文件(2RTT+文档传输时延)都要与服务器建立TCP连接,收到相应后立即关闭连接
每请求一个文档会有2RTT的额外开销
·持续连接方式:万维网服务器发送相应后仍保持TCP连接
2.HTTP的报文格式
HTTP报文是面向文本的,即每一个字段为不定长的ACSII码串
HTTP请求报文格式如下: