Learning Openstack Part 13 Neutron(5) - 获取dhcp IP过程

在创建 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,整个过程结束。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,242评论 19 139
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,661评论 2 56
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,941评论 0 0
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,111评论 0 8
  • 文|马儿 室友,应该是一个很阳光的词语。 一群十多二十岁的年轻人,在校园里挥洒各自的青春。 在百度贴吧里有一个“室...
    黑白小森林阅读 594评论 8 8