Ini adalah pertanyaan teori kecil yang telah membingungkan saya untuk waktu yang cukup lama.
Pada dasarnya, jika kita berada di dalam LAN pribadi, dan kami ingin paket yang masuk untuk menjangkau, misalnya, server HTTP yang terletak di salah satu mesin, kami meneruskan port sehingga paket yang masuk mencapai persis komputer itu.
Sekarang, saya cukup bingung bagaimana paket 'response' mencapai tujuan mereka di dalam LAN, seperti, ketika kita membuka halaman web atau lebih. Tidak dapat menemukan informasi berguna tentang topik itu.
Saya harap seseorang dapat memberi saya beberapa petunjuk atau menautkan saya ke beberapa informasi yang mungkin menjelaskannya. Terima kasih.
EDIT: Saya pikir saya harus mengklarifikasi. Contoh dari apa yang saya tanyakan adalah seperti ini:
1. Komputer di dalam LAN dengan IP eksternal tunggal mencoba memuat halaman web dari server web di luar LAN ini (Pada dasarnya di Internet)
2 Server web merespons dan mengirim halaman web kembali ke komputer itu.
Yang cukup membingungkan saya pada saat ini adalah, bagaimana router mengetahui komputer apa yang mengirim data yang masuk (mengingat router terhubung ke LAN dengan banyak komputer) tanpa port forwarding sebelumnya.
Jawaban:
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
port80
), ia akan meletakkan port sumber baru di sana (seperti12345
).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)sumber
Terjemahan Alamat Jaringan . Secara singkat, ketika router gateway LAN pribadi mengganti alamat sumber LAN privat dengan alamat publiknya sendiri, ia memodifikasi paket dengan beberapa cara seperti menetapkan nomor port yang unik dan tidak berarti secara lokal yang dipetakan kembali ke simpul LAN asal dan permintaan keluar . Ia mengingat pemetaan port ini sehingga ketika balasan kembali ke IP publik / port unik #, ia (router) tahu cara menghapus peta itu kembali ke salah satu simpul yang berasal. Ini juga bagaimana Anda dapat menjalankan banyak tab, browser, atau instance browser dan balasan untuk setiap permintaan browser kembali ke browser dan tab yang benar.
sumber
Ketika sebuah paket awal tiba di antarmuka eksternal router, itu mengubah tujuan-alamat IP-paket sesuai konfigurasi penerusan port dan mentransmisikan paket yang dimodifikasi pada antarmuka internal router (setelah ARP biasa jika perlu)
Paket mencapai server-web dan masih memiliki sumber-alamat-IP eksternal yang akan digunakan sebagai alamat tujuan untuk balasan apa pun. Server sesuai alamat paket balasan keluar (s) dengan cara biasa dengan alamat IP tujuan sama dengan sumber alamat IP permintaan. Karena alamat IP pemohon bersifat eksternal, paket ditangani, pada lapisan MAC, ke antarmuka internal router.
Perhatikan bahwa ada target berbeda di setiap lapisan jaringan.
sumber
Port forwarding biasanya dilakukan pada router atau perangkat yang berdekatan dengannya. Ketika suatu perangkat pada LAN mengirimkan lalu lintas ke perangkat lain pada LAN yang sama, router tidak terlibat sama sekali. Lalu lintas bahkan tidak menyentuhnya. Aturan penerusan port Anda tidak akan memengaruhi lalu lintas LAN-ke-LAN.
Ethernet dirancang dengan topologi "bus" dalam pikiran di mana setiap komputer secara fisik terhubung ke media yang sama. Sementara switch modern mengoptimalkan aliran lalu lintas dengan mempelajari alamat MAC di ujung lain port dan mereplikasi lalu lintas yang sesuai, topologi "bus" masih tetap ada. Apa pun yang tersambung ke sakelar standar dapat "langsung" menjangkau yang lain (dengan asumsi ia berada dalam subnet yang sama) tanpa harus "melewati" perangkat perantara seperti router.
Anda mungkin bingung jika perangkat yang Anda hubungkan semua komputer memiliki beberapa port Ethernet "LAN" dan kemudian satu port "WAN". Jenis perangkat ini sebenarnya adalah router dan switch di sasis yang sama.
Jadi, di dalam LAN Anda, jika server HTTP Anda memiliki alamat 192.168.1.55, untuk mencapainya di dalam LAN Anda, Anda harus mengetikkan " http://192.168.1.55 " di bilah alamat browser Anda. Router tidak pernah melihatnya. Untuk mencapainya di luar LAN Anda, Anda perlu mengetik IP eksternal Anda, yaitu " http://256.99.88.77 : {port yang Anda kirim di sini}" atau apa pun itu. Ini mengenai router Anda, fungsi NAT router bekerja di atasnya, dan kemudian router mengirimkannya ke 192.168.1.55.
sumber
Sederhananya, ketika komputer di dalam LAN pribadi memulai koneksi keluar, gateway NAT secara otomatis menghasilkan pemetaan port untuk itu. Mereka hampir sama dengan pemetaan port yang Anda masukkan secara manual sebelumnya: {port publik, alamat pribadi, port pribadi}, dan digunakan dengan cara yang sama. Perbedaan terbesar dengan pemetaan dinamis adalah bahwa gateway NAT sering harus secara sewenang-wenang menetapkan port publik untuk pemetaan, ketika nomor port yang diharapkan sudah digunakan.
sumber