分页: 1 / 1

《NetBSD指南-24.2.什么是inetd?》

发表于 : 2010-03-08 0:53
leo
在传统的Unix场景中, 每一个服务器(进程)负责监视一个特定端口的连接, 并处理进站请求。现在如果一台机器提供很多的服务, 就需要很多的进程来处理, 绝大多数情况下运行在空载状态,但是仍旧消耗资源,例如内存。使用Internet超级服务器 —— inetd, 是解决这个问题的一个方法. 它可以监听一系列端口, 而且当他收到一个请求时,它确定运行哪个程序来处理这个请求,并启动该程序的一个实例。
下面是一个非常简单的关系图用来说明 inetd(8)是如何工作的:

pop3 ------ |
|
ftpd ------- | INETD | ---- Internet / DMZ / Switch / Whatever . . .
|
cvsupserver - |
在上面的关系图中你可以看出总体的思路. inetd(8) 进程收到一个请求,然后启动相应的服务进程。 inetd(8) 的工作就是软件复用。这里有一个重要的说明, 关于安全: 在很多其它的类UNIX系统中, tcpwrappers软件包被用来增强inetd(8)的安全性能. 但在NetBSD中,tcpwrapper功能是用libwrap内嵌在 inetd(8) 里的.