Là tập hợp các router hỗ trợ MPLS đợc đặt liên tiếp nhau và đợc quản lý và điều khiển bởi cùng một nhà quản trị mạng, hay nói một cách đơn giản hơn là: một MPLS domain, có thể coi nh hệ thống mạng của một tổ chức nào đó ( chẳng hạn nhà cung cấp dịch vụ ).
Hình 3.4: Mô hình một mạng IP/MPLS
Thành phần quan trọng cơ bản của mạng MPLS là thiết bị định tuyến chuyển mạch nhãn LSR (Label Switch Router). Thiết bị này thực hiện chức năng chuyển tiếp gói thông tin trong phạm vi mạng MPLS bằng thủ tục phân phối nhãn.
Căn cứ vào vị trí và chức năng của LSR có thể phân thành các loại chính sau đây:
• Bộ định tuyến nhãn biên LER– ( Label Edge Router ): nằm ở biên của mạng MPLS. LER hỗ trợ các cổng kết nối tới các mạng khác (IP, Frame Relay,...). LSR biên gán hay loại bỏ nhãn cho các gói thông tin đến hoặc đi khỏi mạng MPLS. Các LSR này có thể là Ingress Router (router lối vào) hay egress router (router lối ra).
• LSR chuyển tiếp: nằm bên trong miền MPLS, chính là các bộ định tuyến
lõi của nhà cung cấp dịch vụ.
Cấu trúc của một LSR chia làm mặt phẳng chức năng: mặt phẳng điều khiển và mặt phẳng chuyển tiếp:
Hình 3.5: Kiến trúc nút mạng MPLS
• Mặt phẳng điều khiển: thực hiện chức năng xây dựng và cập nhật liên tục thông tin cho các bảng phục vụ quá trình forwarding. Do đó, các nút MPLS phải chạy các giao thức định tuyến IP ( nh OSPF, IS – IS ) để trao đổi
thông tin định tuyến với nhau. Ngoài ra, mỗi module điều khiển còn sử dụng các giao thức liên quan đến việc phân phối nhãn nh LDP, BGP và RSVP – TE để trao đổi các thông tin về liên kết nhãn giữa các các router lân cận.
• Mặt phẳng chuyển tiếp: có nhiệm vụ vận chuyển các gói dữ liệu dựa vào các giá trị nhãn. Thông tin sử dụng trong module forwarding nh nhãn và ánh xạ giữa chúng là do mặt phẳng điều khiển xây dựng nên. Mỗi một nút MPLS sẽ có 2 bảng phục vụ cho việc forward dữ liệu là: bảng thông tin nhãn LIB và bảng thông tin chuyển tiếp nhãn LFIB. Bảng LFIB sử dụng một tập con các nhãn trong bảng LIB để thực sự phục vụ cho quá trình chuyển gói tin qua mạng. Quá trình forwarding tại mỗi nút mạng chỉ đơn thuần là quá trình trao đổi nhãn và gửi gói tin đến nút tiếp theo dựa vào thông tin trong bảng LFIB.
Mỗi một LSR sẽ lu giữ 2 bảng thông tin liên quan đến phần chuyển tiếp MPLS đợc trình bày dới đây.
3.2.7. Cơ sở dữ liệu nhãn LIB ( Label information Base )
Là bảng kết nối trong LSR, lu tất cả các nhãn đợc gán bởi LSR này và ánh xạ các nhãn này đến các nhãn nhận đợc từ các router hàng xóm.
3.2.8. Bảng chuyển tiếp chuyển mạch nhãn LSFT ( Label Switching Forwarding Table ): Forwarding Table ):
Vì có nhiều router hàng xóm gửi nhãn cho cùng một FEC, nhng không phải tất cả các router này là hop chặng tiếp theo trong bảng định tuyến. Do đó không phải tất cả các nhãn trong LIB đều đợc sử dụng để chuyển tiêp gói tin.
Bảng thứ hai là LFIB là bảng chuyển tiếp nhãn có chứa thông tin về nhãn đầu vào, nhãn đầu ra, giao diện đầu ra và địa chỉ đến tiếp theo. Bảng này đợc sử dụng để chuyển tiếp gói và chỉ lu lại những nhãn đợc sử dụng gần đây của LSR.
3.2.9. Các thao tác với nhãn
3.2.9.1. Liên kết nhãn ( Label Binding )
Là thủ tục liên kết một nhãn với một FEC.
3.2.9.2. Điều khiển gán nhãn
• Điều khiển độc lập: Khi một LSR nhận đợc thông báo, nó sẽ tự động liên kết 1 nhãn với FEC này rồi thông báo liên kết này cho các LSR lân cận thông qua giao thức báo hiệu.
• Điều khiển tuần tự: thực hiện liên kết nhãn rối thông báo theo trình tự từ LSR đầu vào đến LSR đầu ra .
3.2.9.3. Thao tác với ngăn xếp nhãn
Kĩ thuật ngăn xếp nhãn cho phép hỗ trợ khả năng phân cấp nhằm đáp ứng sự mở rộng của mạng. Nhng các thao tác xử lý nhãn chỉ liên quan đến nhãn nằm trên cùng của ngăn xếp.
a. Push ( gán nhãn ): Khi gói tin bắt đầu đi vào mạng MPLS, nó đợc phân loại vào FEC và gán nhãn.
b. Pop ( tách nhãn ): thực hiện tại đầu ra của mạng MPLS, tách nhãn ra khỏi gói MPLS và chuyển gói vào mạng IP.
c. Swap ( hoán đổi nhãn ): đợc thực hiện giữa các router mạng lõi .
3.2.9.4. Các ánh xạ và bảng hỗ trợ
Các bảng và ánh xạ đợc sử dụng để hỗ trợ sự phối hợp hoạt động của nhãn vào và nhãn ra tại mỗi router, cũng nh việc quản lý ngăn xếp nhãn.
NHLFE ( Next Hop Label Forwarding Entry) đợc dùng để quản lý 1 gói tin đã đợc gán nhãn. Nó bao gồm các thông tin sau:
• Nút tiếp theo của gói tin
• Thao tác sẽ thực hiện với ngăn xếp nhãn. Nó có thể là: hoán đổi nhãn, gắn thêm nhãn hay tách nhãn.
• Thông tin về cách đóng gói dữ liẹu ở lớp 2, cách mã hoá ngăn xếp nhãn, và các thông tin về chính sách quản lý gói tin.
Có thể có nhiều NHLFE cho cùng một FEC trong bảng chuyển tiếp.
3.2.9.5. Trộn nhãn
Các gói đến LSR tại các cổng khác nhau, với các nhãn vào khác nhau nhng lại đi ra từ 1 cổng với cùng một nhãn. Để thực hiện đợc điều này thì LSR phải có khả năng trộn nhãn.
3.2.9.6. Phân phối nhãn
Khi xuất hiện một LSR mới trong mạng MPLS hay bắt đầu khởi tạo mạng MPLS, các thành viên LSR trong mạng MPLS phải liên lạc đợc với nhau trong quá trình khai báo thông qua bản tin Hello. Sau khi bản tin này đợc gửi , một phiên
giao dịch giữa 2 LSR đợc thực hiện. Thủ tục trao đổi là giao thức LDP. Việc liên kết các nhãn đợc quảng bá ngay đến tất cả các router thông qua phiên LDP. Chi tiết hoạt động LDP sẽ đợc mô tả trong phần sau.
Để có thể hiểu rõ hơn các khái niệm MPLS, chúng ta sẽ xét một ví dụ cụ thể d- ới đây.
3.3. Hoạt động chung của MPLS
Để chuyển tải dữ liệu qua một miền MPLS, cần thực hiện quá trình các bớc nh sau:
1. ấn định nhãn cho FEC và phân phối nhãn ( báo hiệu ) 2. Tạo bảng chuyển tiếp nhãn ở các LSR
3. Tạo đờng LSP
4. Dán nhãn cho gói tin (push) tại LSR hớng vào
5. Vận chuyển gói dữ liệu vào mạng ( thực hiện hoá đổi nhãn tại các router lõi )
6. Tách nhãn tại LSR hớng ra. Xét một mạng MPLS cụ thể nh dới đây:
Hình 3.6 : Quá trình vận chuyển dữ liệu trong mạng MPLS
Nh hình vẽ trên, dữ liệu cần chuyển từ Router 4 đến Router 1 qua mạng MPLS:
1. Tạo nhãn và phân phối nhãn ( báo hiệu giữa các router lân cận ): Trớc khi có lu lợng truyền trên mạng, các LSR sẽ trao đổi với nhau các bản tin Hello để thống nhất với nhau các thông tin về các nhãn sẽ gán cho các FEC xác định. Sau đó, mỗi router sẽ tự thiết lập bảng cơ sở dữ liệu
nhãn LIB. Để thực hiện đợc cần phải có 2 giao thức để trao đổi thông tin giữa các router: giao thức định tuyến bên trong một miền ( nh OSPF ) để trao đổi thông tin về đờng đi và giao thức phân phối nhãn ( nh LDP ) để đảm bảo các LSR thống nhất với nhau các thông tin về nhãn. 2. Đầu tiên, tại router 4 ( R4 – là LSR biên hớng vào ) nhận dữ liệu. Tại
đây sẽ thực hiện việc phân loại gói tin và đóng vào FEC dựa vào một số tiêu chí đặc biệt nh: có yêu cầu về truyền tải hoặc dịch vụ ( thoại, data, video, VPN...) hoặc về QoS. Vì là tải thông thờng nên ấn định FEC dựa vào địa chỉ IP đích, ở đây là 172.16.10.0.
3. R4 tiến hành gán nhãn (push) cho FEC này là 3 và chuyển đến R3.
4. R3 là node chuyển tiếp trong mạng. R3 nhận lấy gói đến, nó không phân tích IP header nữa ( khác hẳn với mạng IP truyền thống ) mà chỉ quan tâm đến nhãn của gói. R3 thực hiện việc hoán đổi nhãn 3 thành nhãn 2 và chuyển đến LSR2. Tại R2 lại thực hiện hoán đổi nhãn 2 thành nhãn 1 và chuyển tiếp đến router 1. Việc hoán đổi này dựa vào việc tra bảng LFIB ở mỗi LSR và thực hiện bằng phần cứng. Nhờ đó mà mạng MPLS có thể xây dựng dựa trên các mạng ATM, FR có sẵn. Cách chuyển tiếp dữ liệu dựa vào phần cứng giúp tăng tốc độ mạng lên rất nhiều so với việc kiểm tra địa chỉ IP nh trớc đây.
5. R1 là LSR hớng ra nên tại đây, gói tin đợc bóc nhãn, chuyển thành gói IP ban đầu và đa đến mạng 172.16.10.0.
3.4. Các giao thức sử dụng trong MPLS
Nh đã trình bày ở trên, mặt phẳng điều khiển của LSR phải sử dụng một số giao thức hỗ trợ để xây dựng và cập nhật các bảng phục vụ cho quá trình chuyển tiếp dữ liệu. Phần này sẽ trình bày chi tiết hơn về các giao thức đó.
Hình 3.7: Giao thức trong MPLS 3.4.1. Giao thức định tuyến
Để trao đổi thông tin về đờng đi, các giao thức định tuyến link – state của IP nh OSPF, IS – IS , BGP đợc sử dụng vì nó cung cấp cho nút MPLS một cái nhìn toàn mạng.
Nhằm giảm bớt lợng thông tin định tuyến giữa các router trong mạng, ngời ta sử dụng cấu trúc định tuyến phân cấp để phân nhỏ mạng Internet thành các mạng nhỏ hơn gọi là một AS ( autonomous system ). Một AS là một tập hợp các mạng chịu một sự quản lý chung, chia sẻ một chiến lợc định tuyến chung. Một AS có thể chia thành các miền nhỏ hơn gọi là miền định tuyến. Miền này là một tập các mạng sử dụng chung một giao thức định tuyến. Giao thức BGP đợc dùng để trao đổi thông tin định tuyến giữa các AS, trong nội vùng một AS thì hay sử dụng các giao thức OSPF hay IS – IS.
3.4.1.1. OSPF ( Open Shortest Path First )
OSPF là thuật toán định tuyến theo kiểu link – state, có u điểm về thời gian hội tụ nhanh ( 100s ms ) và bản tin điều khiển chiếm ít băng thông (<1%) nên th- ờng đợc triển khai trong các mạng doanh nghiệp và nhà cung cấp dịch vụ. Thành phần quan trọng của thuật toán này là cơ sở dữ liệu phân bố – mô tả cấu hình định tuyến của mạng hay bản đồ kết nối giữa các router trong miền định tuyến. Để xây dựng và duy trì bảng định tuyến, mỗi router phát ra bản tin LSA ( link – state advertisement ) theo chu kì đến tất cả các router trong mạng. LSA chứa thông tin về cấu hình mạng. Từ đó mỗi router có thể thiết lập nên LSDB (Link – state database) của riêng nó. Với LSDB này, khi cấu hình mạng thay đổi ( hoặc theo chu kì nhất định ) mỗi router chạy thuật toán SPF (Shortest Path First) để tính toán đ- ờng đi ngắn nhất tại mỗi node. Từ cây SPF này, ngời ta chuyển đổi sang các cấu trúc bảng RIP và FIB để thuận tiện cho việc sử dụng.
3.4.1.2. IS IS –
IS – IS cũng là giao thức định tuyến IGP kiểu link – state. Để đơn giản cho việc thiết kế và vận hành router, IS – IS phân ra 2 cấp Level 1 và Level 2 IS. Các level 1 IS giao tiếp với nhau trong một vùng. Level 2 IS định tuyến giữa các level 1. Ví dụ: khi một router level 1 phải chuyển gói đến 1 đích nằm trong vùng của nó, thì chỉ việc đơn giản forward đến đích. Nhng khi đích nằm ở một vùng khác trong miền, router level 1 forward gói đến router level 2 gần nhất.
Việc định tuyến phân cấp này rất hiệu quả trong việc hạn chế lợng bản tin điều khiển trên mạng.
3.4.1.3. BGP
BGP là giao thức định tuyến giữa các AS.
BGP đợc phát triển từ giao thức định tuyến đa miền EGP (exterior gateway protocols ) và đã có nhiều phiên bản ra đời. Bản mới nhất, BGPv4, là đợc triển khai rộng rãi nhất, vì nó cung cấp một loạt các cơ chế mới hỗ trợ cho việc tập hợp tuyến, kể cả tập hợp các đờng AS.
Chức năng chính của hệ thống BGP là trao đổi các thông tin ”có thể tới đ- ợc” bao gồm danh sách các đờng AS tới các hệ thống BGP khác. Thông tin này có thể đợc sử dụng để xây dựng một graph các kết nối AS để có thể giảm bớt loop.
• Các router BGP thiết lập phiên trao đổi các thông tin định tuyến bằng giao thức TCP để truyền bản tin báo hiệu một cách tin cậy. Sau khi một phiên BGP đã đợc thiết lập thì các BGP ngang hàng có thể trao đổi thông tin định tuyến với nhau. Nhờ đó, mỗi router có thể tự xây dựng và duy trì đợc một bảng định tuyến duyệt ra tất cả các đờng có thể để tới một mạng.
• Sau đó nếu trong mạng có sự thay đổi thì các bản tin update đợc phát để đáp ứng yêu cầu cập nhật thông tin. Bản tin này chỉ gửi phần bảng định tuyến bị thay đổi cho các router chứ không gửi lại toàn bộ cả bảng. So với việc gửi bản tin update theo chu kì thì phơng thức này hiệu quả hơn vì giảm đợc lu lợng chạy trên mạng.
Metric trong BGP đợc chỉ định bởi ngời quản lý mạng. Giá trị thiết lập này dựa trên một số tiêu chuẩn nh số lợng của AS mà đờng đi qua, sự ổn định, tốc độ, trễ hay giá thành.
Các bản tin BGP:
Trớc khi thông tin định tuyến đợc trao đổi, các BGP router phải thiết lập 1 phiên BGP bằng giao thức TCP.
BGP có 4 loại bản tin sau:
• Open Message: sau khi kết nối TCP đợc thiết lập, mỗi router gửi 1 bản tin
Open để đàm phán về các thông số của phiên. Bao gồm các trờng : version, My autonomous system ( số hiệu AS của sender), Hold time , BGP identifier.
• Keepalive Message: nếu bản tin Open đợc chấp nhận, receiver trả lời bằng
bản tin Keepalive để xác nhận. Khi phiên BGP đã thiết lập thì các router cần duy trì nó bằng cách gửi Keepalive theo chu kì.
• Update Message: sử dụng để cập nhật định tuyến khi trong mạng có sự
thay đổi.
• Notification Message: Gửi khi lỗi xảy ra, sử dụng để đóng một phiên BGP
và đa thông tin đến các router kết nối: tại sao phiên này bị đóng?
3.4.2. Giao thức quảng bá và phân phối nhãn
Để thiết lập các đờng LSP, các LSR cần có 1 giao thức để trao đổi các thông tin về nhãn. LDP (Label Distribution Protocol), BGP (Border Gateway Protocol ), RSVP ( Resource ReSerVation Protocol ) là các giao thức hay đợc sử dụng cho mục đích này. Sở dĩ cần có giao thức phân phối nhãn là vì các giao thức định tuyến
IP không thể mang các thông tin về nhãn. Bên cạnh đó, công nghệ MPLS hỗ trợ đa ứng dụng, nh: điều khiển lu lợng (TE), mạng riêng ảo lớp 2, mạng riêng ảo lớp 3… Các ứng dụng này có những yêu cầu riêng biệt về chất lợng dịch vụ (QoS), định tuyến và các LSP. Ví dụ : giao thức RSVP – TE đợc sử dụng khi có yêu cầu thiết lập sẵn các LSP có băng thông dành riêng. Phần này sẽ lần lợt trình bày về các giao thức kể trên.
3.4.2.1. LDP ( Label Distribution Protocol )
a. Khái quát chung :
Giao thức LDP là giao thức điều khiển tách biệt, đợc các LSR sử dụng để trao đổi và điều phối quá trình gán nhãn cho FEC.
LDP đa ra một tập các bản tin để 2 LSR có thể thông báo cho nhau về ánh xạ giữa FEC và nhãn mà chúng đã ấn định. Tuy nhiên, trớc khi 2 LSR trao đổi thông tin về ánh xạ, chúng phải thiết lập một phiên LDP để trở thành LSR đồng cấp. Phiên LDP này sử dụng kết nối TCP để đảm bảo các bản tin LDP đợc truyền đi một cách tin cậy.
Có 4 lớp bản tin LDP nh sau:
• Bản tin Discovery: thông báo về sự tồn tại của một LSR trong mạng.
• Bản tin Session: thiết lập, duy trì và kết thúc các phiên LDP.
• Bản tin Advertisement: quảng bá thông tin về ánh xạ giữa nhãn và
FEC ra các LSR hàng xóm.
• Bản tin Notification: báo lỗi.
Trớc khi xét đến hoạt động của giao thức LDP, chúng ta sẽ tìm hiểu về các khái niệm upstream và downstream. Cả upstream và dowstream đều liên quan đến