Menguji Fungsi TCP dengan OT CLI

Lihat sumber di GitHub

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

Ringkasan perintah dan contoh berikut memberikan informasi tentang inisialisasi contoh titik akhir TCP dan pemroses TCP, bagaimana terhubung ke titik akhir TCP peer, dan cara mengirim pesan ke rekan.

Perintah TCP

Untuk mengetahui daftar perintah tcp, ketik help:

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

init perintah

Gunakan perintah tcp init untuk melakukan inisialisasi modul TCP guna memulai komunikasi TCP. Modul TCP kemudian dapat melakukan banyak fungsi, seperti mendengarkan sinyal masuk menggunakan contoh pemroses TCP yang disediakan oleh CLI tcp. Untuk melakukan deinisialisasi contoh pemroses TCP dan contoh titik akhir TCP, berikan perintah tcp deinit.

bind perintah

Untuk mengikat contoh titik akhir TCP setelah Anda melakukan inisialisasi modul TCP, jalankan perintah tcp bind untuk menetapkan alamat IPv6 dan port ke endpoint TCP. Fungsi ini mengikat endpoint untuk komunikasi. Menetapkan alamat dan port IPv6 juga disebut sebagai "menamai titik akhir."

listen perintah

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

Untuk menghentikan contoh pemroses TCP mendengarkan koneksi TCP yang masuk, berikan perintah tcp stoplistening.

connect perintah

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

send perintah

Setelah koneksi tersambung antara dua node, buat perintah tcp send untuk mengirim pesan ke peer.

Perintah benchmark

Setelah koneksi TCP dibuat di antara dua {i>node<i}, secara opsional Perintah benchmark untuk mengirim data dalam jumlah besar antara node untuk diuji {i>bandwidth<i} dan kinerja jaringan. Jumlah byte yang ditransmisikan dalam milidetik serta TCP Goodput akan diberikan dalam hasil benchmark.

abort perintah

Untuk mengakhiri koneksi TCP dengan cepat dan begitu saja, jalankan tcp abort perintah pada kedua {i>node<i} untuk mengubah titik akhir TCP ke keadaan tertutup.

sendend perintah

Ketika satu {i>node<i} selesai mengirim data ke {i>node<i} lainnya, {i>node<i} pertama dapat mengeluarkan perintah tcp sendend untuk memberi tahu node kedua agar tidak lagi terjadi layanan otomatis dan data skalabel. Node kedua juga dapat mengirim tcp sendend ke node pertama. Setelah setiap node menerima pesan TCP: Disconnected, koneksi TCP di antara dua {i>node<i} akan dihancurkan. Direkomendasikan tetapi tidak diwajibkan untuk mengeluarkan perintah ini ketika transfer data selesai.

Mengirim pesan antara dua node

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

    tcp init
    tcp listen :: 30000
    

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

  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 ditunjukkan di atas, output berikut diharapkan:

  • Setelah Node 2 menjalankan perintah tcp connect, Node 2 akan menerima pesan TCP: Connection established.
  • Node 1 kemudian akan menerima pesan (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