A. TCP/IP
Protokol adalah sebuah aturan atau
standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua
atau lebih titik komputer. Protokol dapat diterapkan
pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan
yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol perlu diutamakan pada
penggunaan standar teknis, untuk menspesifikasi bagaimana membangun komputer
atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan
pada komunikasi real-time dimana standar digunakan untuk
mengatur struktur dari informasi untuk penyimpanan jangka panjang.
Sangat susah untuk menggeneralisir protokol
dikarenakan protokol memiliki banyak variasi di dalam tujuan penggunaanya.
Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut:
§
Melakukan
deteksi adanya koneksi fisik atau ada tidaknya komputer atau mesin lainnya.
§
Negosiasi
berbagai macam karakteristik hubungan.
§
Bagaimana
mengawali dan mengakhiri suatu pesan.
§
Bagaimana
format pesan yang digunakan.
§
Yang harus
dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
§
Mendeteksi rugi-rugi pada
hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya
§
Mengakhiri
suatu koneksi.
Untuk memudahkan memahami Protokol,
kita mesti mengerti Model OSI. Dalam Model OSI terdapat 7 layer
dimana masing-masing layer mempunyai jenis protokol sesuai dengan
peruntukannya.
Format Protokol
meliputi :
·
Format
informasi
·
Pewaktuan
(timing)
·
Urutan
(sequencing)
·
Kontrol
kesalahan (error control )
TCP/IP (singkatan dari Transmission Control
Protocol/Internet Protocol) adalah 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
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an
hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan
komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN).
TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap
mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di
mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang
disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus
juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet.
Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk
menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga
UNIX) untuk membentuk jaringan yang heterogen.
Protokol TCP/IP selalu berevolusi seiring dengan
waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan
Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya
Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet
Engineering Task Force (IETF). Macam-macam protokol yang berjalan di atas
TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang
disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
Karakteristik TCP/IP
·
Bersifat
standar, terbuka dan tidak bergantung pada perangkat keras atau sistem informasi tertentu.
·
Bebas
dari jaringan fisik tertentu, memungkinkan integrasi berbagai jenis jaringan
(ethernet, token ring, dial-up).
·
Mempunyai
skema pengalamatan yang umum bagi setiap device yang berhubungan dengan
jaringan.
·
Menyediakan
berbagai layanan bagi user.
Berikut ini
penjelasan singkat masing-masing layer protokol TCP/IP beserta fungsinya.
1.
Lapisan
pertama adalah Network Acceess Layer ( identik dengan lapisan Physical dan Data
Link layer pada OSI). Pada lapisan ini didefenisikan bagaimana penyaluran data
dalam bentuk frame-frame data pada media fisik yang digunakan secara andal.
Lapisan ini biasanya memberikan servis untuk mendeteksi dan koreksi kesalahan
dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada
lapisan ini adalah X.25 untuk jaringan publik, Ethernet untuk jaringan
Ethernet, dan sebagainya.
2.
Lapisan
kedua adalah Internet layer ( identik dengan network layer pada OSI). Lapisan
ini bertugas untuk menjamin agar suatu
paket yang dikirimkan dapat menemukan tujuannya. Lapisan ini memliki peranan
penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas
(worlwide Internet). Beberapa tugas penting lapisan ini adalah :
a.
Addressing
, yakni melengkapi setiap paket data dengan alamat Internet ata Internet Protokol Addressing (IP
address). Karena pengalamatannya berada pada level ini, maka jaringan TCP/IP independent dari jenis media, sistem operasi,
dan komputer yang digunakan.
b.
Routing
, yakni menentukan rute kemana paket data akan dikirim agar mencapai tujuan
yang diinginkan. Routing merupakan fungsi penting dari Internet protokol (IP).
Proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki
kendali terhadap paket yang dikirimkannya. Router-router pada jaringan TCP/IP
lah yang menentukan penyampaian paket data dari pengirim ke penerima.
3.
Lapisan
ketiga adalah Transport layer (identik dengan Transport layer pada OSI). Pada
lapisan ini didefenisikan cara-cara untuk melakukan pengiriman data antara end
to end host. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima akan sama dengan informasi
yang dikirim oleh pengirim. Lapisan ini memiliki beberapa fungsi antara lain :
a.
Flow
control. Pengiriman data yang telah dipecah menjadi paket-paket data harus
diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan
kecepatan yang melebihi kemampuan penerima dalam menerima data.
b.
Error
detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi
yang bisa digunakan untuk memeriksa apakah data yang dikirimkan telah 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. Dengan demikian, data dijamin bebas dari
kesalahan (eror free) pada saat diteruskan ke lapisan aplikasi.
Konsekuensi dari mekanisme ini adalah
timbulnya delay yang cukup berarti. Namun, selama aplikasi tidak bersifat real
time, delay ini tidak menjadi masalah, karena yang lebih diuatamakan adalah
data yang bebas dari kesalahan.
Ada dua protokol yang digunakan pada
layer ini, yaitu: Transmission Control
Protokol (TCP) dan User Datagram Protokol (UDP).
TCP digunakan oleh aplikasi-aplikasi
yang membutuhkan keandalan data.
Sedangkan UDP digunakan untuk aplikasi yang tidak menuntut keandalan tinggi.
Beberapa aplikais lebih sesuai menggunakan UDP sebagai protokol transport.
Contohnya adalah aplikasi data base yang
hanya bersifat query dan response, atau aplikasi lain yang sangat
sensitif terhadap delay seperti video conference. Aplikasi seperti ini dapat mentolerir sedikit
kesalahan karena gambar atau suara masih bisa tetap dimengerti.
TCP memiliki fungsi flow control dan
eror detection dan bersifat conection oriented. Sebaliknya UDP bersifat
conectionles, tidak ada mekanisme pemeriksaan data dan flow control, sehingga
UDP diebut juga unreliabel protokol.
4.
Lapisan
keempat adalah Application layer ( identik dengan Application,Presentation, Session Layer pada
OSI)
Application layer adalah lapisan yang
menyediakan interface antara aplikasi yang digunakan untuk berkomunikasi
dan jaringan yang mendasarinya di mana pesan akan dikirim. Protokol Application
Layer digunakan untuk pertukaran data antara program yang berjalan pada source
dan host tujuan. Ada banyak protokol Application Layer dan protokol terus
dikembangkan. Application layer berada pada ujung protocol stack TCP/IP.
Application layer pada TCP/IP adalah kumpulan dari beberapa komponen software
yang mengirim dan menerima informasi dari port TCP dan UDP. Beberapa komponen
pada application layer hanya sebagai alat untuk pengumpul informasi konfigurasi
network dan beberapa lainnyaboleh jadi adalah sebuah user interface atau Application
Program Interface (API) yang mendukung desktop operating environment.
Protocol Dalam Aplication Layer
DNS Protocol
Dalam
jaringan data, peralatan diberi label dengan alamat IP numerik, sehingga mereka
dapat berpartisipasi dalam mengirim dan menerima pesan melalui jaringan. Namun,
kebanyakan orang sulit mengingat alamat numerik. Oleh karena itu, nama domain
diciptakan untuk mengkonversi alamat numerik menjadi nama, sederhana dikenali.
Di internet nama domain ini, seperti www.cisco.com, jauh lebih mudah bagi orang
untuk diingat daripada 198.133.219.25, yang adalah alamat numerik sebenarnya
untuk server ini. Juga, jika Cisco memutuskan untuk mengubah alamat numerik,
adalah transparan kepada pengguna, karena nama domain akan tetap www.cisco.com.
Alamat baru hanya akan dihubungkan ke nama domain yang ada dan konektivitas
dipertahankan. Ketika jaringan masih kecil, itu adalah tugas sederhana untuk
menjaga pemetaan antara nama domain dan alamat mereka mewakili. Namun, karena
jaringan mulai tumbuh dan jumlah perangkat meningkat, ini sistem manual menjadi
tidak bisa dijalankan.
Domain
Name System (DNS) adalah diciptakan untuk nama domain untuk alamat resolusi
jaringan ini. DNS didistribusikan menggunakan satu set server untuk
menyelesaikan nama-nama yang terkait dengan alamat nomor. Protokol DNS
mendefinisikan sebuah layanan otomatis yang cocok dengan nama sumber daya
dengan alamat jaringan yang dibutuhkan numerik. Hal ini termasuk format untuk
pertanyaan, tanggapan, dan format data. Komunikasi protokol DNS menggunakan
format tunggal yang disebut pesan. Format pesan ini digunakan untuk semua jenis
permintaan klien dan respon server, pesan kesalahan, dan transfer informasi
sumber daya catatan antara server.
Sistem
operasi komputer juga memiliki utilitas yang disebut nslookup yang memungkinkan
pengguna untuk secara manual query server nama untuk menyelesaikan nama host
yang diberikan. Utilitas ini juga dapat digunakan untuk memecahkan masalah
resolusi nama dan untuk memastikan status saat ini dari server nama.
HTTP Protocol
Ketika sebuah alamat web (atau URL) yang diketik ke
dalam web browser, web browser melakukan koneksi ke web service yang berjalan
pada server menggunakan protokol HTTP. URL (atau Uniform Resource Locator) dan
URI (Uniform Resource Identifier) adalah nama kebanyakan orang mengasosiasikan
dengan alamat web. Web browser adalah aplikasi klien komputer kita gunakan
untuk terhubung ke World Wide Web dan sumber daya akses disimpan pada server
web. Sebagaimana dengan proses server yang paling, web server berjalan sebagai
sebuah layanan latar belakang dan membuat berbagai jenis file yang tersedia.
Browser
dapat menafsirkan dan menyajikan berbagai jenis data, seperti teks biasa atau
Hypertext Markup Language (HTML, bahasa di mana halaman web dibangun). Data
jenis lain, bagaimanapun, mungkin memerlukan layanan lain atau program,
biasanya disebut sebagai plug-in atau add-ons. Untuk membantu browser
menentukan jenis file itu adalah menerima, server menentukan jenis data yang
berisi file.
Hypertext Transfer Protocol (HTTP), salah satu
protokol dalam suite TCP / IP, pada awalnya dikembangkan untuk mempublikasikan
dan mengambil halaman HTML dan sekarang digunakan terdistribusi, sistem
informasi kolaboratif. HTTP digunakan di World Wide Web untuk transfer data dan
merupakan salah satu protokol aplikasi yang paling sering digunakan. GET
permintaan klien untuk data. Sebuah web browser mengirimkan pesan GET untuk
meminta halaman dari server web. Seperti ditunjukkan dalam gambar, setelah
server menerima permintaan GET, akan meresponnya dengan baris status, seperti
HTTP/1.1 200 OK, dan pesan sendiri, tubuh yang mungkin merupakan file yang
diminta, pesan kesalahan, atau beberapa informasi lainnya.
POST dan PUT digunakan untuk mengirim pesan yang
meng-upload data ke web server. Sebagai contoh, ketika pengguna memasukkan data
ke dalam bentuk tertanam dalam suatu halaman web, POST meliputi data dalam
pesan yang dikirim ke server.
SMTP /POP Protocol
E-mail,
layanan jaringan yang paling populer, telah merevolusi cara orang berkomunikasi
melalui kesederhanaan dan kecepatan. Namun untuk dijalankan pada komputer atau
perangkat ujung yang lain, e-mail memerlukan beberapa aplikasi dan layanan. Dua
contoh aplikasi protokol lapisan adalah Post Office Protocol (POP) dan Simple
Mail Transfer Protocol (SMTP).
Ketika
orang menulis pesan e-mail, mereka biasanya menggunakan aplikasi yang disebut
Mail User Agent (MUA), atau klien e-mail. The MUA memungkinkan pesan yang akan
dikirim dan tempat-tempat pesan yang diterima ke kotak surat klien, yang
keduanya adalah proses yang berbeda. Untuk menerima pesan e-mail dari server
e-mail, klien e-mail dapat menggunakan POP. Mengirim e-mail baik dari klien
atau server menggunakan format pesan dan string perintah yang didefinisikan
oleh protokol SMTP. Biasanya klien e-mail menyediakan fungsionalitas dari kedua
protokol dalam satu aplikasi.
E-mail
Server Proses - MTA dan MDA Server e-mail mengoperasikan dua proses terpisah:
·
Mail Transfer
Agent (MTA)
·
Mail Delivery
Agent (MDA)
Mail Transfer Agent (MTA) proses digunakan untuk
meneruskan e-mail. Seperti ditunjukkan dalam gambar, MTA menerima pesan dari
MUA atau dari MTA lain pada server lainnya e-mail. Berdasarkan header pesan,
ini akan menentukan bagaimana pesan harus diteruskan untuk mencapai tujuannya.
Jika surat ditujukan kepada pengguna yang mailbox pada server lokal, surat akan
diteruskan ke MDA. Jika surat tersebut adalah untuk pengguna bukan pada server
lokal, rute MTA e-mail ke MTA pada server yang tepat.
FTP (File Transfer Protocol) Protocol
File Transfer Protocol (FTP) adalah protokol lain
Application Layer umum digunakan. FTP dikembangkan untuk memungkinkan untuk
transfer file antara klien dan server. Sebuah klien FTP adalah sebuah aplikasi
yang berjalan pada komputer yang digunakan untuk mendorong dan menarik file
dari dari server yang menjalankan daemon FTP (ftpd).
Untuk
berhasil mentransfer file, FTP membutuhkan dua koneksi antara klien dan server:
satu untuk perintah dan jawaban, yang lain untuk transfer file yang sebenarnya.
Klien menetapkan koneksi pertama ke server pada port TCP 21. Koneksi ini
digunakan untuk lalu lintas, yang terdiri dari perintah client dan server
balasan. Klien menetapkan kedua sambungan ke server melalui port TCP 20.
Koneksi ini adalah untuk transfer file aktual dan dibuat setiap kali ada file
yang ditransfer. Transfer file dapat terjadi dalam arah baik. Klien dapat
men-download (tarik) file dari server atau client dapat meng-upload (push) file
ke server.
DHCP Protocol
Dynamic
Host Configuration Protocol (DHCP) layanan memungkinkan perangkat pada jaringan
untuk memperoleh alamat IP dan informasi lainnya dari server DHCP. Layanan ini
secara otomatis penugasan alamat IP, subnet mask, gateway dan lain parameter
jaringan IP. DHCP memungkinkan sebuah host untuk mendapatkan alamat IP secara
dinamis ketika terhubung ke jaringan. Server DHCP dihubungi dan alamat diminta.
Server DHCP memilih alamat dari berbagai dikonfigurasi alamat.
Pada
jaringan lokal yang lebih besar, atau di mana perubahan populasi pengguna
sering, DHCP lebih disukai. Pengguna baru mungkin datang dengan laptop dan
memerlukan suatu koneksi. Orang lain telah workstation baru yang perlu
dihubungkan. Daripada memiliki administrator jaringan memberikan alamat IP
untuk setiap workstation, lebih efisien untuk memiliki alamat IP yang
ditetapkan secara otomatis menggunakan DHCP. Alamat DHCP didistribusikan tidak
secara permanen ditugaskan untuk host tetapi hanya disewa untuk jangka waktu
tertentu.
DHCP
bisa menimbulkan risiko keamanan karena setiap alat yang terhubung ke jaringan
dapat menerima alamat. Risiko ini membuat keamanan fisik merupakan faktor
penting ketika menentukan apakah akan menggunakan alamat dinamis atau manual.
Tanpa DHCP, pengguna harus secara manual memasukkan alamat IP, subnet mask dan
pengaturan jaringan lain untuk bergabung dengan jaringan.
Telnet Protocol
Setelah
jaringan yang tersedia, orang membutuhkan cara akses jarak jauh ke sistem
komputer dengan cara yang sama yang mereka lakukan dengan terminal langsung
terpasang. Telnet dikembangkan untuk memenuhi kebutuhan itu. Telnet tanggal kembali
ke awal 1970-an dan merupakan salah satu yang tertua dari protokol Application
Layer dan layanan di TCP / IP suite. Telnet menyediakan metode standar meniru
perangkat terminal berbasis teks melalui jaringan data. Kedua protokol itu
sendiri dan perangkat lunak client yang mengimplementasikan protokol yang
sering disebut sebagai Telnet. oneksi menggunakan Telnet disebut Virtual
Terminal (vty) sesi, atau koneksi. Alih-alih menggunakan perangkat fisik untuk
terhubung ke server, Telnet menggunakan perangkat lunak untuk membuat perangkat
virtual yang menyediakan fitur yang sama dari sesi terminal dengan akses ke
server antarmuka baris perintah (CLI).
Telnet
adalah klien / server dan protokol ini menetapkan bagaimana sesi vty didirikan
dan diberhentikan. Hal ini juga menyediakan sintaks dan urutan perintah yang
digunakan untuk memulai sesi Telnet, serta perintah kontrol yang dapat
ditempatkan selama sesi. Setiap perintah Telnet terdiri dari setidaknya dua
byte. Byte pertama adalah karakter khusus yang disebut Tafsirkan sebagai
Command (IAC) karakter. Seperti namanya, IAC mendefinisikan byte berikutnya
sebagai perintah daripada teks.
Gambar hubungan
berbagai protokol TCP/IP
TCP dan UDP
TCP memiliki karakteristik sebagai
berikut:
§
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.
§
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)
§
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 umumnya digunakan ketika
protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat
andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi
tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.
Segmen TCP
Segmen-segmen TCP akan dikirimkan
sebagai datagram-datagram IP (datagram merupakan satuan protocol data unit pada lapisan internetwork). Sebuah segmen TCP terdiri atas
sebuah header dan segmen data (payload), yang
dienkapsulasi dengan menggunakan header IP dari protokol IP.
Sebuah segmen dapat berukuran hingga
65495 byte: 216-(ukuran header IP terkecil (20
byte)+ukuran header TCP terkecil (20 byte)).Datagram IP tersebut
akan dienkapsulasi lagi dengan menggunakan header protokol network interface
(lapisan pertama dalam DARPA Reference Model) menjadi frame lapisan Network Interface. Gambar berikut mengilustrasikan
data yang dikirimkan ke sebuah host.
Di dalam header IP dari sebuah segmen
TCP, field Source IP Address diatur menjadi
alamat unicast dari sebuah antarmuka host yang mengirimkan
segmen TCP yang bersangkutan. Sementara itu, field Destination IP
Address juga akan diatur menjadi alamat unicast dari
sebuah antarmuka host tertentu yang dituju. Hal ini dikarenakan, protokol TCP
hanya mendukung transmisi one-to-one.
Gambar bagan segmen TCP
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.
Format
header TCP, dilengkapi dengan ukuran setiap field-nya
Tabel Format
Header TCP
Nama field
|
Ukuran
|
Keterangan
|
Source Port
|
2 byte (16 bit)
|
Mengindikasikan sumber protokol
lapisan aplikasi yang mengirimkan segmen TCP yang bersangkutan. Gabungan
antara field Source IP Address dalam header
IP dan field Source Port dalam field header
TCPdisebut juga sebagai socket sumber, yang
berarti sebuah alamat global dari mana segmen dikirimkan. Lihat juga Port TCP.
|
Destination Port
|
2 byte (16 bit)
|
Mengindikasikan tujuan protokol
lapisan aplikasi yang menerima segmen TCP yang bersangkutan. Gabungan antara
field Destination IP Address dalam header IP dan field Destination Port dalam
field header TCP disebut juga sebagai socket tujuan,
yang berarti sebuah alamat global ke mana segmen akan dikirimkan.
|
Sequence Number
|
4 byte (32 bit)
|
Mengindikasikan nomor urut dari
oktet pertama dari data di dalam sebuah segmen TCP yang hendak dikirimkan.
Field ini harus selalu diset, meskipun tidak ada data (payload) dalam segmen.
Ketika memulai sebuah sesi koneksi TCP, segmen dengan flag SYN (Synchronization) diset ke nilai 1, field ini akan berisi nilai Initial Sequence Number (ISN). Hal ini berarti, oktet pertama dalam aliran byte (byte stream) dalam koneksi adalah ISN+1. |
Acknowledgment Number
|
4 byte (32 bit)
|
Mengindikasikan nomor urut dari
oktet selanjutnya dalam aliran byte yang diharapkan oleh untuk diterima oleh
pengirim dari si penerima pada pengiriman selanjutnya. Acknowledgment number
sangat dipentingkan bagi segmen-segmen TCP dengan flag ACK diset ke nilai 1.
|
Data Offset
|
4 bit
|
Mengindikasikan di mana data dalam
segmen TCP dimulai. Field ini juga dapat berarti ukuran dari header TCP.
Seperti halnya field Header Length dalam header IP, field
ini merupakan angka dari word 32-bit dalam header TCP. Untuk sebuah segmen
TCP terkecil (di mana tidak ada opsi TCP tambahan), field ini diatur ke nilai
0x5, yang berarti data dalam segmen TCP dimulai dari oktet ke 20 dilihat dari
permulaan segmen TCP. Jika field Data Offset diset ke nilai maksimumnya (24=16)
yakni 15, header TCP dengan ukuran terbesar dapat memiliki panjang hingga 60
byte.
|
Reserved
|
6 bit
|
Direservasikan untuk digunakan
pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke dalam nilai
0.
|
Flags
|
6 bit
|
Mengindikasikan flag-flag TCP yang
memang ada enam jumlahnya, yang terdiri atas: URG (Urgent), ACK
(Acknowledgment), PSH (Push), RST (Reset), SYN (Synchronize), dan FIN
(Finish).
|
Window
|
2 byte (16 bit)
|
Mengindikasikan jumlah byte yang tersedia
yang dimiliki oleh buffer host penerima segmen yang bersangkutan. Buffer ini
disebut sebagai Receive Buffer, digunakan untuk menyimpan byte stream yang
datang. Dengan mengimbuhkan ukuran window ke setiap segmen, penerima segmen
TCP memberitahukan kepada pengirim segmen berapa banyak data yang dapat
dikirimkan dan disangga dengan sukses. Hal ini dilakukan agar si pengirim
segmen tidak mengirimkan data lebih banyak dibandingkan ukuran Receive
Buffer. Jika tidak ada tempat lagi di dalam Receive buffer, nilai dari field
ini adalah 0. Dengan nilai 0, maka si pengirim tidak akan dapat mengirimkan
segmen lagi ke penerima hingga nilai field ini berubah (bukan 0). Tujuan hal
ini adalah untuk mengatur lalu lintas data atau flow control.
|
Checksum
|
2 byte (16 bit)
|
Mampu melakukan pengecekan
integritas segmen TCP (header-nya dan payload-nya). Nilai
field Checksum akan diatur ke nilai 0 selama proses kalkulasi checksum.
|
Urgent Pointer
|
2 byte (16 bit)
|
Menandakan lokasi data yang
dianggap "urgent" dalam segmen.
|
Options
|
4 byte (32 bit)
|
Berfungsi sebagai penampung
beberapa opsi tambahan TCP. Setiap opsi TCP akan memakan ruangan 32 bit,
sehingga ukuran header TCP dapat diindikasikan dengan menggunakan field Data
offset.
|
TCP flag
Sebuah segmen TCP dapat memiliki flag
(tanda-tanda) khusus yang mengindikasikan segmen yang bersangkutan, seperti
yang disebutkan dalam tabel berikut:
Nama flag
|
Keterangan
|
URG
|
Mengindikasikan bahwa beberapa
bagian dari segmen TCP mengandung data yang sangat penting, dan field Urgent Pointer
dalam header TCP harus digunakan untuk menentukan lokasi di mana data penting
tersebut berada dalam segmen.
|
ACK
|
Mengindikasikan field
Acknowledgment mengandung oktet selanjutnya yang diharapkan dalam koneksi.
Flag ini selalu diset, kecuali pada segmen pertama pada pembuatan sesi
koneksi TCP.
|
PSH
|
Mengindikasikan bahwa isi dari TCP
Receive buffer harus diserahkan kepada protokol lapisan aplikasi. Data dalam
receive buffer harus berisi sebuah blok data yang berurutan (kontigu),
dilihat dari ujung paling kiri dari buffer. Dengan kata lain, sebuah segmen
yang memiliki flag PSH diset ke nilai 1, tidak bolah ada satu byte pun data
yang hilang dari aliran byte segmen tersebut; data tidak dapat diberikan
kepada protokol lapisan aplikasi hingga segmen yang hilang tersebut datang.
Normalnya, TCP Receive buffer akan dikosongkan (dengan kata lain, isi dari
buffer akan diteruskan kepada protokol lapisan aplikasi) ketika buffer
tersebut berisi data yang kontigu atau ketika dalam "proses
perawatan". Flag PSH ini dapat mengubah hal seperti itu, dan membuat
akan TCP segera mengosongkan TCP Receive buffer. Flag PSH umumnya digunakan
dalam protokol lapisan aplikasi yang bersifat interaktif, seperti halnya
Telnet, karena setiap penekanan tombol dalam sesi terminal virtual akan
dikirimkan dengan sebuah flag PSH diset ke nilai 1. Contoh dari penggunaan
lainnya dari flag ini adalah pada segmen terakhir dari berkas yang ditransfer
dengan menggunakan protokol FTP. Segmen yang dikirimkan dengan flag PSH aktif
tidak harus segera di-acknowledge oleh penerima.
|
RST
|
Mengindikasikan bahwa koneksi yang
dibuat akan digagalkan. Untuk sebuah koneksi TCP yang sedang berjalan
(aktif), sebuah segmen dengan flag RST diset ke nilai 1 akan dikirimkan
sebagai respons terhadap sebuah segmen TCP yang diterima yang ternyata segmen
tersebut bukan yang diminta, sehingga koneksi pun menjadi gagal. Pengiriman
segmen dengan flag RST diset ke nilai 1 untuk sebuah koneksi aktif akan
menutup koneksi secara paksa, sehingga data yang disimpan dalam buffer akan
dibuang (dihilangkan). Untuk sebuah koneksi TCP yang sedang dibuat, segmen
dengan flag RST aktif akan dikirimkan sebagai respons terhadap request
pembuatan koneksi untuk mencegah percobaan pembuatan koneksi.
|
SYN
|
Mengindikasikan bahwa segmen TCP
yang bersangkutan mengandung Initial Sequence Number (ISN). Selama proses
pembuatan sesi koneksi TCP, TCP akan mengirimkan sebuah segmen dengan flag
SYN diset ke nilai 1. Setiap host TCP lainnya akan memberikan jawaban
(acknowledgment) dari segmen dengan flag SYN tersebut dengan menganggap bahwa
segmen tersebut merupakan sekumpulan byte dari data. Field Acknowledgment
Number dari sebuah segmen SYN diatur ke nilai ISN + 1.
|
FIN
|
Menandakan bahwa pengirim segmen
TCP telah selesai dalam mengirimkan data dalam sebuah koneksi TCP. Ketika
sebuah koneksi TCP akhirnya dihentikan (akibat sudah tidak ada data yang
dikirimkan lagi), setiap host TCP akan mengirimkan sebuah segmen TCP dengan
flag FIN diset ke nilai 1. Sebuah host TCP tidak akan mengirimkan segmen
dengan flag FIN hingga semua data yang dikirimkannya telah diterima dengan
baik (menerima paket acknowledgment) oleh penerima. Setiap host akan
menganggap sebuah segmen TCP dengan flag FIN sebagai sekumpulan byte dari
data. Ketika dua host TCP telah mengirimkan segmen TCP dengan flag FIN dan
menerima acknowledgment dari segmen tersebut, maka koneksi TCP pun akan
dihentikan.
|
Struktur
flag-flag TCP ditunjukkan oleh gambar berikut ini.
TCP Three-way
handshake
Proses
pembuatan koneksi (TCP Three way handshake)
Proses pembuatan koneksi TCP disebut
juga dengan "Three-way Handshake". Tujuan metode ini adalah
agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgement
yang dikirimkan oleh kedua pihak dan saling bertukar ukuran TCP Window. Prosesnya
dapat digambarkan sebagai berikut:
§ Host pertama (yang
ingin membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN
diaktifkan kepada host kedua (yang hendak diajak untuk
berkomunikasi).
§ Host kedua akan
meresponsnya dengan mengirimkan segmen dengan acknowledgment dan juga SYN
kepada host pertama.
§ Host pertama
selanjutnya akan mulai saling bertukar data dengan host kedua.
TCP menggunakan proses jabat tangan
yang sama untuk mengakhiri koneksi yang dibuat. Hal ini menjamin dua host yang sedang
terkoneksi tersebut telah menyelesaikan proses transmisi data dan semua data
yang ditransmisikan telah diterima dengan baik. Itulah sebabnya, mengapa TCP
disebut dengan koneksi yang reliable.
UDP
UDP, singkatan dari User Datagram 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
Karakteristik
UDP
UDP memiliki
karakteristik-karakteristik 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. Header UDP berisi field Source Process Identification dan Destination
Process Identification.
§ UDP menyediakan
penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan 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
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.
Penggunaan 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.
Pesan-pesan UDP
UDP, berbeda dengan TCP yang memiliki satuan
paket data yang disebut dengan segmen,
melakukan pengepakan terhadap data ke dalam pesan-pesan UDP (UDP Messages).
Sebuah pesan UDP berisi header UDP dan akan
dikirimkan ke protokol lapisan selanjutnya (lapisan internetwork) setelah mengepaknya
menjadi datagram IP. Enkapsulasi terhadap pesan-pesan
UDP oleh protokol IP dilakukan dengan menambahkan header IP dengan protokol IP
nomor 17 (0x11). Pesan UDP dapat memiliki besar maksimum 65507 byte: 65535 (216)-20
(ukuran terkecil dari header IP)-8 (ukuran dari header UDP) byte. Datagram IP yang dihasilkan dari
proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan menggunakan header dan trailer protokol lapisan Network Interface yang digunakan oleh
host tersebut.
Dalam header IP dari sebuah pesan
UDP, field Source IP Address akan diset ke antarmuka host yang mengirimkan
pesan UDP yang bersangkutan; sementara field Destination IP Address akan diset
ke alamat IP
unicast dari
sebuah host tertentu, alamat IP
broadcast, atau alamat IP
multicast.
Ilsutrasi
mengenai pesan –pesan UDP.
Header UDP
Header
UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang
tetap, seperti tersebutkan dalam tabel berikut
Field
|
Panjang
|
Keterangan
|
Source Port
|
16 bit (2 byte)
|
Digunakan untuk
mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan pesan
UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika tidak
digunakan, akan diset ke angka 0. Beberapa protokol lapisan aplikasi dapat
menggunakan nilai field ini dari pesan UDP yang masuk sebagai nilai field
port tujuan (Destination Port, lihat baris selanjutnya) sebagai balasan untuk
pesan tersebut.
|
Destination Port
|
16 bit (2 byte)
|
Digunakan untuk
mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi tujuan
pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara alamat IP
dengan nilai dari field ini untuk membuat sebuah alamat yang signifikan untuk
mengidentifikasikan proses yang berjalan dalam sebuah host tertentu yang dituju
oleh pesan UDP yang bersangkutan.
|
Length
|
16 bit (2 byte)
|
Digunakan untuk mengindikasikan
panjang pesan UDP (pesan UDP ditambah dengan header UDP) dalam satuan byte.
Ukuran paling kecil adalah 8 byte (ukuran header UDP, ketika tidak ada isi
pesan UDP), dan ukuran paling besar adalah 65515 bytes (65535 [216]
-20 [ukuran header protokol IP]). Panjang maksimum aktual dari pesan UDP akan
disesuaikan dengan menggunakan nilai Maximum Transmission Unit (MTU) dari
saluran di mana pesan UDP dikirimkan. Field ini bersifat redundan
(terulang-ulang). Panjang pesan UDP dapat dihitung dari field Length dalam
header UDP dan field IP Header Length dalam header IP.
|
Checksum
|
16 bit (2 byte)
|
Berisi informasi pengecekan
integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP).
Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan
bernilai 0.
|
Ilustrasi header
UDP
Port UDP
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. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal
secara luas.
Nomor Port UDP
|
Digunakan oleh
|
53
|
|
67
|
|
68
|
|
69
|
|
137
|
|
138
|
|
161
|
|
445
|
|
520
|
|
1812/1813
|
IP Address dan Domain Name
Pada layer
Internet dapat dijumpai sebuah protokol yang populer, yaitu Internet Protokol
(IP). IP merupakan protokol yang bersifat conectionless dan unreliabel. Boleh
dibilang IP merupakan inti dari protokol TCP/IP. Pada header IP ada field
berisi informasi IP address. IP address asal dan tujuan dari paket data dapat
ditemukan dibagian ini. Perhatikan diaram header protokol IP berikut.
Akan tetapi, IP
address tidak dikenali oleh perangkat keras jaringan. Perangkat keras hanya
memahami MAC address. Sehingga diperlukan suatu cara untuk menjembatani kedua
jenis address tersebut. Disinilah protokol ARP berperan.
a)
Address
Resolution Protokol (ARP)
Setiap komputer yang terhubung dengan
Internet harus memiliki nomor identifikasi yang unik (ID) agar dapat
membedakannya dari komputer lain. ID ini disebut IP address. Saat ini yang
digunakan dalam dunia internet secara umum adalah Ipv4, sedangkan IP yang lebih
baru adalah IPv6.
Kita sudah mengetahui bahwa perangkat
keras jaringan, seperti Ethernet card, memiliki alamat fisik yang disebut MAC
address. Pada ethernet card , alamat hardware dinyatakan dalam bilangan
heksadesimal yang panjagnya 48 bit (jika dikonversikan ke biner). Sedangkan
perangkat lain seperti Token Ring card, ARCNET card, dan sebagainya akan
menggunkan format Address yang berbeda.
IP address berbeda dengan MAC address.
Baik IP address maupun MAC address, kedua-duanya sama-sama diperlukan pada
internetworking. Oleh sebab itu, perlu ada aturan yang dapat menjembatani kedua
format yang berbeda ini. Disinilah peranan protokol ARP.
ARP terletak pada layer Internet dan bekerja
sama dengan protokol IP. ARP digunakan untuk megubah alamat IP menjadi alamat
ethernet. Pengubahan almat ini hanya untuk paket IP yang keluar (dikirim).
Cara kerja ARP.
Ketika sebuah host hendak mengirim data
ke host lain, maka host tersebut akan mengirimkan (mem-broadcast) sebuah paket
ARP yang berisi alamat IP tujuan ke semua host pada network. Isi paket ARP
kira-kira sebagai berikut : “hai siapa yang memiliki alamat IP ini, mohon
segera berikan alamat ethernetnya kepadaku.”
Jika ada host yang memiliki IP
tersebut,maka dia akan memberikan alamat ethernetnya kepada host yang meminta.
Setelah alamat ethernet diketahui, maka komunikasi dapat dilakukan.
Agar proses pencarian alamat ethernet
dapat dilakukan dengan cepat maka setiap host boleh menyimpan informasi alamat
hardware pada ARP tabel. ARP tabel akan digunakan sebelum host pengirim mencari
informasi ke luar. Jika informasi yang dibutuhkan tidak adapat ditemukan di ARP
tabel , barulah pesan ARP broadcast dikirimkan keseluruh host.
Jika kondisi sebaliknya, misalkan saja diperlukan informasi alamat IP dari
perangkat yang sudah diketahui alamat hardwarenya, maka dapat digunakan
protokol Reverse Address Resolution Protokol (RARP). RARP banyak digunakan pada
layanan internet yang mengalokasikan IP Address secara dinamis.
b)
IP Address
IP
Address merupakan pengenal yang digunakan umtuk memberi alamat pada tiap-tiap
komputer dalam jaringan. Format
IP address adalah bilangan 32 bit yang tiap 8 bitnya dipisahkan oleh tanda
titik. Adapun format IP Address dapat berupa bentuk ‘biner’ (xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
dengan x merupakan bilangan biner). Atau dengan bentuk empat bilangan desimal
yang masing-masing dipisahkan oleh titik
bentuk ini dikenal dengan ‘dotted
decimal’ (xxx.xxx.xxx.xxx
adapun xxx merupakan nilai dari satu oktet/delapan bit).
Sebelumnya dikenal cara-cara pembagian IP Address, dimana
IP address (yang berjumlah sekitar 4 milyar) dibagi kedalam lima kelas yakni:
Kelas A
Format :
0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Bit pertama : 0
Panjang NetID : 8
bit
Panjang HostID : 24 bit
Byte pertama :
0-127
Jumlah : 126
Kelas A (0 dan 127 dicadangkan)
Range IP :
1.xxx.xxx.xxx sampai 126.xxx.xxx.xxx
Jumlah
IP : 16.777.214 IP Address pada
setiap Kelas A
Dekripsi :
Diberikan untuk jaringan dengan jumlah host yang besar
Kelas B
Format :
10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
Bit pertama : 10
Panjang NetID
: 16 bit
Panjang HostID : 16 bit
Byte pertama :
128-191
Jumlah : 16.384
Kelas B
Range IP :
128.0.xxx.xxx sampai 191.155.xxx.xxx
Jumlah
IP : 65.532 IP Address pada setiap
Kelas B
Deskripsi :
Dialokasikan untuk jaringan besar dan sedang
Kelas C
Format :
110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
Bit pertama :
110
Panjang NetID :
24 bit
Panjang HostID : 8 bit
Byte pertama :
192-223
Jumlah : 2.097.152
Kelas C
Range IP :
1.xxx.xxx.xxx sampai 223.255.255.xxx
Jumlah
IP : 254 IP Address pada setiap
Kelas C
Deskripsi :
Digunakan untuk jaringan berukuran kecil
Kelas
A,B,C disebut addess unicast dan dipakai untuk keperluan umum.
Kelas D
Format :
1110mmmm.mmmmmmm. mmmmmmm. mmmmmmm
Bit pertama :
1110
Bit multicast :
28 bit
Byte inisial :
224-247
Deskripsi :
Kelas D digunakan untuk keperluan IP multicasting (RFC 1112)
Kelas
ini disebut IP Address multicast digunakan untuk keperluan khusus.
Kelas E
Format :
1111rrrr.rrrrrrrr. rrrrrrrr. rrrrrrrr
Bit pertama :
1111
Bit cadangan : 28
bit
Byte inisial :
248-255
Deskripsi :
Kelas E dicadangkan untuk keperluan eksperimental.
Kelas
ini digunakan untuk keperluan riset.
IP Address yang
berjumlah sekitar 4 milyar ini tidak semuanya dapat digunakan sebagai IP
Address untuk host. Ada yang digunakan untuk keperluan khusus. Menurut Internet
Assigned Number Authority (IANA) , IP address berikut dicadangkan untuk
keperluan intranet atau LAN.
·
Begin
with 10. (i.e. 10.0.0.0 sampai 10.255.255.255)
·
Begin
with 127
·
Begin
with 169.154
·
Begin
with 172.16 sampai 172.31
·
Begin
with 192.168
Sedangkan IP
address selain yang dicantumkan di atas dapat digunakan untuk Internet. IP
address yang digunakan untuk keperluan LAN/intranet disebut sebagai IP address
private. Sedangkan IP address yang digunakan untuk keperluan Intermet disebut
IP address public. Berikut ini adalah tabel daftar IP address private.
Kelas
|
IP
Address private
|
A
|
10.0.0.0
– 10. 255.255.255
|
B
|
172.16.0.0
– 172.31.255.255
|
C
|
192.168.0.0-
192.168.255.255
|
Umunya kita bisa
memperoleh IP address dengan cara berlanggananIntrenet Ke ISP.
Netmask
Untuk
pengelompokan pengalamatan, selain nomor IP dikenal juga netmask atau
subnetmask. Yang besarnya sama dengan nomor IP yaitu 32 bit. Ada tiga
pengelompokan besar subnet mask yaitu dengan dikenal, yaitu 255.0.0.0 ,
255.255.0.0 dan 255.0.0.0.
Pada dunia
jaringan, subnetmask tersebut dikelompokkan yang disebut class dikenal tiga
class yaitu :
1. Class A,
adalah semua nomor IP yang mempunyai subnetmask 255.0.0.0
2. Class B,
adalah semua nomor IP yang mempunyai subnetmask 255.255.0.0
3. Class C,
adalah semua nomor IP yang mempunyai subnetmask 255.255.255.0
Gabungan antara
IP dan Netmask inilah pengalamatan komputer dipakai. Kedua hal ini tidak bisa
lepas. Jadi penulisan biasanya sbb :
IP :
202.95.151.129
Netmask :
255.255.255.0
Suatu nomor IP
kita dengan nomor IP tetangga dianggap satu kelompok (satu jaringan) bila IP
dan Netmask kita dikonversi jadi biner dan diANDkan, begitu juga nomor IP
tetangga dan Netmask dikonversi jadi biner dan diANDkan, jika kedua hasilnya
sama maka satu jaringan. Dan kita bisa berhubungan secara langsung.
Broadcast
Broadcast
address adalah alamat ip terakhir dari sebuah network dan tidak bisa digunakan
sesuai dengan namanya broadcast address, ip ini digunakan untuk melakukan
broadcasting ke semua host didalam jaringan. contoh ip address 192.168.57.0
subnet-mask 255.255.255.0, kemudian lakukan ping ke 192.168.57.255 maka host
yang hidup dalam network akan melakukan reply.
Alamat network broadcast digunakan untuk mengirimkan sebuah paket untuk
semua host yang terdapat di dalam sebuah jaringan yang berbasis kelas. Router tidak
dapat meneruskan paket-paket yang ditujukan dengan alamat network broadcast.
IP Broadcast :
Alamat network broadcast IPv4 adalah alamat yang dibentuk dengan cara mengeset
semua bit host menjadi 1 dalam sebuah alamat yang menggunakan kelas (classful).
Contohnya adalah, dalam NetID 131.107.0.0/16, alamat broadcast-nya adalah
131.107.255.255.
IP Network :
Segmen jaringan, dengan kata lain bisa disebut juga sebagai pengelompokan suatu
jaringan dengan batasan yang dibuat dan didefinisikan oleh router. Dalam satu
jaringan LAN maka IP Network tentu akan sama.
Gateway : sebuah
perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu
atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda
sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan
komputer lain yang protokolnya berbeda
IP Address
:Alamat IP (Internet Protocol Address atau sering disingkat IP) adalah deretan
angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi
untuk tiap komputer host dalam jaringan Internet. Panjang dari angka ini adalah
32-bit (untuk IPv4 atau IP versi 4), dan 128-bit (untuk IPv6 atau IP versi 6)
yang menunjukkan alamat dari komputer tersebut pada jaringan Internet berbasis
TCP/IP.
Subnet Mask :
igunakan untuk membedakan Network ID dengan host ID.Setiap host di dalam sebuah
jaringan yang menggunakan TCP/IP membutuhkan sebuah subnet mask meskipun berada
di dalam sebuah jaringan dengan satu segmen saja. Entah itu subnet mask default
(yang digunakan ketika memakai network identifier berbasis kelas) ataupun
subnet mask yang dikustomisasi (yang digunakan ketika membuat sebuah subnet
atau supernet) harus dikonfigurasikan di dalam setiap node TCP/IP.
Untuk Subnet
mask yang di kustomisasi/di set secara manual maka terdapat aturan yang disebut
dengan subnetting. Apa itu subnetting? pengertian singkatnya ialah, menentukan
nilai subnet mask sesuai dengan jumlah host ID yang kita butuhkan.
Subnetting
Subnetting merupakan
pembagian network yang besar ke network yang kecil. Penghitungan subnetting
bisa dilakukan dengan dua cara, cara binary yang relatif lambat dan cara khusus
yang lebih cepat. Pada hakekatnya semua pertanyaan tentang subnetting akan
berkisar di empat masalah: Jumlah
Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host- Broadcast.
Keuntungan :
- menyederhanakan
administrasi
- perubahan
stuktur jaringan tidak tampak dari luar
- keamanan
jaringan lebih baik
- pembatasan
lalu lintas jaringan
Sebenarnya subnetting
itu apa dan kenapa harus dilakukan? Pertanyaan ini bisa dijawab dengan analogi
sebuah jalan. Jalan bernama Gatot Subroto terdiri dari beberapa rumah bernomor
01-08, dengan rumah nomor 08 adalah rumah Ketua RT yang memiliki tugas
mengumumkan informasi apapun kepada seluruh rumah di wilayah Jl. Gatot
Subroto.
Ketika rumah di wilayah
itu makin banyak, tentu kemungkinan menimbulkan keruwetan dan kemacetan. Karena
itulah kemudian diadakan pengaturan lagi, dibuat gang-gang, rumah yang masuk ke
gang diberi nomor rumah baru, masing-masing gang ada Ketua RTnya
sendiri-sendiri. Sehingga ini akan memecahkan kemacetan, efiesiensi dan
optimalisasi transportasi, serta setiap gang memiliki previledge
sendiri-sendiri dalam mengelola wilayahnya. Jadilah gambar wilayah baru seperti
di bawah:
Konsep seperti inilah
sebenarnya konsep subnetting itu. Disatu sisi ingin mempermudah
pengelolaan, misalnya suatu kantor ingin membagi kerja menjadi 3 divisi dengan
masing-masing divisi memiliki 15 komputer (host). Disisi lain juga untuk optimalisasi
dan efisiensi kerja jaringan, karena jalur lalu lintas tidak terpusat di satu
network besar, tapi terbagi ke beberapa ruas-ruas gang. Yang pertama analogi Jl
Gatot Subroto dengan rumah disekitarnya dapat diterapkan untuk jaringan adalah
seperti NETWORK ADDRESS (nama jalan) dan HOST ADDRESS (nomer rumah). Sedangkan
Ketua RT diperankan oleh BROADCAST ADDRESS (192.168.1.255), yang bertugas
mengirimkan message ke semua host yang ada di network tersebut.
Masih mengikuti analogi
jalan diatas, kita terapkan ke subnetting jaringan adalah seperti gambar di
bawah. Gang adalah SUBNET, masing-masing subnet memiliki HOST ADDRESS dan
BROADCAST ADDRESS.
Subnetmask digunakan
untuk membaca bagaimana kita membagi jalan dan gang, atau membagi
network dan hostnya. Address mana saja yang berfungsi sebagai SUBNET, mana
yang HOST dan mana yang BROADCAST. Semua itu bisa kita ketahui dari SUBNET
MASKnya. Jl Gatot Subroto tanpa gang yang saya tampilkan di awal bisa dipahami
sebagai menggunakan SUBNET MASK DEFAULT, atau dengan kata lain bisa disebut
juga bahwa Network tersebut tidak memiliki subnet (Jalan tanpa Gang). SUBNET
MASK DEFAULT ini untuk masing-masing Class IP Address adalah sbb:
CLASS
|
OKTET PERTAMA
|
SUBNET MAS DEFAULT
|
PRIVATE ADDRESS
|
A
|
1-127
|
255.0.0.0
|
10.0.0.0-10.255.255.255
|
B
|
128-191
|
255.255.0.0
|
172.16.0.0-172.31.255.255
|
C
|
192-223
|
255.255.255.0
|
192.168.0.0-192.168.255.255
|
CIDR
Classless Inter-Domain Routing (disingkat menjadi CIDR) atau
yang biasa disebut juga dengan supernetting adalah sebuah cara alternatif untuk
mengklasifikasikan alamat-alamat IP berbeda dengan sistem klasifikasi ke dalam
kelas A, kelas B, kelas C, kelas D, dan kelas E.
Supernetting menyebabkan informasi yang disimpan di
router (yang dipertukarkan dengan router lain) akan sangat besar
·
CIDR
dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak
terpakai tersebut untuk digunakan di mana saja. Pada CIDR, satu
blok alamat dinyatakan oleh satu entry dengan format (network address, count)
·
Network
address adalah alamat terkecil dari suatu blok
·
Count
menyatakan jumlah total network address di dalam suatu blok
·
Contoh :
pasangan (192.5.48.0,3) menyatakan tiga network address yaitu 192.5.48.0,
192.5.49.0, 192.5.50.0
·
Dalam
kenyataan, CIDR tidak hanya berlaku untuk kelas C.
·
CIDR mensyaratkan ukuran
setiap blok alamat merupakan kelipatan dua dan menggunakan bit masks untuk
mengidentifikasi ukuran blok
Misalnya suatu organisasi
diberi 2048 alamat yang berurutan mulai dari 128.211.168.0, maka range
alamatnya adalah :
128.211.168.0 (10000000
11010011 10101000 00000000) : the lowest
128.211.175.0 (10000000 11010011
10101111 00000000) : the highest
CIDR memerlukan dua item untuk menyatakan suatu blok
alamat 32 bit lowest address dan32-bit masks. Untuk contoh di
atas, mask CIDR terdiri dari 21 bit “1”, yang artinya pemisahan anatra prefix
dan suffix terjadi setelah bit ke-21.
- Mask : 11111111 11111111 11111000 00000000
Maka, Slash notation untuk contoh
sebelumnya adalah 128.211.168.0/21 dimana 21 menyatakan 21-bit masks
Sebagai contoh, alamat IP kelas A
secara teoritis mendukung hingga 16 juta host komputer yang dapat terhubung,
sebuah jumlah yang sangat besar. Dalam kenyataannya, para pengguna alamat IP
kelas A ini jarang yang memiliki jumlah host sebanyak itu, sehingga menyisakan
banyak sekali ruangan kosong di dalam ruang alamat IP yang telah disediakan.
CIDR dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak terpakai tersebut untuk digunakan di mana saja. Dengan cara yang sama, kelas C yang secara teoritis hanya mendukung 254 alamat tiap jaringan, dapat menggunakan hingga 32766 alamat IP, yang seharusnya hanya tersedia untuk alamat IP kelas B.
CIDR dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak terpakai tersebut untuk digunakan di mana saja. Dengan cara yang sama, kelas C yang secara teoritis hanya mendukung 254 alamat tiap jaringan, dapat menggunakan hingga 32766 alamat IP, yang seharusnya hanya tersedia untuk alamat IP kelas B.
SUBNETTING PADA IP
ADDRESS CLASS C
Subnetting seperti apa
yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?
Analisa: 192.168.1.0
berarti kelas C dengan Subnet Mask /26 berarti
11111111.11111111.11111111.11000000 (255.255.255.192).
Penghitungan: Seperti
sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan
berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat
host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:
1.
Jumlah Subnet = 2x, dimana x adalah banyaknya
binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3
oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
2.
Jumlah Host per Subnet = 2y – 2, dimana
y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir
subnet. Jadi jumlah host per subnet adalah
26 – 2 = 62 host
1.
Blok Subnet = 256 – 192 (nilai oktet terakhir subnet
mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet
lengkapnya adalah 0, 64, 128, 192.
2.
Bagaimana
dengan alamat host dan broadcast yang valid? Kita langsung buat
tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan
broadcast adalah 1 angka sebelum subnet berikutnya.
Kita sudah selesaikan
subnetting untuk IP address Class C. Dan kita bisa melanjutkan lagi untuk
subnet mask yang lain, dengan konsep dan teknik yang sama. Subnet mask yang
bisa digunakan untuk subnetting class C adalah seperti di bawah. Silakan anda
coba menghitung seperti cara diatas untuk subnetmask lainnya.
SUBNETTING PADA IP
ADDRESS CLASS B
Berikutnya kita akan
mencoba melakukan subnetting untuk IP address class B. Pertama, subnet mask
yang bisa digunakan untuk subnetting class B adalah seperti dibawah. Sengaja
saya pisahkan jadi dua, blok sebelah kiri dan kanan karena masing-masing
berbeda teknik terutama untuk oktet yang “dimainkan” berdasarkan blok
subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C,
hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti
Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30
(kelipatan) blok subnet kita “mainkan” di oktet keempat, tapi setelah selesai
oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst.
Untuk teknik
subnetting untuk Class B. Kita mulai dari yang menggunakan subnetmask dengan
CIDR /17 sampai /24. Contoh network address 172.16.0.0/18.
Analisa: 172.16.0.0
berarti kelas B, dengan Subnet Mask /18 berarti
11111111.11111111.11000000.00000000 (255.255.192.0).
Penghitungan:
1.
Jumlah Subnet = 2x, dimana x adalah banyaknya
binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4 subnet
2.
Jumlah Host per Subnet = 2y – 2, dimana
y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet
terakhir. Jadi jumlah host per subnet adalah 214 – 2 = 16.382 host
3.
Blok Subnet = 256 – 192 = 64. Subnet berikutnya
adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64,
128, 192.
Berikutnya kita
coba satu lagi untuk Class B khususnya untuk yang menggunakan subnetmask CIDR
/25 sampai /30. Contoh network address 172.16.0.0/25.
Analisa: 172.16.0.0
berarti kelas B, dengan Subnet Mask /25 berarti
11111111.11111111.11111111.10000000 (255.255.255.128).
Penghitungan:
1.
Jumlah Subnet = 29 = 512 subnet
2.
Jumlah Host per Subnet = 27 – 2 = 126
host
3.
Blok Subnet = 256 – 128 = 128. Jadi lengkapnya
adalah (0, 128)
SUBNETTING PADA
IP ADDRESS CLASS A
Kalau sudah
mantab dan paham, kita lanjut ke Class A. Konsepnya semua sama saja.
Perbedaannya adalah di OKTET mana kita mainkan blok subnet. Kalau Class
C di oktet ke 4 (terakhir), kelas B di Oktet 3 dan 4 (2 oktet terakhir), kalau
Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa
digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai
/30.
Kita coba
latihan untuk network address 10.0.0.0/16.
Analisa: 10.0.0.0
berarti kelas A, dengan Subnet Mask /16 berarti
11111111.11111111.00000000.00000000
(255.255.0.0). Penghitungan:
1.
Jumlah Subnet = 28 = 256 subnet
2.
Jumlah Host per Subnet = 216 – 2 =
65534 host
3.
Blok Subnet = 256 – 255 = 1. Jadi subnet lengkapnya:
0,1,2,3,4, etc.
Catatan: Semua
penghitungan subnet diatas berasumsikan bahwa IP Subnet-Zeroes (dan IP
Subnet-Ones) dihitung secara default.
c)
Domain Name
Pada tahun 1981 diusulkan sebuah
metode konversi IP address menjadi hostname, dan sebaliknya, karena manusia
lebih mudah menghapal nama dibandingkan IP Address. Metode ini disebut Domain
Name System (DNS). Sebagai contoh hostname www.yahoo.com digunakan untuk menggantikan IP address 209.131.36.158. hostname www.google.com untuk IP address 216.239.61.104.