目录
[无分类编制 CIDR](#无分类编制 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地址转发表项可能匹配多个表项,应使用 最长前缀原则
优缺点:
- 路由聚合可以减少路由表的大小
- 减少查询时间,转发时延更低
- 可能会引入额外的无效地址