라즈베리 파이의 멀티 캐스트 UDP
내 문제가 데비안, 라즈 비안으로 인한 것인지, 아니면 완전히 빠진 것이 있는지 알 수있을 정도로 좁히지 않았습니다.
멀티 캐스트 UDP를 사용하여 네트워크의 다른 장치에 내 응용 프로그램이 시작되어 특정 IP 주소에서 사용 가능하다는 것을 알리는 python 응용 프로그램이 있습니다.
UDP 멀티 캐스트 그룹은 239.255.250.250이고 포트는 9131입니다. tcpdump를 실행하면 보내려는 패킷이 실제로 데이터를 전송하는 것을 알 수 있지만 네트워크의 다른 시스템에서 어떤 것도 들어오는 것을 볼 수 없습니다.
동일한 멀티 캐스트 그룹 및 포트와 동일한 종류의 "비콘"을 사용하는 다른 장치가 있으며 해당 패킷이 다른 컴퓨터에서 전달되는 것을 볼 수 있습니다. 라우터에는 방화벽이 없으며 현재로서는 옵션이 없습니다.
다음은 실행 방법을 알고있는 기본 진단입니다. 나쁜 udp chksum은 아마 도움이되지 않는 것처럼 보이지만 실제로는 그것에 대해 아무것도 모릅니다.
ifconfig의 출력
eth0 Link encap:Ethernet HWaddr b8:27:eb:b2:79:12
inet addr:192.168.2.7 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1682 errors:0 dropped:0 overruns:0 frame:0
TX packets:1686 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:119105 (116.3 KiB) TX bytes:169570 (165.5 KiB)
앱이 실행되는 동안 tcpdump의 출력
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
03:29:15.722653 IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto UDP (17), length 221)
192.168.2.7.33335 > 239.255.250.250.9131: [bad udp cksum 0xae84 -> 0xaabe!] UDP, length 193
0x0000: 4500 00dd 0000 4000 0111 cb66 c0a8 0207 E.....@....f....
0x0010: efff fafa 8237 23ab 00c9 ae84 414d 5842 .....7#.....AMXB
0x0020: 3c4d 4143 2d41 4444 523d 6238 3a32 373a <MAC-ADDR=b8:27:
0x0030: 6562 3a62 323a 3739 3a31 323e 3c2d 5555 eb:b2:79:12><-UU
0x0040: 4944 3d32 3032 3438 3135 3937 3537 3734 ID=2024815975774
0x0050: 3930 3e3c 2d53 444b 436c 6173 733d 5574 90><-SDKClass=Ut
0x0060: 696c 6974 793e 3c2d 4d61 6b65 3d69 5275 ility><-Make=iRu
0x0070: 6c65 426f 783e 3c2d 4d6f 6465 6c3d 5265 leBox><-Model=Re
0x0080: 6d6f 7465 426f 783e 3c2d 5265 7669 7369 moteBox><-Revisi
0x0090: 6f6e 3d30 2e31 3e3c 2d50 6b67 5f4c 6576 on=0.1><-Pkg_Lev
0x00a0: 656c 3d47 4350 4b30 3032 3e3c 2d43 6f6e el=GCPK002><-Con
0x00b0: 6669 672d 5552 4c3d 6874 7470 3a2f 2f31 fig-URL=http://1
0x00c0: 3932 2e31 3638 2e32 2e37 3a38 303e 3c2d 92.168.2.7:80><-
0x00d0: 5374 6174 7573 3d52 6561 6479 3e Status=Ready>
^C
1 packet captured
1 packet received by filter
0 packets dropped by kernel
프로그램 실행 중 netstat 출력
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:31144 0.0.0.0:* 1510/dhclient
udp 0 0 0.0.0.0:33335 0.0.0.0:* 2089/python
udp 0 0 0.0.0.0:68 0.0.0.0:* 1510/dhclient
udp 0 0 192.168.2.7:123 0.0.0.0:* 1911/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 1911/ntpd