src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2' type='text/javascript'/>

Acc.Net

Tempatnya berbagi informasi seputar TKJ

LightBlog
SELAMAT DATANG DI BLOGGER SAYA || JANGAN LUPA SHARE DAN KOMEN JIKA MENURUTMU BERMANFAAT

Jumat, 26 Oktober 2018

APA ITU TCP/IP


ASALAMULAIKUM WR WB

1. PENDAHULUAN

Hai saya vito rahman hakim kali ini saya akan mengeshare tentang apasih TCP/IP itu

2. Latar Belakang

Pengertian TCP/IP adalah sebuah perangkat lunak jaringan komputer yang terdapat dalam satu sistem dan memungkinkan komputer satu dengan komputer lain dapat mentransfer data dalam satu grup network/jaringan. TCP singkatan dari Transmission Control Protocol dan IP singkatan dari Internet Protocol.

3. Maksud Dan Tujuan                          

Ingin membagikan pengetahuan tentang apa itu TCP/IP

Penjelasan TCP/IP Serta Enkapsulasinya

Sedikit Sejarah Tentang OSI dan TCP/IP

Sekedar mengingatkan, ini adalah Bab 2 dari materi networking model. Jika kamu belum paham mengenai networking model secara keseluruhan, saya sarankan untuk memahami bab sebelumnya terlebih dahulu.

Dulu, belum ada networking model, termasuk TCP/IP. Setiap vendor membuat standar proprietary mereka sendiri, misalnya IBM dengan networking modelnya yang dikenal dengan Systems Network Architecture (SNA) di tahun 1974.

Begitu juga vendor yang lain. Bisa dikatakan, mereka saling bersaing menciptakan networking model terbaik agar yang lain menggunakannya.

Tentu ini keadaan yang buruk. Sehingga International Organization for Standardization (ISO) mengambil peran untuk mengatasi hal ini, dengan membuat standar yang kita kenal dengan OSI.

Disamping itu, ada juga organisasi lain yang mengembangkan standar dengan tujuan yang sama dan dengan arsitektur yang mirip-mirip, yaitu Department of Defense (DoD). Model ini kita kenal dengan TCP/IP atau kadang disebut dengan Dod Model.

TCP/IP Sebagai Networking Model Saat Ini

Sejarah antara TCP/IP dan OSI sebenarnya sangat panjang. Saya juga sedang mempelajarinya dan masih bingung, misalnya dengan pertanyaan “yang mana pertama kali ada, TCP/IP atau OSI?”

Kamu bisa memberikan komentar dibawah jika mengetahui tentang ini.

Sehingga perbandingan TCP/IP dan OSI secara mendalam tidak kita bahas saat ini, tapi berikut ini bisa kamu jadikan referensi:

    • Online: TCP/IP Guide

    • Buku: Computer Networking – Kurose Ross atau Computer Network – Andrew S Tanenbaum

    • atau yang menjelaskan sejarah dan perbandingan antara OSI dan TCP/IP secara lebih rinci: Open Systems Networking – Piscitello and Chapin

Manfaat Adanya TCP/IP

Saya sudah menjelaskan manfaat networking model secara umum di materi sebelumnya. Kali ini kita akan fokus ke TCP/IP.

Karena networking model yang digunakan sekarang adalah TCP/IP, maka produk-produk internet sekarang sudah mengadopsi TCP/IP.

Contohnya, jika saat ini kamu membeli sebuah flash drive, maka flash drive tersebut sudah menerapkan TCP/IP. Ini artinya kamu bisa mengunakannya di laptop, komputer, di semua perangkat yang berbeda.

…atau misalnya. Saat kita ingin membangun sebuah infrastruktur yang baru.

Sebelum ada TCP/IP, kita harus membeli perangkat yang satu merk, dari router, switch, firewall, server, semuanya.

Sekarang, tidak lagi.

Karena vendor saat ini bisa saja unggul di perangkat router, namun tidak begitu dengan firewall. Misalnya kita ingin menggunakan router dan switch cisco, namun lebih memilih menggunakan Palo Alto firewall.

Tidak masalah. Kita bisa mengimplementasikan routing protocol, link aggregation, dll tanpa ada kendala kompatibilitas. Karena semuanya sudah menggunakan TCP/IP.

Beberapa Hal yang ‘Mungkin’ Menjadi Penyebab Dipilihnya TCP/IP Menjadi Standar Networking Model

Bagi beberapa orang, termasuk saya, mengetahui TCP/IP adalah standar networking model yang dipilih adalah hal yang menarik.

Faktanya, OSI yang sekarang cenderung lebih familiar untuk sebagian dari kita, sebenarnya tidak pernah menjadi standar networking model. Aneh ya?

Sebaliknya, yang digunakan adalah TCP/IP. Ini beberapa penyebabnya:

    • OSI bersifat lebih formal, lambat pengembangannya, karena dilakukan oleh orang-orang tertentu saja.

    • TCP/IP dikembangkan oleh voluntir-voluntir seluruh dunia, tentu keadaannya berbalik dibanding OSI

TCP/IP Layer

Seperti penjelasan saya diatas, begitu banyak protokol yang didefinisikan di RFC, kamu bisa membukanya di laman https://www.ietf.org/rfc.html.

Tapi tidak semua protocol didefinisikan di RFC. Hal ini tidak berlaku untuk protocol yang sudah exist deluan.

Contohnya Ethernet LAN.

Ethernet LAN sudah didefinisikan oleh IEEE (Institute of Electrical and Electronic Engineers (IEEE), maka TCP/IP tidak lagi mendefinisikannya di RFC, melainkan merujuknya ke IEEE.

Tapi..

Tetap saja kan, banyak, kompleks.

Ini beberapa contoh protocol yang mainstream: HTTP, TCP, UDP, OSPF, EIGRP, BGP, OSPF, IPv4, RIP, dan masih banyak lagi.

Itu semua akan membuat kita pusing.

Ini berarti, bukan cara yang baik untuk memahami TCP/IP dimulai dengan protocolnya.

Nah, ada cara yang lebih mudah untuk memahami TCP/IP.

Disinilah fungsi lapisan, atau yang kita kenal sebagai layer.


TCP/IP sekarang sudah memiliki  5 layer, perbedaannya terletak pada pembagian layer 1 (link) TCP/IP original menjadi Data Link dan Physical di TCP/IP updated.

Tapi untuk saat ini, anggap saja kita mengacu TCP/IP layer original dengan 4 layer.

Studi Kasus TCP/IP
Dengan adanya lapisan TCP/IP ini, protocol yang banyak tadi akan dikategorikan berdasarkan fungsinya.

Ada yang di layer 1, layer 2, layer 3, dan layer 4. Sehingga kita lebih mudah memahaminya.

Jadi seperti ini:



#1. TCP/IP Application Layer
Fungsi application layer hanya menyediakan layanan terhadap aplikasi yang berjalan di komputer. Ingat, hanya layanannya, bukan aplikasinya.
Misalnya, application protocol FTP adalah Filezilla.
… atau application protocol HTTP adalah web browser, yang paling kita kenal saat ini. Meskipun faktanya browser tidak hanya bisa dilakukan dengan aplikasi seperti itu, bisa juga dengan terminal misalnya di linux.
Nah tugas application layer disini adalah untuk mendefinisikan bagaimana sebuah browser bisa mengambil konten dari sebuah web server hingga akhirnya tampil di web browser.
Berikut penjelasan mekanisme HTTP lebih detil.
Proses Komunikasi HTTP Secara Umum
Bayangkan seseorang membuka web browser dan mengakses suatu web. Proses sederhananya kira-kira akan seperti ini.


Misalnya saat kamu membuka situs ini, kamu akan mendapatkan laman dari https://ngonfig.net yang merupakan homepagenya.

Mengenai https atau Hypertext Transfer Protocol Secure merupakan versi secure dari HTTP, karena menggunakan SSL atau Secure Socket Layer.  Kadang disebut juga sebagai SHTTP atau S-HTTP.

Tujuannya agar komunikasi terjadi dengan aman karena data yang terkirim akan terenkripsi. Ini penting terutama pada situs-situs jual beli dimana pengguna menginputkan data confidential seperti credit card.

Mekanisme HTTP
Diatas itu contoh yang paling sederhana atau kita sebut basic logic proses HTTP. Secara teknis tidak seperti itu.

Di pertengahan 1990, Barner Lee menciptakan HTTP, web browser dan web server. HTTP disini memberikan kemampuan ke web browser untuk meminta isi konten dari web server.

Begitu juga dengan web server, dengan HTTP dia bisa memberikan isi konten yang diminta oleh client.

Prosesnya seperti ini:


Protocol menggunakan header untuk menyimpan informasi. Dari mekanisme HTTP diatas kita bisa melihat 3 proses yang terjadi saat client merequest laman web dari server.    1. GET Header: Anggap client mengakses https://ngonfig.net, berarti server akan mengirimkan homepagenya. Begitu juga jika mengakses URL spesifik.    2. GET Reply: server menanggapi header dari client, dan membalasnya terlebih dahulu dengan HTTP Header “OK” dilanjutkan mengirim sebagian isi homepage. Ini jika berhasil, maka headernya akan bernilai “200”, selain itu misalnya “404” yang kita kenal dengan not found.    3. HTTP Data: karena komunikasi sudah terinisialisasi, maka server tetap lanjut mengirim isi konten home.html, lebih efektif daripada mengirimkan header berulang-ulang.Jika kita melihat proses dari application layer, maka sekilas prosesnya selesai dan sederhana. Padahal ada sekian proses lagi yang terjadi, yaitu di layer-layer bawahnya.Materi ini masih panjang, so let’s keep reading 

#2. TCP/IP Transport LayerTransport layer di TCP/IP disebut juga sebagai Host-to-Host, fungsinya untuk membangun koneksi antar host. Misal antara komputer satu dengan yang lain, client dengan server.Ada banyak protocol yang berada di tranport layer, tapi yang paling kita kenal secara umum yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol).Kembali ke proses HTTP diatas, kita mengakses situs web tentunya menginginkan data yang reliable.Reliable seperti apa maksudnya?Faktanya, pengiriman data dari satu komputer ke komputer lain itu prosesnya cukup kompleks, dan banyak prosedurnya. Ada beberapa faktor yang menyebabkan data gagal terkirim.Bayangkan saat ini kamu membaca situs ini dengan jaringan yang sering terganggu, sehingga menyebabkan ada paragraf yang hilang, ada judul yang hanya setengah, atau huruf kata-kata yang hilang ditengah paragraf.Buruk kan?Disinilah dibutuhkan TCP.Transmission Control ProtocolSampai disini kita setuju bahwa komunikasi HTTP diatas  berjalan dengan menggunakan TCP.  Artinya HTTP membutuhkan jaminan agar data-data bisa dikirim secara sempurna.Ketika data ada yang gagal terkirim, si penerima harus sadar bahwa hal itu terjadi, dan meminta pengiriman ulang.Caranya seperti ini: TCP memecah data-data tersebut (segment) lalu mengirimkannya berdasarkan Sequence number (SEQ).TCP juga memiliki banyak fungsi, tapi fokus kita hanya pada satu fungsi utama yang paling dikenal, yaitu TCP Error Recovery.
Seperti ini prosesnya:    1. Server sedang mengirim segment-segment dengan beberapa sequence number client.    2. Namun pada seq 2, segment gagal terkirim.    3. Setelah client menerima semua data, ternyata ada yang lost. Maka client meminta server untuk mengirimkan kembali segment yang lost pada seq 2.Begitulah proses TCP error recovery.Sebelum kita lanjut, sebenarnya ada hal lain yang terjadi sebelum sampai pada proses ini. Yaitu pembentukan koneksi.Three-Way Handshake TCPJangan berfikir bahwa ketika kamu menginputkan alamat situs ini dibrowser, laptop yang kamu gunakan akan langsung menerima konten situs ini. Tidak.Saat client menginputkan alamat url di web browser, maka client melakukan request ke server untuk membentuk koneksi, disebut establishing connection. Inilah kenapa komunikasi TCP disebut connection oriented.Pembentukan koneksi ini akan membentuk sebuah virtual link. Jalur virtual yang digunakan untuk pengiriman segment.
Dengan kata lain, pengirim dan penerima melakukan persetujuan dulu untuk melakukan transmisi. Setelah keduanya setuju, maka dilakukan pembentukan koneksi, dilanjutkan dengan pengiriman data.Dalam proses pengiriman data inilah dibutuhkan TCP Error Recovery yang sudah saya jelaskan diatas.Jadi alurnya: Pembentukan Koneksi –> Pengiriman Data (dengan error recovery).User Datagram Protocol (UDP)Pertanyannya, apakah semua host-to-host menggunakan TCP?Tidak selalu. Karena tidak semua komunikasi membutuhkan pengiriman data yang reliable. Contohnya: komunikasi suara.“Saat kita menelfon, adalah hal biasa kalau suara kita tidak sampai ke lawan bicara karena gangguan koneksi. Bayangkan jika beberapa detik kemudian, suara tersebut sampai ke lawan bicara.”Tentunya ini mengganggu bukan?Jadi ada pertimbangan kenapa menggunakan UDP dibanding TCP:    • Butuh komunikasi yang cepat    • Tidak perlu membentuk koneksi terlebih dahulu    • Tidak butuh error recoverySemua diatas adalah kebalikan kriteria TCP.Kita kembali ke studi kasus. Apa yang sebenarnya terjadi ketika client menginputkan alamat URL di browser? Apakah langsung terjadi koneksi TCP, lalu pengiriman data HTTP?Jawabannya, tidak.Ternyata masih ada satu proses lagi.URL yang diinput misalnya: https://ngonfig.net, ini adalah domain. Komputer tidak bisa mengenali nama ini. Maka untuk mengenalinya dibutuhkan DNS atau Domain Name System.Domain Name System adalah sebuah protocol yang digunakan untuk menerjemahkan alamat domain (contoh: ngonfig.net) menjadi alamat IP.
DNS server sudah memiliki sejumlah daftar domain-domain beserta alamat IP nya.Jika suatu saat ada yang menanyakan, maka dia tinggal mengirimkan, dan tanpa ada proses untuk memastikan pesan tersebut diterima oleh client. Juga tidak ada pembentukan koneksi sebelum data tersebut dikirimkan.Sampai disini saya harap kamu sudah memahami perbedaan antara TCP dengan UDP.Nah, setelah alamat IP nya diketahui oleh client, maka client melakukan request koneksi ke IP tersebut.Jadi pada proses-proses yang telah saya jelaskan diatas, komunikasinya tidak lagi diarahkan ke alamat domain, melainkan alamat IP.Rangkuman alurnya: Input URL –> Menanyakan alamat IP dari sebuah domain –> Melakukan request koneksi ke IP yang sudah didapat –> Melakukan pengiriman data.Alamat IP ini yang akan kita bahas pada network layer dibawah.Note: VoIP tidak sepenuhnya UDP, tapi juga menggunakan RTP untuk sequencing. DNS juga membutuhkan TCP apabila besar data melebihi tampungan UDP.

3. TCP/IP Internet LayerOh ya, semakin kebawah, pembahasan kita berarti semakin spesifik. Dari protocol yang banyak di application layer, menjadi semakin kerucut kebawah, hingga ke nilai-nilai bits di fisik.Dibawah akan saya berikan gambarannya.Sekarang kita bahas layer 3, atau sering disebut dengan Network Layer.Di layer network atau internet layer juga terdapat banyak protocol. Tapi, satu-satunya, yang paling dikenal dan digunakan saat ini, yakni: IP atau Internet Protocol.Disini saya tidak akan menjabarkan jenis-jenis IP address, kelasnya, apa itu network, dan apa itu host.Melainkan kita hanya akan membahas konsepnya saja.Analogi Internet Protokol dan Kantor PosBayangkan saat ini kamu ingin mengirimkan surat ke 2 tujuan yang berbeda, lokal dan internasional, yaitu Jakarta dan Singapore.… yang perlu kamu lakukan hanyalah menulis alamat tujuan dari surat tersebut dan meletakkannya di kotak pos atau bisa langsung mengantarkannya ke kantor pos.Kita tidak perlu memikirkan dan tidak perlu mengatur bagaimana dan jalur mana yang harus ditempuh oleh pengantar surat agar sampai tujuan.Betul bukan?
Kita ketahui, kantor pos memiliki banyak cabang di setiap kota dan setiap daerah-daerah yang sering terjadi pengiriman.Seperti gambar, ternyata jalur yang ditempuh oleh kedua surat itu berbeda.Karena, yang pertama: surat yang tadi dikirimkan akan dibedakan alamat tujuannya.Lalu dipisahkan berdasarkan kantor yang terdekat, disana juga dilakukan pemisahan berdasarkan tujuan pengiriman masing-masing. Ada yang harus dikirim terlebih dahulu ke kantor daerah, ada yang langsung dikirim ke alamat tujuan.Lalu, apa kaitannya dengan IP?Ingat saya katakan terhadap dua surat tersebut, ada yang dikirimkan ke kantor terlebih dahulu, ada yang langsung dikirim ke tujuan?Ini karena di kantor pos sudah ada daftar alamat-alamat dan rute nya. Maka tak mungkin surat tersebut sampai jika kita tidak menyertakan alamatnya.Pembagian alamat ini, kita bedakan menjadi 2:    • Network address: misalnya, daerah Jakarta. Ini bisa dianggap seperti kode pos.    • Host address: ternyata ada Jakarta Barat, Jakarta Timur, dan seterusnya. Ini bisa dianggap seperti alamat detil pengiriman, contohnya nomor rumah.Konsep Dasar IP AddressSetelah memahami analoginya, kita lanjut ke studi kasus. Kali ini saya membedakan DNS server dengan HTTP server.







Ingat baik-baik analoginya tadi, Internet Protocol mendefinisikan dua hal di IP Address. Perhatikan gambar diatas:
    1. Setiap IP yang dimiliki oleh host harus unik, 2.2.2.2, 3.3.3.3, dan 1.1.1.1
    2. Selain itu, IP address ini juga harus bisa dikelompokkan, contohnya 2.0.0.0, 3.0.0.0, dan 1.0.0.0
Maka jadinya seperti ini:
    • Client ingin mengetahui alamat IP dari domain https://ngonfig.net, maka mengirimkan query terlebih dahulu ke DNS Server, sampai di layer network, komunikasi IP terjadi antara 1.1.1.1 dengan 2.2.2.2 (DNS Server).
    • Setelah alamat IP didapat, client 1.1.1.1 membentuk koneksi TCP untuk proses pengiriman data HTTP ke server 3.3.3.3 (HTTP Server).
Nah router disitulah yang menentukan arah-arah tersebut. Ini ibaratkan kantor pos tadi. Kalau networknya berbeda, packet akan diteruskan ke router sebelahnya yang terhubung ke alamat tersebut.
Lebih jelasnya saya jelaskan dibawah.

REFERENSI
https://ngonfig.net/tcp-ip.html
http://www.ciscopress.com/articles/article.asp?p=1757634&seqNum=2

PENUTUP
Sekiranya ada yang kurang berkenan saya mohon maaf yang sebesar besarnya, sekian....


WASALAMULAIKUM WR WB













Tidak ada komentar:

Posting Komentar