Các giao thức định tuyến sử dụng trong mạng MPLS

Một phần của tài liệu Phân tích hiệu năng hoạt động định tuyến trong mạng MPLS và ứng dụng vào thực tế (Trang 52)

Trong việc nối mạng máy tính thì thuật ngữ routing (định tuyến) chỉ sự chọn lựa

đường đi trên một mạng máy tính để gửi dữ liệu.

Routing chỉ ra hướng, sự di chuyển của các gói (dữ liệu) được đánh địa chỉ từ

mạng nguồn của chúng, hướng đến đích cuối thông qua các node trung gian; thiết bị

phần cứng chuyên dùng được gọi là router (bộ định tuyến). Tiến trình định tuyến thường chỉ hướng đi dựa vào bảng định tuyến, đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trên mạng. Vì vậy, việc xây dựng bảng định tuyến

được tổ chức trong bộ nhớ của router, trở nên vô cùng quan trọng cho việc định tuyến hiệu quả.

Chương 4: Mô hình mng MPLS thc tế

Ví dụ vềđịnh tuyến được đưa ra trong hình 4.4, ởđây gói tin sẽđược truyền từ PC1 đến PC2, khi router R1 nhận được gói tin từ PC1 nó sẽ xem địa chỉđích của gói tin và dựa vào bảng định tuyến, R1 sẽ xác định được cần truyền gói tin theo

đường nào, trong ví dụ này R1 sẽ tiếp tục truyền gói tin qua cổng Fa0/1 sang R2.

Định tuyến IP truyền thống vẫn còn tương đối đơn giản vì nó dùng cách định tuyến bước kế tiếp (next-hop routing), router chỉ xem xét nó sẽ gửi gói thông tin

đến đâu, và không quan tâm đường đi sau đó của gói trên những bước truyền còn lại. Tuy nhiên, những chiến lược định tuyến phức tạp hơn thường được dùng trong những hệ thống như MPLS, ATM hay Frame Relay, những hệ thống này đôi khi

được sử dụng như công nghệ bên dưới để hỗ trợ cho mạng IP.

Giao thức định tuyến (routing protocols)

Giao thức định tuyến được dùng trong khi thi hành thuật toán định tuyến để thuận tiện cho việc trao đổi thông tin giữa các mạng, cho phép các router xây dựng bảng

định tuyến một cách linh hoạt. Trong một số trường hợp, giao thức định tuyến có thể tự chạy đè lên giao thức đã được định tuyến: ví dụ, BGP chạy đè trên TCP: cần chú ý là trong quá trình thi hành hệ thống không tạo ra sự lệ thuộc giữa giao thức

định tuyến và đã được định tuyến.

Danh sách các giao thức định tuyến

Giao thức định tuyến trong

o Router Information Protocol (RIP). o Open Shortest Path First (OSPF).

o Intermediate System to Intermediate System (IS-IS).

o Hai giao thức sau đây thuộc sở hữa của Cisco, và được hỗ trợ bởi các router Cisco hay những router của những nhà cung cấp mà Cisco đã

đăng ký công nghệ:

ƒ Interior Gateway Routing Protocol (IGRP).

Chương 4: Mô hình mng MPLS thc tế

Giao thức định tuyến ngoài

o Exterior Gateway Protocol (EGP). o Border Gateway Protocol (BGP). o Constrained Shortest Path First (CSPF).

4.2.2 Các giao thức định tuyến sử dụng trong mạng MPLS

Với mô hình mạng MPLS của VNPT, trong mạng lõi sử dụng hai giao thức

định tuyến chính:

* OSPF: chạy giữa các router trong mạng (như trên hình 4.5).

* BGP: chạy giữa các router biên. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.5 Phân vùng OSPF

Tại lớp mạng truy nhập:

Chương 4: Mô hình mng MPLS thc tế

Hình 4.6Lớp mạng truy nhập

4.2.3 Giao thức định tuyến OSPF 4.2.3.1 Khái niệm cơ bản về OSPF: 4.2.3.1 Khái niệm cơ bản về OSPF:

OSPF (Open Shortest Path First) là một giao thức định tuyến dạng link-state thường được dùng để triển khai trên hệ thống mạng phức tạp. OSPF sử dụng thuật toán Dijkstra “Shortest Path First (SPF)” để xây dựng bảng định tuyến. Đây là giải thuật xây dựng các đường đi ngắn nhất SPT (shortest-path tree) để đi đến đích. Thông điệp quảng bá LSA mang thông tin của router và trạng thái các láng giềng lân cận, dựa trên các thông tin học được khi trao đổi các thông điệp LSA, OSPF sẽ

xây dựng topology mạng.

Các loại gói tin:

- Hello: gói tin Hello dùng để phát hiện trao đổi thông tin của các router cận kề. - Database Description: gói tin này dùng để lựa chọn router nào sẽđược quyền trao

đổi thông tin trước (master/ slave).

- Link State Request: gói tin này dùng để chỉđịnh loại LSA dùng trong tiến trình trao đổi các gói tin Database Description.

- Link State Update: gói tin này dùng để gửi các gói tin LSA đến router cận kề yêu cầu gói tin này khi nhận thông điệp Request.

Chương 4: Mô hình mng MPLS thc tế

- Link State Acknowledge: gói tin này dùng để báo hiệu đã nhận gói tin Update.

4.2.3.2 Metric của OSPF:

OSPF sử dụng metric là cost. Cost của toàn tuyến được tính theo cách cộng dồn cost dọc theo tuyến đường đi của packet. Cách tính cost được IETF đưa ra trong RFC 2328.

Cost được tính dựa trên băng thông sao cho tốc độ kết nối của đường link càng cao thì cost càng thấp dựa trên công thức:

cost =

bandwidth

8

10

với giá trị bandwidth được cấu hình trên mỗi interface và đơn vị tính là bps. Tuy nhiên, chúng ta có thể thay đổi giá trị cost. Nếu router có nhiều đường đến đích mà cost bằng nhau thì router sẽ cân bằng tải trên các đường đó (mặc định là 4

đường, tối đa là 16 đường). Những tham số bắt buộc phải giống nhau trong các router chạy OSPF trong một hệ thống mạng đó là Hello/dead interval, Area – ID, authentication password (nếu có), stub area flag.

Hình 4.7Mô hình mạng OSPF với các metric

4.2.3.3 Quá trình xây dựng bảng định tuyến của OSPF

Các OSPF gửi các gói hello định kỳ để thiết lập quan hệ láng giềng (neighbor). Gói tin hello mang các thông tin thương lượng với các router neighbor trước khi thiết lập quan hệ adjacency. Trong mạng đa truy cập, giao thức hello sẽ bầu ra DR

Chương 4: Mô hình mng MPLS thc tế

và BDR. DR và BDR sẽ thiết lập mối quan hệ adjacency với tất cả các router khác và những router này chỉ trao đổi thông tin với DR và BDR. Trong mạng point-to- point không cần chọn DR và BDR.

Mỗi router nhận một LSA từ neighbor với cơ sở dữ liệu về tập hợp các trạng thái đường liên kết (link-state database) của neighbor đó và gửi một copy của LSA tới tất cả neighbor khác của nó, trong đó mỗi một trạng thái kết nối (link-state) là mô tả về các interface của 1 router và các mối liên hệ với giữa router đó với các router hàng xóm.

Bằng cách flooding các LSA cho toàn bộ một area, tất cả router sẽ xây dựng chính xác link state database. Khi database được hoàn tất, mỗi router sử dụng thuật toán SPF để xây dựng nên cây SPF. Theo thuật toán này, đường tốt nhất là đường có chi phí thấp nhất. Thuật toán được sử dụng là Dijkstra, thuật toán này xem hệ (adsbygoogle = window.adsbygoogle || []).push({});

thống mạng là một tập hợp các nodes được kết nối với nhau bằng kết nối point-to- point. Mỗi kết nối này có một chi phí. Mỗi nodes có một tên. Mỗi nodes có đầy đủ

cơ sở dữ liệu về trạng thái của các đường liên kết. Do đó, chúng có đầy đủ thông tin về cấu trúc vật lý của hệ thống mạng. Tất cả các cơ sở dữ liệu này điều giống nhau cho mọi router trong cùng một vùng.

4.2.3.4Quá trình bầu chọn DR và BDR

Quá trình bầu chọn liên quan đến 2 tham số: độ ưu tiên (priority) và router ID. Tham số priority được chọn trước tiên, giá trị priroity nằm trong khoảng từ 0

đến 255. Nếu priority đặt là 0 thì router này sẽ không tham gia vào quá trình bầu chọn DR/BDR. Router nào có có độ ưu tiên cao nhất sẽ được chọn là DR, cao thứ

hai sẽ là BDR. Mặc định giá trị priority OSPF là 1. Khi giá trị priority đề bằng nhau thì OSPF sẽ bầu chọn DR dựa vào tham số thứ hai là router ID.

Trong hệ thống mạng dùng OSPF không cấu hình cổng interface loopback thì giá trị router ID được chọn là giá trị địa chỉ IP lớn nhất của các interface đang hoạt động (active interface) của router. Nếu có cổng loopback thì cổng loopback

được chọn, trường hợp có nhiều cổng loopback thì chọn cổng loopback nào có địa chỉ IP cao nhất.

Chương 4: Mô hình mng MPLS thc tế

4.2.3.5 Đặc điểm của giao thức OSPF:

- Do OSPF là giao thức định tuyến dạng link-state nên có thời gian hội tụ nhanh. Việc tối ưu hóa thời gian hội tụ của mạng khi xảy ra sự cố về kết nối hay thiết bị là rất quan trọng. Thời gian để OSPF có thể hội tụ khi mạng xảy ra sự cố phụ thuộc vào 2 yếu tố:

* Tần suất và thời gian tạo ra các bản tin LSA.

* Tần suất và thời gian để router chạy thuật toán SPF.

- OSPF duy trì kết nối đến các router khác thông qua hello-packets thay vì các bản tin cập nhật định tuyến và do vậy sẽ phát hiện được router nào vẫn hoạt động hay không hoạt động trong mạng và sẽ lưu sự thay đổi đó trong topology database. - OSPF sử dụng thuật toán SPF có cơ chế tính toán đường đi tối ưu nên không cần bất cứ một cơ chế chống loop nào khác.

- Vấn đề với mạng lớn chạy OSPF:

Đối với một mạng lớn khi chạy OSPF gặp phải các vấn đề sau:

• Topology càng lớn càng cần nhiều bộ nhớđể xử lý.

• Xử lý bảng định tuyến cần CPU có khả năng xử lý cao.

• Khi có một interface trong mạng thay đổi trạng thái (up sang down và ngược lại), router sẽ phải chạy lại thuật toán SPF.

Chương 4: Mô hình mng MPLS thc tế

Để giải quyết được các vấn đề này mạng cần được thiết kế phân cấp:

• Chia nhỏ mạng thành các area khác nhau. Mỗi area chỉ cần biết thông tin topology của area đó, không cần biết đến thông tin của các area khác (như

trong hình 4.5, mạng MPLS được chia làm 9 area).

• Việc chia làm các area sẽ giúp topology nhỏ hơn, chiếm bộ nhớ ít hơn và giảm thời gian chạy SPF, giảm thời gian hội tụ mạng.

4.2.4 Giao thức định tuyến BGP (Border Gateway Protocol)

4.2.4.1 Khái niệm cơ bản về BGP

Định nghĩa:

BGP là một giao thức định tuyến phức tạp, được dùng nhiều trên Internet và trong các công ty đa quốc gia. Giao thức này được thiết kếđể kết nối các vùng tự trị

(Autonomous system - AS), không kết nối các subnets với 1 AS. Một AS là một nhóm các router cùng chia sẻ một chính sách và hoạt động trong cùng một miền nhất định. Mỗi AS được định danh bởi một số và được cung cấp bởi một nhà cung cấp AS hoặc bởi các ISPs. Con số này được chia ra làm 2 loại: Public có giá trị từ 1

đến 64511, privite có giá trị từ 64512 đến 65535. 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. (adsbygoogle = window.adsbygoogle || []).push({});

Đặc điểm:

- BGP là một giao thức định tuyến dạng path-vector và việc chọn đường đi tốt nhất thông thường dựa vào một tập hợp các thuộc tính (attribute).

- Nhiệm vụ của BGP là đảm bảo thông tin liên lạc trao đổi thông tin định tuyến giữa các AS.

- BGP chỉ ra chính xác danh sách toàn bộđường dẫn đến đích.

- Chống vòng lặp rất hiệu quả nhờ vào cơ chế xem xét các tuyến đường mà router gửi về xem có chính bản thân AS trong đó hay không nếu có route sẽ biết được ngay là đã bị lặp và sẽ loại bỏ thông tin đó.

- Một điểm khác biệt rõ thấy nhất của BGP so với các giao thức định tuyến loại IGP (như OSPF,RIP, EIGRP, IGRP,…) đó là nó không quan tâm đến các subnet cụ thể

Chương 4: Mô hình mng MPLS thc tế

trong một công ty, cơ quan,…mà nó quan tâm đến việc chuyển tải đầy đủ thông tin

đến 1 AS khác với các chính sách định tuyến (policy) cần thiết.

- BGP có thể sử dụng giữa các router trong cùng 1 AS và khác AS. Khi BGP được dùng trong cùng 1 AS thì được gọi là IBGP, còn dùng để kết nối các AS khác nhau thì gọi là EBGP (như trong hình 4.10).

4.2.4.2 Hoạt động của BGP:

Cập nhật bảng định tuyến:

Chức năng của BGP là để trao đổi định tuyến giữa các AS khác nhau và đảm bảo chọn lựa tuyến thông suốt không bị loop. Do BGP sử dụng giao thức TCP nên nó thừa kế tính tin cậy và kết nối có hướng của TCP. BGP xây dựng một biểu đồ

hình cây các AS dựa trên thông tin giữa các BGP neighbor để đảm bảo lựa chọn tuyến không loop. Kết nối giữa hai AS bất kỳđược thể hiện bởi đường Path.

Thiết lập mối quan hệ BGP neighbor:

Để chạy giao thức BGP thì đầu tiên các router phải thiết lập mối quan hệ

neighbor hay peer (có nghĩa là kết nối TCP phải được đảm bảo). Sau khi đã thiết lập

được mối quan hệ này, các router neighbor sẽ trao đổi thông tin bằng nhiều bản tin

để mở và xác nhận các thông số kết nối. Tiếp theo chúng sẽ trao đổi các thông tin về các tuyến đường BGP. Sau khi việc trao đổi thông tin này được hoàn tất thì các cập nhật thành phần (incremental update) sẽ được gửi đi khi có sự cố trong mạng chứ không truyền toàn bộ bảng định tuyến. Nếu như không có thông tin định tuyến nào được trao đổi thì sau thời gian keepalive (mặc định là 60s) các router chạy BGP sẽ tựđộng ngắt kết nối.

4.2.4.3 Các thuộc tính quan trọng:

Thuộc tính AS_PATH:

Có ý nghĩa trong việc xác định tìm đường đi tốt nhất, có hai chức năng: AS_PATH càng ngắn càng ưu tiên (chú ý: trong BGP thì đường đi được xác định theo kiểu AS – by – AS chứ không phải Hop – by - Hop như các giao thức định tuyến IGP) và ngăn ngừa loop (khi một route đã từng qua router thì nó sẽ không

Chương 4: Mô hình mng MPLS thc tế

Thuộc tính Origin:

Là thuộc tính dùng để xác định nguồn gốc của các tuyến routing được học trong bảng định tuyến. Có các khả năng sau:

-i: học từ các giao thức định tuyến IGP (được học bằng lệnh Network). -e: học từ giao thức EGP (ởđây cũng là BGP).

-?: không biết nguồn gốc của tuyến (được học bằng lệnh redistribute…).

Thuộc tính Next – Hop:

Thuộc tính này có tác dụng tương tự như giá trị next-hop trong IGP, tuy nhiên có một số khác biệt trong cách chọn next-hop giữa IGP và BGP. Đối với IGP thì để đến được đích (một mạng nào đó) thì next-hop là địa chỉ IP của router được router quảng bá route. Đối với BGP thì được chia ra làm hai loại:

-Đối với EBGP: thì next-hop là địa chỉ IP của router láng giềng quảng bá route. -Đối với IBGP: route được quảng bá trong cùng AS thì next-hop là địa chỉ IP của router láng giềng quảng bá route. 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. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ:

Trong hình 4.9, router R1 sẽ quảng bá mạng 131.16.0.0/16 trong EBGP đến router R2 với next-hop là địa chỉ 10.10.10.1. Sau đó router R2 quảng bá mạng này

đến router R3 thì next-hop vẫn giữ nguyên là 10.10.10.1

Chương 4: Mô hình mng MPLS thc tế

Thuộc tính Next-hop trong môi trường Multiaccess:

Sẽ là không tối ưu nếu như vẫn giữ nguyên việc chọn next-hop là địa chỉ

nguồn khi quảng bá một route ra khỏi AS trong môi trường Multiaccess. Bởi vì điều này sẽ dẫn đến việc các gói tin bị gửi đến vài router trước khi có thể tìm ra được nguồn gốc xuất phát thực sự. Vì vậy, trong BGP có một luật là trong môi trường Multiaccess thì next-hop được giữ nguyên.

Ví dụ:

Trong hình 4.10 dưới đây, R4 là BGP neighbor với R3 mà không phải là neighbor của R2. Khi router R2 quảng bá mạng 131.16.0.0 đến router 4 trong EBGP thì nó được gửi đi với next-hop là 10.10.10.2 chứ không phải là 10.10.10.3. Ta thấy rằng nếu như mạng 131.16.0.0 được gửi đến router R4 với next-hop là 10.10.10.3 thì các gói tin sẽ đi qua router R3 sau đó mới được chuyển đến router R4, giả sử số

lượng router trong môi trường Multiaccess này là lớn thì nó sẽ gửi vòng quanh tất cả các hop đó. Với next-hop là 10.10.10.2 thì có thể thấy rằng đây là đường đi tốt nhất từ mạng 131.16.0.0 đến router R4.

Một phần của tài liệu Phân tích hiệu năng hoạt động định tuyến trong mạng MPLS và ứng dụng vào thực tế (Trang 52)