DHCP(动态主机配置协议)
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