1. Trang chủ
  2. » Tất cả

Đề tài tiểu luận giao thức bgp

42 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề tài Tiểu luận Giao thức BGP
Tác giả Nhóm Sinh Viên, Nhóm Môn Học 06
Người hướng dẫn PGS. TS Nguyễn Tiến Ban
Trường học Học viện Công nghệ Bưu chính Viễn Thông
Chuyên ngành Mạng máy tính
Thể loại Tiểu luận cuối kỳ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 42
Dung lượng 1,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để trao đổi thông tin được với nhau, ta cần kết nối vào mạng Internet mà mạng Internet ở đây là một tập các thiết bị kết nối với nhau bằng các cách khác nhau, ta sẽ như là một thiết bị t

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG 1

Tháng 12 - 2021

Trang 2

Nhóm tiểu luận 04 - Nhóm môn học 06 1

LỜI NÓI ĐẦU

Trong thời đại mà cuộc cách mạng công nghiệp 4.0 đang phát triển mạnh mẽ, mạng

Internet nắm giữ một vai trò rất quan trọng - là môi trường để chúng ta có thể trao đổi thông

tin với nhau một cách nhanh chóng, chính xác bất kể chúng ta đang ở đâu hay đang làm gì

Để trao đổi thông tin được với nhau, ta cần kết nối vào mạng Internet mà mạng Internet ở

đây là một tập các thiết bị kết nối với nhau bằng các cách khác nhau, ta sẽ như là một thiết

bị tham gia vào mạng lưới này Tuy nhiên, một điều chắc chắn rằng số lượng các kết nối

trong mạng Internet là rất lớn (cỡ hàng tỉ, trăm tỉ hoặc có thể lớn hơn nhiều lần nữa) Điều

này đòi hỏi một phương thức phù hợp sao cho thông tin trao đổi với nhau chính xác, nhanh

chóng mà vẫn đảm bảo các điều kiện về tài nguyên mạng, giá thành, khả năng tích hợp

cao, Vì vậy, một bài toán được đặt ra để giải quyết những yêu cầu trên, đó là bài toán

định tuyến

Định tuyến, một cách đơn giản, có thể hiểu là xác định đường đi Từ đó, áp vào mạng

Internet thì định tuyến nghĩa là xác định tuyến đường để chuyển thông tin từ nguồn đến

đích như mong muốn một cách tối ưu nhất Định tuyến cũng đóng một vai trò rất quan trọng

trong việc trao đổi thông tin giữa các thiết bị mạng với nhau Nếu như không có định tuyến,

các thông tin sẽ không biết hướng đi và như vậy việc trao đổi thông tin giữa các thiết bị là

bất khả thi

Thông thường, để thực hiện chức năng định tuyến, ta sử dụng một loại thiết bị mạng,

đó là Router Các Router sẽ như là một đại diện cho các thiết bị, các mạng con và kết nối

với nhau thành mạng lưới Hiểu đơn giản, các Router chính là các nút mạng (các điểm trong

mạng lưới Internet) Các nút mạng này kết nối và trao đổi thông tin với nhau bằng định

tuyến Dĩ nhiên, sẽ luôn có những quy tắc nhất định phải tuân theo khi thực hiện định tuyến

Tập các quy tắc này được gọi là giao thức định tuyến

Trong bài tiểu luận này, chúng em sẽ trình bày về một trong những giao thức định

tuyến phổ biến hiện nay, đó là giao thức BGP Bố cục bài tiểu luận gồm 5 chương:

- Chương 1: Tổng quan về BGP

- Chương 2: Cách thức hoạt động của BGP

- Chương 3: Một số thuộc tính đường dẫn của BGP

- Chương 4: Các chính sách khi sử dụng BGP

- Chương 5: Mô phỏng thử nghiệm BGP

Nhóm sinh viên

Trang 3

Nhóm tiểu luận 04 - Nhóm môn học 06 2

MỤC LỤC

LỜI NÓI ĐẦU 1

THUẬT NGỮ 5

DANH MỤC HÌNH ẢNH 7

DANH MỤC BẢNG 7

Chương 1 - Tổng quan về BGP 8

I Khái niệm 8

II Đặc điểm 8

III Các trường hợp sử dụng BGP 10

1 Trường hợp nên sử dụng 10

2 Trường hợp không nên sử dụng 11

IV So sánh iBGP và eBGP 11

V Các bước xây dựng bảng định tuyến 11

Chương 2 - Cách thức hoạt động của BGP 12

I Định dạng tiêu đề của bản tin 13

1 Bản tin OPEN 14

2 Bản tin UPDATE 15

3 Bản tin KEEPALIVE 18

4 Bản tin NOTIFICATION 18

II Thương lượng với các hàng xóm 18

1 Trạng thái rỗi 19

2 Trạng thái kết nối 19

3 Trạng thái hoạt động 19

4 Trạng thái sẵn sàng gửi 20

5 Trạng thái sẵn sàng nhận 20

6 Trạng thái thiết lập 20

III Thứ tự ưu tiên khi tìm tuyến đường 21

Chương 3 - Một số thuộc tính đường dẫn của BGP 22

I AS-PATH 22

II NEXT HOP 23

Trang 4

Nhóm tiểu luận 04 - Nhóm môn học 06 3

1 Giới thiệu 23

2 NEXT HOP trong Multi-access 24

3 NEXT HOP trong NBMA (Frame Relay) 24

III AGGREGATOR và LOCAL PREFERENCE 25

1 AGGREGATOR 25

2 LOCAL PREFERENCE 25

IV WEIGHT và MED 26

1 WEIGHT 26

2 MED (Multiple Exit Discriminator) 26

Chương 4 - Các chính sách khi sử dụng BGP 28

I Lọc tuyến 28

II Sử dụng DISTRIBUTE LIST để lọc tuyến 28

III IP prefix-list 29

1 Một số ưu điểm 29

2 Cấu trúc câu lệnh IP prefix-list 29

3 Nguyên tắc sử dụng 30

4 Một số lưu ý 31

IV ROUTE MAP 31

1 Mục đích sử dụng 31

2 Một số đặc điểm 31

3 Một số quy luật tổng quát 32

Chương 5 - Mô phỏng thử nghiệm BGP 33

I Yêu cầu 33

II Các bước cấu hình 33

1 Bước 1 34

2 Bước 2 34

3 Bước 3 35

4 Bước 4 35

III Kiểm tra kết quả 36

1 Kiểm tra hàng xóm BGP 36

Trang 5

Nhóm tiểu luận 04 - Nhóm môn học 06 4

2 Kiểm tra bảng BGP 37

3 Kiểm tra bảng định tuyến 38

LỜI KẾT 40

TÀI LIỆU THAM KHẢO 41

Trang 6

Nhóm tiểu luận 04 - Nhóm môn học 06 5

3 Autonomous System

Là tập hợp các hệ thống mạng dưới sự kiểm soát của cùng một admin, thường là một nhà cung cấp dịch vụ Internet (ISP) Các router trong cùng một AS có cùng giao thức định tuyến Khi kết nối ra Internet, chỉ số

AS này phải là duy nhất và được cung cấp bởi các Internet Committee

4 Exterior Gateway Protocol (EGP)

Thuật ngữ chung cho một giao thức được thực thi giữa các AS khác nhau, tiền thân của BGP

nhau

6 Interior Gateway Protocol (IGP) Các giao thức định tuyến sử dụng bên trong

cùng một AS

7 IBGP

Giao thức này được sử dụng bên trong một

AS Các bộ định tuyến không nhất thiết phải là neighbor của nhau về phương diện kết nối vật lý và thường đặt ở rìa của một

AS IBGP được dùng giữa các router chạy BGP trong một AS

8 Originator-ID

Là thuộc tính tùy chọn của BGP, chứa ID của router đã tao ra tuyến đường đó Mục đích: ngăn ngừa routing loop

Trang 7

Nhóm tiểu luận 04 - Nhóm môn học 06 6

9 Policy-based routing

Một cơ chế cho phép các admin lập trình routing protocol bằng cách định tuyến lưu lượng Là một dạng định tuyến tĩnh PBR độc lập với các giao thức định tuyến và sử dụng route-map để tạo ra các quá trình riêng lẻ nhằm thực thi các quyết định định tuyến

10 Prefix-list

Được dùng như một distribute-list để kiểm soát cách mà BGP nhận hoặc gửi cập nhật Prefix-list nhanh hơn, linh hoạt và tốn ít tài nguyên hệ thống hơn

11 Route-reflector

Là một bộ định tuyến được config để chuyển tiếp các tuyến đường từ các bộ định tuyến iBGP khác Khi config route-reflector, các iBGP không cần phải fully-mesh nữa Một network fully-mesh thì không thể mở rộng

12 Route-Reflector-Client

Một client là một router có một phiên TCP

và một router khác hoạt động như một route-reflector-server Client không nhất thiết phải setup peer với client khác

13 Route-Reflector Cluster

Một cluster là một nhóm bao gồm một route-reflector và clients Có thể có nhiều hơn một máy chủ route-reflector trong một cluster

14 Transit autonomous system Là AS được dùng để mang BGP traffic qua

các AS khác

Trang 8

Nhóm tiểu luận 04 - Nhóm môn học 06 7

DANH MỤC HÌNH ẢNH

Hình 1.1 - Các giao thức định tuyến động 8

Hình 1.2 - Các AS sử dụng BGP 9

Hình 1.3 - Ví dụ về vấn đề chính sách 10

Hình 2.1 - Các AS khác nhau trong mạng 12

Hình 2.2 - Định dạng tiêu đề của bản tin 13

Hình 2.3 - Trường Type và các loại bản tin 13

Hình 2.4 - Định dạng bản tin OPEN 14

Hình 2.5 - Cấu trúc trường Optional Parameters 15

Hình 2.6 - Định dạng bản tin UPDATE 16

Hình 2.7 - Cấu trúc tiền tố địa chỉ IP 16

Hình 2.8 - Một số thuộc tính đường dẫn Path Attributes 17

Hình 2.9 - Định dạng bản tin NOTIFICATION 18

Hình 3.1 - Ví dụ về thuộc tính AS-PATH 22

Hình 3.2 - Ví dụ về AS-PATH với số Private AS 23

Hình 3.3 - Ví dụ về thuộc tính NEXT HOP 23

Hình 3.4 - Ví dụ về NEXT HOP trong Multi-access 24

Hình 3.5 - Ví dụ về NEXT HOP trong NBMA 25

Hình 3.6 - Sử dụng lệnh Next-hop-self 25

Hình 3.7 - Ví dụ về thuộc tính WEIGHT 26

Hình 3.8 - Ví dụ về thuộc tính MED 27

Hình 4.1 - Sử dụng DISTRIBUTE LIST để lọc tuyến 28

Hình 5.1 - Topo mạng thử nghiệm BGP 33

DANH MỤC BẢNG Bảng 1.1 - So sánh iBGP và eBGP 11

Bảng 4.1 - Các thành phần trong cấu trúc câu lệnh IP prefix-list 30

Trang 9

Nhóm tiểu luận 04 - Nhóm môn học 06 8

Chương 1 - Tổng quan về BGP

I Khái niệm

BGP (Border Gateway Protocol) là một giao thức định tuyến sử dùng giữa các miền

quản trị khác nhau với mục đích chia sẻ routing information của các hệ tự trị hay AS

(Autonomous system) cho các hệ tự trị khác trong cùng một mạng lưới Giao thức này hoạt động dựa một cơ sở dữ liệu là một bảng chứa các địa chỉ mạng (prefix), các địa chỉ này cho

biết mối quan hệ giữa các AS trong cùng một network Border Gateway protocol là một

giao thức dạng vector đường đi (path - vector) Tính đến năm 2021, phiên bản BGP mới

❖ Tính tin cậy của các bản tin cập nhật là cao

❖ Các bản tin được cập nhật đều đặn theo chu kỳ

❖ Có nhiều thông số, tiêu chí có thể dùng để tính chỉ số tuyến đường

BGP được dùng để thiết kế những network có quy mô rất lớn (lên đến hàng triệu host) vì vậy giao thức này có cấu trúc mạng lưới cực kỳ phức tạp

BGP có nhiệm vụ đảm bảo việc trao đổi các thông tin liên lạc cũng như thông tin định tuyến giữa các hệ tự trị diễn ra đều đặn, được cập nhật đầy đủ và liên tục, đồng thời cung cấp thông tin về next-hop cho mỗi đích đến

BGP là một giao thức định tuyến dạng path-vector, do đó việc đường đi nào được

lựa chọn là rất quan trọng nhất, thường dựa trên một tập hợp ATTRIBUTE (thuộc tính)

Trang 10

Nhóm tiểu luận 04 - Nhóm môn học 06 9

Các giao thức nhóm distance - vector thường quảng bá thông tin hiện có đến các neighbors, trong khi đó path - vector lại cho phép quản trị viên biết chính xác danh sách toàn bộ các path dẫn đến đích Đặc biệt, các giao thức định tuyến hoạt động dựa trên path - vector giúp

việc xác định loop trên network tốt hơn bởi chúng sẽ xét đến tất cả các đường dẫn mà các router khác gửi về cho AS đầu xem có bản thân AS đó tồn tại bên trong hay không, nếu có

sẽ ngay lập tức loại bỏ

BGP hỗ trợ VLSM (variable-length subnet mask – Mặt nạ mạng có chiều dài thay đổi được), CIDR (Classless interdomain routing - Định tuyến liên miền phân lớp) và còn

có các bản tin KEEPALIVE được gửi và nhận định kỳ nhằm duy trì kết nối giữa các BGP

peers Ngoài ra, BGP còn dùng kỹ thuật kết hợp đường đi để giảm kích thước bảng tìm

đường

Trong giai đoạn đầu tạo phiên kết nối BGP, toàn bộ các thông tin routing-update sẽ được gửi Sau đó, BGP sẽ chuyển sang cơ chế dùng trigger-update Mọi thay đổi trong hệ thống mạng đều là nguyên nhân của quá trình trigger-update

Một trong các đặc điểm của BGP chính là các bản tin cập nhật định tuyến Nếu nhìn vào các bản tin cập nhật này, ta sẽ thấy rằng các bản tin này là khá chính xác Do BGP

không quan tâm hoạt động trao đổi để có đầy đủ knowledge của tất cả các subnet bên trong

một hệ tự trị mà nó quan tâm đến chuyển tải đầy đủ thông tin cần thiết để tìm được một AS khác Các bản tin BGP update thực hiện quá trình tóm tắt đến một mức tối đa từ AS cho tới một số prefix và một vài thông tin của bản cập nhật mà vẫn đảm bảo được độ chính xác tối

đa cũng như đảm bảo rằng lớp transport truyền đi các bản cập nhật cũng như cơ sở dữ liệu

về tuyến đường khi đã được đồng bộ

BGP là giao thức có thể được sử dụng giữa các AS khác nhau cũng như trong cùng

1 AS Trong trường hợp kết nối các AS khác nhau, ta sử dụng eBGP (exterior BGP – BGP

ngoại miền) Với trường hợp dùng BGP để kết nối các router trong cùng một AS, ta dùng

iBGP (interior BGP – BGP nội miền)

Hình 1.2 - Các AS sử dụng BGP

Trang 11

Nhóm tiểu luận 04 - Nhóm môn học 06 10

Về vấn đề chính sách (Policy) : Trong một AS ta thường sử dụng các giao thức định

tuyến nội IGP (ví dụ như RIP, ISIS, EIGRP, OSPF), còn khi ra ngoài một AS ta phải dùng giao thức định tuyến ngoại, gọi chung là EGP Mục đích sử dụng và thiết lập của các IGP

và EGP không giống nhau Các IGP thực hiện định tuyến gói đi từ nguồn đến đích mà

không quan tâm đến chính sách định tuyến (policy) Trong khi đó, nếu ra khỏi phạm vi một

AS thì chính sách định tuyến lại cực kì quan trọng và EGP cực kỳ chú trọng đến vấn đề này Xét ví dụ sau:

Hình 1.3 - Ví dụ về vấn đề chính sách

Giả sử công ty A muốn chuyển dữ liệu đến AS4 Tuy nhiên A và B là đối thủ cạnh tranh, công ty B không muốn cho công ty A chuyển dữ liệu thông qua tuyến đường của mình Chính vì vậy, công ty A chỉ có thể chuyển dữ liệu thông qua AS3, AS2, AS1 để đến được AS4, mặc dù con đường thông qua công ty B có thể là tối ưu nhất Giả sử công ty C thuộc AS3 cũng muốn đến AS4 nhưng C và B là đối tác nên B sẵn sàng cho quá giang Như vậy A và C vẫn đi tới được cùng một đích đến nhưng đường đi lại khác nhau Các giao thức định tuyến nội không thể làm được điều này bởi lẽ ưu tiên hàng đầu của chúng là metric hay cost, nói cách khác là làm sao để truyền tín hiệu tới đích nhanh nhất, tối ưu nhất có thể

mà hoàn toàn không quan tâm đến chính sách định tuyến Chính vì vậy, BGP chọn đường bằng một tập các chính sách và luật

III Các trường hợp sử dụng BGP

1 Trường hợp nên sử dụng

Khi một company network kết nối đến nhiều ISP hoặc các AS khác và đang dùng các kết nối này Nhiều công ty sử dụng các kết nối khác nhau để back-up Có thể giảm thiểu chi phí nếu tất cả các kết nối đều được thực hiện Trong trường hợp này, có thể cần phải triển khai PBR trên từng kết nối BGP cũng được sử dụng khi chính sách định tuyến của ISP và company là khác nhau hoặc traffic trong company cần phải được phân biệt với ISP Mạng của hai tổ chức không được xuất hiện dưới AS Một trường hợp khác BGP nên được dùng là khi network của ta chính là một ISP Khi này, hệ thống mạng phải cho phép các traffic khác đi qua AS của mình Lúc này nó hoạt động như một miền chuyển tuyến (transit domain)

Trang 12

Nhóm tiểu luận 04 - Nhóm môn học 06 11

2 Trường hợp không nên sử dụng

Một hệ thống mạng đơn giản là một hệ thống mạng dễ dàng quản lý và bảo trì Đây

là lý do chính để tránh sử dụng BGP trên mạng Nếu mạng có các đặc điểm sau, nên sử dụng các phương pháp khác:

❖ Static hay default-routing

❖ Mạng của ISP và mạng của company dùng chung một chính sách định tuyến

❖ Nếu công ty của bạn có nhiều kết nối với ISP nhưng chỉ để back-up thì không cần một

kế hoạch để kích hoạt nhiều hơn một kết nối đến Internet

❖ Tài nguyên mạng như CPU và bộ nhớ của router bị hạn chế

❖ Băng thông giữa các AS thấp và chi phí định tuyến ảnh hưởng đến việc truyền dữ liệu

IV So sánh iBGP và eBGP

Bảng 1.1 - So sánh iBGP và eBGP

Khoảng cách hành chính (AD) là 200 Khoảng cách hành chính (AD) là 20

Các path học được từ IBGP peer sẽ không

được quảng bá cho các IBGP peer khác

nhưng có thể quảng bá cho EBGP peer

Các path học được từ EBGP peer sẽ được quảng bá cho các peer khác

Yêu cầu cấu trúc fully-mesh Không yêu cầu cấu trúc fully-mesh

Sử dụng trong cùng 1 tổ chức Sử dụng giữa các tổ chức hoặc tổ chức với

các ISP

Sử dụng BGP split horizon để chặn loop Dùng As-path để ngăn chặn loop

Default peer được thiết lập với TTL = 255 Default peer được thiết lập với thời gian

sống TTL = 1

Ở IBGP beers, các thuộc tính ưu tiên cục

bộ sẽ gửi đi

Ở EBGP beers, các thuộc tính ưu tiên cục

bộ sẽ không được gửi đi

V Các bước xây dựng bảng định tuyến

❖ Nhận các bản tin cập nhật

❖ Xây dựng bảng BGP

❖ Lựa chọn tuyến đường tốt nhất BG

❖ Quảng bá tuyến đường BGP

❖ Xây dụng bảng định tuyến BGP

❖ Quảng bá ra mạng Cục bộ

Trang 13

Nhóm tiểu luận 04 - Nhóm môn học 06 12

Chương 2 - Cách thức hoạt động của BGP

Như đã tìm hiểu trong chương 1, BGP được sử dụng giữa các AS khác nhau trong cùng mạng lưới để trao đổi thông tin định tuyến Hình dưới đây cho thấy các AS sử dụng BGP để trao đổi thông tin định tuyến với nhau Để làm điều này, các AS sử dụng 2 loại BGP: BGP nội miền (iBGP), BGP ngoại miền (eBGP)

Hình 2.1 - Các AS khác nhau trong mạng

Trong một AS, ta sử dụng iBGP để định tuyến thông tin Các thiết bị thực hiện chức năng này được gọi là BGP speakers Các BGP speaker này phải thiết lập ngang hàng với nhau thì mới sử dụng được iBGP Lúc này, ta gọi chúng là các thiết bị ngang hàng Nói cách khác, các BGP speaker phải thiết lập kết nối TCP với nhau

Ngược lại, khi không ở trong cùng một AS, BGP speakers sẽ sử dụng eBGP để định tuyến Giống như iBGP, eBGP cũng yêu cầu các BGP speaker phải được thiết lập ngang hàng với nhau

Sau khi các thiết bị ngang hàng được thiết lập, thông tin từ các thiết bị này có thể được sử dụng để tạo thành một biểu đồ BGP có dạng hình cây Sau đó, quá trình trao đổi thông tin định tuyến mới được bắt đầu Ban đầu, các BGP speaker sẽ trao đổi toàn bộ bảng định tuyến với nhau Sau đó, chúng sẽ trao đổi các cập nhật trong bảng định tuyến và các bản tin KEEPALIVE để duy trì kết nối với nhau

Trang 14

Nhóm tiểu luận 04 - Nhóm môn học 06 13

I Định dạng tiêu đề của bản tin

Chỉ khi mỗi thiết bị nhận được toàn bộ các trường của bản tin, BGP mới thực hiện

xử lý bản tin Mỗi bản tin phải có kích thước tối thiểu là 19 bytes và tối đa là 4096 bytes Tiêu đề của bản tin bao gồm những trường sau:

Hình 2.2 - Định dạng tiêu đề của bản tin

❖ Marker: Có độ dài 16 bytes, được sử dụng để đánh dấu sự mất đồng bộ giữa các thiết bị BGP ngang hàng, xác thực các bản tin BGP đến Tùy thuộc vào loại bản tin mà trường này

sẽ có những giá trị khác nhau Ví dụ, với bản tin OPEN thì Marker có giá trị là 1

❖ Length: Có độ dài 2 bytes, cho biết kích thước của bản tin Như đã nói ở trên, giá trị của

Trang 15

Nhóm tiểu luận 04 - Nhóm môn học 06 14

1 Bản tin OPEN

Sau khi thiết lập phiên kết nối TCP, bản tin này sẽ được gửi đi đầu tiên Khi bản tin OPEN được chấp nhận, một bản tin KEEPALIVE được trả về bên gửi Sau đó, bản tin OPEN sẽ được gửi lại, tiếp theo là bản tin UPDATE, NOTIFICATION và cuối cùng là KEEPALIVE

Dưới đây là định dạng của bản tin OPEN:

Hình 2.4 - Định dạng bản tin OPEN

❖ Version: Có độ dài 1 byte Trường này xác định phiên bản của các BGP speaker sau khi thương lượng với các thiết bị hàng xóm Cụ thể, quy trình như sau: Các BGP speaker sẽ cố gắng thương lượng với giá trị phiên bản cao nhất mà các thiết bị này nghĩ rằng cả 2 bên có thể sử dụng Nếu hàng xóm không hỗ trợ phiên bản này, một thông báo lỗi sẽ được gửi trả bên gửi và phiên TCP kết thúc Quá trình trên tiếp tục cho đến khi tìm được một phiên bản

Trang 16

Nhóm tiểu luận 04 - Nhóm môn học 06 15

❖ BGP Identifier: Có độ dài 4 byte, dùng để nhận dạng các BGP speaker Nó tương tự như

ID của router trong OSPF và sẽ được gán cho từng BGP speaker phù hợp Với giao diện Loopback trên router, BGP ID là địa chỉ IP cao nhất có thể thiết lập cho giao diện này Nếu router không có giao diện này thì địa chỉ IP cao nhất có thể thiết lập cho các giao diện vật

lý trên router sẽ được đặt cho BGP ID ID khi đã được xác định thì không thể thay đổi Nếu muốn thay đổi, ta phải cài đặt lại BGP cho router

❖ Optional Parameters Length: Có độ dài 1 byte, xác định kích thước của trường Optional Parameters Nếu trường này có giá trị 0 thì sẽ không có tham số tùy chọn nào được thiết lập

❖ Optional Parameters: Có độ dài thay đổi, chứa danh sách các tham số tùy chọn được sử dụng khi thương lượng với hàng xóm Mỗi tham số có cấu trúc như sau:

Hình 2.5 - Cấu trúc trường Optional Parameters

➢ Parameter Type: Có độ dài 1 byte, xác định loại tham số

➢ Parameter Length: Có độ dài 1 byte, xác định kích thước tham số

➢ Parameter Value: Có độ dài thay đổi, giá trị biểu thị dựa trên trường Parameter Type

2 Bản tin UPDATE

Sau khi các BGP speakers trở thành thiết bị ngang hàng, chúng trao đổi các bản tin UPDATE với nhau Bản tin này chứa thông tin định tuyến và thông tin này được dùng để tạo môi trường định tuyến không có vòng lặp (loop-free routing environment)

Trong bản tin này, ngoài các tuyến đường khả thi (Feasible Routes) thì còn các tuyến đường không khả thi (Unfeasible Routes) Một bản tin UPDATE có thể chỉ chứa một Feasible Route nhưng Unfeasible Route thì hàng tá Các Unfeasible Route này nằm trong trường thông tin về khả năng tiếp cận lớp mạng Network Layer Reachability Information (NLRI) của bản tin UPDATE Nếu một tuyến đường bị hỏng ngay lúc bản tin UPDATE vừa lấy thông tin về tuyến đường này thì nó sẽ không nằm trong trường NLRI của bản tin

đó

Trang 17

Nhóm tiểu luận 04 - Nhóm môn học 06 16

Dưới đây là định dạng của bản tin UPDATE:

Hình 2.6 - Định dạng bản tin UPDATE

❖ Unfeasible Routes Length: Có độ dài 2 bytes, chứa độ dài của trường Withdrawn Routes Nếu trong bản tin không có trường Withdrawn Routes thì trường Unfeasible Routes Length bằng 0

❖ Withdrawn Routes: Có độ dài thay đổi, chứa danh sách các tiền tố địa chỉ IP (IP address prefixes) không còn hoạt động Mỗi tiền tố này có cấu trúc như sau:

Hình 2.7 - Cấu trúc tiền tố địa chỉ IP

➢ Length: Có độ dài 1 byte, xác định độ dài của tiền tố

➢ Prefix: Có giá trị thay đổi và chứa tiền tố

❖ Total Path Attributes Length: Có độ dài 2 bytes, xác định kích thước của trường Path Attributes Nếu có giá trị 0 thì trường Path Attributes rỗng

❖ Path Attributes: Có độ dài thay đổi, chứa danh sách các thuộc tính đường dẫn Luôn có trong tất cả các bản tin UPDATE Thông tin trong trường này dùng để xác định các thuộc tính đường dẫn nhằm tìm thông tin định tuyến nhất định và dùng cho các quyết định hoặc

bộ lọc định tuyến Mỗi thuộc tính có cấu trúc 3 phần:

<Attribute Type, Attribute Length, Attribute Value>

➢ Attribute Type: Có độ dài 2 bytes, gồm 1 byte cờ thuộc tính Attribute Flags và 1 byte

mã loại thuộc tính Attribute Type Code

▪ Attribute Flags: xác định các loại thuộc tính như known Mandatory, known Discretionary, Optional Transitive, Optional Non-transitive

Trang 18

Well-Nhóm tiểu luận 04 - Well-Nhóm môn học 06 17

Attribute Flags gồm 8 bit (từ bit 0 - 7) và các bit này sẽ xác định các loại thuộc tính

khác nhau như sau:

- Bit 0 (có trọng số cao nhất) gọi là bit Optional Nếu bằng 1 thì thuộc tính là

Optional, nếu bằng 0 thì thuộc tính là Well-known

- Bit 1 là bit Transitive Nếu bằng 1 thì thuộc tính là Optional Transitive, bằng 0

thì thuộc tính là Optional Non-transitive

- Bit 2 là bit Partial Nếu bằng 0 thì thuộc tính là Optional Transitive Complete,

Optional Non-transitive, Well-known, nếu bằng 1 thì thuộc tính là Optional Transitive Partial

- Bit 3 là bit chiều dài mở rộng, xác định kích thước của thuộc tính (1 hoặc 2

bytes) Nếu bằng 0 thì kích thước là 1 byte, bằng 1 thì kích thước là 2 bytes

- 4 bit tiếp theo (4-7) bằng 0 được dùng cho mục đích mở rộng sau này

▪ Attribute Type Code: xác định loại thuộc tính Cụ thể một số thuộc tính như sau:

Hình 2.8 - Một số thuộc tính đường dẫn Path Attributes

Trang 19

Nhóm tiểu luận 04 - Nhóm môn học 06 18

➢ Attribute Length: xác định kích thước thuộc tính

➢ Attribute Value: xác định giá trị thuộc tính

3 Bản tin KEEPALIVE

Bản tin này được sử dụng để đảm bảo rằng kết nối giữa các thiết bị ngang hàng vẫn tồn tại Nó được cấu trúc từ tiêu đề của bản tin BGP Nếu cần thiết lập lại giá trị thời gian chờ, nó sẽ được gửi đi Chu kỳ gửi bản tin này bằng 1/3 giá trị thời gian chờ, vì vậy giá trị thời gian chờ tối thiểu phải là 3 Bản tin KEEPALIVE không được gửi đi nếu một bản tin UPDATE đang được gửi Nếu thời gian chờ là 0, KEEPALIVE sẽ không bao giờ được gửi

4 Bản tin NOTIFICATION

Dùng để thông báo khi có lỗi xảy ra trong phiên kết nối TCP và khi đó, phiên này sẽ

bị ngắt Bản tin này có cấu trúc như sau:

Hình 2.9 - Định dạng bản tin NOTIFICATION

❖ Error Code: kích thước 1 byte, chứa các mã của các lỗi có thể xảy ra (6 mã)

❖ Error Sub-code: kích thước 1 byte chứa các phân mã của các lỗi (chỉ 3 mã có phân mã)

❖ Data: Dữ liệu của lỗi xảy ra

II Thương lượng với các hàng xóm

Trước khi các phần tử mạng sử dụng giao thức BGP có thể tiến hành trao đổi thông tin, chúng phải thực hiện quá trình kết nối để trở thành hàng xóm của nhau Bước đầu trong quá trình thiết lập mối quan hệ neighbors hay peer: một BGP speaker sẽ thiết lập TCP session thông qua cổng 179 các BGP speaker khác Nếu hoạt động này không được thực thi thì các BGP speakers sẽ không thể trở thành peer của nhau Sau khi TCP session được thiết lập xong, BGP speaker sẽ gửi đi một bản tin OPEN tới peer của nó Sau đó các bản tin UPDATE, NOTIFICATION, KEEPALIVE cũng sẽ được gửi và nhận qua lại giữa các peers Quá trình thiết lập mối quan hệ này được gọi là Finite State Machine - Máy trạng thái hữu hạn gồm 6 trạng thái có thể xảy ra

Trang 20

Nhóm tiểu luận 04 - Nhóm môn học 06 19

cả BGP resource có thể của nó, đồng thời khởi tạo một khoảng thời gian được gọi là Connect Retry Timer hay bộ định thời kết nối lại và TCP connecting session tới BGP speaker mà muốn trở thành peer với nó và tiếp tục đợi start event từ các BGP speaker khác Khi này, BGP speaker sẽ thay đổi sang trạng thái kết nối Nếu có lỗi xảy ra trong quá trình khởi tạo, BGP speaker sẽ ngắt TCP session, trở về trạng thái rỗi và khi này, ta cần một start event mới để BGP speaker thử kết nối lại và BGP speaker sẽ đợi 60 giây trước khi thử kết nối lại Ở mỗi lần thử lại tiếp theo, thời gian chờ sẽ tăng lên gấp đôi

2 Trạng thái kết nối

Trong trạng thái này, BGP sẽ đợi kết nối TCP được thiết lập Khi kết nối được thiết lập thành công, BGP speaker sẽ xóa bộ định thời ConnectRetry, gửi đi một bản tin OPEN tới remote BGP speaker và chuyển sang trạng thái sãn sàng gửi Nếu kết nối TCP không thành công, BGP speaker sẽ khởi tạo lại ConnectRetry timer, và tiếp tục đợi một yêu cầu kết nối khác tử remote BGP speaker, và chuyển sang trạng thái hoạt động Nếu Timeout, BGP speaker sẽ khởi tại lại bộ định thời và tiếp tục đợi một yêu cầu kết nối từ remote BGP speaker đồng thời giữ trạng thái kết nối Nếu lỗi nào khác xảy ra, BGP speaker sẽ đóng phiên TCP và chuyển về trạng thái rỗi Tất cả các start even đều sẽ bị lờ đi trong trạng thái này

3 Trạng thái hoạt động

Trong trạng thái này, BGP speaker sẽ cố gắng bắt đầu một TCP session với BGP speaker mà muốn kết nối với nó Sau khi kết nối được thiết lập, BGP speaker sẽ xóa bộ định thời rồi gửi đi một bản tin OPEN tới remote BGP speaker và chuyển sang trạng thái sẵn sàng gửi Trong trường hợp Timeout, BGP speaker sẽ đặt lại ConnectRetrry timer, khởi tạo một phiên kết nối TCP và tiếp tục đợi các yêu cầu kết nối từ remote BGP speaker và chuyển về trạng thái kết nối Nếu BGP speaker xác định được một BGP speaker khác thử thiết lập kết nối với nó nhưng IP address của nó không phải là địa chỉ mong muốn, BGP speaker sẽ từ chối yêu cầu kết nối và thiết lập lại ConnectRetry timer, tiếp tục đợi một yêu cầu kết nối khác từ remote BGP speaker và không thay đổi trạng thái Nếu lỗi nào khác xảy

ra, BGP speaker sẽ đóng phiên TCP và chuyển về trạng thái rỗi Tất cả start event sẽ bị lờ

đi ở trạng thái này

Trang 21

Nhóm tiểu luận 04 - Nhóm môn học 06 20

4 Trạng thái sẵn sàng gửi

Trong trạng thái này, BGP speaker sẽ chờ để nhận bản tin OPEN từ remote BGP

speaker Ngay sau khi BGP speaker nhận được bản tin OPEN, tất cả các trường sẽ được

kiểm tra Nếu có lỗi, nó sẽ gửi một bản tin NOTIFICATION tới remote BGP speaker, ngắt

kết nối TCP, và chuyển về trạng thái rỗi Nếu không có lỗi, BGP speaker sẽ đi bản tin

KEEPALIVE tới remote BGP speaker, thiết lập các bộ định thời keepalive timer và hold

timer để đàm phán với hàng xóm của nó Nếu hold timer = 0, keepalive timer và hold timer

sẽ không được đặt lại Sau quá trình thương lượng về hold timer, BGP speaker sẽ xác định

kết nỗi là iBGP hay eBGP

❖ Là iBGP nếu 2 BGP speaker nằm trong cùng một hệ tự trị

❖ Là eBGP nếu 2 BGP speaker thuộc về 2 hệ tự trị khác nhau

Ngay khi xác định được loại BGP đang được sử dụng, BGP speaker sẽ chuyển sang trạng

thái sẵn sàng nhận Trong trạng thái này, BGP speaker có thể sẽ nhận được bản tin

disconnect Nếu điều này xảy ra, BGP speaker sẽ chuyển về trạng thái hoạt động Nếu lỗi

nào khác xảy ra, BGP speaker sẽ đóng phiên TCP và chuyển về trạng thái rỗi Tất cả các

start event sẽ bị lờ đi trong trạng thái này

5 Trạng thái sẵn sàng nhận

Trong trạng thái này, BGP speakers sẽ chờ để nhận bản tin KEEPALIVE từ remote

BGP speaker Khi nhận được bản tin KEEPALIVE, BGP speaker sẽ thiết lập lại hold timer

và chuyển sang trạng thái thiết lập Khi này mối quan hệ peer giữa hai phần tử mạng đã

được thiết lập Nếu nhận được bản tin NOTIFICATION thay vì bản tin KEEPALIVE, BGP

speaker sẽ chuyển về trạng thái rỗi Trong trường hợp timeout trước khi nhận bản tin

KEEPALIVE, BGP speaker sẽ đóng phiên TCP và chuyển về trạng thái rỗi Nếu BGP

speaker nhận được bản tin disconnect từ peer của nó, BGP speaker cũng chuyển về trạng

thái rỗi Nếu lỗi nào khác xảy ra, BGP speaker sẽ đóng phiên TCP và chuyển về trạng thái

rỗi Tất cả các start event sẽ bị lờ đi trong trạng thái này

6 Trạng thái thiết lập

Trong trạng thái này, quá trình đàm phán với hàng xóm đã hoàn tất Khi này BGP

peer sẽ trao đổi bản tin UPDATE và bản tin KEEPALIVE Mỗi lần BGP speaker nhận được

bản tin UPDATE hay bản tin KEEPALIVE, nó sẽ thiết lập lại hold timer Nếu timeout trước

khi nhận được các bản tin trên, BGP speaker sẽ gửi một bản tin NOTIFICATION tới peer

của nó, đóng phiên TCP và chuyển về trạng thái rỗi Nếu xuất hiện event khác khiến cho

BGP speaker tạo ra một bản NOTIFICATION thì BGP speaker sẽ chuyển về trạng thái rỗi

Tất cả Start event sẽ bị lờ đi trong trạng thái này (Mẹo: Chỉ cần một lần BGP peer đạt đến

trạng thái thiết lập, chúng sẽ bắt đầu trao đổi thông tin định tuyến cho nhau)

Ngày đăng: 26/02/2023, 15:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w