Bagaimanakah NAT atau proksi bertindak balas kepada paket TCP SYN yang masuk? Perbezaan antara NAT dan Proksi

0

Dalam sesetengah sistem pemesejan, dua pelanggan pemesejan menghantar/menerima paket terus antara satu sama lain dalam sembang atau panggilan suara. Saya fikir mekanisme asas (cth TCP): program klien ini membuka soket TCP mendengar dan memberitahu pelayan pemesejan/pasangan IP/PORT penyelaras. Program klien kemudiannya mendapatkan semula IP/PORT pihak lain daripada pelayan pemesejan/penyelarasan. Dan salah seorang daripada mereka (katakan A) kemudian memulakan TCP dengan yang lain (katakan B) dengan pasangan IP/PORT yang diterima B.

Bila klien pasif B (yang menjangkakan paket TCP SYN) bukan di belakang NAT atau proksi, itu bagus. Tetapi jika B berada di belakang NAT atau proksi, maka pasangan IP/PORT sebenarnya adalah awam antara muka rangkaian NAT atau proksi.

Jadi soalan saya ialah: apabila NAT atau proksi menerima TCP SYN, apakah tindak balasnya? Bagaimanakah mereka menghantar TCP SYN kepada hos/proses yang sesuai di belakangnya?

  • 2 jawapan
  • Menyusun:

    Aktiviti

0

Saya ragu tekaan awal anda betul. Kemungkinan besar mereka berdua terbuka sambungan aktif ke pelayan, dan pelayan mengarahkan data antara mereka. Ia lebih mudah dan masalah yang anda nyatakan hilang.

0

Soalan ini sudah lama ditanya dengan jelas, tetapi masih...

Sembang dan panggilan suara/video cenderung dikendalikan dengan sangat berbeza. Dalam kes sembang, anda mungkin akan menggunakan protokol XMPP, di mana kedua-dua hujungnya akan bersambung ke pelayan dan bertukar-tukar data melaluinya. XMPP berada pada TCP pada lapisan 4 kerana kebolehpercayaan adalah keutamaan yang lebih tinggi daripada kependaman. Memandangkan pelanggan ialah mereka yang membuka dan mengekalkan sambungan, anda tidak akan menghadapi sebarang masalah dengan NAT dalam kes ini.

  • bahagian di mana anda membincangkan rangkaian (alamat IP dan port) dan butiran codec yang diperlukan untuk isyarat menyediakan panggilan (dikenali sebagai SDP - Protokol Penerangan Sesi)
  • bahagian media di mana anda bertukar kandungan suara/video dengan berkesan antara dua pelanggan.

Isyarat biasanya bergerak melalui TCP menggunakan protokol over tahap tinggi, seperti SIP (Session Initiation Protocol). Mesej ini akan melalui pelayan. Media bergerak melalui UDP menggunakan protokol lapisan yang lebih tinggi seperti RTP (Protokol Pemindahan Masa Sebenar), dan bahagian pemesejan ini lazimnya mengembara rakan ke rakan. Satu port UDP boleh digunakan untuk menghantar dan menerima trafik untuk satu saluran suara/video. Selain itu, anda mungkin ingin mendapatkan maklumat tentang kualiti panggilan semasa panggilan supaya anda boleh, sebagai contoh, mengurangkan lebar jalur yang digunakan untuk mengelakkan/mengurangkan kehilangan paket. Untuk tujuan ini anda mesti menggunakan RTCP (Regulation Control Protocol) kenderaan dalam masa nyata). Dalam kes ini, traversal NAT adalah kritikal! Oleh kerana tiada pelanggan mengetahui alamat IP awam mereka, anda memerlukan pelayan dalam anda rangkaian dalaman(di internet awam) yang boleh menyebut "seperti yang anda lihat dari luar", iaitu di belakang NAT. khususnya. Dunia WebRTC pelayan ini mengenali ICE. Setelah rakan sebaya mengetahui cara ia boleh dilihat dari Internet, ia akan meletakkan maklumat ini di dalam bahagian SDP mesej isyarat supaya hujung yang satu lagi boleh mencapainya melalui Internet. Perlu diingat bahawa penghala yang melakukan NAT juga mungkin memerlukan beberapa konfigurasi tambahan untuk menjejaki port UDP yang digunakan untuk suara dan video (untuk trafik NATing kembali dari Internet kepada anda).

Akhir sekali, terdapat penyelesaian lain dalam kes ini, tetapi ia bergantung pada persediaan anda. Jika anda menulis perisian Untuk pengguna akhir maka penjelasan sebelumnya akan digunakan.Namun, jika anda menulis perisian untuk pasaran perusahaan, penyelesaian seperti pelayan tambahan(dikenali sebagai EDGE) di tepi anda rangkaian korporat, akan menjadi pendekatan biasa.

Saya boleh menulis tentang ini selama berjam-jam, tetapi ini sepatutnya cukup untuk anda bermula... :)

Sambungan PC yang disambungkan ke rangkaian tempatan, dengan Internet boleh dilakukan menggunakan teknologi seperti NAT dan Proxy. Apakah mereka?

Apa itu NAT?

NAT ialah teknologi yang membolehkan anda menyambungkan PC yang disambungkan ke rangkaian tempatan ke Internet dengan menggunakan mekanisme untuk menterjemah alamat IP (atau port) ke ruang rangkaian di luar LAN. Setiap PC yang disambungkan ke rangkaian tempatan membuat permintaan kepada perkhidmatan NAT, yang menukarnya kepada yang dialamatkan kepada perkhidmatan Internet tertentu.

Penggunaan teknologi NAT, sebagai peraturan, melibatkan penggunaan yang berasingan peranti rangkaian- penghala, pelayan atau, sebagai contoh, tembok api.

Walaupun beberapa komputer disambungkan ke Internet pada masa yang sama menggunakan teknologi NAT, pelayan dalam talian melihat permintaan daripada hanya satu alamat IP - yang dipasang pada peranti di mana algoritma NAT dilaksanakan.

Terdapat dua jenis utama teknologi yang dimaksudkan - NAT Sumber dan NAT Destinasi.

Yang pertama melibatkan menggantikan alamat yang ditetapkan untuk sumber paket semasa penghantaran daripada pakej ini ke komputer destinasi di Internet dan, dengan itu, menggantikan alamat yang ditetapkan untuk PC destinasi pada rangkaian tempatan apabila menghantar semula paket. Jika perlu, nombor port PC pada LAN juga boleh berubah.

Teknologi NAT destinasi melibatkan terjemahan paket yang dihantar ke LAN daripada persekitaran luaran- contohnya, daripada pelayan dalam talian kepada PC tertentu dengan alamat IP tempatan, yang tidak boleh diakses oleh pelayan dalam talian yang sepadan.

Kelebihan utama menggunakan skema sambungan LAN ke Internet melalui NAT - pemusatan tetapan perkhidmatan yang sepadan. Tidak perlu menetapkan sebarang pilihan khas pada setiap PC yang disambungkan ke rangkaian tempatan.

Apa itu Proksi?

proksi ialah teknologi yang membolehkan anda menyambungkan PC yang disambungkan ke rangkaian kepada satu atau yang lain perkhidmatan dalam talian melalui gerbang khas yang diaktifkan aplikasi berasingan. Iaitu, untuk menyambungkan PC yang merupakan sebahagian daripada LAN ke pelayan proksi pada setiap daripada mereka, anda perlu menetapkan tetapan sambungan. Teknologi proksi, pada dasarnya, perkhidmatan perisian, dimuatkan pada pelayan berasingan LAN atau pada salah satu pelayan Internet.

Komputer yang disambungkan ke LAN meminta akses kepada sumber dalam talian bukan secara langsung, tetapi melalui alamat IP dan port pelayan proksi. Konsep ini menentukan terlebih dahulu kehadiran beberapa persamaan antara Proksi dan NAT dalam erti kata bahawa pelayan dalam talian memajukan kandungan atas permintaan PC individu ke alamat IP biasa yang dinyatakan dalam tetapan pelayan proksi. Sudah tentu, pelayan proksi dalam beberapa kes boleh menetapkan alamat IP luaran yang unik untuk PC yang disambungkan - tetapi kebetulan mereka dengan alamat IP asal di mana komputer didaftarkan pada LAN adalah mustahil.

Perlu diperhatikan bahawa terdapat pelayan proksi "dalam talian" semata-mata yang digunakan dengan tepat untuk tujuan menyembunyikan alamat IP komputer yang menyambung ke Internet dengan sengaja. Prinsip operasi mereka secara amnya serupa dengan yang mencirikan fungsi pelayan proksi yang dipasang pada LAN.

Salah satu kelebihan utama menggunakan teknologi Proksi ialah keupayaan untuk cache kandungan dalam talian (menyimpan elemen halaman web yang dilawati dan fail yang dimuat turun dalam memori pelayan), yang membolehkan anda mempercepatkan akses ke Internet daripada PC individu. Kelebihan lain Proksi adalah seperti berikut:

  • melaksanakan kawalan akses pengguna individu LAN ke Internet, menapis kandungan dan alamat tapak web,
  • memasang perisian anti-virus pada pelayan proksi yang menganalisis keluar dan trafik masuk, yang boleh meningkatkan keselamatan rangkaian dengan ketara.

Teknologi proksi dianggap oleh ramai pakar sebagai lebih berfungsi daripada NAT, kerana ia membenarkan pelaksanaan pelbagai algoritma kawalan capaian rangkaian pada peringkat program.

Perbandingan

Perbezaan utama antara NAT dan Proksi adalah dalam prinsip penyediaan teknologi akses serentak ke Internet beberapa PC yang terletak pada LAN.

Jika kita bercakap tentang NAT, maka piawaian ini pengurusan jaringan rangkaian melibatkan penggunaan secara relatif lebih algoritma mudah- apabila alamat PC yang menghantar paket ke Internet bertukar kepada alamat peranti NAT, yang membolehkan yang terakhir menerima paket tindak balas dan menghantarnya ke destinasinya. Tiada pelarasan dibuat pada paket yang dihantar dan diterima.

Teknologi proksi melibatkan penggunaan lebih banyak mekanisme yang kompleks memastikan pertukaran paket antara PC yang terletak pada LAN dan pelayan dalam talian. Contohnya, apabila menggunakan pelayan proksi, kandungan boleh dicache, ditapis dan diperiksa untuk virus.

Setelah menentukan perbezaan antara NAT dan Proksi, kami akan merekodkan kesimpulan utama dalam jadual kecil.

Jadual

NAT proksi
Apa persamaan mereka?
Kedua-dua teknologi digunakan untuk tujuan organisasi sambungan serentak ke Internet beberapa komputer yang disambungkan ke rangkaian tempatan
Pelayan dalam talian menerima permintaan daripada alamat IP peranti NAT atau pelayan proksi yang sebenarnya tidak sepadan dengan alamat IP komputer di mana permintaan ini dijana
Apakah perbezaan antara mereka?
Peranti NAT menukar alamat PC yang menghantar paket ke Internet kepada dirinya sendiri (atau dinyatakan dalam tetapan), tanpa mengubah struktur permintaan, selepas itu, setelah menerima paket dari pelayan dalam talian, ia menghantarnya ke destinasinya juga tanpa perubahanPelayan proksi, setelah menerima permintaan daripada PC yang menghantar paket ke Internet, mengalihkannya ke pelayan dalam talian melalui alamat IP yang ditetapkan, selepas itu, setelah menerima paket, ia menghantarnya ke destinasinya tanpa perubahan atau diselaraskan menggunakan penapis (jika perlu, semak dengan modul anti-virus)
Teknologi ini tidak memerlukan pendaftaran tambahan tetapan rangkaian pada PC berasingan dalam LANTeknologi ini memerlukan penyediaan atur cara yang digunakan untuk mengakses rangkaian pada setiap PC pada LAN

Mari cuba gunakan UserGate sebagai contoh, walaupun saya tidak mempunyainya, saya akan melakukannya dari ingatan, jadi maafkan saya jika saya terlepas sebarang butiran.

Anda menetapkan pengguna kepada UserGate - contohnya: Vasya. Anda menunjukkan kaedah kebenaran: katakan: melalui alamat IP, anda mendaftar - 192.168.0.66, anda juga boleh menentukan dalam kebenaran bahawa ia juga akan mengambil kira alamat MAC untuk keselamatan yang lebih besar, supaya Vasya ini tidak berganda. .. Jika Vasya hanya melayari halaman dan banyak lagi, mungkin cukup untuk memuat turun sesuatu; Proksi HTTP dan FTP dan NAT tidak perlu didayakan (ini hanya terpakai untuk UG yang kita bicarakan di sini), secara semulajadi penyemak imbas Vasya harus mempunyai kotak pilihan berikut: gunakan alamat proksi dan proksi: 192.168.0.55 dan port 8080 (atau yang anda tentukan dalam tetapan UG anda) untuk HTTP dan katakan port 21 untuk FTP. Segala-galanya Vasya bersambung. Tetapi mungkin Vasya juga ingin menghantar dan menerima mel dari, sebagai contoh, mail.ru... pergi ke tab NAT, tandai kotak - gunakan, di suatu tempat, pada tab tetapan lain nyahtanda kotak untuk mengaktifkan POP dan SMTP, kerana , secara lalai, ia dilumpuhkan, item yang sepadan akan menjadi aktif, kemudian: pergi ke tetapan Vasina akaun dan dalam tanda bahawa dia dibenarkan, letakkan tanda pada POP dan SMTP. Kami mendayakan NAT untuk Vasya oleh protokol POP dan SMTP. Jika Vasya yang terkenal ini menubuhkannya program mel, maka ia akan menunjukkan tetapan biasa untuk menerima mel daripada mail.ru dan akan menerima mel anda secara senyap seolah-olah dia disambungkan ke Internet secara langsung. Jika anda perlu membenarkan mana-mana protokol lain, anda perlu mendaftarkannya secara manual. Tanpa menggunakan NAT kita perlu mengatur gerbang mel di Vasino untuk tujuan yang sama pelanggan mel daftarkan laluan ke pintu masuk dan konfigurasikan pintu masuk itu sendiri, atau atur pemetaan port (pengalihan semula), anda lihat, anda mengatakan bahawa NAT adalah mengecewakan, tetapi ia menyelamatkan anda daripada berlari yang tidak perlu dan pelbagai tetapan yang rumit. Kami akan menganggap bahawa kami telah menangani tugas pertama sebelum ini. Cari sendiri di mana sebenarnya tetapan ini atau itu terletak, saya ulangi bahawa saya tidak mempunyai UserGate di depan mata saya.

Tugas kedua, sebaliknya, adalah untuk menyediakan pengguna lain yang mendail saya melalui modem ( sambungan masuk) akses ke Internet saya melalui LAN. Dalam kes ini, apabila menyambung melalui modem, saya mendapat ip 192.168.5.1, saya memberikan pendail 192.168.5.2 (topeng kami ialah 255.255.255.0).

Mari buat pengguna lain: biarlah Misha. Keizinan melalui log masuk dan kata laluan, kerana IP akan berbeza sepanjang masa.

DALAM tetapan tambahan UG yang kami nyatakan - gunakan proksi induk: dan masukkan alamat proksi rangkaian tempatan anda di sana, jika ia digunakan, sudah tentu. Tetapi, secara umum, dalam kes ini anda perlu melihat di tempat.

Saya pelanggan LAN biasa (ip 192.168.0.55 mask 255.255.255.0). Saya mempunyai dua saluran untuk mengakses Internet: satu melalui rangkaian tempatan kami, satu lagi melalui modem (dial-up). Apabila saya mengakses modem, saya mendapat ip luaran 84.53.206.121 (sebagai contoh).

Tugas pertama saya ialah menyediakan akses Internet dial-up kepada pelanggan yang sama pada rangkaian tempatan seperti saya (ip beliau ialah 192.168.0.66 mask 255.255.255.0).

Pendapat saya sendiri: apa yang kamu lakukan adalah memalukan sepenuhnya, kerana... anda membuat lubang dalam rangkaian dan melanggar rejim keselamatan tanpa mempunyai pengetahuan yang mencukupi, dan pentadbir anda hanyalah seorang yang culas dan bekas pelajar Pelajar gred C, jika dia membenarkan pengguna biasa melakukan ini di Internet. Anda perlu ditampar dan admin pecat. Sebagai pentadbir biasa, anda tidak akan mempunyai hak untuk memasang apa-apa pada mesin tanpa pengetahuannya, terutamanya proksi dan NAT.

Dan jika NAT tidak kira IP apa yang hendak ditetapkan, tetapi anda tidak perlu membuat sebarang tetapan pada klien dan nyatakan lokasi NAT...

terdapat perkara seperti pelayan DHCP, pelanggan mencari secara automatik pelayan tersedia dan menerima IP, dan NAT menyiarkan alamat tempatan tertentu yang ditentukan kepadanya, di samping itu, terdapat perkara seperti mengikat oleh alamat MAC.

maka komputer manakah yang akan diakses oleh pelanggan jika, sebagai contoh, terdapat dua mesin dalam rangkaian NAT?? (Sesiapa sahaja boleh memasang UserGate atau WinGate yang sama dengan NAT)

kemungkinan besar kepada yang mencari dahulu... atau yang ditunjukkan secara jelas... itulah masalahnya, jika semua orang boleh memasang apa-apa dan di mana-mana sahaja, dengan cara ini anda boleh, secara umum, mengelirukan segala-galanya dan mengambil rangkaian di luar kawalan bangunan , ia boleh diterangkan dalam satu perkataan - KEADAAN HURU-HARA, rangkaian mesti mempunyai seorang tuan yang menguatkuasakan dasar rangkaian tersebut. Dan selebihnya adalah cerita dongeng populis, seperti cerita Bolshevik: setiap tukang masak boleh memerintah negeri. Walaupun apa yang saya jawab dalam thread ini, sikap saya sangat negatif terhadap semua ini, dan tidak perlu menyalahgunakan kelembutan atau pengalaman admin anda. Dan jika anda akan melakukan pemodenan rangkaian anda sedemikian, maka, sekurang-kurangnya, anda mesti memahami dengan jelas apa yang anda lakukan, bagaimana, mengapa dan apa akibatnya. Jangan tersinggung, ia bukan perkara peribadi. Tetapi bayangkan keadaan di mana setiap tempat duduk penumpang di dalam bas dilengkapi dengan stereng dan pedal kawalan, saya tidak mahu berada di dalam bas ini.