Do đó, các công ty này sẽ sử dụng một giao thức định tuyến bên ngoài để kết nối các ISP lại với nhau.. CHUONG I TONG QUAN VE BORDER GATEWAY PROTOCOL 1.1 Sơ lược về các giao thức định tuy
Trang 1NGHỆ TP.HCM oOo
Khoa: Công nghệ thông tin NHIỆM VỤ THỰC HIỆN LU ẬN VĂN
TOT NGHIEP CUOI KHOA Nganh: Mang may tinh
1 Đầu đề đồ án tốt nghiệp :
RESEARCH ON BORDER GATEWAY PROTOCOL (BGP)
2 Nhiém vu :
a Dữ liệu ban đầu :
CÁC GIAO THỨC ĐỊNH TUYẾN BÊN NGOÀI BGP
b Nội dung -
1 Phân tìm hiệu công nghệ :
Phần mềm mô phỏng Dynagen-Dynamip Phần mềm Netflow Analyer
O Phan phan tich, thiết kế & xây dựng ứng dụng mình họa : Xây dựng mô hình mạng dùng giao thức BGP
3 Ngày giao nhiệm vụ đồ án: 20-10-2007
4 Ngày hoàn thành nhiệm vụ: 14-01-2008 „
5 Họ tên giáo viên hướng dẫn:Th.s NGÔ THI BICH PHUQNG
Nội dung và yêu cầu đồ án tốt nghiệp đã
TP.HCM, ngày tháng năm 2008 CHINH
(Ký và ghi rõ họ tên)
Nye The Bid phvong
Trang 3
o0o
NHẬN XÉT ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN
ĐÈ TÀI: CÁC GIAO THỨC ĐỊNH TUYẾN BỀN NGOÀI
BORDER GATEWAY PROTOCOL (BGP)
Sinh Viên MAITÁNLINH Chuyên ngành MẠNG MÁY TÍNH
Trang 4
HUTECH o0o
NHẬN XÉT ĐÁNH GIÁ CỦA GIẢNG VIÊN PHẢN BIỆN
ĐỀ TÀI: CAC GIAO THỨC ĐỊNH TUYẾN BÊN NGOÀI
BORDER GATEWAY PROTOCOL (BGP)
Sinh Viên: MAITÁNLINH Chuyên ngành MẠNG MÁY TÍNH
Các câu hỏi (tôi đa 3 câu):
" iiiiniaannnnanrnnndnnsnsninnnasasaaa-sa-“
Điêm băng sÔ: .- Ăn ằSesese.e
Điểm băng chữ: - cceSsScseee
Tp Hỗ Chí Minh, ngày tháng năm
NGƯỜI NHẬN XÉT (Ký tên và C rõ họ tên)
Mi
Trang 5
Gửi đến Cha Mẹ, Nhà Trường, Thầy Cô, Bạn Bè
Thời gian trôi qua thật mau, thấm thoát đó đã năm năm trôi qua Nhớ ngày nào còn bở ngở, rut rè khi lần đầu tiên em bước chân vô trường Đại Học Bây giờ thì em
sắp phải rời xa ngôi trường thân yêu, xa bạn bè, thầy cô, để bước vào một cuộc sống
mới Để có được ngày hôm nay, trước hết em xin cảm ơn rất nhiều tới cha mẹ của em
Cha mẹ đã ngày đêm vắt vả lo cho việc học của em, đã động viên em lúc em gặp khó
khăn
Bên cạnh đó, Nhà Trường, Thầy Cô, Bạn Bè cũng giúp đỡ em rất nhiều trong việc học tập cũng như trong các hoạt động xã hội Để em có được kiến thức vững vàng
và những kỹ năng xã hội cần thiết cho một cuộc sống mới Em xin chân thành cảm ơn
quý Nhà Trường, Thầy Cô và toàn thể các bạn đã tận tình giúp đỡ em trong suốt năm
năm học vừa qua Em xin chân thành càm ơn thầy Dương Thiên Tứ và thầy Nguyễn
Đức Quang, hai thầy đã giúp em tìm được hướng đi riêng cho cuộc sống sau này của
mình Cuối cùng em xin gởi lời cảm ơn sâu sắc tới cô Ngô Thị Bích Phượng người đã
nhiệt tình, tận tâm giúp đỡ em trong suốt thời gian thực hiện và hoàn tất luận văn tốt
nghiệp này
Một lần nữa em xin cảm ơn tắm lòng của Thầy Cô, Gia Đình, Bạn Bè Em sẽ
không bao giờ quên những ngày tháng đẹp nhất cuộc đời này
TP.HCM, ngày 14 tháng 01 năm 2007
Mai Tan Linh
Trang 6
Trong giai đoạn đất nước hội nhập World Trade Organisation (WTO), Việt Nam đang từng bước trở thành một nước phát triển Chính vì vậy việc hình thành các công
ty, tập đoàn, các cơ sở sản xuất có quy mô lớn là một điều tất yếu Các công ty này sẽ
dùng Internet để quảng cáo cho khách hàng, hộp thội đồng trực tuyến, điều hành công
ty con từ xa
Ở các công ty này họ đều sử dụng các đường truyền Internet khác nhau với mục đích là để dự phòng và tạo băng thông lớn cho đường truyền nhằm đảm bảo cho hoạt
động của công ty không bị gián đoạn Hầu hết các đường truyền Internet đều do các
nhà cung cấp dịch vụ Internet ISP cung cấp Do đó, các công ty này sẽ sử dụng một
giao thức định tuyến bên ngoài để kết nối các ISP lại với nhau Giao thức đó chính là
Border Gateway Protocol (BGP)
Bên cạnh đó, Internet ở Việt Nam đã bùng nỗ trong những thập kỷ gần đây, các
công ty cung cấp dịch vụ mạng Internet ISP ngày càng nhiều và càng có chất lượng
Nếu là một nhà cung cấp dịch vụ ISP thì công ty này phải cho các traffic của các ISP
khác đi qua minh Dé lam được điều này, thì các công ty này phải sử dụng BGP dé
định tuyến cho các Autonomous System (AS) trong những ISP khác nhau BGP là một
giao thức không thê thiếu trong việc định tuyến giữa các AS khác nhau
Đề tài nghiên cứu về BGP không quá xa lạ với chúng ta Dưới đây là sự tìm hiệu nghiên cứu của cá nhân em về BGP Trong suôt quá trình nghiên cứu, em đã thực hiện
được một số cấu hình cơ bản của BGP Điều này giúp em hiểu sâu hơn về các giao
thức định tuyến trong các công ty ISP, và các công ty lớn hiện nay
Trang 7
Hướng giải quyết những hạn chế:
- Thiết kế mô hình mạng theo xát với thực tế để đễ dàng áp dụng vào thực tiễn
- _ Đăng ký thuê thiết bị của các công ty cho thuê thiết như VNPRO, VSIC
- Sử dụng một các phương pháp mà hóa đường truyền như MD5, SHA nhằm bảo mật cho thông tin lưu thông qua mạng
Tóm lại, đề tài nghiên cứu về các giao thức định tuyến bên ngoài BGP không quá
xa lạ đối với chúng ta Để tìm hiểu sâu hơn về các giao thức định tuyến bên ngoài (BGP) thì cần phải nghiên cứu thêm rất nhiều về lĩnh vực mạng máy tính Luận văn
của em chỉ là sự nghiên cứu của cá nhân, nên có rất nhiều thiếu xót rất mong nhận được sự thông cảm
Trang 8
Trang
Nhiệm vụ đồ án
Nhận xét của giáo viên hướng dẫn
Nhận xét giáo viên phản biện
Lời cảm ơn
Lời nói đầu
Mục lục
Chương l1: Tổng quan BGP - <1 1n n1 n1 1 1.1 Sơ lược các giao thức định na 1 1.1.1 Định tuyến tập truUng -«- s5 Ăn nÝ n9 1e 2 1.1.2 Định tuyến phân tán - .- - - se 2
a) Dinh tuyến trong (IGP) - << S2 23<£se 2
b) Định tuyến ngoại (BGP) - - - «5< Ăn << csssee 2 1.2 Các giao thức định tuyến bên trong . - - << << <<<s<sse 3 1.2.1 IIP - con SH ng nọ nọ Họ HH n n1 00 0 n0 9m m9 n9 3 1.2.2 OSPE co Q on HH nọ HH Họ Họ BI 9 im 9 000 980 198 000 3 I0 0110 4 1.3 Các giao thức định tuyến bên ngoài - -s + ===<<sss 4 1.3.1 Tổng quan hoạt động BGP - { se 6 1.3.2 Giải thuật tìm đường đi tốt nhất BGP .- 9
ca an 10
1.4.1 Dùng BGP khi . -.- -.- - << << << Ăn 11 nh, 10 1.4.2 Không dùng BGP khi .- -. . - << 11 1.4.3 Vấn đề và hướng giải quyết - - - « << *eses< 12 Chương 2: Hoạt Động BGP .-.- << Ăn ỊnnỲ†nÝ n1 1 gn 13
21 Các thuật ngữ trong BGP .-. - << SẰ nen Y1 sen 13
2.3 Tính chất BGP .- - cc CS c9 111 1Ý S1 c1 891 17
Trang 9
2.5.1 Dinh dang Header của bản (in - - - - - - - -<<««< 27 a) Định dạng bản tin OPN - - - << << 28 b) Định dạng bản tin UPDA TE - - - - =- 31 c) Dinh dang ban tin KEEPALIVE vn HH min n n8 898 36 đ) Định dạng bản tin NOTIELCATION -.- 36 2.5.2 Quá trình đàm quán láng giềng - - - - « = =«-<« 37 2.5.3 Chọn tuyến đường - - - «se x2 41 a) Thông tin định tuyến cơ bản (RIB) - - - 41 b) Quá trình quyết định (Decision proces$) - - - 42 c) Loc tuyén (Ruote Filtering) - «<< =<<s«+s<<s+ 43 2.6 Xây dựng mô hình mạng .-.-.- -. - «<< Ăn 46 2.6.1 Các quy luật trong BGP .-.- << 1n 48 a) Luật đồng bộ - - - S5 Ỳ vn 48 b) Luật chống lặp . - - SSSSsssseeeseee 51 2.6.2 Mô hình mạng lưới (fully-mesh) - - - - - - - - - 51 2.6.3 Mô hình mạng chính phụ (Hub and spoke) - -.- 52 2.7 Kết nối Internet dùng BGP - se 57 2.8 Quảng bá mạng - - «<< << Ăn mm 1n {11 9e 60 2.8.1 Quảng bá mạng từ IGP vào BGP - -<<5<< 60 2.8.2 Quảng bá mạng từ BGP vào IGP .- . - - 61
Trang 10CHUONG I TONG QUAN VE BORDER GATEWAY PROTOCOL
1.1 Sơ lược về các giao thức định tuyến:
Định tuyến là cách thức mà Router (bộ định tuyến) hay PC (hoặc thiết bị mạng
khác) sử dụng để truyền phát các gói tin tới địa chỉ đích trên mạng
Khái niệm routing gắn liền với mạng Intranet và Internet sử dụng một mô hình
định tuyến hop-by-hop Điều này có nghĩa rằng mỗi PC hay Router sẽ tiến hành kiểm
tra trường địa chỉ đích trong phần tiêu đề của gói IP, tính toán chặng tiếp theo (Next
hop) để từng bước chuyên gói IP dần đến đích của nó và các Router cứ tiếp tục phát
các gói tới chặng tiếp theo như vậy cho tới khi các gói IP đến được đích Để làm được
việc này thì các Router cần phải được cầu hình một bảng định tuyến (routing table) và
giao thức định tuyến (routing protocol)
1.1.1 Định tuyến tập trung:
Định tuyến tập trung thường được sử dụng trong các "mạng thông minh" mà các
node mạng tự nó giữ sự liên quan đơn giản Các tuyến được tính toán tập trung tại một
bộ xử lý tuyến và sau đó phân bố chúng ra các Router trên mạng bất cứ khi nào sự cập
nhật được yêu cầu Hay nói cách khác, được đặc trưng bởi sự tồn tại của một (hoặc
và!) trung tâm điều khiển mạng thực hiện việc định tuyến, sau đó nó gửi các bảng định
tuyến tới tất cả các nút dọc theo con đường đã chọn đó Theo cách này thì các nút
mạng có thể hoặc không gửi bất kỳ thông tin nào về trạng thái của chúng tới trung tâm,
hoặc gửi theo định kỳ hoặc chỉ gửi khi trạng thái mạng thay đỗi
1.1.2 Định tuyến phân tán:
Các vùng phân chia thành các vùng tự trị hay các hệ thống độc lập Autonomous
System (AS) Các thành phần trong một AS chỉ biết về nhau, mà không quan tâm tới
các thành phần trong AS khác, khi có yêu cầu cầu giao tiếp với các AS khác sẽ thông
qua thành phần ở biên AS Từ đó các giao thức định tuyến được chia thành giao thức
trong cùng một AS là Interior Gateway Protocol (IGP) và giao thức giao tiếp giữa các
AS là Exterior Gateway Protocol (EGP)
Trang 11
a) Dinh tuyén trong (Interior Routing Protocol):
IGP 1a các giao thức dùng để định tuyến trong cùng một hệ thống độc lập AS, phần tử có thể định tuyến cơ bản là mạng hoặc mạng con IP, các giao thức thường
dùng là Routing Information Protocol (RIP), Interior Gateway Routing Protocol
(IGRP), Open Shortest Path Frist (OSPF), Enhanced Interior Gateway Routing
Protocol (EIGRP)
b) Đinh tuyến ngoài (Exterior Routing Protocol):
EGP dùng để chỉ bất cứ giao thức định tuyến nào được sử dụng để mang thông tin định tuyến giữa các AS với nhau Định tuyến ngoài xảy ra giữa các hệ thống độc
lập AS, và liên quan tới dịch vụ của nhà cung cấp mạng, họ sử dụng giao thức định
tuyến ngoài rộng và rất phức tạp Phần tử cơ bản có thể được định tuyến là hệ thống
độc lập AS Hiện nay, chỉ có một g1ao thức cổng ngoại được sử dụng hầu hết trong các
Internet Tranmission Control Protocol / Internet Protocol (TCP/IP) Đó chính là
Border Gateway Protocol (BGP), phiên bản đầu tiên được đưa ra là BGPv1 vào năm
1989 và phiên bản gần đây nhất là BGPv4 vào năm 1993
1.2 Các giao thức định tuyến bên trong (IGP):
1.2.1 Routing Information Protocol (RIP):
RIP là giao thức định tuyến vector khoảng cách (Distance Vector Protocol) xuất hiện sớm nhất Nó suất hiện vào năm 1970 bởi Xerox như là một phần cua b6 giao
thire Xerox Networking Services (XNS) RIP duge chấp nhận rộng rải trước khi có
một chuẩn chính thức được xuất bản Mãi đến năm 1988 RIP mới được chính thức ban
bố trong REC1058 bởi Charles Hedrick RIP được sử dụng rộng rãi do tính chất đơn
giản và tiện dụng của nó
RIP là giao thức định tuyến dạng classful, có nghĩa là RIP sẽ gửi toàn bộ bản định tuyến (routing table) ra tất cả các active interface đều đặn theo chu kỳ là 30 giây,
RIP không quảng bá network mask cùng với địa chỉ destination trong các gói routing
SVTH: Mai Tấn Linh GVHD:Ths Ngô Thị Bích Phượng
Trang 12
update Khi router nhận được cac update nay, router phai lấy giá trị network-mask mặc
định có cùng với địa chỉ lớp mạng của địa chỉ đích RIP chỉ sử dụng metric là hop
count để tính ra tuyến đường tốt nhất tới remofte network Thuật toán mà RIP sử dụng
dé x4y dung nén routing table 1a Bellman-Ford
1.2.2 Open Shortest Path Frist (OSPF):
OSPF dùng giải thuật SPE để tính toán đường đi Giải thuật này còn được gọi là giải thuật Dijkstra OSPE đã được John Moy đưa ra thông qua một số Request For
Comments (RFC), gần đây nhất là REC 2328 Các routing protocol nhóm link state
không broadcast toàn bộ thông tin về bảng định tuyến giống như RIP/IGRP và thay
vào đó, OSPF sẽ dùng một quá trình để khám phá các láng giéng ‘neighbor’
Router láng giềng là các router khác, cũng chạy OSPF, có chung subnet với router hiện hành Khi các router đã thiết lập quan hệ láng giềng với nhau, các router
bat đầu trao đổi các thông tin về bản trạng thái topology của mạng Giải thuật Shortest
Path Frist (SPF) sẽ chạy trên các database này để tính ra các đường đi tốt nhất
OSPF là giao thức định tuyến thuộc nhóm link state protocol, có ưu điểm là hội
tụ nhanh, hỗ trợ được mạng có kích thước lớn và không xảy ra routing loop Bên cạnh
đó OSPF còn có những đặc trưng sau:
Sử dụng area để giảm yêu cầu về CPU, memory cia OSPF router cũng như lưu lượng định tuyến và có thể xây dựng hierarchical internetwork topologies
Là giao thức định tuyến dạng classless nên hỗ trợ được Variable Length Subnet Mask (VLSM) va discontinuous network
OSPF str dung dia chi multicast 224.0.0.5 (all SPF router) 224.0.0.6 (DR va BDR router) dé giri cdc thong diép Hello va Update
OSPF con có khả năng hỗ trợ chứng thực dạng plain text và dạng MD5
1.2.3 Enhanced Interior Gateway Routing Protocol (EIGRP):
EIGRP là giao thức định tuyến đạng lai giữa distance vector và link state
EIGRP là một phát triển riêng của Cisco nhằm khắc phục các nhược điểm của RIP/IGRP và có những ưu điểm như dễ cấu hình, độ hội tụ nhanh, tiết kiệm tài nguyên
SVTH: Mai Tan Linh GVHD: Ths.Ngé Thi Bich Phuong
Trang 13
mạng khi trao đổi thông tin, sử dụng địa chỉ multicast để liên lạc, khả năng sử dụng
hiệu quả băng thông, hỗ trợ VLSM và vấn đề mạng không liên tục (discontinuous
network)
EIGRP là giao thức định tuyến nội IGP Trong gian đoạn đầu của phiên kết nối, EIGRP chỉ gởi một lần bản định tuyến của mình cho các láng giéng ‘neighbor’, và sau
đó nó chỉ gởi sự thay đổi vẻ bản định tuyến Vì thế EIGRP là sự tích hợp giữa hai dạng
định tuyến distance vector va link state
1.3 Các giao thức định tuyến bên ngoài (EGP):
Hình 1-2 Định tuyến giữa các AS và trong cùng một AS
Trong một AS ta sử dụng giao thức định tuyến nội IGP (vi du nhu RIP, IGRP,
EIGRP, OSPF) nhung khi ra ngoài một AS thì phải sử dụng một giao thức khác, chính
là BGP BGP là một giao thức khá phức tạp được dùng nhiều trên Internet và trong các
công ty đa quốc gia Mục đích chính của BGP là kết nối các mạng rất lớn hoặc các A8
Các công ty lớn có thể dùng BGP như là một kết nối giữa các mạng ở các quốc gia
khác nhau Mục đích của các giao thức ngoại như BGP là không chỉ tìm ra một đường
đi về một mạng nào đó mà còn cho phép người quản trị tìm ra các AS của các
Trang 14
các AS khác nhau BGP sử dụng giao thức vận chuyển tin cậy Reliable Transport
Protocol (RGP) để trao đổi thông tin định tuyến đó chính 1a Transmission Control
Protocol (TCP) BGP sử dụng cổng 179 để thiệt lập kết nối BGP còn hỗ trợ Variable-
Length Subnet Mask (VLSM), Classless Interdomain Routing (CIDR), và
summarization BGP khéng quan tam về intra-AS routing, nó tin tưởng rằng các IGP
được sử dụng trong một AS sẽ đảm nhiệm intra-AS routing BGP chi đề cập tới inter-
AS routing Một BGP speaking device sẽ chia sẻ thông tin đến được mạng với
neighbor của nó Thông tin đến được mạng chứa đựng dữ liệu dựa trên các AS khác
nhau mà nó đi qua Thông tin này sẽ được BGP speaking device tạo thành một sơ đồ
của tất cả các AS đang sử dụng Sơ đồ đó sẽ giúp cho BGP loại bỏ được routing loop
và đảm bảo hiệu lực của policy cho AS của nó
1.3.1 Tổng quan hoạt động của BGP
BGP là một giao thức hướng kết nối Khi thiết lập một quan hệ neighbor, một phiên làm việc TCP sẽ được thiết lập và duy trì BGP sẽ gửi ra các thông điệp
keepalive để kiểm tra đường truyền và duy trì phiên làm việc TCP này Các thông điệp
keepalive này chỉ là những header có giá trị 19-bytes Sau đó các router sẽ gửi các cập
nhật định kỳ chỉ khi có thay đổi xảy ra Sau khi đã điều chỉnh bảng BGP, quá trình
BGP sẽ truyền đến tất cả các láng giềng các thay đổi
Có 4 kiểu thông điệp được dùng trong BGP:
Thông điệp Open: được dùng để thiết lập kết nối với các router BGP khác
Thông điệp Keepalive: được gửi định kỳ giữa các BGP peers để duy trì kết nối và để kiểm tra đường đi Các thông điệp Keepalive này được gửi theo cơ chế
không tin cậy Nếu khoảng thời gian định kỳ được gán về bằng 0, sẽ không có thông
điệp Keepalive nào được gửi
SVTH: Mai Tấn Linh GVHD:Ths Ngô Thị Bích Phượng
Trang 15
Thông điệp cập nhật (update): chứa các đường di về các địa chỉ đích và các thuộc tính của đường đi Các cập nhật bao gồm các route không còn tồn tại Thông
tin chứa trong các cập nhật bao gồm các thuộc tính về đường dẫn, bao gồm thuộc tính
origin, AS_PATH, neighbor
Thông điệp Notification: dugce ding để thông báo cho các router khác về những nguyên nhân gây ra kết nối bị ngắt
Định tuyến liên vùng không phân lớp CIDR:
BGP cần phải truyền một số thông tin giữa các AS nhưng có lẽ không phải tất cả các thông tin đều cần thiết Nếu hệ thống mạng được thiết kế dé hỗ trợ quá trình
summarization, téng s6 tai nguyén mang sẽ được giảm đi vì có rất ít bộ nhớ, băng
thông và CPU được dùng để gửi bảng định tuyến Thật ra, bằng cách tóm tắt các lớp
dia chi Internet Assigned Numbers Authority (ANA), mang Internet sẽ trở thành một
môi trường nhanh hơn và tin cậy hơn Cach ding CIDR là một trong những giải pháp
được dùng nhiều trong những năm gan day Cac dia chi sé dugc hop nhất lại thành một
số địa chỉ dạng summary Thay vì một địa chỉ có một giá trị netmask để nhận ra phần
địa chỉ network, nó sẽ có một giá trị preñx mask Giá trị này đơn giản là một con số
chỉ ra số bit đã dành cho phần network Quá trình summarization sẽ giảm thiểu số
prefix Néu mét mạng được cấp tám địa chỉ lớp C, nó có thể được quảng bá như một
network Xem hinh 1-3
BGP sé truyén cac prefix va cac prefix mask Mot router c6é thể truyền route đã
được tóm tắt, các route riêng lẽ chưa được summarize hoặc truyện cả hai
Trang 16
AS 100
Hình 1-3 Bản tin Update của mạng đã được summary số prefix
Cơ chế hoạt động của IBGP:
- IBGP không thay đổi thuộc tính AS-PATH của một tuyến do đó để chống loop, sử dụng qui luật split-horizon: một BGP peer sẽ không gởi các tuyến được học từ
IBGP đến một BGP peer khác Như vậy, để có thể forward dữ liệu cho các AS khác,
các router của transit AS phải thực hiện:
- Phân phối lại các tuyến BGP vào IGP để thỏa mãn qui luật đồng bộ, nhưng phương pháp này không nên sử dụng trong các mạng core của ISP do số tuyến trên
Internet rất lớn, các IGP được thiết kế không phải để có thể quản lý số tuyến quá lớn
như vậy, ngoài ra, nếu dùng phương pháp này thì khi có sự thay đổi về 1 tuyến trên
Internet sẽ làm các IGP phải thực hiện giải thuật tìm đường - chiếm nhiều CPU và bộ
Trang 17
- Các BGP peer được “full-mesh'" để đảm bảo các router đều có đủ thông tin định tuyến để forward packet Khi này có thể tắt chức năng đồng bộ của IBGP Nhưng full-mesh dẫn đến việc khó quản lý, tốn băng thông để cập nhật định tuyến, tốn CPU,
bộ nhớ Có 2 cách để giải quyết vần đề này Sử dụng Route Reflector (RR): thay đổi qui luật split-hor1zon của [BGP Các RR có thể gởi các tuyến iBGP đến các BGP peer khác Để chống lặp vòng, các RR thêm vào các thuộc tính: cluster-id và originator Sử dụng Confederation: thay đổi cách xử lý AS-PATH của IBGP: Chia một AS thành nhiều member-AS BGP giữa các BGP peer thuộc các member-AS khác nhau sẽ là EBGP (tức là sẽ thêm member-AS vào AS-PATH để chống loop) nhưng các thuộc tính khác như Local Preference, MED, Next-hop sẽ không thay đổi 1u điểm của giải pháp này là các member-A5 có thể được quản lý độc lập, tăng khả năng chính sách định tuyến routing Các member-AS có thể sử dụng các IGP khác nhau Nhưng quản
lý một Confederation thì có thể sẽ rất phức tạp do đó nó chỉ thích hợp cho các ISP cực lớn (các ISP kết nối trực tiếp vào các điểm trung chuyển quốc tế như National Academies Press (NAP), ) hoặc các công ty đa quốc gia cần có sự linh động và độc lập giữa các thành phần của hệ thống Để lựa chọn tuyến cho các Incoming traffic, có thể sử dụng các cách sau Sử dụng thuộc tính MED: cách này ít sử dụng do MED là một thuộc tính yếu và non-transitive Sử dụng community: phương pháp này đòi hỏi
phải được upstream ISP hỗ trợ, chỉ ảnh hưởng đến ISP trực tiếp, trong nhiều trường
hợp không làm việc tốt Sử dụng AS-Prepend: phương pháp này được sử dụng thông dụng hơn do có thể làm việc tốt trong tất cả các mô hình Quyết định tuyến cho Incoming traffic rất khó thực hiện chính xác do các AS khác có thể thay đổi các attribute
1.3.2 Giải thuật tìm đường đi tốt nhất của BGP-
BGP sẽ gán đường đi hợp lệ đầu tiên như là đường đi tốt nhất hiện có Sau đó BGP sẽ so sánh đường đi tốt nhất này với đường đi kế tiếp trong danh sách cho đến khi nào hoàn tất tất cả các đường trong danh sách là các đường đi hợp lệ Các luật được dùng để xác định đường đi tốt nhất:
Trang 18
Uu tién đường đi có trọng sốWÑEIGHT cao nhấtWEI GHT là một thông số do Cisco đưa ra Thông số này chỉ có ảnh hưởng trong phạm vi nội bộ của router được
cấu hình dùng thông số này
Uu tiên đường đi có LOCAL PREEF cao nhất Những đường đi không có thuộc tính LOCAL, PREF sẽ có giá trị mặc định là 100
Ưu tiên những đường đi có nguồn gốc từ lệnh nerwork hoặc lệnh aggregate hoặc thông qua quá trình redistribution từ một IGP Các đường đi có nguồn gốc từ
lệnh network hoặc lệnh redistribution được ưu tiên hơn những đường đi có nguồn gốc
từ lệnh aggregate
Ưu tiên những đường đi có thuộc tinh AS_PATH ngắn nhất Bước này sẽ bị bỏ qua nếu biến bgp bestpath as-path được cấu hình Một tập hợp AS_ SET sẽ được đếm
từ 1, bất chấp có bao nhiêu AS bên trong tập hợp Các biến AS CONFED
SEQUENCE và AS_CONFED_SET sẽ không bao gồm trong AS_PATH
Un tiên các đường đi có nguồn gốc thấp nhất IGP thì thấp hơp EGP và EGP
thì thap hon INCOMPLETE
Uu ti én những đường đi có giá trị MED nhỏ nhất Sự so sánh này chỉ được thực hiện nếu AS đầu tiên là giống nhau cho cả hai đường đi Bat ctr mot AS con nào của
confederation sé bi b6 qua Noi cách khác, MED được so sanh chi khi gia tri AS dau
tiên trong AS_SEQUENCE là giống nhau Nếu lệnh bgp always-compare-med được
cấu hình, MED được so sánh cho tất cả các đường đi có thể Tắt cả các router trong AS
phải được cầu hình với chọn lựa bgp always-compare-med, nếu không routing loop sẽ
xảy ra Nếu thông số bgp bestpath med-confed được cầu hình, MED sẽ được so sánh
trên tất cả các đường đi mà chỉ chứa biến AS_CONFED_SEQUENCE ( là những
đường đi xuất phát từ local confederation) Những đường đi được nhận từ một router
láng giềng có giá trị MED là 4,294,967,295 sẽ có giá trị MED thay đổi đến
4.294,967,294 trước khi được ch n vào bảng BGP Những đường đi được nhận mà
không có MED được cấu hình sẽ được gán giá trị MED băng 0
Uu tié n những đường đi eBGP so với IBGP
Vụ tiê n những đường đi có IGP metric thấp nhất đến BGP next-hop
Trang 19
Kiểm tra xem có nhiều đường đi dự phòng cần phải cai dat vao bang routing hay không Nếu cả hai đường đi là từ bên ngoài, ưu tiên đường đi được nhận trước
(đường đi cũ nhất) Bước này sẽ bị bỏ qua nếu: lệnh bgp best path compare-routerid
được dùng RouterID là giếng nhau cho nhiều đường ổi vì các routes được nhận từ
cùng một roufter
Ưu tiên những đường đi đến từ BGP router có routerlD nhỏ nhất Giá trị routerID là địa chỉ IP cao nhất trên router Giá trị này cũng có thể được gán bằng lệnh
bgp router-id Nếu một đường đi chứa một Route-Reflector (RR), thuộc tính
Originator ID của RR sẽ thay thế cho routerID
Nếu RouterID là giống nhau cho nhiều đường đi, ưu tiên đường đi có s6 cluster
là ít nhất Điều này chỉ đúng trong môi trường BGP Nó cho phép những thành viên
trong Route-Reflector thiết lập quan hệ peer với các thành viên trong các RR khác
u tiên những đường đi đến từ những láng giềng có địa chỉ thấp nhất Địa chỉ nay là địa chỉ được dùng trong lệnh neighbor
1.4 Kết luận:
1.4.1 Ding BGP khi:
Mang của một công ty 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 dùng các kết nối khác nhau nhăm mục đích dự phòng Chỉ
phí có thể giảm thiểu nếu tất cả các kết nối đều được dùng Trong trường hợp này,
Policy-Based Routing (PBR) có thể cần thiết để triển khai trên từng kết nối BGP còn
được dùng khi chính sách định tuyến của nhà cung cấp dịch vụ và của công ty khác
nhau Hoặc traffic trong công ty cần phải được phân biệt với traffic của ISP Mạng của
hai tổ chức không thể xuất hiện như một AS Một trường hợp khác phải dùng BGP là
khi mạng của ta là một ISP Nếu là một ISP, hệ thống mạng này 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 transit domain
Khi đó cần thực hiện Inbound/Outbound policy đối với thông tin định tuyến đến
SVTH: Mai Tấn Linh GVHD:Ths Ngô Thị Bích Phượng
Trang 20
1.4.2 Khéng dung BGP khi:
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 dùng BGP trong một hệ thông mạng Vì vậy, nếu hệ thống
mạng có các đặc điểm sau, nên dùng những cách thức khác, ví dụ như sftatic hoặc
default-routing
Mạng của ISP và mạng của công ty có chung một chính sách định tuyến Mặc dù công ty có nhiều kết nối đến ISP, các kết nối này là dự phòng và vì vậy
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
AS của công ty chỉ kết nối tới một AS khác và công ty không cần thực hiện bất
cứ một policy nào
Băng thông giữa các AS là thấp và các phí tổn cho định tuyến sẽ ảnh hưởng đến quá trình chuyên đữ liệu
1.4.3 Vấn đề và hướng giải quyết:
Môi trường Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau Hệ thống này truyền thông
tin theo kiểu nối chuyển gói dữ liệu packer swifching dựa trên một giao thức liên mạng
đã được chuẩn hóa (giao thức IP) Hệ thống này bao gồm hàng ngàn mạng máy tính
nhỏ: của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của người
dùng cá nhân, và các chính phủ trên toàn cầu Chúng cung cấp một khối lượng thông
tin và dịch vụ không lồ trên Internet
Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong
các tiện ích phổ thông của Internet là hệ thống thu dién tu email, tro chuyén trực tuyén
cha, máy truy tìm dữ liệu search engine, cac dich vu thương mãi va chuyền ngân
Nguồn thông tin không lồ kèm theo các dịch vụ tương ứng chính là hệ thống các
trang Web liên kết với nhau và các tài liệu khác trong World Wide Web (WWW) Một
số công ty chỉ dựa vào trang web để hoạt động Vì vậy mạng Internet rất quan trọng
Mạng Internet được tạo bởi rất nhiều các AS Giao thức BGP được sử dụng để chia sẻ
thông tin định tuyến giữa các AS khác nhau
Trang 21
Trong gian doan hién nay hau hết các công ty lớn, tập đoàn đều sử dụng các đường
truyền Internet khác nhau với mục đích là dé du phòng và tạo băng thông vững chắc
cho đường truyền nhằm đảm bảo cho hoạt động của công ty không bị gián đoạn Hầu
hết các đường truyền Internet đều do các nhà cung cấp dịch vụ Internet [SP cung cấp
Để liên kết các ISP lại với nhau thì các công ty này phải dùng một giao thức định
tuyến bên ngoài BGP đẻ kết nói chúng Vì vậy, BGP là một giao thức không thể thiếu
trong việc định tuyến giữa các ISP này Bên cạnh đó, Internet ở Việt Nam đã bùng nỗ
trong những thập kỷ gần đây, các công ty cung cấp dịch vụ mạng Internet [SP ngày
càng nhiều và càng có chất lượng Nếu là một nhà cung cấp dịch vụ ISP thì công ty
này phải cho các traffic của các ISP khác đi qua mình Để làm được điều này, thì các
công ty này phải sử dụng BGP để định tuyến cho các AS trong những ISP khác nhau
BGP là một giao thức không thể thiếu trong việc định tuyến giữa các AS khác nhau
Chính vì thế, em chọn nghiên cứu tìm hiểu về các giao thức định tuyến bên ngoài
BGP, để hỗ trợ cho việc phát triển của các công ty và em có kèm theo một demo nhỏ,
để chứng minh tính khả thi của đề tài nghiên cứu của em
SVTH: Mai Tén Linh GVHD: Ths.Ngé Thi Bich Phuong
Trang 22
CHUONG II
HOAT DONG CUA BGP
2.1Cac thuat ngir trong BGP:
I Aggregation:
Quá trình tóm tắt các route — (summarization)
2 Attribute:
Dinh nghia tuong tu nhu metric Cac biến này sẽ mô tả các đặc điểm của
đường đi tới một địa chỉ đích nào đó Khi được định nghĩa, các đặc điểm này có thể
được dùng để ra quyết định về nên đi theo đường đi nào
3 Autonomous System:
Định nghĩa mạng của một tổ chức hay còn gọi là vùng tự trị hoặc một hệ thống độc lập Trong một AS, các router sẽ có cùng giao thức định tuyến Nếu ta 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 ủy ban Internet
Mỗi AS có một số nhận diện và được cung cấp bởi một nhà cung cấp AS (internet registry) hoặc nhà cung cấp dịch vụ Số này từ 1 -> 65,535 Khoảng từ 64,512
cho đến 65,535 được để dành cho các AS Private sử dụng
4, Exterior Gateway Protocol (EGP):
EGP là thuật ngữ chung cho một giao thức được chạy giữa các AS khác nhau Cũng có một giao thức có tên là EGP là tiền thân của BGP
5 Exterior Border Gateway Protocol (eBGP):
eBGP là gửi thông tin định tuyến giữa các AS khác nhau
6 Interior Gateway Protocol (IGP):
IGP là các giao thức định tuyến chạy bên trong một AS Trong quá khứ, thuật ngữ gateway thường được dùng để định nghĩa một router
7 Redistribute:
Redistribute được dùng để quảng bá mạng của những router chạy nhiều giao thức mạng khác nhau Nó được dùng để chuyển đổi giữa các giao thức định tuyến như RIP>OSPE, RIP>EIGRP hoặc từ BGP sang IGP và ngược lại
Trang 23
8 Interior Border Gateway Protocol (iBGP):
iBGP 1a giao thitc dugc ding bên trong một AS Các router khéng yéu cau phải là láng giềng của nhau về phương diện kết nối vật lý và thường ở ngoài rìa của một AS iBGP được dùng giữa các router chạy BGP trong cung mot AS
9 Originator-ID:
Originator-ID 1a thuộc tính của BGP Nó là một thuộc tính tùy chọn Thuộc
tính này sẽ chứa giá trị RouterID của router đã phát sinh ra đường đi đó Mục đích của
thuộc tính này là ngăn ngừa zøwfing loop Nếu một router nhận được một update từ
chính nó, router đó sẽ bỏ qua update đó
10 Policy-Based Routing:
Policy-based routing là cơ chế này cho phép người quản trị lập trình giao thức định tuyến bằng cách định nghĩa traffic sẽ được route như thế nào Đây là một dang cia định tuyến tĩnh PBR độc lập với các giao thức định tuyến và dùng rơw/e- map dé tạo ra các quá trình riêng lẽ để áp đặt các quyết định định tuyến
11 Prefix List:
Được dùng như một thay thé cho distribute-list dé kiém sodt BGP học hoặc
quảng bá các cập nhật như thế nào Prefix-list thì nhanh hơn, hiệu quả hơn và ít tốn tài nguyên của hệ thống hơn
12 Route-Reflector:
Route-Reflector là router được cấu hình để chuyển các routes từ các router iBGP khác Khi cấu hình Route-Reflector, các iBGP không cần phải fully-mesh nữa Một mạng fully-mesh thì không có khả năng mở rộng
13 Route-Reflector Client:
Một client là một router có một TCP session với một router khác hoạt động
nhu m6t route-reflector-server Client khong can thiết phải thiết lập peer với các client khác
14 Route_reflector Clustor:
Một cluster là một nhóm bao gồm một route-reflector và clients Có thé cd
nhiều hơn một route-reflector server trong mot cluster
15 Transit Autonomous System:
SVTH: Mai Tấn Linh GVHD:Ths Ngô Thị Bích Phượng
Trang 2418 External Border Gateway Protocol (eBGP):
eBGP là giao thức định tuyến được sử dụng để trao đổi thông tin định tuyến giữa các BGP peer của các AS khác nhau
19 Internal Border Gateway Protocol (iBGP):
iBGP là giao thức định tuyến sử dung để trao đối thông tin định tuyến giữa các BGP peer của cùng chung một AS
AS có một kết nối duy nhất ra AS khác thì ta gọi là Single Homed AS
Nếu một AS có duy nhất một kết nối ra mạng bên ngoài, thì nó được xem là
kết nối don single (Xem hinh 2.2-1)
Trang 25
Hình 2.2-1 Kết nối Single Homed AS
AS có nhiều kết nối ra mạng bên ngoài thì ta gọi là Multi-homed AS (MA) Một AS là một MA khi nó có nhiều hơn một kết nối ra mạng bên ngoài Một MA khi nó có kết nối đến internet có thể đến một hay nhiều nhà cung cấp (Xem hình 2.2-2)
Trang 26
AS nay co thé 1a Transit hoic Non-Transit AS Transit: AS nay sé chuyén tiép thông tin từ nhà cung cấp này sang nhà cung cấp khác
Non-Transit: AS này không chuyển tiếp thông tin giữa hai nhà cung cấp khác nhau
2.3 Tính chất của BGP:
BGP là một giao thức định tuyến hướng kết nỗi dang Path-vector nên việc chon
lựa đường đi tốt nhất thông thường dựa trên một tập hợp các thuộc tính được gọi là
ATTRIBUTE Do sử dụng metric khá phức tạp, nên BGP được xem là một giao thức
khá phức tạp Nhiệm vụ của BGP là đảm bảo thông tin liên lạc giữa các AS, trao đổi
thông tin định tuyến giữa các AS, cung cấp thông tin về trạm kế cho mỗi đích đến
BGP sử dụng giao thức TCP cổng 179 Các giao thức nhóm Distance Vector thudng
quảng bá thông tin hiện có đến các Router láng giéng, con Path-vector chỉ ra chính xác
danh sách toàn bộ đường dẫn đến đích Ngoài ra các giao thức định tuyến hoạt động
dùng Pz/h-vector giúp việc xác định vòng lặp trên mạng tắt tốt bằng cách xem xét các
con đường mà các Router khác gởi về xem có chính bản thân AS trong đó hay không,
nêu có sẽ biêt được ngay là lặp, và sẽ loại bỏ
BGP hỗ trợ cho các địa chỉ định tuyến liên vùng không phân lớp Classless Interdomain Routing (CIDR) BGP cho phép dung xac thyc va BGP co cac cơ ché
keepalive định kỳ nhằm duy trì quan hệ giữa các BGP peers
Trong giai đoạn ban đầu của của phiên thiết lập quan hệ BGP, toàn bộ các thông
tin roufing-updafe sẽ được gửi Sau đó, BGP sẽ chuyển sang cơ chế dùng /rigger-
update Bất kỳ một thay đổi nào trong hệ thống mạng cũng sẽ là nguyên nhân gây ra
Trang 27
Dac diém khac biét nhat cha BGP 1a 6 cdc routing-update cha no Khi ta xem xét các BGP update, ta sẽ nhận thấy các routing update này là khá chính xác BGP không
quan tâm đến việc giao tiếp để có đầy đủ kiến thức của tất cả các subnet bên trong một
công ty mà BGP quan tâm đến việc chuyển tải đầy đủ thông tin để tìm một AS khác
Các BGP update thực hién qua trinh summarization đến một mức tối đa băng cách cho
phép một số AS, cho phép một số prefix và một vài thông tin định tuyến BGP đảm
bảo rằng lớp transport đã truyền các update và các cơ sở dữ liệu về đường đi đã được
đồng bộ BGP có thể được hiện thực bao gồm giữa các AS khác nhau hay trong cùng
một AS Khi ding BGP để kết nối các AS khác nhau, BGP được gọi là eBGP Giao
thức này cũng có thể được dùng để mang thông tin giữa các router eBGP trong một
AS Khi đó BGP được gọi là iBGP (Xem Hình 2.3-l)
Hình 2.3-1 Sơ đồ định tuyến của các AS
Trong một AS ta sử dụng giao thức định tuyến nội IGP (nhu RIP, EIGRP, OSPF) nhưng khi ra ngoài một AS thì phải sử dụng một giao thức khác Vấn đề ở đây chính là
mục đích 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 cần quan tâm đến chính sách định tuyén policy Trong
khi ra khỏi phạm vi mot AS thi chinh sach định tuyến lại là vấn dé quan trong
Trang 28
AS2, ASI để đế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 thuộc AS3 cũng muốn đến AS4 nhưng C là đối tác của B nên B sẵn
sàng cho quá giang Như vậy A và C có cùng một đích đến nhưng phải đi theo những
cách khác nhau Các IGP không thể làm được điều này vì một nguyên nhân chủ yếu
chính là các giao thức đó đều liên quan đến metric hay là cos mà hoàn toàn không
quan tâm đến chính sách định tuyến Nó chỉ biết cố gắng làm sao chuyển được các gói
đữ liệu đến đích một cách hiệu quả và tối ưu nhất
2.4 Thuộc tính của BGP:
BGP định tuyến traffic băng cách sử dụng các thuộc tính Việc sử dụng các thuộc
tính ám chỉ đến việc sử dụng các biến trong quá trình chọn lựa đường đi trong BGP
Các thuộc tính của BGP không chỉ là danh sách các biến mà qua đó route được chọn lựa Một vài thông tin được mang trong các thông điệp cập nhật là quan trọng
hơn các thông tin khác Một số thông tin khác cũng rất quan trọng cho hoạt động của
BGP, vì vậy các thông tin này phải được mang đến tất cả các router BGP trong mang
Quá trình chọn lựa đường đi dựa trên những thuộc tính và các giá trị của nó Các thuộc tính được chia thành hai nhóm:
* Nhóm nỗi tiếng well-known:
- Well-known mandatory: \a cac thudc tính này là bắt buộc và được công nhận
Trang 29
- Well-known Discretionary: là không yêu cầu các thuộc tính này tồn tại trong
các cập nhật nhưng nếu chúng tồn tai, tất cả các router sẽ công nhận và sẽ có hành
động tương ứng dựa trên thông tin được chứa bên trong thuộc tính này
* Nhóm tùy chọn optional:
- Optional Transifive: là Router có thể không công nhận các thuộc tính này nhưng nếu router nhận được thuộc tính này, nó sẽ đánh dấu và gửi đầy đủ cập nhật này đến router kế tiếp Nếu thuộc tính này không được công nhận bởi router thì nó sẽ không thay đổi khi đi qua router
- Qptional Non-transitive: là các thuộc tính này bị loại bỏ nếu cập nhật mang
thuộc tính này di vao router ma router khong hiểu hoặc không công nhận thuộc tính Các thuộc tính này sẽ không truyền tới các BGP
Số thuộc tính | Tên thuộc tính Nhóm
Hình 2.4-1 Bản phân nhóm thuộc tính trong BGP
Các thuộc tinh hay metric cua BGP:
1 Thuéc tinh nguon goc Origin-attribute:
Đây là một thuộc tính xác định nguồn gốc của các routing thông tin cập nhật định
tuyến Nếu là “¡ ” thì chỉ rằng roz/ing thông tin cập nhật định tuyến được biết thông qua mot IGP (RIP, OSPF ) Nếu giá trị “e” thì routing thông tin cập nhật định tuyến
Trang 30
được biết thông qua một EGP Nếu giá tri “?” incomplete thi chi rằng không biết nguồn gốc của routing thông tin cập nhật định tuyến (Điều này có thể xuất hiện nếu routing thông tin cập nhật định tuyến được biết thông qua IGP rồi sau đó lại được thông báo qua EGP) Khi nó học đường băng lệnh network thì nó để thuộc tính này là:
¡ Khi nó học đường qua các lệnh như redistribute v.v thì nó để thuộc tính là:
“?” Con sau đó các mạng này được quảng bá tới các EGP router láng giềng thì thuộc tính này được đổi thành e vì router mới học được các tuyến đường này nhờ EGP Thuộc tính Ozigiz không thay đổi qua giao thức EBGP mà vẫn giữ nguyên Thuộc tính origin là e khi tuyến được học từ giao thức EGP (đây là giao thức định tuyến giữa các
AS, được sử dụng nhiều trên Internet khi BGP chưa ra đời nhưng hiện nay hầu như
không còn được sử dụng)
2 Thuéc tinh AS_PATH:
Đây là thuộc tính quan trọng trong việc xác định đường đi tối ưu, mang 2 chức năng Thứ nhất, AS_PATH càng ngắn càng được router ưu tiên hơn (ví dụ từ AS3 đến AS4
có 2 con đường khác nhau: AS3 - B - AS4, hoặc AS3 - AS2 - AS1 — AS4 thi router sé
ưu tiên con đường ngăn hơn là qua B) Chức năng thứ hai là ngăn ngừa vòng lặp Bởi
vì thuộc tính AS_PATH rất quan trọng cho quá trình hoạt động của BGP nên tất cả các nhà cung cấp phải hỗ trợ nó và là một thuộc tính mang tính bắt buộc, nghĩa là tất cả các bộ định tuyến phải chuyển thuộc tính này đến tất cả các láng giềng trong mọi thông điệp cập nhật của BGP
3 Thuộc tính Next-Hop:
Trong eBGP, giá trị nexí-hop là địa chỉ TP của router từ bên ngoài của vùng tự trị AS
quảng bá vào bên trong AS Địa chỉ IP được chỉ ra bởi lệnh neighbor Tuy nhién trong
môi trường multi-access, nếu một route đến từ một router thì sẽ ko tốt nếu một router
quảng bá địa chỉ của nó như là địa chỉ nguồn vì điều này sẽ dẫn đến việc các packets bị gửi đến vài router trên mạng multi-access trước khi có thể tìm ra được nguồn gốc xuất
phát thật sự Vì vậy, địa chỉ của router xuất phát gói tin BGP sẽ vẫn giữ như địa chỉ
nguôn
Trang 31
Khi BGP khai báo một mạng, router tự định rõ bản thân router đó như là Next Hop
Tuy nhiên, nếu router đó gởi thông điệp update cho một router láng giềng khác trong
cùng một AS thì nó lại tiếp tục dùng router ngoài AS làm Next hop Do đó ta phải cau
hình cho các router còn lại trong AS biết được chính router ở biên cùng AS với nó và
chính là router Next Hop chứ không phải là router khác AS Xem Hình 2.4-2
Hình 2.4-2 Sơ đồ định tuyến nexthop
Các bước truyền thông tin định tuyến nexthop:
- Router A gửi cập nhật về mạng 192.33.33.0
- Router D nhận update và truyền Tuy nhiên nếu routerD thay đổi địa chi source-
address thành địa chỉ địa chỉ của chính nó, sẽ có một sự nhằm lẫn xảy ra vì trong môi
trường multiaccess, mọi router sẽ công bố nó là nexí-hop Để tránh tình huống này, địa
chỉ nguồn của update không thay đổi
- Router B biết routerA là next-hop của mạng 192.33.33.0
4 Thuộc tính Next-Hop và mạng Non-broadcast Multi-access (NBMA) Cũng giống như trong môi trường Multi-Access, một mạng NBMA cũng tuân theo
cùng một qui luật Tuy nhiên có một vấn đề khác là các router khác sẽ không có khả
Trang 32
Hình 2.4-3 Sơ đồ kết nối AS theo dạng Chính Phụ Hob spoke
5 Thuộc tính Next-Hopself trong BGP
Ta xét ví dụ sau để thấy rõ thuộc tính Next-Hopselƒf
150.10.0.0 (AS 100) RouterÁ - (150.10 3 1) -IBGP (150 I0 3 2) -—- Router B -|
|(170.10.20 1)
|
| (170.10.20.2) RouterC
| 170.10.0.0 (AS 300)
Thuộc tính BGP nexthop là một địa chi next hop IP ma no sé được dùng để đi đến một
số mạng đích Đối với EBGP, next hop lu6n luôn là địa chỉ IP cua router lang giềng đã
được khai báo trong câu lénh neighbor Theo vi du trén, RouterC sẽ quảng cáo network 170.10.0.0 cho RouterA với một next hop là I70.10.20.2 và ngược lại
RouterA sẽ quảng cáo lại 150.10.0.0 cho RouterC với một next hop là 1760.10.20 1 Đối với IBGP, có một nguyên tắc là: “the next hop advertised by EBGP should be
Trang 33
carried into IBGP” Chinh vi quy luật này, nên Router A sẽ quảng cáo lại 170.10.0.0 cho các IBGP peer của nó, trong trường hợp này là RouterB với một next hop là 170.10.20.2 Vì thế, lúc này RouterB sẽ có next hop để đi đến network 170.10.0.0 sẽ là 170.10.20.2 chứ không phải là 150.10.30.1
Lúc này thì ta phải đảm bảo rằng RouterB có thể tìm thấy 170.10.20.2 thông qua IGP, nếu không RouterB sẽ drop những packet có dest là 170.10.0.0 vì lúc này địa chỉ next hop address trở nên inaccessible Nếu như trong môi trường NBMA, và ta có thêm một RouterD (network 180.20.0.0) được thêm vào trong AS 300, mà RouterA không có kết nối ảo Permanent Virtual Circuits (PVC) hoặc kết nối trực tiếp đến RouterD thì lúc này nexthop của RouterD quãng cáo cho RouterA mà RouterA sẽ không tìm thấy được Lúc này routing sẽ fail Để khắc phục tình trạng này thì Nexí Hop Seÿ được sử dụng
Đề cho phép áp đặt BGP dùng địa chỉ mình khai báo thành next hop thay vì để BGP tự chọn next hop
Ta có thể dùng câu lệnh:
neighbor {ip-address| peer-group-name1 } next-hop-self RouterC#
router bgp 300 neighbor 170.10.20.1 remote-as 100 neighbor 170.10.20.1 next-hop-self
RouterC sẽ qủang cáo 180.20.0.0 với NextHop = 170.10.20.2 Next-hop-self chí có lợi trong môi trường nonmeshed
Trang 34
đó Nó được truyền đến các local BGP neighbors Thuộc tính Local-Preference cho
phép chúng ta chọn con đường mong muốn nhất ra khỏi một AS
7 Thuộc tinh Weight:
Đây cũng là thuộc tính không bắt buộc, các nhà cung cấp không cần phải hỗ trợ cho
nó Thực tế thuộc tính này chỉ được cung cấp cho một bộ định tuyến đơn và không gởi
trong bất kỳ thông điệp Update nào Thuộc tính Weight được dùng để điều khiển
hướng truyền các local packet đến router khi router đó có hai route khác nhau ra khỏi
AS(Multi-homed)
8 Thudc tinh MULTI_EXIT_DISC (MED) Đây là thuộc tính được AS dùng để tham chiếu cho việc nên chọn router nào để đi đến
cùng một đích trong một AS Trong BGP cũng có một ATTRIBUTE được gọi là
metric, d6 la MED (Multi-exit Discrimination) Tuy nhién MED này có ý nghĩa hơi
khdc so voi metric trong cic IGP BGP ding MED (metric) dé huéng dẫn cho các
router láng giềng lựa chọn đường đi tốt nhất MED (Multiple-Exit Discriminator) 1a
một attribute của BGP, nó giới thiệu về những router láng giềng bên ngoài về một
mạng được chọn vào một AS có nhiều exit point, cai nao co MED thap hon sé duoc
chọn (do đó có lẽ nó giống với metric), không giống như Local Preference, MED được
trao đổi giữa các AS nhưng nó sẽ không ra khỏi AS đó nếu nó đã vào (khi một thông
tin cập nhật định tuyến vào một AS với giá trị MED xác định thì nó sẽ được sử dụng
để thực hiện quyết định trong nội bộ AS đó Nếu một route xuất phát từ chính AS thì
MED sẽ được tính theo metric của IBGP MED là một attribute yếu (trong thứ tự ưu
tiên của BGP), nên để điều khiển được nó cần phải quan tâm đến các thuộc tính có
mức ưu tiên cao hon (weight local preference originate Aspath origin code)
Originated AS khong thể điều khiển quá trình đặt MED trén cdc originating AS
(neighbor AS), hodc ngược lại, nên MED được dùng rất Ít trong thực tế Ngoài ra, với
nhiều khách hàng với các yêu cầu chính sách chọn outgoing traffic khác nhau, nếu sử
dụng MED thì không hiệu quả Người ta hay sử dụng commumiíy attribute đề giải
quyết vấn đề chon incomming traffic thay cho as-path prepending hoặc MED
Trang 35
9 Thudc tinh Communtity:
Đây là một thuộc tính không bắt buộc Thuộc tính này được dùng để cung cấp chính
sách cho một nhóm các router đi qua các AS Do đó các router này có cùng một tính
chất và có chung chính sách Nếu một router nhận được một thông điệp Thông tin cập
nhật định tuyến với thuộc tính Community được thiết lập,nó sẽ xử lý thông điệp này
một cách hợp lí Nếu nó không hiểu thông điệp này thì sẽ gửi thuộc tính đó cho router
láng giềng router xử lý (Tuy nhiên, nếu nó hiểu thì sẽ không bao giờ gửi thuộc tính đó
cho router láng giềng trừ khi được chỉ định làm thêm điều gì đó)
cùng AS sẽ phải thiết lập quan hệ láng giềng peer với các BGP speaking khác Điều đó
Trang 36
có nghĩa là chúng ta phải cấu hình full mesh cho iBGP để BGP hoạt động đúng cách
Hay nói cách khác tắt cả các thiết bị phải thiết lập kết nối TCP với thiết bị khác
eBGP được sử dụng giữa BGP speaking device của các AS khác nhau Giống nhu iBGP, BGP speking device tham gia phải có kết nối layer-3 giữa chúng Sau đó
TCP sé được sử dụng bởi eBGP để thiết lập peer session
Sau khi đã thiết lập được peer, BGP speaking device sẽ sử dụng thông tin mà chúng có được từ những trao đổi để tạo một sơ đồ BGP
Chỉ một lần BGP speaking device thiết lập được peer cũng như tạo được sơ đồ BGP, chúng mới bắt đầu quá trình trao đổi thông tin định tuyến Lúc khởi tạo BGP
speaking sẽ trao đổi toàn bộ BGP routing table của nó Sau đó chúng sẽ trao đổi thông
tin update từng phần giữa các peer với nhau và trao đổi bản tin KEEPALIVE dễ duy
trì kết nối
2.5.1 Dinh dang Header cua ban tin (Message Header Format)
BGP sẽ tiến hành xử lý bản tin chi khi toàn bộ bản tin được nhận BGP yêu cầu
mỗi bản tin có kích thước nhỏ nhất là 19 octet và max là 4096 octet Header của bản
tin bao gồm những thông tin sau:
Trang 37Marker: trường này dài 16 byte Trường Marker được sử dụng để xác định sự mat đồng bộ giữa một tập BGP peer và chứng thực các ban tin BGP dén incoming BGP message Giá trị của trường này phụ thuộc vào loại bản tin Nếu là một open message nó sẽ không chứa thông tin chứng thực và Marker sẽ có giá trị toàn là bịt ‘1’
Length: trường này có độ dài là 2 byte Trường Length cho biết độ dài của toàn
bộ bản tin Giá trị của nó biến đổi từ 19 cho đến 4096
Type: trường này có độ dài I byte Nó cho biết loại bản tin được sử dụng Cụ thể như hình bên dưới:
Hinh 2.5-3 Cac loai ban tin
a) Ban tin OPEN ( OPEN Message)
Ban tin OPEN là loại bản tin đầu tiên được gửi sau khi phiên kết nỗi TCP được
thiết lập Khi bản tin OPEN được chấp nhận, một bản tin KEEPALIVE xác nhận bản
tin OPEN được gửi trả lại Sau khi bản tin KEEPALIVE được gửi để xác nhận bản tin
OPEN, ban tin UPDATE timg phan, ban tin NOTIFICATION va ban tin KEEPALIVE
sẽ được trao đối gitta cac BGP peer
Trang 38
Bản tin OPEN có định dạng như sau:
Version
Hinh 2.5-4 Dinh dang ban tin OPEN
Cấu trúc của các trường trong bản tin OPEN:
1 Version:
Trường này có chiều dài 1 byte và được sử dụng để xác định phiên bản của các BGP
speaker từ kết quả của quá trình đàm phán với láng giềng neighbor Cụ thể quá trình
này như sau: BGP speaker sẽ thử đàm phán với giá trị version number cao nhất mà cả
2 cùng hỗ trợ Nếu giá trị version number được xác định trong trường version mà BGP
speaker khác không hỗ trợ, một bản tin lỗi sẽ được gửi về cho BGP speaker gửi và
phiên kết nối TCP sẽ bị ngắt Quá trình trên sẽ tiếp tục cho đến khi có một giá trị
version number chung được thiết lập
2 My Autonomous System:
Truong nay cé d6 dai 2 byte va nd chira dung Autonomous System Number cua BGP
speaker gửi Trường này sẽ thông báo cho BGP speaker nhận biết được giá trị AS
Number cua neighbor Va gia trị đó cũng được sử dụng để tạo nên BGP graph của
Trang 39
3 Hold Time:
Trường này có độ dài 2 byte Nó thông báo cho BGP speaker nhdan gia trị đề nghị hold
time cia BGP speker giti Sau khi BGP speaker nhận được gia tri hold time từ
neighbor thì nó sẽ tính toán và đưa ra giá trị hold time trong trường Hold Time Nó sẽ
xác định thời gian tối đa mà nơi nhận phải đợi một thông điệp từ nơi gửi
(KEEPALIVE hay UPDATE message) Mỗi lần một bản tin được nhận giá trị hold
time được reset về 0
4 BGP Identifier:
Truong nay cé dé dai 4 byte va chira dung gid tri BGP identifier cua BGP speaker gui
BGP identifier tung ty RID trong OSPF, nó xác định duy nhất một BGP speaker BGP
identifier chính là địa chỉ IP cao nhất của loopback interface Nếu loopback không
được cấu hình thì nó chính là địa chỉ IP cao nhất của bất kỳ interface nào của roufer
Giá trị này được xác định chỉ một lần và giá trị này không thay đổi trừ khi khởi động
lại BGP process
5 Optional Parameters Length:
Trường này có độ dai 1 byte va no thể hiện tổng độ dài của trường Optional
Parameters Nếu giá trị trường này là 0 cho biết Optional Parameters không được thiết
A
lap
6 Optional Parameters:
Trường này có độ dài biến đổi và chứa đựng một danh sach cac optional parameters
mà chúng sẽ được sử dụng trong quá trình đàm phản với neighbor Mỗi một optional
parameter dugc biéu dién béi bé ba: <parameter type, parameter length, parameter
value> Dinh danh cu thé nhu Hinh 2.5-5 sau:
Parameter Type
Parameter Lenghth | ParametterValue (Variable)
Trang 40
Parameter Type: truong nay co do dai 1 byte va nhận ra từng thông số riêng lẻ
Parameter Length: có độ dài 1 byte và chứa dung d6 dai cua truong Parameter Value
Parameter Value: trường này có độ dài thay đôi và giải thích dựa trên giá trị của trường Parameter Type
b) Ban tin UPDATE (UPDATE Message)
Sau khi BGP speaker trở thành peer, chúng sẽ trao đổi bản tin UPDATE từng phần
(ncremental UPDATE message) chứa đựng thông tin định tuyến cho BGP Thông tin
này chứa trong bản tin UPDATE được sử dụng để xây dựng môi trường định tuyến
không có loop (loop-free routing environment)
Bản tin UPDATE không chỉ chứa thông tin định tuyến khả thi để sử dụng mà nó còn
chứa những định tuyến không khả thi để loại bỏ Một bản tin UPDATE có thể chứa tối
đa một feasible route để sử dụng và nhiều unfeasible route để loại bỏ Đinh dạng của
bản tin UPDATE như sau: