Trong lúc khởi tạo BGP speaking sẽ trao đổi toàn bộ bảng định tuyến 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 để du
Trang 1MỤC LỤC
NGÀNH HỌC: ĐIỆN THỬ VIỄN THÔNG 2
HỌC PHẦN: THỰC HÀNH CHUYÊN SÂU 2
CƠ SỞ LÝ THUYẾT 2
Tổng quan về giao thức BGP 2
Hoạt động của BGP (BGP Operation) 2
Các tham số ảnh hưởng đến việc định tuyến của BGP 3
i Thông số AS-path 3
ii Thuộc tính next hop 4
iii Thuộc tính Aggregator và Local-preference 4
iv Thuộc tính weight và thuộc tính MED 4
CÁC BÀI THỰC HÀNH/THÍ NGHIỆM: 5
BÀI THỰC HÀNH SỐ 1: 5
Tên bài: BTH-HT-BGP-01: Cấu hình BGP cơ bản eBGP 5
MỤC ĐÍCH – YÊU CẦU: 5
Mục đích 5
Yêu cầu: 5
Hình thức thực hành 6
CHUẨN BỊ: 6
Lý thuyết: 6
Mô hình thực hiện: 6
NỘI DUNG: 6
Các bước thực hiện: 6
Ghi nhận phân tích kết quả: 9
1
Trang 2NGÀNH HỌC: ĐIỆN THỬ VIỄN THÔNG
HỌC PHẦN: THỰC HÀNH CHUYÊN SÂU
BÀI THỰC HÀNH TÌM HIỀU VỀ GIAO THỨC BGP
CƠ SỞ LÝ THUYẾT
Tổng quan về giao thức BGP
Như ta đã biết ,Internet được tạo bởi rất nhiều các Autonomous System BGP được sử dụng để chia sẻ thông tin định tuyến giữa các AS khác nhau BGP sử dụng giao thức vận chuyển tin cậy để trao đổi thông tin định tuyến đó chính là Transmission Control Protocol (TCP) BGP sử dụng cổng 179 để thiết lập kết nối
- BGP hỗ trợ variable-length subnet mask (VLSM), classless interdomain routing (CIDR), và summarization
Hoạt động của BGP (BGP Operation)
BGP cho phép truyền thông tin định tuyến giữa các AS khác nhau trải khắp thế giới Chúng sử dụng 2 dang BGP để thực hiện điều đó:
- Internal BGP (iBGP)
- External BGP (eBGP)
Hình 1: Kiến trúc liên lạc trong BGP
Tất cả BGP speaking device cùng trong 1 AS sẽ sử dụng iBGP để liên lạc với một BGP speaking khác Điều đó có nghĩa là chúng ta phải cấu hình full mesh cho iBGP để 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 nhau eBGP được sử dụng giữa các BGP speaking device của các AS khác nhau Giống như iBGP, BGP speaking
2
Trang 3device 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 nên một BGP graph Chỉ một lần BGP speaking device thiết lập được peer cũng như tạo được BGP graph, chúng mới bắt đầu quá trình trao đổi thông tin định tuyến Trong lúc khởi tạo BGP speaking sẽ trao đổi toàn bộ bảng định tuyến 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 để duy trì kết nối
Các tham số ảnh hưởng đến việc định tuyến của BGP
Có 2 dạng thông số về tuyến đường trong BGP
→Well-known:
- mandatory (origin, as-path, Next-hop )
- Discretionary ( local preference, atomic aggregate )
→ Option :
- Non-transitive ( MED, Cluster-list…)
-Transitive (Communities…)
Các Tiêu chuẩn lựa chọn tuyến đường tốt nhất trong BGP
•loại bỏ tuyến đường nếu next-hop không đúng
•Chọn giá trị weight cao hơn ( có giá trị trong 1 router)
•Chọn giá trị local-preference cao hơn ( trong 1 AS)
•Chọn nguồn gốc tuyến đường ( Tuyến đường sinh ra từ chính router)
•Chọn giá trị AS-path ngắn hơn ( Chỉ so sánh nhiều dài)
•Chọn giá trị origin nhỏ hơn ( IGP<EGP<unknown)
•Chọn giá trị MED nhỏ hơn
•Chọn giá trị eBGP ưu tiên hơn iBGP
•Đối với các tuyến đường iBGP, ưu tiên chọn tuyến đường qua hàng xóm gần nhất
•Đối với các tuyến đường eBGP, ưu tiên chọn tuyến đường học được sớm hơn
•Chọn giá trị từ router với giá trị BGP router-ID nhỏ hơn
ii Thông số AS-path
Thuộc tính AS_path là một thuộc tính Well-know mandatory
-Nó là tuần tự của các số AS mà route đã truyền qua để đến đích AS đầu tiên truyền route sẽ thêm số AS của nó và truyền đi sang eBGP peer tiếp theo Sau đó thì mỗi AS mà nhận route này
sẽ truyền route này sang eBGP peer khác và gán thêm số AS của nó vào đầu danh sách các số AS
3
Trang 4Danh sách cuối cùng sẽ là tất cả các số AS mà route đã được truyền đi qua, với số AS của AS
mà khởi tạo route ban đầu nằm ở cuối danh sách
- BGP sử dụng thuộc tính AS_PATH này trong các cập nhật của nó để đảm bảo một mô hình không bị loop trên Internet Mỗi route được truyền đi giữa các peer sẽ mang theo một danh sách của các số AS mà route đã được truyền qua Nếu route được quảng cáo đến một AS mà khởi tạo
ra nó, và một AS thấy chính nó là một phần trong danh sách các số AS và nó sẽ không chấp nhận route này
- BGP router sẽ chèn thêm số AS của nó khi quảng cáo bảng định tuyến cập nhật của nó sang một AS khác Khi route được truyền qua một BGP router có cùng AS thì danh sách AS_path sẽ giữ nguyên không thay đổi
ii Thuộc tính next hop
Là một thuộc tính well-known mandatory, nó tương tự như trong IGP, để đến được network, thì next hop là địa chỉ IP của router quảng bá route
-đối với EBGP: thì next hop là địa chỉ ip của láng giềng quảng bá route
-đối với IBGP : Nơi mà route được quảng từ trong cùng AS thì next hop là địa chỉ ip của láng giềng quảng bá route Còn đối với route được quảng bá vào AS từ EBGP, thì next hop từ EBGP không được thay đổi vào trong IBGP, next hop là địa chỉ ip của EBGP láng giềng mà nó học được
-Khi một route được quảng bá trong một môi trường đa truy nhâp(multi-access) như Ethernet, frame relay, thì next hop là địa chỉ IP của các cổng giao tiếp của router
iii Thuộc tính Aggregator và Local-preference
-Thuộc tính Aggregator:
Là một thuộc tính Well-known discretionary Khi cấu hình aggregation, thì thuộc tính này cung cấp những thông tin về ID của router và số AS của của router khởi tạo aggregate route Thuộc tính này cho phép ISP admin xác định router nào thực hiện aggregation
-Thuộc tính Local Preference:
Là một thuộc tính well-known discretionary Local Preference là một yếu tốđể xác định sự so sánh giữa các route đến cùng một đích Route có Local Preference cao hơn sẽđược chọn làm đường đi tối ưu Cũng như tên của thuộc tính này, nó chỉ chuyển đổi nội bô giữa các IBGP peer Local Preference không quảng cáo sang EBGP peer
iv Thuộc tính weight và thuộc tính MED
-Thuộc tính Weight:
Thuộc tính Weight tương tự như Local Preference, nó sẽ ưu tiên sử dụng route có giá trị weight cao hơn Một điều khác ở đây là các thông số weight chỉ có ý nghĩa nội bộ trong router thôi và nó sẽ không trao đổi với các router khác Thuộc tính weight ảnh hưởng đến các route đến
từ nhiều nhà cung cấp khác nhau tới một router, một router có nhiều kết nối tới hai hay nhiều nhà cung cấp Thông số weight có tác động cao hơn bất kỳ thuộc tính nào khác.Nó là thuộc tính quan trọng nhất để xác định route nào ưu tiên được chọn hơn Weight được cấu hình trên các router
4
Trang 5theo từng neighbor một Thuộc tính này sẽ không truyền sang cho bất kỳ một router BGP nào khác cả
-Thuộc tính Multiple Exit Discriminator(MED)
MED là một thuộc tính optional nontransitive MED chỉ cho láng giềng external về đường đi nào tối ưu hơn để vào trong một AS có nhiều điểm vào.MED có giá trị thấp sẽ tốt hơn
-Không giống Local Preference MED được trao đổi giữa các AS, nhưng MED vào trong một
AS thì sẽ không rời khỏi AS này Khi có một cập nhật vào trong một AS với một giá trị MED được thiết lập, thì giá trị này được sử dụng để quyết định chỉ trong nội bộ AS đó thôi.Khi BGP chuyển cập nhật cho một AS khác thì giá trị của MED được thiết lập về 0
- MED có thểđược sử dụng ở một AS và ảnh hưởng đến quyết đinh ra khỏi AS của một AS khác
- Khi một route được khởi tạo bởi một AS, thì giá trị của MED thông thường là tuỳ theo metric IGP của route Điều này trở nên hữu dụng khi một khách hàng có nhiều kết nối đến cùng một nhà cung cấp.IGP metric chỉ ra độ tiêu tốn đến một mạng để xác định điểm truyền Một mạng gần điểm xuất A hơn điểm xuất B thì sẽ có giá trị IGP metric nhỏ hơn Khi giá trị IGP metric được dịch sang MED, tải đến một AS có thể vào từ một kết nối gần đích hơn Chính vì điều này
mà MED có giá trị thấp hơn sẽ được ưu tiên hơn để đến đích Điều này có thể được sử dụng cho
cả nhà cung cấp và cả khách hàng để cân bằng tải giữa nhiều kết nối giữa hai AS khác nhau
CÁC BÀI THỰC HÀNH/THÍ NGHIỆM:
BÀI THỰC HÀNH SỐ 1:
Tên bài: BTH-HT-BGP-01: Cấu hình BGP cơ bản eBGP MỤC ĐÍCH – YÊU CẦU:
Mục đích
Giúp sinh viên
- Hiểu được địa chỉ Public và Private, cách sử dụng địa chỉ Public và Private trong thực tế
- Nắm vững các kiến thức cơ bản về BGP
- Có khả năng cấu hình 1 bài lab hoàn chỉnh về BGP cơ bản
- Hiểu được việc chia sẻ miền mạng có địa chỉ Public và che dấu miền mạng có địa chỉ Private khi sử dụng giao thức định tuyến BGP
- Hiểu được sự kết hợp giữa EGP và IGP trong một AS
- Hiểu ý nghĩa của lệnh “ping mở rộng”
Yêu cầu:
- Sinh viên có kiến thức về địa chỉ Public và Private
- Sinh viên có kiến thức cơ bản về IGP (RIP, OSPF)
- Sinh viên nắm vững kiến thức cơ bản về BGP
5
Trang 6- Sinh viên về cơ bản biết sử dụng phần mềm giả lập GNS3
- Sinh viên biết cách đọc và hiểu ý nghĩa nội dung trong file running-config
Hình thức thực hành
Từng sinh viên xây dựng và cấu hình 1 hệ thống mạng có dùng BGP hoàn chỉnh
CHUẨN BỊ:
Lý thuyết:
- Kiến thức cơ bản về BGP
Hoạt động của BGP
- Biết được các tham số ảnh hưởng đến việc định tuyến của BGP
Mô hình thực hiện:
Hình 2: BGP topology
Điều kiện:
-Máy tính cài đặt phần mêm giả lập GNS3 , có các IOS của router
- Các router R1, R2, R3, R4 cấu hình địa chỉ IP như trong bảng đã cho
NỘI DUNG:
Các bước thực hiện:
1 Phân tích hệ thống
a Hoạch định địa chỉ IP
6 AS
Trang 7200
Việc sử dụng địa chỉ private trong các AS cho phép nhà quản trị:
Quảng bá phần mạng có địa chỉ public
Che dấu phần mạng có địa chỉ private
Tái sử dụng địa chỉ (192.168.1.0/24)
b Quảng bá địa chỉ
AS 100 quảng bá mạng có địa chỉ 201.0.0.0/24 sang AS 200
AS 200 quảng bá mạng có địa chỉ 202.0.0.0/24 sang AS 100
c Che dấu địa chỉ
AS100 che dấu địa chỉ 192.168.1.0/24
AS200 che dấu địa chỉ 192.168.1.0/24
2 Gán địa chỉ ip và kích hoạt các giao diện
a Tại R1:
interface Loopback0
ip address 201.0.0.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0 duplex auto
speed auto
b Tại R2:
interface FastEthernet0/0
ip address 192.168.1.2
255.255.255.0 duplex auto
Trang 87
Trang 9speed auto
!
interface FastEthernet0/1
ip address 203.0.0.1 255.255.255.0
duplex auto
speed auto
c Tại R3
interface FastEthernet0/0
ip address 203.0.0.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
d Tại R4
interface Loopback0
ip address 202.0.0.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
3 Kích hoạt giao thức định tuyến iGP
(RIPv1) a Tại R1
router rip
network 192.168.1.0
network 201.0.0.0
b Tại R2
router rip
network 192.168.1.0
c Tại R3
router rip
network 192.168.1.0
d Tại R4
router rip
network 192.168.1.0
network 202.0.0.0
4 Kích hoạt giao thức BGP tại các router
Router X(config)#router bgp as-number
8
Trang 10Quảng bá các mạng có địa chỉ public vào BGP
Router X(config-router)#network x.x.x.x
Thực hiện tạo liên kết láng giềng BGP giữa các router
Router X(config-router)#neighbor x.x.x.x remote-as x
a Tại R1
router bgp 100
no synchronization
bgp log-neighbor-changes
network 201.0.0.0
neighbor 192.168.1.2 remote-as 100
no auto-summary
b Tại R2
router bgp 100
no synchronization
bgp log-neighbor-changes
network 203.0.0.0
neighbor 192.168.1.1 remote-as 100
neighbor 203.0.0.2 remote-as 200
no auto-summary
c Tại R3
router bgp 200
no synchronization
bgp log-neighbor-changes
network 203.0.0.0
neighbor 192.168.1.2 remote-as 200
neighbor 203.0.0.1 remote-as 100
no auto-summary
d Tại R4
router bgp 200
no synchronization
bgp log-neighbor-changes
network 202.0.0.0
neighbor 192.168.1.1 remote-as 200
no auto-summary
Ghi nhận phân tích kết quả:
Kết quả mong muốn
Thông tin về các mạng có địa chỉ private được trao đổi giữa các router thông qua IGP (RIPv1)
9
Trang 11Thông tin về các mạng có địa chỉ public được trao đổi giữa các router thông qua EGP (BGP)
Kết quả thực hiện:
- Kiểm tra kết nối BGP
Router#show ip bgp summary
- Thông tin định tuyến được trao đổi thông qua BGP
Router#show ip route
- Định tuyến lựa chọn với AS path ngắn nhất
Router#show ip bgp
- Kiểm tra độ kết nối với lệnh “ping” mở rộng
10
Trang 12Các kịch bản phát triển (bài tập phát triển)
1 Kịch bản 1
2 Kịch bản 2
11
Trang 13BÀI 2: Kết nối mạng sau
Mạng kết nối router R4-R1, R2-R5, R3-R6 trong nội miền AS: sử dụng địa chỉ 192.168.1.0/24
Mạng kết nối router R7-R6 sử dụng địa chỉ 192.168.2.0/24
Mạng kết nối router R1-R2, R2-R3, R3-R1 giữa hai miền AS: sử dụng địa chỉ 201.ab.xy.0/24 (ab là hai số cuối mã số sinh viên) Địa chỉ loopback 0 của các router Rx (R7, R4, R5, R6):
20x.0.0.1/24 Nội miền chạy OSPF Ngoại miền chạy BGP
với OSPF
12