第2讲:应用层 本讲目标: 深层次目标 网络应用层的概念和■特定协议: 实现 口http 口客户端-服务器范式 口ftp 口服务模型 a smtp ■通过对常用应用层协 a pop 议的探讨和分析来学 a dns 习网络协议 教科书参考 口第9章 主讲人:西安交通大学程向前 第2讲:应用层1
主讲人:西安交通大学 程向前 第2讲:应用层 1 第2讲: 应用层 本讲目标: ◼ 网络应用层的概念和 实现 客户端-服务器范式 服务模型 ◼ 通过对常用应用层协 议的探讨和分析来学 习网络协议 ◼ 教科书参考 第9章 深层次目标 ◼ 特定协议: http ftp smtp pop dns
应用程序和应用层协议 应用程序:沟通,分布式的进Fr 程 口运行在网络主机中的“用户m 空间” 口在应用程序间交换报文 ●●● 口eg. email印tp,Web 应用层协议: 受 口应用层的一个“组成部分” 口定义应用程序需交换的报文 和所需采取的动作 transport hysical 口使用较低层次所提供的通信 服务(TcP,UDP) 主讲人:西安交通大学程向前 第2讲:应用层2
主讲人:西安交通大学 程向前 第2讲:应用层 2 应用程序和应用层协议 应用程序:沟通, 分布式的进 程 运行在网络主机中的 “用户 空间” 在应用程序间交换报文 e.g., email, ftp, Web 应用层协议: 应用层的一个“组成部分” 定义应用程序需交换的报文 和所需采取的动作 使用较低层次所提供的通信 服务 (TCP, UDP) application transport network data link physical application transport network data link physical application transport network data link physical
网络应用程序:一些术语 进程( Process):主机中运行■用户代理( User agent) 中的程序 软件进程,是介于用户 ■在某些主机中,两个进程( above)和网络( 使用进程间通信(由 os below)之间的接口 管理) 口实现应用级协议 ■而运行在不同主机上的进aWeb:浏览器 程则使用应用层协议进行E-mol:E、 Foxmail 通信 口流媒体: media player 主讲人:西安交通大学程向前 第2讲:应用层3
主讲人:西安交通大学 程向前 第2讲:应用层 3 网络应用程序: 一些术语 进程(Process): 主机中运行 中的程序. ◼ 在某些主机中, 两个进程 使用进程间通信 (由 OS 管理). ◼ 而运行在不同主机上的进 程则使用应用层协议进行 通信 ◼ 用户代理(User agent): 软件进程, 是介于用户 ( above )和网络( below )之间的接口 实现应用级协议 Web: 浏览器 E-mail: OE、Foxmail 流媒体: media player
客户端-服务器范式 典型的网络应用都是由两个部 oplication 分组成:客户端和服务器 pny 客户端: reque 发起同服务器的联系 Speaks first) ■●● ■一般都从服务器请求服务 Web:客户端由浏览器实现;e re mil:通过OE、 Foxmia实现 服务器: plication ■向客户端提供所请求的服务 hysical Web服务器发送被请求的Web 页面,邮件服务器传递e-mal 主讲人:西安交通大学程向前 第2讲:应用层4
主讲人:西安交通大学 程向前 第2讲:应用层 4 客户端-服务器范式 典型的网络应用都是由两个部 分组成: 客户端 和 服务器 application transport network data link physical application transport network data link physical 客户端: ◼ 发起同服务器的联系 (“speaks first”) ◼ 一般都从服务器请求服务, ◼ Web: 客户端由浏览器实现; email: 通过OE、Foxmial实现 request reply 服务器: ◼ 向客户端提供所请求的服务 ◼ e.g., Web 服务器发送被请求的 Web 页面, 邮件服务器传递 e-mail
应用层协议(续 应用程序接口(APT: Q:某个进程如何“认定” application programming另一个需要与之通信的 interface) 进程? ■定义应用层和传输层间的 口TP地址-运行另一个进程 接口 的主机所拥有的 ■插口( socke↑: Interne↑ 口"端口号(PORT#)” 允许接收主机来确定的 AP工) 个标识,本地进程将报文 口两个进程间的通信,将数 发送给它 据送入 socket,或从 口教科书p232-234 socket读出数据 主讲人:西安交通大学程向前 第2讲:应用层5
主讲人:西安交通大学 程向前 第2讲:应用层 5 应用层协议(续) 应用程序接口(API: application programming interface) ◼ 定义应用层和传输层间的 接口 ◼ 插口(socket: Internet API) 两个进程间的通信, 将数 据送入 socket, 或从 socket 读出数据 Q: 某个进程如何“认定” 另一个 需要与之通信的 进程? IP 地址-运行另一个进程 的主机所拥有的 “端口号(PORT #)” – 允许接收主机来确定的一 个标识,本地进程将报文 发送给它 教科书p232-234
应用进程需要怎样的传输服务? 数据丢失( Data loss) 带宽( Bandwidth) 对最低带宽有要求场 ■某些应用(e9 audio〕可■某些应用(eg,多媒亻 以容忍某种程度上的数据丢 失 ■其他应用C弹性应用”) ■其他应用(eg.文件传输, 则可灵活应用所能得到 telnet)要求100%可靠的的带宽 数据传输 实时性( Timing) ■某些应用(e9,工P电话 ,交互式游戏)要求较低 的时延 主讲人:西安交通大学程向前 第2讲:应用层6
主讲人:西安交通大学 程向前 第2讲:应用层 6 应用进程需要怎样的传输服务? 数据丢失(Data loss) ◼ 某些应用 (e.g., audio) 可 以容忍某种程度上的数据丢 失 ◼ 其他应用 (e.g., 文件传输, telnet) 要求 100% 可靠的 数据传输 实时性(Timing) ◼ 某些应用(e.g., IP 电话 , 交互式游戏) 要求较低 的时延 带宽(Bandwidth) ◼ 某些应用(e.g., 多媒体) 对最低带宽有要求 ◼ 其他应用(“弹性应用”) 则可灵活应用所能得到 的带宽
常用应用程序对传输功能的要求 应用程序数据丢失带宽 实时性 文件传输不丢失 弹性 e-mal不丢失 弹性 Web网页不丢失 弹性 无无无 实时音频视频允许丢失音频:5Kb-1Mb100 s msec 允许丢失视频:10Kb-5Mb 存储音频视频允许丢失同上 few secs 交互式游戏允许丢失几Kb/s以上100 s msec 金融应用不丢失 弹性 yes and no 主讲人:西安交通大学程向前 第2讲:应用层7
主讲人:西安交通大学 程向前 第2讲:应用层 7 常用应用程序对传输功能的要求 应用程序 文件传输 e-mail Web 网页 实时音频/视频 存储音频/视频 交互式游戏 金融应用 数据丢失 不丢失 不丢失 不丢失 允许丢失 允许丢失 允许丢失 允许丢失 不丢失 带宽 弹性 弹性 弹性 音频: 5Kb-1Mb 视频:10Kb-5Mb 同上 几 Kb/s 以上 弹性 实时性 无 无 无 100’s msec few secs 100’s msec yes and no
Internet的传输协议服务 TCP服务: UDP服务: 面向连接:在客户端和服务器进■在客户端和服务器进程之间 程之间需要建立连接( setup 实现“不可靠的”数据传输 不提供连接建立,可靠性保 可靠传输:在发送和接受进程 证,流量控制,拥塞控制,实时 之间 性,最小带宽承诺 流量控制:发送数据的速度决不 超过接收的速度 Q:既生喻,何生亮? Why is 拥塞控制当网络超负荷时,束 there a UDP?? 紧发送端口,减缓发送速度 ■不提供:实时性,最小带宽承诺 主讲人:西安交通大学程向前 第2讲:应用层8
主讲人:西安交通大学 程向前 第2讲:应用层 8 Internet 的传输协议服务 TCP 服务: ◼ 面向连接: 在客户端和服务器进 程之间需要建立连接(setup ) ◼ 可靠传输 : 在发送和接受进程 之间 ◼ 流量控制: 发送数据的速度决不 超过接收的速度 ◼ 拥塞控制: 当网络超负荷时,束 紧发送端口,减缓发送速度 ◼ 不提供: 实时性, 最小带宽承诺 UDP服务: ◼ 在客户端和服务器进程之间 实现“不可靠的”数据传输 ◼ 不提供:连接建立, 可靠性保 证,流量控制,拥塞控制,实时 性, 最小带宽承诺 Q: 既生喻,何生亮? Why is there a UDP?
工 terne应用:应用,传输协议 应用应用协议 所依赖的传输协议 e-mail smtp [RFc 8211 TCP 远程终端访问 telnet[RFC8541 TCP WebhttpRfc2068Tcp 文件传输fp[RFc959] TCP 流媒体专有协议 TCP or UDP (e.g RealNetworks) 远程文件服务器NSF TCP or UDP I电话专有协议 typically UDP (e. g, Vocaltec) 主讲人:西安交通大学程向前 第2讲:应用层9
主讲人:西安交通大学 程向前 第2讲:应用层 9 Internet应用: 应用, 传输协议 应用 e-mail 远程终端访问 Web 文件传输 流媒体 远程文件服务器 IP电话 应用协议 smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] 专有协议 (e.g. RealNetworks) NSF 专有协议 (e.g., Vocaltec) 所依赖的传输协议 TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP
http 协议 hp:TcP传输服务: 客户端启动TcP连接(创建插口 http是“无状态( )到服务器,端口80 stateless)”的 服务器接受来自客户端的TCP ■服务器不保留任何访问 连接 过的请求信息 http报文(应用层协议报文 在浏览器httpclient和 保留状态的协议很复杂呦论 Web服务器( nttp server)之间■过去的历史状态〕需要保留 进行交换 旦浏览器/服务器崩溃,它 ■关闭TcP连接 们各自的状态视图就会发生 分歧,还需要重新核对 主讲人:西安交通大学程向前 第2讲:应用层10
主讲人:西安交通大学 程向前 第2讲:应用层 10 http 协议 http: TCP 传输服务: ◼ 客户端启动TCP连接(创建插口 ) 到服务器, 端口 80 ◼ 服务器接受来自客户端的 TCP 连接 ◼ http 报文(应用层协议报文) 在浏览器 (http client) 和 Web服务器(http server)之间 进行交换 ◼ 关闭TCP 连接 http 是 “无状态( stateless)”的 ◼ 服务器不保留任何访问 过的请求信息 保留状态的协议很复杂哟! ◼ 过去的历史 (状态) 需要保留 ◼ 一旦浏览器/服务器崩溃, 它 们各自的状态视图就会发生 分歧,还需要重新核对 小评论