蔡开裕 副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

101
1 第第第 IP 第第第第 Networking techno;ogy 蔡蔡蔡 蔡蔡蔡 kycai @ nudt . edu . cn 蔡蔡蔡蔡蔡蔡蔡蔡蔡 603 蔡 2003 蔡 9 蔡 30 蔡

description

蔡开裕 副教授 [email protected] 国防科大计算机学院 603 室 2003 年 9 月 30 日. 第十章 IP 路由协议. 10.1 路由器与路由选择 10.2 Internet 结构 10.3 基本路由算法 10.3.1 V-D 路由算法 10.3.2 L-S 路由算法 10.4 IGP :内部网关协议 10.4.1 RIP 协议 10.4.2 IGRP 协议 10.4.3 OSPF 协议 10.5 外部网关协议 EGP 10.6 IP 组播 10.7 移动 IP. 10.1 路由器与路由选择. - PowerPoint PPT Presentation

Transcript of 蔡开裕 副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

Page 1: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

1第十章 IP路由协议

Networking techno;ogy

蔡开裕 副教授[email protected]

国防科大计算机学院 603 室2003 年 9 月 30 日

Page 2: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

2第十章 IP路由协议

Networking techno;ogy 第十章 IP 路由协议10.1 路由器与路由选择10.2 Internet 结构10.3 基本路由算法

10.3.1 V-D 路由算法10.3.2 L-S 路由算法

10.4 IGP :内部网关协议10.4.1 RIP 协议10.4.2 IGRP 协议10.4.3 OSPF 协议

10.5 外部网关协议 EGP10.6 IP 组播10.7 移动 IP

Page 3: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

3第十章 IP路由协议

Networking techno;ogy 10.1 路由器与路由选择 路由器 (router) 是 TCP/IP 互联网的标准组件,用

于实现网络互联的硬件设备。路由器在物理结构上类似于网桥,每台路由器一般都有处理器和内存,对所连接的每个物理网络都有一个单独的接口。

路由器的主要工作是接收 IP 报文,然后查找路由表寻找与目的地址相匹配的项并将 IP 数据报发送到下一个路由器或目的主机。

Page 4: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

4第十章 IP路由协议

Networking techno;ogy 10.1.1 路由器

局域网 广域网

路由器

局域网

Page 5: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

5第十章 IP路由协议

Networking techno;ogy 路由器

主机 A 主机 B

路由器

应用程序

TCP或 UDP

IP

物理物理接口 A

IP

接口 A 接口 B

应用程序

TCP或 UDP

IP

物理物理接口 B

网络 A 网络 B

Page 6: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

6第十章 IP路由协议

Networking techno;ogy 网络互联

Page 7: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

7第十章 IP路由协议

Networking techno;ogy 多协议路由器

Page 8: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

8第十章 IP路由协议

Networking techno;ogy 路由器结构

CPU

Main memory

I/O bus

Interface 1

Interface 2

Interface 3

Page 9: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

9第十章 IP路由协议

Networking techno;ogy 交换机Input

port

Input

port

Input

port

Input

port

Output

port

Output

port

Output

port

Output

port

Fabric

Page 10: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

10第十章 IP路由协议

Networking techno;ogy Crossbar 交换阵列

Page 11: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

11第十章 IP路由协议

Networking techno;ogy 高速路由器( 1 )

Line card(forwarding buffering)

Line card(forwarding buffering)

Line

car

d(f

orw

ardi

ng

buff

erin

g)

Line

car

d(f

orw

ardi

ng

buff

erin

g)

RoutingCPU

Buffermemory

Routing softwarew/ router OS

Page 12: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

12第十章 IP路由协议

Networking techno;ogy 高速路由器( 2 )

CrossbarSwitch

PCCPU

MEM

NI withuP...

NI withuP

PCCPU

MEM

NI withuP...

NI withuP

PCCPU

MEM

NI withuP...

NI withuP

PCCPU

MEM

NI withuP...

NI withuP

PCCPU

MEM

NI withuP...

NI withuP

PCCPU

MEM

NI withuP...

NI withuP

Page 13: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

13第十章 IP路由协议

Networking techno;ogy 10.1.2 路由选择直接路由(直接传送)

在同一个物理网络中的两个站点 ( 主机 - 主机、主机 - 路由器或路由器 - 路由器 ) 之间发送 IP 数据报时,源站点将 IP 数据报通过物理网络(局域网或广域网)直接发送给目的站点。

间接路由(要经过中间路由器)源站点与目的站点相隔 1 个或多个物理网络,

IP 数据报从源站点到达目的站点要穿过 1 个或多个中间路由器,源站点在发送 IP 数据报时只是将其首先发给某个路由器。

Page 14: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

14第十章 IP路由协议

Networking techno;ogy 路由选择实例

60.0.0.1 60.0.0.2(e)

20.0.0.2(E2)

R4 R3

R2 R1

R5

10.0.0.3

20.0.0.2(a)

50.0.0.1(d)

40.0.0.2(c)

20.0.0.1(E1)

30.0.0.4(b)

30.0.0.2

30.0.0.3

40.0.0.3

40.0.0.1

10.0.0.1

30.0.0.1

10.0.0.2

10.0.0.0 20.0.0.0

40.0.0.0

30.0.0.0

50.0.0.0

以太网

R6

Page 15: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

15第十章 IP路由协议

Networking techno;ogy R4 的路由表( 1 )

目的主机所在网络 下一跳地址 10(10.0.0.0) 20.0.0.1 20(20.0.0.0) 直接传送 30(30.0.0.0) 直接传送 40(40.0.0.0) 直接传送 50(50.0.0.0) 直接传送

Page 16: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

16第十章 IP路由协议

Networking techno;ogy R4 的路由表( 2 )

目的地址/前缀长度 下一跳地址 端口 10.0.0.0/8(10) R2(20.0.0.1) a

20.0.0.0/8(20) 直接传送 a

30.0.0.0/8(30) 直接传送 b

40.0.0.0/8(40) 直接传送 c

50.0.0.0/8(50) 直接传送 d

Page 17: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

17第十章 IP路由协议

Networking techno;ogy R4 的路由表( 3 )

20.0.0.2/32 :特定主机路由0.0.0.0/0 : 默认路由

目的地址/前缀长度 下一跳地址 端口 20.0.0.2/32 直接传送 a

10.0.0.0/8(10) R2(20.0.0.1) a

20.0.0.0/8(20) 直接传送 a

30.0.0.0/8(30) 直接传送 b

40.0.0.0/8(40) 直接传送 c

50.0.0.0/8(50) 直接传送 d

0.0.0.0/0 R6(60.0.0.1) e

Page 18: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

18第十章 IP路由协议

Networking techno;ogy 路由表表项的分类特定主机路由

前缀长度为 32 比特的路由表表项网络前缀路由

是前缀长度为 1~31 比特的路由表表项最长前缀匹配 /CIDR 引起的多个匹配项重叠

缺省路由前缀长度为 0 比特的路由。

Page 19: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

19第十章 IP路由协议

Networking techno;ogy 网络路由实例

Page 20: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

20第十章 IP路由协议

Networking techno;ogy 主机 1 的路由表

目的地址/前缀长度 下一跳地址 端口号 202.197.12.1/32 直接传送 a

202.197.12.0/24 直接传送 a

0.0.0.0/0 202.197.12.3 a

Page 21: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

21第十章 IP路由协议

Networking techno;ogy 路由器 1 的路由表

目的地址/前缀长度 下一跳地址 端口 202.197.11.0/24 202.197.10.2 c

202.197.10.0/24 直接传送 c

202.197.12.0/24 直接传送 a

Page 22: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

22第十章 IP路由协议

Networking techno;ogy 路由器 2 的路由表(练习)

目的地址/前缀长度 下一跳地址 端口 202.197.12.0/24 202.197.10.1 c

202.197.11.0/24 直接传送 b

202.197.10.0/24 直接传送 c

Page 23: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

23第十章 IP路由协议

Networking techno;ogy 路由器 1 的转发表

目的地址/前缀长度 下一跳地址 端口 MAC地址 202.197.11.0/24 202.197.10.2 c F3

202.197.10.0/24 直接传送 c F4

202.197.12.0/24 直接传送 a E1

Page 24: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

24第十章 IP路由协议

Networking techno;ogy R4 的转发表(部分)

目的地址/前缀长度 下一跳地址 端口号 MAC地址 20.0.0.2/32 直接传送 b E2

10.0.0.0/8 R2(20.0.0.1) b E1

20.0.0.0/24 直接传送 b E2

0.0.0.0/0 直接传送 e 拨号地址

Page 25: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

25第十章 IP路由协议

Networking techno;ogy ARP 协议

以太网

主机 1 主机 2

IP地址:202.197.12.1物理地址:E1

IP地址:202.197.12.2物理地址:E2

Page 26: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

26第十章 IP路由协议

Networking techno;ogy 代理 ARP

Page 27: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

27第十章 IP路由协议

Networking techno;ogy RARP 协议 RARP 协议用于解决给无盘工作站 IP 地址分配的问

题,它要求网络上必须配置 RARP 服务器 。 引导协议 BOOTP 用于动态分配 IP 地址和引导远程

工作站( BOOTP 协议使用了 TFTP 协议)。 动态主机配置协议 DHCP 能够自动分配 IP 地址给

客户计算机并对其进行配置 ( 内容包括 IP 地址、子网掩码、缺省网关等等 ) 。它能够减轻用户配置 TCP/IP 网络的负担。

Page 28: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

28第十章 IP路由协议

Networking techno;ogy ARP/RARP 报文的格式

硬件类型 协议类型

硬件地址长度 协议地址长度 操作

发送者硬件地址(0~3字节)

发送者硬件地址(4~5字节) 发送者 IP地址(0~1字节)

发送者 IP地址(2~3字节) 目的硬件地址(0~1字节)

目的硬件地址(2~5字节)

目的 IP地址(0~3字节)

Page 29: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

29第十章 IP路由协议

Networking techno;ogy 路由器的路由规则1. 如果存在特定主机路由,选择特定主机路由;2. 如果存在网络前缀路由,选择最长前缀匹配路

由;3. 如果存在缺省路由,选择缺省路由;4. 否则,宣告路由失败,向源主机发送 ICMP 报

文,报告路由错误;

Page 30: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

30第十章 IP路由协议

Networking techno;ogy 主机的路由规则 我们假设主机只有一个接口且转发表中只

有一个缺省路由器,则该主机的路由规则是:

如果 IP 报文目的地址与源地址的网络号相同(属于同一个物理网络),则直接传送(通过 ARP 协议获取目的主机的物理地址);

否则,将 IP 报文发给缺省路由器(也要通过 ARP 协议获取缺省路由器的物理地址);

Page 31: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

31第十章 IP路由协议

Networking techno;ogy ICMP 协议 为了让路由器可以向源主机报告差错情况, TCP/IP 协议

族中专门引入一个用于传输差错及控制报文的协议,即 In

ternet控制报文协议 ICMP 。 ICMP 是 IP 协议的一部分,在每个 IP 协议软件中都包含

了 ICMP 协议的实现模块。 ICMP 报文通过 IP 协议来传输,当路由器要发送 ICMP

报文时,它会创建一个 IP 数据报并将 ICMP 报文封装到 I

P 报文的数据区中,然后这个数据报象普通的 IP 报文一样通过 Internet 。

Page 32: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

32第十章 IP路由协议

Networking techno;ogy ICMP 报文的封装

IP头部 IP数据区

ICMP头部 ICMP数据

帧头 帧数据区

Page 33: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

33第十章 IP路由协议

Networking techno;ogy ICMP 报文的类型 ICMP 差错报文

用于路由器或目的主机向源主机报告出错情况。 ICMP控制报文

用于拥塞控制的源抑制报文和用于路由选择的重定向报文。

ICMP请求 /应答报文 用于获得某些有关网络状态的信息,以便进行网络故障诊断和控制。

Page 34: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

34第十章 IP路由协议

Networking techno;ogy 路由表是如何生成的?手工配置——静态路由

一般用于主机结点; 主机路由:目的结点与源结点在同一个物理网络,直接

传送;否则,采用缺省路由。 动态生成,可以通过接收 ICMP 重定向报文

主要用于主机的路由表更新 动态生成,通过路由协议自动更新

路由器的路由表更新

Page 35: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

35第十章 IP路由协议

Networking techno;ogy 10.2 Internet 的结构

R R

R R R

核心网关

核心主干网

R

ASAS AS

EGP协议

R

IGP协议

Page 36: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

36第十章 IP路由协议

Networking techno;ogy Internet Structure ( 90 年代)

NSFNET backboneStanford

BARRNETregional

BerkeleyPARC

NCAR

UA

UNM

Westnetregional

UNL KU

ISU

MidNetregional…

Page 37: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

37第十章 IP路由协议

Networking techno;ogy Internet Structure ( Today )

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer ” ISP

“Consumer” ISP

“ Consumer” ISP

Page 38: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

38第十章 IP路由协议

Networking techno;ogy 10.3.1 V-D 路由算法 V-D 算法是让每个路由器维护一张距离向量表,向量表的每一项由两部分组成,输出线路和到达目的地所需要的路径代价。路径代价的度量单位可以是时间延迟、物理距离或其它参数。

在 V-D 算法中,必须假定每个路由器都知道到它相邻路由器的 "距离 " 。如果度量标准是跳步数,则距离为 1 ;如果度量标准是延迟,则路由器可以通过发送一个 "回响 (echo)" 报文来测出它到相邻路由器的延迟。

Page 39: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

39第十章 IP路由协议

Networking techno;ogy V-D 算法的实例

JA=8 JI=10 JH=12 JK=6

Page 40: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

40第十章 IP路由协议

Networking techno;ogy 慢收敛问题计算至无穷问题

当网络出现故障后,有可能出现路径环,而要打破路径环,则需要花费比较长的时间;好信息传播快,坏消息传播慢;

Page 41: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

41第十章 IP路由协议

Networking techno;ogy 慢收敛问题

Page 42: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

42第十章 IP路由协议

Networking techno;ogy 分割范围法 到 X 的距离并不向真正通向 X 的邻居节点报告; 对于前面的例子,由于 CA 要经过 CB线路,因而 C 告诉 B ,它到 A 的 hop 数为 infinity(C 送给 B的路由表中, C A这一项为 infinity) ,但 C会告诉 D 它到 A 的实际 hop 数;同样的道理, D 告诉 C 它到 A 的 hop 数为 infinity ,但它会告诉 E 它到 A 的实际 hop 数;

C 告诉 B 它到 A 的 hop 数这一信息本身就是通过 B的,没有实际意义。

Page 43: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

43第十章 IP路由协议

Networking techno;ogy 保持法( 1 )基本原理

当路由器得知某节点不可达的一定时间内 (Holding Down 时间, RIP 规定为 60秒 ) ,路由器不再接受关于该节点的任何可达性信息,而任坚持采用原来 ( 在进入 Holding Down 之前 )认为最好的路径。

Page 44: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

44第十章 IP路由协议

Networking techno;ogy 保持法( 2 )目的

给路径崩溃信息以充分的传播时间,使它尽可能赶在路径环形成之前传播出去,以防止出现路径环。存在的问题

Holding Down 时间过长,导致线路恢复后不能尽快进入正常的交换Holding Down 时间过短,则可能在 holding do

wn 后重新出现路径环

Page 45: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

45第十章 IP路由协议

Networking techno;ogy 10.3.2 L-S 算法解决 V-D 算法的两个问题

V-D 算法一般只考虑链路的时延 (latency) ;不考虑链路的带宽 (bandwidth) ;更不考虑链路的负载 (load)

V-D 算法收敛慢——计算到无穷问题

Page 46: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

46第十章 IP路由协议

Networking techno;ogy 工作原理( 1 )1 )发现邻居结点,建立邻居关系

HELLO 分组2 )测量链路开销( cost )

以链路延迟( delay )作为开销度量,既考虑了线路时延( latency ),又考虑了链路的带宽( bandwidth );ECHO 报文: round-trip time/2当测量链路开销时如果考虑链路负载,可能会引起路由振荡问题;

Page 47: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

47第十章 IP路由协议

Networking techno;ogy 路由振荡问题

CD线路

AB线路

甲地 乙地

Page 48: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

48第十章 IP路由协议

Networking techno;ogy 工作原理( 2 )3 )构造链路 -状态报文

L-S 报文的内容 路由器表识: Router ID 序号: Sequence Number 年龄: Age 邻居列表: Neighbors delay metric list

何时构造 L-S 报文 周期性 当链路状态发生变化时

Page 49: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

49第十章 IP路由协议

Networking techno;ogy L-S 报文

Page 50: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

50第十章 IP路由协议

Networking techno;ogy 工作原理( 3 )4 )可靠地广播 L-S 报文( Reliable Flooding

)措施之一

接收并转发最新的 L-S packet——Sequence Number字段

措施之二 删除掉网络中的旧的 L-S 报文—— Ages字段

措施之三 确认和重传

Page 51: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

51第十章 IP路由协议

Networking techno;ogy 路由器 B 的 L-S 数据库

Page 52: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

52第十章 IP路由协议

Networking techno;ogy 工作步骤( 4 )5 )计算最短路径

路由器接收到所有的 L-S 报文后,可以重新构造网络拓扑图(带权的边),这样路由器就可以利用 Dijktra 算法计算出该路由器到达所有其它路由器的最短路径( Shortest Path ),然后更新路由表。

Page 53: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

53第十章 IP路由协议

Networking techno;ogy L-S 路由算法的特点 L-S 路由算法的优点

算法具有收敛性,可以对网络拓扑结构的改变、路由器或链路发生故障作出快速反应。

L-S 路由算法对路由器的要求 路由器存储的信息量比较大(所有的 L-S 报文),带来

路由算法的可扩展性问题 假设一个 AS 内有 n 个 Router ,每个 Router 有 k条链路;则每个 Router 的存储空间为 O(kn) 数量级;

路由器计算最短路径的时间开销比较大 Dijkstra 算法的复杂度( O(n2) )

Page 54: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

54第十章 IP路由协议

Networking techno;ogy V-D 算法和 L-S 算法的比较( 1 ) V-D 算法

每个路由器只与邻居路由器通信(邻居之间相互交换V-D 向量表),但邻居路由器把所知道的全部信息(到所有结点的距离)都告诉它。

L-S 算法 每个路由器都与其它路由器通信( L-S 报文的广播)

,但每个路由器只告诉其它路由器它确切知道的信息(即与其直接相连的邻居的链路状态 L-S 报文)。

Page 55: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

55第十章 IP路由协议

Networking techno;ogy V-D 算法和 L-S 算法的比较( 2 )

V-D 算法 L-S 算法

不知道整个网络的拓扑结构 知道整个网络的拓扑结构

收敛速度慢 收敛速度快

在邻居路由器提供的路由信息基础上 计算新路由

根据网络拓扑结构 计算新路由

V-D表只发给邻居路由器 L-S报文发给所有的路由器

Page 56: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

56第十章 IP路由协议

Networking techno;ogy 10.4 IGP 协议RIP 协议IGRP 协议OSPF 协议

Page 57: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

57第十章 IP路由协议

Networking techno;ogy 10.4.1 RIP 协议( 1 ) RIP 协议是基于 V-D 算法的 RIP 协议最初是由施乐公司的帕洛阿托研究中心 PAR

C 在 70 年代设计的,在此基础上, PARC 和加州大学共同开发了 routed 程序,该程序使用 RIP 协议并与4BSD Unix系统一起推出。

RIP 协议最初用于 ARPANET ,目前主要用在 Intern

et 、 DECnet 以及 Novell 网络中。

Page 58: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

58第十章 IP路由协议

Networking techno;ogy RIP 协议( 2 ) RIP 协议的报文有两类:更新报文和请求报文。

更新报文用于路由表( V-D 表)的分派。请求报文被用于路由器发现网上其它运行 RIP 协议的

路由器。运行 RIP 协议的路由器每隔 30秒就向它的邻居路

由器广播其路由表。 RIP 协议的路由度量值是到达目的地的跳步数。

RIP 协议的最大可用跳步数为 15 ,跳步数 16意味着无效 ( 或无穷大度量值 ) 路由。

Page 59: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

59第十章 IP路由协议

Networking techno;ogy 10.4.2 IGRP 协议 IGRP(Internet Gateway Routing Protocol) 是由 Ci

sco公司开发,基于 V-D 路由算法的 IGP 协议。 IGRP 协议在路径代价度量时考虑了链路的各种特性 ( 如时延、带宽、负载或可靠性等 ) ,而且路由更新的时间间隔是 90秒 (RIP 协议是 30秒 ) ,并且它也具有易配置的特点,同时增加了其它一些功能。

增强型 IGRP 协议 (EIGRP) 。

Page 60: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

60第十章 IP路由协议

Networking techno;ogy 10.4.3 OSPF 协议 OSPF(Open Shortest Path First) 协议基于 L-S 路

由算法。 使用 OSPF 协议的路由器维持一个有关网络拓扑

结构的数据库。该数据库存放着网络中每一个路由器上所有链路的状态,每个路由器以此数据库为基础利用 Dijkstra 算法算出到网络中各目的结点的最短路径,并将最短路径写入路由表。

路由器将链路状态更新信息广播给网络中的所有其它路由器,从而更新它们的数据库,重新计算最短路径。

Page 61: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

61第十章 IP路由协议

Networking techno;ogy 10.5 外部网关协议 EGP

外部网关协议 EGP 和内部网关协议 IGP 是完全不同,原因是它们的目的不同。

IGP 的主要目的是要维持 AS 内部所有路由器之间的最短路经——Metric-Based ;

EGP 的主要目的是维持 AS 之间的“网络可达性”信息,也就是说,外部网关协议 EGP 是用于两个自治系统 AS 之间的关于 “网络可达性” 路由信息的交换。

Page 62: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

62第十章 IP路由协议

Networking techno;ogy Internet 路由结构( 1 )

R R

R R R

核心网关

核心主干网

R

ASAS AS

EGP协议

R

IGP协议

Page 63: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

63第十章 IP路由协议

Networking techno;ogy Internet 路由结构( 2 )

NSFNET backboneStanford

BARRNETregional

BerkeleyPARC

NCAR

UA

UNM

Westnetregional

UNL KU

ISU

MidNetregional…

Page 64: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

64第十章 IP路由协议

Networking techno;ogy 自治系统 AS

一个管理上独立与其他 AS 的网络 独立管理,独立选择 IGP 协议,构成一个路由选择域

( intradomain ); 每个 AS 有一个唯一编号; 每个 AS 有至少 1 个或多个边界路由器( border r

outer ); AS 内部的路由器通过缺省路由( default route )

将目标地址标识为 AS 外部的报文首先路由到边界路由器;

Page 65: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

65第十章 IP路由协议

Networking techno;ogy Internet 路由结构( 3 )

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer ” ISP

“Consumer” ISP

“ Consumer” ISP

Page 66: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

66第十章 IP路由协议

Networking techno;ogy AS 分类支线 AS ( stub AS ):与另外一个 AS 只有一个连

接,这样的 AS 只传送局部通信量( local traffic );

多连接 AS ( mutlihomed AS ):与多个 AS 有连接,但是拒绝传送中转通信量( transit traffic );

中转 AS ( transit AS ):与多个 AS 有连接,并能传送局部通信量和中转通信量;

Page 67: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

67第十章 IP路由协议

Networking techno;ogy EGP 路由例子

A自治系统 X 自治系统 YBAS间链路

Page 68: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

68第十章 IP路由协议

Networking techno;ogy EGP 路由信息通告

秘密

通道

A自治系统 X

C自治系统 Y

E

F

自治系统 Z

(中转网络)

B

D

AS间链路

AS间链路

Page 69: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

69第十章 IP路由协议

Networking techno;ogy BGP-4 ( Border Gateway Protocol )目标

支持多主干因特网,允许非树型结构的互联网络;支持 CIDR 路由,减缓了 B 类地址耗尽问题,同时克服路由表爆炸问题;Path Vector ——Policy-Based

难点可扩展性——核心路由器的路由表项大约 130

KAS 的自治性,导致路由策略非常复杂AS 路由器之间的信任度——安全问题

Page 70: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

70第十章 IP路由协议

Networking techno;ogy BGP 实例( 1 )

Backbone network(AS 1)

Regional provider A(AS 2)

Regional provider B(AS 3)

Customer P(AS 4)

Customer Q(AS 5)

Customer R(AS 6)

Customer S(AS 7)

128.96192.4.153

192.4.32192.4.3

192.12.69

192.4.54192.4.23

Page 71: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

71第十章 IP路由协议

Networking techno;ogy BGP 实例( 2 ) AS2 的边界路由器可以向 AS1 的主干路由器通知

关于 AS4( 网络号为 128.96 和 192.4.153) 和 AS5(

网络号为 192.4.32 和 192.4.3) 的可达性信息(通过 AS2 )

AS1 的主干路由器可以向外通知关于 AS4( 网络号为 128.96 和 192.4.153) 和 AS5( 网络号为 192.4.32

和 192.4.3) 的可达性信息(通过 AS1 和 AS2 ) 路由器可以撤销以前通知的路径

Page 72: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

72第十章 IP路由协议

Networking techno;ogy 如何解决因特网规模的可扩展性?如何解决路由选择的可扩展性?

如何找到减少路由协议中携带和路由器的路由表中存储的网络号数目(路由表项)的方法?

如何提高 IP 地址的利用率?如何确保 IP 地址(主要是 B 类地址)不会消耗的太快?

Page 73: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

73第十章 IP路由协议

Networking techno;ogy 路由选择的可扩展性?层次路由

域内( inteadomain )路由: IGP 协议 域内路由的复杂性取决于 AS 内的网络数目

域间( inteadomain )路由: EGP/BGP 协议 域间路由的复杂性取决于因特网的 AS 数目

层次地址IP 地址分为网络号 + 主机号路由器采用网络前缀路由,减少路由器的路由

表项

Page 74: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

74第十章 IP路由协议

Networking techno;ogy 层次路由 / 地址的缺点层次路由的缺点

在 AS 内的路径是最优路径,但 AS 之间的路径不一定是最优路经;

层次地址的缺点地址分配的低效率,如:

只有 2 个主机的 C 类地址 (2/254 = 0.78%) , 只有 256 台主机的 B 类地址 256/65534 = 0.39% )

Page 75: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

75第十章 IP路由协议

Networking techno;ogy 问题的引发( 1 ) 单位的网络可扩展性问题?——象国防科大校园

网:每个学院已经有各自的网络存在,要将这些网络互联起来怎么办?

一种解决办法是用 LAN 交换机(如 Ethernet 网交换机或 ATM 交换机或 FDDI集中器)将这些网络互联起来; 假如整个单位的网络接口数目没有超过 254 ,可以分

配一个 C 类地址;如果超过 254 台,只能申请一个 B类地址;

Page 76: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

76第十章 IP路由协议

Networking techno;ogy 问题的引发( 2 )另一种办法就是用路由器将这些网络连接起来用路由器来进行网络互联有什么优点?问题

国防科大得申请多个 C 类地址 外部路由器的路由表中必须包含多条指向国防科大

网络的路由解决办法

子网( subnet )技术

Page 77: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

77第十章 IP路由协议

Networking techno;ogy 子网技术( subnet ) 在 IP 地址,引入另一个地址 / 路由层次:子网( su

bnet );把具有相同网络号的 IP 地址分配给一个单位的几个不同的物理网络; 子网屏蔽( subnet mask )将 IP 地址的主机号划分为不同的子网; 子网对网络外部(主干路由器)是不可见的,但在网络内部要采用子网路由;因此在因特网上不同的路由器看到的路由信息是不一样的;

Page 78: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

78第十章 IP路由协议

Networking techno;ogy 子网技术的特点 可以减少广播通信量、增加网络的可管理性和安全性 将不同的物理网络通过路由器(而不是通过 LAN 交换

机)彼此连接,这样减少广播通信量;同时便于网络管理,也可以提高网络的安全性;

可以提高 B 类 IP 地址的利用率少分配 C 类地址,多分配 B 类地址,以解决路由表爆炸问题;但同时提高了 B 类地址的利用率;

子网技术主要是针对 B 类地址,但目前该技术也已被广泛应用于 C 类地址

Page 79: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

79第十章 IP路由协议

Networking techno;ogy 子网实例( 1 )

Network number Host number

Class B address

Subnet mask (255.255.255.0)

Subnetted address

111111111111111111111111 00000000

Network number Host IDSubnet ID

Page 80: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

80第十章 IP路由协议

Networking techno;ogy 子网技术如何解决可扩展性?当新增一个物理网络时,我们不必用掉一个完整

的 B 类或 C 类地址(如果没有子网技术支持,我们做不到这一点),从而使 Internet 地址的利用率更高;

有利于路由信息的聚合,即多个物理网络只需要1条路由信息(对外部路由器而言);

Page 81: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

81第十章 IP路由协议

Networking techno;ogy 子网实例( 2 )Subnet mask: 255.255.255.128Subnet number: 128.96.34.0

128.96.34.15 128.96.34.1H1

R1

128.96.34.130 Subnet mask: 255.255.255.128Subnet number: 128.96.34.128

128.96.34.129128.96.34.139

R2H2

128.96.33.1128.96.33.14

Subnet mask: 255.255.255.0Subnet number: 128.96.33.0

H3

Page 82: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

82第十章 IP路由协议

Networking techno;ogy R1 的路由表(内部路由)子网号 子网掩码 下一跳128.96.34.0 255.255.255.128 接口 0128.96.34.128 255.255.255.128 接口 1128.96.33.0 255.255.255.0 R2

Page 83: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

83第十章 IP路由协议

Networking techno;ogy CIDR

由于子网技术的使用,使得 B 类地址的消耗速度过快;

多分配 C 类地址,以解决 B 类地址耗尽问题;但C 类地址的使用会引起路由表爆炸问题;

假设一个 AS被分配了 16 个 C 地址,则在主干网路由器的路由表中必须有关该 AS 的 16条记录,即使到这些网络的路径相同也必须如此;如果我们给这个 AS 分配一个 B 类地址,同样的路由信息在路由表中只需要 1条记录,然而地址分配效率则变为 16*254/65534=6% 。

Page 84: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

84第十章 IP路由协议

Networking techno;ogy 超网技术( 1 ) 如何在较少路由表项目和提高 IP 地址利用率之间

找到平衡点?不采用层次地址,而引入以无类域间路由 CIDR

( Classless Inter-Domain Routing )为基础的无类地址。

CIDR还可以支持将网络地址中相邻的小块合并到较大的一块中(聚合路由),因此有时又称 CIDR 为超网( supernetting )技术。

Page 85: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

85第十章 IP路由协议

Networking techno;ogy 超网技术 将剩下的 C 类地址以连续的地址块方式进行分配;限制块的大小为 2 的幂次方; 使用一个位掩码 (CIDR mask) ,即来标识块大小; 路由协议必须支持 CIDR 路由,即最长前缀匹配路

由;

Page 86: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

86第十章 IP路由协议

Networking techno;ogy CIDR 实例 我们使用假设有 16 个 C 类地址的 AS 作为例子,

我们将连续的 C 类地址( 192.4.16 ~ 192.4.31 )分配给该 AS ;

我们可以观察到所有这些地址的高 20位是一样的( 11000000 00000100 0001 );

这样,我们就有效地构造了一个 20位的网络号,它所能支持的主机数目介于 B 类网络和 C 类网络之间;这样既提高了地址的利用率,又有效地减少路由表表项的数量。

Page 87: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

87第十章 IP路由协议

Networking techno;ogy 10.5 IP 组播 多媒体多终端交互应用

电视会议, CSCW ,远程教育 特点:组成员的数目基本不变

数据分配型应用 Internet 广播、电子出版、 Newsgroup

特点:组成员的数目变化较大

Page 88: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

88第十章 IP路由协议

Networking techno;ogy 组播的优点 可以节省带宽

IP 组播是把要组播的 IP 报文发送 1份或多份给组播地址,而不是为每个接收方单独发送一份拷贝;

发送主机不必了解接收方每台计算机的 IP 地址,它只需了解组播地址即可;

Page 89: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

89第十章 IP路由协议

Networking techno;ogy 组播地址和 IGMP 协议 IP 组播地址

D 类地址(高位为 1110 ) 特殊组播地址

组播管理协议 IGMP

组的加入和退出:主机通过 IGMP 协议向 Router 发送join 和 leave消息,加入或退出某组。

Page 90: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

90第十章 IP路由协议

Networking techno;ogy 10.5.1 组播协议 网中的一个定位点计算通向所有接收方的生成树

(Spanning Tree) ,这个定位点可以是发送方、汇合点 (Rendezvous Point) 或核 (Core) ,由于这个定位点唯一标识了一棵生成树,组播路由器可以利用它来计算一个给定分组的转发方向。

Page 91: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

91第十章 IP路由协议

Networking techno;ogy 组播协议分类 最短路径树 (Shortest Path Tree) 的协议(又称源

特定路由 Source-Specific routing) 距离 - 向量组播协议 DVMRP 组播开发式最短路径优先协议 MOSPF密集式 PIM(Dense-mode Protocol Independent Multic

ast)

共享树 (Shared Tree) 的协议 (又称基于核心树 Core-Based Tree)稀疏式 PIM(Spares-mode Protocol Independent Multic

ast)

Page 92: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

92第十章 IP路由协议

Networking techno;ogy 最短路径树协议

剪枝

局域网

主机

路由器

发送方 2

发送方 1

Page 93: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

93第十章 IP路由协议

Networking techno;ogy 共享树协议

剪枝

局域网

主机

路由器

发送方 2

发送方 1

Page 94: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

94第十章 IP路由协议

Networking techno;ogy 10.6 移动 IP 路由

Page 95: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

95第十章 IP路由协议

Networking techno;ogy 注册过程( 1 )① 每个外地代理定期广播报文,通告自己的地址和状态。新进入该区域的移动主机等待接收外部代理的广播报文。当然,移动主机也可以主动广播报文进行询问: "这里有没有外地代理? "

② 移动主机登录到外地代理,并给出其主地址 (原归属地所使用的网络地址 ) ,给出当前的物理地址 ( 网卡的硬件地址 ) 以及与安全有关的信息。

Page 96: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

96第十章 IP路由协议

Networking techno;ogy 注册过程( 2 )③ 外地代理与移动主机的本地代理联系,并告诉移

动主机的本地代理:“有一台原属于你的主机已在我这里,你帮助看看此移动主机的身份是否真实?”从外地代理发给本地代理的信息包括外地代理的网络地址、有关移动主机的安全认证信息等等。

Page 97: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

97第十章 IP路由协议

Networking techno;ogy 注册过程( 3 )④ 本地代理根据外地代理发来的信息检查移动主机

的合法性,如果通过检查证明此移动主机是合法的,它将确认信息返回外地代理。⑤ 外地代理得到移动主机的本地代理发来的确认信息后,就在它的登记表记录下移动主机的有关信息,并通知移动主机注册成功。

Page 98: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

98第十章 IP路由协议

Networking techno;ogy 移动路由例子

2、隧道技术

4、反向通信

5、反向传输 1、正常路由

固定主机

主代理 外地代理

移动主机

3、移动通信

北京

长沙 广州

Page 99: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

99第十章 IP路由协议

Networking techno;ogy 固定主机如何向移动主机发送报文?1 、正常路由

固定主机发送的报文(它使用移动主机的原 IP 地址发送报文)被首先路由到移动主机的本地代理,且被移动主机的本地代理截获;

2 、隧道技术本地代理将固定主机发送给移动主机的 IP 报文利用隧道 (Tunneling)技术发给移动主机目前所在地的外地代理;

本地代理告诉固定主机移动主机外地代理的地址,这样固定主机以后就可以直接将报文发给移动主机的外地代理;

Page 100: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

100

第十章 IP路由协议

Networking techno;ogy 固定主机如何向移动主机发送报文? (续 )

3 、移动通信 移动主机的外地代理将接收到的报文直接送给移动主

机;4 、直接传送

以后固定主机可以将报文直接发给移动主机的的外地代理,再由移动主机的外地代理转发给移动主机,从而绕过本地代理。

避免三角路由

Page 101: 蔡开裕   副教授 kycai@nudt 国防科大计算机学院 603 室 2003 年 9 月 30 日

101

第十章 IP路由协议

Networking techno;ogy 参考书《因特网路由技术— Routing in the Internet》,

Christian Huitema ,清华大学出版社, 1998

《移动 IP—Mobile IP》, James D. Solomon ,机械工业出版社, 2000

《 IP 网络的服务质量— Quality of Service in IP Networks》, Grenville Armitage ,机械工业出版社, 2001

《 IP 路由协议疑难解析》, Faraz Shamim 等,人民邮电出版社, 2003