Giao thức cổng biín BGP

Một phần của tài liệu Ebook chuyển mạch nhãn đa giao thức MPLS phần 1 TS trần công hùng (Trang 120 - 126)

Sự cần th iấ của BGP

Trong một AS thì được khuyến câo lă sử dụng OSPF để định tuyến trong mạng Internet nhưng khi ra ngoăi một AS thì phải sử dụng một giao thức khâc. Tại sao như vậy? Vấn đề chính ở đđy chính lă mục đích của câc IGP vă EGP không giống nhau. Tất cả câc IGP đều phải thực thi lă di chuyển gói đi từ nguồn đến đích. Nó hoăn toăn không quan tđm đến chính sâch (policy). Mặc khâc khi ra khỏi phạm vi một AS thì policy lại lă vấn đề quan trọng. V í dụ sau sẽ minh họa điều năy.

Giả sử ta có một mạng như hình 5.3, A muốn truyền dữ liệu đến AS4. Trong đó thì công ty B lă công ty đối thủ cùa công ty A. Như vậy công ty B hoăn toăn không muốn trở thănh một ữạm vận chuyển dữ liệu cho công ty A. A chỉ có thể chuyển dữ liệu thông qua một con đưòng khâc lă AS3, AS2, A S l để đến được AS4, mặc dù con đường thông qua công ty B có thể lă tối ưu nhất. Nhưng ngược lại thì một công ty năo đó trong AS3 (tất nhiín lă không phải đối thủ của công ty B), nếu muốn truyền dữ liệu đến AS4 thì công ty B sẵn săng cho quâ giang. Như vậy câc router của công ty A vă router trong AS3 có cùng một đích đến nhưng phải đi theo những câch khâc nhau. Câc IGP đều không thể lăm được điều năy. Nó chi 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. BGP ra đời vì lí do đó

Chương 5: Định tuyến 123

H ình 5.3: Mô hình mạng cùa câc A5.

5.2.5.1.Câc tính c h ấ của BG P

BGP không phải lă một định tuyến vector khoảng câch (dictance-vector routing) hay định tuyến trạng thâi liín kết. Nó lă một giao thức lai được đặc tnmg bởi câc tính chất sau:

• Thông tin liín lạc với câc hệ tự quản trị: Đđy lă điều tất nhiín vì BGP được thiết kế như một giao thức ngoăi AS vì vậy nó cho phĩp một hệ tự quản trị có thể giao tiếp với câc hệ tự quản ừị khâc.

• Trao đổi câc thông tin định tuyến giữa câc hệ quản trị: BGP cho phĩp một hệ tự quản trị thông bâo câc đích mă có thể đi đến được.

• Mô hình trạm kĩ; Cũng tương tự như câc giao thức định tuyến nội, BGP cung cấp thông tin về trạm kế cho mỗi đích đến.

• Chuyển tải đâng tin cậy: BGP không giống như những giao thức bình thưòng khâc khi truyền thông tin định tuyến bởi vì nó giả định rằng việc chuyển tải lă đâng tin cậy. Như thế, BGP sử dụng kểt nối TCP trong mọi việc thông tin liín lạc (tạo kết nối TCP cổng 179).

• Thông tin về con đường: Thuật toân định tuyến của BGP được gọi lă định tuyến vector đường dẫn (path vector routing). Một điều khâc biệt giữa vector khoảng câch vă vector đường dẫn lă thông tin trao đổi trong quâ trình cập nhật bảng định tuyến. Vector khoảng câch quảng bâ giâ trị (next-hop) để đạt đến mỗi đích, còn vector đường dẫn chi chính xâc một danh sâch toăn bộ đưòfng dẫn đến đích. Ngoăi ra nó còn hỗ trợ rất tốt việc xâc định vòng lặp trín mạng. Nó sẽ xem xĩt tập câc router có trong câc con đường mă câc router khâc gửi về có nó trong đó hay không nếu có nó trong con đường đó thì nó sẽ biết được ngay lă đđy sí lă một vòng lặp vă nó sẽ loại bỏ. • Hỗ trợ câc địa chỉ không phđn lớp: BGP hỗ ượ cho câc địa chỉ CEDR. Có nghĩa lă,

thay vì chờ mong câc địạ chỉ tự xâc định, giao thức năy cung cấp một câch để gửi một mặt nạ cùng với mỗi một địa chỉ.

• Tích lũy thông tin tuyến đường: BGP tiết kiệm băng thông của mạng bằng câch cho phĩp noi gửi tích lũy thông tin về tuyến đường vă gửi đi chỉ một lần nhưng thể hiện nhiều đích đến.

5.2.5.2. Thực thi chính sâch

Mạng có thể thực thi chính sâch theo 1 trong 3 câch khâc nhau. Câch tiếp cận đom giản nhất lă sử dụng băng thông. V í dụ như, công ty B muốn chắc chắn rằng công ty A sử dụng không nhiều hoTi 56Kb/s của băng thông ưong mạng của nó, thì công ty B có thể giới hạn kết nối giữa 2 mạng đến 56Kb/s. Rõ răng chi với 56Kb/s thì công ty A đê phải chịu chính sâch răng buộc của công ty B. Trong trưòíng hợp hơn nữa thì công ty B có thể đơn giản cắt kết nối vói công ty A, giới hạn băng thông xuống 0 Kb/s.

Một câch tiếp cận khâc để thực thi chính sâch lă trong tiến ttình chuyển tiếp một gói. Mỗi gói mă xuyín qua mạng công ty B đều phải đi qua câc router của công ty B vă tầng IP trong mỗi router sẽ thực hiện việc chuyển tiếp câc gói. Router có thể thực ứii chính sâch bằng việc chế ngự quyết định chuyển tiếp. Hầu hết câc router hỗ trợ hình thức thực thi chính sâch thông qua một cơ chế lă lọc gói, cho phĩp người quản trị định nghĩa chính xâc loại gói năo router sẽ cho phĩp đi qua vă gói năo không được phĩp đi qua. Nhưng những bộ lọc như vậy lăm tiíu tốn rất nhiều tăi nguyín của router. Chúng phải kiểm tra mọi gói đơn đối với câc răng buộc đê được định nghĩa trước.

BGP lă một câch thứ ba thực thi chính sâch, với ý tưỏng cơ bản lă nếu router của công ty A không biết lă nó có thể đến đích của nó thông qua router của công ty đối thủ, thì nó sẽ không chuyển dữ liệu đi trín con đường đó. Trong hình trín ứiì câc router của công ty B xem thông tin về con đường đến AS4 lă thông tin mật vă từ chối quảng bâ nó cho công ty A. Câch tiếp cận năy không yíu cầu một sự tính toân đặc biệt cho mỗi gói IP, router chì đơn giản thực thi việc chuyển tiếp bình thường. Router của công ty A sẽ tự tìm một con đưòng khâc để đến AS4 ví dụ như hình vẽ lă con đưòmg qua AS3, AS2, A S l.

5.2.5.3. Thuộc tính của BG P

Ta sẽ nghiín cứu câc thuộc tính mă BGP sử dụng để xâc định con đường tối ưu nhất:

Thuộc tính đường đi lă thuộc tính quan trọng nhất trong việc xâc định con đường tối ưu. Thuộc tính năy xâc định để đi đến đích cần qua những router năo. Nó cung cấp 2 chức năng. M ột lă con đường AS căng ngắn căng được router quan tđm hơn. Chức năng thứ hai lă ngăn ngừa vòng lặp. Bời vì nó rất quan trọng cho quâ trình hoạt động của BGP, do đó lă một thuộc 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 update.

Thuộc tính Origỉn: cũng lă một thuộc tính quan trọng khâc. Nó định nghĩa phương phâp mă mạng được biết. Nếu giâ trị lă “i ”, router phía bín kia được biết thông qua một giao thức IGP như RIP hoặc OSPF, tức lă 2 router nằm trong cùng m ột mạng. Nếu giâ trị “e” thì router phía bín kia được học thông qua một EGP. Nếu giâ trị “?” lă không biết nguồn gốc của một router. Điều năy có thể xuất hiện nếu một router được biết thông qua một giao thức IGP sau đó lại được thông bâo qua EGP.

Thuộc tính Next-Hop\ lă thuộc tính bắt buộc. Theo thuật ngữ của IGP, chặng kế để đến một tuyến lă địa chi IP của router đê thông bâo tuyến đó. Chặng kế theo BGP thì phức tạp hcm vă lă một trong ba dạng sau: đối với câc phiín EBGP, chặng kế lă địa chỉ IP của hăng xóm đê thông bâo tuyến năy. Đối với câc phiín IBGP, khi tuyển có nguồn gốc bín trong AS, chặng kế lă địa chi IP của hăng xóm đê thông bâo tuyến. Đối với câc tuyến được thím văo AS thông qua EBGP, chặng kể được học từ EBGP sẽ được giữ nguyín không đổi sang IBGP, chặng kế lă địa chỉ IP của hăng xóm EBGP mă tuyến được học. Còn khi mă

tuyến được quảng câo ưín câc môi trường đa truy cập (như Ethernet, Frame Relay), chặng kế thường lă địa chi IP của giao tiếp được gắn trín router mă tuyến đó bắt đầu.

Thuộc tính Local-Preference\thuộc tính không bắt buộc, nó mô tả mức độ ưu tiín của một tuyến để so sânh với câc tuyến khâc cho cùng một đích đến. Giâ trị của thuộc tính năy căng cao căng được ưu tiín. Tuy nhiín, nó chỉ có ý nghĩa cục bộ trong miền tự trị vă được trao đổi giữa câc IBGP ngang hăng mă thôi, không được quảng câo đến cấc EBGP ngang hăng. Câc router ttong raột hệ tự trị multihomed có thể đến một mạng đích thông qua câc hăng xóm của hai hay nhiều hệ khâc nhau tức có nhiều điểm thoât từ mạng cục bộ đến một đích đến năo đó. Do đó ta có thể dùng thuộc tính mức ưu tiín cục bộ để ĩp buộc câc router BGP ưu tiín dùng điểm thoât năy cho một mạng đích năo đó. Bời vì thuộc tính năy được truyền thông giữa tất cả câc BGP router trong hệ tự trị nín tất cả câc router sí thấy giống nhau câch để đi khỏi AS. Lưu ý rằng, giâ trị metric vă khoảng câch quản trị của một tuyến căng thấp căng tốt, tì-ong khi mức ưu tiín cục bộ căng cao căng tốt.

Thuộc tính M ULTI_EXIT_DISC (MED attribute): Đđy lă thuộc tính tùy chọn, nó thông bâo cho câc hăng xóm bín ngoăi về con đường ưu tiín văo AS mă có nhiều điểm văo. Giâ trị thuộc tính M ED căng thấp căng tốt. không giống như mức ưu tiín cục bộ, thuộc tính MED được trao đổi giữa câc hệ tự ưị, nhưng thuộc tính MED đến một AS thì không ra khỏi AS. Khi một bản tin cập nhật có chứa giâ ưị MED đến một AS, giâ trị năy dùng để đânh dấu quyết định trong AS đó. Khi BGP chuyển bảng cập nhật tuyến đến một AS khâc, giâ trị năy được thiết lập (reset) về 0. Khi một tuyển bắt nguồn từ một AS, giâ trị MED thường lấy theo giâ trị metric IGP của tuyến. Đ iều năy hữu ích khi khâch hăng có nhiều kết nối đến cùng nhă cung cấp dịch vụ. Metric IGP phản ânh mức xa câch của mạng đến một điểm dioât. M ạng gần điểm thoât A hon điểm thoât B sẽ có metric IGP thấp hơn ờ router biín nối đến A. Khi metric IGP chuyển sang MED, thì lưu lượng văo AS có thể đi văo mạng từ liín kết gần với đích hơn bời vì giâ trị MED thấp hơn được đề nghị. Nó có thể được dùng bời cả nhă cung cấp dịch vụ vă khâch hăng để cđn bằng lưu lượng trín nhiều liín kết giữa hai hệ tự ttị.

Thuộc tính Communtity: Đđy lă một thuộc tính không bắt buộc, được dùng để nhóm câc router vă cung cấp một chính sâch cho chúng. Do đó câc router năy có cùng một tính chất vă có cùng một chính sâch.

s.2.5.4. H oạt động của B G P Cập nhật định tuyển BGP

Theo RFC 1772, nhiệm vụ của BGP lă trao đổi thông tin định tuyến giữa câc hệ tự trị vă đảm bảo chọn ra câc con đưÒTig không bị vòng lặp. BGP hỗ trợ CIDR vă liín kết tuyến, không thực hiện quyết định định tuyến bằng metric mă bằng chính sâch vă câc luật. BGP sử dụng kết nối TCP port 179 nín nó yíu cầu kết nổi TCP phải được thiết lập vă thương lượng trước khi trao đổi câc bản cập nhật. Do đó, BGP kế thừa tính tin cậy vă hướng kết nối của TCP. Để đảm bảo lựa chọn con đường không bị vòng lặp, BGP xđy dựng một sơ đồ hoặc cđy của câc hệ tự trị ừong toăn mạng dựa trín thông tin trao đổi giữa câc hăng xóm BGP. Kết nối giữa hai mạng bất kì được gọi lă con đưÒTig vă thông tin về con đường được biểu diễn bằng chuỗi câc số hiệu AS gọi lă con đường AS.

Khi hai router đê thiết lập một kết nối TCP cho BGP, chúng được gọi lă hăng xóm hay ngang hăng. Router BGP được gọi lă BGP speaker. Câc router ngang hăng sẽ trao đổi câc thông điệp để bắt đầu vă xâc nhận câc thông số kết nổi.

Câc loại thông đ ệp : có 4 loại thông điệp.

• Thông điệp mở đầu (Hello): dùng để thiết lập kết nối giữa câc ngang hăng, gồm phiín bản BGP, số hiệu AS, hold time vă Router ID.

• Thông điệp Keepalive: được gửi đều đặn giữa câc ngang hăng để duy trì kết nối. • Thông điệp Notification; dùng để thông bâo lỗi, nó chứa trưòng mê lỗi để khắc phục

sự cố cho câc kết nối BGP.

• Thông điệp cập nhật (Update): chứa tất cả thông tin mă BGP dùng để xđy dựng một bức tranh không bị vòng lặp của liín mạng. Ba thănh phần chính của một thông điệp cập nhật lă thông tin về tính có thể đạt được của lớp mạng (NLRI), câc thuộc tính đường đi vă câc tuyến bị rút lại. Thay vì quảng câo câc đích có thể đến được theo dạng mạng vă mặt nạ mạng con, BGP quảng câo theo kiểu NLRI tức gồm tiền tố vă chiều dăi tiền tố. Ví dụ 10.1.1.0 255.255.255.0 có tiền tố lă 10.1.1.0 vă chiều dăi tiền tố lă 24 sẽ được quảng câo bởi BGP như sau 10.1.1.0/24. Hay 192.24.160.0/19 âm chi supemet 192.24.160.0 255.255.224.0. Câc tuyến rút lại lă một danh sâch câc tuyến hiện không còn hiệu lực nữa, cũng có định dạng giống như NLRI.

Câc trạng thâi vă cơ chế hoạt động cùa BGP

Router chạy BGP không nhận ra câc lâng giềng một câch tự động mă nó phải được cấu hình bằng tay (lệnh neighbor). Khi một hăng xóm được chi định, BGP sẽ khởi đầu một kết nối TCP. Khi kết nối được thiết lập thănh công, router gửi một thông điệp Open đến lâng giềng. Sau đó, cả hai router sẽ trong trạng thâi OpenSent. Khi hai router nhận thông điệp Open vă cả hai đều đồng ý trín câc tham số đó, chúng sẽ chuyển sang trạng thâi OpenConfirm. Chúng xâc nhận nhau thông qua thông điệp keepalive, router chuyển sang trạng thâi được thiết lập. Khi câc router chuyển sang trạng thâi được thiết lập lần đầu, chúng sẽ bắt đầu ữao đổi thông tin định tuyến thông qua bản tin update gồm thông tin về tất cả câc mạng có thể đến được.

Chương 5: Định tuyến 127

Sau khi trao đổi thông tin hoăn thănh, câc router sẽ tiếp tục gửi thông điệp keepalive để chắc chắn kết nối hoạt động tốt. Neu mạng có điều gì thay đổi thì thông tin sẽ được gửi thông qua thông điệp Update. Trong bất kỳ trường hợp lỗi năo, router sẽ gửi một thông điệp notification, thông bâo cho router bín kia biết. Sau đó, router sẽ đóng kết nối TCP vă ngumg mối quan hệ. Khi câc router kết nối lại, tất cả thông tin định tuyến sẽ phải được gửi lại.

Tiến trình định tuyến

Câc tuyển được trao đổi giữa câc BGP ngang hăng thông qua câc thông điệp cập nhật. Router BGP nhận được thông điệp cập nhật, thực hiện một số chính sâch vă bộ lọc trín bảng cập nhật vă chuyển đến câc BGP ngang hăng khâc. Cisco quản lí câc thông điệp cập nhật trong bảng cập nhật tâch biệt với bảng định tuyến. Trong trường hợp có nhiều tuyển tồn tại cho một đích đến, BGP không trăn ngập tất cả câc tuyến năy mă chỉ chọn ra tuyến tốt nhất vă gửi đến câc ngang hăng của nó. Tuyến tốt nhất năy được căi đặt trong bảng định tuyến IP vă bảng định tuyến IP được dùng cho quyết định định tuyến cuối cùng.

Để mô hình hoâ tiến tìn h định tuyến, giả sử rằng mỗi bộ thông bâo BGP có nhiều tập tuyến vă câc cơ chế chửủi sâch khâc nhau. Mô hình năy gồm câc ửiănh phần như trong hình 5.5.

H ình 5,5: Mô hình tiến trình định tuyến.

Tuyến nhặn từ câc ngang hăng

Lọc câc thuộc tính

Chọn tuyến tốt nhắt

Tuyến nhận từ câc ngang hăng

Bảng BGP

Tuyến gửi cho câc ngang hảng

Bảng í^nh tuyến IP

Câc tuyến nhận được từ câc ngang hăng

Engine chính sâch ngõ văo: xử lí lọc tuyến vă câc thuộc tính. Việc lọc dựa ưín câc

Một phần của tài liệu Ebook chuyển mạch nhãn đa giao thức MPLS phần 1 TS trần công hùng (Trang 120 - 126)

Tải bản đầy đủ (PDF)

(172 trang)