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

上传人:平*** 文档编号:46199864 上传时间:2018-06-23 格式:PPT 页数:28 大小:1.12MB
返回 下载 相关 举报
IP产品开发之TCPIP协议——伟博_第1页
第1页 / 共28页
IP产品开发之TCPIP协议——伟博_第2页
第2页 / 共28页
IP产品开发之TCPIP协议——伟博_第3页
第3页 / 共28页
IP产品开发之TCPIP协议——伟博_第4页
第4页 / 共28页
IP产品开发之TCPIP协议——伟博_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《IP产品开发之TCPIP协议——伟博》由会员分享,可在线阅读,更多相关《IP产品开发之TCPIP协议——伟博(28页珍藏版)》请在金锄头文库上搜索。

1、1IPIP类产品开发之类产品开发之TCP/IPTCP/IP协议协议2什么叫IP产品IP是网络协议Internet Protocol 的意思缩写。IP产品就是 和网络所相关的一些产品,层次上分为网络、业务、终端和 网络的边缘层。3TCP/IP协议模型TCP/IP网络协议分为应用层(Application)、传输层( Transport)、网络层(Network)和链路层(Link)四 层。4TCP/IP通讯过程5TCP/IP数据包的封装6以太网(RFC894)帧格式7IP数据报格式8UDP协议9UDP协议10TCP协议1112IP协议中服务端与客户端UDP、TCP中主动发起连接请求的一般都是客户

2、端,而服务端常常 有固定的IP或域名,负责响应客户端的资源请求并且不限定客户端IP( 因为服务端在连接建立之前不知道客户端的IP),通过更上层的应用程 序来对客户端进行登录或认证管理。13TCP/IP端口号源IP地址和端口号和目的IP地址和端口号唯一确定了一个连接,上层 应用程序提供一个双向通信接口。TCP与UDP段结构中端口地址都是16比特,可以有在0-65535范围内 的端口号。对于这65536个端口号有以下的使用规定: (1)端口号小于256的定义为常用端口,服务器一般都是通过常用端口 号来识别的。任何TCP/IP实现所提供的服务都用1-1023之间的端口号, 是由IANA来管理的; (

3、2)客户端只需保证该端口号在本机上是惟一的就可以了。客户端口 号因存在时间很短暂又称临时端口号; (3)大多数TCP/IP实现给临时端口号分配1024-5000之间的端口号。 大于5000的端口号是为其他服务器预留的。 知名端口:21 (ftp)、23 (telnet )、25(smtp 简单邮件传输协议 )、69 (tftp 小文件传输协议)、80 (http 用于万维网服务的超文本传输协议)、 161(snmp 简单网络管理协议)等 14http协议简介超文本传输协议 (HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有 的WWW文

4、件都必须遵守这个标准。设计HTTP最初的目的 是为了提供一种发布和接收HTML页面的方法 。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。 通常,由HTTP客户端发起一个请求,建立一个到服务 器指定端口(默认是80端口)的TCP连接。HTTP服务器 则在那个端口监听客户端发送过来的请求。一旦收到请求 ,服务器(向客户端)发回一个状态行,比如“HTTP/1.1 200 OK“,和(响应的)消息,消息的消息体可能是请求 的文件、错误消息、或者其它一些信息。 HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页 必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据 ,和错误

5、纠正。 通过HTTP或者HTTPS协议请求的资源由统一资源标示符( Uniform Resource Identifiers)(或者,更准确一些,URLs )来标识 15http协议内容1、HTTP请求消息 请求行 = 方法 空格 请求URI 空格 版本 号 回车换行 2、HTTP响应消息 状态行 = 版本号 空格 状态码 空格 原 因 回车换行 3、常用的请求方式是GET和POST. GET方式:是以实体的方式得到由请求URI所指 定资源的信息,如果请求URI只是一个数据产 生过程,那么最终要在响应实体中返回的是处 理过程的结果所指向的资源,而不是处理过程 的描述。 POST方式:用来向目的

6、服务器发出请求,要求 它接受被附在请求后的实体,并把它当作请求 队列中请求URI所指定资源的附加新子项16http协议内容4、请求头 Accept:浏览器可接受的MIME类型 Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言 版本时要用到 Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive” ,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利 用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下 载所需要的时间。要实现这一点,Servlet需要在应

7、答中发送一个Content- Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然 后在正式写出内容之前计算它的大小 Content-Length:表示请求消息正文的长度; Host:初始URL中的主机和端口 ; If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它 ,否则返回304“Not Modified”应答; Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。 17http协议内容5、响应头 Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个

8、数据。如 果你想要利用持久连接的优势,可以把输出文档写入ByteArrayOutputStram,完成后查 看其大小,然后把该值放入Content-Length头,最后通过 byteArrayStream.writeTo(response.getOutputStream()发送内容; Content-Type: 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常 需要显式地指定为text/html。由于经常要设置Content-Type,因此 HttpServletResponse提供了一个专用的方法setContentTyep。 可在web.xml文件中 配

9、置扩展名和MIME类型的对应关系; Last-Modified:文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日 期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返 回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置; 18http协议内容6、实体头 Allow:GET,POST Content-Encoding:文档的编码(Encode)方法,例如:gzip,见“2.5 响应头; Content-Language:内容的语言类型,例如:zh-cn; Content-

10、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: 100

11、1-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.19telnet协议telnet协议是TCP/IP协议族中的一员,是 Internet远程登陆服务的标准协议。应用 Telnet协议能够把本地用户所使用的计算机变 成远程

12、主机系统的一个终端。1、telnet也是客户/服务器结构 ,服务 端即受访的远程主机系统,监听其网络的23号 端口,接受来自客户端即进行访问的本地终端 的连接。通过服务端验证后,客户端就成为服 务端的一个标准的显示终端,可进行命令下达 和接收信息反馈,最终达到类似超级终端的效 果,不同的是一个通过网络连接建立通道,一 个是往往通过串口建立通道。2、实现过程如下:当用Telnet登录进入 远程计算机系统时,将启动两个程序,一个叫 Telnet客户程序,它运行在用户的本地机上; 另一个叫Telnet服务器程序,它运行在用户要 登录的远程计算机上。20telnet协议(a)本地机上的客户程序要完成如

13、下的功能: 建立与服务器的TCP连接;从键盘上接收输入的字符; 把输入的字符串变成标准格式并送给远程服务器 ; 从远程服务器接收输出的信息; 把该信息显示在屏幕上。 (b)远程Telnet服务器的Telnet服务程序监听客户 端连接,一接到连接的请求,就马上活跃起来, 并完成如下的功能: 通知计算机,远程计算机已经准备好了; 等候输入命令; 对输入的命令做出反应(如显示目录内容,或执 行某个程序等); 把执行命令的结果送回给用户的计算机; 重新等候输入的命令。21telnet协议3、telnet的选项协商:Telnet连 接双方首先进行交互的信息是选 项协商数据,选项协商是对称的 任何一方都可

14、以主动发送选项协商请求给对方 。右上是TELNET选项协商的六 种情况,右下是常用的选项代码 。选项协商需要3个字节:IAC( 255),然后是WILL(251)、DO 、WONT或DONT;最后一个标识字节用来指明操作的选项 。4、关于telnet的开发,主要的是 做编辑显示与命令解释,达到最 适宜的对远程系统控制。22ftp协议ftp,即File Transfer Protocol(文 件传输协议)的目标是提高文件的共享性 ,提供非直接使用远程计算机,使存储介 质对用户透明和可靠高效地传送数据。同 前面的http和telnet一样也是是客户/服 务器结构,其监听的端口是21号,客户端 可以

15、通过浏览器、ftp客户端软件或应用 程序如(WINDOWS下的资源管理器)登录 服务器来获取文件服务。ftp原理模型如右图,用户PI(协议 解释器 )开启控制连接,并向服务端发 送标准FTP命令。服务器一般有两个主要 进程:一个进程为服务器PI,其与用户PI 建立连接并接收其下达的命令予以解析和 应答;另一个进程为服务器DTP,在适当 时候与用户DTP建立数据传输连接,提供 数据传输服务。23ftp协议文件传输功能1、实现过程从用户PI到服务器的信道是建立在用户到标记服务器端口间的。用户协议解释器负责发 送命令和解释接收的应答;服务器PI解释命令,发送应答,指导DTP建立数据连接并传送 数据。

16、如果数据传输的第二方是用户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)站点参数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号