考研408--计算机网络--day7--网络层&IPv4&子网划分&CIDR

(以下内容全部出自上述课程)

目录

  • 网络层
    • [1. 地位](#1. 地位)
    • [2. 大纲](#2. 大纲)
    • [3. 图例](#3. 图例)
    • [4. 小结](#4. 小结)
  • IPv4分组
    • [1. 各协议之间的服务关系](#1. 各协议之间的服务关系)
    • [2. IP数据报](#2. IP数据报)
      • [2.1 格式(穿插)](#2.1 格式(穿插))
      • [2.2 分片问题](#2.2 分片问题)
      • [2.3 生存时间(TTL)](#2.3 生存时间(TTL))
    • [3. 小结](#3. 小结)
  • IP
    • [1. 最初的IP地址分类方案](#1. 最初的IP地址分类方案)
    • [2. IP分组转发(例子)](#2. IP分组转发(例子))
    • [3. 特殊用途的IP地址](#3. 特殊用途的IP地址)
  • 子网划分&子网掩码
    • [1. 未使用子网划分](#1. 未使用子网划分)
    • [2. 划分为两个子网](#2. 划分为两个子网)
    • [3. 划分为四个子网](#3. 划分为四个子网)
    • [4. 小结](#4. 小结)
    • [5. 子网掩码的应用](#5. 子网掩码的应用)
    • [5. 过程分析](#5. 过程分析)
    • [6. 子网掩码的CIDR记法](#6. 子网掩码的CIDR记法)
    • [7. 练习](#7. 练习)
  • CIDR
    • [1. 传统IP的缺陷](#1. 传统IP的缺陷)
    • [2. 无分类编址CIDR](#2. 无分类编址CIDR)
    • [3. 定/变长子网划分](#3. 定/变长子网划分)
    • [4. 传统定长缺陷](#4. 传统定长缺陷)
    • [5. 应用](#5. 应用)
    • [6. 做题技巧及例题](#6. 做题技巧及例题)
    • [7. 小结](#7. 小结)
  • 路由聚合
    • [1. 路由聚合](#1. 路由聚合)
    • [2. 最长前缀匹配原则](#2. 最长前缀匹配原则)
    • [3. 过程分析](#3. 过程分析)
    • [4. 练习](#4. 练习)

网络层

1. 地位

  • 网络层:IP数据报
  • 数据链路层 :帧

2. 大纲

3. 图例

4. 小结

  • 异构 :比如拓扑结构有星型、总线型,使用的连接设备都不同,所以剩下网络层之下的数据链路层和物理层也会不一样。
  • 网关:路由器
  • 路由器:转发表=精简版路由表
  • 开环控制:提前告诉你到达一个地址,有哪几条路可以走,这个路堵了就规定走具体的另一条路,是按照计划有更换顺序的
  • 闭环控制 :使用高德地图,实时查看拥堵,堵了就换另一条

IPv4分组

1. 各协议之间的服务关系

  • A-->B:B协议支持A协议(下一个层级的协议支持上一个层级的协议)
  • IP协议:核心
  • ARP协议:IP+MAC
  • ICMP协议:网络层的异常
  • IGMP协议 :IP组播

2. IP数据报

2.1 格式(穿插)

  • 版本:通常是版本四,就是一个数字4
  • 首部长度:以X4B为单位,代表这个数字的四倍才是它的长度
  • 区分服务:用不到
  • 总长度:首部+数据部分
  • 注意 :这里数据部分的长度是理论长度不是实际长度
  • 注意:这是一个十六进制的表 一个十六进制占4bit,一个十六进制数可以表示四位二进制数
  • 4:4bit = 一个十六进制数,版本号,IPv4
  • 5:4bit = 一个十六进制数,首部长度,但需要×4B
  • 00:8bit = 两个十六进制数,区分服务,不重要
  • 0030 :16bit = 四个十六进制数,总长度,换算成十进制数就是48,48×1B=48B

2.2 分片问题

以太网MAC帧具体内容可见:MAC层

  • 分片:相当于你寄快递有限重,所以你就不能把所有的东西用一个快递发送,需要分成两个快递发送
  • 最大传送单元 :限重的最大重量
  • 链路1的MTU=4000>链路2的MTU,就是后边儿的限重,所以必须分成几个快递再发送
  • IP首部就相当于快递单,包含了发送的地址和接收的地址及其他,所以就算分成了好几个快递,每个快递都需要有这个快递单
  • MF:更多分片(后面会讲)
  • DF :不分片(后面会讲)

    就像上面讲的,大快递=好几个小快递,快递=快递单+货物,即IP数据报=IP首部+数据部分,无论大小都需要这个固定格式
  • 分片发生地:类似快递,只可能卖家或者中转站帮忙分快递
  • 目的主机重组:就是我们是买家,快递的送达方,我们就可以把快递(比如说机器零件)重新组装好
  • 乱序到达:卖家或者中转站分开快递,那就随便儿发货咯,人那么忙,怎么可能还记着顺序
  • 片偏移 :X8B=八的整数倍(具体下一张图会说)
  • 标识:快递单号,商家发货时自动生成
  • 标志:MF=1,表示后面还有分片,DF=1(不允许分片,超重就直接扔掉)
  • 片偏移:表示分片被分之前,在全部的哪个位置
  • 实际数据部分的长度:受下一个链路的限制

片偏移字段以8字节为单位的设计是由IP协议的结构和效率需求决定的。这种设计既能满足数据报的最大长度要求,又能优化字段的使用效率。


2.3 生存时间(TTL)

经过一个路由器,TTL的值就减1,到达B时还有值就传送成功,等于0就直接扔掉然后返回异常(ICMP)。

  • 生存时间:TTL
  • 协议:TCP=6,UDP=17
  • 首部检验和 :全0就不用校验
  • 协议 :网络层的IP数据报向传输层传输的时候可以选择TCP协议(6)或者是UDP协议(17)。
  • 源地址:卖家地址
  • 目的地址 :买家地址

3. 小结

  • 4:首部长度单位:×4B
  • 1:总长度单位:×1B
  • 8 :片偏移单位:×8B

IP

1. 最初的IP地址分类方案

  • 单播地址:相当于QQ号-->分给单个主机
  • 多播地址:相当于QQ群号-->分给一个群组

因为之前的时代使用计算机的人很少,所以用这个方法分配的IP地址就很少。

  • A类:以0开头的地址

  • B类:以10开头的地址(其余同理)

  • 结构:32bitIP地址=网络号+主机号,分成了8bit的十进制数字的组合,例如192(8bit).168(8bit).1(8bit).1(8bit)

  • 注意:A以0开头,B以10开头,开头的数字也是网络号内的,比如A以0开头的8bit二进制数能表示的范围是1~126。

  • IP地址是唯一的

  • 路由器连路由器的接口不需要IP地址(见下图的B0和C0),路由器连其他需要IP地址(见下图B2或C2)

  • 同一网络的设备的网络号都相同(见下图的某学校路由器及六台主机)

  • 新主机接入网络,需要分配IP地址,配置默认网关(就是你这个主机发送消息需要通过哪个路由器)

2. IP分组转发(例子)

地址段的分配:如上图,A-->B-->C,第一个8bit网络号的大小依次增加,网络号占的bit位也依次增加,所以B类地址固定的IP网络号就是前两个十进制数字:166.1.x.x,C类地址占的第一个十进制数更大,占的固定的bit位更多:200.1.1.x

  • A类:网络号占8bit = 一个十进制数字
  • B类:网络号占16bit = 两个十进制数字
  • C类:网络号占24bit = 三个十进制数字
  • 默认网关:就是路由器连接这个局域网的其他设备接口的IP地址。
  • 转发表:简洁版的路由表,记录各个路由器的IP地址。
  • ARP协议:同网络间的主机根据IP地址可以互查MAC地址(以后会学)

例子-H1-->H7:

  1. 配置默认网关后:H1知道默认网关的IP地址后,通过ARP协议查询这个默认网关的IP地址所对应的MAC地址(数据链路层),所以在H1将要传输的IP数据报封装成帧的时候,直接把这个帧的目的MAC地址直接写成B2接口所对应的MAC地址。
  2. H1结点把IP数据报发送给交换机,经过逐层转发(因为知道目的MAC地址了),就通过B2接口转发到了路由器
  3. 到达路由器就开始检查路由器转发表,目的网络号能和B0接口匹配上,因为从B0传输放到C0,所以需要把此时的MAC地址改为C0的MAC地址,也就把这个IP数据报重新封装成帧,把IP数据报从B0转发出去
  4. 到达C0,检查自己的网络号能和路由器转发表的C2接口对上,就需要从C2接口传输出去,但是此时也需要修改MAC地址,也是利用ARP协议查询目的地址所对应的MAC地址,修改为H7的MAC地址,重新封装成帧
  5. 从C2接口传出去到达交换机,交换机根据帧的目的地址从左端口转出去到达H7

    例子-H1-->H6:
  6. H1先将自己的IP地址和目的地址的网络号相对比(B类对比前16bit=两个十进制数),一样就说明处于同一个网络中,就不需要发送给默认网关了,然后ARP协议查询目的地址的MAC地址,直接封装成帧说明H6的MAC地址
  7. H1-->交换机-->交换机-->集线器
  8. 集线器收到帧直接无脑全部发,H5会收到MAC帧,不属于它直接扔到,H6会收到MAC帧,检查目的地址,属于就留下

3. 特殊用途的IP地址

如上图的重要结论,IP地址一共就占32bit,网络号占的bit多,主机号占的bit自然就少了,等级越低的网络可分配的主机也就越少。

-2是因为要减去主机号全为1和全为0的情况。

特殊用途第二行:H1-->200.1.1.255(二进制全1就是十进制255):H1给200.1.1的网络的全部设备都发送IP数据报

特殊用途第三行:H1-->H3:H1可以写为0.0.0.1,只可作为源地址使用

特殊用途第五行:H1-->全1目的:给本网络的全部设备发送数据报,包括网关

特殊用途四五行:全0源,全1目的:本主机给本网络的所有主机

全0源:常用于一台主机刚接入网络的时候,表示自己现在是无IP地址的状态,通过播报一个DHCP报文来让自获得一个IP地址

特殊用途第六行:自己给自己发送,环回自检地址

子网划分&子网掩码

此节涉及大量过程,建议查看原视频:【王道计算机考研 计算机网络-哔哩哔哩】

1. 未使用子网划分

未划分子网的IP=网络号+主机号

2. 划分为两个子网

划分了两个子网的IP=网络号+子网号+主机号

子网号=1bit --> 21=2

3. 划分为四个子网

划分了两个子网的IP=网络号+子网号+主机号

子网号=2bit --> 22=4

4. 小结

  • 划分顺序 :网络号-->子网号-->主机号

5. 子网掩码的应用

  • 子网掩码:网络号+子网号的比特位全部为1,主机位全部为0
  • 使用方法 :目的IP地址与子网掩码逐位相与(就是屏蔽掉你的主机号,查看你的网络号和子网号,就能看出是否在同一个子网中)

5. 过程分析


6. 子网掩码的CIDR记法

/XX:就是前XX位都是1,其余位都是0.

7. 练习


CIDR

1. 传统IP的缺陷

传统IP分配方案不灵活,可用的IP地址太少。

2. 无分类编址CIDR

传统IP是先分配网络号再分配主机,无法把主机供给放在前面。

CIDR是先看主机需求量,根据主机需求量来改变网络前缀的长度,显然更加灵活。

  • 网络前缀:由IP地址机构分配
  • 主机号:由本单位自行分配

CIDR记法:128.12.32.0/21

  • 按照IP地址:这里的21是网络前缀占了21bit
  • 按照掩码:这里的21是前21bit是全1,剩余部分全0

3. 定/变长子网划分

定长:子网号长度固定

变长:子网号长度不固定

4. 传统定长缺陷

比如一个学校想划分4个子网,就需要2bit的子网号(22),也就是每个子网有2(16-2)个IP地址,但是有的子网不需要这么多的IP地址,因为是固定划分的,所以就可能导致IP地址的浪费。

5. 应用

根据所需分配的主机数量来 分配子网号,比如图中的北京和上海的人比较多,分配的子网号就只占了3bit对应可分配的主机就很多;

青海的人比较少,分配的子网号就占了5bit,大大减少了可分配的主机数量。

  • 分给铁柱16个IP:主机号占位-->24=16,子网号=5-4=1bit
  • 给旺财8个IP:主机号占位-->23=8,子网号=5-3=2bit
  • 给狗剩4个IP:主机号占位-->22=4,子网号=5-2=3bit

    为什么狗剩只有一个电脑但是要分给他4个IP呢?
    因为他自己一个电脑需要一个IP,路由器连接电脑的接口也需要一个IP,并且主机号全为1和全为0的IP是不可以分配的,所以他自己就需要四个IP。

6. 做题技巧及例题

可以把CIDR变长子网划分看成一个哈夫曼树:

画得越深,子网可分配得IP地址数就越小。

7. 小结

路由聚合

1. 路由聚合

路由转发表中的转发接口相同部分网络前缀也相同的IP地址可以聚合成一条线路。

  • 减少路由表的大小,可以查询更快,因为不用查那么多条数据了。
  • 无效地址:沿用CIDR的例子,最后有四个无效地址,它们和划分出去的子网的网络前缀都相同,所以还是可能会通过路由器转发过来,但是到了咸鱼电信一查没有这个ip地址,然后就只能通过0.0.0.0/0的F0接口转发出去,但是他和输入进来的接口相同,所以就可以直接把这个数据报丢弃,也没啥大影响。

2. 最长前缀匹配原则

比如铁柱网吧嫌咸鱼电信网慢,又从县里的电信直连了一条网络,他分配的也必须是之前的子网的网络前缀,但是如果还按照路由聚合,就可能传的数据报可能还是从咸鱼电信转了一次,效率不高,所以这次的子网前缀就必须采用最长前缀原则。

简单一句话:谁前缀重复的多,就从谁那儿走。

3. 过程分析


4. 练习

相关推荐
txzz888814 小时前
网络应用netstart命令
网络·windows·计算机网络·microsoft
CS创新实验室18 小时前
计算机考研408【数据结构】核心知识点总结
数据结构·考研·计算机·408
立志成为大牛的小牛21 小时前
数据结构——五十八、希尔排序(Shell Sort)(王道408)
数据结构·学习·程序人生·考研·算法·排序算法
秋刀鱼 ..21 小时前
第二届电力电子技术与电网系统国际学术会议(PETGS 2026)
大数据·python·计算机网络·数学建模·机器人·制造
立志成为大牛的小牛1 天前
数据结构——五十七、插入排序(王道408)
数据结构·笔记·程序人生·考研·算法
Tandy12356_1 天前
手写TCP/IP协议——IP层输出处理
c语言·网络·c++·tcp/ip·计算机网络
图先1 天前
第十八讲多元函数积分学(四)——平面第二型曲线积分和空间第二型曲线积分
考研
立志成为大牛的小牛2 天前
数据结构——五十五、散列查找的性能分析(线性探测法)(王道408)
数据结构·程序人生·考研·算法
MZWeiei2 天前
题:如何通过定制路由条目,让特定目的 IP 优先匹配指定下一跳,同时不影响其他 IP 的转发逻辑
计算机网络·路由表配置·最长前缀匹配