Apa Itu Socket?
Socket adalah suatu abtraksi yang mana aplikasi dapat mengirim dan menerima data seperti sama halnya dengan membuka suatu file untuk dibaca dan ditulis pada tempat penyimpanan file. Socket memungkinkan untuk masuk kedalam jaringan dan berkomunikasi dengan aplikasi lain yang juga masuk kedalam jaringan yang sama. Informasi yang ditulis kedalam socket pada suatu aplikasi pada suatu mesin dapat dibaca oleh aplikasi lain pada mesin yang berbeda dan sebaliknya.
Socket dapat bekerja dibanyak protokol dan ilustrasi bagaimana socket berkomunikasi satu dengan lainnya dapat dilihat pada gambar 1. Pada artikel ini kita akan membahas socket yang diimplementasi pada protokol TCP/IP dan UDP/IP.
Socket dapat bekerja dibanyak protokol dan ilustrasi bagaimana socket berkomunikasi satu dengan lainnya dapat dilihat pada gambar 1. Pada artikel ini kita akan membahas socket yang diimplementasi pada protokol TCP/IP dan UDP/IP.
Gambar 1. Ilustrasi komunikasi antar socket
Pengetahuan tentang socket merupakan pengetahuan wajib yang harus diketahui ketika kita membuat aplikasi berbasis jaringan. Oleh karena itu, mula-mula penulis akan menjelaskan bagaimana arsitektur socket pada platform Windows dan Linux.
Socket Pada Windows
Istilah socket pada platform Windows lebih dikenal dengan istilah Winsock. Winsock ini dibuat untuk standart interface programming TCP/IP pada semua versi dari Microsoft Windows termasuk Windows Server 2003/2008, Windows Vista/7, Windows XP, Windows 2000, Windows NT, Windows 98/95, Windows CE dan Windows 3.x. Keuntungan Winsock yang diciptakan oleh Microsoft antara lain:
1. Menyediakan open standart API sehingga memudahkan dalam mengakses jaringan untuk segala platform operating system dalam lingkungan Microsoft Windows.
2. Aplikasi yang dibuat oleh developer pada port BSD Socket dapat juga berjalan dalam operating system Windows.
3. Memberikan kemudahan pada pemakai dan manager IT dalam menemukan pilihan yang dapat bekerja tanpa melakukan modifikasi terlalu banyak.
Motivasi untuk menciptakan Winsock untuk versi 2 terutama untuk menyediakan interface transport sebuah protocol-independent yang mempunyai kemampuan support jaringan termasuk komunikasi multimedia real-time. Disamping itu juga, Winsock 2 merupakan perbaikan dari Winsock sebelumnya dan mempunyai kemampuan lebih.
Pada gambar 2 merupakan arsitektur dari Window Socket. Sedangkan Winsock 2 mempunyai arsitektur yang lebih fleksibel yang support multiple protocol stacks, interfaces, dan service providers secara simultan. Pada gambar 2 juga terlihat alur dari aplikasi yang dibedakan dalam Winsock 2.0 dan Winsock 1.1 yang ditangani oleh file WS2_32.dll.
1. Menyediakan open standart API sehingga memudahkan dalam mengakses jaringan untuk segala platform operating system dalam lingkungan Microsoft Windows.
2. Aplikasi yang dibuat oleh developer pada port BSD Socket dapat juga berjalan dalam operating system Windows.
3. Memberikan kemudahan pada pemakai dan manager IT dalam menemukan pilihan yang dapat bekerja tanpa melakukan modifikasi terlalu banyak.
Motivasi untuk menciptakan Winsock untuk versi 2 terutama untuk menyediakan interface transport sebuah protocol-independent yang mempunyai kemampuan support jaringan termasuk komunikasi multimedia real-time. Disamping itu juga, Winsock 2 merupakan perbaikan dari Winsock sebelumnya dan mempunyai kemampuan lebih.
Pada gambar 2 merupakan arsitektur dari Window Socket. Sedangkan Winsock 2 mempunyai arsitektur yang lebih fleksibel yang support multiple protocol stacks, interfaces, dan service providers secara simultan. Pada gambar 2 juga terlihat alur dari aplikasi yang dibedakan dalam Winsock 2.0 dan Winsock 1.1 yang ditangani oleh file WS2_32.dll.
Gambar 2. Arsitektur Winsock 2.0
Dengan model arsitektur diatas, maka para developer dan vendor dapat membuat aplikasi untuk mengakses jaringan melalui Winsock 2.DLL yang dapat bekerja dalam platform operating system Windows.
Socket Pada Linux
Sistem operasi Linux mengimplementasi standard Berkeley socket API yang awalnya diimplementasi pada BSD Unix. Secara untuk arsitektur socket pada network layer sistem operasi Linux dapat dilihat pada gambar
Gambar 3. Arsitektur umum socket pada Linux
Interface Berkeley socket mengijinkan sebuah program dapat membuka komunikasi ke suatu target mesin lainnya. Network Device Driver memungkinkan beberapa peralatan jaringan dapat digunakan pada suatu saat. Peralatan jaringan ini terlebih dulu didaftarkan pada sistem sesuai dengan tipe nya seperti Ethernet, PPP, X.25 dan sebagainya.
Sumber : mamatiganbrekaro.wordpress.com