Aplikasi Menggunakapn TCP/IP Socket

dibuat oleh : Ivan Septian



Abstrak—Socket adalah titik komunikasi dari lalu lintas komunikasi antar proses di dalam sebuah jaringan komputer. Hampir semua komunikasi antar komputer sekarang berdasarkan protokol internet, oleh karena itu hampir semua socket di jaringan komputer adalah Socket Internet.  Hampir semua sistem operasi menyediakan application programming interface (API) yang memungkinkan sebuah aplikasi komputer mengkontrol dan menggunakan socket jaringan komputer. API socket internet biasanya berdasarkan pada standar berkeley sockets.
Sebuah alamat socket terdiri atas kombinasi sebuah alamat ip dan sebuah 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
Kata kunciIP,port, socket,

                                                                                                                              I.     Pendahuluan 

Teknologi komputer saat ini berkembang sangat cepat, baik dari sisi perangkat keras (hardware) dan perangkat lunak (software) yang ada. Karena begitu cepatnya perkembangan teknologi ini, manusia dapat mengakses segala jenis informasi dengan mudah dan cepat meskipun jarak yang berjauhan sehingga dapat meningkatkan efisiensi dan efektifitas dalam melakukan pekerjaan. Dari banyaknya teknologi yang telah ditemukan dan dikembangkan, Database Access adalah salah satu perangkat lunak yang didesain untuk membantu memelihara dan memanfaatkan kumpulan data yang cukup besar. Tetapi ada suatu kekurangan pada perangkat lunak ini, yaitu database access tidak dapat menjadi database server. Berdasarkan latar belakang tersebut, penulis mengangkat kasus ini menjadi skripsi dengan mengambil judul: Implementasi TCP/IP Untuk Membuat Server Database Access. Tujuan dari penelitian dibangunnya “Implementasi TCP/IP untuk Membuat Server Database Access” adalah membuktikan database access dapat menjadi server database access dengan cara mengimplementasikan TCP/IP. [1]

                                                                                                                                                              II.    Studi Pustaka

Dalam protokol jaringan TCP/IP, sebuah port adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan. Port dapat mengidentifikasikan aplikasi dan l ayanan yang menggunakan koneksi di dalam jaringan TCP/IP. Sehingga, port juga mengidentifikasikan sebuah proses tertentu dimana sebuah server dapat memberikan sebuah layanan kepada klien atau bagaimana sebuah klien dapat mengakses sebuah l ayanan yang ada dalam server. Port dapat dikenali dengan angka 16-bit ( dua byte) yang disebut dengan Port Number dan diklasifikasikan dengan jenis protokol transport apa yang digunakan, ke dalam Port TCP dan Port UDP. Karena memiliki angka 16-bit, maka total maksimum jumlah port untuk setiap protokol transport yang digunakan adalah 65536 buah. Dilihat dari penomorannya, port UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai berikut:
Well-known Port: yang pada awalnya berkisar antara 0 hingga 255 tetapi kemudian diperlebar untuk mendukung antara 0 hingga 1023. Port number yang termasuk ke dalam well-known port, selalu merepresentasikan layanan jaringan yang sama, dan ditetapkan oleh Internet Assigned Number Authority (IANA). Beberapa di antara port-port yang berada di dalam range Well-known port masih belum ditetapkan dan direservasikan untuk digunakan oleh layanan yang bakal adapada masa depan. Well-known port didefinisikan dalam RFC 1060.
Registered Port: Port-port yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka buat. Registered port j uga diketahui dan didaftarkan oleh IANA tetapi tidak dialokasikan secara permanen, sehingga vendor
lainnya dapat menggunakan port number yang sama. Range registered port berkisar dari 1024 hingga 49151 dan beberapa port di antaranya adalah Dynamically Assigned Port.
Dynamically Assigned Port: merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan.

Gambar 2. 1 Dynamically Assigned Port

Socket Programming
Socket adalah penghubung antara dua aplikasi yang dapat berkomunikasi satu sama l ain ( baik secara lokal pada satu mesin atau secara jarak jauh antara dua mesin di lokasi terpisah). Pada dasarnya, socket berfungsi sebagai tautan komunikasi antara dua entitas, yaitu server dan klien. Server akan memberikan i nformasi yang diminta oleh klien. Misalnya, ketika Anda mengunjungi halaman ini, browser membuat socket dan terhubung ke server.
Gambar 2. 2 Konesi Socket Server

                                                                                                                                                                III.   Metodologi

Prosedur pengerjaan pada praktikum ini adalah sebagai berikut       :

A.    Part 1

1)   Cari tahu alamat IP dari web www.uns.ac.id (atau website lain)

2)   Buka wireshark

a)  Pilih adapter akses internet

b)  Filter dengan (ip.addr==<IP dari web yang diakses>)

c)  Jalankan wireshark

d)  Buka

·         Google chrome, akses web di poin pertama
·         New tab pada chrome, akses web di poin pertama
·         Internet explorer, akses web di poin pertama

e)  Amati wireshark, catat

·         IP server (web yang diakses)
·         Port server
·         IP client (Ip komputer anda sendiri)
·         Port client (port yang digunakan)

B.    Part 2

1)   Buka IDE python

2)   Buat dua Program

a)  Echo Server, echo_server.py

Gambar 3. 1 Program Pertama

b)  Echo Client, echo_client.py

Gambar 3. 2 Program Kedua

3)   Buka wireshark

a)  PIlih interface yang digunakan (dalam hal ini Adapter Loopback)

b)  Isi filter dengan nama port server “port == <nomor port>”

4)   Jalankan program echo_server.py, kemudian jalankan echo_client.py

·         Program echo server berfungsi mengirimkan pesan balik yang diterima

·         Program echo client mengirimkan pesan dan memprint pesan yang diterima

Gambar 3. 3 echo server dan echo client









5)   Amati wireshark

Gambar 3. 4 Wireshark

6)   Ulangi percobaan untuk (sampai berhasil)

a)  PC dengan VMWare (Jalankan kode python echo server/klien di ubuntu)

b)  PC dengan PC lain terkoneksi melalui Wifi

                                                                                                                                                      IV.   Hasil dan Analisis

A.    Part 1



Ip server
Nomor Port
IP Client
Nomor Port
Akses Chrome Tab 1
103.23.226.13
443
192.168.43.218
54908
Akses Chrome Tab 2
103.23.226.13
443
192.168.43.218
54908
Akses IE
103.23.226.13
443
192.168.43.218
64565
Apa yang  membedakan 3 koneksi diatas?
-perbedaan koneksi diatas adalah pada port, yaitu ketika berbeda akses.
Analisis  : tracert digunakan sebagai salah satu cara untuk mengetahui ip address yang dituju, penggunaan wireshark adalah untuk mengetahui port pada web yang dituju. Dengan mencoba menampilkan 1 web yang sama namun dengan dengan akses yang berbeda-beda, yaitu chrome dengan tab 1 dan 2 serta menggunakan internet explorer. Namun dengan akses yang berbeda port yang  terlihat pada wireshark juga berbeda, ini membuktikan teori bahwa

B.    Part 2

1)   Eksperiment 1Komunikasi dengan Adaptor Loobback PC

IP Server
Nomor Port
IP Client
Nomor Port
127.0.0.1
65432
127.0.0.1
8324
Eksperimen 2: Komunikasi Menggunakan VMware
IP Server
Nomor Port
IP Client
Nomor Port
127.0.0.1
65432
127.0.01
56721
Analisi : Jika hanya menggunakan 1 PC maka IP addres pada server dan Client akan sama namun port tetap akan berbeda karena satu untuk menerima dan lainnya untuk mengirim
Eksperimen 3: Komunikasi antar PC menggunakan jaringan
IP Server
Nomor Port
IP Client
Nomor Port
10.40.83.108
65432
127.0.01
64393
Analisa : Dengan berbedanya komunikasi antar PC yang berbeda maka bisa dipastikan bahwa IP dan port berbeda
1.       Apa fungsi port dan socket
-          Port berfungsi sebagai alat identifikasi aplikasi dan layanan menggunakan TCP/IP sedangkan socket berfungsi untuk tautan komunikasi antara 2 entitas.
2.       Apa fungsi flag SYN, ACK, PSH, FIN pada wireshark
-          SYN :membuat koneksi dengan komputer atau server yang ingin dituju
-          ACK: menerima persetujuan koneksi yang akan dibuat oleh penerima
-          PSH : Mengindikasi isi TCP yang diterima client menjadi PSH=1 maka tidak boleh ada yang hilan
-          FIN : Menandakan pengiriman TCP  telah selesai
3.       Membuat aplikasi Chatting sederhana
-          Server 
# Server Side Script
# Supports Python v3.*

from socket import *
server_port = 5000
server_socket = socket(AF_INET,SOCK_STREAM)
server_socket.bind(('',server_port))
server_socket.listen(1)
print ("Welcome: The server is now ready to receive")
connection_socket, address = server_socket.accept()
while True:
  sentence = connection_socket.recv(2048).decode()
  print('>> ',sentence)
  message = input(">> ")
  connection_socket.send(message.encode())
  if(message == 'q'):
    connectionSocket.close()
-          Client 
# Client Side Script
# Supports Python v3.*
 
from socket import *
server_name = 'localhost'
server_port = 5000
client_socket = socket(AF_INET, SOCK_STREAM)
client_socket.connect((server_name,server_port))
 
while True:
  sentence = input(">> ")
  client_socket.send(sentence.encode())
  message = client_socket.recv(2048)
  print (">> ", message.decode())
  if(sentence == 'q'):
    client_socket.close()
-           

                                                                                                                                                                  V.    Kesimpulan

Berdasarkan praktikum yang telah dilakukan dapat disimpulkan bahwa jika berkomunikasi dengan pc sendiri dapat dipastikan bahwa hanya akan berbeda port namun sama IP address, namun jika berbeda PC jelas akan berbeda IP. Dapat dilakukan pembuatan chatting sangat sederhana menggunakan python.
 
 
 
Daftar Pustaka
.

[2]     Yones Raven, T. M. (2015). Implementasi Tcp/Ip Untuk Membuat Server Database Access. Jurnal Teknologi Informasi Program Studi Teknik Informatika Dan Sistem Informasi, Universitas Bunda Mulia , 44-50.
[3]     http://shantoroy.com/tutorial/simple-python-chat-server-program-in-python/ 03/01/2020. 12.33



Komentar

Postingan populer dari blog ini

BAGIAN-BAGIAN PADA GARDU INDUK