客户机服务器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
存储音频/视频 容忍丢失 交互式游戏 容忍丢失 即时讯息 不能丢失
带宽
时间敏感
弹性
不
弹性
不
弹性
不
音频: 5kbps-1Mbps 是, 100’s msec
视频:10kbps-5Mbps
同上
是, 几秒
几kbps以上
是, 100 msec
弹性
是和不是
应用层 14
因特网运输协议服务
TCP服务:
面向连接: 客户机和服务器之间
所需的建立
可靠传输:在发送和接收进程之
间
流控制: 发送方不会淹没接收方 拥塞控制: 当网络过载时抑制发
送方
并不提供: 定时,最小带宽保证
UDP服务:
在发送进程及接收进程 之间的不可靠数据传输
不提供:建立连接建 立,可靠性,流控,拥 塞控制,定时或带宽保 证
问题:为什么这么麻烦?为 什么需要UDP?
客户机进程: 发起通信的进 程
服务器进程:等待联系的 进程
注意:具有P2P体系结构 的应用程序具有客户机进 程和服务器进程
应用层 9
套接字
进程从/来自它的套接字 发送/接收报文
套接字类似于门
发送进程将报文推出门 外
发送进程依赖门的另一 侧运输层基础设施,它 将报文送到接收进程的 套接字
主机或服务器
第2章 应用层
我们的目标: 网络应用协议的概念,
实现方面 运输层服务模型 客户机/服务器模式 对等范例
通过考察流行的应用级 协议,学习协议
HTTP FTP SMTP / POP3 / IMAP DNS
网络应用编程
套接字 API
应用层 1
第2章 要点
2.1 网络应用的原则 2.2 Web和HTTP 2.3 FTP 2.4 电子邮件
定时 某些应用(如因特网电
话、交互式游戏)要求 “有效的”低时延
带宽
某些应用(如多媒体)要 求“有效的”最小量的带 宽
其他应用(”弹性应用 “)充分利用它们获得的 所有带宽
应用层 13
普通应用的运输服务要求
应用程序 数据丢失
文件传输 电子邮件 Web 文档 实时音频/视频
不能丢失
不能丢失 不能丢失 容忍丢失
应用层 运输层层 网络层 链路层 物理层
应用层 运输层层 网络层 链路层 物理层
应用层 4
应用体系结构
客户机/服务器 对等 (P2P) 客户机/服务器与P2P的混合
应用层 5
客户机/服务器体系结构
服务器:
总是打开的主机 永久的IP地址 可扩展为服务器池
客户机:
与服务器通信 可以间歇地连接 可以具有动态的IP地址 彼此不直接地通信
SMTP, POP3, IMAP
2.5 DNS
2.6 P2P 文件共享
2.7 TCP的套接字 编 程
2.8 UDP的套接字 编 程
2.9 构建一个 Web 服 务器
应用层 2
某些网络应用
E-mail Web 即时讯息 远程注册 P2P文件共享 多用户网络游戏 流式存储视频片段
应用层 6
纯P2P体系结构
无总是打开的服务器 任意的端系统直接通信 对等方间歇地连接,改变
IP地址 例子:Gnutella
高度地可扩展
但是难以管理
应用层 7
客户机/服务器与P2P的混合
Napster
文件传送P2P 集中式文件搜索:
• 对等方在中心服务器上注册内容 • 对等方查询相同的中心服务器以定位内容
即时讯息
在两个用户之间聊天是P2P 集中式的出席检测/定位:
• 用户当他在线时,向中心服务器注册其IP地址 • 用户联系中心服务器以发现伙伴的IP地址
应用层 8
进程通信
进程:在一台主机上运 行的程序。
在同一台主机中,两 个进程使用进程间通 信IPC(由操作系统定 义)通信.
在不同的主机中的进 程通过交换报文通信
主机或服务器
进程
套接字
具有缓 存、变 量的TCP
由应用研发者控制 因特网
进程
套接字
具有缓 存、变量 的TCP
由操作系统控制
应用程序接口API: (1) 选择运输协议; (2) 确定一些参数的能 力 (详情见后)
应用层 10
寻址进程
对于接收报文的进程,必 须具有一个标识
一台主机具有一个独特的 32比特的IP地址
问题:在主机的IP地址足 以标识该进程?
答案: 在同一台主机上能 够运行许多进程
表示符包括IP地址和与 主机上该进程相关的端 口号.
端口号例子:
HTTP 服务器: 80 电子邮件服务器: 25
详情见后
应用层 11
应用层协议定义
交换的报文类型,如请 求和响应报文
报文类型的语法:报文 中的各字段以及字段的 定界
UDP或TCP
流媒体
通常专用(如Real Networks) UDP或TCP
因特网电话 通常专用(如Net2phone) 典型用UDP
应用层 16
第2章 要点
2.1 网络应用的原则 2.2 Web和HTTP 2.3 FTP 2.4 电子邮件
SMTP, POP3, IMAP
2.5 DNS
2.6 P2P 文件共享
2.7 TCP的套接字 编 程
2.8 UDP的套接字 编 程
2.9 构建一个 Web 服 务器
应百度文库层 17
Web和HTTP
某些术语
Web页由对象组成 对象可以是HTML文件,JPEG图片,Java小程序,音
因特网电话 实时视频会议 大规模并行计算
应用层 3
创建一个网络应用
编写程序能够
能够在不同的端系统上运行 能够通过网络通信 如Web: Web服务器软件与浏
览器软件通信
没有为网络核心的设备书写的 软件
网络核心设备不作用于应用 层
这种设计使得能够快速开发 应用
应用层 运输层层 网络层 链路层 物理层
应用层 15
因特网应用:应用协议与运输协议
应用
应用层协议
下面的传输协议
电子邮件 SMTP [RFC 2821]
TCP
远程终端访问
Telnet [RFC 854]
TCP
Web
HTTP [RFC 2616]
TCP
文件传输 FTP [RFC 959]
TCP
远程文件服务器
NFS [McKusik 1996]
字段的语义,即字段中 信息的含义
进程何时、怎样发送和 响应报文的规则
公共域协议: 在 RFC中定义 允许具有互操作性 例如, HTTP, SMTP 专用协议: 如, KaZaA
应用层 12
应用程序需要什么样的运输服务?
数据丢失
某些应用(如音频)能够容 忍某些丢失
其他应用(如文件传输, Telnet)要求100%可靠数据 传输