码迷,mamicode.com
首页 > 其他好文 > 详细

DHCP原理详解

时间:2015-11-20 00:21:55      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:网络管理员   ip地址   idc机房   服务器   服务端   

 DHCP全称为动态主机配置协议(Dynamic Host Configure Protocol)。从名字我们就可以看出来,这是一个动态的配置主机的协议。DHCP是用来实现给主机自动分配IP地址,从而来减轻网络管理员手动配置IP地址的繁琐。当我们面临几十台的主机还无法体现出这个“繁琐”,但当我们面临一个企业几百台或者是IDC机房上千台主机的时候,你就感受到痛苦了。

  DHCP是一个C/S(C:客户端,S:服务器端)架构的协议,所以需要提供一个DHCP服务器,在Linux中,DHCP的服务器端软件是DHCPD。DHCP协议的监听端口与其他协议有所不同,分为两个:服务端为67,客户端为68。服务器端和客户端都使用相应的端口监听/发送DHCP协议消息。

  客户机从DHCP获取IP地址的过程我们称为DHCP租约过程,分为四个步骤:

技术分享

接下来我们通过抓包的方式详细谈一谈这四个步骤:

  1.客户端请求IP地址:

  客户机发起一个DHCP Discover包,用来请求IP地址:技术分享

 继续进一步分析这个Discover包,可以看到:

  1)目标MAC地址为广播地址(Destination:ff:ff:ff:ff:ff:ff),源MAC地址为客户机MAC地址(Source:00:0c:29:97:15:cb)。

  2)目标IP地址为广播地址(Destination:255.255.255.255),源IP地址为0.0.0.0

  3)目标端口为67,源端口为68

技术分享

  2.服务器响应:

  服务器发送一个DHCP Offer包,响应客户机的请求:

技术分享  继续进一步分析DHCP Offer包,可以看到:

  1)源MAC地址为DHCP服务器的地址(08:10:78:20:99:20),目标MAC地址为广播地址(ff:ff:ff:ff:ff:ff)

  2)源IP地址为DHCP服务器的地址(172.16.100.1),目标IP地址为广播地址(255.255.255.255)

  3)源端口号为服务器端端口号(67),目标端口号为客户端端口号(68)

技术分享

 3.客户端回应(选择IP地址)

明天补上

本文出自 “SystemCall社区” 博客,请务必保留此出处http://minux.blog.51cto.com/8994862/1714849

DHCP原理详解

标签:网络管理员   ip地址   idc机房   服务器   服务端   

原文地址:http://minux.blog.51cto.com/8994862/1714849

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!