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