Minggu, 13 Juni 2010

Konfigurasi dan Instalasi Aglets

Aglet merupakan sebuah gabungan dari agen dan applet. Selain itu, aglets ini berupa sebuah perangkat lunak agen bergerak yang berbasis Java.
Aplikasi Aglet ini dapat mengalami beberapa kejadian/tool dalam hidupnya diantaranya:
Creation: dimana tool ini diinstansiasi dan threaf utamanya kemudian di eksekusi.
Disposal: dimana aglet ini dimusnahkan sehingga informasinya hilang.
Cloning: dimana aglet ini di replikasi/digandakan, dengan status yang ada tapi dengan identitas yang baru.
Dispatch: aglet dan state dikirim ke sebuah host terpisah.
Retract: aglet yang sebelumnya di-dispatch ditarik kembali dari host yang terpisah.
Deactivation: aglet dan statusnya dikirim ke persistent storage.
Activation: aglet dan statusnya dikirim dari persistent storage.

Instalasi Aglets
Untuk langkah instalasinya, pertama-tama bisa download ASDK (Aglet Software Development Kit) nya. Asumsi saya disini, kita telah menginstall J2SDK dan JRE yang bisa di download di http://java.sun.com.
Setelah di download ASDK, dimana arsipnya adalah: aglets-2.0.2.jar, kemudian ekstrak dimana saja (saya mengkekstraknya di desktop) dan juga saya mengekstraknya pada home (pada ubuntu)

Buka command prompt (pada win*** ) atau terminal (pada GNU/Linux)
Kemudian pindah ke direktori dimana tadi kita mengekstrak aglet.
Setelah itu, pindah ke direktori bin dari aglet tadi.
Kemudian kita ketikkan perintah ant pada command prompt.
Pada terminal di GNU/Linux, kita ketikkan chmod 755 ant.
Kemudian kita ketikkan ./ant
apabila sukses, akan muncul kata BUILD SUCCESSFUL.

Kemudian kita ketikkan ant install-home ,apabila sukses, akan muncul pula kata diatas.















Kemudian kita setting environment variablesnya masih pada direktori seperti tadi dengan cara seperti ini pada command prompt:
set AGLETS_HOME=c:\java\aglets
set AGLETS_PATH=%AGLETS_HOME%
set PATH=%PATH%;%AGLETS_HOME%\bin

pada Ubuntu kita ketik seperti ini pada terminal:
export AGLETS_HOME=/java/aglets
export AGLETS_PATH=$AGLETS_HOME
export PATH=$PATH:$AGLETS_HOME/bin

setelah itu kita jalan kan dengan perintah:

pada command prompt wind*** (catatan: saya juga masih mengalami masalah pada OS ini): agletsd -f ..\cnf\aglets.props
pada terminal: ./agletsd -f ../cnf/aglets.props


Senin, 31 Mei 2010

INSTALANSI dan KONFIGURASI BIND 9

A. Pendahuluan

DNS (Domain Name System, bahasa Indonesia: Sistem Penamaan Domain) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surat elektronik (email) untuk setiap domain.

DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat e-mail. DNS menghubungkan kebutuhan ini.

Jenis-jenis catatan DNS

Beberapa kelompok penting dari data yang disimpan di dalam DNS adalah sebagai berikut:

· A record atau catatan alamat memetakan sebuah nama host ke alamat IP 32-bit (untuk IPv4).

· AAAA record atau catatan alamat IPv6 memetakan sebuah nama host ke alamat IP 128-bit (untuk IPv6).

· CNAME record atau catatan nama kanonik membuat alias untuk nama domain. Domain yang di-alias-kan memiliki seluruh subdomain dan rekod DNS seperti aslinya.

· '[MX record]] atau catatan pertukaran surat memetakan sebuah nama domain ke dalam daftar mail exchange server untuk domain tersebut.

· PTR record atau catatan penunjuk memetakan sebuah nama host ke nama kanonik untuk host tersebut. Pembuatan rekod PTR untuk sebuah nama host di dalam domain in-addr.arpa yang mewakili sebuah alamat IP menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut. Contohnya (saat penulisan / penerjemahan artikel ini), www.icann.net memiliki alamat IP 192.0.34.164, tetapi sebuah rekod PTR memetakan ,,164.34.0.192.in-addr.arpa ke nama kanoniknya: referrals.icann.org.

· NS record atau catatan server nama memetakan sebuah nama domain ke dalam satu daftar dari server DNS untuk domain tersebut. Pewakilan bergantung kepada rekod NS.

· SOA record atau catatan otoritas awal (Start of Authority) mengacu server DNS yang mengediakan otorisasi informasi tentang sebuah domain Internet.

· SRV record adalah catatan lokasi secara umum.

Catatan TXT mengijinkan administrator untuk memasukan data acak ke dalam catatan DNS; catatan ini juga digunakan di spesifikasi Sender Policy Framework.

Jenis catatan lainnya semata-mata untuk penyediaan informasi (contohnya, catatan LOC memberikan letak lokasi fisik dari sebuah host, atau data ujicoba (misalkan, catatan WKS memberikan sebuah daftar dari server yang memberikan servis yang dikenal (well-known service) seperti HTTP atau POP3 untuk sebuah domain.

Perangkat lunak DNS

Beberapa jenis perangakat lunak DNS menerapkan metode DNS, beberapa diantaranya:

Ø BIND (Berkeley Internet Name Domain)

Ø djbdns (Daniel J. Bernstein's DNS)

Ø MaraDNS

Ø QIP (Lucent Technologies)

Ø NSD (Name Server Daemon)

Ø PowerDNS

Ø Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows 2003)

B. Tujuan

Dapat melakukan instalasi serta mampu melakukan setting DNS server pada system operasi Linux

C. Langkah-langkah instalansi dan konfigurasi Bind9

Install DNS Server:

View Code BASH

sudo apt-get install bind9

Konfigurasi DNS Server:

1) Asumsi kita adalah:

View Code INI

IP Address DNS Server Statis

IP Address DNS Server : 192.168.81.81

Nama Website : http://www.ardiansah.co.cc

Network : 192.168.81.0

Gateway : 192.168.81.81

Nama computer : ubuntu

2) Yang pertama di konfigurasi adalah file named.conf.local:

View Code BASH

sudo nano /etc/bind/named.conf.local

3) Buat konfigurasi seperti ini:

View Code BASH

# zona untuk domain -> ip address

zone "ardiansah.co.cc" {

type master;

file "/etc/bind/zones/ardiansah.co.cc.db";

};

# zona untuk ip address -> domain

zone "81.168.192.in-addr.arpa" {

type master;

file "/etc/bind/zones/rev.81.168.192.in-addr.arpa";

};

4) Untuk mengakses DNS Server lain yang isinya lebih lengkap:

View Code BASH

sudo nano /etc/bind/named.conf.options

5) Trus isikan IP Address atau Domain DNS Server lain yang lebih lengkap, misalnya:

View Code BASH

forwarders {

123.456.789.012;

};

6) Supaya DNS Server yang udah dibuat juga bisa mengakses dirinya sendiri:

View Code BASH

sudo nano /etc/resolv.conf

7) Trus isi dirinya sendiri:

View Code BASH

search ardiansah.co.cc.

nameserver 192.168.81.81

8) Akhirnya adalah kita buat zona untuk DNS Server, dengan urutan sebagai berikut:

View Code BASH

sudo mkdir /etc/bind/zones

sudo nano /etc/bind/zones/ardiansah.co.cc.db

9) Trus isikan perintah sebagai berikut:

View Code BASH

$TTL 1500

@ IN SOA ubuntu.ardiansah.co.cc. root (

2007062703

28800

3600

604800

38400

);

ardiansah.co.cc. IN NS ubuntu.ardiansah.co.cc.

ubuntu IN A 192.168.81.81

www IN CNAME ubuntu

10) Kebalikannya adalah:

View Code BASH

sudo nano /etc/bind/zones/rev.81.168.192.in-addr.arpa

11) Isikan perintah sebagai berikut:

View Code BASH

$TTL 1500

@ IN SOA ubuntu.ardiansah.co.cc. root (

2007062703

28800

3600

604800

38400

);

IN NS ubuntu.ardiansah.co.cc.

81 IN PTR ubuntu.ardiansah.co.cc.

12) Akhirnya restart DNS Server:

View Code BASH

sudo /etc/init.d/bind9 restart

Selasa, 11 Mei 2010

UDP dan TCP

UDP

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768

Karakteristik UDP
UDP memiliki karakteristik-karakteristik berikut:
• Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
• Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
• UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
• UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
UDP tidak menyediakan layanan-layanan antar-host berikut:
• UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
• UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
• UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
Penggunaan UDP

UDP sering digunakan dalam beberapa tugas berikut:
• Protokol yang "ringan" (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
• Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
• Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
• Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Pesan-pesan UDP




• Ilustrasi mengenai pesan-pesan UDP
• UDP, berbeda dengan TCP yang memiliki satuan paket data yang disebut dengan segmen, melakukan pengepakan terhadap data ke dalam pesan-pesan UDP (UDP Messages). Sebuah pesan UDP berisi header UDP dan akan dikirimkan ke protokol lapisan selanjutnya (lapisan internetwork) setelah mengepaknya menjadi datagram IP. Enkapsulasi terhadap pesan-pesan UDP oleh protokol IP dilakukan dengan menambahkan header IP dengan protokol IP nomor 17 (0x11). Pesan UDP dapat memiliki besar maksimum 65507 byte: 65535 (216)-20 (ukuran terkecil dari header IP)-8 (ukuran dari header UDP) byte. Datagram IP yang dihasilkan dari proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan menggunakan header dan trailer protokol lapisan Network Interface yang digunakan oleh host tersebut.
• Dalam header IP dari sebuah pesan UDP, field Source IP Address akan diset ke antarmuka host yang mengirimkan pesan UDP yang bersangkutan; sementara field Destination IP Address akan diset ke alamat IP unicast dari sebuah host tertentu, alamat IP broadcast, atau alamat IP multicast.

Header UDP












Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap, seperti tersebutkan dalam tabel berikut.

Port UDP







Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

Mekanisme Protokol UDP
UDP menyediakan mekanisme dasar yang digunakan oleh program aplikasi untuk mengirim datagram ke program aplikasi lain. UDP menyediakan port protokol yang digunakan untuk membedakan satu program yang sedang dieksekusi dengan yang lain dalam satu mesin.
UDP menggunakan protokol dibawahnya (IP) untuk menyampaikan pesan dari satu mesin ke mesin lain dan menyediakan semantic pengiriman datagram yang tidak reliable, serta connectionless seperti IP. Disini tidak terdapat ACK (Acknowledgments) untuk memastikan sampainya pesan di tujuan, data yang sampai tidak perlu terurut, dan tidak membutuhkan kontrol balik terhadap rate aliran informasi antar mesin.

Suatu program aplikasi yang menggunakan UDP menerima tanggung jawab penuh untuk menangani masalah reliabilitas termasuk kehilangan pesan, duplikasi, delay, pengiriman yang tidak terurut dan putus koneksi.

Karena sifatnya yang connectionless dan unreliable, UDP digunakan oleh aplikasi-aplikasi yang secara periodic melakukan aktivitas tertentu ( misalnya query routing tabel pada jaringan local), serta hilangnya satu data akan dapat di atasi pada query periode berikutnya dan melakukan pengiriman data ke jaringan lokal. Pendeknya jarak tempuh datagram akan mengurangi resiko kerusakan data.

Bersifat broadcasting atau multicasting. Pengiriman datagram ke banyak client sekaligus akan efisien jika prosesnya menggunakan metode connectionless.

Aplikasi UDP
1. Digunakan untuk multimedia streaming, yang sangat memberikan
2. toleransi kehilangan segment cukup baik dan yang sangat tidak sensitif
3. terhadap kerusakan atau kehilangan segment
4. Contoh protokol aplikasi yang menggunakan UDP :
• DHCP
• Microsoft Windows Networking
• TFTP – Trivial File Transfer Protocol
• Syslog – systemlogger
• NFS – Network File System
• Traceroute
• DNS (Domain Name System) 53
• SNMP, (Simple Network Management Protocol) 161, 162
• TFTP (Trivial File Transfer Protocol) 69
• SunRPC port 111.
• Dll.

TCP/IP

TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.

Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macam-macam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.

Request for Comments
RFC (Request For Comments) merupakan standar yang digunakan dalam Internet, meskipun ada juga isinya yg merupakan bahan diskusi ataupun omong kosong belaka. Diterbitkan oleh IAB yang merupakan komite independen yang terdiri atas para peneliti dan profesional yang mengerti teknis, kondisi dan evolusi Internet. Sebuah surat yg mengikuti nomor RFC menunjukan status RFC :
• S: Standard, standar resmi bagi internet
• DS: Draft standard, protokol tahap akhir sebelum disetujui sebagai standar
• PS: Proposed Standard, protokol pertimbangan untuk standar masa depan
• I: Informational, berisikan bahan-bahan diskusi yg sifatnya informasi
• E: Experimental, protokol dalam tahap percobaan tetapi bukan pada jalur standar.
• H: Historic, protokol-protokol yg telah digantikan atau tidak lagi dipertimbankan utk standarisasi.

Bentuk arsitektur dari TCP/IP
Dikarenakan TCP/IP adalah serangkaian protokol di mana setiap protokol melakukan sebagian dari keseluruhan tugas komunikasi jaringan, maka tentulah implementasinya tak lepas dari arsitektur jaringan itu sendiri. Arsitektur rangkaian protokol TCP/IP mendifinisikan berbagai cara agar TCP/IP dapat saling menyesuaikan.

Karena TCP/IP merupakan salah satu lapisan protokol Model OSI, berarti bahwa hierarki TCP/IP merujuk kepada 7 lapisan OSI tersebut. Tiga lapisan teratas biasa dikenal sebagai "upper level protocol" sedangkan empat lapisan terbawah dikenal sebagai "lower level protocol". Tiap lapisan berdiri sendiri tetapi fungsi dari masing-masing lapisan bergantung dari keberhasilan operasi layer sebelumnya. Sebuah lapisan pengirim hanya perlu berhubungan dengan lapisan yang sama di penerima (jadi misalnya lapisan data link penerima hanya berhubungan dengan lapisan data link pengirim) selain dengan satu layer di atas atau di bawahnya (misalnya lapisan network berhubungan dengan lapisan transport di atasnya atau dengan lapisan data link di bawahnya).

Model dengan menggunakan lapisan ini merupakan sebuah konsep yang penting karena suatu fungsi yang rumit yang berkaitan dengan komunikasi dapat dipecahkan menjadi sejumlah unit yang lebih kecil. Tiap lapisan bertugas memberikan layanan tertentu pada lapisan diatasnya dan juga melindungi lapisan diatasnya dari rincian cara pemberian layanan tersebut. Tiap lapisan harus transparan sehingga modifikasi yang dilakukan atasnya tidak akan menyebabkan perubahan pada lapisan yang lain. Lapisan menjalankan perannya dalam pengalihan data dengan mengikuti peraturan yang berlaku untuknya dan hanya berkomunikasi dengan lapisan yang setingkat. Akibatnya sebuah layer pada satu sistem tertentu hanya akan berhubungan dengan lapisan yang sama dari sistem yang lain. Proses ini dikenal sebagai Peer process. Dalam keadaan sebenarnya tidak ada data yang langsung dialihkan antar lapisan yang sama dari dua sistem yang berbeda ini. Lapisan atas akan memberikan data dan kendali ke lapisan dibawahnya sampai lapisan yang terendah dicapai. Antara dua lapisan yang berdekatan terdapat interface (antarmuka). Interface ini mendifinisikan operasi dan layanan yang diberikan olehnya ke lapisan lebih atas. Tiap lapisan harus melaksanakan sekumpulan fungsi khusus yang dipahami dengan sempurna. Himpunan lapisan dan protokol dikenal sebagai "arsitektur jaringan".
Layanan

Berikut ini adalah layanan tradisional yang dapat berjalan di atas protokol TCP/IP:
• Pengiriman berkas (file transfer). File Transfer Protocol (FTP) memungkinkan pengguna komputer yang satu untuk dapat mengirim ataupun menerima berkas ke sebuah host di dalam jaringan. Metode otentikasi yang digunakannya adalah penggunaan nama pengguna (user name) dan [[password]], meskipun banyak juga FTP yang dapat diakses secara anonim (anonymous), alias tidak berpassword. (Keterangan lebih lanjut mengenai FTP dapat dilihat pada RFC 959.)
• Remote login. Network terminal Protocol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer di dalam suatu jaringan secara jarak jauh. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut. (Keterangan lebih lanjut mengenai Telnet dapat dilihat pada RFC 854 dan RFC 855.)
• Computer mail. Digunakan untuk menerapkan sistem surat elektronik. (Keterangan lebih lanjut mengenai e-mail dapat dilihat pada RFC 821 RFC 822.)
• Network File System (NFS). Pelayanan akses berkas-berkas yang dapat diakses dari jarak jauh yang memungkinkan klien-klien untuk mengakses berkas pada komputer jaringan, seolah-olah berkas tersebut disimpan secara lokal. (Keterangan lebih lanjut mengenai NFS dapat dilihat RFC 1001 dan RFC 1002.)
• Remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program tertentu di dalam komputer yang berbeda. Biasanya berguna jika pengguna menggunakan komputer yang terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu sistem komputer.

Ada beberapa jenis remote execution, ada yang berupa perintah-perintah dasar saja, yaitu yang dapat dijalankan dalam system komputer yang sama dan ada pula yg menggunakan sistem Remote Procedure Call (RPC), yang memungkinkan program untuk memanggil subrutin yang akan dijalankan di sistem komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah rsh dan rexec.)
• Name server yang berguna sebagai penyimpanan basis data nama host yang digunakan pada Internet (Keterangan lebih lanjut dapat dilihat pada RFC 822 dan RFC 823 yang menjelaskan mengenai penggunaan protokol name server yang bertujuan untuk menentukan nama host di Internet.)

Karakteristik TCP
TCP memiliki karakteristik sebagai berikut:
• Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
• Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
• Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
• Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
• Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
• Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
• Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

Segmen TCP
Segmen-segmen TCP akan dikirimkan sebagai datagram-datagram IP (datagram merupakan satuan protocol data unit pada lapisan internetwork). Sebuah segmen TCP terdiri atas sebuah header dan segmen data (payload), yang dienkapsulasi dengan menggunakan header IP dari protokol IP.




Proses enkapsulasi data protokol TCP/IP: Data aplikasi + header TCP + header IP + header network interface (Ethernet, Token Ring, dll) + trailer network interface

Sebuah segmen dapat berukuran hingga 65495 byte: 216-(ukuran header IP terkecil (20 byte)+ukuran header TCP terkecil (20 byte)). Datagram IP tersebut akan dienkapsulasi lagi dengan menggunakan header protokol network interface (lapisan pertama dalam DARPA Reference Model) menjadi frame lapisan Network Interface. Gambar berikut mengilustrasikan data yang dikirimkan ke sebuah host.

Di dalam header IP dari sebuah segmen TCP, field Source IP Address diatur menjadi alamat unicast dari sebuah antarmuka host yang mengirimkan segmen TCP yang bersangkutan. Sementara itu, field Destination IP Address juga akan diatur menjadi alamat unicast dari sebuah antarmuka host tertentu yang dituju. Hal ini dikarenakan, protokol TCP hanya mendukung transmisi one-to-one.

Header TCP
Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika tidak ada tambahan opsi TCP) adalah 20 byte.


















Port TCP
Port TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority). Tabel berikut ini menyebutkan beberapa port TCP yang telah umum digunakan.







Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP merepresentasikan sebuah antrean pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan sebuah nomor port, sebutkan juga jenis port yang digunakannya, karena hal tersebut mampu membingungkan (ambigu).

TCP Flag
Sebuah segmen TCP dapat memiliki flag (tanda-tanda) khusus yang mengindikasikan segmen yang bersangkutan, seperti yang disebutkan dalam tabel berikut:



















TCP Three-way handshake




Proses pembuatan koneksi (TCP Three way handshake)
Proses pembuatan koneksi TCP disebut juga dengan "Three-way Handshake". Tujuan metode ini adalah agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgement yang dikirimkan oleh kedua pihak dan saling bertukar ukuran TCP Window. Prosesnya dapat digambarkan sebagai berikut:
• Host pertama (yang ingin membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN diaktifkan kepada host kedua (yang hendak diajak untuk berkomunikasi).
• Host kedua akan meresponsnya dengan mengirimkan segmen dengan acknowledgment dan juga SYN kepada host pertama.
• Host pertama selanjutnya akan mulai saling bertukar data dengan host kedua.
TCP menggunakan proses jabat tangan yang sama untuk mengakhiri koneksi yang dibuat. Hal ini menjamin dua host yang sedang terkoneksi tersebut telah menyelesaikan proses transmisi data dan semua data yang ditransmisikan telah diterima dengan baik. Itulah sebabnya, mengapa TCP disebut dengan koneksi yang reliable.


ref :
http://teknik-informatika.com/mekanisme-protokol-udp/
http://id.wikipedia.org/wiki/User_Datagram_Protocol
http://lecturer.ukdw.ac.id/budsus/jarkom/tcpudp.pdf
http://id.wikipedia.org/wiki/Transmission_Control_Protocol/Internet_Protocol
http://id.wikipedia.org/wiki/Transmission_Control_Protocol