본문으로 건너뛰기

브로드캐스트 ​

브로드캐스트 화면(브로드캐스트 및 탐색)은 UDP 페이로드 하나를 여러 목적지로 한꺼번에 보내고, 반대편에서 누가 응답하는지 듣습니다. 네트워크에서 장치를 찾거나, 멀티캐스트 스트림이 수신자에 도달하는지 확인하거나, 탐색 프로브에 응답하는 장치를 흉내 낼 때 씁니다.

  • 송신기는 호스트 목록, 브로드캐스트 주소, 멀티캐스트 그룹 또는 서브넷의 모든 호스트로 보냅니다. 한 번, 또는 비콘으로 계속 반복합니다.
  • 탐색 리스너는 포트에서 듣고, 멀티캐스트 그룹에 가입하며, 자신에게 말을 거는 모든 피어를 나열하고, 프로브에 응답할 수 있습니다.

DANGER

브로드캐스트, 멀티캐스트, 스윕은 마음에 둔 장치 하나만이 아니라 네트워크 세그먼트의 모든 장치에 도달하며, 비콘은 그것을 계속합니다. 먼저 어느 네트워크에 있는지 확인하고, 소유했거나 테스트가 허용된 네트워크로만 보내십시오. 아래의 한도는 안전 장치이지 허가가 아닙니다.

보내기 ​

  1. 모드를 고릅니다(아래 참고).
  2. 목적지를 입력합니다. 필드 이름은 모드에 따라 바뀝니다. IPv4 주소가 있는 네트워크에서는 내 서브넷 사용이 이 컴퓨터의 주소로 채웁니다.
  3. 페이로드를 고르고 작성합니다.
  4. 한 번 보내기 버튼을 누릅니다. 목적지마다 데이터그램 하나가 갑니다.

모드 ​

모드목적지일어나는 일기본값
목록대상: 쉼표, 세미콜론, 줄 바꿈으로 구분한 IP:port 또는 host:port 항목. 공백은 구분하지 않습니다. 이름은 조회하며, IPv4 주소가 있으면 그 주소를 씁니다.각각에 데이터그램 하나127.0.0.1:9000, 127.0.0.1:9001
브로드캐스트주소: 255.255.255.255:port 또는 .255로 끝나는 주소로컬 네트워크의 모든 호스트가 받는 데이터그램 하나. 라우터는 전달하지 않습니다.255.255.255.255:9000
멀티캐스트주소: 224.0.0.0부터 239.255.255.255까지의 그룹과 포트그룹에 데이터그램 하나. 가입한 리스너만 받습니다239.1.1.1:9000
스윕CIDR 블록, a.b.c.d/nn과 포트그 블록의 쓸 수 있는 모든 호스트에 유니캐스트로 데이터그램 하나. 브로드캐스트를 무시하는 장치용192.168.1.0/24, 포트 9000

스윕에서는 네트워크 주소와 브로드캐스트 주소를 건너뛰며(/31이나 /32는 예외), 네트워크 자체가 아닌 기준 주소는 그것으로 내림합니다. 192.0.2.77/30은 192.0.2.77과 192.0.2.78을 스윕합니다. 스윕은 최대 1024개 호스트에 도달하므로 가장 넓은 블록은 /22(1022개 호스트)입니다. 더 넓은 것은 좁힐 프리픽스와 함께 거부됩니다.

브로드캐스트, 멀티캐스트 그룹, 스윕, 탐색 리스너의 가입은 IPv4만입니다. IPv6에는 브로드캐스트가 없습니다. 목록는 IPv6 호스트도 지정할 수 있습니다 (소켓 옵션 참고).

내 서브넷 사용은 이 컴퓨터의 주소 x.y.z.w로부터 목록에는 x.y.z.10:9000, x.y.z.11:9000을, 브로드캐스트에는 x.y.z.255:9000을, 스윕에는 x.y.z.0/24를 채웁니다. /24 네트워크로 가정합니다.

페이로드 ​

페이로드보내는 것
OSCOSC 메시지: OSC 화면에서처럼 OSC 주소와 타입이 있는 인수. 기본값은 텍스트 who-is-there가 있는 /hello/discover.
텍스트텍스트를 UTF-8로, 입력한 그대로, 종단 문자 없이. 기본값 HELLO-PROBE.
원시 hexhex 바이트를 바이트 그대로. 캡처한 프레임을 재생하거나 이진 탐색 프로토콜을 말할 때. hex 숫자 쌍이며, 그 사이의 다른 것은 무시합니다. 기본값 48 45 4c 4c 4f.

소켓 옵션 ​

소켓 옵션는 설정 세 가지를 더 엽니다:

옵션내용기본값
바인드(송신 측)데이터그램이 나가는 로컬 IP:port. 고정하면 네트워크 카드를 고르거나, 장치가 응답하는 출발 포트를 정합니다. 0.0.0.0:0은 임의.0.0.0.0:0
TTL / 홉데이터그램이 지날 수 있는 라우터 수, 1–255. 멀티캐스트에서는 멀티캐스트 홉 제한입니다. 1이면 이 네트워크에 머뭅니다.1
이 호스트로 루프백멀티캐스트 전용: 그룹의 데이터그램을 이 컴퓨터에도 전달해, 여기 있는 리스너가 듣게 합니다켬

기본 바인드(송신 측)에서는 데이터그램이 IPv4 소켓에서 나가며, 모든 목적지가 IPv6일 때는 IPv6 소켓에서 나갑니다. 둘을 섞은 목록은 IPv4 소켓에서 보내므로 그 IPv6 목적지들은 실패합니다. 그것들은 별도의 목록으로 보내거나 바인드(송신 측)를 IPv6 주소로 고정하십시오.

결과 ​

마지막 송신은 나간 것을 보여 줍니다. 대상, 패킷, 전송량과 오류, 그리고 도달한 처음 여덟 목적지(나머지는 "… +n more")입니다. 한 목적지의 오류가 다른 목적지를 막지 않습니다. 콘솔 줄에는 몇 개가 실패했는지 나옵니다.

비콘으로 반복하기 ​

비콘은 같은 회차(목적지마다 데이터그램 하나)를 일정에 따라 중지할 때까지 보냅니다. 주기적인 알림을 기다리는 장치에는 비콘이 필요합니다.

  1. 한 번 보낼 때처럼 모드, 목적지, 페이로드를 설정합니다.
  2. 비컨으로 반복 아래에서 속도(/초)를 설정하고, 스스로 멈춰야 하면 라운드나 초를 설정합니다.
  3. 비컨 시작 버튼을 누릅니다. 비컨 중지 버튼이나 콘솔 표시줄에서 그 작업을 중지하면 끝납니다.
필드내용기본값
속도(/초)초당 회차. 0보다 커야 합니다2
라운드이 회차 수 뒤에 중지. 0이면 제한 없음0
초이 초 뒤에 중지. 0이면 제한 없음0

속도 곱하기 목적지 수는 초당 최대 50 000 데이터그램입니다. 따라서 /24(254개 호스트)의 스윕은 초당 약 196회까지 반복할 수 있습니다. 비콘이 도는 동안 마지막 송신에는 대상 (첫 보고부터 각 회차의 목적지), 합계, 라운드, PPS (초당 데이터그램)가 초당 네 번 갱신되어 표시되며, 한 번 보내기는 쓸 수 없습니다. 실패한 데이터그램이 32개를 넘고 보낸 것이 하나도 없으면(경로 없음, 브로드캐스트 불가) 비콘은 스스로 멈추고 이유를 말합니다.

장치 듣기 ​

탐색 리스너는 UDP 포트를 열고 그쪽으로 보내는 모든 피어를 기록합니다. 프로브에 응답하는 것, 또는 장치가 스스로 알리는 것입니다.

  1. 장치가 보내는 포트인 바인드 주소를 설정합니다.
  2. 멀티캐스트라면 멀티캐스트 그룹 가입에 그룹을 나열합니다.
  3. 수신 대기 버튼을 누릅니다. 수신 대기 중지 버튼을 누를 때까지 설정이 잠깁니다.
필드내용기본값
바인드 주소들을 위치, IP:port. 0.0.0.0은 모든 네트워크 카드에서 듣습니다.0.0.0.0:9000
멀티캐스트 그룹 가입가입할 IPv4 멀티캐스트 그룹, 쉼표로 구분. 비어 있으면 유니캐스트와 브로드캐스트만239.1.1.1
인터페이스그룹에 가입할 네트워크 카드의 IPv4 주소. 비어 있으면 시스템이 고릅니다비어 있음
포트 공유다른 프로그램도 쓰는 포트에서 듣습니다(SO_REUSEADDR). 그 프로그램도 공유를 허용할 때만 동작합니다.켬
프로브에 응답장치처럼 프로브에 응답합니다(아래)끔

피어 ​

피어에는 무언가를 보낸 이가 최근 순으로 나열되며, 그 위에 본 피어 수, 들은 패킷, 보낸 회신이 표시됩니다:

열내용
피어보낸 이의 IP:port. 그 점은 지난 3초 안에 들렸는지 보여 줍니다
프로토콜마지막 데이터그램이 OSC로 디코딩되면 osc, 아니면 udp
패킷보낸 개수
경과마지막 데이터그램 이후 경과한 초
마지막 메시지마지막 데이터그램: OSC 주소와 인수, 또는 텍스트의 시작

목록은 초당 몇 번 갱신되며 최대 512개 피어를 담습니다. 그 이상이면 패킷은 계속 세지만 새 피어에는 행이 생기지 않습니다.

프로브에 응답하기 ​

프로브에 응답를 켜면 리스너가 장치를 흉내 냅니다. 받은 각 데이터그램에 대해, 수신 포트에서 보낸 이의 주소와 포트로 회신합니다.

필드내용기본값
페이로드회신: 보낼 때처럼 OSC, 텍스트 또는 hex텍스트 signal-lab이 있는 OSC /hello/here
회신 지연(ms)느린 장치처럼, 응답하기 전에 이만큼 기다립니다0
다음을 포함할 때만디코딩된 텍스트에 이것이 들어 있는 데이터그램에만 응답합니다(OSC 주소와 인수, 또는 텍스트의 시작). 비어 있으면 모두비어 있음

리스너는 자기 회신과 똑같은 데이터그램에는 절대 응답하지 않으므로, 서로를 가리킨 두 리스너가 끝없이 주고받지 않습니다.

방화벽과 공유 포트 ​

다른 컴퓨터에서 오는 브로드캐스트와 멀티캐스트 트래픽은 대부분의 Windows 방화벽이 기본으로 차단합니다. 앱이 제안할 때 사설 네트워크에서 Signal Lab을 허용하십시오. 브로드캐스트는 라우터를 절대 넘지 않습니다. 실제 서비스가 이미 쓰는 포트에서 들으려면 양쪽 모두 공유를 허용해야 합니다(여기서는 포트 공유). 그것이 없으면 사용 중인 포트는 켜라는 힌트와 함께 거부됩니다. 문제 해결을 참고하십시오.

인스펙터에서 ​

캡처가 켜져 있으면 이 화면의 트래픽이 페이로드에 따라 osc 또는 udp 프로토콜로 나타납니다:

출처내용개수
broadcast한 번 보내기: 각 데이터그램, 판정은 fan-out, broadcast, multicast, sweep. 실패한 것은 error: …모두
beacon비콘의 회차50 ms마다 최대 한 회차
discovery리스너가 받는 데이터그램40 ms마다 최대 하나
discovery그 회신, 판정은 auto-reply모두

인스펙터가 비콘이나 리스너에서 뺀 것은 집계됩니다. 다음에 그리는 프레임이 그 수를 판정에 담습니다, +n not shown(비콘은 빠진 각 회차의 목적지마다 프레임 하나). 인스펙터를 참고하십시오.

서버나 Docker에서 ​

서버에서는 이 화면이 서버의 네트워크에서 보내고 듣습니다. Docker에서는 컨테이너가 Linux 호스트에서 호스트의 네트워크(--network host)를 쓸 때만 브로드캐스트, 멀티캐스트, 탐색이 로컬 네트워크에 도달합니다. Docker의 기본 브리지 네트워크나 Docker Desktop에서는 컨테이너가 닿을 수 있는 호스트로의 유니캐스트만 동작합니다.

그 밖에 ​

  • signallab send udp는 호스트 하나에 데이터그램 하나를 보냅니다. 명령줄 브로드캐스트, 멀티캐스트, 스윕은 없습니다.
  • UDP 데이터그램 단계는 하나 이상의 호스트에 텍스트 데이터그램을 보내고, UDP 대기 단계는 하나를 기다립니다. UDP와 TCP를 참고하십시오.
  • 도착한 것으로 회신을 만드는 여러 규칙으로 응답하는 장치를 흉내 내려면 UDP 장치나 OSC 장치 에뮬레이터를 쓰십시오. 에뮬레이터를 참고하십시오.

문제 ​

보이는 것흔한 원인
… is not a broadcast address브로드캐스트는 255.255.255.255:port나 .255로 끝나는 주소를 받습니다. 다른 서브넷 마스크에는 스윕를 쓰십시오.
… is not a multicast group주소가 224.0.0.0–239.255.255.255 밖에 있습니다.
… spans … addresses, and a sweep reaches at most 1024 hosts블록이 /22보다 넓습니다. 좁히십시오.
Set the port to sweep포트가 0입니다.
… is over the … pps limit속도 곱하기 목적지 수가 초당 50 000을 넘습니다. 속도(/초)를 낮추거나 목적지를 좁히십시오.
… is already in use — turn on “share the port” to listen alongside it다른 프로그램이 그 포트를 씁니다. 포트 공유를 선택하십시오.
Cannot join the multicast group …그룹이나 인터페이스가 이 컴퓨터에서 쓸 수 없습니다. 그 주소의 네트워크 카드가 없거나 멀티캐스트 경로가 없습니다.
보냈지만 아무도 응답하지 않음장치들이 다른 포트에서 듣거나, 여기 방화벽이 그 응답을 막거나, 사이에 라우터가 있거나, Docker에서는 컨테이너가 호스트 네트워크에 있지 않습니다.
프로브는 나가지만 탐색 리스너가 응답을 듣지 못함많은 장치가 프로브가 나온 주소와 포트로 응답합니다. 이미터 자체의 소켓이며, 화면은 그것을 읽지 않습니다. 장치가 응답하는 포트에서 듣거나, 실험에서 프로브를 보내십시오. 회신 대기가 있는 UDP 데이터그램 단계는 같은 포트에서 보내고 듣습니다.

모든 오류 메시지는 오류 메시지에 나열되어 있습니다.