我们知道,一台主机想要和其他主机进行通信,必须要有IP地址。那么,这个IP地址是怎么来的呢?和MAC地址不同的是,当你买了台笔记本电脑时,MAC地址就存储在网卡的只读存储器里,但IP地址是没有的。所以,IP地址需要靠你自己去设定。但自己配置需要了解IP地址的知识,需要配置IP地址、子网掩码以及网关地址等。所以,一般用户可能不会去配置IP。绝大部分情况下都是使用了动态主机配置协议DHCP去自动获取IP地址等信息。
DHCP的工作流程有四个步骤,分别是
DHCP discover:新主机发送广播包,说自己需要分配一个IP
DHCP offer:dhcp server收到了请求,发送一个广播包,告诉新主机被分配的ip等信息。
DHCP request:新主机收到dhcp server的消息,知道自己有了新ip。发送广播包,告诉dhcp server,自己知道了新分配的ip。
DHCP ack:广播一个消息包,告诉这个网络里的其他主机有新朋友加入了。
DHCP DISCOVE
当一台新主机(MAC地址是00:0b:82:01:fc:42)刚加入到一个网络时,这时候它是没有IP地址的,所以它需要去发送一个广播包,让这个网络的管理员DHCP SERVER收到数据包(dhcp server是专门用来分配ip及管理ip的)。广播包格式如下图
这里补充一个知识点:255.255.255.255是一个特殊的ip地址,做广播用途。但它广播的范围是有限了,传播到了网关就会停止传播。
DHCP OFFER
当dhcp server收到Boot Request时,就知道有新来的主机需要分配IP了,这个时候dhcp server也发送一个广播包(因为新来的主机还没有分配到IP),里面的信息是分配给新来主机的IP、子网掩码、租期等信息。
DHCP REQUEST
新主机收到了来自dhcp server的消息,知道了自己被分配到的IP,但这个时候,还不能用,必须要告诉dhcp server,我已经收到了ip地址。所以,还是需要发广播包告诉dhcp server。
DHCP ACK
当dhcp server收到boot request消息后,会广播返回给客户机一个 DHCP ACK 消息包,表明已经接受客户机的选择,并将这一 IP 地址的合法租用信息和其他的配置信息都放入该广播包,发给客户机,欢迎它加入网络大家庭。
至此,新主机有了自己的IP地址,之后发送数据包都会带上自己的IP了。
Atas ialah kandungan terperinci 详解DHCP协议——IP是怎么来的. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!