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