Session Layer bertanggung jawab untuk Dialog Control (mengatur giliran komunikasi), Token Management (mencegah dua pihak melakukan operasi kritis bersamaan), dan Synchronization (menandai titik-titik dalam aliran data untuk pemulihan).
Dialog Control dapat berupa Half-Duplex (komunikasi dua arah tapi bergantian, menggunakan token) atau Full-Duplex (komunikasi dua arah secara simultan).
Simulator ini mendemonstrasikan pembentukan sesi, penambahan titik sinkronisasi (checkpoint), simulasi kegagalan, dan pemulihan sesi dari checkpoint terakhir.
âī¸ Langkah-langkah Kerja Simulator
Start Session: Memulai sesi komunikasi antara Client dan Server. Garis koneksi akan berubah menjadi hijau, menandakan sesi aktif.
Send Data: Mensimulasikan pengiriman paket data melalui sesi yang sudah aktif.
Add Checkpoint: Menambahkan sebuah "titik sinkronisasi" pada sesi. Jika terjadi kegagalan, sesi dapat dipulihkan dari checkpoint terakhir ini, bukan dari awal.
Simulate Failure: Mensimulasikan gangguan pada koneksi. Garis koneksi akan berubah menjadi merah, dan pengiriman data tidak dapat dilakukan.
Recover Session: Mencoba memulihkan sesi setelah terjadi kegagalan. Jika ada checkpoint, sesi akan kembali aktif dari titik tersebut.
End Session: Mengakhiri sesi komunikasi secara normal. Garis koneksi akan kembali ke status awal dan semua checkpoint akan dihapus.
đģ Client
đĨī¸ Server
TKN
đ°ī¸ Session Layer Performance Simulator
Visualisasi sesi komunikasi dengan delay, loss, dan grafik performa.
âī¸ Langkah-langkah Kerja Simulator
Start/End Session: Membuka dan menutup jalur komunikasi.
Send Packet: Mengirimkan sebuah paket dari Client ke Server. Perhatikan animasi dan log latensi (waktu tempuh).
Add Delay: Menambahkan penundaan buatan pada jaringan untuk menyimulasikan koneksi yang lebih lambat.
Toggle Packet Loss: Mengaktifkan/menonaktifkan mode di mana beberapa paket mungkin hilang di tengah jalan (disimulasikan dengan probabilitas 30%).
đģ Client
đĨī¸ Server
đ Statistik Sesi
Total Paket: 0Paket Sukses: 0Paket Gagal: 0Rata-rata Delay: 0 ms
đī¸ Simulasi Pembentukan Sesi
Visualisasi pertukaran pesan untuk membentuk dan mengakhiri sesi komunikasi.
âī¸ Alur Kerja Simulator
Klik "Mulai / Langkah Berikutnya" untuk menjalankan simulasi tahap demi tahap.
Tahap 1: SESSION_REQUEST - Client meminta untuk memulai sesi dengan Server.
Tahap 2: SESSION_ACCEPT - Server menyetujui permintaan dan sesi menjadi aktif.
Tahap 3: DATA_TRANSFER - Simulasi pengiriman data setelah sesi aktif.
Tahap 4: SESSION_TERMINATE - Client meminta untuk mengakhiri sesi.
Reset: Mengembalikan simulasi ke kondisi awal.
đģ Client
Sesi Belum Aktif
đĨī¸ Server
đ Simulasi Sinkronisasi dan Recovery
Demonstrasi pemulihan sesi dari checkpoint terakhir setelah terjadi gangguan.
đ¯ Tujuan & Alur Kerja
Tujuan simulasi ini adalah untuk memahami bagaimana Session Layer memungkinkan pemulihan sesi yang efisien tanpa harus mengulang seluruh transmisi data dari awal.
Client akan mulai mengirim blok data dari 1 hingga 10.
Setiap blok data ke-3 (yaitu blok 3, 6, 9) akan ditandai sebagai checkpoint.
Saat pengiriman blok ke-7, sebuah gangguan koneksi akan disimulasikan.
Sesi akan mencoba pulih dan melanjutkan pengiriman data dari checkpoint terakhir yang valid (yaitu dari setelah blok 6).
Progres Pengiriman Data:
Blok Terkirim
Checkpoint
Gangguan
Pemulihan
đ Alur Peristiwa (Event Sequence) Sesi Dipulihkan
Visualisasi bagaimana client menyambung kembali sesi setelah koneksi terputus.
đ Penjelasan Alur
Saat sesi awal dibuat, client mendapat Session ID: #A01.
Ketika koneksi terputus, client mencoba menyambung kembali (reconnect) dengan ID sesi lama.
Server mengenali ID tersebut dan mengembalikan status komunikasi ke posisi terakhir (misalnya, sudah menerima data sampai bagian ke-20).
Komunikasi dilanjutkan dari titik itu tanpa kehilangan data.
đģ Client
Offline
đĨī¸ Server
Offline
Session ID: - | Data Terkirim: 0%
đ¤ Ilustrasi Fallback Negotiation
Visualisasi bagaimana client dan server menyetujui protokol alternatif saat protokol utama gagal.
đ Penjelasan Alur
Client mencoba memulai sesi dengan protokol modern (misal: TLS 1.3) untuk keamanan dan performa terbaik.
Server, yang mungkin merupakan sistem lama, tidak mendukung protokol tersebut dan menolak koneksi.
Client kemudian mencoba lagi (fallback) dengan protokol yang lebih tua dan lebih umum didukung (misal: TLS 1.2).
Server mengenali dan menerima protokol alternatif ini, dan sesi berhasil dibuat.