/TCP-over-UDP-Go-Back-N-Protocol

Implementation of TCP (three-way-handshake and Go-Back-N ARQ) over UDP socket Go-Back-N using Python

Primary LanguagePython

Tugas Besar 1 IF3130 : Implementasi Protokol TCP-like Go-Back-N

Dibuat untuk memenuhi Tugas Besar 1 IF3130 Jaringan Komputer.

Daftar Isi

Deskripsi Program

Merupakan suatu program sederhana memanfaatkan socket programming untuk mengimplementasikan protokol TCP-like. Selain itu, digunakan mekanisme pengiriman automatic repeat request (ARQ) Go Back N

Fitur Program

  1. Mampu mengirimkan data atau file dari server ke banyak client memanfaatkan protokol TCP-like dan algoritma Go Back N
  2. Optimasi manajemen memori dengan memanfaatkan seek
  3. Dukungan pengiriman metadata file kepada client
  4. Kemampuan paralelisasi pada server
  5. Implementasi algoritma hamming code 7 bit (Unintegrated with program)
  6. Permainan tic-tac-toe sederhana memanfaatkan protokol yang telah dibuat (Unfinished)

How To Use

  1. Clone repository ini dengan perintah

    git clone https://github.com/Sister20/tugas-besar-if3130-jaringan-komputer-amn-cabang-k2.git
  2. Untuk menggunakan program, nyalakan server terlebih dahulu dengan perintah

    python server.py [broadcast_port] [pathfile_input]

    Catatan: broadcast_port merupakan port yang akan di-listen oleh server. Pastikan bahwa file berada pada folder test

  3. Anda dapat memilih untuk mengaktifkan fitur paralelisasi pada server atau tidak

  4. Aktifkan client dengan menggunakan perintah

    python client.py [client_port] [broadcast_port] [pathfile_output]

    Catatan: broadcast_port merupakan port yang di-listen oleh server. File output akan diletakkan pada folder out

  5. Server dapat menerima request dari banyak client sekaligus. Ketika sudah siap, server akan melakukan file transfer kepada setiap client yang ada

  6. Anda dapat menjalankan perintah

    python server.py -h

    atau

    python client.py -h

    Untuk melihat panduan lebih lengkap

Authors

Name NIM
Go Dillon Audris 13521062
Austin Gabriel Pardosi 13521084
Michael Leon Putra Widhi 13521108