网络层核心功能
1、转发与路由
转发:将分组从路由器的输入端口转移到合适的输出端口
路由:确定分组从源到目的经过的路径
2、连接建立
数据分组传输之前两端主机需要首先建立虚拟/逻辑连接


3、网络服务模型
无连接服务
不使闲为系列分组的传输确定传输路径
每个分组独立确定传输路径
不同分组可能传输路径不同
是一个数据报网络
连接服务
首先为系列分组的传输确定从源到目的经过的路径
然后沿着该路径传输系列分组
系列分组传输路径相同
传输结束后该连接拆除
是一个虚电路网络(virtual-circuit network)
一、虚电路网络
虚电路
虚电路:一条从源主机到目的主机,类似于电路的路径(逻辑连接)
分组交换的
每个分组的传输利用链路的全部带宽
源主机到目的主机的路径上经过的全部设备都要参与维护虚电路的连接状态
通信过程:呼叫建立——》数据传输——》拆除呼叫
每条虚电路包括:
- 从源主机到目的主机的一条路径
- 虚电路号(VCID),沿路每段链路一个编号
- 沿路每个网络层设备,利用转发表记录经过的每条虚电路(虚电路表)
沿着某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的主机地址
例如 : VC 转发表
虚电路信令协议
由于VC的建立,维护与拆除
- 路径选择
应用于虚电路网络
- 如ATM,帧中继网络等
虚电路通信过程

**
二、数据报网络
网络层无连接
每一个分组携带目的主机地址
路由器根据疯子的目的地地址转发分组
- 基于路由协议/算法构建转发表
目的主机地址寻址满足最长前缀匹配优先(在检索转发表时,优先匹配最长的匹配的)
**
| 数据报网络 | VC网络 |
|---|---|
| Internet | ATM网络 |
| 计算机之间的数据交换“弹性”服务,没有严格的时间需求 | 严格的时间、可靠性需求,需要有保障的服务 |
| 链路类型众多,统一服务困难 | |
| “智能” 端系统(计算机) | “哑”系统(电话机,传真机) |
| 可以自适应,性能控制,差错恢复 | |
| 简化网络,复杂“边缘” | 简化“边缘”,复杂网络 |
三、IP协议
1、IP数据报


| 版本号 | 占4位。是IP协议的版本号; | IPV4的版本号是4,IPV6的版本号是6 |
|---|---|---|
| 首部长度 | 占4位,IP分组首部长度 | 根据2进制,4位最大值为15,但是固定部分是5行,是超过20字节的,所以IP协议规定首部长度以4字节为单位,所以IP首部长度 为(5*4=20) |
| 服务类型(TOS) | 占8位,指示期望获得哪一种类型的服务 | 只有在网络提供区分服务时才会使用 |
| 总长度 | 占16位,IP分组的总字节数(首部+数据) | 最大为2^16=65535B ; 最小为20B;头部长度 IP分组最大可封装数据:65535-20=65515B |
| 标识(IP分片) | ||
| 标志位(IP分片) | ||
| 片偏移(IP分片) | ||
| 生存时间(TTL) | 占8位,IP分组在网络中可以通过的路由器数(跳步数) | 路由器转发一次,TTL-1 如果TTL=0,丢弃该分组 |
| 协议 | 占8位,知识IP分组封装的是那个协议的数据包 | 实现复用/分解, 6为TCP,表示封装的是TCP段 17为UDP,表示封装的是UDP段 |
| 首部校验和 | 占16位,实现对IP妇女组首部的差错检测 | 计算校验和时,置为0 使用反码算数运算求和,和的反码作为首部校验和字段 逐跳计算,逐跳校验 |
| 源IP地址 | 32位 | 源主机 |
| 目的地IP地址 | 32位 | 目的主机 |
| 选项字段(可变长) | 不确定 0-40,携带安全,源选路径,时间戳,路由记录表 | 通常没有 |
| 填充(可变长) | 范围在0-3,目的是补齐整个首部,符合32位对齐 | 保证首部长度是4的倍数 |
2、IP分片
最大传输单元——MTU
网络链路存在MTU——链路层数据帧可封装数据的最大上限
当大的IP分组向小的MTU链路进行转发时,可以被分片(根据标志位)
如果可以分组,路由器会将IP分组进行分组,由目的主机进行重组
| 标识(IP分片) | 占16位,标识一个IP分组 | IP协议利用一个计数器,每产生一个IP分组,就加1,作为该IP分组的标识 |
|---|---|---|
| 标志位(IP分片) | 占3位。格式如下![]() |
DF:Don’t Fragment MF:More Fragment DF:1 禁止分片 DF:0 允许分片 MF:1 非最后一片 MF:0 最后一片/未分组(根据片偏移确定) |
| 片偏移(IP分片) | 占13位,一个IP分组分片封装原IP分组的相对偏移量 | 从哪一个数据开始封装,如果为0,未分组 在IPV4协议中,以8字节为单位,除了最后一片,其他分组是8的倍数 |
IP分片过程
假设原IP分组总长度为L**,待转发链路的MTU为M
则:**
- 如果L>M,且DF为0,则可以进行分片
- 分片时每个分片的标识复制原IP分组的标识
- 通常分组时,除最后一个分片,其余分片均为MTU最大值
所以:
根据一个最大分片可封装的数据应该是8的倍数
最大分片可封装的数据为:
需要的总片数为:
每一片的片偏移字段取值为:
每片的总长度字段为:
3、IP编址
IP分组
IP分组:
- 源地址(SA)-从哪儿来
- 目的地址(DA)- 到哪儿去
IPV4地址是一个32位二进制的数构成的,可以根据每8位转换为十进制,称为点分十进制
标识主机,路由器的接口
IP地址可以看作两部分
- 网络号(NeteID) - 高比特位,标识IP网络
- 主机号(HostID)- 低比特位

IP子网(Subnets)
网络号相同的设备接口构成IP子网,所有的接口是可以物理联通的,不经过其他设备
A : 有以下几个子网
- 223.1.1
- 223.1.9
- 223.1.8
- 223.1.7
- 223.1.2
- 223.1.3
4、IP分类
IP地址由四段组成,每个字段是一个字节,即8位,最大值是255
根据网络号进行划分IP为5类网络
A类地址:
网络号占用8位。首位固定为0,主机号占24位

网络地址位计算为【0 0000000 - 0 1111111】 即0 - 127
则:A类地址为0.0.0.0 - 127.255.255.255
B类地址
网络号占16位,前面两位固定为10 ,主机号占16位
网络地址位计算为【10 000000 - 10 111111】 即128 - 191
则:B类地址为128.0.0.0 - 191.255.255.255
C类地址:
网络号占24位,前三位固定为110,主机号占8位
网络地址位计算为【110 00000 - 110 11111】 即192 - 223
则:C类地址为192.0.0.0 - 223.255.255.255
D类地址:
不再区分网络号和主机号,前四位固定为1110,剩余28位称之为多播组号
用来标识一组主机,理论上可以分布在互联网的任意一个地方,只能作为IP地址中的目的地址
D类地址也称为多播地址,一般用于多路广播用户
网络地址位计算为【1110 0000 - 1110 1111】 即224 - 239
则:D类地址为224.0.0.0 - 239.255.255.255
E类地址:
不再区分网络号和主机号,前五位固定为11110, 是保留地址
用作研究
网络地址位计算为【1111 0000 - 1111 1111】 即240 - 255
则:D类地址为240.0.0.0 - 255.255.255.25
总结
| 类型 | 范围 |
|---|---|
| A | 0.0.0.0 到 127.255.255.255 |
| B | 125.0.0.0 到 191.255.255.255 |
| C | 192.0.0.0 到 223.255.255.255 |
| D | 224.0.0.0 到 239.255.255.255 |
| E | 240.0.0.0 到 255.255.255.255 |

网络IP划分使用的是A,B,C三类网络,占比87.5%
网络号位数越多,子网越多
主机号位数越多,子网中可分配IP就多
借用位数越多,区分的子网数越多,子网的网络范围相对应会小
**
无法分配的特殊网络地址
| NETID | HOSTID | 源地址 | 目的地址 | 用途 | 例子 |
|---|---|---|---|---|---|
| 全0 | 全0 | 可以 | 不可以 | 标识为本机,在路由表中用于表示默认路由(相当于整个Internet网络) | 0.0.0.0 |
| 全0 | 特定值 | 不可以 | 可以 | 表示本网内某个特定主机,只能出现在IP分组的目的地址 | 0.0.0.1 |
| 全1 | 全1 | 不可以 | 可以 | 本网广播地址,路由器不转发,也称为受限广播地址 | 255.255.255.255 |
| 特定值 | 全0 | 不可以 | 可以 | 网络地址,表示一个网络,IP子网 | C类地址:191.255.255.0 |
| 特定值 | 全1 | 不可以 | 不可以 | 直接广播地址,对特定网络上的所有主机进行广播 | C类地址:192.212.253.255 |
| 127 | 非全0 非全1的任何数 |
可以 | 可以 | 用于本地回环测试,是本机的回环地址 | 127.0.0.1 |
Q:本网广播地址和直接广播地址有什么区别
A: 如果广播是在源地址内子网广播,使用本网广播,如果是在目的地址子网广播,则使用直接广播地址
私有地址
只用于内部网络,在公网上是无效的
A,B,C三类IP地址都各自保留了一部分区域作为私有地址
| 类型 | 范围 | 数量 |
|---|---|---|
| A | 10.0.0.0 到 10.255.255.255 | 1 |
| B | 172.16.0.0 到 172.31.255.255 | 16 |
| C | 192.168.0.0 到 192.168.255.255 | 256 |
5、子网与子网划分

如何将一个相对大的IP子网划分为相对小的子网
子网划分
IP地址:
- 网络号:高比特位
- 子网号:原网络主机号部分位
- 主机号:低比特位

Q:如何确定是否划分了子网?利用主机号多少位划分子网?
A:子网掩码
子网掩码
子网掩码形如IP地址
- 都是32位
- 点分十进制
- 取值
- NetID ,SubID 位全部取1
- HostID全取0
则根据规则可知三类网络的默认子网掩码如下所示:
| 类型 | 默认子网掩码 |
|---|---|
| A | 255.0.0.0 |
| B | 255.255.0.0 |
| C | 255.255.255.0 |
例如:对于B类网络,借用3个比特进行划分子网,则其子网掩码根据取值规则计算如下
原B类子网掩码为 255.255.0.0 借用3个比特位进行划分子网,则可知其二进制数按照取值规则取值如下: 1111 1111 | 1111 1111 | 1110 0000 | 0000 0000 那么经过计算,可得其子网掩码为: 255.255.224.0
Q:如何确定子网大小
A: 通过子网地址和子网掩码即可得到子网的大小
将目的IP地址与子网掩码相与,可以得出其子网地址;
例如:
目的IP地址:172.32.1.112
子网掩码:255.255.254.0
则子网地址为:172.32.0.0
子网地址范围为:172.32.0.0-175.32.1.255
可分配地址范围:去除全0和全1 172.32.0.1 - 172.3.1.254
C类网络划分子网后,以下红色标识的地址为子网地址,绿色标识为广播地址,这两类地址都是无法分配给路由器和主机使用的
6、CIDR和路由聚合
无类域间路由(CIDR)
- 消除传统的A,B,C类地址界限
NetID+SubID+HostID——》Network Prefix(可以任意长度)
- 融合自我那个地址与子网掩码,方便子网划分
- 无类地址格式:a.b.c.d/x,其中x为长度
- 例如:

优点:
- 提高IPV4地址空间分配效率
- 提高路由效率
- 将多个子网聚合为一个较大的子网
- 构造超网
- 路由聚合
**


