Hari ini, kita akan mulai dengan berfokus pada TCP. Sebelumnya di bab tentang pelapisan, kita telah membahas poin penting. Pada lapisan jaringan dan di bawahnya, koneksi host-to-host lebih dominan, yang berarti komputer Anda perlu mengetahui lokasi komputer lain agar dapat terhubung. Namun, komunikasi dalam jaringan seringkali merupakan komunikasi antarproses, bukan komunikasi antarmesin. Oleh karena itu, protokol TCP memperkenalkan konsep port. Sebuah port hanya dapat ditempati oleh satu proses, yang menyediakan komunikasi langsung antarproses aplikasi yang berjalan di host yang berbeda.
Tugas lapisan transport adalah menyediakan layanan komunikasi langsung antarproses aplikasi yang berjalan di host yang berbeda, sehingga lapisan ini juga dikenal sebagai protokol ujung ke ujung. Lapisan transport menyembunyikan detail inti jaringan, sehingga proses aplikasi dapat melihat seolah-olah terdapat saluran komunikasi ujung ke ujung yang logis antara kedua entitas lapisan transport.
TCP adalah singkatan dari Transmission Control Protocol dan dikenal sebagai protokol berorientasi koneksi. Artinya, sebelum satu aplikasi dapat mulai mengirim data ke aplikasi lainnya, kedua proses tersebut harus melakukan jabat tangan (handshake). Jabat tangan adalah proses yang terhubung secara logis yang memastikan transmisi yang andal dan penerimaan data yang teratur. Selama jabat tangan, koneksi dibangun antara host sumber dan tujuan dengan bertukar serangkaian paket kontrol dan menyepakati beberapa parameter dan aturan untuk memastikan keberhasilan transmisi data.
Apa itu TCP? (Mylinking'sKetuk JaringanDanBroker Paket Jaringandapat memproses Paket TCP atau UDP)
TCP (Transmission Control Protocol) adalah protokol komunikasi lapisan transport berbasis aliran byte yang berorientasi koneksi dan andal.
Berorientasi pada koneksi: Berorientasi koneksi berarti bahwa komunikasi TCP adalah satu-ke-satu, yaitu komunikasi ujung-ke-ujung titik-ke-titik, tidak seperti UDP, yang dapat mengirim pesan ke beberapa host pada saat yang sama, sehingga komunikasi satu-ke-banyak tidak dapat dicapai.
Dapat diandalkan: Keandalan TCP memastikan bahwa paket dikirimkan dengan andal ke penerima terlepas dari perubahan pada tautan jaringan, yang membuat format paket protokol TCP lebih kompleks daripada UDP.
Berbasis aliran byte: Sifat TCP yang berbasis pada aliran byte memungkinkan pengiriman pesan dalam ukuran apa pun dan menjamin urutan pesan: bahkan jika pesan sebelumnya belum diterima sepenuhnya, dan bahkan jika byte berikutnya telah diterima, TCP tidak akan mengirimkannya ke lapisan aplikasi untuk diproses dan secara otomatis akan membuang paket duplikat.
Setelah host A dan host B terhubung, aplikasi hanya perlu menggunakan jalur komunikasi virtual untuk mengirim dan menerima data, sehingga memastikan transmisi data. Protokol TCP bertanggung jawab untuk mengendalikan tugas-tugas seperti pembentukan, pemutusan, dan penahanan koneksi. Perlu dicatat bahwa di sini kita mengatakan jalur virtual hanya berarti membangun koneksi, sedangkan koneksi protokol TCP hanya menunjukkan bahwa kedua belah pihak dapat memulai transmisi data, dan untuk memastikan keandalan data. Node routing dan transport ditangani oleh perangkat jaringan; protokol TCP sendiri tidak menangani detail ini.
Koneksi TCP adalah layanan dupleks penuh, yang berarti host A dan host B dapat mengirimkan data dua arah dalam koneksi TCP. Artinya, data dapat ditransfer antara host A dan host B dalam aliran dua arah.
TCP menyimpan data sementara di buffer pengiriman koneksi. Buffer pengiriman ini merupakan salah satu cache yang disiapkan selama jabat tangan tiga arah. Selanjutnya, TCP akan mengirimkan data dalam cache pengiriman ke cache penerimaan host tujuan pada waktu yang tepat. Dalam praktiknya, setiap peer akan memiliki cache pengiriman dan cache penerimaan, seperti yang ditunjukkan di sini:
Buffer pengiriman adalah area memori yang dikelola oleh implementasi TCP di sisi pengirim dan digunakan untuk menyimpan sementara data yang akan dikirim. Ketika jabat tangan tiga arah dilakukan untuk membuat koneksi, cache pengiriman diatur dan digunakan untuk menyimpan data. Buffer pengiriman disesuaikan secara dinamis berdasarkan kepadatan jaringan dan umpan balik dari penerima.
Buffer penerima adalah area memori yang dikelola oleh implementasi TCP di sisi penerima yang digunakan untuk menyimpan sementara data yang diterima. TCP menyimpan data yang diterima dalam cache penerima dan menunggu aplikasi di atasnya untuk membacanya.
Perhatikan bahwa ukuran cache pengiriman dan cache penerimaan terbatas, ketika cache penuh, TCP dapat mengadopsi beberapa strategi, seperti kontrol kemacetan, kontrol aliran, dll., untuk memastikan transmisi data yang andal dan stabilitas jaringan.
Dalam jaringan komputer, transmisi data antar host dilakukan melalui segmen-segmen. Jadi, apa itu segmen paket?
TCP menciptakan segmen TCP, atau segmen paket, dengan membagi aliran masuk menjadi potongan-potongan dan menambahkan header TCP ke setiap potongan. Setiap Segmen hanya dapat ditransmisikan untuk jangka waktu terbatas dan tidak boleh melebihi Ukuran Segmen Maksimum (MSS). Dalam perjalanannya, segmen paket melewati lapisan tautan. Lapisan tautan memiliki Unit Transmisi Maksimum (MTU), yang merupakan ukuran paket maksimum yang dapat melewati lapisan tautan data. Unit transmisi maksimum biasanya terkait dengan antarmuka komunikasi.
Jadi apa perbedaan antara MSS dan MTU?
Dalam jaringan komputer, arsitektur hierarkis sangat penting karena memperhitungkan perbedaan antar tingkatan. Setiap lapisan memiliki nama yang berbeda; pada lapisan transport, data disebut segmen, dan pada lapisan jaringan, data disebut paket IP. Oleh karena itu, Unit Transmisi Maksimum (MTU) dapat dianggap sebagai Ukuran paket IP Maksimum yang dapat ditransmisikan oleh lapisan jaringan, sedangkan Ukuran Segmen Maksimum (MSS) adalah konsep lapisan transport yang mengacu pada jumlah data maksimum yang dapat ditransmisikan oleh sebuah paket TCP pada satu waktu.
Perlu diketahui bahwa ketika Ukuran Segmen Maksimum (MSS) lebih besar daripada Unit Transmisi Maksimum (MTU), fragmentasi IP akan dilakukan pada lapisan jaringan, dan TCP tidak akan membagi data yang lebih besar menjadi segmen-segmen yang sesuai dengan ukuran MTU. Akan ada bagian pada lapisan jaringan yang didedikasikan untuk lapisan IP.
Struktur segmen paket TCP
Mari kita jelajahi format dan isi header TCP.
Nomor urut: Angka acak yang dihasilkan oleh komputer saat koneksi dibuat sebagai nilai awalnya saat koneksi TCP dibuat, dan nomor urut tersebut dikirimkan ke penerima melalui paket SYN. Selama transmisi data, pengirim akan menambah nomor urut sesuai dengan jumlah data yang dikirim. Penerima akan menilai urutan data berdasarkan nomor urut yang diterima. Jika ditemukan data yang tidak berurutan, penerima akan mengurutkan ulang data untuk memastikan urutannya.
Nomor pengakuan: Ini adalah nomor urut yang digunakan dalam TCP untuk mengonfirmasi penerimaan data. Nomor ini menunjukkan nomor urut data berikutnya yang diharapkan diterima oleh pengirim. Dalam koneksi TCP, penerima menentukan data mana yang telah berhasil diterima berdasarkan nomor urut segmen paket data yang diterima. Ketika penerima berhasil menerima data, ia mengirimkan paket ACK kepada pengirim, yang berisi nomor konfirmasi. Setelah menerima paket ACK, pengirim dapat mengonfirmasi bahwa data telah berhasil diterima sebelum mengonfirmasi nomor balasan.
Bit kontrol dari segmen TCP meliputi hal berikut:
bit ACK: Ketika bit ini bernilai 1, artinya bidang balasan pengakuan valid. TCP menetapkan bahwa bit ini harus bernilai 1, kecuali untuk paket SYN, ketika koneksi pertama kali dibuat.
bit RST: Bila bit ini bernilai 1, berarti mengindikasikan adanya pengecualian pada koneksi TCP dan koneksi harus dipaksa diputus.
bit SYN: Bila bit ini ditetapkan ke 1, artinya koneksi akan dibuat dan nilai awal nomor urut ditetapkan dalam bidang nomor urut.
bagian sirip: Bila bit ini bernilai 1, artinya tidak akan ada lagi data yang dikirim di masa mendatang dan koneksi diinginkan.
Berbagai fungsi dan karakteristik TCP diwujudkan oleh struktur segmen paket TCP.
Apa itu UDP? (Mylinking'sKetuk JaringanDanBroker Paket Jaringandapat memproses Paket TCP atau UDP)
User Datagram Protocol (UDP) adalah protokol komunikasi tanpa koneksi. Dibandingkan dengan TCP, UDP tidak menyediakan mekanisme kontrol yang kompleks. Protokol UDP memungkinkan aplikasi untuk langsung mengirim paket IP terenkapsulasi tanpa membuat koneksi. Ketika pengembang memilih untuk menggunakan UDP, alih-alih TCP, aplikasi berkomunikasi langsung dengan IP.
Nama lengkap Protokol UDP adalah User Datagram Protocol, dan header-nya hanya delapan byte (64 bit), yang sangat ringkas. Format header UDP adalah sebagai berikut:
Pelabuhan tujuan dan sumber: Tujuan utamanya adalah untuk menunjukkan proses mana UDP harus mengirim paket.
Ukuran paket:Bidang ukuran paket berisi ukuran header UDP ditambah ukuran data
Checksum:Dirancang untuk memastikan pengiriman header dan data UDP yang andal. Peran checksum adalah untuk mendeteksi apakah kesalahan atau kerusakan telah terjadi selama transmisi paket UDP untuk memastikan integritas data.
Perbedaan antara TCP dan UDP di MylinkingKetuk JaringanDanBroker Paket Jaringandapat memproses Paket TCP atau UDP
TCP dan UDP berbeda dalam aspek berikut:
KoneksiTCP adalah protokol transport berorientasi koneksi yang mengharuskan koneksi dibuat sebelum data dapat ditransfer. Di sisi lain, UDP tidak memerlukan koneksi dan dapat mentransfer data secara langsung.
Objek LayananTCP adalah layanan satu-ke-satu dua titik, artinya, sebuah koneksi hanya memiliki dua titik akhir untuk berkomunikasi satu sama lain. Namun, UDP mendukung komunikasi interaktif satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak, yang dapat berkomunikasi dengan beberapa host secara bersamaan.
KeandalanTCP menyediakan layanan pengiriman data yang andal, memastikan data bebas kesalahan, bebas kehilangan, tidak terduplikasi, dan tiba sesuai permintaan. Di sisi lain, UDP melakukan upaya terbaiknya dan tidak menjamin pengiriman yang andal. UDP dapat mengalami kehilangan data dan situasi lain selama transmisi.
Kontrol kemacetan, kontrol arusTCP memiliki mekanisme kontrol kongesti dan kontrol aliran, yang dapat menyesuaikan laju transmisi data sesuai kondisi jaringan untuk memastikan keamanan dan stabilitas transmisi data. UDP tidak memiliki mekanisme kontrol kongesti dan kontrol aliran, sehingga meskipun jaringan sangat padat, UDP tidak akan menyesuaikan laju pengiriman UDP.
Header di atas kepalaTCP memiliki header yang panjang, biasanya 20 byte, yang bertambah ketika kolom opsi digunakan. Di sisi lain, UDP memiliki header tetap hanya 8 byte, sehingga UDP memiliki overhead header yang lebih rendah.
Skenario Aplikasi TCP dan UDP:
TCP dan UDP adalah dua protokol lapisan transport yang berbeda, dan keduanya memiliki beberapa perbedaan dalam skenario aplikasi.
Karena TCP merupakan protokol berorientasi koneksi, protokol ini terutama digunakan dalam skenario yang membutuhkan pengiriman data yang andal. Beberapa kasus penggunaan umum meliputi:
Transfer berkas FTP:TCP dapat memastikan bahwa file tidak hilang dan rusak selama transfer.
HTTP/HTTPS: TCP memastikan integritas dan kebenaran konten web.
Karena UDP merupakan protokol tanpa koneksi, protokol ini tidak menjamin keandalan, tetapi memiliki karakteristik efisiensi dan waktu nyata. UDP cocok untuk skenario berikut:
Lalu lintas paket rendah, seperti DNS (Sistem Nama Domain):Permintaan DNS biasanya berupa paket pendek, dan UDP dapat menyelesaikannya lebih cepat.
Komunikasi multimedia seperti video dan audio: Untuk transmisi multimedia dengan persyaratan waktu nyata yang tinggi, UDP dapat menyediakan latensi yang lebih rendah untuk memastikan bahwa data dapat ditransmisikan tepat waktu.
Komunikasi siaran: UDP mendukung komunikasi satu-ke-banyak dan banyak-ke-banyak dan dapat digunakan untuk transmisi pesan siaran.
Ringkasan
Hari ini kita belajar tentang TCP. TCP adalah protokol komunikasi lapisan transport berbasis byte-stream yang berorientasi koneksi dan andal. Protokol ini memastikan transmisi yang andal dan penerimaan data yang teratur dengan membangun koneksi, jabat tangan, dan pengakuan. Protokol TCP menggunakan port untuk mewujudkan komunikasi antar proses, dan menyediakan layanan komunikasi langsung untuk proses aplikasi yang berjalan pada host yang berbeda. Koneksi TCP bersifat dupleks penuh, memungkinkan transfer data dua arah secara simultan. Sebaliknya, UDP adalah protokol komunikasi berorientasi koneksi, yang tidak memberikan jaminan keandalan dan cocok untuk beberapa skenario dengan persyaratan waktu nyata yang tinggi. TCP dan UDP berbeda dalam hal mode koneksi, objek layanan, keandalan, kontrol kongesti, kontrol aliran, dan aspek lainnya, dan skenario aplikasinya juga berbeda.
Waktu posting: 03-Des-2024