已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2讲 应用层 1 第2讲 应用层 本讲目标 网络应用层的概念和实现客户端 服务器范式服务模型通过对常用应用层协议的探讨和分析来学习网络协议教科书参考第9章 深层次目标特定协议 httpftpsmtppopdns 第2讲 应用层 2 应用程序和应用层协议 应用程序 沟通 分布式的进程运行在网络主机中的 用户空间 在应用程序间交换报文e g email ftp Web应用层协议 应用层的一个 组成部分 定义应用程序需交换的报文和所需采取的动作使用较低层次所提供的通信服务 TCP UDP 第2讲 应用层 3 网络应用程序 一些术语 进程 Process 主机中运行中的程序 在某些主机中 两个进程使用进程间通信 由OS管理 而运行在不同主机上的进程则使用应用层协议进行通信 用户代理 Useragent 软件进程 是介于用户 above 和网络 below 之间的接口实现应用级协议Web 浏览器E mail OE Foxmail流媒体 mediaplayer 第2讲 应用层 4 客户端 服务器范式 典型的网络应用都是由两个部分组成 客户端和服务器 客户端 发起同服务器的联系 speaksfirst 一般都从服务器请求服务 Web 客户端由浏览器实现 e mail 通过OE Foxmial实现 服务器 向客户端提供所请求的服务e g Web服务器发送被请求的Web页面 邮件服务器传递e mail 第2讲 应用层 5 应用层协议 续 应用程序接口 API applicationprogramminginterface 定义应用层和传输层间的接口插口 socket InternetAPI 两个进程间的通信 将数据送入socket 或从socket读出数据 Q 某个进程如何 认定 另一个需要与之通信的进程 IP地址 运行另一个进程的主机所拥有的 端口号 PORT 允许接收主机来确定的一个标识 本地进程将报文发送给它教科书p232 234 第2讲 应用层 6 应用进程需要怎样的传输服务 数据丢失 Dataloss 某些应用 e g audio 可以容忍某种程度上的数据丢失其他应用 e g 文件传输 telnet 要求100 可靠的数据传输 实时性 Timing 某些应用 e g IP电话 交互式游戏 要求较低的时延 带宽 Bandwidth 某些应用 e g 多媒体 对最低带宽有要求其他应用 弹性应用 则可灵活应用所能得到的带宽 第2讲 应用层 7 常用应用程序对传输功能的要求 应用程序文件传输e mailWeb网页实时音频 视频存储音频 视频交互式游戏金融应用 数据丢失不丢失不丢失不丢失允许丢失允许丢失允许丢失允许丢失不丢失 带宽弹性弹性弹性音频 5Kb 1Mb视频 10Kb 5Mb同上几Kb s以上弹性 实时性无无无100 smsecfewsecs100 smsecyesandno 第2讲 应用层 8 Internet的传输协议服务 TCP服务 面向连接 在客户端和服务器进程之间需要建立连接 setup 可靠传输 在发送和接受进程之间流量控制 发送数据的速度决不超过接收的速度拥塞控制 当网络超负荷时 束紧发送端口 减缓发送速度不提供 实时性 最小带宽承诺 UDP服务 在客户端和服务器进程之间实现 不可靠的 数据传输不提供 连接建立 可靠性保证 流量控制 拥塞控制 实时性 最小带宽承诺Q 既生喻 何生亮 WhyisthereaUDP 第2讲 应用层 9 Internet应用 应用 传输协议 应用e mail远程终端访问Web文件传输流媒体远程文件服务器IP电话 应用协议smtp RFC821 telnet RFC854 http RFC2068 ftp RFC959 专有协议 e g RealNetworks NSF专有协议 e g Vocaltec 所依赖的传输协议TCPTCPTCPTCPTCPorUDPTCPorUDPtypicallyUDP 第2讲 应用层 10 http协议 http TCP传输服务 客户端启动TCP连接 创建插口 到服务器 端口80服务器接受来自客户端的TCP连接http报文 应用层协议报文 在浏览器 httpclient 和Web服务器 httpserver 之间进行交换关闭TCP连接 http是 无状态 stateless 的服务器不保留任何访问过的请求信息 保留状态的协议很复杂哟 过去的历史 状态 需要保留一旦浏览器 服务器崩溃 它们各自的状态视图就会发生分歧 还需要重新核对 小评论 第2讲 应用层 11 Web http协议 超文本传输协议 http hypertexttransferprotocol 万维网应用协议客户端 服务器模式客户端 浏览器请求 接收 展示Web对象 objects 服务器 Web服务器发送对象对请求进行响应http1 0 RFC1945http1 1 RFC2068 PCrunningExplorer ServerrunningNCSAWebserver MacrunningNavigator httprequest httprequest httpresponse httpresponse 第2讲 应用层 12 http举例 假设用户键入了一个URL 1a http客户端启动TCP连接到上的http服务器 进程 Port80是http服务器的默认端口 2 http客户端发送http请求报文 包括URL 进入TCP连接插口 socket 1b 在上的http服务器在port80等待TCP的连接请求 接受 连接并通知客户端 3 http服务器接收到请求报文 形成响应报文 包含了所请求的对象 someDepartment home index 将报文送入插口 socket time 该网页包含文本并引用了10jpeg图片 第2讲 应用层 13 http举例 续 5 http客户端接收到了包含html文件的响应报文 分析html文件 发现10个引用的jpeg对象 6 对10jpegobjects逐个重复1 5步 4 http服务器关闭TCP连接 time 第2讲 应用层 14 非持续和持续连接 非持续连接 Non persistenthttp 1 0 服务器分析请求 响应 关闭TCP连接取对象需要2RTTsTCP连接对象请求 传送每次传送都要受到TCP连接初始化时的慢启动影响许多浏览器同时打开多个并行的连接来改善性能 持续连接 Persistenthttp 1 1的默认设置在同一TCP连接上 服务器分析请求 响应请求 分析新的请求 客户端一旦下载到了基本的html文件 baseHTML 马上发送对所有引用对象的请求 较少的RTTs 较少的慢启动 第2讲 应用层 15 http报文格式 request 请求 twotypesofhttp报文 request responsehttp请求报文 ASCII 可读格式 第2讲 应用层 16 http请求报文 一般格式 第2讲 应用层 17 http报文格式 response 响应 HTTP 1 0200OKDate Thu 06Aug199812 00 15GMTServer Apache 1 3 0 Unix Last Modified Mon 22Jun1998 Content Length 6821Content Type text htmldatadatadatadatadata 状态行 协议状态码状态短语 首部诸行 数据 e g 被请求的html文件 第2讲 应用层 18 http响应状态码和短语 200OK请求成功 被请求的对象在报文中301MovedPermanently被请求的对象被移动过 新的位置在报文中有说明 Location 400BadRequest服务器不懂请求报文404NotFound服务器上找不到请求的对象505HTTPVersionNotSupported 位于 服务器 客户端 响应报文的第一行 样例 第2讲 应用层 19 自行测试http 客户端操作 1 用Telnet连接测试用的服务器 需要预先登录UNIX 打开TCP连接到port80 默认的http服务器端口 位于202 117 35 70后续键入的内容将发送到202 117 35 70的80号端口 telnet202 117 35 7080 2 键入一条http请求报文 GET j1010 hello htmHTTP 1 0 将该指令键入后 按两次回车键 就将此最短之 但是完整的 GET请求发到了http服务器 3 请注意观察http服务器发回的响应报文 第2讲 应用层 20 用户 服务器的交互 认证 authentication 认证 控制对服务器内容的访问信用认证 一般通过用户名 口令进行无状态 客户端必须在每次请求前进行认证authorization 就是要求在每个请求报文中提交认证的首部行如果客户端没有提交authorization 首部行 服务器将拒绝访问 只是在响应报文首部中发送 client server 普通http请求报文 401 认证要求 第2讲 应用层 21 Cookies 保存 状态 服务器产生一个 服务器认识这个 以备不时之需 认证记忆用户的前序访问 先前的选择服务器在响应报文中发送 cookie 给客户端Set cookie 1678453客户端可以在后继的请求中发送 cookie cookie 1678453 client server 普通http请求报文 普通http响应报文 Set cookie cookie 特定的 cookie 特定的 第2讲 应用层 22 ConditionalGET 客户端缓存机制 目的 如果客户端缓存了最新的请求对象 则服务器不必重复发送客户端 在http请求报文中声明所缓存拷贝的生成日期If modified since 服务器 如果客户端缓存的拷贝是最新的 则在响应报文中不发请求的对象 HTTP 1 0304NotModified client server http请求报文If modified since 对象未经修改 http请求报文If modified since http响应报文HTTP 1 1200OK 对象已经修改 第2讲 应用层 23 Web缓存 代理服务器 proxyserver 用户设置浏览器 Web访问经由代理服务器客户端发送所有的http请求到代理服务器代理服务器保存了请求的对象 代理服务器返回请求的对象否则代理服务器从原始服务器请求对象 再将其返回给客户端 目的 满足客户端的请求而无需烦扰原始服务器 client Proxyserver client httprequest httprequest httpresponse httpresponse httprequest httpresponse originserver originserver 第2讲 应用层 24 为何Web缓存 前提 缓存与客户端比较 接近 e g 在同一网络中 响应时间较短 缓存与客户端比较 接近 减少了往来与远程服务器间的数据流量因为从学校或本地ISP通往外部的链路往往是网络瓶颈 originservers publicInternet institutionalnetwork 10MbpsLAN 1 5Mbpsaccesslink institutionalcache 第2讲 应用层 25 ftp 文件传输协议 传输文件往来与远程主机客户端 服务器模式客户端 启动传输 无论与往来远程主机 服务器 远程主机ftp RFC959ftp服务器 端口21 第2讲 应用层 26 ftp 分离的控制 数据连接 ftp客户端在ftp服务器的端口21进行联系 使用TCP作为传输协议打开两个并行的连接 控制 在客户端和服务器之间交换命令 响应 称为带外控制 outofbandcontrol 数据 往来于服务器的文件ftp维持状态 state 当前目录 先前的认证信息等 第2讲 应用层 27 ftp命令 响应 样例命令 在控制通道上传送的ASCII文本USERusername 登录 PASSpassword 登录 LIST 返回当前目录中的文件列表 RETR 取 gets 文件 STOR 存 puts 文件到远程主机 返回码样例状态码和短语 同http 331UsernameOK passwordrequired125dataconnectionalreadyopen transferstarting425Can topendataconnection452Errorwritingfile 第2讲 应用层 28 电子邮件 四个重要组件 用户代理邮件服务器简单邮件传输协议 smtp邮局协议 pop用户代理写作 编辑 阅读邮件报文e g Foxmail OE elm NetscapeMessenger外发 接收的报文存储在邮件服务器中 用户邮箱 外发报文队列 第2讲 应用层 29 电子邮件 邮件服务器 MailServers邮箱包含了收到的用户邮件 尚未被阅读 报文队列包含了外发的邮件报文smtp协议用在邮件服务器之间发送邮件客户端 将邮件发送到邮件服务器 服务器 接收和转发邮件 第2讲 应用层 30 电子邮件 smtp RFC821 使用tcp可靠的传送邮件报文 端口25直接传输 发送服务器到接收服务器传输的三个阶段握手 打招呼 报文传输结束命令 响应交互命令 ASCII文本响应 状态码和短语邮件报文必须使用7 bitASCII表示 第2讲 应用层 31 smtp交互样例 在UNIX中用telnet S 220X1NT ESMTPSC HELOxqcheng S C MAILFROM S 250okC RCPTTO S 250okitsforC DATAS 354ok sendit endwith C Hi IaminXUJInow Whereareyou C S 250MessagequeuedC QUITS 221Goodbye 第2讲 应用层 32 自测smtp交互 telnet202 117 35 17025见到邮件服务器的220响应后键入HELO MAILFROM RCPTTO DATA QUIT命令上述过程可以不使用用户代理 就能直接将电子邮件发送出去 因为目前大部分邮件服务器的交互过程趋于复杂 本试验不一定都能进行 第2讲 应用层 33 smtp 评述 smtp使用持续连接smtp要求报文 首部 信体 全部使用7 bitASCII码某些代码组合不允许出现在报文中 e g CRLF CRLF 此类数据必须进行编码 通常使用base 64或quotedprintable smtp服务器用CRLF CRLF表示邮件报文的结束 与http的比较 http pull 拉 email push 推 都使用ASCII命令 响应交互 状态码http 每个对象分装在各自的响应报文中smtp 多个对象在一个多分部的报文中传送 第2讲 应用层 34 邮件报文格式 smtp 交换邮件报文的协议RFC822 文本报文格式标准 首部诸行 e g To From Subject 不同于smtp命令 信体即 报文 ASCIIcharactersonly header body 空行 第2讲 应用层 35 邮件格式 多媒体扩展 MIME multimediamailextension RFC2045 2056在报文首部附加额外的信息声明MIME内容类型 第2讲 应用层 36 MIME类型声明Content Type type subtype parameters Text子类型样例 plain htmlImage子类型样例 jpeg gifAudio子类型样例 basic 8 bitmu lawencoded 32kadpcm 32kbpscoding Video子类型样例 mpeg quicktimeApplication需使用其他阅读器的数据子类型样例 msword octet stream 第2讲 应用层 37 MIME多分部类型 From alice crepes frTo bob hamburger eduSubject Pictureofyummycrepe MIME Version 1 0Content Type multipart mixed boundary 98766789 98766789Content Transfer Encoding quoted printableContent Type text plainDearBob Pleasefindapictureofacrepe 98766789Content Transfer Encoding base64Content Type image jpegbase64encodeddata base64encodeddata 98766789 第2讲 应用层 38 邮件访问协议 SMTP 发送 存储到接收方的服务器邮件访问协议 从服务器中取信POP PostOfficeProtocol RFC1939 认证 agentserver 和下载IMAP InternetMailAccessProtocol RFC1730 更多功能 更为复杂 在服务器中操作存储在那里的报文HTTP Hotmail Yahoo Mail etc SMTP POP3orIMAP receiver smailserver 第2讲 应用层 39 POP3协议 认证阶段客户端命令 user 用户名pass 口令服务器响应 OK ERR交互阶段 客户端 list 列出报文号码retr 用报文号码取信dele 用报文号码删信quit C listS 1498S 2912S C retr1S S C dele1C retr2S S C dele2C quitS OKPOP3serversigningoff S OKPOP3serverreadyC useraliceS OKC passhungryS OKusersuccessfullyloggedon 第2讲 应用层 40 自测pop3交互 telnet202 117 35 70110见到 OKPOP3serverready响应后键入user pass list retr quit命令上述过程可以不使用用户代理 就能察看邮箱中的信件 第2讲 应用层 41 DNS 域名系统 自然人 诸多定义 身份证 姓名 护照 因特网主机 路由器 IP地址 32bit 用于数据报寻址 域名 e g 帮助记忆Q IP地址和域名之间如何映射 转换 DomainNameSystem 分布式数据库 由许多域名服务器按层次构成应用层协议 主机 路由器 域名服务器互相通信进行域名解析 地址 域名翻译 注意 因特网之核心功能 应用层之协议网络 边缘 上之复杂实体 第2讲 应用层 42 DNSnameservers 没有服务器能够保存所有Name to IP地址的映射本地域名服务器 每个ISP 企业可拥有本地 默认 域名服务器主机的DNS查询首先发往本地域名服务器授权域名服务器 每台主机必须在授权服务器上注册登记可完成域名 地址的转换 为什么不搞集中的DNS 单点失败的问题数据的流通量远程集中式的数据库维护问题难以与时俱进 跟不上发展 第2讲 应用层 43 DNS 根域名服务器 当本地域名服务器不能解析时 就向根域名服务器查询根域名服务器 如果域名映射未知 则向授权域名服务器查询取得映射将映射返回本地域名服务器 遍布世界各地的13个根域名服务器 第2讲 应用层 44 简单DNS举例 主机要求gaia cs umass edu的IP地址1 联系本地域名服务器 202 117 0 202 如有必要202 117 0 20会联系根域名服务器3 如有必要根域名服务器会联系授权域名服务器 dns umass edu gaia cs umass edu rootnameserver authorititivenameserverdns umass edu 1 2 3 4 5 6 第2讲 应用层 45 DNS举例 根域名服务器 可能不知道授权域名服务器的地址可能知道中介域名服务器 由它负责联系授权域名服务器 gaia cs umass edu rootnameserver 1 2 3 4 5 6 authoritativenameserverdns cs umass edu 7 8 第2讲 应用层 46 DNS 迭代查询 递归查询 对根域
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司岗位聘用合同范本
- 创业加盟项目合同范本
- 双方合作养牛合同范本
- 共享大棚租赁合同范本
- 光盘加工供货合同范本
- 叉车销售买卖合同协议
- 合同增加项目补充协议
- 前台教务人员合同范本
- 厂房搬迁货运合同范本
- 运动健身行业市场现状调研
- GB/T 17196-2017连接器件连接铜导线用的扁形快速连接端头安全要求
- 2023年立信会计师事务所面试笔试真题题答案
- PFS技术培训资料(制冷原理)课件
- 安徽省交通建设工程试验检测收费标准
- 幼儿园绘本故事:《小熊不刷牙》 课件
- 六大茶类制作加工及品质特征 培训教学课件
- 40篇英语短文搞定高考3500个单词(全部含翻译-重点解析)
- 《大数据金融》教学大纲(第六学期)附课程考核标准
- 2022年人教版三年级上册语文阅读理解难点知识习题及答案
- 磷石膏堆场项目库区工程施工组织设计(171页)
- 军队部队模板ppt课件模板
评论
0/150
提交评论