《网络架构与网络协议课件》由会员分享,可在线阅读,更多相关《网络架构与网络协议课件(61页珍藏版)》请在金锄头文库上搜索。
1、网络体系结构的基本概念网络体系结构的基本概念l网络协议网络协议是是为网络数据交换而制定的规则、约为网络数据交换而制定的规则、约定与标准;定与标准;l网络协议的三要素:语义、语法与时序;网络协议的三要素:语义、语法与时序;l语义:用于解释比特流的每一部分的意义;语义:用于解释比特流的每一部分的意义; l语法:语法是用户数据与控制信息的结构与格语法:语法是用户数据与控制信息的结构与格 式,以及数据出现的顺序的意义;式,以及数据出现的顺序的意义;l时序:事件实现顺序的详细说明。时序:事件实现顺序的详细说明。网络体系结构网络体系结构l层次(层次(layer)l层次是人们对复杂问题处理的基本方法;层次是
2、人们对复杂问题处理的基本方法;l将总体要实现的很多功能分配在不同层次中;将总体要实现的很多功能分配在不同层次中;l对每个层次要完成的服务及服务要求都有明确规定;对每个层次要完成的服务及服务要求都有明确规定;l不同的系统分成相同的层次;不同的系统分成相同的层次;l不同系统的最低层之间存在着不同系统的最低层之间存在着“物理物理”通信;通信;l不同系统的对等层次之间存在着不同系统的对等层次之间存在着“虚拟虚拟”通信;通信;l对不同系统的对等层之间的通信有明确的通信规定;对不同系统的对等层之间的通信有明确的通信规定;l高层使用低层提供的服务时,并不需要知道低层服务高层使用低层提供的服务时,并不需要知道
3、低层服务的具体实现方法。的具体实现方法。 网络体系结构网络体系结构l接口(接口(interface)l接口是同一结点内相邻层之间交换信息的连接接口是同一结点内相邻层之间交换信息的连接点点; ;l同一个结点的相邻层之间存在着明确规定的接同一个结点的相邻层之间存在着明确规定的接口,低层向高层通过接口提供服务口,低层向高层通过接口提供服务; ;l只要接口条件不变、低层功能不变,低层功能只要接口条件不变、低层功能不变,低层功能的具体实现方法与技术的变化不会影响整个系的具体实现方法与技术的变化不会影响整个系统的工作。统的工作。网络体系结构网络体系结构l网络体系结构(网络体系结构(network arch
4、itecture)l一个功能完备的计算机网络需要制定一整套复杂的协一个功能完备的计算机网络需要制定一整套复杂的协议集议集; ;l网络协议是按层次结构来组织的;网络协议是按层次结构来组织的;l网络层次结构模型与各层协议的集合称为网络体系结网络层次结构模型与各层协议的集合称为网络体系结构;构;l网络体系结构对计算机网络应该实现的功能进行了精网络体系结构对计算机网络应该实现的功能进行了精确的定义;确的定义;l体系结构是抽象的,而实现是指能够运行的一些硬件体系结构是抽象的,而实现是指能够运行的一些硬件和软件。和软件。 ISO/OSI参考模型参考模型l在制定计算机网络标准方面,起着很大作用的在制定计算机
5、网络标准方面,起着很大作用的两大国际组织是:两大国际组织是: 国际电报与电话咨询委员会(国际电报与电话咨询委员会(CCITT) 国际标准化组织(国际标准化组织(ISO)lCCITT与与ISO的工作领域不同:的工作领域不同: CCITT 主要主要是考虑通信标准的制定;是考虑通信标准的制定;ISO主要是考虑信息主要是考虑信息处理与网络体系结构。处理与网络体系结构。体系结构体系结构l开放系统的层次结构、层次之间的相互关系及开放系统的层次结构、层次之间的相互关系及各层所包括的可能的服务;各层所包括的可能的服务;l作为一个框架来协调和组织各层协议的制定;作为一个框架来协调和组织各层协议的制定;l对网络内
6、部结构最精炼地概括与描述。对网络内部结构最精炼地概括与描述。服务定义服务定义l详细地说明了各层所提供的服务;详细地说明了各层所提供的服务;l某一层的服务就是该层及其以下各层的一种能某一层的服务就是该层及其以下各层的一种能力;力;l低层的服务是通过接口向上一层提供的低层的服务是通过接口向上一层提供的; ;l各层所提供的服务与这些服务是如何实现的无各层所提供的服务与这些服务是如何实现的无关;关;l定义了层与层之间的接口与各层使用的原语,定义了层与层之间的接口与各层使用的原语,但不涉及接口是具体实现的。但不涉及接口是具体实现的。 ISO划分七层结构的基本原则划分七层结构的基本原则l网中各结点都具有相
7、同的层次;网中各结点都具有相同的层次;l不同结点的同等层具有相同的功能;不同结点的同等层具有相同的功能;l同一结点内相邻层之间通过接口通信;同一结点内相邻层之间通过接口通信;l每每层层可可以以使使用用下下层层提提供供的的服服务务,并并向向其其上上层层提提供服务;供服务;l不不同同结结点点的的同同等等层层通通过过协协议议来来实实现现对对等等层层之之间间的通信的通信。l社会上存在的邮政系统lOSI参考模型的结构物理层的主要功能物理层的主要功能l利利用用传传输输介介质质为为通通信信的的网网络络结结点点之之间间建建立立、管管理和释放物理连接;理和释放物理连接;l实实现现比比特特流流的的透透明明传传输输
8、,为为数数据据链链路路层层提提供供数数据传输服务;据传输服务;l物理层的数据传输单元是比特。物理层的数据传输单元是比特。数据链路层数据链路层/ /网络层的主要功能网络层的主要功能数据链路层的主要功能数据链路层的主要功能:l在在物物理理层层提提供供的的服服务务基基础础上上,数数据据链链路路层层在在通通信信的的实实体间建立数据链路连接;体间建立数据链路连接;l传输以传输以“帧帧”为单位的数据包;为单位的数据包;l采采用用差差错错控控制制与与流流量量控控制制方方法法,使使有有差差错错的的物物理理线线路路变成无差错的数据链路。变成无差错的数据链路。 网络层的主要功能网络层的主要功能:l通过路由选择算法
9、为分组通过通信子网选择最适当的通过路由选择算法为分组通过通信子网选择最适当的路径;路径;l为数据在结点之间传输创建逻辑链路;为数据在结点之间传输创建逻辑链路;l实现拥塞控制、网络互连等功能。实现拥塞控制、网络互连等功能。传输层传输层/ /会话层的主要功能会话层的主要功能传输层的主要功能传输层的主要功能:l向用户提供可靠端到端向用户提供可靠端到端(end-to-end)服务;服务;l处理数据包错误、数据包次序,以及其他一些关键传处理数据包错误、数据包次序,以及其他一些关键传输问题;输问题;l传输层向高层屏蔽了下层数据通信的细节,是计算机传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中
10、关键的一层。通信体系结构中关键的一层。会话层的主要功能会话层的主要功能:l负责维护两个结点之间的传输链接,以便确保点负责维护两个结点之间的传输链接,以便确保点- -点点传输不中断;传输不中断;l管理数据交换。管理数据交换。表示层表示层/应用层的主要功能应用层的主要功能表示层的主要功能表示层的主要功能:l用于处理在两个通信系统中交换信息的表示方式;用于处理在两个通信系统中交换信息的表示方式;l数据格式变换;数据格式变换;l数据加密与解密;数据加密与解密;l数据压缩与恢复。数据压缩与恢复。应用层的主要功能应用层的主要功能: :l为应用程序提供了网络服务为应用程序提供了网络服务; ;l应用层需要识别
11、并保证通信对方的可用性,使得协同应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步工作的应用程序之间的同步; ;l建立传输错误纠正与保证数据完整性的控制机制。建立传输错误纠正与保证数据完整性的控制机制。lOSI环境(环境(OSI environment)OSI环境中的数据流环境中的数据流 l1974年年Kahn定义了最早的定义了最早的TCP/IP参考模型;参考模型;l80年代年代Leiner、Clark等人对等人对TCP/IP参考模型参考模型进一步的研究;进一步的研究;lTCP/IP协议一共出现了协议一共出现了6个版本,后个版本,后3个版本个版本是版本是版本4、版本、版本5
12、与版本与版本6;l目前我们使用的是版本目前我们使用的是版本4,一般被称为,一般被称为IPv4 ;lIPv6被称为下一代的被称为下一代的IP协议。协议。TCP/IP参考模型参考模型l开放的协议标准开放的协议标准;l独立于特定的计算机硬件与操作系统;独立于特定的计算机硬件与操作系统;l独独立立于于特特定定的的网网络络硬硬件件,可可以以运运行行在在局局域域网网、广域网,更适用于互连网中;广域网,更适用于互连网中;l 统统一一的的网网络络地地址址分分配配方方案案,使使得得整整个个TCP/IP设备在网中都具有唯一的地址;设备在网中都具有唯一的地址;l标标准准化化的的高高层层协协议议,可可以以提提供供多多
13、种种可可靠靠的的用用户户服务。服务。TCP/IP协议的特点协议的特点l应用层(应用层(application layer)l传输层(传输层(transport layer)l互连层(互连层(internet layer)l主机主机-网络层(网络层(host-to-network layer) TCP/IP参考模型各层的功能参考模型各层的功能lTCP/IP 参考模型与 OSI 参考模型的对应关系lTCP/IP参参考考模模型型的的最最低低层层,负负责责通通过过网网络络发发送送和接收和接收IP数据报数据报;l允允许许主主机机连连入入网网络络时时使使用用多多种种现现成成的的与与流流行行的的协协议议,例
14、例如如局局域域网网的的Ethernet、令令牌牌网网、分分组组交换网的交换网的X.25、帧中继、帧中继、ATM协议等协议等;l当当一一种种物物理理网网被被用用作作传传送送IP数数据据包包的的通通道道时时,就可以认为是这一层的内容就可以认为是这一层的内容;l充充分分体体现现出出TCP/IP协协议议的的兼兼容容性性与与适适应应性性,它它也为也为TCP/IP的成功奠定了基础的成功奠定了基础。 主机主机- -网络层网络层l相当相当OSI参考模型网络层无连接网络服务;参考模型网络层无连接网络服务; l处理互连的路由选择、流控与拥塞问题;处理互连的路由选择、流控与拥塞问题;lIP协协议议是是一一种种无无连
15、连接接的的、提提供供“尽尽力力而而为为”服服务的网络层协议。务的网络层协议。 互连层互连层l主主要要功功能能是是在在互互连连网网中中源源主主机机与与目目的的主主机机的的对对等等实体间建立用于会话的端实体间建立用于会话的端- -端连接;端连接;l传输控制协议传输控制协议TCP是一种可靠的面向连接协议;是一种可靠的面向连接协议;l用户数据报协议用户数据报协议UDP是一种不可靠的无连接协议是一种不可靠的无连接协议。 传输层传输层l网络终端协议网络终端协议Telnetl文件传输协议文件传输协议FTPl简单邮件传输协议简单邮件传输协议SMTPl域名系统域名系统DNSl简单网络管理协议简单网络管理协议SN
16、MPl超文本传输协议超文本传输协议HTTP应用层应用层TCP/IP协议栈协议栈对对OSIOSI参考模型的评价参考模型的评价l层次数量与内容选择不是很好,会话层很少用到,表示层次数量与内容选择不是很好,会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多的子层插入;层几乎是空的,数据链路层与网络层有很多的子层插入;lOSI 参参考考模模型型将将“服服务务”与与“协协议议”的的定定义义结结合合起起来来,使得参考模型变得格外复杂,实现困难;使得参考模型变得格外复杂,实现困难;l寻寻址址、流流控控与与差差错错控控制制在在每每一一层层里里都都重重复复出出现现,降降低低系系统效率;统效率;l数数据据
17、安安全全性性、加加密密与与网网络络管管理理在在参参考考模模型型的的设设计计初初期期被被忽略了;忽略了;l参参考考模模型型的的设设计计更更多多是是被被通通信信的的思思想想所所支支配配,不不适适合合于于计算机与软件的工作方式;计算机与软件的工作方式;l严格按照层次模型编程的软件效率很低。严格按照层次模型编程的软件效率很低。对对TCP/IPTCP/IP参考模型评价参考模型评价l在在服服务务、接接口口与与协协议议的的区区别别上上不不很很清清楚楚,一一个个好好的的软软件件工工程程应应该该将将功功能能与与实实现现方方法法区区分分开开,参考模型不适合于其它非参考模型不适合于其它非TCP/IP协议族;协议族;
18、lTCP/IP参考模型的主机参考模型的主机-网络层本身并不是实网络层本身并不是实际的一层;际的一层;l物理层与数据链路层的划分是必要和合理的,物理层与数据链路层的划分是必要和合理的, 但是但是TCP/IP参考模型却没有做到这点。参考模型却没有做到这点。一种建议的参考模型一种建议的参考模型应用层的基本协议应用层的基本协议l万维网协议万维网协议 WWWWWWl超文本传输协议超文本传输协议HTTPHTTPl文件传送协议文件传送协议FTPFTPl远程登录协议远程登录协议TELNETTELNETl电子邮件协议电子邮件协议SMTPSMTP(发送)(发送)l电子邮件协议电子邮件协议POP3POP3(接收)(
19、接收)l域名服务域名服务DNSDNS域名空间域名空间lDNSDNS在概念上将因特网分成了在概念上将因特网分成了200200多个顶级域,每个顶级域多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。分子域,依次类推。l一个指定的域是指树中一个特定的节点以及该节点以下所一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。有的节点。l某个域的域名用从该域开始向上直到树根(为空)的标号某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开,如序列表示,标号之间用句点隔开,如。l域名的
20、任一后缀也是一个域。域名的任一后缀也是一个域。l顶级域分为通用域和国家域两类。顶级域分为通用域和国家域两类。域名机构的类型域名机构的类型.GOV.GOV政府机构政府机构.EDU.EDU教育机构教育机构.INT.INT国际组织(如北大西洋公约组织国际组织(如北大西洋公约组织NATONATO).MIL.MIL军事部门军事部门.COM.COM商业机构商业机构.NET.NET网络中心网络中心.ORG.ORG社会组织、专业协会社会组织、专业协会普及地理类顶级域名普及地理类顶级域名 l域名域名国家或地区国家或地区l.am.am亚美尼亚亚美尼亚.aq.aq南极洲南极洲 .ar.ar阿根廷阿根廷 .au.au
21、澳澳大利亚大利亚.bb.bb巴巴多斯巴巴多斯.be.be比利时比利时 .bg.bg保加利亚保加利亚.ca.ca加加拿大拿大.ch.ch瑞士瑞士 .cl.cl智利智利 中国中国 .cr.cr哥哥斯达黎加斯达黎加.cy.cy塞浦路斯塞浦路斯.de.de德国德国 .dk.dk丹麦丹麦 .ec.ec埃埃及及.eg.eg萨尔瓦多萨尔瓦多.es.es西班牙西班牙 .fi.fi芬兰芬兰 .gb.gb英英国国 .gr.gr希腊希腊 .hk.hk香港香港 .hu.hu匈牙利匈牙利 .ie.ie爱爱尔兰尔兰.il.il以色列以色列 .in.in印度印度 .ir.ir伊朗伊朗 .it.it意意大利大利.jm.jm牙
22、买加牙买加 .jp.jp日本日本 .kr.kr韩国韩国 .lt.lt立立陶宛陶宛.lu.lu卢森保卢森保 .mo.mo澳门澳门 .mx.mx墨西哥墨西哥 .ni.ni尼尼加拉瓜加拉瓜.nl.nl荷兰荷兰 .no.no挪威挪威 .nz.nz新西兰新西兰 .pe.pe贝贝卢卢.ph.ph菲律宾菲律宾 .pl.pl波兰波兰 .pt.pt葡萄牙葡萄牙 .ru.ru俄俄国国.se.se瑞典瑞典 .sg.sg新加坡新加坡 .si.si斯洛文尼亚斯洛文尼亚.th.th泰国泰国.tn.tn突尼斯突尼斯 .tr.tr土耳其土耳其 .tw.tw台湾台湾 .us.us美美国国.uk.uk英国英国 .ve.ve委内瑞
23、拉委内瑞拉.vn.vn越南越南 .zm.zm赞赞比亚比亚域名结构图域名结构图万维网万维网WWWl l万维网万维网万维网万维网WWW (World Wide Web)WWW (World Wide Web)并非某种特殊的计算机网络。并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所,英文简称万维网是一个大规模的、联机式的信息储藏所,英文简称为为WebWeb。l万维网是一个分布式的万维网是一个分布式的超媒体超媒体超媒体超媒体(hypermedia)(hypermedia)系统,它是系统,它是超超超超文本文本文本文本(hypertext)(hypertext)系统的扩充。系统的扩充。
24、l万万维维网网以以客客户户服服务务器器方方式式工工作作。客客客客户户户户程程程程序序序序向向向向服服服服务务务务器器器器程程程程序序序序发发发发出出出出请请请请求求求求,服服服服务务务务器器器器程程程程序序序序向向向向客客客客户户户户程程程程序序序序返返返返回回回回客客客客户户户户所所所所要要要要的的的的万万万万维维维维网网网网文文文文档档档档。在在一一个个客客户户程程序序主主窗窗口口上上显显示示出出的的万万维维网网文文档档称称为为页页页页面面面面(page)(page)。网页获取网页获取lWebWeb采用客户采用客户/ /服务器模式工作,客户为浏览器软件,服务服务器模式工作,客户为浏览器软件
25、,服务器是运行在器是运行在WebWeb服务器上的一个软件程序;服务器上的一个软件程序;l服务器平时总在端口服务器平时总在端口8080上监听客户的连接请求,当用户点上监听客户的连接请求,当用户点击了一个超级链接后:击了一个超级链接后:l浏览器找到该链接所指的网页的名字浏览器找到该链接所指的网页的名字l与网页所在的服务器建立一个与网页所在的服务器建立一个TCPTCP连接连接l向服务器发送取网页的请求向服务器发送取网页的请求l服务器将请求的网页发送给浏览器服务器将请求的网页发送给浏览器l释放释放TCPTCP连接连接l两个问题需要解决:两个问题需要解决:l如何命名一个网页如何命名一个网页l定义客户和服
26、务器之间的传输协议定义客户和服务器之间的传输协议Web工作模型工作模型统一资源定位符统一资源定位符URLlUniform Resource LocatorUniform Resource Locator(URLURL)的一般)的一般格式为格式为 schemename:/host/pathschemename:/host/pathlSchemenameSchemename:方法名,指出访问网页的协方法名,指出访问网页的协议名称,常见的方法有议名称,常见的方法有httphttp、ftpftp、telnettelnet等;等;lHostHost:网页所在宿主机的域名网页所在宿主机的域名lPathPa
27、th:网页在宿主机上的全路径名网页在宿主机上的全路径名Web的客户方(的客户方(1)l当用户点击了某个超级链接后,浏览器按以下步骤工作:当用户点击了某个超级链接后,浏览器按以下步骤工作:l浏览器确定浏览器确定URLURL(从页及点击位置获取);(从页及点击位置获取);l请求请求DNSDNS解析域名,解析域名, DNSDNS返回返回IPIP地址;地址;l浏览器与的端口浏览器与的端口8080建立一个建立一个TCPTCP连接;连接;l浏览器发送一个请求,要求取文件浏览器发送一个请求,要求取文件/home/index.html/home/index.html;l服务器发送文件服务器发送文件/home/
28、index.html/home/index.html,释放,释放TCPTCP连接;连接;l浏览器显示文件浏览器显示文件/home/index.html/home/index.html的所有文本内容;的所有文本内容;l浏览器取回该文件中的所有图像并显示(一次取一个图像显浏览器取回该文件中的所有图像并显示(一次取一个图像显示)。示)。Web的客户方(的客户方(2)l为了使浏览器能够正确解释和显示每一个为了使浏览器能够正确解释和显示每一个WebWeb页,页,WebWeb页应当页应当使用称为使用称为HTMLHTML(超文本标记语言)的标准语言书写;(超文本标记语言)的标准语言书写;l如果一个页不是如果
29、一个页不是HTMLHTML格式的,怎么显示?格式的,怎么显示?l当服务器返回一个页的时候,同时要返回关于这个页的一当服务器返回一个页的时候,同时要返回关于这个页的一些额外信息,特别是页的些额外信息,特别是页的MIMEMIME类型;类型;l当页的当页的MIMEMIME类型是类型是text/htmltext/html(浏览器的内置类型浏览器的内置类型)时,)时,浏览器直接显示;浏览器直接显示;l当页的当页的MIMEMIME类型不是浏览器本身所支持的,浏览器查找类型不是浏览器本身所支持的,浏览器查找MIMEMIME类型表,该表将每个类型表,该表将每个MIMEMIME类型关联到一个阅读器上,类型关联到
30、一个阅读器上,浏览器调用相应的阅读器进行显示;浏览器调用相应的阅读器进行显示;l阅读器可以是和浏览器运行在同一个程序空间的插件程序,阅读器可以是和浏览器运行在同一个程序空间的插件程序,也可以是一个独立的助手程序;也可以是一个独立的助手程序;l对于本地文件,浏览器通过文件的扩展名得知文件类型。对于本地文件,浏览器通过文件的扩展名得知文件类型。域名解析服务域名解析服务DNSlDNS DNS 是是域名系统域名系统 (Domain Name System) (Domain Name System) 的缩的缩写,该系统用于命名组织到域层次结构中的计写,该系统用于命名组织到域层次结构中的计算机和网络服务。
31、在算机和网络服务。在InternetInternet上域名与上域名与IPIP地址地址之间是一对一(或者一对多)的,域名虽然便之间是一对一(或者一对多)的,域名虽然便于人们记忆,但机器之间只能互相认识于人们记忆,但机器之间只能互相认识IPIP地址,地址,它们之间的转换工作称为域名解析,域名解析它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,需要由专门的域名解析服务器来完成,DNSDNS就就是进行域名解析的服务器。是进行域名解析的服务器。 DNS DNS 命名用于命名用于 Internet Internet 等等 TCP/IP TCP/IP 网络中,通过用户友好网络中,通
32、过用户友好的名称查找计算机和服务。的名称查找计算机和服务。 DNS解析过程解析过程状态信息和状态信息和cookielWebWeb本质上是无状态的,当服务器将浏览器请求的文件发回后,本质上是无状态的,当服务器将浏览器请求的文件发回后,服务器上不保留有关用户的任何信息;服务器上不保留有关用户的任何信息;l在两次调用之间程序保存的信息称为状态信息,状态信息可以保在两次调用之间程序保存的信息称为状态信息,状态信息可以保存在浏览器或服务器上。存在浏览器或服务器上。l服务器传递给浏览器保存的状态信息称为服务器传递给浏览器保存的状态信息称为cookiecookie:l服务器完成服务请求时将需要保存的信息存于
33、本地,同时将少服务器完成服务请求时将需要保存的信息存于本地,同时将少量信息(量信息(cookiecookie)返回给浏览器,返回给浏览器,cookiecookie通常被作为这些信息通常被作为这些信息的索引;的索引;lCookieCookie是一个小文件,通常保存在是一个小文件,通常保存在浏览器浏览器的的cookiecookie目录下;目录下;l当浏览器要向某个服务器发送请求时,先检查当浏览器要向某个服务器发送请求时,先检查cookiecookie目录,看目录,看是否有从那个服务器发来的是否有从那个服务器发来的cookiecookie,如果有就把所有的,如果有就把所有的cookiecookie都
34、包含在请求消息中,发送给服务器。都包含在请求消息中,发送给服务器。Web文档文档l静态文档:静态文档以文件方式保存在静态文档:静态文档以文件方式保存在WebWeb服务器上,服务器上,由文档的作者决定文档的内容,对静态文档的每次请求由文档的作者决定文档的内容,对静态文档的每次请求均产生相同的响应。均产生相同的响应。l动态文档:动态文档是由动态文档:动态文档是由WebWeb服务器动态创建的。当请服务器动态创建的。当请求到达时,求到达时,WebWeb服务器运行一个应用程序创建动态文档,服务器运行一个应用程序创建动态文档,并返回给浏览器,因此每次请求产生的动态文档是不同并返回给浏览器,因此每次请求产生
35、的动态文档是不同的。的。l主动(主动(activeactive)文档:主动文档由一个计算机程序组成,)文档:主动文档由一个计算机程序组成,当游览器请求一个主动文档时,服务器返回一个必须在当游览器请求一个主动文档时,服务器返回一个必须在浏览器本地运行的程序的拷贝,程序运行时可以与用户浏览器本地运行的程序的拷贝,程序运行时可以与用户进行交互,并不断访问服务器取回新的信息,因此主动进行交互,并不断访问服务器取回新的信息,因此主动文档的内容是在不断更新的。文档的内容是在不断更新的。Web服务器方工作过程服务器方工作过程l服服务务器器在在端端口口8080监监听听,与与请请求求的的客客户户建建立立TCPT
36、CP连连接接,接接收收服务请求;服务请求;l确定请求的确定请求的WebWeb页(名字扩展);页(名字扩展);l(若若需需要要)认认证证客客户户;对对客客户户进进行行访访问问控控制制;对对请请求求的的页页进行访问控制;进行访问控制;l检查请求的页是否在高速缓存中,有直接读取;检查请求的页是否在高速缓存中,有直接读取;l若不在高速缓存中,从本地磁盘读取文件;若不在高速缓存中,从本地磁盘读取文件;l确定要包含在响应中的确定要包含在响应中的MIMEMIME类型;类型;l将文件返回给客户,进行日志记录,释放连接。将文件返回给客户,进行日志记录,释放连接。l服服务务器器设设计计的的关关键键是是要要提提高高
37、服服务务的的响响应应速速度度,服服务务于于更更多多的的客客户户。常常用用的的技技术术包包括括:将将经经常常访访问问的的文文件件保保存存在在高高速速缓缓存存中中,服服务务器器设设计计为为多多线线程程的的且且使使用用多多个个磁磁盘盘,建建立立server server farmfarm等。等。HTML、XML和和XHTML(1)lHTMLHTML(超文本标记语言)是一种标记语言,用于描述文档的显示格式;(超文本标记语言)是一种标记语言,用于描述文档的显示格式;lHTMLHTML中的格式命令称为标签,标签成对出现,包含在一对标签中的文中的格式命令称为标签,标签成对出现,包含在一对标签中的文档内容,其
38、显示格式就由该标签指定;档内容,其显示格式就由该标签指定;lHTMLHTML使用使用标签在标签在WebWeb页中嵌入图像,如:页中嵌入图像,如: IMG SRC=“http:/ ALIGN=middle ALT=AWI Logo;lHTMLHTML使用使用标标签在签在WebWeb页中加入超级链接,如:页中加入超级链接,如: NASAs home page NASAs home page ;l也可以为图像设置超级链接,如:也可以为图像设置超级链接,如: HTML、XML和和XHTML(2)lHTMLHTML使用表单收集用户的输入信息,表单中包含需要用户使用表单收集用户的输入信息,表单中包含需要用
39、户提供信息的条目,每个条目都有一个唯一的名字,当用户提供信息的条目,每个条目都有一个唯一的名字,当用户点击提交按钮时,浏览器将所有条目及条目的值汇总,发点击提交按钮时,浏览器将所有条目及条目的值汇总,发送给服务器。送给服务器。lHTMLHTML的缺点:的缺点:将文档的内容与格式绑在一起,使得从文档将文档的内容与格式绑在一起,使得从文档中抽取信息或者改变信息的输出格式非常困难。中抽取信息或者改变信息的输出格式非常困难。l扩展的标记语言扩展的标记语言XMLXML和扩展的样式语言和扩展的样式语言XSLXSL将内容与格式分将内容与格式分离,使得离,使得数据的收集、处理与输出非常灵活方便。数据的收集、处
40、理与输出非常灵活方便。lXMLXML以结构化的方式描述内容;以结构化的方式描述内容;lXSLXSL描述独立于内容的显示格式。描述独立于内容的显示格式。l可扩展的超文本标记语言可扩展的超文本标记语言XHTMLXHTML是一种更规范的语言,可是一种更规范的语言,可简化浏览器的处理,从而可以在内存及处理能力均有限的简化浏览器的处理,从而可以在内存及处理能力均有限的手持设备上运行浏览器程序。手持设备上运行浏览器程序。表单表单CGI和服务器端脚本技术(和服务器端脚本技术(1)lHTMLHTML表单的处理过程;表单的处理过程;l处理动态文档的传统方法是公共网关接口处理动态文档的传统方法是公共网关接口CGI
41、CGI:lCGICGI是一个标准接口,它允许是一个标准接口,它允许WebWeb服务器与一个能够处理动服务器与一个能够处理动态文档的后台程序或脚本进行交互;态文档的后台程序或脚本进行交互;lCGICGI只只规定了服务器与后台程序交互的通用规则,而允许程规定了服务器与后台程序交互的通用规则,而允许程序员选择大多数的实现细节,如编程语言的选择;序员选择大多数的实现细节,如编程语言的选择;l每个每个CGICGI程序被赋予一个程序被赋予一个URLURL,位于,位于cgi-bincgi-bin目录下,表单的目录下,表单的ACTIONACTION参数指出了处理表单数据的参数指出了处理表单数据的CGICGI程
42、序的程序的URLURL,当表单,当表单数据被提交后,数据被提交后,WebWeb服务器调用相应的服务器调用相应的CGICGI程序进行处理,程序进行处理,并接收并接收CGICGI程序的输出;程序的输出;lCGICGI程序通过输出的头部与服务器进行通信,比如指出生成程序通过输出的头部与服务器进行通信,比如指出生成的文档类型,也可以指出文档放在另一个不同的的文档类型,也可以指出文档放在另一个不同的URLURL处;处;l服务器取得服务器取得CGICGI生成的文档,返回给浏览器。生成的文档,返回给浏览器。表单的处理表单的处理CGI和服务器端脚本技术(和服务器端脚本技术(2)lCGICGI的缺点:每次请求的
43、缺点:每次请求CGICGI程序,均会产生一个完整的程序,均会产生一个完整的HTMLHTML页,即页,即使每次产生的使每次产生的HTMLHTML文件内容只有几行不同。文件内容只有几行不同。l当网页只有一小部分需要改变时,可以使用服务器端脚本技术:当网页只有一小部分需要改变时,可以使用服务器端脚本技术:l在服务器中存储网页的模板,它包含传统的在服务器中存储网页的模板,它包含传统的HTMLHTML和脚本信息;和脚本信息;l服务器中内置解释器,对于服务器中内置解释器,对于HTMLHTML信息解释器不做任何改变,对信息解释器不做任何改变,对于脚本信息解释器用解释脚本的结果代替。于脚本信息解释器用解释脚本
44、的结果代替。l几种主要的服务器端脚本技术:几种主要的服务器端脚本技术:lASPASP(微软):脚本信息用(微软):脚本信息用VBVB编写,脚本解释器与微软的编写,脚本解释器与微软的InternetInternet信息服务器(信息服务器(Internet Informaton ServerInternet Informaton Server,IISIIS)紧密集成。紧密集成。lJSPJSP:网页中嵌入的脚本代码用:网页中嵌入的脚本代码用JavaJava语言编写,因而独立于平语言编写,因而独立于平台。台。lPHPPHP:使使用用PerlPerl语言,速度比语言,速度比ASPASP和和JSPJSP快
45、,但嵌入的代码难以快,但嵌入的代码难以阅读。阅读。lColdFusionColdFusion:网页中嵌入:网页中嵌入SQLSQL数据库查询语句,解释器向数据数据库查询语句,解释器向数据库系统发送库系统发送SQLSQL查询,并将结果置于查询语句的位置。查询,并将结果置于查询语句的位置。Java、JavaScript和和ActiveX controlslJavaJavalJava AppletJava Applet必须先被编译成字节码并存储在必须先被编译成字节码并存储在WebWeb服务器服务器上;上;l游览器需要运行游览器需要运行HTMLHTML解释器和解释器和JavaJava解释器;解释器;l当
46、用户向浏览器提供一个当用户向浏览器提供一个AppletApplet的的URLURL,或当浏览器在,或当浏览器在HTMLHTML文档中遇到一个指向文档中遇到一个指向AppletApplet的标记的标记时,浏时,浏览器与服务器联系获得该览器与服务器联系获得该AppletApplet的一个拷贝,下载到本的一个拷贝,下载到本地执行;地执行;lAppletApplet使用浏览器的使用浏览器的HTTPHTTP客户检索文档,使用浏览器的客户检索文档,使用浏览器的HTMLHTML解释器显示网页信息。解释器显示网页信息。lJavaScriptJavaScriptlJavaScriptJavaScript是一种脚
47、本语言,提供有与用户交互的是一种脚本语言,提供有与用户交互的JavaScriptJavaScript函数,脚本直接嵌入函数,脚本直接嵌入HTMLHTML页中,由浏览器解页中,由浏览器解释执行。释执行。lActiveX controlsActiveX controlslActiveX controlsActiveX controls被编译成机器语言,在硬件上执行,被编译成机器语言,在硬件上执行,与微软的与微软的IEIE浏览器结合在一起。浏览器结合在一起。超文本传输协议超文本传输协议HTTPlHTTPHTTP协议:协议:浏览器与浏览器与WebWeb服务器之间通信使用的协议,规服务器之间通信使用的协
48、议,规定了客户方与服务器方通信所使用的命令及响应。定了客户方与服务器方通信所使用的命令及响应。lHTTPHTTP通常运行在通常运行在TCPTCP连接之上,使用端口连接之上,使用端口8080。l基本工作模式:基本工作模式:浏览器向服务器发送浏览器向服务器发送HTTPHTTP请求,服务器返请求,服务器返回响应,然后释放连接。服务器不保留以前的请求或会话回响应,然后释放连接。服务器不保留以前的请求或会话的历史记录。的历史记录。l持久连接:持久连接:从从HTTP/1.1HTTP/1.1开始使用持久连接方式,一旦客户开始使用持久连接方式,一旦客户建立了和特定服务器的建立了和特定服务器的TCPTCP连接,
49、该连接就在多个请求和连接,该连接就在多个请求和响应过程中一直存在,直到某一方关闭连接。响应过程中一直存在,直到某一方关闭连接。HTTP/1.1HTTP/1.1的的默认方式为使用持久连接。默认方式为使用持久连接。l非流水线方式:客户只能在收到前一个请求的响应后才非流水线方式:客户只能在收到前一个请求的响应后才能发送下一个请求;能发送下一个请求;l流水线方式:客户可以连续发送多个请求而不需要等待流水线方式:客户可以连续发送多个请求而不需要等待响应,服务器也可以进行连续响应。响应,服务器也可以进行连续响应。l使用持久连接的缺点是要标识发送的每一个数据项的开头使用持久连接的缺点是要标识发送的每一个数据
50、项的开头和结尾。和结尾。HTTPHTTP通常使用的方法是先发送数据项的长度,然通常使用的方法是先发送数据项的长度,然后再发送数据项。后再发送数据项。超文本传输协议超文本传输协议HTTP(2)l内置的内置的HTTPHTTP操作操作lHTTPHTTP允许浏览器和服务器通过消息头部交换元允许浏览器和服务器通过消息头部交换元信息和协商各种能力;信息和协商各种能力;l条件请求:条件请求:HTTPHTTP允许发送方有条件地请求,浏允许发送方有条件地请求,浏览器可以在头部说明在哪种条件下应该响应请览器可以在头部说明在哪种条件下应该响应请求,如果不符合条件,服务器不返回请求的数求,如果不符合条件,服务器不返回
51、请求的数据项据项。Web优化(优化(1)lWebWeb缓存缓存lWebWeb缓存是将请求到的页放到缓存中,以备将来使用。缓存是将请求到的页放到缓存中,以备将来使用。l使用一个代理程序来维护缓存,浏览器被配置为向代理使用一个代理程序来维护缓存,浏览器被配置为向代理请求网页,当缓存中有所请求的页时,代理将页返回,请求网页,当缓存中有所请求的页时,代理将页返回,否则先从服务器取回,添加到缓存中,然后返回给请求否则先从服务器取回,添加到缓存中,然后返回给请求页的客户。页的客户。l分级缓存方案:本地分级缓存方案:本地PCPC、局域网及、局域网及ISPISP均运行代理,协均运行代理,协同工作。同工作。l确
52、定页的缓存时间:确定页的缓存时间:l启发式方法:根据网页的启发式方法:根据网页的Last-ModifiedLast-Modified头来确定保头来确定保存时间;存时间;l条件请求:使用条件请求:使用If-Modified-SinceIf-Modified-Since请求头;请求头;l由服务器指示如何进行缓存。由服务器指示如何进行缓存。l积极缓存。积极缓存。Web分级缓存方案分级缓存方案Web优化(优化(2)l服务器镜像服务器镜像l服务器在多个相距较远的位置上复制它们的内容;l镜像站点的静态创建和动态创建。Web优化(优化(3)l内容投递网络内容投递网络CDNCDNl内容投递商通过在各个内容投递
53、商通过在各个ISPISP网络上放置自已的内容服务网络上放置自已的内容服务器,为内容提供商提供内容投递服务。器,为内容提供商提供内容投递服务。l如何将用户的请求重定位到最近的内容服务器上?如何将用户的请求重定位到最近的内容服务器上?lCDNCDN对内容提供商服务器上的每一个网页进行预处理,对内容提供商服务器上的每一个网页进行预处理,将网页中的所有将网页中的所有URLURL替换为指向替换为指向CDNCDN服务器的服务器的URLURL;lCDNCDN服务器是一个伪服务器是一个伪HTTPHTTP服务器,它通过检查文件名服务器,它通过检查文件名和服务器名,确定请求的是哪个内容提供商的哪个网和服务器名,确
54、定请求的是哪个内容提供商的哪个网页;通过检查输入请求的页;通过检查输入请求的IPIP地址并查找数据库,确定地址并查找数据库,确定用户大概在什么位置;然后确定一个最合适的用户大概在什么位置;然后确定一个最合适的CDNCDN内内容服务器,向客户返回一个带有容服务器,向客户返回一个带有LocationLocation头的响应消头的响应消息,给出该内容服务器上所请求文件的息,给出该内容服务器上所请求文件的URLURL。l通常伪通常伪HTTPHTTP服务器会将客户的请求重定向到距客户最服务器会将客户的请求重定向到距客户最近的近的CDNCDN代理,代理,CDNCDN代理拥有一个很大的缓存,里面预代理拥有一
55、个很大的缓存,里面预先下载了最重要的内容。先下载了最重要的内容。在在CDN中查找中查找URLl1 1、ISOISO七层协议是什么?七层协议是什么?TCP/IPTCP/IP四层协议是什么?四层协议是什么?l2 2、ISOISO模型是如何进行传输的。模型是如何进行传输的。l3 3、ISOISO七层协议各有什么作用?七层协议各有什么作用?l4 4、简述、简述ISOISO模型与模型与TCP/IPTCP/IP模型的特点。模型的特点。l5 5、简述、简述ISOISO模型与模型与TCP/IPTCP/IP模型的关系与区别。模型的关系与区别。l6 6、TCP/IPTCP/IP四层协议各有什么作用?四层协议各有什么作用?l7 7、TCP/IPTCP/IP应用层服务有哪些?应用层服务有哪些?l8 8、简要说明、简要说明WWWWWW服务的执行过程。服务的执行过程。l9 9、当用户点击了某个超级链接后,、当用户点击了某个超级链接后,WebWeb客户端与服务器端客户端与服务器端各进行哪些工作?各进行哪些工作?l1010、WebWeb的优化方案有哪些?如何运作的?的优化方案有哪些?如何运作的?本章思考题本章思考题