资源子网高层协议.ppt
第六章 资源子网高层协议,本章主要内容传输层TCP/UDP协议域名系统DNS协议文件传输协议FTP远程终端协议TELNET电子邮件SMTP协议万维网HTTP协议动态主机地址配置协议DHCP,6.1 传输层TCP/UDP协议,TCP/IP的传输层有两个不同的协议用户数据报协议UDP(User Datagram Protocol)、传输控制协议TCP(Transmission Control Protocol)。,TCP协议和UDP协议的端口号,进程通信的首要问题是解决进程标识方法,TCP/IP协议族中用端口号来标识进程。TCP协议和UDP协议端口号长度都是16位,端口号的取值范围是065535之间的整数。端口号分为3类:熟知端口号值的范围是01023,它被统一分配和注册;注册端口号值的范围是102449151,用户根据需要可以在IANA注册,以防止重复;临时端口号值的范围是4915265535,它们之间可由任何进程来使用。,TCP协议和UDP协议的端口号,TCP协议规定:客户进程由本地主机上的TCP软件随机选取临时端口。运行在远程计算机上的服务器必须使用熟知端口号,其值的范围是01023。UDP协议端口号的分配方法与TCP基本相同。,常用的熟知端口号,用户数据报协议(UDP),UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点,如:(1)发送数据之前不需要建立连接,因而减少了开销和发送数据之前的时延。(2)UDP没有拥塞控制,也不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。(3)UDP用户数据报首部只有8个字节,比TCP的20个字节的首部要短。(4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。,UDP的格式,可靠的数据流传输协议(TCP),TCP是TCP/IP体系中面向连接的传输层协议,它提供全双工的可靠交付的服务。,TCP报文段的首部,TCP首部,20 字节的固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,32 位,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,TCP 数据部分,TCP 首部,TCP 报文段,IP 数据部分,IP 首部,发送在前,TCP 报文段的首部格式,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,保留字段占 6 位,保留为今后使用,但目前应置为 0。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,紧急 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,确认 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,推送 PSH(PuSH)接收 TCP 收到 PSH=1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,复位 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,同步 SYN 同步 SYN=1 表示这是一个连接请求或连接接受报文。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,终止 FIN(FINis)用来释放一个连接。FIN 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,窗口字段 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,紧急指针字段 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,选项字段 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”,MSS(Maximum Segment Size)是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。,其他选项,窗口扩大选项 占 3 字节,其中有一个字节表示移位值 S。新的窗口值等于TCP 首部中的窗口位数增大到(16+S),相当于把窗口值向左移动 S 位后获得实际的窗口大小。时间戳选项占10 字节,其中最主要的字段时间戳值字段(4 字节)和时间戳回送回答字段(4 字节)。选择确认选项在后面的 5.6.3 节介绍。,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,位 0 8 16 24 31,填 充,填充字段 这是为了使整个首部长度是 4 字节的整数倍。,TCP的数据编号与确认,TCP协议是面向字节的。TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,并使每一个字节对应于一个序号。TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但接收端返回的确认序号是已收到的数据的最高序号加1。也就是说,确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。,TCP发送报文段的示意图,TCP连接的建立与终止,在连接建立过程中要解决以下三个问题:(1)要使每一方能够确知对方的存在。(2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。(3)能够传输实体资源(如缓存大小,连接表中的项目等)进行分配。TCP连接建立TCP的连接建立过程又称为TCP三次握手。首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机发送一个确认(ACK),此时TCP连接成功建立TCP连接终止发送方主机和目的主机建立TCP连接并完成数据传输后,会发送一个将结束标记置1的数据包,以关闭这个TCP连接,并同时释放该连接占用的缓冲区空间。,TCP的流量控制与拥塞控制,为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的窗口数值,TCP的重传机制,重传机制是TCP中最重要和最复杂的问题之一。TCP每发送一个报文段,就设置一次计时器。只要计时器设置的重传时间已经到了但还没有收到确认,就要重传这一报文段。,TCP 的有限状态机,TCP 有限状态机的图中每一个方框都是 TCP 可能具有的状态。每个方框中的大写英文字符串是 TCP 标准所使用的 TCP 连接状态名。状态之间的箭头表示可能发生的状态变迁。箭头旁边的字,表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作。图中有三种不同的箭头。粗实线箭头表示对客户进程的正常变迁。粗虚线箭头表示对服务器进程的正常变迁。另一种细线箭头表示异常变迁。,TCP的有限状态机,CLOSED,ESTABLISHED,LISTEN,CLOSE_WAIT,FIN_WAIT_1,SYN_RCVD,FIN_WAIT_2,CLOSING,TIME_WAIT,SYN_SENT,LAST_ACK,主动打开,被动打开,被动关闭,主动关闭,起点,被动打开,主动打开 发送 SYN,同时打开,收到 SYN,发送 SYN,ACK,收到 ACK,数据传送 阶段,关闭发送 FIN,关闭发送 FIN,关闭发送 FIN,收到 RST,收到 SYN发送 SYN,ACK,关闭或超时,收到 ACK,收到 SYN,ACK发送 ACK,收到 ACK,收到 ACK,收到 FIN发送 ACK,收到 FIN,ACK 发送 ACK,收到 FIN发送 ACK,同时关闭,收到 FIN发送 ACK,发送 SYN,定时经过两倍报文段寿命后,关闭,TCP与UDP的选择,一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。,6.2 域名系统(DNS),域名管理系统(Domain Name System,DNS)的作用是:把域名转换成为网络可以识别的IP地址。许多应用层软件经常直接使用域名系统 DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。,因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点隔开:.三级域名.二级域名.顶级域名各标号分别代表不同级别的域名。如域名的.CN是域名的第一层,.EDU是第二层,.CRTVU是真正的域名,处在第三层。,域名结构,国际互联网域名体系,域名解析服务器,名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。域名解析服务器就是进行域名解析的服务器,域名解析过程,(1)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。(2)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。(3)如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。(4)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。(5)重复第(4)步,直到找到正确的纪录。(6)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。,6.3 文件传输协议FTP,将文件从一个系统发送到另一个系统是网络功能的重要组成部分。传输文件的可能方法:使用email使用HTTP协议文件传输协议(File Transfer Protocol,FTP)简单文件传输协议(Trivial File Transfer Protocol,TFTP)FTP 是因特网上使用得最广泛的文件传送协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。,FTP基本原理,FTP使用TCP传输而不是UDP。FTP位于OSI和TCP模型的应用层。FTP的目标:(1)在主机之间共享计算机程序或数据;(2)让本地主机间接地使用远程计算机;(3)向用户屏蔽不同主机中各种文件存储系统的细节;(4)可靠、有效的传输数据。,FTP连接,控制端口FTP控制端口用于交换命令信息及对命令的响应信息。数据端口数据端口是FTP数据文件发送到FTP服务器时使用的端口。,FTP的主要特征,(1)控制连接控制连接是建立在用户协议解释器和服务器解释器之间用于交换命令与应答的通信链路。(2)数据连接数据连接是传输数据的全双工连接。(3)文件类型ASCII文件类型,为默认类型。EBCDIC文件类型,采用EBCDIC(extended binary-coded decimal interchange code)字符编码图像文件类型(也称为二进制文件类型),在此类型下传输的数据呈现为连续的二进制比特流。通常用于传输二进制文件。本地类型,用在本地字节大小不是8位的环境下。该方式用于具有不同字节位数的主机间传输二进制文件,每字节的位数由发送方指定。,FTP的优缺点,FTP的优点高效的传输数据允许远程访问文件FTP的缺点(1)FTP用户密码和文件内容都使用明文传输,可能产生安全性问题;(2)由于需要开放一个随机端口来建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP数据流。(3)服务器可能会被告知连接一个用户计算机的保留端口。,简单文件传输协议TFTP,TCP/IP协议族中还有一个简单文件传送协议TFTP(Trivial File Transfer Protocol),它是一个很小且易于实现的文件传送协议。TFTP的用途(1)利用TFTP为打印机、集线器和路由器下载初始化代码;(2)路由器的信息设置;(3)引导协议(BOOTP)主机的信息设置。,TFTP的主要特点,(1)每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节;(2)数据PDU也称为文件块(block),每个块按序编号,从1开始;(3)支持ASCII码或二进制传送;(4)可对文件进行读或写;(5)使用很简单的首部。,TFTP与FTP的比较,TFTP协议的优势:TFTP能够用于那些由UDP而无TCP的环境;TFTP代码所占的内存要比FTP小;TFTP适用于只读存储器,仅用于无盘系统进行系统引导。TFTP协议与FTP协议的相同点:TFTP协议的作用和我们经常使用的FTP大致相同,都是用于文件传输,可以实现网络中两台计算机之间的文件上传与下载。可以将TFTP协议看作是FTP协议的简化版本。,TFTP与FTP的比较,TFTP协议与FTP协议的不同点:TFTP协议不需要验证客户端的权限,FTP协议需要进行客户端验证;TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中;FTP客户与服务器间的通信使用TCP,而TFTP协议与服务器间的通信使用的是UDP;TFTP协议只支持文本传输,也就是说,TFTP协议不支持交互,而且没有一个庞大的命令集。TFTP协议不允许用户列出目录内容或者与服务器协商来决定哪些是可以得到的文件。,6.4 远程终端协议TELNET,TELNET 是一个简单的远程终端协议,也是因特网的正式标准。用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。,远程登录,登录用户在使用某一系统之前要输入标识和口令,这个过程被称为“登录”。远程登录用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。,Telnet协议,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。Telnet协议提供了三种基本服务:1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。,Telnet的用途,远程登录的根本目的是使本地用户访问远程资源。主要用途表现在:(1)远程登录缩短了空间距离(2)远程登录计算机具有广泛的兼容性(3)通过Telnet访问其他因特网服务。利用Telnet程序可以访问远程计算机上的电子邮件、文件传输、电子公告牌、信息检索等各种服务。,6.5 电子邮件,电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。,电子邮件的最主要的组成构件,发送方,邮件缓存,接收端邮件服务器,用户代理,SMTP,SMTP,POP3,发送端邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,SMTP,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TCP 连接,电子邮件地址,电子邮件地址由两部分组成,格式为:1oginnamefull host name.domain name 即:登录名主机名.域名 中间用个表示“在”(at)的符号“”分开,符号的左边是对方的登录名,右边是完整的主机名,它由主机名与域名组成。如、,电子邮件的一些标准,发送邮件的协议:SMTP读取邮件的协议:POP3 和 IMAPMIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。,简单邮件传输协议(SMTP),简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道 SMTP 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。,SMTP模型,针对用户的邮件请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。,SMTP的使用,SMTP通信过程中有连接建立、邮件传送、连接释放3个阶段。(1)连接建立SMTP连接是在发送主机的SMTP客户和接受主机的SMTP服务器之间建立的。SMTP客户每隔一段时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的端口号(25)与目的主机的SMTP服务器建立TCP连接。(2)邮件传送SMTP客户服务器获得接收服务器的肯定回复后,用MAIL命令进行邮件传送。MAIL命令后面有发件人的地址。(3)连接释放SMTP客户发送QUIT命令,表示客户邮件发送完毕。SMTP服务器返回的信息是“250请求邮递已完成”。SMTP客户再发出释放TCP连接的命令,待SMTP服务器应答后,全部过程结束,释放SMTP连接。,电子邮件的接收协议POP3,邮局协议POP(post office protocol)是一个非常简单、但功能也有限的邮件读取协议。邮局协议版本3即POP3已成为因特网邮件接收标准协议。POP3使用客户/服务器的工作方式。接收邮件的客户端必须运行POP客户程序,而在ISP的邮件服务器中则运行POP服务器程序。POP3有两种工作模式:删除模式。删除模式表示一旦邮件交付给客户端,POP3服务器就不再保存这些邮件。保持模式。收件人读取邮件后,仍保留在POP服务器上。接收到邮件并中断与POP服务器的连接后,可以在客户端处理接收到的邮件。,因特网报文访问协议IMAP,IMAP 也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。,IMAP 的特点,IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP 还允许收件人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。IMAP 的缺点是如果用户没有将邮件复制到自己的 PC 机上,则邮件一直是存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。,6.6 超文本传输协议HTTP,超文本传输协议(HypertextTransferProtocol,HTTP)是用于从WWW服务器传输超文本到本地浏览器的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。,HTTP协议的主要特点,(1)支持客户/服务器模式。(2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。(3)灵活:HTTP允许传输任意类型的数据对象(4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。(5)无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。,HTTP的报文结构,HTTP 有两类报文:请求报文从客户向服务器发送请求报文。响应报文从服务器到客户的回答。由于 HTTP 是面向正文的(text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。,HTTP 请求报文的一些方法,方法(操作)意义OPTION 请求一些选项的信息GET 请求读取由 URL所标志的信息HEAD 请求读取由 URL所标志的信息的首部POST 给服务器添加信息(例如,注释)PUT 在指明的 URL下存储一个文档DELETE 删除指明的 URL所标志的资源TRACE 用来进行环回测试的请求报文CONNECT用于代理服务器,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“URL”是所请求的资源的 URL。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“版本”是 HTTP 的版本。,HTTP 的报文结构(响应报文),版 本,状态码,短 语,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(有些响应报文不用),状态行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。,HTTP工作流程,一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容,6.7 动态主机地址配置协议DHCP,动态主机配置协议(DynamicHostConfigurationProtocol DHCP),它的前身是BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。DHCP为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。DHCP最重要的功能就是动态分配。除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络。,DHCP工作原理,(1)发现阶段:即DHCP客户机寻找DHCP服务器的阶段。(2)提供阶段:即DHCP服务器提供IP地址的阶段。(3)选择阶段:即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。(4)确认阶段:即DHCP服务器确认所提供的IP地址的阶段。(5)重新登录:再次登录时,是用老的IP还是申请新的IP?(6)更新租约:IP租期到时的处理方法。,本讲小结传输层TCP/UDP协议域名系统DNS协议文件传输协议FTP远程终端协议TELNET电子邮件SMTP协议万维网HTTP协议动态主机地址配置协议DHCP,