zoukankan      html  css  js  c++  java
  • [DHCP服务]——DHCP详解

    DHCP:(Dynamic Host Configuration Protocol) 动态主机配置协议

    1. DHCP是一个局域网的网络协议,采用UDP协议工作

    2. DHCP作用

       (1)主要应用在大型的局域网环境中,用于给局域网中的主机动态地获得网络参数信息;

            (网络参数信息包括:IP地址、子网掩码、Gateway地址、DNS服务器地址等)

       (2)这种集中管理、分配IP地址的方式有利于提高地址的利用率、减少冲突,网络管理员也能够利用DHCP Server对局域网内的主机进行更好的管理。

    3.DHCP基本工作原理  

       DHCP Client和DHCP Server之间的数据传递过程如图所示:                         

                                           

    第一步:

    DHCP客户端在其局域网内广播发送DHCP Discover包,寻找该局域网内的DHCP服务器,其中:
         • 只要安装了TCP/IP协议的主机都能接受到这种广播,但只有DHCP服务器才作出回应
         • 源MAC是自己的MAC地址,目的MAC是FFFF.FFFF.FFFF的广播
         • 源IP是0.0.0.0(现在还没有IP,就用全0地址),目的IP是255.255.255.255的三层广播
         • DHCP Discover包含的内容有:客户机的MAC地址和主机名
         • DHCP Discover是UDP数据包

    第二步:

    DHCP服务器收到DHCP Discover后都会作出回应,根据客户端的MAC地址和自身的配置,有三种IP分配方式:
        • 若日志文件中有记录该MAC之前曾租用过某IP,且当前无人使用,则分配此IP
        • 若配置中有规定该MAC租用固定IP,则分配此IP
        • 若都没有,则从地址池中随机选取(有多个sunet时,它分配的一定是同一个局域网网段的那个)
        • 可以通过ARP广播的方式确认该IP地址是否被使用
    选取IP后将此IP标记,广播一个DHCP Offer包:
        • DHCP Offer包中包含:客户机的MAC地址,提供的合法IP,子网掩码,组约期限,服务器标识等参数
        • 此时客户机还没有IP地址,所以是以广播的方式发送。

    第三步:

    客户端收到DHCP Offer后,选择一个Offer包(即一个网络租约信息):
        • 如果该局域网内有多个DHCP服务器,则客户端会选择它收到的第一个offer包
    然后客户端会给该局域网中的所有主机发送广播包(DHCP Request):
        • 告知自己已接受的出租IP和DHCP服务器的IP。

    第四步:

    服务器收到Request包,服务器和客户机确认租约关系。
    服务器回送dhcp ack/dhcp nack包、告知期限、开始租约计时。
    ( 以dhcp ack包向客户机广播出去,当客户机确认了收之后,就配置自己的IP地址(和相关网络参数),完成初始化.)

    如果遇到客户端脱机或租约到期,则断线。

    总结来看:

                   

    4.Linux中与DHCP相关的文件、端口

    4.1 DHCP Server端

            (1) /etc/dhcp/dhcpd.conf

                 DHCP服务器的主要配置文件

            (2) /usr/sbin/dhcpd

                 启动整个DHCP daemon的脚本文件

            (3) /var/lib/dhcpd/dhcpd.leases

                 记录着服务器与客户端租约建立的起始日与到期日

                 大致看看其中的内容:

    # cat dhcpd.leases
    
    # The format of this file is documented in the dhcpd.leases(5) manual page.
    # This lease file was written by isc-dhcp-4.1.1-P1
    lease 172.16.10.2 {
      starts 3 2009/11/25 07:09:30;
      ends 3 2009/11/25 09:09:30;
      cltt 3 2009/11/25 07:09:30;
      binding state active;
      next binding state free;
      hardware ethernet 00:0c:29:ef:31:b6;
    }
    

      (4) /var/log/messages、 /var/log/boot.log

                查看dhcp相关日志的两个文件 

    4.2 DHCP Client端

          (1) /var/lib/dhclient/dhclient-eth0.leases

               记录着某网卡与dhcp服务器租约建立的起始日与到期日

               大致看看其中的内容:

    # cat /var/lib/dhclient/dhclient-eth0.leases 
    
    lease {
      interface "eth0";
      fixed-address 10.0.10.191;
      filename "pxelinux.0";
      option subnet-mask 255.255.0.0;
      option dhcp-lease-time 6000;
      option routers 10.0.0.254;
      option dhcp-message-type 5;
      option dhcp-server-identifier 10.0.0.254;
      option domain-name-servers 114.114.114.114,112.124.47.27;
      renew 2 2016/06/21 16:10:06;
      rebind 2 2016/06/21 16:54:56;
      expire 2 2016/06/21 17:07:26;
    }
    

           

    4.3 DHCP端口

           (1)Server端:67

           (2)Client端:68

    5. DHCP Relay(DHCP中继代理)

        如果DHCP Server和DHCP Client在同一个物理网段,则直接由这台Server给Client分配IP;

        如果不在同一个物理网段,则需要DHCP Relay。Client借由DHCP中继代理服务器寻找到DHCP Server。

        避免了在各个网段都设置一台DHCP Server以节约设备成本。

                            

                            

    6. DHCP基本原理在VMware的实验

  • 相关阅读:
    js把秒数转换为HH:MM:SS及时分秒格式
    java将流量KB转换为GB、MB、KB格式
    java将秒数转换为时分秒格式
    springboot前端向后端请求返回html语句
    java判断手机号三大运营商归属的工具类
    Java读取txt文件、excel文件的方法
    Linux安装JDK、Mysql和Tomcat
    原理篇—文件包含漏洞
    原理篇—上传漏洞
    原理篇—CSRF 跨站脚本请求伪造
  • 原文地址:https://www.cnblogs.com/snsdzjlz320/p/5608233.html
Copyright © 2011-2022 走看看