安全无小事。2016 年,DNS 提供商 Dyn 遭遇大规模 DDoS(分布式拒绝服务攻击),14000 个网站域名受影响。2020 年 7 月,Twitter 遭大规模攻击,黑客控制马斯克、盖茨、奥巴马等人的 Twitter 账号诱导用户买比特币,骗取 11 万美元。2021 年 4 月,黑客利用 Github 的 Actions(一种 CI/CD 方案),诱导用户进行 git 操作时触发恶意比
解决信用,仅仅有加密和解密是不够的。加密解密解决的只是传输链路的安全问题,相当于两个人说话不被窃听。可以类比成你现在生活的世界——货币的信用,是由政府在背后支撑的;购房贷款的信用,是由银行在背后支撑的;你肯购买视频网站的会员,也是由公司的信誉在背后支撑;就连比特币的信用也需要有知名人士(比如马斯克等)在不断喊话…… 归根结底,信用源于我们的世界,信用的背后不是数学和算法,而是人,以及围绕人形成的组
在我们平时生活当中,两个人有不想让第三者知道的事情,可以找一个私密的空间去聊。而互联网本身是一个开放的体系,双方在交换数据的时候会经历大量的第三者——公司的防火墙、ISP 的路由器,还有可能有黑客抓取数据。那么这个时候如果张三和李四有私密的话想聊,该怎么办呢?当然是加密传输,想办法让双发传输的数据只有双方才能理解。 目前有两种主流的加密方式——对称加密和非对称加密,这一讲我们就来聊聊这两种加密方式
在当今的互联网环境中,爬虫的广泛应用已成为一种常见现象,尽管内容提供者竭力防止自身数据被竞争对手获取,但从某些百科文章与维基百科的高度相似性来看,许多不良的数据获取行为仍在暗中被容忍。 回想早期一些购票网站的崛起历程,它们曾大量运用爬虫技术抓取航空公司的数据。为躲避航空公司的屏蔽,甚至采用众多个人电脑作为爬虫终端,致使航空公司难以辨别哪些是爬虫请求,哪些是用户操作。如此一来,当用户订票时,客服经理
如今,年轻人热衷于刷 B 站和抖音,空闲时还会去拉勾教育观看大厂面试、热门技术分享直播以及各类游戏直播。不知你是否思考过,我们日常看到的众多音视频内容是如何从采集端最终呈现在手机 App 上的呢?若公司要提供直播服务,你能否给出技术方案呢?为应对这些应用场景,本讲以“直播网站是如何实现的”为例,系统探讨直播、点播、视频网站等基于流媒体技术的应用。 一、流媒体的概念 在流媒体技术尚未发达的时期,数据
超文本传输协议(HTTP)作为目前应用最为广泛的应用层协议,在网站、App 以及开放接口中随处可见。虽然 HTTP 协议设计简洁,但涵盖内容丰富。下面我们将深入探讨 HTTP 协议的重点内容,包括高频面试要点及易产生理解误区之处。 一、WWW 的诞生 1990 年,蒂姆·伯纳斯·李开发出首个浏览器,编写了首个 Web 服务器程序并创建了第一张网页。其中网页所用语言后来被称为超文本标记语言(HTML
在当今的电商、直播、社交工具和视频网站等互联网应用中,存在着大量的图片、视频、文档等资源需要分发给用户。对于一些体量较大的应用而言,若将大量资源集中在单一节点进行分发,几乎没有哪个机房能够承受如此巨大的流量。例如,一个日活达 100W 的小型互联网产品,若每次请求需 1M 数据,那每日的数据量将近 1TB。面对这样的数据规模,仅靠单一节点进行分发显然不现实。因此,如今的互联网应用在分发内容时,并非
当你在浏览器中输入一个 URL,或者用curl请求一个网址……域名系统(Domain Name System)就开始工作了。作为互联网的一个重要成员,域名系统是将互联网资源和地址关联起来的一个分布式数据库。 在日常工作中,作为一名研发工程师,经常需要配置 DNS 域名解析。特别是 CNAME,几乎我每年都会碰到需要配置它的场景。这次我们就以“CNAME 记录的作用”为引,开启今天的学习,将域名这块
在微服务架构大行其道的当下,远程调用已成为开发微服务不可或缺的能力,而作为微服务体系底层支撑的 RPC 框架,也成为日常开发的必备工具。如今,RPC 框架不仅是实现远程调用的基础工具,还需具备路由、服务发现、负载均衡、容错等功能。今天,我们就以“如何实现 RPC 框架”为切入点,从设计者的视角来探讨如何设计一个 RPC 框架。 一、基础能力设计 RPC(Remote Procedure Call)
我们在处理网络问题时,经常是处理 I/O 问题——输入和输出。看上去很复杂,但说白了就是如何把网卡收到的数据给到指定的程序,然后程序如何将数据拷贝到网卡。 在处理 I/O 的时候,要结合具体的场景来思考程序怎么写。从程序的 API 设计上,我们经常会看到 3 类设计:BIO、NIO 和 AIO,这也是一道高频面试题目:BIO、NIO 和 AIO 有什么区别? 从本质上说,讨论 BIO、NIO、AI
在计算机编程中,流和缓冲区是非常重要的概念。缓冲区在数据处理中起着关键作用,而其中的flip操作更是有着特殊的意义。今天,我们就来深入探讨一下“:缓冲区的 flip 是怎么回事?” 一、流与缓冲区的基础概念 流是一种数据的传输方式,可以是输入流从外部源读取数据,也可以是输出流将数据写入外部目标。缓冲区则是一块用于临时存储数据的内存区域,它可以提高数据传输的效率。 想象一下,流就像是一条河流,数据在
在网络编程的中,高效的 I/O 多路复用技术对于构建高性能的网络应用至关重要。其中,epoll 是一种强大的 I/O 事件通知机制,而它之所以使用红黑树,有着深刻的原因和优势。今天,我们就来深入探讨一下“Socket 编程中:epoll 为什么用红黑树?” 一、epoll 简介 epoll 是 Linux 下的一种 I/O 多路复用技术,它允许程序同时监控多个文件描述符(File Descript
Wireshark 就是一款功能强大的网络调试工具,它可以帮助我们捕获、分析网络数据包,从而更好地理解网络通信的过程和问题。今天,我们就来一起了解 Wireshark 的安装及使用方法。 一、Wireshark 简介 Wireshark 是一款免费的开源网络协议分析器,它支持多种操作系统,包括 Windows、macOS 和 Linux。Wireshark 可以捕获网络中的数据包,并以详细的形式展
广域网是由很多的局域网组成的,比如公司网络、家庭网络、校园网络等。之前我们一直在讨论广域网的设计,今天我们到微观层面,看看局域网是如何工作的。 IPv4 的地址不够,因此需要设计子网。当一个公司申请得到一个公网 IP 后,会在自己的公司内部设计一个局域网。这个局域网所有设备的 IP 地址,通常会以 192.168 开头。这个时候,假设你的职工小明,上班时间玩王者荣耀。当他用 UDP 协议向王者荣耀
IPv6 作为新一代互联网协议,正逐渐成为未来网络的核心。而在 IPv6 的发展过程中,Tunnel 技术发挥着至关重要的作用。那么,IPv6 协议中的 Tunnel 技术究竟是什么呢?让我们一起来深入了解。 一、IPv6 协议的重要性 随着互联网的飞速发展,IPv4 地址资源逐渐枯竭,IPv6 应运而生。IPv6 拥有巨大的地址空间,可以为全球每一个设备分配一个唯一的 IP 地址,满足了未来物联
在当今数字化的时代,互联网已成为人们生活中不可或缺的一部分。而 IPv4 协议作为互联网的核心协议之一,就像是互联网世界的“交通规则”,默默地为我们的网络通信保驾护航。那么,IPv4 协议中的路由和寻址究竟有何区别呢?让我们一起来揭开它们的神秘面纱。 一、IPv4 协议的重要地位 IPv4 协议是目前互联网中广泛使用的网络层协议。它就像是一张巨大的“网”,将全球数十亿的设备连接在一起,使得我们能够
在网络通信的世界里,TCP 协议和 UDP 协议是两个最为重要的传输协议。它们就像是交通规则中的两条不同道路,各有其特点和适用场景。今天,我们就来深入探讨一下 TCP 协议和 UDP 协议的优势和劣势。 一、TCP 协议的优势 可靠性高 TCP 协议通过一系列机制,如确认应答、超时重传、序号和校验和等,确保数据的可靠传输。发送方在发送数据后,会等待接收方的确认应答,如果在规定时间内没有收到确
嘿,各位技术爱好者们!今天我们来深入探讨一下 TCP 协议中保证稳定性的两个关键机制:滑动窗口和流速控制。这两个概念就像是 TCP 世界中的交通警察,确保数据能够有序、高效地传输。 一、TCP 协议简介 在开始之前,让我们先简单回顾一下 TCP 协议。TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议。它通过在发送方和接收方之间建立连接,并使用一
嘿,朋友们!今天咱们来聊一聊网络通信中一个有趣的话题——TCP 为什么要粘包和拆包呢? 在网络世界里,TCP 就像是一个尽职尽责的快递员,负责将数据从发送方准确无误地送到接收方手中。但是,这个过程并不像我们想象的那么简单哦! 一、什么是粘包和拆包? 想象一下,你要通过快递给朋友寄一些礼物,有小玩偶、书籍和零食等。为了方便运输,你可能会把它们都放进一个大箱子里,这就有点像 TCP 的粘包。而在快递运
在网络通信的世界里,TCP(Transmission Control Protocol,传输控制协议)是一种非常重要的协议,它确保了数据在网络中的可靠传输。而 TCP 的连接建立(握手)和连接断开(挥手)过程有着特定的步骤和逻辑,其中握手需要 3 次,挥手需要 4 次,这背后蕴含着深刻的原理。 一、TCP 握手的 3 次过程及原理 第一次握手: 客户端向服务器发送一个带有 SYN(Synch
在当今数字化时代,网络已成为我们生活中不可或缺的一部分。除了常见的家用网络,还有在我们外出时发挥重要作用的蜂窝移动网络。那么,究竟什么是蜂窝移动网络呢?让我们一起来深入了解。 一、蜂窝移动网络的定义与发展历程 蜂窝移动网络(英文:cellular network)是一种平面拓扑的互连网络,这一概念由美国贝尔实验室于 1947 年首次提出。它将一个移动通信服务区划分成许多以正六边形为基本几何图形的覆
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号