Saturday, May 18, 2019

Acknowledgment


Acknowledgment

Dalam jaringan data , telekomunikasi , dan bus komputer , sebuah pengakuan ( ACK ) adalah sinyal yang dikirimkan antara proses komunikasi , komputer , atau perangkat untuk menandakan pengakuan, atau penerimaan pesan, sebagai bagian dari protokol komunikasi . The negatif-pengakuan ( NAK atau NACK ) sinyal dikirim untuk menolak pesan yang diterima sebelumnya, atau untuk menunjukkan beberapa jenis kesalahan. Ucapan terima kasih dan ucapan terima kasih negatif memberi tahu pengirim tentang keadaan penerima sehingga dapat menyesuaikan keadaannya sendiri.

Seringkali, pesan data dalam telekomunikasi mengandung checksum untuk memverifikasi integritas payload dan header . Checksum berfungsi sedemikian rupa sehingga jika satu bit data rusak, checksum akan memiliki nilai yang berbeda, sehingga mereka dapat memberikan cara yang murah untuk memeriksa integritas sinyal ( kemungkinan ). Jika pesan diterima dengan checksum yang tidak valid (yaitu, data yang diterima akan memiliki checksum yang berbeda dari yang dimiliki pesan), penerima dapat mengetahui bahwa beberapa informasi rusak. Paling sering, ketika checksum digunakan, pesan rusak yang diterima tidak akan dilayani sinyal ACK, atau akan dilayani sinyal NAK.

Untuk membangun koneksi, TCP menggunakan three-way handshake. Sebelum klien mencoba terhubung dengan server, server harus terlebih dahulu mengikat dan mendengarkan port untuk membukanya untuk koneksi: ini disebut open pasif. Setelah pembukaan pasif ditetapkan, klien dapat memulai pembukaan aktif. Untuk membuat koneksi, three-way handshake (atau 3 langkah) terjadi:
  1. SYN: Buka aktif dilakukan oleh klien mengirim SYN ke server. Klien menetapkan nomor urut segmen ke nilai acak A.
  1. SYN-ACK: Sebagai tanggapan, server membalas dengan SYN-ACK. Nomor acknowledgment diatur ke satu lebih dari nomor urut yang diterima yaitu A + 1, dan nomor urut yang dipilih server untuk paket adalah nomor acak lain, B.
  1. ACK: Akhirnya, klien mengirim ACK kembali ke server. Nomor urut diatur ke nilai anknowled yang diterima yaitu A + 1, dan nomor pengakuan diatur ke satu lebih dari nomor urut yang diterima yaitu B + 1.

3 way handshake 




Pada titik ini, baik klien dan server telah menerima acknowledgment koneksi. Langkah 1, 2 menetapkan parameter koneksi (nomor urut) untuk satu arah dan diakui. Langkah 2, 3 menetapkan parameter koneksi (nomor urut) untuk arah lain dan diakui. Dengan ini, komunikasi full-duplex terjalin.

Banyak protokol berbasis pengakuan, yang berarti mereka secara positif mengakui penerimaan pesan. Internet itu Transmission Control Protocol (TCP) adalah contoh dari protokol berbasis pengakuan. Ketika komputer berkomunikasi melalui TCP, paket yang diterima diakui dengan mengirim kembali paket dengan set bit ACK. Protokol TCP memungkinkan pengakuan ini untuk disertakan dengan data yang dikirim dalam arah yang berlawanan.




Beberapa protokol mengirim satu pengakuan per paket informasi. Protokol lain seperti TCP dan ZMODEM memungkinkan banyak paket untuk ditransmisikan sebelum menerima pengakuan untuk salah satu dari mereka, sebuah prosedur yang diperlukan untuk mengisi tautan produk penundaan bandwidth tinggi dengan sejumlah besar byte dalam penerbangan.




Protokol lain berbasis NAK, artinya mereka hanya menanggapi pesan jika ada masalah. Contohnya termasuk protokol multicast paling andal yang mengirim NAK ketika penerima mendeteksi paket yang hilang. Protokol lain masih menggunakan NAK dan ACK. Binary Synchronous Communications (Bisync) dan Adaptive Link Rate (untuk Ethernet Hemat Energi ) adalah contohnya.




Protokol lain seperti protokol RC-5 , User Datagram Protocol (UDP), dan X10 melakukan transmisi buta tanpa pengakuan, sering mentransmisikan pesan yang sama beberapa kali dengan harapan bahwa setidaknya satu salinan pesan dapat dilewati.




Fungsi pengakuan digunakan dalam fungsi permintaan ulangi otomatis (ARQ). Bingkai pengakuan diberi nomor berkoordinasi dengan bingkai yang telah diterima, dan kemudian dikirim ke pemancar. Hal ini memungkinkan pemancar untuk menghindari overflow atau underrun pada penerima, dan untuk mengetahui adanya frame yang terlewat.




Dalam Binary Synchronous Communications , NAK digunakan untuk menunjukkan bahwa kesalahan transmisi terdeteksi di blok yang diterima sebelumnya dan bahwa penerima siap untuk menerima pengiriman ulang blok itu. Bisync tidak menggunakan karakter ACK tunggal, tetapi memiliki dua urutan kontrol untuk pengakuan blok genap / ganjil.


Protokol Pada Layer Transport


Ø  TCP

Transmission Control Protocol (TCP) adalah suatu protokol yang berada di transport layer (baik itu dalam model referensi OSI atau DARPA) yang connection-oriented dan reliable.

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. Positive Acknowledgment adalah sebuah indikasi transmisi/pengriman data yang dilakukan oleh komputer pengrim dan diterima oleh komputer penerima dengan sempurna. Sedangkan Negatif Acknowledgment (NAK) adalah sebuah indikasi jika data yang dikirim tidak sampai atau lambat ataupun juga data yang diterima tidak sama yang dimaksud. Maka komputer penerima mengrimkan pesan NAK ke komouter pengirim untuk mengirim data ulang yang sama (apa yang tujuan minta).

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-segmen :
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.
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.

TCP Header

Gambar : TCP dan UDP
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.


Ø  UDP

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol transport layer TCP/IP yang mendukung komunikasi unreliable, connectionless antara host-host dalam jaringan yang menggunakan TCP/IP.

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.

UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

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.

Header UDP

Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap.

Source : Klik Disini

Three Way Handshake


3-Way Handshake atau disebut pesan jaba tangan merupakan suatu metode yang digunakan untuk membangun TCP koneksi atau mengakhiri TCP koneksi. 3-way handshake diantaranya adalah "SYN-ACK SYN-ACK".


Metode ini dirancang sehingga ketika dua komputer mencoba memulai komunikasi akan dilakukan negosiasi parameter jaringan TCP terlebih dahulu. Metode ini juga dirancang sehingga kedua komputer dapat memulai dan bernegosiasi terpisah TCP koneksi socket pada waktu yang sama. berikut adalah deskripsi singkat ketika dua komputer memulai komunikasi:

-      - host A mengirim paket TCP SYN ke host B.
-      - host B menerima A SYN
-      - host B mengirim SYN-ACK chronize nowledgement
-      - host A menerima A SYN-ACK
-      - host A mengirim ACK nowledge
-      - host B menerima ACK
-      - TCP established soket koneksi.


Cara kerja 3-way Handshake: 

-      -Ketika dua host berkomunikasi menggunakan TCP, sambungan akan dibuat sebelum data dapat ditukar.

-       -Memastikan perangkat tujuan ada dalam jaringan.
-       -Verifikasi bahwa perangkat tujuan memiliki service yang aktif
     -Menginformasikan perangkat tujuan bahwa sumber bermaksud mendirikan sebuah sesi komunikasi pada nomor port tujuan.

-       ·Setelah komunikasi selesai sesi ditutup dan sambungan diakhiri.



Source : Klik Disini

Thursday, May 16, 2019

Transport Layer


·        Pengertian Transport Layer
Gambar : 7 Lapisan OSI Layer
Lapisan transport atau transport layer adalah lapisan keempat dari model referensi jaringan OSI. Lapisan transport bertanggung jawab untuk menyediakan layanan-layanan yang dapat diandalkan kepada protokol-protokol yang terletak di atasnya. Layanan yang dimaksud antara lain :
Mengatur alur (flow control) untuk menjamin bahwa perangkat yang mentransmisikan data tidak mengirimkan lebih banyak data daripada yang dapat ditangani oleh perangkat yang menerimanya.
Mengurutkan paket (packet sequencing), yang dilakukan untuk mengubah data yang hendak dikirimkan menjadi segmen-segmen data (proses ini disebut dengan proses segmentasi/segmentation), dan tentunya memiliki fitur untuk menyusunnya kembali.
Penanganan kesalahan dan fitur (acknowledgment) untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan lagi ketika memang data tidak sampai ke tujuan.
Multiplexing, yang dapat digunakan untuk menggabungkan data dari bebeberapa sumber untuk mengirimkannya melalui satu jalur data saja.
Pembentukan sirkuit virtual, yang dilakukan dalam rangka membuat sesi koneksi antara dua node yang hendak berkomunikasi. Contoh dari protokol yang bekerja pada lapisan transport adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) yang tersedia dari kumpulan protokol TCP/IP.
Fungsi lain dari lapisan transport adalah untuk memberikan layanan koneksi untuk protokol dan aplikasi yang berjalan di tingkat atasnya. Ini dapat dikategorikan sebagai layanan koneksi atau layanan connectionless. Sementara orientasi layanan koneksi dapat ditangani pada lapisan jaringan juga, mereka lebih sering terlihat pada lapisan transport dalam dunia nyata.
Beberapa protokol suite, seperti TCP / IP, menyediakan connection-oriented dan lapisan transport protokol connectionless, untuk memenuhi kebutuhan berbagai aplikasi. Lapisan transport mengontrol port sumber dan port tujuan paket, termasuk nomor urut paket yang dikirim.
Oleh karenanya, menggunakan mekanisme lapisan protokol transport file yang besar dapat dikirim dalam potongan paket kecil, yang kemudian digabungkan kembali di bagian penerima. Lapisan transport juga berusaha menjamin supaya paket yang diterima sampai ditujuan dengan selamat, jika ada kesalahan / kerusakan paket di jalan, maka [lapisan transport] ini yang akan berusaha memperbaikinya.

·        Unsur – unsur yang terdapat dalam lapisan transport
Dua protokol utama pada layer ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP). TCP menyediakan layanan pengiriman data handal dengan end-to-end deteksi dan koreksi kesalahan. TCP menyediakan layanan penuh lapisan transport untuk aplikasi, TCP juga dikatakan protokol transport untuk stream yang reliabel. Dalam konteks ini artinya TCP bermakna connection oriented, dengan kata lain: koneksi end-to-end harus dibangun dulu di kedua ujung terminal sebelum kedua ujung terminal mengirimkan data. UDP menyediakan layanan pengiriman datagram tanpa koneksi (connectionless) dan low-overhead. Kedua protokol ini mengirmkan data diantara Application Layer dan Internet Layer.

·        Beberapa peran dan fungsi transport layer antara lain :
Komunikasi end-to-end logik : Setiap host bisa saja memiliki lebih dari 1 aplikasi yang memanfaatkan network untuk proses komunikasi. Setiap aplikasi tersebut bisa saja berkomunikasi dengan satu atau lebih aplikasi pada host lain.
Segmenting : Layer transport bertanggung jawab untuk melakukan segmentasi data yang diterima dari layer atas (layer application). Setiap pecahan data hasil segmentasi akan di enkapsulasi dengan header yang berisi informasi-informasi layer transport seperti, nomor urut (sequence) dan juga port address pengirim dan penerima.
Reassembling data: Pada sisi penerima, transport layer memanfaatkan informasi yang ada pada header layer transport untuk menyusun ulang segmen-segmen data menjadi data yang utuh sebelum diberikan ke layer atas (application).
Identifikasi aplikasi (port-addresssing) : Agar data dapat disampaikan pada aplikasi yang tepat, layer transport harus mengidentifikasi target aplikasi yang dituju. Layer transport. Untuk itu layer transport memberikan identifier/addressing untuk aplikasi (service/layanan) yang disebut dengan port number.

·        Multiplexing/Demultiplexing
Gambar : Multiplexing dan Demultiplexing
Multiplexing adalah membundel input dari beberapa sumber menjadi satu output tunggal, sedangkan demultiplexing adalah menerima input dari satu sumber dan mengirimkannya pada beberapa output. Multiplexing, dalam hal ini, berarti menerima data dari aplikasi-aplikasi dan mesin yang berbeda dan mengarahkan data-data tersebut pada satu aplikasi tertentu yang berjalan pada komputer tujuan. Dengan kata lain, transport layer harus mampu mendukung beberapa aplikasi network secara simultan dan mengatur alur data kepada Internet Layer.
Pada komputer penerima,transport layer harus mampu menerima data dari Internet Layer dan mengarahkan data-data tersebut pada beberapa aplikasi yang berbeda. Fitur yang dikenal sebagai demultiplexing ini, memungkinkan sebuah komputer untuk men-support jalannya beberapa aplikasi network secara simultan, seperti web browser, email client, dan file-sharing. Aspek lain dari multiplexing/demultiplexing adalah satu aplikasi tunggal dapat me-maintain koneksi-koneksi dengan lebih dari satu computer.
Hal ini memungkinkan layer bawah (network) untuk memproses data tanpa memperhatikan aplikasi mana yang menginisiasi data tersebut, dan hanya focus pada mesin (host) yang dituju.
Reliable Delivery : Banyak hal yang bisa menyebabkan data korup atau hilang dalam proses. pengiriman, transport layer dapat memastikan penerima mendapatkan data tersebut dengan mengirim ulang data yang hilang.
Sequencing : Banyaknya rute untuk mencapai tujuan dapat menyebabkan data diterima tidak berurutan, transport layer dapat menyusun ulang data secara benar dengan adanya penomoran dan sequencing.
Flow control : Memori komputer atau bandwidth network tidak tak terbatas, transport layer bisa meminta aplikasi pengirim untuk mengurangi kecepatan pengiriman data. Hal ini dapat mengurangi hilangnya data dan proses pengiriman ulang.

·        Kelebihan Layer 4 (Transport) adalah:
-       menggunakan bahasa internet
-       menyediakan transmisi data yang handal dan penerimaan
-       kemudahan dalam transmisi
-       kemudahan dalam penanganan troubles
-       kemudahan dalam memasang kabel
-       biaya intalasi kabel rendah
-       efisien kabel
·         Kekurangan Layer 4 (Transport):
-       membutuhkan overhead yang cukup
-       mengalami kesulitan untuk pemasangan kabel dalam jumlah besar
-       sukar di implementasi untuk susunan yang tidak teratur
-       performance turun untuk banyak node
-       penanganan troubles rumit
-       biaya instalasi kabel tinggi
-       sistem pengkabelan rumit


Source : Klik Disini

Acknowledgment

Acknowledgment Dalam jaringan data , telekomunikasi , dan bus komputer , sebuah pengakuan ( ACK ) adalah sinyal yang dikirimkan anta...