2.1第二章应用层ppt课件_第1页
2.1第二章应用层ppt课件_第2页
2.1第二章应用层ppt课件_第3页
2.1第二章应用层ppt课件_第4页
2.1第二章应用层ppt课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第第6讲讲: 应用层应用层 本讲目标: 网络应用层的概念和实现 客户端-服务器范式 服务模型 通过对常用应用层协议的 探讨和分析来学习网络 协议 教科书参考 第2章 深层次目标 特定协议: ftp smtp pop dns 应用程序和应用层协议应用程序和应用层协议 应用程序:沟通, 分布式的进程 运行在网络主机中的 “用户 空间” 在应用程序间交换报文 e.g., , ftp, Web 应用层协议: 应用层的一个“组成部分” 定义应用程序需交换的报文 和所需采取的动作 使用较低层次所提供的通信服 务 (TCP, UDP) application transport network data l

2、ink physical application transport network data link physical application transport network data link physical 网络应用程序网络应用程序: 一些术语一些术语 进程(Process): 主机中运行 中的程序. 在某些主机中, 两个进程使 用进程间通信 (由 OS管 理). 而运行在不同主机上的进程 则使用应用层协议进行通 信 n用户代理User agent ): 软件进程, 是介于用 户( above )和网络( below )之间的接口 n实现应用级协议 nWeb: 浏览器 nE-ma

3、il: OE、Foxmail n流媒体: media player 客户端客户端-服务器范式服务器范式 典型的网络应用都是由两个部 分组成: 客户端 和 服务器 application transport network data link physical application transport network data link physical 客户端: 发起同服务器的联系 (“speaks first”) 一般都从服务器请求服务, Web: 客户端由浏览器实现; e-mail: 通过OE、Foxmial实现 request reply 服务器: 向客户端提供所请求的服务 e.g.,

4、 Web 服务器发送被请求的 Web 页面, 邮件服务器传递 e-mail 应用层协议应用层协议(续续) 应用程序接口API: application programming interface) 定义应用层和传输层间的接 口 插口socket: Internet API) 两个进程间的通信, 将数据 送入 socket, 或从socket 读出数据 Q: 某个进程如何“认定另 一个需要与之通信的进程 ? IP 地址-运行另一个进程的 主机所拥有的 “端口号PORT #)” 允 许接收主机来确定的一个 标识,本地进程将报文发 送给它 应用进程需要怎样的传输服务应用进程需要怎样的传输服务? 数据

5、丢失Data loss) 某些应用 (e.g., audio) 可以容 忍某种程度上的数据丢失 其他应用 (e.g., 文件传输, telnet) 要求 100% 可靠的 数据传输 实时性Timing) 某些应用(e.g., IP , 交互式 游戏) 要求较低的时延 带宽Bandwidth) 某些应用(e.g., 多媒体) 对 最低带宽有要求 其他应用(“弹性应用”) 则 可灵活应用所能得到的带 宽 常用应用程序对传输功能的要求常用应用程序对传输功能的要求 应用程序应用程序 文件传输文件传输 e-mail Web 网页网页 实时音频实时音频/视频视频 存储音频存储音频/视频视频 交互式游戏交互

6、式游戏 金融应用金融应用 数据丢失数据丢失 不丢失不丢失 不丢失不丢失 不丢失不丢失 允许丢失允许丢失 允许丢失允许丢失 允许丢失允许丢失 允许丢失允许丢失 不丢失不丢失 带宽带宽 弹性弹性 弹性弹性 弹性弹性 音频音频: 5Kb- 1Mb 视频视频:10Kb- 5Mb 同上同上 几几 Kb/s 以上以上 弹性弹性 实时性实时性 无无 无无 无无 100s msec few secs 100s msec yes and no Internet应用应用: 应用应用, 传输协议传输协议 应用应用 e-mail 远程终端访问远程终端访问 Web 文件传输文件传输 流媒体流媒体 远程文件服务器远程文件

7、服务器 IP电话电话 应用协议 smtp RFC 821 telnet RFC 854 RFC 2068 ftp RFC 959 专有协议 (e.g. RealNetworks) NSF 专有协议 (e.g., Vocaltec) 所依赖的传输协议所依赖的传输协议 TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP 协议协议 : TCP 传输服务: 客户端启动TCP连接(创建插 口) 到服务器, 端口 80 服务器接受来自客户端的 TCP 连接 报文(应用层协议报文) 在浏 览器 ( client) 和Web服 务器( server)之间进行

8、交 换 关闭TCP 连接 是 “无状态 stateless)”的 服务器不保留任何访 问过的请求信息 保留状态的协议很复杂哟! 过去的历史 (状态) 需要保留 一旦浏览器/服务器崩溃, 它们 各自的状态视图就会发生分 歧,还需要重新核对 小评论 Web: 协议协议 超文本传输协议: hypertext transfer protocol) 万维网应用协议 客户端/服务器模式 客户端: 浏览器请求、接收 、展示 Web对象( objects) 服务器: Web 服务器发送 对象对请求进行响应 http1.0: RFC 1945 http1.1: RFC 2068 PC running Explo

9、rer Server running NCSA Web server Mac running Navigator request request response response 举例举例 假设用户键入了一个 URL someS/someDepartment/home.index 1a. 客户端启动 TCP 连接到 someS上的http 服 务器 (进程). Port 80 是 服 务器的默认端口. 2. http客户端发送 请求报文 ( 包括URL) 进入 TCP 连接插 口socket) 1b. 在someS 上的 http 服务器

10、在 port 80 等待 TCP 的连接请求. “接受” 连 接并通知客户端 3. 服务器接收到请求报文, 形成 响应报文( 包含了所请求的 对象 , someDepartment/home.ind ex), 将报文送入插口( socket) time (该网页包含文本 并引用了10 jpeg 图片) 举例举例 (续续.) 5. 客户端接收到了包含 html文件的响应报文。 分析 html 文件, 发现 10 个引用的 jpeg 对象 6. 对10 jpeg objects 逐个重复 1-5 步 4. 服务器关闭 TCP 连接. time 非持续和持续连接非持续和持续连接 (非持续连接Non-

11、persistent /1.0: 服务器分析请求、响应、关闭 TCP 连接 取对象需要2 RTTs TCP 连接 对象请求/传送 每次传送都要受到TCP连接初始化 时的慢启动影响 许多浏览器同时打开多个并行的连 接来改善性能 (持续连接Persistent /1.1的默认设置 在同一TCP 连接上: 服务器分析 请求、响应请求,分析新的 请求、. 客户端一旦下载到了基本的html 文件( base HTML )马上发 送对所有引用对象的请求. 较少的 RTTs, 较少的慢启动. 报文格式报文格式: request恳求)恳求) ntwo types of http报文报文: request, r

12、esponse n 请求报文请求报文: nASCII (可读格式可读格式) GET /somedir/page.html /1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (额外的额外的 carriage return, line feed) 请求行请求行 (GET, POST, HEAD 命令命令) 首部首部 诸行诸行 回车、换行表示回车、换行表示 报文结束报文结束 请求报文请求报文: 一般格式一般格式 报文格式报文格式: response响应)响应) /1.0 20

13、0 OK Date: Thu, 06 Aug 2019 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 2019 . Content-Length: 6821 Content-Type: text/html data data data data data . 状态行状态行 (协议状态码协议状态码 状态短语状态短语) 首部首部 诸行诸行 数据数据, e.g., 被请求的被请求的html文件文件 响应状态码和短语响应状态码和短语 200 OK 请求成功, 被请求的对象在报文中 301 Moved Perman

14、ently 被请求的对象被移动过, 新的位置在报文中有说明 (Location:) 400 Bad Request 服务器不懂请求报文 404 Not Found 服务器上找不到请求的对象 505 Version Not Supported 位于服务器-客户端响应报文的第一行. 样例: ftp: 文件传输协议文件传输协议 n传输文件往来与远程主机 n客户端/服务器模式 n客户端: 启动传输 (无论与往来远程主机) n服务器: 远程主机 nftp: RFC 959 nftp 服务器: 端口 21 file transfer FTP server FTP user interface FTP cl

15、ient local file system remote file system user at host ftp: 分离的控制分离的控制, 数据连接数据连接 nftp客户端在 ftp 服务器的 端口 21进行联系, 使用TCP作为传输 协议 n打开两个并行的连接: n控制:在客户端和服务器之间交 换命令, 响应。称为带外控制: n“out of band control” n数据: 往来于服务器的文件 nftp 维持状态 (state): 当前 目录、先前的认证信息等 FTP client FTP server TCP control connection port 21 TCP data

16、 connection port 20 ftp 命令命令, 响应响应 样例命令: 在控制通道上传送的 ASCII文本 USER username登 录) PASS password登 录) LIST (返回当前目录 中的文件列表) RETR filename (取 (gets) 文件) STOR filename (存 (puts) 文件到远程主 机) 返回码样例 状态码和短语 (同 ) 331 Username OK, password required 125 data connection already open; transfer starting 425 Cant open dat

17、a connection 452 Error writing file 电子邮件电子邮件 四个重要组件: 用户代理 邮件服务器 简单邮件传输协议: smtp 邮局协议:pop 用户代理 写作, 编辑, 阅读邮件报文 e.g., Foxmail, OE, elm, Netscape Messenger 外发, 接收的报文存储在邮 件服务器中 用户邮箱 外发报文队列 mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP

18、电子邮件电子邮件:邮件服务器邮件服务器 Mail Servers 邮箱 包含了收到的用户 邮件 (尚未被阅读) 报文 队列包含了外发的 邮件报文 smtp 协议用在邮件服 务器之间发送邮件 客户端: 将邮件发送到 邮件服务器 “服务器”: 接收和转发邮 件 mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP 电子邮件电子邮件: smtp RFC 821 n使用 tcp 可靠的传送邮件报文, 端口25 n直接传输:

19、发送服务器到接收服务器 n传输的三个阶段 n握手(打招呼) n报文传输 n完毕 n命令/响应交互 n命令: ASCII文本 n响应: 状态码和短语 n邮件报文必须使用7-bit ASCII表示 邮件报文格式邮件报文格式 smtp: 交换邮件报文的协议 RFC 822: 文本报文格式标准: 首部诸行, e.g., To: From: Subject: 不同 于 smtp 命令! 信体 即 “报文”, ASCII characters only header body 空行 邮件格式邮件格式: 多媒体扩展多媒体扩展 nMIME: multimedia mail extension, RFC 204

20、5, 2056 n在报文首部附加额外的信息声明 MIME 内容类型 From: alicecrepes.fr To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data . . .base64 encoded data 多媒体类型多媒体类型, 子类型子类型, 参数声明参数声明 数据编码方法数据编码方法 MIME 版本版本 编码后的数据编码后的数据 MIME

21、 类型声明类型声明 Content-Type: type/subtype; parameters Text 子类型样例: plain, html Image 子类型样例: jpeg, gif Audio 子类型样例: basic (8-bit mu-law encoded), 32kadpcm (32 kbps coding) Video 子类型样例: mpeg, quicktime Application 需使用其他阅读器的数据 子类型样例: msword, octet-stream 邮件访问协议邮件访问协议 nSMTP: 发送/存储 到接收方的服务器 n邮件访问协议: 从服务器中取信 nP

22、OP: Post Office Protocol RFC 1939 n认证 (agent server) 和下载 nIMAP: Internet Mail Access Protocol RFC 1730 n更多功能(更为复杂) n在服务器中操作存储在那里的报文 n: Hotmail , Yahoo! Mail, 263,etc. user agent senders mail server user agent SMTPSMTP POP3 or IMAP receivers mail server POP3 协议协议 认证阶段 客户端命令: user: 用户名 pass: 口令 服务器响应

23、+OK -ERR 交互阶段, 客户端: 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 off S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on DNS: 域名系统域名系统

24、 自然人: 诸多定义: 身份证, 姓名, 护照 # 因特网主机, 路由器: IP 地址 (32 bit) 用于数 据报寻址 “域名”, e.g., 帮助记 忆 Q: IP 地址和域名之间如何 映射(转换) ? Domain Name System: 分布式数据库:由许多域 名服务器按层次构成 应用层协议: 主机、路 由器、域名服务器互相 通信进行域名解析 (地 址/域名翻译) 注意: 因特网之核心功能, 应用层之协议 网络“边缘上之复杂实 体 DNS: 根域名服务器根域名服务器 n当本地域名服务器不能解析时,就向根域名服务器查询 n根域名服务器: n如果域名映射未知

25、,则向授权域名服务器查询 n取得映射 n将映射返回本地域名服务器 b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA i NORDUnet Stockholm k RIPE London m WIDE Tokyo a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA 遍布世界各地的13 个根域名服务器 简单简单 DNS 举例举例 主机 ctec.xjt

温馨提示

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

评论

0/150

提交评论