Transmission Control Protocol / Internet Protocol (TCP/IP)
TCP / IP
1. Konsep Dasar TCP/IP
1.1. Apa itu TCP/IP ?
TCP/IP (singkatan dari Transmission Control
protocol/Internet Protocol) adalah sekelompok protokol yang memungkinkan
kumpulan komputer untuk berkomunikasi dan bertukar data di dalam suatu jaringan
pada umumnya, dan Internet pada khususnya.
Protokol merupakan himpunan aturan yang memungkinkan
komputer untuk berhubungan antara satu dengan yang lain, biasanya berupa bentuk
waktu, barisan, pemeriksaan error saat transmisi data.
Komputer yang terhubung ke internet berkomunikasi
dengan protokol ini. Karena menggunakan bahasa yang sama, yaitu protokol
TCP/IP, perbedaan jenis komputer dan sistem operasi tidak menjadi masalah.
Komputer PC dengan sistem operasi Windows dapat berkomunikasi dengan komputer
Sun-SPARC yang menjalankan Solaris. Jadi, jika sebuah komputer menggunakan
protokol TCP/IP dan terhubung ke internet, maka komputer tersebut dapat
berhubungan langsung dengan komputer lain dibelahan dunia manapun yang juga
terhubung dengan internet
1.2. Mengapa TCP/IP penting ?
Protokol ini menjadi sangat penting, karena TCP/IP
merupakan protokol yang telah diterapkan pada hampir semua perangkat keras dan
sistem operasi. Tidak ada rangkaian protokol lain yang tersedia pada semua
sistem berikut ini :
•
Novel Netware.
•
Mainframe IBM.
•
Sistem digital VMS.
• Server Microsoft Windows NT
•
Workstation UNIX, LinuX, FreeBSD
•
Personal komputer DOS.
1.3. Sejarah singkat TCP/IP
Konsep TCP/IP berawal dari kebutuhan DoD
(Departement of Defense) AS akan suatu komunikasi di antara berbagai variasi
komputer yang telah ada. Komputer-komputer DoD ini seringkali harus berhubungan
antara satu organisasi peneliti dengan organisasi peneliti lainnya, dan harus
tetap berhubungan sehingga pertahanan negara tetap berjalan selama terjadi
bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969 dimulailah
penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan
penelitian ini adalah sebagai berikut :
•
Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yang dapat ditentukan
untuk semua jaringan.
•
Meningkatkan efisiensi komunikasi data.
•
Dapat dipadukan dengan teknologi WAN (Wide Area Network) yang telah ada.
•
Mudah dikonfigurasikan.
Tahun 1968 DoD ARPAnet (Advanced Reseach Project
Agency) memulai penelitian yang kemudian menjadi cikal bakal packet switching .
Packet switching inilah yang me-mungkinkan komunikasi antara lapisan jaringan
dimana data dijalankan dan disalurkan melalui jaringan dalam bentuk unit-unit
kecil yang disebut packet*. Tiap-tiap packet ini membawa informasi alamatnya
masing-masing yang ditangani dengan khusus oleh jaringan tersebut dan tidak
tergantung dengan paket-paket lain. Jaringan yang dikembangkan ini, yang
menggunakan ARPAnet sebagai tulang punggungnya, menjadi terkenal sebagai
internet.
Protokol-protokol TCP/IP dikembangkan lebih lanjut
pada awal 1980 dan menjadi protokol-protokol standar untuk ARPAnet pada tahun
1983. Protokol-protokol ini mengalami peningkatan popularitas di komunitas
pemakai ketika TCP/IP digabungkan menjadi versi 4.2 dari BSD (Berkeley Standard
Distribution) UNIX. Versi ini digunakan secara luas pada institusi penelitian
dan pendidikan dan digunakan sebagai dasar dari beberapa penerapan UNIX
komersial, termasuk SunOS dari Sun dan Ultrix dari Digital. Karena BSD UNIX
mendirikan hubungan antara TCP/IP dan sistem operasi UNIX, banyak implementasi
UNIX sekarang menggabungkan TCP/IP.
(*) CATATAN:
Packet adalah unit informasi yang mana jaringan berkomunikasi. Tiap-tiap paket
berisi identitas (header) station pengirim dan penerima, informasi
error-control, permintaan suatu layanan dalam lapisan jaringan, informasi
bagaimana menangani permintaan dan sembarang data penting yang harus
ditransfer.
1.4. Layanan-Layanan dari TCP/IP
Berikut ini adalah layanan "tradisional"
yang dilakukan TCP/IP :
a)
Pengiriman file (file transfer). File
Transfer Protokol (FTP) memungkinkan pengguna komputer yang satu untuk dapat
mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan
data, maka FTP seringkali memerlukan nama pengguna (user name) dan password,
meskipun banyak juga FTP yang dapat diakses melalui anonymous, alias tidak
berpassword.
b)
Remote login. Network terminal Protokol
(telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu
komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna
menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan
tersebut.
c)
Computer mail. Digunakan untuk
menerapkan sistem elektronik mail.
d) Network File System (NFS). Pelayanan akses
file-file jarak jauh yang memungkinkan klien-klien untuk mengakses file-file
pada komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal.
e) Remote execution. Memungkinkan pengguna
komputer untuk menjalankan suatu program di dalam komputer yang berbeda. Biasanya
berguna jika pengguna menggunakan komputer yang terbatas, sedangkan ia
memerlukan sumber yang banyak dalam suatu system komputer. Ada beberapa jenis
remote execution, ada yang berupa perintah-perintah dasar saja, yaitu yang
dapat dijalankan dalam system komputer yang sama dan ada pula yang menggunakan
"prosedure remote call system", yang memungkinkan program untuk
memanggil subroutine yang akan dijalankan di system komputer yang berbeda.
(sebagai contoh dalam Berkeley UNIX ada perintah "rsh" dan
"rexec")
f)
Name servers. Nama database alamat yang
digunakan pada internet
1.5. 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 :
Peer process
| Application
layer |<----------------->| Application layer |
| Presentation
layer |<----------------->| Presentation layer |
| Session
layer |<----------------->| Session layer |
| Transport
layer |<----------------->| Transport layer |
| Network
layer |<----------------->| Network layer |
| Data
link layer |<----------------->| Data link layer |
| Physical
layer |<----------------->|
Physical layer |
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 dibawahnya).
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. Antara dua lapisan yang berdekatan terdapat
"interface" (antarmuka). Interface ini mendifinisikan operasi dan
layanan yang diberikan olehnya ke lapisan lebih atas. Tiap lapisan harus
melaksanakan sekumpulan fungsi khusus yang dipahami dengan sempurna. Himpunan
lapisan dan protokol dikenal sebagai "arsitektur jaringan".
Pengendalian komunikasi dalam bentuk lapisan menambah overhead karena tiap
lapisan berkomunikasi dengan lawannya melalui "header". 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 :
============================================
| Application layer |
|
| Presentation layer | Application layer |
| Session layer | |
|====================== |==================== |
| Transport layer | Transport layer/ |
| | Host
to host |
|====================== |==================== |
| Network layer | Network layer/ |
| | internet
layer |
|====================== |==================== |
| Data Link layer | Network access |
| Physical layer | |
|====================== |==================== |
Model OSI model
internet
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
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).
Selain itu juga lapisan ini bertanggung jawab untuk
pengiriman data melalui antar jaringan. Protokol lapisan intenet yang utama
adalah internet protokol, IP. IP menggunakan protokol-protokol lain untuk
tugas-tugas khusus internet. ICMP(dibahas nanti) digunakan untuk mengirimkan
pesan-pesan ke lapisan host ke host. Adapun fungsi IP :
1.
Pengalamatan
2.
Fragmentasi datagram pada antar jaringan
3.
Pengiriman datagram pada antar jaringan
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 *).
Mengenali pesan-pesan dari beberapa proses
sedemikian rupa sehingga pesan tersebut dikirimkan melalui media jaringan yang
sama disebut “multiplexing”. Prosedur mengembalikan pesan dan mengarahkannya
pada proses yang benar disebut “demultiplexing”. Tanggung jawab lapisan
transport yang paling berat dalam hal pengirim-an pesan adalah mendeteksi
kesalahan dalam pengiriman data tersebut. Ada dua kategori umum deteksi
kesalahan dapat dilakukan oleh lapisan transport :
a.
Reliable delivery, berarti
kesalahan tidak dapat terjadi, tetapi kesalahan akan dideteksi jika terjadi.
Pemulihan kesalahan dilakukan engan jalan memberitahuan lapisan atas bahwa
kesalahan telah terjadi dan meminta pengirimna kembali paket yang kesalahannya
terdeteksi.
b.
Unreliable delivery, bukan
berarti kesalahan mungkin terjadi, tetapi menunjukan bahwa lapisan transport
tidak memeriksa kesalahan tersebut. Karena pemeriksaan kesalahan memerlukan
waktu dan mengurangi penampil-an jaringan. Biasanya kategori ini digunakan jika
setiap paket mengandung pesan yang lengkap, sedangkan reliable elivery, jika
mengandung banyak paket. Unreliable delivery, sering disebut “datagram
delivery” dan paket-paket bebas yang dikirimkan dengan cara ini sering disebut
“datagram”.
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.
(*) Catatan:
-
Token Ring merupakan teknologi LAN data
link yang didefinisikan oleh IEEE 802.4 dimana sistem dihubungkan satu sama
lain dengan menggunakan segmen kabel twisted-pair point-to-point untuk
membentuk suatu struktur ring. Sebuah sistem diijinkan untuk mengirim hanya
bila sistem tersebut memiliki token (data unit khsusus yang digunakan
bersama-sama) yang akan dilewarkan dari satu sistem ke sistem lain sekitar
ring.
-
Komputer port adalah tempat dimana
informasi masuk dan keluar. Di PC contohnya monitor sebagai keluaran informasi,
keyboard dan mouse sebagai masukan informasi. Tetapi dalam istilah internet,
port berbentuk virtual (software) bukan berbentuk fisik seperti RS232 serial
port (untuk koneksi modem).
1.6. Prinsip Kerja TCP dan IP
Seperti yang telah dikemukakan di atas TCP/IP
hanyalah merupakan suatu lapisan protokol (penghubung) antara satu komputer
dengan yang lainnya dalam network, meskipun ke dua komputer tersebut memiliki
OS yang berbeda. Untuk mengerti lebih jauh marilah kita tinjau pengiriman
sebuah email. Dalam pengiriman email ada beberapa prinsip dasar yang harus
dilakukan. Pertama, mencakup hal-hal umum berupa siapa yang mengirim email,
siapa yang menerima email tersebut serta isi dari email tersebut. Kedua,
bagaimana cara agar email tersebut sampai pada tujuannya.Dari konsep ini kita
dapat mengetahui bahwa pengirim email memerlukan "perantara" yang
memungkinkan emailnya sampai ke tujuan (seperti layaknya pak pos). Dan ini
adalah tugas dari TCP/IP. Antara TCP dan IP ada pembagian tugas masing-masing.
TCP merupakan connection-oriented, yang berarti
bahwa kedua komputer yang ikut serta dalam pertukaran data harus melakukan
hubungan terlebih dulu sebelum pertukaran data (dalam hal ini email)
berlangsung. Selain itu TCP juga bertanggung jawab untuk me-nyakinkan bahwa
email tersebut sampai ke tujuan, memeriksa kesalahan dan mengirim-kan error ke
lapisan atas hanya bila TCP tidak berhasil melakukan hubungan (hal inilah yang
membuat TCP sukar untuk dikelabuhi). Jika isi email tersebut terlalu besar
untuk satu datagram, TCP akan membaginya kedalam beberapa datagram.
IP bertanggung jawab setelah hubungan berlangsung,
tugasnya adalah untuk meroute data packet di dalam network. IP hanya bertugas
sebagai kurir dari TCP dalam penyam-paian datagram dan "tidak bertanggung
jawab" jika data tersebut tidak sampai dengan utuh (hal ini disebabkan IP
tidak memiliki informasi mengenai isi data yang dikirimkan) maka IP akan
mengirimkan pesan kesalahan ICMP. Jika hal ini terjadi maka IP hanya akan
memberikan pesan kesalahan (error message) kembali ke sumber data. Karena IP
"hanya" mengirimkan data "tanpa" mengetahui mana data yang
akan disusun berikutnya menyebabkan IP mudah untuk dimodifikasi daerah
"sumber dan tujuan" datagram. Hal inilah penyebab banyak paket hilang
sebelum sampai kembali ke sumber awalnya.
Kata-kata Datagram dan paket sering dipertukarkan
penggunaanya. Secara teknis, datagram adalah kalimat yang digunakan jika kita
hendak menggambarkan TCP/IP. Datagram adalah unit dari data, yang tercakup
dalam protokol.
ICPM adalah kependekan dari Internet Control Message
Protocol yang bertugas memberikan pesan dalam IP. Berikut adalah beberapa pesan
potensial sering timbul.
a.
Destination unreachable, terjadi
jika host,jaringan,port atau protokol tertentu tidak dapat dijangkau.
b.
Time exceded, dimana datagram tidak bisa dikirim karena time to live habis.
c.
Parameter problem, terjadi kesalahan
parameter dan letak oktert dimana kesalahan terdeteksi.
d.
Source quench, terjadi karena router/host tujuan membuang datagram karena
batasan ruang buffer atau karena datagram tidak dapat diproses.
e. Redirect, pesan ini memberi saran kepada host
asal datagram mengenai router yang lebih tepat untuk menerima datagram tersebut
f.
Echo request dan echo reply message, pesan ini saling mempertukarkan data
antara host.
1.7. Format header protokol UDP,TCP,IP
1.7.1. UDP
UDP memberikan alternatif transport untuk proses
yang tidak membutuhkan pengiriman yang handal. Seperti yang telah dibahas
sebelumnya, UDP merupakan protokol yang tidak handal, karena tidak menjamin
pengiriman data atau perlindungan duplikasi. UDP tidak mengurus masalah
penerimaan aliran data dan pembuatan segmen yang sesuai untuk IP.Akibatnya, UDP
adalah protokol sederhana yang berjalan dengan kemampuan jauh dibawah TCP.
Header UDP tidak mengandung banyak informasi, berikut bentuk headernya :
++++++++++++++++++++++++++++++++++++++
+ Source Port + Destination
Port +
++++++++++++++++++++++++++++++++++++++
+ Length + Checksum +
++++++++++++++++++++++++++++++++++++++
-
Source port, adalah port asal dimana
system mengirimkan datagram.
-
Destination port, adalah port tujuan
pada host penerima.
-
Length, berisikan panjang datagram dan
termasuk data.
-
Checksum, bersifat optional yang
berfungsi utk meyakinkan bahwa data tidak akan mengalami kerusakan (korup)
1.7.2. TCP
Seperti yang telah dibahas sebelumnya, TCP merupakan
protokol yang handal dan bertanggung jawab untuk mengirimkan aliran data ke
tujuannya secara handal dan berurutan. Untuk memastikan diterimanya data, TCP
menggunakan nomor urutan segmen dan acknowlegement (jawaban). Misalkan anda
ingin mengirim file berbentuk seperti berikut
----------------------------------------------------------
TCP kemudian akan memecah pesan itu menjadi beberapa
datagram (untuk melakukan hal ini, TCP tidak mengetahui berapa besar datagram
yang bisa ditampung jaringan. Biasanya, TCP akan memberitahukan besarnya
datagram yang bisa dibuat, kemudian mengambil nilai yang terkecil darinya,
untuk memudahkan).
---- ---- ----
---- ---- ---- ---- ---- ---- ---- ---- ----
TCP kemudian akan meletakan header di depan setiap
datagram tersebut. Header ini biasanya terdiri dari 20 oktet, tetapi yang terpenting
adalah oktet ini berisikan sumber dan tujuan “nomor port (port number)” dan
“nomor urut (sequence number)”. Nomor port digunakan untuk menjaga data dari
banyaknya data yang lalu lalang. Misalkan ada 3 orang yang mengirim file. TCP
anda akan mengalokasikan nomor port 1000, 1001, dan 1002 untuk transfer file.
Ketika datagram dikirim, nomor port ini menjadi “sumber port (source port)” number untuk masing-masing
jenis transfer.Yang perlu diperhatikan yaitu bahwa TCP perlu mengetahui juga
port yang dapat digunakan oleh tujuan (dilakukan diawal hubungan). Port ini
diletakan pada daerah “tujuan port (destination port)”. Tentu saja jika ada
datagram yang kembali, maka source dan destination portnya akan terbalik, dan
sejak itu port anda menjadi destination port dan port tujuan menjadi source
port.
Setiap datagram mempunyai nomor urut (sequence
number) masing-masing yang berguna agar datagram tersebut dapat tersusun pada
urutan yang benar dan agar tidak ada datagram yang hilang. TCP tidak memberi
“nomor” datagram, tetapi pada oktetnya. Jadi jika ada 500 oktet data dalam
setiap datagram, datagram yang pertama mungkin akan bernomor urut 0, kedua 500,
ketiga 1000, selanjutnya 1500 dan eterusnya. Kemudian semua susunan oktet
didalam datagram akan diperiksa keadaannya benar atau salah, dan biasa disebut
dengan “checksum”. Hasilnya kemudian diletakan ke header TCP. Yang perlu
diperhatikan ialah bahwa checksum ini dilakukan di kedua komputer yang
melakukan hubungan. Jika nilai keberadaan susunan oktet antara satu checksum
dengan checksum yang lain tidak sama, maka sesuatu yang tidak diinginkan akan
terjadi pada datagram tersebut, yaitu gagalnya koneksi. Jadi inilah bentuk
datagram tersebut:
++++++++++++++++++++++++++++++++++++++++++++++++
+ Source Port
+ Destination port +
++++++++++++++++++++++++++++++++++++++++++++++++
+
Sequence number +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Acknowledenganment
number +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Data + |U|A|P
|R|S|F | +
+ offset + Reserved |R|C |S |S|Y|I | Window +
+ + |G|K|H|T|N|N|
+
++++++++++++++++++++++++++++++++++++++++++++++++
+ Checksum
|
Urgent pointer +
++++++++++++++++++++++++++++++++++++++++++++++++
+ data
anda ------ sampai 500 oktet berikut +
+ ------------ +
Jika kita misalkan TCP header sebagai “T”, maka
seluruh file akan berbentuk sebagai berikut :
T---- T----
T---- T---- T---- T---- T---- T---- T---- T---- T----
Ada
beberapa bagian dari header yang belum kita bahas. Biasanya bagian header ini
terlibat sewaktu hubungan berlangsung.
-
Seperti 'acknowledenganement number'
misalnya, yang bertugas untuk menunggu jawaban apakah datagram yang dikirim sudah
sampai atau belum. Jika tidak ada jawaban (acknowledenganement) dalam batas
waktu tertentu, maka data akan dikirim lagi.
-
Window berfungsi untuk mengontrol berapa
banyak data yang bisa singgah dalam satu waktu. Jika Window sudah terisi, ia
akan segera langsung mengirim data tersebut dan tidak akan menunggu data yang
terlambat, karena akan menyebabkan hubungan menjadi lambat.
-
Urgent pointer menunjukan nomor urutan
oktet menyusul data yang mendesak. Urgent pointer adalah bilangan positif
berisi posisi dari nomor urutan pada segmen. Reser-ved selalu berisi nol.
Dicadangkan untuk penggunaan mendatang.
-
Control bit (samping kanan reserved,
baca dari atas ke bawah). Ada enam kontrol bit :
a.
URG, Saat di set 1 ruang urgent pointer memiliki makna, set 0 diabaikan.
b.
ACK saat di set ruang acknowledenganement number memiliki arti.
c.
PSH, memulai fungsi push.
d.
RST, memaksa hubungan di reset.
e.
SYN, melakukan sinkronisasi nomor urutan untuk hubungan. Bila diset maka
hubungan di buka.
f.
FIN, hubungan tidak ada lagi.
1.7.3. IP
TCP akan mengirim setiap datagram ke IP dan meminta
IP untuk mengirimkannya ke tujuan (tentu saja dengan cara mengirimkan IP alamat
tujuan). Inilah tugas IP sebenarnya. IP tidak peduli apa isi dari datagram,
atau isi dari TCP header. Tugas IP sangat sederhana, yaitu hanya mengantarkan
datagram tersebut sampai tujuan (lihat bahasan sebelumnya). Jika IP melewati
suatu gateway, maka ia kemudian akan menambahkan header miliknya. Hal yang
penting dari header ini adalah “source address” dan “Destination address”,
“protocol number” dan “checksum”. “source address” adalah alamat asal datagram.
“Destination address” adalah alamat tujuan datagram (ini penting agar gateway
mengetahui ke mana datagram akan pergi). “Protocol number” meminta IP tujuan
untuk mengirim datagram ke TCP. Karena meskipun jalannya IP menggunakan TCP,
tetapi ada juga protokol tertentu yang dapat menggunakan IP, jadi kita harus
memastikan IP menggunakan protokol apa untuk mengirim datagram tersebut.
Akhirnya, “checksum” akan meminta IP tujuan untuk meyakinkan bahwa header tidak
mengalami kerusakan. Yang perlu dicatat yaitu bahwa TCP dan IP menggunakan
checksum yang berbeda.
Berikut
inilah tampilan header IP :
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ version
+ IHL + Type
of Service + Total Length +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ identification +
Flag + Fragment
Offset +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Time to live + Protocol +
Header Checksum +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
Source Address +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Destination
Address +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ TCP header, kemudian data ------- +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Jika kita misalkan IP header sebagai “I”, maka file
sekarang akan berbentuk :
IT---- IT----
IT---- IT----- IT----- IT----- IT----- IT----
Selanjutnya
berikut ringkasan mengenai bagian header :
a. Total
length, merupakan panjang keseluruhan datagram dalam oktet, termasuk header dan
data IP.
b. Identification,
digunakan untuk membantu proses penggabungan kembali pecahan-pecahan dari
sebuah datagram.
c. Flag,berisi
tiga kontrol flag.
d. bit
0, dicadangkan, harus 0.
-
Bit 1, tidak boleh pecah.
-
Bit 2, masih ada fragment lagi.
e. Fragment
offset, menunjukan posisi fragment di dalam datagram.
f. Time
to live, menunjukan batas waktu maksimal bagi sebuah datagram untuk berada pada
jaringan.
g. Option
Tidak ada komentar: