暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CDN初涉

心在远方AND走在路上 2021-08-27
268

        先说一说我为何会写CDN呢?因为我的第一份工作就是和CDN有关,那是在一家关于做CDN的创业公司,当一名研发运维工程师。所以接下来我们就聊聊CDN

CDN是 ?

        CDN的全称是Content Delivery Network,即内容分发网络;和京东快递类似,建物流仓库【租或买服务器】,存放货品【缓存加速的网页内容】

;其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度


CDN的由来和原理:

        CDN的概念最早于1995年由美国麻省理工大学提出,是一套能够实现用户就近访问的网络解决方案。CDN产品从1998年到2021年已经走过了23个整年头;具体方法是:采用智能路由和流量管理技术,将用户的访问请求指向CDN网络中健康且响应最快的CDN节点,用户通过直接对此CDN节点的访问,获得所需要的内容和数据,就近访问提高了访问速度。

CDN的具体实现方法:

  利用内容分发与复制机制,客户不需要改动原来的网站结构,只需修改少量的DNS配置,就可以加速网络的响应速度。当用户访问使用CDN服务的网站时,解析请求将最终由CDN服务商提供的DNS域名解析服务器来处理。它通过将当时能够最快响应用户的节点地址提供给用户,使用户可以有效准确的得到快速的服务。同时,它还与分布在不同地点的所有CDN节点保持是实时通信,搜集各节点的健康状态,确保用户访问的成功率。

  上面的说明有些专业,用户访问网站实际上就是用户的电脑寻找网站服务器的一个过程。和今天的京东物流类似,京东是在关键城市建物流仓库,客户下单后采取就近发货原则,所以网购到手快;同理CDN也是采取就近城市对加速域名的内容提前缓存在服务器上面,访问就近服务器,减少途经的节点服务器,网页内容打开快,提高网页访问体验;接下来先让我们一起了解一下使用CDN服务之前,用户访问网站的流程:

  

    1.用户在自己的浏览器中输入要访问的网站的域名,浏览器首先查看本机系统目录下的一个hosts文件。该文件位于WINDOWS\system32\drivers\etc下,没有扩展名,但是可以用记事本打开。里面一行对应着域名和IP值。如果有域名对应的IP,浏览器直接就用该IP访问网站。
    2.如果没有域名对应的IP地址,浏览器向本地DNS服务器请求对该域名的解析;本地DNS服务器就是由当地电信或者联通给分配的DNS.
    3.本地DNS服务器到根DNS服务器上找所授权的DNS记录,记录返回到本地DNS服务器;
    4.本地DNS服务器按照记录到网站授权的域名解析服务器请求解析主机名,域名解析服务器将IP地址作为解析结果送给本地DNS服务器。
    5.本地DNS服务器将IP返还给用户;
    6.用户在得到IP地址后,向该网站服务器进行访问,网站服务器将相应的内容和数据提供给用户。

    使用CDN服务之后,用户访问流程:

      

      前三步流程相同,从第四步开始:
      1.域名的解析请求在被发往CDN解析服务器后,服务器将此域名响应速度最快的节点IP发送给本地DNS服务器,本地DNS服务器将此IP发给用户。上图的第四、五步。
      2.用户在得到IP地址后向CDN节点发出访问请求第一次的访问。
      3.CDN节点将回源网站服务器取回内容数据发给用户。
      4.CDN节点会缓存大量数据,若有其他用户访问相同内容时,直接将内容数据返回用户,完成从请求到服务的全过程。

        目前CDN服务的厂家大很多是收费的,提供免费CDN服务厂家不多,随着这类产品的增多,厂家之间相互竞争也将逐渐激烈,服务内容、服务项目、服务质量也会上升

      (CDN 外网访问加速,极速数传专线内文件传输加速)


      个人疑问:

      1、CDN、IDC、第三方带宽在网络中的定位?

              为了便于大家理解,做个通俗的比喻,若把三大运营商的网络比作三台电脑,三大运营商的互联互通问题,就是三台电脑之间的互联互通问题。每个运营商如果是一台电脑,那么运营商的IDC就是这个电脑的硬盘,CDN就是这个电脑的内存,CDN可以选择性的对IDC的内容进行缓存加速。第三方出口就是两台电脑直连链路带宽不够用,再额外通过网桥提供另外一条互联链路,当然中间多了个网桥设备做二传手。

      2、IDC到底有没有护城河和技术含量?

              IDC就是专业机房、专业制冷、专业电源、可靠性互联网出口的集合;虽然看起来是基础设施很简单,但是对于小规模公司地皮机房、应急发电这些就够喝一壶,而且很难上规模。至于IDC里面的服务器,都是IDC业务需求公司自行配置的,不会是运营商提供,因为很难满足对方个性化的业务需求,所以不会涉及到服务器,除非是极其小型客户,一个服务器上跑N个客户的应用,当然收益微薄。IDC企业的运营关键是啥?那就是IDC的安全运营至关重要。举2个例子:

      (1)$中国平安(SH601318)$ 号称99.9%的互联网服务成功率,是通过自有IDC与三大运营商互联网互通,也就是狡兔三窟的作用。在与三家运营商接入都正常工作时,中国平安的业务针对不同运营商的客户,在运营商内网访问中国平安,不需要跨越互联互通接口,保证了访问速度。在某家运营商互联故障时,通过互联互通可以访问中国平安在其他运营商的接入网络。

      (2)2013年7月22日早晨,因上海市政道路施工导致某运营商通信光缆被挖断,$腾讯控股(00700)$ 微信出现大范围系统故障。

              对于大型互联网企业来说,未来IDC的发展必须多运营商互联网出口化。 综上两点,可以看出,大型化多互联网出口的IDC企业更具有竞争力

      3、未来IDC啥样?

              从当前互联网未来的发展,就是云平台+大数据+社交,未来的IDC就是基于三家运营商IDC上层的云平台化,通过云平台调度,运营商内部资源优先访问,尽量避免走互联互通。



      CDN问题常见处理方法:

      1、一般定位问题都会抓包 tcpdump(安全需求)

        只抓 SYN 包:
        tcpdump -i eth1 'tcp[tcpflags] = tcp-syn'
        只抓 RST 包:
        tcpdump -i eth1 'tcp[tcpflags] & 4 != 0 or tcpdump -i eth1 'tcp[tcpflags] & tcp-rst != 0
        只抓 SYN ACK RST 包:
        tcpdump -i eth1 'tcp[tcpflags] & (tcp-ack|tcp-rst|tcp-syn) != 0

        2、测试网速网址

        http://tool.chinaz.com/speedtest/


        文章转载自心在远方AND走在路上,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论