Bagikan melalui


Berbagi Port Net.TCP

Windows Communication Foundation (WCF) menyediakan protokol jaringan berbasis TCP baru (net.tcp://) untuk komunikasi berkinerja tinggi. WCF juga memperkenalkan komponen sistem baru, Layanan Berbagi Port Net.TCP yang memungkinkan port net.tcp dibagikan di beberapa proses pengguna.

Latar Belakang dan Motivasi

Ketika protokol TCP/IP pertama kali diperkenalkan, hanya sejumlah kecil protokol aplikasi yang menggunakannya. TCP/IP menggunakan nomor port untuk membedakan antara aplikasi dengan menetapkan nomor port 16-bit unik ke setiap protokol aplikasi. Misalnya, lalu lintas HTTP hari ini distandarkan untuk menggunakan port TCP 80, SMTP menggunakan port TCP 25, dan FTP menggunakan port TCP 20 dan 21. Aplikasi lain yang menggunakan TCP sebagai transportasi dapat memilih nomor port lain yang tersedia, baik berdasarkan konvensi atau melalui standarisasi formal.

Menggunakan nomor port untuk membedakan antara aplikasi memiliki masalah keamanan. Firewall umumnya dikonfigurasi untuk memblokir lalu lintas TCP pada semua port kecuali untuk beberapa titik masuk terkenal, sehingga menyebarkan aplikasi yang menggunakan port non-standar sering rumit atau bahkan tidak mungkin karena adanya firewall perusahaan dan pribadi. Aplikasi yang dapat berkomunikasi melalui port standar dan terkenal yang sudah diizinkan, mengurangi permukaan serangan eksternal. Banyak aplikasi jaringan menggunakan protokol HTTP karena sebagian besar firewall dikonfigurasi secara default untuk memungkinkan lalu lintas pada port TCP 80.

Model HTTP.SYS di mana lalu lintas untuk banyak aplikasi HTTP yang berbeda di-multipleks ke satu port TCP telah menjadi standar pada platform Windows. Ini memberikan titik kontrol umum untuk administrator firewall sambil memungkinkan pengembang aplikasi meminimalkan biaya penyebaran untuk membangun aplikasi baru yang dapat menggunakan jaringan.

Kemampuan untuk berbagi port di beberapa aplikasi HTTP telah lama menjadi fitur Layanan Informasi Internet (IIS). Hanya setelah pengenalan HTTP.SYS (listener protokol HTTP mode kernel) dengan IIS 6.0 bahwa infrastruktur ini sepenuhnya digeneralisasi. Akibatnya, HTTP.SYS memungkinkan proses pengguna arbitrer untuk berbagi port TCP yang didedikasikan untuk lalu lintas HTTP. Kemampuan ini memungkinkan banyak aplikasi HTTP untuk hidup berdampingan pada komputer fisik yang sama dalam proses terpisah dan terisolasi sambil berbagi infrastruktur jaringan yang diperlukan untuk mengirim dan menerima lalu lintas melalui port TCP 80. Layanan Berbagi Port Net.TCP memungkinkan jenis berbagi port yang sama untuk aplikasi net.tcp.

Arsitektur Pembagian Port

Arsitektur Port Sharing di WCF memiliki tiga komponen utama:

  • Proses Pekerja: Setiap proses berkomunikasi melalui net.tcp:// menggunakan port bersama.

  • Transportasi TCP WCF: Menerapkan protokol net.tcp://.

  • Layanan Berbagi Port Net.TCP: Memungkinkan banyak proses pekerja berbagi port TCP yang sama.

Layanan Berbagi Port Net.TCP adalah layanan Windows mode pengguna yang menerima koneksi net.tcp:// atas nama proses pekerja yang terhubung melaluinya. Ketika koneksi soket tiba, layanan berbagi port memeriksa aliran pesan masuk untuk mendapatkan alamat tujuannya. Berdasarkan alamat ini, layanan berbagi port dapat merutekan aliran data ke aplikasi yang pada akhirnya memprosesnya.

Ketika layanan WCF yang menggunakan berbagi port net.tcp:// terbuka, infrastruktur transportasi TCP WCF tidak langsung membuka soket TCP dalam proses aplikasi. Sebaliknya, infrastruktur transportasi mendaftarkan alamat dasar layanan berupa Pengidentifikasi Sumber Daya Seragam (URI) dengan Layanan Berbagi Port Net.TCP dan menunggu layanan berbagi port itu untuk menerima pesan atas namanya. Layanan berbagi port mengirimkan pesan yang ditujukan ke layanan aplikasi saat mereka tiba.

Menginstal Berbagi Port

Layanan Berbagi Port Net.TCP tersedia di semua sistem operasi yang mendukung WinFX, tetapi layanan tidak diaktifkan secara default. Sebagai tindakan pencegahan keamanan, administrator harus mengaktifkan Layanan Berbagi Port Net.TCP secara manual sebelum pertama kali digunakan. Layanan Berbagi Port Net.TCP mengekspos opsi konfigurasi yang memungkinkan Anda memanipulasi beberapa karakteristik soket jaringan yang dimiliki oleh layanan berbagi port. Untuk informasi selengkapnya, lihat Cara: Mengaktifkan Layanan Berbagi Port Net.TCP.

Menggunakan Berbagi Port Net.tcp dalam Aplikasi

Cara termudah untuk menggunakan berbagi port net.tcp:// di aplikasi WCF Anda adalah dengan mengekspos layanan menggunakan NetTcpBinding dan kemudian mengaktifkan Net.TCP Port Sharing Service dengan menggunakan properti PortSharingEnabled.

Untuk informasi selengkapnya tentang cara melakukannya, lihat Cara: Mengonfigurasi Layanan WCF untuk Menggunakan Berbagi Port.

Implikasi Keamanan Berbagi Port

Meskipun Layanan Berbagi Port Net.TCP menyediakan lapisan pemrosesan antara aplikasi dan jaringan, aplikasi yang menggunakan berbagi port harus tetap diamankan seolah-olah mereka langsung mendengarkan di jaringan. Secara khusus, aplikasi yang menggunakan pembagian port harus mengevaluasi hak istimewa proses di bawah mana mereka berjalan. Pertimbangkan untuk menjalankan aplikasi Anda menggunakan akun Layanan Jaringan bawaan, yang berjalan dengan serangkaian hak istimewa proses minimal yang diperlukan untuk komunikasi jaringan.

Lihat juga