Network Programming 1 - Teori Dasar Network Programming

6,814 views
6,602 views

Published on

Network Programming 1 - Teori Dasar

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,814
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
546
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Network Programming 1 - Teori Dasar Network Programming

  1. 1. Ridwan Montezari montezari@gmail.com
  2. 2. Teori DasarPemrograman Jaringan
  3. 3. Bahasan Komunikasi Data Jaringan Komputer TCP/IP dan UDP Ports Keamanan Jaringan Network Program
  4. 4. Komunikasi Data Teknologi : Circuit Switching dan Packet Switching. Data dikirim dari satu node ke node yang lain. Faktanya, jaringan point‐to‐point kadang kala tidak praktis : Bila Bil perangkat‐perangkat b d pada b i yang j h k t k t berada d bagian jauh maka akan mahal Adanya sekumpulan perangkat, yang membutuhkan y p p g ,y g link yang sangat kompleks Solusi : Local Area Network (LAN), Wide Area Network (WAN)
  5. 5. ElElemen K i KunciKomunikasi Data• Source (Sumber) : membangkitkan data yang ditransmisikan, contoh : PC dan telepon.• Transmitter (Pengirim): konversi data ke dalam sinyal yang ditransmisikan• Transmission System (Sistem Transmisi) : sistem pembawa data.• Receiver (Penerima) : mengubah sinyal yang diterima ke dalam bentuk data• Destination (Tujuan) : Menerima data yang dihasilkan oleh receiver.
  6. 6. Circuit Switching Alur komunikasi yang digunakan oleh dua stasiun/node Tiga fasa (Three phases) Menetapkan (Establish) p ( ) Mengirim (Transfer) Memutuskan (Disconnect) Harus memiliki kapasitas switching dan kapasitas channel untuk menetapkan/menentukan koneksi. Harus memiliki kemampuan routing sebuah proses untuk meneruskan paket‐paket jaringan dari paket paket satu jaringan ke jaringan lainnya melalui sebuah internetwork. Biasa dipakai pada jaringan telepon. p p j g p
  7. 7. A lik iAplikasiCircuit Switching Tidak Efisien (Inefficient) Setup (connection) memerlukan banyak waktu. Dikembangkan untuk lalu lintas suara. Resource didedikasikan pada panggilan tertentu Pada kondisi idle P d k di i idl maka waktu b k k banyak terbuang k b Fixed Data Rate (Kedua stasiun/node harus beroperasi pada rate yang sama )
  8. 8. Packet Switching Data ditransmisikan dalam paket‐paket kecil Biasanya 1000 bytes. Pesan yang panjang dibagi menjadi rangkaian paket paket‐ paket. Setiap paket berisi sebuah bagian dari user data ditambah d di b h dengan b b beberapa i f k info kontrol. l Info kontrol Routing (addressing) info Paket diterima, disimpan secara ringkas (buffered) dan dilanjutkan ke node selanjutnya Store and forward
  9. 9. AplikasiPacket Switching Effisiensi Line Satu node ke node penghubungnya dapat berbagi berbagai macam paket setiap waktu waktu. Paket diurutkan dan dikirimkan secepat mungkin Konversi Data Rate Nodes buffer data jika diperlukan untuk menyamakan rates Packet akan diterima walaupun jaringan sibuk Kecepatan pengiriman mungkin turun Prioritasnya dapat diatur y p
  10. 10. TeknikPacket Switching Stasiun memecah pesan panjang menjadi paket‐paket Pengiriman packet satu kali pada satu waktu ke jaringan j i Packet di‐handle dalam dua cara : Datagram D t Virtual circuit
  11. 11. D tDatagramPacket Switching Setiap paket diperlakukan secara independent Packet dapat mengambil setiap rute praktis Packet mungkin datang tidak sesuai urutan Packet mungkin dapat menghilang Tergantung pada receiver untuk mengurutkan paket dan mengembalikan paket yang hilang
  12. 12. Vi t l Ci itVirtual CircuitPacket Switching Membangun perencanaan rute sebelum mengirimkan paket Panggilan permintaan dan panggilan penerimaan gg p p gg p paket membangun koneksi (handshake) Masing‐masing paket terdiri dari sebuah pengenal virtual circuit bukan sebuah alamat tujuan Tidak ada keputusan routing yang diperlukan untuk setiap paket Mengosongkan permintaan untuk menggagalkan M k i t t k lk circuit Bukan sebuah jalur yang bersifat dedicated
  13. 13. D tDatagram vs Vi t l Ci it Virtual CircuitPacket Switching Datagram Tidak memerlukan fase call setup (Lebih baik jika paketnya sedikit) Lebih Flexible (Routing dapat digunakan untuk menghindari tabrakan dalam jaringan). Virtual Circuit Jaringan dapat menyediakan sequencing dan kontrol error Packet diteruskan lebih cepat (Tidak perlu membuat keputusan routing) Kurang reliable (Hilangnya sebuah node menyebabkan hilangnya seluruh circuit yang melaluinya) hil l h i i l l i )
  14. 14. Jaringan Komputer Seperangkat komputer otonom yang saling terhubung yang secara explisit terlihat, sehingga dapat saling bertukar informasi/data dan berbagi (share) satu dengan lainnya. [Tanenbaum. 1996] Kumpulan dari perangkat‐perangkat yang berbagi perangkat perangkat protokol dan media komunikasi. [David and Michael Reilly. 2002] Kumpulan dari komputer dan perangkat lainnya yang dapat mengirim dan menerima data satu sama lain secara real time [Elliot R H 2004] real‐time R.H.
  15. 15. KonsepJaringan Komputer Setiap mesin dalam sebuah jaringan disebut Node. Node adalah komputer, printer, router, bridge dan lain‐lain. l i l i Node‐node yang berupa komputer yang memiliki suatu fungsi disebut Host Host. Setiap node didalam jaringan mempunyai sebuah alamat unik yang berfungsi untuk mengidentifikasi node tersebut. Alamat unik : Internet Protocol (IP)
  16. 16. KonsepJaringan Komputer Alamat jaringan dapat menggunakan penamaan sehingga dapat lebih mudah mengingatnya. Penamaan i i akan di b h d h l menjadi alamat P ini k diubah dahulu j di l byte yang diatur oleh DNS (Domain Name System) Satu atau lebih nama harus mewakili satu alamat byte fisik yang diatur oleh server alias pada server. Contoh : localhost dan test.com dapat merujuk pada p j p satu alamat IP yang sama yaitu 127.0.0.1
  17. 17. IP Address Pengalamatan IP memiliki 32 bit angka yang bersifat unik. NetID : bit‐bit terkiri dan HostID (bit‐bit selain NetID) Range : 0.0.0.0 s/d 255.255.255.255 Untuk U t k mempermudah pembacaan maka dib tl h d h b k dibuatlah dalam bentuk desimal di mana setiap 8 bit diwakili satu bilangan desimal yang dipisahkan dengan tanda titik.
  18. 18. Pengkelasan Alamat IP Kelas A 27 atau 128 jaringan yang tersedia. organisasi komputer yang jumlahnya sangat besar dalam jaringannya Kelas B 214 atau 16.384 jaringan yang tersedia. organisasi komputer dalam jumlah menengah. Kelas C 221 atau 2 097 152 jaringan yang tersedia 2.097.152 tersedia. organisasi komputer dalam jumlah kecil. Kelas D Khusus kelas D ini digunakan untuk tujuan multicasting di mana sebuah data dikirimkan melalui jaringan ke sekumpulan komputer yang tergabung ke dalam sebuah grup tertentu, yang disebut sebagai multicast group Kelas E Kelas E disisakan untuk pengunaan khusus, biasanya untuk kepentingan riset
  19. 19. Protokol Jaringan Seperangkat kesepakatan aturan yang mengatur format, bentuk serta aksi‐aksi yang perlu dilakukan terhadap pesan atau data yang dikirim melalui jaringan. Dalam komunikasi data aturan‐aturan meliputi cara data, aturan aturan membuka hubungan, mengirim paket data, mengkonfirmasikan jumlah data yang diterima dan meneruskan pengiriman data.
  20. 20. Protokol Jaringan Protokol mendefinisikan apa yang dikomunikasikan bagaimana dan kapan terjadinya komunikasi. Elemen‐elemen penting daripada protokol adalah : Syntax (mengacu pada struktur atau format data yang mana dalam data, urutan tampilannya memiliki makna tersendiri. Sebagai contoh, sebuah protokol sederhana akan memiliki urutan pada delapan bit pertama adalah alamat pengirim, delapan bit kedua adalah alamat penerima dan bit stream sisanya merupakan informasinya sendiri) Semantics (mengacu pada maksud setiap section bit. Dengan kata lain adalah bagaimana bit‐bit tersebut terpola untuk dapat diterjemahkan) Timing (mengacu pada 2 karakteristik yakni kapan data harus dikirim dan seberapa cepat data tersebut dikirim Sebagai contoh jika dikirim. contoh, pengirim memproduksi data sebesar 100 Mbps namun penerima hanya mampu mengolah data pada kecepatan 1 Mbps, maka transmisi data akan menjadi overload pada sisi penerima dan akibatnya banyak data yang akan hilang atau musnah)
  21. 21. St d i i & SStandarisasi Susunan L i LapisanProtokol Jaringan Salah satu standarisasi dalam protokol jaringan yang dikembangkan oleh International Standards Organization (ISO) adalah Open System Interconnection (OSI) (OSI). Teknik pada model referensi OSI adalah menggunakan teknik layer (lapisan) dimana setiap lapisan dibedakan menurut fungsi dan proses yang dilakukan. Model referensi OSI ini didefenisikan menjadi tujuh lapisan protokol komunikasi yaitu Application Layer Layer, Presentation Layer, Session Layer, Transport Layer, Network Layer, Data Link Layer, Physical Layer.
  22. 22. SSusunan L i LapisanProtokol Jaringan Application Layer Bertugas untuk mengatur interaksi antara pengguna komputer dengan aplikasi yang dipakai. Contoh : Telnet,HTTP,FTP, SMTP, SNMP. Presentation Layer Masalah perbedaan format penyajian data dengan cara mengonversikan syntax data yang dikirim agar dapat dimengerti oleh penerima dan menyediakan fasilitas untuk melakukan kompresi dan enkrisi‐dekripsi data agar keamanan data terjamin. Contoh : ASCII Session layer Bertugas untuk menyediakan sarana pembangunan hubungan dan pengontrolan terhadap kerjasama antar komputer atau program aplikasi yang sedang berkomunikasi. Contoh : RPC, SQL. Transmission l T i i layer Memberikan layanan dalam hal error recovery dan data flow control serta mencari rute kosong untuk proses transmisi data dan informasi. Contoh : TCP, UDP. Network Layer Memberikan layanan pengiriman data dengan menentukan rute pengiriman dan mengendalikannya sehingga data dapat sampai ketujuan Selain itu data yang berupa pesan‐pesan akan dibagi‐bagi dlm bentuk paket‐paket data yg dilengkapi dengan ketujuan. berbagai header tertentu pada setiap paket data tersebut. Contoh : IP, IPX, Appletalk DDP. Data Link Layer memecah data atau informasi menjadi beberapa frame tertentu yang dilengkapi dengan bit‐bit alamat pengirim dan penerima, mendeteksi kesalahan yang mungkin terjadi saat proses transmisi berlangsung dan pada sisi penerima, lapisan ini berfungsi untuk menggabungkan kembali bit‐bit yang diterima. Contoh : IEEE802.2/802.3, HDLC, Frame relay, PPP, FDDI, ATM Physical Layer bertugas untuk mengatur sinkronisasi pengiriman dan penerimaan data, spesifikasi mekanis dan elektris. membangun dan memutuskan hubungan komunikasi. Contoh : EIA/TIA‐232,V35, EIA/TIA‐ 449, V.24, RJ‐45, Ethernet
  23. 23. TCP/IP(Transmission Control Protocol/Internet Protocol) Dikembangkan dari proyek ARPANET oleh US Defense Advance Research Project Agency (DARPA). Digunakan oleh jaringan internet. Terdiri dari 5 lapisan : Application Layer Transport Layer p y Internet Layer Network Interface Layer Physical Layer Perlengkapan standar pada sistem operasi UNIX dan turunannya dan saat ini mesin Novell, SUN maupun Machintosh sudah dilengkapi dengan protokol standar g p g p TCP/IP.
  24. 24. P i i K j TCPPrinsip Kerja(Transfer Control Protocol) Prinsip kerja seperti virtual circuit pada jaringan komputer. Mengatur b i M bagaimana cara membuka h b b k hubungan komunikasi, jenis aplikasi apa yang akan dilakukan dalam komunikasi tersebut misalnya mengirim e‐ tersebut, e mail, transfer file dsb. Mendeteksi dan mengoreksi jika ada kesalahan data. g j
  25. 25. P i i K j IPPrinsip Kerja(Internet Protocol) IP berfungsi menyampaikan datagram dari satu komputer ke komputer lain tanpa tergantung pada media kompunikasi yang digunakan digunakan. Data transport layer dipotong menjadi datagram‐ datagram yang dapat dibawa oleh IP IP. Tiap datagram dilepas dalam jaringan komputer dan akan mencari sendiri secara otomatis rute yang harus y g ditempuh ke komputer tujuan.
  26. 26. Lapisan Pada TCP/IP Application Layer Lapisan ini bertanggung jawab dalam rangka menyediakan akses kepada aplikasi terhadap jaringan TCP/IP. Protokol‐protokol yang berjalan pada lapisan ini adalah protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP) dll Transport Layer Lapisan ini bertanggung jawab dalam rangka membuat komunikasi antar dua host, dengan menggunakan cara membuat sebuah sesi connection‐oriented atau menyebarkan sebuah connectionless broadcast. Protokol‐ protokol yang berjalan pada lapisan ini adalah protokol Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP). Internet Layer Lapisan ini bertanggung jawab dalam melakukan routing dan pembuatan paket IP (dengan menggunakan teknik encapsulation). Protokol‐protokol yang berjalan pada lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), serta Internet Group Management Protocol (IGMP) Network Interface Layer Lapisan ini bertanggung jawab dalam meletakkan frame‐frame data di atas media jaringan Protokol yang frame frame jaringan. berjalan dalam lapisan ini adalah beberapa arsitektur jaringan lokal (seperti halnya Ethernet atau Token Ring), serta layanan teknologi WAN (seperti Plain Old Telephone Service (POTS), Integrated Services Digital Network (ISDN), Frame Relay, dan Asynchronous Transfer Mode (ATM).) Physical Layer Pada lapisan ini ditentukan karakteristik media transmisi, rata‐rata pensinyalan, serta skema pengkodean sinyal dan sarana sistem pengiriman data ke device yang terhubung ke network.
  27. 27. OSI vs TCP/IP
  28. 28. UDP(User Datagram Protocol) Berorientasi connectionless protocol. Pesan‐pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi. Tidak mendukung reliabilitas reliabilitas. Tidak ada informasi yang yang diterima oleh mesin pengirim yang mengindikasikan data diterima oleh mesin penerima dengan benar. Tidak memiliki kemampuan untuk melakukan recover terhadap data yang mengalami error. Digunakan untuk trivial file transfer protocol (TFTP) dan remote call procedure (RCP). Berhubungan langsung dengan IP tanpa adanya mekanisme flow control dan error‐recovery Transmisi broadcast. Contoh DNS
  29. 29. UDP vs TCP UDP dianalogikan seperti proses pengiriman SMS (Short Messsage Service) dimana kita tidak harus selalu berada ditempat untuk menunggu pesan karena pesan yang dikirim akan sampai sekalipun telepon selular itu tidak diaktifkan. TCP dianalogikan seperti proses komunikasi langsung pada telepon dimana kita harus berada ditempat untuk menjawab langsung telepon tersebut.
  30. 30. Port Alamat / nomor yang membedakan koneksi yang berbeda‐beda pada mesin yang sama. Range 0 – 65535 1‐1023 : spesifikasi port untuk layanan standar (Well‐ known Port) yang ditetapkan oleh Internet Assigned Number Authority (IANA). N b A h i (IANA) 1024‐65535 : spesifikasi port untuk kebutuhan khusus ( y (Dynamically Assigned Port). y g ) Protokol TCP dan UDP menggunakan port untuk memetakan data yang masuk ke proses tertentu yang berjalan pada komputer komputer.
  31. 31. Layanan pada Port Setiap port menyediakan sebuah layanan. Contoh Layanan : Echo Port 7 : kebutuhan untuk tujuan pengujian keterhubungan koneksi. FTP (File Transfer Protocol) Port 20 & 21 : pada port 20 berfungsi untuk mengirim file dan port 21 pengiriman perintah FTP (PUT/GET). Telnet Port 23 : Remote command line session SMTP (Simple Mail Transfer Protocol) Port 25 : pengiriman e‐mail HTTP (Hypertext Transfer Protocol) port 80 : Protokol yang mendasari dari World Wide Web. NNTP (Network News Transfer Protocol) port 119 : Usenet, untuk mengirim artikel berita Usenet antara server dan client
  32. 32. Permasalahan Keamanan Jaringan Keamanan jaringan merupakan topik yang penting bagi administrator jaringan dengan melindungi sistem komputer dan bagi para pengembang menghasilkan perangkat lunak jaringan. Firewall dan Proxy Server
  33. 33. Fi llFirewallPermasalahan Keamanan Jaringan Mesin khusus yang telah dikonfigurasikan untuk melarang hal yang berbahaya dari data yang masuk dan keluar. Biasanya firewall system akan membatasi suatu akses keluar komputer dengan membatasi services yang tidak perlu untuk meminimalisasi potensi cracking/hacking.
  34. 34. P SProxy ServerPermasalahan Keamanan Jaringan Sebuah mesin yang bertindak sebagai proxy untuk protokol aplikasi. Server menerima k S i koneksi yang masuk d i l l k i k dari local network dan membuat request ke mesin yang terkoneksi dengan Internet Internet. Akses langsung ke internal machines tidak pernah terjadi dan proxy server dapat mengkontrol transaksi. j p y p g Hak akses HTTP dapat dibatasi terhadap website ‐ website tertentu saja. Proxy servers juga melakukan l networking events. l k k log k
  35. 35. Network Program Sebuah program jaringan dapat menerima informasi dan mengirim suatu informasi Teknologi koneksi yang paling umum di k i adalah T k l ik k i li dipakai d l h Client‐Server Chat Application Multiplayer Games Peer‐to‐peer Application p pp Browser Web.
  36. 36. Application OfNetwork Programming Network Tools Telnet, FTP Internet Tools HTTP, NTP Collaborative Tools Application Sharing. Distributed Object Computing RPC, CORBA Distributed Database Oracle, Oracle SQL Server
  37. 37. Referensi David and Michael Reilly, “ Java Network Programming and Distributed Computing”, Addison Wesley, 2002. Elliotte Rusty Harold “Java Network Programming”, 3rd Harold, Java Programming Edition, OReilly, 2004. Melwin Syafrizal, “Pengantar Jaringan Komputer”, ANDI, y , g J g p , , 2005. Jan Graba, “An Introduction To Network Programming With J ” S i Java”,Springer,2007.

×