应用层
1. DNS
主机与主机的远程通信,如同通过IP地址IPv6很长。通过DNS服务器来使域名替代IP地址,因此在访问时会经历域名到IP地址的解析过程。
域名不区分大小写,从左到右域名等级越高。
DNS服务器有很多台,也有层次划分:
当本地域名服务器也不清楚主机发出的DNS查询请求时,比如第一次访问时,也不知道域名对应的ip地址是多少,便需要根据服务器层次进行请求帮助,根域名服务器->顶级域名服务器->权限域名服务器。直到查询到对应的IP地址,再返回给本地域名服务器。
根域名服务器较为稀少,使用同一台域名服务器的人越多,每个人分到的带宽就越低。
域名解析过程:
递归查询:上述的靠根域名服务器->顶级域名服务器->权限域名服务器这样的查询方式,是先由本地域名服务器请求根域名服务器帮助查询,再由根域名服务器请求顶级域名服务器查询,一级一级下去。
迭代查询:也是开始由本地域名服务器请求根域名服务器帮助查询,但是当根域名服务器查询不到时,由根域名服务器告诉本地域名服务器去那个顶级域名服务器查询,再由本地域名服务器请求顶级域名服务器帮忙查询。最终形成域名对IP地址的映射。当然采用高速缓存可以提升对域名的查询速度,直接将根域名服务器的查询结果存放在本地的高速缓存中,同时由于域名经常变化设置定时器进行定时更新。
2、文件传输协议FTP
FTP主要实现在客户端与服务端之间的上传和下载。
- 概述
将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送。
文件传送协议FTP (File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。
FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。
FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
RFC 959 很早就成为了因特网的正式标准。
在因特网发展的早期阶段,用FTP传送文件约占整个因特网的通信量的三分之一,而由电子邮件和域名系统所产生的通信量还要小于FTP所产生的通信量。只是到了1995年,万维网WWW的通信量才首次超过了FTP。
FTP的常见用途:
FTP的常见用途是在计算机之间传输文件,尤其是用于批量传输文件。
FTP的另一个常见用途是让网站设计者将构成网站内容的大量文件批量上传到他们的Web服务
FTP服务器实现的服务器进程主要包含1个主进程和n个从属进程。
2.1 两个连接
FTP客户和服务器之间要建立以下两个并行的TCP连接:
控制连接,在整个会话期间一直保持打开,用于传送FTP相关控制命令。
数据连接,用于文件传输,在每次文件传输时才建立,传输结束就关闭。
默认情况下,FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接。但是,是否使用TCP 20端口建立数据连接与传输模式有关,主动方式使用TCP 20端口,被动方式由服务器和客户端自行协商决定。
3、邮件系统
用户代理:用户和电子邮件的接口,即程序或界面(qq邮箱)
邮件服务器:24小时工作,大容量信箱。即可作为客户端也可作为服务器,采用c/s模式
3.1 简单邮件传送协议SMTP
4、HTTP协议
HTTP规定如何上网,和如何获取网上资源。
用户通过输入URL或者超链接来请求服务器服务,浏览器接收到请求会:
1.浏览器分析URL
2.浏览器向DNS请求解析IP地址
3.DNS解析出IP地址
4.浏览器与服务器建立TCP连接
5.浏览器发出取文件命令
6.服务器响应
7.释放TCP连接
8.浏览器显示
HTTP特点:
HTTP协议是无状态的,每一次都是新的访问。
非流水型方式:只能等待请求被相应并确认后才能发送下一个请求。
流水型:可以同时发好几个。