Learning Openstack Part 13 Neutr

2017-07-27  本文已影响50人  drfung

在创建 instance 时,Neutron 会为其分配一个 port,里面包含了 MAC 和 IP 地址信息。这些信息会同步更新到 dnsmasq 的 host 文件。如下图所示:

dhcp_host.png

同时 nova-compute 会设置 虚拟机实例的 VIF 的 MAC 地址:

instance-mac.png

一切准备就绪,instance 获取 IP 的过程如下:

dhcp-get-ip.png
  1. cirros-vm1 开机启动,发出 DHCPDISCOVER 广播,该广播消息在整个 flat_net 中都可以被收到。
  2. 广播到达 veth tap,然后传送给 veth pair 的另一端 ns-ea6c0f3f-6e。dnsmasq 在它上面监听,dnsmasq 检查其 host 文件,发现有对应项,于是dnsmasq 以 DHCPOFFER 消息将 IP(192.168.88.109)、子网掩码(255.255.255.0)、地址租用期限等信息发送给虚拟机实例。
  3. cirros-vm1 发送 DHCPREQUEST 消息确认接受此 DHCPOFFER。
  4. dnsmasq 发送确认消息 DHCPACK,整个过程结束。
上一篇 下一篇

猜你喜欢

热点阅读