ERWIN SEPTI F/100213300530/D3 Perputakaan UM
Tugas Kuliah 6 Jaringan Komputer, Pra UTS
1. Sebutkan
dan jelaskan jenis-jenis protokol pada jaringan komputer ?
2. Jelaskan perbedaan TCP dan UDP !
3. Bagaimana mekanisme 2 host dengan menggunakan protokol
TCP ?
A.
Jenis-Jenis Protokol
Jaringan Komputer
Protokol Jaringan adalah
satu set aturan yang mengatur online komunikasi di antara beberapa buah komputer
yang ada dalam suatu jaringan.
Peraturan-peraturan tersebut termasuk
pedoman yang mencakup beberapa kriteria-kriteria sebuah jaringan. Ini termasuk
cara mengakses, topologi fisik yang diizinkan, jenis-jenis perkabelan, dan
kecepatan pengiriman data. Protokol Jaringan diibaratkan sebagai bahasa
komunikasi antar komputer dalam jaringan.
Jenis-Jenis
Protokol Jaringan
Contoh-contoh protocol yang popular digunakan adalah :
1. Ethernet
2. Local Talk
3. Token Ring
4. FDDI
Protokol Jaringan Ethernet
Protokol Jaringan Ethernet merupakan
protokol yang paling banyak digunakan. Ethernet menggunakan cara mamsuknya
(access method) yang dikenal sebagai CSMA/CD (Carrier Sense Multiple
Access/Collision Detection)
Ia merupakan suatu sistem
dimana setiap komputer menunggu instruksi melakui kabel sebelum mengirim pesan
melalui jaringan, Jika jaringan ditemukan sibuk, barulah komputer tersebut
menyampaikan informasi atau pesan. Jika satu node lain sebelumnya telah
menyiarkan pesan melalui kabel, komputer tersebut akan menunngu dan akan
mencoba kembali ketika rute mengizinkan.
Terkadang ada dua komputer yang
kebetulan mengirim pesan pada waktu yang bersamaan. Bila kejadian ini terjadi
maka terjadilah tabrakan. Kedua komputer tersebut akan mundur sementara sebelum
mengirim pesan kembali. Dengan sistem pengiriman yang sebegini, pelanggaran
merupakan sesuatu yang lumrah. Namun, keterlambatan yang terjadi akibat
tabrakan dan pengiriman kembali data itu tadi, adalah kecil dan biasanya tidak
mempengaruhi kecepatan transmisi data di dalam jaringan.
Protokol Jaringan
Ethernet biasanya digunakan untuk topologi linier bus, bintang atau pepohonan. Data
bisa dikirim menggunakan kabel pasangan berpintal (twisted pair), kabel sipaksi
(coaxial) atau kabel fiber optik pada kecepatan 10 Mbps.
Protokol Jaringan Ethernet
Cepat (FAST ETHERNET)
Untuk meningkatkan pengiriman
informasi yang lebih cepat, protokol Ethernet telah membangun suatu standar
yang mendukung dan memungkinkan 100 Mbs. Inilah yang dikenal sebagai Ethernet
patas. Ethernet cepat membutuhkan penggunaan concentrator atau pusat yang
berbeda dan lebih mahal biayanya dan jaringan kartu antarmuka (network
interface card). Sebagai tambahan, kabel 5 pasangan berpintal (twisted pair)
atau kabel fiber optic jika perlu.
Protokol Jaringan Local Talk
Local Talk adalah protokol jaringan
yang dikembangkan oleh Apple Conmputer untuk komputer Macintosh, Cara yang
digunakan oleh Local Talk disebut CSMA/CA (Carrier Sense Multiple Access dengan
Collision Avoidance). Ia hampir sama dengan CSMA/CD kecuali komputer member sinyal
sebelum data akan dikirim. Adapter untuk Local Talk dan kabel pasangan
berpintal yang khusus bisa digunakan untuk menghubungkan satu seri komputer menggunakan
port bersiri. Sistem operasi Macintosh memungkinkan sistem operasi sesama
client (peer to peer) tanpa perlu perangkat lunak tambahan. Dengan penambahan
versi file server dan perangkat lunak AppleShare, sistem klien-server
(client-server) boleh dilaksanakan.
Protokol Local Talk
mengizinkan topologi linier bus atau topologi tree dengan menggunakan kabel
pasangan berpintal. Satu kekurangan kecil untuk Local Talk adalah dari segi
kecepatan. Kecepatan untuk pengiriman informasi untuk Local Talk hanya 230
Kbps.
Protokol Jaringan Token Ring
Protokol Jaringan Token
Ring dikem\bangkan oleh perusahaan
IBM pada pertengahan tahun 1980-an. Cara masuknya (access method) menggunakan
cara pengiriman informasi di dalam suatu lingkaran.
Di
dalam Token Ring, beberapa komputer dihubungkan untuk memungkinkan sinyal
tinggal di sepanjang onlne jaringan computer tersebut. Satun token elektronik
bergerak mengelilingi lingkaran dari satu komputer ke satu komputer dan jika komputer
tersebut tidak memiliki informasi untuk dikirim, ia akan bergerak melewati komputer
tersebut ke stasiun kerja berikutnya. Jika komputer tersebut akan mengirimkan
informas, ia akan mengisi data atau informasi kepada token yang datang
kepadanya.
Token tersebut kemudian
bergerak melanjutkan perjalanannya hingga ia sampai ke komputer di mana data
atau informasi tersebut akanm dikirimi. Pada titik ini, data atau informasi
tersebut akan diperoleh oleh komputer yang menerima.
Protokol Jaringan Token Ring
menghendaki topologi Star-Ring(star-wired ring) dengan petunjuk kabel pasangan
berpintal (twisted pair) atau kabel fiber optik. Ia bisa beroperasi pada
kecepatan 4 Mbps. Oleh karena penggunaan Ethernet yang semakin popular,
lingkungan sekolah semakin kurang menggunakan Gelang Token.
Protokol Jaringan Fiber
Distributed Data Interface (FDDI)
Merupakan satu protokol jaringan
terutama untuk menghubungan dua atau lebih jaringan area lokal, untuk meliputi
wilayah yang jauh jaraknya.
Cara masuk (access method)
yang digunakan oleh FDDI juga melibatkan pengiriman token. FDDI
menggunakan topologi fisik Ring kembar. Pengiriman biasanya terjadi pada salah
satu dari token atau Ring, namun begitu jika kegagalan di dalam jaringan, sistem
tersebut akan menggerakkan informasi secara otomatis menggunakan perjalanan
jaringan yang kedua menciptakan satu jaringan baru yang lengkap.
Kelebihan yang signifikann
untuk penggunaan FDDI adalah kecepatan di dalam pengiriman informasi. Ia
beroperasi menggunakan kabel fiber optic di 100 Mbps.
B. Perbedaan antara TCP dan UDP
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.
Protokol Komunikasi TCP/IP
Pada TCP/IP terdapat beberapa protokol sub yang menangani masalah komunikasi antar komputer. TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :
Pada TCP/IP terdapat beberapa protokol sub yang menangani masalah komunikasi antar komputer. TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :
1. Protokol
lapisan aplikasi : bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap
layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host
Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer
Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer
Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak
protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya
Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan
menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP
(NetBT).
2. Protokol
lapisan antar-host : berguna untuk membuat komunikasi menggunakan sesi koneksi
yang bersifat connection-oriented atau broadcast yang bersifat connectionless.
Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User
Datagram Protocol (UDP).
3. Protokol lapisan internetwork : bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
4. Protokol lapisan antarmuka jaringan : bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM))
3. Protokol lapisan internetwork : bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
4. Protokol lapisan antarmuka jaringan : bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM))
UDP ( User Datagram Protokol)
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. Protokol ini didefinisikan dalam RFC 768.
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. Protokol ini didefinisikan dalam RFC 768.
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.
* 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.
* UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
* UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
* UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
PENGGUNAAN UDP
UDP sering digunakan dalam beberapa tugas berikut:
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.
* 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 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 (0×11). 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.
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 (0×11). 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.
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.
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 Domain Name System (DNS) Name Query
67 BOOTP client (Dynamic Host Configuration Protocol [DHCP])
68 BOOTP server (DHCP)
69 Trivial File Transfer Protocol (TFTP)
137 NetBIOS Name Service
138 NetBIOS Datagram Service
161 Simple Network Management Protocol (SNMP)
445 Server Message Block (SMB)
520 Routing Information Protocol (RIP)
1812/1813 Remote Authentication Dial-In User Service (RADIUS)
53 Domain Name System (DNS) Name Query
67 BOOTP client (Dynamic Host Configuration Protocol [DHCP])
68 BOOTP server (DHCP)
69 Trivial File Transfer Protocol (TFTP)
137 NetBIOS Name Service
138 NetBIOS Datagram Service
161 Simple Network Management Protocol (SNMP)
445 Server Message Block (SMB)
520 Routing Information Protocol (RIP)
1812/1813 Remote Authentication Dial-In User Service (RADIUS)
C. Mekanisme 2 Host dengan Protokol TCP
Transmission Control Protocol (TCP)
TCP adalah suatu protokol yang berada di lapisan
transport (baik itu dalam tujuh lapisan dalam model referensi OSI
atau model DARPA) yang berorientasi sambungan (connection – oriented)
dan dapat diandalkan (reliable), memastikan paket yang mencapai tujuan
sesuai keinginan pengirim. Pengirim dapat memastikan bahwa data yg dikirimkan
ke penerima diterima dengan baik tanpa kehilangan data, tiba dalam urutan yang
benar, dan tidak ada duplikasi. Ketika data tidak sampai dengan benar pada
penerima, data akan dikirim ulang oleh penerima. Bila ada paket data yang lost
atau hilang maka protokol TCP akan mengirim kembali dan apabila koneksinya
terputus datanya akan di request kembali, sehingga paket data yang kita
kirimkan itu pasti sampai ke pihak penerima.
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 bufferyang 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.
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.
Proses enkapsulasi data protokol TCP/IP: Data aplikasi + header TCP + header IP
+ header network interface (Ethernet, Token Ring, dll) + trailer network
interface.
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.
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.
Mekanisme Dasar TCP
TCP menggunakan 3 mekanisme dasar untuk memenuhi layanan connection-oriented
:
a) Paket-paket diberi label dengan nomor urutan
(sequence number) sehingga servis TCP pada penerima dapat menyusun paket
kembali dengan urutan yang tepat seperti saat sebelum dikirimkan.
b) TCP menggunakan
sistem ACK (acknowledgment),checksum, dan pengatur waktu untuk
memberikan kehandalan. Penerima bisa memberitahu pengirim saat mengetahui ada
paket yang belum datang atau terjadi error, atau pengirim bisa saja berasumsi
bahwa paket yang dia kirimkan belum sampai ketujuan jika dalam rentang waktu
tertentu penerima tidak memberikan acknowledgment. Pada kedua kasus tersebut,
pengirim akan mengirim ulang paket tersebut.
c) TCP menggunakan mekanisme yang
disebut windowing untuk meregulasi aliran paket; windowing mengurangi
kemungkinan paket dibuang karena buffer penerima terlalu penuh.
TCP melampirkan header pada data application layer; header mengandung
field-field untuk nomor urut (sequence number) dan informasi-informasi yang
diperlukan untuk mekanisme ini, dan juga berisi field-field untuk address yang
dinamakan port numbers (nomor port), yang
mengidentifikasikan aplikasi sumber dan aplikasi
tujuan dari data. Data aplikasi dengan lampiran TCP Headernya kemudian
dibungkus/dienkapsulasi kedalam paket IP untuk pengiriman.
Source dan Destination Port adalah field 16-bit yang
menentukan aplikasi sumber dan aplikasi tujuan data.
Seperti angka-angka lain yang dipakai oleh TCP/IP RFC 1700 mendeskripsikan
semua nomor port yang sering digunakan dan yang tidak. Port number untuk
aplikasi ini, ketika dipasangkan dengan IP address dari host aplikasi, disebut
sebagaisocket. Socket secara unik mengidentifikasikan setiap aplikasi dalam
network.
Sequence Number adalah angka 32-bit untuk menunjukkan letak/urutan
dimana data yang sudah dienkapsulasi diletakkan dalam data stream dari pengirim.
Misalnya, jika sequence number sebuah segment adalah 1343 dan segment terdiri
dari 512 octet data, maka segment berikutnya seharusnya memiliki sequence
number sebesar 1343 + 512 + 1 = 1856.
Acknowledgment Number adalah field 32-bit yang menunjukkan sequence
number berikutnya yang pengirim tunggu dari penerima. Jika sebuah host
menerima sebuah acknowledgment number yang tidak sesuai dengan sequence number
berikutnya yang seharusnya ia kirim, maka host berasumsi bahwa paket ada yang
hilang.
Header Length, kadang disebut Data Offset, adalah field 4-bit yang
mengindikasikan panjang header dalam 32-bit words. Field ini diperlukan untuk
mengenali permulaan suatu data karena panjang dari field
options bervariasi.
Reserved, field 4-bit yang selalu di set 0.
Flags adalah delapan bit 1 yang digunakan untuk mengontrol aliran dan
koneksi data. Flags dari kiri ke kanan adalah Congestion Window Reduced (CWR),
ECN-Echo (ECE), Urgent (URG), Acknowledgment (ACK), Push (PSH), Reset (RST),
Synchronize (SYN), dan Final (FIN).
Window Size adalah field 16-bit yang digunakan untuk mengontrol aliran
data. Field ini menentukan jumlah oktet, dimulai dengan oktet yang
diindikasikan oleh Acknowledgment Number, yang akan diterima oleh pengirim
segment dari komputer seberang sebelum komputer pengirim berhenti
mentransmisikan data dan menunggu acknowledgment.
Checksum berupa 16 bits, mencakup header dan data yang terenkapsulasi,
memungkinkan untuk mendeteksi error.
Urgent Pointer adalah field yang digunakan hanya saat flag URG di set.
Angka 16-bit akan ditambahkan pada sequence number untuk mengindikasikan
berakhirnya data urgent.
Options, seperti namanya, menunjukkan pilihan yang dibutuhkan oleh proses
TCP pengirim. Option yang paling sering digunakan adalah ukuran Maximum
Segment, yang memberitahukan penerima ukuran segment terbesar yang pengirim
sepakati. Field sisanya diisi dengan 0 untuk memastikan header length adalah
kelipatan dari 32 octet.
Contoh Penggunaan TCP:
- Web Browser (http)
- Https
- Telnet
- File transfer Sumber :
Tidak ada komentar:
Posting Komentar