• 欢迎访问我的个人博客网站,本站专注电商运营,建站SEO推广服务,有需求请与我联系!

第九章 应用层

1.域名系统 DNS 的产生32 比特的 IP 地址难于记忆,应该使用符号化地址,比如用 netlab.cc.cqu.edu.cn 表示 202.202.12.2。但是,网络本身是使用 IP 地址的,因此需要一个完成二者之间相互转换的机制。当网络规模比较小时,例如 ARPANET,每台主机只需查找一个文件,该文件中列出了主机与 IP 地址的对应关系。当网络规模很大时,上述方法就不适用了,因此产生了域名系统 DNS(Domain Name System)。MAC 地址是数据链路层中寻址使用的地址,是网络设备的物理地址;网络地址用于网络层中的寻址,用二进制表示;远程地址由应用层使用,用 ASCII 码字符串表示,采用主机名方式,使地址能具有一定的语义内容,便于用户记忆。实际上,网络本身使用的是二进制的网络地址,需要有一种手段,把远程地址与网络地址建立映射关系。DNS 就是用于完成这种映射工作的系统。2.DNS 域名系统用于进行主机名字与 IP 地址之间的转换。DNS 的核心是分级的、基于域的命名机制和用于实现该命名的分布式数据库系统。主要用于把主机名和电子邮件地址映射为 IP 地址。3.域名服务的三大要素(1) 域(Domain)和域名(Domain name):域指由地理位置或业务类型而联系在一起的一组计算机构成。(2) 主机:由域名来标识。域名是由字符和(或)数字组成的名称,用于替代主机的数字化地址(IP 地址)。(3) 域名服务器:提供域名解析服务的主机,通常由其 IP 地址标识。  4.因特网的域名因特网上每一个主机或路由器都有一个唯一的域名;通过在域名服务器中查找映射表,实现域名到 IP 地址的自动转换;域名系统 DNS 是一个多层次的、分布式数据库系统,由域名服务器、域名空间和地址转换请求程序组成。域名系统是一个典型的客户/服务器交互系统,它不仅能把域名、IP 地址和主机名相互解析,还包括对域名的管理。它是由“.”所分开的字符数字串所组成,为多级结构:….四级域名.三级域名.二级域名.顶级域名,例如:http://www.cqu.edu.cn.域名是大小写无关的,“edu”和“EDU”相同。域名最长 255 个字符;每部分最长 63 个字符,最少 2 个字符。顶级域名有三大类:(1) 国家顶级域名:cn, uk, ca, jp(2) 国际顶级域名:int(3) 通用顶级域名:com, net, org 顶级域名由 ICANN 管理,在国家顶级域名下的二级域名由该国家自行管理。

5.DNS 名字空间采用层次结构的命名树。按域的树状结构,从下而上按路径命名,成员用句点分隔。对大小写不敏感(edu = EDU)。成员名最长可达 63 个字符,路径全名不超过 255 个字符。若域名取得好,就很容易帮助记忆。如:cs.purdue.edu,美国普渡大学计算机系。 cqu. edu.cn  重庆大学,cn 代表该域名所属的顶级域;edu 代表 cn 中的次级域,即教育部;cqu 代表教育部的次级域重庆大学。因特网上每一个主机或路由器都有一个唯一的域名;通过在域名服务器中查找映射表,实现域名到 IP 地址的自动转换;例如重庆大学校园网 WWW 服务器的 IP 地址是 202 · 202 · 0 · 35,域名是 www · cqu · edu · cn。

1.域名解析过程当某一个应用进程需要将主机名解析为 IP 地址时,该应用进程就成为域名系统 DNS 的一个客户,并将待解析的域名放在 DNS 请求报文中,以 UDP 数据报方式发给本地域名服务器(使用 UDP 是为了减少开销)。本地域名服务器在查找域名后,将对应的 IP 地址放在回答报文中返回。应用进程获得目的主机的 IP 地址后即可进行通信。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为 DNS 中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。2.本地域名服务器也称为默认域名服务器,是主机直接访问的 DNS 服务器。若所查询的主机同属一个本地 ISP,则本地域名服务器即可实现映射,而不需再去询问其他 DNS。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。3.根域名服务器最高层次的域名服务器,管理顶级域。当本地域名服务器无法映射时,就作为客户方访问根域名服务器。当根域名服务器也无此映射时,它知道应转交给那个保存有该映射的授权域名服务器去处理。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。在因特网上共有 13 个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从 a 一直到 m(前 13 个字母)。根域名服务器共有 13 套装置(不是 13 个机器)。到 2006 年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。这样做的目的是为了方便用户,使世界上大部分 DNS 域名服务器都能就近找到一个根域名服务器

根域名服务器并不直接把域名直接转换成 IP 地址。在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。4.顶级域名服务器这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到 DNS 查询请求时,就给出相应的回答。5.授权域名服务器每一个主机都必须在一个授权域名服务器上注册登记,保存其域名到 IP 地址的映射。6.DNS 区域DNS 将域名空间划分为许多无重叠的区域(zone),每个区域覆盖了域名空间的一部分,并设有授权域名服务器对这个区域的域名进行管理。每个区域有一个主域名服务器和若干个备份域名服务器,区域的边界划分是人工设置的,比如:edu.cn  cqu.edu.cn  cc.cqu.edu.cn 是三个不同的区域,分别有各自的域名服务器。7.域名解析系统被设计成客户/服务器工作模式:首先在本地进行解析;若不能解析,则重新找一个服务器进行解析,直至获得结果。两种解析模式分别是递归解析和迭代解析模式。例如客户 C 请求解析:math.mcgraw.com? 

1. 电子邮件系统组成电子邮件系统组成的三个主要构件是用户代理、邮件服务器和邮件协议。(1) 用户代理:允许用户阅读、编辑、显示和收发电子邮件的程序。具有撰写、显示、处理邮件功能,如 OUTLOOK 软件,Foxmail。(2) 邮件服务器:发送和接收邮件,并向发信人报告邮件传送情况。每个 ISP 都设有邮件服务器。工作于客户服务器方式。(3) 邮件协议:用于发送邮件的 SMTP(Simple Mail Transfer Protocol)、用于读取邮件的 POP(邮局协议)或 IMAP(因特网报文存取)协议。

2. 电子邮件的发送和接收过程如图 9.2.1 所示。(1) 发信人调用用户代理来编辑要发送的邮件,用户代理用 SMTP 把邮件传送给发送端邮件服务器。(2) 发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。(3) 运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的 SMTP 服务器进程发起 TCP 连接的建立。(4) TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。(5) 运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。(6) 收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。3. 电子邮件的组成电子邮件系统的组成包括信封、内容和邮箱:信封:给出接收方的信息,如电子邮件地址、邮件的优先级和安全级别等。电子邮件地址格式:收件人邮箱名@邮箱所在邮件服务器的域名;用户名@主机域名。例如: wangdaen@sina.com。内容:由信头和信体组成,信头包含了用户代理所需的控制信息,信体是真正的用户邮件内容。邮箱:在邮件服务器上负责暂存用户邮件的数据结构。

1. 简单邮件传送协议 SMTP简单邮件传送协议 SMTP 工作在邮件服务器之间,用于在源主机和源邮件服务器之间、源邮件服务器和目的邮件服务器之间传送电子邮件。而在目的邮件服务器和目的主机之间则使用 POP 或 IMAP 邮件读取协议
SMTP 工作于客户服务器方式,基于 TCP 连接,其熟知端口号为 25。SMTP 只规定了在两个相互通信的 SMTP 进程之间应如何交换信息,规定了 14 条命令和 21 种应答信息。SMTP 不使用中间邮件服务器,即直接在源邮件服务器和目标邮件服务器之间建立 TCP 连接。SMTP 只能传送可打印的 7 位 ASCII 码邮件。SMTP 连接建立:源邮件服务器上的 SMTP 客户进程每隔一定时间(例如 30 分钟)对邮件缓存扫描一次。如发现有邮件,就使用 SMTP 的熟知端口号码 25 与目的邮件服务器上的 SMTP 服务器进程建立 TCP 连接。在连接建立后,SMTP 服务器发出“220 Service ready(服务就绪)”。然后 SMTP 客户向 SMTP 服务器发送 HELO 命令,附上发送方的主机名。SMTP 服务器若有能力接收邮件,则回答:“250 OK”,表示已准备好接收。若 SMTP 服务器不可用,则回答“421  Service not available(服务不可用)”。SMTP 邮件传送:邮件的传送从 MAIL 命令开始。 MAIL 命令后面有发信人的地址。若 SMTP 服务器己准备好接收邮件,则回答“250 OK”。否则,返回一个代码,指出原因。如:451(处理时出错),452(存储空间不够),500(命令无法识别)等。下面跟着一个或多个 RCPT 命令,取决于将同一个邮件发送给一个或多个收信人,其格式为 RCPT TO:<收信人地址>。每发送一个命令,都应当有相应的信息从 SMTP 服务器返回。如:“250 OK”,表示指明的邮箱在接收端的系统中。SMTP 连接释放:邮件发送完毕后,SMTP 客户应发送 QUIT 命令。SMTP 服务器返回的信息是“221(服务关闭)”,表示 SMTP 同意释放 TCP 连接。邮件传送的全部过程到此结束。2. 邮件读取协议 POP3 和 IMAP 协议邮件读取协议 POP3 和 IMAP 协议都使用客户服务器方式。POP3(Post Office Protocol),RFC 1939,用户 PC 上运行 POP3 客户进程,目的邮件服务器上则运行 POP3 服务器进程。用户代理使用此协议将邮箱中的信件取回用户主机,而 POP 服务器则删除那些已被读取的邮件。一个邮件只要被先读取在某个电脑中,就无法再从另外的电脑读取同一邮件。IMAP(Internet Mail Access Protocol)最大的好处就是用户可在不同的地点使用不同的计算机,随时上网阅读和处理自己的邮件。用户在自己的 PC 机上就可以操纵 ISP 邮件服务器的邮箱,就像在本地操纵一样,因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。除非用户删除,否则邮件将一直保存在 ISP 的邮件服务器中。3. 通用因特网邮件扩充协议 MIMESMTP 的缺点是不能传送可执行文件或其他的二进制对象。SMTP 限于传送 7 位的 ASCll 字符编码。许多其他非英语国家的文字(如中文、俄文等)就无法传送。即使在 SMTP 网关将 EBCDIC 码转换为 ASCll 码时也会遇到一些问题。SMTP 服务器会拒绝超过一定长度的邮件。为了解决 SMTP 存在的问题,提出了通用因特网邮件扩充协议 MIME。MIME 并没有改动 SMTP 或取代它。MIME 只是在 SMTP 的基础上,增加了邮件主体的结构,并定义了传送非 ASCll 码的编码规则。也就是说,MIME 邮件可在现有的电子邮件程序和协议上传送。
MIME 的内容-类型(Content-type)如表 9.2.2-1 所示,定义了报文主体使用的数据类型,允许 7 种不同的数据类型:(1)正文:原始报文是 NVT 7 ASCII 码格式,无需转换(2)多部分:主体包含多个独立部分;4 种子类型(3)报文:主体是一完整邮件或一部分、或到一个报文的指针(4)图像:原始报文是一幅静止图像,有 JPEG、GIF 两种子类型(5)视频:原始报文是声音,子类型:MPEG(6)音频:原始报文是音频,子类型:基本型,8kHz(7)应用:原始报文不是前面的类型

1. 万维网(WWW:world wide web)它是一种特殊的结构框架,用于访问遍布在因特网上数以千计机器上的链接文件,属客户-服务器系统。它的功能是提供包括文本、图形、声音和视频等在内的多媒体信息的浏览。万维网服务器:每个服务器站点有一个服务监听(TCP 80)端口,看是否有从客户端(浏览器)过来的连接。连接建立起来后,使用 HTTP(超文本传输协议)支持客户请求和服务器应答,通信结束后释放该连接。万维网客户机:指在 Internet 上请求 WWW 页面的用户计算机。
2. 超文本一个超文本由许多信息源链接而成,利用一个链接可使用户找到另一个文档,这个文档又可链接到其他文档。这些文档可以位于世界上任何一个接到因特网的超文本系统中。超文本与超媒体都包括超链,他们是万维网的基础。超文本与超媒体的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。万维网是一个分布式的超媒体系统。万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序,万维网文档所驻留的计算机则运行服务器程序,因此该计算机也称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(Page)。   
3. 万维网使用统一资源定位符 URLURL 是 Uniform Resource Locator 的缩写,标志万维网上的各种文档,并使每一个文档在整个因特网的范围内具有惟一的标识符 URL。URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。URL 的一般形式:由以冒号隔开的两大部分组成(URL 字符大小写不敏感):<URL 的访问方式>://<主机>:<端口>/<路径>例如使用 FTP 的 URL:ftp://ftp.pku.edu.cn; ftp://202.202.0.80 /lib/xyz.txt。 Web 可取代 FTP 的文件传送功能。使用 HTTP 的 URL 的一般形式: http://<主机&gt;:<端口>/<路径>, HTTP 的默认端口号是 80,通常可省略。若再省略文件的<路径>项,则 URL 就指到因特网上的某个主页 (Home Page)。主页是个很重要的概念,它可以是一个 WWW 服务器的最高级别的页面,也可以是某一个组织或部门的一个定制的页面或目录。从这样的页面可链接到因特网上的与本组织或部门有关的其他站点,也可以是某个人自己设计的描述本人情况的 WWW 页面。

4. 万维网使用超文本传送协议 HTTPHTTP 是 HyperText Transfer Protocol 的缩写,解决万维网客户程序与万维网服务器程序之间交互的规范化问题。5. 万维网使用超文本标记语言 HTMLHTML 是 HyperText Markup Language 的缩写,使得万维网页面的设计者可以很方便地用一个超链从本页面某处可链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。用户可使用各种搜索工具(如 google)在万维网上方便地查找信息。
1. HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础;HTTP 工作于客户服务器方式,实现在客户进程与服务器进程之间多媒体页面的传送。HTTP 习惯上(非标准要求)使用 TCP 连接,熟知端口号是 80。HTTP 是面向事务的应用层协议,即把一个页面中各种信息的交换作为一个整体,要么都成功,要么都失败,以保证页面信息的完整性。HTTP 是无状态的协议。即是说,服务器不记录曾经访问过的客户,也不记录曾经服务过多少次。HTTP 的这种无状态特性很适合它的典型应用,因为将 HTTP 协议做成无状态的,可使读取网页信息的操作完成得较快。HTTP 协议本身是无连接的,尽管它使用了 TCP 连接。
2. HTTP 的操作过程假定用户点击了超链:http://www.tsinghua.edu.cn/chn/yxsz/index.htm,其后发生的系列事件:浏览器分析超链指向页面的 URL;浏览器向 DNS 请求解析 www.tsinghua.edu.on 的 IP 地址;域名系统 DNS 解析出清华大学服务器的 IP 地址为 166.111.4.100;浏览器与服务器(端口为 80)建立 TCP 连接;浏览器发取文件命令:GET/chn/yxsz/index.htm;服务器http://www.tsinghua.edu.cn给出响应,将文件 index.htm 发送给浏览器;TCP 连接释放;浏览器显示文件 index.htm 中的所有文本。
3. HTTP 的主要特点它是面向事务的客户服务器协议;HTTP 1.0 协议是无状态的(stateless);HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务;万维网浏览器就是一个 HTTP 客户,而在万维网服务器等待 HTTP 请求的进程常称为 HTTP daemon,有的文献将它缩写为 HTTPD。HTTP daemon 在收到 HTTP 客户的请求后,把所需的文件返回给 HTTP 客户。
4.万维网高速缓存(Web cache)又称为代理服务器(proxy server),它能代表用户浏览器发出 HTTP 请求。万维网高速缓存可缓解局域网接入带宽不足的问题。它能将最近局域网的一些请求和因特网的响应暂存在本地磁盘中,当与暂时存放的请求相同的新请求到达时,万维网高速缓存就将暂存的响应发送给局域网用户,而不需要按 URL 的地址再去因特网访问该资源。

5.HTTP 的两类报文(1) 请求报文—从客户向服务器发送请求的报文。(2) 响应报文—从服务器到客户的回答报文。HTTP 是面向正文的(text-oriented),即在报文中的每一个字段都是一些 ASCll 码串,因而每个字段的长度都是不确定的。HTTP 请求报文和响应报文都是由三部分组成。这两种报文格式的区别就是开始行不同。开始行是用于区分请求报文与响应报文。在请求报文中的开始行叫做请求行(Request-Line),而在响应报文中的开始行叫做状态行(Status-Line)。首部行是用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,但也可以不使用。在每一个首部行中都有首都字段名和它的值。实体主体(entity  body)。在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

6.超文本标记语言 HTML(HyperText Markup Language)是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍,即能使任何一台计算机都能显示出任一个万维网服务器上的页面。HTML 定义了许多用于排版的命令,即“标签”(tag)。将各种标签嵌入到万维网的页面中,就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCll 码文件。当浏览器从服务器读取某个页面的 HTML 文档(以.html 或 .htm 为后缀)后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并显示出所读取的页面。元素是 HTML 文档结构的基本组成部分。一个 HTML 文档本身就是一个元素。每个 HTML 文档由两个主要元素组成:首部(head)和主体(body),主体紧接在首部的后面。首部包含文档的标题(title),以及系统用来标识文档的一些其他信息。标题相当于文件名。用户可使用标题来搜索页面和管理文档。文档的主体是 HTML 文档的最主要的部分,文档所包含的主要信息都在主体中。主体部分往往又由若干个更小的元素组成,如段落、表格和列表等 HTML 用一对标签(即一个开始标签和一个结束标签)或几对标签来标识一个元素。开始标签由一个小于字符“<”、一个标签名、和一个大于字符“>”组成。例如<HEAD>。结束标签和开始标签的区别只是在小于字符的后面要加一个斜杠字符“/”。例如</HEAD>。虽然标签名并不区分大写和小写,但习惯上大家都愿意用大写字符表示一个标签名。并非所有的浏览器都支持所有的 HTML 标签。若某一个浏览器不支持某一个 HTML 标签,则浏览器将忽略此标签,但在一对不能识别的标签之间的文本仍然会被显示出来。

7.万维网页面中的超链接可以链接到其他网点上的页面,每个超链接有一个起点和终点。超链的起点说明在万维网页面中的什么地方可引出一个超链。在一个页面中,超链的起点可以是一个字或几个字,或是一幅图,或是一段文字。超链的终点是用 URL 定义的要访问的页面。定义一个超链的标签是<A>。在 HTML 文档中定义一个超链的语法是: <A HREF=“…”>X</A>。其中,X 是超链的起点,引号中的…为超链的终点(URL)。例如:<A HREF=http://www.tsinghua.edu.cn>清华大学</A>万维网页面中的超链接可以链接到一个本地文件,若超链接的终点是其他网点上的页面,这种链接方式叫做远程链接。若超链接指向本地计算机中的某一个文件,这种链接方式叫做本地链接。本地链接采用简化的 URL 表示,在 HREF=的后面不需要写很长的、完整的 URL(包括具有完整目录路径的文件名)。
1. Web 浏览器的结构要比服务器的结构复杂得多。浏览器却包含若干个大型软件组件,它们协同在一起工作。一个浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。控制程序是其核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。2. HTML 解释程序是 Web 浏览器中必不可少的,而其他解释程序则是可选的。HTML 解释程序的输入是符合 HTML 语法的文档。解释程序将 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。在浏览器中还设有一个缓存。浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,那么浏览器就直接从缓存中得到该项副本而不必从网络来获取。3.静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。4.动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。5.动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。 万维网服务器应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回 HTML 文档。

6.通用网关接口 CGI (Common Gateway Interface)是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。万维网服务器与 CGI 的通信遵循 CGI 标准。“通用”指 CGI 标准所定义的规则对其他任何语言都是通用的;“网关”指 CGI 程序的作用像网关;“接口”指有一些已定义好的变量和调用等可供其他 CGI 程序使用。CGI 程序的正式名字是 CGI 脚本(script)。“脚本”指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。脚本运行起来要比一般的编译程序要慢,因为它的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。当 CGI 程序被调用时,服务器就将一些参数传递给 CGI 程序,参数的值可由浏览器提供。服务器将这些参数传递给 CGI 程序时,不是使用一般的命令行方式,而是把这些参数信息置于 UNIX 的环境变量中,然后调用 CGI 程序。CGI 程序从环境变量中把值提取出来。  7.搜索引擎在万维网中用来进行搜索的程序叫做搜索引擎。要在万维网上进行检索,就要将所有万维网页面标题中的关键词作成索引。当前最有名的搜索引擎是:Google (http://www.google.com), Yahoo (http://www.yahoo.com) 。

1. 文件传输协议 FTP适用于在异构计算机网络中的任意计算机之间传送文件,是因特网上使用最广泛的文件传送协议。FTP 采用客户服务器方式,基于 TCP,FTP 服务器的熟知端口号:21。FTP 是文件共享协议的一种,即属于“复制整个文件”类的协议,其特点是所需访问的 FTP 服务器上的文件必须整个传送到客户端。如需对文件进行修改,则修改在本地客户端进行,然后将修改后的整个文件传送回 FTP 服务器。
1. 文件传输协议 FTP适用于在异构计算机网络中的任意计算机之间传送文件,是因特网上使用最广泛的文件传送协议。FTP 采用客户服务器方式,基于 TCP,FTP 服务器的熟知端口号:21。FTP 是文件共享协议的一种,即属于“复制整个文件”类的协议,其特点是所需访问的 FTP 服务器上的文件必须整个传送到客户端。如需对文件进行修改,则修改在本地客户端进行,然后将修改后的整个文件传送回 FTP 服务器。FTP 的实现是复杂的,这是因为计算机存储数据的格式不同;文件目录结构和文件命名的规定不同;对于相同的文件存取功能,操作系统使用的命令不同;访问控制方法不同。FTP 的服务进程分为主进程(负责接受新的请求,只有一个)和从属进程(负责处理单个请求,可有多个)。主进程与从属进程是并发地执行。主进程的工作步骤是打开 21 号端口,使客户进程能够连接;等待客户进程发出连接请求;若有客户连接请求,启动从属进程处理客户请求;回到等待状态,继续等待其他客户进程发来请求。FTP 的工作情况是利用 FTP 进行文件传送时,在 FTP 客户端与服务器之间存在两个连接:控制连接和数据连接。控制连接用于传送通信控制信息,如客户传送请求、终止传送请求等。控制连接在整个会话期间一直保持。服务器使用 21 号端口。数据连接用于传送文件数据。服务器使用 20 号端口。使用两个独立连接的好处是使协议更加简单,更便于实现,并能增加控制功能。 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。使协议更加简单和更容易实现。在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。2. 简单文件传送协议 TFTP比 FTP 更小,功能更简单。TFTP 也使用客户服务器方式,但基于 UDP。具有差错控制功能,支持可靠的文件传送。TFTP 只支持文件传输而不支持交互。TFTP 没有一个庞大的命令集,不支持列目录和用户身份鉴别。由于 TFTP 代码所占内存较小,可用于嵌入式设备。TFTP 的主要特点是每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。数据 PDU 也称为文件块(block),每个块按序编号,从 1 开始。支持 ASCII 码或二进制传送。可对文件进行读或写。使用很简单的首部。TFTP 的工作很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发完数据后在规定时间内收不到确认就要重发数据 PDU。发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。在一开始工作时。TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为 69。TFTP 服务器进程要选择一个新的端口和 TFTP 客户进程进行通信。若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU。若文件长度不是 512 字节的整数倍,则最后传送数据 PDU 的数据字段一定不满 512 字节,这正好可作为文件结束的标志。

1. 远程登录 TELNET它是一个简单的远程终端协议。用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。现在由于 PC 机的功能越来越强,用户就较少使用 TELNET 了。TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。2. 网络虚拟终端 NVT客户软件把用户的击键和命令转换成网络虚拟终端 NVT 格式,并送交服务器。服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。向用户返回数据时,服务器把远地系统的格式转换为 NVT 格式,本地客户再从 NVT 格式转换到本地系统所需的格式。

1. 引导程序协议 BOOTP协议配置指在协议软件中给协议参数赋值的动作叫做协议配置。一个软件协议在使用之前必须是已正确配置的。具体的配置信息有哪些则取决于协议栈。连接到因特网的计算机的协议软件需要配置的项目包括:IP 地址、子网掩码、默认路由器的 IP 地址、域名服务器的 IP 地址。这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。引导程序协议 BOOTP 使用客户服务器方式,基于 UDP。适用 BOOTP 协议的情况包括:(1) 无盘工作站(IP 地址信息不能存储在 ROM 中,因为制造厂家并不知道)。(2) 一个有盘计算机的第一次引导。(3) 计算机可能经常改变在网络上的位置(尤其是便携式计算机)。上述情况下用人工进行协议配置既不方便,又容易出错。因此,需要采用自动协议配置的方法。BOOTP 的工作原理是为了获取配置信息,客户端协议软件广播一个 BOOTP 请求报文。收到请求报文的 BOOTP 服务器查找发出请求的计算机的各项配置信息,将配置信息放入一个 BOOTP 回答报文中返回。由于客户机发送 BOOTP 请求报文时自己还没有 IP 地址,因此它使用全 1 广播地址作为目的地址(只在本网络中广播),而用全 0 地址作为源地址。由于 BOOTP 只是一个静态配置协议而不是动态配置协议。当 BOOTP 服务器收到来自某个主机的请求时,就在其信息库中查找该主机的已经确定的地址绑定信息。但当一个主机移动到另一个网络或需要一个临时的 IP 地址时, BOOTP 就无能为力,除非管理员手工修改数据库中的信息。2. 动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)它允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。DHCP 向后兼容 BOOTP。DHCP 使用客户服务器方式,基于 UDP。DHCP 客户使用的 UDP 端口是 68,而 DHCP 服务器使用的 UDP 端口是 67。需要 IP 地址的主机在启动时就向 DHCP 服务器广播发现报文(将目的 IP 地址置为全 1),这时该机就成为 DHCP 客户。这样,在本地网络的所有主机都能够收到这个广播报文,但只有 DHCP 服务器才对此广播报文进行回答。DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池中取一个地址分配给该计算机。在每个网络中使用 DHCP 中继代理是为了避免在每个网络中都设置一个 DHCP 服务器,因为这样成本太高。DHCP 中继代理中配置了 DHCP 服务器的 IP 地址信息。当 DHCP 中继代理收到主机以广播形式发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。

DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。租用期的数值应由 DHCP 服务器自己决定。DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。 DHCP 协议的工作过程:①:DHCP 服务器被动打开 UDP 的端口 67,等待客户端发来的报文。②:DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文。③:凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。④:DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文。⑤:被选择的 DHCP 服务器发送确认报文 DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。⑥:租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期。⑦:DHCP 服务器若同意,则发回确认报文 DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。⑧:DHCP 服务器若不同意,则发回否认报文 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤②)。若 DHCP 服务器不响应步骤⑥的请求报文 DHCPREQUEST,则在租用期过了 87.5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤⑥),然后又继续后面的步骤。⑨:DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

1.DNS 实现域名地址和 IP 地址间的解析,称为域名解析系统 DNS。2.电子邮件系统组成的三个主要构件是用户代理、邮件服务器和邮件协议,发送邮件用 SMTP、读取邮件用 POP 或 IMAP 协议。3.WWW 使用超文本传输协议 HTTP、超文本传输语言 HTML 传输和组织信息,分为动态文档和静态文档。客户用浏览器访问网页。4.FTP 适用于在异构计算机网络中的任意计算机间传送文件,基于 TCP,TFTP 功能更简单,基于 UDP。

1. 网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的使用需求,如实时运行性能,服务质量等


张从飞个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:第九章 应用层
喜欢 (0)
[xklkey@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址