引言
在大家使用腾讯会议客户端过程中,偶尔会遇到一些网络问题,本文我会给大家分享一个案例,通过案例提供一些问题分析的思路和定位的方法,目的是希望下次大家再遇到类似问题时,这些思路方法可以帮助大家做一个初步的排查,高效定位解决。
腾讯会议接入的网络流程
我们现在每天已经习惯了用各种软件来工作娱乐,打开软件,开始用它,操作就是这么简单,但是从网络的角度来看一下,其实没有这么简单,实际上从用户到腾讯服务器的网络链路其实是比较长的一个流程,它大致是下面一个流向:
从上图可以看出,用户从打开会议的客户端开始,经过了多个环节,其中对于用户本地网络
和运营商网络
,我们是无法控制的(颜色代表可控程度,用户本地红色表示难控制,黄色是运营商网络,我们可以通过合作渠道提交需求,流程偏慢,绿色是腾讯网络,内部对接,效率高,质量好),不可控环节会有一些问题,这个后文案例中有分享,当流量达到腾讯的网络接入点,后续就会进入腾讯的内部专线,这部分由于有腾讯的专业团队维护,整体质量会好很多,出现问题我们解决的效率也会很快。
下面就以一个案例来分析一下。
案例
问题描述
【用户问题描述】:”刚安装了新版腾讯会议,登录以后会提示连接服务器异常,…………“ 【用户使用平台windows/Mac/安卓/IOS】: win10
问题分析定位
- Step 1. 初步排查。首先我们可以自助进行一个网络情况诊断,macOS的入口是
左上角腾讯会议-->偏好设置-->网络检测
,检测界面如下图:
- Step 3. 服务器端口连通性测试。如果到了上一步,问题就稍微深入一些了,需要用到一个
telnet
工具(安装方法和原理查看附录3),腾讯会议接入使用的是443
端口,需要通过以下命令来执行检测(Windows在cmd中执行、macOS在terminal中执行)
telnet conn.wemeet.tencent.com 443
我们来看这个用户的执行结果,
到了这一步,我们就开始怀疑,用户的访问请求,可能是被其本地网络给拦截或者屏蔽掉了,这里面可能是可能是路由的问题,可能是防火墙的问题,或者其他软件拦截,导致无法正常对我们服务器发送请求。接下来我们就先排查一下是不是路由的问题。
- Stop 4. 网络路由检查。如果到了上一步,可能网络问题就和本地网络管理策略有关系了,为了进行验证,我们进行了一次
路由追踪
操作,命令如下(以Windows为例,macOS下命令应该是traceroute,原理和使用场景详见附录4):
tracert -d IP
我们来看下该用户的执行结果:
定位到这一步,我们发现了问题,原来用户本地的网络,就没有把对腾讯接入机的访问请求发出来
。于是我们联系用户找其本地网络管理员,得知一个消息,
找到原因了
,原来是客户内部业务里面把一个42开头本来是属于公网IP的网段,用做内部业务的网段了
,所以这个请求会优先被发到内部业务系统去处理,也就永远不可能达到腾讯的接入机。
问题处理的思路和方法
- 临时解决办法。我们让客户先从WIFI切换到了4G,不再通过客户内部办公网的路径访问,而是运营商的路径来访问,问题得到了临时解决。
- 长远解决办法。
- IP段分散和增加多地址重试。遇到了这个问题后,腾讯会议内部业务团队高度重视,我们迅速组织讨论,大家列了很多解决方案,最终决定使用腾讯云Anycast IP(产品介绍,见附录5)来配置一些高质量加速IP地址,同时分散IP段,在一些常规连接流程统统异常后,作为重试地址(例如以上的情况),目前功能已经上线,全网全量新版落地,同类型问题应该能得到有效改善。
后记
在以上的案例当中,我们和大家分享了如何从头开始一步步简单的进行一个网络问题定位,其实这个不止适用于对腾讯会议产品网络问题的定位,对于任何的网络问题,都可以进行这些检查。对于以上的案例,我们业务自身努力通过技术手段极力避免,然而网络环境千变万化,百密一疏,如果大家下次再遇到类似问题,不妨自己先动手试试,应该能找到一些端倪,如果最终确实不能找到原因,也欢迎通过腾讯云官方网站,腾讯会议的反馈渠道向我们取得联系,我们一定全力协助大家。
腾讯会议官网&产品介绍
- 最后,欢迎大家踊跃下载使用腾讯会议产品,我们的官方网站是
https://meeting.tencent.com/
附录
- 附1.
- http://www.ruanyifeng.com/blog/2016/06/dns.html | DNS原理入门
- 附2.
- https://blog.csdn.net/inject2006/article/details/2139149 | ping 原理与ICMP协议
- 附3.
- https://blog.csdn.net/fengsen0515/article/details/77994098 | windows telnet 安装 开启
- https://www.jianshu.com/p/78c7f4ab19bd | Mac安装telnet
- https://blog.csdn.net/sundacheng1989/article/details/51005050 | Telnet 命令的使用与简单原理
- 附4.
- https://blog.csdn.net/qq_30135181/article/details/50992151| Tracert(traceroute)&Ping 工作原理分析
- 附5.
- https://cloud.tencent.com/product/aia | Anycast 公网加速 AIA
- 附6.
- https://cloud.tencent.com/document/product/1095 | 腾讯会议产品文档