- Java213
- 数据库115
- 分布式83
- 设计80
- 框架74
- JavaCore65
- Spring63
- 笔记52
- 工具50
- 大数据32
- 分布式通信30
- 设计模式28
- Spring核心24
- 架构23
- 搜索引擎数据库22
- DevOps21
- KV数据库21
- 关系型数据库21
- 软件20
- 网络19
- Redis19
- MQ18
- 算法17
- 分布式协同16
- Elasticsearch16
- 操作系统15
- 列式数据库15
- 分布式理论15
- MySQL15
- 综合14
- 面试13
- 基础特性13
- HBase13
- 编程12
- 文档数据库12
- Linux11
- IO11
- 并发11
- MongoDB11
- Spring数据10
- Kafka10
- 中间件9
- Flink9
- Hive9
- JVM9
- 其他9
- 安全9
- 构建9
- 工作8
- 服务器8
- 编程语言8
- 解决方案8
- 分布式存储8
- SpringWeb8
- 重构7
- 分布式调度7
- 容器7
- 高级特性7
- ZooKeeper7
- Maven7
- JavaWeb6
- 网络分层6
- 网络协议6
- 分布式治理6
- Tomcat6
- 监控诊断6
- Python6
- Nginx6
- Hadoop5
- 测试5
- 缓存5
- 微服务5
- Docker5
- Elastic5
- RPC5
- UML4
- 数据库综合4
- 网络技术4
- 术4
- 模板引擎4
- ORM4
- IDE4
- SpringIO4
- Spring其他4
- Spring综合4
- Spring集成4
- RocketMQ4
- 软件工程3
- 编程范式3
- 数据库中间件3
- Kubernetes3
- Git3
- JavaBean2
- 流量控制2
- 人工智能1
- 器1
- 法1
- Spring安全1

简介
虚拟专用网络(VPN)的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN 网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN 可通过服务器、硬件、软件等多种方式实现。
VPN 属于远程访问技术,简单地说就是利用公用网络架设专用网络。例如某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问。
在传统的企业网络配置中,要进行远程访问,传统的方法是租用 DDN(数字数据网)专线或帧中继,这样的通讯方案必然导致高昂的网络通讯和维护费用。对于移动用户(移动办公人员)与远端个人用户而言,一般会通过拨号线路(Internet)进入企业的局域网,但这样必然带来安全上的隐患。
让外地员工访问到内网资源,利用 VPN 的解决方法就是在内网中架设一台 VPN 服务器。外地员工在当地连上互联网后,通过互联网连接 VPN 服务器,然后通过 VPN 服务器进入企业内网。为了保证数据安全,VPN 服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上 VPN 使用的是互联网上的公用链路,因此 VPN 称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道。有了 VPN 技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用 VPN 访问内网资源,这就是 VPN 在企业中应用得如此广泛的原因。
Socket
Socket 作为一种抽象层,应用程序通过它来发送和接收数据,使用 Socket 可以将应用程序与处于同一网络中的其他应用程序进行通信交互。简而言之,Socket 提供了应用程序内部与外界通信的端口以及为通信双方提供了数据传输的通道。
Socket 用法
很多编程语言都支持 Socket。这里以 Java 的 Socket 用法为例。
在 Java 的 SDK 中,socket 的共有两个接口:用于监听客户连接的 ServerSocket 和用于通信的 Socket。使用 socket 的步骤如下:

简介
CDN 是什么
CDN(Content Delivery Network),即内容分发网络。
CDN 是一个全球性的代理服务器分布式网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。它从靠近用户的位置提供内容。通常,HTML/CSS/JS,图片和视频等静态内容由 CDN 提供。CDN 的 DNS 解析会告知客户端连接哪台服务器。CDN 的关键技术主要有内容存储和分发技术。