第2章 互联网基础协议
ARP协议和RARP协议
ICMP协议
多播和IGMP协议
因特网路由选择协议
1
2 内部网关协议RIP
3 内部网关协议OSPF
1 因特网路由与协议概述
知识点:
4 外部网关协议BGP
2
重点与难点
重点理解和掌握:
1、简单路由表结构和分层路由协议思想。
2、路由协议分类和各自概念
3、常用路由协议RIP、OSPF和BGP的工作思想
主要了解:
1、常用路由协议RIP、OSPF工作原理
2、路由协议发展和现状
3、实际互联网中路由器的不同定位和主要作用
3
FR网络
LAN
ATM
SDH
LAN2
DDN网络
LAN1
路由器
路由器
路由器
路由器
路由器
路由器
B
Unix
Win
因特网路由与协议概述
4
因特网是路由器连接的计算机网络,所以,因特网IP
地址划分为网络地址与主机地址,路由器根据目的网
络地址和路由表,选择本地提交或确定下一跳的地址。
因特网路由与协议概述
当在路由器连接的不同网络间传输IP报时,由于因特
网非常大(连接的路由器数达几百万,40亿主机),
为了转发每个可能地址的包,要解决数据报怎样根据
路由表选择最佳的路径转发。即路由协议和算法就是
根据网络拓扑、流量等变化,动态、灵活地调整路由
表(项)。
5
1. 路由选择协议中的度量值
因特网是一个网状的网络,从一个网段到另
一个网段可能存在很多的路径,路由选择的
目的就是要在源端与目的端找出一条“最佳
”的路径
但什么是“最佳”的路径,不同的协议有不
同的定义。
通常路由协议会为路径赋与一个 “度量
(metric)值”:这个值根据路数、链路长度、
数据率、链路容量、传播时延等来计量,路
由协议根据“度量值”来评价最佳路径。
6
路由的分类
静态路由——非自适应路由选择,其特点是
简单和开销较小,但不能及时适应网络状态
的变化。
动态路由——自适应路由选择,其特点是能
较好地适应网络状态的变化,但实现起来较
为复杂,开销也比较大。
注:路由算法分为静态和动态两种,路由算法面临的环境是复杂
而变化的。
7
问题:简单网络路由器的路由表的结构和工作原理?
目的地 掩码 下一站
255. (A类地址)
255. (A类地址) 本地提交
(B类地址) 本地提交
(C类地址)
R1
R2
R3
网络1(A)
网络号
网络4
接口
网络2(A)
网络3(B)
R2
路
由
表
8
IP地址划分为网络地址与主机地址,简单路由器连接
计算机网络,路由器通过掩码计算目的网络地址,选
择本地提交或确定下一跳的接口IP地址。路由表需要
反映可能主机IP网络地址的寻址,常使用默认路径。
目的地 掩码 下一站
255. (A类地址) 本地提交
(B类地址) 默认
(C类地址) 默认
R1
路
由
表
9
其他主干网
其他主干网
Stanford
WESTNETA子区网
Berkeley
实际因特网层次结构
NSFNET主干网
ISP1区域网
BARRNET
小公司
PARC
NCAR
UA
UNM
对等汇接中心
大公司
10
实际今天因特网组成:
1、根结构由多个主干网(服务提供商的网络,而不是
政府网络)互连而成。
2、大公司(单位)和ISP直接与一个(或多个)主干
网连接;实际上作为主干的网络服务商,也可是城域
(区域)的ISP 。
3、一般小公司(单位)和个人用户通常作为ISP的客
户接入ISP。
4、服务质量和连接链路的带宽直接有关,而且,由于
服务提供商的网络是有层次的,所以也和连接在网络
的哪一层有关。
11
如根据因特网IP网络地址划分,当因特网上有几万
甚至更多网络时,路由器的路由表不能处理以上规
模,且IP(C/B类)地址也无法支持每个物理网络。
实际上因特网的层次结构,路由器不可能(不需要)
知道互联网的所有主机所属网络。
所以,目前因特网需要解决“可扩展”路由技术:
1、路由选择的可扩展性问题,需要找到路由协议和
路由表中存储(处理)的网络号数目的方法。
2、IP地址利用问题,确保IP地址空间不会过快消耗
完。
实际复杂互联网的结构,一般路由表是否能处理?
12
1、正确和完整性:沿路由表指定路由一定能到达所有
可能的目的主机。
理想的路由协议算法
什么是协议,什么
是算法?
网络协议是两个或
多个实体(硬件/
软件)完成通信/
信息交互的规则集
合,通常功能、表
示、会话一系列约
定。
算法是解决某个特
定问题的实现/计
算方法。
2、计算简洁性/合理性:保证路由选择对数据报传输
时延小,占有系统资源(CPU、内存、通信量、保密和
可靠性处理等)开销合理。
3、自适应(健状性、可靠性):能根据网络节点故障、
流量、链路负载等进行动态调整。
4、稳定性:在网络结构和流量基本稳定情况下,算法
应稳定收敛在良好状态,避免路由表不停变化。
5、公平性:除高优先级用户外,对所有用户数据报处
理是一致的,以及服务质量公平/适应性。
目前互联网主要使用自适应(动态的)、分布式协议。
13
2. 分层次的路由选择协议
因特网采用分层次的路由选择协议。
1)因特网的规模非常大。让所有路由器知道所
有的网络信息,路由表将非常大,处理时间
长。路由器之间交换的路由信息所需的带宽
消耗也非常大。
2)许多单位不愿意外界了解自己单位网络的布
局细节和本部门所采用的路由选择协议,但
同时希望连接到因特网上。 (如:因特网互连而成
的各个组织网络(自治域网络),其内部网络构成细节(拓
扑、IP地址规划等)) 14
自治系统(autonomous system)
因特网将整个互联网划分为许多自治系统 AS。
一个自治系统是一些网络和路由器的集合,自
治系统的管理者有权自主地决定在本系统内应
采用何种路由协议。
一个自治系统内的网络通常都属于一个行政单
位(例如,一个公司,一所大学,政府的一个部
门,等等)来管辖。
一个自治系统的所有路由器在本自治系统内都
必须连通。
15
因特网有两大类路由选择协议
内部网关协议 IGP 即在一个自治系统内部使用
的路由选择协议。如: RIP 和 OSPF 协议。
外部网关协议EGP 若源站和目的站处在不同的
自治系统中,当数据报传到一个自治系统的边界
时,就需要使用此种协议将路由选择信息传递到
另一个自治系统中。如: BGP-4。
实际上因特网上各路由器的担负的角色是不同,
有的路由表非常简单,有的核心路由器的路由表
非常复杂。
16
R1H1 H2
内部网关协议
IGP
(例如,RIP)
自治系统 A
自治系统 B自治系统 C
IGPIGP
IGP
IGP
IGP
IGP
IGP
IGP
IGP
IGP
IGP
IGP
EGP EGP
EGP
内部网关协议
IGP
(例如,OSPF)
外部网关协议
EGP
(例如,BGP-4)
IGP
R3
R2
自治系统和
内部网关协议、外部网关协议
17
内部网关协议 RIP
(Routing Information Protocol)
1. 工作原理
RIP 是一种分布式的基于距离向量的路由选
择协议。
RIP(Router Information Protocol), 是最
早、最广泛应用的分布式路由选择协议,典
型的距离向量协议——最短路径路由协议。
RIP 要求网络中的每一个路由器都维护从它
自己到其他每一个目的网络的距离记录。
18
“距离”的定义
RIP 协议以所经路由器的个数作为“度
量值”,称之为“距离”,即跳数。
从一个路由器到直连网段的距离定义为
0。
从一个路由器到非直连网段的距离定义
为所经过的其他路由器的个数。
19
“距离”的定义
RIP 认为一个好的路由就是它通过的路由器的
数目少,即“距离短”。
RIP 允许一条路径最多只能包含 15 个路由器。
“距离”的最大值为16 时即相当于不可达。
RIP 只适用于小型互联网。
为什么是15跳?
20
路由协议应该能防止数据包进入循环,或落
入路由选择循环,这是由于多余连接影响网
络的问题。RIP协议假定如果从网络的一个终
端到另一个终端的路由跳数超过15个,那么
一定牵涉到了循环,因此当一个路径达到16
跳,将被认为是达不到的。这限制了RIP协议
在网络上的使用。
21
RIP 协议的几个特点
仅和相邻路由器交换信息。
交换的信息是当前本路由器所知道的全
部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,
每隔 30 秒。
RIPv1采用广播方式,RIPv2采用组播方
式交换路由信息。
22
正常情况下,每30秒路由器就可以收到一次路由信息确认,
如果经过180秒,即6个更新周期,一个路由项还没有得到
确认,路由器就认为它已失效了。如果经过240秒,即8
个更新周期,路由项仍没有得到确认,它就被从路由表
中删除。
23
RIP路由表格式
(目的网络,距离,下一站路由器……)
……
x,y
x,y
t1,t2,t32网络2
x,yt1,t2,t3路由器1 3 网络1
目的地 下一站地址距离 计时器 标志位
t1,t2,t31网络3
路由器2
路由器1
…… …… …… ……
t1: 表示更新时间,通常30S;t2:无效时间,路由项激
活后计算,超过视为失效,通常180S;t3: 清除时针,
通常240S。
标志位标志此路由最近是否发生变化,以备触发更新时间
24
路由表的建立
路由器在刚刚开始工作时,只知道到直连网段
的距离(此距离定义为0)。
每个周期内,每个路由器和相邻路由器交换并
更新路由信息。
经过若干次更新后,所有的路由器最终都会知
道到达本自治系统中任何一个网络的最短距
离和下一跳路由器的地址。
25
1 0
2 0
3 0
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 0
6 0
1 0
5 0
一开始,各路由表只有到相邻路由器的信息
网 3
网 2
网 4
网 6
网 5网 1
“4”表示“从本路
由器到网 4” “0”表示“距离是
0”
“”表示“直接
交付”
26
1 1
2 1
3 1
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 1
6 1
1 0
5 0
路由器 B 收到相邻路由器 A 和 C 的路由表
网 3
网 2
网 4
网 6
网 5网 11 0
2 0
3 0
4 0
6 0
1 1 A
2 1 A
3 0
4 0
6 1 C
更新后
A 说:“我到网 1 的距离是 0。”
因此 B 现在也可以到网 1,
距离是 1,经过 A。”
27
1 0
2 0
3 0
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 0
6 0
1 0
5 0
路由器 B 收到相邻路由器 A 和 C 的路由表
网 3
网 2
网 4
网 6
网 5网 1
1 0
2 0
3 0
4 0
6 0
1 1 A
2 1 A
3 0
4 0
6 1 C
更新后
A 说:“我到网 2 的距离是 0。”
因此 B 现在也可以到网 2,
距离是 1,经过 A。”
28
1 0
2 0
3 0
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 0
6 0
1 0
5 0
路由器 B 收到相邻路由器 A 和 C 的路由表
网 3
网 2
网 4
网 6
网 5网 1
1 0
2 0
3 0
4 0
6 0
1 1 A
2 1 A
3 0
4 0
6 1 C
更新后
A 说:“我到网 3 的距离是 0。”
但 B 没有必要绕道经过路由器 A
再到达网 3,因此这一项目不变。
29
1 0
2 0
3 0
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 0
6 0
1 0
5 0
路由器 B 收到相邻路由器 A 和 C 的路由表
网 3
网 2
网 4
网 6
网 5网 1
1 0
2 0
3 0
4 0
6 0
1 1 A
2 1 A
3 0
4 0
6 1 C
更新后
C 说:“我到网 4 的距离是 0。”
但 B 没有必要绕道经过路由器 C
再到达网 4,因此这一项目不变。
30
1 0
2 0
3 0
F
E
D
C
B
A
5 0
6 0 2 0
5 0
3 0
4 0
4 0
6 0
1 0
5 0
路由器 B 收到相邻路由器 A 和 C 的路由表
网 3
网 2
网 4
网 6
网 5网 1
1 0
2 0
3 0
4 0
6 0
1 1 A
2 1 A
3 0
4 0
6 1 C
更新后
C 说:“我到网 6 的距离是 0。”
因此 B 现在也可以到网 6,
距离是 1,经过 C。”
31
最终所有的路由器的路由表都更新了
F
E
D
C
B
A
1 0
2 0
3 0
4 1 B
5 1 E
6 2 B
1 0
2 1 A
3 1 A
4 2 A
5 0
6 1 F
1 1 E
2 1 D
3 2 C
4 1 C
5 0
6 0
1 2 B
2 2 B
3 1 B
4 0
5 1 F
6 0
网 2
网 6
网 5网 1
网 3
网 4
1 1 A
2 0
3 1 A
4 2 A
5 0
6 1 F1 1 A2 1 A
3 0
4 0
5 2 C
6 1 C
32
RIP 协议的位置
RIP 协议使用传输层的用户数据报 UDP
进行传送(使用 UDP 的端口 520)。
因此 RIP 协议的位置应当在应用层。但
转发 IP 数据报的过程是在网络层完成
的。
33
4 字节
RIP 报文
3. RIPv2 协议的报文格式
路由信息
(20 字节/路由)
可重复出现
最多 25 个
IP 数据报
路由标记
网络地址
地址族标识符
距离 (1-16)
IP
首部
UDP
首部
首部 路由部分
必为 0版本命令
4 字节
子网掩码
下一跳路由器地址
UDP 用户数据报
命令=1:路由信息请求报
命令= 2:路由信息响应报/主动路由信息更
新报
地址类型标识:2(IP地址)
路由标识:自治域号码,区分可能收到的
其它自治域路由信息
34
RIPv2 的报文
由首部和路由部分组成。
RIPv2 报文中的路由部分由若干个路由信息组
成。每个路由信息需要用 20 个字节。地址族
标识符(又称为地址类别)字段用来标志所
使用的地址协议。
路由标记填入自治系统的号码,这是考虑使
RIP 有可能收到本自治系统以外的路由选择信
息。再后面指出某个网络地址、该网络的子
网掩码、下一跳路由器地址以及到此网络的
距离。
RIPv1报文中不含子网掩码。 35
RIP 协议的优缺点
RIP 存在的一个问题是当网络出现故障时,要
经过比较长的时间才能将此信息传送到所有
的路由器。
RIP 协议的优点是实现简单,开销较小。
RIP 限制了网络的规模,它能使用的最大距离
为 15(16 表示不可达)。
路由器之间交换的路由信息是路由器中的完整
路由表,因而随着网络规模的扩大,开销也
就增加。
36
R2R1
网 1 网 3网 2
正
常
情
况
1 0 1 2 R1
R1 说:“我到网 1 的距离是 0,是直接交付。”
“1”表示“从本路
由器到网 1” “0”表示“距离是
0”
“”表示“直接
交付”
37
R2R1
网 1 网 3网 2
正
常
情
况
1 1 1 1 R1
R2 说:“我到网 1 的距离是 1,是经过 R1。”
“1”表示“从本路
由器到网 1”
“1”表示“距离是
1”
“R1”表
示
经过 R1
38
R2R1
网 1 网 3网 2
R2R1
网 1 网 3网 2
网 1出了故障
正
常
情
况
1 0
1 16
1 1 R1
1 1 R1
R1 说:“我到网 1 的距离是 16 (表示无法到达),
是直接交付。”
但 R2 在收到 R1 的更新报文之前,还发送原来的报文,
因为这时 R2 并不知道 R1 出了故障。
39
R2R1
网 1 网 3网 2
R2R1
网 1 网 3网 2
网 1出了故障
正
常
情
况
1 0
1 16
1 1 R1
1 1 R1
R1 收到 R2 的更新报文后,误认为可经过 R2 到达
网1,于是更新自己的路由表,说:“我到网 1 的
距离是 2,下一跳经过 R2”。然后将此更新信息
发送给 R2。
1 2 R2
40
R2R1
网 1 网 3网 2
R2R1
网 1 网 3网 2
网 1出了故障
正
常
情
况
1 1
1 16
1 1 R1
1 1 R1
R2 以后又更新自己的路由表为“1, 3, R1”,表
明 “我到网 1 距离是 3,下一跳经过 R1”。
1 2 R2
1 3 R1
41
R2R1
网 1 网 3网 2
R2R1
网 1 网 3网 2
网 1出了故障
正
常
情
况
1 1
…
1 16
1 2 R2
1 4 R2
1 16 R2
1 2 R1
1 1 R1
1 3 R1
1 15 R1
…
这样不断更新下去,直到 R1 和 R2 到网 1 的距离都增
大到 16 时,R1 和 R2 才知道网1是不可达的。
这就是好消息传播得快,而坏消息传播得慢。网络出
故障的传播时间往往需要较长的时间(例如数分钟)。
这是 RIP 的一个主要缺点。
42
快速收敛:收敛是在
最佳路径的判断上所
有路由器达到一致的
过程。当某个网络事
件引起路由可用或不
可用时,路由器就发
出更新信息。路由更
新信息遍及整个网络,
引发重新计算最佳路
径,最终达到所有路
由器一致公认的最佳
路径。收敛慢的路由
算法会造成路径循环
或网络中断。
解决网络故障收敛慢一种改进:从路由器的
某个端口发送路由更新信息时,应该剔除从
该端口接收到的路由信息。如R2向R1发送的
路由信息就不包含(网1 R1)项。
43
内部网关协议 OSPF
(Open Shortest Path First)
1. OSPF 协议的基本特点
“开放”的意思是它是一个公开发表的协议,
而不是某一家厂商的专有协议
“最短路径优先”是因为使用了 Dijkstra 提出
的最短路径算法SPF
它是一种分布式的链路状态协议。
开放最短路径优先协议OSPF(Open Shortest Path First), 是1980年为克
服RIP的缺陷而设计的,是典型链路状态协议,在区域内的所有路由器
维护共同的链路状态数据库,目前OSPF逐渐替代早期的RIP,适用较大
规模的IP网络,但实现复杂。 44
OSPF的几个特点
使用洪泛的形式向本自治系统中所有路由器发送链路
状态信息。(即该路由器所知道相邻路由器的链路状态,并再由相
邻路由器向外转发(但不再往回发),不可能出现路由循环问题。注
*RIP只向相邻路由器发送而不转发。
发送的链路状态信息中包括本路由器都和哪些路由器
相邻,以及该链路的“度量值” 。
只有当链路状态发生变化时,路由器才用洪泛法向所
有路由器发送此信息。
与RIP不同,RIP不管是否变化定时不断交换.这样可以节省
带宽
每条链路状态记录以链路为基础标记,包含:链路标号、两端连
接路由器、链路度量(距离、费用、带宽、时延等)。
45
链路状态数据库
(link-state database)
各路由器之间频繁地交换链路状态信息,因此
所有的路由器最终都能建立一个链路状态数据
库。在进行数据报的路由选择时,可以通过链路状态计算得出的
最短路径,且通过链路度量/代价,可以提供选择路由更灵活的处
理。
这个数据库构成全网的拓扑结构图。路由器再
根据它构造路由表。
OSPF 的链路状态数据库能较快地进行更新,
使各个路由器能及时更新其路由表。OSPF 的
更新过程收敛得快是其重要优点。
46
实际上OSPF的链路状态数据库不可能很大(为什么?),且
其状态信息交换泛洪传输范围也不可能太大(为什么?) ,
所以OSPF仍然是自治域的内部网关协议。为了扩大OSPF
协议实际运用网络规模, OSPF定义了一种自治域网络层次
结构。
链路状态数据库太大,一般路由器无法存储,且路由计
算量太大,转发延时太长。
信息交换泛洪区域太大将导致:路由信息占
用无效带宽增加,且状态数据库不稳定。
47
OSPF 的区域(area)
为了使 OSPF 能够用于规模很大的网络,
OSPF 将一个自治系统再划分为若干个更小的
范围,叫作区域。
每一个区域都有一个 32 bit 的区域标识符。
区域也不能太大,在一个区域内的路由器最好
不超过 200 个。
48
自治系统 AS
OSPF 划分为两种不同的区域
区域1 区域 3
主干区域 0
至其他自治系统
R9
R7
R6
R5
R4
R3
R2
R1
网 8
网 6
网 3
网 2
网 1
网 7
区域2
网 4
网 5 R8
49
划分区域
使用洪泛法交换的链路状态信息局限于每一个区域而不
是整个的自治系统,以减少了通信流量。
在一个区域内部的路由器只知道本区域的完整网络拓扑,
而不知道其他区域的网络拓扑,提高了OSPF协议使用
效率。
OSPF 采用层次式的区域划分方法。上层区域叫作主干
区域(backbone area)。主干区域的标识符规定为0。主
干区域用来连通其他下层的区域。
v 主干区域路由器称为主干路由器;每个区域至少设置一
个区域边界路由器和主干路由器相连,边界路由器负责
区域内外信息交换。自治域还要设置自治系统边界路由
器,作为与其他自治域交换路由信息。
50
自治系统 AS
主干路由器
区域 1 区域 3
主干区域 0
至其他自治系统
R9
R7
R6
R5
R4
R3
R2
R1
网 8
网 6
网 3
网 2
网 1
网 7
区域2
网 4
网 5 R8
51
自治系统 AS
区域边界路由器
区域 1 区域 3
主干区域 0
至其他自治系统
R9
R7
R6
R5
R4
R3
R2
R1
网 8
网 6
网 3
网 2
网 1
网 7
区域 2
网 4
网 5 R8
52
OSPF 直接用 IP 数据报传送
OSPF 直接用 IP 数据报传送,OSPF 在层次结
构上位于网络层。
OSPF 构成的数据报很短。这可减少路由信息
的通信量。
数据报很短的另一好处是可以不必将长的数据
报分片传送。
53
OSPF 的其他特点
如果到同一个目的网络有多条相同代价的路径,
那么可以将通信量分配给这几条路径。这叫作多
路径间的负载平衡。
所有在 OSPF 路由器之间交换的分组都具有鉴别
的功能。
支持可变长度的子网划分和无分类编址 CIDR。
每一个链路状态都带上一个 32 bit 的序号,序号
越大状态就越新。
54
分层区域设置使交换路由信息种类增加,不同层次路由
器链路状态数据库不同,并独立处理不同层面的路由选
择,一般随着层次增加更复杂, OSPF协议更加复杂,
相应配置更强大的设备 ;但也使OSPF协议能有效管理
大规模的网络。
重要思想:网络按层次结构设计是大规模网络普遍采用
的设计原则。根据本地服务原理、不同业务目标配置不
同设备要求,通常网络被分为接入层、汇聚层(边缘层)
、骨干层(核心层);并按地域和需求又有国家和大区
域骨干;在不同层次上设备各自完成不同的要求,如接
入交换机/路由器主要完成分布用户的接入/控制(认证
和带宽)、汇聚层交换机/路由器完成本地交换/路由,
骨干层完成跨区交换/路由。
55
IP 数据报
OSPF 分组
IP数据报首部 OSPF 分组
OSPF 分组首部 类型 1 至类型 5 的 OSPF 分组
24 字节
0 8 16 31
版 本
路 由 器 标 识 符
类 型 分 组 长 度
检 验 和
鉴 别
比特
鉴 别
区 域 标 识 符
鉴 别 类 型
OSPF由IP
报封装,
RIP是UDP
鉴别类型:0(不用),1(口令)
鉴别(口令值):当类型为1时,口令8个字符(8字节)
56
2. OSPF 的五种分组类型
类型1,问候(Hello)分组。
类型2,数据库描述(Database Description)分组。
类型3,链路状态请求(Link State Request)分组。
类型4,链路状态更新(Link State Update)分组,
用洪泛法对全网更新链路状态。
类型5,链路状态确认(Link State Acknowledgment)
分组。
57
OSPF的基本操作
问候
问候
数据库描述
数据库描述
数据库描述
数据库描述
链路状态请求
链路状态更新
链路状态确认
确定可达性
达到数据库的同步
新情况下的同步
58
OSPF 使用的是可靠的洪泛法
t
更新报文
ACK报文
R
R
R
R
t1
t2
t3
t4
59
OSPF 的其他特点
OSPF 还规定每隔一段时间,如 30 分钟,要
刷新一次数据库中的链路状态。
由于一个路由器的链路状态只涉及到与相邻路
由器的连通状态,因而与整个互联网的规模并
无直接关系。因此当互联网规模很大时,
OSPF 协议要比距离向量协议 RIP 好得多。
OSPF 没有“坏消息传播得慢”的问题,据统
计,其响应网络变化的时间小于 100 ms。
60
OSPF 路由计算
当建立了链路状态数据库(实际有了网络拓扑结构),
路由器就可以构成网络最短路径树,建立自己路由表。
1、路由器根据本区域链路状态数据库,计算到本区域
各网络路由。
2、根据本AS链路状态数据库,计算到AS中其它区域
各网络的路由。主干路由器根据到区域边界路由器
ABR距离和ABR 到区内网络的距离综合选择路由。
3、根据到AS域边界路由器+ AS边界路由器到外部目的
网络距离, 计算选择的路由。
61
指定的路由器
(designated router)
多点接入的局域网采用了指定的路由器的方
法,使广播的信息量大大减少。
指定的路由器代表该局域网上所有的链路向
连接到该网络上的各路由器发送状态信息。
62
OSPF 支持三种网络的连接
(1) 两个路由器之间的点对点连接
(2) 具有广播功能的局域网
(3) 无广播功能的广域网
63
外部网关协议 BGP
当互联网分层划分后,在自治域间的路由选择
由外部网关协议处理。早期有一个EGP(外
部网关协议),但EGP的局限性,如要求简
单的树形网络拓扑,所以不常使用;
BGP 是不同自治系统的路由器之间交换路由
信息的协议。
BGP 的较新版本是 1995 年发表的 BGP-
4(BGP 的第 4 个版本)。
可以将 BGP-4 简写为 BGP。
64
边界网关协议BGP
BGP-4在全球因特网占重要地位,所有的ISP都需要通
过BGP-4协议获取彼此路由信息,为了保证任一计算机
到任一目的地的IP传输,必须维护全球一致的自治域
边界路由信息。
目前多个组织机构都在维护全球因特网的所有路由器
数据库,如RIPE(欧洲IP网络)维护一个全球路由注
册库。
Internet主干结构
中的ISP地位和作
用。
域间路由选择协议BGP
65
BGP 使用的环境却不同
因特网的规模太大,使得自治系统之间路由选
择非常困难。
对于自治系统之间的路由选择,要寻找最佳路
由是很不现实的。
自治系统之间的路由选择必须考虑有关策略。
因此,边界网关协议 BGP 只能是力求寻找一
条能够到达目的网络且比较好的路由(不能兜
圈子),而并非要寻找一条最佳路由。
66
BGP 发言人
每一个自治系统的管理员要选择至少一个路
由器作为该自治系统的“BGP 发言人” 。
一般说来,两个 BGP 发言人都是通过一个共
享网络连接在一起的,而 BGP 发言人往往就
是 BGP 边界路由器,但也可以不是 BGP 边
界路由器。
67
BGP 交换路由信息
一个 BGP 发言人与其他自治系统中的 BGP 发
言人要交换路由信息,就要先建立 TCP 连接,
然后在此连接上交换 BGP 报文以建立 BGP 会
话(session),利用 BGP 会话交换路由信息。
使用 TCP 连接能提供可靠的服务,也简化了路
由选择协议。
使用 TCP 连接交换路由信息的两个 BGP 发言
人,彼此成为对方的邻站或对等站。
68
BGP 发言人和
自治系统 AS 的关系
BGP 发言人
BGP
发言人
BGP 发言人
BGP 发言人
BGP
发言人AS1
AS3
AS2
AS5
AS4
69
自治系统连通图
BGP 发言人互相交换网络可达性的信息后,
各 BGP 发言人就可找出到达各自治系统的比
较好的路由。
AS1
AS6
AS2
AS3
AS5
AS4
AS7
AS8 70
BGP 发言人交换路径向量
主干网
(AS1)
地区 ISP
(AS2)
地区 ISP
(AS3)
本地 ISP(AS4)
N1, N2
本地 ISP(AS5)
N3, N4
本地 ISP(AS6)
N5
本地 ISP(AS7)
N6, N7
自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发
言人:“要到达网络 N1, N2, N3 和 N4 可经过 AS2。
”
71
BGP 发言人交换路径向量
主干网
(AS1)
地区 ISP
(AS2)
地区 ISP
(AS3)
本地 ISP(AS4)
N1, N2
本地 ISP(AS5)
N3, N4
本地 ISP(AS6)
N5
本地 ISP(AS7)
N6, N7
主干网还可发出通知:“要到达网络 N5, N6 和 N7
可沿路径(AS1, AS3)。”
72
BGP 协议的特点
BGP 协议交换路由信息的结点数量级是
自治系统数的量级,这要比这些自治系
统中的网络数少很多。
每一个自治系统中 BGP 发言人(或边界
路由器)的数目是很少的。这样就使得
自治系统之间的路由选择不致过分复杂。
73
BGP 协议的特点
BGP 支持 CIDR,因此 BGP 的路由表也就应
当包括目的网络前缀、下一跳路由器,以及到
达该目的网络所要经过的各个自治系统序列。
在BGP 刚刚运行时,BGP 的邻站是交换整个
的 BGP 路由表。但以后只需要在发生变化时
更新有变化的部分。这样做对节省网络带宽和
减少路由器的处理开销方面都有好处。
74
BGP-4 共使用四种报文
(1) 打开(Open)报文,用来与相邻的另一个BGP
发言人建立关系。
(2) 更新(Update)报文,用来发送某一路由的信
息,以及列出要撤消的多条路由。
(3) 保活(Keepalive)报文,用来确认打开报文和
周期性地证实邻站关系。
(3) 通知(Notificaton)报文,用来发送检测到的
差错。
75
BGP 报文的格式
4 字节
类 型长 度
标 记
BGP 报文的数据部分可变长度
首部长度
19 字节
标记字段可以用来鉴别进入的 BGP 报
文或者检测两个 BGP 对等体间同步的丢
失。
长度表示整个 BGP
报文包括报头的长度。
最短的 BGP 报文不
会小于 19 字节(
16+2+1 ),不会大
于 4 096 字节。
类型表示了报文的类型,
有以下几种可能:
· OPEN· UPDATE
· NOTIFICATION·
KEEPALIVE 76
标记字段可有两种格式: 如果报文类型是
OPEN 或者这个 OPEN 报文没有鉴别信息,
标记字段必须全为“ 1 ”。 否则,标记字段会
基于所使用的鉴别技术的一部分被计算。
77