高层协议及分析课件_第1页
高层协议及分析课件_第2页
高层协议及分析课件_第3页
高层协议及分析课件_第4页
高层协议及分析课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章

高层协议及分析8/31/20231第七章

高层协议及分析8/2/20231广域网的高层协议Internet应用层协议8/31/20232广域网的高层协议8/2/202327.1广域网的高层协议广域网的高层是指会话层、表示层和应用层。由于广域网的高层在实现上有很大差别,现在很少有网络严格按照ISO/OSI/RM的高层建议实现。会话层:又称会晤层,其任务是提供一种有效地方法,以组织并协商两个表示层进程之间的会话,并管理它们之间的数据交换。表示层:解决用户信息的语法表示问题,向上为应用层提供服务。应用层:直接面向用户以满足用户的不同需求,是惟一向应用程序提供服务的层。8/31/202337.1广域网的高层协议广域网的高层是指会话层、表示层和7.2Internet应用层协议Internet体系结构的最高层是应用层,它与OSI七层体系结构的高层(会话层、表示层、应用层)相对应,其协议主要有域名系统DNS、超文本传输协议HTTP、简单邮件传输协议SMTP、文件传输协议FTP和远程登录TELNET等。8/31/202347.2Internet应用层协议Int7.2.1域名系统DNS Internet采用一种实现分层命名和地址解析任务的命名机制,使任何一个连接在Internet上的计算机都有一个惟一的层次结构的名字,即域名。将域名映射为IP地址的过程称为“名字解析”,负责完成名字解析任务的就是域名系统DNS。 DNS是一个分布式的数据库系统,由若干域名服务器程序组成,负责维护域名到IP地址的映射数据库。8/31/202357.2.1域名系统DNS Internet采用一种实现分DNS特点DNS是一个分布式数据库,由很多台DNS服务器按照层次结构组织起来DNS运行在端到端系统上,且使用UDP协议(53号端口)进行报文传输,因此DNS是应用层协议DNS以C/S的模式工作DNS不直接和用户进行交互,而是因特网的核心功能8/31/20236DNS特点8/2/20236一次最简单的DNS解析过程假设Alice通过IE浏览器访问Alice的主机上存在DNS客户机结果IE浏览器从URL中抽取出域名,将其传送给DNS客户机DNS客户机向DNS服务器发出一个包含域名的查询请求报文DNS服务器向DNS客户机返回一个包含对应IP地址的响应报文DNS客户机将该IP地址传送给IE浏览器IE浏览器向该IP地址所在WEB服务器发起TCP连接8/31/20237一次最简单的DNS解析过程8/2/20237DNS的域名结构 Internet的域名结构是一种分层次的名字空间。在名字空间中每一个可以被管理的划分称为“域”。Internet域名空间comnetorgedugovmilcn其他顶级域名…ftpmailwww…根hust顶级域名二级域名三级域名…8/31/20238DNS的域名结构Internet域名空间comnetorg 最早的顶级域有六类:com表示商业组织 net表示网络相关组织edu表示教育机构org表示非盈利组织mil表示军事团体gov表示政府部门 Internet随后又增加了顶级域名的类型,如国家代码和地区代码也可作为顶级域名。例如cn表示中国 一个完整的域名:8/31/20239 最早的顶级域有六类:8/2/20239DNS的实现最简单的方法——单台DNS服务器单点故障的问题:一旦崩溃,因特网将无法维持数据的流通量:使得DNS服务器不堪重负远程的集中式数据库:带来严重的延时维护量巨大:DNS服务器不得不持续的更新以适应因特网上主机的增加与减少显然,这种方法是行不通的!8/31/202310DNS的实现显然,这种方法是行不通的!8/2/202310真正的DNS实现根DNS服务器.comDNS服务器.eduDNS服务器.cnDNS服务器DNS服务器DNS服务器DNS服务器DNS服务器DNS服务器DNS服务器根DNS服务器顶级域(TLD)服务器权威DNS服务器8/31/202311真正的DNS实现根DNS服务器.comDNS服务器.edu根域名服务器(13个)bUSC-ISIMarinadelRey,CAlICANNMarinadelRey,CAeNASAMtView,CAfInternetSoftwareC.PaloAlto,CAiNORDUnetStockholmkRIPELondonmWIDETokyoaNSIHerndon,VAcPSInetHerndon,VAdUMarylandCollegePark,MDgDISAVienna,VAhARLAberdeen,MDjNSI(TBD)Herndon,VA8/31/202312根域名服务器(13个)bUSC-ISIMarinade顶级域DNS服务器:负责顶级域名和所有国家的顶级域名解析工作,例如:com,org,net,gov,uk,cn,jp等NetworkSolution公司负责维护com顶级域DNS服务器Educause公司负责维护edu顶级域DNS服务器权威DNS服务器:属于某个组织的DNS服务器,为组织的服务器提供一个权威的域名到IP地址的映射服务(例如:Web和mail)这些DNS服务器一般由所属组织或服务提供商负责维护8/31/202313顶级域DNS服务器:负责顶级域名和所有国家的顶级域名解析工作本地DNS服务器严格的讲,本地DNS服务器并不属于DNS层次结构中的一层每一个ISP(住宅ISP、公司、大学)都会提供一个本地DNS服务器有时候,我们将其称为“默认DNS服务器”当一台主机需要做一个域名查询的时候,查询请求首先被发送到本地域名服务器本地域名服务器的行为就像一个代理,它会向域名的层次体系内进行进一步的域名查询。8/31/202314本地DNS服务器8/2/202314一次完整的DNS解析过程发起请求使用递归查询后续解析为迭代查询发起请求的主机根DNS服务器本地DNS服务器123456权威DNS服务器78TLDDNS服务器8/31/202315一次完整的DNS解析过程发起请求的主机gaia.cs.uma另外一种DNS解析流程纯递归查询发起请求的主机根DNS服务器本地DNS服务器12456权威DNS服务器78TLDDNS服务器38/31/202316另外一种DNS解析流程发起请求的主机根DNS服务器本地DNSDNS缓存一旦(任何)域名服务器得知了某个映射,就将其缓存在一定的时间间隔后缓存的条目将会过期(自动消除)顶级域DNS服务器IP地址通常被缓存在本地DNS服务器中这样可以减少根DNS的负载8/31/202317DNS缓存8/2/202317DNS可提供的服务域名到IP地址的转换主机/邮件服务器别名为不好记的规范主机/邮件服务器名提供一个易记的别名e.g.→

负载均衡一个域名对应多个IPDNS服务器在多个IP中进行轮转8/31/202318DNS可提供的服务8/2/202318DNS记录的格式(RR:资源记录)Type=NSname=域(如)value=该域权威域名服务器的主机名RR格式:(name,value,type,ttl)Type=Aname=主机名value=IP地址Type=CNAMEName=别名如:value=规范名称

Type=MXvalue是别名为name的邮件服务器的规范主机名8/31/202319DNS记录的格式(RR:资源记录)Type=NSRR格式:DNS报文查询和回答报文的格式是一致的8/31/202320DNS报文8/2/202320在DNS数据库中插入记录例如:要注册一个域名“NetworkUtopia”在DNS注册登记机构注册名字“”(如NetworkSolutions)提供权威DNS服务器的名字和IP地址(包括基本的和辅助的)注册登记机构在com顶级域名服务器中插入两条记录:

(,,NS)(,,A)

在权威DNS服务器中为创建A记录,为创建MX记录8/31/202321在DNS数据库中插入记录8/2/202321DNS记录的维护目前基本上都是手工维护RFC2136和RFC3007定义了DNS动态更新8/31/202322DNS记录的维护8/2/2023227.2.2超文本传输协议HTTP HTTP是负责Web浏览器和Web服务器之间传输数据的通信协议,它定义了浏览器和服务器之间的通信交换机制、请求及响应信息的格式。 HTTP协议支持的服务不限于WWW,如FTP、Archie、SMTP、NNTP等。 HTTP协议还可用于名字服务器和分布式对象管理。HTTP协议的版本包括HTTP1.0/1.1。

8/31/2023237.2.2超文本传输协议HTTP HTTP是负责Web浏1.HTTP的基本工作原理HTTP客户机和服务器之间的具体会话过程包括以下四个部分:(1)客户机和服务器建立联系 客户机通过套接字(socket)与服务器建立连接。在打开套接字时需按URL来提供信息,URL格式为: HTTP://<IP地址>/[端口号]/[路径][<查询信息>] 默认端口号为80。(2)客户向服务器提出请求(3)服务器对请求作出应答(4)关闭客户和服务器之间的连接8/31/2023241.HTTP的基本工作原理8/2/202324HTTP:使用TCP传输服务:客户端启动TCP连接(创建套接字)到服务器,端口80服务器接受来自客户端的TCP连接http报文(应用层协议报文)在浏览器(httpclient)和Web服务器(httpserver)之间进行交换关闭TCP连接HTTP“无状态(stateless)”服务器不保留任何访问过的请求信息小评论保留状态的协议很复杂!过去的历史(状态)需保留一旦浏览器/服务器崩溃,它们各自的状态视图就会发生分歧,还需要重新进行核对。8/31/202325HTTP:使用TCP传输服务:HTTP“无状态(stHTTP1.0的传输模式——非持久连接假设用户键入了一个URLwww./cs/index.htm1a.http客户端启动TCP连接到上的http服务器(进程).Port80是http服务器的默认端口.2.http客户端发送http请求报文

(包括URL)进入TCP连接插口(socket)1b.在上的http服务器在port80等待TCP的连接请求.“接受”连接并通知客户端3.http服务器接收到请求报文,形成响应报文(包含了所请求的对象,cs/index.htm),将报文送入插口(socket)time(该网页包含文本并引用了10jpeg图片)8/31/202326HTTP1.0的传输模式——非持久连接假设用户键入了一个U5.http客户端接收到了包含html文件的响应报文。分析html文件,发现10个引用的jpeg对象6.对10jpegobjects逐个重复1-5步4.

http服务器关闭TCP连接.time8/31/2023275.http客户端接收到了包含html文件的响应报文。分非持久连接工作机制分析取对象需要2RTTs(Round-TripTime)TCP连接对象请求/传送许多浏览器同时打开多个并行的连接来改善性能考虑:如果有1万台客户机访问WEB服务器的某个页面,该页面有100个对象,那就意味着需要100万个连接,1个服务器能够支持吗?8/31/202328非持久连接工作机制分析8/2/202328HTTP1.1引入的新传输模式——持久连接服务器在发送响应后,不再断开TCP连接,而是保持该连接,用于后续对象的传送,直至该连接“休息”了一个较长的时间后,才断开该连接减少了对服务器端连接数的需要,从而减少了对服务器端套接字资源的占用,提高了服务器的负载能力持久连接又可以分为非流水线方式:一个对象传输完成方能传输下一个流水线方式:可以一次性发送所有请求,逐个接收8/31/202329HTTP1.1引入的新传输模式——持久连接8/2/20232HTTP报文类型HTTP请求报文HTTP响应报文8/31/202330HTTP报文类型8/2/202330HTTP请求报文一段典型的HTTP请求报文GET/somedir/page.htmlHTTP/1.0Host:Connection:closeUser-agent:Mozilla/4.0Accept-language:fr(额外的carriagereturn,linefeed)

请求行(GET,POST,HEAD命令)首部诸行回车、换行表示报文结束8/31/202331HTTP请求报文GET/somedir/page.htmlHTTP请求报文的一般格式8/31/202332HTTP请求报文的一般格式8/2/202332请求行支持的方法HTTP1.0定义的方法GET向服务器请求指定URL的对象POST用于向服务器提交表单数据也可以同时请求一个WEB页面注意:可以不使用POST方法,而使用GET方法发送表单数据以获取新的WEB页面。例如:/animalsearch?monkeys&banana8/31/202333请求行支持的方法8/2/202333HEAD请求服务器返回一个响应报文,但是仅仅只需要获得响应的协议头,该报文中并不包含请求的对象。该方法常常用来进行故障跟踪。HTTP1.1新定义的方法PUT上传文件,文件名放在实体主体字段中,目标路径由URL字段标明DELETE删除URL字段中指定的文件8/31/202334HEAD8/2/202334HTTP响应报文一段典型的HTTP响应报文HTTP/1.0200OKConnectioncloseDate:Mon,03Aug200912:00:15GMTServer:Apache/1.3.0(Unix)Last-Modified:Sun,7Jun2009…...Content-Length:6821Content-Type:text/html

datadatadatadatadata...状态行(协议状态码状态短语)首部诸行数据,e.g.,被请求的html文件8/31/202335HTTP响应报文HTTP/1.0200OK状态行首部数HTTP响应报文的一般格式8/31/202336HTTP响应报文的一般格式8/2/202336常见的HTTP响应状态码和短语200OK请求成功,被请求的对象在报文中301MovedPermanently被请求的对象被移动,新位置在报文中有说明(Location:)400BadRequest服务器不能解释请求报文404NotFound服务器上找不到请求的对象505HTTPVersionNotSupported服务器不支持请求报文使用的HTTP协议版本8/31/202337常见的HTTP响应状态码和短语8/2/202337用户—服务器交互:CookieWEB站点使用Cookie的目的限制用户的访问把内容和用户身份关联起来Cookie技术的组成部分:在HTTP响应报文中有一个Cookie首部行在HTTP请求报文中也有一个Cookie首部行在用户的端系统中保留了一个Cookie文件,由用户浏览器负责管理在Web站点有一个后端数据库8/31/202338用户—服务器交互:Cookie8/2/202338Cookie工作流程客户端服务器http请求报文http响应报文+Set-cookie:1678http请求报文cookie:1678http响应报文http请求报文cookie:1678http响应报文Cookie特定动作Cookie特定动作服务器为用户创建ID:1678后端数据库的记录访问访问Cookiefileamazon:1678ebay:8734Cookiefileebay:8734Cookiefileamazon:1678ebay:8734一周以后:8/31/202339Cookie工作流程客户端服务器http请求报文http响应Cookies优点:身份认证“购物车”“推荐”用户会话状态(Web、E-mail)Cookies和隐私性:Cookies允许网站获得相当多的用户的信息你可能会向网站提供你的姓名和E-Mail地址搜索引擎也可以使用cookie和重定向技术获得很多的信息广告公司也可以通过用户访问过的网站来获得用户的相关信息8/31/202340Cookies优点:Cookies和隐私性:8/2/2023WEB缓存目的加速客户端访问WEB页面的速度,减少时延减少局域网与外部因特网交换的数据量,从而在达到同等服务质量的同时,可以使用较小的网络带宽,节约费用客户端WEB缓存客户端httprequesthttprequesthttpresponsehttpresponsehttprequesthttpresponse初始服务器8/31/202341WEB缓存客户端WEB缓存客户端httprequesthWEB缓存缓存同时充当客户和服务器一般缓存由ISP来购买并安装(大学、公司、居民区ISP)为什么要用到Web缓存?减少客户请求的响应时间减少一个机构因特网链接的通信量因特网上存在大量的Web缓存以便内容提供商能更有效地分发内容8/31/202342WEB缓存为什么要用到Web缓存?8/2/202342缓存举例假设平均对象的大小=100,000bits浏览器对这些对象的平均访问速率为15个/秒从因特网一侧的路由器转发HTTP请求到它收到响应报文的平均时间为2秒初始服务器因特网机构网络10Mbps局域网1.5Mbps访问链路8/31/202343缓存举例初始服务器因特网机构网络10Mbps局域网1.5结果总延迟=因特网延迟+访问链路延迟+局域网延迟局域网的流量强度=0.15接入链路的流量强度=1当流量强度为1时,时延可能非常大,从而导致总时延可能要以分钟来计算原始服务器因特网机构网络10Mbps局域网1.5Mbps访问链路流量强度=La/R=(15个请求/秒x100kb/请求)/R8/31/202344结果原始服务器因特网机构网络10Mbps局域网1.5MThursday,August31,202345改进方案1——增加出口带宽假设将访问链路带宽增加到10Mbps结果局域网的流量强度=0.15接入链路的流量强度=0.15总延迟=Internet延迟+访问延迟+局域网延迟≈2sec请注意:增加出口带宽的费用是非常昂贵的8/31/202345Wednesday,August2,202345改进方改进方案2——架设WEB缓存假设命中率为0.4结果40%的请求几乎可以马上得到响应60%的请求必须从服务器上获得响应接入链路的流量强度减少到0.6,其导致的延迟可以忽略(例如10msec)。总的平均延迟=Internet延迟+访问延迟+局域网延迟

≈0.6x(2.01)秒+0.4x(0.01s)略大于1.2secs,好于方案1原始服务器因特网机构网络10MbpsLAN1.5Mbps访问链路WEB缓存代价:一台普通PC+一套免费的WEB缓存软件8/31/202346改进方案2——架设WEB缓存原始服务器因特网机构网络10条件GET方法的使用目的:更新WEB缓存中的WEB对象副本举例WEB缓存向WEB服务器发送请求报文GET/fruit/kiwi.gifHTTP/1.1Host:8/31/202347条件GET方法的使用GET/fruit/kiwi.gifWEB服务器向该WEB缓存发送响应报文HTTP/1.1200OKDate:Mon,6Jul200915:39:29Server:Apache/1.3.0(Unix)Last-Modified:Wed,1Jul200909:23:24Content–Type:image/gif(datadatadatadatadatadata)8/31/202348WEB服务器向该WEB缓存发送响应报文HTTP/1.120一周后,一个客户端请求该对象,为判断WEB缓存中的该对象副本是否最新的,该WEB缓存向原始服务器发出一个条件GET方法,执行更新检查GET/fruit/kiwi.gifHTTP/1.1Host:If-Modified-Since:Wed,1Jul200909:23:248/31/202349一周后,一个客户端请求该对象,为判断WEB缓存中的该对象副本如果该对象没有被修改过,WEB缓存上的仍然是最新版本,则WEB服务器发送如下响应报文HTTP/1.1304NotModifiedDate:Mon,13Jul200915:39:29Server:Apache/1.3.0(Unix)(实体主体为空)8/31/202350如果该对象没有被修改过,WEB缓存上的仍然是最新版本,则WE如果该对象在此之后被修改过,WEB服务器上有最新版本,则WEB服务器发送新版本的对象给WEB缓存HTTP/1.1200OKDate:Mon,13Jul200915:39:29Server:Apache/1.3.0(Unix)Last-Modified:Sat,11Jul200909:23:24Content–Type:image/gif(datadatadatadatadatadata)8/31/202351如果该对象在此之后被修改过,WEB服务器上有最新版本,则WE7.2.3简单邮件传输协议SMTP 电子邮件服务是Internet最早也是最重要的一种信息服务。与电子邮件相关的协议分为两种: 在邮件服务器间转发邮件的协议,如SMTP、MIME等。 允许用户从邮件服务器收发、处理邮件的邮件客户机与邮件服务器之间的协议,如POP3和IMAP4。8/31/2023527.2.3简单邮件传输协议SMTP 电子邮件服务是Int1.SMTP的邮件发送过程SMTP主要用于在Internet上各节点间邮件的存储转发,负责将电子邮件从一台邮件服务器传输到另一台邮件服务器。此外,SMTP还负责客户机向服务器的邮件发送。SMTP支持的功能较简单,只定义了电子邮件在邮件系统中如何通过TCP连接进行传送。发送方邮件缓存接收端邮件服务器用户代理SMTPSMTPPOP3发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理邮件服务器邮件服务器SMTPSMTPPOP3(发送邮件)(发送邮件)(发送邮件)(发送邮件)(读取邮件)(读取邮件)(TCP连接)(TCP连接)(TCP连接)因特网8/31/2023531.SMTP的邮件发送过程发送方邮件缓存接收端用户代理用户和SMTP服务器之间建立连接和发送的过程:(1)建立TCP连接(端口号:25)(2)客户端发送HELLO命令以标识发件人自己的身份,然后发送MAIL命令启动发送邮件过程(3)发送邮件。(使用MAIL、RCPT、DATA等命令,具体过程如下页的实例。)(4)结束此次发送,用QUIT命令退出。8/31/202354用户和SMTP服务器之间建立连接和发送的过程:8/2/202SMTP的发送过程:S:MAILFROM:R:250OKS:RCPTTO:R:250OKS:RCPTTO:R:550NosuchuserhereS:RCPTTO:R:250OKS:DATAR:354Startmailinput;endwith.S:Blahblahblah…S:…S:.R:250OK8/31/202355SMTP的发送过程:S:MAILFROM:8/2.SMTP的路由选择过程SMTP在发送时还需完成路由功能。STMP服务器解析路由信息基于域名服务DNS,利用DNS中的MX(邮件交换记录)记录来路由电子邮件,MX记录了注册域名和相关的SMTP中继主机,属于该域的电子邮件都应向该主机发送。DNS记录的格式(RR:资源记录)Type=NSname=域(如)value=该域权威域名服务器的主机名RR格式:(name,value,type,ttl)Type=Aname=主机名value=IP地址Type=CNAMEName=别名如:value=规范名称

Type=MXvalue是别名为name的邮件服务器的规范主机名8/31/2023562.SMTP的路由选择过程DNS记录的格式(RR:资源记录)SMTP特点SMTP使用持久连接SMTP要求报文(首部&信体)全部使用7-bitASCII码某些代码组合不允许出现在报文中(e.g.,CRLF.CRLF).此类数据必须进行编码(通常使用base-64或quotedprintable)SMTP服务器用CRLF.CRLF表示邮件报文的结束SMTPvsHTTP都使用ASCII命令/响应来交互并使用状态码SMTP要求报文全部使用7-bitASCII码,而HTTP没有这个限制HTTP:pull(拉)vsSMTP:push(推)HTTP的每个对象分装在各自的响应报文中,而SMTP的多个对象在一个“多分部”的报文中传送8/31/202357SMTP特点SMTPvsHTTP8/2/202357邮件报文格式首部诸行,e.g.,To:From:Subject:它不同于smtp命令。前者是邮件报文的一部分,后者是握手协议的一部分。信体即“报文”,只能是ASCII码headerbody空行8/31/202358邮件报文格式headerbody空行8/2/202358非ASCII码数据的MIME扩展From:alice@crepes.frTo:bob@Subject:Pictureofyummycrepe.MIME-Version:1.0Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddata

base64encodeddata

多媒体类型,子类型,参数声明数据编码方法MIME版本编码后的数据8/31/202359非ASCII码数据的MIME扩展From:alice@crBase64编码先将二进制代码划分为一个24bit长的单元将每个24bit单元划分为4个6bit组,每个6bit组按照以下方法转换为ASCII码A-Z表示0-25,a-z表示26-51,0-9表示52-61,+表示62,/表示63==和=表示最后一组的代码只有8或16bit(末尾添0凑足12位或18位)如一个24bit组010010010011000101111001被编码为STF5,再用其对应的ASCII码(8位)发送。24bit编码为32bit,开销为25%8/31/202360Base64编码8/2/202360从客户机获取邮件的方法POP3协议(PostOfficeProtocol)IMAP协议(InternetMailAccessProtocol)HTTP8/31/202361从客户机获取邮件的方法8/2/202361POP3协议的认证阶段客户端命令:user:用户名pass:口令服务器响应+OK-ERRS:+OKPOP3serverreadyC:useraliceS:+OKC:passhungryS:+OKusersuccessfullyloggedon8/31/202362POP3协议的认证阶段S:+OKPOP3serverPOP3协议的交互命令list:

列出报文号码retr:

用报文号码取信dele:用报文号码删信quit 退出C:listS:1498S:2912S:.C:retr1S:<message1contents>S:.C:dele1C:retr2S:<message2contents>S:.C:dele2C:quitS:+OKPOP3serversigningoff8/31/202363POP3协议的交互命令C:list8/2/202363POP3讨论“下载-删除”方式:用户如果更换客户机无法再次阅读原来的邮件“下载-保存”方式:在不同的客户机上保存邮件的副本POP3会话是无状态的,以简化服务的实现用户使用POP3协议无法在邮件服务器上对自己的邮件进行重组织,只能将邮件下载到本地计算机进行重组织8/31/202364POP3讨论8/2/202364IMAP协议相比POP3具有更多特色,也更复杂将所有的邮件都保存在服务器上允许用户在服务器上组织自己的邮件目录IMAP维护了IMAP会话的用户状态信息:文件夹名以及报文与文件夹名之间的关联信息允许用户代理获取报文组件只读取报文的报文首部只读取MIME报文的一部分基于Web的电子邮件:使用HTTP协议8/31/202365IMAP协议8/2/2023657.2.4文件传输协议FTP 文件传输协议FTP定义了两个计算机系统如何通过Internet传输文件。除了FTP之外,还有其他文件传输协议,如TFTP和NFS等。8/31/2023667.2.4文件传输协议FTP 文件传输协议FTP定义了两1.FTP的基本工作原理在会话过程中,客户程序和服务器程序之间要建立两个独立的TCP连接:控制连接和数据连接。 控制连接用于传输FTP命令以及服务器的回送信息,它由两端的PI(协议解释器)使用。

数据连接用于传输数据,及文件内容,它由两端的DTP(数据传输过程)使用。客户PI客户DTP用户界面服务器PI服务器DTP用户终端FTP服务器因特网控制连接FTP命令/响应数据连接8/31/2023671.FTP的基本工作原理客户PI客户DTP用户界面服务器PI2.FTP的属性 在建立一个FTP连接的时候,客户端首先需要指定一个或多个属性。通常需要指定的属性包括四个。(1)文件属性该属性指定如何将文件的数据匹配成适于传输的格式,有四种文件类型:ASCII、EBCDIC、二进制文件、本地文件。(2)格式控制该属性定义了如何将文本文件传送到打印设备。(3)结构文件可拥有内部结构,在传输中该结构被保留,有数据传输过程负责传输中的结构及本地结构之间的相互匹配。结构包括文件结构、记录结构和页面结构。(4)传输模式FTP支持流模式、块模式和压缩模式三种不同的传输模式。

8/31/2023682.FTP的属性8/2/2023683.常用的FTP命令 FTP命令以网络虚拟终端ASCII串的格式进行传输。 命令以三个或四个大写的网络虚拟终端ASCII字符开始,后面带有上面说明的选项参数和一个CR/LF对标识命令结束。如ABOR(放弃传输)、CWD(改变远程系统的工作目录)等。 命令的应答由三个网络虚拟终端ASCII数字及一个选项消息组成。如125(数据连接打开,传输开始)、331(用户名OK,需要输入密码)。8/31/2023693.常用的FTP命令8/2/202369常见的FTP命令USERusername(向服务器传送用户标识)PASSpassword(向服务器传送用户口令)LIST(返回当前目录中的文件列表)RETRfilename(取(get)文件)STORfilename(存(put)文件到远程主机)8/31/202370常见的FTP命令8/2/202370常见的FTP应答331UsernameOK,passwordrequired125dataconnectionalreadyopen;transferstarting425Can’topendataconnection452Errorwritingfile注意:FTP的应答和HTTP的应答是否很类似?

8/31/202371常见的FTP应答8/2/202371FTP与HTTP的比较:FTP连接是有状态的,而HTTP连接则是无状态的FTP服务器会在整个会话期间维护用户的状态信息把用户帐户和控制连接联系起来追踪用户在远程目录树上的位置对活动的用户会话的状态进行追踪,以限制FTP会话总数8/31/202372FTP与HTTP的比较:8/2/202372FTP与HTTP传输文件的共同点均使用TCP协议FTP与HTTP传输文件的不同点FTP的控制信息是带外传送的,而HTTP的控制信息则是带内传送的FTP存在两个并行的连接控制连接数据连接:非持久连接,针对会话的每一次文件传输都需要建立一个新的数据连接。FTP客户机FTP服务器TCP控制连接端口21TCP数据连接端口208/31/202373FTP与HTTP传输文件的共同点FTPFTPTCP控制连接7.2.5远程登录协议TELNET 远程登录协议TELNET的目的是提供一种相对通用的、双向的、面向八位字节的通信方法,它的主要目标是允许接口终端设备的标准方法和面向终端的相互作用,常被用于终端到终端或进程到进程的通信。 TELNET最重要的思想是网络虚拟终端NVT的概念,它可以避免服务器和客户机要了解对方机器终端的特点,而使用终端直接处理通话。 TELNET建立在TC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论