一直困惑169.254.0.0/16是干嘛的,每次笔记本dhcp获取地址失败后,就会随机在这个B类地址段获取一个地址;
今天抽空翻了下rfc,发现在 rfc5735 里面有对所有特殊网络地址说明;
以下引用rfc5735:
169.254.0.0/16 - This is the "link local" block. As described in
[RFC3927], it is allocated for communication between hosts on a
single link. Hosts obtain these addresses by auto-configuration,
such as when a DHCP server cannot be found.
该部分指出169.254.0.0/16是一个本地链接地址段;定义在 rfc3927 ,
3927指出,在IP网络里,每台主机都需要一个IP地址,通常情况下是通过DHCP服务器自动分配,但某些特殊情况下,DHCP分配失败或者没有DHCP服务器时,机器可以自己分配一个IP来完成这个工作。
我的理解,这么做的目的是为了数据格式统一,程序处理不那么容易出BUG;
就好比我定义一个指针,正常情况下这个指针会被赋予某个数据类型的地址信息,但如果赋值失败的时候,我不能什么都不做,我也得给它赋值,通常是赋为NULL;这个NULL就好比169.254/8;