zoukankan      html  css  js  c++  java
  • 8.Cisco DHCP中继详解

    1.网络中的终端通过发送DHCP广播的方式来获取IP地址信息。由于VLAN隔离广播,当终端与DHCP服务器不在同一广播域时,就需要用到DHCP中继。

    2.DHCP服务的原理概述:  

      DHCP服务器想要给终端设备分配IP信息,需要获取两个重要的信息,终端所在的网段(即掩码)、对应设备的MAC地址。

      DHCP依靠前者来判断应当给对应设备分配那个地址池中的地址,然后依靠后者来维护IP和MAC之间的映射好以此来保证不会出现IP地址冲突。

    3.配置了ip helper-address命令的路由器工作过程:  

      1)DHCP客户端发送请求,由于没有ip地址,所以自己的源IP地址为0.0.0.0,而且也不知道目的DHCP服务器的地址,所以为广播255.255.255.255,即源IP为0.0.0.0;

      目的IP地址为255.255.255.255;源MAC地址为自己MAC地址;目的MAC地址为FF:FF:FF:FF:FF:FF;

      2)当路由器接收到该信息,则对其进行替换,用自己的接口地址(接收到数据报的接口,也就是终端所在网段网关)来取代源地址0.0.0.0,并且用ip help-address 命令中指定的地址来取代目的地址255.255.255.255,

      即源IP为(网关地址);目的IP地址为(ip helper-address指定地址);源MAC地址为终端MAC地址;目的MAC地址为(ip helper-address指定地址对应MAC地址);

      3)如此,当DHCP服务器接收到路由器转发来的信息后,同样可以获得相应的信息来确定网段和MAC地址与IP地址的映射,故而可以让终端获得相应的信息。

    4.ip helper-address功能不仅仅可以用于DHCP转发,其实通过全局命令 ip forward-protocol它可以转发任意UDP广播!当开启了这个命令,默认开启了8个缺省UDP转发端口。

      它们分别是是:TFTP(69)、DNS(53)、时间(37)、NETBIOS服务 (137)、N ETBIOS数据报服务(138)、BOOTP服务器(67)、BOOTP客户机(68)和终端访问控制器访问控制系统TACACS(49)。

      最后,如果你只用来转发DHCP,那默认开启不必要的端口很可能造成路由器过载,所以,请先使用全局命令来关掉所有的UDP转发,然后再单独开启DHCP转发  

      Router(config)#no ip forward-protocol udp 
      Router(config)#ip forward-protocol udp  bootps 
      Router(config)#ip forward-protocol udp  bootpc

    5.如果路由器上配置了多个ip helper-address 那么路由器会将终端的DHCP广播同时转发到指定的多个DHCP服务器。

      此时若两台DHCP服务器配置的是主主模式, 两个DHCP服务器都可以(并且应该)向客户端提供DCHP Offers。那么第一个响应的DHCP服务器会获胜。

  • 相关阅读:
    精简版的MySQL制作步骤
    WCF中常用的binding方式 z
    SQLite的.NET应用自适应32位/64位系统 z
    DEV GridControl 常用属性 z
    SpringBoot项目设置热部署
    SpringBoot整合Quartz定时任务
    单引号、双引号 转义符
    Java几种常见的四舍五入的方法
    Java集合之保持compareTo和equals同步
    你真的了解try{ return }finally{}中的return?(转载)
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/14011583.html
Copyright © 2011-2022 走看看