本章重点:
- 域名系统 DNS——从域名解析出 IP地址
- 万维网和 HTTP协议,以及万维网的两种不同的信息搜索引擎
- 电子邮件的传送过程,SMTP协议和 POP3协议、IMAP协议使用的场合
- 动态主机配置协议 DHCP的特点
- 网络管理的三个组成部分(SNMP本身、管理信息结构 SMI和管理信息库 MIB)的作用
- 系统调用和应用编程接口的概念
- P2P文件系统
目录
每个应用层协议是为了解决某一类应用问题,而问题的解决往往通过位于不同主机中的多个应用进程之间的通信和协同工作来完成
应用层的许多协议基于客户服务器方式。客户和服务器都是指通信中所涉及的两个应用进程,其中客户是服务请求方,服务器是服务提供方
一、域名系统 DNS
1.1域名系统概述
用户与互联网上某台主机通信时必须要知道对方的 IP地址,但是二进制主机地址很难记,应用层为了便于用户记忆,连在互联网上的主机除了有 IP地址,还有主机名
域名系统 DNS能够把互联网上的主机名转换为 IP地址。由于域名的长度不固定,机器在处理 IP数据报时使用 IP地址而不是域名
域名到 IP地址的解析由分布在互联网上的许多域名服务器程序(可简称为域名服务器)共同完成
1.2互联网的域名结构
互联网采用层次树状结构的命名方法,任何一个连接在互联网上的主机名或路由器都有一个唯一的层次结构的名字,即域名
域可以划分为子域,子域还可以继续划分,这样就形成了顶级域、二级域、三级域等
从语法上讲,每个域名由标号序列组成,各标号之间用点隔开。例如:
注意
- 域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母
- 标号中除连字符(-)外不能使用其他的标点符号
- 级别最低的域名写在最左边,级别最高的域名写在最右边
- 由多个标号组成的完整域名总共不超过255个字符
- 域名只是一个逻辑概念,并不代表计算机所在的物理地点
- 点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个
1.3域名服务器
一个服务器管辖的(或有权限的)范围叫区。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP地址的映射
区是 DNS服务器实际管辖的范围。区可能等于或小于域,但一定不能大于域
1、根域名服务器
最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP地址
最重要的域名服务器,不管哪个本地域名服务器,若要对互联网是任何一个域名解析(即转换成 IP地址),只要自己无法解析,首先求助于根域名服务器
2、顶级域名服务器
负责管理在该顶级域名服务器注册的所有二级域名
当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)
3、权限域名服务器
负责一个区的域名服务器
当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器
4、本地域名服务器
离用户较近,一般不超过计个路由器的距离
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
当所要查询的主机也属于同一个本地 ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的 IP地址,而不需要再去询问其他域名服务器
5、主/辅助域名服务器
为了提高域名服务器的可靠性,DNS域名服务器把数据复制到几个域名服务器来保存,其中一个是主域名服务器,其他的是辅助域名服务器
主域名服务器定时把数据复刻到辅助域名服务器中,而更改数据只能在主域名服务器中进行
6、域名的解析过程
- 递归查询
主机向本地域名服务器的查询一般采用递归查询
如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文
- 迭代查询
本地域名服务器向根域名服务器的查询一般采用迭代查询
当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询
7、高速缓存
域名服务器中广泛地使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录
可大大减轻根域名服务器的负荷,使互联网上的 DNS 查询请求和回答报文的数量大为减少
为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)
当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性
二、文件传送协议
2.1文件传送协议 FTP
提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件
特点
- 只提供文件传送的一些基本的服务,使用 TCP 可靠的运输服务
- 主要功能是减少或消除在不同操作系统下处理文件的不兼容性
- 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求
主进程的工作步骤
- 打开熟知端口(端口号为 21),使客户进程能够连接上
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程
- 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行
两个连接
- 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件
- 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程
- 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行
2.2简单文件传送协议 TFTP
使用客户服务器方式和使用 UDP 数据报,需要有自己的差错改正措施
只支持文件传输而不支持交互
特点
- 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节
- 数据 PDU 也称为文件块,每个块按序编号,从 1 开始
- 支持 ASCII 码或二进制传送
- 可对文件进行读或写
- 使用很简单的首部
注意:TFTP 的工作很像停止等待协议
- 发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号
- 发完数据后在规定时间内收不到确认就要重发数据 PDU
- 发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败
- 开始工作时,TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为 69
- TFTP 服务器进程要选择一个新的端口和 TFTP 客户进程进行通信
- 若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU
- 若文件长度不是 512 字节的整数倍,则最后传送数据 PDU 的数据字段一定不满 512 字节,这正好可作为文件结束的标志
三、万维网
3.1万维网概述
万维网是一个大规模的、联机式的信息储藏所。用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息
万维网是分布式超媒体系统,它是超文本系统的扩充
一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础
超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像
万维网以客户-服务器方式工作
3.2统一资源定位符 URL
URL 相当于一个文件名在网络范围的扩展。因此 URL 是与互联网相连的机器上的任何可访问对象的一个指针
URL 的一般形式:<协议>://<主机>:<端口>/<路径>
协议
- ftp —— 文件传送协议 FTP
- http —— 超文本传送协议 HTTP
- News —— USENET 新闻
主机
- 存放资源的主机在互联网中的域名
端口/路径
- 有时可省略
3.3超文本传送协议 HTTP
3.3.1 HTTP的操作过程
面向事务的应用层协议
定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP报文通常使用 TCP连接传送
HTTP协议是无状态的,服务器并不记得曾经访问过的用户,也不记得为该客户服务过多少次,使得服务器容易支持大量并发的 HTTP请求
从浏览器请求一个万维网文档所需的时间,从用户在点击鼠标链接某个万维网文档开始
持续连接
万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。有两种工作方式
- 非流水线方式:客户在收到前一个响应后才能发出下一个请求
- 流水线方式:客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文
3.3.2代理服务器
又称为万维网高速缓存,它代表浏览器发出 HTTP 请求
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问该资源
使用高速缓存可减少访问互联网服务器的时延
3.3.3 HTTP的报文结构
请求报文——从客户向服务器发送请求报文
响应报文——从服务器到客户的回答
3.4万维网文档
3.4.1动态万维网文档
静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变
动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建
动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同
3.4.2活动万维网文档
活动文档技术把所有的工作都转移给浏览器端
每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行
活动文档程序可与用户直接交互,并可连续地改变屏幕的显示
由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高
3.5信息检索系统
3.5.1全文检索搜索
通过搜索软件到互联网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询
用户在查询时只要输入关键词,就从已经建立的索引数据库上进行查询(并不是实时地在互联网上检索到的信息)
如:谷歌,百度
3.5.2分类目录搜索
并不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询
如:搜狐,网易
3.5.3垂直搜索引擎
针对某一特定领域、特定人群或某一特定需求提供搜索服务
提供关键字来进行搜索的,但被放到了一个行业知识的上下文中,返回的结果更倾向于信息、消息、条目等