YOMEDIA
ADSENSE
Tìm hiểu về giao thức định tuyến BGP
781
lượt xem 167
download
lượt xem 167
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Tham khảo luận văn - đề án 'tìm hiểu về giao thức định tuyến bgp', luận văn - báo cáo, công nghệ thông tin phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tìm hiểu về giao thức định tuyến BGP
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN *** BÀI TẬP LỚN AN TOÀN INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ TÌM HIỂU VỀ GIAO THỨC ĐỊNH TUYẾN BGP Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 1
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự MỤC LỤC : CHƯƠNG I.TỔNG QUAN VỀ BGP ………………………………………………. 2 I.1.Khái niệm BGP…………………………………………………………….. 2 I.2.Đặc điểm của BGP…………………………………………………………. 2 I.3.Thuật ngữ BGP…………………………………………………………….. 5 I.4.Hoạt động của BGP………………………………………………………... 6 I.5.Khi dùng BGP và khi không dùng BGP ………………………………….. 15 I.5.1.Khi nào dùng BGP?.................................................................................. 15 I.5.2.Khi nào không dùng BGP?....................................................................... 16 I.6.So sánh IBGP và EBGP…………………………………………………… 16 I.7.Các bước xây dựng bảng định tuyến ………………………………………. 16 CHƯƠNG II.CÁC THÔNG SỐ TUYẾN ĐƯỜNG TRONG BGP…………… 17 *Có 2 dạng thông số : + Well – Know : - Mandatory ( Origin , AS – path , Next-hop ) Discretionary ( Local preference , Atomic aggregate…) - + Option : - Non – transitive ( MED , Cluster – list ) Transitive ( Communities…) - II.1. Thông số AS – path ……………………………………………………… 17 II.2.Thông số Next hop ……………………………………………………….. 19 II.3.Thuộc tính Aggregator và Local – preference…………………………….. 22 II.4.Thuộc tính Weight và thuộc tính MED…………………………………… 25 CHƯƠNG III.SỬ DỤNG CHÍNH SÁCH VỚI BGP…………………………...… 28 III.1.Lọc tuyến……………………………………………………………………… 28 III.2.Sử dụng distribute list để lọc route…………………………………………… 28 III.3.Lệnh ip prefix list……………………………………………………………. 29 III.4.Route map ……………………………………………………………………. 30 CHƯƠNG IV.DEMOVÀ KIỂM TRA BGP …………………………………...… 34 IV.1.Xem trạng thái BGP ……………………………………………………. IV.2.Xem hàng xóm BGP ……………………………………………………. IV.3.Xem bảng BGP …………………………………………………………. IV.4.Xem bảng routing ………………………………………………………. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 2
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự Tài liệu tham khảo : - CCNP ROUTE 642-902 Official Certification Guide - Cisco IOS Cookbook, 2nd Edition - Cisco Press - Routing TCPIP Volume II (CCIE Professional Development) (2010) - Cisco.Press.CCNP.BSCI.Portable.Command.Guide.May.2007 - ISP WorkShop Danh mục các hình vẽ : Danh mục các hình Trang Hình 1.1 .Bảng các giao thức định tuyến động 2 Hình 1.2 . Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 3
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự CHƯƠNG I . TỔNG QUAN VỀ BGP I.1.KHÁI NIỆM 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 (reliable transport protocol) để 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. Điều đáng chú ý về BGP là nó không quan tâm về intra-AS routing, nó tin tưởng rằng các IGP được sử dụng trong AS sẽ đảm nhiệm intra-AS routing. Mà nó chỉ đề 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 spaking device để tạo graph của tất c ả các AS đang sử dụng. Graph đó 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ó. Hình1.1 Bảng các giao thức định tuyến động Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 4
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự I.2: ĐẶC ĐIỂM CỦA BGP + Sử dụng giao thức định hướng kết nối với những cải tiến: - Bản tin cập nhật là tin cậy - cập nhật theo chu kì - nhiều thông số tính metrics + Được dùng để thiết kế mạng có quy mô rất lớn BGP là một giao thức định tuyến dạng path-vector nên vi ệc ch ọn 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, 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 thường quảng bá thông tin hi ện có đ ến các router láng giềng, còn 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 path vector giúp vi ệc xác đ ịnh vòng l ặp trên m ạng r ấ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ỉ CIDR (Classless Interdomain Routing). BGP cho phép dùng xác thực và BGP có các 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 routing-update sẽ được gửi. Sau đó, BGP sẽ chuyển sang c ơ chế dùng trigger-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 trigger-update. Một trong các đặc điểm khác biệt nhất của BGP là trong các routing-update c ủa nó. 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 quá trình 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. Tuy nhiên, một phần nhỏ của BGP update là khá quan trọng. 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 1 AS. Khi dùng 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. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 5
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự Trong một AS ta sử dụng giao thức định tuyến nội IGP (ví d ụ như RIP, ISIS, 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 một AS thì chính sách định tuyến lại là vấn đề quan trọng . Xét ví dụ sau: AS4---AS1---AS2---AS3---(C Company) |........................................| |........................................| B Company-----------A Company Giả sử A muốn truyền dữ liệu đến AS4. A và B là 2 đối thủ của nhau. B không mu ốn chuyển dữ liệu cho công ty A nên A chỉ có thể chuyển dữ li ệu thông qua AS3, AS2, AS1 để đến được AS4, mặc dù con đường thông qua công ty B có thể là tối ưu nh ất. Gi ả sử C 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à cost 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 dữ li ệu đến đích m ột cách hi ệu qu ả và tối ưu nhất Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 6
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự I.3.THUẬT NGỮ BGP Thuật ngữ Định nghĩa Stt Là quá trình tóm tắt các route – (summarization) 1 Aggregation Tương tự như metric. Các biến này sẽ mô tả các đặc 2 Attribute đ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. Định nghĩa mạng của một tổ chức. Trong một AS, các 3 Autonomous System 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. Thuật ngữ chung cho một giao thức được chạy giữa các 4 Exterior Gateway AS khác nhau. Cũng có một giao thức có tên là EGP là tiền Protocol (EGP) thân của BGP Gửi thông tin định tuyến giữa các AS khác nhau 5 EBGP Đây là các giao thức định tuyến chạy bên trong m ột AS. 6 Interior Gateway Trong quá khứ, thuật ngữ gateway thường được dùng để Protocol (IGP) định nghĩa một router. Giao thức này được dùng bên trong một AS. Các router 7 IBGP không yêu cầu 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 cùng một AS. Đây là thuộc tính của BGP. Nó là một thuộc tính tùy 8 Originator-ID 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 routing loop. Nếu một router nhận được một update từ chính nó, router đó sẽ bỏ qua update đó. Cơ chế này cho phép người quản trị lập trình giao thức 9 policy-based routing định tuyến bằng cách định nghĩa traffic sẽ được route như thế nào. Đây là một dạng của định tuyến tĩnh. PBR đ ộc l ập với các giao thức định tuyến và dùng route-map đ ể tạo ra các quá trình riêng lẽ để áp đặt các quyết định định tuyến. Prefix list được dùng như một thay thế cho distribute-list 10 prefix list để kiểm soát BGP học hoặc quảng bá các cập nhật như thế nào. Prefix-list thì nhanh hơn, uyển chuyển hơn và ít tốn tài nguyên của hệ thống hơn. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 7
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự Đây là router được cấu hình để chuyển các routes từ các 11 Route-reflector 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. Một client là một router có một TCP session với m ột 12 Route-Reflector Client router khác hoạt động như một route-reflector-server. Client không cần thiết phải thiết lập peer với các client khác. Một cluster là một nhóm bao gồm một route-reflector và 13 Route_reflector Clustor clients. Có thể có nhiều hơn một route-reflector server trong một cluster. Là AS được dùng để mang các BGP traffic qua các AS 14 transit autonomous system khác. I.4.HOẠT ĐỘNG CỦA BGP ( BGP OPERATION ) BGP cho phép truyền thông thông tin định tuyến gi ữa các AS khác nhau tr ải kh ắp th ế giới. Hình dưới cho biết rất nhiều AS và chúng sử dụng BGP đ ể chia sẻ thông tin đinh tuyến giữa các AS khác nhau. Chúng sử dụng 2 dạng BGP để thực hiện điều đó: Internal BGP (iBGP) External BGP (eBGP) Tất cả BGP speaking device cùng trong một AS sẽ sử dụng iBGP để liên l ạc v ới m ột BGP speaking khác. Và đối với các BGP speaking trong cùng AS sẽ phải thi ết l ập peer v ới các BGP speaking khác. Điều đó có nghĩa là chúng ta phi c ấu hình full mesh cho iBGP đ ể hoạt động một cách đú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. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 8
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự eBGP được sử dụng giữa BGP speaking device của các AS khác nhau. Giông nh ư iBGP, BGP speking device tham gia phi 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 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. 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. I.4.1. Định dạng mào đầu của bản tin (Message Header Format) BGP sẽ tiến hành xử lý bản tin chỉ 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 message bao gồm những thông tin sau: + Marker: trường này dài 16 byte. Trường Marker được sử dụng để xác định sự mất đồng bộ giữa một tập BGP peer và chứng thực các bản tin BGP đế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 có giá trị là toàn bit 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 1 byte. Nó cho bi ết lo ại b ản tin đ ược s ử d ụng. C ụ th ể nh ư hình bên dưới: Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 9
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự a/ Bản tin OPEN ( OPEN Message) Bản 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, b ản tin UPDATE từng phần, bản tin NOTIFICATION và bản tin KEEPALIVE sẽ được trao đổi giữa các BGP peer. Bản tin OPEN có định dạng như sau: - 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 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 nới 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. - My Autonomous System: trường này có độ dài 2 byte và nó chứa đ ựng Autonolous System Number của BGP speaker gửi. Trường này sẽ thông báo cho BGP speaker nhận biết Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 10
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự được giá trị của AS Number của neighbor của nó. Và giá trị đó cũng đ ược sử d ụng đ ể t ạo nên BGP graph của BGP speaker. - Hold Time: trường này có độ dài 2 byte. Nó thông báo cho BGP speaker nh ận giá tr ị đ ề nghị hold time của BGP speker gửi. Sau khi BGP speaker nh ận đ ược giá tr ị hold time t ừ neighbor 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. - BGP Identifier: trường này có độ dài 4 byte và chứa đựng giá trị BGP identifier c ủa BGP speaker gửi. BGP identifier tưng tự 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 router. Giá trị này được xác định chỉ một lần và giá trị này không thay đổi trừ phi khởi động lại BGP process. - Optional Parameters Length: trường này có độ dài 1 byte và nó 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 lập. - Optional Parameters: trường này có độ dài biến đổi và chứa đựng m ột danh sách các 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 được biểu diễn bởi bộ ba: . Định dạnh cụ thể như hình sau: Parameter Type: trường này có độ dài 1 byte và nhận ra từng thông số riêng lẻ. Parameter Length: có độ dài 1 byte và chứa đựng độ dài của trường 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/ Bản 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 Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 11
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự (incremental 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 tuyến kh thi để sử dụng mà nó còn chứa nh ững 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: + Unfeasible Routes Length: trường này có độ dài 2 byte và ch ứa đ ựng đ ộ dài c ủa tr ường Withdrawn Routes. Giá trị của nó là 0 cho biết trường Withdrawn Routes không đ ược th ể hiện trong bản tin UPDATE. + Withdrawn Routes: trường này có độ dài thay đổi và chứa m ột danh sách nh ững ti ền t ố địa chỉ IP (IP address prefixes)sẽ bị loại bỏ. Với m ỗi ti ền tố địa ch ỉ IP có đ ịnh d ạng nh ư sau: - Length: trường này có độ dài 1 byte và chứa đựng độ dài (đơn vị là bit) c ủa IP address prefix. Nếu có giá trị là 0 có nghĩa là tất cả IP address prefix. - Prefix: có giá trị biến đổi và chứa đựng IP address prefix. - Total Path Attributes Length: trường này có độ dài 2 byte và chứa đựng độ dài c ủa tr ường Path Attributes. - Path Attributes: trường này có độ dài thay đổi và chứa đ ựng m ột chu ỗi các thu ộc tính v ề path. Trường Path Attributes được thể hiện trong m ỗi bản tin UPDATE. Thông tin ch ứa đựng trong trường Path Attribute được sử dụng để theo dõi thông tin đ ịnh tuy ến đ ặc bi ệt và cũng được sử dụng cho routing decision và filtering. M ỗi path attribute đ ược phân chia Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 12
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự vào một bộ ba (triplet): Attribute Type: có độ dài 2 byte và bao gồm một byte Attribute Flags và một byte - Attribute Type Code. • Attribute Flags: có 4 trạng thái như sau: + Well-known mandatory: thuộc tính này phải được thừa nhận bởi sự thi hành c ủa t ất c ả BGP speaker và phải được trình bày trong bản tin UPDATE. M ột phiên BGP s ẽ b ị ng ắt nếu một thuộc tính wellknown attribute không được trình bày trong bn tin UPDATE. + Well-known discretionary: thuộc tính này phải được thừa nhận b ởi sự thi hành c ủa t ất cả BGP speaker nhưng không nhất thiết nó phải có trong bản tin UPDATE. + Optional transitive: thuộc tính này là một tính tuỳ chọn và nó có th ể không đ ược th ừa nhận bởi sự thi hành của BGP speaker. Chú ý giá trị này không thay đổi n ếu nó không được thừa nhận bởi BGP speaker. + Optional non-transitive: Nếu thuộc tính này không được thừa nh ận b ởi BGP speaker và transitive flag không được thiết lập thì thuộc tính này sẽ bị loại bỏ. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 13
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự + Attribute Type Code: xác định loại Path Attribute. Cụ thể được minh hoạ như hình sau: Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 14
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự Trong đó: ORIGIN: là một well-known mandatory attribute. AS mà tạo ra thông tin đ ịnh tuyến sẽ tạo ra thuộc tính ORIGIN attribute. Nó có trong tất c ả bản tin UPDATE đ ể nhân bản thông tin định tuyến. AS_PATH: là một well-known mandatory attribute. Nó bao gồm một danh sách của tất cả các AS mà thông tin định tuyến đã đi qua. Thành phần AS_PATH bao gồm m ột chuỗi của các AS path segment. Mỗi AS path segment được bi ểu diễn b ằng b ộ ba (triplet): . Khi m ột BGP speaker qu ảng bá một route mà nó học được tới BGP speaker khác trong AS c ủa nó, BGP speaker s ẽ không sửa đổi (modify) AS_PATH attribute. Khi một BGP speaker qu ảng bá m ột route mà Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 15
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự nó được tới BGP speaker khác ở ngoài AS c ủa nó, BGP speaker s ẽ s ửa đ ổi (modify) AS_PATH. - Khi một BGP speaker tạo ra một route. Nó sẽ bao gồm một empty AS_PATH attribute khi quảng bá tới BGP speaker trong AS của nó_đó chính là iBGP peer. BGP speaker sẽ bao gồm AS number trong AS_attribute khi qung bá tới BGP speaker ở ngoài AS của nó_đó chính là eBGP peer. NEXT_HOP: là một well-known mandatory attribute, nó xác đ ịnh đ ịa ch ỉ IP c ủa router biên (border router) mà được sử dụng như hop tiếp theo để tới đích xác định nào đó. MULTI_EXIT_DISC: là một optional non-transitive attribute. Nếu có nhi ều m ục nh ập tới cùng một AS, nó có thể được sử dụng để xác định mục nhập nào được sử d ụng. M ục nhập nào có metric nhỏ nhất sẽ được sử dụng. LOCAL_PREF: là một well-known discretionary attribute. Thu ộc tính này đ ược s ử dụng bởi BGP speaker để thiết lập độ ưu tiên của một route, nó đ ược sử d ụng đ ể cho bi ết độ ưu tiên cao hơn của một đường để thoát khỏi AS. BGP speaker sẽ quảng bá thu ộc tính này tới BGP peer của nó. ATOMIC_AGGREGATE: là một well-known discretionary attribute. Khi m ột BGP speaker nhận được những route trùng khớp từ peer của nó, nó có th ể thi ết l ập thu ộc tính ATOMIC_AGGREGATE. Thuộc tính này sẽ được thiết lập n ếu BGP speaker ch ọn đ ược một route với subnet mask ngắn hơn subnet mask của một route khác. AGGREGATOR: là một optional transitive attribute. Khi m ột BGP speaker th ực hi ện route aggregator, nó sẽ tính đến thuộc tính AGGREGATOR bao gồm AS number c ủa nó và BGP identifier. COMMUNITY: là một optional transitive attribute. Thuộc tính này sẽ phân nhóm các bằng cách gằn thẻ (tag) vào những route có một số đặc điểm chung. ORIGINATOR_ID: là một optional non-transitive attribute. M ột BGP speaker th ực hi ện vai trò của một route reflector sẽ tạo ra thuộc tính này. Thuộc tính ORIGINATOR_ID s ẽ bao gồm BGP identifier của route reflector. Thuộc tính này chỉ có ý nghĩa local AS. CLUSTER_LIST: là một optional non-transitive attribute. Thuộc tính này bao gồm m ột danh sách giá trị CLUSTER_ID. Khi một route reflector reflect m ột route, nó s ẽ g ắn giá tr ị CLUSTER_ID của nó vào CLUSTER_LIST. Network Layer Reachability Information: Với BGP version 4 nó h ỗ tr ợ Classless Interdomain Routing (CIDR). Để thực hiện được điều này nó sử d ụng tr ường Network Layer Reachability Information (NLRI). Trường này có 2 phần sau: Length: cho biết độ dài của IP address prefix. Prefix: có độ dài thay đổi và chứa đựng IP address prefix thực sự. c/ Bản tin KEEPALIVE (KEEPALIVE Message) Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 16
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự Bản tin KEEPALIVE được sử dụng để đảm bảo rằng peer vẫn tồn tại. Bản tin KEEPALIVE được cấu trúc bởi BGP Message Header. Bản tin KEEPALIVE đ ược g ửi trong trường hợp restart giá trị hold timer. Chu kỳ gửi bản tin KEEPALIVE có giá tr ị b ằng 1/3 giá trị hold time. Bản tin KEEPALIVE không được gửi nếu một bản tin UPDATE trong suôt khong chu kỳ này. d/ Bản tin NOTIFICATION (NOTIFICATION Message) Bất cứ khi nào có một lỗi xảy ra trong m ột BGP session, BGP speaker phát ra m ột b ản tin NOTIFICATION. Ngay sau khi BGP speaker được phát ra thì phiên k ết n ối s ẽ b ị ng ắt. Bản tin NOTIFICATION bao gồm error code, error sub-code sẽ cho phép ng ười qu ản tr ị thuận lợi hơn trong quá trình gỡ rối. Định dạng của bản tin NOTIFICATION như sau: I.4.2. Neighbor Negotiation Trước khi quá trình BGP liên lạc xảy ra, BGP speaker phải trở thành neighbor hay peer - của nhau. Bước đầu trong quá trình thiết lập peer là BGP speaker thi ết l ập phiên k ết n ối TCP sử dụng port 179 với BGP speaker khác. Nếu đi ều này không xảy ra thì BGP speaker sẽ không bao giờ trở thành peer của nhau. Sau khi phiên kết nối TCP được thi ết lập, BGP speaker gửi bản tin OPEN tới peer của nó. Ti ếp đó là các bản tin UPDATE, NOTIFICATION, KEEPALIVE sẽ được trao đổi. Quá trình thiết lập neighbor đó được gọi là Finite State Machine. Quá trình trên có 6 - trạng thái có thể xảy ra trong quá trình thiết lập quan hệ với neighbor. Idle state: là trạng thái đầu tiên mà BGP speaker trải qua khi khởi tạo m ột phiên BGP. Ơ trạng thái này BGP speaker đợi một start event, từ chối tất cả BGP kết nối đến và không khởi tạo bất kỳ một BGP kết nối nào (BGP connection). Start event có th ể đ ược t ạo ra b ởi BGP speaker hay quản trị hệ thống. Chỉ một lần start event xảy ra, BGP speaker sẽ kh ởi tạo tất cả tài nguyên BGP của nó. BGP sẽ khởi tạo ConnectRetry timer, kh ởi t ạo m ột k ết nối TCP tới BGP speaker mà muốn trở thành peer với nó và cũng l ắng nghe start event t ừ BGP speaker khác. BGP speaker sẽ thay đổi trạng thái của nó sang Connection. N ếu b ất kỳ lỗi nào xảy ra trong xuốt quá trình này, phiên TCP sẽ bị ngắt và trạng thái của BGP speaker sẽ trở lại Idle. Và một start event mới cần phải xảy ra để BGP speaker th ử k ết n ối l ại l ần nữa. Nếu start event được tự động sinh ra, BGP speaker sẽ đợi 60 giây trước khi thử lại (retry) kết lối. Và mỗi lần retry kế tiếp thời gian chờ sẽ tăng lên gấp đôi. Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 17
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự - Connection state: Trong trạng thái này, BGP sẽ đợi kết nối TCPđ ược thi ết l ập. Ch ỉ m ột lần kết nối được thiết lập thành công, BGP speaker sẽ làm sạch ConnectRetry timer, nó s ẽ gửi một bản tin OPEN tới remote BGP speaker và chuyển trạng thái c ủa nó sang OpenSent. Nếu kết nối TCP không được kết nối thành công, BGP speaker sẽ kh ởi t ạo l ại ConnectRetry timer, và tiếp tục nghe một yêu cầu kết nối khác tử remote BGP speaker, và chuyển trạng thái sang Active. Nếu ConnectRetry timer hết hạn, BGP speaker s ẽ kh ởi t ại lại ConnectRetry timer và tiếp tục lắng nghe m ột yêu c ầu k ết n ối t ừ remote BGP speaker và nó vẫn giữ trạng thái của nó ở Connection state. Nếu bất c ứ loại event khác gây lên l ỗi thì BGP speaker sẽ đóng kết nối TCP và chuyển trạng thái của nó về Idle. Tất c ả các start even đều sẽ bị lờ đi trong Connection state. - Active state: trong trạng thái này, BGP speaker thử khở tạo m ột phiên kết n ối TCP v ới BGP speaker mà muốn trở thành peer với nó. Chỉ m ột lần kết n ối thành công, BGP speaker sẽ xoá sạch ConnectRetrry timer, sau đó BGP speaker sẽ gửi m ột bản tin OPEN t ới remote BGP speaker và chuyển trạng thái sang OpenSent. Nếu ConnectRetry timer h ết h ạn, BGP speaker sẽ thiết lập lại thời gian, khởi tạo một phiên kết nối TCP và ti ếp tục lắng nghe các yêu cầu kết nối từ remote BGP speaker và chuyển trạng thái sang Connection. N ếu BGP speaker xác định được một BGP speaker khác thử thi ết lập k ết n ối v ới nó và đ ịa ch ỉ IP của remote BGP speakerkhông phải là địa chỉ mong muốn, BGP speaker s ẽ t ừ ch ối yêu cầu kết nối này và thiết lập lại ConnectRetry timer, tiếp tục lắng nghe m ột yêu c ầu k ết nối khác từ remote BGP speaker và giữ trạng thái Active. N ếu b ất c ứ lo ại event khác nào gây ra lỗi,BGP speaker sẽ đóng kết nối TCP và chuyển tr ạng thái v ề Idle. T ất c ả start event sẽ bị lờ đi ở trạng thái Active. - OpenSent state: ở trạng thái này, BGP speaker đợi để nhận m ột bản tin OPEN t ừ remote BGP speaker. Chỉ một lần BGP speaker nhận bản tin OPEN, t ất c ả các tr ường s ẽ đ ược kiểm tra.Nếu một lỗi được xác định bởi BGP speaker, nó sẽ gửi một bản tin NOTIFICATION tới remote BGP speaker và ngắt kết nối TCP, và chuyển trạng thái c ủa nó sang Idle. Nếu không có lỗi nào được xác định, BGP speaker sẽ gửi m ột b ản tin KEEPALIVE tới remote BGP speaker, thiết lập các giá trị keepalive timer và hold timer đ ể đàm phán với neighbor. BGP speaker sẽ đàm phán để điều chỉnh giá tr ị hold time. N ếu hold time giá trị là 0, có nghĩa là keepalive timer và hold timer sẽ không bao gi ờ đ ược thi ết l ập lại. Sau quá trình đàm phán về hold timer, BGP speaker sẽ xác đ ịnh kết n ỗi là iBGP hay eBGP. Nếu 2 BGP speaker cùng trong một autonomous system, loại BGP sẽ là iBGP. Nếu chúng thuộc 2 autonomous system khác nhau, loại BGP sẽ là eBGP. Chỉ một lần loại BGP được xác định, trạng thái của nó sẽ chuyển sang OpenConfirm. Trong suốt trạng thái này, có thể BGP speaker sẽ nhận được m ột bản tin disconnect. N ếu điều này xảy ra, BGP speaker sẽ chuyển trạng thái sang Active. N ếu bất kỳ event khác nào gây ra một lỗi, BGP speaker sẽ đóng kết nối TCP và chuyển trạng thái sang Idle. T ất c ả Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 18
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự các start event sẽ bị lờ đi trong trạng thái OpenSent. - OpenConfirm state: ở trạng thái này, BGP speker đợi để nhận m ột bản tin KEEPALIVE từ remote BGP speaker. Chỉ một lần bản tin KEEALIVE được nhận, BGP speaker s ẽ thi ết lập lại hold timer và chuyển trạng thái sang Established. Tại thời đi ểm này m ối quan h ệ peer giữa chúng đã được thiết lập. Nếu một bản tin NOTIFICATION được nh ận thay th ế cho bản tin KEEPALIVE, BGP speaker sẽ thay đổi trạng thái sang Idle. Trong tr ường h ợp hold timer hết hạn trước khi nhận được bản tin KEEPALIVE từ remote BGP speaker, k ết thúc kết nối TCP chuyển trạng thái sang Idle. BGP speaker có th ể nh ận đ ược b ản tin disconnect từ peer của nó. Nếu điều này xảy ra, BGP speaker chuyển tr ạng thái sang Idle. Bất cứ loại event khác gây lên lỗi, BGP speaker sẽ đóng kết n ối TCP và chuyển tr ạng thái sang Idle. Tất cả các start event sẽ bị lờ đi trong trạng thái OpenConfirm. - Established state: chỉ một lần một BGP speaker đạt đến trạng thái Established, tất c ả các quá trình đàm phán với neigbor đã hoàn tất. Ơ trạng thái này BGP peer s ẽ trao đ ổi b ản tin UPDATE và bản tin KEEPALIVE. Mỗi lận BGP speaker nhận được m ột bn tin UPDATE hay bn tin KEEPALIVE, nó sẽ thiết lập lại hold timer của nó. N ếu hold timer h ết hạn trước khi nhận được một bản tin UPDATE hay bản tin KEEPALIVE, BGP speaker sẽ gửi một bn tin NOTIFICATION tới peer của nó, ngắt phiên k ết n ối TCP và chuy ển tr ạng thái sang Idle. Bất cứ event khác khiến cho BGP speaker tạo ra m ột bản NOTIFICATION thì BGP speaker sẽ chuyển trạng thái về Idle. Tất cả Start event sẽ bị lờ đi trong tr ạng thái Established. Tip: Chỉ một lần BGP peer đạt đến trạng thái Established, chúng sẽ bắt đ ầu quá trình trao đổi thông tin định tuyến. I..5. KHI NÀO DÙNG BGP VÀ KHI KHÔNG DÙNG BGP ( WHEN & WHEN NOT TO USE BGP ) I.5.1.Khi nào thì dùng BGP? Khi mạng 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. Chi 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, 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. I.5.2Khi nào thì không dùng BGP? 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 Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 19
- Bài tập lớn An toàn internet & TMDT GVHD : Tr ần Đức S ự có các đặc điểm sau, nên dùng những cách thức khác, ch ẳng h ạn nh ư static 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ủa bạn 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. * Tài nguyên mạng là có giới hạn, chẳng hạn như bộ nhớ và CPU của router. 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 dữ liệu. I.6. SO SÁNH IBGP VÀ EBGP - Các thông số trao đổi trong bản tin update của IBGP không thay đổi - bởi vì BGP chạy split horizon, do vậy các tuyến đường h ọc t ừ hàng xóm IBGP s ẽ không được quản bá tới hàng xóm IBGP khác. - Thông số Local-preference và med chỉ quảng bá trong phiên IBGP - Hàng xóm EBGP là kết nối trực tiếp, IBGP có thể kết nối từ xa I.7. CÁC BƯỚC XÂY DỰNG BẢNG ĐỊNH TUYẾN TRONG BGP - Nhận bản tin update - Xây dựng bảng BGP - Lựa chọn tuyến đường BG - Quảng bá tuyến đường BGP - Xây dụng bảng định tuyến BGP - Quảng bá mạng Cục bộ Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM 20
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn