Skip to content

TCP/IP & UDP

December 7, 2010

TCP/IP (Transmission Control Protocol/Internet Protocol)

1. Pengertian

Transmission Control Protocol/Internet Protocol (TCP/IP) adalah satu set aturan standar komunikasi data yang digunakan dalam proses transfer data dari satu komputer ke komputer lain di jaringan komputer tanpa melihat perbedaan jenis hardware.

2. Sejarah TCP/IP

Sejarah TCP/IP dimulainya dari lahirnya ARPANET yaitu jaringan paket switching digital yang didanai oleh DARPA (Defence Advanced Research Projects Agency) pada tahun 1969. Sementara itu ARPANET terus bertambah besar sehingga protokol yang digunakan pada waktu itu tidak mampu lagi menampung jumlah node yang semakin banyak. Oleh karena itu DARPA mendanai pembuatan protokol komunikasi yang lebih umum, yakni TCP/IP. Ia diadopsi menjadi standard ARPANET pada tahun 1983. Untuk memudahkan proses konversi, DARPA juga mendanai suatu proyek yang mengimplementasikan protokol ini ke dalam BSD UNIX, sehingga dimulailah perkawinan antara UNIX dan TCP/IP. Pada awalnya internet digunakan untuk menunjukan jaringan yang menggunakan internet protokol (IP) tapi dengan semakin berkembangnya jaringan, istilah ini sekarang sudah berupa istilah generik yang digunakan untuk semua kelas jaringan. Internet digunakan untuk menunjuk pada komunitas jaringan komputer worldwide yang saling dihubungkan dengan protokol TCP/IP. Perkembangan TCP/IP yang diterima luas dan praktis menjadi standar defacto jaringan komputer berkaitan dengan ciri-ciri yang terdapat pada protokol itu sendiri yang merupakan keunggulun dari TCP/IP, yaitu :

§ Perkembangan protokol TCP/IP menggunakan standar protokol terbuka sehingga tersedia secara luas. Semua orang bisa mengembangkan perangkat lunak untuk dapat berkomunikasi menggunakan protokol ini. Hal ini membuat pemakaian TCP/IP meluas dengan sangat cepat, terutama dari sisi pengadopsian oleh berbagai sistem operasi dan aplikasi jaringan.

§ Tidak tergantung pada perangkat keras atau sistem operasi jaringan tertentu sehingga TCP/IP cocok untuk menyatukan bermacam macam network, misalnya Ethernet, token ring, dial-up line, X-25 net dan lain lain.

§ Cara pengalamatan bersifat unik dalam skala global, memungkinkan komputer dapat mengidentifikasi secara unik komputer yang lain dalam seluruh jaringan, walaupun jaringannya sebesar jaringan worldwide Internet. Setiap komputer yang tersambung dengan jaringan TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya.

§ TCP/IP memiliki fasilitas routing dan jenis-jenis layanan lainnya yang memungkinkan diterapkan pada internetwork.

3. Karakteristik TCP

§ Berorintasi sambung, yaitu sebelum ada komunikasi 2 host, 2 proses yang berada pada layer aplikasi harus negosiasi terlebih dahulu untuk membuat sesi koneksi.

§ 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) dan 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.

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.

4. Arsitektur dan Protokol Jaringan TCP/IP

Dalam arsitektur jaringan komputer, terdapat suatu lapisan-lapisan ( layer ) yang memiliki tugas spesifik serta memiliki protokol tersendiri. ISO (International Standard Organization) telah mengeluarkan suatu standard untuk arsitektur jaringan komputer yang dikenal dengan nama Open System Interconnection ( OSI ). Standard ini terdiri dari 7 lapisan protokol yang menjalankan fungsi komunikasi antara 2 komputer. Dalam TCP/IP hanya terdapat 5 lapisan sbb :

Walaupun jumlahnya berbeda, namun semua fungsi dari lapisan-lapisan arsitektur OSI telah tercakup oleh arsitektur TCP/IP. Adapun rincian fungsi masingmasing layer arsitektur TCP/IP adalah sbb :

  • Physical Layer (lapisan fisik) merupakan lapisan terbawah yang mendefinisikan besaran fisik seperti media komunikasi, tegangan, arus, dsb. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang bersangkutan.TCP/IP bersifat fleksibel sehingga dapat mengintegrasikan berbagai jaringan dengan media fisik yang berbeda-beda.
  • Network Access Layer mempunyai fungsi yang mirip dengan Data Link layer pada OSI. Lapisan ini mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 jaringan publik, Ethernet untuk jaringan Etehernet, AX.25 untuk jaringan Paket Radio dsb.
  • Internet Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas (worldwide Internet). Beberapa tugas penting pada lapisan ini adalah:
  • Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet Protokol Address ( IP Address). Karena pengalamatan (addressing) pada jaringan TCP/IP berada pada level ini (software), maka jaringan TCP/IP independen dari jenis media dan komputer yang digunakan.
  • Routing, yakni menentukan ke mana datagram akan dikirim agar mencapai tujuan yang diinginkan. Fungsi ini merupakan fungsi terpenting dari Internet Protokol (IP). Sebagai protokol yang bersifat connectionless, proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router pada jaringan TCP/IP lah yang sangat menentukan dalam penyampaian datagram dari penerima ke tujuan.
    • Transport Layer mendefinisikan cara-cara untuk melakukan pengiriman data antara end to end host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim. Untuk itu, lapisan ini memiliki beberapa fungsi penting antara lain :
    • Flow Control. Pengiriman data yang telah dipecah menjadi paket-paket tersebut harus diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data.
    • Error Detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa data yang dikirimkan bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang mengandung kesalahan tadi. Namun hal ini dapat menimbulkan delay yang cukup berarti.

Pada TCP/IP, protokol yang dipergunakan adalah Transmission Control Protokol (TCP) atau User Datagram Protokol ( UDP ). TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data, sedangkan UDP digunakan untuk aplikasi yang membutuhkan panjang paket yang pendek dan tidak menuntut keandalan yang tinggi. TCP memiliki fungsi flow control dan error detection dan bersifat connection oriented. Sebaliknya pada UDP yang bersifat connectionless tidak ada mekanisme pemeriksaan data dan flow control, sehingga UDP disebut juga unreliable protokol. Untuk beberapa hal yang menyangkut efisiensi dan penyederhanaan, beberapa aplikasi memilih menggunakan UDP sebagai protokol transport. Contohnya adalah aplikasi database yang hanya bersifat query dan response, atau aplikasi lain yang sangat sensitif terhadap delay seperti video conference. Aplikasi seperti ini dapat mentolerir sedikit kesalahan (gambar atau suara masih bisa dimengerti), namun akan tidak nyaman untuk dilihat jika terdapat delay yang cukup berarti.

  • Application Layer merupakan lapisan terakhir dalam arsitektur TCP/IP yang berfungsi mendefinisikan aplikasi-aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP ( Simple Mail Transfer Protokol ) untuk pengiriman e-mail, FTP (File Transfer Protokol) untuk transfer file, HTTP (Hyper Text Transfer Protokol) untuk aplikasi web, NNTP (Network News Transfer Protokol) untuk distribusi news group dan lain-lain. Setiap aplikasi pada umumnya menggunakan protokol TCP dan IP, sehingga keseluruhan keluarga protokol ini dinamai dengan TCP/IP.

InterNet Protokol (IP).

Adalah mekanisme transmisi yang digunakan oleh TCP/IP. IP disebut juga unreliable dan connectionless datagram protocol-a besteffort delivery service. IP mentransportasikan data dalam paket-paket yang disebut datagram.

Address Resolution Protocol (ARP)

ARP digunakan untuk menyesuaikan alamat IP dengan alamatfisik (Physical address).

Reverse Address Resolution Protocol (RARP)

RARP membolehkan host menemukan alamat IP nya jika dia sudah tahu alamat fiskinya. Ini berlaku pada saat host baru terkoneksi ke jaringan.

Internet Control Message Protocol (ICMP)

ICMP adalah suatu mekanisme yang digunakan oleh sejumlah host dan gateway untuk mengirim notifikasi datagram yang mengalami masalah kepada host pengirim.

Internet Group Message Protocol (IGMP)

IGMP digunakan untuk memfasilitasi transmisi message yang simultan kepasa kelompok/group penerima.

Prinsip kerja InterNet Protokol (IP).

Fungsi dari InterNet Protokol secara sederhana dapat diterangkan seperti cara kerja kantor pos pada proses pengiriman surat. Surat kita masukan ke kotak pos akan diambil oleh petugas pos dan kemudian akan dikirim melalui route yang random, tanpa si pengirim maupun si penerima surat mengetahui jalur perjalanan surat tersebut. Juga jika kita mengirimkan dua surat yang ditujukan pada alamat yang sama pada hari yang sama, belum tentu akan sampai bersamaan karena mungkin surat yang satu akan mengambil route yang berbeda dengan surat yang lain. Di samping itu, tidak ada jaminan bahwa surat akan sampai ditangan tujuan, kecuali jika kita mengirimkannya menggunakan surat tercatat.

Prinsip di atas digunakan oleh InterNet Protokol, “surat” diatas dikenal dengan sebutan datagram. InterNet protokol (IP) berfungsi menyampaikan datagram dari satu komputer ke komputer lain tanpa tergantung pada media kompunikasi yang digunakan. Data transport layer dipotong menjadi datagramdatagram yang dapat dibawa oleh IP. Tiap datagram dilepas dalam jaringan komputer dan akan mencari sendiri secara otomatis rute yang harus ditempuh ke komputer tujuan. Hal ini dikenal sebagai transmisi connectionless. Dengan kata lain, komputer pengirim datagram sama sekali tidak mengetahui apakah datagram akan sampai atau tidak.

Untuk membantu mencapai komputer tujuan, setiap komputer dalam jaringan TCP/IP harus diberikan IP address. IP address harus unik untuk setiap komputer, tetapi tidak menjadi halangan bila sebuah komputer mempunyai beberapa IP address. IP address terdiri atas 8 byte data yang mempunyai nilai dari 0-255 yang sering ditulis dalam bentuk [xx.xx.xx.xx] (xx mempunyai nilai dari 0-255).

Pada header InterNet Protokol selain IP address dari komputer tujuan dan komputer pengirim datagram juga terdapat beberapa informasi lainnya. Informasi ini mencakup jenis dari protokol transport layer yang ditumpangkan diatas IP. Tampak pada gambar 2 ada dua jenis protokol pada transport layer yaitu TCP dan UDP. Informasi penting lainnya adalah Time-To-Live (TTL) yang menentukan berapa lama IP dapat hidup didalam jaringan. Nilai TTL akan dikurangi satu jika IP melalui sebuah komputer. Hal ini penting artinya terutama karena IP dilepas di jaringan komputer. Jika karena satu dan lain hal IP tidak berhasil menemukan alamat tujuan maka dengan adanya TTL IP akan mati dengan sendirinya pada saat TTL bernilai nol. Disamping itu juga tiap IP yang dikirimkan diberikan identifikasi sehingga bersama-sama dengan IP address komputer pengirim data dan komputer tujuan, tiap IP dalam jaringan adalah unik.

Khususnya untuk pemakai jaringan komputer hal yang terpenting untuk dipahami secara benar-benar adalah konsep IP address. Lembaga yang mengatur IP address adalah Network Information Center (NIC) di Department of Defence di US yang beralamat di hostmaster@nic.ddn.mil. Pengaturan IP address penting, terutama pada saat mengatur routing secara otomatis. Sebagai contoh jaringan komputer di amatir radio mempunyai IP address kelas yang mempunyai address [44.xx.xx.xx]. Khusus untuk amatir radio di Indonesia IP address yang digunakan adalah [44.132.xx.xx]. Sedangkan penulis di Canada mempunyai IP address [44.135.84.22]. Hal ini terlihat dengan jelas bahwa IP address di amatir radio sifatnya geografis. Dari IP address penulis dapat dibaca bahwa mesin penulis berada di network 44 di InterNet yang dikenal sabagai AMPRNet (ampr.org). 135 menandakan bahwa penulis berada di Canada. 84 memberitahukan bahwa penulis berada di kota Waterloo di propinsi Ontario, sedang 22 adalah nomor mesin penulis. Dengan konsep IP address, route perjalanan IP dalam jaringan komputer dapat dilakukan secara otomatis. Sebagai contoh, jika sebuah komputer di InterNet akan mengirimkan IP ke [44.135.84.22], pertama-tama IP yang dilepas di network akan berusaha mencari jalan ke network 44.135.84, setelah mesin yang mengubungkan network 44.135.84 tercapai IP tersebut akan mencoba menghubungi mesin 22 di network tersebut. Kesemuanya ini dilakukan secara otomatis oleh program.

Tentunya sukar bagi manusia untuk mengingat sedemikian banyak IP address. Untuk memudahkan, dikembangkan Domain Name System (DNS). Sebagai contoh mesin penulis di AMPRNet dengan IP address [44.135.84.22], penulis beri nama (hostname) ve3.yc1dav.ampr.org. Terlihat bahwa hostname yang digunakan penulis sangat spesifik dan sangat memudahkan untuk mengetahui bahwa penulis berada di AMPRNet dari kata ampr.org. Mesin tersebut berada di Kanada dan propinsi Ontario dari ve3 sedang yc1dav adalah penulis sendiri. Contoh lain dari DNS adalah sun1.vlsi.waterloo.edu yang merupakan sebuah Sun SPARC workstation (sun1) di kelompok peneliti VLSI di University of Waterloo, Kanada (waterloo.edu) tempat penulis bekerja dan belajar. Perlu dicatat bahwa saat ini NIC belum memberikan domain untuk Indonesia. Mudah-mudahan dengan berkembangnya jaringan komputer TCP/IP di Indonesia ada saatnya dimana kita di Indonesia perlu meminta domain tersendiri untuk Indonesia. Gambar 1.5. menunjukkan format datagaram IP.

  1. 1. Prinsip kerja Transmission Control Protocol (TCP).

Berbeda dengan InterNet Protokol (IP), TCP mempunyai prinsip kerja seperti “virtual circuit” pada jaringan telepon. TCP lebih mementingkan tata-cara dan keandalan dalam pengiriman data antara dua komputer dalam jaringan. TCP tidak perduli dengan apa-apa yang dikerjakan oleh IP, yang penting adalah hubungan komunikasi antara dua komputer berjalan dengan baik. Dalam hal ini, TCP mengatur bagaimana cara membuka hubungan komunikasi, jenis aplikasi apa yang akan dilakukan dalam komunikasi tersebut (misalnya mengirim e-mail, transfer file dsb.) Di samping itu, juga mendeteksi dan mengoreksi jika ada kesalahan data. TCP mengatur seluruh proses koneksi antara satu komputer dengan komputer yang lain dalam sebuah jaringan komputer.

Berbeda dengan IP yang mengandalkan mekanisme connectionless pada TCP mekanisme hubungan adalah connection oriented. Dalam hal ini, hubungan secara logik akan dibangun oleh TCP antara satu komputer dengan computer yang lain. Dalam waktu yang ditentukan komputer yang sedang berhubungan harus mengirimkan data atau acknowledge agar hubungan tetap berlangsung. Jika hal ini tidak sanggup dilakukan maka dapat diasumsikan bahwa komputeryang sedang berhubungan dengan kita mengalami gangguan dan hubungan secara logik dapat diputus.

TCP mengatur multiplexing dari data yang dikirim/diterima oleh sebuah komputer. Adanya identifikasi pada TCP header memungkinkan multiplexing dilakukan. Hal ini memungkinkan sebuah komputer melakukan beberapa hubungan TCP secara logik. Bentuk hubungan adalah full duplex, hal ini memungkinkan dua buah komputer saling berbicara dalam waktu bersamaan tanpa harus bergantian menggunakan kanal komunikasi. Untuk mengatasi saturasi (congestion) pada kanal komunikasi, pada header TCP dilengkapi informasi tentang flow control.

Hal yang cukup penting untuk dipahami pada TCP adalah port number. Port number menentukan servis yang dilakukan oleh program aplikasi diatas TCP. Nomor-nomor ini telah ditentukan oleh Network Information Center dalam Request For Comment (RFC) 1010 [10]. Sebagai contoh untuk aplikasi File Transfer Protokol (FTP) diatas transport layer TCP digunakan port number 20 dan masih banyak lagi.

Prinsip kerja dari TCP berdasarkan prinsip client-server. Server adalah program pada komputer yang secara pasif akan mendengarkan (listen) port number yang telah ditentukan pada TCP. Sedang client adalah program yang secara aktif akan membuka hubungan TCP ke komputer server untuk meminta servis yang dibutuhkan.

  1. 2. Cara KerjaTCP/IP

Layer-layer dan protokol yang terdapat dalam arsitektur jaringan TCP/IP menggambarkan fungsi-fungsi dalam komunikasi antara dua buah komputer. Setiap lapisan menerima data dari lapisan di atas atau dibawahnya, kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada pengirim, aliran data adalah dari atas ke bawah. Data dari user maupun suatu aplikasi dikirimkan ke Lapisan Transport dalam bentuk paket-paket dengan panjang tertentu. Protokol menambahkan sejumlah bit pada setiap paket sebagai header yang berisi informasi mengenai urutan segmentasi untuk menjaga integritas data dan bit-bit pariti untuk deteksi dan koreksi kesalahan. Dari Lapisan Transport, data yang telah diberi header tersebut diteruskan ke Lapisan Network / Internet. Pada lapisan ini terjadi penambahan header oleh protokol yang berisi informasi alamat tujuan, alamat pengirim dan informasi lain yang dibutuhkan untuk melakukan routing. Kemudian terjadi pengarahan routing data, yakni ke network dan interface yang mana data akan dikirimkan, jika terdapat lebih dari satu interface pada host. Pada lapisan ini juga dapat terjadi segmentasi data, karena panjang paket yang akan dikirimkan harus disesuaikan dengan kondisi media komunikasi pada network yang akan dilalui. Proses komunikasi data di atas dapat dijelaskan seperti pada gambar berikut ini :

Selanjutnya data menuju Network Access Layer (Data Link) dimana data akan diolah menjadi frame-frame, menambahkan informasi keandalan dan address pada level link. Protokol pada lapisan ini menyiapkan data dalam bentuk yang paling sesuai untuk dikirimkan melalui media komunikasi tertentu. Terakhir data akan sampai pada Physical Layer yang akan mengirimkan data dalam bentuk besaran-besaran listrik/fisik seperti tegangan, arus, gelombang radio maupun cahaya, sesuai media yang digunakan. Di bagian penerima, proses pengolahan data mirip seperti di atas hanya dalam urutan yang berlawanan (dari bawqah ke atas). Sinyal yang diterima pada physical layer akan diubah dalam ke dalam data. Protokol akan memeriksa integritasnya dan jika tidak ditemukan error t header yang ditambahkan akan dilepas. Selanjutnya data diteruskan ke lapisan network. Pada lapisan ini, address tujuan dari paket data yang diterima akan diperiksa. Jika address tujuan merupakan address host yang bersangkutan, maka header lapisan network akan dicopot dan data akan diteruskan ke lapisan yang diatasnya. Namun jika tidak, data akan di forward ke network tujuannya, sesuai dengan informasi routing yang dimiliki. Pada lapisan Transport, kebenaran data akan diperiksa kembali, menggunakan informasi header yang dikirimkan oleh pengirim. Jika tidak ada kesalahan, paket-paket data yang diterima akan disusun kembali sesuai urutannya pada saat akan dikirim dan diteruskan ke lapisan aplikasi pada penerima.

Proses yang dilakukan tiap lapisan tersebut dikenal dengan istilah enkapsulasi data. Enkapsulasi ini sifatnya transparan. Maksudnya, suatu lapisan tidak perlu mengetahui ada berapa lapisan yang ada diatasnya maupun di bawahnya. Masing-masing hanya mengerjakan tugasnya. Pada pengirim, tugas ini adalah menerima data dari lapisan diatasnya, mengolah data tersebut sesuai dengan fungsi protokol, menambahkan header protokol dan meneruskan ke lapisan di bawahnya. Pada penerima, tugas ini adalah menerima data dari lapisan di bawahnya, mengolah data sesuai fungsi protokol, mencopot header protokoll tersebut dan meneruskan ke lapisan di atasnya.

  1. 1. Operasi TCP

Transport layer

IP address mengijinkan routing paket antar jaringan. IP menjamin pengiriman paket data. Layer transport bertanggung jawab untuk menjamin transmisi dan aliran data dari asal ke tujuan. Hal ini nanti akan berhubungan dengan sliding window dan sequencing number untuk sinkronisasi aliran data.

Untuk memahami reliability dan flow control, analoginya sama dengan mahasiswa yang belajar bahasa asing selama satu tahun. Bayangkan kalau mahasiswa ini pergi ke Negara dimana dia belajar bahasa tersebut. Mahasiswa harus bertanya ke orang-orang untuk mengulang kata-kata dan berbicara secara benar (reliability) dan pelan-pelan (sama dengan konsep flow control).

Sinkronisasi dan 3-way handshake

TCP adalah protokol connection-oriented. Komunikasi data antar host terjadi melalui proses sinkronisasi untuk membentuk virtual connection setiap session antar host. Proses sinkronisasi ini meyakinkan kedu sisi apakah sudah siap transmisi data apa belum dan mengijinkan device untuk menentukan inisial sequence number. Proses ini disebut dengan 3-way handshake. Untuk membentuk koneksi TCP, klien harus menggunakan nomor port tertentu dari layanan yang ada di server.

Tahap satu, klien mengirimkan paket sinkronisasi (SYN flag set) untuk inisialisasi koneksi. Paket dianggap valid kalau niali sequence numbernya misalnya x. bit SYN menunjukkan permintaan koneksi. Bit SYN panjangnya satu bit dari segmen header TCP. Dan sequence number panjangnya 32 bit.

Tahap dua, host yang lain menerima paket dan mencatat sequence number x dari klien dan membalas dengan acknowledgement (ACK flag set). Bit control ACK menunjukkan bahwa acknowledgement number berisi nilai acknowledgement yang valid. ACK flag panjangnya satu bit dan Ack number 32 bit dalam segmen TCP header. Sekali koneksi terbentuk, ACK flag diset untuk semua segmen. ACK number nilainya menjadi x + 1 artinya host telah menerima semua byte termasuk x dan menambahkan penerimaan berikutnya x + 1.

Tahap tiga, klien meresponnya dengan Ack Number y + 1 yang berarti ia menerima ack sebelumnya dan mengakhiri proses koneksi untuk session ini.

Serangan Denial of Service (DoS)

Serangan DoS didisain untuk mencegah layanan ke host yang mencoba untuk membentuk koneksi. DoS umutmnya digunakan oleh hacker untuk mematikan sistem. DoS dikenal dengan nama SYN flooding artinya membanjiri dan merusak 3-way handshake.

Pada DoS, hacker meginisialisasi SYN tapi disisipi dengan alamat IP tujuan, artinya hacker memberikan permintaan SYN dengan informasi yang salah, sehingga proses koneksi akan menunggu lama dan akhirnya gagal. Untuk mengatasi hal ini, admin harus mengurangi koneksi selama peride tertentu dan menaikkan jumlah antrian koneksi.

Windowing dan window size

Window size menetukan jumlah data yang dapat dikirim pada satu waktu sebelum tujuan meresponnya dengan acknowledgment. Setelah host mengirim angka window size dalam byte, hist harus menerima ack bahwa data telah doterima sebelum ia dapat mengirim data berikutnya. Sebagai contoh, jika window size 1, setiap byte harus ack sebelum byte berikutnya dikirim.

Windowing untuk menentukan ukuran transmisi secara dinamis. Device melakukan negosiasi window size untuk mengijinkan angka tertentu dalam byte yang harus dikirim sebelum ack.

Sequence number dan ack number

Sequence number bertindak sebagai nomor referensi sehingga penerima akan mengetahui jika ia telah menerima semua data. Dan juga mengidentifikasi data-data yang hilang ke pengirim supaya ia mengirimnya lagi.

1. Contoh Aplikasi TCP/IP

File Transfer Protocol (FTP)

FTP menggunakan protokol transport TCP untuk mengirimkan file. TCP dipakai sebagai protokol transport karena protokol ini memberikan garansi pengiriman dengan FTP yang dapat memungkinkan user mengakses file dan directory secara interaktif, diantaranya:

§ Melihat daftar file pada direktory remote dan lokal.

§ Menganti nama dan menghapus file

§ Transfer file dari host remote ke lokal (download)

§ Transfer file dari host lokal ke remote (upload)

Trivial File Transfer Protocol (TFTP)

File-transfer-protocol menggunakan TCP untuk mendapatkan komunikasi dalam jaringan yang dapat diandalkan. Jika jaringan sudah cukup dapat diandalkan, seperti umumnya pada jaringan LAN maka dapat dipergunakan file-transfer-protocol yang lebih sederhana, yaitu dapat digunakan user-datagram-protocol (UDP) untuk mendasari protocol transport (host-to-host). Sebagai contoh file-transfer-protocol yang menggunakan UDP adalah trivial-file-transfer-protocol (TFTP).

Terminal Emulation (TELNET)

Protokol TELNET dipakai untuk menyamai seperti terminal yang terkoneksi untuk host secara remote (berjauhan). Prinsip kerjanya menggunakan TCP sebagai protokol transport untuk mengirimkan informasi dari keyboard pada user menuju remote-host serta menampilkan informasi dari remote-host ke workstation pada user.

Untuk menjalankan proses TELNET maka digunakan komponen TELNET untuk client yang dijalankan pada workstation (user) dan server TELNET yang dijalankan pada host.

Mail Service (SMTP)

Komunikasi dengan e-mail mungkin saat ini merupakan salah satu aplikasi yang paling luas dipakai pada internet. Ada beberapa protokol yang dapat digunakan untuk melayani transfer e-mail, tetapi yang paling umum digunakan adalah Simplemail-transfer-protocol (SMTP).

SMTP mampu menangani pesan berupa teks kode ASCII yang akan dikirimkan kedalam kotak surat (mail-boxes) pada host TCP/IP yang telah ditentukan untuk melayani e-mail.

Mekanisme SMTP: dimana user yang ingin mengirimkan e-mail berinteraksi dengan mail-system lokal lewat komponen user agent (UA) pada mail-system. E-mail yang akan dikirim terlebih dahulu disimpan sementara dalam outgoing-mail-box, selanjutnya SMTP pengirim memproses e-mail pada yang dikumpulkan pada outgoing-mail-box secara periodik. Jika pengirim SMTP menemukan e-mail pada outging-mail-box, maka secara langsung akan membuat koneksi TCP dengan host yang dituju untuk mengirimkan e-mail. Penerima SMTP dalam proses sebagai tujuan yang harus meneima koneksi TCP, selanjutnya e-mail dikirim pada koneksi ini. Pada penerima SMTP ini e-mail disimpan dalam host tujuan pada masing-masing mail-box sesuai dengan alamat tujuan. Jika mail-box dengan nama yang tidak sesuai dengan nama mail-box yang ada pada host tujuan, maka email dikirim kembali yang menunjukkan mail-box tidak ada.

Alamat e-mail yang dipakai pada SMTP menggunakan standar RFC 882, dan informasi yang dikirim ditambahkan beberapa header yang sering disebut dengan “882 headers”. Contoh alamat e-mail misalnya : fulan@yahoo.com teks sebelum simbol @ adalah nama mail-box, sedangkan teks sesudah simbol @ adalah nama host, jadi pada alamat e-mail fulan@yahoo.com berarti nama mail-box adalah fulan yang terdapat pada host yahoo.com. Jika mail-box menggunakan karakter atau simbol khusus (misalnya tanda %), maka nama mail-box diberikan untuk encoding khusus agar SMTP dapat menggunakan sebagai mailgateway.

Protokol SMTP menginginkan host tujuan yang akan menerima e-mail dalam keadaan on-line, jika tidak maka hubungan TCP dengan host tujuan tidak dapat dilakukan. Pada sistem jaringan komputer maka host SMTP selalu dalam keadaan on dan tersambung ke jaringan, sedangkan workstation yang berada pada user dapat berinteraksi dengan host SMTP untuk membaca atau mengirim e-mail menggunakan client/server-mail-protocol, contohnya post-office-protocol versi 3 sesuai yang dijabarkan dalam RFC 1460, atau yang sering disebut POP3.

Jika ingin mengirimkan e-mail lewat SMTP dengan informasi yang berisi bermacam-macam format data (tidak hanya teks saja) maka dapat digunakan _rotoc pengkodean agar data tersebut menjadi teks dengan program UUCODE, kemudian penerima SMTP yang menerima e-mail dapat mengkodekan kembali untuk merubah teks agar sesuai dengan format sebelumnya menggunakan program UUDECODE. Cara lain yang dapat dipakai untuk mengirimkan informasi non-teks adalah dengan menggunakan _rotocol Multipurpose-internet-mail-extension (MIME). MIME dijabarkan dalam RFC 1521, 1522 & 1563.

UDP (User Diagram Protocol)

1. Pengertian

UDP (User Diagram 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.

2. Karakteristik UDP :

§ 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, _rotocol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara _rotocol atau dengan menggunakan waktu yang telah didefinisikan.

§ UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah _rotocol 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. Gambar 2.1. menunjuk format header 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 _rotocol lapisan aplikasi yang berjalan di atas UDP.
  • UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam _rotocol TCP. Karena itulah, _rotocol 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 _rot 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 _rotocol lapisan aplikasi membutuhkan penggunaan _rotocol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari _rotocol yang ringan adalah fungsi query nama dalam _rotocol lapisan aplikasi Domain Name System.
  • Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika _rotocol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari _rotocol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
  • Protokol yang tidak membutuhkan keandalan. Contoh _rotocol ini adalah _rotocol Routing Information Protocol (RIP).
  • Transmisi broadcast: Karena UDP merupakan _rotocol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah _rotocol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan _rotocol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam _rotocol NetBIOS Name Service.

Port UDP

Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan _rotocol 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.

  1. 1. Operasi UDP

Baik TCP maupun UDP sama menggunakan IP _rotocol layer 3. TCP dan UDP diguanakan untuk aplikasi yang bermacam-macam. TCP melayani aplikasi seperti FTP, HTTP, SMTP dan DNS. Sedangkan UDP adalah _rotocol layer 4 yang digunakan oleh DNS, TFTP, SNMP dan DHCP.

  1. 1. Fungsi UDP

Fungsi UDP sebagai 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.
  1. 2. Contoh Aplikasi UDP

Aplikasi UDP

Digunakan untuk multimedia streaming, yang sangat memberikan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segment.

Contoh protokol aplikasi yang menggunakan UDP :

  • DNS (Domain Name System) 53
  • SNMP, (Simple Network Management Protocol) 161, 162
  • TFTP (Trivial File Transfer Protocol) 69
  • SunRPC port 111.
  1. 1. Perbedaan TCP/IP dan UDP

Perbdaan Protocol Tcp Dan Udp, Dan Contoh Penerapannya Di Jarkom

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) merupakan suatu layanan pengiriman berorientasi koneksi yang dapat diandalkan. Data TCP ditransmisikan dalam segmen-segmen dan suatu sesi harus ditetapkan sebelum host dapat mempertukarkan data. TCP memakai komunikasi byte-stream, yang berarti bahwa data diperlakukan sebagai suatu rangkaian byte.

TCP mampu mencapai keterandalannya dengan menugaskan rangkaian angka ke setiap segmen yang ditransmisikan. Jika suatu segmen dibagi menjadi potongan-potongan yang lebih kecil, maka host penerima mengerti apakah semua potongan itu sudah diterima. Suatu pengakuan akan memverifikasi bahwa host lain sudah menerima data itu. Bagi setiap segmen yang dikirimkan, host penerima harus menghasilkan acknowledgment (ACK) dalam periode tertentu. Bila pengirim tidak menerima ACK, maka data tersebut ditransmisikan ulang. Kalau segmen yang diterima ternyata rusak, maka host penerima akan membuangnya. Karena dalam kasus ini ACK tidak dikirimkan, maka pengirim mentransmisikan ulang segmen itu.

Hasil Simulasi Pengaruh Pengumpulan Paket Terhadap Kinerja TCP

Pertama kita lihat pengaruh pengumpulan paket terhadap kinerja TCP. Kita tahu bahwa pengumpulan paket menyebabkan tambahan delay pada paket, yang meningkatkan end-to-end Round Trip Time (RTT) dan Retransmission Time-Out (RTO), dan akibatnya menurunkan throughput TCP. Disisi lain, pengumpulan paket memperbaiki throughput TCP dengan beberapa cara, yaitu :

• Pengumpulan paket dapat membantu TCP untuk bekerja pada congestion window (cwnd) yang besar. Tanpa pengumpulan paket, paket-paket yang hilang akan sering terjadi dan TCP menangani kehilangan ini dengan mekanisme fast recovery dan fast retransmit. Interval waktu yang pendek antara dua paket yang hilang membuat cwnd rendah karena nilai cwnd dibagi dua setiap ada paket yang hilang dan kemudian naik secara linier. Pada sisi lain, pengumpulan paket memungkinkan pengemasan banyak segmen TCP yang berhasil dikirimkan. TCP menemukan kembali paket yang hilang dengan mekanisme RTO, dimana cwnd akan turun ke nilai satu setelah RTO dan kemudian naik secara eksponensial pada slow start dan secara linier pada daerah congestion avoidance.

• Pengumpulan paket dapat mempengaruhi pembentukan trafik dan mengurangi paket yang hilang. Sebagai contoh, pada full aggregation, ingress optikal switch hanya perlu untuk merutekan satu paket optik ke outgoing link setiap interval pengumpulan. Dengan kata lain, sifat burst trafik IP asalnya yang dipandang oleh switch optik telah diratakan.

Secara umum dapat dikatakan bahwa dengan membesarnya interval pengumpulan maka throughput TCP juga semakin besar.

User Datagram Protocol (UDP)

UDP menawarkan suatu layanan datagram tanpa koneksi yang menjamin entah pengiriman atau pengurutan paket-paket yang dikirimkan secara benar. Checksum data UDP bersifat opsional, yang menyediakan suatu cara untuk mempertukarkan data pada jaringan-jaringan yang sangat diandalkan tanpa perlu membutuhkan waktu pemrosesan atau sumber daya jaringan. UDP dipakai oleh aplikasi-aplikasi yang tidak memerlukan pengakuan tentang kuitansi data. Aplikasi tersebut secara khusus mentransmisikan sejumlah kecil data pada suatu waktu. Paket-paket yang disiarkan harus memakai UDP. Contoh layanan dan aplikasi yang memakai UDP adalah DNS, RIP, dan SNMP.

Hasil Simulasi Pengaruh Pengumpulan Paket Terhadap Kinerja UDP

Kemudian kita lihat pengaruh interval pengumpulan paket terhadap kinerja UDP. Seperti diperlihatkan pada gambar (a), throughput UDP tidak banyak mengalami perbedaan pada ketiga skema pengumpulan paket. Hal ini dikarenakan UDP merupakan protocol transport yang agresif dan selalu mencoba untuk menyedot bandwidth yang tersedia. Throughput juga semakin kecil dengan membesarnya interval pengumpulan.

Packet delay jitter adalah matrik kinerja yang lain yang perlu diperhatikan pada trafik UDP. Seperti ditunjukkan pada gambar (b), rata-rata delay jitter pada semua flow UDP akan semakin besar dengan membesarnya interval pengumpulan. Hal yang menarik adalah bahwa full aggregation dan per-class aggregation dapat mencapai delay jitter yang lebih rendah disbanding tanpa pengumpulan. Alasannya adalah bahwa dua skema ini membangkitkan paket-paket optik yang lebih besar dengan pengumpulan flow yang banyak.

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: