Misalkan saya memiliki jaringan 2 komputer, masing-masing memiliki alamat jaringan pribadi 192.168.1.101 dan 192.106.1.102.
Untuk alamat ip publik saya, itu adalah 10.2.10.172.
Ketika saya membuat permintaan http ke google.com, komputer saya akan mengirimkan paket dengan alamat ip sumber 192.168.1.101 ke router dan NAT akan mengubahnya ke 10.2.10.172.
Pertanyaan saya adalah, ketika google.com mendapatkan permintaan, dan mengirim balasan kembali ke 10.2.10.172, bagaimana router mengetahui komputer mana yang harus dirutekan? (192.168.1.101 atau 192.168.1.102).
Saya berpikir tentang nomor port pada awalnya, tetapi saya pikir kita bisa browsing di situs web yang sama pada saat yang sama sehingga saya tidak tahu bagaimana cara kerjanya di sini.
Jawaban:
NAT
Jika Anda menggunakan statis (satu-ke-satu) NAT , router akan menetapkan
11.2.10.172
IP publik untuk PC pertama (misalnya192.168.1.101
) berusaha untuk mencapai google.com. Dalam hal ini, kedua PC tidak akan dapat berkomunikasi dengan google.com sekaligus, karena IP publik yang tersedia hanya sudah didistribusikan.Tabel NAT di router:
11.2.10.172 -> 192.168.1.101
PAT
Dalam kasus Anda, PAT (NAT overloading) adalah solusinya.
Dengan PAT, banyak alamat dapat dipetakan ke satu IP pribadi. Ketika perangkat memulai sesi TCP / IP, itu menghasilkan nomor port sumber TCP atau UDP untuk mengidentifikasi sesi secara unik. Ketika router menerima paket ini, ia menggunakan nomor port sumber untuk mengidentifikasi terjemahan secara unik.
Contoh
PC1 (
192.168.1.101
) membuat permintaan HTTP ke google.com (64.233.161.1
) dengan nomor port sumber acak (1444). PC1 akan mengirim paket denganDA: 64.233.161.1:80 | SA: 192.168.1.101:1444
. Ketika router menerima paket ini, ia menyisipkan11.2.10.172:1444 -> 192.168.1.101:1444
ke tabel NAT kemudian mengubah pengalamatan L3 paket keDA: 64.233.161.1:80 | SA: 11.2.10.172:1444
dan meneruskannya ke google.com.Google merespons dengan
DA: 11.2.10.172:1444 | SA: 64.233.161.1:80
. Router menerima paket ini dan menerjemahkannya untukDA: 192.168.1.101:1444 | SA: 64.233.161.1:80
kemudian meneruskannya ke PC1.Jika PC2 (
192.168.1.102
) mengirim paket dengan nomor port sumber yang sama seperti PC1, router hanya menambah nomor port dengan 1. Dalam hal itu tabel NAT akan terlihat seperti ini11.2.10.172:1444 -> 192.168.1.101:1444
11.2.10.172:1445 -> 192.168.1.102:1444
Saya harap ini sedikit membantu.
PEMBARUAN
Seperti yang diperhatikan @CraigConstantine,
10.2.10.172
masih ada di ruang alamat pribadi jadi saya telah mengubahnya11.2.10.172
.sumber
Perute Anda tahu ke mana harus merutekan lalu lintas karena ia memelihara tabel koneksi stateful yang merupakan sumber alamat IP: port dan tujuan Alamat IP: hubungan port. Ini dibuat berdasarkan aturan firewall Anda, kebijakan NAT, dan beberapa pengaturan lainnya (seperti batas waktu TCP dan UDP). Ada 4 kemungkinan status: BARU, TERKAIT, DIDIRIKAN dan INVALID. Berdasarkan aturan firewall Anda, firewall Anda menentukan status koneksi yang seharusnya. Jadi biasanya, Anda dapat membuat koneksi BARU keluar secara default, tetapi hanya koneksi TERKAIT atau DIDIRIKAN yang diizinkan masuk jika Anda membuat aturan NAT atau PAT dan mencocokkan kebijakan firewall. untuk mengizinkan ini.
Kemudian, baik berdasarkan aturan yang telah Anda konfigurasi (untuk kasus koneksi BARU) atau tabel koneksi yang ada (untuk kasus koneksi ESTABLISHED) paket akan diizinkan atau tidak diizinkan melalui.
Selain itu, tabel [ARP] dipertahankan yang membantu firewall untuk mengetahui apa alamat MAC fisik alamat IP yang sesuai.
sumber