应用进程跨越网络的通信(I)

应用进程跨越网络的通信(I)

ID:40428325

大小:429.10 KB

页数:16页

时间:2019-08-02

应用进程跨越网络的通信(I)_第1页
应用进程跨越网络的通信(I)_第2页
应用进程跨越网络的通信(I)_第3页
应用进程跨越网络的通信(I)_第4页
应用进程跨越网络的通信(I)_第5页
资源描述:

《应用进程跨越网络的通信(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章应用进程跨越网络的通信10.1系统调用和应用编程接口大多数操作系统使用系统调用(systemcall)的机制在应用程序和操作系统之间传递控制权。对程序员来说,每一个系统调用和一般程序设计中的函数调用非常相似,只是系统调用是将控制权传递给了操作系统。多个应用进程使用系统调用的机制应用程序1应用程序2应用程序n…由应用程序调用的系统函数用户地址空间中的应用程序系统调用接口系统地址空间中的协议软件包括TCP/IP协议软件的操作系统内核应用编程接口API (ApplicationProgrammingInterface)当某个应用进程启

2、动系统调用时,控制权就从应用进程传递给了系统调用接口。此接口再将控制权传递给计算机的操作系统。操作系统将此调用转给某个内部过程,并执行所请求的操作。内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API。几种应用编程接口APIBerkeleyUNIX操作系统定义了一种API,它又称为插口接口(socketinterface)。微软公司在其操作系统中采用了插口接口API,形成了一个稍有不同的API,并称之为WindowsSocket

3、。AT&T为其UNIX系统V定义了一种API,简写为TLI(TransportLayerInterface)。应用进程通过插口接入到网络TCPTCP应用进程因特网由操作系统控制插口,又称为API插口的作用当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“插口”,以便把网络通信所需要的系统资源分配给该应用进程。操作系统为这些资源的总和用一个号码来表示,并把此号码返回给应用进程。应用进程所进行的网络操作都必须使用这个号码。通信完毕后,应用进程通过一个关闭插口的系统调用通知操作系统回收与该“号码”相关的所有资源。插口

4、和API不同插口是应用进程和网络之间的接口,因为插口既包含有运输层与应用层之间的端口号,又包含有机器的IP地址。插口和应用编程接口API是性质不同的接口。API是从程序设计的角度定义了许多标准的系统调用函数。应用进程只要使用标准的系统调用函数就可得到操作系统的服务。在这个意义上讲,API是应用程序和操作系统之间的接口。应当记住在插口以上的进程是受应用程序控制的,而在插口以下的TCP协议软件以及TCP使用的缓存和一些必要的变量等,则是受计算机操作系统的控制。只要应用程序使用TCP/IP协议进行通信,它就必须通过插口与操作系统交互并请求其

5、服务。应用程序的开发者对插口以上的应用进程具有完全的控制,但对插口以下的运输层却只有少量的控制。10.2服务器的两种工作方式服务器都可工作在两种不同的方式:循环方式(iterativemode)——在计算机中一次只运行一个服务器进程。当有多个客户进程请求服务时,服务器进程就按请求的先后顺序依次做出响应。并发方式(concurrent)——在计算机中同时运行多个服务器进程,而每一个服务器进程都对某个特定的客户进程做出响应。无连接循环服务器使用无连接的UDP的服务器通常都工作在循环方式——一个服务器在同一时间只能向一个客户提供服务。服务器

6、收到客户的请求后,就发送UDP用户数据报响应该客户。但对其他客户发来的请求则暂时不予理睬,这些请求都在服务器端的队列中排队等候服务器的处理。当服务器进程处理完毕一个请求时,就从队列中读取来自下一个客户的请求,然后继续处理。无连接循环服务器的特点UDP服务器UDP客户临时端口熟知端口UDP客户临时端口UDP客户临时端口一次一个客户服务器只使用一个熟知端口。每一个客户则使用自己创建的临时端口(端口号自己设定)。面向连接并发服务器服务器在同一时间可向多个客户提供服务。TCP是面向连接的,因此在服务器和多个客户之间必须建立多条TCP连

7、接,而每一条TCP连接要在其数据传送完毕后才能释放。使用TCP的服务器只能有一个熟知端口。因此主服务器在熟知端口等待客户发出的请求。一旦收到客户的请求,就立即创建一个从属服务器,并指明从属服务器使用临时端口和该客户建立TCP连接,然后主服务器继续在原来的熟知端口等待向其他客户提供服务。面向连接并发服务器的特点TCPTCP客户临时端口临时端口TCP客户临时端口TCP客户临时端口主服务器TCP连接熟知端口仅用于接受服务请求创建从属服务器主服务器有时又称为父服务器,而从属服务器又称为子服务器。10.3进程通过系统调用接口进行通

8、信的过程1.无连接循环服务器服务器recvfrom(…)socket(…)bind(…)recvfrom(…)无限制重复socket(…)若需要就重复sendto(…)进程sendto(…)close(…)客户请求响应2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。