Kiểm tra chức năng TCP bằng CLI OT

Xem nguồn trên GitHub

OpenThread cung cấp các lệnh TCP dùng với mạng Thread để kiểm thử kết nối ngang hàng hoạt động giao tiếp giữa các điểm cuối TCP. cli tcp cung cấp một TCP mẫu điểm cuối và một trình nghe TCP mẫu mà tất cả các lệnh tcptương tác với nhau.

Phần tổng quan về lệnh và ví dụ sau đây cung cấp thông tin về cách khởi chạy ví dụ về điểm cuối TCP và trình nghe TCP, cách kết nối với điểm cuối TCP ngang hàng, và cách gửi tin nhắn cho người dùng ngang hàng.

lệnh TCP

Để xem danh sách các lệnh tcp, hãy nhập help:

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Để biết nội dung mô tả và cú pháp của tất cả các lệnh, hãy tham khảo Tài liệu tham khảo về lệnh CLI. Các lệnh TCP bắt đầu theo thứ tự bảng chữ cái với Huỷ tcp.

Lệnh init

Dùng lệnh tcp init để khởi chạy mô-đun TCP nhằm bắt đầu giao tiếp TCP. Sau đó, mô-đun TCP có thể thực hiện nhiều chức năng, chẳng hạn như theo dõi tin nhắn đến các kết nối bằng trình nghe TCP mẫu do CLI tcp cung cấp. Để huỷ khởi tạo trình nghe TCP mẫu và điểm cuối của TCP mẫu, ra lệnh tcp deinit.

Lệnh bind

Để liên kết điểm cuối TCP mẫu sau khi bạn đã khởi chạy mô-đun TCP, chạy lệnh tcp bind để chỉ định một địa chỉ IPv6 và một cổng cho điểm cuối TCP. Thao tác này sẽ liên kết điểm cuối dùng để giao tiếp. Chỉ định địa chỉ IPv6 và cổng còn được gọi là "đặt tên cho điểm cuối".

Lệnh listen

Để sử dụng trình nghe TCP mẫu sau khi bạn đã khởi chạy mô-đun TCP, chạy lệnh tcp listen rồi chỉ định địa chỉ IPv6 và cổng nghe.

Để ngăn trình nghe TCP mẫu theo dõi các kết nối TCP đến, ra lệnh tcp stoplistening.

Lệnh connect

Lệnh tcp connect kết nối điểm cuối TCP mẫu với một địa chỉ điểm cuối TCP ngang hàng.

Lệnh send

Sau khi thiết lập kết nối giữa 2 nút, hãy phát lệnh tcp send để gửi tin nhắn cho người dùng ngang hàng.

Lệnh benchmark

Sau khi thiết lập kết nối TCP giữa hai nút, nếu muốn, hãy sử dụng Các lệnh benchmark để gửi một lượng lớn dữ liệu giữa các nút để kiểm thử băng thông mạng và hiệu suất mạng. Số byte được truyền tính bằng mili giây cũng như TCP Goodput sẽ được cung cấp trong kết quả benchmark.

Lệnh abort

Để chấm dứt kết nối TCP ngay lập tức mà không cần thông thường, hãy chạy tcp abort trên một trong hai nút để chuyển điểm cuối của TCP sang trạng thái đóng.

Lệnh sendend

Khi một nút hoàn tất gửi dữ liệu đến nút kia, nút đầu tiên có thể đưa ra lệnh tcp sendend để cảnh báo nút thứ hai không còn mong đợi . Nút thứ hai cũng có thể gửi tcp sendend đến nút đầu tiên. Sau khi mỗi nút nhận được thông báo TCP: Disconnected, kết nối TCP giữa hai nút bị xé xuống. Nên nhưng không bắt buộc phát lệnh này khi quá trình chuyển dữ liệu hoàn tất.

Gửi thông báo giữa hai nút

  1. Trên nút 1, khởi chạy mô-đun CLI của TCP, sau đó nghe các kết nối đến bằng cách sử dụng trình nghe TCP mẫu.

    tcp init
    tcp listen :: 30000
    

    Việc sử dụng :: cho biết listen nên dùng địa chỉ IPv6 không xác định, do đó khiến ngăn xếp TCP/IPv6 gán địa chỉ IPv6. Cổng là 30000.

  2. Trên Nút 2, khởi chạy mô-đun CLI của TCP, kết nối với nút 1 rồi gửi một thông điệp đơn giản.

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

Xác minh

Dựa trên các bước ví dụ nêu trên, kết quả sau sẽ mong đợi:

  • Sau khi Nút 2 chạy lệnh tcp connect, Nút 2 sẽ nhận được thông báo TCP: Connection established.
  • Sau đó, nút 1 sẽ nhận thông báo (ví dụ về địa chỉ và cổng IPv6):
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • Sau khi Nút 2 chạy lệnh tcp send, Nút 1 sẽ nhận được tin nhắn TCP: Received 5 bytes: hello