Neutron将关联DNAT功能的建模放在模型Floating IP中,我们摘取其中与DANT密切相关的字段,如下表:

表中字段所体现组网形式,如下图:

Floating IP从模型的角度,只与Router关联(关联字段是router_id),也就是上图Router_1。图中其余部件,是为了与Router_1一起构建DNAT用例的组网图。Floating IP的字段port_id,指的是图中的Port3,floating_ip_address是Port3的IP(182.34.4.2),fixed_ip_addrss(10.0.0.3)与floating_ip_address一起构成了DNAT转换规则。
1 出Port3的报文,如果源IP是fixed_ip_address(10.0.0.3),则将源IP转换为floating_ip_address(182.34.4.2),然后再转发。
2 入Port3的报文,如果目的IP是floating_ip_address(182.34.4.2),则将目的IP转换为fixed_ip_address(10.0.0.3),然后再转发。
当然,fixed_ip_address(10.0.0.3)最终需要与Neutron计算节点中的一个VM的IP相匹配(图中的VM1),不然报文发起和接收无从谈起。
该图,描述的是这样的通信过程。
1 Client访问VM1,它认为VM1的IP是182.34.4.2,于是它的报文的目的IP是182