用户网络环境下使用腾讯会议报网络异常的一个案例分析

2020-11-06 10:19:10 浏览数 (1)

引言

在大家使用腾讯会议客户端过程中,偶尔会遇到一些网络问题,本文我会给大家分享一个案例,通过案例提供一些问题分析的思路和定位的方法,目的是希望下次大家再遇到类似问题时,这些思路方法可以帮助大家做一个初步的排查,高效定位解决。

腾讯会议接入的网络流程

我们现在每天已经习惯了用各种软件来工作娱乐,打开软件,开始用它,操作就是这么简单,但是从网络的角度来看一下,其实没有这么简单,实际上从用户到腾讯服务器的网络链路其实是比较长的一个流程,它大致是下面一个流向:

从上图可以看出,用户从打开会议的客户端开始,经过了多个环节,其中对于用户本地网络运营商网络,我们是无法控制的(颜色代表可控程度,用户本地红色表示难控制,黄色是运营商网络,我们可以通过合作渠道提交需求,流程偏慢,绿色是腾讯网络,内部对接,效率高,质量好),不可控环节会有一些问题,这个后文案例中有分享,当流量达到腾讯的网络接入点,后续就会进入腾讯的内部专线,这部分由于有腾讯的专业团队维护,整体质量会好很多,出现问题我们解决的效率也会很快。

下面就以一个案例来分析一下。

案例

问题描述

【用户问题描述】:”刚安装了新版腾讯会议,登录以后会提示连接服务器异常,…………“ 【用户使用平台windows/Mac/安卓/IOS】: win10

问题分析定位
  • Step 1. 初步排查。首先我们可以自助进行一个网络情况诊断,macOS的入口是左上角腾讯会议-->偏好设置-->网络检测 ,检测界面如下图:
一般出现网络问题,这里服务器连接一般会检测异常。一般出现网络问题,这里服务器连接一般会检测异常。
  • Step 2. DNS、Ping测试。遇到1中的问题,我们可以对conn.wemeet.tencent.com这个域名进行一些基础连通性检测,这个域名是腾讯会议接入的门户域名。我们现在看下要做哪些测试并看下该用户当时的检查情况:
    • DNS解析测试。这个测试可以检查用户是否可以正常将域名转换成IP地址。互联网上所有的域名都需要换成IP地址,然后对IP地址发出网络连接请求,这个就是DNS(原理介绍详见附录1),如果这里有问题,用户将不能获得腾讯会议的接入IP,也就不能正常请求。
该用户解析测试看到域名已换成IP 42.x.x.x,这是腾讯IP,说明DNS正常该用户解析测试看到域名已换成IP 42.x.x.x,这是腾讯IP,说明DNS正常
  • Ping测试。这是网络连通性的常见测试,通过对对端发包然后接受返回来确定网络链路是否正常(原理介绍详见附录2)。还是继续看上面的截图,可以看到ping得到的结果是100% 丢失,也就是用户的网络数据包,无法正常送达到腾讯的接入服务器
  • Step 3. 服务器端口连通性测试。如果到了上一步,问题就稍微深入一些了,需要用到一个telnet工具(安装方法和原理查看附录3),腾讯会议接入使用的是443端口,需要通过以下命令来执行检测(Windows在cmd中执行、macOS在terminal中执行)
代码语言:javascript复制
telnet conn.wemeet.tencent.com 443

我们来看这个用户的执行结果,

 返回连接失败,说明该用户无法对我们服务器入口进行建连动作 返回连接失败,说明该用户无法对我们服务器入口进行建连动作

到了这一步,我们就开始怀疑,用户的访问请求,可能是被其本地网络给拦截或者屏蔽掉了,这里面可能是可能是路由的问题,可能是防火墙的问题,或者其他软件拦截,导致无法正常对我们服务器发送请求。接下来我们就先排查一下是不是路由的问题。

  • Stop 4. 网络路由检查。如果到了上一步,可能网络问题就和本地网络管理策略有关系了,为了进行验证,我们进行了一次路由追踪操作,命令如下(以Windows为例,macOS下命令应该是traceroute,原理和使用场景详见附录4):
代码语言:javascript复制
tracert -d IP

我们来看下该用户的执行结果:

 这里从1开始是用户数据包在各级路由器的流动路径,可以看到其跑到10.1.14.170这个路由就停了,没有下面的地址了  这里从1开始是用户数据包在各级路由器的流动路径,可以看到其跑到10.1.14.170这个路由就停了,没有下面的地址了

定位到这一步,我们发现了问题,原来用户本地的网络,就没有把对腾讯接入机的访问请求发出来。于是我们联系用户找其本地网络管理员,得知一个消息,

找到原因了,原来是客户内部业务里面把一个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 | 腾讯会议产品文档

0 人点赞