0.0.0.0和255.255.255.255

在我们电脑的ip配置里,有静态配置 ip 地址和动态获取 ip 地址两种选择。

 

绝大部分人使用的都是动态获取 ip 地址,因为如果自己静态配置的话,容易出错,例如你不小心配置了一个已经被其他人在使用的 ip 地址。所以我们一般选择的是动态获取 ip 地址。注意,这里的 ip 地址不仅仅是指主机的唯一标识,还指DNS、网关等 ip 地址。

对于动态获取ip地址,如果电脑关机重启了之后,此时电脑如同一个初生的婴儿,啥ip也没有。这个时候最重要的事情就是让自己获得一个ip,好让自己可以去冲浪,可是问题来了,你该给谁发送报文以来获取 ip 呢?

有人可以会说,我可以给 DHCP 服务器发送一个报文来动态获取ip,然而问题是,你知道 DHCP 服务器的ip是多少吗?你不知道,你是一个刚出生的婴儿,你啥也不知道。

居然我们不知道该找谁来给我们分配一个 ip 地址,那就只能暴力一点,发个广播吧,告诉所有人,我急需一个 ip 地址。于是,我们发了一个广播通知了所有人。

目的 ip 填 255.255.255.255 代表这是一个广播报文,会发给局域网内的所有主机。其他主机收到广播报文之后,会进行判断这个广播报文是否是发给自己的,如果是发给自己的,则进行处理,否则就把这个广播报文丢弃。

这个时候, DHCP 服务器终于收到了我的广播,这个时候问题来了,DHCP服务器是如何知道我是来请求一个 ip 的呢?

为了解决这个问题,我们需要在报文里做一个标记,告诉 DHCP服务器我是来请求报文的,于是,啥也没有的我,在报文的源地址里填了 0.0.0.0。当DHCP服务器看到报文的源地址是 0.0.0.0时, 就知道我还没有被分配过ip。

于是,DHCP服务器赶紧找了一个没有被使用ip地址发给我,并且把这个 ip 地址标记为已使用的状态。

有人可能会说,我没有 ip 地址,DHCP服务器怎么发送给我呢?好吧,我没有 ip 地址,但我有全球唯一的Mac地址(Media Access Control Address,直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),是一个用来确认网上设备位置的地址)。这样,就能顺利着拿到我的 各种 ip参数了。

总结下:

255.255.255.255这个地址一般用来广播的时候使用,而0.0.0.0这个地址可以代表这是一个还没有分配 ip 的主机。不过0.0.0.0还有其他作用,代表主机还没有分配ip地址只是其中的一个用处。例如:充当默认路由来使用,当一个路由器要发送路由表中无法查询的包时,如果设置了全零网络的路由时,我们就可以把这个包丢给全零网络的路由。

posted @ 2019-02-20 10:02  CyuanWu  阅读(1405)  评论(0编辑  收藏  举报