Linux —— 网络服务模型
时间 2019-12-14
标签
linux
网络
服务
模型
独立的守护进程工做模式
原理
- 在Client/Server模式下。服务器监听(Listen)在一个特定的端口上等待客户链接。链接成功后服务器和客户端经过端口进行数据通讯。
- 守护进程的工做就是打开一个端口,而且等待(Listen)进入链接。
- 若是客户端发起一个链接请求,守护进程就建立(Fork)一个子进程响应这个链接,而主进程继续监听其余的服务请求。
- 运行独立的守护进程工做方式称做:stand-alone。它是Unix传统的C/S模式的访问模式。
- 在负载很大服务器上,预先建立子服务器,能够提升客户的服务速度。
基于 xinetd 的工做模式
原理
- xinetd 可以同时监听多个指定的端口,在接受用户请求时,它可以根据用户请求的端口不一样,启动不一样的网络服务进程来处理这些用户请求。
- 能够把xinetd看作一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,而后启动相应的守护进程。
- 运行单个xinetd就能够同时监听全部服务端口,这样就下降了系统开销,保护系统资源。
- 可是对于访问量大、常常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会致使系统性能降低。
特色
- 支持对TCP、UDP、RPC服务的管理
- 能够实施基于时间段的访问控制
- 功能完备的log功能,能够记录链接成功、链接失败的行为
- 可以有效地防止拒绝服务(DoS)的攻击
- 可以限制同时运行的同一类型的服务器的数目
- 可以限制log文件大小
- 可以将某个服务绑定在特定的系统接口上,从而实现只能容许私有网络访问某项服务。
- 可以实现做为其它系统的代理。