TCP/IP SOCKET

download TCP/IP SOCKET

of 22

  • date post

    05-Jan-2016
  • Category

    Documents

  • view

    51
  • download

    0

Embed Size (px)

description

TCP/IP SOCKET. Sujoko. Pengertian Socket. Socket adalah piranti lunak yantg digunakan untuk mengadakan hubungan secara lengkap Socket merupakan kombinasi alamat IP dan nomor port. Sebuah socket bersifat unik pada suatu jaringan - PowerPoint PPT Presentation

Transcript of TCP/IP SOCKET

  • TCP/IP SOCKETSujoko

  • Pengertian SocketSocket adalah piranti lunak yantg digunakan untuk mengadakan hubungan secara lengkapSocket merupakan kombinasi alamat IP dan nomor port. Sebuah socket bersifat unik pada suatu jaringanSebuah socket mewakili sebuah hubungan khusus antara dua komputer pada jaringan menggunakan sebuah layanan (service) khususSuatu contoh layanan FTP, sebuah komputer menawarkan kemampuan pada yang lain untuk menghubungi dan mentransfer file dengan mendengarkan ke port 21 untuk hubungan tersebut.

  • Arsitektur Protokol Microsoft

    Aplikasi Windows (API)Aplikasi TCP/IP (FTP,HTTP,)NetBIOSWINSOCKNetBiosNetBios over TCP/IPTDI InterfaceNWLInkNetBEUI(NBF)TCP/IPNDISNetwork Adapter(mis: NE2000,dll)Network Adapter(Ethernet, TokenRing, dll)

  • Nomor Port Pada Server

    21

    23

    80

    ...

    TFTP

    69

    ProtocolID = 6

    Telnet

    ProtocolID = 17

    FTP

    TCP

    UDP

    IP

    110

    HTTP

    53

    DNS

    POP3

    ...

    ...

    SNMP

    ApplicationLayer

    Transportlayer

    Port Number

    IP Address

  • Multiple Host Connecting

    IBM RS/6000

    Tower box

    TCP (23)

    TCP (23)

    TCP (23)

    Server128.66.12.1

    Peanut

    128.66.12.1TCP (9811)

    128.66.12.4TCP (2001)

    Walnut

    128.66.12.5TCP (5123)

    Pecant

    Almond

  • Sebuah service dapat membuka lebih dari satu socket

    Soket_1

    Soket_4

    Soket_3

    Soket_2

    Port 21

  • Aliran fungsi Winsock client/server dengan TCP ConnectionOriented

    SERVER

    CLIENT

    Socket()Menciptakan soket

    Bind()Memberi nama soket

    Listen()Mendengar hubungan dari client

    Socket()Menciptakan soket

    Connect()Menghubungi server

    Send()/Recv()Mengirim dan menerima data

    Closesocket()Memutus hubungan

    Menunggu hubungandari Client

    Accept()Penerimaan hubungan menyebabkan diciptakannya soket baru ketika soket asli melanjutakan menanti hubungan baru

    Send()/Recv()Mengirim dan menerima data

    Closesocket()Memutus hubungan

  • Nomor Port Pada Server

    21

    23

    80

    ...

    TFTP

    69

    ProtocolID = 6

    Telnet

    ProtocolID = 17

    FTP

    TCP

    UDP

    IP

    110

    HTTP

    53

    DNS

    POP3

    ...

    ...

    SNMP

    ApplicationLayer

    Transportlayer

    Port Number

    IP Address

  • Aliran fungsi Winsock client/server dengan UDP (Connectionless)

    Closesocket()Memutus hubungan

    Socket()Menciptakan soket

    Socket()Menciptakan soket

    Bind()Memberi nama soket

    Sendto()/Recvfrom()Mengirim dan menerima data

    Sendto()/Recvfrom()Mengirim dan menerima data

    Closesocket()Memutus hubungan

    SERVER

    CLIENT

  • WINSOCK APIWINSOCK (WINdows SOCKet) merupakan program API (Application Programming Interface). Winsock API berupa sekumpulan fungsi-fungsi yang dapat digunakan untuk antarmuka program aplikasi dengan suatu Socket.Dua diantara program Socket adalah: Socket Barkeley (dari Barkeley Software Distribution of UNIX) dan WINSOCK (dari Microsoft Windows). Winsock memiliki beberapa fungsi tambahan dari Socket Barkeley yang digunakan untuk mendukung Sistem Operasi Windows yang menggunakan konsep arsitektur Massage Driven -nya.

  • Pemrograman pada WINdows SOCKet (WINSOCK)

  • Struktur Winsock pada MS Windows

    Aplikasi WinSock 2

    Aplikasi WinSock 1.1

    WinSock. DLL (16 bit)WinSock32.DLL (32)

    WS2_32.DLL (32 bit)

    TCP/IP TransportProtocol Driver

    WinSock 1.1 API

    WinSock 2 API

  • Tipe Socket(Windows Socket Menyediakan tiga jenis layanan)Stream SocketDatagram Socket, danRaw Socket

  • Layanan Stream SocketLayanan yang berorientasi pada hubungan (Connection Oriented Stream Service), maka dapat memberikan jaminan layanan yang handal Layanan Stream Socket didasarkan pada protokol kendali transmisi TCP. Sebelum dua proses dapat kirim/terima data, suatu hubungan harus sudah terbentuk. Socket stream membaca aliran data secara kontinyu, aliran dua arah tanpa batas rekaman (record)

  • Datagram SocketLayanan yang berorientasi tanpa hubungan (Connectionless Datagram Service), maka kehandalan kurang diperhatikan.Layanan ini didasarkan pada protokol UDP. Sebelum dua proses saling bertukar pesan, tidak memerlukan pembentukan hubungan terlebih dahulu. Socket datagram membaca aliran data sebagai deretan paket dengan memperhatikan batas rekaman. Pengirim mengirim paket dan penerima menerima seluruh paket. Tipe data ini dapat dengan mudah digunakan untuk mengirim rekaman oleh karena tidak diperlukan pengaturan header.

  • Raw SocketLayanan ini dugunakan untuk pengiriman pesan ICMP (pada lapisan internet / IP)

  • Contoh: Mengilustrasikan perbedaan antara aliran data stream dan datagramAnggap dua pesan string berikut dikirimkan ke socket penerima, yaitu pesan PENGIRIMAN PESAN DENGAN TCP/IP dan pesan KONSEP PORT DAN SOCKET

  • Pengiriman dengan Socket StreamAplikasi tidak membacanya sebagai dua rekaman yang terpisah (batas rekaman tidak diperhatikan).Jika socket penerima ditetapkan menerima pesan dengan ukuran buffer 10 byte, maka pembacaan pesan pertama adalah : PENGIRIMAN, kedua PESAN DENG, ketiga AN TCP/IP , keempat KONSEP POR, dan kelima T DAN SOCK, dan keenam ET

  • Pengiriman dengan Socket DatagramAplikasi membaca dua string tersebut sebagai dua rekamam yang terpisah (batas rekaman diperhatikan).Jika socket penerima ditetapkan menerima pesan dengan ukuran buffer 10 byte, maka pembacaan pesan pertama adalah : PENGIRIMAN dan kedua KONSEP POR.Aakibatnya ada sisa string yang hilang.

  • Blocking dan Non-BlockingOperasi pada suatu socket, ada dua operasi yng dimungkinkan dapat dilakukan, yaitu: Operasi pemblokiran (Blocking Operation), danOperasi tanpa pemblokiran(Non-Blocking Operation)

  • Operasi BlockingYaitu operasi yang memanfaatkan socket pemblokiran (Blocking Socket), program diblokir sampai syarat permintaan dipenuhi. Suatu operasi yang menerapkan socket blocking akan menyebabkan waktu tunda yang lebih lama, karena OS harus menunggu untuk menangani data jaringan, tetapi aplikasi tersebut juga memblokir dirinya sendiri sampai sistem operasi WINSOCK kembali dari operasi yang diberikan. Metode operasi ini baik diterapkan pada aplikasi yang kecil.

  • Operasi Non-BlockingPada operasinon blocking memerintahkan WINSOCK.DLL untuk mengirim balik sebuah pesan, apabila operasi jaringan telah terpenuhi. Aplikasi tersebut kemudian bebas untuk melanjutkan pemrosesan selama aktifitas jaringan terjadi dalam slot waktu WINSOCK.DLL pada prosesor. Program yang menfaatkan socket non-blocking, kirim dan terima pesan dapat dilakukan dengan dua metode:- Metode pertama, disebut pooling, secara berkala berusaha untuk membaca atau menulis data pada socket menggunakan timer.- Metode kedua menggunakan pemberitahuan tak-sinkron (asynchronous notification), dimana program diberitahu jika sustu kejadian pada socket muncul dan kemudian menanggapi kejadian tersebut (konsep event-driven).