Reminder :

Pokoknya define…define..define…mengatur ini..mengatur itu…blab la bla

Kali ini kita bahas beberapa aplikasi yang bekerja dalam jaringan, terutama dalam layer2 tertentu

The first one is…

Peer-to-Peer (p2p) Network and then Peer-to-Peer(p2p) Application

Inget…beda loh..Network dengan application, jadi jgn keceplosan sok2 ide padahal salah…haha

p2p mirip2 dengan client/server model dalam jaringan (client/server yang kek mana ?…nanti ya, dibawah dijelasin), tapi dalam prakteknya 2 “orang” p2p ini berbeda dalam implementasinya

P2P Network Examples :

A simple home network with two connected computers sharing a printer is an example of a peer-to-peer network. Every connected end device (known as a peer) can function as either a server or a client.
One computer might assume the role of server for one transaction while simultaneously serving as a client for another (vice versa).

Bisa buat maen LAN games, sharing file, sharing printer, dll…

Tidak seperti client/server model, yang mana menggunakan namanya Dedicated Server, p2p network men-desentralisasi-kan sumber daya (resources) di jaringan, . Instead of locating information to be shared on dedicated servers, information can be located anywhere on any connected device.

Hampir semua operating system (OS) mensupport file and print sharing tanpa additional server software. Karena p2p network biasanya tidak menggunakan user accounts dan permission yang ter-centralisasi (di server), security dan access policy di p2p network agak susah di terapkan, user accounts dan hak akses mesti di set masing2 di alat2nya.

p2p application

dalam model ini, setiap client adalah server, dan setiap server adalah client (klo p2p network, either…salah satunya…bukan dua-duanya)

p2p application dapat digunakan dalam p2p network, client/server network, dan di internet.

p2p application membutuhkan user interface dan background service yang jalan di masing2 end devices untuk dapat berkomunikasi secara langsung.

The second one is…

DNS (Domain Name System)

Yang mana mudah diingat ?? 198.132.219.25 atau www.cisco.com ???

Orang normal lebih suka ingat www.cisco.com

Nah…fungsi DNS terletak disini, bagaimana DNS server bekerja :

  1. Di web browser (IE, Firefox, Opera, dll), ketik alamat www.cisco.com (ato alamat lain)
  2. Computer akan kirim kata www.cisco.com itu ke DNS server
  3. Di DNS server INILAH kata www.cisco.com di terjemahkan/di translate ke kode binary digit 198.132.219.25
  4. Karena 198.132.219.25 pas di cek ternyata berlabel www.cisco.com, maka dikirimkan lah request kita tadi (minta webpage cisco ke browser kita) ke cisco.com
  5. Dari cisco.com dikirim balik lagi ke kita lewat DNS server tadi

Uda ngerti belum fungsi DNS ini ?? *ngertiiii !!…bagusssss

Untuk yang belum ngerti…DNS fungsinya adalah menerjemahkan bahasa (yang mudah diingat) MANUSIA ke bahasa (yang bisa di mengerti) MESIN dan sebaliknya

Oh iya…DNS menggunakan *port 53 (apaan nih??)

*Dalam transport layer…ada namanya skema pengalamatan yang dinamakan port number

Port number bertugas mengidentifikasi application layer services tempat data dikirimkan dan tujuannya. Kebanyakan program server menggunakan “predefined” port number yang dikenal oleh client

Some of these services are:

  1. Domain Name System (DNS) – TCP/UDP Port 53
  2. Hypertext Transfer Protocol (HTTP) – TCP Port 80
  3. Simple Mail Transfer Protocol (SMTP) – TCP Port 25
  4. Post Office Protocol (POP) – UDP Port 110
  5. Telnet – TCP Port 23
  6. Dynamic Host Configuration Protocol – UDP Port 67
  7. File Transfer Protocol (FTP) – TCP Ports 20 and 21

Eh..yang beginiian..port number…lo mesti apal loh…wkwkwk

DNS adalah client/server service, bedanya dari service yang lain, jika yang lain menggunakan aplikasi yang menyediakan service (e-mail, browser, dll), DNS Client (kadang disebut DNS Resolver) adalah service itu sendiri

Ingin tau cara melihat DNS kita…atau DNS dari website tertentu ??

Dari command prompt alias cmd…ketik nslookup


Atau bisa dengan displaydns or ipconfig

Oh iya satu lagi…DNS menggunakan system hirarki dalam men-resolve nama dari webpage

Here’s the general idea…hope you get it…

Ketika web address alias URL (Uniform Resource Locator) di ketik di web browser, browser meng-establish connection ke web service yang berjalan di web server dengan menggunakan HTTP protocol (Hyper Text Transfer Protocol)

Web Browser adalah aplikasi client yang computer kita gunakan untuk terhubung ke WWW (baca: Internet) dan mengakses resources yang disimpan di web server. Seperti kebanyakan server process, web server berjalan di service background. Untuk mengakses konten yang ada di internet, web client harus membuat koneksi ke server dan men-request resource yang diminta. Lalu server men-reply dengan memberikan resources yang diminta, setelah didapat resource yang diminta, maka web browser menginterpretasikan dan mempresentasikannya ke user.

Browser menginterpretasikan dan mempresentasikan banyak tipe data, seperti plain text atau Hypertext Markup Language (HTML, the language in which web pages are constructed). Tipe data yang lain, mungkin membutuhkan service atau program yang lain (biasanya disebut add-on atau plug-in)

Contohnya seperti dibawah ini (baca dari kanan ke kiri) :

———————————————————————————————————————————————————————

———————————————————————————————————————————————————————

———————————————————————————————————————————————————————

The Third…HTTP Protocol

Hypertext Transfer Protocol atau yang disingkat HTTP, adalah salah satu protocol TCP/IP model, yang aslinya dikembangkan untuk mempublish dan men-retrieve halaman2 HTML (Hyper Text Mark-up Language), sekarang digunakan untuk mendistibusikan, mengkolaborasikan informasi2 yang ada. HTTP digunakan di hampir seluruh Internet untuk data transfer dan salah satu application protocol yang paling banyak digunakan

HTTP Protocol mendefinisikan bagaimana cara request/response dari web page. Ketika client (baca: web browser) mengirimkan request ke server, HTTP protocol mendefinisikan jenis pesan apa yang client gunakan untuk men-request web page dan mendefinisikan jenis pesan apa yang server gunakan untuk merespon.

Ada 3 Pesan dalam HTTP :

  1. GET Message

    Yaitu request data.

  2. POST Message

    Yaitu untuk merespon data yang di request

  3. PUT Message

    Untuk meng-upload resource atau konten ke web server

Walaupun sangat flexsibel, HTTP bukan protocol yang secure/aman. POST message meng-upload informasi ke server secara PLAIN TEXT alias bisa di liat dengan bebas dan dapat di –intercept, dan juga, halaman HTML juga tidak di enkripsi

HTTPS (S for Secure) adalah jawaban untuk masalah security yang ada, metodenya adalah dengan menggunakan autentikasi dan enkripsi untuk mengamankan data. HTTPS menspesifikasi aturan2 alias rule2 tambahan untuk passing data antara layer aplikasi dan layer transport

*waktu ngajar PHP ada coding untuk post dan get, klo yang uda belajar PHP pasti tau tentang pesan HTTP ini

Fourth…E-Mail SMTP and POP Protocol

Let me straight this lesson for You

SMTP : Simple Mail Transfer Protocol (Protocol untuk mendefinisikan aturan2 email transfer), mo kirim email dari computer loe…USE THIS !!

POP : Post Office Protocol, mo terima email ke computer loe …USE THIS !!

MUA : Mail User Agent, itu adalah Mail Client seperti MS Outlook, Thunderbird, dan program2 buat email lainnya (didalam MUA sudah terdapat settingan SMTP dan POP, tinggal tentuin sendiri alamat SMTP dan POP nya, biar bisa nerima dan kirim email)

———————————————————-

E-mail SERVER Processes – MTA and MDA

The e-mail server operates two separate processes:

Mail Transfer Agent (MTA) : The Mail Transfer Agent (MTA) process is used to forward e-mail (klo alamat email domainnya berbeda…contoh dari yahoo mail ke gmail)

Mail Delivery Agent (MDA) : untuk ngirim email yang tujuannya masi satu domain alias local server (lotus note, microsoft exchange, mail daemon, dll) yang biasanya email internal dalam suatu perusahaan, disini juga spam filter dan virus scanning dijalankan

———————————————————————————————————————————————————————

Untuk mengkonfigurasi email, diperlukan namanya gateway, email gateway tentunya, untuk bisa berkomunikasi dengan user lainnya (terutama yang masih dalam satu domain local di satu perusahaan)

Some of the commands specified in the SMTP protocol are:

  • HELO – identifies the SMTP client process to the SMTP server process
  • EHLO – Is a newer version of HELO, which includes services extensions
  • MAIL FROM – Identifies the sender
  • DATA – Identifies the body of the message

*untuk SMTP command yg diatas terus terang gw ga terlalu belajar banyak…sory nih ye…klo ada yg bisa bantu, I REALLY APPRECIATE IT !!

———————————————————————————————————————————————————————

Fifth…FTP (File Transfer Protocol)

As the name says…FTP was developed to allow for file transfers between a client and a server

To successfully transfer files, FTP requires two connections between the client and the server: one for commands and replies, the other for the actual file transfer.

  • The client establishes the first connection to the server on TCP port 21. This connection is used for control traffic, consisting of client commands and server replies.
  • The client establishes the second connection to the server over TCP port 20. This connection is for the actual file transfer and is created every time there is a file transferred.

The file transfer can happen in either direction. The client can download (pull) a file from the server or, the client can upload (push) a file to the server.

FU*K YEAH ENGLISH… *9gag pose*

———————————————————————————————————————————————————————

Sixth…DHCP (Dynamic Host Control Protocol)

Pernah setting IP sendiri ?? pernah setting IP buat setiap computer dalam satu network ?? bagaimana jika 30 komputer lebih kita setting satu-satu ?? nah…disinilah kegunaan DHCP.

DHCP (server) dimaksudkan untuk setiap client yang terhubung ke DHCP Server mendapat IP secara otomatis, jadi kita tidak perlu repot2 untuk configure satu persatu (DHCP Server-nya di konfigurasi dulu tentunya…range IP yang mau dikasi dari nomor IP berapa sampai berapa)

Istilah DHCP :

  • DHCP Pool : yaitu range alamat / nomor IP yang sudah di konfigurasi (contoh range : 192.168.2.1 ~ 192.168.2.253, setiap client yang terhubung ke DHCP akan dikasi alamat salah satu dari range tadi secara otomatis) yang biasanya dikasih secara berurutan…192.168.2.1 , 2.2, 2.3, dst.
  • DHCP Lease : yaitu pemberian alamat dari range yang sudah ada ke client

Kapan DHCP dipakai ?

Jika kita dalam kondisi Large Local Network alias LAN yang cukup besar dan dimana usernya sering berubah dari waktu ke waktu, terutama dari segi kuantitas alias jumlah user, DHCP sangat berguna untuk di pakai. Biasanya dimana sih implementasi nyatanya ?? Public Place such as Airport, Hotspot, Hospital, etc. Jika User yang biasanya anonymous alias random sudah log-off atau keluar dari local area network, alamat IP yang sudah di berikan dimasukkan lagi ke DHCP Pool untuk dipakai oleh pengguna yang lain

Ada drawback nya ga sih?? Alias sisi negative dari implementasi DHCP ini ??

Well… DHCP can pose a security risk because any device connected to the network can receive an address.. This risk makes physical security an important factor when determining whether to use dynamic or manual addressing.

Dynamic and static addressing both have their places in network designs. Many networks use both DHCP and static addressing. DHCP is used for general purpose hosts such as end user devices, and fixed addresses are used for network devices such as gateways, switches, servers and printers.

As the figure shows, various types of devices can be DHCP servers when running DHCP service software. The DHCP server in most medium to large networks is usually a local dedicated PC-based server.

With home networks the DHCP server is usually located at the ISP and a host on the home network receives its IP configuration directly from the ISP.

*untuk IPv6 tidak diperlukan lagi yang namanya DHCP (walaupun ada DHCPv6)

———————————————————————————————————————————————————————

Seventh…File Sharing Services dan SMB (Server Message Block)

SMB tidak seperti FTP, SMB ketika client dan server melakukan hubungan intim *ehem* melakukan pertukaran data, setelah selesai, koneksi yang ada tetap tersambung (kalau FTP sudah putus…one night stand 😀 )

*Kalau kerja di perusahaan tuh, kek File and Printer Sharing….yang mana kalau kita restart atau logoff pun besok2 nya masi ada itu drive share atau printer share nya (kalau memang opsi nya dinyalakan)

SMB messages can:

  • Start, authenticate, and terminate sessions
  • Control file and printer access
  • Allow an application to send or receive messages to or from another device

———————————————————————————————————————————————————————

Eighth…P2P application and service with GNUTELLA Protocol

Apaan nih ??

Gnutella protocol ituh maksudnya adalah setiap orang dapat membuat file di harddisk mereka masing2 dan available to download for others. Gnutella-compatible client software memungkinkan user konek ke Gnutella services di internet dan mengetahui lokasi dari shared resources juga mengaksesnya melalui Gnutella peers (p2p nya gnutella)

Contoh dari aplikasi Gnutella protocol adalah LimeWire (tampaknya software ini dalam proses pengadilan rupanya 🙂 ) dan Morpheus

The Gnutella protocol defines five different packet types:

  • ping – for device discovery
  • pong – as a reply to a ping
  • query – for file location
  • query hit – as a reply to a query
  • push – as a download request

———————————————————————————————————————————————————————

Nineth…BitTorrent Protocol

Nah….biasanya yang suka download video nih…

BitTorrent protocol itu pada dasarnya adalah untuk menghindari download file yang berukuran besar dalam satu waktu secara bersamaan dengan user lain (jebol nanti)

Nah…protocol ini membuat user yang sedang men-download data bertindak sebagai host alias sambil download sambil user itu sendiri menjadi host agar dapat di-download oleh user yang lain

Contoh : kita download film 4 GB yang dibagi jadi 4 part (1 GB/part), nah…setelah part 1 selesai, user mendownload part 2, seiring dengan part 2 yang sedang di download, part 1 yang telah di download oleh BitTorrent akan bisa di akses dan di download oleh orang lain

So….mengurangi beban Server Utama

Seed : user2 yang bisa di akses file sharingnya

Leech : user2 yang lagi download

Link Wikipedia tentang BitTorrent Protocol

Link ke BitTorrent itu sendiri

Jeleknya dari BitTorrent adalah ketika ada BitThief alias mau download nya DOANK !! uda download ga mau seed alias ga mau share ke yang lain, alasannya buang2 waktu, capek, makan bandwidth, bla bla bla

———————————————————————————————————————————————————————

The Last…Telnet

Cepat aja…yang penting2 aja

Telnet diciptakan untuk remote-access end device (especially PC)

connection using Telnet is called a Virtual Terminal (VTY) session atau Virtual Teletype Terminal Session

untuk dapat menjalankan telnet, dibutuhkan Telnet service yang berjalan di background proses dari Operating system (OS)

selain dari Telnet, bisa juga dari Hyper Terminal (karena Hyper Terminal di HANYA ada di Microsoft Windows XP kebawah, maka solusinya kita memakai telnet atau program2 sejenis yang lain seperti Putty atau Bray terminal)

just in case…

  • how to run telnet : from command prompt (you know where is it right ??), just type telnet [your destination IP address which device you want to remote controlled]
  • how to run Hyper Terminal : from start menu à Accessories à Communications à Hyper Terminal

untuk mengetahui protocol2 apa saja yang terhubung ke network kita, kita bisa menggunakan fitur netstat di command prompt, contohnya seperti dibawah ini


Kita bisa menambahkan –a dibelakang kata netstat untuk mengetahui lebiiiiiih banyak lagi protocol2 yang ada di network kita

*that’s it guys…next we travel to Transport Layer…with all people and society (read : protocols) around it…. J