Menguji Fungsi TCP dengan OT CLI

Lihat sumber di GitHub

OpenThread menawarkan perintah TCP untuk digunakan dengan jaringan Thread guna menguji komunikasi peer-to-peer antara endpoint TCP. cli tcp menyediakan satu endpoint TCP sampel dan satu pemroses TCP sampel yang berinteraksi dengan semua perintah tcp.

Ringkasan perintah dan contoh berikut memberikan informasi tentang menginisialisasi contoh endpoint TCP dan pemroses TCP, cara terhubung ke endpoint TCP peer, dan cara mengirim pesan ke peer.

Perintah TCP

Untuk daftar perintah tcp, ketik help:

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Untuk mengetahui deskripsi dan sintaksis semua perintah, lihat Referensi Perintah CLI. Perintah TCP dimulai menurut abjad dengan tcp batalkan.

Perintah init

Gunakan perintah tcp init untuk melakukan inisialisasi modul TCP guna memulai komunikasi TCP. Selanjutnya, modul TCP dapat menjalankan banyak fungsi, misalnya memproses koneksi masuk menggunakan contoh pemroses TCP yang disediakan oleh CLI tcp. Untuk membatalkan inisialisasi pemroses TCP contoh dan contoh endpoint TCP, berikan perintah tcp deinit.

Perintah bind

Untuk mengikat contoh endpoint TCP setelah Anda menginisialisasi modul TCP, jalankan perintah tcp bind untuk menetapkan alamat IPv6 dan port ke endpoint TCP. Hal ini akan mengikat endpoint untuk komunikasi. Menetapkan alamat dan port IPv6 juga disebut sebagai "menamai endpoint."

Perintah listen

Untuk menggunakan contoh pemroses TCP setelah Anda menginisialisasi modul TCP, jalankan perintah tcp listen dan tentukan alamat IPv6 serta port pemroses.

Untuk menghentikan pemroses TCP contoh agar tidak memproses koneksi TCP yang masuk, berikan perintah tcp stoplistening.

Perintah connect

Perintah tcp connect menghubungkan contoh endpoint TCP ke alamat endpoint TCP peer.

Perintah send

Setelah koneksi dibuat di antara dua node, berikan perintah tcp send untuk mengirim pesan ke peer.

benchmark commands

Setelah koneksi TCP dibuat di antara dua node, Anda juga dapat menggunakan perintah benchmark untuk mengirim data dalam jumlah besar antar-node guna menguji performa dan bandwidth jaringan. Jumlah byte yang ditransmisikan dalam milidetik serta Goodput TCP akan diberikan di hasil benchmark.

Perintah abort

Untuk mengakhiri koneksi TCP dengan segera dan tanpa henti, jalankan perintah tcp abort pada salah satu node untuk mentransisikan endpoint TCP ke status tertutup.

Perintah sendend

Saat satu node selesai mengirimkan data ke node lainnya, node pertama dapat mengeluarkan perintah tcp sendend untuk memberi tahu node kedua agar tidak lagi mengharapkan data. Node kedua juga dapat mengirim tcp sendend ke node pertama. Setelah setiap node menerima pesan TCP: Disconnected, koneksi TCP antara kedua node tersebut akan dihapus. Namun, sebaiknya jangan berikan perintah ini saat transfer data selesai.

Mengirim pesan antara dua node

  1. Pada node 1, lakukan inisialisasi modul TCP CLI, lalu proses koneksi masuk menggunakan contoh pemroses TCP.

    tcp init
    tcp listen :: 30000
    

    Penggunaan :: menunjukkan bahwa listen harus menggunakan alamat IPv6 yang tidak ditentukan, sehingga stack TCP/IPv6 menetapkan alamat IPv6. Port-nya adalah 30.000.

  2. Pada Node 2, lakukan inisialisasi modul TCP CLI, hubungkan ke node 1, lalu kirim pesan sederhana.

    tcp init
    tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
    tcp send hello
    

Verifikasi

Berdasarkan contoh langkah yang ditampilkan di atas, output berikut akan diharapkan:

  • Setelah Node 2 menjalankan perintah tcp connect, Node 2 akan menerima pesan TCP: Connection established.
  • Kemudian, Node 1 akan menerima pesan tersebut (dengan contoh alamat dan port IPv6):
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • Setelah Node 2 menjalankan perintah tcp send, Node 1 akan menerima pesan TCP: Received 5 bytes: hello