CDN是什么

  CDN(Content Delivery Network)是内容分发网络。  

作用:

  使用户可以就近取的所需要的内容,加速用户访问网站资源的速度。物理距离更近,响应速度更快。拦截部分网络请求,对主站分流作用,减轻了主站的负载。

  CDN= 更智能的镜像 + 缓存 + 流量导向

原理:

  利用部署大量网络节点,通过服务器缓存加速,让用户可以就近同运营商网络,更快的访问网络资源。

常用使用场景:

  1.视频网站视频加速。

  2.图片网站,图床。缓存静态资源如各类型图片、html、css、js文件。

  3.大文件下载,获得更快的下载速度。

  

CDN关键技术:

  1. 缓存算法  

    缓存算法决定命中率、源服务器压力、POP节点存储能力。

  2. 分发能力。

    分发能力取决于互联网数据中心(IDC)能力和IDC策略性分布。

  3. 负载均衡。

    负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量。

  4. 基于DNS[BIND])。

  5. 支持协议。

    支持协议如静动态加速(图片加速、https带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速等。

  

DNS是什么

  DNS(Domain Name System)域名系统,域和名是分开的是指两个东西,是可以根据域名查出其对应的IP地址的一种服务。域名是由点,字母和数字组成,点分割不同的域。

  域名是分层的,可分为不同级别,包括顶级域名、二级域名、三级域名、注册域名等。

域名是不区分大小写的,如下图。

  

  我们可以在linux系统中用dig命令来查看。如果是centos系统没有该命令可以使用 yum install bind-utils 来安装。

  

当然也可以通过一些其他工具查看,比如站长工具DNS域名查询 http://tool.chinaz.com/dns

  

  

 DNS缓存

智能DNS:

  智能DNS比传统DNS更好的地方就是能够基于IP信息给不同的用户最合适的服务器IP,可以给用户提供更好的网络服务。

  作用:

    1.通过减少地理上的链路距离来减少访问服务的延时。

    2.静态资源CDN加速。

    3.负载均衡,比如北京的用户访问服务会自动跳转到北京的服务器,减少服务器压力。

    4.防止DDOS攻击。

  缺陷:

    1.成本增加,比如硬件成本,维护成本。

    2.不支持配套failed over应用检测机制,比如有一台服务器宕机了,但是智能DNS还会把请求发送给这台已经宕机的服务器。不能实时切换服务。

    3.准确性欠缺。

智能DNS实现原理
  如下图所示

  

  图中

  CNT: 电信运营商缩写  CNU :联通缩写  CNM :移动缩写

  Local DNS:用户所在区域的DNS,也是用户首先访问的,负责缓存DNS相关信息。

DNS扩展协议EDNS

  EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。

DDNS

  动态域名解析(Dynamic DNS,简称DDNS)是把互联网服务原理名指向可变IP地址的系统。

DNS优化(DNS 缓存)

  DNS查询的过程经历了很多的查询步骤,如果每次DNS解析的话都要重新查询就会耗费太多的时间和资源。所以我们应该尽早的返回真实的 IP 地址,减少查询过程,也就是 DNS 缓存。

DNS劫持

  域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。那么如何预防DNS劫持呢?下面看看HTTPDNS。

HTTPDNS

  HTTPDNS 就是利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS,可以防止了域名劫持。

DNS原理和智能DNS及CDN的更多相关文章

  1. DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别

    “智能DNS”跟“双线加速”.“CDN加速”的区别相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类似的技术.其实不然,它们在工作方式上有着本质的区别,但它们又可 ...

  2. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  3. DNS(bind)添加A、CNAME、MX、PTR记录、智能DNS(ACL)

    1.添加一条A记录(记得更改serial): vim /var/named/chroot/etc/lnh.com.zone 重启一下: rndc reload 查看从服务器: 测试结果: master ...

  4. CDN和智能DNS原理和应用 (原)

    CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络. CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调 ...

  5. CDN与智能DNS原理和应用

    1.cdn概念,DNS概念 CDN:Centent Delivery Network(内容分发网络) 使用户可以就近取得所需内容,提高用户访问网站相应速度 CDN=更智能的镜像+缓存+流量导流: DN ...

  6. 智能dns或CDN应用中,如何很好的解决DNS缓存问题? - 知乎

    智能dns或CDN应用中,如何很好的解决DNS缓存问题? - 知乎 LISP路由器

  7. 简单介绍智能DNS解析+双线路接入

    导读:在讨论这个问题,其中群友老孤同志也提供了不少非常有参考价值的资料,所以我们再把这些资料再整理一次,从比较底层的技术原理上重新进行一次分析.   我们知道,因为南电信北网通现象的存在,我们的服务器 ...

  8. Bind+DLZ构建企业智能DNS/DNS

    Bind+DLZ构建企业智能DNS   目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介: ...

  9. DNS原理及其解析过程 精彩剖析

    本文章转自下面:http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址 ...

随机推荐

  1. Linux基础网络配置

    目录 Linux基础网络配置 参考 IP配置 Route配置 DNS指向 ss命令 *网络排查工具 Linux基础网络配置

  2. html常用整理

    视频链接:https://www.bilibili.com/video/av5862916?from=search&seid=12139895566389560177 我的第一个html &l ...

  3. 科软-信息安全实验3-Rootkit劫持系统调用

    目录 一 前言 二 Talk is cheap, show me the code 三 前期准备 四 效果演示 五 遇到的问题&解决 六 18.04的坑 七 参考资料 八 老师可能的提问 一 ...

  4. JAVA关于回文判断的实现

    (一). 设计思想: 首先输入字符串,然后判断长度若长度为0或1则输出TRUE若长度大于一则进行判断, 若符合条件则输出TRUE反之输出FALSE. (二)程序源代码 import java.util ...

  5. 初始化加载和导航时脚本执行的函数(初始化脚本执行环境)page.evaluateOnNewDocument

    /** * Copyright 2017 Google Inc., PhantomJS Authors All rights reserved. * * Licensed under the Apac ...

  6. 关于length、length()、size()

    length:属性,数组的属性. length(): String的方法,方法体里面是  return value.length; size():集合如list.set.map的方法,返回元素个数.

  7. 《React后台管理系统实战 :三》header组件:页面排版、天气请求接口及页面调用、时间格式化及使用定时器、退出函数

    一.布局及排版 1.布局src/pages/admin/header/index.jsx import React,{Component} from 'react' import './header. ...

  8. 【剑指Offer面试编程题】题目1352:和为S的两个数字--九度OJ

    题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输入: 每个测试案例包括两行: 第一行包含一个整数n和k, ...

  9. ROS学习笔记6-理解主题

    本文来源于:http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics ROS主题假设turtlesim节点已经运行,打开一个新终端,使用如下命令运行键 ...

  10. status 后面的P和I是什么单词的缩写

    我不是很肯定,有大概印象:P 为 performed, 已完成I 为 incomplete 未完成