南京理工大学《计算机网络》课件-第二章 应用层20.pdf
第2章应用层
本章主要学习有关网络应用的原理和实现方面的知识。
主要内容:
•应用层概念:应用层协议、客机与服务器、进程、套接字(socket)
和运输层接口。
♦应用程序:Web、电子邮件、域名系统DNS及P2P对等文件共享;
•开发网络应用程序的方法:套接字API编程;
2.1应用层协议原理
研发网络应用程序的核心:写出能够运行在不同端系统,并通过网
络相互通信的程序。
例如,Web应用程序:由两个可以相互通信的程序组成。
•浏览器程序:运行在用主机上;
•Web服务器程序:运行在Web服务器主机上。
其他,如P2P等。
应用程序软件只在端系统运行,不能在网络核心设备上运行C
如图2.1。
2.1.1网络应用程序体系结构
网络应用程序体系结构:由应用程序研发者设计,规定如何.在各种
端系统上组织该应用程序O
类型:
>客机/服务器体系结构:一个服务器,多个客机。
•服务器主机:总是打开。为来自许多其他客机主机的请求提供
服务。
・客户机主机:可以总是打开或有时打开。向服务器主机发出请求。
如,Web应用程序:总是打开的Web服务器为运行在客机主机上
的浏览器的请求提供服务(接收客机请求,并发送响应结果)。
特点.•
•客机之间不能直接通信;
•服务器具有固定、周知的地址,即IP地址。
如图22・a。
a)客机/服务器应用程序b)对等应用程序
图2-2a)客机/服务器体系结构;b)P2P体系结构
生物群巢s(erverfarm,凝务器场):创建强大的虚拟服务器。解决
一台服务器主机跟不上所有客机请求的情况。
>纯P2P结构p(eert・op・eer):没有一个总是打开的服务器。任意一对
主机对等方)可直接通信。如图2-2b。
如,公共域文件共享应用程序Gnutella。
特点:不要求任何主机总是打开;
参与的主机每当加入时都有可能改变其IP地址。
可扩展性。
难于管理。
>客机/服务器和P2P体系结构的混合:
如:apster(MP3文件共享)和即时讯息应用程序。
2.1.2进程通信
进程(process):运行在端系统中的程序。
,相同端系统中进程间通信•,由操作系统控制;
•不同端系统上进程间通信♦.通过跨网络交换报文(message)通信。
♦发送进程:产生报文并向网络发送;
♦接收进程:接收报文,并回送报文。
如图2-1。
1、客机和服务器进程
•网络应用程序由成对的进程组成,并通过网络相互发送报文。
如,Web应用程序:一个客机浏览器进程与一个服务器进程交换
报文。
•两个通信进程分别标示为客机和服务器。
如,Web应用程序:浏览器是一个客机进程,Web服务器是一个
服务器进程。
P2P文件共享:下载文件的对等方标示为客机,上载文件的对
等方标示为服务器。一个进程可以是客机,也可能是服务器。
♦客户机、发起通信(即在会话开始时,开始与其他进程联系)的
进程。
♦服务器.・在会话开始时等待其他进程联系的进程。
如,Web中:一个浏览器进程向某个WebJ艮务器进