OT CLI로 TCP 기능 테스트

<ph type="x-smartling-placeholder"></ph> GitHub에서 소스 보기

OpenThread는 P2P 테스트를 위해 스레드 네트워크와 함께 사용할 TCP 명령어를 제공함 통신할 수 있습니다 cli tcp는 하나의 샘플 TCP를 제공합니다. 엔드포인트와 모든 tcp 명령어가 상호작용하는 샘플 TCP 리스너 1개가 있습니다.

초기화에 대한 정보를 제공하는 명령어 개요 및 다음 예시 TCP 엔드포인트 및 TCP 리스너 예시, 피어 TCP 엔드포인트에 연결하는 방법 메시지를 피어에 보내는 방법을 알아봅니다.

TCP 명령어

tcp 명령어 목록을 보려면 help를 입력합니다.

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
드림 모든 명령어에 대한 설명과 구문은 CLI 명령어 참조를 확인하세요. TCP 명령은 tcp abort.

init 명령어

tcp init 명령어를 사용하여 TCP 모듈을 초기화하여 TCP 통신을 시작합니다. 그러면 TCP 모듈은 들어오는 패킷을 수신 대기하는 것과 같은 많은 기능을 tcp CLI에서 제공하는 TCP 리스너 예시를 사용한 연결 예시 TCP 리스너와 예시 TCP 엔드포인트를 초기화 해제하려면 tcp deinit 명령어를 실행합니다.

bind 명령어

TCP 모듈을 초기화한 후 예제 TCP 엔드포인트를 바인딩하려면 tcp bind 명령어를 실행하여 TCP 엔드포인트에 IPv6 주소와 포트를 할당합니다. 이렇게 하면 통신을 위해 엔드포인트가 바인딩됩니다. IPv6 주소 및 포트 할당 '엔드포인트 이름 지정'이라고도 합니다.

listen 명령어

TCP 모듈을 초기화한 후 TCP 리스너 예를 사용하려면 tcp listen 명령어를 실행하고 IPv6 주소와 수신 포트를 지정합니다.

예시 TCP 리스너가 들어오는 TCP 연결을 수신 대기하는 것을 중지하려면 tcp stoplistening 명령어를 실행합니다.

connect 명령어

tcp connect 명령어는 예시 TCP 엔드포인트를 피어 TCP 엔드포인트 주소에 연결합니다.

send 명령어

두 노드 간에 연결이 설정되면 tcp send 명령어를 실행합니다. 메시지를 피어에 보냅니다.

benchmark 명령어

두 노드 간에 TCP 연결이 설정되면, 선택적으로 테스트할 노드 간에 대량의 데이터를 전송하는 benchmark 명령어 네트워크 대역폭과 성능을 줄일 수 있습니다 밀리초 단위의 전송된 바이트 수 benchmark 결과에 TCP 유효 처리량이 제공됩니다.

abort 명령어

무의식적으로 TCP 연결을 즉시 종료하려면 다음을 실행합니다. tcp abort 커맨드를 실행하여 TCP 엔드포인트를 닫힌 상태로 전환합니다.

sendend 명령어

한 노드가 다른 노드로 데이터를 보내면 첫 번째 노드는 tcp sendend 명령어를 실행하여 두 번째 노드에 더 이상 예상하지 않음을 알립니다. 데이터를 수집하는 데 사용됩니다 두 번째 노드는 첫 번째 노드에 tcp sendend도 전송할 수 있습니다. 각 노드가 TCP: Disconnected 메시지를 수신하면 TCP 연결은 해체됩니다 권장사항이지만 필수는 아님 이 명령을 발행할 수 있습니다.

두 노드 간에 메시지 전송

  1. 노드 1에서 TCP CLI 모듈을 초기화한 후 수신 연결을 리슨합니다. 예시 TCP 리스너 사용

    tcp init
    tcp listen :: 30000
    

    ::를 사용하면 listen가 지정되지 않은 IPv6 주소를 사용해야 함을 나타냅니다. TCP/IPv6 스택이 IPv6 주소를 할당하도록 합니다. 포트는 30000입니다.

  2. 노드 2에서 TCP CLI 모듈을 초기화하고 노드 1에 연결한 다음 간단한 메시지로 응답합니다.

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

인증

위에 표시된 예시 단계에 따라 다음과 같은 결과가 출력됩니다.

  • 노드 2가 tcp connect 명령어를 실행하면 노드 2는 TCP: Connection established 메시지
  • 그러면 노드 1이 다음과 같은 메시지를 수신해야 합니다 (예: IPv6 주소 및 포트). <ph type="x-smartling-placeholder">
      </ph>
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • 노드 2가 tcp send 명령어를 실행하면 노드 1은 메시지 TCP: Received 5 bytes: hello