Hari ini, kita akan mulai dengan fokus pada TCP. Sebelumnya dalam bab tentang pelapisan, kita menyebutkan satu hal penting. Pada lapisan jaringan dan di bawahnya, lebih banyak tentang koneksi host ke host, yang berarti komputer Anda perlu mengetahui di mana komputer lain berada agar dapat terhubung dengannya. Namun, komunikasi dalam jaringan sering kali merupakan komunikasi antarproses daripada komunikasi antarmesin. Oleh karena itu, protokol TCP memperkenalkan konsep port. Sebuah port hanya dapat ditempati oleh satu proses, yang menyediakan komunikasi langsung antara proses aplikasi yang berjalan pada host yang berbeda.
Tugas lapisan transport adalah menyediakan layanan komunikasi langsung antara proses aplikasi yang berjalan pada host yang berbeda, sehingga lapisan ini juga dikenal sebagai protokol ujung ke ujung. Lapisan transport menyembunyikan detail inti jaringan, yang memungkinkan proses aplikasi melihat seolah-olah ada saluran komunikasi ujung ke ujung yang logis antara dua entitas lapisan transport.
TCP merupakan singkatan dari Transmission Control Protocol dan dikenal sebagai protokol berorientasi koneksi. Ini berarti bahwa sebelum satu aplikasi dapat mulai mengirim data ke aplikasi lain, kedua proses tersebut harus melakukan jabat tangan. Jabat tangan adalah proses yang terhubung secara logis yang memastikan transmisi yang andal dan penerimaan data yang teratur. Selama jabat tangan, koneksi dibuat antara host sumber dan tujuan dengan bertukar serangkaian paket kontrol dan menyetujui beberapa parameter dan aturan untuk memastikan transmisi data yang berhasil.
Apa itu TCP? (Tautan sayaKetuk JaringanDanBroker Paket Jaringandapat memproses Paket TCP atau UDP)
TCP (Transmission Control Protocol) adalah protokol komunikasi lapisan transport yang berorientasi koneksi, andal, dan berbasis aliran byte.
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 transmisi 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 membuat koneksi, 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 koneksi, pemutusan koneksi, dan penahanan koneksi. Perlu dicatat bahwa di sini kita mengatakan jalur virtual hanya berarti untuk membuat koneksi, koneksi protokol TCP hanya menunjukkan bahwa kedua belah pihak dapat memulai transmisi data, dan untuk memastikan keandalan data. Node perutean dan pengangkutan ditangani oleh perangkat jaringan; protokol TCP sendiri tidak peduli dengan detail ini.
Koneksi TCP adalah layanan dupleks penuh, yang berarti bahwa host A dan host B dapat mengirimkan data dalam kedua 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 adalah salah satu cache yang disiapkan selama jabat tangan tiga arah. Selanjutnya, TCP akan mengirim data dalam cache pengiriman ke cache penerimaan host tujuan pada waktu yang tepat. Dalam praktiknya, setiap rekan 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 yang digunakan untuk menyimpan sementara data yang akan dikirim. Saat jabat tangan tiga arah dilakukan untuk membuat koneksi, cache pengiriman disiapkan dan digunakan untuk menyimpan data. Buffer pengiriman disesuaikan secara dinamis menurut 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 di 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 pengendalian kemacetan, pengendalian aliran, dsb., 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 membuat segmen TCP, atau segmen paket, dengan membagi aliran masuk menjadi beberapa bagian dan menambahkan header TCP ke setiap bagian. Setiap Segmen hanya dapat ditransmisikan untuk jangka waktu terbatas dan tidak dapat 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 antara berbagai tingkatan. Setiap lapisan memiliki nama yang berbeda; dalam lapisan transport, data disebut segmen, dan dalam lapisan jaringan, data disebut paket IP. Oleh karena itu, Maximum Transmission Unit (MTU) dapat dianggap sebagai Ukuran paket IP Maksimum yang dapat ditransmisikan oleh lapisan jaringan, sedangkan Maximum Segment Size (MSS) adalah konsep lapisan transport yang mengacu pada jumlah maksimum data yang dapat ditransmisikan oleh paket TCP pada satu waktu.
Perhatikan 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 yang sesuai untuk 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 dikirim ke penerima melalui paket SYN. Selama transmisi data, pengirim menambah nomor urut sesuai dengan jumlah data yang dikirim. Penerima menilai urutan data sesuai dengan nomor urut yang diterima. Jika data ditemukan tidak sesuai urutan, penerima akan menyusun ulang data untuk memastikan urutan data.
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 berhasil diterima berdasarkan nomor urut segmen paket data yang diterima. Ketika penerima berhasil menerima data, ia mengirimkan paket ACK ke pengirim, yang berisi nomor konfirmasi pengakuan. Setelah menerima paket ACK, pengirim dapat mengonfirmasi bahwa data sebelum mengonfirmasi nomor balasan telah berhasil diterima.
Bit kontrol segmen TCP meliputi hal berikut:
Sedikit ACK: Jika bit ini bernilai 1, berarti bidang balasan pengakuan valid. TCP menetapkan bahwa bit ini harus ditetapkan ke 1 kecuali untuk paket SYN saat koneksi pertama kali dibuat.
Sedikit RST: Bila bit ini bernilai 1, artinya terdapat pengecualian pada koneksi TCP dan koneksi harus diputus paksa.
Sedikit SIN: Bila bit ini ditetapkan ke 1, artinya koneksi akan dibuat dan nilai awal nomor urut ditetapkan dalam bidang nomor urut.
sedikit 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)Ketuk 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 rumit. Protokol UDP memungkinkan aplikasi untuk langsung mengirim paket IP yang dienkapsulasi 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
Pemeriksaan jumlah: 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:
Koneksi: TCP adalah protokol transportasi berorientasi koneksi yang mengharuskan koneksi dibuat sebelum data dapat ditransfer. Di sisi lain, UDP tidak memerlukan koneksi dan dapat mentransfer data dengan segera.
Objek Layanan: TCP adalah layanan dua titik satu-ke-satu, yaitu 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 pada saat yang bersamaan.
Keandalan: TCP menyediakan layanan pengiriman data yang andal, memastikan bahwa 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 arus: TCP memiliki mekanisme kontrol kemacetan dan kontrol aliran, yang dapat menyesuaikan laju transmisi data sesuai dengan kondisi jaringan untuk memastikan keamanan dan stabilitas transmisi data. UDP tidak memiliki mekanisme kontrol kemacetan dan kontrol aliran, bahkan jika jaringan sangat padat, ia tidak akan melakukan penyesuaian terhadap laju pengiriman UDP.
Header di atas kepala: TCP memiliki header yang panjang, biasanya 20 byte, yang bertambah saat 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 berkas tidak hilang dan rusak selama transfer.
Bahasa Indonesia: HTTP/HTTPS: TCP memastikan integritas dan kebenaran konten web.
Karena UDP merupakan protokol tanpa koneksi, protokol ini tidak memberikan jaminan 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 dengan 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 antarproses, dan menyediakan layanan komunikasi langsung untuk proses aplikasi yang berjalan pada host yang berbeda. Koneksi TCP bersifat full-duplex, yang 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 mode koneksi, objek layanan, keandalan, kontrol kemacetan, kontrol aliran, dan aspek lainnya, dan skenario aplikasinya juga berbeda.
Waktu posting: 03-Des-2024