
使用DHCP正常获取地址的过程中使用的是以下4种报文:\x0d\DHCPDiscover\x0d\DHCPOffer\x0d\DHCPRequest\x0d\DHCPAck
DHCP报文是封装在UDP报文中的。
UDP报文封装在IP报文里,IP报文封装在以太网报文里。
典型的DHCP过程是这样的:
1:客户机向服务器发送DHCP_DISCOVER报文,申请IP。
2:服务器向客户机返会DHCP_OFFER报文,指定一个将要分配的IP。
3:客户机向服务器发送DHCP_REQUEST报文,请求这个IP。
4:服务器PING几次(一般是3次)这个IP,如果没得到响应的话,就说明这个IP现在空闲,可以分配给客户机,所以向客户机发送DHCP_ACK报文,确认可以分配。如果得到相应,则发送DHCP_NAK报文,拒绝分配。
5:如果客户端收到DHCP_ACK,责发送一次免费ARP,判断这个IP是否已经被用。没有被用的话则绑定这个服务器分配来的IP,否则向服务器发送DHCP_DECLINE报文,拒绝这次分配。并重新执行第一步。
如果收到的是DHCP_NAK,则直接重新执行第一步。
大概过程是这样的,还有不明白的话再补充一下问题~
-----------------------------------------------------------
DHCP是应用层协议,UDP是传输层协议,IP是网络层协议,以太网是链路层协议。
数据在网络上传输的时候要自顶向下逐层封装的,关于这部份知识你可以参考一下TCP/IP分层模型。
客户机申请IP之前确实没有IP,DHCP_DISCOVER报文都是以广播形式发送的,IP头里的目的地址是255255255255,源地址是0000。
链路层目的地址是FF-FF-FF-FF-FF-FF,源地址是自己的mac地址。
这样服务器收到客户端发来的DISCOVER报文之后,会根据源mac地址向客户机发送单播的DHCP_OFFER报文。
这没什么思路,全靠对DHCP流程的了解
DHCP四个报文,discover,offer,Request,ACK
所以11是offer
对于DHCPoffer报文,可能采用单播,也可能采用广播,具体看flag
DHCP: 0 = no broadcast
这一行说明了采用的是单播
所以12(目的MAC地址)为001234567890
从DHCP: Client hardware address = 001234567890 找到
13(目的IP)为1921680180
从DHCP: Client address =[1921680180] 找到
14后面是68和67两个数字,这是DHCP使用的端口号,那么14肯定就是port
15,服务器的地址,那就是这个报文的源地址19216801
首先电脑开机,它默认是自动获得ip地址,它会向网络发送广播包,覆盖着各个网络,这个网络包的意思是该机器需要一个ip地址,如果在该网络中有dhcp服务器,他会识别并接收该广播包,并在数据包中识别其源,之后该服务器会回应该客户机,并会在其dhcp地址池中选定一个地址给该客户机,如果这时网络中有不止一个dhcp服务器,那么每个服务器的做法和上面的一样;这时
对客户机来说它会选择最先到达它这里的服务器的ip地址(如果没有做绑定的话),其它的就会忽略。
这是客户机获得地址
如果要想更新你要获得的地址可以由命令进行刷新
ipconfig
/release
它的意思是把当前的ip地址“丢掉”
清空;
ipconfig
/renew
它的意思是向dhcp服务器重新获得一个ip地址,具体原理和上面的一样。
望
能够帮到你!
注意其中的 DHCP Message Type 一项中 type=Request 表示这是一个请求报文。 如在以太网类型的网络中, CLIENT 会发出一个 ARP 请求来确定 DHCP
(1)需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。(2)本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。(3)DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池(address pool)中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)。
rom /media
2、然后安装DHCP服务器安装包 #rpm -ivh /media/Server/dhcp-305-3el5i386rpm
3、复制dhcp服务器配置示例文件到/etc下并改名为dhcpdconf
#cd /usr/share/doc/dhcp-305/
#cp dhcpdconfsample /etc/dhcpdconf这一步会有一个是否覆盖,写y就行了
4、修改dhcp服务器的配置文件:#vim /etc/dhcpdconf
此步骤我不能插入,就和你说明几点里面要修改的意思:
(1)option routers IP地址
作用:为客户端指定默认网关
(2)option subnet-mask 子网掩码
作用:设置客户端的子网掩码
(3)option domain-name-servers IP地址
作用:为客户端指定DNS服务器地址
5、启动dhcp服务器: #service dhcpd restart
如果可以的话还可以进行这一步:
#iptables -F 清掉防火墙规则
好了,到客户端自动获取IP地址就可以了!!
另外,站长团上有产品团购,便宜有保证
以上就是关于DHCP工作过程包括哪四种报文全部的内容,包括:DHCP工作过程包括哪四种报文、客户机向dhcp服务器请求获得IP地址的详细封包问题、计算机三级网络技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)