
【计算机网络】
文章平均质量分 92
计算机网络通关 - 互联网和传输层协议 网络层协议 网络编程 Web 技术 网络安全
小小工匠
show me the code ,change the world
展开
-
计网 - 传统的类网络划分 vs 无类别域间路由CIDR
CIDR 克服了传统类网络划分的诸多局限,提供了一种更加灵活、高效的 IP 地址管理方式。通过支持动态的子网划分和路由聚合,CIDR 在现代网络中得到了广泛应用。原创 2024-07-30 22:42:00 · 5043 阅读 · 1 评论 -
Netty - 五种 I/O 多路复用机制 select、poll、epoll、kqueue、iocp(windows) 对比
综上所述,select 和 poll 在大规模连接场景下性能较差,而 epoll 和 kqueue 则具有更好的性能和扩展性,其中 epoll 更适用于 Linux 平台,而 kqueue 则适用于 BSD 系统。而对于 Windows 平台,IOCP 是首选的高性能多路复用技术。这里我将对比一下常见的多路复用技术:select、poll、epoll、kqueue 和 IOCP(Windows)。原创 2024-03-24 22:19:54 · 5692 阅读 · 0 评论 -
计网 - 深入理解HTTPS:加密技术的背后
摘要算法,也称为哈希函数,用于计算内容的哈希值或“指纹”。这个哈希值是根据内容计算出来的固定长度的唯一字符串,即使内容稍微有所改动,其哈希值也会完全不同。因此,通过比较接收到的哈希值和发送方发送的哈希值,可以判断内容是否被篡改。常用的摘要算法包括MD5、SHA-1、SHA-256等,它们都是单向函数,即从内容计算出哈希值很容易,但从哈希值反推内容几乎是不可能的。这使得摘要算法在保证数据完整性方面非常有用,同时也被广泛应用于密码学、数字签名等领域。原创 2024-02-21 23:13:40 · 7021 阅读 · 0 评论 -
计网 - 域名解析的工作流程
DNS安全性的重要性不言而喻。同时,建议定期更新系统和网络设备的软件版本,以修复已知的安全漏洞,并加强网络安全意识培训,提高用户对DNS安全的重视程度。确保DNS安全至关重要,因为DNS是互联网的基础设施之一,任何对DNS的攻击都可能导致网络中断、数据泄露、身份盗窃等严重后果。:攻击者通过向DNS服务器发送伪造的DNS响应,使得DNS服务器缓存了错误的域名解析结果,导致用户访问被篡改的网站。:攻击者通过向目标DNS服务器发送大量的DNS查询请求,使得目标DNS服务器无法处理合法的查询请求,造成服务拒绝。原创 2024-02-21 20:15:00 · 6620 阅读 · 0 评论 -
计网 - TCP重传策略大揭秘:确保数据可靠传输的秘诀
在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息。这些重传机制的引入旨在提高TCP协议在不同网络条件下的稳定性和性能。在复杂的网络环境中,数据包丢失是不可避免的。这些机制的选择取决于网络的特性和应用的需求。所以 TCP 针对数据包丢失的情况,会用。原创 2023-12-17 10:13:47 · 7160 阅读 · 0 评论 -
计网 - TCP四次挥手原理全曝光:深度解析与实战演示
从上面过程可知,服务端通常需要等待完成数据的发送和处理,所以服务端的 ACK 和 FIN 一般都会分开发送,因此是需要四次挥手。再来回顾下四次挥手双方发 FIN 包的过程,就能理解为什么需要四次了。是客户端的ip , 由此可知 这一次挥手是由 服务器 发起的。看之前再看一下这个图哈。原创 2023-12-14 21:15:00 · 7688 阅读 · 0 评论 -
计网 - TCP三次握手原理全曝光:深度解析与实战演示
第三次握手:客户端收到应答报文后,检查 ack 是否为 J+1,ACK 是否为 1,如果正确则将第三个报文标志位 ACK 置为 1,ack=K+1,并将该数据包发送给服务器端,服务器端检查 ack 是否为 K+1,ACK 是否为 1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED 状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。从这里我们可以看出,这是数据链路层相关的信息,source 部分的地址和机器上的mac 地址一模一样。我们用wireshark 抓一下。原创 2023-12-14 06:30:00 · 8809 阅读 · 0 评论 -
计网 - 一台主机上最多只能保持 65535 个TCP 连接吗
客户端应用程序完全可以不用自己设置端口号,而全权交给操作系统进行分配”,可用的端口号只有 6 万多,从这个角度考虑,客户端最多只能发起 6 万多条 TCP 连接。从 TCP 连接四元组来考虑:源 IP 地址、源端口、目的 IP 地址和目的端口,目的 IP 地址和目的端口指的是服务器的 IP 和端口,源 IP 地址、源端口自然就是客户端的。虽然客户端的 IP 和端口完全一样,但由于服务器侧的端口不同,所以仍然是两条不同的连接。是不变的,这样就只剩下源 IP 地址、源端口是可变的。原创 2023-12-13 21:15:00 · 7819 阅读 · 0 评论 -
计网 - 如何理解 Mac地址 、 IP地址 、端口号
Mac地址(Media Access Control Address)和IP地址(Internet Protocol Address)是计算机网络中两个不同的标识符,用于在网络中唯一标识设备。Mac地址是网络设备(如计算机、路由器、交换机)在数据链路层(OSI模型中的第二层)中的唯一标识符。长度为48位,通常以十六进制表示,由厂商分配给每个网络设备。用于在局域网中定位设备,是数据帧在局域网中传输时使用的地址。IP地址是在网络层(OSI模型中的第三层)上标识设备的地址。原创 2023-12-13 06:15:00 · 10631 阅读 · 0 评论 -
计网 - LVS 是如何直接基于 IP 层进行负载平衡调度
大致来说,可以这么理解(只是帮助我们理解,实际上肯定会有点出入),对于我们的 PC 机来说,物理层可以看成网卡,数据链路层可以看成网卡驱动程序,网络层和传输层由操作负责处理,应用层则是常用的一些网络应用程序和我们自己所编写的网络应用程序。为了确保数据包到达正确的后端服务器,LVS 修改数据包的目标 MAC 地址,将其设置为选定的后端服务器的 MAC 地址。负载均衡器收到后端服务器的响应后,将响应转发给发起请求的客户端。负载均衡器接收到客户端的请求后,根据调度器选择的后端服务器,将请求转发到相应的服务器。原创 2023-12-12 22:30:00 · 8023 阅读 · 0 评论 -
计网 - TCP扫盲
TCP是一种面向连接的协议,它提供可靠的、有序的数据传输。通过使用序列号、确认号、校验和等机制,TCP确保数据的完整性和正确性。它在IP协议的基础上,为应用程序提供了可靠的数据传输服务。原创 2023-12-12 20:45:00 · 7888 阅读 · 0 评论 -
计网 - 白话TCP 三次握手过程
每一个抽象层建立在低一层提供的服务上,并且为高一层提供服务。我们需要知道TCP在网络OSI的七层模型中的第四层——Transport层 --------------- 第四层的数据叫SegmentIP在第三层——Network层 ---------------在第三层上的数据叫PacketARP在第二层——Data Link层,在第二层上的数据叫Frame。原创 2023-12-05 22:15:00 · 8256 阅读 · 0 评论 -
计网 - 图解OSI 七层模型 和 TCP/IP 四层模型
该模型将计算机网络通信划分为七个不同的层次,每个层次都执行特定的功能,并且每个层次都依赖于其下一层的服务。与OSI模型不同,TCP/IP模型较为简化,因为它将数据链路层和物理层合并为一个单独的网络接口层,并且更贴近实际互联网协议的使用情况。总的来说,OSI七层模型和TCP/IP四层模型都有其用途,但在实际网络工程和互联网通信中,TCP/IP模型更为常见和实际。OSI七层模型和TCP/IP四层模型是两种不同的网络协议层次模型,用于帮助理解和描述计算机网络通信的不同方面。原创 2023-09-17 17:45:00 · 10835 阅读 · 0 评论 -
计网 - HTTP 协议_强制缓存和协商缓存的区别
文章目录Pre请求响应和长连接HTTP 2.0 的多路复用HTTP 方法和 RestFul 架构HTTP 方法缓存强制缓存协商缓存总结Pre超文本传输协议(HyperText Transfer Protocol,HTTP)是目前使用最广泛的应用层协议。在网站、App、开放接口中都可以看到它。HTTP 协议设计非常简单,但是涵盖的内容很多。1990 年蒂姆·伯纳斯·李开发了第一个浏览器,书写了第一个 Web 服务器程序和第一张网页。网页用的语言后来被称作超文本标记语言(HTML),而在服务器和客户端原创 2021-07-20 23:00:57 · 23732 阅读 · 4 评论 -
计网 - 内容分发网络 : CDN 回源的工作机制初探
文章目录PrePre我们使用的电商、直播、社交工具、视频网站中都含有大量的图片、视频、文档等,这些资源需要分发给用户。对于一些体量较大的应用来说,如果把大量资源集中到单一节点进行分发,恐怕很难有某个机房可以支撑得住这么大的流量。例如一个日活在 100W 的小型互联网产品,如果每次请求需要 1M 的数据,那就刚好是近 1TB 数据。对于这样的数据规模而言,完全由单一节点进行分发是不现实的。因此现在互联网应用在分发内容的时候,并不是从自己架设的服务器上直分发内容,而是走一个叫作内容分发网络(Co原创 2021-07-20 22:24:33 · 24484 阅读 · 7 评论 -
计网 - DNS 域名解析系统
文章目录Pre统一资源定位符(URL)域名系统 DNS根域名服务器域名分级和数据分区DNS 查询过程Pre在浏览器中输入一个 URL,或者用curl请求一个网址……域名系统(Domain Name System)就开始工作了。作为互联网的一个重要成员,域名系统是将互联网资源和地址关联起来的一个分布式数据库。统一资源定位符(URL)域名系统本质是定位资源。互联网中有各种各样的资源,比如视频、图片、文件、网页……为了准确地定位资源,人们发明了统一资源定位符(URL,Uniform Resource原创 2021-07-13 20:44:35 · 24572 阅读 · 0 评论 -
计网 - 怎样实现 RPC 框架
文章目录Pre基础能力设计多路复用的优化调用约定和命名注册和发现负载均衡的设计可用性和容灾小结Pre随着微服务架构的盛行,远程调用成了开发微服务必不可少的能力,RPC 框架作为微服务体系的底层支撑,也成了日常开发的必备工具。当下,RPC 框架已经不仅是进行远程调用的基础工具,还需要提供路由、服务发现、负载均衡、容错等能力。那么今天,我们就以“怎样实现 RPC 框架”为引,从设计者角度看看如何设计一个 RPC 框架。基础能力设计RPC(Remote Procedure Call)远程过程调用,顾原创 2021-07-12 00:25:56 · 19809 阅读 · 4 评论 -
计网 - 网络 I/O 模型:BIO、NIO 和 AIO 有什么区别?
文章目录PreI/O 的编程模型数据的传输和转化成本数据结构运用Pre我们在处理网络问题时,经常是处理 I/O 问题——输入和输出。看上去很复杂,但说白了就是如何把网卡收到的数据给到指定的程序,然后程序如何将数据拷贝到网卡。在处理 I/O 的时候,要结合具体的场景来思考程序怎么写。从程序的 API 设计上,我们经常会看到 3 类设计:BIO、NIO 和 AIO 。从本质上说,讨论 BIO、NIO、AIO 的区别,其实就是在讨论 I/O 的模型,我们可以从下面 3 个方面来思考 。编程模型原创 2021-07-08 00:02:16 · 23040 阅读 · 4 评论 -
计网 - 流和缓冲区:缓冲区的 flip 是怎么回事?
文章目录Pre流为什么要缓冲区?缓冲区总结Pre流和缓冲区都是用来描述数据的。计算机中,数据往往会被抽象成流,然后传输。比如读取一个文件,数据会被抽象成文件流;播放一个视频,视频被抽象成视频流。处理节点为了防止过载,又会使用缓冲区削峰(减少瞬间压力)。在传输层协议当中,应用往往先把数据放入缓冲区,然后再将缓冲区提供给发送数据的程序。发送数据的程序,从缓冲区读取出数据,然后进行发送。流流代表数据,具体来说是随着时间产生的数据,类比自然界的河流。你不知道一个流什么时候会完结,直到你将流中的数据都原创 2021-07-06 00:29:07 · 23196 阅读 · 1 评论 -
计网 - Socket 编程:epoll 为什么用红黑树?
文章目录PrePre我们平常做网络编程的时候都会碰到 Socket 对象 ,或者在配置代理的时候, 碰到配置 Socket 地址。 还经常会碰到 I/O 模型、异步编程、内存映射等概念。再往更深层次学习, 还会碰到 epoll/select 等编程模型。有没有一种一团糟的感觉——其实学习好这些知识有一条主线,就是抓住操作系统对 Socket 文件的设计。...原创 2021-07-05 22:06:39 · 24780 阅读 · 4 评论 -
计网 - TCP 实战:如何进行 TCP 抓包调试?
文章目录Pre接口列表开启捕获功能观察 TCP 协议消息视图观察 HTTP 协议过滤和筛选报文颜色总结QA: 请你用自己最熟悉的语言,写一个 UDP 连接程序,然后用 Wireshark 抓包。PreWireshark 是世界上应用最广泛的网络协议分析器,它让我们在微观层面上看到整个网络正在发生的事情。Wireshark 本身是一个开源项目,所以也得到了很多志愿者的支持。同时,Wireshark 具有丰富的功能集,包括:深入检查数百个协议,并不断添加更多协议;实时捕获和离线分析;原创 2021-07-04 23:44:47 · 24542 阅读 · 6 评论 -
计网 - 局域网:NAT 是如何工作的?
文章目录Pre内部网络和外部网络Pre广域网是由很多的局域网组成的,比如公司网络、家庭网络、校园网络等。之前我们一直在讨论广域网的设计,今天我们到微观层面,看看局域网是如何工作的。IPv4 的地址不够,因此需要设计子网。当一个公司申请得到一个公网 IP 后,会在自己的公司内部设计一个局域网。这个局域网所有设备的 IP 地址,通常会以 192.168 开头。这个时候,假设你的职工小明,上班时间玩王者荣耀。当他用 UDP 协议向王者荣耀的服务器发送信息时,消息的源 IP 地址是一个内网 IP 地址,而原创 2021-07-04 22:43:35 · 25934 阅读 · 6 评论 -
计网 - IPv6 协议:Tunnel 技术是什么?
文章目录PreIPv4 和 IPv6 相似点IPv6 地址IPv6 的寻址Pre计网 - IPv4 协议:路由和寻址的区别是什么?IPv4 用 32 位整数描述地址,最多只能支持 43 亿设备,显然是不够用的,这也被称作 IP 地址耗尽问题。为了解决这个问题,有一种可行的方法是拆分子网。拆分子网,会带来很多问题,比如说内外网数据交互,需要网络地址转换协议(NAT 协议),增加传输成本。再比如说,多级网络会增加数据的路由和传输链路,降低网络的速度。理想的状态当然是所有设备在一个网络中,互相可以通过原创 2021-07-04 17:58:46 · 23976 阅读 · 2 评论 -
计网 - IPv4 协议:路由和寻址的区别是什么?
文章目录Pre什么是 IP 协议?IP 协议的工作原理Pre如果说传输层协议,除了 TCP/UDP,我们还可以有其他选择,比如 Google 开发的 QUIC 协议,帮助在传输层支持 HTTP 3.0 传输。但是在网络层,IP 协议几乎一统天下。IP 协议目前主要有两个版本 IPv4 和 IPv6。这一讲我们先介绍 IPv4 协议。IPv4使用范围很大,平时工作中很容易遇到,比如开发场景、网络优化场景、解决线上问题场景等。相信你经常会碰到一些和 IP 协议相关的名词,比如一道常见的面试题目:路由原创 2021-07-04 16:47:24 · 24149 阅读 · 2 评论 -
计网 - 一台内存在 8G 左右的服务器,可以同时维护多少个连接?
文章目录QuestionQuestion一台内存在 8G 左右的服务器,可以同时维护多少个连接?分析:连接是内存中的状态对象,从理论上分析,连接本身不太占用内存。不同语言连接对象大小不等,但是通常很小。下面提供一段 Java 程序public class Server { public static void main(String[] argv) throws IOException { var serverSocket = new ServerSocket();原创 2021-07-04 14:08:21 · 23269 阅读 · 0 评论 -
计网 - TCP 协议 VS UDP 协议
文章目录PreUDP 协议UDP 的封包格式UDP 与 TCP的区别总结Pre计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次?中提到了T CP 和 UDP 是今天应用最广泛的传输层协议,拥有最核心的垄断地位。TCP 最核心的价值是提供了可靠性,而 UDP 最核心的价值是灵活,你几乎可以用它来做任何事情。例如:HTTP 协议 1.1 和 2.0 都基于 TCP,而到了 HTTP 3.0 就开始用 UDP 了。UDP 在数据传输、网络控制、音视频、Web 技术中,都有很原创 2021-07-04 11:58:32 · 23307 阅读 · 6 评论 -
计网 - TCP 的稳定性:滑动窗口和流速控制是怎么回事?
文章目录Pre请求/响应模型PreInternet - TCP 的封包格式:TCP 为什么要粘包和拆包? 中提到了 TCP 利用发送字节数和接收字节数,这个二元组的唯一性保证顺序。那接着来看下保证顺序的具体算法以及TCP是如何实现的吧。 ——TCP 的滑动窗口算法。TCP 作为一个传输层协议,最核心的能力是传输。传输需要保证可靠性,还需要控制流速,这两个核心能力均由滑动窗口提供。而滑动窗口中解决的问题,我们在今后的工作中可以长期使用的,比如设计一个分布式的 RPC 框架、实现一个消息队列或者分原创 2021-07-04 10:29:40 · 23252 阅读 · 3 评论 -
计网 - TCP 的封包格式:TCP 为什么要粘包和拆包?
文章目录PreTCP 的拆包和粘包TCP数据发送TCP SegmentSequence Number 和 Acknowledgement NumberMSS(Maximun Segment Size)Pre今天我们将从稳定性角度深挖 TCP 协议的运作机制。如今,大半个互联网都建立在 TCP 协议之上,我们使用的 HTTP 协议、消息队列、存储、缓存,都需要用到 TCP 协议——这是因为 TCP 协议提供了可靠性。简单来说,可靠性就是让数据无损送达。但若是考虑到成本,就会变得非常复杂——因为还需原创 2021-07-03 23:32:55 · 23668 阅读 · 3 评论 -
计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次?
文章目录PreTCP 协议主机到主机(Host-To-Host)PreTCP 和 UDP 是今天应用最广泛的传输层协议,拥有最核心的垄断地位。今天互联网的整个传输层,几乎都是基于这两个协议打造的。无论是应用开发、框架设计选型、做底层和优化,还是定位线上问题,只要碰到网络,就逃不开 TCP 协议相关的知识。TCP 协议为什么握手是 3 次,挥手却是 4 次?下面请你带着这个问题,开启今天的学习。TCP 协议TCP(Transport Control Protocol)是一个传输层协议,提供 H原创 2021-07-03 00:00:48 · 24640 阅读 · 25 评论 -
计网 - 计算机网络开篇
文章目录Pre知识点Pre不知道你有没有遇到过,因为 TCP 队头阻塞,没有预备方案,导致分布式集群中部分服务发生延迟,导致系统雪崩DDoSDNS 劫持跨机房通信问题…网络是一种工作技能, 比如很多候选人在回答“TCP 为什么要 3 次握手”这样简单的问题时,就像背经文一样,没有自己的理解;当面对“HTTPS 协议的 TTFB 传输时间”这类需要将 TCP 的原理和 HTTPS 结合起来思考的问题,就更加束手无策。此外,工作当中也经常要用到计算机网络的原创 2021-07-02 23:18:42 · 22892 阅读 · 1 评论