JARINGAN KOMPUTER
Oleh :�Condro Wibawa
Universitas Gunadarma
M7
SOCKET PROGRAMMING
SOCKET PROGRAMMING
Socket adalah mekanisme komunikasi untuk pertukaran data antar aplikasi yang terdapat di dalam sebuah mesin maupun beda mesin. Pertukaran ini terjadi pada sebuah jaringan komputer
Socket ini semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik
Transport Layer dalam OSI Layer maupun TCP/IP Layer berperan penting dalam pertukaran informasi dalam jaringan, karena di layer inilah “pintu gerbang” data keluar dan masuk komputer.
Socket bekerja pada Transport Layer ini.
Untuk bertukar informasi diperlukan alamat socket, baik dari sisi pengirim (source) maupun penerima (destination).
Sebuah alamat socket terdiri atas kombinasi alamat ip dan nomor port, mirip seperti sebuah koneksi telpon yang memiliki nomor telpon dan nomor ekstensinya.
Berdasarkan alamat ini, socket internet mengirim paket data yang masuk ke sebuah proses atau thread aplikasi tujuan.
Untuk melakukan tukar menukar informasi, diperlukan sebuah media/aplikasi. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman tertentu yang disebut Socket Programming.
Socket programming adalah pemrograman yang menggunakan socket. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya.
Dalam socket programming, selalu ada dua aplikasi yaitu :
Aplikasi client, yang berguna untuk melakukan request
Aplikasi server, yang berguna melayani request
Aplikasi-aplikasi ini bisa dibuat dengan beberapa jenis bahasa pemrograman seperti :
Python, Java, C, C++, dll
CARA KERJA
Cara Kerja Socket Programming
Sisi Server :
Perintah untuk membuka socket baru. Pada perintah baru ditentukan IP Address yang digunakan (Network Layer) dan Tipe Komunikasi yang digunakan (TCP/UDP ~ Transport Layer)
Perintah ini digunakan untuk meng-assign port yang akan digunakan. Port adalah semacam jalur virtual yang dapat digunakan sebagai pintu keluar masuk data ke dalam komputer.
Cara Kerja Socket Programming
Sisi Server :
Perintah ini akan membuat program berada pada mode passive, dimana perintah akan berjalan hanya jika ada request masuk dari aplikasi client. Pada perintah ini, bisa dilakukan penolakan request apabila ada hal-hal yang tidak diinginkan.
Perintah ini digunakan jika koneksi dirasa aman untuk bertukar informasi.
Cara Kerja Socket Programming
Sisi Server :
Perintah untuk membaca data yang dikirim dari aplikasi client.
Perintah untuk mengirimkan data kepada aplikasi client.
Perintah untuk mengakhiri koneksi socket.
Cara Kerja Socket Programming
Sisi Client :
Perintah untuk membuka socket baru. Pada perintah baru ditentukan IP Address yang digunakan (Network Layer) dan Tipe Komunikasi yang digunakan (TCP/UDP ~ Transport Layer)
Perintah yang digunakan untuk membuat koneksi baru dengan aplikasi server. Pada perintah ini ditulis pula port tujuan. Jika koneksi gagal, maka koneksi tidak bisa dilanjutkan. Jika koneksi berhasil, maka pertukaran data siap dilakukan.
Cara Kerja Socket Programming
Sisi Client :
Perintah untuk membaca data yang dikirim dari aplikasi client.
Perintah untuk mengirimkan data kepada aplikasi client.
Perintah untuk mengakhiri koneksi socket.
Cara Kerja Socket Programming
Cara Kerja Socket Programming
Struktur Pengalamatan
Struktur Pengalamatan Socket Programming
Dalam socket programming, alamat source dan destination terdiri dari dua bagian yaitu :
IP Address + Port
�IP Address merujuk pada alamat device pada jaringan. Sedangkan port merujuk pada “pintu spesifik” yang dituju.
Contoh :�Seseorang merequest halaman web dari komputer A (192.168.0.1( menggunakan browser. Maka, content web yang dikirim akan dikirimkan ke komputer A tersebut yang mana di jaringan dikenal dengan 192.168.0.1, dan data tersebut dilewatkan pintu 80 (port 80), karena web menggunakan protocol HTTP yang didesain harus lewat pintu 80.
Struktur Pengalamatan Socket Programming
Port�Adalah pintu keluar masuknya data masuk/keluar komputer.
Secara fisik, data seperti konten web (HTTP), email (SMTP/IMAP), file storage (FTP) akan masuk melalui kabel UTP, kemudian masuk melewati “port fisik” RJ45.
Oleh Sistem Operasi, data yang masuk melalui “port fisik” RJ45 tersebut dipilah-pilah, untuk masuk melalui “port virtual” yang disiapkan oleh Sistem Operasi.
Konten Web (HTTP) akan dilewatkan ke pintu virtual nomor 80,
Data Email (SMTP/IMAP) akan dilewatkan melalui pintu virtual nomor 25 dan 143,�dan seterusnya
Struktur Pengalamatan Socket Programming
Port�Port terdiri dari 3 jenis yaitu :
Struktur Pengalamatan Socket Programming
Well Known Port�adalah port yang sudah umum digunakan dan secara fungsi sudah disepakati secara internasional. Nomor Port dan fungsinya sudah ditetapkan oleh IANA (International Assignet Number Authorization). Well Known Port terdiri dari nomor 0-1023. Beberapa well known port antara lain adalah sebagai berikut :
Struktur Pengalamatan Socket Programming
Registered Port�adalah port yang digunakan oleh vendor-vendor hardware dan software secara internasional. Sudah didaftarkan ke IANA, sehingga satu sama lain tidak saling bertabrakan dalam penggunaan port. Nomor port adalah 1024-49.151. Port ini sifatnya tidak permanen akan tetapi disarankan.
Dynamical Assigned Port Port�adalah port yang tidak diassign secara khusus. Digunakan secara temporer dan dapat dilepas kapan saja. Nomor port adalah 1024-65.536.
MEMBUAT APLIKASI BERBASIS SOCKET
TUGAS :
Cari referensi dan buat program berbasis Python,�yang menggambarkan komunikasi di dalam Socket Programming !
Screenshoot :�1. Coding�2. Hasil/Output
Masukkan ke dalam file Ms Word disertai penjelasan secukupnya!
Dikumpulkan di VClass ini
Deadline : 16 November 2023
Kunjungi Pula :