Network Address Translation (NAT)

Dalam FreeBSD, mekanisme Network Address Translation (NAT)
dijalankan oleh program Natd yang bekerja sebagai daemon. Network Address
Translation Daemon (Natd) menyediakan solusi untuk permasalahan
penghematan ini dengan cara menyembunyikan IP address jaringan internal,
dengan membuat paket yang di-generate di dalam terlihat seolah-olah dihasilkan
dari mesin yang memiliki IP address legal. Natd memberikan konektivitas ke
dunia luar tanpa harus menggunakan IP address legal dalam jaringan internal.
Natd menyediakan fasilitas Network Address Translation untuk digunakan
dengan socket divert. Natd mengubah semua paket yang ditujukan ke host lain
sedemikian sehingga source IP addressnya berasal dari mesin Natd. Untuk setiap
paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat
transaksi ini.
Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP
address legal, dilanggar.NAT bekerja dengan jalan mengkonversikan IP-IP
address ke satu atau lebih IP address lain. IP address yang dikonversi adalah IP
address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang
IP). IP address yang menjadi hasil konversi terletak di luar jaringan internal
tersebut dan merupakan IP address legal yang valid/routable.
Mekanisme NAT
Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah
field di dalamnya, salah satu field yang penting di sini adalah MAC (Media Access
Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal
dan tujuan.
Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP
address asal dan IP B sebagai IP address tujuan. Header ini juga berisi nomor
port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan
nomor port tujuan yang spesifik, misalnya port 80 (untuk web).
Kemudian B menerima paket pada port 80 dan memilih nomor port
balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi.
Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan
dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan
IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A.
Selama session terbuka, paket data hilir mudik menggunakan nomor port yang
dipilih.
Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal &
tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor
port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.
NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi
internal untuk semua IP address jaringan internal yang mengirim paket
melewatinya. Lalu men-set tabel nomor port yang akan digunakan oleh IP address
yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan
keluar, Natd melakukan hal-hal sebagai berikut:
1. Mencatat IP address dan port asal dalam tabel translasi
2. Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid
3. Menetapkan nomor port khusus untuk paket yang dikirim keluar,
memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut
dengan nomor port khusus ini.
Ketika paket balasan datang kembali, Natd mengecek nomor port
tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan
sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di
jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor
port dan IP address tujuan dengan IP address dan nomor port asal yang asli yang
digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di
jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi
masih terbuka.


Subscribe to receive free email updates:

0 Response to "Network Address Translation (NAT)"

Poskan Komentar