Meskipun pertanyaannya telah sepenuhnya dibahas. Saya merasa proses ini sebaiknya dijelaskan langkah demi langkah.
Untuk contoh ini, saya duduk di LAN pribadi yang terhubung ke Internet melalui router. Karena jaringan kami berbagi satu alamat IP publik, kami menggunakan NAT.
Jadi ketika saya meminta halaman superuser.com
yang akan menghasilkan banyak paket IP. Mari kita lihat satu.
Sumber Paket IP :
Tujuan ( : 192.168.1.12
IP saya)
: 64.34.119.12
(superuser.com)
Sekarang, sistem saya kemungkinan besar diatur mirip dengan yang dimaksud. Saya memiliki alamat IP saya sendiri ( 192.168.1.12
), subnet mask ( 255.255.255.0
) dan gateway default ( 192.168.1.1
). Sekarang, karena bidang Tujuan saya di paket IP saya menunjuk ke jaringan yang berbeda dari jaringan saya, itu dikirim ke gateway default saya (bukan ke komputer secara langsung).
Tapi bagaimana paket bisa sampai ke gateway default, jika Destination menunjuk ke tempat lain?
Ethernet
Itu mudah, karena kami menggunakan pengalamatan protokol Ethernet untuk itu. Kami hanya mengatur alamat IP tujuan kami dalam paket IP dan alamat MAC gateway default kami sebagai tujuan dalam Frame Ethernet .
Sekarang akan memastikan gateway default kami mendapatkan paket superuser.com
. Yay!
Sekarang gateway memiliki paket kami dan dapat mengirimkannya tepat di jalurnya. Tetapi untuk memastikan itu akan mendapatkan jawabannya, pertama-tama perlu mengganti alamat Sumber paket (jika tidak superuser.com
akan mencoba mengirim jawaban ke beberapa (mungkin) perangkat tidak ada dengan alamat IP saya di jaringan mereka. Sekarang tidak akan sangat bagus.)
Jadi router saya akan menempatkan alamat IP publiknya di bidang Source :
Sumber Paket IP :
Tujuan ( 92.69.127.243
IP publik saya)
: 64.34.119.12
(superuser.com)
Sekarang gim yang sama terus berjalan dengan semua router di dunia sampai paket akhirnya tiba superuser.com
dan sebuah jawaban dihasilkan.
Jawabannya
Jawab
Sumber Paket IP : 64.34.119.12
(superuser.com)
Tujuan: 92.69.127.243
(IP publik saya)
Ok, jawabannya sampai ke router saya, sekarang bagaimana? Bagaimana router saya sekarang tahu untuk mengirim jawabannya 192.168.1.12
?
TCP
Ya, itu benar-benar berfungsi karena kita hanya melihat bagian komunikasi IP dan Ethernet. Apa yang membuat ini berfungsi adalah bagian TCP.
Anda kemungkinan besar tahu bahwa server web biasanya berjalan di port 80
. IP tidak memiliki gagasan tentang port . Itu berasal dari TCP . Dalam TCP kami memiliki (seperti dalam IP) port sumber dan tujuan .
Paket TCP saya ke superuser.com
Sumber: 192.168.1.12
(IP saya)
Port Sumber: 11111
(port yang dibuat komputer saya)
Tujuan: 64.34.119.12
(superuser.com)
Port Tujuan:80
Ketika router Anda mengirim paket awal (yang ditujukan ke superuser.com
port 80
), ia akan meletakkan port sumber baru di sana (seperti 12345
).
Dan ini adalah bagian yang penting! Dia akan ingat penggantian itu!
Paket TCP router saya ke superuser.com
Sumber: 92.69.127.243
(IP publik saya)
Port Sumber: 12345
(port yang dibuat router saya)
Tujuan: 64.34.119.12
(superuser.com)
Port Tujuan:80
Jadi paket jawaban yang diterima oleh router sebenarnya terlihat seperti ini:
Jawab Paket TCP dari superuser.com
Sumber: 64.34.119.12
(superuser.com)
Sumber Port: 80
Tujuan: 92.69.127.243
(IP publik saya)
Port Tujuan: 12345
(port yang dibuat oleh router saya)
Jadi sekarang dia mendapatkan paket itu dan melihat bahwa itu untuk port yang sebelumnya diingat ditugaskan untuk operasi NAT untuk alamat IP 192.168.1.12
(alamat IP saya).
Jawab Paket TCP dari router saya
Sumber: 64.34.119.12
(superuser.com)
Port Sumber: 80
Tujuan: 192.168.1.12
(IP saya)
Port Tujuan: 11111
(port yang dibuat komputer saya)