Pertemuan 2 Socket Introduction

Slides:



Advertisements
Presentasi serupa
Kelas A & B Jonh Fredrik Ulysses STMIK PALANGKARAYA - JFU
Advertisements

TCP mengatur aliran data gram dari lapisan di atasnya (lapisan aplikasi) hingga lapisan IP, sebagaimana datagram yang datang dari lapisan IP hingga ke.
JAVA Network Programming. Apa itu JAVA? ● Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun ● Dikembangkan.
UNDERSTANDING NETWORK DESIGN IP ADRESS & SUBNETTING
Pemrograman Jaringan Socket Programming Aurelio Rahmadian.
Referensi Model TCP/IP Pertemuan III. TCP/IP dikembangkan sebelum model OSI ada. Namun demikian lapisan-lapisan pada TCP/IP tidaklah cocok seluruhnya.
Komunikasi antar Proses
Transport Layer Computer Networks Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012.
Pemrograman Client Server
SISTEM TERDISTRIBUSI (SILABUS dan Introduction to Distributed Systems)
(TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL)
Socket Programming Isbat Uzzin.
Lecture 5 Nonblocking I/O and Multiplexing Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Pengembang aplikasi memiliki kemampuan untuk memperbaiki beberapa parameter TCP, seperti buffer dan maksimum ukuran segmen maksimum Socket Programming.
1 Pertemuan 1 Introduction Matakuliah: sistem Operasi Tahun: 2010.
Dasar Pemrograman Java Pertemuan 2 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Matakuliah : H0483 / Network Programming Tahun : 2008 Versi : 2.0
Pertemuan 2 Socket Introduction
Pertemuan 6 Server dengan Multi Thread pada Linux
1 Pertemuan 17 Input / Output Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
TRANSPORT LAYER PROTOCOLS ( TCP DAN UDP )
1 Pertemuan 1 Pendahuluan Matakuliah: H0483 – Network Programming Tahun: 2005 Versi: 1.0.
UDP.
Dasar Pemrograman Java Pertemuan 2 Pemrograman Berbasis Obyek.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pertemuan 3 ELEMENTARY TCP SOCKETS
DASAR SOCKET PROGRAMMING
TCP Socket Programmning
TCP/IP SOCKET Sujoko.
Simple Object Access Protocol
1 Pertemuan 10 Pemrograman Jaringan pada Windows dengan VC ) Matakuliah: H0483 – Network Programming Tahun: 2008 Versi: 2.0.
1 Pertemuan 7 Name and Address Conversion Matakuliah: H0483 / Network Programming Tahun: 2005 Versi: 1.0.
1 Pertemuan 8 Advanced I/O function Matakuliah: H0483 / Network Programming Tahun: 2005 Versi: 1.0.
Layer Data Link Pertemuan 13 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Pertemuan 5 I/O Multiplexing
1 Pertemuan 9 Unix Domain Protocol Matakuliah: H0483 / Network Programming Tahun: 2005 Versi: 1.0.
1 Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application Matakuliah: H0483 – Network Programming Tahun: 2008 Versi: 2.0.
CHAPTER 1 : Network Theory & Java Overview
OPERATOR DAN FUNGSI MATEMATIK. Operator  Assignment operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda.
Protocol tcp/ip.
Referensi Model TCP/IP
Layanan Pengiriman Pada Jaringan
Transport Layer Electronic Engineering Polytechnic Institut of Surabaya – ITS Kampus ITS Sukolilo Surabaya
Matakuliah : H0483 – Network Programming Tahun : 2008 Versi : 2.0
UDP Socket Programming
Jaringan Komputer: Protokol dan Model Lapisan OSI
Referensi Model TCP/IP
Referensi Model TCP/IP (ransmission Control Protocol/Internet Protocol) Eko Riyanto.
Network Client-Server
TCP & UDP.
TCP / IP Kelompok III.
TCP/IP Dan IP address Tujuan :
Aplikasi dan Pemrograman Jaringan
Pertemuan 6 Server dengan Multi Thread
TRANSPORT LAYER PROTOKOL
Matakuliah : H0483 – Network Programming Tahun : 2008 Versi : 2.0
Reperensi Model TCP/IP
PERTEMUAN KETUJUH Referensi Model DoD.
Referensi Model TCP/IP
Soal Latihan Pertemuan 02 Network Programming
Aplikasi dan Pemrograman Jaringan
Referensi Model TCP/IP
Komunikasi antar Proses
TCP Socket Programmning
Referensi Model TCP/IP
Jaringan Komputer.
Referensi Model TCP/IP
TCP Socket Programming
Transcript presentasi:

Pertemuan 2 Socket Introduction Matakuliah : T0483 / Bahasa rakitan Tahun : 2005 Versi : 1.0 Pertemuan 2 Socket Introduction

menjelaskan konsep-konsep Sockets pada Unix, Linux dan Windows Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : menjelaskan konsep-konsep Sockets pada Unix, Linux dan Windows

IPv4 Socket address structure Generic Socket address structure Outline Materi Port IPv4 Socket address structure Generic Socket address structure Byte Ordering function Byte manipulation function.

<<PORT>> PORT Numbers Each TCP/IP machine has multiple logical communication channels called ports Setiap saat banyak proses bisa menggunakan UDP atau TCP. TCP atau UDP menggunakan 16-bit positip integer Port Number untuk proses-proses yg berbeda tsb. Nomor Ports mulai dari 0 – 65536. Well known Port : 0 s/d 1023 dikontrol oleh IANA (Internet Assigned Numbers Authority) . Contoh:

<<Port>> Contoh: Port 21 untuk FTP Port 69 untuk TFTP Port 7 untuk echo server Port 9 untuk discard server Port 13 untuk day time server Port 19 untuk chargen server

<<Port>> A connection between two machines is uniquely defined by: the protocol (TCP or UDP) the IP address of local machine the port number used on the local machine the IP address of remote machine the port number used on the remote machine

<<Network API >> Network Application Programming Interface (Network API). Network Application Programming Interface (Network API) : The services provided by the operating system that provide the interface between application and protocol software

<< Network API >> Generic Programming Interface. Support for message oriented and connection oriented communication. Work with existing I/O services Operating System independence. Generic Programming Interface Support multiple communication protocol suites (families). Address (endpoint) representation independence. Provide special services for Client and Server ?

<<Network API>> TCP/IP TCP/IP does not include an API definition. There are a variety of APIs for use with TCP/IP: Sockets TLI, XTI Winsock MacTCP Functions Needes Specify local and remote communication endpoints Initiate a connection Wait for incoming connection Send and receive data Terminate a connection Error handling

<<Sockets>> A socket is an abstract representation of a communication endpoint. Sockets work with Unix I/O services just like files, pipes & FIFOs. Sockets have special needs: establishing a connection specifying communication endpoint addresses

<<Sockets>>

<<Sockets>> Creating a Socket family specifies the protocol family (PF_INET for TCP/IP). type specifies the type of service (SOCK_STREAM, SOCK_DGRAM). protocol specifies the specific protocol (usually 0, which means the default). Protocol yang digunakan seperti tabel dibawah. Menggunakan System call Socket(). Contoh : fd = socket(AF_INET, SOCK_STREAM, 0);

<<Sockets>> Protocol Family Description

<<Sockets>>

<< Sockets>> Socket() system call The socket() system call returns a socket descriptor (small integer) or a -1 on error. socket() allocates resources needed for a communication endpoint TCP/IP requires an IP address and a port number for each endpoint address.

<< Sockets>> POSIX Data Type

<< Sockets>> Generic Socket Address Structure Serupa dgn void * (generic pointer type pada ANSI C) <sys/socket.h> struct sockaddr { uint8_t sa_len; sa_family_t sa_family; char sa_data[14]; };

<< Sockets>> Dimana: sa_family specifies the address type. sa_data specifies the address value. socket address structure selalu di-pass “by reference” jika sebagai argument pada socket functions. Contoh: int bind(int, struct sockaddr*, socklen_t) struct sockaddr_in server; /* IP4 */ bind(sockfd, (struct sockaddr *) &server, sizeof(server));

<< Sockets>> IP4 Socket Address Structure struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; struct in_addr { in_addr_t s_addr; Alamat IP4 dan Nomor Port TCP atau UDP selalu disimpan dalam stuktur network byte order.

<< Sockets>> Network Byte Order Nilai yg disimpan pada “sockaddr_in” harus dalam “network byte order”, seperti : – sin_port : untuk menyimpan TCP atau UDP port number. – sin_addr : untuk menyimpan 32-bit IP4 address.

<< Sockets>> Network Byte Order Function Ada dua cara untuk menyimpan 2-byte data di memori: little-endian and big-endian. Fungsi-fungsi untuk meng-konversi dari host byte order ke network byte order umumnya diawali dengan huruf: ‘h’ : host byte order ‘n’ : network byte order ‘s’ : short (16bit) ‘l’ : long (32bit)

<< Sockets>> Contoh Fungsi yg mengembalikan Network Byte Order : uint16_t htons(uint16_t); uint32_t htonl(uint32_t); Contoh Fungsi yg mengembalikan Host Byte Order : - uint16_t ntohs(uint16_t); - uint32_t ntohl(uint32_t);

<< Sockets>> Byte Manipulation Functions #include <string.h> void bzero(void *dst, size_t nbytes); void bcopy(const void *src, void *dest, size_t nbytes); int bcmp(const void *ptr1, const void *ptr2, size_t nbytes); Contoh: #include <sys/errno.h> main(){ char x[10]; int i; for(i=0; i<10;i++) x[i]=65+i; bzero(x,4); for(i=0;i<10;i++) printf("%c\n",x[i]); }

<< Sockets>> IPv4 Address Conversion int inet_aton( char *, struct in_addr *); Fungsi inet_aton() berfungsi untuk mengkonversi “ASCII dotted-decimal IP address” menjadi nilai 32-bit dalam format “network byte order”. Fungsi ini mengembalikan nilai 1 jika sukses, dan mengembalikan nilai 0 jika ada error. char *inet_ntoa(struct in_addr); Fungsi inet_ntoa() berfungsi untuk mengkonversi nilai “network byte ordered” menjadi string yg berisi “ASCII dotted-decimal IP address”.