网络层
Contents
网络层功能
- 管理数据通信
- 在
数据链路层
的支持下,将报文分组
从源节点
传输到目的节点
报文(message)
是网络中交换与传输的数据单元
(报文包含了将要发送的完整的数据信息,长度不限且可变)
分组
是在Internet中传送数据的单元
网络层与数据链路层的区别
- 数据链路层:仅完成
相邻节点
之间的数据传输
- 网络层:完成
源节点
到目的节点
之间的数据传输
网络地址
- 是
主机
或节点
的标示 - 是
结构化地址
,由网络号
和主机号
组成
网络地址 = 网络号 + 主机号
网络层协议涉及的主要内容
- 网络服务方式
- 分组格式
- 路由选择
- 子网划分
- 异构网络互联
路由选择
扩散法(洪泛法)
路由表一般结构:目的节点 | 最短距离 | 最佳输出链路 | …… ~
动态路由算法
1. 热土豆算法
基本思想:
- 当节点收到一个分组后,选择一条
输出队列
最短的链路
尽快地将其转发
出去,而 不管目的节点
位于何方。 - 优点:尽量 提高
链路
的利用率
- 缺点:盲目性
- 改进:与
固定式路由
算法混合使用
首先根据固定路由算法选择可能的输出链路,并给这些链路赋上一定权值
再根据链路队列长度,附上一定权值
选择这两个权值之和最小的链路
2. 逆向自学习算法
- 每个节点保存一张转发表(路由表),该表主要字段包括:
- …… | 目的地址 | 输出端口 | 时间 | ……
- 初始时转发表为空
- 当
数据包
到达节点
时
将数据包的源地址
视为转发表
的目的地址
,输入端口视为转发表的输出端口;如果转发表存在该目的地址,则刷新该记录;如果转发表不存在该目的地址,则增加一条新记录 - 根据数据包的目的地址,查询转发表;如果找到,则从指定的输出端口转发;如果找不到,则广播。
- 定期扫描转发表,
清除
过时的记录。
3. D-V算法
- 距离向量路由算法
- 基本思想:
每个节点都保存一张动态路由表。与固定式路由选择不同的是:相邻节点
之间定期交换
路由信息(如每隔30秒),并根据最新路由信息,刷新路由表。
目的节点 + 最短距离 + 最佳输出链路 - 初始化:
当节点加入网络时,获取直接相连 - 优点:
仅相邻节点
交换路由信息,所以运算量
和交换的信息量
较 小 - 缺点:
收敛速度 慢,对网络变化需经若干周期才能做出反应。特别是对好消息反应快
,对坏消息反应迟钝
。
4. L-S算法
- 链路状态路由选择算法
- 基本思想:
所有
节点相互
交换路由信息,并根据最新路由信息刷新路由表 - L-S算法描述:
发现邻居节点
当一个路由器
启动以后,通过向每个端口
发送特殊的HELLO分组来发现
邻居节点;收到HELLO
分组的路由器应返回一个
???
路由协议
路由信息协议(RIP)
- RIP采用D-V算法,用于小规模网络
- 技术特点
距离:下跳数,允许对下跳数加权
路由信息交换周期:缺省值为30秒
无穷计数问题:RIP选择16为∞
开放最短路由优先协议(OSPF)
- OSPF采用
L-S算法
,是目前Internet的主要内部网关协议
- 自治系统(AS)
- OSPF技术特点
距离:允许网络管理员选择多种“距离”度量,如延迟、数据率、通信费用、下跳数等。
???
边界网关协议(BGP)
- 内部网关协议(IGP)与外部网关协议(EGP)的区别:
IGP注重效率
EGP注重策略 - 作为Internet外部网关协议,用于不同AS之间的路由选择
- 技术特点:
BGP采用路经向量路由
算法,路由表中记录到达目的地的确切路由
,而不是最短距离
,从而解决“无穷
级数”问题。
IP协议
- IP协议是Internet体系结构的
核心协议
,已成为连接异构网络
的工业标准。 - IP提供
非面向连接
的数据报服务,每个IP分组长度 <= 64K字节,传输效率高
,但不能保证分组可靠的、按序到达。 - IP协议需要路由协议,ICMP, ARP, RARP 等协议支持。
- 服务类型:
告诉路由器该IP分组想获得何种服务,包括优先级、延迟、吞吐量和可靠性要求。该字段共有8位
。 ß
前3位:表示优先权
中3位 (D, T, R):表示想获得的服务质量(延迟、吞吐量、可靠性)
后2位:保留
注:几乎所有路由器都忽略
“服务类型”字段 - 总长度:表示整个IP分组长度,包括报头和数据部分:该字段16位,所以IP分组最大长度 2^16 - 1 = 65535字节(大概 64KB)
- 标识:16位,用来表示一个分组,统一分组的不同分段具有相同的标识。
- 标志:3位
- 第一位:保留
- 第二位:DF位 (Don’t Fragment),若DF = 1,则IP分组在传输中不允许分段,如目的主机从远方引导启动机器的影响文件,目的主机无能力重组分组。若DF = 0, 则允许分段。
- 第三位:MF位 (More Fragment),若MF = 0,则该分段是原分组的最后一个分段。
- 特殊的IP地址:
32位全 “0” :表示本地地址,进党初始启动时使用,以后不再使用
32位全 ”1“ :本地
??? - 内部IP地址(私用地址)
A类:10.0.0.0(1个网络)
B类:172.16.0.0 - 172.31.0.0(16个网络)
C类:192.168.0.0 - 192.168.255.0(256个网络)
Internet的路由器
不会转发
目的地址为上述
地址的IP地址,即私用地址不能穿越内部网络边界
路由器IP寻址
路由器根据目的网络号
而不是目的IP地址
转发IP分组,以减少路由表的信息量。
当一个分组
到达时,路由器
获取它的网络号
。如果是本网,则该IP分组直接发送到指定主机;如果是其他网络,则根据路由表
转发到下一个路由器
。
如果路由表
找不到目的网络,则将该分组转发到“缺省链路”
IP协议用于分组传输,Internet还需要一些控制协议,包括 ICMP, ARP, RARP等
ICMP协议
用于报告IP协议运行过程中意外事件的发生,也用于网络测试
。
ICMP消息主要有12中,这些ICMP消息封装在IP分组中传输。因此,ICMP消息可视为 ”IP控制分组“
主要ICMP消息:
目的不可达:当目的路由器无法找到目的主机,或者DF为“1”的分组经过MTU较小的网络二无法传输时,返回该消息
超时
参数出错