1 / 95

应用层

应用层. 非对等模式 文件服务器模式 客户 / 服务器模式 (C/S) 浏览器 / 服务器模式 (B/S) 对等模式 网上邻居 P2P. 常见的网络应用模型. 典型的网络应用分为 : 客户机 和 服务器 两部分. request. reply. application transport network data link physical. application transport network data link physical. Client-server 应用模式. 客户端 :

elvina
Download Presentation

应用层

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 应用层

  2. 非对等模式 文件服务器模式 客户/服务器模式(C/S) 浏览器/服务器模式(B/S) 对等模式 网上邻居 P2P 常见的网络应用模型

  3. 典型的网络应用分为: 客户机和服务器两部分 request reply application transport network data link physical application transport network data link physical Client-server 应用模式 客户端: • 初始化与服务器的连接 (“speaks first”) • 典型的是从服务器端请求服务 • Web由browser实现 • E-mail由邮件阅读器实现 服务器端: • 通过应答,给客户端提供请求的服务 • 例如, Web服务器向客户发送被请求的Web页面 • 邮件服务器则向客户端发送 e-mail

  4. 常用应用层协议 • web应用:HTTP • 文件传输:FTP(TCP);TFTP(UDP) • 电子邮件:SMTP,POP3,IMAP • 终端仿真(BBS):Telnet • 网络新闻:Usenet / NNTP • 目录服务:X.500,LDAP • 无盘工作站启动:BOOTP、DHCP • 域名服务:DNS

  5. SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) (发送) POP3(Post Office Protocol,邮局协议3) (接收) IMAP(Internet Message Access Protocol,Internet 消息访问协议) (接收) MIME(Multipurpose Internet Mail Extensions,多用途Internet 邮件扩展标准)不是邮件传输协议,它只定义了需要传输的消息、附件及其它类型数据的格式。 常见电子邮件协议

  6. 万维网 WWW (World Wide Web)并非某种特殊的计算机网络。 万维网是一个大规模的、联机式的信息储藏所。 万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。 这种访问方式称为“链接”。 万维网(WWW)概述

  7. 链接到 链接到 链接到 链接到 链接到 链接到 ⑥ ④ ③ ⑤ ② ① 万维网提供分布式服务    万维网 站点 A 万维网 站点 C 万维网站点 B   万维网站点 E 万维网站点 D

  8. 万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。 超媒体与超文本

  9. 万维网以客户服务器方式工作。 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。 在一个客户程序主窗口上显示出的万维网文档称为页面(page)。 万维网的工作方式

  10. (1)使用统一资源定位符URL (Uniform Resource Locator)来标志万维网上的各种文档; (2)用超文本传送协议HTTP (HyperText Transfer Protocol)来实现万维网上各种超链的链接; (3)由超文本标记语言HTML (HyperText Markup Language)来组织万维网页面内容; (4)有浏览器来请求和显示页面内容; (5) 通过搜索引擎来寻找所需的信息。 万维网的主要组成部分

  11. http//home.netscape.com:80/home/white_paper.html#intro_1 端口号 协议 主机域名(IP地址) 统一资源定位符 (URL) URL包括三部分:协议(也叫机制)名称、页面所在机器的DNS名字(主机名)、标识指定页面(经常是一个位于它所在机器上的文件)的唯一的本地名字,即文件名。 文件名 目录 HTML参考点 • HTTP 默认端口号为80 • 参考点( reference ):资源中的特定位置,用来标识一个文件中特定的偏移位置。通过参考点我们可以对一个 文件中感兴趣的部分创建URL对象。

  12. URL支持的协议

  13. http:超文本传输协议 Web应用层协议 客户机/服务器模式 客户机: 浏览器提出请求,接收并“显示”Web”对象” 服务器: Web服务器访问存储器中存放的一系列Web文档;并发送副本以响应(客户)请求 Web: http协议 http request PC 运行IE浏览器 http response http request 服务器 运行 NCSA Web 服务器 http response Mac运行 Navigator浏览器

  14. Web 体系结构 Web 服务器 Web 客户机 HTTP HTTP TCP TCP IP & 低层 IP & 低层 网络

  15. HTTP 请求报文 HTTP 响应报文 建立 TCP 连接 ① 请求文档  ② 响应文档 释放 TCP 连接 万维网的工作过程 服务器 www.tsinghua.edu.cn 链接到URL的超链 客户 清华大学 院系设置 浏览器 程序 服务器 程序 HTTP  HTTP 使用此 TCP 连接 因特网

  16. 非持续 HTTP/1.0 (RFC 1945) 服务器解析请求,并作出响应然后关闭TCP连结 取得一个对象需要2 RTT 每个对象传输必须忍受重新建立连接时的慢启动 持续 HTTP/1.1 (RFC 2068) 在同一个TCP连结上,服务器解析请求,响应;解析新请求,响应新的请求,.. 当客户收到基本的HTML后立即为所有参考对象发送请求 少量的RTT和较少的慢启动. 非持续和持续连接

  17. Accessing a web page GET: /watch?v=wQVEPFzkhaM OK (text/html) GET: /vi/fNaYQ4kM4FE/2.jpg OK (img/jpeg)

  18. HTTP 1.0 Client Server connect() SYN SYN, ACK write() ACK, GET www.cs.virginia.edu 从磁盘检索 数据 close() connect() SYN SYN, ACK write() ACK, GET image.gif 从磁盘检索 图像 close()

  19. HTTP 1.1 客户机 服务器 connect() SYN SYN, ACK write() ACK, GET www.cs.virginia.edu 从磁盘检索 数据 write() GET image.gif 从磁盘检索 图像 close()

  20. HTTP 有两类报文: 请求报文——从客户向服务器发送请求报文。 响应报文——从服务器到客户的回答。 HTTP 的报文结构

  21. 开始行 HTTP 的报文结构(请求报文) 空格 回车换行 方 法 URL 版 本 CRLF 请求行 首部字段名 : 值 CRLF 首部行 … 首部字段名 值 : CRLF CRLF : 实体主体 (通常不用) 报文由三个部分组成,即开始行、首部行和实体主体。 在请求报文中,开始行就是请求行。 “方法”就是对所请求的对象进行的操作(命令)。

  22. 方法(操作) 意义 OPTION 请求一些选项的信息 GET 请求读取由URL所标志的信息 HEAD 请求读取由URL所标志的信息的首部 POST 给服务器添加信息(例如,注释) PUT 在指明的URL下存储一个文档 DELETE 删除指明的URL所标志的资源 TRACE 用来进行环回测试的请求报文 CONNECT 用于代理服务器 HTTP 请求报文的常用方法

  23. Http请求报文: ASCII (可读格式) request line (GET, POST, HEAD commands) header lines 回车,换行 表示报文的结束 Http报文格式: 请求实例 GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed)

  24. 开始行 HTTP 的报文结构(响应报文) 空格 回车换行 状态码 版 本 短 语 CRLF 状态行 首部字段名 : 值 CRLF 首部行 … 首部字段名 值 : CRLF CRLF : 实体主体 (有些响应报文不用) 响应报文的开始行是状态行。 状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。

  25. 1xx 表示通知信息的,如请求收到了或正在进行处理。 2xx 表示成功,如接受或知道了。 3xx 表示重定向,表示要完成请求还必须采取进一步的行动。 4xx 表示客户的差错,如请求中有错误的语法或不能完成。 5xx 表示服务器的差错,如服务器失效无法完成请求。 状态码都是三位数字

  26. 状态行 (协议状态码, 状态短语) 头部行 数据,例如, 请求的html文件 http 报文格式: 响应实例 HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ...

  27. 超文本标记语言 HTML 中的 Markup 的意思就是“设置标记”。 HTML 定义了许多用于排版的命令(标签)。 HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。 超文本标记语言 HTML(HyperText Markup Language)

  28. HTML基本结构 HTML超文本标记语言 标题标记 段落标记 <HTML> <HEAD> 文件头 </HEAD> <BODY> 文件体 </BODY> </HTML> 超文本链接标记 <TITLE>文件标题</TITLE> 表格类标记 列表类标记 FORM类标记 格式类标记 ……

  29. XML(eXtensible Markup Language,可扩展标记语言) 同HTML一样, XML 是SGML (Standard Generalized Markup Language, 通用标识语言标准)的一个子集,它是描述网络上的数据内容和结构的标准 XML要素 Schema(模式)、XSL(eXtensible StyleSheet Language,可扩展样式语言)和XLL( eXtensible Link Language,可扩展 连接语言) XML语言概述

  30. 静态页面: 存贮在文件中,无变化 动态页面:由服务器根据响应请求的需要而形成 由程序输出(例如. 公共网关接口(CGI) ) 活动页面: 在客户机端执行! 可以同用户交互的电脑程序(并不仅仅是输出。例如Java applet) 静态、动态、活动Web页面

  31. 动态网页技术 (1) 传统动态技术:包括CGI、IDC、ISAPI等。 (2) 流行动态技术:包括ASP、JSP、PHP等。 CGI(Common Gateway Interface) IDC(Internet Database Connector)

  32. 服务器在响应报文中给客户机发送“cookie” Set-cookie: 1678453 客户机在后面的请求中提供cookie cookie: 1678453 服务器将提供的cookie与服务器存贮的信息相匹配 鉴定 记住用户的喜好和前面的选择 usual http request msg cookie: # usual http request msg cookie: # usual http response msg usual http response msg 用户-服务器交互: cookies 服务器 客户机 usual http request msg usual http response + Set-cookie: # cookie- 说明 cookie- 说明

  33. 电子邮件(Email) 概述 电子邮件是人们在Internet上使用最多的服务之一。 电子邮件系统的特点: • 方便性 • 快捷性 • 廉价性 邮件传送与其他一些网络应用有一定的区别。邮件发送方不应等待远程目的主机有效时才能发送邮件,也不应因为与远程主机通信的网络暂时失效而停止传送。邮件传送是可以有较大延时的。

  34. 电子邮件E-mail是一种利用网络交换信息的非交互式服务。电子邮件E-mail是一种利用网络交换信息的非交互式服务。 电子邮件的格式 RFC 822 MIME 电子邮件的传输协议 发送:简单邮件传输协议SMTP 接收:POP3/IMAP 电子邮件的工作流程 邮件的发送 邮件的接收 电子邮件E-mail

  35. Addressing routing envelope (address) message collecting 发信方 邮件服务器 Mail Server 邮件传输代理 MDA/MTA 编辑 封装 Internet 邮件传输代理 用户代理(UA) 邮件服务器 Mail Server 邮件传输代理 MDA/MTA 显示 拆封 收信方 电子邮件系统的构成 SMTP Edora FoxMail Outlook SMTP POP3

  36. 用户代理 UA 就是用户与电子邮件系统的接口。 用户代理的功能是:撰写、显示和处理。 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。 邮件传输代理MDA/MTA负责邮件的传送。 邮件服务器按照客户服务器方式工作,通过不同的协议来分别实现邮件的发送和接收。 SMTP 协议用于发送邮件。 邮局协议 POP (Post Office Protocol) 或IMAP(Internet Massage Access Protocol)用于接收邮件。 用户代理 UA (User Agent)

  37. (发送邮件) SMTP (TCP 连接) (发送邮件) SMTP 电子邮件的发送和接收过程 用 户 代 理 用 户 代 理 邮件 服务器 邮件 服务器 接收方 发送方 因特网 用户代理 用户代理 邮件缓存 发送端 邮件服务器 接收端 邮件服务器 (1) 发信人调用用户代理来编辑要发送的邮件。 用户代理用 SMTP 把邮件传送给发送端邮件服务器。

  38. 邮件缓存 电子邮件的发送和接收过程 (发送邮件) 用 户 代 理 用 户 代 理 SMTP 邮件 服务器 邮件 服务器 (TCP 连接) 接收方 发送方 (发送邮件) SMTP 因特网 用户代理 用户代理 发送端 邮件服务器 接收端 邮件服务器 (2) 发送端邮件服务器将邮件放入 邮件缓存队列中,等待发送。

  39. (发送邮件) SMTP (TCP 连接) (发送邮件) SMTP 电子邮件的发送和接收过程 (发送邮件) 用 户 代 理 用 户 代 理 SMTP 邮件 服务器 邮件 服务器 (TCP 连接) 接收方 发送方 (发送邮件) SMTP 因特网 用户代理 用户代理 邮件缓存 发送端 邮件服务器 接收端 邮件服务器 (3) 运行在发送端邮件服务器的 SMTP 客户进程,发现 在邮件缓存中有待发送的邮件,就向运行在接收端邮件 服务器的 SMTP 服务器进程发起 TCP 连接的建立。

  40. (发送邮件) SMTP (TCP 连接) (发送邮件) 用户邮箱 SMTP 电子邮件的发送和接收过程 (发送邮件) 用 户 代 理 用 户 代 理 SMTP 邮件 服务器 邮件 服务器 (TCP 连接) 接收方 发送方 (发送邮件) SMTP 因特网 用户代理 用户代理 邮件缓存 发送端 邮件服务器 接收端 邮件服务器 (4) TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。

  41. (发送邮件) SMTP (TCP 连接) (发送邮件) 用户邮箱 SMTP 电子邮件的发送和接收过程 (发送邮件) 用 户 代 理 用 户 代 理 SMTP 邮件 服务器 邮件 服务器 (TCP 连接) 接收方 发送方 (发送邮件) SMTP 因特网 用户代理 用户代理 邮件缓存 发送端 邮件服务器 接收端 邮件服务器 (5) 运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。

  42. (读取邮件) (发送邮件) SMTP POP3 (TCP 连接) (TCP 连接) (发送邮件) 用户邮箱 SMTP (读取邮件) POP3 电子邮件的发送和接收过程 (发送邮件) 用 户 代 理 用 户 代 理 SMTP 邮件 服务器 邮件 服务器 (TCP 连接) 接收方 发送方 (发送邮件) SMTP 因特网 用户代理 用户代理 邮件缓存 发送端 邮件服务器 接收端 邮件服务器 (6) 收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。

  43. C/S模式,基于TCP协议(端口25),从客户向服务器,或在服务器之间可靠地传输邮件报文C/S模式,基于TCP协议(端口25),从客户向服务器,或在服务器之间可靠地传输邮件报文 传输的三种状态 握手 (问侯):建立TCP连接 报文传输 关闭TCP连接 命令和应答交互 命令: ASCII文本 应答:状态码和短语 SMTP

  44. SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。 SMTP

  45. 命令格式 功能 HELO <domain> <CRLF> 识别发送器到接收器SMTP的一个hello命令 MAIL FROM: <reverse-path><CRLF> <reverse-path>包含邮件发送用户的源信箱,这个命令告诉接收方一个新邮件发送的开始,初始化所有的状态和缓冲区。开始一个邮递处理,最终把邮件数据送到一个或多个邮箱里 RECPTO: <forward-path> <CRLF> <forward-path>指示一个邮件接收者,用于识别邮件数据的各个接收者 DATA <CRLF> 接收SMTP将DATA命令后面的行为作为邮件数据来处理,对SMTP来说两个CRLF间的英文句号(点号)标识邮件数据的结尾 RSET <CRLF> 退出(或复位)当前的邮递处理 NOOP <CRLF> 要求接收器SMTP除了返回一个OK应答外,不作任何处理(用于客户服务器测试) QUIT <CRLF> 要求接收器SMTP返回一个OK应答并关闭传输通道 SMTP协议的最小命令集

  46. 应答码 描述 应答码 描述 211 系统状态或系统帮助应答 500 语法错误,命令不能识别。 214 帮助报文 501 在参量和参数中有语法错误。 220 <域>服务准备好 502 命令没有实现 221 <域>服务关闭传输 503 命令中有坏串 250 请求的邮递活动OK,已完成 504 命令参量没有实现 251 用户不在本地;将向前到<前向路径> 550 请求的活动没有发生;邮箱不能得到 354 开始邮件输入;以<CRLF>.<CRLF>结束 551 用户不在本地,请试<前向路径> 421 <域>服务不能得到,关闭传输通道 552 请求的邮递活动失败:过多的存储器分配 450 请求的邮递活动没发生;邮箱不能得到 553 请求的活动没发生:邮箱名不许 451 请求的活动失败;处理中有本地错误 554 处理失败 SMTP应答

  47. SMTP交互实例 Mail Sender: mail.swjtu.edu.cn Mail Receiver: mail.pku.edu.cn 220 SMTP service ready ← HELO → 250 OK ← MAIL FROM: mail.swjtu.edu.cn → 250 mail accepted ← RCPT TO: mail.pku.eud.cn → 250 Receipient accepted ← DATA → 354 start mail input,end with . ← → → 250 OK ← QUIT → 221 services closing channel ←

  48. 头部行, e.g., • To: • From: • CC: • Subject: 不同于 SMTP命令! • 主体 • 邮件,ASCII字符 SMTP 数据 邮件头部 空行 邮件体(body) 邮件报文格式 • 电子邮件是由信封和消息两个部分构成的。 • 信封:“用户名@主机名” • 消息:由信头(一些控制信息)和信体(由发信人自由撰写的内容)构成。

  49. 字 段 名 称 描 述 字 段 名 称 描 述 From 信件写信人 Date 信件创建的日期 Sender 信件发信人 Received MTA轨迹 Reply-to 发送回复的地址 Return-Path 发信人地址 To 信件的主收信人 Subject 信件主题 Cc 信件的辅收信人(抄送人) Comments 关于该信件的其他说明 Bcc 信件的密件抄送收信人 Keywords 与该信件有关的主题关键字 Message-ID 信件的唯一标识符 Encrypted 加密信息(过时) In-Reply-To 信件正被回复到 Resent-* 重新分发时创建的字段 References 所有信件源 X-* 扩展字段 标准信头字段

  50. SMTP 有以下缺点: SMTP 不能传送可执行文件或其他的二进制对象。 SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。 SMTP 服务器会拒绝超过一定长度的邮件。 某些 SMTP 的实现并没有完全按照[RFC 821]的 SMTP 标准。 → MIME:继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。 通用因特网邮件扩充 MIME

More Related