IPv6 GLOBAL UNICAST地址在路由设置中的限制

操作

添加一条路由,使得所有到2001::30/128的数据都转向3030::bbbb:30

由于是网关路由,本机首先需要能够访问网关3030::bbbb:3,故必须要有路由到3030::bbbb:3
我们添加一个IP地址 继续阅读

rsyslogd之outchannel源码分析

插件入口

优点:逻辑还算清晰;
缺点:一层又一层的宏,看着很不舒服;

启动后,以插件的方式加载功能模块。主线程只用于简体是否退出与是否需要更新配置(配置更新时会重新载入所有模块)。

输出模块(om前缀)中,omfile在tools目录而不是plugin目录,这是内置模块的意思,从loadBuildInModules可以看出,有如下内置模块:

类似omfile这类内置模块,其初始函数定义如:BEGINmodInit(File)即modInitFile,而非插件式的模块初始函数定义为BEGINmodInit()即modInit
插件式模块载入时自动执行初始函数modInit: 继续阅读

IPv6之ND协议

地址划分

按地址通讯行为特征可分为单播(UNICAST),多播(MULTICAST,去除了IPv4广播的概念),任播地址(ANYCAST)。

单播(UNICAST)

按地址的有效覆盖范围,可将单播地址分为:

全局地址(GLOBAL)

可聚合全球单播地址Aggregate Global Unicast Address
2xxx:xxxxx/3 - 3FFF: :FFFF
2001::/16 IPV6因特网地址
2002::/16 6to4过渡地址
内嵌IPV4的IPV6地址
IPv4 Compatible Address ::192.168.30.1 => ::C0A8:1E01
IPV4兼容IPV6地址:0:0:0:0:0:0:w.x.y.z 或 ::w.x.y.z
IPV6映射IPV4地址:0:0:0:0:0:FFFF:w.x.y.z 或 ::FFFF:w.x.y.z
6to4地址
形如2002:WWXX:YYZZ:子网ID:接口ID,其中WWXX:YYZZ是w.x.y.z的冒号16进制表示。
Teredo地址
以2001::/32为前缀的全球地址。除去前32为,Teredo还编码了服务器IPV4地址,标志位,Teredo客户机的外部地址,UDP端口号。

可复用本地地址

此地址在同一机构的多个站点的地址前缀可能重复。由于本地地址本地可重用,如链路本地地址在每个链路上重用,导致有歧义,为了精确定位目标,就需要额外的标识符,这个额外标识符就是区域ID(zone_ID),用于标识网络中有明确范围并连接着的部分,区域ID语法是用%分隔,RFC4007指定语法为address%zone_ID。

链路本地地址(LINK-LOCAL)

特点:
1. 前10位1111 1110 10,后续54位0,最后64位为接口ID,即前缀为FE80::/64
2. 总是自动配置的
3. 主要用于邻接点发现
4. 区域ID通常是接口的接口索引
5. 仅在一个特定的网路区段使用(同一个子网路中),不可被绕送到其他连结或网际网路上。功用如同IPv4的APIPA位址(169.254.XX)。我不太确定,但是貌似不能穿透路由。
继续阅读