1 / 26

Pemrograman Jaringan

Pemrograman Jaringan. Socket Programming. Aurelio Rahmadian. Objektif. Socket Client-Server TCP Socket Programming UDP Socket Programming TCP Socket vs UDP Socket. Socket.

turner
Download Presentation

Pemrograman Jaringan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pemrograman Jaringan Socket Programming Aurelio Rahmadian

  2. Objektif • Socket • Client-Server • TCP Socket Programming • UDP Socket Programming • TCP Socket vs UDP Socket

  3. Socket • Socket adalahmekanismekomunikasi yang memungkinkanterjadinyapertukaran data antar program atauprosesbaikdalamsatumesinmaupunantarmesin • Keunggulandaripenggunaan socket adalahdapatmelakukankomunikasiantarproses/program melaluijaringanberbasis yang TCP/IP, bahkandengan program lain, sepanjang program tersebut berbicara dalam protokol transfer yang sama

  4. Socket • Socket adalah interface padajaringan yang menjadititikkomunikasiantarmesinpada Internet Protocol, dantentunyatanpakomunikasiini, tidakakanadapertukaran data daninformasijaringan • Socket terdiridarielemen-elemenutamasebagaiberikut: • Protokol • Local IP • Local Port • Remote IP • Remote Port

  5. Socket Port • Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara langsung • Terbagiatas 3 bagian: • Well-known ports Merupakanport yang telahdigunakansecara internal olehsistem, misalnya port untukkoneksi Internet, service FTP, danseterusnya. Port yang telahdigunakaniniadalah port 0 sampaidengan port 1023. • Registered ports Port inidapatdigunakandalamaplikasitertentu, range-nyaadalah port 1024 hingga port 49151. • Dynamic/Private ports Dari port 49152 sampaidengan port 65535.

  6. Socket • Network Socket merupakantitikakhiraruskomunikasimelaluisuatujaringankomputer, ditujukanuntukkomunikasiantaraplikasiantarmesindalamlingkunganjaringanTCP/IP • Kebanyakan network socket merupakan Internet Socket

  7. Socket • Jenis internet socket: • Stream Socket, connection-oriented socket, menggunakan TCP • Datagram Socket, connectionless, menggunakan UDP • Raw Socket (Raw IP Socket), umumnyaberadapadaperangkatjaringan

  8. Socket Stream Socket • Socket komunikasi full-duplex berbasisaliran (stream) data • Padamodel komunikasi Socket Stream, koneksiduaaplikasiharusdalamkondisitersambungdenganbenaruntukdapatbertukardata • Koneksimodel sepertiiniakanmenjamin data dapatdipertukarkandenganbaik, namunmemilikikelemahandalamhalpenggunaanjalur data yang relatifbesardantidakbolehterputus

  9. Socket Datagram Socket • Socket initidakmembutuhkankoneksi yang tersambungdenganbenaruntukmengirimkandanmenerimadata • Model koneksisemacaminitidakdapatmenjamin data dapatdipertukarkandenganbaik, namun memiliki keunggulan dalam hal penggunaan jalur data yang minimal • Tidakada yang dapatmenjamindata dapatditerimadenganbaik, kecualiditerapkanmetodarechecking

  10. Client-Server • Kebanyakanjaringankomputer yang adasaatinimemilikiarsitektur client-server • Client melakukaninisiasiproseskomunikasi • Server meresponpermintaan/request dari client

  11. Client-Server • Untukmembuataplikasi socket yang sederhanadiperlukanduaaplikasi, pertamaadalahaplikasi server yang akanmenerima data, sedangkanaplikasikeduaadalahaplikasi client yang mengirimkan data padaserver • Baikaplikasi server danaplikasi client mendefinisikan port yang samasebagaijalurkomunikasi

  12. TCP Socket Programming • Dari sisi server • Server beradadalamposisi Listening dansiapmenerimakoneksidari client • Pengirimandanpenerimaan data menggunakan input dan output stream • Dari sisi client • Koneksike server dilakukanpadapemanggilan constructor • Pengirimandanpenerimaan data menggunakan input dan output stream

  13. TCP Socket Programming • Model TCP Client-Server

  14. TCP Socket Programming • Socket pada server memilikifungsi: • Mengikat Port (Bind Function) • Mengamati data yang datang (Listen Function) • Menerimakoneksidari remote machine pada port tertentu (Accept Function)

  15. TCP Socket Programming TCP Server socket( ) bind( ) +----> listen( ) | accept( ) | (block until connection from client ) | read( ) | write( ) +----- close( ) close( )

  16. TCP Socket Programming • Create a server socket • Prepare the socket to listen • Wait for a request to connect, a new client socket is created here • Read data sent from client • Send data back to client • Close client socket • Loop back if not told to exit • Close server socket is exit command given by client

  17. TCP Socket Programming • Socket(InetAddress address, int port) • Membuatsebuah stream socket dankoneksikesuatunomor port padasuatukomputer yang memilikialamat IP • Socket(String Host, int port) • Membuat stream socket danjugakoneksikesuatu port komputerberdasarkannamakomputernya • Socket(String host, int port, InetAddresslocalAddr, intlocalPort) • Membuatsebuah socket danmengkoneksikannyake port yang ditujupadaalamat IP yang disebutkanpada parameter address ataunamahost • Melakukan bind socket kealamatlokaldan port lokal. (Jikakoneksiantara client dan server membutuhkannomor port yang sudahditentukan)

  18. TCP Socket Programming TCP Client socket( ) connect( ) write( ) read( ) close( )

  19. TCP Socket Programming • Create a socket with the server IP address • Connect to the server, this step also names the socket • Send data to the server • Read data returned (echoed) back from the server • Close the socket

  20. UDP Socket Programming • Untukprotokol UDP, perbedaanyaadalah socket disisi server samadengan socket disisi client, dantidakadaoperasi listen padasisiserver • Kemudiansaatpaket data dikirimkan, alamat socket penerimaharusdisertakansebagaiargumen

  21. UDP Socket Programming • DatagramSocket(int port) • Class inidapatdigunakanuntukmenyatakanpenggunaansuatunomor port sebagai "pintu“ untukmenerimakoneksidari client • DatagramSocket(int port, InetAddressladdr) • Class inimembentukkoneksidenganprotokol UDP padaalamat IP lokaltertentudanpadanomor port tertentu • DatagramSocket() • Class inimembentukkoneksidenganprotokol UDP padaalamat IP localhostdenganpenentuannomorportnyasecara random berdasartersedianyanomor port yang dapatdigunakan

  22. UDP Socket Programming UDP Server • Membuat socket menggunakanDatagramSocket object • Membuat object dariDatagramPacket class danmenggunakan receive() method untukmenerimapesan yang dikirim client • Membuat object dariDatagramPacket class danmenggunakan send() method untukmengirimpesanke client • Memulai server serverdenganmemanggil constructor dari UDP server class di method main()

  23. UDP Socket Programming UDP Client • Membuat socket danmenggunakan object DatagramSocketuntukmelakukankomunikasidengan server • Membuat object dariDatagramPacket class danmenggunakan send() method untukmengirimpesanke server • Membuat object dariDatagramPacket class danmenggunakan method receive() untukmenerimapesan yang dikirimoleh server

  24. TCP Socket vs UDP Socket • TCP adalah protocol yang reliable • Menunggukonfirmasidaripihak socket penerima, dankalauperlu packet data yang hilangakandikirimkankembali • Konsekuensinyaadalah TCP menimbulkan overhead lalulintasjaringanlebihtinggidibanding UDP • UDP adalah protocol yang unreliable • Ketika packet data dikirimkan, UDP tidakmengecekkembaliapakah data yang dikirimsampaitujuan • Jadidengan UDP tidakadakepastianbagisisipengirimbahwadatanyasudahsampaiketujuandengankeadaanbaik

  25. TCP Socket vs UDP Socket • TCP: tidakmemilikibatasankarena data-data dikirimkansebagaialiran data (stream) • UDP: memilikibatasanukuran datagram (packet data) yang dikirimkansebesar 64 kB

  26. TCP Socket vs UDP Socket • TCP: membuat setup koneksidengan socket tujuanterlebihdulu, setelahkoneksiterbentuk, tidakdibutuhkanmengirimkaninformasi socket pengirimtiap kali data dikirimkan • UDP: setiap kali suatu packet data dikirim, informasi socket pengirimdanalamat socket tujuanturutdikirimkan

More Related