zoukankan      html  css  js  c++  java
  • 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地址只是其中的一个用处。例如:充当默认路由来使用,当一个路由器要发送路由表中无法查询的包时,如果设置了全零网络的路由时,我们就可以把这个包丢给全零网络的路由。

  • 相关阅读:
    laravel-13-笔记-1
    laravel-14-笔记-2
    supervisor监听器-linux安装配置
    laravel-12-artisan命令创建view文件
    linux修改主机名
    laravel-11-laravel 模型Eloquent ORM
    laravel-composer安装laravel
    laravel-10-laravel collection集合
    laravel-8-laravel数据填充
    laravel-9-laravel数据库查询 查询组件
  • 原文地址:https://www.cnblogs.com/cyuanwu/p/10404888.html
Copyright © 2011-2022 走看看