2009-7-25 1
计算机网络
Computer Networks
第九讲 网络应用(一)
客户机 /服务器模型
2009-7-25 2
课前问题
1,TCP段头中 ____标志表示建立连接,
____标志表示终止连接
2、假定 TCP使用两次握手替代三次握手来建立连接,连接是否会出问题,举例说明
3、解决拥塞最切实的办法是什么? TCP
如何控制拥塞?
SYN
FIN
可能出问题,比如,A向 B发连接请求,由于网络延迟超时又重发请求,双方建立连接,当延迟的旧的请求到达 B后,B会错误地再次建立连接降低数据传输速率,慢启动
2009-7-25 3
物 理 层数 据 链 路 层网 络 层传 输 层应 用 层用 户应用层的地位和作用应用层是计算机网络体系结构中的最高层,也是唯一面向用户的一层。
应用层为用户提供常用的应用程序,并实现网络服务的各种功能。
常用的电子邮件、上网浏览等网络服务都是应用层的程序。
2009-7-25 4
EtherNet,Token Ring,Token Bus,FDDI,PPP/SLIP,X,25数 据链路层网络层 ICMP IP IGMP RARPARP
传输层 TCP UDP
HTTP
。。。SMTP
FTP TELNET NFS
。。。
SNMP
DNS
TFTP应用层
TCP/IP协议族中的应用层协议
2009-7-25 5
客户端 服务器端提出请求返回结果应用程序的实现结构对称的对等模式
应用进程的地位和作用平等。
非对称的客户 /服务器模式
客户端确定如何请求服务
服务器决定如何提供服务目前应用最多的是客户 /服务器模式。
客户(一般为网络用户的主机)处于主动地位,向服务器发出各种请求。
服务器(为网络上能够提供特定服务的主机)处于被动地位,根据客户的请求提供响应的服务。
2009-7-25 6
客户 /服务器模式的优势在于:
实现计算机资源和信息资源的共享
提高网络的运行效率
便于数据的维护和管理
充分发挥服务器和客户机各自的优势
服务器:存储量大、超级计算、信息资源丰富
客户机:灵活、方便客户 /服务器结构可以不局限在一个网络系统中,
而且具有不同的层次。
...
中介服务器客户端 服务器端两层结构三层结构多层结构客户 /服务器模式的优势
2009-7-25 7
客户 /服务器模式的应用客户 /服务器模型是所有网络应用的基础。
客户机和服务器分别指参与一次通信的两个应用实体。服务器是指运行服务程序的那台主机。
客户机是指运行客户程序的那台主机。
客户机会向服务器发出指令并要求它予以响应,
而服务器则会根据客户机的要求完成工作并将结果返回。
客户机与服务器之间的命令必须是一致的。服务器是服务的提供者,客户机是服务的使用者。
目前不同的应用层服务都对应有不同的服务器,
例如 MAIL服务器,FTP服务器,WWW服务器等。一台计算机上可以运行多个服务器软件,
但是要求计算机有强大的硬件资源和多任务操作系统。
2009-7-25 8
客户机任何一个应用程序当需要进行远程访问时变为客户机软件,需要完成以下一些本地的功能:
为用户提供图形用户界面 GUI( Graphics User
Interface)。
根据用户输入的数据和命令向服务器发出请求。
将服务器作出的回答进行分析处理,通过 GUI向用户提交。
客户机软件一般运行于用户的个人机上,不需要特殊的硬件和复杂的操作系统。
2009-7-25 9
服务器服务器是网络上能够提供特定服务的主机。根据客户机的请求作出相应的回答,提供相应的服务。
服务器的特点
拥有客户机没有的资源
计算机资源:大的存储容量、超级计算能力
信息资源:数据库、文件系统和多媒体信息
为多个客户机提供服务,实现资源共享。
服务器软件 (有别于服务器硬件 )
服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程;另一部分用于处理实际的通信过程。
由于服务器要支持多个客户的同时访问,必须具备并发性。服务器软件为每个新客户创建一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。
2009-7-25 10
客户机和服务器之间的通信客户 /服务器之间使用的传输层协议
可以是 TCP协议,可靠的面向连接的服务,适用于长的交互过程。
可以是无连接的 UDP协议,适用于短的交互过程。
还可以同时使用 TCP和 UDP的服务。
客户和服务器的交互
在 INTERNET中,客户和服务器的交互通过使用
TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户 /服务器通过套接字访问传输层服务。
2009-7-25 11
寻址( Addressing)
方法:定义传输服务访问点 TSAP(
Transport Service Access Point),将应用进程与这些 TSAP相连。在 Internet中,
TSAP为( Ip地址,本地端口号);
远方客户程序如何获得服务程序的 TSAP?
方法 1:预先约定、广为人知的,象
telnet是( IP地址,端口 23);
方法 2:从名字服务器( name server
)或目录服务器( directory server)
获得 TSAP
– 一个特殊的进程称为名字服务器或目录服务器( TSAP众所周知);
– 用户与名字服务器建立连接,发送服务名称,获得服务进程的 TSAP
,释放与名称服务器的连接;
– 与服务进程建立连接。
客户 /服务器模式
2009-7-25 12
端口号 Port
某种具体服务的标示
16 bit
0-65535
<1023保留客户 /服务器模式例如:贵州大学的一台 IP地址为 (210.40.4.7)的机器与教育网内的一台 IP地址为 (166.111.4.80) 的机器之间建立 FTP连接,
它由端点定义成,(210.40.4.7,1089)和 (166.111.4.80,
21)
套接字 Socket
是应用程序间连接的标示
TCP or UDP + IP + Port
协议 +主机地址( IP地址)
+端口号
2009-7-25 13
问题阅读 167页 12.1节回答以下问题:
网络间进程通信与同一台机器上的两个进程通信相比有何异同点?
2009-7-25 14
套接字
套接字接口,Socket
阅读 170页 12.3.1节回答以下问题:
什么叫半相关?全相关?
一个客户程序和一个服务器程序在同一台计算机上同时使用相同的端口号可行吗?
2009-7-25 15
客户 /服务器套接字编程模型服务器
socket();
bind();
listen();
accept();
send/recv();
close();
客户
socket();
connect();
send/recv();
close();
面向连接的客户 /服务器 Socket编程模型
2009-7-25 16
客户 /服务器套接字编程模型服务器
socket();
bind();
send/recv();
close();
客户
socket();
send/recv();
close();
无连接的客户 /服务器 Socket编程模型
bind();
2009-7-25 17
客户 /服务器的特性
客户端
本地运行
主动地启动与服务器通信
直接被用户调用
一般运行一次
不需要高级操作系统
服务器端
专门提供某一类型的服务
被动地等待来自任意客户的请求
在一台共享计算机上运行
可同时处理多个客户的请求
需要较高级的操作系统
2009-7-25 18
客户 /服务器的特性
多线程服务
客户可以访问多种服务器
客户可以访问多个服务器
获取多种服务
竞争机制、提高性能
身份的灵活性
2009-7-25 19
基于 Web的客户机 /服务器应用模式( B/S)
组成部分:
Web服务器
客户机(浏览器)
应用软件服务器优点,
客户的应用程序精简到一个通用的浏览器软件,节省了开发和维护客户端的费用
服务器端程序易于维护和更新,安全保密性好
Web浏览器的操作简单易学,无需对用户进行专门的培训