第五章 网络层(一)
简介
形象分析: 网络层就像是十字路口的一个警察: 有人到十字路口问路,警察告诉他该怎么走(路由选择); 路上有交通堵塞,警察疏通交通,同时通知别人,此路口堵塞,其他车辆绕行(拥塞控制); 这条路一端能走机动车,而另一端不能走机动车,警察想办法让这个机动车过去(网络互联)
- 网络层主要解决的问题
- 路由选择
- 网络互连
- 拥塞控制
- 为上层提供服务
- 本章目录
- 网络层设计的相关问题(略)
- 路由算法
- 拥塞控制
- 服务质量
- 网络互联
- 因特网中的网络层
路由算法
- 路由算法是网络层软件的一个重要部分,它决定进入的分组应从哪一根输出线传输
- 如果是数据报子网,将在每一个分组到达时作此决定
- 如果是虚电路子网,是在虚电路建立时决定,该连接上所有分组都将沿此线路传输
- 路由与转发:路由是寻径,转发是当一个分组到达时发生的动作
- 路由算法设计必须考虑的问题
- 正确性/简单性/健壮性/稳定性/公平性/最优性
- 路由算法中的度量标准
- 路径长度
- hop数(一个路由器到下一个路由器叫一个hop)
- 延迟时间
路由算法的分类
- 静态算法
- 假设当前网络的拓补结构是不变的,为每个结点找到路径
- 为路由器配置一张最优的路由表
- 最短路径算法(Dijkstra)
- 扩散法(flooding)
- 缺点:重复数据包多,浪费带宽
- 优点:可靠性高,路径最短,常用于军事
- 自适应算法
- 自适应算法是动态的、分布式的算法(网络拓补结构是动态的)
- 实现分布式算法的三要素:
- The measurement process(测量)
- The update protocol(更新协议)
- The calculation(计算)
- 路由器动态建立和维护一张最优的路由表
- 距离矢量算法(D-V)
- 每个路由器用两个向量Di和Si来表示该点到网上所有节点的路径距离及其下一个节点
- 相邻路由器之间交换路径信息
- 各节点根据路径信息更新路由表
- 缺点:
- 交换的路径信息量大
- 路径信息不一致
- 收敛速度慢(坏消息)
- 不适合大型网络
- 链路状态算法(L-S)
- 基本思想:
- 发现它的邻接节点,并得到其网络地址
- 测量它到各邻接节点的延迟或开销
- 组装一个分组以告知它刚知道的所有信息
- 将这个分组发给所有其他路由器
- 计算到每个其他路由器的最短路径
- 优点
- 路由信息的一致性好,坏消息也一样传播得快
- 状态分组的长度较短,仅包含到邻接点的距离、序号和年龄等,与网络规模关系不大,传输所耗用的网络带宽不大,
- 此外,状态分组的扩散,由于年龄参数的设定,不会无限制扩散,所以可适用于大型网络
- 缺点
- 每个路由器需要有较大的存储空间,用以存储所收到的每一个节点的链路状态分组
- 计算工作量大,每次都必须计算最短路径
- 基本思想:
- 距离矢量算法(D-V)
- 拓扑相关的路由算法
- 分层路由
- 随着网络规模的增长,存储和处理路由表所需的资源也急剧增长,从拓扑上分层是解决问题的一个方法
- 分层的概念:将路由器分成组,每一路由器知道到组内任何一台路由器的路由,以及到其他组的路由,因此可把其他组中所有的路由器抽象成一个,以减少路由表的长度
- 也就是说一块区域内的路表只知道当前区域内的路由,以及到下一个区域的路由,多个区域分区管理的概念.
- Internet网络就是这样分层管理的
- 广播路由
- 之前讲的都是点到点的路由
- 广播路由是一个发送点到多个接收点的路由
- 发送方式:
- 逐个向所有节点分别发送报文
- 缺点:发送量大
- 需知道网上所有节点的地址
- 扩散法
- 缺点:流量大,消耗大量带宽
- 某些节点还可能收到重复的报文
- 逐个向所有节点分别发送报文
- 广播路由算法
- 多目的地路由
- 分组中包含需到达的多个目的地的地址表
- 到一个节点时,路由器检查所有的目的地址表,确定输出线路集合,路由器为每一条输出线路复制一个新的分组,每个分组中仅含有要用此线路的目的地址表
- 优点:流量小,节约带宽
- 缺点:费用承担不公平
- 生成树算法
- 路由器将分组沿生成树发送(除进入线路之外)
- 优点:带宽得到最佳利用
- 缺点:每个路由器必须知道其可用生成树
- 如链路状态路由算法可得到生成树,距离矢量路由算法却不能得到
- 逆向路径传送
- 基本原理:当某一广播分组到达路由器时,路由器对它进行检查,如该分组来自通常向广播源发送分组的线路,则将该分组转发到除进线以外的其它线路,否则丢弃
- 多目的地路由
- 多址传输路由选择
- 也是一个发送方,多个接收方
- Peer-to-Peer网的节点查找
- 对等网:一组织中大量用户通过固定线,接入Internet,共享资源
- 对等网的特点:
- 全分布:所有节点都是对称的,没有控制中心或分层的概念
- 每个节点都有一些其他用户感兴趣的信息
- 对等网的路由:没有一个中心数据库,如何发现要寻找的信息
- 分层路由
-
移动节点的路由(重要)
- Ad-hoc网络的路由(重要)
拥塞控制
- 当通信子网中有太多的分组,导致其性能降低,这种情况叫拥塞
- 拥塞控制和流量控制的区别
- 全局性问题和局部性问题
- 造成拥塞的原因
- 节点存储容量(缓冲区)不够(问交警的人太多,没地方站了)
- 处理机速度太低 (交警水平不行,指的太慢)
- 线路容量(带宽)不够 (道路太窄)
服务质量
- 从同一源(进程)到同一目的地(进程)的一串分组流(stream)称为流(flow)
- 源: 发送请求的应用进程(用户端)
- 目的地: 处理请求的进程(服务器)
- 流的服务质量有四个指标
- 可靠性
- 延迟
- 抖动
- 所需带宽
-
不同服务所需要的不同质量
网络互联
- 网络互联(internet)的背景
- 不同类型的局域网的发展
- Ethernet FDDI 802.11 ATM
- TCP/IP SNA NCP/IPX AppleTalk
- 网络互联的类型
- LAN-LAN (局域网-局域网)
- LAN-WAN (局域网-广域网)
- WAN-WAN (广域网-广域网)
- LAN-WAN-LAN (局域网-广域网-局域网)
- 网络互联的设备
- 中继器
- 物理层的互联设备
- 延伸传输的长度,传输二进制的媒体线路不可能很长
- 接收信号转换为二进制,在将二进制传出去
- 多个中继器连接起来的任然是一个网络
- 网桥
- 数据链路层的设备
- 将2个或多个局域网互连起来
- 处理的为数据链路层的帧
- 路由器
- 第三层网络互联设备(IP层的设备)
- 连接的是不同的物理网络
- 一边是局域网/一边是广域网
- 传输网关
- 传输层的互联设备
- 应用网关
- 应用层的互联设备
- 把两个应用系统连接起来
- 中继器
- 互联网络的相关技术
- 互联方式
- 级联虚电路
- 要求沿途的网络都能提供可靠传输的保证
- 无连接的网络互联
- 每个分组独立地选择路由
- 不同网络的 分组格式可能不尽相同
- 不同网络可能采用不同的地址编制方法
- 此外,不能保证分组按顺序到达
- 必须设计一个通用的互联网分组格式和编址方法
- 隧道
- 级联虚电路
- 互联网络的路由
- 将网络分成一个个的AS(autonomous system 自治系统),AS之间由路由器连接
- 每个自治系统受单一管理机构控制,由一组网络构成 (如校园网就是一个AS )
- AS中由内部网关协议IGP(Interior Gateway protocol)处理
- AS间由外部网关协议EGP(Exterior Gateway protocol)进行处理
- Packet的分段与重组
-
简单的网络互联
- 一个数据包从源主机到目的主机是如何走的呢?分析如下:
- 数据包经过网络1发送,网络1的帧头+数据包
- 发送的网络2时,解析数据包,网络2的帧头+数据包
- …..一直到目的主机
- 一个数据包从源主机到目的主机是如何走的呢?分析如下:
-
如果数据包很大,物理网络的帧装不下怎么办?
- 这就出现了分段,把这个数据包分成若干段发送
- 数据到了目的主机的网络层,目的主机的网络层需要把分段的数据重组交给传输层
- 分段
- 重组
- 透明分段——在入口网关分段,由出口网关重组
- 出口网关必须知道什么时候本分组的所有分段都已收到,并必须对每个分段进行存储,此外所有分段必须汇集到出口网关
- 非透明分段——由目的主机重组
- 要求每一主机都有重组功能,由于每个分段都必须增加一个头部,所以增加了每一分组的开销
- 透明分段——在入口网关分段,由出口网关重组
-
- 互联方式