计算机网络笔记(七)——应用层
-
域名系统 DNS:互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
·计算机的用户只是间接而不是直接使用域名系统。
·互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。
·名字到 IP 地址的解析是由若干个域名服务器程序完成的。(域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器)
·域名到IP地址的解析过程
①当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。
②本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。
③应用进程获得目的主机的IP地址后即可进行通信。 -
互联网的域名结构
·任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
·域名的结构由标号序列组成,各标号之间用点隔开,各标号分别代表不同级别的域名。
·域名是个逻辑概念,并不代表计算机所在的物理地点。
·顶级域名分类
①国家顶级域名 nTLD,例如:.cn 表示中国,.us 表示美国,.uk 表示英国。
②通用顶级域名 gTLD,最早的顶级域名是:.com(公司和企业),.net(网络服务机构,.org(非赢利性组织),.edu(美国专用的教育机构),.gov(美国专用的政府部门),.mil(美国专用的军事部门),.int(国际组织)。
③基础结构域名:只有一个,即 arpa。
用于反向域名解析,因此又称为反向域名。
·二级域名:我国把二级域名划分为“类别域名”和“行政区域名”两大类。
①类别域名(7个):ac(科研机构),com(工、商、金融等企业),edu
(中国的教育机构),gov(中国的政府机构),mil(中国的国防机构),net(提供互联网络服务的机构),org(非营利性的组织)。
②行政区域名(34个):适用于我国的各省、自治区、直辖市,例如:bj(北京市),is(江苏省)。 -
域名服务器
·权限域名服务器:用来保存该区中的所有主机的域名到 IP 地址的映射。
·DNS 服务器的管辖范围以“区”为单位(区:一个服务器所负责管辖/有权限的范围)。
·树状结构的DNS域名服务器
·分类:根域名服务器;顶级域名服务器;权限域名服务器;本地域名服务器(默认域名服务器)。
·提高域名服务器的可靠性:DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。
·域名解析过程
①主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
②本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
·每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。 -
文件传送协议 FTP :互联网上使用得最广泛的文件传送协议。
·文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
·主要功能:减少或消除在不同操作系统下处理文件的不兼容性。
·FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。
·FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;若干个从属进程,负责处理单个请求。
·主进程工作步骤
①打开熟知端口(端口号为 21),使客户进程能够连接上。
②等待客户进程发出连接请求。
③启动从属进程来处理客户进程发来的请求。
④回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
·文件传输时建立两个并行的TCP连接
①控制连接:会话期间一直打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程。(端口号21)
②数据连接:用于传输文件。(端口号20)
·使用两个不同端口号的好处:数据连接与控制连接不会发生混乱;使协议更加简单和更容易实现;在传输文件时还可以利用控制连接。
·网络文件系统NFS:允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。(在网络上传送的只是少量的修改数据) -
简单文件传送协议TFTP
·使用客户服务器方式和使用 UDP 数据报,需要有差错改正措施;只支持文件传输而不支持交互;没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
·特点
①每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。
②数据 PDU 也称为文件块,每个块按序编号,从 1 开始。
③支持 ASCII 码或二进制传送。
④可对文件进行读或写。
⑤使用很简单的首部。
·工作流程
①发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。
②开始工作时,TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为 69。
③TFTP 服务器进程要选择一个新的端口和 TFTP 客户进程进行通信。
④若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU。
⑤若文件长度不是 512 字节的整数倍,则最后传送数据 PDU 的数据字段一定不满 512 字节,这正好可作为文件结束的标志。 -
远程终端协议 TELNET
·可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。
·客户服务器方式,过程和 FTP 的情况相似。
·网络虚拟终端 NVT :使用NVT格式进行客户和服务器的传送。 -
万维网WWW
·大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
·万维网是分布式超媒体系统,是超文本系统的扩充。(超文本:包含指向其他文档的链接的文本)
·万维网以客户 - 服务器方式工作:客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面。
·需解决的问题
①怎样标志分布在整个互联网上的万维网文档:统一资源定位符 URL。
②用何协议实现万维网上各种超链的链接:超文本传送协议 HTTP 。
③怎样使各种万维网文档都能在互联网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链:超文本标记语言 HTML 。
④怎样使用户能够很方便地找到所需的信息:搜索工具。 -
统一资源定位符 URL
·定义:对可以从互联网上得到的资源的位置和访问方法的一种简洁表示。
·一般形式
①<协议>:指出使用什么协议来获取该万维网文档。
②“://”:规定的格式。
③<主机>:指出这个万维网文档是在哪一台主机上,即该主机在互联网上的域名。
④<端口>和<路径>:有时可省略。
·使用 HTTP 的 URL
①HTTP 的默认端口号是 80,通常可省略。
②若省略文件的<路径>项,则 URL 就指到互联网上的某个主页 。 -
超文本传送协议 HTTP
·面向事务的应用层协议,它万维网上能够可靠地交换文件的重要基础。
·工作过程:HTTP 报文通常都使用 TCP 连接传送。
①每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口 80,以便发现是否有浏览器(即万维网客户)向它发出连接建立请求。
②一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
③最后,TCP 连接就被释放了。
·主要特点
①HTTP 协议本身是无连接的:虽然使用了面向连接的 TCP 向上提供的服务,但通信双方在交换HTTP报文前不需要建立HTTP连接。
②HTTP 1.0 协议是无状态的:同一个客户第二次访问同一服务器上的页面时,服务器的响应与第一次被访问时相同 。
·请求一个万维网文档所需的时间
①万维网客户把HTTP请求报文,作为建立TCP连接的三报文握手中的第三个报文的数据,发送给万维网服务器。
②请求一个万维网文档所需的时间是该文档的传输时间(与文档大小成正比)加上两倍往返时间RTT。
·HTTP/1.1 协议使用持续连接 :服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
①非流水线方式:客户在收到前一个响应后才能发出下一个请求。
②流水线方式:客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文。
·代理服务器:又称为万维网高速缓存。万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。 -
HTTP报文结构
·HTTP 是面向正文的,因此报文中每一个字段都是一些 ASCII 码串,每个字段的长度都是不确定的。
·HTTP 请求报文的一些方法
·HTTP响应报文的状态码 -
Cookie:HTTP 服务器和客户之间传递的状态信息。
·使用 Cookie 的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。 -
超文本标记语言 HTML:制作万维网页面的标准语言。
·HTML 把各种标签(用于排版的命令)嵌入到万维网的页面中,构成了所谓的 HTML 文档。
·HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。
·HTML文档
①仅当 HTML 文档是以 .html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。
②如 HTML 文档改换以 .txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。
·HTML规定了链接的设置方法,每个链接都有一个起点和终点。
①远程链接:超链的终点是其他网点上的页面。
②本地链接:超链指向本计算机中的某个文件。 -
万维网的信息检索系统
·搜索引擎分类:全文检索搜索引擎(谷歌、百度);分类目录搜索引擎(雅虎、新浪、搜狐、网易)。 -
电子邮件
·重要标准:简单邮件发送协议SMTP;互联网文本报文格式;通用互联网邮件扩充 MIME;邮件读取协议(如邮局协议POP3 和网际报文存取协议IMAP)。
·电子邮件系统组成构建:用户代理,邮件服务器(如SMTP),以及邮件发送和读取协议(如POP3 和 IMAP)。
·用户代理 UA:用户与电子邮件系统的接口,即电子邮件客户端软件,包括撰写、显示、处理和通信功能。 -
动态主机配置协议 DHCP
·定义:在协议软件中,给协议参数赋值的动作
·DHCP提供了即插即用连网的机制。
·需要配置的参数包括:IP 地址;子网掩码;默认路由器的 IP 地址;域名服务器的 IP 地址。
·工作方式:客户-服务器方式。
①需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文,这时该主机就成为 DHCP 客户。
②本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
③DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 取一个地址分配给该计算机。(DHCP服务器的回答报文叫做提供报文)
·中继代理:并不是每个网络上都有DHCP服务器,这样会使DHCP服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。 -
简单网络管理协议SNMP
·管理程序和代理程序之间进行通信的规则。网络管理员利用网络管理协议,通过管理站对网络中的被管设备进行管理。
·基本功能:监视网络性能;检测分析网络差错;配置网络设备等。
·组成:SNMP 本身;管理信息结构 SMI ;管理信息库 MIB。 -
系统调用:在应用程序和操作系统之间传递控制权。
·多个应用进程的系统调用机制
·当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程。
·几种常用的系统调用(以使用TCP的连接为例)
①连接建立阶段
②数据传送阶段
③连接释放阶段
·并发方式工作的服务器:一个服务器必须能够同时处理多个连接。 -
P2P体系结构:在网络应用中,没有(或只有极少数的)固定的服务器,而绝大多数的交互都是使用对等方式(P2P方式)进行的。