




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(科研训练、毕业设计)题 目: 宽带路由器软件版本升级功能设计与实现姓 名: 学 院: 软件学院系:专 业: 软件工程年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月厦门大学本科毕业论文宽带路由器软件版本升级功能设计与实现摘要 宽带路由器已经在国内得到大规模的使用,目前宽带路由器常用的版本升级方法是通过TFTP协议升级,TFTP 特点是实现简单,但是由于TFTP下层是通过UDP协议来实现数据传输的,可靠性差,不方便通过远程来升级。HTTP协议下层是采用TCP进行数据传输,可以大大提高远程升级的可靠性,并且采用HTTP进行版本升级的时候,可以使用WEB页的方式直接进行配置,方便了产品的维护,这样也能在一定程度上扩大产品的使用群体,有利于产品的推广。本文提供了一种通过HTTP协议来对宽带路由器进行配置和升级的设计方案和实现方法。关键词 路由器 HTTP 嵌入式 web服务器The designing and implemention of Router updating Abstract Now a days, the bord band router is used wildely. Usually , TFTP is used in the updating of the router , TFTP is easy to be implemented, it is based on the UDP, UDP is transported using UDP , UDP is not reliable and it is not convenient to remote updating. But lower layer of HTTP is TCP, it is provides reliable message transport ,and if we adopt the HTTP for Router updating, the admin can configurate the Router though the web page directly, it is easy for the admin to Router maintenance. Here , we will provide a implemention of Router updating based on HTTP.Keywords Router HTTP Embed web server目录摘要2Abstract.3第一章 引言61.1 前言61.2 研究背景61.3 开发目的和开发工具71.3.1 开发目的71.3.2 开发工具7第二章 超文本传输协议HTTP82.1 HTTP 工作原理82.2 HTTP消息92.3 HTTP 请求(Request)102.3.1 请求行(Request-Line)112.3.2 请求头部(Request-Header)112.3.3 URI122.3.4 GET142.4 HTTP 回应(Response)162.4.1 Status-Line162.4.2 回应消息头(Response Header)172.5 HTTP 实体182.5.1 实体头(Entity Header)182.6 增强型HTTP192.7 小结22第三章 系统分析233.1 功能分析233.2 架构设计233.2.1 客户端设计243.2.2 客户端实现253.2.3 服务端设计30 技术支撑30 接口设计31第四章 系统展示364.1 客户端展示364.2 服务端展示37结论37致谢语37参考文献38ContentsAbstract.3Chapter 1 Introduction61.1 Preface61.2 Background61.3 Intent and Tools71.3.1 Intent71.3.2 Tools7Chapter 2 Hypertext Transfer Protocol HTTP82.1 HTTP Elements82.2 HTTP Message92.3 HTTP Request102.3.1 Request-line112.3.2 Request-header112.3.3 URI122.3.4 GET142.4 HTTP Response162.4.1 Status-Line162.4.2 Response Header172.5 HTTP Entity182.5.1 Entity Header182.6 Form-based File Upload in HTML192.7 Summary22Chapter 3 System Analysis233.1 Functions233.2 Architecture233.2.1 Client Designment243.2.2 Client Implementation253.2.3 Server Designment30 Supports30 Interface31Chapter 4 System Interface364.1 Client Interface364.2 Server Interface37Conclusion37Acknowledgement37References38第一章 引言1.1 前言目前,宽带路由器在国内已经得到了广泛的应用,但是除了少数专业路由器(如cisco 路由器)之外,都是采用TFTP协议来实现对路由器软件版本的升级,TFTP协议的特点是简单,容易实现,但是由于TFTP协议在传输层是采用UDP协议来实现的,可靠性差。就当前来说,最流行的因特网应用毫无疑问的属于WEB应用,与其他因特网应用相比,WEB应用的最大特点是借助于HTTP协议在客户端和服务器之间传输数据,并且,HTTP协议下层是采用TCP进行数据传输如果采用HTTP协议来实现宽带路由器的升级,不仅可以保证数据传输的可靠性,而且用户可以直接通过WEB页面来对路由器进行配置与升级,为用户管理路由器提供了便利。1.2 研究背景 在计算机网络飞速发展的今天,通过HTTP协议在PC之间传输数据的技术已经很成熟,但是在嵌入式设备中,就如现在的路由器,由于硬件资源的限制,HTTP还没能在嵌入式设备中得到广泛的运用,但是由于嵌入式已经成为计算领域的一个非常重要的组成部分,并且由于web的易用性与友好的互操作性,它必定成为未来互连网的发展趋势,而HTTP的一个非常常见的实现方式就是web,所以,对于嵌入式web 服务器的研究,具有重要的价值。1.3 开发目的和开发工具1.3.1 开发目的本次的开发目的就是在路由器中实现一个web server,接受来自PC 浏览器的请求,并处理请求,然后把相应的处理结果返回给浏览器。1.3.2 开发工具开发平台:NBR 3600(锐捷路由器)开发工具:cygwin gcc 开发语言:C ,HTML ,javascript第二章 超文本传输协议HTTP2.1 HTTP 工作原理HTTP(HyperText Transfer Protocol)是一种可支持分布式协作的超媒体信息系统的应用层协议,该协议是一种无状态的面向对象的的通用协议,借助其扩充请求机制的支持,该协议可以用来实现诸如域名服务器和分布对象管理系统等多种任务。HTTP协议的特点是其数据表达的形式和交互的方式,该协议支持构造一个独立于数据的系统。HTTP目前协议的版本是1.1。HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息。HTTP遵循请求(Request)/应答(Response)模型。Web浏览器向Web服务器发送请求,Web服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:(1)建立TCP连接在HTTP 工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的 TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能, 才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80(2) Web浏览器向Web服务器发送请求命令一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET /sample/hello.jsp HTTP/1.1(3) Web浏览器发送请求头信息浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。(4) Web服务器应答客户机向服务器发出请求后,服务器会客户机回送应答,例如:HTTP/1.1 200 OK 。应答的第一部分是协议的版本号和应答状态码(5)Web服务器发送应答头信息正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。(6) Web服务器向浏览器发送数据Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。(7) Web服务器关闭TCP连接一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码Connection:keep-alive。TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。2.2 HTTP消息HTTP 消息由客户端发送给服务端的请求消息和服务端发送给客户端的回应消息组成,即:HTTP-message = Request | Response。不论是请求消息还是回应消息都使用一个通用的消息格式来发送数据。这两种消息格式都包含一个起始行、零个或者多个头部域、一个用来表示头部结束的空行,有的情况下,还包含负载数据部分。generic-message = start-line *(message-header CRLF) CRLF message-body start-line = Request-Line | Status-Line不论是在请求消息还是回应消息中,有几个相同的头部域,称为通用头部(general-header),由以下几部分组成:general-header = Cache-Control | Connection | Date | Pragma | Trailer | Transfer-Encoding | Upgrade | Via | Warning 2.3 HTTP 请求(request) 请求消息是指由客户端发送到服务端的消息,一个请求消息由以下几部分组成:Request = Request-Line *( general-header | request-header | entity-header ) CRLF) CRLF message-body 2.3.1 请求行(request-line) Request-line 由一个方法记号开头,然后是request-URI和HTTP协议版本号,最后由一个CRLF结束,即:Request-Line = Method SP Request-URI SP HTTP-Version CRLF其中每一个元素之间由一个空格隔开。Method 元素是指对request-URI所指定的资源的操作,Method元素是不区分大小写的,在1.1版本中,有以下一些取值:Method = OPTIONS | GET | HEAD | POST | PUT | DELETE | TRACE | CONNECT | extension-methodextension-method = token其中最常用的是GET 和POST ,下面我们将对这两种方法进行介绍。2.3.2 请求头部(request-header)request-header 用来传递一些附加的消息到服务器,包括客户端的一些信息,request-header的格式如下:request-header = Accept | Accept-Charset | Accept-Encoding | Accept-Language | Authorization | Expect | From | Host | If-Match | If-Modified-Since | If-None-Match | If-Range | If-Unmodified-Since | Max-Forwards | Proxy-Authorization | Range | Referer | TE | User-Agent 各项的具体含义请参看RFC 2616。2.3.3 URIURI 是指Uniform Resource Identifier,它指定了客户端所要请求的资源,其中URI的格式为:scheme:/host:port#/path/;url-params?query-string#anchorl scheme 这一部分指定了本次操作所使用的协议,例如http,ftp,https。l host 这一部分可以是IP地址或者是web 服务器的域名。l port# - 这是一个可选的选项,它指明了目标服务器所监听的端口,在缺省的情况下,表示80端口。l path 本选项是指从服务端根目录到所指定文件的文件系统的路径,在缺失的情况下,表示所请求的是服务器的跟目录。l url-params 这是一个可选的选项,但是现在它是一个非常常用的选项,特别是在服务端支持java servlet API 的情况下,它用来指定客户端与服务器的会话。l query-string 这是一个可选的选项,它通常与客户端的请求相关联,例如POST 所指定的字段,如果本选项存在,则在URL后边跟随一个“?”,然后本字段跟在“?”后边,多个querty-string之间用“&”相分隔,然后单个querty-string之间用“=”来分隔参数和值。l anchor 这个可选的选项指定了所请求的文件中的某一个书签位置。如过存在次选项,则它后边跟着一个hash值或者“#”。通常URI 有以下几种情况:Request-URI = * | absoluteURI | abs_path | authority在每次请求当中,使用哪一种URI取决于每一次具体请求的本质。l “*”表示不请求具体的资源,由服务端来决定,例如:OPTION * HTTP/1.1。l absoluteURI 指定了所请求资源的完整路径,当一个请求需要经过代理的时候,使用absoluteURI是必须的例如:GET /pub/WWW/TheProject.html HTTP/1.1l abs-path 指定了所请求资源的相对路径,在使用相对路径的时候,必须在在主机头部域中包含主机的地址,例如:GET /pub/WWW/TheProject.html HTTP/1.1Host: l 当在 abs_path中只指定一个“/”的时候,表示对服务端根目录的请求。 Authority 只在CONNECT 方法中使用,由于本次不用到,就不再介绍(RFC 2616 中有详细的介绍)。下边是一个简单的URI的例子:/sj/test;id=8079?name=jack&x=true#stuffSCHEME = httpHOST = PATH = /sj/testURL PARAMS = id=8079QUERY STRING = name=jack&x=trueANCHOR = stuff2.3.4 GETGET 方法是所有request方法中最简单的,它用来请求服务器上一个特定的资源。当你在浏览器中键入一个URL或者点击了一个web页面中的超级链接的时候,浏览器就会发送一个GET 请求到web服务器。例如有如下一个web页面: simple form Simple formTicker:当我们在输入框中键入YAHOO,然后点击get quote按钮的时候,浏览器将会构造如下一个URL:/q?s=YAHOO接着,浏览器将会向服务器提交如下的一个请求信息:GET /q?s=YAHOO HTTP/1.1Host:User-Agent: Mozilla/4.75 en (WinNT;U)这时候,服务器端将会返回如下一个回应消息:HTTP /1.0 200 OKDate: Sat, 03 Feb 2001 22:48:35 GMTConnection: closeContent-Type: text/htmlYahoo ! Finance YAHOO.回应消息中的各个字段的含义将在后边章节中介绍。2.3.5 POST在request中,POST 方法可以实现更高级的功能,POST 和GET 最基本的区别在于POST 包含一个消息体,在POST中,用一个空行来分隔消息头部和消息体部分,我们把上边的那个GET 例子换成POST 方法: simple form Simple formTicker:这时候浏览器会构造如下URL:/q接下来,浏览器向服务器发送如下消息:POST /q HTTP/1.1Host:User-Agent: Mozilla/4.75 en (WinNT;U)Content-Type: application/X-www-form-urlencodedContent-Length: 6S=YAHOO需要注意的一点是,这时候,浏览器构造的URL并没有包含query参数,而是把query参数当成消息体来发送。最后,浏览器将会收到如下的回应消息:HTTP /1.0 200 OKDate: Sat, 03 Feb 2001 22:48:35 GMTConnection: closeContent-Type: text/htmlYahoo ! Finance YAHOO.注意到一点是这次收到的回应消息和上次用GET方法受到的回应消息是一样的。2.4 HTTP 回应(response)当服务器端受到客户端发送来的请求消息以后,就会发送一个回应消息到客户端。回应消息的格式如下:Response = Status-Line *( general-header | response-header | entity-header ) CRLF) CRLF message-body 2.4.1 Status-Line在服务器端发送来的消息中,第一行就是Status-Line,Status-Line由HTTP版本信息(HTTP version),应答码(Status-Code),状态描述(Reason Phrase)和一个CRLF组成,即:Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF在服务器的应答代码通常由三位数值来表示应答的类型,应答码的第一位用来说明应答的状态,其它两位用来进一步说明第一位代码的具体含义。下边给出HTTP协议中所使用的五种应答的具体含义:1XX:消息。请求虽然未被拒绝但也没有实现。代码XX用来表示将要发生的事件或实现请求必须具备的条件。2XX:成功。请求已经被服务器接收,理解和接受。其后的两为代码用来指出执行的结果。3XX:重定向。服务器接受请求,但是需要客户端执行进一步操作才能实现请求。其后的两位代码用来指示客户端完成其请求必须要进行的操作,或者指示影响请求执行的条件4XX:客户端错误。服务器接受请求,但是由于请求中存在错误,服务器无法执行该请求,其后的两为代码指定可能存在的错误(包括用户经常遇到的404错误“无法找到文件” )。2.4.2 回应消息头(Response Header)回应消息头部用来传递一些不能在status-line中传递的附加信息,Response Header的格式如下:response-header = Accept-Ranges | Age | ETag | Location | Proxy-Authenticate | Retry-After | Server | Vary | WWW-Authenticate 下边是一个3XX回应消息的例子:HTTP/1.1 301 Move PermanentlyLocation: /shklar/.301 Moved Permanently301 Moved PermanentlyThe document has moved here2.5 HTTP 实体在请求消息或者回应消息中,如果没有特别限定的情况下,这两种类型的消息中都会包含HTTP 实体,实体有Entity Header和Entity Body组成,在一些情况下,没有Entity Body。实体中包含了消息中的数据部分。2.5.1 实体头(Entity Header)实体头指明了消息的数据部分在传送中的一些属性。实体头的格式如下: entity-header = Allow ; Section 14.7 | Content-Encoding ; Section 14.11 | Content-Language ; Section 14.12 | Content-Length ; Section 14.13 | Content-Location ; Section 14.14 | Content-MD5 ; Section 14.15 | Content-Range ; Section 14.16 | Content-Type ; Section 14.17 | Expires ; Section 14.21 | Last-Modified ; Section 14.29 | extension-headerextension-header = message-header2.6 增强型HTTP 在早期的HTTP版本中,HTTP服务器不支持文件的上传,但是在RFC 1867中,对HTTP做了修改,能够支持文件的上传。l HTTP 头部的变更RFC1867对HTTP头作了适当地变更,但变更很小。首先content-type头由以前的: content-type: application/x-www-form-urlencoded 变为 content-type: multipart/form-data; +空格+ boundary=-7d52b133509e2 即增加了boundary,所谓的boundary其实就是分割线,下文将看到,RFC1867利用boundary分割HTTP实体数据。boundary中数字字符区是随机生成的。l HTTP 实体的变更因为RFC1867增加了文件上传得功能,而上传文件内容自然也会被加入到HTTP的实体中。现在因为既有HTTP一般的参数实体,又有上传文件的实体,所以用boundary把每种实体进行了分割,HTTP的实体看起来将是下面的样子: -7d52b133509e2 Content-Disposition: form-data; name=file1; filename=c:aa.txt Content-Type: text/plain 文件内容在此处 -7d52b133509e2 Content-Disposition: form-data; name=userName zhangsan -7d52b133509e2 Content-Disposition: form-data; name=password 123 -7d52b133509e2-l HTTP 数据格式根据RFC1867协议,在HTTP实体中必须对每个上传得文件有说明头,如: Content-Disposition: form-data; name=file1; filename=c:aa.txt Content-Disposition:指明内容类型是form-data name=file1:指明页面上标签的名字是file1 filename=c:aa.txt:指明上传文件在客户端上的全路径 空行:文件头说明完毕后,要加一空行,以表示后面的数据是文件的内容 文件内容:再接下来就是文件的内容 下边是一个具体的例子:假如服务器提供如下一个HTML文件What is your name? What files are you sending? 当用户键入“Joe Blow”,然后选择了一个名为“file1.txt”的文件以后,浏览器将发送如下消息到服务器:Content-type: multipart/form-data, boundary=AaB03x-AaB03xcontent-disposition: form-data; name=field1Joe Blow-AaB03xcontent-disposition: form-data; name=pics; filename=file1.txtContent-Type: text/plain. contents of file1.txt .-AaB03x-如果用户选择了两个文件,另外一个文件为file2.gif,则发送的消息为:Content-type: multipart/form-data, boundary=AaB03x-AaB03xcontent-disposition: form-data; name=field1Joe Blow-AaB03xcontent-disposition: form-data; name=picsContent-type: multipart/mixed, boundary=BbC04y-BbC04yContent-disposition: attachment; filename=file1.txtContent-Type: text/plain. contents of file1.txt .-BbC04yContent-disposition: attachment; filename=file2.gifContent-type: image/gifContent-Transfer-Encoding: binary.contents of file2.gif.-BbC04y-AaB03x-2.7 小结 本章主要介绍了HTTP协议的基本结构,因为本次项目的原型就是实现一个HTTP服务器,所以,花了不少篇幅介绍HTTP协议的原理及规范。但是由于篇幅的原因,HTTP协议许多细节内容没有作详细的介绍,更多内容请参考RFC文档资料。第三章 系统分析3.1 功能分析本系统主要是实现通过浏览器,直接对RNB 路由器进行配置与软件版本的升级。在Internet如此发展的今天,在PC机之间使用HTTP协议来传输数据的技术已经很成熟,并且由于硬件的飞速发展,HTTP也已经超越了当初的设计,可以实现许多高级的功能,比如现在的web 服务器IIS。但是在路由器中,是属于一个嵌入式环境,在硬件资源和技术上受到很多限制,所以路由器与PC之间通过HTTP协议来传输数据的技术还不是很成熟。本系统的原型就是实现一个嵌入式web 服务器。用户可以通过远程登陆路由器中的web页面来对路由器进行基本的配置,监控,并且可以上传PC 机上的软件来实现路由器软件版本的升级。这样通过友好的web界面,可以让对路由器的监控,维护变得简单。3.2 架构设计通过对系统功能的分析,我们可以把该系统分为前台客户端和后台服务器两部分。前台主要是通过编写web页面,来接受用户管理信息的输入和监控信息的输出;后台主要是实现处理用户提交的请求信息,然后返回相应的信息到前台。整个系统环境模型可抽象为下图: 图 3-1 系统环境模型图网络管理员远程登陆具有web server的路由器的web页面,输入相应的配置信息,这时候浏览器将会发送一个请求信息到路由器,路由器通过处理用户的请求信息,最后又把相应的处理信息回应给客户端。在后边的章节中将对这两部分的具体设计与实现进行详细的介绍。3.2.1 客户端设计客户端主要是通过编写web页面,来接受用户配置信息的输入。根据配置信息的关联性,可以把客户端的功能分为以下几个部分:l 接口配置这一部分是对路由器LAN 接口和WAN 接口的的IP地址,子网掩码和MAC地址的配置,在这一部分中,还提供了对各个接口的监控,以及对路由器的WAN口线路连通性的检测,并提供可选的检测方案。l 安全设置这一部分是对路由器安全的设置,提供如下功能:防火墙设置:可以通过对数据的进出方向,源IP,源端口,目的IP,目的端口进行过滤。防ARP欺骗:通过配置路由器发送免费ARP的间隔时间来防止ARP欺骗。病毒检测 :该功能目前支持冲击波和震荡波病毒的检测。这两种病毒会严重消耗路由器资源。该检测功能检查内网的PC是否可能中毒,检测结果只是提供可疑PC的IP,但不确诊为中毒。l DHCP 服务这一部分是对DHCP 服务器地址的配置,并且提供静态IP地址的绑定和对当前已经分配的IP地址信息的查看。l 网络选项这一部分主要是对路由器网络选项的配置,例如DNS服务器的配置,路由表配置,路由器不同链路的流量均衡配置,IP限速和内外网端口映射。l 系统工具这一部分主要提供以下功能:系统日期设定:设置路由器时间。系统升级 :用PC机上指定的软件替换路由器中原有的软件版本。恢复出厂设置:把路由器的配置信息恢复到出厂时的设置。日志服务 :把路由器运行的状态信息发送到指定的日志服务器。系统口令设置:设置登陆路由器web页面和TELNET的口令。l 系统监视这一部分提供了对路由器的系统运行状态,接口状态和路由器当前的配置信息的监控。3.2.2 客户端实现在传统方式下,对路由器的配置都是通过在路由器的CLI中键入相应的配置命令,然后路由器功过执行用户键入的命令来完成用户的配置。所以当用户在web页面中键入配置信息的时候,客户端负责把用户键入的配置信息封装成相应的配置命令,然后把命令发送到服务端,服务端解析出配置命令后,通过CLI接口,让路由器执行配置命令。客户端可抽象为以下模型:图 3-2 客户端任务模型客户端对命令的封装符合RNB的命令规范,下边提供一些较为常见的配置命令:进入指定的接口配置模式:interface interface-type interface-number关闭或启用接口:shutdown 或者 no shutdown配置IP地址:ip address ip-address ip-mask配置最大传输单元:mtu bytes配置MAC地址:mac-address mac-address监控以太网接口状态:show interface FastEthernet interface-number静态ARP 设置:arp ip-address mac-address arp-typeARP 超时设置:arp timeout seconds启用DHCP:service dhcpDHCP 排斥地址配置:ip dhcp excluded-address low-ip-address high-ip-address 配置DHCP 地址池:ip dhcp pool dhcp-pool配置地址池子网和掩码:network network-number mask以上是一些较为常用的配置命令,更为详细的内容请参考RGNOS 配置参考。在客户端,web页面是用HTML语言和javascript来编写,HTML部分负责获得用户的输入,然后javascript部分负责对用户输入的封装。下边是javascript部分的函数列表及其简单介绍:l 公共函数:主要是对输入合法性的检测功能:封了document.getElementById(idVal)和return document.allidVal;function getElById(idVal)功能: 用于全选Select栏所有的option. function sltAll(sId)功能:禁用或者启用相对应的控件,如Select栏,Text栏等等。function enbWin(obj, bSta)功能: 判断字符串是否为空,为空返回true,否则返回false function isE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化创意产品开发合伙协议范本与市场推广策略
- 离婚协议书范本:财产分割与债务承担协议
- 科技园区租赁合同担保与创新创业项目合作协议
- 物业管理公司员工安全责任与应急救援服务合同
- 生态农业示范区空置土地租赁与农业科技推广合作合同
- 班组长安全知识培训课件
- 2025年妇科产科护士妇科产房护理技能模拟测试答案及解析
- 徽州美术绘画课件
- 村妇女主任培训
- 辅警思想政治课课件
- 2025年农村应急广播系统使用与维护培训模拟题集及解析答案
- 班级日常管理规范及实施方案
- 专利代理培训课件
- 田径短跑教学课件
- 2025-2026学年教科版(2024)小学体育与健康二年级全一册教学计划及进度表(第一学期)
- GJB3243A-2021电子元器件表面安装要求
- 员工思想培训课件内容
- 脊柱弯曲异常筛查结果记录表
- 尾矿库安全监测技术规范
- 劳动关系协调员三级参考资料课件
- 有机光化学之光催化剂参与的反应课件
评论
0/150
提交评论