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

【深入理解计算机网络08】网络层之IPv4

目录

网络层功能概述

异构网络互联

路由与转发

拥塞控制

IPv4

IP数据报(IP分组)

IP地址

子网划分与子网掩码

无分类编制 CIDR

路由聚合


网络层功能概述

异构网络互联

  • 异构:每个网络的拓扑结构不同、物理层 & 链路层的实现不同、主机类型也各不相同
  • 重要的设备:路由器(Router)
  • 在 TCP/IP 文献中,路由器也称为网关(Gateway)

路由与转发

  • 路由
    • 各个路由器之间相互配合,规划 IP 数据报(分组)的最佳转发路径
    • 各个路由器需要运行 “路由协议”,最终生成各自的 “路由表”
  • 转发
    • 一台路由器,根据自己的 “转发表”,将收到的 IP 数据报从合适的接口转发出去
    • 注:转发表 = 精简版路由表。更精简的数据结构有助于快速检索

拥塞控制

  • 拥塞
    • 原因:网络上出现过量分组,超负荷,引起网络性能下降
    • 现象:网络上的分组数增加,但吞吐量反而降低
    • 类比:节假日路上的车辆增多到一定程度时,收费站的吞吐量反而降低
  • 拥塞控制方法
    • 开环控制(静态的方法):在部署网络时,就提前设计好预防拥塞的方法。一旦网络系统开始运行,就不再修改
    • 闭环控制(动态的方法)
      • 动态监视网络状态,及时发现哪里发生拥塞,并将拥塞信息传递给相关路由器(如:通过 ICMP)
      • 相关路由器及时调整 “路由表”

IPv4

IP数据报(IP分组)

实际传输中,数据部分的长度会受到数据链路层的的 最短/最长帧长 限制

一个链路层数据帧能承载的最大数据量称为 最大传送单元(MTU)

如果一个IP数据包的总长度 > 下一段链路的MTU,就需要对其进行分片。到达目标主机的网络层后再对分片进行重组。

那么接收方如何区分分片属于哪个数据报?如何进行组装?

  • 通过分片的 标识 字段来判断属于哪个数据报。
  • 通过 标志 字段来判断分片是不是最后一个分片。最低为MF(More Fragment),次低位DF(Dont Fragment)。
    • MF = 1,表示后面还有分片。MF = 0表示这是最后一个分片。
    • DF = 1,表示不允许被分片。DF = 0表示允许被分片。
  • 最后根据 片偏移 来完成分片的重组(由于首部的 片偏移 字段必须是以 ×8B 为单位,因此除最后一个分片之外,其他分片的长度必须是 8B 的整数倍)

生存时间:数据报在网络中可通过的路由器数的最大值。IP分组每经过一个路由器,TTL--,如果已经减到0,该路由器就丢弃分组并向源主机发送ICMP报文(通知出现异常)+

协议:如果为TCP协议服务设为6,为UDP协议服务设为17。可以让目的主机知道当前数据报向上递交给TCP协议还是UDP协议

IP地址

  • 在那个年代,要求每台主机、每个路由器接口被分配的 IP 地址都是全球唯一的
  • 路由器和路由器连接的接口可以不分配 IP 地址,但路由器和其他节点连接的接口必须分配 IP 地址
  • 从属于同一个网络的所有主机、路由器接口的 IP 地址 “网络号” 都相同
  • 当一台新主机接入网络时,需要给它分配一个 IP 地址、并配置 “默认网关

  • 如果是跨网络传播,则需要经过网关。
  • ARP协议可以将IP地址转换为对应的MAC地址
  • 如果是同一个网络内传播,则无需经过网关。通过ARP协议将目标IP地址转为目标MAC地址,然后将数据报封装为MAC帧直接在网络内部传输。如果要跨网络传输,则需要将数据报封装 吗,则要再经过不同网关传输到另一个网络

子网划分与子网掩码

子网划分是将一个大的网络划分成若干个较小的子网的过程。例如将学校的网络再划分为不同校区的网络。

作用:

  • 提高 IP 地址利用率:在没有子网划分前,一个网络无论主机数量多少,都只能使用一个固定类别的网络地址,造成 IP 地址浪费。通过子网划分,可根据实际需求将大网络划分为多个子网,合理分配 IP 地址。例如,一个公司有多个部门,每个部门主机数量不同,子网划分后,可按需分配 IP,减少浪费。
  • 增强网络管理和安全性:不同子网可以进行独立的管理和配置,如设置不同的访问控制策略。同时,子网间的通信需要通过路由器,可在路由器上设置防火墙规则,提高网络安全性。

划分原理:

  • IP 地址由网络号和主机号两部分组成。子网划分是通过借用主机位来扩展网络号,从而产生子网。例如,对于一个 C 类网络(默认子网掩码是 255.255.255.0 ,即网络号占 24 位,主机号占 8 位 ),若借用 3 位主机位来划分子网,那么子网掩码就变为 255.255.255.224(/27 ),网络号变为 27 位,主机号变为 5 位 。

子网掩码:子网掩码用于标识 IP 地址中网络号和主机号的界限。通过将 IP 地址和子网掩码进行按位与运算,可得到网络前缀(<网络号,子网号>)。例如,IP 地址为 192.168.1.100 ,子网掩码为 255.255.255.0 ,按位与运算后得到网络地址 192.168.1.0 ,网络前缀为192.168.1。只有网络前缀相同的IP地址才属于同一个网络

无分类编制 CIDR

子网划分

  • 定长子网划分:把主机号的前k bit分出来作为定长子网号,可以划分出2^k 个子网
    • 缺点:每个子网都一样大,不够灵活,IP地址利用率低,资源浪费多
  • 变长子网划分

CIDR 地址块的子网划分技巧

可以利用类似于 “从根到叶构造二叉哈夫曼树” 的技巧

  • 原始 CIDR 地址块作为根节点(假设可以自由分配的主机号占 h bit)
  • 每个分支节点必须同时拥有左右孩子,左 0,右 1(反过来也行)
  • 每个叶子结点对应一个子网,根据根节点到达叶子结点的路径来分析子网对应的 IP 地址块范围
  • 整棵树的高度不能超过 h - 1(因为即便最小的子网也至少要保留 2bit 主机号)

路由聚合

对于一个路由转发表,如果几条路由表项的转发接口相同,部分网络前缀也相同,那么可以将这几条路由表项聚合为一条。这种地址的聚合就是路由聚合,也称构成超网。

采用CIDR技术后,由于路由聚合,一个IP地址转发表项可能匹配多个表项,应使用 最长前缀原则

优缺点

  • 路由聚合可以减少路由表的大小
  • 减少查询时间,转发时延更低
  • 可能会引入额外的无效地址
http://www.dtcms.com/a/464777.html

相关文章:

  • 网站的标签wordpress 导航栏居中
  • 解决电脑提示“0xc000007b错误”的简单指南
  • 【STM32项目开源】基于STM32的智能家居安防系统
  • 网络营销方式思维导图aso优化榜单
  • HKM9000视频处理卡
  • 机器视觉的平板显示屏加强膜贴合应用
  • 安卓玩机工具----手机秒变电脑麦克风
  • Win10系统笔记本电脑设置合上盖子自动锁屏
  • LLaMA: Open and Efficient Foundation Language Models 论文阅读
  • LeetCode——Hot 100【全排列】
  • 云南大理拍婚纱照价格表建网站优化
  • 双目测距实战1-环境配置
  • 2025人工智能在无人机数据处理中的应用
  • 阿里开源Qwen3-Omni-30B-A3B三剑客——Instruct、Thinking 和 Captioner
  • 长春建站程序湖南网络科技有限公司
  • xtuoj Can you raed it croretcly?
  • 异构动作空间
  • 【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
  • 小杰深度学习(nine)——CUDA与CuDNN安装
  • 鸿蒙NEXT USB Host模式开发完全指南
  • MinerU2.5 windows 本地部署
  • UIkit中使用新版UICollectionViewCompositionalLayout进行复杂布局(二)
  • 网站建设的技术问题苏州吴江建设局招标网站
  • 河南省村镇建设处网站网站配色与布局 教材
  • Prometheus运维之路(ES监控接入)
  • OpenAMP专题(一):一文了解OpenAMP全貌
  • C++ 中 rfind 方法详解
  • SpringBoot 教程(十四) SpringBoot之集成 Redis(优化版)
  • 【Linux】线程同步与互斥(上)
  • 图观 模型编辑器