1、DHCP基础
    1.1 发现阶段,即DHCP客户端发现DHCP服务器的阶段。
    1.2 提供阶段,即DHCP服务器提供IP地址的阶段。
    1.3选择阶段,即DHCP客户端选择IP地址的阶段。
    1.4 确认阶段,即DHCP服务器确认所分配IP地址的阶段。
2、DHCP Snooping
3、DHCP Relay(中继)
4、一个关于DHCP Snooping与 DHCP Relay的小思考


1、DHCP 基础

DHCP 全称动态主机配置协议(Dynamic Host Configuration Protocol),用于给终端设备如 PC、IPad、手机等自动分配 IP地址。
       工作过程简洁高效,易于掌握,首先借着一张图介绍 DHCP 基本的工作原理:

从图上可以清晰看出,客户端通过 DHCP 协议获取IP地址等信息的过程可以分为四个步骤:

1.1 发现阶段,即 DHCP 客户端发现 DHCP 服务器的阶段。

DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。由于DHCP客户端不知道DHCP服务器的IP地址,所以DHCP客户端以广播方式发送DHCP DISCOVER报文(目的IP地址为255.255.255.255,源IP地址为0.0.0.0),同一网段内所有DHCP服务器都能收到此报文。

1.2 提供阶段,即 DHCP 服务器提供 IP 地址的阶段。

服务器接收到 DHCP DISCOVER 报文后,选择跟接收 DHCP DISCOVER报文接口的 IP 地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。DHCP OFFER 报文里面携带了希望分配给指定MAC地址客户端的IP地址(DHCP报文中的 yiaddr 字段)及其租期等配置参数。

1.3选择阶段,即DHCP客户端选择IP地址的阶段。

因为DHCP DISCOVER报文是广播发送的,所以如果同一网段内存在多个DHCP服务器,接收到DHCP DISCOVER报文的服务器都会回应DHCP OFFER报文。如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文。

以广播方式发送DHCP REQUEST报文,是为了通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他DHCP服务器可以重新将曾经分配给客户端的IP地址分配给其他客户端。

1.4 确认阶段,即DHCP服务器确认所分配IP地址的阶段。

当DHCP服务器收到 DHCP 客户端发送的 DHCP REQUEST 报文后,DHCP服务器回应 DHCP ACK 报文,表示 DHCP REQUEST 报文中请求的IP地址分配给客户端使用。

小结:DHCP工作过程四个步骤涉及四种数据包,分别是DISCOVER、OFFER、REQUEST、ACK。


2、DHCP Snooping

在企业实际网络环境中,经常会遇到电脑获取到错误IP地址等情况,导致无法正常上网,这是因为网络中非法接入了DHCP服务器(最常见的非法DHCP服务器就是TP-link家用路由器)。
这时候就需要在网络交换机上配置DHCP snooping功能来防止非法DHCP服务器给客户端分配IP地址。

DHCP Snooping不论从配置上还是工作原理上也都很简单,继续用一张图说明:

在二层网络接入设备(即交换机)启用DHCP Snooping场景中,一般将与合法DHCP服务器直接连接的接口设置为信任接口(如上图中的if1接口),其他接口设置为非信任接口(如上图中的if2接口),启用了DHCP Snooping功能的交换机会检测从每个接口收到的DHCP各类数据包,如果从非信任接口收到,则丢弃;使DHCP的四种数据包仅能从信任接口转发或者接受,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的DHCP Server仿冒者无法为DHCP客户端分配IP地址。

小结:DHCP Snooping在交换机上启用,并将连接合法服务器的接口设置为信任接口,其他接口默认都是非信任接口。


3、DHCP Relay(中继)

上面提到的DHCP客户端与服务器都在同一个网段,比较适用于家庭网络和小型企业网络。但在中到大型企业网络中,有很多网段,不推荐在每个网段都部署一个DHCP服务器,既不经济也不好管理。
       实际情况是,在大型网络中,往往采用一台高性能的服务器当作DHCP服务器,它只存在于一个网段。由于DHCP的工作高度依赖于广播,而我们知道广播包是不能跨网段传输的,所以正常情况下其他网段的客户端是无法获取IP地址的。

DHCP Relay的出现就是为了解决这个问题,用一张图说明:


      还是之前熟悉的四个步骤,不过这次在客户端与服务器中间多了一个DHCP中继设备,通常DHCP中继为网络中每个网段的网关设备(即启用了DHCP Relay功能的三层交换机)。

DHCP中继将从客户端接收到的广播报文转换成单播报文,这样报文就可以跨越网段进行传输。单播报文意味着明确且唯一的目的IP地址,所以开启DHCP中继的设备必须手工明确配置DHCP服务器的IP地址。
       有了DHCP中继,不论企业网络中有多少个IP网段,我们只需要在一个网段部署DHCP服务器,其他网段则由网关设备开启中继功能,这样整个网络都能通过DHCP服务器获取IP地址。

小结:在三层交换机的各个网段开启DHCP Relay功能,并手动指定DHCP服务器的IP地址,可实现整网共享一台DHCP服务器。


4、一个关于DHCP Snooping与 DHCP Relay的小思考

在一个部署了DHCP Relay的网络中,DHCP Snooping应该启用哪些设备上?
如图所示:

      其中有三个部门即三个网段,而DHCP服务器是一台路由器,不属于其中任意一个网段。
在这个网络中,每个包含DHCP客户端的二层网络中都应该启用DHCP Snooping,而仅包含 DHCP 服务器的二层网络是不需要启用DHCP Snooping的。

备注:客户端二层网络启用 DHCP Snooping 很好理解,而 DHCP 服务器二层网络无需启用 DHCP Snooping 的背后原因稍显复杂。
具体原因是当部署了DHCP Relay后,DHCP 服务器收到的 DHCP 各种报文一定是中继设备转换后的单播报文,单播报文有明确且唯一的目的IP,这时就不会存在仿冒 DHCP 服务器的问题
      而实际上如果真的在 DHCP 服务器二层网络中的交换机上启用了 DHCP Snooping 功能,它也是不会影响DHCP正常工作的,因为从中继设备发过来的单播 DHCP 报文里面UDP层源端口号已经被中继设备修改成UDP 67(而原始报文里则为UDP 68),交换机一旦检测到这点变化,就会自动忽略,正常转发DHCP各类报文,不做 DHCP Snooping 额外处理。

DHCP 服务原理:Snooping和Relay相关推荐

  1. Kali Linux常用服务配置教程DHCP服务原理

    Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...

  2. DHCP 服务原理与配置

    目录 1. DHCP 简介 2. DHCP 的好处 3. DHCP 的分配方式 4. DHCP 租约过程和续租 4.1 租约过程简述 4.2 租约过程详细解释 (1) 客户端进行 IP 请求 (2) ...

  3. 深入剖析DHCP服务IP地址自动分配原理

    以下内容摘自笔者最新出版的<深入理解计算机网络>一书,目前该书已在当当网和京东网上可以正式预订了: 当当网链接:http://product.dangdang.com/main/produ ...

  4. Linux DHCP 服务

    一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局 域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网 ...

  5. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

  6. DHCP协议详解及DHCP服务的配置

    目录 一.DHCP概念 1.1.什么是DHCP 1.2.DHCP的作用 1.3.DHCP的好处 1.4.DHCP的架构 二.DHCP工作原理 三.DHCP种的租期 四.DHCP服务的配置 4.1.情况 ...

  7. DHCP服务配置-Cisco模拟器

    DHCP服务配置(Cisco模拟器) 方法一. 利用三层交换机配置DHCP服务 1.拓扑图规划 2. 配置二层交换机vlan 3. 配置三层交换机vlan 4. 配置DHCP服务 5. 测试 方法二. ...

  8. 计算机网络05(DHCP服务)

    目录 一:DHCP协议 1.DHCP服务的定义 2.DHCP协议的作用 3.DHCP协议的服务端口 4.DHCP封装包的格式 二:DHCP 工作原理 1.DHCP大致服务流程 2.客户机获取ip地址过 ...

  9. linux服务篇-DHCP服务

    DHCP服务概述: 名称:DHCP  - Dynamic Host Configuration Protocol  动态主机配置协议 功能:DHCP(Dynamic Host Configuratio ...

最新文章

  1. 电脑怎么连蓝牙耳机_魅族蓝牙耳机POP2说明书 魅族蓝牙耳机POP2怎么样
  2. mysql使用参数指定用户_mysql-用户账号及权限管理
  3. win 7 系统ie浏览器升级11版本后,f12功能不可用的问题
  4. 如何通过页面静态化提升论坛性能
  5. 4个人的学校(转载)
  6. UVA1394 LA3882 POJ3517 And Then There Was One【约瑟夫环+数学】
  7. 7.数据对象映射模式
  8. 提取Flash芯片信息
  9. 2022最新短视频去水印解析API接口分享
  10. Redis的I/O多路复用
  11. 怎么设置计算机网络访问权限,Win7无Internet访问权限怎么解决?
  12. svg 组件用法 -- defs标签使用
  13. 【离散数学】数理逻辑 第一章 命题逻辑(5) 对偶式、对偶原理
  14. 浏览器前进后退静默刷新页面
  15. html中的列表、表格、表单
  16. bootloader的作用
  17. GSM与PHS空中接口有什么相同?
  18. java学习笔记-第八章:面向对象编程(中级部分)
  19. 一对一直播源码还有没有提升空间
  20. ArcGIS Server SOI的调试与触发

热门文章

  1. 这样设计是否更好些~仓储接口是否应该设计成基础操作接口和扩展操作接口
  2. CodeForces - 628D Magic Numbers(数位dp)
  3. 洛谷 - P6292 区间本质不同子串个数(SAM+LCT+线段树)
  4. HDU - 6118 度度熊的交易计划(最大费用可行流)
  5. SPOJ - LCS2 Longest Common Substring II(后缀自动机)
  6. python 3解释器_Python3解释器
  7. 每一个正整数可以表示为3个三角形数之和
  8. HDU3939(毕达哥拉斯三元组的解)
  9. [loj3056][hnoi2019]多边形
  10. 对现有的所能找到个DDOS代码(攻击模块)做出一次分析----TCP篇