当前位置: 首页 > news >正文

网络协议三

数据中心

一、DNS

现在网站的数目非常多,常用的网站就有二三十个,如果全部用 IP 地址进行访问,恐怕很难记住
在这里插入图片描述
根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址

顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址

权威 DNS 服务器 :返回相应主机的 IP 地址

1 电脑客户端会发出一个 DNS 请求,问 www.163.com 的 IP 是啥啊,并发给本地域名服务器 (本地 DNS)。那本地域名服务器 (本地 DNS) 是什么呢?如果是通过 DHCP 配置,本地 DNS 由你的网络服务商(ISP),如电信、移动等自动分配,它通常就在你网络服务商的某个机房。

2 本地 DNS 收到来自客户端的请求。你可以想象这台服务器上缓存了一张域名与之对应 IP 地址的大表格。如果能找到 www.163.com,它直接就返回 IP 地址。如果没有,本地 DNS 会去问它的根域名服务器:“老大,能告诉我 www.163.com 的 IP 地址吗?”根域名服务器是最高层次的,全球共有 13 套。它不直接用于域名解析,但能指明一条道路。

3 根 DNS 收到来自本地 DNS 的请求,发现后缀是 .com,说:“哦,www.163.com 啊,这个域名是由.com 区域管理,我给你它的顶级域名服务器的地址,你去问问它吧。”

4 本地 DNS 转向问顶级域名服务器:“老二,你能告诉我 www.163.com 的 IP 地址吗?”顶级域名服务器就是大名鼎鼎的比如 .com、.net、 .org 这些一级域名,它负责管理二级域名,比如 163.com,所以它能提供一条更清晰的方向。

5 顶级域名服务器说:“我给你负责 www.163.com 区域的权威 DNS 服务器的地址,你去问它应该能问到。”

6 本地 DNS 转向问权威 DNS 服务器:“您好,www.163.com 对应的 IP 是啥呀?”163.com 的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。

7 权限 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。

8 本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。

至此,我们完成了 DNS 的解析过程。现在总结一下,整个过程我画成了一个图。
在这里插入图片描述

负载均衡

一个应用要访问数据库,在这个应用里面应该配置这个数据库的 IP 地址,还是应该配置这个数据库的域名呢?显然应该配置域名,因为一旦这个数据库,因为某种原因,换到了另外一台机器上,而如果有多个应用都配置了这台数据库的话,一换 IP 地址,就需要将这些应用全部修改一遍。但是如果配置了域名,则只要在 DNS 服务器里,将域名映射为新的 IP 地址,这个工作就完成了,大大简化了运维。
另外一个坏了,还可以更换另一个

肯定希望北京的用户访问北京的数据中心,上海的用户访问上海的数据中心,这样,客户体验就会非常好,访问速度就会超快。这就是全局负载均衡的概念。

在域名和 IP 的映射过程中,给了应用基于域名做负载均衡的机会,可以是简单的负载均衡,也可以根据地址和运营商做全局的负载均衡。
DNS 的两项功能,第一是根据名称查到具体的地址,另外一个是可以针对多个地址做负载均衡,而且可以在多个地址中选择一个距离你近的地方访问。

二、HTTPDNS:网络世界的地址簿也会指错路

HTTPDNS是一种基于HTTP协议实现的域名解析服务。它主要用于解决传统DNS(域名系统)服务中存在的一些问题,如解析速度慢、解析不稳定、解析结果被劫持等。

解决的问题:

  1. 解析速度:HTTPDNS通过直接向HTTPDNS服务器发送HTTP请求来获取域名对应的IP地址,可以减少DNS查询的延迟,提高解析速度。
  2. 稳定性:HTTPDNS服务通常由大型云服务商提供,具有较高的稳定性和可靠性。
  3. 安全性:由于HTTPDNS使用HTTPS等加密协议,可以防止DNS劫持和污染,确保域名解析的安全性。
  4. 准确性:HTTPDNS可以提供更准确的地理位置解析,优化访问速度。

运转方式:

HTTPDNS的工作原理相对简单,可以概括为以下几个步骤:

  1. 域名请求:当客户端(如手机应用或网站)需要访问一个域名时,它会向HTTPDNS服务器发送一个HTTP请求。
  2. 解析域名:HTTPDNS服务器接收到请求后,会查找其内部数据库,将域名解析为IP地址。
  3. 返回结果:解析完成后,HTTPDNS服务器通过HTTP响应将IP地址返回给客户端。
  4. 缓存结果:客户端接收到IP地址后,通常会将其缓存起来,以便后续使用时可以直接从缓存中获取,减少对HTTPDNS服务器的请求。

举例说明:

假设你正在使用一个在线视频播放应用,当你点击一个视频链接时,应用需要解析视频服务器的域名以获取视频内容。如果没有使用HTTPDNS,应用可能会通过传统的DNS服务来解析域名,这个过程可能受到网络环境的影响,解析速度较慢,且存在被劫持的风险。

使用HTTPDNS后,应用会向HTTPDNS服务器发送一个HTTP请求,请求解析视频服务器的域名。HTTPDNS服务器快速响应,返回了视频服务器的真实IP地址。应用接收到IP地址后,就可以直接连接到视频服务器,开始播放视频。由于HTTPDNS的解析速度快,稳定性好,整个视频播放体验会得到显著提升。

https 和 http

HTTP(HyperText Transfer Protocol)和HTTPS(HyperText Transfer Protocol Secure)都是用于从网络传输超文本到本地浏览器的传输协议,但它们之间存在一些关键的区别:

  1. 安全性

    • HTTP:是超文本传输协议的非安全版本,它在传输数据时不会进行加密,这意味着数据在传输过程中可能会被截获或篡改。
    • HTTPS:在HTTP的基础上加入了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。这使得传输的数据更安全,可以防止数据在传输过程中被窃听或篡改。
  2. 端口

    • HTTP:默认使用80端口进行通信。
    • HTTPS:默认使用443端口进行通信。
  3. URL 表示

    • HTTP:网址通常以http://开始。
    • HTTPS:网址以https://开始,这个额外的"s"代表"secure",即安全。
  4. 搜索引擎优化(SEO)

    • 使用HTTPS的网站可能会获得搜索引擎如Google的轻微偏好,因为它们提供了更安全的连接。
  5. 信任和认证

    • HTTPS需要安装SSL证书,这通常涉及到购买证书和配置服务器的过程。证书颁发机构(CA)会对网站进行身份验证,确保访问者连接的是他们想要访问的网站。
  6. 性能

    • 由于加密和解密过程需要消耗计算资源,HTTPS通常会比HTTP有稍微的性能开销,但随着现代硬件和优化算法的发展,这种差异已经变得非常小。
  7. 用户信任

    • 当用户访问一个使用HTTPS的网站时,浏览器会显示一个锁形图标,这可以增加用户对网站的信任度。
  8. 兼容性

    • 几乎所有的现代浏览器都支持HTTPS,并且鼓励网站使用HTTPS来保护用户数据。

简而言之,HTTPS是HTTP的安全版本,它通过加密技术保护数据传输的安全,是当前推荐的网站连接方式,特别是在处理敏感信息(如登录凭据、支付信息等)时。

三、CDN:你去小卖部取过快递么?

CDN 的分发系统的架构

由于边缘节点数目比较多,但是每个集群规模比较小,不可能缓存下来所有东西,因而可能无法命中,这样就会在边缘节点之上。有区域节点,规模就要更大,缓存的数据会更多,命中的概率也就更大。在区域节点之上是中心节点,规模更大,缓存数据更多。如果还不命中,就只好回源网站访问了。
在这里插入图片描述

很多 CDN 还提供预处理服务,也即文件在分发之前,经过一定的处理。例如将视频转换为不同的码流,以适应不同的网络带宽的用户需求;再如对视频进行分片,降低存储压力,也使得客户端可以选择使用不同的码率加载不同的分片。这就是我们常见的,“我要看超清、标清、流畅等”。

CDN 和电商系统的分布式仓储系统一样,分为中心节点、区域节点、边缘节点,而数据缓存在离用户最近的位置。

CDN 最擅长的是缓存静态数据,除此之外还可以缓存流媒体数据,这时候要注意使用防盗链。它也支持动态数据的缓存,一种是边缘计算的生鲜超市模式,另一种是链路优化的冷链运输模式。

冷链运输模式就像优化的物流网络,确保数据从源站到用户的传输路径是最优的。通过CDN节点的分布和路径优化,数据传输变得更加高效和可靠。这样,即使数据不是在边缘节点生成的,也能通过路径优化和CDN的分布网络,实现快速、可靠的数据下发。

DNS和 CDN

1 用户在浏览器中输入一个域名。
2 本地DNS解析这个域名,可能会得到CDN网络中某个边缘节点的IP地址。
3 用户的请求被发送到这个边缘节点。
4 CDN根据用户的地理位置、网络条件和服务器负载情况,将请求定向到最佳的服务器。
5 用户从最近的服务器获取内容,享受快速的访问体验。

四、数据中心

数据中心的入口和出口也是路由器,由于在数据中心的边界,就像在一个国家的边境,称为边界路由器(Border Router)。为了高可用,边界路由器会有多个。
一般家里只会连接一个运营商的网络,而为了高可用, 为了当一个运营商出问题的时候,还可以通过另外一个运营商来提供服务,所以数据中心的边界路由器会连接多个运营商网络。

好的,让我们一步一步来解释这段话中的概念,以便你更容易理解。

什么是AS(自治系统)?

AS(Autonomous System,自治系统) 是指在一个网络内,由一个或多个网络运营商控制和管理的一个独立的网络。每个AS都有一个唯一的AS号码(ASN),用于标识它们。

  • 例子:想象有一个大公司,这个公司在全国有多个分部,每个分部都有自己的小网络。这些分部网络在内部是自己管理的,但对外它们被视为一个整体。这个整体就是一个AS。

什么是BGP协议?

BGP(Border Gateway Protocol,边界网关协议) 是一种用于在不同AS之间交换路由信息的协议。BGP帮助网络找到最合适的路径,把数据从一个AS传送到另一个AS。

  • 例子:如果你在纽约,而你要寄包裹到洛杉矶,BGP就像是快递公司用来选择最佳路线的系统,确保你的包裹能够经过最有效率的路线到达目的地。

数据中心的AS和BGP

数据中心是一个大型的网络设施,里面有大量的服务器和网络设备。这个数据中心通常被视为一个独立的AS,因为它内部有自己独立的网络管理和路由系统。

  • 访问外部网站:当数据中心内部的机器需要访问外部网站(例如,访问Google),它需要知道如何把数据发送出去。
  • 对外提供服务:数据中心里面有些机器对外提供服务(例如,运行一个网站),这些服务需要让外部的用户能找到并访问到数据中心的服务器。

为了实现内外互通,数据中心会使用BGP协议来与其他AS交换路由信息。这意味着:

  1. 数据中心内的路由信息:数据中心内部的路由器会使用内部协议来管理和分发路由信息。
  2. 通过BGP获取路由信息:当数据中心需要与外部世界通信时,它使用BGP协议来获取和交换路由信息。

多线BGP的概念

多线BGP 是指一个数据中心通过多个互联网服务提供商(ISP)连接到外部网络,每个ISP可能属于不同的AS。这样可以确保更高的可靠性和速度,因为如果一个ISP的线路出现问题,数据中心还可以通过其他ISP的线路进行通信。

  • 例子:想象你家有多条不同的宽带连接(例如,电信和联通),这样即使一条线路断了,你还可以通过另一条线路上网。多线BGP就是这个概念在大型数据中心中的应用。

总结

  1. AS(自治系统) 是一个独立的网络系统,拥有自己的管理和路由规则。
  2. BGP(边界网关协议) 是一种用来在不同AS之间交换路由信息的协议。
  3. 数据中心作为AS:数据中心内部作为一个AS管理自己的网络,但通过BGP协议与外部世界通信。
  4. 多线BGP:数据中心通过多个ISP连接到外部网络,以提高可靠性和网络性能。

希望这些解释能帮你更好地理解AS、BGP协议以及它们在数据中心中的应用。

如果数据中心非常简单,没几台机器,那就像家里或者宿舍一样,所有的服务器都直接连到路由器上就可以了。但是数据中心里面往往有非常多的机器,当塞满一机架的时候,需要有交换机将这些服务器连接起来,可以互相通信。
这些交换机往往是放在机架顶端的,所以经常称为TOR(Top Of Rack)交换机。这一层的交换机常常称为接入层(Access Layer)。注意这个接入层和原来讲过的应用的接入层不是一个概念。
当一个机架放不下的时候,就需要多个机架,还需要有交换机将多个机架连接在一起。这些交换机对性能的要求更高,带宽也更大。这些交换机称为汇聚层交换机(Aggregation Layer)。
在这里插入图片描述

数据中心里面的每一个连接都是需要考虑高可用的。这里首先要考虑的是,如果一台机器只有一个网卡,上面连着一个网线,接入到 TOR 交换机上。如果网卡坏了,或者不小心网线掉了,机器就上不去了。所以,需要至少两个网卡、两个网线插到 TOR 交换机上,但是两个网卡要工作得像一张网卡一样,这就是常说的网卡绑定(bond)。
这就需要服务器和交换机都支持一种协议LACP(Link Aggregation Control Protocol)。它们互相通信,将多个网卡聚合称为一个网卡,多个网线聚合成一个网线,在网线之间可以进行负载均衡,也可以为了高可用作准备。

LACP

当你通过LACP聚合多个网卡或网线时,单个数据流(例如,一个客户端传输一个大文件)通常只能使用其中一条物理链路的带宽,而不能同时使用所有聚合链路的总带宽。这是因为LACP的负载均衡算法是基于数据流的分配,而不是单个数据流的带宽叠加。

更详细的解释

什么是单个数据流?

单个数据流是指一对一的通信连接,例如一个客户端与服务器之间的文件传输。这个流可能由TCP连接组成,并且有特定的源IP、目的IP、源端口和目的端口。

LACP的负载均衡

LACP的负载均衡算法通常基于某些特征来分配数据流,例如:

  • 源IP地址
  • 目的IP地址
  • 源MAC地址
  • 目的MAC地址
  • 源端口号
  • 目的端口号

这些特征会被用来决定某个数据流通过哪条物理链路传输。一旦一个数据流被分配到某条链路,它就会一直使用这条链路直到连接结束。这种机制有助于保持数据包的顺序和连接的稳定性。

实际带宽利用
  1. 单个数据流的局限

    • 如果只有一个客户端在传输大文件(一个数据流),该流会被分配到其中一条物理链路。例如,如果有四条1Gbps的链路,这个数据流可能只会使用其中的一条1Gbps链路。
  2. 总带宽的利用

    • 因此,即使你有4Gbps的总带宽(四条1Gbps链路),单个数据流只能使用1Gbps。这个数据流无法利用所有四条链路的带宽。
  3. 多数据流的优势

    • 如果有多个数据流(例如多个客户端同时进行文件传输),这些数据流会被分配到不同的物理链路上,总带宽利用率会更高,接近4Gbps。

示例

假设你有四条1Gbps的链路通过LACP聚合在一起:

  • 单个数据流

    • 客户端A在下载一个大文件,这个数据流被分配到链路1。因此,这个下载过程只能使用1Gbps的带宽,即使总带宽是4Gbps。
  • 多个数据流

    • 客户端A、B、C、D分别在下载不同的大文件。客户端A的流被分配到链路1,客户端B的流被分配到链路2,依此类推。这时,总带宽利用率可以接近4Gbps,因为多个数据流被均匀分配到不同的物理链路上。

总结

单个数据流受限于LACP的负载均衡机制,通常只能使用一条物理链路的带宽。因此,在有多个并发数据流时,LACP能够更好地发挥聚合带宽的优势,提高整体网络性能和带宽利用率。

交换机

在这里插入图片描述
在核心交换上面,往往会挂一些安全设备,例如入侵检测、DDoS 防护等等

为什么二层不能有环路

交换机A --链路1--> 交换机B --链路2--> 交换机C --链路3--> 交换机A

在正常情况下,交换机会学习到帧的源MAC地址,并将这些地址与对应的端口关联起来,构建一个MAC地址表。当交换机收到一个帧时,它会查看MAC地址表,决定将帧转发到哪个端口。

但是,如果交换机之间的连接形成了环路,就会出现以下问题:

  1. 广播风暴:当一个广播帧(目的MAC地址为FF:FF:FF:FF:FF:FF)进入网络时,它会在交换机之间无限循环,因为每个交换机都会将广播帧转发到所有端口(除了接收该帧的端口)。

  2. MAC地址表不稳定:由于广播帧在环路中无限循环,交换机的MAC地址表会不断更新,导致转发路径不稳定。

为啥目标mac在环路中,依旧会产出环路

这里可能存在一点理解上的混淆。在讨论二层交换网络中的环路问题时,重要的是理解交换机的工作原理和广播/组播帧的处理方式。

澄清概念:

  • 当我们说“广播帧”或“组播帧”,指的是目的MAC地址是广播地址(所有F’s,即FF:FF:FF:FF:FF:FF)或一组设备共享的组播地址,而不是指向单个特定设备的唯一MAC地址。
  • 在二层交换网络中,交换机根据MAC地址表进行帧转发。对于广播或组播帧,它们的目的并不是到达某个特定的目标MAC地址,而是要让网络中的所有(广播)或一部分(组播)设备接收到这些帧。

为什么环路会导致问题:

  1. 广播和组播帧的泛洪:当交换机接收到一个广播或组播帧时,它会执行泛洪操作,即将该帧从除了接收该帧的端口之外的所有其他端口转发出去。这是因为广播和组播的目的在于让网络中的多个或所有设备都能接收到信息,而交换机并不知道哪些具体端口连接了应该接收这些帧的设备。

  2. 环路中的无限循环:如果网络中存在环路,且广播或组播帧进入这个环路,这些帧就会在环路中不断被交换机转发,每次经过都会被重新广播出去。因为二层交换机不记录广播或组播帧的转发历史,无法识别这些帧是否已经经过环路中的某个节点,所以不会停止转发,从而形成无限循环。

举例说明:
假设有四台交换机A、B、C、D,它们通过相互连接形成了一个环路,且没有启用任何防环机制。如果在交换机A上发生了一个广播帧(例如ARP请求),这个广播帧会按照以下步骤传播:

  1. A发送广播帧到B、C。
  2. B接收到广播帧后,再次将其转发给C和D(尽管C已经收到过,但B不知道)。
  3. C接收到从B来的广播帧,又将其转发给A和D(尽管A是源头,C也不知道)。
  4. 这个过程会不断重复,广播帧在环路A-B-C-D-A中无限循环,直到网络带宽被完全消耗。

因此,即使广播或组播帧没有特定的目标MAC地址,它们在环路中的无限制转发也会迅速耗尽网络资源,导致网络性能严重下降。

为什么三层可以有环路

在三层网络中,设备使用IP地址进行通信,而IP路由是基于目的地址的,数据包通过路由器进行转发,路由器会根据路由表选择最佳路径进行转发。因此,即使存在环路,路由器会通过路由协议选择最佳路径,避免数据包在网络中无限循环。

堆叠后,网卡ip怎么设置

当服务器通过多根网线连接到堆叠交换机上时,网络配置有几种常见的方式来确保服务器的IP配置和网络连接正常工作。主要的方法包括使用链路聚合(Link Aggregation)、绑定多个网卡(NIC Bonding)或网络团队(Network Teaming)。这些方法可以使多条物理连接看起来像一条逻辑连接,从而简化IP配置并提供冗余和负载均衡。

1. 链路聚合(Link Aggregation)和NIC Bonding

链路聚合(Link Aggregation)是将多条物理网线绑定在一起形成一条逻辑网线的技术。在Linux系统中,通常称为NIC Bonding;在Windows系统中,称为NIC Teaming。

配置步骤:
  1. 创建绑定接口

    • 将多个物理网卡(例如 eth0、eth1、eth2)绑定成一个逻辑接口(例如 bond0)。
  2. 配置绑定接口的IP地址

    • 给逻辑接口(bond0)配置一个IP地址。
示例配置(Linux):

在Linux系统中,使用以下步骤进行配置:

  1. 创建绑定配置文件

    • 创建或编辑 /etc/sysconfig/network-scripts/ifcfg-bond0 文件,内容如下:

      DEVICE=bond0
      NAME=bond0
      TYPE=Bond
      BONDING_MASTER=yes
      BOOTPROTO=static
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      ONBOOT=yes
      BONDING_OPTS="mode=802.3ad miimon=100"
      
  2. 配置物理网卡

    • 创建或编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,内容如下:

      DEVICE=eth0
      NAME=eth0
      TYPE=Ethernet
      ONBOOT=yes
      MASTER=bond0
      SLAVE=yes
      
    • 重复上述步骤配置 ifcfg-eth1ifcfg-eth2 等文件。

  3. 重启网络服务

    • 执行命令 sudo systemctl restart networksudo service network restart 使配置生效。

如果大二层横向流量不大,核心交换机数目不多,可以做堆叠,但是如果横向流量很大,仅仅堆叠满足不了,就需要部署多组核心交换机,而且要和汇聚层进行全互连。由于堆叠只解决一个核心交换机组内的无环问题,而组之间全互连,还需要其他机制进行解决。

如果是 STP,那部署多组核心无法扩大横向流量的能力,因为还是只有一组起作用。

于是大二层就引入了TRILL(Transparent Interconnection of Lots of Link),即多链接透明互联协议。它的基本思想是,二层环有问题,三层环没有问题,那就把三层的路由能力模拟在二层实现。

运行 TRILL 协议的交换机称为RBridge,是具有路由转发特性的网桥设备,只不过这个路由是根据 MAC 地址来的,不是根据 IP 来的。

叶脊网络

在网络架构中,“东西流量”和“南北流量”是描述数据传输方向的术语,它们与网络中的流量模式有关。

  • 南北流量(North-South Traffic):指的是进入或离开数据中心的数据流量。例如,用户通过互联网访问数据中心中的网站,这种从外部网络到数据中心,或从数据中心到外部网络的流量就是南北流量。

  • 东西流量(East-West Traffic):指的是在数据中心内部不同服务器或虚拟机之间传输的数据流量。例如,数据中心内的两个应用程序之间交换数据,或者一个应用程序需要访问存储在数据中心另一部分的数据。

随着云计算和大数据的发展,数据中心内部的交互变得非常频繁,东西流量的增长速度可能超过了南北流量。这是因为云服务和大数据分析通常涉及到大量的数据在数据中心内部的多个服务器之间传输和处理。

**叶脊网络结构(Leaf-Spine Architecture)**是为了应对这种流量模式变化而发展起来的一种网络设计。它具有以下特点:

  1. 叶节点(Leaf Nodes):负责连接终端用户或外部网络,处理南北流量。

  2. 脊节点(Spine Nodes):位于网络的中心,所有叶节点都连接到脊节点,脊节点之间也相互连接,形成一个全连接的网络。

  3. 全连接性:叶节点和脊节点之间的全连接设计允许任何叶节点与其他叶节点直接通信,从而优化东西流量的传输。

举例来说,想象一个大型的数据中心,它像一个多层的购物中心:

  • 南北流量就像是顾客从购物中心的入口进入,然后到各个店铺(服务器)去购物。顾客进入和离开购物中心的流量就是南北流量。

  • 东西流量则像是在购物中心内部,各个店铺之间需要交换货物或信息。比如,一家服装店可能需要从另一家店铺调货。

在传统的网络结构中,东西流量可能需要通过一个中心节点来转发,这就像购物中心内的所有店铺都只能通过一个中央服务台来交换货物,效率较低。

叶脊网络结构则像是在购物中心的每一层都建立了多个通道,店铺之间可以直接交换货物,不需要经过中央服务台,大大提高了效率。这样的设计使得数据中心能够更好地处理日益增长的东西流量,满足云计算和大数据时代的需求。

五、VPN

需要将多个数据中心连接起来,或者需要办公室和数据中心连接起来。这该怎么办呢?

第一种方式是走公网,但是公网太不安全,你的隐私可能会被别人偷窥。

第二种方式是租用专线的方式把它们连起来,这是土豪的做法,需要花很多钱。

第三种方式是用 VPN 来连接,这种方法比较折中,安全又不贵。
在这里插入图片描述

VPN,全名Virtual Private Network,虚拟专用网,就是利用开放的公众网络,建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。

VPN 是如何工作的?

暂时没什么兴趣研究
VPN(Virtual Private Network,虚拟私人网络)是一种网络技术,它允许用户通过一个不安全的网络(如互联网)建立一个加密的、安全的连接到另一个网络。VPN常用于远程工作,确保数据传输的安全性。下面是VPN工作原理的通俗解释和例子:

  1. 用户连接到互联网:假设你在家中,想要安全地访问公司的网络资源。

  2. 启动VPN客户端:在你的电脑上,你打开一个VPN客户端软件。这个软件就像是一把钥匙,用来开启VPN连接。

  3. 认证过程:当你启动VPN客户端时,它可能会要求你输入用户名和密码,或者使用证书等其他认证方式来验证你的身份。

  4. 建立加密隧道:一旦你的身份得到验证,VPN客户端和VPN服务器之间就会建立一个加密的隧道。这个隧道使用加密算法(如AES)来保护数据,确保只有授权的用户和设备能够读取数据。

  5. 数据传输:现在,当你发送数据时(比如访问公司网站或发送电子邮件),数据会首先被VPN客户端加密,然后通过互联网发送到VPN服务器。

  6. 数据到达VPN服务器:VPN服务器接收到加密的数据后,会解密这些数据,并将其转发到目标网络(比如你的公司网络)。

  7. 访问资源:在公司网络中,你的请求就像在公司内部发起的一样,你可以访问公司内部的资源,如文件服务器、内部网站等。

  8. 返回数据:当你请求的数据返回时,它会经过相同的过程:在公司网络中被加密,通过VPN服务器解密,然后发送回你的VPN客户端。

  9. 断开连接:当你完成工作并断开VPN连接时,加密隧道会被关闭,你的网络活动将不再通过VPN进行。

举例说明:
想象你在一个咖啡馆工作,你需要访问公司的敏感文件。如果没有VPN,你的网络连接可能会被监听,数据可能会被窃取。但是,通过VPN,你可以安全地连接到公司的网络,就像你坐在办公室里一样。当你通过VPN发送请求时,数据被加密,即使有人试图拦截你的连接,他们也无法读取数据,因为只有你和VPN服务器拥有解密密钥。这样,你的工作数据就得到了保护。

VPN 和 VPS

VPS(Virtual Private Server,虚拟专用服务器)是一种虚拟化技术,它允许单个物理服务器运行多个独立的操作系统实例。每个VPS都拥有自己的操作系统、CPU、内存、存储等资源,就像一台独立的服务器一样。用户可以通过远程连接管理自己的VPS,就像管理一台物理服务器。

VPN(Virtual Private Network,虚拟私人网络)是一种网络服务,它通过加密技术在互联网上创建一个安全的、专用的连接。VPN通常用于远程访问公司网络或保护用户在公共网络上的隐私。

VPS和VPN之间的关系可以从以下几个方面来理解:

  1. 独立性:VPS是独立的服务器实例,而VPN是连接到另一个网络的加密通道。

  2. 用途:VPS通常用于托管网站、应用程序或作为开发和测试环境。VPN则用于安全地访问远程网络或保护网络流量。

  3. 安全性:VPS提供了隔离的环境,每个VPS之间是相互独立的,而VPN提供了数据传输过程中的加密保护。

  4. 部署:VPS是在服务器提供商的数据中心内部署的,而VPN可以由个人或企业在任何地方部署。

  5. 关联使用:VPS和VPN可以一起使用,为用户提供更安全、更灵活的服务。例如,一个企业可能会在VPS上托管其网站,并通过VPN连接到内部网络以进行远程管理。

通俗解释:
想象一下,VPS就像一个虚拟的公寓,每个公寓都有自己的门、窗户和内部设施,但它们都是在一个大楼里。你可以在自己的公寓里做很多事情,比如开公司或做个人项目。

VPN则像是一条秘密通道,连接你的公寓和另一个地方(比如你的办公室)。通过这条通道,你可以安全地访问办公室的资源,就像你真的在那里一样。

所以,VPS和VPN是两个不同的概念,但它们可以一起工作,为你提供更安全、更灵活的网络服务。

六、移动网络

暂时没研究

相关文章:

  • 蓝桥杯物联网竞赛_STM32L071_19_输出方波信号(PWM)
  • Sketch文件轻松转换为PSD的简便方法
  • 轻松解决问题!教你文件怎么解除只读模式!
  • 史上最易懂的mysql锁 、mvvc分析
  • QFD(质量功能展开)是怎么使产品满足用户需求的?
  • 隐藏 IP 地址的重要性是什么?
  • 2024年华为OD机试真题-万能字符单词拼写-Java-OD统一考试(C卷D卷)
  • 关闭windows11磁盘地址栏上的历史记录
  • 论文敲公式敲到“崩溃”?合合信息扫描全能王“公式识别”一键解决公式提取难题
  • Leetcode 654:最大二叉树
  • LeetCode每日一题 | 2938.区分黑球与白球 | 数组逆序+计数器
  • kivy 百词斩项目 报错
  • 618网购节,电商能挡住恶意网络爬虫的攻击吗?
  • 【全开源】Java 农产品类型商城APP小程序公众号源码(APP+小程序+公众号+H5)
  • Android 动态修改APP图标
  • Apache Spark Streaming 使用实例
  • CSS相对定位
  • FineReport中如何实现自动滚屏效果
  • github从入门到放弃(1)
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • leetcode46 Permutation 排列组合
  • Unix命令
  • vue-router的history模式发布配置
  • 不上全站https的网站你们就等着被恶心死吧
  • 番外篇1:在Windows环境下安装JDK
  • 服务器从安装到部署全过程(二)
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 记一次和乔布斯合作最难忘的经历
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 关于Android全面屏虚拟导航栏的适配总结
  • 我们雇佣了一只大猴子...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #### go map 底层结构 ####
  • (层次遍历)104. 二叉树的最大深度
  • (二开)Flink 修改源码拓展 SQL 语法
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Framework .NET Core与 .NET 的区别
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • [ C++ ] STL---仿函数与priority_queue
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [Algorithm][动态规划][01背包问题][目标和][最后一块石头的重量Ⅱ]详细讲解
  • [android] 天气app布局练习
  • [Android]使用Android打包Unity工程
  • [Angular] 笔记 20:NgContent
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [BZOJ] 2427: [HAOI2010]软件安装