Open vSwitch: jaringan self-service

Open vSwitch: jaringan self-service

Contoh arsitektur ini menambah Open vSwitch: jaringan penyedia yang mendukung sejumlah hampir tak terbatas uituk jaringan virtual sepenuhnya. Meskipun layanan Networking mendukung jaringan self-service VLAN, contoh ini berfokus pada jaringan self-service VXLAN. Untuk informasi lebih lanjut tentang jaringan self-service, lihat Jaringan self-service.

Prasyarat

Tambahkan satu simpul jaringan dengan komponen berikut:

  • Tiga antarmuka jaringan: manajemen, penyedia, dan overlay.

  • OpenStack Networking Open vSwitch (OVS) layer-2 agent, layer-3 agent, dan apapun termasuk OVS.

Memodifikasi node komputasi dengan komponen berikut:

  • Tambahkan satu antarmuka jaringan: overlay.

Catatan

Anda dapat menjaga agen DHCP dan metadata pada setiap node komputasi atau memindahkan mereka ke node jaringan.

Arsitektur

Self-service networks using OVS - overview

Gambar berikut menunjukkan komponen dan konektivitas untuk satu jaringan self-service dan satu jaringan provider untagged (flat). Dalam kasus ini, instance berada pada node komputasi yang sama sebagai agen DHCP pada suatu jaringan. Jika agen DHCP berada pada node komputasi lain, agen yang terakhir hanya berisi namespace DHCP dan dengan port di jembatan integrasi OVS.

Self-service networks using OVS - components and connectivity - one network

Contoh configuration

Menggunakan konfigurasi contoh berikut sebagai template untuk menambahkan dukungan untuk jaringan self-service untuk lingkungan operasional yang ada yang mendukung jaringan penyedia.

Controller node

  1. Dalam file neutron.conf:

    • Aktifkan routing dan mengizinkan rentang alamat IP tumpang tindih.

      [DEFAULT]
      service_plugins = router
      allow_overlapping_ips = True
      
  2. Dalam file ml2_conf.ini:

    • Tambahkan vxlan untuk tipe driver dan tipe jaringan proyek.

      [ml2]
      type_drivers = flat,vlan,vxlan
      tenant_network_types = vxlan
      
    • Aktifkan driver mekanisme populasi layer-2.

      [ml2]
      mechanism_drivers = linuxbridge,l2population
      
    • Mengkonfigurasi kisaran ID (VNI) jaringan VXLAN.

      [ml2_type_vxlan]
      vni_ranges = VNI_START:VNI_END
      

      Ganti VNI_START dan VNI_END dengan nilai numerik yang sesuai.

  3. Restart layanan berikut:

    • Server

Network node (simpul jaringan)

  1. Menginstall OVS layer-2 agent dan OVS layer-3 agent layanan Networking.

  2. Menginstall OVS.

  3. Dalam file neutron.conf, konfigurasi opsi umum:

    [DEFAULT]
    core_plugin = ml2
    auth_strategy = keystone
    rpc_backend = rabbit
    notify_nova_on_port_status_changes = true
    notify_nova_on_port_data_changes = true
    
    [database]
    ...
    
    [keystone_authtoken]
    ...
    
    [oslo_messaging_rabbit]
    ...
    
    [nova]
    ...
    

    Lihat Installation Guide untuk rilis OpenStack Anda untuk mendapatkan konfigurasi yang sesuai untuk bagian [database], [keystone_authtoken], [oslo_messaging_rabbit], dan [nova].

  4. Mulai layanan berikut:

    • OVS
  5. Buat OVS provider bridge br-provider:

    $ ovs-vsctl add-br br-provider
    
  6. Dalam file openvswitch_agent.ini, lakukan konfigurasi agen layer-2.

    [ovs]
    bridge_mappings = provider:br-provider
    local_ip = OVERLAY_INTERFACE_IP_ADDRESS
    
    [agent]
    tunnel_types = vxlan
    l2_population = true
    
    [securitygroup]
    firewall_driver = iptables_hybrid
    

    Ganti OVERLAY_INTERFACE_IP_ADDRESS dengan alamat IP dari antarmuka yang menangani VXLAN overlays untuk jaringan self-service.

  7. Dalam file l3_agent.ini, konfigure layer-3 agent.

    [DEFAULT]
    interface_driver = openvswitch
    external_network_bridge =
    

    Catatan

    Opsi external_network_bridge sengaja tidak mengandung nilai.

  8. Mulai layanan berikut:

    • Open vSwitch agent
    • Layer-3 agent

Compute nodes

  1. Dalam file openvswitch_agent.ini, aktifkan dukungan VXLAN termasuk layer-2 population.

    [ovs]
    local_ip = OVERLAY_INTERFACE_IP_ADDRESS
    
    [agent]
    tunnel_types = vxlan
    l2_population = true
    

    Ganti OVERLAY_INTERFACE_IP_ADDRESS dengan alamat IP dari antarmuka yang menangani VXLAN overlays untuk jaringan self-service.

  2. Restart layanan berikut:

    • Open vSwitch agent

Verifikasi operasi layanan

  1. Dapatkan kredensial proyek administrasi.

  2. Memverifikasi keberadaan dan operasi dari agen.

    $ neutron agent-list
    +--------------------------------------+--------------------+----------+-------------------+-------+----------------+---------------------------+
    | id                                   | agent_type         | host     | availability_zone | alive | admin_state_up | binary                    |
    +--------------------------------------+--------------------+----------+-------------------+-------+----------------+---------------------------+
    | 1236bbcb-e0ba-48a9-80fc-81202ca4fa51 | Metadata agent     | compute2 |                   | :-)   | True           | neutron-metadata-agent    |
    | 457d6898-b373-4bb3-b41f-59345dcfb5c5 | Open vSwitch agent | compute2 |                   | :-)   | True           | neutron-openvswitch-agent |
    | 71f15e84-bc47-4c2a-b9fb-317840b2d753 | DHCP agent         | compute2 | nova              | :-)   | True           | neutron-dhcp-agent        |
    | 8805b962-de95-4e40-bdc2-7a0add7521e8 | L3 agent           | network1 | nova              | :-)   | True           | neutron-l3-agent          |
    | a33cac5a-0266-48f6-9cac-4cef4f8b0358 | Open vSwitch agent | network1 |                   | :-)   | True           | neutron-openvswitch-agent |
    | a6c69690-e7f7-4e56-9831-1282753e5007 | Metadata agent     | compute1 |                   | :-)   | True           | neutron-metadata-agent    |
    | af11f22f-a9f4-404f-9fd8-cd7ad55c0f68 | DHCP agent         | compute1 | nova              | :-)   | True           | neutron-dhcp-agent        |
    | bcfc977b-ec0e-4ba9-be62-9489b4b0e6f1 | Open vSwitch agent | compute1 |                   | :-)   | True           | neutron-openvswitch-agent |
    +--------------------------------------+--------------------+----------+-------------------+-------+----------------+---------------------------+
    

Menciptakan jaringan awal

Konfigurasi mendukung beberapa jaringan self-service VXLAN. Untuk mempermudah, prosedur berikut menciptakan satu jaringan self-service dan router dengan gateway di jaringan penyedia datar (flat provider network). Router menggunakan NAT untuk lalu lintas jaringan IPv4 dan router langsung me-rute lalu lintas jaringan IPv6.

Catatan

Konektivitas IPv6 dengan jaringan self-service sering membutuhkan penambahan rute statis untuk node dan infrastruktur jaringan fisik.

  1. Dapatkan kredensial proyek administrasi.

  2. Memperbaharui jaringan operator untuk mendukung konektivitas eksternal untuk jaringan self-service.

    $ neutron net-update --router:external provider1
    Updated network: provider1
    
  3. Dapatkan sumber kredensial proyek biasa (non-administratif).

  4. Membuat jaringan self-service.

    $ neutron net-create selfservice1
    Created a new network:
    +-------------------------+--------------------------------------+
    | Field                   | Value                                |
    +-------------------------+--------------------------------------+
    | admin_state_up          | True                                 |
    | availability_zone_hints |                                      |
    | availability_zones      |                                      |
    | description             |                                      |
    | id                      | 8fbc13ca-cfe0-4b8a-993b-e33f37ba66d1 |
    | ipv4_address_scope      |                                      |
    | ipv6_address_scope      |                                      |
    | mtu                     | 1450                                 |
    | name                    | selfservice1                         |
    | port_security_enabled   | True                                 |
    | router:external         | False                                |
    | shared                  | False                                |
    | status                  | ACTIVE                               |
    | subnets                 |                                      |
    | tags                    |                                      |
    | tenant_id               | f986edf55ae945e2bef3cb4bfd589928     |
    +-------------------------+--------------------------------------+
    
  5. Buat subnet IPv4 pada jaringan self-service..

    $ neutron subnet-create --name selfservice1-v4 --ip-version 4 \
      --dns-nameserver 8.8.4.4 selfservice1 192.168.1.0/24
    Created a new subnet:
    +-------------------+--------------------------------------------------+
    | Field             | Value                                            |
    +-------------------+--------------------------------------------------+
    | allocation_pools  | {"start": "192.168.1.2", "end": "192.168.1.254"} |
    | cidr              | 192.168.1.0/24                                   |
    | description       |                                                  |
    | dns_nameservers   | 8.8.4.4                                          |
    | enable_dhcp       | True                                             |
    | gateway_ip        | 192.168.1.1                                      |
    | host_routes       |                                                  |
    | id                | db1e5c17-2968-4533-8722-512c29fd1b88             |
    | ip_version        | 4                                                |
    | ipv6_address_mode |                                                  |
    | ipv6_ra_mode      |                                                  |
    | name              | selfservice1-v4                                  |
    | network_id        | 8fbc13ca-cfe0-4b8a-993b-e33f37ba66d1             |
    | subnetpool_id     |                                                  |
    | tenant_id         | f986edf55ae945e2bef3cb4bfd589928                 |
    +-------------------+--------------------------------------------------+
    
  6. Buat subnet IPv6 pada jaringan self-service...

    $ neutron subnet-create --name selfservice1-v6 --ip-version 6 \
      --ipv6-address-mode slaac --ipv6-ra-mode slaac \
      --dns-nameserver 2001:4860:4860::8844 selfservice1 \
      fd00:192:168:1::/64
    Created a new subnet:
    +-------------------+-----------------------------------------------------------------------------+
    | Field             | Value                                                                       |
    +-------------------+-----------------------------------------------------------------------------+
    | allocation_pools  | {"start": "fd00:192:168:1::2", "end": "fd00:192:168:1:ffff:ffff:ffff:ffff"} |
    | cidr              | fd00:192:168:1::/64                                                         |
    | description       |                                                                             |
    | dns_nameservers   | 2001:4860:4860::8844                                                        |
    | enable_dhcp       | True                                                                        |
    | gateway_ip        | fd00:192:168:1::1                                                           |
    | host_routes       |                                                                             |
    | id                | 6299cc4e-6581-4626-9720-03c808c662b3                                        |
    | ip_version        | 6                                                                           |
    | ipv6_address_mode | slaac                                                                       |
    | ipv6_ra_mode      | slaac                                                                       |
    | name              | selfservice1-v6                                                             |
    | network_id        | 8fbc13ca-cfe0-4b8a-993b-e33f37ba66d1                                        |
    | subnetpool_id     |                                                                             |
    | tenant_id         | f986edf55ae945e2bef3cb4bfd589928                                            |
    +-------------------+-----------------------------------------------------------------------------+
    
  7. Buat router.

    $ neutron router-create router1
    Created a new router:
    +-------------------------+--------------------------------------+
    | Field                   | Value                                |
    +-------------------------+--------------------------------------+
    | admin_state_up          | True                                 |
    | availability_zone_hints |                                      |
    | availability_zones      |                                      |
    | description             |                                      |
    | external_gateway_info   |                                      |
    | id                      | 17db2a15-e024-46d0-9250-4cd4d336a2cc |
    | name                    | router1                              |
    | routes                  |                                      |
    | status                  | ACTIVE                               |
    | tenant_id               | f986edf55ae945e2bef3cb4bfd589928     |
    +-------------------------+--------------------------------------+
    
  8. Tambahkan subnet IPv4 dan IPv6 sebagai interface pada router.

    $ neutron router-interface-add router1 selfservice1-v4
    Added interface 77ebe721-a7d3-457c-9534-bce4657da9da to router router1.
    
    $ neutron router-interface-add router1 selfservice1-v6
    Added interface 695e0993-394d-4c40-a338-d4ba4061491a to router router1.
    
  9. Tambahkan jaringan penyedia sebagai gateway pada router.

    $ neutron router-gateway-set router1 provider1
    Set gateway for router router1
    

Verifikasi operasi jaringan

  1. Pada setiap node komputasi, memverifikasi pembuatan kedua namespace qdhcp.

    # ip netns
    qdhcp-8b868082-e312-4110-8627-298109d4401c
    qdhcp-8fbc13ca-cfe0-4b8a-993b-e33f37ba66d1
    
  2. Pada node jaringan, memverifikasi pembuatan namespace qrouter.

    # ip netns
    qrouter-17db2a15-e024-46d0-9250-4cd4d336a2cc
    
  3. Dapatkan sumber kredensial proyek biasa (non-administratif).

  4. Buat aturan kelompok keamanan yang sesuai untuk mengizinkan ping dan instance akses SSH menggunakan jaringan.

    $ openstack security group rule create --proto icmp default
    +-----------------------+--------------------------------------+
    | Field                 | Value                                |
    +-----------------------+--------------------------------------+
    | id                    | 2b45fbf8-45db-486c-915f-3f254740ae76 |
    | ip_protocol           | icmp                                 |
    | ip_range              | 0.0.0.0/0                            |
    | parent_group_id       | d35188d0-6b10-4fb9-a6b9-891ed3feeb54 |
    | port_range            |                                      |
    | remote_security_group |                                      |
    +-----------------------+--------------------------------------+
    
    $ openstack security group rule create --proto ipv6-icmp default
    +-----------------------+--------------------------------------+
    | Field                 | Value                                |
    +-----------------------+--------------------------------------+
    | id                    | 2b45fbf8-45db-486c-915f-3f254740ae76 |
    | ip_protocol           | ipv6-icmp                            |
    | ip_range              | ::/0                                 |
    | parent_group_id       | d35188d0-6b10-4fb9-a6b9-891ed3feeb54 |
    | port_range            |                                      |
    | remote_security_group |                                      |
    +-----------------------+--------------------------------------+
    
    $ openstack security group rule create --proto tcp --dst-port 22 default
    +-----------------------+--------------------------------------+
    | Field                 | Value                                |
    +-----------------------+--------------------------------------+
    | id                    | 86e5cc55-bb08-447a-a807-d36e2b9f56af |
    | ip_protocol           | tcp                                  |
    | ip_range              | 0.0.0.0/0                            |
    | parent_group_id       | d35188d0-6b10-4fb9-a6b9-891ed3feeb54 |
    | port_range            | 22:22                                |
    | remote_security_group |                                      |
    +-----------------------+--------------------------------------+
    
  5. Meluncurkan sebuah instance dengan sebuah antarmuka di jaringan self-service. Misalnya, image CirrOS menggunakan flavor ID 1.

    $ openstack server create --flavor 1 --image cirros --nic net-id=NETWORK_ID selfservice-instance1
    

    Ganti NETWORK_ID dengan ID jaringan self-service.

  6. Tentukan alamat IPv4 dan IPv6 dari instance.

    $ openstack server list
    +--------------------------------------+-----------------------+--------+--------------------------------------------------------------+
    | ID                                   | Name                  | Status | Networks                                                     |
    +--------------------------------------+-----------------------+--------+--------------------------------------------------------------+
    | c055cdb0-ebb4-4d65-957c-35cbdbd59306 | selfservice-instance1 | ACTIVE | selfservice1=192.168.1.4, fd00:192:168:1:f816:3eff:fe30:9cb0 |
    +--------------------------------------+-----------------------+--------+--------------------------------------------------------------+
    

    Peringatan

    Alamat IPv4 berada dalam kisaran alamat IP private (RFC1918). Dengan demikian, layanan Networking melakukan terjemahan alamat jaringan sumber (source network address translation) (SNAT) untuk instance mengakses jaringan eksternal seperti Internet. Akses dari jaringan eksternal seperti Internet untuk instance memerlukan alamat IPv4 mengambang. Layanan Networking melakukan terjemahan alamat jaringan tujuan (destination network address translation) (DNAT) dari alamat IPv4 mengambang ke instance alamat IPv4 pada jaringan self-service . Di sisi lain, layanan arsitektur Networking untuk IPv6 memiliki dukungan untuk NAT karena ruang alamat secara signifikan lebih besar dan kompleksitas NAT. Dengan demikian, alamat IP mengambang tidak ada untuk IPv6 dan layanan Networking hanya melakukan routing untuk subnet IPv6 pada jaringan self-service. Dengan kata lain, Anda tidak dapat mengandalkan NAT untuk “hide” instance dengan alamat IPv4 dan IPv6 atau hanya alamat IPv6 dan harus benar menerapkan grup keamanan untuk membatasi akses.

  7. Pada kontroler simpul atau host dengan akses ke jaringan operator, ping alamat IPv6 dari instance.

    $ ping6 -c 4 fd00:192:168:1:f816:3eff:fe30:9cb0
    PING fd00:192:168:1:f816:3eff:fe30:9cb0(fd00:192:168:1:f816:3eff:fe30:9cb0) 56 data bytes
    64 bytes from fd00:192:168:1:f816:3eff:fe30:9cb0: icmp_seq=1 ttl=63 time=2.08 ms
    64 bytes from fd00:192:168:1:f816:3eff:fe30:9cb0: icmp_seq=2 ttl=63 time=1.88 ms
    64 bytes from fd00:192:168:1:f816:3eff:fe30:9cb0: icmp_seq=3 ttl=63 time=1.55 ms
    64 bytes from fd00:192:168:1:f816:3eff:fe30:9cb0: icmp_seq=4 ttl=63 time=1.62 ms
    
    --- fd00:192:168:1:f816:3eff:fe30:9cb0 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 1.557/1.788/2.085/0.217 ms
    
  8. Secara opsional, itu mengaktifkan akses IPv4 dari jaringan eksternal seperti Internet untuk instance.

    1. Membuat alamat IPv4 mengambang di jaringan operator.

      $ openstack ip floating create provider1
      +-------------+--------------------------------------+
      | Field       | Value                                |
      +-------------+--------------------------------------+
      | fixed_ip    | None                                 |
      | id          | 22a1b088-5c9b-43b4-97f3-970ce5df77f2 |
      | instance_id | None                                 |
      | ip          | 203.0.113.16                         |
      | pool        | provider1                            |
      +-------------+--------------------------------------+
      
    2. Mengasosiasikan alamat IPv4 mengambang dengan instance.

      $ openstack ip floating add 203.0.113.16 selfservice-instance1
      

      Catatan

      Command ini tidak memberikan output.

    3. Pada kontroler simpul atau host dengan akses ke jaringan operator, ping alamat IPv4 mengambang misalnya.

      $ ping -c 4 203.0.113.16
      PING 203.0.113.16 (203.0.113.16) 56(84) bytes of data.
      64 bytes from 203.0.113.16: icmp_seq=1 ttl=63 time=3.41 ms
      64 bytes from 203.0.113.16: icmp_seq=2 ttl=63 time=1.67 ms
      64 bytes from 203.0.113.16: icmp_seq=3 ttl=63 time=1.47 ms
      64 bytes from 203.0.113.16: icmp_seq=4 ttl=63 time=1.59 ms
      
      --- 203.0.113.16 ping statistics ---
      4 packets transmitted, 4 received, 0% packet loss, time 3005ms
      rtt min/avg/max/mdev = 1.473/2.040/3.414/0.798 ms
      
  9. Mendapatkan akses ke instance.

  10. Uji konektivitas IPv4 dan IPv6 ke Internet atau jaringan eksternal lainnya.

Arus lalu lintas jaringan

Bagian berikut menjelaskan arus lalu lintas jaringan di beberapa skenario umum. Lalu lintas jaringan North-south perjalanan antara instance dan jaringan eksternal sebagaimana Internet. Lalu lintas jaringan East-west perjalanan antara instance pada jaringan yang sama atau berbeda. Dalam semua skenario, infrastruktur jaringan fisik menangani switching dan routing antara jaringan penyedia dan jaringan eksternal sebagaimana Internet. Setiap kasus merujuk satu atau lebih dari komponen berikut:

  • Provider network (VLAN)
    • VLAN ID 101 (tagged)
  • Self-service network 1 (VXLAN)
    • VXLAN ID (VNI) 101
  • Self-service network 2 (VXLAN)
    • VXLAN ID (VNI) 102
  • Self-service router
    • Gateway pada jaringan penyedia

    • Interface on self-service network 1
    • Interface on self-service network 2
  • Instance 1
  • Instance 2

Skenario North-south 1: Instance dengan alamat IP tetap

Untuk instance dengan alamat IPv4 tetap, node jaringan melakukan SNAT pada lalu lintas utara-selatan melewati dari jaringan self-service ke jaringan eksternal seperti Internet. Untuk instance dengan alamat IPv6 tetap, node jaringan melakukan routing konvensional lalu lintas antara jaringan self-service dan jaringan eksternal.

  • Instance berada pada node komputasi 1 dan menggunakan jaringan self-service 1.

  • Instance mengirimkan sebuah paket ke host di Internet.

Langkah berikut yang melibatkan compute node 1:

  1. The instance interface (1) forwards the packet to the security group bridge instance port (2) via veth pair.
  2. Security group rules (3) pada security group bridge menangani firewall dan pelacakan koneksi paket.

  3. Security group bridge OVS port (4) meneruskan paket ke packet to the OVS integration bridge security group port (5) melalui pasangan veth.

  4. OVS integration bridge menambahkan tag VLAN internal untuk paket.

  5. OVS integration bridge menukar internal VLAN tag untuk internal tunnel ID.

  6. OVS integration bridge patch port (6) meneruskan paket ke OVS tunnel bridge patch port (7).

  7. OVS tunnel bridge (8) membungkus paket penggunaan VNI 101.

  8. The underlying physical interface (9) untuk jaringan overlay meneruskan paket ke node jaringan melalui jaringan overlay (10).

Langkah berikut melibatkan node jaringan:

  1. The underlying physical interface (11) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (12).

  2. OVS tunnel bridge membuka paket dan menambahkan internal tunnel ID ke paket.

  3. OVS tunnel bridge menukar internal tunnel ID ke internal VLAN tag.

  4. OVS tunnel bridge patch port (13) meneruskan paket ke OVS integration bridge patch port (14).

  5. OVS integration bridge port untuk jaringan self-service (15) menghapus tag VLAN internal dan meneruskan paket ke interface jaringan self-service (16) dalam namespace router.

    • Untuk IPv4, router melakukan SNAT pada paket yang mengubah alamat IP sumber ke alamat IP router pada jaringan provider dan mengirimkannya ke alamat IP gateway di jaringan provider melalui antarmuka gateway pada jaringan provider (17).

    • Untuk IPv6, router mengirimkan paket ke alamat IP next-hop, biasanya alamat IP gateway pada jaringan provider, melalui antarmuka gateway provider (17).

  6. Router meneruskan paket ke OVS integration bridge port untuk provider network (18).

  7. Jembatan integrasi OVS menambahkan tag VLAN internal untuk paket.

  8. OVS integration bridge int-br-provider patch port (19) meneruskan paket ke OVS provider bridge phy-br-provider patch port (20).

  9. OVS provider bridge menukar internal VLAN tag dengan actual VLAN tag 101.

  10. OVS provider bridge provider network port (21) meneruskan paket ke physical network interface (22).

  11. Antarmuka jaringan fisik meneruskan paket ke Internet melalui infrastruktur jaringan fisik (23).

Catatan

Lalu lintas kembali mengikuti langkah yang sama secara terbalik. Namun, tanpa alamat IPv4 mengambang, host pada jaringan penyedia atau jaringan eksternal tidak dapat berpangkal koneksi ke instance pada jaringan self-service.

Self-service networks using Open vSwitch - network traffic flow - north/south scenario 1

Skenarion north-south 2: Instance dengan alamat IPv4 mengambang

Untuk instance dengan alamat IPv4 mengambang, node jaringan melakukan SNAT pada lalu lintas utara-selatan meninggalkan dari instance ke jaringan eksternal seperti Internet, dan DNAT pada lalu lintas utara-selatan meninggalkan dari jaringan eksternal ke instance. Alamat IP mengambang dan NAT tidak berlaku untuk IPv6. Dengan demikian, node jaringan me-rute lalu lintas IPv6 dalam skenario ini.

  • Instance berada pada node komputasi 1 dan menggunakan jaringan self-service 1.

  • Sebuah host di Internet mengirimkan sebuah paket ke instance.

Langkah berikut melibatkan node jaringan:

  1. Infrastruktur jaringan fisik (1) meneruskan paket ke antarmuka jaringan fisik penyedia (2).

  2. Antarmuka jaringan fisik penyedia meneruskan paket ke OVS provider bridge provider network port (3).

  3. OVS provider bridge menukar VLAN tag 101 sebenarnya dengan VLAN tag internal.

  4. OVS provider bridge phy-br-provider port (4) meneruskan paket ke OVS integration bridge int-br-provider port (5).

  5. OVS integration bridge port untuk jaringan provider (6) menghapus tag VLAN internal dan meneruskan paket ke interface jaringan provider (6) dalam namespace router.

    • Untuk IPv4, router melakukan DNAT pada paket yang mengubah alamat IP tujuan ke alamat IP instance di jaringan self-service dan mengirimkannya ke alamat IP gateway di jaringan self-service melalui antarmuka self-service (7) .

    • Untuk IPv6, router mengirimkan paket ke alamat IP next-hop, biasanya alamat IP gateway di jaringan self-service, melalui antarmuka self-service (8).

  6. Router meneruskan paket ke OVS integration bridge port untuk jaringan self-service (9).

  7. OVS integration bridge menambahkan tag VLAN internal untuk paket.

  8. OVS integration bridge menukar internal VLAN tag untuk internal tunnel ID.

  9. OVS integration bridge patch-tun patch port (10) meneruskan paket ke OVS tunnel bridge patch-int patch port (11).

  10. OVS tunnel bridge (12) membungkus paket menggunakan VNI 101.

  11. The underlying physical interface (13) untuk overlay networks meneruskan paket ke node jaringan melalui jaringan overlay (14).

Langkah berikut melibatkan compute node:

  1. The underlying physical interface (15) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (16).

  2. OVS tunnel bridge membuka paket dan menambahkan internal tunnel ID ke paket.

  3. OVS tunnel bridge menukar internal tunnel ID ke internal VLAN tag.

  4. OVS tunnel bridge patch-int patch port (17) meneruskan paket ke OVS integration bridge patch-tun patch port (18).

  5. OVS integration bridge menghapus tag VLAN internal dari paket.

  6. OVS integration bridge security group port (19) meneruskan paket ke security group bridge OVS port (20) melalui pasangan veth.

  7. Security group rules (21) pada security group bridge menangani firewall dan pelacakan koneksi paket.

  8. Security group bridge instance port (22) meneruskan paket ke instance interface (23) melalui pasangan veth.

Self-service networks using Open vSwitch - network traffic flow - north/south scenario 2

Catatan

Egress instance traffic mengalir mirip dengan skenario utara-selatan 1, kecuali SNAT mengubah alamat IP sumber dari paket ke alamat IPv4 mengambang bukannya alamat IP router pada jaringan penyedia.

Skenario East-west 1: Instances pada jaringan yang sama

Instance dengan alamat IPv4/IPv6 tetap atau alamat IPv4 mengambang pada jaringan yang sama berkomunikasi secara langsung antara node komputasi yang berisi instance.

Secara default, protokol VXLAN tidak memiliki kecakapan tentang lokasi target dan menggunakan multicast untuk menemukan itu. Setelah penemuan, protokol VXLAN menyimpan lokasi di database forwarding lokal. Dalam pengerahan besar, proses penemuan dapat menghasilkan sejumlah besar jaringan yang semua node harus memproses. Untuk menghilangkan penemuan yang belakangan dan peningkatkan efisiensi secara umum, layanan Networking mempunyai driver mekanisme lapisan-2 populasi yang secara otomatis mengisi database forwarding untuk antarmuka VXLAN. Konfigurasi contoh mengaktifkan driver ini. Untuk informasi lebih lanjut, lihat :ref: config-plugin-ml2.

  • Instance 1 berada pada compute node 1 dan menggunakan jaringan self-service 1.

  • Instance 2 berada pada compute node 2 dan menggunakan jaringan self-service 1.

  • Instance 1 mengirimkan sebuah paket ke instance 2.

Langkah berikut yang melibatkan compute node 1:

  1. instance 1 interface (1) meneruskan paket ke security group bridge instance port (2) melalui pasangan veth.

  2. Security group rules (3) pada security group bridge menangani firewall dan pelacakan koneksi paket.

  3. Security group bridge OVS port (4) meneruskan paket ke packet to the OVS integration bridge security group port (5) melalui pasangan veth.

  4. OVS integration bridge menambahkan tag VLAN internal untuk paket.

  5. OVS integration bridge menukar internal VLAN tag untuk internal tunnel ID.

  6. OVS integration bridge patch port (6) meneruskan paket ke OVS tunnel bridge patch port (7).

  7. OVS tunnel bridge (8) membungkus paket penggunaan VNI 101.

  8. Antarmuka fisik yang mendasari (9) untuk jaringan overlay meneruskan paket ke komputasi node 2 melalui jaringan overlay (10).

Langkah berikut yang melibatkan compute node 2:

  1. The underlying physical interface (11) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (12).

  2. OVS tunnel bridge membuka paket dan menambahkan internal tunnel ID ke paket.

  3. OVS tunnel bridge menukar internal tunnel ID ke internal VLAN tag.

  4. OVS tunnel bridge patch-int patch port (13) meneruskan paket ke OVS integration bridge patch-tun patch port (14).

  5. OVS integration bridge menghapus tag VLAN internal dari paket.

  6. OVS integration bridge security group port (15) meneruskan paket ke security group bridge OVS port (16) melalui pasangan veth.

  7. Security group rules (17) pada security group bridge menangani firewall dan pelacakan koneksi paket.

  8. Security group bridge instance port (18) meneruskan paket ke instance 2 interface (19) melalui pasangan veth.

Self-service networks using Open vSwitch - network traffic flow - east/west scenario 1

Catatan

Traffic balik mengikuti langkah yang sama secara terbalik.

Skenario East-west 2: Instances pada jaringan yang berbeda

Instance yang menggunakan alamat IPv4/IPv6 tetap atau alamat IPv4 mengambang berkomunikasi melalui router pada node jaringan. Jaringan self-service harus berada pada router yang sama.

  • Instance 1 berada pada compute node 1 dan menggunakan jaringan self-service 1.

  • Instance 2 berada pada compute node 1 dan menggunakan self-service network 2.

  • Instance 1 mengirimkan sebuah paket ke instance 2.

Catatan

Kedua instance berada pada node komputasi yang sama untuk menggambarkan bagaimana VXLAN mengaktifkan beberapa lapisan (multiple overlays) untuk menggunakan jaringan layer-3 yang sama

Langkah berikut melibatkan compute node:

  1. The instance interface (1) forwards the packet to the security group bridge instance port (2) via veth pair.
  2. Security group rules (3) pada security group bridge menangani firewall dan pelacakan koneksi paket.

  3. Security group bridge OVS port (4) meneruskan paket ke packet to the OVS integration bridge security group port (5) melalui pasangan veth.

  4. OVS integration bridge menambahkan tag VLAN internal untuk paket.

  5. OVS integration bridge menukar internal VLAN tag untuk internal tunnel ID.

  6. OVS integration bridge patch-tun patch port (6) meneruskan paket ke OVS tunnel bridge patch-int patch port (7).

  7. OVS tunnel bridge (8) membungkus paket penggunaan VNI 101.

  8. The underlying physical interface (9) untuk jaringan overlay meneruskan paket ke node jaringan melalui jaringan overlay (10).

Langkah berikut melibatkan node jaringan:

  1. The underlying physical interface (11) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (12).

  2. OVS tunnel bridge membuka paket dan menambahkan internal tunnel ID ke paket.

  3. OVS tunnel bridge menukar internal tunnel ID ke internal VLAN tag.

  4. OVS tunnel bridge patch-int patch port (13) meneruskan paket ke OVS integration bridge patch-tun patch port (14).

  5. OVS integration bridge port untuk self-service network 1 (15) menghapus tinternal VLAN tag dan meneruskan paket ke self-service network 1 interface (16) dalam namespace router.

  6. Router mengirimkan paket ke alamat IP next-hop, biasanya alamat IP gateway pada self-service network 2, melalui self-service network 2 interface (17).

  7. Router meneruskan paket ke OVS integration bridge port untuk self-service network 2 (18).

  8. Jembatan integrasi OVS menambahkan tag VLAN internal untuk paket.

  9. OVS integration bridge menukar internal VLAN tag untuk internal tunnel ID.

  10. OVS integration bridge patch-tun patch port (19) meneruskan paket ke OVS tunnel bridge patch-int patch port (20).

  11. OVS tunnel bridge (21) membungkus paket menggunakan VNI 102.

  12. Antarmuka fisik yang mendasari (22) untuk jaringan overlay meneruskan paket ke node komputasi melalui jaringan overlay (23).

Langkah berikut melibatkan compute node:

  1. Antarmuka fisik yang mendasari (24) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (25).

  2. OVS tunnel bridge membuka paket dan menambahkan internal tunnel ID ke paket.

  3. OVS tunnel bridge menukar internal tunnel ID ke internal VLAN tag.

  4. OVS tunnel bridge patch-int patch port (26) meneruskan paket ke OVS integration bridge patch-tun patch port (27).

  5. OVS integration bridge menghapus tag VLAN internal dari paket.

  6. OVS integration bridge security group port (28) meneruskan paket ke security group bridge OVS port (29) melalui pasangan veth.

  7. Aturan kelompok keamanan (30) dari jembatan kelompok keamanan menangani firewall dan pelacakan koneksi paket.

  8. Security group bridge instance port (31) meneruskan paket ke instance interface (32) melalui pasangan veth.

Catatan

Traffic balik mengikuti langkah yang sama secara terbalik.

Self-service networks using Open vSwitch - network traffic flow - east/west scenario 2
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.