Chương 5: Các giao thức chọn ñường

Dự án HEDSPI Khoa CNTT- ðHBK Hà Nội

Giảng viên: Ngô Hồng Sơn Bộ môn Truyền thông và Mạng máy tính

Bài giảng có sử dụng nguồn tài liệu cung cấp bởi trường ðại học Keio, Nhật Bản

1

Tổng quan

(cid:1) Tuần trước: Khái niệm chung về chọn

ñường. (cid:1) Chọn ñường tĩnh và chọn ñường ñộng (cid:1) Các giao thức chọn ñường

(cid:1) Tuần này: Các giao thức chọn ñường cụ thể

trên Internet (cid:1) Vấn ñề phân cấp trong chọn ñường (cid:1) Chọn ñường nội vùng (Intra-domain): RIP, OSPF (cid:1) Chọn ñường liên vùng (Inter-domain): BGP

2

Phân cấp trong chọn ñường

Các hệ tự trị Chọn ñường nội vùng Chọn ñường liên vùng

3

Tổng quan

(cid:1) Vấn ñề chọn ñường ñã học

ñược xem xét trong ñiều kiện lý tưởng (cid:1) Các nút mạng có vai trò như nhau (cid:1) Chỉ có một mạng duy nhất, mạng

“phẳng”

(cid:1) Thực tế không giống như vậy

(cid:1) Tính mở rộng: Internet có hàng triệu (tỷ) máy trạm,

chọn ñường bằng LS hay DV? (cid:1) LS: Quá tải thông tin chọn ñường (cid:1) DV: Có hội tụ ñược không?

4

s1

Kiến trúc phân cấp của Internet

(cid:1) Internet = Mạng của các mạng (cid:1) Mỗi mạng có thể lựa chọn riêng cho mình một chiến lược chọn

ñường riêng.

(cid:1) Mỗi mạng như vậy có thể gọi là một hệ tự trị - Autonomous

System (AS)

AS 2

AS 5

AS 1

AS 4

AS 3

5

Slide 5

s1 Combine 5 and 6 sonnh, 3/8/2008

s2

Khái niệm hệ tự trị - AS

(cid:1) Tập hợp các nút mạng có cùng chính sách chọn ñường (Giao

thức, quy ước chi phí…)

(cid:1) Các ASes ñược nối kết thông qua các router hay gateway (cid:1) Mỗi hệ tự trị có một số hiệu riêng – AS number (ASN - 16 bits

hay 32 bits).

2914 NTT-COMMUNICATIONS-2914 - NTT America, Inc.

3491 BTN-ASN - Beyond The Network America, Inc.

4134 CHINANET-BACKBONE No.31,Jin-rong Street

6453 GLOBEINTERNET Teleglobe America Inc.

24087 VNGT-AS-AP Vietnam New Generation Telecom

24066 VNNIC-AS-VN Vietnam Internet Network Information Center

17981 CAMBOTECH-KH-AS ISP Cambodia

……………………………….

Source: http://www.cidr-report.org

6

Slide 6

s2 Explain about AS sonnh, 3/8/2008

Số lượng ASN cấp phát bởi IANA

Source: http://www.potaroo.net/

2008

7

Phân cấp giao thức chọn ñường

(cid:1) Trong một hệ tự trị: Giao thức chọn ñường

nội vùng (cid:1) IGP: Interior Gateway Protocol

(cid:1) RIP: Routing Information Protocol (cid:1) OSPF: Open Shortest Path First (cid:1) IS-IS, IGRP, EIGRP (Cisco)…

(cid:1) Giữa các hệ tự trị: Giao thức chọn ñường

liên vùng (cid:1) EGP: Exterior Gateway Protocol

(cid:1) BGP (v4): Border Gateway Protocol

8

Intra-domain và Inter-domain routing

AS2

AS1

IGP

EGP

OSPF domain

EGP

EGP

RIP domain

EGP

IGP

AS4

EGP

AS3

IGP

RIP domain

IGP

OSPF domain

AS5

RIP domain

RIP domain

9

Chọn ñường nội vùng

RIP OSPF

10

RIP ( Routing Information Protocol)

(cid:1) IGP (cid:1) RIP v.1, phiên bản mới RIP v.2 (cid:1) Giao thức dạng vector khoảng cách (cid:1) Chọn ñường ñi theo số nút mạng ñi qua (# of hops,

max = 15 hops)

Từ nút A:

u

v

w

A

B

x

ðích ñến số nút u 1 v 2 w 2 x 3 y 3 z 2

D

C

z

y

11

Nhắc lại: Chọn ñường dạng DV (1)

(cid:1) Bạn của bạn là bạn

Net A 133.27.4.0/24

Router C

Router A

To 133.27.4.0/24 1 hop

Net B 133.27.5.0/24

Router B

Router D

12

Nhắc lại: Chọn ñường dạng DV (2)

(cid:1) Bạn của bạn là bạn

Net A 133.27.4.0/24

Router C

Router A

To 133.27.4.0/24 2 hop

To 133.27.4.0/24 1 hop

Net B 133.27.5.0/24

Router B

Router D

13

To 133.27.4.0/24 2 hop

Nhắc lại: Chọn ñường dạng DV (3)

(cid:1) Bạn của bạn là bạn

Net A 133.27.4.0/24

Router C

Router A

To 133.27.4.0/24 2 hop

To 133.27.4.0/24 3 hop

To 133.27.4.0/24 1 hop

Net B 133.27.5.0/24

Router B

Router D

14

To 133.27.4.0/24 2 hop

s3

s4

Nhắc lại: Chọn ñường dạng DV (4)

(cid:1) Bạn của bạn là bạn

Lưu ý: Tên của router

Net A 133.27.4.0/24

Router C

Router A

To 133.27.4.0/24 1 hop

Net B 133.27.5.0/24

Router B

Router D

15

To 133.27.4.0/24 2 hop

Slide 15

s3 Explain in opposite way: How B is annouced sonnh, 3/8/2008

s4 Expain that we announce networks address. not router id sonnh, 3/8/2008

RIP: Trao ñổi thông tin

(cid:1) Trao ñổi bảng chọn ñường (cid:1) ðịnh kỳ

(cid:1) Các vector khoảng cách ñược trao ñổi ñịnh kỳ - 30s (cid:1) Mỗi thông ñiệp chứa tối ña 25 mục (cid:1) Trong thực tế, nhiều thông ñiệp ñược sử dụng

(cid:1) Sự kiện

(cid:1) Gửi thông ñiệp cho nút hàng xóm mỗi khi có thay ñổi (cid:1) Nút hàng xóm sẽ cập nhật bảng chọn ñường của nó

16

Các bộ ñếm thời gian - RIP timer (1)

(cid:1) Update timer

(cid:1) Dùng ñể trao ñổi thông tin cứ 30s

(cid:1) Invalid timer

(cid:1) Khởi tạo lại mỗi khi nhận ñược thông tin chọn ñường (cid:1) Nếu sau 180s không nhận ñược thông tin -> trạng thái hold-down

(cid:1) Hold down timer

(cid:1) Giữ trạng thái hold-down trong 180s (cid:1) Chuyển sang trạng thái down

(cid:1) Flush timer

(cid:1) Khởi tạo lại mỗi khi nhận ñược thông tin chọn ñường (cid:1) Sau 120s, xóa mục tương ứng trong bảng chọn ñường

17

RIP timer (2)

When it is timeout, hold down timer starts

Invalid timer

When it is timeout, This info will be deleted from RIP database

Hold down timer

When it receives update, Invalid timer restarts

Flush timer

When it is timeout, Routing info will be deleted from routing table

update ↓ update ↓ no update ↓

0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 18

Lỗi lặp vô hạn (Ping-pong failure)

(cid:1) Nếu 192.168.0.0/24 bị lỗi…

(cid:1) B cập nhật thông tin về 192.168.0.0 cho A (cid:1) Các gói tin ñến 192.168.0.0/24 sẽ bị quẩn (cid:1) A cập nhật thông tin về 192.168.0.0 cho B

(cid:1) Luẩn quẩn, vô hạn

192.168.0.0/24 192.168.1.0/24 192.168.2.0/24

conn conn B

192.168.1.0/24 192.168.2.0/24 192.168.0.0/24

conn conn A

A

B

192.168.0.0/24

192.168.1.0/24

19 192.168.2.0/24

s6

OSPF: ðể tranh lỗi lặp vô hạn

(cid:1) Giới hạn số hop tối ña

(cid:1) 16

(cid:1) “Split horizon”

(cid:1) Thông tin chọn ñường không ñược quay về nút

nguồn

(cid:1) “Poison reverse”

(cid:1) Khi liên kết bị lỗi, gửi giá trị của chi phí là 16 (cid:1) Liên kết chuyển sang trạng thái hold-down

20

Slide 20

s6 16 TTL vs. this? sonnh, 3/8/2008

s7

OSPF: Open Shortest Path First

(cid:1) IGP (cid:1) Open: Chuẩn mở của IETF (phiên bản 3,

ñịnh nghĩa trong RFC 2740)

(cid:1) Shortest Path First: Cài ñặt giải thuật Dijkstra. (cid:1) Thông tin về trạng thái liên kết - LSA (link state advertisement) ñược quảng bá “tràn ngập” trên toàn AS

21

Slide 21

s7 Tittle slide sonnh, 3/8/2008

Một số ñặc ñiểm của OSPF

(cid:1) An toàn: thông ñiệp OSPF ñược bảo vệ (cid:1) Với các AS lớn: OSPF phân cấp (cid:1) ðịa chỉ không phân lớp (Variable-Length

Subnet Masking -VLSM )

(cid:1) Mỗi link sẽ có nhiều giá trị về chi phí khác

nhau dựa trên TOS (tuy nhiên hơi phức tạp và chưa ñược sử dụng)

22

s9

Phân cấp OSPF

(cid:1) Trong việc chọn ñường, tại sao phải chia mạng

thành các vùng nhỏ hơn?

(cid:1) Nếu có quá nhiều router

(cid:1) Thông tin trạng thái liên kết ñược truyền nhiều lần hơn (cid:1) Phải liên tục tính toán lại (cid:1) Cần nhiều bộ nhớ hơn, nhiều tài nguyên CPU hơn (cid:1) Lượng thông tin phải trao ñổi tăng lên (cid:1) Bảng chọn ñường lớn hơn

(cid:1) Vùng

(cid:1) Nhóm các router có cùng thông tin LSA

23

Slide 23

s9 Explain why we need to reduce the calculaiton sonnh, 3/8/2008

Phân cấp OSPF

24

Các dạng router

(cid:1) ABR - Area border routers: Quản lý 1 vùng và

kết nối ñến các vùng khác

(cid:1) ASBR - Autonomous system boundary

router: Nối ñến các AS khác

(cid:1) BR - backbone routers: thực hiện OSPF

routing trong vùng backbone

(cid:1) Internal Router – Thực hiện OSPF bên trong

một vùng

25

Thông tin chọn ñường?

(cid:1) Link-State Advertisement (LSA): Chỉ ra một nút

ñược nối tới nút nào (link) và chi phí (cost) tương ứng

(cid:1) Ví dụ: nút A

A

20

D

C

10

(cid:1) link to B, cost 30 (cid:1) link to D, cost 20 (cid:1) link to C, cost 10

20

50

30

(cid:1) Ví dụ: nút D

B

E

(cid:1) link to A, cost 20 (cid:1) link to E, cost 20 (cid:1) link to C, cost 50

26

Chi phí trong giao thức OSPF - metric

(cid:1) Giá trị mặc ñịnh

100Mbps / bandwidth of interface (cid:1) Hiện nay người quản trị có thể gán giá trị này

(cid:1) Khi tính toán bảng chọn ñường (cid:1) Chọn ñường ñi chi phí nhỏ nhất

(cid:1) Chi phí bằng nhau

(cid:1) Có thể thực hiện cân bằng tải

27

Chi phí mặc ñịnh của OSPF

Link Bandwidth

Default OSPF cost

56Kbps serial link

1785

64Kbps serial link

1562

T1 (1.544Mbps) serial link

65

E1 (2.048Mbps) serial link

48

4Mbps Token Ring

25

Ethernet

10

16Mbps Token Ring

6

FDDI or Fast Ethernet

1

Gigabit Ethernet / 10G network

1

28

s8

Quảng bá thông tin LSA

LSAX

LSAX

X

A

X

A

X has link to A, cost 10

LSAX

X has link to C, cost 20

C

B

D

C

B

D

(a)

(b)

X

A

X

A

LSAX

C

B

LSAX D

C

B

D

LSAX

(d)

(c)

29

Slide 29

s8 What information is flood sonnh, 3/8/2008

Router ñại diện - DR

(cid:1) ðể tăng hiệu quả của việc quảng bá LSA (cid:1) Mỗi router phải lập quan hệ với router ñại diện -

designated router (DR) (cid:1) Trao ñổi thông tin thông qua DR

(cid:1) DR dự phòng (cid:1) Chọn DR và BDR?

B

A

C

B

A

C

D

E

D

E

Có DR

Không có DR

30

s10

Neighbor & Adjacency

(cid:1) “Neighbor” và “adjacency” là các k/n khác nhau!

(cid:1) Adjacency: có trao ñổi thông tin (cid:1) Neighbor: có ñường nối trực tiếp

(cid:1) Mạng quảng bá ña truy cập (e.g Ethernet)

(cid:1) Neighbor != Adjacency

(cid:1) Mạng ñiểm-nối-ñiểm

(cid:1) Neighbor == Adjacency

31

Slide 31

s10 Chang the order sonnh, 3/8/2008

s11

RIP vs. OSPF

RIP

OSPF

ðặc ñiểm

• Phân câp • Cấu hình phức tạp • Mạng cỡ vừa và lớn

• Router bình ñẳng • Cấu hình dễ dàng • Mạng cỡ nhỏ

Khả năng mở rộng

x

o

ðộ phức tạp tính toán

Nhỏ

Lớn

Nhanh

Hội tụ

Chậm

Bảng chọn ñường

Trạng thái liên kết

Trao ñổi thông tin

Distant vector

Link-state

Giải thuật

30s

10s (Hello packet)

Cập nhật hàng xóm

ðơn vị chi phí

Số nút mạng

Băng thông

32

Slide 32

s11

Exchanged informatio Rip: OSPF sonnh, 3/8/2008

Giao thức chọn ñường liên vùng

33

BGP – Border Gateway Protocol

(cid:1) Yếu tố gắn kết của Internet, kết nối các hệ tự trị (cid:1) Trao ñổi thông tin NLRI (Network Layer Reachability

Information) (cid:1) Cho phép một AS biết ñược thông tin ñi ñến AS khác (cid:1) Gửi thông tin này vào bên trong AS ñó (cid:1) Xác ñịnh ñường ñi tốt nhất dựa trên thông tin ñó và các

chính sách chọn ñường

(cid:1) Cho phép thiết lập các chính sách

(cid:1) Chọn ñường ra (cid:1) Quảng bá các ñường vào

34

s12

BGP: Path vector routing

(cid:1) Giữa các AS nên dùng giao thức nào?

(cid:1) Khó có một chính sách và ñơn vị chi phí chung (cid:1) LS: Chi phí không ñồng nhất, CSDL quá lớn (cid:1) DV: Mạng quá rộng, khó hội tụ

(cid:1) Giải pháp: Chọn ñường theo path-vector

1

2

A

A B→A

A

C

B

3

A C→B→A

1

A

D

E

2

4

A D→A

A D→A best path × C→B→A

35

Slide 35

s12 Change the symbol of router into AS sonnh, 2/29/2008

Cơ chế tránh vòng lặp

(cid:1) Dò lại xem router đã có trên path-vector hay chưa

(cid:1) B hủy ñường ñi tới A

B

C

A

!!LOOP!! A D→C→B→A

A C→B→A

D

36

s13

eBGP và iBGP

(cid:1) External BGP vs. Internal BGP (cid:1) Phân tán thông tin chọn ñường

1. 3a gửi tới 1c bằng 2. 1c gửi thông tin nội bộ tới (1b, 1d, …) trong AS1 bằng iBGP 3. 2a nhận thông tin từ 1b bằng eBGP

eBGP session

3c

iBGP session

2c

3a

3b

2a

AS3

2b

1c

AS2

1b

1d

1a AS1

37

Slide 37

s13

- We have to explain why we have two kind of BGP (Or we ask student) - iBGP: internal -e: external sonnh, 2/29/2008

BGP có thể cài ñặt các policy

(cid:1) Khi các router gửi và nhận thông tin chọn

ñường (cid:1) BGP có thể ñặt các chinh sách

(cid:1) Cho ñường vào (cid:1) Cho ñường ra

38

s15

Các thuộc tính của ñường ñi

(cid:1) ORIGIN

(cid:1) Nguồn của thông tin (IGP/EGP/incomplete)

(cid:1) AS_PATH (cid:1) NEXT_HOP (cid:1) MED (MULTI_EXIT_DISCRIMINATOR) (cid:1) LOCAL_PREF (cid:1) ATOMIC_AGGREGATE (cid:1) AGGREGATOR (cid:1) COMMUNITY

39

Slide 39

s15

Add a new slide to explain about policy Explain only attributes here and then, explain the step

Put the slide 103 of Keio slide just be fore slide about policy: howto implement policy

Add AS prepend just after filtering and others come following sonnh, 2/29/2008

s14

Các bước chọn ñường ñi

(cid:1) Bước 1: NEXT_HOP? (cid:1) Bước 2: So sánh LOCAL_PREF (cid:1) Bước 3: So sánh ñộ dài AS_PATH (cid:1) Bước 4: So sánh ORIGIN (cid:1) Bước 5: So sánh MED (cid:1) Bước 6: So sánh EBGP/IBGP (cid:1) Bước 7: So sánh chi phí tới NEXT_HOP (cid:1) Bước 8: So sánh Router ID

40

Slide 40

s14 Priority of route selection sonnh, 2/29/2008

Cài ñặt cac chính sách ntn?

(cid:1) Bộ lọc (cid:1) Các thuộc tính

(cid:1) AS_PATH PREPEND (cid:1) MED (cid:1) LOCAL_PREF

41

s16

Bộ lọc

(cid:1) Chỉ trao ñổi ñường ñi nào ñã ñược ñăng ký

(cid:1) Hạn chế thông qua bộ lọc vào - In-filter (cid:1) Thông qua bộ lọc ra - Out-filter

AS1

AS3

AS1

AS3

AS2

Example of setting Access List ip as-path access-list 10 permit ^2$ ip as-path access-list 10 permit ^2 1$

Do not receive

AS2 ◎ AS2 AS1 ◎ AS2 AS3 ×

AS4

Setting as “In-filter” on BGP router

42

Slide 42

s16 Move just after policy sonnh, 2/29/2008

Ví dụ về AS PATH

Network 4.79.201.0/26

6.1.0.0/16

6.2.0.0/22

Next Hop Metric LocPrf Weight Path 203.178.136.29 700 500 0 203.178.136.29 700 500 0 203.178.136.29 700 500 0 203.178.136.29 700 500 0 203.178.136.29 700 500 0 203.178.136.29 700 500 0 203.178.136.29 700 500 0

7660 22388 11537 10886 40220 7660 22388 11537 10886 40220 7660 22388 11537 10886 40220 7660 22388 11537 668 7660 22388 11537 668 7660 22388 11537 668 7660 22388 11537 668

43

Chọn ñường với AS_PATH Prepend

AS2 AS3 AS5

AS4 AS5 AS5 AS5

AS1

AS2

AS3 AS5

AS4

AS3

AS5 AS5 AS5

AS5

AS5

44

Ví dụ về AS PATH prepend

Network 8.5.192.0/22

8.5.196.0/24

8.5.200.0/22

Next Hop Metric LocPrf Weight Path 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989 203.178.136.14 100 0 2516 209 13989 13989 13989 13989

45

s17

Chon ñường với MED

(cid:1) trong trường hợp 2 AS với nhiều link (cid:1) Chọn MED nhỏ hơn (cid:1) Áp dụng trong ñiều khiển lưu lượng

172.16.0.0/16 AS1

used route

Routing information of AS1 MED 100

Routing information of AS1 MED 200

How to see routing table at AS2

AS2

Prefix AS_PATH MED 172.16.0.0/16 AS1 100 ◎ 46 172.16.0.0/16 AS1 200

Slide 46

s17

MED is set by distance AS Local-pref set by local AS so local-pre is higher sonnh, 2/29/2008

Phân tải với MED

(cid:1) ðặt giá trị MED khác nhau cho mỗi ñường (cid:1) Cũng ñiều khiển lưu lượng

172.16.0.0/16、、、、172.17.0.0/16 AS1

Routing information of AS1 172.16.0.0/16 = MED 100 172.17.0.0/16 = MED 200

Routing information of AS1 172.16.0.0/16 = MED 200 172.17.0.0/16 = MED 100

Route used for 172.16.0.0/16

Route used for 172.17.0.0/16

AS2

47

Sử dụng LOCAL_PREF

(cid:1) Chọn giá trị lớn hơn của

AS1

AS1

AS1

LOCAL_PREF

(cid:1) ðiểu khiển lưu lượng

upbound

AS2

AS1 AS2

AS4

AS3

AS1 AS4

AS3 AS2 AS1

LOCAL_PREF 100

LOCAL_PREF 80

AS5

48

Tóm tắt

(cid:1) Hierarchical routing (cid:1) RIP (cid:1) OSPF (cid:1) BGP

49

Tuần tới: Transport Layer

(cid:1) Nguyên lý tầng giao vận (cid:1) UDP và TCP (cid:1) ðiều khiển luồng (cid:1) ðiều khiển tắc nghẽn

50