Bài thực hành tìm hiểu về giao thức BGP
Trang 1MỤC LỤC
CƠ SỞ LÝ THUYẾT 2 CÁC BÀI THỰC HÀNH/THÍ NGHIỆM: 6
Trang 2NGÀNH HỌC: ĐIỆN THỬ VIỄN THÔNG
HỌC PHẦN: MẠNG MÁY TÍNH
BÀI THỰC HÀNH TÌM HIỀU VỀ GIAO THỨC BGP
CƠ SỞ LÝ THUYẾT
1.1 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
1.2 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
Trang 3Tấ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 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 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
1.3 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
Trang 4• Đố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
1.3.1 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
Danh 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
1.3.2 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
Trang 51.3.3 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
1.3.4 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 theo 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
Trang 6- 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:
1.4 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
1.4.1 MỤC ĐÍCH – YÊU CẦU:
1.4.1.1 Mục đích
Giúp sinh viên
- 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ề eBGP cơ bản
1.4.1.2 Yêu cầu:
- Sinh viên nắm vững kiến thức cơ bản về BGP
- Sinh viên về cơ bản biết sử dụng phần mềm giả lập GNS3
1.4.1.3 Thời gian thực hiện
Khoảng 15-20 phút
1.4.1.4 Nhóm thực hành
Gồm 5 sinh viên
1.4.2 CHUẨN BỊ:
1.4.2.1 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
1.4.2.2 Mô hình thực hiện:
Trang 7Hình 2: eBGP 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 cấu hình địa chỉ IP như trong bảng đã cho
1.4.3 NỘI DUNG:
1.4.3.1 Các bước thực hiện:
1 Enable BGP và thực hiện khai báo AS number
Router X(config)#router bgp as-number
2 Quảng bá các địa chỉ loopback vào BGP
Router X(config-router)#network x.x.x.x
3 Thực hiện peer BGP với các router còn lại
Router X(config-router)#neighbor x.x.x.x remote-as x
Trang 81.4.3.2 Ghi nhận phân tích kết quả:
- Thông tin về các địa chỉ loopback được trao đổi giữa các router thông qua BGP
- Tuyến lựa chọn với AS path ngắn nhất
Kết quả thực hiện:
- Kiểm tra kết nối BGP
- Thông tin định tuyến được trao đổi thông qua BGP
Định tuyến lựa chọn với AS path ngắn nhất
Trang 91.4.4 CÂU HỎI TRẮC NGHIỆM:
1 Cơ chế truyền tải nào được dùng để trao đổi cập nhật bảng định tuyến BGP ? a) UDP
b) TCP
c) SDP
d) LDAP
2 Bằng cách nào BGP khám phá ra neighbors ?
a) Qua các gói tin broadcast
b) Qua địa chỉ IP của gói tin multicast
c) Qua giao thức hello
d) Neighbors không được khám phá mà thay vào đó là khai báo bằng tay
3 Cổng (port) nào được dùng để thiết lập phiên trong quá trình trao đổi thông tin trong BGP ?
a) 21
b) 80
c) 53
d) 167
e) 179
4 Trạng thái của BGP router trong lúc đang thiết lập quan hệ hàng xóm ?
a) Unestablished
b) Down
c) Idle
d) Not connected
Trang 105 Bước nào sau đây không cần thực hiện trước khi một phiên BGP được thiết lập ?
a) Hàng xóm phải được khai báo
b) 1 phiên TCP giữa 2 router phải được thiết lập
c) Cơ sở dữ liệu về toàn mạng phải được trao đổi
d)Thông điệp BGP Open phải được trao đổi và kiểm tra
1.5 BÀI THỰC HÀNH SỐ 2:
Tên bài: BTH-HT-BGP-02: Cấu hình iBGP thay đổi các tham số local prefer & MED
1.5.1 MỤC ĐÍCH – YÊU CẦU:
1.5.1.1 Mục đích:
Giúp sinh viên
- Nắm vững cách cấu hình iBGP, eBGP
- Nắm vững các tham số local prefer & MED trong định tuyến BGP
1.5.1.2 Yêu cầu:
- Sinh viên nắm vững lý thuyết về định tuyến trong BGP và các tham số liên quan
- Sinh viên nắm vững kiến thức cơ bản về BGP
- Sinh viên về cơ bản biết sử dụng phần mềm giả lập GNS3
1.5.1.3 Thời gian thực hiện
Khoảng 15-20 phút
1.5.1.4 Nhóm thực hành
Gồm 5 sinh viên
1.5.2 CHUẨN BỊ:
1.5.2.1 Lý thuyết (để sinh viên biết trước)
- Kiến thức cơ bản về BGP
- Lý thuyết về định tuyến trong 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
Trang 111.5.2.2 Mô hình thực hiện:
Hình 3: iBGP topology
- 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 cấu hình địa chỉ IP như trong bảng đã cho
1.5.3 NỘI DUNG:
1.5.3.1 Các bước thực hiện:
1 Cấu hình peer BGP các router tương ứng
Router X(config-router)#neighbor x.x.x.x remote-as x
2 Thay đổi các giá trị local prefer
Router2(config)#router bgp 2300
Router2(config-router)#neighbor 3.3.3.3 remote-as 2300
Router2(config-router)#bgp default local-preference 500
3 Kiểm tra lại thông tin định tuyến
Router 2# show ip bgp
Trang 124 Thay đổi các giá trịMED.
Router 1(config)#route-map med permit 10
Router 1(config-route-map)#set metric 50
Router 1(config)#router bgp 100
Router 1(config-router)#neighbor 2.2.2.2 route-map med
out
5 Kiểm tra lại thông tin định tuyến
Router1#show ip bgp
*Lưu ý :Ta có thông số Local prefer có giá trị trong 1 AS, ở đấy ta không cấu hình route-map Giá trị MED được dung để chọn đường đẩy vào trong 1 AS, khác AS không xét giá trị MED
1.5.3.2 Ghi nhận phân tích kết quả:
1.5.3.3 Kết quả mong muốn
- Thông tin định tuyến thay đổi theo các tham số local prefer & MED cấu hình
Kết quả thực hiện:
- Thông tin định tuyến trước khi thay đổi local prefer trên R3:
- Thông tin định tuyến sau khi thay đổi local prefer trên R3
- Thông tin định tuyến trước khi thay đổi MED trên R1
Trang 13- Thông tin định tuyến sau khi thay đổi MED trên R1
1.5.4 CÂU HỎI TRẮC NGHIỆM
1 Tham số nào không được mang bên trong một thông điệp BGP Open ?
a) BGP version number
b) Local AS number
c) BGP hold timer
d) Current neighbor state
2 Chức năng bản tin KEEPALIVE trong BGP ?
a) cung cấp nhịp thời gian cho việc trao đổi gói tin
b) Đồng bộ phiên TCP giữa các neighbor
c) Cung cấp cơ chế truyền tin cậy khi sử dụng BGP giữa 2 neighbor d) Để kiểm tra cấu hình hiện tại của BGP neighbor
3 Chỉ ra đâu là trạng thái của phiên BGP ?
a) OpenConfirm
b) Established
c) Idle
d) OpenSent
e) Active
Trang 144 Khi đánh lệnh show ip bgp summary , trường “Tb|Ver” nghĩa là gì ?
a) Phiên bản hiện tại của BGP trên router
b) Số route prefixes chứa trong BGP update của router
c) Các thông điệp BGP đều nhận từ neighbor đó
d) Phiên bản mới nhất của BGP database được gửi tới neighbor
5 Thuộc tính nào không thuộc BGP routing updates?
a) Next-hop
b) Local preference
c) Origin
d) AS-path
1.6 BÀI THỰC HÀNH SỐ 3
Tên bài: BTH-HT-BGP-03: Cấu hình BGP route-reflector
1.6.1 MỤC ĐÍCH – YÊU CẦU:
1.6.1.1 Mục đích:
- Giúp sinh viên có kiến thức mở rộng về cấu hình BGP – BGP route-reflector
1.6.1.2 Yêu cầu:
- Sinh viên nắm vững lý thuyết về định tuyến trong BGP và các tham số liên quan
- Sinh viên nắm vững kiến thức cơ bản về BGP
- Sinh viên về cơ bản biết sử dụng phần mềm giả lập GNS3
1.6.1.3 Thời gian thực hiện
Khoảng 15-20 phút
1.6.1.4 Nhóm thực hành
Gồm 5 sinh viên
1.6.2 CHUẨN BỊ:
1.6.2.1 Lý thuyết (để sv biết trước)
- Kiến thức cơ bản về BGP
- Lý thuyết về định tuyến trong BGP
Trang 15- Biết được các tham số ảnh hưởng đến việc định tuyến của BGP
1.6.2.2 Mô hình thực hiện:
Hình 4: BGP router-reflector topology
- 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 cấu hình địa chỉ IP như trong bảng đã cho
1.6.3 NỘI DUNG:
1.6.3.1 Các bước thực hiện:
1 Thực hiện cấu hình peer từ router R1, R2, R3, R4 lên R5
Router X(config)# router bgp 1
Router X(config-router)#neighbor 5.5.5.5 remote-as 1
2 Thực hiện cấu hình peer từ R5 xuống R1, R2, R3, R4
Router X(config)#router bgp 1
Router X(config-router)#neighbor 1.1.1.1 remote-as 1
Router X(config-router)#neighbor 1.1.1.1
route-reflector-client
Router X(config-router)#neighbor 2.2.2.2 remote-as 1
Trang 16Router X(config-router)# neighbor 2.2.2.2
route-reflector-client
Router X(config-router)# neighbor 3.3.3.3 remote-as 1
Router X(config-router)# neighbor 3.3.3.3
route-reflector-client
Router X(config-router)# neighbor 4.4.4.4 remote-as 1
Router X(config-router)# neighbor 4.4.4.4
route-reflector-client
1.6.3.2 Ghi nhận phân tích kết quả:
- Các router có thể học thông tin định tuyến iBGP mà không cần peer full mesh.
Kết quả thực hiện:
Thông tin về BGP trên router R5
Sử dụng lệnh show ip protocol để hiển thị thông tin BGP đã cấu hình trên
router
1.6.4 CÂU HỎI TRẮC NGHIỆM
1 Thông tin nào sẽ được giữ lại khi có sự cập nhật BGP
Trang 17b) Chỉ những tuyến đường được học từ quá trình peer eBGP
c) Tất cả các tuyến nhận từ BGP neighbor
d) Tất cả các tuyến nhận từ giao thức IGP
2 Router sẽ sử dụng cái nào để chỉ ra tuyến tốt nhất , khi ta dùng câu lệnh show ip bgp
a) i
b) *
c) >
d) B
3 Tiêu chuẩn nào sẽ được dung để xác định tuyến đường , nếu ban đầu ta để
mặc định các tham số khi bắt đầu khởi tạo phiên BGP ?
a) Origin
b) Local preference
c) MED
d) AS-path length
4 Khi có nhiều tuyến đường tới đích cùng tồn tại, đặc điểm nào được router
dùng để chọn ra tuyến tốt nhất ?
a) Cost
b)AD
c)weight
d)metric
5 Trong mô hình BGP route-reflector ,các router ở biên sẽ thiện hiện peer với
router nào ?
a) Những router biên khác
b) Router trung tâm
c) Cả router biên và router trung tâm
d) Không thực hiện peer với router nào cả