linux中/etc/services与/etc/inetd.conf区别

来源:互联网 发布:sql 执行计划 编辑:程序博客网 时间:2024/05/18 02:03
linux中/etc/services与/etc/inetd.conf区别

   每个TCP/IP应用层服务如(FTP、Telnet)都在传输层有一个端口号。/etc/services文件包含了每个能识别出的服务协议所对应的静态端口号。应用应使用唯一分配的端口号向传输提供者和远程对等实体标识自己。
文件中每一项都由服务名及其相关的端口号、传输协议提供者组成。有些服务可以在TCP和UDP上都可以运行。

   UNIX并不是让每种服务的守护进程都在自己的端口上等待请求,而是将代表各个服务守护进程等待请求的任务交给一个叫inetd的服务进程。这样就可以大大减少对系统资源的占用。只有当超级服务进程发现一个服务请求时,它才调用该服务的守护进程。/etc/inetd.conf配置文件允许inetd在启动时决定自己将代表哪些服务等待服务请求。如果一种服务的守护进程没有包含在inetd.conf文件中,那么当inetd接收到该服务的请求时,会把该请求丢弃。
   文件的字段:
service_name 这是文件/etc/services中列出的服务的标志符。
socket_type 用来标志使用的数据传输服务的类型。
proto 标识传输协议的名字。是UPD和TCP
flags 可以被设为"等待"和"非等待"。如果被设为"等待" 状态,inetd在恢复监听端口上的其他请求时,必须等待服 务协议释放将其连接到网络的连接。"非等待"可以使 inetd立即监听其他的请求。大多数TCP协议的采用"非等 待"方式,而UDP采用"等待"方式。
user 表示调用服务的用户名。
server_pathname 表示inetd在响应相关服务请求时必须调用的 服务程序的完整路径名。
args 该域包括服务的程序所使用的命令行参数。即以程序名开 始,然后跟随用户设置的参数。

原创粉丝点击