Rabu, 19 Februari 2014

Peer 2 Peer

Peer to peer adalah sebuah jaringan yang dibuat ketika dua atau lebih komputer saat terhubung dan membagi sumber tanpa harus melalui server.
Sistem P2P merupakan suatu sistem yang tidak hanya menghubungkan “ujung” satu dengan lainnya, namun ujung-ujung ini saling berhubungan secara dinamis dan berpartisipasi dalam mengarahkan lalu lintas komunikasi informasi-, pemrosesan-, dan penugasan pembagian bandwidth yang intensif, dimana bila sistem ini tidak ada, tugas-tugas ini biasanya diemban oleh server pusat (client-server).

sumber : http://www.webexploits.co.uk/2010/03/peer-to-peer-and-effects-on-network_02.html

Model pengaturan jaringan berbeda sepenuhnya dari client server set- up.

sumber : 
1.  http://www.webexploits.co.uk/2010/03/peer-to-peer-and-effects-on-network_02.html
2. http://id.wikipedia.org/wiki/P2P

Klien - Server

Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang menunjuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server.
Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Dan klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.


sumber : http://www.webjunction.org/documents/webjunction/Client_045_Server_Networks.html

Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP.


sumber :
1. http://id.wikipedia.org/wiki/Klien-server

Socket Client-Server in Python

Socket dapat digunakan dalam beberapa bahasa seperi Java, C++ dan lainnya. Berikut pengaplikasian socket dengan menggunakan program bahasa Python.


Berikut langkah - langkah untuk membuat dan menjalankan socket dalam bahasa Python pada linux :

1. Buatlah sebuah file dengan nama server.py
2. Setelah itu compile file server.py 
3. Buatlah sebuah file dengan nama client.py
4. Setelah itu compile file client.py
5. Setelah itu jalankan kedua program yang telah di compile pada terminal yang berbeda. 

Berikut Source code untuk socket server :

#!/usr/bin/python           # This is server.py file

import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.
s.bind((host, port))        # Bind to the port

s.listen(5)                 # Now wait for client connection.
while True:
   c, addr = s.accept()     # Establish connection with client.
   print 'Got connection from', addr
   c.send('Thank you for connecting')
   c.close()                # Close the connection

 berikut source code untuk socket client :

#!/usr/bin/python           # This is client.py file

import socket               # Import socket module

s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.

s.connect((host, port))
print s.recv(1024)
s.close                     # Close the socket when done
 
 Berikut hasil kedua source code diatas setelah dijalankan :



Reference :
1. http://www.tutorialspoint.com/java/java_networking.htm

Socket Client-Server in Java

Socket dapat digunakan dalam beberapa bahasa seperi Java, C++ dan lainnya. Berikut pengaplikasian socket dengan menggunakan program bahasa java.

Berikut langkah - langkah untuk membuat dan menjalankan socket dalam bahasa java pada linux :

1. Buatlah sebuah file dengan nama GreetingServer.java
2. Setelah itu compile file GreetingServer.java 
3. Buatlah sebuah file dengan nama GreetingClient.java
4. Setelah itu compile file GreetingClient.java
5. Setelah itu jalankan kedua program yang telah di compile pada terminal yang berbeda. 

Berikut Source code untuk socket Client :

// File Name GreetingClient.java

import java.net.*;
import java.io.*;

public class GreetingClient
{
   public static void main(String [] args)
   {
      String serverName = args[0];
      int port = Integer.parseInt(args[1]);
      try
      {
         System.out.println("Connecting to " + serverName
                             + " on port " + port);
         Socket client = new Socket(serverName, port);
         System.out.println("Just connected to "
                      + client.getRemoteSocketAddress());
         OutputStream outToServer = client.getOutputStream();
         DataOutputStream out =
                       new DataOutputStream(outToServer);

         out.writeUTF("Hello from "
                      + client.getLocalSocketAddress());
         InputStream inFromServer = client.getInputStream();
         DataInputStream in =
                        new DataInputStream(inFromServer);
         System.out.println("Server says " + in.readUTF());
         client.close();
      }catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}

berikut source code untuk socket server :


// File Name GreetingServer.java

import java.net.*;
import java.io.*;

public class GreetingServer extends Thread
{
   private ServerSocket serverSocket;
   
   public GreetingServer(int port) throws IOException
   {
      serverSocket = new ServerSocket(port);
      serverSocket.setSoTimeout(10000);
   }

   public void run()
   {
      while(true)
      {
         try
         {
            System.out.println("Waiting for client on port " +
            serverSocket.getLocalPort() + "...");
            Socket server = serverSocket.accept();
            System.out.println("Just connected to "
                  + server.getRemoteSocketAddress());
            DataInputStream in =
                  new DataInputStream(server.getInputStream());
            System.out.println(in.readUTF());
            DataOutputStream out =
                 new DataOutputStream(server.getOutputStream());
            out.writeUTF("Thank you for connecting to "
              + server.getLocalSocketAddress() + "\nGoodbye!");
            server.close();
         }catch(SocketTimeoutException s)
         {
            System.out.println("Socket timed out!");
            break;
         }catch(IOException e)
         {
            e.printStackTrace();
            break;
         }
      }
   }
   public static void main(String [] args)
   {
      int port = Integer.parseInt(args[0]);
      try
      {
         Thread t = new GreetingServer(port);
         t.start();
      }catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}
 Berikut hasil kedua source code diatas setelah dijalankan :



Reference :
1. http://www.tutorialspoint.com/java/java_networking.htm

Socket Client - Server in C

Socket dapat digunakan dalam beberapa bahasa seperi Java, C++ dan lainnya. Berikut pengaplikasian socket dengan menggunakan program bahasa C.


Berikut langkah - langkah untuk membuat dan menjalankan socket dalam bahasa C pada linux :

1. Buatlah sebuah file dengan nama server.c
2. Setelah itu compile file server.c 
3. Buatlah sebuah file dengan nama client.c
4. Setelah itu compile file client.c
5. Setelah itu jalankan kedua program yang telah di compile pada terminal yang berbeda. 

Berikut Source code untuk soket Server :


#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h> 

int main(int argc, char *argv[])
{
    int listenfd = 0, connfd = 0;
    struct sockaddr_in serv_addr; 

    char sendBuff[1025];
    time_t ticks; 

    listenfd = socket(AF_INET, SOCK_STREAM, 0);
    memset(&serv_addr, '0', sizeof(serv_addr));
    memset(sendBuff, '0', sizeof(sendBuff)); 

    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    serv_addr.sin_port = htons(5000); 

    bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); 

    listen(listenfd, 10); 

    while(1)
    {
        connfd = accept(listenfd, (struct sockaddr*)NULL, NULL); 

        ticks = time(NULL);
        snprintf(sendBuff, sizeof(sendBuff), "%.24s\r\n", ctime(&ticks));
        write(connfd, sendBuff, strlen(sendBuff)); 

        close(connfd);
        sleep(1);
     }
}

berikut source code untuk soket client :

#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <arpa/inet.h> 

int main(int argc, char *argv[])
{
    int sockfd = 0, n = 0;
    char recvBuff[1024];
    struct sockaddr_in serv_addr; 

    if(argc != 2)
    {
        printf("\n Usage: %s <ip of server> \n",argv[0]);
        return 1;
    } 

    memset(recvBuff, '0',sizeof(recvBuff));
    if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    {
        printf("\n Error : Could not create socket \n");
        return 1;
    } 

    memset(&serv_addr, '0', sizeof(serv_addr)); 

    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(5000); 

    if(inet_pton(AF_INET, argv[1], &serv_addr.sin_addr)<=0)
    {
        printf("\n inet_pton error occured\n");
        return 1;
    } 

    if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
    {
       printf("\n Error : Connect Failed \n");
       return 1;
    } 

    while ( (n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0)
    {
        recvBuff[n] = 0;
        if(fputs(recvBuff, stdout) == EOF)
        {
            printf("\n Error : Fputs error\n");
        }
    } 

    if(n < 0)
    {
        printf("\n Read error \n");
    } 

    return 0;
}
 Berikut hasil kedua source code diatas setelah dijalankan :


sumber :
1. http://www.thegeekstuff.com/2011/12/c-socket-programming/


Socket Programming

Socket merupakan satu dari beberapa teknologi yang fundamental dari jaringan komputer. Socket memungkinkan aplikasi untuk berkomunikasi menggunakan mekanisme standar yang dibangun ke dalam perangkat keras jaringan dan sistem operasi.

Sebuah socket adalah sebuah mekanisme yang kebanyakan sistem operasi sediakan untuk memberikan program akses ke jaringan. Socket memungkinkan pesan dikirim dan diterima antara aplikasi di mesin jaringan yang berbeda. Berikut beberapa langkah untuk menggunakan soket :
1. membuat socket
2. mengidentifikasi socket
3. pada server, menunggu koneksi
4. pada client, tersambung ke socket server
5. mengirim dan menerima pesan
6. menutup socket




Reference :
1. http://compnetworking.about.com/od/itinformationtechnology/l/aa083100a.htm
2. http://www.cs.rutgers.edu/~pxk/rutgers/notes/sockets/

Rabu, 05 Februari 2014

1.5 Setting SSH

Pada praktikum bagian ini saya akan mencoba untuk menyetting SSH di LINUX (Ubuntu) . Penjelasan yang ada di artikel ini akan menjawab soal - soal berikut.
1. Apa yang dimaksud dengan SSH? Apa fungsi SSH?
2. Jelaskan mengenai proses kerja dari perintah yang anda lakukan di atas ! Jelaskan juga apa
yang dimaksud dengan Open SSH !


SSH singkatan dari "Secure Shell". SSH biasanya menggunakan port 22 untuk menghubungkan komputer Anda ke komputer lain di Internet. SSH paling sering digunakan oleh administrator jaringan sebagai login / remote control cara remote untuk mengelola server bisnis mereka.

Tentang  OpenSSH, OpenSSH berisi klien ssh dan sshd daemon. Hal ini berguna untuk mengenkripsi otentikasi dan lalu lintas berikutnya melalui jaringan. The ssh dan scp perintah yang implementions aman dari telnet dan rcp masing-masing.

Untuk menginstall SSH di linux dengan perintah :

   " apt-get install openssh-server openssh-client " 



   Selanjutnya restart XAMPP dengan " /opt/lampp/lampp restart "
 

Reference :
Modul Praktikum Jaringan Komputer, Sistem dan Teknologi Informasi, STEI ITB
http://netforbeginners.about.com/od/technoglossary/f/whatis_SSL.htm
http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/openssh.html