网络中的DHCP服务器会回应一个 DHCP offer 消息(IP地址租用提供),由于这个时候客户端还没有网络地址,所以 DHCP offer 也是通过广播的方式发送出去的。需要注意的是,由于网络中可能存在不止一台的DHCP服务器,所以,如果不考虑网络丢包的话,客户端将接收到不止一条的 DHCP offer 消息。那么客户端会选择它接收到的第一条 DHCP offer 作为获取配置的服务器。
客户机向该服务器发送 DHCP request 消息。虽然这个时候客户端已经明确知道选择的DHCP服务器的地址所在,但仍将采用广播的方式发送 DHCP request 消息,这样做不仅可以通知选中的服务器向客户端分配IP地址,同时也可以通知其他没有选中的DHCP服务器不需要再响应它的请求。在 DHCP request 消息中将包含客户端申请的IP地址。
DHCP服务器将回送 DHCP ACK 的响应消息对请求报文进行响应。
DHCP客户-服务器交互
链路层
对于一个主机体系结构,链路层的主题部分是在网络适配器中实现的(有时也被称为网络接口卡)。而在网络适配器也具有自己的链路层地址。链路层的地址有各种不同的叫法: LAN地址(LAN address),物理地址(physical address),MAC地址(MAC 地址) 。
既然有了网络层ip地址,为什么还要链路层的mac地址?那是因为要保证每层的独立性,假如在链路层的上层不是网络层,那么链路层该如何寻址?所以引入mac 地址。
那么在网络层和链路层之间适合转化的呢。这就是地址解析协议(ARP,Address Resolution Protocol)的功劳。ARP将一个ip地址解析为MAC地址的时候,很多方面与DNS类似。虽然DNS是将主机名解析成ip地址。
ip-mac地址
以上内容是最近看了几本书网络书籍的部分总结:
《计算机网络:自顶向下方法》 v6
《TCP/IP详解 卷一:协议》 v1