应用层协议。用于精确定义不同主机中的多个应用进程之间的通信规则。包括:应用进程交换的报文类型,如请求报文和相应报文;各种报文类型的语法,如报文中的各个字段及其详细描述;字段的语义,即包含在字段中的信息的含义;进程何时、如何发送报文,以及对报文进行响应的规则。
域名系统DNS
互联网使用的命名系统,用来把人们使用的机器名字(域名)转换为IP地址。为互联网的各种网络应用提供了核心服务。
域名系统DNS概述:
域名采用层次树状结构的命名方法。DNS是一个联机分布式数据库系统,采用客户服务器方式。域名到IP地址的解析是由若干个域名服务器程序共同完成。
互联网的域名结构:
域名结构:层次结构。由标号序列组成,各标号之间用“.”隔开,各标号分别代表不同级别的域名。
全球顶级域名TLD:国家顶级域名nTLD采用ISO3166的规定,又常记为ccTLD,总数达316个;通用顶级域名gTLD如com,net,org,edu,gov等,总数已达20个;基础结构域名只有一个arpa,用于反向域名解析,又称为反向域名(防垃圾邮件)。在国家顶级域名下注册二级域名均有该国家自行确定。我国把二级域名划分为“类别域名(如com.cn)”和“行政区域名(ha.cn)”两大类。
互联网的域名空间结构:
域名服务器:
实现域名系统需使用分布在各地的域名服务器(DNS服务器)。一个服务器所负责管辖的范围叫做区。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有结点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
域名服务器分为四种类型:根域名服务器,顶级域名服务武器,权限域名服务器,本地域名服务器。
根域名服务器共有13套装置,构成13组根域名服务器。根域名服务器总共只有13个不同IP地址的域名,但并非仅有13台机器组成。根域名服务器分布在全世界,为了提供更可靠的服务,在每一个地点的根域名服务器往往由多台机器组成。根域名服务器采用任播技术,当DNS客户向某个根域名服务器发出查询报文时,路由器能找到离这个DNS客户最近的一个根域名服务器。根域名服务器并不直接把域名转换成IP地址,根域名服务器也没有存放这种信息,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
顶级域名服务器(TLD):负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答,可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址。
权限域名服务器“负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出请求查询的DNS客户,下一步应当找哪一个权限域名服务器。
本地域名服务器:本地域名服务器不一定是本地的,也不一定是本单位的,指的是计算机所设定的DNS服务器。当一个主机发出DNS查询请求时,该查询请求报文就发送给本地域名服务器。每一个互联网服务提供者ISP或一个大学都可以拥有一个本地域名服务器。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的IP地址,而不需要 再去询问其他的域名服务器。
提高域名服务器的可靠性:DNS域名服务器都把数据复制到几个域名服务器来保存,其中一个就是主域名服务器,其他的就是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行,保证了数据的一致性。
域名解析过程:
递归查询:通常,主机向本地域名服务器查询时使用,若本地域名服务器不知道,就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。
迭代查询:本地域名服务器向根域名服务器及其他域名查询时使用。要么给出所要查询的IP地址,要么告诉下一个要查询的域名服务器的IP地址。本地域名服务器继续后续查询。
域名服务器的缓存:存放最近用过的名字以及从何处获得名字映射信息的记录。大大减轻根域名服务器的负荷,使DNS查询请求和回答报文的数量大为减少。域名服务器应为每项内容设置计时器,并处理超过合理时间的项,当权限域名服务器回答一个查询请求时,在响应中指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。
DNS解析顺序:假定主机本身的DNS缓存记录为A,主机设定的DNS服务器为B,根服务器为C,则查询顺序为A,B,C
DNS应明白的知识:Internet上提供客户访问的主机不一定要有域名;同一域名在不同时间可能解析出不同的IP地址;多个域名可以指向同一台主机IP地址,即同一台服务器完成多种服务;同一个子网中的主机可以由不同的域名服务器来维护其映射。
文件传送协议
FTP概述
文件传送协议FTP是互联网上使用得最广泛的文件传送协议。提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间的传送协议。是文件共享协议的一个大类。
FTP的基本工作原理
FTP特点:
- 只提供文件传送的一些基本服务,它使用TCP可靠的运输服务。
- 主要功能:减少或消除在不同操作系统下处理文件的不兼容性。
- 使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;若干个从属进程,负责处理单个请求。
FTP主进程的工作步骤:
- 打开熟知端口(21),使客户进程能够连接上。
- 等待客户进程发出连接请求。
- 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
- 回到等待状态,继续接受其他客户进程发来的请求,主进程与从属进程的处理是并发进行的
简单文件传送协议TFTP
TFTP是一个很小且易于实现的文件传送协议。使用客户服务器方式和使用UDP数据报,因此TFTP需要自己的差错改正措施。只支持文件传输,不支持交互。没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。优点:可用于UDP环境;代码所占的内存较小。
工作过程:开始工作时,TFTP客户进程发送一个读请求或写请求报文给TFTP服务器进程,其UDP熟知端口号为69.TFTP服务器选择一个新的端口和TFTP客户端进行通信。若文件长度恰好为512字节的整数倍,,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据报文。若文件长度不是512字节的整数倍,则最后传送数据报文的数据字段一定不满512字节,作为文件结束的标志。
远程终端协议TELNET
是一个简单的远程终端协议,是互联网的正式标准。允许用户在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。服务是透明的,又称终端仿真协议。
TELNET使用客户-服务器方式:在本地系统运行TELNET客户进程,而在远地主机运行TELNET服务器进程。服务器中的主进程等待新的请求,产生从属进程来处理每一个连接。
NVT(Network Virtual Terminal)格式:两个字符集:数据,控制。
- 客户端把用户的击键和命令转换成NVT格式,并送交服务器。
- 服务器端把收到的数据和命令从NVT格式转换成远地系统所需的格式。
- 向客户返回数据时,服务器把远地系统的格式转换为NVT格式,本地客户再从NVT格式转换到本地系统所需的格式
万维网WWW
万维网概述:
万维网并非某种特殊的计算机网络,万维网是一个大规模的,联机式 信息储藏所。
超媒体与超文本:万维网是分布式超媒体系统,它是超文本系统的扩充。一个超文本由多个信息源链接成,超文本是万维网的基础。超媒体与超文本的区别是文档内容不同,超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息。
万维网的工作方式:以客户服务器方式工作。客户程序是浏览器。服务器程序在万维网文档所驻留的主机上运行,常用的有IIS、Apache,这个计算机也成为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面。
万维网必须解决的问题:
- 怎样标志分布在整个互联网上的万维网文档?使用统一资源定位符URL。使每一个文档在整个互联网的范围内具有唯一的标识符URL。
- 用什么协议来实现万维网上的各种链接?使用超文本传送协议HTTP,HTTP是一个应用层协议,使用TCP连接进行可靠传输。
- 怎样使不同作者创作的不同风格的万维网文档都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?使用超文本标记语言HTML
- 怎样使用户能够很方便地找到所需地信息?使用各种搜索引擎。
统一资源定位符:
统一资源定位符URL是对互联网上资源的位置和访问方法的一种简洁表示。给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。实际上就是在互联网上的资源的地址。互联网上的所有资源都有一个唯一确定的URL。URL相当于一个文件名在网络范围的扩展,因此URL是与互联网相连的机器上的任何可访问对象的一个指针。
URL的格式:由以冒号“:”隔开的两大部分组成,对字符大写或小写没有要求。
超文本传送协议HTTP:
HTTP是面向事务的应用层协议。使用TCP连接进行可靠的传送。定义了浏览器与万维网服务器通信的格式和规则。是万维网上能够可靠地交换文件的重要基础。
HTTP的操作过程:
HTTP规定:在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个类似的通用互联网扩充,即“类MIME”的响应组成,HTTP报文通常都使用TCP连接传送。
请求一个万维网文档所需的时间:
协议HTTP/1.0的主要缺点:每请求一个文档就要有两倍RTT的开销。客户和服务器每一次建立新的TCP连接都要分配缓存和变量。这种非持续连接使服务器的负担很重。
协议HTTP/1.1使用持续连接:持续链接指服务器在发送响应后仍然在一段时间内保持这条连接不释放,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。只要文档在同一个服务器上,就可以继续使用该TCP连接。有两种工作方式:非流水线方式和流水线方式。非流水线方式:客户在收到前一个响应之后才能发出下一个请求,缺点是TCP连接空闲状态。流水线方式:客户在收到响应报文之前就能够接着发送新的请求报文,连续的多个请求报文到达服务器后,服务器就可连续(必须按请求顺序)发回响应报文,下载效率提高。
协议HTTP/2:是协议HTTP/1.1的升级版本。服务器可以并行发回响应(使用同一个TCP连接)。允许客户复用TCP连接进行多个请求。把所有的报文都划分为许多较小的二进制编码的帧,并采用了新的压缩算法,不发送重复的首部字段,大大减小了首部的开销,提高了传输效率。向后兼容。
HTTP的报文结构(请求报文):
万维网的文档:
在一个客户程序主窗口上显示出的万维网文档称为页面。页面制作的标准语言是HTML。分为静态万维网文档,内容不会改变,简单;动态万维网文档,文档的内容由应用程序动态创建;活动万维网文档,由浏览器端改变文档的内容。
超文本标记语言HTML:是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍,是万维网的重要基础。
电子邮件
电子邮件概述:
电子邮件指使用电子设备交换的邮件及其方法。优点:使用方便,传递迅速,费用低廉,可以传送多种类型的信息。重要标准:简单邮件发送协议SMTP,互联网文本报文格式,通用互联网邮件扩充MIME,邮件读取协议POP3和IMAP。
发送和接受电子邮件的重要步骤:
简单邮件传送协议SMTP:
SMTP通信的三个阶段:
- 连接建立:连接是在发送主机的SMTP客户和接受主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。
- 邮件传送。
- 连接释放:邮件发送完毕后,SMTP应释放TCP连接。
连接建立:
邮件传送:
连接释放:
邮件读取协议POP3和IMAP:
POP3:支持用户鉴别;删除被用户读取了的邮件。
IMAP特点:
- 连接后只下载邮件首部(部分下载)
- 用户直接在IMAP服务器上创建和管理文件夹
- 用户可以搜索邮件内容
- 用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件
- 允许收信人只读取邮件中的某一个部分。
- 缺点:要想查阅文件,必须先联网。
万维网电子邮件:
发送、接受电子邮件时使用HTTP协议。两个邮件服务器之间传送邮件时使用SMTP。
MIME和SMTP的关系: