OpenStack Networking

OpenStack Networking

OpenStack Networking memungkinkan Anda untuk membuat dan mengelola objek jaringan, seperti jaringan, subnet, dan port, dimana layanan OpenStack lainnya dapat menggunakan. Plug-in dapat diimplementasikan untuk mengakomodasi berbagai peralatan jaringan dan perangkat lunak, memberikan fleksibilitas untuk arsitektur OpenStack dan pengerahan.

Layanan Networking, code-named neutron, menyediakan API yang memungkinkan Anda menentukan konektivitas jaringan dan menangani di cloud. Layanan Networking memungkinkan para operator untuk memanfaatkan teknologi jaringan yang berbeda untuk daya jaringan cloud mereka. Layanan Networking juga menyediakan API untuk mengkonfigurasi dan mengelola berbagai layanan jaringan mulai dari L3 forwarding dan :term: NAT to load balancing, perimeter firewall, dan jaringan private virtual.

Ini mencakup komponen-komponen berikut:

API server

OpenStack Networking API mendukung Layer 2 jaringan dan IP address management (IPAM), serta ekstensi untuk konstruksi router Layer 3 yang memungkinkan routing antara jaringan Layer 2 dan gateway ke jaringan eksternal. OpenStack Networking meliputi growing list of plug-in yang memungkinkan interoperabilitas dengan berbagai teknologi jaringan komersial dan open source, termasuk router, switch, switch virtual dan software-defined networking (SDN) controller.

OpenStack Networking plug-in dan agents

Port plugs dan unplug, menciptakan jaringan atau subnet, dan menyediakan alamat IP. Pemilihan plug-in dan agen yang berbeda tergantung pada vendor dan teknologi yang digunakan di cloud tertentu. Hal ini penting untuk menyebutkan bahwa hanya satu plug-in dapat digunakan pada satu waktu.

Messaging queue

Menerima dan me-rute permintaan RPC antar agen-agen untuk menyelesaikan operasi API. Messaging queue digunakan dalam ML2 plug-in untuk RPC antara server neutron dan agen neutron yang berjalan di setiap hypervisor, dalam driver mekanisme ML2 Open vSwitch dan Linux bridge.

Concepts

Untuk mengkonfigurasi topologi rich network, Anda dapat membuat dan mengkonfigurasi jaringan dan subnet dan menginstruksikan layanan OpenStack lain seperti Compute untuk menempelkan perangkat virtual untuk port pada jaringan ini. OpenStack Compute adalah konsumen yang menonjol dari OpenStack Networking untuk menyediakan konektivitas untuk instance nya. Secara khusus, OpenStack Networking mendukung setiap tenant memiliki beberapa jaringan private dan memungkinkan tenant untuk memilih IP skema pengalamatan mereka sendiri, bahkan jika terjadi alamat IP tumpang tindih dengan alamat alamat dimana tenant lainnya menggunakan. Ada dua jenis jaringan, jaringan tenant dan jaringan provider. Hal ini dimungkinkan untuk berbagi salah satu jenis jaringan di antara tenant sebagai bagian dari proses pembuatan jaringan.

Provider networks

Jaringan penyedia menawarkan konektivitas lapisan-2 untuk instance dengan dukungan opsional untuk layanan DHCP dan metadata. Jaringan ini menghubungkan, atau memetakan, ke jaringan lapisan-2 yang ada di pusat data, biasanya penggunaan tagging VLAN (802.1q) untuk mengidentifikasi dan memisahkan mereka.

Jaringan provider umumnya menawarkan kesederhanaan, kinerja, dan kehandalan pada ongkos fleksibilitas. Hanya administrator dapat mengelola jaringan provider karena mereka memerlukan konfigurasi infrastruktur jaringan fisik. Juga, jaringan provider hanya menangani konektivitas lapisan-2 untuk instance, sehingga kurang dukungan untuk fitur seperti router dan alamat IP mengambang.

Dalam banyak kasus, operator yang sudah akrab dengan arsitektur jaringan virtual yang mengandalkan infrastruktur jaringan fisik untuk lapisan-2, lapisan-3, atau layanan lainnya secara mulus dapat mengerahkan layanan Networking OpenStack. Secara khusus, jaringan provider menarik bagi operator yang ingin bermigrasi dari layanan jaringan Compute (nova-network) ke layanan Networking OpenStack. Seiring dengan waktu, operator dapat membangun arsitektur minimal ini untuk mengaktifkan fitur jaringan cloud lebih banyak.

Secara umum, komponen software OpenStack Networking yang menangani operasi layer-3 berdampak pada kehbatan kinerja dan kehandalan. Untuk meningkatkan kinerja dan kehandalan, jaringan provider memindahkan operasi layer-3 untuk infrastruktur jaringan fisik.

Dalam satu kasus penggunaan tertentu, pengerahan OpenStack berada di lingkungan campuran dengan konvensional virtualisasi dan bare-metal host yang menggunakan infrastruktur jaringan fisik yang cukup besar. Aplikasi yang berjalan di dalam pengerahan OpenStack mungkin memerlukan akses layer-2 langsung, biasanya menggunakan VLAN, untuk aplikasi luar pengerahan itu.

Jaringan self-service

Jaringan self-service terutama mengaktifkan proyek umum (non-hak istimewa) untuk mengelola jaringan tanpa melibatkan administrator. Jaringan ini sepenuhnya virtual dan membutuhkan router virtual untuk berinteraksi dengan jaringan provider dan jaringan eksternal seperti Internet. Jaringan self-service juga biasanya menyediakan layanan DHCP dan metadata untuk instance.

Dalam kebanyakan kasus, jaringan self-service menggunakan protokol overlay seperti VXLAN atau GRE karena mereka dapat mendukung lebih banyak jaringan segmentasi lapisan-2 penggunaan VLAN tagging (802.1q). Selanjutnya, VLAN biasanya membutuhkan konfigurasi tambahan infrastruktur jaringan fisik.

IPv4 self-service networks typically use private IP address ranges (RFC1918) and interact with provider networks via source NAT on virtual routers. Floating IP addresses enable access to instances from provider networks via destination NAT on virtual routers. IPv6 self-service networks always use public IP address ranges and interact with provider networks via virtual routers with static routes.

The Networking service implements routers using a layer-3 agent that typically resides at least one network node. Contrary to provider networks that connect instances to the physical network infrastructure at layer-2, self-service networks must traverse a layer-3 agent. Thus, oversubscription or failure of a layer-3 agent or network node can impact a significant quantity of self-service networks and instances using them. Consider implementing one or more high-availability features to increase redundancy and performance of self-service networks.

User membuat jaringan tenant untuk konektivitas dalam proyek. Secara default, mereka sepenuhnya terisolasi dan tidak dibagi dengan proyek-proyek lainnya. OpenStack Networking mendukung jenis jaringan isolasi dan overlay teknologi.

Flat

Semua instance berada pada jaringan yang sama, yang juga dapat dibagi dengan host. Tidak ada VLAN tagging atau segregasi jaringan lainnya berlangsung.

VLAN

Jaringan memungkinkan user untuk membuat beberapa jaringan provider atau jaringan tenant menggunakan ID VLAN (802.1Q tag) yang sesuai dengan VLAN yang ada dalam jaringan fisik. Hal ini memungkinkan instance untuk berkomunikasi satu sama lain di lingkungan. Mereka juga dapat berkomunikasi dengan dedicated server, firewall, load balancer, dan infrastruktur jaringan lain pada layer 2 VLAN yang sama.

GRE dan VXLAN

VXLAN dan GRE adalah protokol enkapsulasi yang membuat jaringan overlay untuk mengaktifkan dan mengendalikan komunikasi antara compute instance. Sebuah router Jaringan diperlukan untuk memungkinkan traffic mengalir di luar jaringan GRE atau jaringan tenant VXLAN. Sebuah router juga diperlukan untuk menghubungkan jaringan tenant directly-connected dengan jaringan eksternal, termasuk Internet. Router memberikan kemampuan untuk berhubungan langsung dengan instance dari jaringan eksternal menggunakan floating IP addresses.

Tenant and provider networks

Subnet-subnet

Sebuah blok alamat IP dan kondisi konfigurasi yang bersangkutan. Hal ini juga dikenal sebagai IPAM asli (IP Address Management) yang disediakan oleh layanan jaringan untuk kedua jaringan tenant dan provider. Subnet digunakan untuk mengalokasikan alamat IP ketika port baru diciptakan pada jaringan.

Subnet pools

Pengguna akhir biasanya dapat membuat subnet dengan alamat IP yang valid tanpa pembatasan lainnya. Namun, dalam beberapa kasus, itu bagus untuk admin atau penyewa untuk pre-define pool alamat yang membuat subnet dengan alokasi otomatis.

Menggunakan subnet pool memaksa user alamat dengan mewajibkan setiap subnet berada dalam pool yang telah ditetapkan. Hal ini juga mencegah alamat reuse atau tumpang tindih dengan dua subnet dari pool yang sama.

Lihat Subnet pools untuk informasi lebih lanjut.

Ports

Sebuah port adalah titik koneksi untuk melekatkan satu perangkat, seperti NIC dari server virtual, ke jaringan virtual. Port juga mendeskripsikan konfigurasi jaringan yang terkait, seperti MAC dan alamat IP yang akan digunakan pada port tersebut.

Routers

Router menyediakan layanan lapisan-3 virtual seperti routing dan NAT antara jaringan self-service dan jaringan provider atau antar jaringan self-service milik proyek. Layanan Networking menggunakan agen lapisan-3 untuk mengelola router melalui namespaces.

Grup keamanan (Security groups)

Kelompok keamanan menyediakan kontainer untuk aturan firewall virtual yang mengontrol masuknya (inbound ke instance) dan jalan keluar (outbound dari instance) lalu lintas jaringan di tingkat port. Kelompok keamanan menggunakan default menyangkal kebijakan dan hanya berisi aturan yang mengizinkan lalu lintas tertentu. Setiap port dapat referensi satu atau lebih kelompok keamanan dalam model aditif. Driver firewall menerjemahkan aturan kelompok keamanan ke konfigurasi untuk teknologi penyaringan paket yang mendasari seperti iptables.

Setiap proyek berisi grup keamanan default yang memungkinkan semua lalu lintas jalan keluar (egress traffic) dan menyangkal semua lalu lintas masuknya (ingress traffic). Anda dapat mengubah aturan dalam grup keamanan default. Jika Anda memulai sebuah instance tanpa menentukan kelompok keamanan, grup keamanan default otomatis berlaku untuk itu. Demikian pula, jika Anda membuat sebuah port tanpa menentukan kelompok keamanan, grup keamanan default otomatis berlaku untuk itu.

Catatan

Jika Anda menggunakan layanan metadata, penghapusan akses penolakan aturan egress default ke TCP port 80 pada 169.254.169.254, maka hal ini merupakan pencegahan instance untuk mengambil metadata.

Aturan kelompok keamanan adalah stateful. Dengan demikian, pengaktifan ingress TCP port 22 untuk secure shell secara otomatis membuat aturan yang mengizinkan lalu lintas egress kembali dan membuat pesan kesalahan ICMP yang melibatkan konektor TCP.

Secara default, semua kelompok keamanan berisi serangkaian aturan dasar (sanity) dan anti-spoofing yang melakukan tindakan berikut:

  • Mengizinkan lalu lintas jalan keluar (egress traffic) hanya jika hal ini menggunakan alamat MAC sumber dan alamat IP dari port instance, kombinasi MAC sumber dan IP dalam allowed-address-pairs, atau alamat MAC valid (port atau ``allowed-address-pairs`) dan alamat IPv6 link-local EUI64 terkait.

  • Mengizinkan penemuan DHCP egress dan permintaan pesan yang menggunakan alamat MAC sumber dari port untuk instance dan alamat IPv4 yang tidak ditentukan (0.0.0.0).

  • Mengizinkan tanggapan DHCP dan DHCPv6 ingress dari server DHCP di subnet sehingga instance dapat memperoleh alamat IP.

  • Menolak tanggapan DHCP dan DHCPv6 egress untuk mencegah instance dari tindakan sebagai server DHCP (v6).

  • Mengizinkan ICMPv6 MLD ingress/egress, permintaan tetangga, dan pesan penemuan tetangga sehingga instance dapat menemukan tetangga dan bergabung dengan kelompok multicast.

  • Menolak advertisement router ICMPv6 egress untuk mencegah instance dari tindakan sebagai router IPv6 dan lalu lintas IPv6 forwarding untuk instances lain.

  • Mengizinkan laporan ICMPv6 MLD egress (v1 dan v2) dan pesan permintaan tetangga yang menggunakan alamat MAC sumber dari instance tertentu dan alamat IPv6 tidak ditentukan (: :). Duplicate address detection (DAD) bergantung pada pesan ini.

  • Mengizinkan lalu lintas non-IP egress dari alamat MAC dari port instance dan setiap alamat MAC tambahan dalam allowed-address-pairs pada port instance.

Meskipun lalu lintas non-IP, kelompok keamanan tidak secara implisit mengizinkan semua lalu lintas ARP. Aturan penyaringan ARP terpisah mencegah kasus menggunakan ARP untuk mencegat lalu lintas untuk instance lain. Anda tidak dapat menonaktifkan atau menghapus aturan ini.

Anda dapat menonaktifkan kelompok keamanan termasuk aturan dasar dan anti-spoofing dengan menetapkan atribut port port_security_enabled menjadi False.

Extensions

Layanan OpenStack Networking adalah extensible. Ekstensi melayani dua tujuan: mereka memungkinkan pengenalan fitur baru di API tanpa memerlukan perubahan versi dan mereka memungkinkan pengenalan vendor fungsi niche tertentu. Aplikasi secara pemrograman bisa mendaftar ekstensi yang tersedia dengan melakukan GET pada URI /extensions. Catatan ini adalah permintaan berversi; yaitu, perpanjangan yang tersedia dalam satu versi API mungkin tidak tersedia di versi lain.

DHCP

Layanan DHCP opsional mengelola alamat IP untuk instance pada jaringan provider dan self-service. Layanan Networking mengimplementasikan layanan DHCP penggunaan agen yang mengelola layanan namespaces qdhcp dan dnsmasq

Metadata

Layanan metadata opsional menyediakan API untuk instance untuk mendapatkan metadata seperti kunci SSH.

Layanan dan komponen hirarki

Server

  • Menyediakan API, manages database, dll

Plug-in

  • Manages agents

Agents

  • Memberikan connectivity layer 2/3 ke instances

  • Mengurus physical-virtual network transition

  • Mengurus metadata, dll

Layer 2 (Ethernet dan Switching)

  • Linux Bridge
  • OVS

Layer 3 (IP dan Routing)

  • L3
  • DHCP

Aneka ragam (Miscellaneous)

  • Metadata

Layanan-layanan

Layanan routing

VPNaaS

Virtual Private Network-as-a-Service (VPNaaS) adalah ekstensi neutron yang memperkenalkan set fitur VPN.

LBaaS

Ketentuan API Load-Balancer-as-a-Service (LBaaS) dan mengkonfigurasi load balancer. Implementasi referensi didasarkan pada load balancer software HAProxy.

FWaaS

API Firewall-as-a-Service (FWaaS) adalah API eksperimental yang mengaktifkan pengadopsi awal dan vendor untuk menguji implementasi jaringan mereka.

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.