Friday, January 1, 2021

 

Mengenal Protocol TCP/IP, Cara Kerja, Dan Kelebihannya


Tentunya kita sebagai pengguna internet sering mendengar istilah TCP/IP. TCP/IP sangat kerat kaitannya dengan internet, dan bahkan semua kegiatan yang berhubungan dengan internet pasti menggunakan protocl TCP/IP. Nah pada artikel ini saya akan menjelaskan tentang konsep TCP/IP dan bagaimana cara kerja TCP IP.


Mengenal TCP/IP 


TCP/IP adalah sekumpulan protokol yang terdapat di dalam jaringan komputer (network) yang digunakan untuk berkomunikasi atau bertukar data antar komputer. TCP/IP merupakan standard protokol pada jaringan internet yang  menghubungkan banyak komputer yang berbeda jenis mesin maupun sistem operasinya agar dapat berinteraksi satu sama lain.

Fungsi utama dari protokol Transport Layer (TCP/IP) adalah:
  • Men-track komunikasi individual antar aplikasi pada host sumber dan host destinasi
  • Men-segmen data untuk keperluan manageability dan reassembling data yang tersegmen sampai streaming data aplikasi pada host destinasi
  • Mengidentifikasi aplikasi yang sesuai untuk setiap streaming komunikasi

Beberapa Protocol yang Terdapat pada TCP/IP

Layer Pada Protocol TCP/IP


TCP/IP dikembangkan sebelum model OSI ada. Protokol TCP/IP hanya memiliki 4 layer saja, diantaranya : 
  • Network Access Layer
  • Internet Layer
  • Transport Layer
  • Application Layer

Perbandingan OSI Model dengan TCP/IP Model

Application Layer


Application Layer adalah layer ke 4 dari TCP/IP. Layer ini berfungsi menyediakan akses kepada  aplikasi terhadap layanan jaringan. Layer ini merupakan gabungan dari 3 layer OSI yaitu application, presentation dan session. 

Protocol yang bekerja pada layer ini diantaranya Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hyper Text Transfer Protocol (HTTP), File Transfer Protocol (FTP).

Transport Layer


Transport Layer adalah layer yang berfungsi menyediakan servis yang akan digunakan oleh Application Layer. Mendefinisikan cara-cara untuk melakukan pengiriman data antara end to end host. Lapisan ini menjamin bahwa informasi yang diterima oleh penerima adalah sama dengan informasi yang dikirim oleh pengirim. 

Mempunyai 2 protokol utama yaitu TCP dan UDP.

Internet Layer


Internet Layer adalah layer yang berfungsi sebagai penyedia fungsi pengalamatan IP, routing, dan menentukan path terbaik. Pada jaringan internet, lapisan ini bertugas untuk memastikan agar semua paket data yang dikirimkan dapat sampai di tujuannya masing-masing.

Internet Layer memiliki 1 protokol yaitu TCP/IP. Contoh protocol yang bekerja pada layer ini, Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP)

Network Access Layer


Network Access Layer adalah Layer yang berfungsi mendefinisikan protokol-protokol dan hardware-hardware yang digunakan dalam pengiriman data. Lapisan ini memberikan layanan dan koreksi terhadap kesalahan data yang ditransmisikan.

Teknologi yang bekerja dalam layer ini, Local Area Network, Metropolis Area Network dan Wide Area Network (Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)). 

Sejarah TCP/IP


Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) USA akan suatu komunikasi di antara berbagai variasi komputer yang telah ada. Komputer-komputer DoD ini seringkali harus menghubungkan antara satu organisasi peneliti dengan organisasi peneliti lainnya. Komputer tersebut harus tetap berhubungan karena terkait dengan pertahanan negara dan sumber informasi harus tetap berjalan meskipun terjadi bencana alam besar, seperti ledakan nuklir, dan lain sebagainya. Oleh karena itu pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Adapun tujuan-tujuan penelitian DoD adalah sebagai berikut :
  1. Terciptanya protokol-protokol umum, (DoD memerlukan suatu protokol yang dapat dipergunakan untuk semua jenis jaringan).
  2. Meningkatkan efisiensi komunikasi data.
  3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yang telah ada
  4. Mudah dikonfigurasikan.
Tahun 1968 DoD ARPAnet (Advanced Reseach Project Agency) memulai penelitian yang kemudian menjadi cikal bakal packet switching. Packet switching inilah yang memungkinkan komunikasi antara lapisan network, dimana data dijalankan dan disalurkan melalui jaringan dalam bentuk unit-unit kecil yang disebut packet. Tiap-tiap packet ini membawa informasi alamatnya masing-masing yang ditangani dengan khusus oleh jaringan tersebut dan tidak tergantung dengan paket-paket lain. Jaringan yang dikembangkan ini, yang menggunakan ARPAnet sebagai tulang punggungnya, menjadi terkenal sebagai internet.

Protokol-protokol TCP/IP dikembangkan lebih lanjut pada awal 1980 dan menjadi protokol standard untuk ARPAnet pada tahun 1983. Protokol-protokol ini mengalami peningkatan popularitas di komunitas pemakai ketika TCP/IP dapat di implementasikan dengan sangat baik pada versi 4.2 BSD (Berkeley Standard Distribution) UNIX. Versi ini digunakan secara luas pada institusi penelitian dan pendidikan serta digunakan sebagai dasar dari beberapa penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix dari Digital. 


TCP & UDP


TCP Protocol


TCP (Transmission Control Protocol) adalah salah satu jenis protokol yang memungkinkan komputer berkomunikasi dan bertukar data didalam suatu jaringan. Protokol TCP berada pada Transport Layer.

Berikut langkah-langkah pengiriman data pada protokol TCP:
  • Data akan dibagi dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith yang akan dikirim
  • Data yang telah dibagi kebagian kecil akan diberi header TCP yang berisikan alamat pengirim dan alamat tujuan
  • Setelah diberi header TCP data akan dikirim ke network layer
  • IP akan menerima dan menambahkan header pada data tersebut
  • Lalu IP akan mengarahkan data ke tujuannya
  • Komputer penerima akan mengecek data yang diterima
  • Jika terdapat ketidakcocokan maka komputer penerima akan mengirim permintaan untuk mengirim kembali data tersebut

Cara Pengiriman TCP Bekerja

Karakteristik TCP

TCP memiliki karakteristik sebagai berikut:
  • 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.

    TCP Segment

    Kelebihan TCP

    TCP memiliki kelebihan diantaranya:
    • 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.

    Three-Way Handshake

    3-way handshake adalah proses pembuatan koneksi TCP yang bertujuan melakukan sinkronisasi terhadap nomor urut yang dikirm host yang saling bertukar TCP. Berikut cara kerja Three-Way Handshake:
    1. Host pertama akan mengirimkan sebuah segmen TCP dengan flag SYN dan diaktifkan kepada host yang kedua.
    2. Host kedua akan meresponnya dengan mengirimkan segmen dengan acknowledgement dan juga SYN kepada host pertama.
    3. Host pertama selanjutnya akan mulai saling bertukar data dengan host kedua.

    Cara Kerja Three-Way Handshake

    TCP Flow Control

    TCP Flow Control adalah salah satu service dari TCP untuk mengatur perjalanan data dari transmitter ke receiver. TCP akan memastikan bahwa transmitter tidak akan membebani receiver dengan mengirim paket secara terus menerus. Receiver akan menerima data akan mengirimkan semacam pesan balik (Acknowledgment) kepada transmitter tentang kondisinya saat ini. Jika paket hilang karena adanya congest pada traffic network maka receiver akan mengirimkan pesan balik (Acknowledge) paket terakhir yang terakhir diterima berdasarkan sequencenya dengan windows size yang kecil.

    TCP Flow Control

    UDP Protocol


    UDP (User Datagram Protocol) merupakan salah sato protokol transport layer yang mendukung komunikasi yang unreliable, connectionless antara host-host dalam jaringan yang menggunakan TCP/IP.

    Berikut langkah-langkah pengiriman data pada protokol UDP:
    1. Paket berisi port client dan port sumber berbentuk file text dikirimkan ke server dalam UDP header
    2. Paket berisi port client dan port sumber berbentuk file audio dikirimkan ke server dalam UDP header
    3. UDP tujuan membaca nomor port tujuan dan memproses data
    4. Paket asli memiliki port tujuan sehingga server dapat mengirimkan data kembali ke ftp client
    5. Untuk point 3 dan 4 berulang lagi saat server menerima file audio dari client
    6. Saat aplikasi yang ingin mengirim data, UDP tidak akan mem-buffer atau mem-fragmen data
    7. Karena UDP tidak mem-fragmen data, jika data yang lebih besar dari MTU, lapisan IP yang harus mem-fragmennya
    Cara Kerja UDP

    Karakteristik UDP

    UDP memiliki karakteristik sebagai 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. HeaderUDP berisi field Source Process Identification dan Destination Process Identification.
    • UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.

    Kegunaan 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.

    Kelemahan UDP

    UDP memiliki kelemahan diantaranya:
    • 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.
    • UDP biasanya digunakan oleh aplikasi seperti: DNS ( Domain Name System ) , SNMP ( Simple Network Management Protocol ) , TFTP ( Trivial File Transfer Protocol ) dan SunRPC .

    Port Number Pada TCP dan UDP


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

    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.

    TCP & UDP Port Number

    Semoga artikel ini bermanfaat ya. Jangan lupa cantumkan sumbernya jika teman teman ini menyalin artikel ini.

    0 comments:

    Post a Comment