DHCP(动态主机配置协议)

来源:互联网 发布:监控软件 编辑:程序博客网 时间:2024/05/29 06:34

1.DHCP作用和结构

主机在访问Internet前,必须先配置如下信息:

IP地址

子网掩码

默认网关(或称默认路由器)地址

本地域名服务器地址

 

手工配置存在以下问题:

1)配置参数不容易获取

2)完成配置过程需要一定的网络技能



DHCP:Dynamic HostConfiguration Protocol,动态主机配置协议是一种自动为终端配置网络信息的协议。

需要设置专门的DHCP服务器。


DHCP是基于C/S结构的应用层协议

 

DHCP客户功能:

1)发起配置过程

2)管理从DHCP服务器获得的网络信息

 

DHCP服务器功能:

1)响应DHCP客户发送的配置请求

2)管理网络配置信息


 

2.DHCP无中继工作过程


2.1.DHCP请求报文封装过程

 

因为是请求分配,所以终端没有IP地址全0表示未知IP地址,DHCP服务器的IP地址对终端来说也是未知的全1表示广播。

目的MAC地址是全1,广播,源MAC地址是它自己的MAC地址。

 

2.2DHCP客户和DHCP服务器交互过程



终端发送的发现报文:

源IP地址是全0,目的IP地址是全1 广播 ,所有在网络范围里的DHCP服务器都能够接收到发现报文。

源MAC地址是MAC A,因为目的MAC地址是未知的,所以是全1  广播。

 

服务器发送回来的提供报文:

源IP地址是它自己的IP地址,目的IP地址是全1 表示广播。

源MAC地址是它自己的 服务器的MAC地址,目的MAC地址也是广播。

 

终端接收到提供报文后发送的请求报文;

源IP地址还是全0(因为还没有最终分配给它IP地址),目的IP地址还是全1(因为它有可能接收到多个DHCP提供给它的IP地址)。

源MAC地址是它自己的MAC地址,目的MAC地址是全1 采用广播的方式(让其它的DHCP服务器能接收到报文)。

 

DHCP服务器给它反馈回来的确认报文:

源IP地址是服务器的IP地址,目的IP地址还是全1(因为这个IP地址还没有配置到终端A上) 。

源MAC地址是它自己的MAC地址, 目的MAC地址还是全1。

 

[单独对于dhcp offer来说,到底是单播还是广播,取决于客户端发送的discover报文中的字段“Bootpflags”,它有两个字节,

如果最高位为1,代表回复的offer为广播,如果为0,代表回复的offer为单播,其余bits代表reserved,也就是该字段取值为以下时:

1、Bootp flags = 0x8000,offer为广播

2、Bootp flags = 0x0000,offer为单播

最后提一点,eNSP的Bootp flags=0x0000单播;win7的Bootp flags=0x8000广播;linux的Bootpflags=0x0000单播]

 

一系列交互后的配置信息:



3.DHCP中继工作过程



3.1没有中继地址时:

终端A的发现报文DHCP服务器接收不到(因为DHCP服务器和终端A不在同一个VLAN里面)

每一个VLAN设置DHCP服务器,管理(VLAN动态变化)和成本不可行。

3.2加入中继地址:

发挥路由器的功能,由路由器中继DHCP的请求,在路由器上设置一个DHCP服务器的地址,由路由器来传递DHCP的发现和请求报文。

DHCP服务器需要配置两个域,第一个是对应VLAN2,从它的默认网关来区分,第二个域对应VLAN1,

 

在VLAN1中是单播

在VLAN2中是广播


一系列交互后的配置信息:

 

 

4.小结

DHCP是为终端自动配置网络信息的协议

DHCP是基于C/S的应用层协议

通过DHCP中继过程解决多个VLAN共享一个DHCP服务器的问题

 

 

5.关键词知识点

VLAN:VLAN(Virtual Local Area Network)的中文名为"虚拟局域网",是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,

可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。

VLAN工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。

DHCP报文:DHCP报文是承载于UDP上的高层协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。

UDP:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)

 参考模型中一种无连接的传输层协议。

MAC帧:MAC帧是数据帧的一种。而所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。

其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。

 

6.相关阅读

小白都能看明白的VLAN原理解释

http://networking.ctocio.com.cn/470/13074470.shtml

DHCP报文解析

http://blog.chinaunix.net/uid-20530497-id-2203830.html

网络的基础知识--TCP/IP协议、IP分组、TCP传输

http://blog.csdn.net/zweina111/article/details/52389848

DHCP服务器回复数据包是单播还是广播的争议

http://blog.csdn.net/ixidof/article/details/5959552

 

 

 

原创粉丝点击