用socat验证multicase(组播)和broadcast(广播) with k8s容器环境

安装socat

网络允许的话,可以使用yum install -y socat进行安装。

如果是在容器里面运行,建议使用静态链接的socat:

可以从此处下载: Release socat-v1.7.4.4 · ernw/static-toolbox · GitHub

确定网络接口地址和组播地址

bash 复制代码
#kubectl exec -it pod-node2 -- ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:F6:DE:E2
          inet addr:101.16.0.118  Bcast:101.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::200:ff:fef6:dee2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8063 (7.8 KiB)  TX bytes:4308 (4.2 KiB)


#kubectl exec -it pod-node3 -- ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:60:52:4B
          inet addr:101.16.0.119  Bcast:101.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::200:ff:fe60:524b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8090 (7.9 KiB)  TX bytes:2925 (2.8 KiB)

验证组播multicast

server侧运行命令行:

kubectl exec -it pod-node2 -- /usr/bin/socat-1.7.4.4-x86_64 -d UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:101.16.0.118,fork EXEC:hostname

client侧运行命令行:

kubectl exec -it pod-node3 -- /usr/bin/socat-1.7.4.4-x86_64 STDIO UDP4-DATAGRAM:224.1.0.1:6666,range=101.16.0.119/24

ip地址和rang需要从ifconfig命令中获取

实机运行效果

验证广播broadcast

server侧运行命令行:

kubectl exec -it pod-node2 -- /usr/bin/socat-1.7.4.4-x86_64 -dd UDP4-RECVFROM:6666,broadcast,fork EXEC:hostname

client侧运行命令行:

kubectl exec -it pod-node3 -- /usr/bin/socat-1.7.4.4-x86_64 -dd STDIO UDP4-DATAGRAM:101.16.255.255:6666,broadcast,range=101.16.0.119/16

ip地址和rang需要从ifconfig命令中获取

实机运行效果

server

client

官方操作文档

IP Multicasting with Socat

相关推荐
Kookoos2 小时前
ABP VNext + Tye:本地微服务编排与调试
微服务·云原生·架构·tye
掘金-我是哪吒7 小时前
分布式微服务系统架构第157集:JavaPlus技术文档平台日更-Java多线程编程技巧
java·分布式·微服务·云原生·架构
掘金-我是哪吒8 小时前
分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
java·分布式·微服务·云原生·架构
朱杰jjj8 小时前
Docker容器中无法使用vim、vi命令处理
docker·容器·vim
东林牧之8 小时前
CICD[软件安装]:docker安装gitlab
docker·容器·gitlab
cui_hao_nan17 小时前
Docker后端部署
运维·docker·容器
小张是铁粉19 小时前
docker在Linux的安装遇到的问题
linux·docker·容器
没有名字的小羊21 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
木鱼时刻21 小时前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
LCG元1 天前
云原生微服务间的异步消息通信:最终一致性与系统容错的架构实战
微服务·云原生·架构