1 routing protocol. 2 outline router 的運作 routing protocol routing algorithm case studies

82
1 Routing Protocol

Post on 20-Dec-2015

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

1

Routing Protocol

Page 2: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

2

Outline

• Router 的運作• Routing Protocol

• Routing Algorithm

• Case Studies

Page 3: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

3

路由器( Router )• Router 用於連接 LLC 不同,但

Network Layer 及上層都相同的網路。• Internet 以 Routers 做為中繼站,穿越各個網路轉送 Packet 。

• 企業內部以 Routers 做為子網路交換 Packet 的中心。

Page 4: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

4

Router 通訊協定架構

Physical

Data Link

Network

PHY PHY

LAN 1 LAN 2

Router Function

Host A Host B

Session

Transport

Presentation

Application

Physical

Data Link

Network

Session

Transport

Presentation

Application

Network

Data LinkData Link

Page 5: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

5

Routers 的運作• 讀取收到的 Packet 上的 IP 位址,查詢路由表( Routing Table ),以得知應從那 一個 Port 將 Packet 送出。

• Router 必須了解兩個協定的 PHY 、 Data Link Layers ,以便和兩個子網路溝通和進行封包的轉換。

• 依據 Routing Table , Router 會選擇到 Destination 有最短路徑的網路介面,將 Datagram 傳給 Next Hop 。

Page 6: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

6

路由器 R2 的路由資訊

Page 7: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

7

Router R2 路由表

R2 R3R1

Page 8: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

8

Routing Table 的建立• Static Routing

• Dynamic Routing

Page 9: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

9

Static Routing

• 不會與其他 Routers 交換訊息,安全性高,當想隱藏某一部分網路資訊,就可使用 Static Routing 來設定。

• 如果一個網路只能經由一個路徑到達,只要使用 Static Routing 就很足夠,可減少網路 traffic 。

• 要輸入 Default Routing 的資訊。

Page 10: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

10

Dynamic Routing

• 由於網路結構會不斷改變,無法用 Static Routing ,以節省人力。

• Routers 間要不斷地交換訊息、自動學習改進 Dynamic Routing Table 。

• Routers 之間使用 Routing Protocol 來交換網路的資訊。

Page 11: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

11

Routing/Routed Protocols

• Routed Protocol :用封裝 packet 來攜帶data ,像信件的作用。– Ex: IP 、 IPX 、 AppleTalk

• Routing Protocol :用以選擇最佳路徑來傳送 packets ,像貨運公司的作用。– Ex: OSPF 、 RIP 、 IGRP

Page 12: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

12

Autonomous System

• 自主系統、網路自治區 (Autonomous System 、 AS)– A group of routers that share routing information

between them.

• Autonomous System 是自然形成,自己管理自己的一個網路系統。

• 每一個 Autonomous System 都有一個編號:自治號碼。– TANET : 1659 、 Hinet : 3462 、 Seednet :

4780 、 FETnet : 9674 、 ETWebs : 7481 。

Page 13: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

13

Routing Protocols

• 各 Autonomous System 自行決定自己的 Routing Paths 。

• 兩大類的 Routing Protocols :– EGP ( Exterior Gateway Protocol ):用於讓 Autonomous Systems 間互相交換 Routing Information 的 Protocol 。

– IGP ( Interior Gateway Protocol ):用於 Autonomous System 內部 Routers 交換路徑的 Protocol 。

Page 14: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

14

EGP ( 1/2 )• Exterior Gateway Protocol (外部選徑協定)

• 用於讓 Autonomous Systems 間互相交換 Routing Information 。

Autonomous System 1

Autonomous System 2

使用 EGP

內部使用 IGP 2

內部使用 IGP 1

Border gateway

Page 15: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

15

EGP ( 2/2 )

• Routing Information 包含如何經由某些特定 Autonomous Systems ,可到達那些 Network 的資訊。

• 目前只有一種 EGP 在流傳:各 Autonomous Systems 間以 BGP ( Border Gateway Protocol )來交換路由資訊。– PS :有一種 Routing Protocol 也取名為

EGP 。

Page 16: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

16

IGP ( 1/2 )• Interior Gateway Protocol (內部選徑協定)

• IGP refers to any algorithm that interior routers use when they exchange network reachability and routing information.

Autonomous System 1

Autonomous System 2

使用 EGP

內部使用 IGP 2

內部使用 IGP 1

Page 17: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

17

IGP ( 2/2 )• 常見的 IGP :

RIP 、 OSPF 、 IGPR 、 EIGRP…

• 其他有名的 IGP :SPREAD 、 NLSP 、 Hello…

• 也有 Autonomous System 使用 BGP 做為 IGP

Page 18: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

18

Types of Routing Algorithms

• 以 Routers 間交換路徑資訊與處理的方式,可將 Routing Algorithm 分類:– Distance Vector– Link Status– Hybrid

Page 19: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

19

Distance Vector Algorithm

• 指使用 Propagation 傳遞路由資訊的 Algorithms 。路由資訊包含:– Vector :代表 Destination– Distance :到 Destination 的距離

• 以 Routing Table 儲存到各 Destination Network 的 Distance 和 Next Hop 。

• 每一個 Router 都會定期告訴 Neighbors 自己 Routing Table 內所有的資訊。

Page 20: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

20

Propagation

A

B C D1. 新增一個 D 的網路介面聯到 Network 1

2. 更新 D 的 Routing Table

3. D 傳送更新後的 Routing Table

4. 更新 C 的 Routing Table

5. C 傳送更新後的 Routing Table

6. 更新 A,B 的 Routing Table

• 透過一層一層的傳送,更新 Router 資訊。

Page 21: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

21

Basic Operations

• Router 在 Boot 後,隨時偵測與 Neighbors 間的連結關係。

• 一開始只有直接相連的網路會列在 Routing Table 上。

• 定期 Router 會送出一份 Routing Table 的 Copy 給 Neighbor 。

• 以收到 Neighbor Routers 送來的資料,選擇新的路徑,修正維護自己的 Routing Table 。

Page 22: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

22

Network Topology (Original)

0

NET42

NET30

NET 2

NET 1

2

21

1

A

Q

B

A

NET17

1

2

1

2

5

4

3

ML

4

3

2

5

6

NET24

NET 4

2

7

6

5

43

8

4

a

b

4

3

Page 23: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

23

An Initial Routing Table

Destination Distance Route

Net 1 0 direct

Net 2 0 direct

• This is the routing table for a router A.

• Each entry contains the IP address of network and an integer distance to the network.

Page 24: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

24

A’s Routing Table at Time t

Destination Distance Route

Net 1 0 direct

Net 2 0 direct

Net 4 8 Router L

Net 17 5 Router M

Net 24 6 Router B

Net 30 2 Router Q

Net 42 2 Router B

Page 25: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

25

Network Topology (New)

0

NET42

NET30

NET 2

NET 1

2

21

1

A

Q

B

A

NET17

1

2

4

1

2

5

4

3

ML

4

3

2

5

6

NET24

3NET 4

2

7

6

5

43

8

4

a

bZ

4 c

NET21

5

Y

3

Page 26: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

26

Routing Message from B to A

Destination Distance

Net 1 2

Net 4 3

Net 17 6

Net 21 4

Net 24 5

Net 30 3

Net 42 3

Add a new router Z.

Y is crashed.

Page 27: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

27

Modified Routing Table

Destination Distance Route

Net 1 0 direct

Net 2 0 direct

Net 4 8 4 Router L B

Net 17 5 Router M

Net 24 6 Router B

Net 30 2 Router Q

Net 42 2 4 Router B

Net 21 5 Router B

A’s Routing Table

at Time t+1

Destination Distance

Net 1 2

Net 4 3 a shorter distance

Net 17 6

Net 21 4 a new destination

Net 24 5

Net 30 3

Net 42 3 Its next hop is B

The B’s advertisement

at Time t

Page 28: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

28

Properties of Distance Vector

• 只能確定與自己直接連接網路的資訊• 定期傳送整個 Routing Table

• 容易維護• 不需快速 processor 與大量 memory 進行計算

• Converge slowly

• 不適合大 Network

Page 29: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

29

Connectionless Transport 的問題

• 大部分的 Routing Protocol 使用不可靠的 Connectionless Transport 。

• Routing Protocol 自行找解決方式:– 使用 Checksum 可解決收到錯誤封包問題。– Sequence Number 可處理不照順序傳送的封包。– Soft state 用 Timeout 除去過期的資料– Acknowledgement/Retransmission 可解決封包遺失問題。

Page 30: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

30

Examples of Distance Vector

• Hello ( for 56kbps NSFNET )• SPREAD (最後一代 Core Network 使用的 Protocol )

• GGP ( Gateway-to-Gateway Protocol )• RIP ( Routing Information Protocol )• IGRP ( Interior Gateway Routing

Protocol )

Page 31: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

31

Link Status Algorithm

• 又稱為 Link State 、 Shortest Path First ( SPF )。

• 設定時每一 Router 都要先有一份 Complete Topology Information 。

• Router 只送出自己與 Neighbors 間的 Link Status 給其他 Routers 。– Link is Up : Neighbor 與 Link 都存在。– Link is Down : Link 中斷。

Page 32: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

32

Tasks of Link Status

• Router 定期與 Neighbor 交換訊息,以確認對方 Alive 或 Reachable 。

• 每一個 Router 定期送出它自己的 Link Status 給所有其他 Router 。

• 其他 Router 收到並使用此資訊修改自己的 Map of Internet 。並以 Dijkstra Shortest Path Algorithm 重新計算到每個 Destination 的 Shortest Path 。

Page 33: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

33

Properties of Link Status

• 有整個 Network Topology 的資訊• 大家收到的訊息都相同

– Easy to debug– Guarantee to converge (also fast)

• 需要有快速 processor 與大量 memory 以進行計算

• Link Status 只靠每個 router 的 links ,與網路大小無關 Scaling

Page 34: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

34

Examples of Link Status

• OSPF ( Open Shortest Path First )• IS-IS ( Intermediate System to

Intermediate System )• EIGRP ( Enhanced Interior Gateway

Routing Protocol )• NLSP

Page 35: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

35

Hybrid

• 混合 Distance Vector 與 Link Status• Examples of Hybrid :

– IS-IS ( Intermediate System to Intermediate System )

– EIGRP ( Extended Interior Gateway Routing Protocol )

• 收斂快但不需較大的 Memory 與Computing 。

Page 36: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

36

What Is a Short Routing Path?

• Metric in IGP– Hop count– Delay– Bandwidth– Load– Reliability– MTU– Cost

Page 37: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

37

BGP ( 1/2 )• BGP ( Border Gateway Protocol )

– RFC 1771, BGP version 4

• 唯一流傳的 EGP,但也被用於 IGP 。

BGPSystem

Router

Router

Autonomous System 1

Autonomous System 2

BGPSystem

Router

Router

BGPSystem

Router

Router

Autonomous System 3

Page 38: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

38

BGP ( 2/2 )• 和其他 IGP 不同處:

– 使用 IGP 的同一 Autonomous Systems 內的 Router 互相信任,相信其他 Router’s Advertisement ,也廣播自己的 Routing Table 。

– BGP 不信賴其他 Autonomous Systems 的 Routers ,可以有 Policy 決定要送出那些部份 Routes ,以避免其他 Routers 的錯誤擴散。

Page 39: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

39

3 Basic Functions of BGP

• 建立 2 BGP peers 間的 TCP 連線。– 包含做 Authentication 。

• 送出 Positive 和 Negative Reachability Information 。

• 提供 Ongoing Verification ,以確保網路連結之資料正確。

Page 40: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

40

BGP Message Headers

– Marker : detect the loss of synchronization: and authenticate incoming message

– Length : total length of message

– Type : type code of message

Length Type

Marker

32bit

Page 41: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

41

Types of BGP Messages

1 OPEN – 建立好 2 BGP peers 間的 TCP 連線,用 Open 宣告相關的參數。

2 UPDATE– 送出 Positive 和 Negative 路由訊息。

3 NOTIFICATION– 若發現錯誤,用 Notification 告知對方

4 KEEPALIVE – 做為線上的測試。

Page 42: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

42

OPEN Message

• Initial exchange

Length

Authentication Data

BGP Identifier

Type: OPEN Version

Marker

My Autonomous System Hold Time

Auth. Code

32bit

Page 43: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

43

UPDATE Message

• Transfer routing information

Length Type: UPDATE Path Attr -

Marker

Network 1

Network n

- Length

Path Attributes

32bit

Page 44: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

44

NOTIFICATION Message

• Report the error

Length Type: NOTIFIC.

Marker

Error Code

Error subcodeData

32bit

Page 45: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

45

KEEPALIVE Message

• Actively test peer connectivity

Length Type: KEEPALIVE

Marker

32bit

Page 46: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

46

Features of BGP ( 1/2 )• Inter-autonomous system communication

• Not pure distance vector, also not pure link state protocol.

• Coordination among multiple BGP speakers

• Policy support

• Propagation of Reachability Information

• Next-hop paradigm

Page 47: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

47

Features of BGP ( 2/2 )

• Path Information

• Incremental Updates

• Route Aggregation

• Reliable Transport

• Support for classless addressing

• Authentication

Page 48: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

48

Hello

• Original Core Network (56kbps NSFNET) 使用的 IGP 。目前已走入歷史。

• 屬於 Distance Vector Protocol 。• 以 Delay 做為 Metric 。• 2 Functions of Hello :

– It synchronizes the clocks among these routers.

– It allows each router to compute the distance of the shortest delay path to destinations.使用 Timestamp 求 Round Trip Delay

Page 49: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

49

Instability

• Problem of using delay metric is instability.

• Delay measurements are not fix values (i.e., it changed because of many conditions.)– Hardware clock drift (漂移 ), CPU load during

measurement, link-level synchronization

• Using hold down, threshold, K-out-of-N rules, Hello still has instable problem.

• Example: satellite vs. serial lines

Page 50: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

50

Satellite vs. Serial Lines

• Satellite: high capacity, large delay

• Serial line: low capacity, small delay– Someone sends a lot of data on serial line. – Serial line traffic load and delay : change

to use satellite.– Serial line traffic load and delay : change

to use serial line.

Serial line

satellite

Page 51: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

51

GGP

• GGP ( Gateway-to-Gateway Protocol )• Original Core Network 使用的 IGP 。目前已走入歷史( historic ) 。

• 使用 Distance Vector Protocol 。• 以 Hop Count 做為 Metric 。• 直接將資料封裝於 IP Datagram 之上。

Page 52: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

52

RIP ( 1/2 )

• RIP ( Routing Information Protocol )• University of California at Berkeley 首先寫出 routed 做為內部網路交換 Routing Information 。它是使用 Xerox NS Routing Information Protocol 所寫成。

• 隨 FreeBSD , routed 隨之擴散。• 直到 1988 , RIP 的 RFC 1058 才出現。

• 適合小型區域網路。

Page 53: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

53

RIP ( 2/2 )

• 屬於 Distance Vector Protocol 。• 以 Hop Count 做為 Metric 。• 使用 UDP , port=520 。• Broadcasting of responses• Update Routing table either at regular 30-

second intervals or triggered• RIP-2 (RFC 2453) support for CIDR,

authentication and multicast transmission

Page 54: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

54

Initial Routing Table of RIP

14 1 -- 23 1 -- 78 1 --

A

14 1 -- 55 1 --

78 1 -- 92 1 --

55 1 -- 66 1 --

08 1 -- 66 1 --08 1 --

23 1 --

B

E

F

C

DNet 08

Net 66

Net 55

Net 78 Net 92

Net 14

Net 23

Page 55: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

55

Next Routing Table of A08 2 E 14 1 -- 23 1 -- 55 2 B 78 1 -- 92 2 F

A

14 1 -- 55 1 --

78 1 -- 92 1 --

08 1 -- 23 1 --

B

E

F

C

DNet 08

Net 66

Net 55

Net 78 Net 92

Net 14

Net 23

Page 56: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

56

Final Routing Table of RIP

08 2 E 14 1 -- 23 1 -- 55 2 B 66 3 E 78 1 -- 92 2 F

A

08 3 A 14 1 -- 23 2 A 55 1 -- 66 2 C 78 2 A 92 3 A

08 3 A 14 2 A 23 2 A 55 3 A 66 3 A 78 1 -- 92 1 --

08 2 D 14 2 B 23 3 D 55 1 -- 66 1 -- 78 3 B 92 4 B

08 1 -- 14 3 E 23 2 E 55 2 C 66 1 --78 3 E 92 4 E

08 1 -- 14 2 A 23 1 -- 55 3 A 66 2 D 78 2 A 92 3 A

B

E

F

C

DNet 08

Net 66

Net 55

Net 78 Net 92

Net 14

Net 23

Page 57: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

57

Invalid Hop Count

• The distance of RIP is 1-16.– 1: connected directly– 15: max hop count– 16: invalid

• When a router is crash, its neighbors will never receive any information from it.

• A timer is set and the router is set to be invalid when the timer is expired.– Timer: 180 second in RIP.

Page 58: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

58

Problems and Solutions of RIP (1/2)

• # of router traffic • Not Optimal

– Manager 可自行更改 metric

• Slow Convergence Problem– Triggered update– Hold down

• Broadcast Avalanche

Page 59: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

59

Problems and Solutions of RIP (2/2)

• Routing Loop– Split horizon update– Poison reversion

• Count to Infinity– 以 hop count =16 表示 invalid 。– 當 path 很長, hop 數往上加,就會變成

16 ,就當作發生 loop ,移除此 path 。

Page 60: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

60

Not Optimal in RIP

• The smallest hop count may be not the actually shortest route.

• Solution: RIP allows managers to increase hop count of path 2.

Path 1: Serial line, distance=5, faster

Path 2: Satellite, distance=4, slower

Router will choose Path 2.

Page 61: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

61

Slow Convergence Problem (1/3)

• 但當 C's interface is down → 不再廣播此網路訊息 → 其他 Router A 必需等到 Timeout (180 sec) 才確定是 Disconnected ,設定 18.4.0.0 unreachable 。

• 如果其它 Router B 廣播他可到達此 Network ,則 Router A 會以 B 取代 C 。

A

B C18.4.0.0

Page 62: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

62

Slow Convergence Problem (2/3)

• 但如果是以下的網路型態。若其他尚未 Timeout 的 Router D 不知網路已經不通,傳回 connected 的消息,又 Router A 要重新再 Timeout 一次。

D finds 18.4.0.0 timeout

A

D C

D sends its Routing Tables

A finds 18.4.0.0 timeout

18.4.0.0

A finds 18.4.0.0 timeout

Page 63: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

63

Slow Convergence Problem (3/3)

• 然而當 router 廣播 a short route → 很快所有 router 都設定為此 routing path 。

• 好消息傳得快,壞消息傳得慢。• Solutions to Slow Convergence

– Triggered Update– Hold Down

Page 64: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

64

Triggered Update

• 當 Router 測得某一網路不通的消息,就要馬上設為 invalid=16, 馬上 Broadcast ,而不會等到下一次的Advertisement 。

• 其他 Gateway 收到 path 故障的消息,也要馬上 Broadcast 。

• 這些 Routers 會同時廣播,會造成 Broadcast Avalanche 。

Page 65: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

65

Broadcast Avalanche

• 當許多 routers 連結兩個網路。當有一網路不再暢通,所有 routers 都要快速將此壞消息傳送出去,形成 Broadcast Avalanche 。

• RIP 要求 routers 必需 wait a random time before triggered update 。

Network 1

Network 2

Page 66: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

66

Hold Down (1/2)

• 當 Gateway 收到某一 Network 無法存取的訊息時 (R0 以 Triggered Update 方式通知 ) ,並強迫此 Disconnected 訊息保留一段時間 ( 一般 Hold down timer 設為 60 seconds) ,( Roughly )不再接收此網路的訊息,以保證其它所有 Routers 均已收到故障訊息。

• 加快收斂的速度。R1

R2 R0Network N0

Page 67: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

67

Hold Down (2/2)

• R1 收到 R0 的廣播說 Network N0 無法存取,R1 將 N0 設為 invalid ,起動 Hold down timer 。在 Timeout 之前:– R1 收到其它 Router 如 R2 的訊息,是以較大的

Cost 連上 N0 , R1 不理會此訊息。– R1 收到其它 Router 如 R2 的訊息,是以較小的

Cost 連上 N0 , R1 將 N0 設為 valid ,移除 Hold down timer 。

– R1 收到 R0 的廣播說 N0 又可以連上, R1 將 N0 設為 valid ,移除 Hold down timer 。

Page 68: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

68

Routing Loop (1/2)

• R1 發現 Net 1 已無法相連

• R1 未廣播 Net 1 is invalid 前,先收到 R2 的廣播 (Net1,2) :

• R2 收到 R1 的廣播:

Network 1R1 R2 R3

Network 1R1 R2 R3 R1 <Net1,1 direct>

R2 <Net1,2,R1>

R1 <Net1,3,R2> R2 <Net1,2,R1>

Network 1R1 R2 R3 R1 <Net1,3 R2>

R2 <Net1,4,R1>

R1 <Net1,16 invalid>

Page 69: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

69

Routing Loop (2/2)

• A routing loop occurs.

• Finally, R1 收到 R2 的廣播, Net 1 之 distance= 16 ,變成 invalid ,視為無法到達。– RIP 設 Max hop value 為 15 、 IGRP 為

255 ( default=100 、 manager 會設為 50 )

Network 1R1 R2 R3 R1 <Net1,15 R2>

R2 <Net1,14,R1>

Page 70: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

70

Split Horizon Update

• Gateway 會記錄所接收的資訊是從那一個Router 送來,不會再將更新後的資料回傳給此 Router 。– Ex: R2 是從 R1 得到 Net 1 的消息,所以

R2廣播時,是不會將 Net 1 的消息回傳給 R1 。

– 可消除上例中的 Loop 。• 但無法消除所有的 Loop 。

Network 1R1 R2 R3 R1 <Net1,1 direct>

R2 <Net1,2,R1>

Page 71: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

71

Poison Reversion

• 規定 Router R2 由 R1 得知 Network 1 無法存取的訊息 (R1 以 Triggered Update 方式通知 ) , R2 必需將 metric 改為 invalid (16) , 同時回傳此訊息給 R1 。

Network 1R1 R2 R3 R1 <Net1,1 direct>

R2 <Net1,2,R1>

Page 72: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

72

Other RIP Rules

• 同一個時間只能有一個 Router 進行 Advertisement ,其他 Routers 必需listen ,以避免 Broadcast Avalanche 。– Random number between 25-35 sec

• 若 Router 收到兩個 path 有相同的 cost ,則會選用先收到的那一條路徑。

Page 73: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

73

RIP Message FormatsCommand(1) Version(1) Must be Zero(2)

Address Family Identifier(2) Must be Zero(2)

IP Address(4)

Must be Zero(4)

Must be Zero(4)

Metric(4)

RIP-1Command(1) Version(1) Routing Domain(2)

Address Family Identifier(2) Route Tag(2)

IP Address(4)

Subnet Mask(4)

Next Hop(4)

Metric(4)RIP-2Routing Domain : group routers in domains which share routing informationRoute Tag : propagate the information acquired from an EGPSubnet Mask : subnet mask for CIDR implementationNext Hop : next hop addresses that allows for optimization routes

Page 74: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

74

IGRP ( Interior Gateway Routing Protocol ) (1/2)

• Cisco 於 1980 年代中期發展出的 Protocol 。• 屬於 Distance Vector Protocol 。• 以

Delay 、 Bandwidth 、 Loading 、 Reliability 、 Hop count 、 Ticks 、 cost 做為 Metric 。– Manager 決定 Weight 。以 Bandwidth 最為重要。

• 支援 Multipath Routing (最多 4 paths ),以提高網路的頻寬。

• 可支援較大的網路( Max hop value=255 )

Page 75: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

75

IGRP ( Interior Gateway Routing Protocol ) (2/2)

• Timer setup :– 90 sec 傳送一次 Routing Table 。– 270 sec 沒有收到某一 neighbor 的訊息,設此

neighbor 為 invalid 。– 630 sec沒有收到某一 neighbor 的訊息,將此

neighbor 從 Routing table 中移除(稱為 Flush )。

• 也使用 Hold down ( 280 sec )、 Poison Reversion 、 Split Horizon update 。

Page 76: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

76

EIGRP ( Enhanced Interior Gateway Routing Protocol )

• Cisco 改進 IGRP 的 new protocol 。• 屬於 Hybrid algorithm 。

Page 77: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

77

IS-IS ( Intermediate System to Intermediate System )

• 一種 OSI 協定的 Protocol 。• T1 NSFNET Backbone 使用。目前仍有大型的 ISP 採用。

• 屬於 Link Status Protocol or Hybird 。

Page 78: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

78

OSPF ( Open Shortest Path First )

• 由 IETF ( Internet Engineering Task Force )發展出的 Protocol 。

• 屬於 Link Status Protocol 。• 適用於大型網路。• 在判斷最佳路徑時,有考量

Bandwidth 、 Flow 、 Reliability 、 Security 。

• 第一個提出 Multiple routes ,因此可以做 Type of services 、 Load balancing 。

Page 79: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

79

Areas of OSPF

BorderRouter

Router

Router

BorderRouter

RouterRouter

Router

Router Router

Backbone area

Area 1

Area 2

Page 80: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

80

Goal of OSPF ( 1/2 )

• Open standard

• OSPF includes type of service routing.

• OSPF provides load balancing.

• Network can be partitioned to subsets.– Easy management– Permit network growth

• Authentication

Page 81: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

81

Goal of OSPF ( 2/2 )

• OSPF supports classless routes.

• OSPF minimize broadcasts on multi-access network.

• Virtual network topology

• OSPF allows routers to exchange routing information learned form external sites.

Page 82: 1 Routing Protocol. 2 Outline Router 的運作 Routing Protocol Routing Algorithm Case Studies

82

Homework 3

1. 說明使用 Distance Vector Method 會遭遇的問題與解決的方法。

2. 對於 IGP 而言,你認為那些 Metric 適合用於計算到 Destination 的 Distance 。請簡單說明理由。