王道-计算机网络-网络层
1.概述
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务.
网络层的传输单位是数据报
分组是数据报的片段.
功能
- 路由选择和转发 (最佳路径)
- 异构网络互联
- 拥塞控制
- 若所有节点都来不及接受分组,要丢弃大量分组,网络就处于拥塞状态.要采取一定的措施来环节这种拥塞.
- 方法:开环控制(静态)和闭环控制(动态)
2.数据交换方式
网络层的核心设备是路由器
为什么需要数据交换?
- 电路交换
- 报文交换
- 分组交换
- 数据报交换
- 虚电路交换
2.1 电路交换
特点:独占资源
优点
- 通信时延小
- 有序传输
- 没有冲突
- 实时性强
缺点
- 建立连接时间长
- 线路独占,使用效率低
- 灵活性差
- 无差错控制能力
2.2 报文交换
报文:源应用发送的信息整体
优点
- 无需建立连接
- 存储转发,动态分配路线
- 线路可靠性较高
- 线路利用率较高
- 多目标服务
缺点
- 有存储转发时延
- 报文大小不确定,需要网络节点有较大缓存空间
2.3 分组交换
思想和报文交换一致
分组:把大的数据块分割成小的数据块
优点
- 无需建立连接
- 存储转发,动态分配路线
- 线路可靠性高
- 线路利用率高
- 相对于报文交换,存储管理更容易
缺点
- 有存储转发时延
- 需要传输额外的信息
- 乱序到达目的地,需要对分组重排序
2.4 数据报方式&虚电路方式
数据报方式为网络层提供无连接服务
虚电路为网络层提供连接服务
几种传输单元名称的辨析
- 应用层:报文
- 传输层:报文段
- 网络层:IP数据报/分组
- 数据链路层:帧
- 物理层:比特流
2.4.1 数据报 (因特网使用)
无连接
每个分组携带源和目的地址
2.4.2 虚电路
有连接
2.4.3 总结
2.5 总结
3.路由算法和路由协议
3.1 路由算法
通常是选择路径最短的
路由算法的分类
- 静态路由算法(非自适应算法) 管理员手动配置路由信息
路由更新慢,不适用于大型网络
- 动态路由算法(自适应路由算法)
路由器之间彼此交换信息,按照路由算法优化出路由表.
路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化.
算法复杂,增加网络负担.
动态路由算法的分类
- 全局性
- 链路状态路由算法 OSPF 所有路由器都能掌握完整的网络拓扑和链路费用信息
- 分散性
- 距离向量路由算法 RIP 路由器只掌握物理相连的邻居及链路费用
3.2 分层次的路由选择协议
路由选择协议
- 内部网关协议IGP(AS内适用) RIP/OSPF
- 外部网关协议EGP(AS间适用) BGP
4.RIP协议与距离向量算法
RIP是一种基于距离向量的路由选择协议,是因特网的协议标准,最大的优点是简单
RIP只适用于小互联网
RIP特性
- 仅和相邻路由表交换信息
- 路由器交换的信息是自己的路由表
- 每30秒交换一次路由信息.然后根据新信息更新路由表.若超过180s没收到邻居路由器通告,则判定邻居没了,并更新自己的路由表.
路由表是如何更新的呢?(距离向量算法)
4.1 RIP报文格式
特点
好消息传得快,坏消息传得慢
4.2 总结
5.OSPF协议与链路状态算法
最主要的特点:使用分布式的链路状态协议
特点
最后,所有的路由器都能够建立一个**链路状态库,即全网拓扑图**
5.1 链路状态路由算法
5.2 OSPF的区域
能够用于规模比较大的系统
OSPF分组
直接使用IP数据报发送
5.3 其他特点
6.BGP协议
AS(自治系统)之间使用
特点
6.1 信息交换过程
交换一系列的路径
6.2 报文格式
BGP协议是应用层协议,使用TCP传送
6.3 特点
6.4 BGP-4的四种报文
OPEN报文
用来与相邻的另一个BGP发言人建立关系,并确认发送方.
UPDATE报文
通告新路径或撤销原路径
KEPPALIVE报文
在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认
NOTIFICATION报文
报告先前报文的差错;也用于关闭连接.
6.5 三种协议的比较
7.IP数据报
7.1 IP数据报格式
TCP/IP协议栈
应用层/传输层/网络层/物理链路层
格式
7.2 IP数据报的分片
最大传送单元MTU
链路层数据帧可封装的数据上限
以太网的MTU是1500字节
超过1500长度就分片
标识/标志/片偏移
分片案例
注意点
- 总长度的单位是1B
- 片偏移的单位是8B
- 首部长度的单位是4B
8.IPv4地址
8.1 IP地址
IP编址的历史
8.2 分类的IP地址
特殊的IP地址
8.3 私有IP
8.4 网络数量
8.5 网络地址转换NAT
私有IP地址
路由器对目的地址是私有IP地址的数据一律不转发
NAT
9.子网划分和子网掩码
分类IP地址的弱点
- IP地址利用率有时候很低
- 两级IP地址不够灵活
9.1 子网划分
9.2 子网掩码
9.3 使用子网时分组转发
10.无分类编址CIDR
10.1 构成超网/路由聚合
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合.
方法:将网络前缀缩短
10.2 最长前缀匹配
11.ICMP协议
更加有效的转发IP数据报和提高交付成功的机会
11.1 网际控制报文协议
11.2 ICMP差错报告报文
格式
不发送ICMP差错报告的情况
11.3 ICMP询问报文
11.4 ICMP的具体应用
Tranceroute
发送一连串的数据报,只用TTL不一样,从1开始,依次增加,直到到达了终点,然后根据ICMP差错报文就可以探知发送路径.
12.IPv6
为什么有IPv6?
12.1 IPv6格式
12.2 IPv4 & IPv6
12.3 IPv6表示形式
12.4 IPv6基本地址类型
12.5 IPv6向IPv6过渡的策略
13.IP组播
13.1 IP数据报的三种传输方式
13.2 IP组播地址
硬件组播
解决那5位不一样,后面23为相同的情况.
13.3 IGMP协议和组播路由选择协议
IGMP协议
IGMP工作的两个阶段
组播路由选择协议
尝试用的算法
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关组播(稀疏/密集)
14.移动IP
14.1 相关术语
代理可以是路由器也可以是主机