Apa itu TCP?
TCP (Transmission Control Protocol) adalah protokol lapisan transport berorientasi koneksi transport.
Maksud dari artikel ini:
Untuk memahami seluruh TCP bukanlah tugas yang mudah. Pada artikel ini kita akan mencoba memahami pertukaran paket dasar TCP melalui Wireshark. Teori dapat dibaca melalui internet. Kami akan lebih fokus pada analisis pengambilan paket.
Mengapa TCP terkenal?
Ada beberapa alasan mengapa TCP begitu terkenal:
- TCP adalah protokol berorientasi koneksi sehingga keandalannya sangat tinggi.
- TCP dapat mengontrol kemacetan dengan sendirinya.
- TCP dapat mendeteksi kesalahan.
- TCP menggunakan protokol kontrol aliran.
- TCP memiliki fitur delay ACK.
- TCP memiliki fitur ACK selektif.
- TCP memiliki fitur panggilan windows untuk peningkatan throughput.
Ada begitu banyak fitur lain yang membuat TCP begitu terkenal.
Analisis TCP:
Kami akan mengikuti beberapa langkah untuk menghasilkan frame TCP.
Langkah 1: Cara sederhana untuk menghasilkan paket TCP adalah dengan mengakses situs web HTTP apa pun. Alasannya, HTTP adalah protokol lapisan aplikasi dan menggunakan TCP sebagai protokol lapisan transport yang mendasarinya.
Untuk mengetahui tentang HTTP, ikuti tautan di bawah ini
https://linuxhint.com/http_wireshark/
Langkah 2: Mulai Wireshark.
Langkah 3: Buka tautan di bawah ini di browser apa pun.
http://gaia.cs.banyak.edu/wireshark-lab/alice.txt
Langkah 4: Hentikan Wireshark dan masukkan TCP sebagai filter.
Langkah 5: ANALISIS
Sekarang kita akan melihat paket jabat tangan 3 arah TCP. Berikut adalah diagram sederhananya.
Bingkai 1: SYN [ Sinkronisasi ]
SYN adalah paket pertama yang datang dari klien ke server. Dalam kasus kami 192.168.1.6 adalah klien [Sistem tempat kami membuka browser] dan gaia.cs.banyak.edu adalah servernya.
Berikut adalah beberapa bidang penting dalam bingkai SYN
Bingkai SYN diperlukan untuk mengirim kemampuan klien ke server.
Bingkai 2: SYN+ACK [ Sinkronisasi + Pengakuan ]
SYN, ACK adalah paket kedua yang datang dari server ke klien.
Berikut adalah beberapa bidang penting dalam SYN, bingkai ACK
SYN, bingkai ACK diperlukan untuk mengirim kemampuan server ke klien.
Sekarang klien dan server telah berbagi kemampuan mereka.
Bingkai 3 : ACK [Pengakuan ]
ACK adalah paket ketiga yang datang dari klien ke server. Ini pada dasarnya adalah pengakuan dari klien ke server dan juga merupakan penerimaan kemampuan yang dikirim oleh server.
Berikut adalah bidang penting untuk ACK.
Mari kita periksa informasi penting yang dibagikan antara klien dan server:
KlienServer
Terima Ukuran Jendela: 64240 Byte Terima Ukuran Jendela: 29200 Byte
Ukuran segmen maksimum: 1460 byte Ukuran segmen maksimum: 1412 byte
KARUNG Diizinkan: Iya KARUNG Diizinkan: Iya
Skala jendela: 8 (kalikan dengan 256) Skala jendela: 7 (kalikan dengan 128)
Kami telah memperhatikan ada perbedaan nilai. Jika klien atau server menerima kemampuan orang lain maka jabat tangan 3 arah berhasil is.
Kepala TCP:
Berikut adalah bidang penting dari header TCP:
- Port sumber (16 bit): Ini adalah port pengirim.
- Port tujuan (16 bit): Ini adalah port penerima.
- Nomor urut (32 bit):
- Jika bit SYN diset [1] maka ini adalah nomor urut awal.
- Jika bit SYN tidak disetel [0] maka ini adalah akumulasi nomor urut dari byte data pertama dari segmen ini.
- Nomor pengakuan (32 bit): Jika bendera ACK diatur maka nilai bidang ini adalah nomor urut berikutnya yang diharapkan oleh pengirim ACK.
- Panjang Tajuk: Ukuran header dapat bervariasi dari 20 byte dan maksimum 60 byte.
- Bendera (9 bit):
… = Dicadangkan: Tidak disetel
… 0… = Nonce: Tidak diatur
… 0… = Congestion Window Reduced (CWR): Tidak disetel
… 0… = ECN-Echo: Tidak disetel
… 0… = Mendesak: Tidak diatur
… 0… = Pengakuan: Tidak disetel
… 0… = Dorong: Tidak disetel
… 0… = Atur Ulang: Tidak disetel
… 1. = Syn: Set
… 0 = Sirip: Tidak diatur
- Ukuran jendela (16 bit): Ini adalah ukuran jendela terima dalam byte.
- Checksum (16 bit):
Ini digunakan untuk memeriksa kesalahan tajuk.
Contoh: Checksum: 0x436f- Pointer mendesak (16 bit):
Ini adalah offset dari nomor urut yang menunjukkan byte data mendesak terakhir.
Contoh : Pointer mendesak: 0- Pilihan:
Opsi TCP - Ukuran segmen maksimum: 1460 byte
Opsi TCP - Tanpa Operasi (NOP)
Opsi TCP - Skala jendela: 8 (kalikan dengan 256)
Opsi TCP - SACK diizinkan
Pengamatan:
Ukuran TCP Header SYN adalah 32 Bytes.
Ukuran TCP Header SYN, ACK adalah 32 Bytes.
Ukuran TCP Header ACK adalah 20 Bytes karena tidak memiliki bidang opsi.
Data TCP:
Berikut adalah screenshot dengan penjelasan untuk data TCP dan TCP ACK. Di sini kita dapat melihat fitur TCP delay ACK. Server telah mengirim tiga paket data TCP ke klien dan klien telah mengirim satu penundaan ACK untuk memberi tahu server bahwa ia telah menerima ketiga paket data TCP. Itu sebabnya di TCP ACK [Nomor paket 96 di tangkapan layar] kita melihat ACK=14121 yang berarti klien telah menerima hingga 14121 byte.
Referensi:
Untuk teori dasar TCP lihat
https://en.wikipedia.org/wiki/Transmission_Control_Protocol