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

【计算机网络】第四章:网络层(上)

本篇笔记课程来源:王道计算机考研 计算机网络

【计算机网络】第四章:网络层(上)

  • 一、网络层的功能
    • 1. 基本概要
    • 2. 功能总览
  • 二、IPv4
    • 1. IPv4 数据报
    • 2. IPv4 地址
    • 3. 子网划分与子网掩码
      • Ⅰ. 基本概念
      • Ⅱ. 默认设置
      • Ⅲ. 主机发送 IP 数据报的过程
      • Ⅳ. 路由器转发 IP 数据报的过程
    • 4. 无分类编址 CIDR
    • 5. 路由聚合
    • 6. 网络地址转换 NAT
    • 7. 地址解析协议 ARP
    • 8. 动态主机配置协议 DHCP
    • 9. 网际控制报文协议 ICMP
  • 三、IPv6 地址

一、网络层的功能

1. 基本概要

  • 网络层为传输层提供服务,将传输层的数据帧封装成 “IP 数据报”。网络中的路由器根据 IP 数据报首部中的源 IP 地址、目的 IP 地址进行 “分组转发”。因此,网络层实现了 “主机到主机” 的传输
  • 数据链路层为网络层提供服务,将网络层的 IP 数据报(分组)封装成帧,传输给下一个相邻结点(实现相邻节点的传输)

2. 功能总览

  1. 异构网络互联
    • 异构:每个网络的拓扑结构不同、物理层与数据链路层的实现不同、主机类型也各不相同
      • 接入网络的每台主机至少拥有一个 IP 地址
      • 通常,路由器的每个接口都需要分配一个 IP 地址(最新技术标准已经取消了这个强制要求)
    • 实现互联的设备:路由器(Router),在 TCP/IP 文献中,路由器也称为网关(Gateway)
  2. 路由与转发
    • 路由:
      • 各个路由器之间相互配合,规划 IP 数据报(分组)的最佳转发路径
      • 各个路由器需要运行 “路由协议”,最终生成各自的 “路由表
    • 转发:
      • 一台路由器,根据自己的 “转发表”,将收到的 IP 数据报从合适的接口转发出去
      • 转发表是精简版的路由表,更精简的数据结构有助于快速检索
  3. 拥塞控制
    • 拥塞
      • 原因:网络上出现过量分组,超负荷,引起网络性能下降
      • 现象:网络上的分组数增加,但吞吐量反而降低

      比如路上车多了,就会堵车

    • 拥塞控制方法:
      1. 开环控制(静态的方法):部署网络时,就提前设计好预防拥塞的方法,一旦网络系统开始运行,就不再修改
      2. 闭环控制(动态的方法):动态监视网络状态,及时发现哪里发生拥塞,并将拥塞信息传递给相关路由器(如:通过 ICMP),相关路由器及时调整 “路由表”

二、IPv4

  • IP 协议(Internet Protocol,网际协议)是互联网的核心。
  • ARP 协议用于查询同一个网络中的【主机 IP 地址,MAC 地址】之间的映射关系
  • ICMP 协议用于网络层实体之间相互通知 “异常事件”
  • IGMP 协议用于实现 IP 组播
    在这里插入图片描述

1. IPv4 数据报

  • IP 数据报也称为 IP 分组,格式如下:
    在这里插入图片描述
  • 首部包括:固定部分(20 B),可变部分(0 ~ 40 B)
  • 版本:占 4 bit,用于区分网络层使用的 IP 协议版本(v4、v6)
  • 首部长度:占 4 bit,表示 IP 数据报首部占多少字节,以 ×4B 为单位
  • 区分服务:占 8 bit,不用管一般用不到
  • 总长度:占 16 bit,表示 IP 数据报总共占多少字节(涵盖首部、数据部分),以 ×1B 为单位
  • 标识:占 16 bit,由 IP 数据报的 “源主机” 生成,通常是自增序列
  • 标志:占 3 bit
    • 最低位 MF(More Fragment):MF=1 表示后面还有分片,MF=0 表示这是最后一个分片
    • 次低位 DF(Don‘t Fragment):DF=1 表示不允许被分片,DF=0 表示允许被分片
    • 最高位不管
  • 片偏移:占 13 bit,表示数据部分在 “被分片前” 的位置,以 ×8B 为单位
  • 生存时间:占 8 bit,常记为 TTL
    • 是数据报在网络中可通过的路由器数的最大值
    • TTL 的初始值通常由源主机设置;
    • 每经过一个路由器,路由器就将 TTL 减 1,如果 TTL 减到 0,就直接丢弃分组,并向源主机发送 ICMP 报文
  • 协议:占 8 bit,用于说明当前数据报为哪个协议服务(TCP 是 6,UDP 是 17)
  • 首部校验和:占 16 bit
    • 每个路由器仅校验首部,而不校验数据部分
    • 如果该字段设为全 0,表示不用校验
    • 校验和的计算方法与 UDP 相同
  • 源地址、目的地址:各占 32 bit,IPv4 地址,字面意思。
  • 最大传送单元(MTU):一个数据链路层数据帧能承载的最大数据量。以太网的 MTU = 1500 B
  • 分片问题
    • 实际传输过程中,“数据部分” 的长度受下一段链路的最短 / 最长帧长限制,如果一个 IP 数据报的总长度超出了下一段链路的 MTU,就需要将 “数据部分” 分片
      在这里插入图片描述
    • 每个分片都是一个可以被单独转发的 IP 数据报,都包含首部
    • IP 数据报的 “分片” 可能在源主机、或任何一个路由器中发生
    • 只有目的主机才会对分片进行 “重组”
    • 各分片有可能乱序到达目的主机
    • 由于首部的 “片偏移” 字段是以 ×8B 为单位,因此,除了最后一个分片外,其他每个分片的数据部分必须是 8B 的整数倍

2. IPv4 地址

  • IPv4 协议发明于 1981 年。地址位数为 32 位(232 ≈ 42亿),IP 地址资源由 ICANN(互联网名字和数字分配机构)进行分配。
    在这里插入图片描述
  • IP 地址的两级结构:<网络号, 主机号>
    • IP 地址有 32 bit,8 bit 一组,分为 4 组,每组用十进制表示
    • 最初的 IP 地址分配要求每台主机、每个路由器接口被分配的 IP 地址都是全球唯一的
    • 从属于同一个网络的所有主机、路由器接口的 IP 地址 “网络号” 都相同
    • 网络号不定长,可根据前几个比特判断类别(A、B、C、D、E),从而推测出网络号占几位
  • 路由器和路由器连接的接口可以不分配 IP 地址,但路由器和其他节点连接的接口必须分配 IP 地址
  • 当一台新主机接入网络时,需要给它分配一个 IP 地址,并配置 “默认网关”(网关就是路由器)
  • 特殊的 IP 地址
    • 这些特殊地址 不能 指派给网络中的任何一台主机或路由器 “私用”
    • 如下表中,当网络号确定,主机号全 0、全 1 不可被私用。说明,如果一个网络中,主机号占 NNN bit,那么这个网络中,最多支持 2N−22^N-22N2主机和路由器
    • 下表中已被确定的网络号或主机号记为 YYY
      网络号主机号作为分组 源地址作为分组 目的地址代表的含义
      YYY全 0表示整个网络本身(只能用于路由表、转发表)
      YYY全 1向网络号为 YYY 的网络广播 IP 分组
      0YYY表示本网络中主机号为 YYY 的主机
      全 0全 0本网络上的主机(会在 DHCP 协议中使用)
      全 1全 1向本网络广播 IP 分组
      127非全 0 或非全 1 的任何数环回自检地址。表示一台主机本身,用于本地软件环回测试

3. 子网划分与子网掩码

Ⅰ. 基本概念

  • 子网划分
    • 是初代 IP 地址的升级版,子网划分前是两级结构,子网划分后是三级结构:<网络号,子网号,主机号>
    • 原理:假设有一个 IP 地址段,原网络号不变(不能动),原主机号占 nnn bit,那么可以将前 kkk bit 划出来作为子网号,用剩余的 n−kn-knk bit 作为主机号,这样就能划分出 2k2^k2k 个子网(每个子网包含的 IP 地址块大小相等)
    • 每个子网中,主机号不能分配为全 0 / 全 1(子网本身和子网广播地址)
  • 子网掩码
    • 子网掩码为 32 bit,子网地址(网络号 + 子网号)有 nnn 位,子网掩码的高 nnn 位就为 1,低 32−n32-n32n 位为 0
    • 用子网掩码、IP 地址 逐位与,算出 <网络号,子网号>(可合称为 “网络前缀”)。只有网络前缀相同的 IP 地址,才归属于同一个网络(或子网)
    • 如果一个网络内部进行了子网划分,那么这个网络中的每台主机、每个路由器接口都需要配置 IP 地址、默认网关、子网掩码
    • 如果一台路由器支持子网划分技术,那么在它的转发表中,需要包含 <目的网络号,子网掩码,转发接口>
    • 子网掩码的 CIDR 记法:比如 255.255.255.0 有 24 个 1,就记为 IP/24

Ⅱ. 默认设置

  • 默认子网掩码
    • 如果一个传统网络(A、B、C 类)内部没有进行子网划分,那么可以将对应此网络的转发表项设置为 “默认子网掩码”
    • A 类默认 255.0.0.0、B 类默认 255.255.0.0、C 类默认 255.255.255.0
  • 默认路由
    • 默认路由(默认转发表项)设置全 0 0.0.0.0:<目的网络号全 0,子网掩码全 0>
    • 在路由转发表中,如果所有表项都不匹配,那么将从 “默认路由” 转发出去

Ⅲ. 主机发送 IP 数据报的过程

  1. 判断目的主机和本机是否属于同一网络
    1. 检查本机 IP 地址和目的 IP 地址的网络前缀是否相同(需要用本机配置的子网掩码 “逐位与”)
    2. 若网络前缀相同,说明目的主机和本机属于同一个网络
    3. 若网络前缀不同,说明不属于同一个网络
  2. 将 IP 数据报封装成 MAC 帧并发送到链路上
    • 如果目的主机与本机属于同一个网络,就通过 ARP 协议找到目的主机的 MAC 地址,再将 IP 数据报封装成帧,并将帧发送给目的主机
    • 如果目的主机与本机不属于同一个网络,就通过 ARP 协议找到默认网关的 MAC 地址,再将 IP 数据报封装成帧,并将帧发送给默认网关

Ⅳ. 路由器转发 IP 数据报的过程

  1. 路由器的某个接口收到一个 IP 数据报
  2. 对 IP 数据报首部进行校验,并从中找到目的 IP 地址
  3. 查 “转发表”
    • 转发表的表项包含 <目的网络号,子网掩码,转发接口>
    • 检查目的 IP 地址与每个表项能否匹配(将目的 IP 地址、子网掩码 “逐位与”,匹配表项中的目的网络号)
    • 至少 “默认路由” 表项一定是可以匹配成功的(兜底)
  4. 转发
    • 根据查转发表的结构,将 IP 数据报从匹配的接口转发出去
    • 如果匹配的 “转发接口” 和该 IP 数据报的入口相同,就不用再把 IP 数据报转发回去

4. 无分类编址 CIDR

  • 无分类编址(Classless Inter-Domain Routing,CIDR),即无类别域间路由选择。
    • 传统 IP 地址分配方案分配不灵活,利用率低,为缓解 IP 地址耗尽,于 1993 年推出 CIDR
    • CIDR 取消了 IP 地址传统的 A/B/C/D/E 分类,IP 地址块分配更灵活,利用率更高,一定程度上缓解了 IP 地址耗尽
    • CIDR 的 IP 地址 = <网络前缀,主机号>,其中网络前缀不定长
    • CIDR 记法:192.168.1.1/24,表示在这个 IP 地址中,网络前缀占 24 位,主机号占 8 位
  • 定长子网划分:与传统的子网划分技术同理
    • 在一个 CIDR 地址块中,把主机号前 kkk bit 抠出来作为定长子网号,这样就能划分出 2k2^k2k 个子网(每个子网包含的 IP 地址快大小相等)
    • 缺点:每个子网都一样大,不够灵活,IP 地址利用率低,浪费有限的 IP 地址资源
  • 变长子网划分
    • 在一个 CIDR 地址块中,划分子网时,子网号长度不固定(每个子网包含的 IP 地址块大小不同)
    • Tips:点对点链路是一个最小的子网,至少需要保留 2 bit 作为主机号(2 个接口 + 全 1 + 全 0 = 4 个 IP)
    • 优点:子网划分更灵活,且方便地址资源的分层级管理

不管是定长还是变长,在每个子网中,主机号全 0、全 1 的 IP 地址不能分配给特定节点私用。

  • 变长子网划分技巧:利用类似于 从根到叶构造二叉哈夫曼树
    • 原始 CIDR 地址块作为根节点(假设可以自由分配的主机号占 hhh bit
    • 每个分支节点必须同时拥有左右结点,左 0、右 1(反过来也行)
    • 每个叶子节点对应一个子网,根据根节点到达叶子节点的路径来分析子网对应的 IP 地址块范围
    • 整棵树的高度不能超过 h−1h-1h1(因为即便最小的子网叶至少要保留 222 bit 主机号)

5. 路由聚合

  • 路由聚合:对于一个路由转发表,如果几条路由表项的转发接口相同部分网络前缀相同,那么可以将这几条路由表项聚合为一条。这种地址的聚合称为路由聚合,也称构成超网
  • 路由聚合与 CIDR 搭配使用:
    • 采用 CIDR 技术后,路由器转发一个 IP 数据报在查转发表时,由于 “路由聚合”,一个 IP 地址在转发表中可能会匹配多个表项,此时应使用最长前缀匹配原则
  • 优点:可以减少路由表的大小,表更小,查询更快
  • 缺点:可能会引入额外的无效地址

6. 网络地址转换 NAT

  • 网络地址转换(Network Address Translation,NAT)

在这里插入图片描述

  • 传输层的端口号
    • IP 地址 + 端口号确定一个特定的进程
    • 网络层实现了 “主机到主机” 的通信。网络层在 IP 数据报的首部,指明源 IP 地址、目的 IP 地址
    • 传输层实现了 “端到端”(进程到进程)的通信,传输层在 TCP(或 UDP)报文段的首部,指明源端口、目的端口
  • 私有 IP 地址(内网 IP)
    • 只允许分配给局域网内部的节点,不允许分配给互联网上的节点
    • 每个局域网内部都可以自行分配这些私有 IP 地址
    • 私有 IP 地址是可复用的,只要求局域网内唯一,不要求全球唯一

    常用私有 IP:

    • 10.0.0.0 ~ 10.255.255.255
    • 172.16.0.0 ~ 172.31.255.255
    • 192.168.0.0 ~ 192.168.255.255
  • 公网 IP 地址(外网 IP / 全球 IP 地址)
    • 通常由 ISP 提供,全球唯一
    • 公网 IP 是一个局域网与外界通信时所需使用的 IP 地址
  • NAT 路由器
    • 作用:转发 IP 数据报时,进行内网 IP、外网 IP 的相互转换
    • NAT 表:记录地址转换关系 <内网 IP:端口号><外网 IP:端口号>
    • 一个 IP 数据报
      • 从内网转发到外网,会更改源 IP 地址、源端口号
      • 从外网转发到内网,会更改目的 IP 地址、目的端口号
    • NAT 路由器包含传输层的功能(因为端口号是传输层的概念),普通路由器仅包含网络层及以下的功能

7. 地址解析协议 ARP

  • MAC 地址:
    • 总共 48 bit,是网络适配器出厂时分配好的,全球唯一
    • 一台主机至少有一个网络适配器(网线插口背后的芯片),因此主机至少有一个 MAC 地址
    • 一台路由器有多个转发接口,每个接口背后都是一个网络适配器,因此路由器有多个 MAC 地址
  • 以太网 MAC 帧:
    • 在类型的位置,0x0800 表示是 IPv4 的 PDU,0x0806 表示是 ARP 的 PDU
  • ARP 协议的作用:在一个局域网内部,可以通过 ARP 协议查询到一个 IP 地址对应的 MAC 地址
  • ARP 表(ARP 缓存):
    • 每台主机、每台路由器都有自己的 ARP 表
    • ARP 表是一个数据结构,用于记录 <主机 IP 地址,MAC 地址> 之间的映射关系
    • 需要定期更新 ARP 表项
  • ARP 请求分组
    • ARP 请求分组封装进 MAC 帧(广播帧),帧目的地址全 1,源地址为请求发送方 MAC 地址
    • ARP 请求分组内容:
      1. 我是谁?——请求方的 IP 地址、MAC 地址
      2. 我想找谁?—— 响应方的 IP 地址
  • ARP 响应分组
    • ARP 响应分组封装进 MAC 帧(单播帧),目的地址是请求方 MAC 地址,源地址是响应方 MAC 地址
    • ARP 响应分组内容:响应方的 IP 地址、MAC 地址
  • ARP 分组格式,共 28 B
    在这里插入图片描述

8. 动态主机配置协议 DHCP

  • 动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是应用层协议,使用 UDP 提供的服务,给网络层所需要的参数进行初始化
  • DHCP 的作用:给刚接入网络的主机动态分配 IP 地址、配置默认网关、子网掩码等网络相关的参数
  • DHCP 使用客户 / 服务器模型(C/S)
    • 客户 UDP 端口号为 68,服务器 UDP 端口为 67
    • DHCP 客户:新接入网络的主机(希望获得 IP 地址等配置)
    • DHCP 服务器:负责分配 IP 地址的主机,管理一系列 IP 地址池。在家庭网络中,通常由家庭路由器兼职 “DHCP 服务器”
    • 在一个大型网络中可以有多台 DHCP 服务器

在这里插入图片描述

  • DHCP 协议步骤:
    在这里插入图片描述
    1. 客户 → 服务器:DHCP 发现报文
      • 携带信息:客户主机的 MAC 地址(还可以提出对 IP 地址租用期的要求)
      • 网络层:源 IP 地址为 0.0.0.0,目的 IP 地址为 255.255.255.255(广播 IP 数据报)
      • 链路层:源 MAC为客户的 MAC 地址,目的 MAC 为全 1(广播帧)
        在这里插入图片描述
    2. 服务器 → 客户:DHCP 提供报文
      • 携带信息:给客户分配的 IP 地址、租用期、子网掩码、默认网关
      • 网络层:源 IP 地址为 DHCP 服务器的 IP 地址,目的 IP 为 255.255.255.255(广播 IP 数据报)
      • 链路层:源 MAC 为服务器的 MAC 地址,目的 MAC 为客户的 MAC 地址(单播帧)
        在这里插入图片描述
    3. 客户 → 服务器:DHCP 请求报文
      • 携带信息:客户机确认要使用的 IP 地址
      • 网络层:源 IP 地址为 0.0.0.0,目的 IP 地址为 255.255.255.255(广播 IP 数据报)
      • 链路层:源 MAC为客户的 MAC 地址,目的 MAC 为全 1(广播帧)
        在这里插入图片描述
    4. 服务器 → 客户:DHCP 确认报文
      • 携带信息:与报文 2 类似(图片参考报文 2)
      • 网络层:源 IP 地址为 DHCP 服务器的 IP 地址,目的 IP 为 255.255.255.255(广播 IP 数据报)
      • 链路层:源 MAC 为服务器的 MAC 地址,目的 MAC 为客户的 MAC 地址(单播帧)

9. 网际控制报文协议 ICMP

  • 网际控制报文协议(Internet Control Message Protocol,ICMP)属于网络层,ICMP 报文封装在 IP 数据报中,IP 协议为 ICMP 协议提供服务。
  • ICMP 可以让主机或路由器互相报告网络中发生的差错和异常情况
  • ICMP 报文的常见类型:
    1. 差错报告报文
      • 终点不可达
        • 路由器告诉发送方:“目的 IP 地址不可到达”(道路不通)
        • 目的主机告诉发送方:“目的端口号不存在,我这边没有对应进程”
      • 时间超过
        • 路由器告诉发送方:“你的 IP 数据报到我这里 TTL = 0,被我丢了”(路程太远)
        • 目的主机告诉发送方:“你的 IP 数据报被分片了,规定时间内没到齐,我已全部丢弃”
      • 参数问题
        • 告诉发送方:“你的 IP 数据报首部参数不合法,或首部校验出错”
      • 改变路由(重定向)
        • 路由器告诉发送方:“对于这个目的网络,下次你让另一台路由器帮你转发,路径会更短”
      • 源点抑制(2012年后已废弃):告诉发送方:“网络发送拥塞,丢包了,求求你发慢点”
    2. 询问报文
      • 回送请求(Echo Request)和回送回答(Echo Replay):比如 ping 命令,用于询问目的主机是否在线
      • 时间戳请求(Timestamp Request)和时间戳回答(Timestamp Reply):比如 traceroute/tracert、自动设置时间,请求和回答都是时间戳。
  • 不必反馈 ICMP 差错报文的情况
    • 若携带 ICMP 差错报告报文的 IP 数据报出错,不再反馈 ICMP 差错
    • 若 IP 数据报被分片,则无论几个分片出错,都只反馈一次 ICMP 差错
    • 若 IP 数据报的目的地址为多播地址,不反馈 ICMP 差错
    • 若 IP 数据报的源地址为特殊地址(如 127.x.x.x0.0.0.0),则即便发生 IP 数据报异常也不反馈 ICMP 差错

三、IPv6 地址

  • IPv6 于 1998 年诞生,地址有 128 位,能彻底解决 IP 地址不够用的问题。
  • IPv6 格式:
    • 一般的未压缩格式:相较于 IPv4 的点分十进制记法,IPv6 采用冒号十六进制记法:16 位一段,记录为十六进制,段间以冒号分隔

    2001:0db8:85a3:0000:0000:8a2e:0370:7334

    • 第一种压缩记法:去除每个分段的前导零

    2001:db8:85a3:0:0:8a2e:370:7334

    • 第二种压缩记法:用双冒号 :: 替代连续出现的多个 0,一个地址只能出现一次双冒号,否则会产生歧义

    2001:db8:85a3::8a2e:370:7334

  • IPv6 地址资源分配:
    • nnn 位前缀,128−n128-n128n 位接口标识符
    • 支持无分类编址 CIDR,因此各层级可以灵活划分子网
    • IPv6 因为地址空间很大,所以可以划分为更多的层次
    • IPv6 支持即插即用(IP 地址自动配置),通常以主机自身的 MAC 地址作为接口标识符
    • 可以不使用 DHCP,如果 IP 地址安全性要求较高也支持使用 DHCP 统一管理 IPv6 地址
  • IPv6 地址的分类:
    地址类型二进制前缀说明
    未指明地址00...0(128 位),可记为 ::/128表示 “无地址”,类似 IPv4 的 0.0.0.0
    环回地址00...01(128 位),可记为 ::1/128类似 IPv4 的 127.0.0.1
    多播地址11111111(8 位),可记为 FF00::/8发送到一组主机
    本地链路单播地址1111111010(10 位),可记为 FE80::/10局域网内通信,不会被路由器转发
    全球单播地址除上诉四种外的其他所有 IPv6 地址
  • 三类 IPv6 目的地址:
    1. 单播(unicast):传统的点对点通信
    2. 多播(multicast):一点对多点的通信,数据报发送到一组计算机中的每一台(比如:网络会议)
    3. 任播(anycast):
      • IPv6 新增的一种类型
      • 任播的终点是一组计算机,但数据报只交付其中的一台计算机,通常是距离最近的一台计算机(比如:多个 DNS 服务器共享一个任播地址)
      • 任播地址没有固定的前缀,通常由地址管理机构预先统一分配
http://www.lryc.cn/news/591308.html

相关文章:

  • 【Linux-云原生-笔记】LVS(Linux virual server)相关
  • 云原生环境下的安全控制框架设计
  • MongoDB社区版安装(windows)
  • mongodb 入门级别操作
  • 如何清除 npm 缓存
  • Redis3:Redis数据结构与命令全解析
  • MongoDB 安装步骤详解
  • AI交互的初期魅力与后期维护挑战
  • RISC-V和ARM有何区别?
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1
  • Flutter状态管理篇之ChangeNotifier(一)
  • 深度学习之神经网络(二)
  • Flutter基础(前端教程①②-序列帧动画)
  • Oracle数据泵详解——让数据迁移像“点外卖”一样简单​
  • 如何查询pg账号权限 能否创建模式 删表建表
  • xss防御策略
  • 从 0 到 1 玩转 XSS - haozi 靶场:环境搭建 + 全关卡漏洞解析
  • OpenCV中VideoCapture 设置和获取摄像头参数和Qt设计UI控制界面详解代码示例
  • 用Python实现神经网络(二)
  • 前端0知识docker临危之被迫弄docker教程
  • NumPy, SciPy 之间的区别
  • ota之.加密算法,mcu加密方式
  • 量化环节:Cont‘d
  • C++网络编程 6.I/0多路复用-epoll详解
  • 现在遇到一个问题 要使用jmeter进行压测 jmeter中存在jar包 我们还要使用linux进行发压,这个jar包怎么设计使用
  • cherry使用MCP协议Streamable HTTP实践
  • RSTP:快速收敛的生成树技术
  • 笔试——Day11
  • 退休时间计算器,精准预测养老时间
  • GraphQL的N+1问题如何被DataLoader巧妙化解?