zoukankan      html  css  js  c++  java
  • DHCP

    2.1 DHCP Client发现阶段

      DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送 DHCP discover发现信息来寻找DHCP服务器,源地址为0.0.0.0目的地址为255.255.255.255。网络上每一台安装了TCP/IP协议的主机 都会接收到这种广播信息,但只有DHCP服务器才会做出响应。

    2.2 DHCP Server提供阶段

      DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的 IP地址和其他设置的DHCP offer信息。

    2.3 DHCP Client选择阶段

      DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。

    2.4 DHCP Server确认阶段

      DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑。另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回之前为其提供的IP地址。

    2.5 DHCP Client重新登录

      以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给 DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

    2.6 DHCP Client更新租约

      DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户 机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的 信息。

    3.DHCP报文

    3.1 报文内容

    Op: 报文类型,分为 两大类: Request(1) 和 Reply(2)
    HW Type: 硬件类型,一般是以太网:1
    HW Len: 硬件地址长度,单位字节。对应以太网:6(mac地址长度为6字节48bit)
    Transaction ID:事务ID,随机数,有客户端生成,服务器Reply时,会把Request中的Transaction拷贝到Reply报文中。
    Secs: 距离第一次发射IP请求或Renew请求过去的秒数
    Flags:标志位,目前仅第一个bit有使用,置1 标明广播
    Client IP Address:当前客户端的IP地址,如果当前客户端没有IP地址,则置0
    Your IP Address: 服务器想客户端提供IP地址时,会把IP地址填入本字段
    (Next)Server IP Address:客户端引导时需要的另一个服务器的IP地址
    Gateway (Relay) IP Address: 网关(中继)IP地址,有DHCP 中继器在转发DHCP报文的时候填入
    Server Name: Server名字,有64bytes,一般不使用,填充为0
    Boot File name: boot file的路径,128bytes, 一般不使用,填充为0
    Option: 选项,不定长度。

    3.2 Option字段

    3.3 DHCP Message Type(53)

      在DHCP Option中,我们着重看下DHCP Message Type(53),DHCP Message Type标识DHCP消息类型,主要有一下类型:

    4.抓包分析

    详细的抓包分析可以参见Wireshark分析DHCP
    举例:服务器用DHCP ACK包对DHCP请求进行响应

    从上图可以看出,在数据包中包含以下信息,表示将这些资源信息分配给Client.
    Your(client) IP address:分配给Client的可用IP。
    DHCP Message Type(53):DHCP服务器发送的消息类型(ACK)
    Subnet Mask:Client端分配到的IP的子网掩码;
    Router:路由器
    Domain Name Server:DNS,域名服务器
    IP Address Lease Time:IP租用期


    原文链接:https://blog.csdn.net/lm409/article/details/80298225

  • 相关阅读:
    单表清除重复数据
    调用webApi封装
    简单写入本地日志,日志文件位置与主程序exe位置相同
    APPConfig.XML获取配置文件(主程序和Dll各自的)
    获取当前运行程序上一级目录指定文件夹,没有就创建文件夹
    shell脚本中的单引号和双引号以及反引号详解
    Linux shell中反引号(`)的应用
    关于网页 硬解 软解 H264 HEVC 和你电脑起飞了那点事
    浏览器支持H.265解码总结
    微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11557341.html
Copyright © 2011-2022 走看看