OT KSA ile TCP İşlevselliğini Test Etme

Kaynağı GitHub'da görüntüle

OpenThread, eşler arası test için Thread ağıyla kullanılacak TCP komutları sunar arasındaki iletişimi sağlar. cli tcp, bir örnek TCP sağlar uç noktası ve tüm komutların etkileşim kurduğu bir örnek tcptamp dinleyicisi.

Komuta genel bakışlarda ve aşağıdaki örnek, başlatma hakkında bilgi sağlar TCP uç noktası ve TCP işleyicisi, eş TCP uç noktasına bağlanma, ve eşe nasıl mesaj gönderileceğini konuştuk.

TCP komutları

tcp komutlarının listesi için help yazın:

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Tüm komutların açıklamaları ve söz dizimi için CLI Komut Referansı'na bakın. TCP komutları alfabetik olarak tcp iptal'e dokunun.

init komutu

TCP iletişimini başlatmak için TCP modülünü başlatmak için tcp init komutunu kullanın. Bu işlemin ardından TCP modülü, gelen iletilerin verilerini dinleme ve tcp KSA tarafından sağlanan örnek TCP işleyiciyi kullanarak bağlantı kurar. Örnek TCP işleyiciyi ve örnek TCP uç noktasını devre dışı bırakmak için tcp deinit komutunu vermelidir.

bind komutu

TCP modülünü başlattıktan sonra örnek TCP uç noktasını bağlamak için TCP uç noktasına IPv6 adresi ve bağlantı noktası atamak için tcp bind komutu çalıştırın. Bu, iletişim için uç noktayı bağlar. IPv6 adresini ve bağlantı noktasını atama "ucu nokta adlandırma" olarak da adlandırılır.

listen komutu

TCP modülünü başlattıktan sonra örnek TCP işleyiciyi kullanmak için tcp listen komutu çalıştırarak IPv6 adresini ve dinleme bağlantı noktasını belirtin.

Örnek TCP dinleyicinin gelen TCP bağlantılarını dinlemesini durdurmak için tcp stoplistening komutunu vermelidir.

connect komutu

tcp connect komutu, örnek TCP uç noktasını bir eş TCP uç nokta adresine bağlar.

send komutu

İki düğüm arasında bağlantı kurulduktan sonra tcp send komutu yayınlayın iş arkadaşınıza bir ileti gönderin.

benchmark komutları

İki düğüm arasında TCP bağlantısı kurulduktan sonra isteğe bağlı olarak Test edilecek düğümler arasında büyük miktarda veri göndermek için kullanılan benchmark komutları ağ bant genişliği ve performansı. İletilen bayt sayısı (milisaniye cinsinden) ve TCP Goodput, benchmark sonuçlarında sağlanır.

abort komutu

TCP bağlantısını derhal ve beklenmedik şekilde sonlandırmak için tcp abort komutunu çalıştırın komutuna ekleyerek TCP uç noktasını kapalı duruma getirebilirsiniz.

sendend komutu

Bir düğüm diğer düğüme veri gönderme işlemini tamamladığında ilk düğüm ikinci düğümü artık beklememek üzere uyarmak için bir tcp sendend komutu yayınlayın dışı verilerdir. İkinci düğüm de ilk düğüme bir tcp sendend gönderebilir. Her düğüm bir TCP: Disconnected mesajı aldığında TCP bağlantısı parçalanması gerekir. Bu işlem önerilir ancak veri aktarımı tamamlandığında bu komutu verir.

İki düğüm arasında mesaj gönder

  1. Düğüm 1'de TCP CLI modülünü başlatın ve ardından gelen bağlantıları dinleyin kullanabilirsiniz.

    tcp init
    tcp listen :: 30000
    

    :: kullanımı, listen cihazının belirtilmemiş IPv6 adresini kullanması gerektiğini belirtir. Böylece TCP/IPv6 yığınının IPv6 adresi atamasını sağlayabilirsiniz. Bağlantı noktası 30000'dir.

  2. Düğüm 2'de TCP CLI modülünü başlatın, düğüm 1'e bağlanın ve basit bir mesaj verir.

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

Doğrulama

Yukarıda gösterilen örnek adımlara göre aşağıdaki çıkış beklenir:

  • Düğüm 2, tcp connect komutunu çalıştırdıktan sonra Düğüm 2 TCP: Connection established mesajı.
  • Ardından, Düğüm 1'in mesajları alması gerekir (örneğin, IPv6 adresi ve bağlantı noktasıyla):
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • Düğüm 2, tcp send komutunu çalıştırdıktan sonra Düğüm 1 TCP: Received 5 bytes: hello mesajı