欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    应用层常用协议与编程课件.ppt

    • 资源ID:74017322       资源大小:887.51KB        全文页数:75页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    应用层常用协议与编程课件.ppt

    1 1TCP/IPTCP/IP协议分析与应用编程协议分析与应用编程第十章第十章 应用层常用协议与编程应用层常用协议与编程第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2 2主要内容主要内容域名系统域名系统远程登录协议远程登录协议文件传输协议文件传输协议超文本传输协议超文本传输协议基于基于WinInetWinInet的应用编程的应用编程邮件传输协议邮件传输协议基于信报基于信报APIAPI的应用编程的应用编程第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3 3学习目标学习目标理解理解DNSDNS、TelnetTelnet、FTPFTP和和HTTPHTTP的工作原理。的工作原理。了解基于套接字的应用层协议编程方法。了解基于套接字的应用层协议编程方法。熟悉熟悉WinInetWinInet编程接口,掌握基于编程接口,掌握基于WinInetWinInet的编的编程方法。程方法。熟悉熟悉MAPIMAPI编程接口,掌握基于编程接口,掌握基于SMAPISMAPI的邮件应的邮件应用程序设计方法。用程序设计方法。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4 4域名系统域名系统域名系统概述域名系统概述域名系统是一种工作在域名系统是一种工作在TCP/IPTCP/IP的应用层的分布式网的应用层的分布式网络目录服务系统,它通过一个遍布全球的分布式数据络目录服务系统,它通过一个遍布全球的分布式数据库,提供主机名称和库,提供主机名称和IPIP地址之间的映射。它由名称解地址之间的映射。它由名称解析器、域名空间和析器、域名空间和DNSDNS服务器构成。名称解析器和服务器构成。名称解析器和DNSDNS服务器构成客户机服务器构成客户机/服务器结构,名称解析器请服务器结构,名称解析器请求求DNSDNS服务器的服务,服务器的服务,DNSDNS服务器响应名称解析器的服务器响应名称解析器的请求,域名空间则是名称服务器给出响应的依据。请求,域名空间则是名称服务器给出响应的依据。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程5 5域名系统域名系统域名系统概述域名系统概述第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程6 6域名系统域名系统域名系统概述域名系统概述命名机制命名机制平面命名机制平面命名机制层次命名机制层次命名机制第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程7 7域名系统域名系统域名系统概述域名系统概述因特网域名空间因特网域名空间在因特网中,域名有两种表示方法:在因特网中,域名有两种表示方法:完整域名完整域名(Fully Fully QualifieldQualifield Domain Name Domain Name,FQDNFQDN)和)和不完整域名不完整域名(Partially Partially QualitifiedQualitified Domain Domain NameName,PQDNPQDN)。其中完整域名是指标号序列以)。其中完整域名是指标号序列以圆点结束的域名,如圆点结束的域名,如“.”.”;不完整;不完整域名是指指标号序列不以圆点结束的域名,如域名是指指标号序列不以圆点结束的域名,如“”。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程8 8域名系统域名系统域名系统概述域名系统概述因特网域名空间因特网域名空间在因特网的域名系统中,根域位于在因特网的域名系统中,根域位于DNSDNS域名树的域名树的最高层,但一般不出现在域名中。顶级域又称为一最高层,但一般不出现在域名中。顶级域又称为一级域,是按照组织类型和国家划分,可以分为级域,是按照组织类型和国家划分,可以分为3 3个个主要的域:通用顶级域名、国家顶级域名和反向域。主要的域:通用顶级域名、国家顶级域名和反向域。在顶级域名的基础上通常会继续划分为次级域,即在顶级域名的基础上通常会继续划分为次级域,即二级域,它与具体的公司或组织相关联,如二级域,它与具体的公司或组织相关联,如“”。而次级域下面的名称空间称为子域,。而次级域下面的名称空间称为子域,往往是指各个公司或组织对名称空间的进一步划分。往往是指各个公司或组织对名称空间的进一步划分。主机名是域名层次树中的最末级名称。主机名是域名层次树中的最末级名称。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程9 9域名系统域名系统域名系统概述域名系统概述因特网域名空间因特网域名空间第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1010域名系统域名系统域名系统概述域名系统概述DNSDNS服务器服务器在因特网中,域名层次结构是一个非常复杂的树型在因特网中,域名层次结构是一个非常复杂的树型结构。为此,引入了与域名管理类似的具有层次结结构。为此,引入了与域名管理类似的具有层次结构的多台构的多台DNSDNS服务器来进行管理,组成了一个分服务器来进行管理,组成了一个分布式管理系统。一台布式管理系统。一台DNSDNS服务器负责管理其所在服务器负责管理其所在域中的一部分,并将其称作区(域中的一部分,并将其称作区(ZoneZone)。若某台)。若某台DNSDNS服务器对一个域负责,并且该域没有再划分服务器对一个域负责,并且该域没有再划分为一些更小的域,此时域和区的范围相同,否则区为一些更小的域,此时域和区的范围相同,否则区只是域的一部分。每个区都与某台只是域的一部分。每个区都与某台DNSDNS服务器中服务器中的一个区文件相对应。因特网上的主机数量非常大,的一个区文件相对应。因特网上的主机数量非常大,记录主机信息的数据库以区文件的形式分布在许多记录主机信息的数据库以区文件的形式分布在许多不同的不同的DNSDNS服务器上。服务器上。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1111域名系统域名系统域名系统概述域名系统概述DNSDNS服务器服务器DNSDNS服务器主要包括服务器主要包括3 3种类型:主服务器、次服务种类型:主服务器、次服务器和高速缓存服务器。其中主服务器是指拥有一个器和高速缓存服务器。其中主服务器是指拥有一个区文件原始版本的服务器,并且有关该区文件的任区文件原始版本的服务器,并且有关该区文件的任何变更都需要在主服务器的原始版本中进行。何变更都需要在主服务器的原始版本中进行。次服务器中的区文件是某个主服务器的区文件的复次服务器中的区文件是某个主服务器的区文件的复制版,关于该区文件的任何更改都需要在主服务器制版,关于该区文件的任何更改都需要在主服务器的原始版本中进行,因此次服务器中的区文件只是的原始版本中进行,因此次服务器中的区文件只是一个只读文件,可以用来辅助域名解析。一个只读文件,可以用来辅助域名解析。高速缓存服务器中不存在区文件,仅仅存放最近解高速缓存服务器中不存在区文件,仅仅存放最近解析过的域名析过的域名IPIP地址映射表项,其主要用来辅助地址映射表项,其主要用来辅助DNSDNS服务器完成域名解析,以提高响应效率。服务器完成域名解析,以提高响应效率。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1212域名系统域名系统域名解析域名解析递归解析:当一个递归解析:当一个DNSDNS服务器接收到请求后,如果它服务器接收到请求后,如果它本身就是授权服务器,则查询其所存储的域名空间信本身就是授权服务器,则查询其所存储的域名空间信息并给出响应;如果它不是授权服务器,则将请求转息并给出响应;如果它不是授权服务器,则将请求转发给另一个发给另一个DNSDNS服务器;直到请求最终被响应后,再服务器;直到请求最终被响应后,再逐级将响应信息返回给请求客户机。逐级将响应信息返回给请求客户机。反复解析:当一个反复解析:当一个DNSDNS服务器接收到请求后,如果能服务器接收到请求后,如果能给出解析结果则向客户机返回最终结果,否则应向客给出解析结果则向客户机返回最终结果,否则应向客户提供其认为能够给出解析结果的户提供其认为能够给出解析结果的DNSDNS服务器的服务器的IPIP地地址。客户机收到该址。客户机收到该IPIP地址后再向该地址后再向该IPIP地址对应的地址对应的DNSDNS服务器发出请求,直到获得最终结果。服务器发出请求,直到获得最终结果。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1313域名系统域名系统域名解析域名解析反向解析:为了实现由反向解析:为了实现由IPIP地址到域名的映射,地址到域名的映射,DNSDNS在在域名空间中设置了一个称为域名空间中设置了一个称为in-in-addr.arpaaddr.arpa的特殊域,的特殊域,专门用于反向解析。为了能够使反向解析采用与正向专门用于反向解析。为了能够使反向解析采用与正向解析相同的解析方法,反向解析将解析相同的解析方法,反向解析将IPIP地址的字节颠倒地址的字节颠倒过来,构成反向解析的名字空间。过来,构成反向解析的名字空间。高速缓存机制:高速缓存机制:DNSDNS服务器采用了高速缓存技术,存服务器采用了高速缓存技术,存放最近解析过的域名放最近解析过的域名IPIP地址映射和描述解析该域名地址映射和描述解析该域名的的DNSDNS服务器位置的信息。这样可以避免每次解析非服务器位置的信息。这样可以避免每次解析非本区域域名时的多次查询,进而提高查询效率。本区域域名时的多次查询,进而提高查询效率。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1414域名系统域名系统DNSDNS报文报文第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1515域名系统域名系统DNSDNS报文报文查询部分查询部分请求报文必须填写这部分信息,利用它向请求报文必须填写这部分信息,利用它向DNSDNS服服务器提出查询请求。务器提出查询请求。主要包含三个部分:主要包含三个部分:p查询名称是要查询的域名,由标号序列构成,查询名称是要查询的域名,由标号序列构成,每个标号前有一个字节指出该标号的字节长度。每个标号前有一个字节指出该标号的字节长度。p查询类型定义了查询希望得到的回答类型,在查询类型定义了查询希望得到的回答类型,在DNSDNS中大约规定了中大约规定了2020个不同的类型值。个不同的类型值。p查询类定义了使用查询类定义了使用DNSDNS的特性协议类型。的特性协议类型。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1616域名系统域名系统DNSDNS报文报文资源记录资源记录第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1717域名系统域名系统DNSDNS报文报文资源记录资源记录域名是记录中资源数据对应的名称,其格式与查询域名是记录中资源数据对应的名称,其格式与查询部分的查询名称字段的格式相同。部分的查询名称字段的格式相同。类型是指资源记录的类型码。类型是指资源记录的类型码。生存时间指定了客户端在缓存中保留资源记录的秒生存时间指定了客户端在缓存中保留资源记录的秒数,通常资源记录的生存时间为数,通常资源记录的生存时间为2 2天。天。资源数据长度指定了以字节为单位的资源数据的长资源数据长度指定了以字节为单位的资源数据的长度。度。资源数据则包含了资源数据则包含了DNSDNS服务器返回给客户端的查服务器返回给客户端的查询答案。询答案。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1818远程登录协议远程登录协议应用应用TelnetTelnet协议能够把本地用户所使用的计算机协议能够把本地用户所使用的计算机变成远程主机系统的一个仿真终端,即实现对远变成远程主机系统的一个仿真终端,即实现对远程主机系统的远程登录,使本地用户可以访问远程主机系统的远程登录,使本地用户可以访问远程资源程资源。工作在应用层的工作在应用层的TelnetTelnet以以TCPTCP为传输层协议,使为传输层协议,使用的端口号是用的端口号是2323,可在本地主机和远程主机之,可在本地主机和远程主机之间以半双工方式进行通信。间以半双工方式进行通信。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程1919远程登录协议远程登录协议TelnetTelnet协议主要提供了协议主要提供了3 3种基本服务种基本服务通过定义网络虚拟终端为远程系统提供标准接口。这通过定义网络虚拟终端为远程系统提供标准接口。这样,客户机程序不必详细了解远程系统,只需构造使样,客户机程序不必详细了解远程系统,只需构造使用标准接口的程序。用标准接口的程序。引入了允许客户机和服务器协商选项的机制,而且还引入了允许客户机和服务器协商选项的机制,而且还提供了一组标准选项。提供了一组标准选项。对称处理连接的两端,即不强迫客户机从键盘输入,对称处理连接的两端,即不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。也不强迫客户机在屏幕上显示输出。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2020远程登录协议远程登录协议使用使用TelnetTelnet协议进行远程登录时需要满足协议进行远程登录时需要满足的条件的条件在本地计算机上必须安装有包含在本地计算机上必须安装有包含TelnetTelnet协议的客户机协议的客户机程序;程序;必须知道远程主机的必须知道远程主机的IPIP地址或域名;地址或域名;必须知道登录标识与口令。必须知道登录标识与口令。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2121远程登录协议远程登录协议工作原理工作原理TelnetTelnet远程登录服务可分为远程登录服务可分为4 4个基本过程个基本过程依据远程主机的依据远程主机的IPIP地址或域名以及端口号,本地系地址或域名以及端口号,本地系统与远程主机系统建立统与远程主机系统建立TCPTCP连接;连接;本地系统终端上接收的用户信息以本地系统终端上接收的用户信息以NVTNVT(网络虚拟(网络虚拟终端)格式传送到远程主机系统,并在远程主机系终端)格式传送到远程主机系统,并在远程主机系统中将其转换为远程主机系统的数据格式;统中将其转换为远程主机系统的数据格式;远程主机系统的响应信息以远程主机系统的响应信息以NVTNVT格式返回给本地主格式返回给本地主机系统,并在本地主机系统转换为本地主机系统的机系统,并在本地主机系统转换为本地主机系统的数据格式,交付给本地主机系统终端;数据格式,交付给本地主机系统终端;最后,本地主机系统终端对远程主机进行撤销连接,最后,本地主机系统终端对远程主机进行撤销连接,即撤销一个即撤销一个TCPTCP连接。连接。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2222远程登录协议远程登录协议工作原理工作原理第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2323远程登录协议远程登录协议工作原理工作原理网络虚拟终端网络虚拟终端TelnetTelnet协议专门定义一种通用字符终端协议专门定义一种通用字符终端网络虚网络虚拟终端拟终端NVTNVT。它是一个虚拟设备,其定义了一套自。它是一个虚拟设备,其定义了一套自己的字符集,通信的双方都必须能进行物理终端和己的字符集,通信的双方都必须能进行物理终端和NVTNVT的相互转换。用于解决通信双方格式上的异构的相互转换。用于解决通信双方格式上的异构性。性。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2424远程登录协议远程登录协议工作原理工作原理TelnetTelnet控制命令控制命令作为应用层的协议,作为应用层的协议,TelnetTelnet协议支持多种控制命令,协议支持多种控制命令,并且通过这些控制命令来控制客户端和服务器端的并且通过这些控制命令来控制客户端和服务器端的交互过程及相关细节,同时它们本身也作为传送数交互过程及相关细节,同时它们本身也作为传送数据的一部分在客户端和服务端之间传输。据的一部分在客户端和服务端之间传输。详细命令见教材详细命令见教材第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2525远程登录协议远程登录协议远程登录实用程序远程登录实用程序以以Windows XPWindows XP专业版操作系统中的专业版操作系统中的TelnetTelnet程序为例程序为例介绍远程登录程序的使用方法(实际操作)介绍远程登录程序的使用方法(实际操作)第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2626远程登录协议远程登录协议TelnetTelnet应用编程应用编程由于由于TelnetTelnet协议是建立在传输层协议协议是建立在传输层协议TCPTCP上的应用层上的应用层协议,因此基于协议,因此基于TelnetTelnet协议的应用编程主要是在协议的应用编程主要是在TCPTCP应用编程的基础上加上对应用编程的基础上加上对TelnetTelnet控制命令的处理以及控制命令的处理以及NVTNVT格式转换操作。格式转换操作。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2727远程登录协议远程登录协议TelnetTelnet应用编程应用编程TelnetEXTelnetEX程序采用了程序采用了MFCMFC的单文档方式进行设计,的单文档方式进行设计,同时按照界面类和功能类分开的原则设计了同时按照界面类和功能类分开的原则设计了CClientTelnetCClientTelnet类来实现类来实现TelnetTelnet客户端的主要功能。客户端的主要功能。用户界面功能通过菜单驱动并在视图类用户界面功能通过菜单驱动并在视图类CTelnetExViewCTelnetExView中实现。(详细实现见代码)中实现。(详细实现见代码)第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2828文件传输协议文件传输协议文件传输协议(文件传输协议(File Transfer ProtocolFile Transfer Protocol,FTPFTP)的主要作用就是让用户连接到远程计算机)的主要作用就是让用户连接到远程计算机进行文件查看、把文件从远程计算机上拷到本地进行文件查看、把文件从远程计算机上拷到本地计算机、或把本地计算机的文件送到远程计算机计算机、或把本地计算机的文件送到远程计算机。FTPFTP属于属于TCP/IPTCP/IP协议族的应用层协议,其传输协议族的应用层协议,其传输层使用的是层使用的是TCPTCP,基于客户机,基于客户机/服务器模式工作,服务器模式工作,为数据传输提供了可靠保证。为数据传输提供了可靠保证。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程2929文件传输协议文件传输协议FTPFTP支持的文件类型支持的文件类型FTPFTP可以用来实现文件在不同主机上的传递,因此也可以用来实现文件在不同主机上的传递,因此也存在异构性问题。存在异构性问题。FTPFTP通过采用支持有限数量的文件通过采用支持有限数量的文件类型(类型(ASCIIASCII码、二进制等)和文件结构(字节流或码、二进制等)和文件结构(字节流或记录文件)的措施来解决异构性问题。支持的文件类记录文件)的措施来解决异构性问题。支持的文件类型包含型包含ASCIIASCII文件:默认文件类型,数据在传输过程中使文件:默认文件类型,数据在传输过程中使用与用与TelnetTelnet相同的格式,即相同的格式,即NVT ASCIINVT ASCII码。码。EBCDICEBCDIC文件:是一种文本类型,用文件:是一种文本类型,用8 8位代码表示位代码表示一个字符,该文本文件在传输时要求两端都使用一个字符,该文本文件在传输时要求两端都使用EBCDICEBCDIC码。码。图像(或二进制)文件:在此类型下传输的数据被图像(或二进制)文件:在此类型下传输的数据被看作连续的二进制位。看作连续的二进制位。本地文件:字节的大小由本地主机定义,即每个字本地文件:字节的大小由本地主机定义,即每个字节的比特数由发送方规定。节的比特数由发送方规定。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3030文件传输协议文件传输协议FTPFTP支持的文件类型支持的文件类型文件数据结构文件数据结构文件结构:这是文件结构:这是FTPFTP默认的方式,文件被认为是一默认的方式,文件被认为是一个连续的字节流。文件内部没有表示结构的信息。个连续的字节流。文件内部没有表示结构的信息。记录结构:文件是由一系列记录组成的结构。这只记录结构:文件是由一系列记录组成的结构。这只适用于文本文件。适用于文本文件。页面结构:也称作块结构。当文件是由非连续的多页面结构:也称作块结构。当文件是由非连续的多个部分组成时,使用该结构,这种文件称为随机访个部分组成时,使用该结构,这种文件称为随机访问文件。每页都伴随一个页号来传输,从而以顺序问文件。每页都伴随一个页号来传输,从而以顺序的方式来完成传输。的方式来完成传输。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3131文件传输协议文件传输协议FTPFTP支持的文件类型支持的文件类型文件传输方式文件传输方式流模式:是默认方式,数据以字节流的形式传送。流模式:是默认方式,数据以字节流的形式传送。流模式可以用于以上流模式可以用于以上3 3种文件结构,只是对记录结种文件结构,只是对记录结构,有专用的两个字节序列码标识记录结束构,有专用的两个字节序列码标识记录结束(EOREOR)和文件结束()和文件结束(EOFEOF)。)。块模式:文件以块形式传输,块带有自己的首部,块模式:文件以块形式传输,块带有自己的首部,其中包含其中包含1616位计数字段和位计数字段和8 8位描述子代码字段。计位描述子代码字段。计数字段说明了数据块的字节数,而描述子代码字段数字段说明了数据块的字节数,而描述子代码字段则定义了数据块的结束标记等内容。则定义了数据块的结束标记等内容。压缩模式:用来对连续出现的相同字节进行压缩,压缩模式:用来对连续出现的相同字节进行压缩,因此对于提高带宽利用效率有很多好处,但现在已因此对于提高带宽利用效率有很多好处,但现在已很少使用。很少使用。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3232文件传输协议文件传输协议FTPFTP工作原理工作原理FTPFTP的工作过程其实就是客户机程序根据用户需要发的工作过程其实就是客户机程序根据用户需要发送命令,服务器程序响应命令的过程。在送命令,服务器程序响应命令的过程。在FTPFTP工作过工作过程中需要建立两种类型的连接:控制连接和数据连接。程中需要建立两种类型的连接:控制连接和数据连接。控制连接传送客户机程序发出的命令和服务器返回的控制连接传送客户机程序发出的命令和服务器返回的响应信息,而数据连接则负责传输文件的内容。响应信息,而数据连接则负责传输文件的内容。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3333文件传输协议文件传输协议FTPFTP工作原理工作原理FTPFTP的工作过程的工作过程启动启动FTPFTP服务器:由于服务器:由于FTPFTP采用了客户机采用了客户机/服务器服务器工作模式,因此在创建工作模式,因此在创建FTPFTP会话之前,首先必须启会话之前,首先必须启动动FTPFTP服务器,并使其处于等待客户机程序的服务器,并使其处于等待客户机程序的FTPFTP请求状态。请求状态。打开打开FTPFTP并建立控制连接:启动并建立控制连接:启动FTPFTP客户机程序,客户机程序,并向并向FTPFTP服务器的服务器的2121端口(控制连接端口)发出端口(控制连接端口)发出主动连接的请求,以期获得主动连接的请求,以期获得FTPFTP服务器的相应权限。服务器的相应权限。服务器响应请求后便在用户协议解释器和服务器协服务器响应请求后便在用户协议解释器和服务器协议解释器之间建立了一条议解释器之间建立了一条TCPTCP连接。连接。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3434文件传输协议文件传输协议FTPFTP工作原理工作原理FTPFTP的工作过程的工作过程建立数据连接并进行文件传输:用户通过客户机程建立数据连接并进行文件传输:用户通过客户机程序输入序输入FTPFTP命令,服务器接收命令。如果命令正确命令,服务器接收命令。如果命令正确且需要进行文件传输,服务器使用且需要进行文件传输,服务器使用TCP 20TCP 20端口在端口在双方之间建立另一条双方之间建立另一条TCPTCP连接,即数据连接,并通连接,即数据连接,并通过该连接进行文件传输。当本次命令的文件传输完过该连接进行文件传输。当本次命令的文件传输完毕,关闭该数据连接。毕,关闭该数据连接。关闭关闭FTPFTP:用户执行完其所需的:用户执行完其所需的FTPFTP命令后,发出命令后,发出退出退出FTPFTP命令,控制连接关闭,本次命令,控制连接关闭,本次FTPFTP服务结束。服务结束。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3535文件传输协议文件传输协议FTPFTP工作原理工作原理FTPFTP主要命令和应答主要命令和应答FTPFTP功能的实现主要依赖于命令和应答信息。功能的实现主要依赖于命令和应答信息。FTPFTP的命令和应答信息都在控制连接上传输。由用户协的命令和应答信息都在控制连接上传输。由用户协议解释器负责发送命令和解释收到的应答信息,由议解释器负责发送命令和解释收到的应答信息,由服务器协议解释器执行命令并把执行情况以应答信服务器协议解释器执行命令并把执行情况以应答信息的形式发送给客户端。所有的息的形式发送给客户端。所有的FTPFTP命令和应答信命令和应答信息都在控制连接上以息都在控制连接上以NVT ASCIINVT ASCII码形式传输,并码形式传输,并且每个命令或应答信息都以且每个命令或应答信息都以对结尾。对结尾。在在FTPFTP中,将标准的中,将标准的FTPFTP命令分为命令分为3 3类:存取控制类:存取控制命令、传输参数命令和命令、传输参数命令和FTPFTP服务命令,服务命令,第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3636文件传输协议文件传输协议FTPFTP工作原理工作原理匿名匿名FTPFTP匿名匿名FTPFTP服务是指在服务是指在FTPFTP服务器上建立了用户名为服务器上建立了用户名为“anonymous”anonymous”的特殊用户,这样在因特网上任的特殊用户,这样在因特网上任何人在任何地方都可使用该用户名登录何人在任何地方都可使用该用户名登录FTPFTP服务器服务器进行文件的上传或下载,而无需成为该进行文件的上传或下载,而无需成为该FTPFTP服务器服务器的注册用户的注册用户。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3737文件传输协议文件传输协议FTPFTP应用实例应用实例第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3838超文本传输协议超文本传输协议万维网技术万维网技术万维网是万维网是WWWWWW技术的中文名称,利用万维网技术,技术的中文名称,利用万维网技术,用户能够在因特网上迅速方便地获取丰富的信息资源。用户能够在因特网上迅速方便地获取丰富的信息资源。目前目前WWWWWW是因特网中发展最快和应用最广泛的网络是因特网中发展最快和应用最广泛的网络服务。服务。统一资源定位符统一资源定位符统一资源定位符(统一资源定位符(Uniform Resource LocatorUniform Resource Locator,URLURL)也称为)也称为WebWeb地址,即网址。其规定了某一地址,即网址。其规定了某一特定信息资源在特定信息资源在WWWWWW中存放地点的统一描述形式。中存放地点的统一描述形式。URLURL地址的一般格式为:地址的一般格式为:协议协议:/:/主机域名(或主机域名(或IPIP地址)地址):端口号端口号/目录路目录路径径/文件名文件名/:/:参数参数?查询查询 第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程3939超文本传输协议超文本传输协议万维网技术万维网技术统一资源定位符统一资源定位符“协议协议”是指传输协议,如是指传输协议,如HTTPHTTP、FTPFTP、TELNETTELNET和和GOPHERGOPHER等,最常用的是等,最常用的是HTTPHTTP。“主机域名主机域名”是指存放资源的主机名称,既可以使是指存放资源的主机名称,既可以使用域名也可以使用用域名也可以使用IPIP地址。地址。“端口号端口号”是指连接到服务器的是指连接到服务器的TCPTCP端口号,各种端口号,各种传输协议都有默认端口号,如果输入时忽略则使用传输协议都有默认端口号,如果输入时忽略则使用默认端口号。默认端口号。“目录路径目录路径”是指所访问资源在服务器上的目录路是指所访问资源在服务器上的目录路径。径。“文件名文件名”是指需要访问的资源文件的名称。是指需要访问的资源文件的名称。“参数参数”用于指定特殊参数的可选项。用于指定特殊参数的可选项。“查询查询”一般用来传送对服务器上的数据库进行动一般用来传送对服务器上的数据库进行动态查询时所需要的参数。态查询时所需要的参数。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4040超文本传输协议超文本传输协议万维网技术万维网技术统一资源定位符统一资源定位符注意:注意:p万维网上的服务器很多是区分大小写字母的,万维网上的服务器很多是区分大小写字母的,因此要特别注意使用正确的因此要特别注意使用正确的URLURL大小写形式。大小写形式。pURLURL地址还有相对地址和绝对地址之分。其中地址还有相对地址和绝对地址之分。其中绝对地址是指给出协议和主机域名的完整地址;绝对地址是指给出协议和主机域名的完整地址;而相对地址是指在主机确定的情况下,略去协而相对地址是指在主机确定的情况下,略去协议和主机的地址。议和主机的地址。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4141超文本传输协议超文本传输协议万维网技术万维网技术万维网的工作过程万维网的工作过程用户确定要访问网页的用户确定要访问网页的URLURL,并将其输入到浏览器的地址栏,并将其输入到浏览器的地址栏中。中。浏览器向浏览器向DNSDNS服务器发出请求,获取服务器发出请求,获取WebWeb服务器域名所对应服务器域名所对应的的IPIP地址。地址。浏览器向指定浏览器向指定IPIP地址的地址的WebWeb服务器发出与端口服务器发出与端口8080建立一条建立一条TCPTCP连接的请求。连接的请求。8080端口是端口是WebWeb服务器提供服务器提供WebWeb服务的端口。服务的端口。在得到在得到WebWeb服务器确认并且服务器确认并且TCPTCP连接建立成功后,浏览器再连接建立成功后,浏览器再向向WebWeb服务器发出一条请求传输网页的服务器发出一条请求传输网页的HTTPHTTP命令。命令。当当WebWeb服务器收到请求后,向浏览器发送其所需的网页文件。服务器收到请求后,向浏览器发送其所需的网页文件。网页文件发送完成后,由网页文件发送完成后,由WebWeb服务器主动关闭服务器主动关闭TCPTCP连接。至连接。至此,此,HTTPHTTP的工作过程结束。的工作过程结束。浏览器显示所收到的网页文件。如果网页文件中包含图片等浏览器显示所收到的网页文件。如果网页文件中包含图片等信息,还要再次与信息,还要再次与WebWeb服务器建立服务器建立TCPTCP连接下载相应图片信连接下载相应图片信息等。息等。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4242超文本传输协议超文本传输协议超文本传输协议超文本传输协议HTTPHTTP是作为一种请求是作为一种请求/应答协议来实现的,即客户机应答协议来实现的,即客户机请求请求WebWeb服务器上的一个页面文件,服务器上的一个页面文件,WebWeb服务器则以服务器则以该页面文件来应答。该页面文件来应答。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4343超文本传输协议超文本传输协议超文本传输协议超文本传输协议工作原理工作原理第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4444超文本传输协议超文本传输协议超文本传输协议超文本传输协议工作原理工作原理首先客户机程序创建一个套接字,同时向服务器发首先客户机程序创建一个套接字,同时向服务器发出出TCPTCP连接请求,并通过服务器的确认建立连接请求,并通过服务器的确认建立TCPTCP连连接。接。客户机程序根据需要利用客户机程序根据需要利用TCPTCP连接向服务器发送相连接向服务器发送相应的请求命令。应的请求命令。HTTPHTTP服务器也可以由其他类型的服务器也可以由其他类型的网关充当代理服务器,这样,网关充当代理服务器,这样,HTTPHTTP便可以允许用便可以允许用户访问其他因特网协议,如户访问其他因特网协议,如SMTPSMTP、FTPFTP、GopherGopher等。等。服务器接收到客户机程序的请求命令后进行相应的服务器接收到客户机程序的请求命令后进行相应的处理,然后将处理结果以响应消息的形式通过处理,然后将处理结果以响应消息的形式通过TCPTCP连接返回给客户机程序。连接返回给客户机程序。完成本次请求完成本次请求/应答后,客户机程序和服务器程序应答后,客户机程序和服务器程序都可以通过关闭套接字来结束本次的都可以通过关闭套接字来结束本次的TCPTCP连接。连接。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4545超文本传输协议超文本传输协议超文本传输协议超文本传输协议报文格式报文格式HTTPHTTP报文包括请求行报文包括请求行/状态行、信息首部、空行状态行、信息首部、空行和信息体组成。和信息体组成。请求报文格式请求报文格式第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4646超文本传输协议超文本传输协议超文本传输协议超文本传输协议报文格式报文格式 响应报文格式响应报文格式第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4747超文本传输协议超文本传输协议超文本传输协议超文本传输协议HTTPHTTP应用实例应用实例第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4848基于基于WinlnetWinlnet的应用编程的应用编程基于基于WindowsWindows的因特网应用编程的因特网应用编程直接使用直接使用WinsockWinsock编程,包括直接使用编程,包括直接使用Winsock APIWinsock API或者使用或者使用MFCMFC的相关类(的相关类(CAsyncSocketCAsyncSocket和和CSocketCSocket),利用它们可以编写因特网客户端程序,),利用它们可以编写因特网客户端程序,也可以编写服务器端程序。也可以编写服务器端程序。使用信报接口(使用信报接口(MAPIMAPI)函数可以方便地开发邮件、)函数可以方便地开发邮件、传真程序,并可以实现不同邮件系统之间的交互。传真程序,并可以实现不同邮件系统之间的交互。利用因特网服务端应用程序接口(利用因特网服务端应用程序接口(ISAPIISAPI)来增强、)来增强、扩展扩展HTTPHTTP服务器功能。本书不进行介绍,有兴趣的服务器功能。本书不进行介绍,有兴趣的同学可以参考其他资料进一步了解。同学可以参考其他资料进一步了解。利用因特网客户端程序接口(利用因特网客户端程序接口(WinInetWinInet)来开发)来开发HTTPHTTP、FTPFTP、GopherGopher客户机程序。客户机程序。第第1 10 0章章 应应用用层层常常用用协协议议与与编编程程4949基于基于WinlnetWinlnet的应用编程的应用编程WinInetWinInet(Win32 Internet ExtensionsWin32 Internet Extensions)是)是MicrosoftMicrosoft在在MFCMFC中提供的用于因特网客户机应中提供的用

    注意事项

    本文(应用层常用协议与编程课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开