Pengertian TCP
1. TCP
Pengertian TCP
Transmission
Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan
kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network
(jaringan). TCP merupakan suatu protokol yang berada di lapisan transpor (baik
itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi
sambungan (connection-oriented) dan dapat diandalkan (reliable).
TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data.
Awal Keberadaan TCP Konsep TCP/IP
berawal dari kebutuhan DoD (Departement of Defense) AS akan suatu komunikasi di
antara berbagai variasi komputer yg telah ada. Komputer-komputer DoD ini
seringkali harus berhubungan antara satu organisasi peneliti dg organisasi
peneliti lainnya, dan harus tetap berhubungan sehingga pertahanan negara tetap
berjalan selama terjadi bencana, seperti ledakan nuklir. Oleh karenanya pada
tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di
antara tujuan-tujuan penelitian ini adalah sebagai berikut :
Terciptanya
protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk
semua jaringan. Meningkatkan efisiensi komunikasi data. Dapat dipadukan dengan
teknologi WAN (Wide Area Network) yg telah ada. Mudah dikonfigurasikan.
Karakteristik TCP
Karakteristik dari TCP antara lain
yaitu Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti
ketika dikirim. 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 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.
Cara Kerja TCP/IP
Adapun langkah-langkah cara kerja
dari protokol TCP/IP ini adalah Pertama, datagram dibagi-bagi ke dalam
bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) dimana
data tersebut akan dikirimkan. Pada lapisan TCP, data tersebut lalu “dibungkus”
dengan informasi header yang dibutuhkan. Misalnya seperti cara mengarahkan data
tersebut ke tujuannya, cara merangkai kembali kebagian-bagian data tersebut
jika sudah sampai pada tujuannya, dan sebagainya. Setelah datagram dibungkus
dengan header TCP, datagram tersebut dikirim kepada lapisan IP. IP menerima
datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut. IP
lalu mengarahkan datagram tersebut ke tujuannya. Komputer penerima melakukan
proses-proses perhitungan, ia memeriksa perhitungan checksum yang sama dengan
data yang diterima. Jika kedua perhitungan tersebut tidak cocok berarti ada
error sewaktu pengiriman dan datagram akan dikirimkan kembali.
Kelebihan TCP/IP
Beberapa kelebihan TCP/IP
dibandingkan protokol yang lain antara lain TCP/IP adalah protokol yang bisa
diarahkan. Artinya ia bisa mengirimkan datagram melalui rute-rute yang telah
ditentukan sebelumnya. Hal ini dapat mengurangi kepadatan lalu lintas pada
jaringan, serta dapat membantu jika jaringan mengalami kegagalan, TCP/IP dapat
mengarahkan data melalui jalur lain. Memiliki mekanisme pengiriman data yang
handal dan efisien. Bersifat open platform atau platform independent yaitu
tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu. Karena
sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem
komputer yang berbeda yang menjalankan pada sistem-sistem operasi yang berbeda
pula. TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini
dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui
sambungan telepon. TCP/IP menggunakan skema pengalamatan yang umum, maka semua
sistem dapat mengirimkan data ke alamat sistem yang lain.
Kegunaan TCP
Beberapa kegunaan dari TCP yaitu Menyediakan
komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda protokol
transport berjalan pada end systems Pengiriman file (file transfer). File
Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat
mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan
data, maka FTP seringkali memerlukan nama pengguna (username) dan password,
meskipun banyak juga FTP yg dapat diakses melalui anonymous, lias tidak
berpassword. (lihat RFC 959 untuk spesifikasi FTP) Remote login. Network
terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log
in ke dalam suatu komputer didalam suatu jaringan. Jadi hal ini berarti bahwa
pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer
jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
Computer mail. Digunakan untuk menerapkan sistem elektronik mail. Network File
System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien
untuk mengakses file-file pada komputer jaringan jarak jauh walaupun file
tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih
lanjut) remote execution. Memungkinkan pengguna komputer untuk menjalankan
suatu program didalam komputer yg berbeda. Biasanya berguna jika pengguna
menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak
dalam suatu system komputer. Ada beberapa jenis remote execution, ada yg berupa
perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer
yg sama dan ada pula yg menggunakan “prosedure remote call system”, yg memungkinkan
program untuk memanggil subroutine yg akan dijalankan di system komputer yg
berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822
dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan
untuk menentukan nama host di internet).
Manajemen Koneksi TCP :
Pada saat Setup Koneksi Client
mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number
inisial. Server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK. ACK
yang menyatakan telah menerima SYN. Mengalokasikan buffer. Menghasilkan
sequence number untuk ke client.
Pada saat Menutup Koneksi
Client
mengirim kontrol TCP FIN ke server Server menerima FIN, dan membalas dengan
ACK. Menutup koneksi dan mengirimkan FIN ke client. Client menerima FIN dan
membalas ACK. Masuk pada masa menunggu balasan ACK terhadap dari server server
menerima ACK dan koneksi tertutup.
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. headerTCP-2 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). PORTtcp-1
Aplikasi yang Menggunakan TCP.
1. World Wide Web
Aplikasi ini pada prinsipnya mirip
dengan aplikasi gopher, yakni penyediaan database yang dapat diakses tidak
hanya berupa text, namun dapat berupa gambar/image, suara, video. penyajiannya
pun dapat dilakukan secara live. Dengan demikian, jenis informasi yang dapat
disediakan sangat banyak dan dapat dibuat dengan tampilan yang lebih menarik.
Hal ini dimungkinkan karena Web menggunakan teknologi hypertext. Karena itu,
protokol yang digunakan untuk aplikasi ini dikenal dengan nama
Hypertext-transfer-protocol (HTTP).
2. Archie
Aplikasi FTP memungkinkan kita
mentransfer file dari manapun di seluruh dunia. Hal itu dengan anggapan bahwa
kita telah mengetahui lokasi di mana file yang kita cari berada. Namun jika
kita belum mengetahui di mana file yang kita cari berada, kita memerlukan
aplikasi untuk membantu kita mencari di mana file tersebut berada.
Cara kerja Archie dapat dijelaskan sebagai berikut. Server Archie secara
berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil informasi
daftar seluruh file yang ada pada FTP Server tersebut. Daftar ini disusun
berdasarkan letak file dalam direktori/sub direktori, sehingga mudah untuk
menemukan file tersebut. File-file yang berisi daftar file tiap FTP Server ini
merupakan database dari Archie Server. Jika ada query ke Archie Server yang
menanyakan suatu file, server mencari dalam daftar tadi dan mengirimkan seluruh
jawaban yang berkaitan dengan file tersebut. Informasi yang diberikan adalah
alamat FTP Server yang memiliki file tersebut dan letak file tersebut dalam
struktur direktori.
3. Wide Area Information Services (WAIS)
WAIS merupakan salah satu servis
pada internet yang memungkinkan kita mencari melalaui materi yang terindeks dan
menemukan dokumen/artikel berdasarkan isi artikel tersebut. Jadi pada dasarnya,
WAIS memberikan layanan untuk mencari artikel yang berisi kata-kata kunci yang
kita ajukan sebagai dasar pencarian.
Aplikasi WAIS biasanya berbasis text.
Untuk membuat suatu dokumen dapat dicari melalaui WAIS Server, harus dibuat
terlebih dahulu index dari dokumen tersebut. Setiap kata dalam dokumen tersebut
diurut dan dihitung jumlahnya. Jika ada query dari client, index akan diperiksa
dan hasilnya, yakni dokumen yang memiliki kata-kata tersebut ditampilkan.
Karena kemungkinan ada banyak dokumen yang memiliki kata-kata yang kita ajukan,
maka beberapa dokumen yang memiliki kata kunci tersebut diberi skor/nilai.
Dokumen yang paling banyak mengandung kata-kata kunci akan mendapat skor
tertinggi. Dengan demikian, user mendapatkan informasi kemungkinan terbesar
dari bebarapa dokumen yang mengandung kumpulan kata yang diajukannya.
4. FAX di Internet
Mesin FAX sebagai pengirim dan
penerima berita tertulis melalaui telepon saat ini hampir dimiliki oleh semua
kantor. Melalaui gateway Internet FAX, pengiriman FAX dapat dilakukan melalaui
e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin
FAX tujuan melalui jalur telepon secara otomatis. Tentu saja, akses untuk ini
terbatas (private).