端游广播机制在阿里云的配置方案

简介: 原作者:阿里云解决方案架构师,爅冉。对于重度网络通信依赖的端游,怎样在阿里云上配置UDP广播机制,可以在本文中找到答案。

1. 客户需求场景

对于传统端游来说,后台服务端架构通常都很复杂,各个服务器之间需要进行重度的网络通信。如果采用单播通信,就需要服务器随时知晓其他服务器的变动,整个架构往往变得十分笨重。出于对开发灵活性和节省主机计算资源的考虑,目前很多端游各个服务器之间仍然在使用udp广播通信。

2. 基本原理

在目前阿里云的经典网络和VPC网络环境下,由于底层交换机使用了三层交换机,因此不支持二层组播和广播。为了满足客户组播和广播的需求,可以使用单播的方式模拟组播。基本实现原理如下图:

b697ea3f7f133ee0a5656ac4d8f7d38a2e48dc8e

3. Windows环境配置

Windows环境下,多播工具包括服务端udptopoint和客户端udptomulti,服务端安装在需要发送多播数据包的ECS上,客户端安装在需要接收多播数据包的ECS上。

3.1 安装

Windows多播代理程序通过安装包来安装。双击udptopoint-1.3.1.exeudptomulti-1.1.1.exe安装包程序来安装,按照提示来安装。安安装目录:C:\udptopoint 和 C:\udptomulti。

4638bed9b14396847bbae4e188aeb2b53f0854fc

f5ef3dbe0194ce8a3835c4b9059b17c192de947b

安装说明:

1.     在安装过程中如果检测到winpcap已经安装,直接取消安装便可,也可继续覆盖安装。

2.     如果没有安装winpcap,则需要点击安装,如下图所示:

d5694d1a07f076c63e44c009087f9b66d048d754

3.2 配置

3.2.1 服务端配置

当组播工具安装成功后,运行udptopoint.exe,将会自动执行多播转单播的后台服务,在任务管理器->服务 里可以看到当前服务运行状态。

服务端需要配置多播组以及添加对应的多播成员。主要通过配置文件的形式进行配置。配置文件名称为server_cfg.json.txt。配置文件的格式如下所示:

服务端配置文件格式:

{

  "multi_group_array":[

    {

      "group_ip":"224.2.2.1",

      "group_port":4321,

      "server_port":4322,

      "member_array":[

        "172.16.1.1",

        "172.16.1.2",

        "172.16.1.3"

      ]

    }

  ]

}

说明:group_ip:多播组IP。

group_port:多播组端口,即在服务器端发起的多播端口。

server_port:代理程序的通信端口,即将多播转换成单播使用的端口。

member_array:多播组的成员IP。

服务端辅助工具——send_reload_point_cfg:

目前支持的命令为reload和list命令。

reload命令作用:重新加载配置文件。每当重新修改配置文件后,都需要执行该命令重新加载配置文件。

list命令作用:显示当前代理系统的收发包情况。

使用方法:

终端输入reload或者list命令。

79e51cd91a598d1d6941bdb2e5c00ccdc0a83e00

3.2.2  客户端配置

当组播工具安装成功后,运行udptomulti.exe,将会自动执行多播转单播的后台服务,在任务管理器->服务 里可以看到当前服务运行状态。

客户端需要配置加入的多播组信息,主要通过配置文件中的json数组进行配置,配置文件名称为client_cfg.json.txt。配置文件的格式如下:

客户端配置文件格式:

{

    "multi_server_info_array":[

    {

    "server_ip":"10.65.251.14",

    "server_port":6000,

        "group_ip":"192.168.1.255",

        "group_port":6001

    }

  ]

}

说明:

  server_ip: 发送多播数据的源IP。

  server_port: 代理程序的通信端口,即单播使用的端口。

  group_ip: 多播组IP。即在接受消息后如果需要模拟的多播组IP。

  group_port: 应用程序的通信端口。即在接收消息后需要模拟的多播组端口。

客户端辅助工具——send_reload_multi_cfg:

目前支持的命令为reload和list命令。

reload命令作用:重新加载配置文件。每当重新修改配置文件后,都需要执行该命令重新加载配置文件。

List命令作用:显示当前代理系统的收发包情况。

4. Linux环境配置

4.1 安装

Linux用户组播工具服务器和客户端都打包成了一个主RPM包。目前提供的rpm包是:multicast_usr_tool-1.0.1-1.x86_64.rpm, 版本为1.0.1。安装方法如下:

sudo rpm -ivh multicast_usr_tool-1.0.3-1.el6.x86_64.rpm

可用rpm -q multicast_usr_tool-1.0.3-1.el6.x86_64 查询rpm包是否安装成功。成功安装rpm包后,会自动将用户态组播工具的服务器端程序和客户端程序安装到系统中。

4.2 配置

组播工具安装成功后,客户端启动程序安装目录为/usr/local/bin,配置文件目录为/etc/multicast/

首先利用 cd /usr/local/bin 命令进入到客户端所在目录,

执行source ~/.bashrc

启动: 

   客户端:

手动启动:(root权限)

 nohup multic_admin -R > /dev/null &                          

   服务端:

启动: (root权限)

service multis_monitord start

停止:

   客户端:

手动停止:ps aux|grep multic_admin找到运行进程的pid, 然后kill pid

   服务器:

root权限 service multis_monitord stop

查看运行状态:

    service multis_monitord status

5. 使用案例

d08b6033998fb724ac9c4d6218afa93691e181fc
如上图所示,ECS1为组播源,ECS2, ECS3和ECS4为组播成员,组播IP地址和端口分别为224.1.2.3:7134。此时ECS1上需要安装运行组播服务端,ECS2,ECS3和ECS4分别安装运行组播客户端。操作步骤如下:
Windows下修改udptopoint文件夹下server_cfg.json.txt文件,Linux下修改/etc/multicast/server_cfg.json.txt文件,配置如下:
{
    "multi_group_array": [
        {
"group_ip": "224.1.2.3",
"server_port": 7134,
            "group_port": 7134,
            "member_array": [
                "192.168.1.1",
                "192.168.1.2",
                "192.168.1.3"
            ],
        }
    ]
}
修改后需要用reload工具加载到当前运行的服务器程序中:
Linux下运行:
    server_reload_list
please input command[reload or list]#reload
Windows下运行:
send_reload_point_cfg
please input command[reload or list]#reload
若出现connection refused 提示,请检查服务udptopoint是否运行正常。

5.2 修改客户端配置文件

客户端以ECS2为例,Windows下修改udptopoint文件夹下client_cfg.json.txt文件,Linux下修改/etc/multicast/client_cfg.json.txt文件,配置如下:
client_cfg.json.txt
{
    "multi_server_info_array": [
        {
            "group_ip": "224.1.2.3",
            "group_port": 7134,
            "server_ip": "192.168.0.1",
            "server_port": 7134
        }
    ]
}
同样修改后需要用reload工具加载到当前运行的服务器程序中:
Linux下运行:
    client_reload_list
please input command[reload or list]#reload
Windows下运行:
send_reload_multi_cfg
please input command[reload or list]#reload
若出现connection refused 提示,请检查服务udptomulti是否运行正常。

5.3 注意事项和测试

注意事项:
• 客户端和服务端Server_port需要保持一致,否则收不到数据包。
• 系统会生成日志信息,windows在目录C:\udptomulti下的client_log.txt及C:\udptopoint下的server_log.txt中,linux在目录/etc/multicast/下的client_log.txt和server_log.txt中。
• 服务配置成功后,可使用抓包工具进行测试,windows下推荐使用wireshark,linux下推荐使用自带的tcpdump命令。
• 如不能正常通信,在进行错误排查时,排查顺序为 1、服务端检测组播包是否正常转化成单播包并成功发送。2、客户端检测是否正常接收到单播包,排查网络问题。3、客户端是否正常将单播包重新转换成组播包。

6. 最佳实践结果

经过组播工具改造后,客户的各个经典网络下ECS之间已能够正常通过广播方式通信。


目录
相关文章
|
22天前
|
编解码 对象存储
阿里云视频转码转码模板-配置工作流
阿里云视频转码转码模板-配置工作流
14 0
|
21天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
22天前
阿里云配置dcoker镜像仓库
阿里云配置dcoker镜像仓库
70 0
|
3天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
6天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
26天前
|
弹性计算 固态存储 调度
2024年阿里云服务器配置选择指南,新手整理
阿里云服务器配置选择指南:个人用户推荐轻量应用服务器或ECS通用算力型u1,适合小型网站和轻量应用。企业用户应选择企业级独享型如ECS计算型c7、通用型g7,保证高性能计算需求。配置选择要考虑CPU内存比例、公网带宽和系统盘。轻量服务器提供2核2G3M和2核4G4M选项,ECS实例则有多种规格以适应不同业务场景。公网带宽建议至少5M,系统盘可选高效云盘、SSD或ESSD。详细信息见[阿里云服务器产品页](https://www.aliyun.com/product/ecs)。
62 3
|
30天前
|
存储 弹性计算 运维
阿里云轻量应用服务器与标准型阿里云服务器ECS全面对比(配置、价格)
随着云计算技术的蓬勃发展,阿里云作为业界的佼佼者,推出了多样化的云服务器产品以满足不同用户群体的需求。在这些产品中,阿里云轻量应用服务器与标准云服务器(ECS)因其各自的特点而备受关注。下面,我们将从多个角度对这两款产品进行深入剖析,以帮助您更好地选择适合自身需求的云服务器。
649 2
|
30天前
|
存储 弹性计算 安全
阿里云2核8G配置服务器租用价格多少?
随着云计算技术的飞速发展,越来越多的企业和个人开始青睐云服务器,将其视为数据存储和运算的理想平台。而在这其中,阿里云作为国内领先的云服务提供商,其ECS云服务器以其卓越的性能和稳定的服务,赢得了广大用户的信赖与喜爱。那么,对于许多用户来说,他们可能好奇的是,阿里云2核8G服务器一年的费用究竟是多少呢?
97 1
|
30天前
|
弹性计算
2024阿里云服务器购买、续费、升级配置价格表新鲜出炉!
2024年阿里云服务器购买、续费、升级优惠政策整理,阿里云服务器优惠价格表:轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价,企业用户2核4G5M带宽199元一年。
391 2
|
1月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
164 1

热门文章

最新文章