IP产品开发之TCPIP协议——伟博

上传人:小** 文档编号:243141224 上传时间:2024-09-16 格式:PPT 页数:28 大小:1.12MB
返回 下载 相关 举报
IP产品开发之TCPIP协议——伟博_第1页
第1页 / 共28页
IP产品开发之TCPIP协议——伟博_第2页
第2页 / 共28页
IP产品开发之TCPIP协议——伟博_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Slide Title,Body Text,Second Level,Third Level,Fourth Level,Fifth Level,28,IP,类产品开发之,TCP/IP,协议,什么叫,IP,产品,IP,是网络协议,Internet Protocol,的意思缩写。,IP,产品,就是和网络所相关的一些产品,层次上分为网络、业务、,终端,和,网络的边缘层,。,TCP/IP,协议模型,TCP/IP,网络协议分为应用层(,Application,)、传输层(,Transport,)、网络层(,Network,)和链路层(,Link,)四层。,TCP/IP,通讯过程,TCP/IP,数据包的封装,以太网(,RFC894,)帧格式,IP,数据报格式,UDP,协议,UDP,协议,TCP,协议,IP,协议中服务端与客户端,UDP,、,TCP,中主动发起连接请求的一般都是客户端,而服务端常常有固定的,IP,或域名,负责响应客户端的资源请求并且不限定,客户端,IP,(因为服务端在连接建立之前不知道客户端的,IP,),通过更上层的应用程序来对客户端进行登录或认证管理。,TCP/IP,端口号,源,IP,地址和端口号和目的,IP,地址和端口号唯一确定了一个连接,上层应用程序提供一个双向通信接口,。,TCP,与,UDP,段结构中端口地址都是,16,比特,可以有在,0-65535,范围内的端口号。对于这,65536,个端口号有以下的使用规定:,(,1,)端口号小于,256,的定义为常用端口,服务器一般都是通过常用端口号来识别的。任何,TCP/IP,实现所提供的服务都用,1-1023,之间的端口号,是由,IANA,来管理的;,(,2,)客户端只需保证该端口号在本机上是惟一的就可以了。客户端口号因存在时间很短暂又称临时端口号;,(,3,)大多数,TCP/IP,实现给临时端口号分配,1024-5000,之间的端口号。大于,5000,的端口号是为其他服务器预留的。,知名端口:,21 (ftp),、,23 (telnet,),、,25(smtp,简单邮件传输协议,),、,69 (,tftp,小文件传输协议,),、,80 (http,用于万维网服务的超文本传输协议,),、,161(snmp,简单网络管理协议,),等,http,协议简介,超文本传输协议,(HTTP,,,HyperText,Transfer Protocol),是互联网上应用最为广泛的一种网络协议。所有的,WWW,文件都必须遵守这个标准。设计,HTTP,最初的目的是为了提供一种发布和接收,HTML,页面的方法,。,HTTP,是一个客户端和服务器端请求和应答的标准(,TCP,),。,通常,由,HTTP,客户端发起一个请求,建立一个到服务器指定端口(默认是,80,端口,)的,TCP,连接。,HTTP,服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如,HTTP/1.1 200 OK,,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。,HTTP,使用,TCP,而不是,UDP,的原因在于(打开一个)一个网页必须传送很多数据,而,TCP,协议提供传输控制,按顺序组织数据,和错误纠正。,通过,HTTP,或者,HTTPS,协议请求的资源由统一资源标示符(,Uniform Resource Identifiers,)(或者,更准确一些,,URLs,)来标识,http,协议内容,1,、,HTTP,请求消息,请求行,=,方法,空格,请求,URI ,空格,版本号,回车换行,2,、,HTTP,响应消息,状态行,=,版本号,空格,状态码,空格,原因,回车换行,3,、,常用的请求方式是,GET,和,POST.,GET,方式,:是以实体的方式得到由请求,URI,所指定资源的信息,如果请求,URI,只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。,POST,方式,:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求,URI,所指定资源的附加新子项,http,协议内容,4,、请求头,Accept,:浏览器可接受的,MIME,类型,Accept-Language,:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到,Connection,:表示是否需要持久连接。如果,Servlet,看到这里的值为“,Keep-Alive”,,或者看到请求使用的是,HTTP 1.1,(,HTTP 1.1,默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如,Applet,,图片),显著地减少下载所需要的时间。要实现这一点,,Servlet,需要在应答中发送一个,Content-Length,头,最简单的实现方法是:先把内容写入,ByteArrayOutputStream,,然后在正式写出内容之前计算它的大小,Content-Length,:表示请求消息正文的长度;,Host,:初始,URL,中的主机和端口,;,If-Modified-Since,:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回,304“Not Modified”,应答;,Referer,:包含一个,URL,,用户从该,URL,代表的页面出发访问当前请求的页面。,http,协议内容,5,、响应头,Content-Length,:表示内容长度。只有当浏览器使用持久,HTTP,连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入,ByteArrayOutputStram,,完成后查看其大小,然后把该值放入,Content-Length,头,最后通过,byteArrayStream.writeTo(response.getOutputStream,(),发送内容;,Content-Type,: 表示后面的文档属于什么,MIME,类型。,Servlet,默认为,text/plain,,但通常需要显式地指定为,text/html,。由于经常要设置,Content-Type,,因此,HttpServletResponse,提供了一个专用的方法,setContentTyep,。 可在,web.xml,文件中配置扩展名和,MIME,类型的对应关系;,Last-Modified,:文档的最后改动时间。客户可以通过,If-Modified-Since,请求头提供一个日期,该请求将被视为一个条件,GET,,只有改动时间迟于指定时间的文档才会返回,否则返回一个,304,(,Not Modified,)状态。,Last-Modified,也可用,setDateHeader,方法来设置;,http,协议内容,6,、实体头,Allow,:,GET,POST,Content-Encoding,:文档的编码(,Encode,)方法,例如:,gzip,,见“,2.5,响应头;,Content-Language,:内容的语言类型,例如:,zh-cn,;,Content-Length,:表示内容长度,,eg,:,80,,可参考“,2.5,响应头”;,Content-Location,:表示客户应当到哪里去提取文档,例如:,http:/,www.dfdf.org/dfdf.html,,可参考“,2.5,响应头”;,Content-MD5,:,MD5,实体的一种,MD5,摘要,用作校验和。发送方和接受方都计算,MD5,摘要,接受方将其计算的值与此头标中传递的值进行比较。,Eg1,:,Content-MD5: ,。,Eg2,:,dfdfdfdfdfdfdff,=,;,Content-Range,:随部分实体一同发送;标明被插入字节的低位与高位字节偏移,也标明此实体的总长度。,Eg1,:,Content-Range: 1001-2000/5000,,,eg2,:,bytes 2543-4532/7898,Content-Type,:标明发送或者接收的实体的,MIME,类型。,Eg,:,text/html;,charset,=GB2312,主类型,/,子类型;,Last-Modified,:,WEB,服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间等等。例如:,Last-Modified,:,Tue, 06 May 2008 02:42:43 GMT,.,telnet,协议,telnet,协议是,TCP/IP,协议族中的一员,是,Internet,远程登陆服务的标准协议。应用,Telnet,协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。,1,、,telnet,也是,客户,/,服务器结构,,服务端即受访的远程主机系统,监听其网络的,23,号端口,接受来自客户端即进行访问的本地终端的连接。通过服务端验证后,客户端就成为服务端的一个标准的显示终端,可进行命令下达和接收信息反馈,最终达到类似超级终端的效果,不同的是一个通过网络连接建立通道,一个是往往通过串口建立通道。,2,、实现过程如下:,当用,Telnet,登录进入远程计算机系统时,将启动两个程序,一个叫,Telnet,客户程序,它运行在用户的本地机上;另一个叫,Telnet,服务器程序,它运行在用户要登录的远程计算机上。,telnet,协议,(a),本地机上的客户程序要完成如下的功能:,建立与服务器的,TCP,连接;,从键盘上接收输入的字符;把输入的字符串变成标准格式并送给远程服务器;从远程服务器接收输出的信息;把该信息显示在屏幕上。,(b),远程,Telnet,服务器的,Telnet,服务程序监听客户端连接,一接到连接的请求,就马上活跃起来,并完成如下的功能:,通知计算机,远程计算机已经准备好了;,等候输入命令;对输入的命令做出反应(如显示目录内容,或执行某个程序等);把执行命令的结果送回给用户的计算机;重新等候输入的命令。,telnet,协议,3,、,telnet,的,选项协商:,Telnet,连接双方首先进行交互的信息是选项协商数据,,选项协商是对称的任何一方都可以主动发送选项协商请求给对方,。,右上是,TELNET,选项协商的六种情况,右下是常用的选项代码。选项协商需要,3,个字节:,IAC,(,255,),然后是,WILL,(,251,)、,DO,、,WONT,或,DONT,;最后一个标识字节用来指明操作的选项,。,4,、关于,telnet,的开发,主要的是做编辑显示与命令解释,达到最适宜的对远程系统控制。,ftp,协议,ftp,,即,File Transfer Protocol(,文件传输协议,),的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。同前面的,http,和,telnet,一样也是,是,客户,/,服务器结构,其监听的端口是,21,号,客户端可以通过浏览器、,ftp,客户端软件或应用程序如(,WINDOWS,下的资源管理器)登录服务器来获取文件服务。,ftp,原理模型如右图,用户,PI,(,协议解释器,)开启控制连接,并向服务端发送标准,FTP,命令。服务器一般有两个主要进程:一个进程为服务器,PI,,其与用户,PI,建立连接并接收其下达的命令予以解析和应答;另一个进程为服务器,DTP,,在适当时候与用户,DTP,建立数据传输连接,提供数据传输服务。,ftp,协议,文件传输功能,1,、实现过程,从用户,PI,到服务器的信道是建立在用户到标记服务器端口间的。用户协议解释器负责发送命令和解释接收的应答;服务器,PI,解释命令,发送应答,指导,DTP,建立数据连接并传送数据。如果数据传输的第二方是用户,DTP,,通过用户,FTP,主机的内部协议对它进行控制;如果第二方是服务器,DTP,,它由用户,PI,发来的命令经过自己的,PI,控制。,2,、,FTP,命令,一条,ftp,命令由命令字段(一般四个字符)和结尾,CRLF,(回车换行)构成如,USER ,。,ftp,命令分为如下几类:,(a),访问控制,-,用户名,(USER),口令,(PASS)ACCOUNT (ACCT),改变工作目录,(CWD),回到上一层目录,(CDUP),结构加载,(SMNT),重新初始化,(REIN),退出登录,(QUIT),(b),传输参数,-,数据端口,(PORT),被动,(PASV),表示类型,(TYPE),文件结构,(STRU),传输模式,(MODE),(c),服务命令,-,获得文件,(RETR),保存,(STOR),附加,(APPE),分配,(ALLO),重新开始,(REST),重命名,(RNFR),重命名为,(RNTO),放弃,(ABOR),删除,(DELE),删除目录,(RMD),创建目录,(MKD),打印工作目录,(PWD),列表,(LIST),名字列表,(NLST),站点参数,(SITE),系统,(SYST),状态,(STAT),帮助,(HELP),等待,(NOOP),ftp,协议,3,、,ftp,应答,FTP,命令的响应是为了对数据传输请求和过程进行同步,也是为了让用户了解服务器的状态。每个命令必须有最少一个响应,如果是多个,它们要易于区别。有些命令是有顺序性的,因此其中任何一个命令的失败会导致从头开始。,FTP,响应由三个数字构成,后面是一些文本。数字带有足够的信息命名用户,PI,不用检查文本就知道发生了什么。文本信息与服务器相关,用户可能得到不同的文本信息。文本和数字以,间隔,文本后以,Telnet,行结束符结束。文本可能多于一行,这时文本必须在括号内,第一行内要有信息表示文本多于一行,最后一行也要有所标记。如果是多行,可以在数字代码后加上,“,-,”,,最后一行以数字开始,后面是,,再加上,Telnet,的行结束符就可以了。如,200 Command OK,110,重新启动标记应答。在这种情况下文本是确定的,它必须是:,MARK,yyyy,=,mmmm,,其中,yyyy,是用户进,程数据流标记,,mmmm,是服务器标记。,120,服务在,nnn,分钟内准备好,125,数据连接已打开,准备传送,150,文件状态良好,打开数据连接,200,命令成功,202,命令未实现,211,系统状态或系统帮助响应,212,目录状态,213,文件状态,214,帮助信息,信息仅对人类用户有用,215,名字系统类型,220,对新用户服务准备好,221,服务关闭控制连接,可以退出登录,225,数据连接打开,无传输正在进行,226,关闭数据连接,请求的文件操作成功,227,进入被动模式,230,用户登录,250,请求的文件操作完成,257,创建,PATHNAME,331,用户名正确,需要口令,332,登录时需要帐户信息,350,请求的文件操作需要进一步命令,421,不能提供服务,关闭控制连接,425,不能打开数据连接,426,关闭连接,中止传输,450,请求的文件操作未执行,451,中止请求的操作:有本地错误,452,未执行请求的操作:系统存储空间不足,500,格式错误,命令不可识别,501,参数语法错误,502,命令未实现,503,命令顺序错误,504,此参数下的命令功能未实现,530,未登录,532,存储文件需要帐户信息,550,未执行请求的操作,551,请求操作中止:页类型未知,552,请求的文件操作中止,存储分配溢出,553,未执行请求的操作:文件名不合法,ftp,协议,FTP,协议有两种工作,方式 :,主动模式(,PORT,),和被动模式(,PASV,);,PORT,(主动)方式的连接过程是:客户端向服务器的,FTP,端口(默认是,21,)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用,PORT,命令告诉服务器:,“,我打开了,XXXX,端口,你过来连接我,”,。于是服务器从,20,端口向客户端的,XXXX,端口发送连接请求,建立一条数据链路来传送数据。,PASV,(被动)方式的连接过程是:客户端向服务器的,FTP,端口(默认是,21,)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用,PASV,命令告诉客户端:,“,我打开了,XXXX,端口,你过来连接我,”,。于是客户端向服务器的,XXXX,端口 发送连接请求,建立一条数据链路来传送数据。,一般的,ftp,服务端都会支持这两种方式,对于局域网用户(没有公网,IP,)如果访问外网,ftp,应使用,PASV,方式,因为服务器,PORT,发起的连接中途会被路由截断(除非做了端口绑定)。,故事分享 梓人传,裴封叔之第,在光德里。有,梓人,款其门,愿佣隙宇而处焉。所职,寻、引、规、矩、绳、墨,家不居砻斫之器。问其能,曰:“吾善度材,视栋宇之制,高深圆方短长之宜,吾指使而群工役焉。舍我,众莫能就一宇。故食于官府,吾受禄三倍;作于私家,吾收其直太半焉。”,他日,入其室,其床阙足而不能理,曰:“将求他工。”余甚笑之,谓其无能而贪禄嗜货者。,其后京兆尹将饰官署,余往过焉。委群材,会群工,或执斧斤,或执刀锯,皆环立向之梓人左持引,右执杖,而中处焉。量栋宇之任,视木之能举,挥其杖,曰“斧!”彼执斧者奔而右;顾而指曰:“锯!”彼执锯者趋而左。俄而,斤者斫,刀者削,皆视其色,俟其言,莫敢自断者。其不胜任者,怒而退之,亦莫敢愠焉。画宫于堵,盈尺而曲尽其制,计其毫厘而构大厦,无进退焉。既成,书于上栋曰:“某年、某月、某日、某建”。则其姓字也。凡执用之工不在列。余圜视大骇,然后知其术之工大矣。,继而叹曰:彼将舍其手艺,专其心智,而能知体要者欤!吾闻劳心者役人,劳力者役于人。彼其劳心者欤!能者用而智者谋,彼其智者欤!是足为佐天子,相天下法矣。物莫近乎此也。彼为天下者本于人。其执役者为徒隶,为乡师、里胥;其上为下士;又其上为中士,为上士;又其上为大夫,为卿,为公。离而为六职,判而为百役。外薄四海,有方伯、,连率,。郡有守,邑有宰,皆有佐政;其下有胥吏,又其下皆有啬夫、,版尹,以就役焉,犹众工之各有执伎以食力也。,彼佐天子相天下者,举而加焉,指而使焉,条其纲纪而盈缩焉,齐其法制而整顿焉;犹梓人之有规、矩、绳、墨以定制也。择天下之士,使称其职;居天下之人,使安其业。视都知野,视野知国,视国知天下,其远迩细大,可手据其图而究焉,犹梓人画宫于堵,而绩于成也。能者进而由之,使无所德;不能者退而休之,亦莫敢愠。不炫能,不矜名,不亲小劳,不侵众官,日与天下之英才,讨论其大经,犹梓人之善运众工而不伐艺也。夫然后相道得而万国理矣。,相道既得,万国既理,天下举首而望曰:吾相之功也!后之人循迹而慕曰:彼相之才也!士或谈殷、周之理者,曰:伊、傅、周、召。其百执事之勤劳,而不得纪焉;犹梓人自名其功,而执用者不列也。大哉相乎!通是道者,所谓相而已矣。其不知体要者反此;以恪勤为公,以簿书为尊,炫能矜名,亲小劳,侵众官,窃取六职、百役之事,听听于府庭,而遗其大者远者焉,所谓不通是道者也。犹梓人而不知绳墨之曲直,规矩之方圆,寻引之短长,姑夺众工之斧斤刀锯以佐其艺,又不能备其工,以至败绩,用而无所成也,不亦谬欤!,或曰:彼主为室者,傥或发其私智,牵制梓人之虑,夺其世守,而道谋是用。虽不能成功,岂其罪耶?亦在任之而已!,余曰:不然!夫绳墨诚陈,规矩诚设,高者不可抑而下也,狭者不可张而广也。由我则固,不由我则圮。彼将乐去固而就圮也,则卷其术,默其智,悠尔而去。不屈吾道,是诚良梓人耳!其或嗜其货利,忍而不能舍也,丧其制量,屈而不能守也,栋桡屋坏,则曰:,非我罪也,!可乎哉?可乎哉?,余谓梓人之道类于相,故书而藏之。梓人,盖古之审曲面势者,今谓之,都料匠,云。余所遇者,杨氏,潜其名。,故事分享 梓人传,翡封叔的家宅在德里地方。有位木匠敲他的门,希望租间空屋子居住,用替屋主人服役来代替房租,.,他所执掌的是些度量长短,规划方圆和校正曲直的工具;家里不储备磨砺和砍削的器具。问他有什么能耐,他说:“我善于计算,测量木材。观看房屋的式样和,高深,圆方,短长的适合不适合;我指挥驱使,而由众工匠去干。离了我,大家就不能建成一栋房子。所以被官府供养,我得到的奉禄比别人多三倍;在私人家里干活,我取全部报酬的一大半。”后来有一天,我进了他的住屋。他的床缺了腿却不修理,说:“将要请别的工匠来修理。”我很耻笑他,说他是没有才能却贪图俸禄,喜爱钱财的人。,后来,京兆伊将要修饰官衙的房屋,我到过那里。(在那里)蓄积了大量木材,招集了许多工匠。有的拿着斧斤,有的拿着刀锯,都围成一圈站着,面朝着(那位)木匠。木匠左手拿着长尺,右手拿着木杖,站在中间。他衡量房屋的承担情况,察看木料的性能酌情选用。挥动他的木仗说:“用斧子砍,!”,那拿斧子的就跑道右边去砍;回头指着木材说:“用锯锯,!”,那拿锯的就跑道左边去锯。不一会,拿斧子的砍,拿刀的削,全都看着他的脸色,等待他的发话,没有一个敢自做主张的。那些不能胜任的人,被他愤怒地斥退了,也不敢有一点怨恨。他在墙上绘了官署房子的图样,刚满一尺大小的图样却细致详尽地画出了它的建筑构造,.,计算图上微小的尺寸而建造起高楼大厦,没有一点误差的地方。已建成后,在上栋上写道:某年某月某日某某修建,原来是他的姓名,凡是被他役使的工匠都不在上面列名。我围绕着一看,感到非常惊讶,然后我才知道他技术的精湛和伟大啊!,接着我就感叹地说:他大概是放弃了他的手艺,专门使用他的思想智慧,能知道全局要领的人吧?我听说“劳心的人役使别人,劳力的人被别人役使”;他大概是劳心的人吧?有一般技艺的人出力劳动,有才智的人出谋划策,他大概是有才智的人吧?这满可以作为辅佐天子,作天下宰相的人所效法学习的呀!事情没有比这再相近似的了。那辅佐天子,作天下宰相的人,推荐人材,委任职责,发出命令,指派任务,整顿纲纪,进行增减,统一法治。这就好象梓人有正方圆和定曲直的工具而绘制出图样似的。选择天下的官吏,使他们适合自己的职务;安置天下的老百姓,使他们安居乐业。看了国都就了解了郊外,看了郊外就了解了诸侯国,看了诸侯国就了解了整个天下。全国远近,大小各方面的情况,可以根据手中的图本来研究,了解。这就好象梓人在墙上绘画官署房子的图样而完成工程一样。把有才能的人提拔上来,并充分发挥他的本领,使他不必对任何人感恩戴德;把没有才能的人辞退,让他休息,他也不敢恼恨。不夸耀自己的才能,不自尊自大,虚图功名,不亲自去做那些微小琐碎的事情,不干涉众官的工作,每天和天下的杰出的人材一起讨论治理国家的根本道理。这就象梓人善于运用众工匠而不自夸手艺一样。这样以后,做宰相的道理才算懂得,各诸侯国才得到了治理。那些不知道全局要领的人却与此相反。(他们)以谨小慎微,忙忙碌碌为大事,以抄写官署中的文书,薄册为重责,夸耀自己的才能,自尊自大,亲自去做那些微小琐碎的事情,干涉众官的工作,侵夺部下官吏应做的事拿来自己做,并洋洋得意地在相府夸耀自己,却丢掉了那些重大的,长远的事情。这是所说的不懂得做宰相的道理的人。这就象梓人不懂得绳墨可正曲直,规矩可画方圆,寻引可量短长,暂且夺取工匠们的斧子刀锯来帮助他们发挥技艺,却又不能完成他们的工作,以至于事情失败,使用了(他们)却没有成功一样。这不也是错误的吗?,心得体会,麦子不只是可以做成馒头,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!