Konsep Referensi TCP/IP
1. Definisi TCP/IP
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.
Menurut wikipedia, TCP/IP 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
Dalam hal ini TCP bertugas menerima pesan elektronik dengan panjang sembarang dan membaginya ke dalam bagian-bagian berukuran 64K. Dengan membagi pesan menjadi bagian-bagian, maka perangkat lunak yang mengontrol komunikasi jaringan dapat mengirim tiap bagian dan menyerahkan prosedur pemeriksaan bagian demi bagian. Apabila suatu bagian mengalami kerusakan selama transmisi, maka program pengirim hanya perlu mengulang transmisi bagian itu dan tidak perlu mengulang dari awal.
Sedangkan IP mengambil bagian – bagian, memeriksa ketepatan bagian-bagian, pengalamatan ke sasaran yang dituju dan memastikan apakah bagian-bagian tersebut sudah dikirm sesuai dengan urutan yang benar. IP memiliki informasi tentang berbagai sekema pengalamatan yang berbeda-beda.
Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi.
2. Perbedaan Model Referensi TCP/IP dan OSI
Model OSI dan model referensi TCP/IP memiliki banyak kesamaan. Keduanya didasarkan pada konsep stack protokol independen. Selain itu, fungsi dari layer-layer yang terdapat di dalamnya juga hampir sama. Misalnya, dalam kedua model tersebut terdapat Transport Layer yang berfungsi untuk memberikan layanan transport network-independent end-to-end untuk memproses komunikasi data. Sehingga layer ini membentuk transport provider.
Pada model TCP/IP, protokol-protokol yang ada tidak dedesain secara kaku seperti layer-layer pada model OSI. Pada TCP/IP terdapat 4 layer fungsional yang merupakan turunan dari area operasi protokol pada layer-layer tersebut, yaitu area software application, koneksi transport end-to-end, internetworking, dan direct links menuju node lain pada local network.
Walaupun secara konsep berbeda dari model OSI, layer-layer ini dapat dibandingkan dengan skema layering berikut:
Internet Application Layer | : | OSI Application Layer, Presentation Layer, sebagian Session Layer |
Transport Layer | : | Sebagian Session Layer, Transport Layer |
Internet (Internetworking Layer) | : | Sebagian Network Layer |
Link Layer | : | Data Link layer, Physical Layer, sebagian Network Layer |
Pembandingan ini berdasarkan pada 7-layer protocol model yang didefinisikan pada ISO 7498.
Meskipun memiliki kemiripan yang fundamental, kedua model tersebut juga memiliki banyak perbedaan. Pada bagian ini kita akan fokus pada perbedaan utama antara dua model referensi tersebut.
Meskipun memiliki kemiripan yang fundamental, kedua model tersebut juga memiliki banyak perbedaan. Pada bagian ini kita akan fokus pada perbedaan utama antara dua model referensi tersebut.
Konsep utama pada model OSI adalah:
a. Services (layanan)
b. Interfaces (antarmuka)
c. Protocols (protokol)
Kontribusi terbesar dari model OSI adalah untuk membuat perbedaan eksplisit antara ketiga konsep tersebut. Setiap layer melakukan beberapa layanan untuk layer di atasnya. Konsep dari layanan adalah menyebutkan apa yang dilakukan oleh layer, bukan bagaimana entitas di atasnya mengakses layer tersebut atau bagaimana layer bekerja. Hal ini mendefinisikan semantik dari layer tersebut.
Antarmuka layer mengatakan kepada proses di atasnya bagaimana cara untuk mengaksesnya. Ini menentukan apa saja parameternya dan apa saja hasil yang diharapkan.
Dan yang terakhir, peer protokol yang digunakan pada sebuah layer adalah bagian layer itu sendiri. Layer dapat menggunakan semua protokol yang diperlukannya, asalkan tugas yang dibebankan padanya selesai. Walaupun layer ini berubah, namun software pada layer diatasnya tidak akan terpengaruh.
Ide-ide ini sangat baik dan sesuai dengan ide-ide modern tentang pemrograman berorientasi objek. Sebuah objek, seperti layer, memiliki seperangkat metode (operasi) bahwa proses luar objek bisa memanggil objek tersebut. Semantik dari metode ini mendefinisikan set layanan yang ditawarkan objek. Parameter metode dan hasil bentuk antarmuka objek. Kode internal untuk objek adalah protokolnya, dan tidak terlihat dari berbagai kepentingan di luar objek tersebut.
Model TCP/IP tidak jelas membedakan antara layanan, antarmuka, dan protokol. Sebagai contoh, layanan nyata yang ditawarkan oleh Internet Layer hanya SEND IP PACKET dan RECEIVE IP PACKET.
Sebagai konsekuensinya, protokol dalam model OSI lebih tersembunyi secara baik daripada di model TCP/IP dan relatif lebih mudah diganti ketika perubahan teknologi terjadi. Mampu membuat perubahan tersebut merupakan salah satu tujuan utama dari protokol berlapis di tempat pertama.
Model referensi OSI telah dibuat sebelum protokol-protokol yang ada sekarang diciptakan. Layer Data Link awalnya hanya berurusan dengan jaringan point-to-point. Ketika jaringan broadcast muncul, sebuah sublayer baru harus dimasukkan ke model. Ketika orang mulai membangun jaringan nyata dengan menggunakan model OSI dan protokol yang sudah ada, ditemukan bahwa jaringan-jaringan tersebut tidak sesuai dengan spesifikasi layanan yang diperlukan , sehingga sublayers yang konvergen harus dijejalkan ke model.
Dengan TCP/IP, hal yang sebaliknya terjadi: protokol diutamakan, dan model hanya menjadi deskripsi protokol yang ada. Tidak ada masalah ketika protokol harus disesuaikan dengan model. Keduanya sesuai dengan sempurna. Satu-satunya masalah adalah bahwa model tersebut tidak cocok dengan stack protokol lain.
Selain perbedaan filosofis yang spesifik, perbedaan jelas antara kedua model adalah jumlah layer: model OSI memiliki tujuh layer dan TCP / IP memiliki empat layer. Keduanya memiliki (inter) network, transport, dan application layer, tetapi layer lainnya berbeda.
Perbedaan lainnya adalah di pada area komunikasi connectionless dengan connection-oriented. Model OSI mendukung komunikasi connectionless dan connection-oriented pada network layer, tetapi pada transport layer hanya mendukung komunikasi connection-oriented. model TCP/IP hanya memiliki satu mode di network layer (connectionless) namun mendukung kedua mode pada transport layer.
3. Arsitektur 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 mendefinisikan berbagai cara agar TCP/IP dapat saling menyesuaikan.
Karena TCP/IP merupakan salah satu lapisan protokol OSI (Open System Inter-connections), berarti bahwa hierarki TCP/IP merujuk kepada 7 lapisan OSI tersebut. Berikut adalah model referensi OSI 7 lapisan, yang mana setiap lapisan menyediakan tipe khusus pelayanan jaringan :
Tiga lapisan teratas biasa dikenal sebagai “upper lever 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 sebe-lumnya. Sebuah lapisan di pengirim hanya perlu berhubungan dengan lapisan yang sama di penerima (jadi misalnya lapisan data link penerima hanya berhubungan dengan data link pengirim) selain dengan satu layer di atas atau dibawahnya (misalnya lapisan network berhubungan dengan lapisan transport diatasnya atau dengan lapisan data link diba-wahnya).
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 lapisan 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.
Walaupun rumit tetapi fungsi tiap lapisan dapat dibuat dalam bentuk modul sehingga kerumitan dapat ditanggulangi dengan mudah. Disini kita tidak akan membahas model OSI secara mendalam secara keseluruhannya, karena protokol TCP/IP tidak mengikuti benar model referensi OSI tersebut. Walaupun demikian, TCP/IP model akan terlihat seperti ini :
Keterangan keempat lapisan tersebut adalah sebagai berikut :
a. Network Access
Lapisan ini hanya menggambarkan bagaimana data dikodekan menjadi sinyal-sinyal dan karakteristik antarmuka tambahan media. Dengan demikian lapisan ini bertanggung jawab menerima dan mengirim data dan dari media fisik. Media fisiknya dapat berupa kabel, serat optik, atau gelombang radio. Karena tugasnya ini, protokol yang ada di layer ini harus mampu menerjemahkan sinyal listrik menjadi data digital yang dapat dimengerti oleh komputer, yang berasal dari peralatan lain yang sejenis.
Lapisan ini hanya menggambarkan bagaimana data dikodekan menjadi sinyal-sinyal dan karakteristik antarmuka tambahan media. Dengan demikian lapisan ini bertanggung jawab menerima dan mengirim data dan dari media fisik. Media fisiknya dapat berupa kabel, serat optik, atau gelombang radio. Karena tugasnya ini, protokol yang ada di layer ini harus mampu menerjemahkan sinyal listrik menjadi data digital yang dapat dimengerti oleh komputer, yang berasal dari peralatan lain yang sejenis.
b. Internet layer/ network layer
Protokol yang berada di layer ini bertanggung jawab dalam proses pengiriman paket ke alamat yang tepat. Pada layer ini terdapat tiga macam protokol, yaitu IP, ARP (Addres Resolution Protocol), dan ICMP (Internet Control Message Protocol).
Untuk mengirimkan pesan pada suatu internetwork (suatu jaringan yang mengandung beberapa segmen jaringan), tiap jaringan harus secara unik diidentifikasi oleh alamat jaringan. Ketika jaringan menerima suatu pesan dari lapisan yang lebih atas, lapisan network akan menambahkan header pada pesan yang termasuk alamat asal dan tujuan jaringan. Kombinasi dari data dan lapisan network disebut “paket”. Informasi alamat jaringan digunakan untuk mengirimkan pesan ke jaringan yang benar, setelah pesan tersebut sampai pada jaringan yang benar, lapisan data link dapat menggunakan alamat node untuk mengirimkan pesan ke node tertentu.meneruskan paket ke jaringan yang benar disebut “routing” dan peralatan yang meneruskan paket adalah “routers”. Suatu antar jaringan mempunyai dua tipe node :
>> “End nodes”, menyediakan pelayanan kepada pemakai. End nodes menggunakan lapisan network utk menambah informasi alamat jaringan kepada paket, tetapi tidak melakukan routing. End nodes kadang-kadang disebut “end system” (istilah OSI) atau “host” (istilah TCP/IP)
>> Router memasukan mekanisme khusus untuk melakukan routing. Karena routing merupakan tugas yang kompleks, router biasanya merupakan peralatan tersendiri yang tidak menyediakan pelayanan kepada pengguna akhir. Router kadang-kadang disebut “intermediate system” (istilah OSI) atau “gateway” (istilah TCP/IP).
c. Transport layer /host to host
Layer ini berisi protokol yang bertanggung jawab untuk mengadakan komunikasi antara dua host/komputer. Protokol tersebut adalah TCP dan UDP (User Datagram Protocol),. Disamping itu, salah satu tanggung jawab lapisan ini adalah membagi pesan-pesan menjadi fragment-fragment yang cocok dengan pembatasan ukuran yang dibentuk oleh jaringan. Pada sisi penerima, lapisan transport menggabungkan kembali fragment untuk mengembalikan pesan aslinya, sehingga dapat diketahui bahwa lapisan transport memerlukan proses khusus pada satu komputer ke proses yang bersesuaian pada komputer tujuan. Hal ini dikenal sebagai Service Access Point (SAP) ID kepada setiap paket (berlaku pada model OSI, istilah TCP/IP untuk SAP ini disebut port *).
Layer ini berisi protokol yang bertanggung jawab untuk mengadakan komunikasi antara dua host/komputer. Protokol tersebut adalah TCP dan UDP (User Datagram Protocol),. Disamping itu, salah satu tanggung jawab lapisan ini adalah membagi pesan-pesan menjadi fragment-fragment yang cocok dengan pembatasan ukuran yang dibentuk oleh jaringan. Pada sisi penerima, lapisan transport menggabungkan kembali fragment untuk mengembalikan pesan aslinya, sehingga dapat diketahui bahwa lapisan transport memerlukan proses khusus pada satu komputer ke proses yang bersesuaian pada komputer tujuan. Hal ini dikenal sebagai Service Access Point (SAP) ID kepada setiap paket (berlaku pada model OSI, istilah TCP/IP untuk SAP ini disebut port *).
Karena proses lapisan atas (application layer) memiliki kebutuhan yang bervariasi, terdapat dua protokol lapisan transport /host to host, TCP dan UDP. TCP adalah protokol yang handal. Protokol ini berusaha secara seksama untuk mengirimkan data ke tujuan, memeriksa kesalahan, mengirimkan data ulang bila diperlukan dan mengirimkan error ke lapisan ats hanya bila TCP tidak berhasil mengadakan komunikasi. Tetapi perlu dicatat bahwa kehandalan TCP tercapai dengan mengorbankan bandwidth jaringan yang besar.
UDP (User Datagram Protocol) disisi lain adalah protokol yang tidak handal. Protokol ini hanya “semampunya” saja mengirimkan data. UDP tidak akan berusaha untuk mengembalikan datagram yang hilang dan proses pada lapisan atas harus bertanggung jawab untuk mendeteksi data yang hilang atau rusak dan mengirimkan ulang data tersebut bila dibutuhkan.
d. Application layer
Lapisan inilah biasa disebut lapisan akhir (front end) atau bisa disebut user program. Lapisan inilah yang menjadi alasan keberadaan lapisan sebelumnya. Lapisan sebelumnya hanya bertugas mengirimkan pesan yang ditujukan utk lapisan ini. Di lapisan ini dapat ditemukan program yang menyediakan pelayanan jaringan, seperti mail server (email program), file transfer server (FTP program), remote terminal.
4. IP Address
IP address digunakan sebagai alamat dalam hubungan antar host di internet sehingga merupakan sebuah sistem komunikasi yang universal karena merupakan metode pengalamatan yang telah diterima di seluruh dunia. Dengan menentukan IP address berarti kita telah memberikan identitas yang universal bagi setiap interadce komputer. Jika suatu komputer memiliki lebih dari satu interface (misalkan menggunakan dua ethernet) maka kita harus memberi dua IP address untuk komputer tersebut masing-masing untuk setiap interfacenya.
Format Penulisan IP Address
IP address terdiri dari bilangan biner 32 bit yang dipisahkan oleh tanda titik setiap 8 bitnya. Tiap 8 bit ini disebut sebagai oktet. Bentuk IP address dapat dituliskan sebagai berikut :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Jadi IP address ini mempunyai range dari 00000000.00000000.00000000.00000000 sampai 11111111.11111111.11111111.11111111.
Notasi IP address dengan bilangan biner seperti ini susah untuk digunakan, sehingga sering ditulis dalam 4 bilangan desimal yang masing-masing dipisahkan oleh 4 buah titik yang lebih dikenal dengan “notasi desimal bertitik”. Setiap bilangan desimal merupakan nilai dari satu oktet IP address. Contoh hubungan suatu IP address dalam format biner dan desimal :
Pembagian Kelas IP Address
Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.
Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.
IP Address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID) dan bagian host (host ID).
Net ID berperan dalam identifikasi suatu network dari network yang lain, sedangkan host ID berperan untuk identifikasi host dalam suatu network. Jadi, seluruh host yang tersambung dalam jaringan yang sama memiliki net ID yang sama. Sebagian dari bit-bit bagian awal dari IP Address merupakan network bit/network number, sedangkan sisanya untuk host. Garis pemisah antara bagian network dan host tidak tetap, bergantung kepada kelas network.
IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C, kelas D dan kelas E. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya.
Contohnya IP kelas A dipakai oleh sedikit jaringan namun jumlah host yang dapat ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keprluan eksperimental. Perangkat lunak Internet Protocol menentukan pembagian jenis kelas ini dengan menguji beberapa bit pertama dari IP Address. Penentuan kelas ini dilakukan dengan cara berikut :
Kelas A
Bit pertama IP address kelas A adalah 0, dengan panjang net ID 8 bit dan panjang host ID 24 bit. Jadi byte pertama IP address kelas A mempunyai range dari 0-127. Jadi pada kelas A terdapat 127 network dengan tiap network dapat menampung sekitar 16 juta host (255x255x255). IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar, IP kelas ini dapat dilukiskan pada gambar berikut ini:
Kelas B
Dua bit IP address kelas B selalu diset 10 sehingga byte pertamanya selalu bernilai antara 128-191. Network ID adalah 16 bit pertama dan 16 bit sisanya adalah host ID sehingga kalau ada komputer mempunyai IP address 192.168.26.161, network ID = 192.168 dan host ID = 26.161. Pada IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, yakni berjumlah 65.255 network dengan jumlah host tiap network 255x255 host atau sekitar 65 ribu host.
Dua bit IP address kelas B selalu diset 10 sehingga byte pertamanya selalu bernilai antara 128-191. Network ID adalah 16 bit pertama dan 16 bit sisanya adalah host ID sehingga kalau ada komputer mempunyai IP address 192.168.26.161, network ID = 192.168 dan host ID = 26.161. Pada IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, yakni berjumlah 65.255 network dengan jumlah host tiap network 255x255 host atau sekitar 65 ribu host.
Kelas C
IP address kelas C mulanya digunakan untuk jaringan berukuran kecil seperti LAN. Tiga bit pertama IP address kelas C selalu diset 111. Network ID terdiri dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta network dengan masing-masing network memiliki 256 host.
IP address kelas C mulanya digunakan untuk jaringan berukuran kecil seperti LAN. Tiga bit pertama IP address kelas C selalu diset 111. Network ID terdiri dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta network dengan masing-masing network memiliki 256 host.
Kelas D
IP address kelas D digunakan untuk keperluan multicasting. 4 bit pertama IP address kelas D selalu diset 1110 sehingga byte pertamanya berkisar antara 224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah network ID dan host ID.
IP address kelas D digunakan untuk keperluan multicasting. 4 bit pertama IP address kelas D selalu diset 1110 sehingga byte pertamanya berkisar antara 224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah network ID dan host ID.
Kelas E
IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara 248-255.
IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara 248-255.
Sebagai tambahan dikenal juga istilah Network Prefix, yang digunakan untuk IP address yang menunjuk bagian jaringan.Penulisan network prefix adalah dengan tanda slash “/” yang diikuti angka yang menunjukkan panjang network prefix ini dalam bit. Misal untuk menunjuk satu network kelas B 192.168.xxx.xxx digunakan penulisan 192.168/16. Angka 16 ini merupakan panjang bit untuk network prefix kelas B.
Daftar Pustaka :