SERVER socket CLIENT socket bind pengalamatan recvfrom sendto close close Gambar. Algorithma pemrograman datagram socket Pada socket datagram algoritm

dokumen-dokumen yang mirip
UDP (User Datagram Protocol) SOCKET PROGRAMMING

PRAKTIKUM 10 DATAGRAM SOCKET PROGRAMMING

PERCOBAAN IV Socket Programming User Datagram Protocol (UDP)

Konsep Socket. Interface (API). API didefinisikan sebagai suatu kumpulan instruksi

PRAKTIKUM SOCKET PROGRAMMING (TCP dan UDP)

PERCOBAAN 6 Pemrograman Socket Transport Control Protocol (TCP)

PRAKTIKUM 9 STREAM SOCKET PROGRAMMING

KATA PENGANTAR. Surabaya, 24 Januari 2007 Hormat kami, Penulis

EL-695 KEAMANAN SISTEM INFORMASI

Pemrograman Socket dengan C

TCP (Transfer Control Protocol) SOCKET PROGRAMMING

TASK V OBSERVING TCP/IP, PORT USING COMMAND PROMPT AND WIRESHARK

TCP dan Pengalamatan IP

Pemrograman Jaringan

Di dunia free software,

Refrensi OSI

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

TRANSPORT LAYER. Aplikasi dan Operasi pada TCP dan UDP

TCP DAN UDP. Budhi Irawan, S.Si, M.T

Protokol Jaringan. Oleh : Tengku Mohd Diansyah,ST,M.Kom

Minggu 6 Transport Layer

Fungsi Lapis Transport

PEMROGRAMAN JARINGAN

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

Transport Layer. Oleh : Akhmad Mukhammad

JARINGAN KOMPUTER. Disusun Oleh : Nama : Febrina Setianingsih NIM : Dosen Pembimbing : Dr. Deris Stiawan, M.T., Ph.D.

User Datagram Protocol (UDP)

1. Menggunakan model OSI dan TCP/IP dan protokol-protokol yang terkait untuk menjelaskan komunikasi data dalam network. 2. Mengidentifikasi dan

Pemrograman Jaringan 9. Connectionless Oriented Programming

Pertemuan III. Referensi Model TCP/IP

SATUAN ACARA PERKULIAHAN (JARINGAN KOMPUTER) Pengesahan. Nama Dokumen : SILABUS. No Dokumen : No Revisi : Diajukan oleh

Analisis Packets dengan aplikasi Wireshark

Dosen Pengampu : Muhammad Riza Hilmi, ST.

MODUL 2 WIRESHARK Protokol TCP

Modul 2. Network Analysis Tool, Application Layer Protocol, dan Transport Layer Protocol

Sejarah TCP/IP TCP/IP

IMPLEMENTASI APLIKASI CHEPPYCHAT UNTUK JARINGAN KOMPUTER PADA LOCAL AREA NETWORK

Lapisan Transport. Menjamin komunikasi yang handal antara dua buah komputer yang terhubung Terdiri atas :

MODUL 2 WIRESHARK Protokol TCP

Fungsi Lapis Transport

IP Address. Dedi Hermanto

NETWORK PROGRAMMING. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

Arsitektur, Standarisasi, dan Trend

Rangkuman Bab I Konsep Jaringan. Jaringan adalah kumpulan dari komputer yang saling terhubung dan berkomunikasi. Menurut

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

JARINGAN KOMPUTER : RANGKUMAN KOMUNIKASI DAN PROTOKOL JARINGAN

layer interface layanan protokol

Wireshark dapat membaca data secara langsung dari Ethernet, Token-Ring, FDDI, serial (PPP and SLIP), wireless LAN, dan koneksi ATM.

Pemrograman Jaringan

MODEL REFERENSI OSI & TCP/IP. Budhi Irawan, S.Si, M.T

REVIEW MODEL OSI DAN TCP/IP

BAB II DASAR TEORI. Teknologi TCP/IP adalah hasil penelitian dan pengembangan protocol

JARINGAN KOMPUTER Layanan Dari TCP dan UDP Protocol

BAB II LANDASAN TEORI

adalah sebuah aturan atau standar yang mengatur hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer dalam Komunikasi Data

Monitoring Jaringan. Rijal Fadilah, S.Si

2.2 Dasar Teori. Layer # Nama Unit. Dimana setiap layer memiliki fungsi dan contoh masing-masing.

Pertemuan III. Referensi Model TCP/IP

BAB 2: INTRODUCTION TCP/IP

MODEL OSI DAN DOD. Referensi Model OSI (Open System Interconnections).

JARINGAN KOMPUTER MODUL 3

Pemrograman Jaringan

Tugas Jaringan Komputer

12. Internet dan Jaringan Konvergensi

Protokol TCP/IP. Oleh: Eko Marpanaji

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

BAB II TINJAUAN PUSTAKA

JARINGAN KOMPUTER JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA : MARINI SUPRIANTY NIM :

Protokol Jaringan JARINGAN KOMPUTER. Ramadhan Rakhmat Sani, M.Kom

TCP/IP (singkatan dari "Transmission Control Protocol")

26/09/2013. Pertemuan III. Elisabeth, S.Kom - FTI UAJM. Referensi Model TCP/IP

Modul 10 TCP/IP Lanjutan

BAB IV HASIL DAN PEMBAHASAN. perangkat software dan hardware untuk mendukung dalam penelitian analisis

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

Analysis protocol TCP, UDP, dan monitoring protocol SSL

Komunikasi Data STMIK AMIKOM Yogyakarta Khusnawi, S.Kom, M.Eng. TCP/IP Architecture

BAB II DASAR TEORI. Protokol adalah seperangkat aturan yang mengatur pembangunan koneksi

MODEL OSI LAYER DAN DOD

DAFTAR ISI. Kata Pengantar...i. Daftar Gambar...ix. Daftar Tabel...xi Latar Belakang Rumusan Masalah Batasan Masalah...

Transport Layer El E ectro ect n ro ic En E gineerin ri g Pol o ytech tec nic In I stitu sti t of o Surabaya ITS Kampus ITS Sukolilo Surabaya 60111

Artikel tentang Prinsip Dasar Routing yang penulis buat pada tahun 2001

TEE 843 Sistem Telekomunikasi. Internet dan Jaringan Konvergensi. Muhammad Daud Nurdin

CARA KERJA TCP/IP. Bab 1. Pendahuluan

Penelusuran Data Melalui Jaringan Internet

PEMROGRAMAN SOCKET TUGAS SISTEM TERDISTRIBUSI

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih

TUGAS JARINGANN KOMPUTER

JARINGAN KOMPUTER MODUL 4

: M Rasyid Darmawan NIM : TCP. Pengertian TCP. Karakteristik TCP

RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

TASK 5 JARINGAN KOMPUTER

Memahami cara kerja TCP dan UDP pada layer transport

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

lapisan-lapisan pada TCP/IP tidaklah cocok seluruhnya dengan lapisan-lapisan OSI.

TUGAS V JARINGAN KOMPUTER

BAB IV ANALISA. Mekanisme pengujian dilakukan dengan menggunakan dua buah server sekaligus

Muhammad Zen Samsono Hadi, ST. Msc.

Naufal Ilham Ramadhan SOAL

Koneksi TCP sebelum Spoofing

Cara kerja aplikasi yang menggunakan TCP dapat digambarkan oleh di bawah ini :

Transkripsi:

MODUL 12 KONSEP DASAR PEMPROGRAMAN SOCKET DATAGRAM TUJUAN PEMBELAJARAN: 1. Mahasiswa Mengenal Datagram Socket 2. Mahasiswa Memahami Konsep Pembuatan Pemprograman Datagram Socket untuk Komunikasi Client-Server 3. Mahasiswa Mampu Membuat Pemprograman Datagram Socket untuk Komunikasi Client-Server DASAR TEORI Datagram Socket Pada sistem operasi linux ada banyak socket, tetapi ada 2 yang paling utama yaitu stream socket dan datagram socket. Stream socket digunakan untuk sistem komunikasi 2 arah dan menggunakan protokol TCP (Transmission Control Protocol). Contoh aplikasi yang menggunakan stream socket adalah telnet dan HTTP (web browser). TCP menjamin data terkirim secara urut dan bebas dari error, sedangkan IP (Internet Protocol) bertugas untuk mengatur lalu-lintas routing. Jenis socket yang kedua yaitu datagram socket disebut juga connectionless socket sebab untuk interaksi client-server tidak harus selalu terhubung terus menerus. Jika client mengirimkan data ke server, data tersebut ada kemungkinan sampai ke server atau tidak. Untuk itu client menunggu sinyal error free dari client. Jika client tidak menerima sinyal error free dalam suatu kurun waktu, maka client akan mengirimkan lagi data tersebut. Contoh aplikasi yang menggunakan datagram socket adalah tftp dan bootp. Gambar Enkapsulasi data Data yang dikirimkan melalui datagram socket akan melalui proses yang diberi nama enkapsulasi (data encapsulation). Data yang akan dikirimkan sebelumnya dibungkus dulu dengan sebuah header dari protokol yang pertama (misalnya TFTP), lalu dibungkus lagi dengan protokol berikutnya (misalnya UDP), lalu IP dan yang terakhir dibungkus dengan ethernet protocol pada physical layer.

SERVER socket CLIENT socket bind pengalamatan recvfrom sendto close close Gambar. Algorithma pemrograman datagram socket Pada socket datagram algoritmanya lebih sederhana, tidak membuthkan koneksi antara server dan client. Sehingga system call/function yang dibutuhkan lebih sedikit, yaitu socket(), bind(), sendto() dan recvfrom(). sendto() dan recvfrom() adalah fungsi khusus yang dipakai untuk mengirim dan menerima data pada socket datagram. Secara garis besar langkah langkah yang dilakukan pada client dan server pada socket datagram adalah sebagai berikut : 1. Langkah langkah dasar di client: a. Membuka koneksi client ke server, yang di dalamnya adalah : Membuat socket dengan perintah socket(). melakukan pengalamatan ke server. b. Melakukan komunikasi (mengirimkan data), dengan menggunakan perintah sendto() c. Menutup hubungan dengan perintah close(); 2. Langkah langkah dasar di server : a. Membuat socket dengan perintah socket() b. Mengikatkan socket kepada sebuah alamat network dengan perintah bind() c. Melakukan komunikasi (menerima data), dengan menggunakan perintah recvfrom() Struktur Pengalamatan Struktur pengalamatan yang dipakai antara stream socket dan datagram socket tidak ada perbedaan. Dibawah ini adalah structure yang dipakai. struct sockaddr_in unsigned short sin_family; /* address family (always AF_INET) */ unsigned short sin_port; /* port num in network byte order */ struct in_addr sin_addr; /* IP addr in network byte order */ unsigned char sin_zero[8]; /* pad to sizeof(struct sockaddr) */ ; Contoh pemakaian struktur tersebut bisa dilihat pada tabel berikut ini:

int sockfd; struct sockaddr_in their_addr; // connector's address information struct hostent *he; int numbytes; Langkah Langkah Program di Client 1. Berikut ini adalah prosedur pembukaan koneksi client ke server pada hostname:port tertentu. Di dalamnya termasuk membuat socket, melakukan pengalamatan ke server dan melakukan koneksi ke server dengan perintah connect(). adalah sebagai berikut : a. Membuat socket dengan perintah socket(). if ((sockfd = socket(af_inet, SOCK_DGRAM, 0)) == -1) perror("socket"); Socket system call digunakan untuk mendapatkan file descriptor. IF_INET menunjukkan bahwa socket dihubungkan dengan protokol internet. SOCK_DGRAM menunjukkan bahwa program ini memakai datagram socket/udp, yang berari connectionless. b. Selanjutnya setelah membuat socket melakukan pengalamatan ke server. their_addr.sin_family = AF_INET; // host byte order their_addr.sin_port = htons(myport); // short, network byte order their_addr.sin_addr = *((struct in_addr *)he->h_addr); memset(&(their_addr.sin_zero), '\0', 8); // zero the rest of the struct 2. Melakukan komunikasi (mengirim data), dengan menggunakan perintah sendto() if ((numbytes=sendto(sockfd, argv[2], strlen(argv[2]), 0, (struct sockaddr *)&their_addr, sizeof(struct sockaddr))) == -1) perror("sendto"); 3. Menutup hubungan dengan perintah close(); Langkah langkah Program di Server 1. Melakukan prosedur pembukaan koneksi yang di dalamnya berupa langkah langkah : membuat socket, mengikat socket, dan pengalamatan socket.

Langkah demi langkah membuat koneksi di server adalah sebagai berikut : a. Membuat socket dengan perintah socket() if ((sockfd = socket(af_inet, SOCK_DGRAM, 0)) == -1) perror("socket"); b. Melakukan pengalamatan. my_addr.sin_family = AF_INET; // host byte order my_addr.sin_port = htons(myport); // short, network byte order my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct c. Mengikatkan socket kepada sebuah alamat network dengan perintah bind() if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) perror("bind"); bind system call digunakan untuk memberi nomer port ke socket. Argumen : Sockfd : socket file descriptor yang dihasilkan dari fungsi socket() My_addr : berisi alamat ip address, addrlen diisi sizeof(struc sockaddr) 2. Menerima koneksi dengan perintah recvfrom(). addr_len = sizeof(struct sockaddr); if ((numbytes=recvfrom(sockfd,buf, MAXBUFLEN-1, 0, (struct sockaddr *)&their_addr, &addr_len)) == -1) perror("recvfrom"); TUGAS PENDAHULUAN 1. Jelaskan secara singkat apa yang anda ketahui tentang UDP 2. Jelaskan perbedaan TCP dan UDP 3. Berikan contoh aplikasi aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut.

PERCOBAAN 1. Denga memakai editor vi tuliskan kembali program di bawah ini. Ada dua bagian program, client dan server. Simpan sesuai dengan nama yang ada pada comment program /* ** talker.c -- a datagram "client" demo */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #define MYPORT 4950 connecting to // the port users will be int main(int argc, char *argv[]) int sockfd; struct sockaddr_in their_addr; // connector's address information struct hostent *he; int numbytes; if (argc!= 3) fprintf(stderr,"usage: talker hostname message\n"); if ((he=gethostbyname(argv[1])) == NULL) the host info perror("gethostbyname"); // get if ((sockfd = socket(af_inet, SOCK_DGRAM, 0)) == -1) perror("socket"); their_addr.sin_family = AF_INET; // host byte order their_addr.sin_port = htons(myport); // short, network byte order their_addr.sin_addr = *((struct in_addr *)he- >h_addr);

memset(&(their_addr.sin_zero), '\0', 8); // zero the rest of the struct if ((numbytes=sendto(sockfd, argv[2], strlen(argv[2]), 0, (struct sockaddr *)&their_addr, sizeof(struct sockaddr))) == -1) perror("sendto"); printf("sent %d bytes to %s\n", numbytes, inet_ntoa(their_addr.sin_addr)); close(sockfd); return 0; /* ** listener.c -- a datagram sockets "server" demo */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define MYPORT 4950 connecting to // the port users will be #define MAXBUFLEN 100 int main(void) int sockfd; struct sockaddr_in my_addr; // my address information struct sockaddr_in their_addr; // connector's address information int addr_len, numbytes; char buf[maxbuflen]; if ((sockfd = socket(af_inet, SOCK_DGRAM, 0)) == -1) perror("socket");

my_addr.sin_family = AF_INET; // host byte order my_addr.sin_port = htons(myport); // short, network byte order my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) perror("bind"); addr_len = sizeof(struct sockaddr); if ((numbytes=recvfrom(sockfd,buf, MAXBUFLEN-1, 0, (struct sockaddr *)&their_addr, &addr_len)) == -1) perror("recvfrom"); printf("got packet from %s\n",inet_ntoa(their_addr.sin_addr)); printf("packet is %d bytes long\n",numbytes); buf[numbytes] = '\0'; printf("packet contains \"%s\"\n",buf); close(sockfd); return 0; 2. Jalankan program tersebut, output apa yang dihasilkan dari program tersebut. 3. Berikan komentar tiap baris pada program tersebut apa maksud dan kegunaan perintah diatas bila dihubungkan dengan socket datagram. 4. Buatlah program memakai datagram socket yang bisa mengirimkan data posisi jam client sekarang ke server.

LAPORAN RESMI FORMAT LAPORAN RESMI Nama dan NRP mahasiswa Judul Percobaan : Konsep Dasar Pemprograman socket datagram Dasar Teori : Tugas Pendahuluan : Hasil percobaan : Daftar Pertanyaan 1. Berikan kesimpulan hasil praktikum yang anda lakukan. 2. Pada pemprograman socket datagram, untuk mengetahui data sampai atau tidak, client menunggu sinyal error free dari server. Jika client tidak menerima sinyal error free dalam suatu kurun waktu, maka client akan mengirimkan lagi data tersebut. Modifikasi program yang anda buat supaya bisa mengakomodasi error free tersebut.