应用层协议原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、应用层协议原理
(1)客户机和服务器进程 • 网络应用程序是由成对的进程组成。 • 对每对通信进程,将这两个进程之一标示 为客户机(client),而另一个进程标示 为服务器(server)。 • 在给定的一对进程之间的通信会话中,发 起通信的进程被标示为客户机,在会话开 始时等待联系的进程是服务器。
一、应用层协议原理
• 5、因特网运输层提供的服务 (1) TCP服务 • B. 可靠的传输服务 • 无差错的、按适当顺序交付发送的数据。 • 当应用程序的一端通过套接字传送一个字节 流时,它能够依靠TCP协议将相同的数据流 交付给接收方的套接字,而没有字节的丢失 和冗余。
一、应用层协议原理
• 5、因特网运输层提供的服务 (1) TCP服务 • C. TCP协议还具有拥塞控制机制。 • D. TCP协议能保证交付所有的数据,但是 并不保证这些数据传输的速率以及经受的传 输时延。
一、应用层协议原理
2、进程通信 • 进行通信的实际上是进程(process)而 不是程序。 • 进程可以被认为是运行在端系统中的程序。 • 我们关注运行在不同端系统上的进程通信。
一、应用层协议原理
2、进程通信 • 不同端系统上的进程通过跨计算机网络交 换报文而相互通信。 • 发送进程创建并向网络发送报文;接收进 程接收这些报文并可能负责回送报文。
一、应用层协议原理
(1)客户机/服务器体系结构 • 服务器有固定的、周知的地址,称为IP地 址。 • 这种模式的著名的应用程序包括:Web、 文件传送、远程登录和电子邮件。 • 在C/S体系结构中,主机群集(server farm,服务器场)常被用于创建强大的虚 拟服务器。
一、应用层协议原理
(2)P2P体系结构 • 应用程序中心没有一个总是打开的服务器。 相反,任意一对主机——称为对等方 (peer),直接相互通信。 • 在P2P体系结构中,没有任何一台主机总 是打开;此外,参与的主机每当加入时都 有可能改变其IP地址。
一、应用层协议原理
(3)进程寻址 • 已经给流行的应用程序分配了具体的端口 号。 • 例如,Web服务进程用的是80号端口, 邮件服务进程用的是25号端口。 • 所有因特网标准协议所使用的周知端口的 列表可在http://www.iana.org找到。
一、应用层协议原理
3、应用层协议 应用层协议定义了运行在不同端系统上的应用 程序进程如何相互传递报文。定义了: • 交换的报文类型; • 各种报文类型的语法; • 字段的语义; • 进程何时、如何发送报文及对报文进行响应。
流行的网络应用程序的例子: • 电子邮件 • Web • 即时讯息 • Telnet和SSH • P2P文件共享 • FTP • 多用户网络游戏 • 流式存储视频片段 • 因特网电话 • 视频会议
一、应用层协议原理
研发网络应用程序的核心 : • 写出能够运行在不同的端系统和通过网络 彼此通信的程序。 • 编写将在多台机器上运行的软件。 • 不需要写在网络核心设备(如路由器和以 太网交换机)上运行的程序。
一、应用层协议原理
(3)进程寻址 • 为了能让一台主机上的进程向另一台主机 上的进程发送报文,发送进程必须能够识 别接收进程。 • 通常要定义两种信息: • (1) 该主机的名称或地址; • (2) 用来指定目的主机上接收进程的标识。
一、应用层协议原理
(3)进程寻址 • 目的主机是用IP地址进行标识。 • 除了知道报文去往的目的主机的IP地址外, 发送程序也必须识别运行在主机上的接收 进程。因为通常在一台主机上能够运行许 多网络应用程序。目的地端口号(port number)就是服务于这个目的。
计算机网络
第3章 应用层
2011-2012-1
网络应用
• 文本电子邮件、计算机远程访问、文件传 输、新闻组以及文本聊天 • 万维网(Web)、流视频、因特网收音机、 因特网电话和视频会议 • 即时讯息和对等(P2P)文件共享
几个关键的应用层概念
• 应用层协议 • 客户机和服务器 • 进程 • 套接字 • 运输层接口
一、应用层协议原理
一、应用层协议原理
(2)套接字 • 进程通过它的套接字在网络上发送和接收报文。 • 套接字是同一台主机内应用层与传输层之间的接 口。 • 由于套接字是在网络上建立的网络应用程序的可 编程接口,因此也将套接字叫做应用程序和网络 之间的应用程序编程接口(API,application programming interface)。
一、应用层协议原理
(2)P2P体系结构 • 具有纯P2P体系结构的应用程序的例子如 Gnutella。 • P2P体系结构的最大威力之一是它的扩展 性。 • P2P应用程序高度分布、分散的性质,故 而难以管理。
一、应用层协议原理
(3) 客户机/服务器和P2P体系结构的混 合体 • 客户机/服务器和P2P是网络应用程序的两 种通用体系结构。然而,许多应用程序组 织成客户机/服务器和P2P体系结构的混合 体。 • 如即时讯息。
时间敏感
不 不 不 是,100ms
存储音频/视频 交互式游戏
容忍丢失 容忍丢失
是,几秒 是,100ms
Hale Waihona Puke Baidu
即时讯息
不能丢失
弹性
是
一、应用层协议原理
• 5、因特网运输层提供的服务 (1) TCP服务 TCP服务模型包括面向连接服务和可靠的数据传输服务。 • A. 面向连接的服务 • 在应用层数据报文开始流动之前,客户机程序和服务器程 序之间互相交换控制信息。 • 在握手阶段后,一个TCP连接就在两个进程的套接字之间 建立了。 • 这个连接是全双工的。 • 当应用程序结束报文发送时,必须拆除该连接。
一、应用层协议原理
1、网络应用程序体系结构: • 应用程序体系结构:由应用程序研发者设 计,规定了如何在各种端系统上组织该应 用程序。 • 3种主流体系结构:客户机/服务器体系结 构、P2P体系结构,以及客户机/服务器和 P2P混合的体系结构。
一、应用层协议原理
(1)客户机/服务器体系结构 • 有一个总是打开的主机称为服务器,它服 务于来自许多其他称为客户机的主机请求。 • 客户机主机可能有时打开,可能总是打开。 • 在C/S模式中,客户机相互之间不直接通 信。
应用程序
• 远程登录 • 电子邮件 • 文件传输 • 网络新闻 • Web • DNS • P2P文件共享
进一步要求
• 开发运行在TCP和UDP上的网络应用程序 的方法 • 套接字API编程 • 用Java实现的几个简单的客户机/服务器 应用 • 用Java实现一个简单的Web服务器程序
一、应用层协议原理
一、应用层协议原理
4、应用层需要什么样的服务 • 可靠的数据传输; • 带宽; • 定时。
应用
文件传输 电子邮件 Web文档 实时音频/视频
数据丢失
不能丢失 不能丢失 不能丢失 容忍丢失
带宽
弹性 弹性 弹性(几kb/s) 音频 (几kb/s-1Mb/s) 视频 (10kb/s-5Mb/s) 同上 几kb/s-10kb/s
一、应用层协议原理
• 5、因特网运输层提供的服务 (2) UDP服务 UDP协议是一个轻量级的传输协议,以 一种最小服务模式运行,不提供不必要的 服务。 • UDP服务是无连接的,在两个进程通信前 没有握手过程。
一、应用层协议原理
• 5、因特网运输层提供的服务 (2) UDP服务 • UDP协议提供的是不可靠的数据传输服务,当进 程通过UDP协议的套接字发送报文时,UDP协 议并不保证报文能够被接收进程接收到。对于接 收进程收到的报文也可能是乱序到达的。 • UDP协议没有拥塞控制机制。 • UDP协议不提供时延保证。