Ada kesalahpahaman umum antara NAT (Terjemahan alamat jaringan) dan PAT (Terjemahan Alamat Alamat), yang merupakan apa yang kebanyakan kami gunakan di router rumah kami.
NAT
Anggaplah kita memiliki jaringan dengan topologi berikut:
Private_Network <-------> Router <-------> The_Internet
Antarmuka Router yang terhubung ke Private_Network memiliki alamat IP pribadi , yaitu yang tidak unik di The_Internet . Di sisi lain, dalam kasus NAT , Router memiliki banyak antarmuka yang terhubung ke The_Internet . Setiap antarmuka memiliki alamat IP unik di The_Internet . Sekarang mari kita asumsikan bahwa Host_A dan Host_B berada di Private_Network dan mereka berdua inginkan untuk mengakses Website_X di The_Internet pada waktu yang sama. IP dan port Host_APaketnya adalah:
Sumber IP: Host_A 's swasta IP
sumber Pelabuhan: Sebuah port pada Host_A
tujuan IP: Website_X ' s publik / IP yang unik
Tujuan Port: Sebuah port mana Website_X server adalah mendengarkan
dan dengan cara yang sama untuk paket yang datang dari Host_B .
Jika Sumber IP dibiarkan tidak berubah, maka Website_X akan membalas ke alamat IP yang bersifat pribadi, yaitu tidak unik, dan oleh karena itu paket tidak akan pernah dapat menemukan jalan kembali. Untuk mengatasi masalah itu, Router memeriksa apakah salah satu alamat IP uniknya yang terhubung ke The_Internet tidak digunakan. Jika itu masalahnya, maka ia melakukan pemetaan berikut:
Host_A 's swasta IP ======= Router's_unique_IP_K
dan sekarang paket yang dimulai dari Host_A pergi ke Website_X dan sekarang meninggalkan antarmuka Router yang terhubung ke The_Internet akan memiliki bentuk:
Sumber IP: Router's_unique_IP_K
sumber Pelabuhan: Sebuah port pada Host_A
tujuan IP: Website_X 's publik / IP yang unik
Tujuan Port: Sebuah port mana Website_X ' Server s adalah mendengarkan
Dengan demikian Anda dapat memahami bahwa ada asosiasi satu-ke-satu dari IP pribadi ke IP publik. Oleh karena itu ketika paket tiba dari Website_X ke Router , asosiasi ini diperiksa dan alamat IP tujuan diubah kembali ke yang pribadi dan berhasil dikirim ke host yang tepat.
Seperti yang Anda lihat, metode ini cukup sederhana, tetapi memiliki satu kelemahan besar: setiap host pribadi harus memiliki alamat IP khusus, yang mahal, sehingga kami memilih untuk memiliki lebih sedikit alamat IP unik daripada host di jaringan pribadi. Oleh karena itu jika semua host pribadi mencoba mengakses The_Internet pada saat yang sama, hanya sebagian dari mereka, sama dengan jumlah alamat IP publik yang tersedia yang Routertelah, akan memiliki akses dan sisanya akan ditolak.
Untuk mengatasi itu, kami membuat PAT .
PAT
PAT adalah apa yang sebagian besar router rumah kami gunakan. Keterbatasan dasarnya adalah bahwa Router memiliki satu alamat IP unik yang terhubung dengan The_Internet , tetapi kami masih ingin mengizinkan beberapa host dari jaringan pribadi untuk mengakses The_Internet pada saat yang sama.
Cara kita melakukan itu "mirip" dengan cara NAT melakukannya dengan perbedaan utama: alih-alih Router memegang kumpulan alamat IP, ia memegang kumpulan nomor port. Lebih tepatnya, paket tiba di Router dari Host_A di Private_Network ditakdirkan untuk Website_X diThe_Internet akan memiliki format berikut:
Sumber IP: Host_A 's swasta IP
sumber Pelabuhan: Sebuah port pada Host_A
tujuan IP: Website_X ' s publik / IP yang unik
Tujuan Port: Sebuah port mana Website_X server adalah mendengarkan
Sekarang Router akan melakukan dua tugas:
- Ini akan mengubah IP Sumber ke IP publik DAN router yang unik
- Ini akan mengubah Source Port ke port dari pool yang dipertahankan oleh Router dan belum digunakan, misalnya Port_Z
dan sekarang paket yang dimulai dari Host_A pergi ke Website_X dan sekarang meninggalkan antarmuka Router yang terhubung ke The_Internet akan memiliki bentuk:
Sumber IP: Router's_unique_IP_K
sumber Pelabuhan: Port_Z
Destination IP: Website_X 's publik / IP yang unik
Tujuan Port: Sebuah port mana Website_X ' Server s adalah mendengarkan
dan Router akan menyimpan pemetaan berikut:
IP pribadi Host_A DAN port di Host_A ======= Port_Z
Mengapa ini bekerja?
Sekarang ketika sebuah paket kembali, Router hanya memeriksa nomor port tujuan dan mengubah alamat IP tujuan dan nomor port tujuan sesuai dengan pemetaan yang disebutkan sebelumnya dan paket akan berhasil dikirim.
Bagaimana jika saya menjalankan banyak aplikasi pada Host yang sama?
Aplikasi yang berbeda akan memiliki port yang berbeda, menurut definisi, sehingga mereka akan dipetakan ke port yang berbeda dari Router .
Bagaimana jika beberapa Host mencoba mengakses The_Internet secara bersamaan dan mereka semua menggunakan aplikasi yang sama?
Host yang berbeda akan memiliki alamat IP pribadi yang berbeda, menurut definisi, sehingga mereka akan dipetakan ke port yang berbeda dari Router .
PAT berbahaya menyeimbangkan dalam ruang abu-abu lintas-lapisan. Nomor port adalah bagian dari Protokol Transportasi sementara Router diizinkan beroperasi hingga Protokol Internet. Jadi secara teknis adalah sesuatu yang tidak diizinkan oleh protokol. Oleh karena itu ada, setidaknya secara teoritis, potensi bahaya: kolam pelabuhan terbatas. Karenanya jika jaringan pribadi saya terdiri dari 1000 Host dan masing-masing menjalankan aplikasi port_pool / 10, tabel pemetaan pada router akan kehabisan entri yang tersedia dan akses ke aplikasi akan ditolak.
Jawaban ini sangat melebihi panjang yang saya maksudkan, tapi saya harap itu membantu.