2010-5-13 1
计算机网络
Computer Networks
第四讲 TCP/IP协议(二)
—— 路由器与路由选择协议
2010-5-13 2
第 3层网络设备 — 路由器
路由器是工作在第三层(网络层)上的
网络设备,它将网段或整个网络连接起

路由器基于第三层地址对数据包进行转

路由器具有一定的智能,能够决定在网
络上转发数据包的最佳路径
2010-5-13 3
应用层
表示层会话层
传输层
网络层
链路层
物理层
应用层
表示层会话层
传输层
网络层
链路层
物理层
网络层
链路层
物理层
网络网络
OSI模型中的路由器
2010-5-13 4
路由器的功能
路由器能够把多个段分成各自的冲突域
和广播域
路由器基于第三层的包头信息来转发数
据包
路由器可根据它们的配置来执行桥接和
路由选择的功能
其它功能:
流量过滤
路由表维护
数据包格式转换
2010-5-13 5
广播域
当一个网络设备想访问另外一个不知道具体位
置的网络设备的时候,它就会对所有的网络设
备进行广播,所有能接收到这些的广播的设备
所组成的区域称为广播域
如果网络中发送的广播过多的话,就会产生广
播风暴,会造成网络超时及流量的速度变慢,
从而大大降低了网络的工作效率
由于网桥工作在第 2层,因此它会转发广播帧,
网桥的两端是一个大的广播域
隔离广播域的方法是使用第三层设备,如路由

2010-5-13 6
使用路由器限制广播域
路由器是网络层设备
能够基于 IP地址对流量进行过滤
可以解决过度广播流量问题
2010-5-13 7
辨别冲突域和广播域
集线器 网桥 交换机 路由器
2010-5-13 8
路由器的接口 /端口
S1S2
S0
172.16.0.0
199.57.32.0
131.57.0.0
? 为了传送分组,路由器会使用两个基本功能:路由选
择和交换功能
? 路由器与网络的连接部分称为接口,也被称为端口
? 在进行 IP路由选择时,每个接口必须具有一个独立的、
唯一的网络地址,地址的网络部分用来进行路由选择,而
地址的节点部分指的是在网络或子网上的路由器端口
2010-5-13 9
路由选择表
路由器通过维护一个路由选择表来记录
路由的更新信息,该表包括以下信息:
网络地址( NET)
接口 (INT)
计量值 (Metric)
路由表
NET INT Metric
1
2
S0
S0
1
0
4 E0 0
路由器使用配置信息来确定到达目标网络的路径
2010-5-13 10
路由表
NET INT Metric
1
2
4
S0
S0
E0
1
0
0
1.0 4.0
1.3
E0
4.3
S0
2.2
E0
2.1
S0
4.1
4.2
1.1
1.2
路由表
NET INT Metric
1
2
4
E0
S0
S0
0
0
1
2010-5-13 11
路由选择功能使得路由器可以比较到达目的地的多条路
由,以便对数据包进行最优的处理
哪条路径?
2010-5-13 12
静态路由和动态路由
静态路由的信息是手工管理的,网络管
理员将其输入到路由器的配置中。当网
络拓扑结构发生改变时,网络管理员必
须手工更新静态路由信息
动态路由采取了不同的工作方式,网络
管理员通过配置命令启动了动态路由之
后,路由进程就能自动地使用从网络上
收到的信息来更新自己的路由信息
2010-5-13 13
静态路由
172.16.2.1
SO
172.16.1.0
B172.16.2.2网络 A
存根网络
当某个网络只能通过一条路由到达时,
使用静态路由就足够了
2010-5-13 14
动态路由
BA
BC D
动态路由提供更多的灵活性
2010-5-13 15
动态路由
两类路由协议:
?内部网关协议( IGP)
自治系统( AS)内部的路由协议,如 RIP,OSPF。
?边界(外部)网关协议( BGP)
处理 AS之间的路由传递,如 BGP,EGP。
*自治系统( AS)又称为路由域、自治域,它是由若干个可以交换
内部路由信息的路由器的集合。
多个自治系统可以通过边界路由器互联起来。
2010-5-13 16
自治系统( AS)
自治系统 100 自治系统 200
IGP,RIP,IGRP EGP,BGP
自治系统是一个位于共同管理域下的网络的集合
IGP是作用于自治系统内部
EGP连接不同的自治系统
2010-5-13 17
动态路由
路由算法:根据网络拓扑计算路由的方法。
或路由表的生成方法。
两种路由算法:
?距离向量( V-D)算法
如 RIP(路由信息),GGP(网关 -网关)
?链路状态( L-S)算法
如 OSPF(开放最短路径优先)
2010-5-13 18
路由选择算法
距离向量路由算法
链路状态路由算法
2010-5-13 19
距离向量路由算法
属于动态路由算法
基本思想
每个路由器维护一张表,表中给出了到每个目的地
的已知最佳距离和线路,并通过与 相邻路由器 交换
距离信息来更新表;
以子网中其它路由器为表的索引,表项包括两部分:
到达目的结点的最佳输出线路,和到达目的结点所
需时间延迟或距离;
每隔一段时间,路由器向所有邻居结点发送它到每
个目的结点的距离表,同时它也接收每个邻居结点
发来的距离表;
邻居结点 X发来的表中,X到路由器 i的距离为 Xi,
本路由器到 X的距离为 m,则路由器经过 X到 i的距
离为 Xi + m。根据不同邻居发来的信息,计算 Xi +
m,并取最小值,更新本路由器的路由表;
2010-5-13 20
路由器
距离向量算法举例
J的新路由表
延迟
从 J的四个邻居
接收到的信息
2010-5-13 21
链路状态路由算法
距离向量路由算法的主要问题
选择路由时,没有考虑线路带宽;
路由收敛速度慢。
链路状态路由算法
发现邻居结点,并学习它们的网络地址;
测量到每个邻居结点的延迟或开销;
将所有学习到的内容封装成一个包;
将这个包发送给所有其它路由器;
计算到每个其它路由器的最短路径。( Dijkstra算
法计算最短路径)
2010-5-13 22
链路状态报文
2010-5-13 23
路由选择协议分类
距离向量
混和路由
链路状态C
B
A
D
C
D
B
A
2010-5-13 24
距离向量路由协议 RIP
周期性地向邻居路由器发送路由表的一个拷贝并且累积距离向

C
D
B
A
C B AD
路由表 路由表 路由表 路由表
距离 — 多远
向量 — 方向