Bagikan melalui


Berbagi Port Net.TCP

Windows Communication Foundation (WCF) menyediakan protokol jaringan baru berbasis TCP (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 distandarisasi 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 standardisasi formal.

Menggunakan nomor port untuk membedakan antar-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 sekaligus memungkinkan pengembang aplikasi untuk meminimalkan biaya penyebaran membangun aplikasi baru yang dapat memanfaatkan jaringan.

Kemampuan untuk berbagi port di beberapa aplikasi HTTP telah lama menjadi fitur Layanan Informasi Internet (IIS). Namun, itu hanya dengan 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 dikhususkan untuk lalu lintas HTTP. Kemampuan ini memungkinkan banyak aplikasi HTTP untuk hidup berdampingan pada komputer fisik yang sama dalam proses terpisah dan terisolasi sekaligus 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 Berbagi Port

Arsitektur Berbagi Port di WCF memiliki tiga komponen utama:

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

  • Transportasi TCP WCF: Mengimplementasikan 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 akan 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 Pengidentifikasi Sumber Daya Seragam (URI) dengan Layanan Berbagi Port Net.TCP dan menunggu layanan berbagi port mendengarkan pesan atas namanya. Layanan berbagi port mengirimkan pesan yang dialamatkan ke layanan aplikasi saat pesan 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 memaparkan 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 lalu mengaktifkan Layanan Berbagi Port Net.TCP menggunakan properti PortSharingEnabled.

Untuk informasi selengkapnya tentang cara melakukan ini, 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 berbagi port harus mengevaluasi hak istimewa proses tempat 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