unix网络编程-十二,十三章-小结

本文探讨了IPv4与IPv6之间的互操作性问题,包括如何将IPv4地址映射到IPv6地址,以及IPv4和IPv6套接字如何处理对方的数据报。此外,还介绍了守护进程的启动方式及其在后台运行的初始化过程。

12

以太网首部中包含的类型字段值为0x0800,它把本以太网帧标识为一个IPv4帧。0x86dd,标识为一个IPv6帧。

IPv4模块结合其上的TCP模块检测到IPv4数据报的目的端口对应一个IPv6套接字,于是把该数据报IPv4首部中的源IPv4地址转换成一个等价的IPv4映射的IPv6地址。该连接上其余的数据报同样都是IPv4数据报。

一般来说,一个IPv6地址无法表示成一个IPv4地址。

IPv4监听套接字只能接受来自IPv4客户的外来连接。

如果一个绑定了通配地址的IPv6监听套接字未设置IPV6_V6ONLY选项,那么该套接字既能接受来自IPv4的连接,也能接受来自IPv6的连接。

无论是connect或者sendto,IPv4都不能指定一个IPv6地址,IPv6的地址为16个字节,大于IPv4的4字节。

IPv6单栈主机无法映射IPv4地址。

可以调用IN6_IS_ADDR_V4MAPPED宏测试由解析器返回的IPv6地址。

13

在系统启动阶段,许多守护进程由系统初始化脚本启动。

许多网络服务器由inetd超级服务器启动。

cron守护进程按照一定规则执行一些程序

at命令用于指定在将来某个时刻的程序执行。

守护进程还可以从用户终端或前台或后台启动。

syslog把消息发送给syslogd守护进程

daemon_init:

fork:进入后台运行

setsid:脱离当前终端设备,创建新会话,变成新会话的会话头进程以及新进程组的进程组头进程

忽略SIGHUP并fork:确保不会自动获得控制终端。因为不再是一个会话头进程。

要是一个守护进程未打开这些描述符,却开了某个套接字,那么守护进程调用perror之类函数会把数据发给其他客户。

许多守护进程把SIGHUP信号作为来自系统管理员的一个通知,表示其配置文件发生改动,应该重新读入其配置文件。

inted处理普通守护进程以简化守护程序的编写。减少系统中进程总数。

inetd进程以值0的用户ID运行,其子进程将跨fork调用继承这个用户ID,因而能够变成所选定的任何用户。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值