哲西云互联API技术白皮书

续断工程师 2021年10月08日

概述



  云计算、物联网、5G的发展为企业的数字化转型带来了前所未有的机遇。疫情期间远程办公需求的迅猛增长,再次展示了它们作为“第一生产力”的属性。与此同时,传统的、互联网的以及创新型的企业,业务需求在也在发生深刻变化——员工与员工,员工与客户,客户与业务,业务与业务的互联互通,已成为企业发展的制约。“要想富先修路”,企业要更快更好的发展,首先需要建立更灵活,更快捷,更安全的“连接”,连接是一项基础设施。


  上云!上云!!上云!!!国内外公有云大厂的推动已经持续了很多年,这不只是一种趋势,也是一部分人的期待。当然,没人否认IaaS/SaaS为商业带来的变化,它让商业更便捷,让固定资产更轻量化。但在经过多年的推进之后,人们对它的潜力的认识越来越清晰。上云从来不是目的,从业务的角度它是一种让业务和客户互联的途径。因为业务很重要所以“上云”被频繁提及。但业务不是一个企业的全部,还有生产力的核心——“人”,有生产资料的核心——“供应链”,以及让业务系统正常运转所必须的不是那么核心的辅助系统。这些因素需要联系起来、结合起来才能让企业流畅的运转起来。显然企业的需求不只是业务上云,更普遍的需求是所有要素的互联。


  哲西云互联API致力于让企业的经营要素更便捷,更低成本的互联互通。


哲西云互联API介绍


内网穿透

  被访问者需要安装哲西云互联客户端软件,访问者不需要安装。之后,通过RESTful API完成穿透访问操作,将用户各种网络环境中的服务映射到哲西云的公网服务器上,任何互联网用户均可以访问到该服务。用户的网络,可以是没有公网地址的普通家庭宽带,企业宽带,专线,云主机环境,校园网,3G/4G/5G无线网络环境等。只要网络中有一台设备可以通过某种方式访问互联网,就可以将该网络中的服务映射到公网,被任何互联网用户访问。


  内网穿透是一种开放式的互联模式,它面向互联网不特定的用户,访问者不需要安装软件,不需要进行其他配置即可访问内网应用。比较典型的场景是网站映射。

pic


  内网穿透的RESTful API支持TCP,UDP,HTTP,HTTPS四种协议类型的服务映射。

点对点互联

  互联网上的两台设备,访问者和被访问者均安装哲西云互联客户端软件。之后,通过RESTful API完成点对点互联的各项操作。它们之间建立点对点的链路是非公开的,加密的。被访问者不会暴露在互联网上。与“内网穿透”相同,点对点互联中,访问者和被访问者的网络没有特殊要求,只要能访问互联网即可。


  哲西云的点对点互联支持三种链路模式:


  • P2P中转

  • IPv4 P2P直连

  • IPv6 直连

pic

关键技术


K8s container orchestration

  哲西云的所有服务器后台业务完全容器化,采用主流的K8s进行管理。它帮助我们在混合云环境中快速部署和扩展哲西云的互联互通能力。它提供了一个便捷有效的途径,让哲西云的中转和管理服务可以在物理机和虚拟机集群上调度和运行各项容器化业务,从而实现管理自动化和弹性扩容。

pic

BBR congestion control

  无论穿透还是点对点互联,哲西云提供的隧道都需要使用TCP协议。作为基础的连接隧道,它承载着业务流量,稳定性直接影响业务。在复杂的互联网环境中,TCP协议的拥塞控制对隧道的质量至关重要。传统拥塞控制算法是基于丢包控制的拥塞避免,如CUBIC。在数据传输过程中,只要丢包它就会认为网络拥塞,window被大幅减小,数据发送速率显著降低。当出现瞬时流量过大、物理信号干扰丢包、数据校验错误丢包时,这种传统算法会过分限制网络传输速率。随着带宽越来越高,网络越来越复杂,过于保守的传统算法会浪费大量可用带宽。


  BBR完全不同,它不再将丢包作为拥塞判断的一部分。通过分别测量可用带宽值和通信往返时间值,来控制发送方发包的速率。在高带宽,高延时,有一定丢包率的互联网环境中,BBR能更充分的利用带宽。

pic


  哲西云使用QUIC协议和升级支持BBR的Linux内核来广泛应用BBR。在云互联场景中,效果显著。

Multipath TCP

  以移动通信的迅猛发展为代表,互联网接入途径越来越丰富。用户的终端设备往往配置了很多个网络接口:以太网、wifi、4G/5G等,它们被用以支持不同的网络环境。与此同时,摄像头视频串流、直播等新应用对高带宽和低延时的网络需求越来越高。显然,可以将多个互联网链路汇聚起来同时使用,实现带宽扩展和延时优化。


  哲西云通过MPTCP协议来同时利用多条互联网链路,实现多路径传输。它是传统传输控制协议的扩展,与现有的网络架构和协议兼容。向上,仍然为应用层提供TCP套接字,向下,采用标准TCP协议进行子流的数据传输。为程序提供了透明的多路径利用能力。MPTCP聚合每个接口的带宽,提高了传输速率。


  哲西云的基础隧道支持MPTCP协议,能更高效充分的利用用户的多互联网接入路径。无论是点对点直连还是使用云主机中转,哲西云的隧道链路可根据网络状况,选择合适的一个或多个网络接口进行数据传输。在动态变化的移动互联场景中,有更好的适应能力。

pic

IPv4 over IPv6 tunnel

  如果技术方案合适,两点间使用P2P直连在大多数场景中是最受欢迎的模式。因为这种直连延时更低,带宽利用更充分。IPv4时代,公网地址匮乏,终端一般都会位于NAT设备之后,这样的两个终端是无法直接通信的。技术上,一般都会使用UDP punching技术让这样两个终端直连,俗称:打洞。但这项技术有限制,两端有一端是Symmetric NAT时,打洞成功率会显著降低,有些产品甚至只支持Cone to Cone类型的打洞。两端均为Symmetric NAT时,几乎无法打洞。不幸的是,移动网络都是Symmetric NAT。我们已经进入了5G时代,在IoT的新世界里到处都是移动网络。无法打洞体验会变差,连接的代价也在增大。


  好消息是,越来越多的移动网络提供IPv6地址。哲西云互联客户端在建立隧道时,如果发现终端有IPv6地址,便会首先尝试使用IPv6建立隧道,在移动网络中,这项技术大大提升了体验。客户端建立隧道的尝试对用户是透明的,在IPv6的隧道中,用户依然可以使用IPv4的地址通信。

pic

信标节点

  哲西云有很多服务器区,每个区又有许多中转服务器,特殊网络环境下,端与端通信需要借助中转服务器完成。有一类特殊的节点叫“信标节点”,它唯一的使命是作为区域网络质量的“信号塔”,供每个客户端检测网络质量。信标节点一方面会向检测发起者反馈即时的网络质量信息,另一方面,它还会把历史数据汇总,形成长期的网络质量趋势。结合IP地理数据库,系统在分配隧道服务器时可形成最优选择。信标节点实现了隧道服务器区的最优选择,在隧道服务器尽可能广泛部署的前提下,让客户端和中转服务器间的路径最短。

pic

沙箱节点

  哲西云在全球十几个区域部署了众多服务器节点,在为用户提供服务时,哲西云遵循就近原则和最大分散原则,自动做出最优选择,确保用户在全球范围内使用哲西云时总能获得最佳的服务质量。同时,也可以保证在系统异常时尽可能的减少影响范围。


  哲西云的每一条隧道都会使用唯一的 ID,这种方式一方面可以协助我们在攻击发生时能更快的处置和恢复,另一方面,也能帮助我们定位是哪条隧道导致的攻击行为。哲西云设计了业界独有的沙箱节点专门应对针对隧道的攻击行为。它们能够快速分散受影响的隧道并筛选出“无辜”者,理论上在经过最多不超过四次筛选之后,可以定位“肇事”的隧道。

pic

哲西云互联产品优势


上手快学习成本低

  RESTful API的显著特点是上手快,学习成本低。初级程序员半小时可以跑通demo,熟悉业务的开发者半天可以完成集成。客户端独立部署,低耦合,不需要对用户现有软件重新编码,不影响稳定性。同时,由于RESTful API是标准化的,无供应商绑定之虞。

多平台多架构支持

  哲西云互联客户端支持Windows,macOS,linux,OpenWRT,国产操作系统。支持X86, MIPS, MIPSLE, ARM等多架构,32位,64位两个版本。具有广泛的适应性。

pic