《高层协议及分析课件》由会员分享,可在线阅读,更多相关《高层协议及分析课件(82页珍藏版)》请在金锄头文库上搜索。
1、第七章第七章高层协议及分析高层协议及分析8/5/202411.广域网的高层协议2.Internet应用层协议8/5/202427.1 广域网的高层协议广域网的高层是指会话层、表示层和应用层。由于广域网的高层在实现上有很大差别,现在很少有网络严格按照ISO/OSI/RM的高层建议实现。会话层:又称会晤层,其任务是提供一种有效地方法,以组织并协商两个表示层进程之间的会话,并管理它们之间的数据交换。表示层:解决用户信息的语法表示问题,向上为应用层提供服务。应用层:直接面向用户以满足用户的不同需求,是惟一向应用程序提供服务的层。8/5/202437.2 Internet应用层协议 Internet体系
2、结构的最高层是应用层,它与OSI七层体系结构的高层(会话层、表示层、应用层)相对应,其协议主要有域名系统DNS、超文本传输协议HTTP、简单邮件传输协议SMTP、文件传输协议FTP和远程登录TELNET等。8/5/202447.2.1 域名系统DNSInternet采用一种实现分层命名和地址解析任务的命名机制,使任何一个连接在Internet上的计算机都有一个惟一的层次结构的名字,即域名。将域名映射为IP地址的过程称为“名字解析”,负责完成名字解析任务的就是域名系统DNS。DNS是一个分布式的数据库系统,由若干域名服务器程序组成,负责维护域名到IP地址的映射数据库。8/5/20245DNS特点
3、特点DNS是一个分布式数据库,由很多台DNS服务器按照层次结构组织起来DNS运行在端到端系统上,且使用UDP协议(53号端口)进行报文传输,因此DNS是应用层协议DNS以C/S的模式工作DNS不直接和用户进行交互,而是因特网的核心功能8/5/20246一次最简单的一次最简单的DNS解析过程解析过程假设Alice通过IE浏览器访问Alice的主机上存在DNS客户机结果IE浏览器从URL中抽取出域名,将其传送给DNS客户机DNS客户机向DNS服务器发出一个包含域名的查询请求报文DNS服务器向DNS客户机返回一个包含对应IP地址的响应报文DNS客户机将该IP地址传送给IE浏览器IE浏览器向该IP地址
4、所在WEB服务器发起TCP连接8/5/20247DNS的域名结构Internet的域名结构是一种分层次的名字空间。在名字空间中每一个可以被管理的划分称为“域”。Internet域名空间 comnetorgedugov milcn其他顶级域名其他顶级域名ftpmailwww根hust顶级域名二级域名三级域名8/5/20248最早的顶级域有六类:l com表示商业组织l net表示网络相关组织l edu表示教育机构l org表示非盈利组织l mil表示军事团体l gov表示政府部门Internet随后又增加了顶级域名的类型,如国家代码和地区代码也可作为顶级域名。例如cn表示中国一个完整的域名:8/
5、5/20249DNS的实现的实现最简单的方法单台DNS服务器单点故障的问题:一旦崩溃,因特网将无法维持数据的流通量:使得DNS服务器不堪重负远程的集中式数据库:带来严重的延时维护量巨大:DNS服务器不得不持续的更新以适应因特网上主机的增加与减少显然,这种方法是行不通的!显然,这种方法是行不通的!8/5/202410真正的DNS实现根DNS服务器.com DNS服务器.edu DNS服务器.cn DNS服务器DNS服务器umass.eduDNS服务器DNS服务器DNS服务器DNS服务器DNS服务器根DNS服务器顶级域(TLD)服务器权威DNS服务器8/5/202411根域名服务器(根域名服务器(
6、13个)个)b USC-ISI Marina del Rey, CAl ICANN Marina del Rey, CAe NASA Mt View, CAf Internet Software C. Palo Alto, CAi NORDUnet Stockholmk RIPE London m WIDE Tokyoa NSI Herndon, VAc PSInet Herndon, VAd U Maryland College Park, MDg DISA Vienna, VAh ARL Aberdeen, MDj NSI (TBD) Herndon, VA8/5/202412顶级域顶级域
7、DNS服务器:服务器:负责顶级域名和所有国家的负责顶级域名和所有国家的顶级域名解析工作,例如:顶级域名解析工作,例如:com, org, net, gov, uk, cn, jp等等Network Solution公司负责维护com顶级域DNS服务器Educause公司负责维护edu顶级域DNS服务器权威权威DNS服务器服务器: 属于某个组织的属于某个组织的DNS服务器服务器, 为组织的服务器提供一个权威的域名到为组织的服务器提供一个权威的域名到IP地址的地址的映射服务映射服务 (例如:例如:Web 和和 mail)这些DNS服务器一般由所属组织或服务提供商负责维护8/5/202413本地本地
8、DNS服务器服务器严格的讲,本地DNS服务器并不属于DNS层次结构中的一层每一个ISP(住宅ISP、公司、大学)都会提供一个本地DNS服务器有时候,我们将其称为“默认DNS服务器”当一台主机需要做一个域名查询的时候,查询请求首先被发送到本地域名服务器本地域名服务器的行为就像一个代理,它会向域名的层次体系内进行进一步的域名查询。8/5/202414一次完整的一次完整的DNS解析过程解析过程发起请求使用递归查询后续解析为迭代查询发起请求的主机cis.poly.edugaia.cs.umass.edu根DNS服务器本地DNS服务器dns.poly.edu123456权威DNS服务器dns.cs.um
9、ass.edu78TLD DNS服务器8/5/202415另外一种另外一种DNS解解析流程析流程纯递归查询发起请求的主机cis.poly.edu根DNS服务器本地DNS服务器dns.poly.edu12456权威DNS服务器dns.cs.umass.edu78TLD DNS 服务器38/5/202416DNS缓存缓存一旦 (任何) 域名服务器得知了某个映射, 就将其 缓存在一定的时间间隔后缓存的条目将会过期(自动消除)顶级域DNS服务器IP地址通常被缓存在本地DNS服务器中这样可以减少根DNS的负载8/5/202417DNS可提供的服务可提供的服务域名到IP地址的转换主机/邮件服务器别名为不好
10、记的规范主机/邮件服务器名提供一个易记的别名e.g. relay1.west-负载均衡一个域名对应多个IPDNS服务器在多个IP中进行轮转8/5/202418DNS记录的格式记录的格式(RR:资源记录):资源记录)nType=NSqname = 域 (如)qvalue =该域权威域名服务器的主机名RR 格式: (name, value, type, ttl)nType=Aqname = 主机名qvalue = IP 地址nType=CNAMEqName= 别名 如:qvalue =规范名称 nType=MXqvalue 是别名为name的邮件服务器的规范主机名8/5/202419DNS报文报
11、文查询和回答报文的格式是一致的8/5/202420在在DNS数据库中插入记录数据库中插入记录例如:要注册一个域名 “Network Utopia”在DNS注册登记机构注册名字“” (如 Network Solutions)提供权威DNS服务器的名字和IP地址 (包括基本的和辅助的)注册登记机构在com 顶级域名服务器中插入两条记录:(, , NS)(, 212.212.212.1, A)在权威DNS服务器中为创建A记录,为创建MX记录8/5/202421DNS记录的维护记录的维护目前基本上都是手工维护RFC2136和RFC3007定义了DNS动态更新8/5/2024227.2.2 超文本传输协
12、议HTTPHTTP是负责Web浏览器和Web服务器之间传输数据的通信协议,它定义了浏览器和服务器之间的通信交换机制、请求及响应信息的格式。HTTP协议支持的服务不限于WWW,如FTP、Archie、SMTP、NNTP等。HTTP协议还可用于名字服务器和分布式对象管理。HTTP协议的版本包括HTTP1.0/1.1。 8/5/2024231.HTTP的基本工作原理 HTTP客户机和服务器之间的具体会话过程包括以下四个部分:(1)客户机和服务器建立联系客户机通过套接字(socket)与服务器建立连接。在打开套接字时需按URL来提供信息,URL格式为:HTTP:/端口号/路径 默认端口号为80。(2)
13、客户向服务器提出请求(3)服务器对请求作出应答(4)关闭客户和服务器之间的连接8/5/202424HTTP: 使用TCP 传输服务:客户端启动TCP连接(创建套接字) 到服务器, 端口 80服务器接受来自客户端的 TCP 连接http 报文(应用层协议报文) 在浏览器 (http client) 和Web服务器(http server)之间进行交换关闭TCP 连接HTTP “无状态(stateless)”n服务器不保留任何访问过的请求信息小评论保留状态的协议很复杂!q过去的历史 (状态) 需保留q一旦浏览器/服务器崩溃, 它们各自的状态视图就会发生分歧,还需要重新进行核对。8/5/202425
14、HTTP1.0的传输模式的传输模式非持久连接非持久连接假设用户键入了一个 URL www. http 客户端启动 TCP 连接到上的http 服务器 (进程). Port 80 是 http 服务器的默认端口.2. http客户端发送 http 请求报文 (包括URL) 进入 TCP 连接插口(socket)1b. 在 上的http 服务器在 port 80 等待 TCP 的连接请求. “接受” 连接并通知客户端3. http 服务器接收到请求报文, 形成 响应报文( 包含了所请求的对象 ,cs/index.htm), 将报文送入插口( socket)time(该网页包含文本并引用了10 j
15、peg 图片)8/5/2024265. http 客户端接收到了包含html文件的响应报文。分析 html 文件, 发现 10 个引用的 jpeg 对象6. 对10 jpeg objects 逐个重复1-5 步4. http 服务器关闭 TCP 连接. time8/5/202427非持久连接工作机制分析非持久连接工作机制分析取对象需要2 RTTs(Round-Trip Time)TCP 连接对象请求/传送许多浏览器同时打开多个并行的连接来改善性能考虑:如果有1万台客户机访问WEB服务器的某个页面,该页面有100个对象,那就意味着需要100万个连接,1个服务器能够支持吗?8/5/202428HT
16、TP1.1引入的新传输模式引入的新传输模式持久连接持久连接服务器在发送响应后,不再断开TCP连接,而是保持该连接,用于后续对象的传送,直至该连接“休息”了一个较长的时间后,才断开该连接减少了对服务器端连接数的需要,从而减少了对服务器端套接字资源的占用,提高了服务器的负载能力持久连接又可以分为非流水线方式:一个对象传输完成方能传输下一个流水线方式:可以一次性发送所有请求,逐个接收8/5/202429HTTP报文类型报文类型HTTP请求报文HTTP响应报文8/5/202430HTTP请求报文请求报文一段典型的HTTP请求报文GET /somedir/page.html HTTP/1.0 Host:
17、 www.someschool.edu Connection: close User-agent: Mozilla/4.0Accept-language:fr(额外的 carriage return, line feed) 请求行请求行(GET, POST, HEAD 命令命令)首部首部 诸行诸行回车、换行表示回车、换行表示报文结束报文结束8/5/202431HTTP请求报文的一般格式8/5/202432请求行支持的方法请求行支持的方法HTTP1.0 定义的方法GET向服务器请求指定URL的对象POST用于向服务器提交表单数据也可以同时请求一个WEB页面 注意:可以不使用POST方法,而使用G
18、ET方法发送表单数据以获取新的WEB页面。例如: HTTP1.1新定义的方法PUT上传文件,文件名放在实体主体字段中,目标路径由URL字段标明DELETE删除URL字段中指定的文件8/5/202434HTTP响应报文响应报文一段典型的HTTP响应报文HTTP/1.0 200 OK Connection closeDate: Mon, 03 Aug 2009 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun, 7 Jun 2009 . Content-Length: 6821 Content-Type: text/html
19、data data data data data . 状态行状态行(协议状态码协议状态码状态短语状态短语)首部首部 诸行诸行数据数据, e.g., 被请求的被请求的html文件文件8/5/202435HTTP响应报文的一般格式8/5/202436常见的常见的HTTP响应状态码和短语响应状态码和短语200 OK请求成功, 被请求的对象在报文中301 Moved Permanently被请求的对象被移动,新位置在报文中有说明 (Location:)400 Bad Request服务器不能解释请求报文404 Not Found服务器上找不到请求的对象505 HTTP Version Not Supp
20、orted服务器不支持请求报文使用的HTTP协议版本8/5/202437用户用户服务器交互:服务器交互:CookieWEB站点使用Cookie的目的限制用户的访问把内容和用户身份关联起来Cookie技术的组成部分:在HTTP响应报文中有一个Cookie首部行在HTTP请求报文中也有一个Cookie首部行在用户的端系统中保留了一个Cookie文件,由用户浏览器负责管理在Web站点有一个后端数据库8/5/202438Cookie工作流程客户端客户端服务器服务器http请求报文http响应报文 +Set-cookie: 1678 http请求报文cookie: 1678http响应报文http请求报
21、文cookie: 1678http响应报文Cookie特定动作Cookie特定动作服务器为用户创建ID:1678后端数据库的记录访问访问Cookie fileamazon: 1678ebay: 8734Cookie fileebay: 8734Cookie fileamazon: 1678ebay: 8734一周以后:8/5/202439Cookies优点:身份认证“购物车”“推荐”用户会话状态 (Web、E-mail)Cookies和隐私性:nCookies允许网站获得相当多的用户的信息n你可能会向网站提供你的姓名和E-Mail地址n搜索引擎也可以使用cookie和重定向技术获得很多的信息n
22、广告公司也可以通过用户访问过的网站来获得用户的相关信息8/5/202440WEB缓存缓存目的加速客户端访问WEB页面的速度,减少时延减少局域网与外部因特网交换的数据量,从而在达到同等服务质量的同时,可以使用较小的网络带宽,节约费用客户端WEB 缓存客户端http requesthttp requesthttp responsehttp responsehttp requesthttp response初始服务器8/5/202441WEB缓存缓存缓存同时充当客户和服务器一般缓存由ISP来购买并安装 (大学、公司、居民区ISP)为什么要用到Web缓存?减少客户请求的响应时间减少一个机构因特网链接的
23、通信量因特网上存在大量的Web缓存以便内容提供商能更有效地分发内容8/5/202442缓存举例缓存举例假设平均对象的大小 = 100,000 bits浏览器对这些对象的平均访问速率为15个/秒从因特网一侧的路由器转发HTTP请求到它收到响应报文的平均时间为 2秒初始服务器因特网机构网络10 Mbps 局域网1.5 Mbps 访问链路8/5/202443结果总延迟 = 因特网延迟 + 访问链路延迟 + 局域网延迟局域网的流量强度 =0. 15接入链路的流量强度 =1当流量强度为1时,时延可能非常大,从而导致总时延可能要以分钟来计算原始服务器因特网机构网络10 Mbps 局域网1.5 Mbps 访
24、问链路流量强度流量强度=La/R=(15个请求个请求/秒秒 x 100kb/请求请求)/R8/5/202444Monday, August 5, 202445改进方案改进方案1增加出口带宽增加出口带宽假设将访问链路带宽增加到10Mbps结果局域网的流量强度 =0. 15接入链路的流量强度 =0.15总延迟 = Internet延迟 + 访问延迟 + 局域网延迟 2 sec 请注意:增加出口带宽的费用是非常昂贵的8/5/202445改进方案改进方案2 架设架设WEB缓缓存存假设命中率为0.4结果40% 的请求几乎可以马上得到响应60% 的请求必须从服务器上获得响应接入链路的流量强度减少到0.6,
25、 其导致的延迟可以忽略(例如10msec) 。 总的平均延迟 = Internet 延迟 + 访问延迟 + 局域网延迟 0.6 x (2.01) 秒 + 0.4 x (0.01s) 略大于1.2 secs,好于方案1原始服务器因特网机构网络10 Mbps LAN1.5 Mbps 访问链路WEB 缓存代价:一台普通代价:一台普通PC+一套免费的一套免费的WEB缓存软件缓存软件8/5/202446条件条件GET方法的使用方法的使用目的:更新WEB缓存中的WEB对象副本举例WEB缓存向WEB服务器发送请求报文GET /fruit/kiwi.gif HTTP/1.1Host: 8/5/202447WE
26、B服务器向该WEB缓存发送响应报文HTTP/1.1 200 OKDate: Mon, 6 Jul 2009 15:39:29Server: Apache/1.3.0(Unix)Last-Modified: Wed, 1 Jul 2009 09:23:24Content Type: image/gif(data data data data data data)8/5/202448一周后,一个客户端请求该对象,为判断WEB缓存中的该对象副本是否最新的,该WEB缓存向原始服务器发出一个条件GET方法,执行更新检查GET /fruit/kiwi.gif HTTP/1.1Host: If-Modifi
27、ed-Since: Wed, 1 Jul 2009 09:23:248/5/202449如果该对象没有被修改过,WEB缓存上的仍然是最新版本,则WEB服务器发送如下响应报文HTTP/1.1 304 Not ModifiedDate: Mon, 13 Jul 2009 15:39:29Server: Apache/1.3.0(Unix)(实体主体为空)8/5/202450如果该对象在此之后被修改过,WEB服务器上有最新版本,则WEB服务器发送新版本的对象给WEB缓存HTTP/1.1 200 OKDate: Mon, 13 Jul 2009 15:39:29Server: Apache/1.3.0
28、(Unix)Last-Modified: Sat, 11 Jul 2009 09:23:24Content Type: image/gif(data data data data data data)8/5/2024517.2.3 简单邮件传输协议SMTP电子邮件服务是Internet最早也是最重要的一种信息服务。与电子邮件相关的协议分为两种:l在邮件服务器间转发邮件的协议,如SMTP、MIME等。l允许用户从邮件服务器收发、处理邮件的邮件客户机与邮件服务器之间的协议,如POP3和IMAP4。8/5/2024521.SMTP的邮件发送过程 SMTP主要用于在Internet上各节点间邮件的存储
29、转发,负责将电子邮件从一台邮件服务器传输到另一台邮件服务器。此外,SMTP还负责客户机向服务器的邮件发送。SMTP支持的功能较简单,只定义了电子邮件在邮件系统中如何通过TCP连接进行传送。发送方邮件缓存 接收端邮件服务器用户代理SMTPSMTPPOP3 发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理 邮件服务器 邮件服务器SMTPSMTPPOP3(发送邮件)(发送邮件)(发送邮件)(发送邮件)(读取邮件)(读取邮件)(TCP 连接)(TCP 连接)(TCP 连接)因特网8/5/202453用户和SMTP服务器之间建立连接和发送的过程:(1)建立TCP连接(端口号:25)(2)客户端发送
30、HELLO命令以标识发件人自己的身份,然后发送MAIL命令启动发送邮件过程(3)发送邮件。(使用MAIL、RCPT、DATA等命令,具体过程如下页的实例。)(4)结束此次发送,用QUIT命令退出。8/5/202454SMTP的发送过程: S: MAIL FROM: R: 250 OK S: RCPT TO: R: 250 OK S: RCPT TO: R: 550 No such user here S: RCPT TO: R: 250 OK S: DATA R: 354 Start mail input;end with . S: Blah blah blah S: S: . R: 250
31、OK8/5/2024552.SMTP的路由选择过程 SMTP在发送时还需完成路由功能。STMP服务器解析路由信息基于域名服务DNS,利用DNS中的MX(邮件交换记录)记录来路由电子邮件,MX记录了注册域名和相关的SMTP中继主机,属于该域的电子邮件都应向该主机发送。DNS记录的格式(记录的格式(RR:资源记录):资源记录)nType=NSqname = 域 (如)qvalue =该域权威域名服务器的主机名RR 格式: (name, value, type, ttl)nType=Aqname = 主机名qvalue = IP 地址nType=CNAMEqName= 别名 如:qvalue =规范
32、名称 nType=MXqvalue 是别名为name的邮件服务器的规范主机名8/5/202456SMTP特点特点SMTP使用持久连接SMTP要求报文 (首部 & 信体) 全部使用 7-bit ASCII码某些代码组合不允许出现在报文中 (e.g., CRLF.CRLF). 此类数据必须进行编码 (通常使用 base-64 或 quoted printable)SMTP服务器用 CRLF.CRLF 表示邮件报文的结束SMTP vs HTTP都使用 ASCII 命令/响应来交互并使用状态码SMTP要求报文 全部使用 7-bit ASCII码,而HTTP没有这个限制HTTP: pull(拉) vs
33、SMTP: push(推)HTTP的每个对象分装在各自的响应报文中,而SMTP的多个对象在一个“多分部”的报文中传送8/5/202457邮件报文格式邮件报文格式首部诸行, e.g., To:From:Subject:它不同 于 smtp 命令。前者是邮件报文的一部分,后者是握手协议的一部分。信体即 “报文”,只能是ASCII 码headerbody空行8/5/202458非非ASCII码数据的码数据的MIME扩展扩展From: alicecrepes.fr To: bobhamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1
34、.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data . . .base64 encoded data 多媒体类型多媒体类型, 子类型子类型, 参数参数声明声明数据编码方法数据编码方法MIME 版本版本编码后的数据编码后的数据8/5/202459Base64编码先将二进制代码划分为一个24bit长的单元将每个24bit单元划分为4个6bit组,每个6bit组按照以下方法转换为ASCII码A-Z表示0-25,a-z表示26-51,0-9表示52-61,+表示62,/表示63=和=表示最后
35、一组的代码只有8或16bit(末尾添0凑足12位或18位)如一个24bit组010010 010011 000101 111001被编码为STF5,再用其对应的ASCII码(8位)发送。24bit编码为32bit,开销为25%8/5/202460从客户机获取邮件的方法从客户机获取邮件的方法POP3协议(Post Office Protocol)IMAP协议(Internet Mail Access Protocol)HTTP8/5/202461POP3协议的认证阶段协议的认证阶段客户端命令: user: 用户名pass: 口令服务器响应+OK-ERRS: +OK POP3 server rea
36、dy C: user alice S: +OK C: pass hungry S: +OK user successfully logged on8/5/202462POP3协议的交互协议的交互命令命令list: 列出报文号码retr: 用报文号码取信dele: 用报文号码删信quit退出C: list S: 1 498 S: 2 912 S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . C: dele 2 C: quit S: +OK POP3 server signing off8/5/202463POP3讨论讨论“下载-删除”方式: 用
37、户如果更换客户机无法再次阅读原来的邮件“下载-保存”方式: 在不同的客户机上保存邮件的副本POP3会话是无状态的,以简化服务的实现用户使用POP3协议无法在邮件服务器上对自己的邮件进行重组织,只能将邮件下载到本地计算机进行重组织8/5/202464IMAP协议协议相比POP3具有更多特色,也更复杂将所有的邮件都保存在服务器上允许用户在服务器上组织自己的邮件目录IMAP维护了IMAP会话的用户状态信息:文件夹名以及报文与文件夹名之间的关联信息允许用户代理获取报文组件只读取报文的报文首部只读取MIME报文的一部分基于Web的电子邮件:使用HTTP协议8/5/2024657.2.4 文件传输协议FT
38、P文件传输协议FTP定义了两个计算机系统如何通过Internet传输文件。除了FTP之外,还有其他文件传输协议,如TFTP和NFS等。8/5/2024661.FTP的基本工作原理 在会话过程中,客户程序和服务器程序之间要建立两个独立的TCP连接:控制连接和数据连接。控制连接用于传输FTP命令以及服务器的回送信息,它由两端的PI(协议解释器)使用。数据连接用于传输数据,及文件内容,它由两端的DTP(数据传输过程)使用。客户PI客户DTP用户界面服务器PI服务器DTP用户终端FTP服务器因特网控制连接FTP命令/响应数据连接8/5/2024672.FTP的属性在建立一个FTP连接的时候,客户端首先
39、需要指定一个或多个属性。通常需要指定的属性包括四个。(1)文件属性 该属性指定如何将文件的数据匹配成适于传输的格式,有四种文件类型:ASCII、EBCDIC、二进制文件、本地文件。(2)格式控制 该属性定义了如何将文本文件传送到打印设备。(3)结构 文件可拥有内部结构,在传输中该结构被保留,有数据传输过程负责传输中的结构及本地结构之间的相互匹配。结构包括文件结构、记录结构和页面结构。(4)传输模式 FTP支持流模式、块模式和压缩模式三种不同的传输模式。 8/5/2024683.常用的FTP命令FTP命令以网络虚拟终端ASCII串的格式进行传输。命令以三个或四个大写的网络虚拟终端ASCII字符开
40、始,后面带有上面说明的选项参数和一个CR/LF对标识命令结束。如ABOR(放弃传输)、CWD(改变远程系统的工作目录)等。命令的应答由三个网络虚拟终端ASCII数字及一个选项消息组成。如125(数据连接打开,传输开始)、331(用户名OK,需要输入密码)。8/5/202469常见的常见的FTP命令命令USER username(向服务器传送用户标识)PASS password(向服务器传送用户口令)LIST (返回当前目录中的文件列表)RETR filename (取 (get) 文件)STOR filename (存(put) 文件到远程主机)8/5/202470常见的常见的FTP应答应答3
41、31 Username OK, password required125 data connection already open; transfer starting425 Cant open data connection452 Error writing file注意:FTP的应答和HTTP的应答是否很类似? 8/5/202471FTP与HTTP的比较:FTP连接是有状态的,而HTTP连接则是无状态的FTP服务器会在整个会话期间维护用户的状态信息把用户帐户和控制连接联系起来追踪用户在远程目录树上的位置对活动的用户会话的状态进行追踪,以限制FTP会话总数8/5/202472FTP与与HTT
42、P传输文件的共同点传输文件的共同点均使用TCP协议FTP与与HTTP传输文件的不同点传输文件的不同点FTP的控制信息是带外传送的,而HTTP的控制信息则是带内传送的FTP存在两个并行的连接控制连接数据连接:非持久连接,针对会话的每一次文件传输都需要建立一个新的数据连接。FTP客户机FTP服务器TCP 控制连接 端口 21TCP 数据连接 端口 208/5/2024737.2.5 远程登录协议TELNET远程登录协议TELNET的目的是提供一种相对通用的、双向的、面向八位字节的通信方法,它的主要目标是允许接口终端设备的标准方法和面向终端的相互作用,常被用于终端到终端或进程到进程的通信。TELNE
43、T最重要的思想是网络虚拟终端NVT的概念,它可以避免服务器和客户机要了解对方机器终端的特点,而使用终端直接处理通话。TELNET建立在TCP连接上,使用23号端口。8/5/202474客户服务器方式现在由于 PC 机的功能越来越强,用户已较少使用 TELNET 了。TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。8/5/202475TELNET 使用网络虚拟终端 NVT 格式 因特网TCP 连接 客户端 服务器端 使用客户端的格式 使用
44、服务器端的格式 使用 NVT 格式客户服务器8/5/202476网络虚拟终端 NVT 格式 客户软件把用户的击键和命令转换成 NVT 格式,并送交服务器。服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。向用户返回数据时,服务器把远地系统的格式转换为 NVT 格式,本地客户再从 NVT 格式转换到本地系统所需的格式。 8/5/2024777.2.6 动态主机配置协议DHCP动态主机配置协议DHCP是使TCP/IP网络客户机获得配置信息的协议,它基于BOOTP协议,并在其基础上添加了自动分配可用网络地址功能。DHCP向网络主机提供配置参数,它包括两个基本部分:一部分向网络主
45、机传送专用的配置信息,另一部分为主机分配网络地址。DHCP基于客户/服务器工作模式。它支持三种IP地址分配方法:自动分配、动态分配和手工分配。8/5/202478DHCP 工作方式:需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池(address pool)中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供
46、报文(DHCPOFFER)。 8/5/202479DHCP 中继代理(relay agent) 并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。8/5/202480DHCP 中继代理以单播方式转发发现报文 主机DHCP服务器其他网络DHCP中继代理DHCPDISCOVERDHCPDISCOVER广播单播注意:DHCP 报文只是 UDP 用户数据报中的数据。 8/5/202481租用期(lease period) DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。 租用期的数值应由 DHCP 服务器自己决定。DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。 8/5/202482