Ruang nama jaringan (Network namespaces)

Ruang nama jaringan (Network namespaces)

Sebuah namespace adalah cara scoping set of identifier tertentu. Menggunakan namespace, Anda dapat menggunakan identifier yang sama beberapa kali dalam namespace yang berbeda. Anda juga dapat membatasi identifier set visible proses tertentu.

Misalnya, Linux menyediakan namespace untuk jaringan dan proses, dan lain sebagainya. Jika suatu proses sedang berjalan dalam namespace proses, hal ini hanya bisa melihat dan berkomunikasi dengan proses lainnya dalam namespace yang sama. Jadi, jika shell dalam proses namespace tertentu berjalan ps waux, itu hanya akan menunjukkan proses-proses lain dalam namespace yang sama.

Linux network namespaces

Dalam namespace jaringan, scoped ‘identifiers’ adalah perangkat jaringan; sehingga perangkat jaringan tertentu, seperti eth0, ada dalam namespace tertentu. Linux dimulai dengan namespace jaringan default, jadi jika sistem operasi Anda tidak melakukan sesuatu yang istimewa, hal itu merupakan tempat dimana semua perangkat jaringan akan berlokasi. Tetapi juga memungkinkan untuk membuat namespace non-default lanjutan, dan menciptakan perangkat baru pada namespace itu, atau memindahkan perangkat yang ada dari satu namespace ke yang lain.

Setiap namespace jaringan juga memiliki tabel routing sendiri, dan sebenarnya ini adalah alasan utama untuk namespace ada. Sebuah tabel routing dengan key berupa alamat IP tujuan, sehingga namespace jaringan adalah apa yang Anda butuhkan jika Anda ingin alamat IP tujuan yang sama berarti hal berbeda pada waktu berbeda - dimana OpenStack Networking membutuhkan fitur-fiturnya untuk memberikan alamat IP yang tumpang tindih di berbagai jaringan virtual.

Setiap namespace jaringan juga telah menetapkan sendiri iptables (untuk IPv4 dan IPv6). Jadi, Anda dapat menerapkan keamanan berbeda mengikuti alamat IP yang sama dalam namespace yang berbeda, serta routing yang berbeda.

Setiap proses Linux yang ada berjalan dalam namespace jaringan tertentu. Secara default ini adalah warisan dari proses induknya, tetapi sebuah proses dengan kemampuan yang tepat dapat beralih dirinya menjadi namespace yang berbeda; dalam praktek ini banyak dilakukan dengan menggunakan invokasi :command: netns ip exec NETNS COMMAND ..., yang dimulai `` COMMAND`` berjalan di namespace bernama `` NETNS``. Misalkan proses tersebut mengirimkan pesan ke A.B.C.D alamat IP, efek dari namespace adalah bahwa A.B.C.D akan dicari dalam tabel routing dengan namespace ini, dan yang akan menentukan perangkat jaringan dimana pesan terkirim.

Virtual routing and forwarding (VRF)

Virtual routing dan forwarding adalah sebuah teknologi IP yang memungkinkan beberapa instance dari tabel routing untuk hidup berdampingan pada router yang sama pada waktu yang sama. Ini adalah nama lain untuk fungsi jaringan namespace yang dijelaskan di atas.

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.