欢迎来到天天文库
浏览记录
ID:49614996
大小:57.15 KB
页数:15页
时间:2020-03-02
《DHCP 分配地址过程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在与读者的交流中,发现许多读者对DHCP服务的工作原理不是很清楚,如为什么DHCP服务报文不能穿越网关,在网络中有多台DHCP服务器时客户端到底该如何选择?各阶段的DHCP报文格式有哪些主要变化?DHCP客户端与DHCP服务器又是如何识别并建立通信的等。在此本文给出了具体介绍。11.4.4DHCP服务IP地址自动分配原理 DHCP在提供服务时,DHCP客户端是以UDP68号端口进行数据传输的,而DHCP服务器是以UDP67号端口进行数据传输的。DHCP服务不仅体现在为DHCP客户端提供IP地址自动分配过程中,还体现在后面的IP地址续约和释放过程中。本节仅介绍DHCP
2、客户端初次分配IP地址的过程。 在整个DHCP服务器为DHCP客户端初次提供IP地址自动分配过程中,一共经过了以下四个阶段,利用了表11-10中的前四个报文:发现阶段(DHCP客户端在网络中广播发送DHCPDISCOVER请求报文,发现DHCP服务器,请求IP地址租约)、提供阶段(DHCP服务器通过DHCPOFFER报文向DHCP客户端提供IP地址预分配)、选择阶段(DHCP客户端通过DHCPREQUEST报文确认选择第一个DHCP服务器为它提供IP地址自动分配服务)和确认阶段(被选择的DHCP服务器通过DHCPACK报文把在DHCPOFFER报文中准备的IP地址租约
3、给对应DHCP客户端)。在DHCP客户端在获得了一个IP地址以后,就可以发送一个免费ARP请求探测网络中是否还有其它主机使用IP地址,来避免由于DHCP服务器地址池重叠而引发的IP冲突。以上四个阶段如图11-19所示,相当于DHCP客户端与DHCP服务器的四次握手过程。具体描述如下:图11-19 DHCP客户端从DHCP服务器获取IP地址的四个阶段 (1)发现阶段:即DHCP客户端获取网络中DHCP服务器信息的阶段。在客户端配置了DHCP客户端程序(如在Windows系统中进行了如图11-16所示的配置)并启动后,以广播方式发送DHCPDISCOVER报文寻找网络中的
4、DHCP服务器。示例如下。 此广播报文采用传输层的UDP68号端口发送(封装的目的端口为UDP68号端口),经过网络层IP协议封装后,源IP地址为0.0.0.0(因为此时还没有分配IP地址),目的IP地址为255.255.255.255(有限广播IP地址)。如下是一个DHCPDISCOVER报文封装的IP报头示例,可以看到 DestinationAddress(目的地址)是 255.255.255.255,而SourceAddress(源地址)是 0.0.0.0。IP报头中的其它字段含义大家可以参见本书第7章7.3.4节相关内容。IP:ID=0x0;Proto=UDP
5、;Len:328IP:Version=4(0x4)IP:HeaderLength=20(0x14)IP:ServiceType=0(0x0)IP:Precedence=RoutineIP:...0....=NormalDelayIP:....0...=NormalThroughputIP:.....0..=NormalReliabilityIP:TotalLength=328(0x148)IP:Identification=0(0x0)IP:FlagsSummary=0(0x0)IP:.......0=LastfragmentindatagramIP:......0.=
6、MayfragmentdatagramifnecessaryIP:FragmentOffset=0(0x0)bytesIP:TimetoLive=128(0x80)IP:Protocol=UDP-UserDatagram !---使用UDP传输层协议IP:Checksum=0x39A6IP:SourceAddress=0.0.0.0 !---源IP地址为0.0.0.0IP:DestinationAddress=255.255.255.255 !----目的IP地址为255.255.255.255IP:Data:Numberofdatabytesremaining=
7、308(0x0134) 【经验之谈】在以上DHCPDISCOVER报文中IP报头中的目的地址(DestinationAddress)是255.255.255.255这个有限广播地址。这个有限广播地址就是代表任意一个IPv4子网的广播地址,当然是发送报文的主机所在的子网和DHCP服务器所在子网的广播地址,但因为此时DHCP客户端并不知道DHCP服务器所在的是哪个子网。下面所有其它DHCP报文中的255.255.255.255地址的含义也是一样的。 至于IP报头中的源地址(SourceAddress),由于当前DHCP客户端主机并未分配
此文档下载收益归作者所有