I. Tính cấp thiết của đề tài:
Chúng ta đang sống trong thế kỉ 21, kỉ nguyên của khoa học kĩ thuật và công nghệ hiện đại. Vào thời điểm này, ngành công nghiệp công nghệ thông tin và chiếc máy vi tính nắm giữ một vai trò không thể thiếu trong mọi lĩnh vực hoạt động của con người. Một chiếc máy tính để bàn hoạt động độc lập là không đủ, con người muốn liên kết các máy tính lại với nhau thành mạng máy tính để tận dụng sức mạnh xử lí, trao đổi thông tin và chia sẻ tài nguyên. Khi mạng máy tính tăng lên cả về quy mô và số lượng, con người lại muốn liên kết các mạng máy tính này lại với nhau. Làm thế nào để liên kết các máy tính lại với nhau ? Làm thế nào để thông tin có thể được trao đổi giữa các mạng máy tính cách nhau hàng trăm cấy số ? Một bài toán cần được giải để trả lời những câu hỏi trên, đó là bài toán định tuyến.
“Định tuyến” hiểu đơn giản là “tìm đường đi”. Trong truyền thông máy tính định tuyến nghĩa là chỉ ra đường đi để thông tin có thể di chuyển từ nguồn đến đích theo cách tốt nhất. Không thể phủ nhận tầm quan trọng của định tuyến trong truyền thông máy tính. Không có định tuyến, các máy tính không thể trao đổi thông tin với các mạng khác.
Thiết bị thực hiện chức năng định tuyến trên mạng chủ yếu là các Router. Để có thể thực hiện chức năng định tuyến, các Router phải trao đổi thông tin về tuyến với nhau để xây dựng nên các tuyến đường. Tập hợp các qui tắc trao đổi thông tin định tuyến giữa các thiết bị định tuyến với nhau gọi là giao thức định tuyến.
Đối tượng nghiên cứu của đề tài này là giao thức định tuyến BGP (Border Gateway Protocol) – 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 Autonomous-System. 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 network. Các giao thức nội như EIGRP, RIP, OSPF và ISIS sẽ tìm ra network mà người quản trị cần.
Do những hạn chế về mặt thời gian và thiết bị, một số nội dung liên quan không được đưa vào đề tài như: Sự hoạt động và triển khai BGP trên IPv6. Mặc dù đã hết sức cố gắng xong đề tài không tránh khỏi những thiếu sót vì vậy rất mong nhận được ý kiến đóng góp, sự chỉ bảo tận tình của các thầy cô và tất cả các bạn.
II. Mục tiêu nghiên cứu đề tài:
Tìm hiểu về khái niệm và cách thức hoạt động của BGP
Tìm hiểu được cách cấu hình định tuyến BGP
Trong đề tài này tập trung chú trọng vào giao thức là Border Gateway Protocol, phần căn bản về BGP chủ yếu tập trung vào lý thuyết về hoạt động của BGP, sự khác biệt giữa iBGP và eBGP, mối quan hệ giữa các Router láng giềng, việc lựa chọn tuyến đường đi . Đi sâu vào sẽ đề cập tới việc làm thế nào để cấu hình BGP cơ bản nhất. Kích hoạt BGP, việc cấu hình các Router láng giềng, giải thích về injecting route. Làm thế nào xác định cách hoạt động của BGP và xử lý sự cố nếu chúng hoạt động không đúng. Biết được các lệnh hiển thị và lệnh debug có thể được sử dụng để xác minh và khắc phục sự cố trong hoạt động của BGP. Phần nâng cao về BGP, đi sâu hơn vào các khái niệm và hoạt động của BGP, giải quyết vấn đề khả năng mở rộng trong nội bộ BGP. Tìm hiểu các công nghệ BGP có sẵn để khắc phục những hạn chế bên trong BGP. Nghiên cứu sâu hơn vào việc tạo ra và thực thi các điều khoản của BGP.
88 trang |
Chia sẻ: tuandn | Lượt xem: 2755 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tiểu luận Tìm hiểu về giao thức định tuyến Border Gateway Protocol, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN
---o0o---
TIỂU LUẬN CHUYÊN NGÀNH
TÌM HIỂU VỀ GIAO THỨC ĐỊNH TUYẾN
BORDER GATEWAY PROTOCOL
GVHD : Th.S HUỲNH NGUYÊN CHÍNH
SVTH : DƯƠNG CAO ĐẠI NGHĨA 08110197
SVTH : HOÀNG ĐÌNH ĐỒNG 08110221
LỚP : 08110CL1
Tp. Hồ Chí Minh, tháng 12 năm 2011
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn
Th.S Huỳnh Nguyên Chính
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Giáo viên phản biện
Th.S Đinh Công Đoan
LỜI CẢM ƠN
Trong thời gian là sinh viên ngành Công nghệ thông tin, khoa Đào tạo Chất Lượng Cao, Trường Đại Học Sư Phạm Kỹ Thuật thành phố Hồ Chí Minh, chúng em được các thầy cô giảng dạy tận tình, nhiều kiến thức quý báu và những kinh nghiệm để có thể làm ra đực sản phẩm như ngày nay.
Để hoàn thành bài tiểu luận này nhóm em chân thành cảm ơn thầy Nguyễn Đăng Quang, quản ngành Công Nghệ Thông Tin, thầy cô Khoa Công Nghệ Thông Tin bộ môn Mạng máy tính và thầy cô các bộ môn, đặc biệt là thầy Huỳnh Nguyên Chính đã tận tình chỉ bảo cho chúng em những kiến thức quý giá, góp phần quan trọng trong việc hoàn thành bài tiểu luận đúng tiến độ. Qua đó, nhóm đã đạt được nhiều tiến bộ về kiến thức cũng như những kỹ năng làm việc bổ ích.
Xin chân thành gửi lời cảm ơn sâu sắc đến quý thầy đã nhiệt tình hỗ trợ và đóng góp ý kiến, giúp nhóm hoàn thành đề tài này
Sinh viên thực hiện
Dương Cao Đại Nghĩa
Hoàng Đình Đồng
PHẦN MỞ ĐẦU
Tính cấp thiết của đề tài:
Chúng ta đang sống trong thế kỉ 21, kỉ nguyên của khoa học kĩ thuật và công nghệ hiện đại. Vào thời điểm này, ngành công nghiệp công nghệ thông tin và chiếc máy vi tính nắm giữ một vai trò không thể thiếu trong mọi lĩnh vực hoạt động của con người. Một chiếc máy tính để bàn hoạt động độc lập là không đủ, con người muốn liên kết các máy tính lại với nhau thành mạng máy tính để tận dụng sức mạnh xử lí, trao đổi thông tin và chia sẻ tài nguyên. Khi mạng máy tính tăng lên cả về quy mô và số lượng, con người lại muốn liên kết các mạng máy tính này lại với nhau. Làm thế nào để liên kết các máy tính lại với nhau ? Làm thế nào để thông tin có thể được trao đổi giữa các mạng máy tính cách nhau hàng trăm cấy số ? Một bài toán cần được giải để trả lời những câu hỏi trên, đó là bài toán định tuyến.
“Định tuyến” hiểu đơn giản là “tìm đường đi”. Trong truyền thông máy tính định tuyến nghĩa là chỉ ra đường đi để thông tin có thể di chuyển từ nguồn đến đích theo cách tốt nhất. Không thể phủ nhận tầm quan trọng của định tuyến trong truyền thông máy tính. Không có định tuyến, các máy tính không thể trao đổi thông tin với các mạng khác.
Thiết bị thực hiện chức năng định tuyến trên mạng chủ yếu là các Router. Để có thể thực hiện chức năng định tuyến, các Router phải trao đổi thông tin về tuyến với nhau để xây dựng nên các tuyến đường. Tập hợp các qui tắc trao đổi thông tin định tuyến giữa các thiết bị định tuyến với nhau gọi là giao thức định tuyến.
Đối tượng nghiên cứu của đề tài này là giao thức định tuyến BGP (Border Gateway Protocol) – 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 Autonomous-System. 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 network. Các giao thức nội như EIGRP, RIP, OSPF và ISIS sẽ tìm ra network mà người quản trị cần..
Do những hạn chế về mặt thời gian và thiết bị, một số nội dung liên quan không được đưa vào đề tài như: Sự hoạt động và triển khai BGP trên IPv6. Mặc dù đã hết sức cố gắng xong đề tài không tránh khỏi những thiếu sót vì vậy rất mong nhận được ý kiến đóng góp, sự chỉ bảo tận tình của các thầy cô và tất cả các bạn.
Mục tiêu nghiên cứu đề tài:
Tìm hiểu về khái niệm và cách thức hoạt động của BGP
Tìm hiểu được cách cấu hình định tuyến BGP
Trong đề tài này tập trung chú trọng vào giao thức là Border Gateway Protocol, phần căn bản về BGP chủ yếu tập trung vào lý thuyết về hoạt động của BGP, sự khác biệt giữa iBGP và eBGP, mối quan hệ giữa các Router láng giềng, việc lựa chọn tuyến đường đi ..... Đi sâu vào sẽ đề cập tới việc làm thế nào để cấu hình BGP cơ bản nhất. Kích hoạt BGP, việc cấu hình các Router láng giềng, giải thích về injecting route. Làm thế nào xác định cách hoạt động của BGP và xử lý sự cố nếu chúng hoạt động không đúng. Biết được các lệnh hiển thị và lệnh debug có thể được sử dụng để xác minh và khắc phục sự cố trong hoạt động của BGP. Phần nâng cao về BGP, đi sâu hơn vào các khái niệm và hoạt động của BGP, giải quyết vấn đề khả năng mở rộng trong nội bộ BGP. Tìm hiểu các công nghệ BGP có sẵn để khắc phục những hạn chế bên trong BGP. Nghiên cứu sâu hơn vào việc tạo ra và thực thi các điều khoản của BGP.
MỤC LỤC
Trang
Danh mục hình vẽ I
Danh mục bảng biểu II
Danh mục các từ viết tắt III
Chương I: Khái niệm và hoạt động của BGP 01
I.1. Khái niệm 01
I.1.1. Khái niệm Border Gateway Protocol 01
I.1.2. Các khái niệm liên quan 01
I.1.3. Thuật ngữ trong BGP 02
I.2. Hoạt động của BGP 04
I.2.1. Định dạng phần đầu thông điệp 04
I.2.2. Thông điệp OPEN 05
I.2.3. Thông điệp UPDATE 08
I.2.4. Thông điệp KEEPALIVE 13
I.2.5. Thông điệp NOTIFICATION 13
I.2.6. Thương lượng với Neighbor Router 15
I.2.7. Chọn tuyến đường 19
I.2.8. Đồng bộ hoá BGP 24
I.2.9. Tổng hợp các tuyến đường 24
I.3. Khi nào sử dụng và không sử dụng BGP 26
I.3.1. Khi nào dùng BGP 26
I.3.2. Khi nào khôn dùng BGP 26
CHƯƠNG II: Cấu hình và kiểm tra hoạt động của BGP 27
II.1. Cấu hình BGP 27
II.1.1. Cấu hình Minimal BGP 27
II.1.2. Cấu hình iBGP and eBGP 29
II.1.3. Cấu hình eBGP Multihop 32
II.1.4. Thêm Routes vào BGP 34
II.2. Kiểm tra và khắc phục hoạt động của BGP 37
II.2.1. Xem thông tin định tuyến 37
II.2.2. Xem thông tin của Router láng giềng 38
CHƯƠNG III: BGP NÂNG CAO 40
III.1 Khắc phục khả năng mở rộng giới hạn của iBGP 40
III.1.1. Route Reflection 40
III.1.2. Cấu hình Route Reflection cho iBGP 44
III.1.3. Confederations 48
III.1.4. Cấu hình Confederations 51
III.2. Lọc BGP 55
III.2.1. Phân loại danh sách 55
III.2.2. Thêm vào danh sách (Prefix Lists) 58
III.2.3. Bản đồ định tuyến 59
III.3. Các tác động 61
III.4. Các nhóm ngang hàng 64
III.5. Đa kết nối internet trong BGP 67
III.6. Giải quyết vấn đề Next-Hop 68
III.7. Tổng hợp tuyến đường 69
CHƯƠNG IV: MÔ HÌNH THỰC NGHIỆM 71
CHƯƠNG V: KẾT LUẬN 76
TÀI LIỆU THAM KHẢO 77
DANH MỤC HÌNH VẼ
Trang
Hình 1 03
Hình 2 04
Hình 3 06
Hình 4 08
Hình 5 08
Hình 6 14
Hình 7 16
Hình 8 19
Hình 9 24
Hình 10 25
Hình 11 27
Hình 12 30
Hình 13 33
Hình 14 35
Hình 15 41
Hình 16 43
Hình 17 45
Hình 18 49
Hình 19 52
Hình 20 57
Hình 21 60
Hình 22 62
Hình 23 65
Hình 24 69
DANH MỤC BẢNG BIỂU
Trang
Bảng 1 05
Bảng 2 10 - 11
Bảng 3 14
DANH MỤC CÁC TỪ VIẾT TẮT
BGP Border Gateway Protocol
AS Autonomous System
BGPv4 Border Gateway Protocol Version 4
IGP Interior Gateway Protocol
EGP Exterior Gateway Protocol
iBGP internal Border Gateway Protocol
eBGP External Border Gateway Protocol
RID Route Identification
OSPF Open Shortest Path First
IP Internet Protocol
NLRI Network Layer Reachability Information
CIDR Classless Inter-Domain Routing
TCP Transmission Control Protocol
FSM Finite State Machine
RIB Routing Information Base
CHƯƠNG I: KHÁI NIỆM VÀ HOẠT ĐỘNG CỦA BGP
I.1: Khái niệm:
I.1.1. Khái niệm Border Gateway Protocol:
Border Gateway Protocol(BGP) là một giao thức định tuyến liên miền được sử dụng để trao đổi thông tin trên Internet. Internet được tạo nên từ vô số AS(Autonomous System). BGP được dùng để truyền thông tin định tuyến giữa các AS khác nhau. Bởi vậy, BGP là một giao thức định tuyến rất mạng và tin cậy, nó giúp cho người quản trị có thể dễ dàng ứng dụng các chính sách định tuyến.
BGP đã được sáng tạo từ 1 khoảng thời gian khá lâu rồi. BGP được tạo ra vào năm 1989 và được biết đến là BGP version 1. BGPv1 là một giao thức định tuyến phân lớp( classful) và không cho phép gộp các route(Sum routes). Để cải thiện những hạn chế của BGPv3, một BGP mới đã được tạo ra và được gọi là BGP version 4.BGPv4 được tạo ra vào năm 1993. Nó giới thiệu sự hữu ích của định tuyến liên miền không phân lớp (Classless Inter-Domain Routing CIDR) và cho phép gộp, tóm tắt các route (Sum routes).
BGP sử dụng một giao thức kiểm soát truyền tin cậy để truyền các gói tin và đó chính là TCP (Transmission Control Protocol). Nó sử dụng port 179 của TCP để các thiết lập kết nối. Bởi vì TCP là giao thức kiểm soát truyền tin cậy tại Layer 4, BGP có thể loại bỏ sự bổ sung fragmentation,retransmission,acknowledgment và sequencing.
Một chú ý nữa về BGP là nó ko quan tâm về việc định tuyến trong AS. Các IGPs (Interior Gateway Protocols) được dùng trong AS sẽ đảm nhiệm việc đó. BGP chỉ chú trọng đến định tuyến liên miền( Inter-AS Routing). Một BGp speaker sẽ chia sẻ thông tin network với các neighbor BGP speaker. Thông tin network đó bao gồm tất cả các AS khác mà nó có. Thông tin này sẽ được BGP speaker sử dụng để tạo một biểu đồ, hoặc cây từ tất cả các AS vừa nhận được. Biểu đồ đó sẽ giúp BGP bỏ sự lặp tuyến (routing loops) và thiết lập các chính sách nhất định cho các AS.
I.1.2. Các khái niệm liên quan:
Autonomous system: trước đây được định nghĩa là để chỉ một tập hợp các thiết bị mạng cùng chung một chính sách quản lý sử dụng một IGP cho định tuyến nội và một EGP và định tuyến ngoại. Với những thay đổi lớn qua từng năm, định nghĩa về AS đã được thay đổi. Một AS được xem là một tập các thiết bị cùng chung một chính sách quản lý mà có một hay nhiều IGPs để điều khiển định tuyến nội và một EGP cho định tuyến ngoại(định tuyến liên miền). Mặc dù một AS có rất nhiều IGP hoạt động tại cùng một thời điểm, các AS khác sẽ chỉ thấy AS đó có một sự định tuyến nội duy nhất. Điều này cho phép sự hoạt động của nhiều IGP autonomous systems( ví dụ: EIGRP 100, EIGRP 200), nhưng EGP lại không như vậy.
BGP speaker: bất kì một thiết bị nào đang chạy BGP được gọi là BGP speaker.
Peers: khi 2 BGP speaker thiết lập một kết nối TCP, chúng được gọi là peers. Thuật ngữ peers và neighbor là tương tự nhau.
eBGP: External Border Gateway Protocol là giao thức định tuyến được sử dụng để trao đổi thông tin định tuyến giữa 2 BGP peers nằm ở hai AS khác nhau.
iBGP: Internal Border Gateway Protocol là giao thức định tuyến được sử dụng để trao đổi thông tin định tuyến giữa 2 BGP peers nằm trong cùng 1 AS.
Inter-AS Routing: là định tuyến xảy ra giữa 2 AS khác nhau.
Intra-AS Routing: là định tuyến xảy ra trong cùng 1 AS.
I.1.3 Thuật ngữ trong BGP
BGP được biết đến là giao thức định tuyến của Internet. BGP giúp cho sự trao đổi thông tin định tuyến giữa các AS khác nhau đi khắp toàn cầu.
Hình 1 chỉ ra rất nhiều AS khác nhau, chúng sử dụng BGP để chia sẻ thông tin định tuyến.Có 2 loại BGP: Internal BGP(iBGP) và External BGP(eBGP).
Tất cả các BGP speaker trong cùng một AS sử dụng iBGP để liên lạc với những speaker khác.Có một số lưu ý quan trọng về Multiple BGP Speakers trong cùng một AS:
Tất cả các BGP speaker phải là peers của 1 BGP speaker khác.Nghĩa là bạn phải thiết lập một full mesh(các thiết bị đều có kết nối đến tất cả các thiết bị khác nó)để iBGP hoạt động ổn định. Nó không có nghĩa là tất cả các thiết bị đều phải kết nối đến các thiết bị khác- chỉ cần tất cả các BGP Speaker đều phải có Layer 3 hoạt động bình thường. iBGP sẽ sử dụng TCP để tạo peering sessions giữa các iBGP peers.
Một tính chất khác của iBGP peers là chúng sẽ không quảng bá đường định tuyến nhận bằng iBGP cho peers khác. Những đường định tuyến nội này sẽ được quảng bá đi trong AS bằng IGB. BGP không phải là để thay thế IGP nên đừng hiểu nhầm chỉ vì iBGP hoạt động trong 1 AS. Khi iBGP speaker quảng bá một đường định tuyến học từ eBGP đến iBGP peers của nó, đáng lẽ phải là tất cả các speakers trong AS đó nhưng nó không cần làm vậy bởi vì tất cả các iBGP peers đã được thông náo về đường định tuyến đó bởi iBGP peer của nó. Nếu bất kì một iBGP speaker sử dụng eBGP, nó sẽ quảng bá đường định tuyến học từ iBGP cho eBGP peers của nó.
External BGP(eBGP) được sử dụng giữa các BGP speaker nằm ở các AS khác nhau. Giống như iBGP, eBGP peering sesson yêu cầu các BGP speaker tham gia phải có layer 3 hoạt động bình thường(có thể truyền tin đến peers). TCP được sử dụng bởi eBGP để tạo một peering session.
Sau khi tạo ra các peer, BGP speaker sử dụng thông tin peering để tạo một biểu đồ loop-tree của các AS liên quan.Nó còn được gọi là BGP tree.
Hình 1 Multiple AS.
Khi BGP speaker đã tạo peers và tạo ra BGP tree, chúng sẽ trao đổi thông tin định tuyến. BGP speaker trước tiên sẽ trao đổi bảng định tuyến BGP. Từ đó trở đi, peers sẽ trao đổi thông tin update của bảng định tuyến BGP của chúng và gói tin KEEPALIVE để giữ kết nối.
Ghi chú:bảng định tuyến BGP không phải là Bảng định tuyến IP.Hơn nữa bảng định tuyến BGP giống như là một topology database, nó chứa entries mà không bao giờ có trong bảng định tuyến IP. Khi dùng câu lệnh “show ip route bgp” sẽ hiển thị đường định tuyến học qua BGP mà được cho vào bảng định tuyến IP.
I.2. Hoạt động của BGP
I.2.1. Định dạng phần đầu thông điệp:
Một message có tối thiểu là 19 octets hay tối đa là 4096 octets.
Cấu trúc cơ bản của message trong BGP là:
16-byte Marker.
2-byte Length.
1-byte Type.
Hình 2
Marker: trường Marker dài 16 bytes. Nó được sử dụng để phát hiện sự mất đồng bộ hóa giữa các BGP peers và dùng để xác thực các message về sau.Giá trị nằm trong trường Marker tùy thuộc vào loại message. Nếu là một Open message thì sẽ không có thông tin xác thực.
Length: dài 2 bytes, nó chứa chiều dài của message kể cả trường Marker. Giá trị trong trường này nhỏ nhất là 19 và không được lớn hơn 4096.
Type: dài 1 bytes. Chứa mã qui định loại của message. Có 4 loại message:
Loại giá trị
Loại thông điệp
1
Thông điệp OPEN
2
Thông điệp UPDATE
3
Thông điệp NOTIFICATION
4
Thông điệp KEEPALIVE
Bảng 1.
I.2.2. Thông điệp OPEN:
OPEN message là loại message được gửi đầu tiên sau khi TCP session được thành lập.Khi OPEN message được chấp nhận, một KEEPALIVE message được gửi trả về để xác thực là OPEN message đã được chấp nhận. Sau khi KEEPALIVE đã được gửi, chúng sẽ gửi tiếp UPDATE message, NOTIFICATION message, cuối cùng KEEPALIVE message sẽ được trao đổi giữa các BGP peers.
Cấu trúc của OPEN message:
Hình 3
Version: dài 1 byte và nó cho biết version của BGP để neighbor sử dụng version cho phù hợp. BGP speakers sẽ chọn version cao nhất mà 2 speaker có thể chạy được. Nếu BGP speaker nhận không thể chạy theo số version trong trường này qui định thì gói tin báo lỗi sẽ được gửi trả về cho người nhận và TCP session sẽ bị hủy. TCP session sẽ được thiết lập lại và số version sẽ thấp hơn số version lúc trước. Điều này sẽ lặp đi lặp lại cho đến khi chúng tìm được một version cả 2 cùng hỗ trợ được.
My Autonomous System: dài 2 bytes và chứa số AS của BGP speaker gửi gói OPEN đi.Trường này sẽ giúp cho BGP speaker nhận gói OPEN biết được AS của neighbor của nó và nó còn được dùng trong tạo BGP tree của BGP speaker.
HoldTime: dài 2 bytes và giúp cho BGP speaker nhận biết được giá trị đề xuất cho holdtime của BGP speaker gửi. BGP speaker nhận sẽ so sánh giá trị nhỏ nhất giữa holdtime của nó và holdtime nhận được. Điều này sẽ quyết định số giây mà BGP speaker sẽ đợi để nhận KEEPALIVE hoặc UPDATE message. Nếu một trong những message đó không được nhận trong khoảng thời gian qui định, neighbor đó sẽ được coi là dead. Mỗi lần nhận message, holdtime sẽ reset về 0. Không giống như tham số BGP version, kết nối sẽ phải reset để tìm được thông số chung, tìm holdtime chung không cần reset kết nối.
BGP speaker có thể set holdtime là 0. Nếu điều đó xảy ra sẽ không có KEEPALIVE message được gửi. Như vậy kết nối luôn luôn đảm bảo. Holdtime bằng 0 cũng gây ra trở ngại khi kết nối của 1 peers có vấn đề. Bởi vì KEEPALIVE message không được trao đổi , peers kia sẽ không biết sự mất kết nối xảy ra. Nếu giá trị của holdtime không bằng 0 thì nó phải lớn hơn hoặc bằng 3.
BGP Identifier: dài 4 bytes và chứa BGP identifier của BGP speaker gửi. BGP identifier tương tự như router ID(RID) trong OSPF. Nó gán chỉ số ID cho từng BGP speaker riêng biệt. Giống như OSPF RID, BGP identifier sẽ là giá trị IP cao nhất của interface Loopback. Nếu router không có Loopback, nó sẽ chọn địa chỉ IP cao nhất của interface vật lý trên router. BGP identifier sẽ được chọn khi BGP khởi động trên router. Nói cách khác, khi BGP identifier đã được chọn, bạn không thể thay đổi được trừ khi bạn cài đặt lại BGP. Tốt nhất là bạn nên set IP cho interface Loopback để chọn BGP identifier mong muốn.
Optional Parameters Length: dài 1 byte và nó qui định kích thước của trường Optional Parameter. Giá trị 0 của trường này biểu thị cho không có Optional parameter nào được chọn.
Optional Parameters: chứa 1 danh sách các optional parameters sẽ được sử dụng trong thỏa hiệp BGP neighbor Mỗi optional parameter có cấu trúc
Parameter Type: dài 1 byte và dùng để định dạng parameter.
Parameter Length: dài 1 byte và chứa giá trị kích cỡ của Parameter Value.
Parameter Value: có độ dài nhất định, được biểu diễn dựa trên giá trị của Parameter Type.
Hình 4
I.2.3. Thông điệp UPDATE:
Sau khi BGP speakers đã trở thành peers, chúng sẽ trao đổi UPDATE message. UPDATE message chứa thông tin định tuyến cho BGP, chúng sẽ được dùng để tạo ra môi trường định tuyến Loop-tree. UPDATE message không chỉ chứa các route để sử dụng, nó còn chứa các route không còn hoạt động nữa(Unfeasible Route). Một UPDATE message chỉ chứa 1 route để sử dụng nhưng nó có thể chứa hàng tá các route đã không hoạt động nữa để router xóa khỏi sơ đồ. Những route không còn hoạt động được quảng bá trong UPDATE message nằm trong trường Network Layer Reachability Information (NLRI). Nếu nhưng một route chết ngay lúc UPDATE message vừa lấy thông tin route thì nó sẽ không nằm trong trường NLRI của message đó.
Cấu trúc của UPDATE message:
Hình 5
Trường Unfeasible Route Length: dài 2 bytes và chứa kích thước của trường Withdrawn Routes(những Unfeasible Routes). Giá trị 0 tức là không có trường Withdraw Routes trong UPDATE message.
Trường Withdraw Routes: Chứa một danh sách tiền tố địa chỉ IP đã chết(không còn hoạt động). Những tiền tố này có 2 thuộc tính:
Length: dài 1 byte, chứa chiều dài, đơn vị là bit của IP prefix-list. Nếu nó có giá trị là 0, nghĩa là tất cả các IP prefix-list.
Prefix: chứa IP Prefix-list.
Trường Total Path Attributes Length(TPAL): dài 2 bytes, chứa chiều dài của trường Path Attributes. Giá trị 0 tức là không có thông tin NLRI trong UPDATE message này.
Trường Path Attributes: có kích thước thay đổi và chứa các chuỗi thuộc tính của 1 đường đi. Trường này luôn có trong tất cả các UPDATE message. Nếu nó rỗng thì TPAL là 0. Thông tin của nó dùng để tìm thông tin định tuyến nhất định và dùng cho định tuyến hoặc filter. Cấu trúc của chúng chia làm 3 phần: .
Trường Attribute Type dài 2 bytes và chứa trong nó các byte Attribute Flags và Attribute Type Code.
Attribute Flag: chứa các trạng thái qui định thuộc tính đường đi:
Well-known mandatory: thuộc tính phải được nhận bởi tất cả các thiết bị chạy BGP và chứa trong UPDATE message. Nếu thuộc tính này không có trong UPDATE message, TCP session sẽ bị hủy ngay lập tức.
Well-known discretionary: thuộc tính phải được nhận ra bởi tất cả thiết bị chạy BGP nhưng không cần thiết phải có trong UPDATE message.
Optional Transitive:cho phép các thuộc tính không bắt buộc và không được nhận ra bởi thiết bị chạy BGP, được chuyển đến BGP speaker’s peers.
Optional non-transitive: Nếu một thuộc tính không bắt buộc, không được nhận ra bởi 1 thiết bị chạy BGP và transitive flag chưa được set, thuộc tính này sẽ không được gửi đến BGP speaker’s peers.
Các thuộc tính đường đi được qui định dựa vào các bit trong A
Các file đính kèm theo tài liệu này:
- [Final] TimHieuVeGiaoThucDinhTuyenBGP.doc
- [TLCN] BGP.pptx