Kỹ thuật lưu lượng trong MPLS và các cơ chế bảo về đường
Transcript of Kỹ thuật lưu lượng trong MPLS và các cơ chế bảo về đường
Đồ án tốt nghiệp Đại học Mục Lục
MỤC LỤC
MỤC LỤC.....................................................................................................................iDANH MỤC HÌNH....................................................................................................iiiTHUẬT NGỮ VIẾT TẮT...........................................................................................vMỞ ĐẦU.......................................................................................................................1CHƯƠNG I: TỔNG QUAN VỀ CHUYỂN MẠCH NHÃN ĐA GIAO THỨC.....3
1.1 Giới thiệu.............................................................................................................31.2 Các khái niệm cơ bản trong MPLS..................................................................4
1.2.1 Miền MPLS..................................................................................................41.2.2 Lớp chuyển tiếp tương đương....................................................................51.2.3 Nhãn và ngăn xếp nhãn..............................................................................61.2.4 Hoán đổi nhãn.............................................................................................71.2.5 Đường chuyển mạch nhãn LSP.................................................................71.2.6 Chuyển gói qua miền MPLS......................................................................81.2.7 Mã hóa ngăn xếp nhãn................................................................................9
1.3 Cấu trúc trường chức năng MPLS.................................................................111.3.1 Kiến trúc một nút MPLS..........................................................................111.3.3 Mặt phẳng điều khiển...............................................................................14
1.4 Hoạt động chuyển tiếp MPLS.........................................................................141.4.1 Hoạt động trong mặt phẳng chuyển tiếp.................................................141.4.2 Gỡ nhãn ở chặng áp cuối PHP.................................................................15
1.5 Định tuyến trong MPLS..................................................................................151.5.1 Định tuyến ràng buộc................................................................................151.5.2 Định tuyến tường minh.............................................................................16
1.6 Các chế độ báo hiệu MPLS.............................................................................171.6.1 Chế độ phân phối nhãn.............................................................................171.6.2 Chế độ duy trì nhãn..................................................................................181.6.3 Chế độ điều khiển LSP.............................................................................19
1.7 Các giao thức hoạt đông..................................................................................201.7.1 Giao thức LDP...........................................................................................201.7.2 Giao thức CR-LDP....................................................................................251.7.3 Giao thức RSVP-TE..................................................................................271.7.4 Giao thức BGP...........................................................................................30
1.8 Ưu điểm và ứng dụng của MPLS....................................................................321.8.1 Đơn giản hóa chức năng chuyển tiếp.......................................................321.8.2 Kỹ thuật lưu lượng....................................................................................331.8.3 Định tuyến QoS từ nguồn.........................................................................331.8.4 Mạng riêng ảo VPN...................................................................................331.8.5 Chuyển tiếp có phân cấp...........................................................................331.8.6 Khả năng mở rộng....................................................................................34
1.9 Kết luận chương...............................................................................................34CHƯƠNG II: KĨ THUẬT LƯU LƯỢNG TRONG MPLS VÀ CƠ CHẾ BẢO VỆKHÔI PHỤC ĐƯỜNG..............................................................................................35
2.1 Tổng quan về kỹ thuật lưu lượng...................................................................352.1.1 Các mục tiêu triển khai kỹ thuật lưu lượng............................................352.1.2 Các lớp dịch vụ dựa trên nhu cầu QoS và các lớp lưu lượng..............362.1.3 Hàng đợi lưu lượng...................................................................................362.1.5 Giải pháp mô hình xếp chồng .................................................................40
2.2 MPLS và kỹ thuật lưu lượng...........................................................................40
Học viện công nghệ bưu chính viễn thông i
Đồ án tốt nghiệp Đại học Mục Lục
2.2.1 Khái niệm trung kế lưu lượng .................................................................412.2.2 Đồ thị nghiệm suy......................................................................................412.2.3 Bài toán cơ bản của kỹ thuật lưu lượng trên MPLS..............................41
2.3 Trung kế lưu lượng và các thuộc tính............................................................422.3.1 Các hoạt động cơ bản trên trung kế lưu lượng......................................422.3.2 Thuộc tính tham số lưu lượng..................................................................432.3.3 Thuộc tính lựa chọn và quản lý đường...................................................432.3.4 Thuộc tính ưu tiên/lấn chiếm...................................................................442.3.5 Thuộc tính đàn hồi....................................................................................442.3.6 Thuộc tính khống chế................................................................................44
2.4 Tính toán đường ràng buộc.............................................................................452.4.1 Quảng bá các thuộc tính của liên kết......................................................452.4.2 Tính toán LSP ràng buộc ........................................................................462.4.3 Giải thuật chọn đường..............................................................................462.4.4 Ví dụ về chọn đường cho trung kế lưu lượng.........................................462.4.5 Tái tối ưu hóa ............................................................................................48
2.5 Bảo vệ và khôi phục đường.............................................................................492.5.1 Phân loại các cơ chế bảo vệ khôi phục...................................................502.5.2 Mô hình Makam........................................................................................512.5.3 Mô hình Haskin.........................................................................................512.5.4 Mô hình Hundessa.....................................................................................522.5.5 Mô hình Shortest-Dynamic......................................................................522.5.6 Mô hình Simple-Dynamic.........................................................................532.5.6 Mô hình Simple-Static..............................................................................53
CHƯƠNG III: XÂY DƯNG CHƯƠNG TRÌNH MÔ PHỎNG CƠ CHẾ BẢO VỆ VÀ KHÔI PHỤC ĐƯỜNG TRONG MPLS SỬ DỤNG NS2..............................55
3.1 Môi trường mô phỏng NS2..............................................................................553.1.1 Kiến trúc NS2............................................................................................553.1.2 C++ và OTcl...............................................................................................57
3.2 Xây dựng chương trình mô phỏng..................................................................593.2.1 Mục tiêu mô phỏng....................................................................................593.2.2 Thực hiện và kết quả.................................................................................60
KẾT LUẬN.................................................................................................................67TÀI LIỆU THAM KHẢO.........................................................................................68PHỤ LỤC....................................................................................................................69
Học viện công nghệ bưu chính viễn thông ii
Đồ án tốt nghiệp Đại học Danh Mục Hình Vẽ
DANH MỤC HÌNH VẼ
Hình 1.1: MPLS và mô hình tham chiếu OSI............................................................................1Hình 1.2: So sánh giữa chuyển tiếp IP và chuyển tiếp MPLS....................................................2Hình 1.3: Miền MPLS................................................................................................................3Hình 1.4: Đường lên và đường xuống LSR................................................................................3Hình 1.5: Lớp chuyển tiếp tương đương trong MPLS................................................................4Hình 1.6: Ngăn xếp nhãn............................................................................................................4Hình 1.7: Đường chuyển mạch nhãn LSP..................................................................................5Hình 1.8: Phân cấp LSP trong MPLS.........................................................................................6Hình 1.9: Gói IP đi qua mạng MPLS..........................................................................................6Hình 1.10: Định dạng một thực thể trong ngăn xếp nhãn MPLS..............................................7Hình 1.11: Tiêu đề shim được đệm vào giữa tiêu đề lớp 2 và lớp 3.........................................8Hình 1.12: Nhãn trong chế độ ATM...........................................................................................8Hình 1.13: Đóng gói có nhãn trên liên kết ATM........................................................................9Hình 1.14: Cấu trúc của LER và transit-LSR...........................................................................10Hình 1.15: Một NHLFE............................................................................................................11Hình 1.16: Bên trong mặt phẳng chuyển tiếp MPLS................................................................13Hình 1.17: Định tuyến ràng buộc..............................................................................................14Hình 1.18: Phân phối nhãn không cần yêu cầu........................................................................15Hình 1.19: Phân phối nhãn gắn kết Nhãn-FEC........................................................................16Hình 1.20: Duy trì nhãn tự do...................................................................................................16Hình 1.21: Duy trì nhãn bảo thủ...............................................................................................17Hình 1.22: Điều khiển độc lập..................................................................................................17Hình 1.23: Điều khiển tuần tự..................................................................................................18Hình 1.24: Vùng hoạt động của LDP.......................................................................................18Hình 1.25: Trao đổi thông điệp LDP........................................................................................19Hình 1.26: LDP Hearder...........................................................................................................20Hình 1.28: LDP chế độ điều khiển theo yêu cầu......................................................................22Hình 1.29: Thiết lập LSP và CR-LD........................................................................................24Hình 1.30: Thiết lập LSP với RSVP-TE...................................................................................27Hình 1.31: Nội dung bản tin BGP Update................................................................................29Hình 1.32: BGP phân phối nhãn qua nhiều Autonomous System............................................30Hình 2.1: Nhiều luồng cho mỗi lớp lưu lượng..........................................................................35Hình 2.2: Hàng đợi CQ.............................................................................................................35Hình 2.3: Hàng đợi PQ.............................................................................................................36Hình 2.4: Giải thuật thùng dò...................................................................................................36Hình 2.5: Giải thuật thùng token..............................................................................................37Hình 2.6: Mô hình xếp chồng...................................................................................................38Hình 2.7: Băng thông khả dụng ứng với từng mức ưu tiên......................................................43Hình 2.8: Xem xét các ràng buộc khống chế............................................................................45Hình 2.9: Xem xét tài nguyên khả dụng...................................................................................46Hình 2.10: Chọn đường tốt nhất...............................................................................................46Hình 2.11: Mô hình MAKAM..................................................................................................49Hình 2.12: Mô hình Haskin......................................................................................................50Hình 2.13: Mô hình Shortest-Dynamic.....................................................................................51Hình 2.14: Mô hình Simple_Dynamic......................................................................................51Hình 3.1: Tổng quan về NS dưới góc độ người dùng...............................................................54Hình 3.2: Luồng các sự kiện cho file Tcl chạy trong NS.........................................................55Hình 3.3: Kiến trúc của NS-2...................................................................................................56
Học viện công nghệ bưu chính viễn thông i
Đồ án tốt nghiệp Đại học Danh Mục Hình Vẽ
Hình 3.4: C++ và OTcl: Sự đối ngẫu........................................................................................56Hình 3.5: TclCL hoạt động như liên kết giữa A và B...............................................................57Hình 3.6: Mô hình mạng..........................................................................................................57Hình 3.7: Lịch trình mô phỏng.................................................................................................59Hình 3.8: Đồ thị Xgraph...........................................................................................................59Hình 3.9: Báo hiệu thiết lập đường làm việc và bảo vệ............................................................60Hình 3.10: Sử đường làm việc ER=1_3_5_7_9.......................................................................61Hình 3.11: Phát hiện lỗi............................................................................................................61Hình 3.12: Chuyển sang đường bảo vệ.....................................................................................62Hình 3.13: Lỗi đã được khôi phục............................................................................................62Hình 3.14: Chuyển lưu lượng trở lại đường làm việc...............................................................63Hình 3.15: Kết thúc quá trình truyền gói..................................................................................63
Học viện công nghệ bưu chính viễn thông ii
Đồ án tốt nghiệp Đại học Thuật Ngữ Viết Tắt
THUẬT NGỮ VIẾT TẮT
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
ATM Asynchronous Transfer Mode Truyền dẫn không đồng bộ
BGP Border Gateway Protocol Giao thức cổng đường biên
CLIP Classical IP IP trên ATM
CR Constrained Routing Định tuyến cưỡng bức
CR-LDP Constrained Routing - LDP Định tuyến cưỡng bức - LDP
CR-LSP Constrained Routing - LSP Định tuyến cưỡng bức - LSP
CSPF Constrained Shortest Path First SPF cưỡng bức
DiffServ Differentiated Service Các dịch vụ được phân biệt
ER Explicit Routing Định tuyến hiện
FEC Fowarding Equivalent Class Lớp chuyển tiếp tương đương
FR Frame Relay Chuyển tiếp khung
GMPLS Generalized Multiprotocol Label Switching
Chuyển mạch nhãn đa giao thức tổng quát.
IETF Internet Engineering Task Force Nhóm tác vụ kỹ thuật Internet
IP Internet Protocol Giao thức Internet
IPOA IP over ATM IP trên ATM
LAN Local Area Network Mạng cục bộ
LANE LAN Emulation Mô phỏng LAN
LDP Label Distribution Protocol Giao thức phân bổ nhãn
LER Label Edge Router Bộ định tuyến biên nhãn
LIB Label Information Base Cơ sở thông tin nhãn
LIS Logical IP Subnet Mạng con IP logic
LSFT Label Switching Forwarding Table Bảng chuyển tiếp nhãn
LSP Label Switched Path Đường dẫn chuyển mạch nhãn
LSR Label Switch Router Bộ định tuyến chuyển mạch nhãn
Học viện công nghệ bưu chính viễn thông i
Đồ án tốt nghiệp Đại học Thuật Ngữ Viết Tắt
MG Media Gateway Cổng đa phương tiện
MPLS Multiprotocol Label Switching Chuyển mạch nhãn đa giao thức
NHRP Next Hop Resolution Protocol Giao thức phân giải chặng kế tiếp
OSPF Open Shortest Path First Giao thức đường đi ngắn nhất đầu tiên
PPP Point to Point Protocol Giao thức điểm - điểm
PSTN Public Switch Telephone Network Mạng thoại chuyển mạch công cộng
QoS Quality of Service Chất lượng dịch vụ
RESV Resevation Bản tin dành trước
RFC Request For Comment Yêu cầu ý kiến
RSVP Resource Resevation Protocol Giao thức dành trước tài nguyên
SG Signaling Gateway Cổng báo hiệu
SLA Service Level Agreement Thoả thuận mức dịch vụ
SNMP Simple Network Management Protocol
Giao thức quản lý mạng đơn
SONET Synchronous Optical Network Mạng truyền dẫn quang đổng bộ
SPF Shortest Path First Đường đi ngắn nhất đầu tiên
STM Synchronous Transmission Mode Chế độ truyền dẫn đồng bộ
SVC Signaling Virtual Circuit Kênh ảo báo hiệu
TCP Transission Control Protocol Giao thức điều khiển truyền dẫn
TGW Traffic Gateway Cổng lưu lượng
TLV Type-Leng-Value Kiểu-Chiều dài-Giá trị
ToS Type of Service Kiểu dịch vụ
TTL Time To Live Thời gian sống
UDP User Datagram Protocol Giao thức lược đồ dữ liệu
VC Virtual Circuit Kênh ảo
VCI Virtual Circuit Identifier Nhận dạng kênh ảo
VNPT Vietnam Post&Telecommunications Tổng công ty BCVT Việt Nam
Học viện công nghệ bưu chính viễn thông ii
Đồ án tốt nghiệp Đại học Thuật Ngữ Viết Tắt
VP Virtual Path Đường ảo
VPI Virtual Path Identifier Nhận dạng đường ảo
VPN Virtual Private Network Mạng riêng ảo
WAN Wide Area Network Mạng diện rộng
WFQ Weighted Fair Queuing Hàng đợi công bằng tải trọng
Học viện công nghệ bưu chính viễn thông iii
Đồ án tốt nghiệp Đại học Mở Đầu
MỞ ĐẦU
Sự phát triển nhanh chóng các dịch vụ IP và sự bùng nổ Internet đã dẫn đến
một loạt thay đổi trong nhận thức kinh doanh của các nhà khai thác. Lưu lượng lớn
nhất hiện nay trên mạng trục là lưu lượng IP. Giao thức IP thống trị toàn bộ các giao
thức lớp mạng, hệ quả là tất cả các xu hướng phát triển công nghệ lớp dưới đều hỗ trợ
IP. Nhu cầu thị trường cấp bách cho mạng tốc độ cao với chi phí thấp là cơ sở cho một
loạt các công nghệ mới ra đời, trong đó có MPLS.
Những năm gần đây là khoảng thời gian mà công nghệ MPLS đã chứng minh
được tính ứng dụng thực tiễn các tính năng vượt trội của nó so với các công nghệ
chuyển mạch truyền thống khác như ATM. Tập đoàn bưu chính viễn thông Việt Nam
đã lựa chọn IP/MPLS làm công nghệ cho lớp truyền tải mạng NGN đang triển khai
trên phạm vi toàn quốc. Một trong những ưu điểm lớn nhất của MPLS là ở khả năng
thực hiện kỹ thuật lưu lượng. Đây cũng là đối tượng nghiên cứu chính của đồ án tốt
nghiệp này.
Đề tài được tổ chức thành 3 chương với các nội dung chính như sau:
Chương 1- Tổng quan về chuyển mạch nhãn đa giao thức: giới thiệu tổng quan
công nghệ MPLS, các khái niệm cơ bản, kiến trúc chức năng và cơ chế hoạt động của
MPLS, các kỹ thuật định tuyến được hỗ trợ bởi MPLS, chế độ báo hiệu và một số giao
thức báo hiệu phân phối nhãn của MPLS.
Chương 2- Kỹ thuật lưu lượng trong MPLS và cơ chế bảo vệ khôi phục đường:
Trình bày các khái niệm và mục tiêu của kỹ thuật lưu lượng, khả năng và các cơ chế
thực hiện kỹ thuật lưu lượng của MPLS. Nội dung tập trung vào vấn đề ánh xạ lưu
lượng lên topology vật lý, tức là tính toán đường đi tốt nhất qua mạng của lưu lượng
sao cho mạng hoạt động hiệu quả và tin cậy nhất. Các vấn đề bảo vệ khôi phục đường
– một trong những nhiệm vụ của kỹ thuật lưu lượng cũng được trình bày trong chương
này.
Chương 3- Xây dựng chương trình mô phỏng MPLS-TE: Trình bày kết quả
thực hiện mô phỏng MPLS-TE trên máy tính với phần mềm NS-2 để làm rõ cơ chế
thực hiện kỹ thuật lưu lượng của MPLS. Mô hình bảo vệ khôi phục lưu lượng của
MPLS cũng được mô phỏng trong phần này.
Học viện công nghệ bưu chính viễn thông 1
Đồ án tốt nghiệp Đại học Mở Đầu
Em rất mong nhận được các ý kiến đóng góp của các thầy cô để hoàn thành
thêm kiến thức trong lĩnh vực này. Qua đây, em xin gửi lời cám ơn đến TS Nguyễn
Tiến Ban, giáo viên hướng dẫn đã giúp đỡ em trong suốt quá trình thực hiện đồ án này.
Hà nội, tháng 11 năm 2008
Sinh viên
Đỗ Tiến Thành
Học viện công nghệ bưu chính viễn thông 2
Đồ án tốt nghiệp Đại học Chương I
CHƯƠNG I
TỔNG QUAN VỀ CHUYỂN MẠCH NHÃN ĐA GIAO THỨC
1.1 Giới thiệu
MPLS là viết tắt của “Muti-Protocol Label Switching”. Thuật ngữ Muti-Protocol
để nhấn mạnh rằng công nghệ này áp dụng cho được tất cả các giao thức lớp mạng chứ
không phải chỉ riêng cho IP. MPLS hoạt động tốt trên bất kì các giao thức lớp liên kết
nào. Đây là một công nghệ lai kết hợp những đặc tính tốt nhất của định tuyến lớp 3
(Layer 3 routing) và chuyển mạch lớp 2 (Layer 2 swithching) (hình 1.1).
Trong mạng chuyển mạch kênh, tính thông minh chủ yếu tập trung ở mạng lõi
(core). Tất cả những thiết bị thông minh đều đặt trong mạng lõi như các tổng đài toll,
transit, MSC…Các thiết bị kém thông minh hơn thì đặt bên trong mạng biên(egde), ví
dụ như các tổng đài nội hay, truy nhập….
Trong mạng gói IP, tính thông minh càng đưa ra biên thì mạng càng hoạt động
tốt. Tất cả các bộ định tuyến đều phải làm hai nhiệm vụ là định tuyến và chuyển mạch.
Đây là ưu điểm nhưng cũng là nhược điểm của IP.
Quan điểm của MPLS là tính thông minh càng đưa ra biên thì mạng càng hoạt
động tốt. Lý do là những thành phần ở mạng lõi phải chịu tải rất cao. Thành phần mạng
lõi nên có độ thông minh thấp và năng lực chuyển tải cao. MPLS phân tách hai chức
năng định tuyến và chuyển mạch: Các bộ định tuyến ở biên thực hiện định tuyến và gắn
nhãn (label) cho gói. Còn các bộ định tuyến ở mạng lõi chỉ tập trung làm nhiệm vụ
chuyển tiếp gói với tốc độ cao dựa vào nhãn. Tính thông minh được đẩy ra ngoài biên là
một trong những ưu điểm lớn nhất của MPLS.
Hình 1.1: MPLS và mô hình tham chiếu OSI
Học viện công nghệ bưu chính viễn thông 1
Đồ án tốt nghiệp Đại học Chương I
MPLS được xem như là một công nghệ lớp đệm (shim layer), nó nằm trên lớp 2
những dưới lớp 3 vì vậy đôi khi người ta còn gọi là lớp 2,5 (hình 1.2).
Nguyên lý chung của MPLS là tất cả các gọi IP sẽ được gắn nhãn (label) và
chuyển tiếp theo một đường dẫn LSP (Label Switch Path). Các bộ định tuyến trên
đường dẫn chỉ căn cứ vào nội dung của nhãn để thực hiện quyết định chuyển tiếp gói
mà không cần phải kiểm tra tiêu đề IP.
Hình 1.2: So sánh giữa chuyển tiếp IP và chuyển tiếp MPLS
1.2 Các khái niệm cơ bản trong MPLS
1.2.1 Miền MPLS
RFC 3031 mô tả miền MPLS là “một tập các nút trong mạng thực hiện hoạt
động định tuyến và chuyển tiếp MPLS”. Một miền MPLS thường được quản lý và điều
khiển bởi một nhà quản trị.
Miền MPLS được chia thành 2 phần: phần mạng lõi (core) và phần mạng biên
(edge). Các nút thuộc miền MPLS được gọi là bộ định tuyến chuyển mạch nhãn LSR
(Label Switch Router). Các nút ở phần mạng lõi được gọi là transit-LSR hay core-LSR
(thường được gọi tắt là LSR). Các nút ở biên được gọi là bộ định tuyến biên nhãn LSR
(Label Edge Router) (hình 1.3).
Học viện công nghệ bưu chính viễn thông 2
Đồ án tốt nghiệp Đại học Chương I
Hình 1.3: Miền MPLS
Nếu một LER là nút đầu tiên trên đường đi của một gói xuyên qua miền MPLS
thì nó được gọi là LER lối vào (ingress-LER), còn nếu là nút cuối cùng thì nó được gọi
là LER lối ra (ergress-LER). Lưu ý là các thuật ngữ này chỉ được áp dụng tùy theo
chiều của luồng lưu lượng trong mạng, do vậy một LER có thể là ingress-LER vừa là
egress-LER tùy theo các luồng lưu lượng đang xét như hình 1.4.
A là đường lên của B B là đường xuống của A C là đường xuống của B
Và là đường lên của C
Chiều luồng gói
Hình 1.4: Đường lên và đường xuống LSR
Thuật ngữ bộ định tuyến đường lên LSR (LSR) và bộ định tuyến đường xuống
LSR (downstream-LSR cũng được dùng, phụ thuộc vào chiều của luồng lưu lượng. Các
tài liệu MPLS thường được dùng ký hiệu Ru để biểu thị cho upstream-LSR và dùng ký
hiệu Rd để biểu thị cho downstream-LSR.
1.2.2 Lớp chuyển tiếp tương đương
Lớp chuyển tiếp tương đương FEC (Forwarding Equitvalence Class) là một tập
các gói được đối xử như nhau bởi một LSR. Như vậy, FEC là một nhóm các gói tin IP
được chuyển tiếp trên cùng một đường chuyển mạch nhãn LSP, được đối xử theo cùng
một cách thức và có thể ánh xạ vào một nhãn bởi một LSR cho dù chúng có thể khác
nhau về thông tin tiêu đề lớp mạng. Hình 1.5 cho thấy các xử lý này.
Học viện công nghệ bưu chính viễn thông
Label Switching
Router(core LSR)
Label Edge Router (LER)
3
Đồ án tốt nghiệp Đại học Chương I
Hình 1.5: Lớp chuyển tiếp tương đương trong MPLS
1.2.3 Nhãn và ngăn xếp nhãn
RFC 3031 định nghĩa nhãn là “một bộ nhận dạng có độ dài ngắn và cố định,
mang theo ý nghĩa cục bộ dùng để nhận biết một FEC”. Nhãn được “dán” lên một gói
để báo cho LSR biết gói này cần đi đâu. Phần nội dung nhãn có độ dài 20 bit không cấu
trúc, như vậy số giá trị nhãn có thể có là 2^20 (hơn một triệu giá trị). Giá trị nhãn định
nghĩa chỉ mục (index) để dùng trong bảng chuyển tiếp.
Một gói lại có thể được “dán chồng” nhiều nhãn, các nhãn này chứa trong một
nơi gọi là ngăn xếp nhãn (label ngăn xếp). Ngăn xếp nhãn là một tập hợp gồm một hoặc
nhiều thực thể nhãn tổ chức theo nguyên tắc LIFO (hình 1.6). Tại mỗi chặng trong mạng
chỉ xử lý nhãn hiện hành trên đỉnh ngăn xếp. Chính nhãn này sẽ được LSR sử dụng để
chuyển tiếp gói.
Thực thể ngăn xếp
Thực thể ngăn xếp
Thực thể ngăn xếp
Thực thể ngăn xếp
Hình 1.6: Ngăn xếp nhãn
Nếu gói tin chưa có nhãn thì ngăn xếp nhãn là rỗng (độ sâu của ngăn xếp nhãn
bằng 0). Nếu ngăn xếp có chiều sâu là d thì mức 1 sẽ là đáy ngăn xếp (bit S trong thực
Học viện công nghệ bưu chính viễn thông
Mức d
Mức d-1
Mức 2
Mức 1
Đỉnh ngăn xếp
Đáy ngăn xếp
4
Đồ án tốt nghiệp Đại học Chương I
thể nhãn đặt lên 1) và mức d sẽ là đỉnh của ngăn xếp. Một thực thể nhãn có thể được đặt
thêm vào (push) hoặc lấy ra (pop) khỏi ngăn xếp.
1.2.4 Hoán đổi nhãn
Hoán đổi nhãn (Label Swapping) là cách dùng các thủ tục để chuyển tiếp gói. Để
chuyển tiếp gói có nhãn, LSR kiểm ra nhãn trên đỉnh ngăn xếp và dùng ánh xạ ILM
(Incoming Label Map) để ánh xạ nhãn tới một thực thể chuyển tiếp nhãn NHLFE (Next
Hop Label Forwarding Entry). Sử dụng thông tin trong NHLFE, LSR xác định ra nơi để
chuyển tiếp gói và thực hiện một tác vụ trên ngăn xếp nhãn. Rồi nó mã hóa ngăn xếp
nhãn mới vào gói và chuyển gói đi.
Chuyển tiếp gói chưa có nhãn cũng tương tự nhưng xảy ra ở ingress-LER. LER
phải phân tích tiêu đề lớp mạng để xác định FEC rồi sử dụng ánh xạ FTN (FEC-to-
NHLFE) để ánh xạ FEC vào một NHLFE.
1.2.5 Đường chuyển mạch nhãn LSP
Đường chuyển mạch nhãn LSP (Label Switched Path) là một đường nối giữa bộ
định tuyến lối vào và bộ định tuyến lối ra, được thiết lập bởi các nút MPLS để chuyển
các gói đi xuyên qua mạng. Đường dẫn của một LSP qua mạng được định nghĩa bởi sự
chuyển đổi giá trị các nhãn ở các LSR dọc theo LSP bằng cách dùng thủ tục hoán đổi
nhãn (hình 1.7). Khái niệm LSP tương tự như khái niệm mạch ảo (VC) trong ATM.
Hình 1.7: Đường chuyển mạch nhãn LSP
Kiến trúc MPLS cho phép phân cấp các LSP, tương tự như ATM sử dụng VPI
và các VCI để tạo ra các phân cấp kênh ảo (VC) nằm trong đường ảo (VP). Tuy nhiên
ATM chỉ hỗ trợ 2 mức phân cấp, trong khi với MPLS thì số mức phân cấp cho phép rất
lớn nhờ khả năng chứa được nhiều thực thể nhãn trong ngăn xếp nhãn. Về lý thuyết,
giới hạn số lượng nhãn trong ngăn xếp phụ thuộc giá trị MTU (Maximum Transfer
Unit) của các giao thức lớp liên kết được dùng dọc theo một LSP.
Học viện công nghệ bưu chính viễn thông 5
Đồ án tốt nghiệp Đại học Chương I
Hình 1.8: Phân cấp LSP trong MPLS
1.2.6 Chuyển gói qua miền MPLS
Sau đây là một ví dụ đơn giản minh họa quá trình truyền gói tin IP đi qua miền
MPLS (hình 1.9). Gói tin IP khi đi từ ngoài mạng vào trong miền MPLS được bộ định
tuyến A đóng vai trò là một ingress-LER sẽ gán nhãn có giá trị là 6 cho gói IP rồi
chuyển tiếp đến bộ định tuyến B. Bộ định tuyến B dựa vào bảng hoán đổi nhãn để kiểm
tra nhãn của gói tin. Gói tin thay đổi giá trị nhãn mới là 3 và chuyển tiếp tới bộ định
tuyến C. Tại C, việc kiểm tra cũng tương tự như ở B và sẽ hoán đổi nhãn, gán cho gói
tin một nhãn mới là 9 và tiếp tục được đưa đến bộ định tuyến D.
Hình 1.9: Gói IP đi qua mạng MPLS
Bộ định tuyến D đóng vai trò egress-LSR sẽ kiểm tra trong bảng hoán đổi nhãn
và gỡ bỏ nhãn 9 ra khỏi gói tin rồi định tuyến gói IP một cách bình thường đi ra khỏi
Học viện công nghệ bưu chính viễn thông 6
Đồ án tốt nghiệp Đại học Chương I
miền MPLS. Với kiểu làm việc này thì các LSR trung gian như bộ định tuyến B và C sẽ
không phải thực hiện kiểm tra toàn bộ tiêu đề IP của gói tin mà nó chỉ việc kiểm tra các
giá trị của nhãn so với định tuyến IP truyền thống. Đường đi từ bộ định tuyến A đến bộ
định tuyến D được gọi là đường chuyển mạch nhãn LSP.
1.2.7 Mã hóa ngăn xếp nhãn
Khi nhãn được gắn lên gói, bản thân giá trị nhãn 20 bít sẽ được mã hóa cùng với
một số thông tin cộng thêm để phụ trợ trong quá trình chuyển tiếp gói để hình thành
một thực thể nhãn. Hình 1.10 minh họa định dạng thực thể nhãn trong ngăn xếp nhãn.
Hình 1.10: Định dạng một thực thể trong ngăn xếp nhãn MPLS
Nhóm 32 bít ở hình trên là một thực thể trong ngăn xếp nhãn, trong đó phần giá
trị nhãn thực sự chỉ có 20 bit. Tuy nhiên người ta thường gọi chung cho cả thực thể 32
bit nói trên là một nhãn. Vì vậy khi thảo luận về nhãn cần phân biệt là đang xem xét giá
trị nhãn 20 bit hay nói về thực thể 32 bit trong ngăn xếp nhãn. Phần thông tin 12 bit
cộng thêm gồm các trường sau đây:
EXP (một số tài liệu gọi là CoS-Class of Service)-Gồm 3 bít, có thể là một
hàm của trường TOS (Type of Service) hoặc Diffserv trong gói IP. Đa số các
nhà sản xuất sử dụng các bit này để mang chỉ thị QoS, thường là copy trực
tiếp từ các bit TOS trong gói tin IP. Khi gói MPLS vào hàng đợi, có thể sử
dụng các bit EXP theo cách giống như các bit ưu tiên trong IP.
S-Gồm 1 bit, chỉ thị đáy của ngăn xếp nhãn. Khi một nhãn nằm ở đáy ngăn
xếp nhãn thì bít S đặt lên 1, còn các nhãn khác có bit S đặt về 0. Bit S là
phương tiện để xác định đáy cuả ngăn xếp nhãn nằm ở đâu.
TTL-Gồm 8 bit, thường là copy trực tiếp từ trường TTL của tiêu đề IP, được
giảm đi 1 qua mỗi chặng để chặn lặp định tuyến giống như IP. Tuy nhiên, các
bit TTL cũng có thể được đặt khác TTL trong gói IP, thường dùng khi nhà
khai thác mạng muốn che giấu topology mạng MPLS.
Học viện công nghệ bưu chính viễn thông 7
Đồ án tốt nghiệp Đại học Chương I
MPLS có thể hoạt động ở các chế độ: chế độ khung và chế độ tế bào.
1.2.7.1 Chế độ khung
Các kỹ thuật lớp 2 như Ethernet, Token Ring, FDDI, PPP không có trường nào
phù hợp trong tiêu đề của khung có thể mang nhãn. Vì vậy, ngăn xếp nhãn sẽ được chứa
trong tiêu đề đệm (shim header). Tiêu đề shim được đệm vào giữa tiêu đề lớp liên kết và
tiêu đề lớp mạng, như trong hình 1.11. Đỉnh ngăn xếp nằm liền sau tiêu đề lớp 2 và đáy
ngăn xếp nằm liền trước tiêu đề lớp mạng.
Hình 1.11: Tiêu đề shim được đệm vào giữa tiêu đề lớp 2 và lớp 3
Bộ định tuyến gửi khung phải có cách để báo cho bộ định tuyến nhận biết rằng
khung này có chứa tiêu đề shim, cách thức này khác nhau giữa các kỹ thuật lớp 2.
Ethernet sử dụng cặp giá trị ethertype 0x8847 và 0x8848 để chỉ thị khung đang mang
gói MPLS unicast và multicast tương ứng. PPP sử dụng NCP (Network Control
Program) sửa đổi gọi là MPLSCP (MPLS Control Protocol) và đánh dấu tất cả các gói
có chứa tiêu đề shim bằng giá trị 0x8281 trong trường PPP Protocol.
1.2.7.2 Chế độ tế bào
Hình 1.12: Nhãn trong chế độ ATM
Chế độ tế bào được dùng khi ta có một mạng gồm các ATM-LSR (là các chuyển
mạch ATM có hỗ trợ MPLS), trong đó nó sử dụng các giao thức phân phối nhãn MPLS
để trao đổi thông tin VPI/VCI thay cho báo hiệu ATM. Nhãn được mã hóa trong trường
gộp VPI/VCI, trong VPI hoặc VCI của tiêu đề tế bào ATM (RFC 3035).
Tế bào ATM gồm 5 byte tiêu đề và 48 byte trọng tải. Để chuyển tải gói tin có
kích thước lớn hơn 48 byte từ lớp trên đưa xuống (ví dụ gói IP), ATM phải chia gói tin
Học viện công nghệ bưu chính viễn thông 8
Đồ án tốt nghiệp Đại học Chương I
thành nhiều phần nhỏ hơn, việc này gọi là phân đoạn (frafmentation). Quá trình phân
đoạn do lớp AAL (ATM Adaptation Layer) đảm trách. Cụ thể, AAL5 PDU sẽ được chia
thành nhiều đoạn 48 byte, mỗi đoạn 48 byte này được thêm tiêu đề 5 byte để tạo ra một
tế bào ATM.
Hình 1.13: Đóng gói có nhãn trên liên kết ATM
Khi đóng gói có nhãn MPLS trên ATM, toàn bộ ngăn xếp nhãn được đặt trong
AAL 5PDU. Giá trị thực sự của nhãn đỉnh được đặt trong trường VPI/VCI, hoặc đặt
trong ngăn xếp nhãn phải chứa giá trị 0 (coi như thực thể “giữ chỗ”) và được bỏ qua khi
nhận. Thực thể đỉnh do các nhãn phải chứa cả ở trong AAL5 PDU và tiêu đề ATM là để
mở rộng độ sâu ngăn xếp nhãn. Khi các tế bào ATM đi đến cuối LSP, nó sẽ được tái
hợp lại. Nếu có nhiều nhãn trong ngăn xếp nhãn, AAL5 PDU sẽ bị phân đoạn lần nữa và
nhãn hiện hành trên đỉnh ngăn xếp sẽ được đặt vào trường VPI/VCI.
1.3 Cấu trúc trường chức năng MPLS
1.3.1 Kiến trúc một nút MPLS
Hình 1.14 minh họa mặt phẳng điều khiển và chuyển tiếp của LSR và LER. Mặt
phẳng điều khiển có chức năng định tuyến IP dùng để giao tiếp với các LSR, LER khác
hoặc các bộ định tuyến IP thông thường bằng các giao thức định tuyến IP. Kết quả là
một cơ sở thông tin định tuyến RIB (Routing Information Base) được tạo lập gồm các
thông tin miêu tả các tuyến khả thi để tìm đến các tiền tố địa chỉ IP. LER sẽ sử dụng các
thông tin này để xây dựng cơ sở thông tin chuyển tiếp FIB (Forwarding Information
Base) trong mặt phẳng chuyển tiếp
Mặt phẳng điểu khiển còn chức năng báo hiệu MPLS dùng để giao tiếp với các
LSR khác bằng một giao thức phân phối nhãn. Kết quả một cơ sở thông tin nhãn LIB
(Label Informationn Base) gồm các thông tin liên quan đến các gán kết nhãn đã được
Học viện công nghệ bưu chính viễn thông 9
Đồ án tốt nghiệp Đại học Chương I
thương lượng với các bộ định tuyến MPLS khác. Thành phần báo hiệu MPLS nhận
thông tin từ chức năng định tuyến IP và LIB để xây dựng cơ sở thông tin chuyển tiếp
LFIB (Label Forwarding Information Base) trong mặt phẳng chuyển tiếp. Một LER có
thể có chuyển tiếp các gói tin IP, gắn nhãn vào gói (label push), hoặc gỡ nhãn ra khỏi
gói (label pop), trong khi đó một transit-LSR chỉ có khả năng chuyển tiếp gói có nhãn
thêm hoặc bỏ bớt nhãn.
Hình 1.14: Cấu trúc của LER và transit-LSR
1.3.2 Mặt phẳng chuyển tiếp
Mặt phẳng chuyển tiếp MPLS chịu trách nhiệm chuyển tiếp dữ liệu của người
dùng. Nó sử dụng LFIB để thực hiện chuyển tiếp các gói có gắn nhãn căn cứ vào giá trị
của nhãn nằm trên đỉnh ngăn xếp nhãn.
1.3.2.1 Cơ sở thông tin chuyển tiếp nhãn LFIB
Trong mạng IP, quyết định chuyển tiếp gói được xác lập bằng cách thực hiện tra
cứu địa chỉ đích trong bảng FIB để xác định chặng kế hoặc giao diện ra. Trong mạng
MPLS, mỗi LSR duy trì một bảng LFIB riêng rẽ và tách biệt với FIB. Bảng LFIB có hai
loại thực thể là ILM (incoming label map) và FTN (FEC-to-NHLFE).
NHLFE (next hop label forwarding entry) là thực thể con chứa các trường như
địa chỉ chặng kế, các tác vụ ngăn xếp nhãn, giao diện ra và thông tin tiêu đề lớp 2. ILM
ánh xạ một nhãn đến một hoặc nhiều NHLFE. Nhãn trong gói đến sẽ dùng để chọn ra
một thực thể ILM cụ thể nhằm xác dịnh NHLFE. Còn FTN ánh xạ mỗi FEC vào môt
hoặc nhiều NHLFE. Nhờ các thực thể FTN, gói chưa có nhãn được chuyển thành gói có
nhãn.
Học viện công nghệ bưu chính viễn thông 10
Đồ án tốt nghiệp Đại học Chương I
Như vậy, khi một gói không nhãn thuộc một FEC đi vào miền MPLS, ingress-
LER sẽ sử dụng một thực thể LFIB loại FTN để chuyển gói không nhãn thành gói có
nhãn. Sau đó, tại các transit-LSR sử dụng một thực thể LFIB loại ILM để hoán đổi nhãn
vào nhãn ra. Cuối cùng, tại engress-LER sử dụng một thực thể LFIB loại ILM để gỡ bỏ
nhãn đến và chuyển tiếp gói không nhãn đến bộ định tuyến kế tiếp.
1.3.2.2 Thuật toán chuyển tiếp nhãn
Các nút MPLS sử dụng giá trị nhãn trong các gói đến làm chỉ mục để tra bảng
LFIB. Khi tìm thấy thực thể tương ứng với nhãn đến, nút MPLS thay thế nhãn trong gói
bằng nhãn ra và gửi nó đi qua giao diện ra để đến chặng kế được đặc tả trong thực thể
con NHLFE. Nếu thực thể con có chỉ định hàng đợi ra, nút MPLS sẽ đặt gói trên hàng
đợi đã chỉ định. Trong trường hợp nút MPLS duy trì một LFIB riêng cho mỗi giao diện,
nó sẽ dùng LFIB của giao diện mà gói đến để tra cứu chuyển tiếp gói.
Nút MPLS có thể lấy định vị được các thông tin chuyển tiếp cần thiết trong LFIB
chỉ trong một lần truy xuất bộ nhớ, tốc độ thực thi rất cao nhờ các chip ASIC.
1.3.2.3 NHLFE
NHLFE (Next Hop Label Forwarding Entry) là thực thể con của ILM hoặc FTN,
nó chứa các thông tin sau:
Chặng ở chặng kế tiếp của gói.
Tác vụ sẽ được tiến hành trên ngăn xếp nhãn của gói như sau:
1) Swap: Thay nhãn ở đỉnh ngăn xếp nhãn bằng một nhãn mới được
chỉ định.
2) Pop: Bóc một nhãn ra khỏi ngăn xếp.
3) Push: Chồng thêm một nhãn vào trong ngăn xếp nhãn.
Nhãn
vào
Cổng
vào
Đích Hoạt động Nhãn ra LSP ID Cổng ra
ID vào Giá trị
0.54 3 138.43 Thay thế 0.81 1 10 2
Hình 1.15: Một NHLFE
Ngoài ra, NHLFE cũng có thể chứa những thông tin sau:
Đóng gói lớp liên kết dữ liệu để sử dụng khi truyền gói
Học viện công nghệ bưu chính viễn thông 11
Đồ án tốt nghiệp Đại học Chương I
Cách thức mã hóa ngăn xếp nhãn khi truyền gói.
Bất kì các thông tin khác cần thiết để xử lí gói một cách chính xác.
1.3.3 Mặt phẳng điều khiển
Nhiệm vụ của các giao thức trong mặt phẳng điều khiển là phân phối các thông
tin cần thiết cho mỗi LER và LSR để cấu hình bảng FIB và LFIB. Trong một giao thức
định tuyến sử dụng báo hiệu, bảng thông tin định tuyến RIB hoạt động kết hợp với một
giao thức báo hiệu MPLS sử dụng bảng thông tin nhãn LIB để phân phối các nhãn. Việc
phân tách mặt phẳng điều khiển và mặt phẳng chuyến tiếp cho phép cài đặt một giao
thức điều khiển MPLS trên một ATM switch.
Tại sao MPLS cần giao thức báo hiệu, trong khi các bộ định tuyến IP cổ điển chỉ
cần định tuyến IP? Một lí do quan trọng phải dùng giao thức báo hiệu MPLS kết hợp
với một giao thức định tuyến xuất phát từ sự cần thiết phải thực hiện định tuyến ràng
buộc của đường chuyển mạch nhãn MPLS.
1.4 Hoạt động chuyển tiếp MPLS
1.4.1 Hoạt động trong mặt phẳng chuyển tiếp
FEC là một tập con các gói căn cứ theo một số thông tin trong tiêu đề IP được
dùng bởi FIB. Một FEC được dùng thường dựa theo luật “longest prefix match” trên địa
chỉ IP đích. Ví dụ: các địa chỉ IP so trùng với 16 bit đầu có dạng “a.b.x.x” (trong đó x
đại diện cho giá trị hợp lệ bất kì) được biểu diễn là “a.b/16” cho thực thể FEC đầu tiên
trong bảng FIB. FEC còn có thể căn cứ bổ sung theo các trường khác trong tiêu đề IP
như ToS hay Diffserv. FIB sử dụng FEC để xác định ra giao tiếp đi đến chặng kế cho
các gói IP, cách thực hiện giống như các bộ định tuyến cổ điển.
Cho các ví dụ từng hoạt động LFIB ở hình 1.16. Phần ILM của LFIB thao tác
trên một gói có nhãn và ánh xạ một nhãn vào (incoming label) tới một tập các thực thể
NHLFE. ILM được thể hiện trong hình bởi các cột IN-IF và IN-LBL, nhưng cũng có thể
là một bảng riêng rẽ cho môt giao tiếp. FTN của FIB ánh xạ một FEC tới một tập hợp
gồm một hoặc nhiều NHLFE. Như ví dụ trong hình, nhãn A được gắn (push) lên các gói
IP thuộc FEC “d.e/16”. Lưu ý là ILM hoặc FTN có thể ánh xạ tới nhiều NHLFE, chẳng
hạn để dùng trong cân bằng tải.
Học viện công nghệ bưu chính viễn thông 12
Đồ án tốt nghiệp Đại học Chương I
.
Hình 1.16: Bên trong mặt phẳng chuyển tiếp MPLS
1.4.2 Gỡ nhãn ở chặng áp cuối PHP
Một tối ưu hóa quan trọng mà MPLS hỗ trợ là tránh việc tra cứu nhãn (label
loopkup) phải xử lí ở egress-LER trong trường hợp một gói đi lên trên một LSP mà yêu
cầu tra cứu IP (IP Lookup) tiếp ngay sau đó. Ở trong hình trên 1.16, một gói đến có
nhãn A được gỡ nhãn (pop) và chuyển sang FIB để tra cứu tiếp trên tiêu đề IP.Để tránh
việc xử lý phát sinh thêm này, MPLS định nghĩa một tiến trình gọi là gỡ nhãn trong
chặng áp cuối PHP (penultimate hop pop), trong đó bộ định tuyến áp cuối trên LSP sẽ
gỡ nhãn thay vì egress-LER phải làm việc đó. Nhờ vậy cắt giảm được việc xử lý ở các
bộ định tuyến cuối cùng trên LSP.
1.5 Định tuyến trong MPLS
MPLS hỗ trợ cả hai kỹ thuật định tuyến: định tuyến từng chặng (hop-by-hop) và
định tuyến ràng buộc (constrain-based routing). Định tuyến từng chặng cho phép mỗi
nút nhận dạng FEC và chọn chặng kế tiếp cho mỗi FEC một cách độc lập, giống như
định tuyến trong mạng IP. Tuy nhiên, nếu muốn triển khai kỹ thuật lưu lượng với
MPLS, bắt buộc phải sử dụng kiểu định tuyến ràng buộc.
1.5.1 Định tuyến ràng buộc
Định tuyến ràng buộc là một phương tiện để thực hiện xử lý tự động hóa kỹ thuật
lưu lượng, khắc phục được các hạn chế của định tuyến theo đích (destination-based
routing). Nó xác định các tuyến không chỉ dựa trên topolgy mạng (thuật toán chọn
đường ngắn nhất SPF) mà còn sử dụng các metric đặc thù khác như băng thông, trễ, cost
Học viện công nghệ bưu chính viễn thông 13
Đồ án tốt nghiệp Đại học Chương I
và biến động trễ. Giải thuật chọn đường có khả năng tối ưu hóa theo một hoặc nhiều
metric này, thông thường người ta dùng metric dựa trên số chặng và băng thông.
Để đường được chọn có số chặng nhỏ nhất nhưng phải đảm bảo băng thông khả
dụng trên tất cả cả chặng liên kết, quyết định cơ bản như sau: chọn đường ngắn nhất
trong số tất cả các đường có băng thông khả dụng thỏa mãn yêu cầu.
Hình 1.17: Định tuyến ràng buộc
Để minh họa hoạt động của định tuyến ràng buộc, xét cấu trúc mạng “con cá”
kinh điển như hình 1.17. Giả sử rằng định tuyến ràng buộc sử dụng số chặng (hop-
count) và băng thông khả dụng làm các metric. Lưu lượng 600 kbps được định tuyến
trước tiên, sau đó là lưu lượng 500 kbps và 200 kbps. Cả 3 loại lưu lượng đều hướng
đến cùng một lối vào bộ định tuyến. Ta thấy rằng :
Vì lưu lượng 600 kbps được định tuyến trước nên nó đi theo đường ngắn
nhất là R8-R2-R3-R4-R5. Vì băng thông khả dụng là như nhau trên tất cả các
chặng kênh (1mb), nên lưu lượng 600 kbps chiếm 60% băng thông.
Sau đó, vì băng thông khả dụng của đường ngắn nhất không đủ cho cả 2
lưu lượng 600 kbps và 500 kbps, nên lưu lượng 500 kbps được định tuyến đi
theo đường mới qua R6 và R7 mặc dù nhiều hơn một chặng so với đường cũ.
Vì lưu lượng 200 kbps tiếp theo, vì vẫn còn băng thông khả dụng trên
đường ngắn nhất nên đường này được chọn để chuyển lưu lượng 200 kbps.
Định tuyến ràng buộc có 2 kiểu offline và online. Kiểu online cho phép các bộ
định tuyến tính đường cho các LSP bất kỳ lúc nào. Trong kiểu offline, một server tính
đường cho các LSP theo định kỳ (chu kỳ có thể được chọn bởi nhà quản trị, thường là
vài giờ hoặc vài ngày). Các LSP được báo hiệu thiết lập theo các đường đã được chọn.
Học viện công nghệ bưu chính viễn thông 14
Đồ án tốt nghiệp Đại học Chương I
1.5.2 Định tuyến tường minh
Định tuyến tường minh (explicit routing) là một tập con của định tuyến ràng
buộc trong đó sự ràng buộc là đối tượng tuyến tường minh ER. Tuyến tường minh ER
là một danh sách các “nút trừu tường” (abstract node) mà một đường chuyển mạch
nhãn ràng buộc CR-LSP phải đi qua. Nút trừu tượng có thể là một nút (địa chỉ IP) hoặc
một nhóm nút. Nếu ER chỉ quy định một nhóm trong số các nút mà CR-LSP đi qua thì
nó được gọi là tuyến tường minh thả lỏng. Ngược lại, nếu ER quy định toàn bộ các nút
trên CR-LSP thì được gọi là tuyến tường minh nghiêm ngặt.
CR-LSP được mã hóa như là một chuỗi các ER-Hop (chặng tường minh) chứa
trong một số cấu trúc Type-Length-Value ràng buộc (constraint-based route TLV). Mỗi
ER-Hop có thể xác định một nhóm các nút. CR-LSP khi đó bao gồm tất cả các nhóm
nút đã được xác định theo thứ tự xuất hiện trong cấu trúc TLV.
1.6 Các chế độ báo hiệu MPLS
1.6.1 Chế độ phân phối nhãn
MPLS cho phép hai chế độ hoạt động của các LSR để phân phối các ánh xạ
nhãn, đó là phân phối không cần yêu cầu và phân phối theo yêu cầu.
1.6.1.1 Phân phối nhãn không cần yêu cầu
Bộ định tuyến đường xuống LSR phân phối các gán kết nhãn đến bộ định tuyến
đường lên LSR mà không cần có yêu cầu thực hiện việc liên kết nhãn. Nếu bộ định
tuyến đường xuống chính là chặng kế đối với định tuyến IP cho một FEC cụ thể thì bộ
định tuyến đường lên LSR có thể sử dụng kiểu kết nhãn này để chuyển tiếp các gói
trong FEC đến bộ định tuyến đường xuống.
Hình 1.18: Phân phối nhãn không cần yêu cầu
1.6.1.2 Phân phối nhãn theo yêu cầu
Bộ định tuyến đường lên LSR phải yêu cầu rõ ràng một gán kết nhãn cho một
FEC cụ thể thì bộ định tuyến đường xuống mới phân phối. Trong phương thức này,
Học viện công nghệ bưu chính viễn thông 15
Đồ án tốt nghiệp Đại học Chương I
đường xuống của bộ định tuyến không nhất thiết phải là chặng kế đối với định tuyến IP
cho FEC đó, điều này rất quan trọng đối với các LSP định tuyến tường minh.
Hình 1.19: Phân phối nhãn gắn kết Nhãn-FEC
1.6.2 Chế độ duy trì nhãn
Một bộ định tuyến đường lên LSR có thể nhận các gán kết cho cùng một FEC X
từ nhiều bộ định tuyến đường xuống. Có hai chế độ duy trì các gán kết nhãn nhận được
là duy trì nhãn tự do (liberal label retention) và duy trì nhãn bảo thủ (consvervative
label retention).
1.6.2.1 Duy trì nhãn tự do
Phía bộ định tuyến đường lên (LSR1) lưu giữ tất cả các gán kết nhãn nhận được,
bất chấp việc bộ định tuyến đường xuống có phải là chặng kế đối với định tuyến IP hay
không (hình 1.20). Ưu điểm chính của duy trì nhãn tự do là có thể phản ứng nhanh với
sự thay đổi định tuyến vì các gán kết nhãn đã có sẵn. Nhược điểm là LSR phải duy trì
nhiều gán kết nhãn không dùng và có thể gây ra lặp định tuyến tạm thời khi thay đổi
định tuyến.
Hình 1.20: Duy trì nhãn tự do
Học viện công nghệ bưu chính viễn thông 16
Đồ án tốt nghiệp Đại học Chương I
1.6.2.2 Duy trì nhãn bảo thủ
Bộ định tuyến đường lên LSR hủy tất cả các gán kết nhãn khác, chỉ giữ lại gán
kết nhãn gửi từ bộ định tuyến đường xuống đang là chặng kế hiện hành (hình 1.21).
Chế độ này có ưu điểm là LSR chỉ cần duy trì số gán kết FEC-nhãn ít hơn, nhưng đáp
ứng chậm khi thay đổi định tuyến vì gán kết nhãn mới phải được yêu cầu và phân phối
lại. Đây là chế độ thích hợp cho các LSR chỉ hỗ trợ một số lượng nhãn hạn chế (như
các chuyển mạch ATM).
Hình 1.21: Duy trì nhãn bảo thủ
1.6.3 Chế độ điều khiển LSP
Khi một FEC ứng với một tiền tố địa chỉ được phân phối bởi định tuyến IP, việc
thiết lập mối kết hợp giữa các gán kết nhãn tại một LSR có thể thực hiện theo hai cách
sau đây:
1.6.3.1 Điều khiển độc lập
Khi mỗi LSR nhận dạng ra một FEC thì nó quyết định gán kết ngay một nhãn
cho FEC đó và công bố luôn gán kết cho các đối tác phân phối nhãn (label distribution
peer). Điều này tương tự như định tuyến IP thông thường, ở đó mỗi bộ định tuyến ra
quyết định độc lập về nơi cần chuyển gói đi. Điều khiển độc lập có ưu điểm là thiết lập
nhanh vì việc kết nhãn diễn ra song song giữa nhiều cặp LSR và dòng lưu lượng có thể
bắt đầu truyền mà không cần đợi cho tất cả các gán kết nhãn thiết lập xong.
Hình 1.22: Điều khiển độc lập
Học viện công nghệ bưu chính viễn thông 17
Đồ án tốt nghiệp Đại học Chương I
1.6.3.2 Điều khiển tuần tự
Một bộ định tuyến đường xuống thực hiện kết nhãn cho một FEC và thông báo
gán kết đó chỉ nếu nó là LSR lỗi ra hoặc nếu nó nhận được một gán kết nhãn cho FEC
đó từ bộ định tuyến hướng đường xuống của nó (hình 1.23). Việc thiết lập LSP tuần tự
bắt đầu ở LSR lối ra và diễn ra nối tiếp theo hướng ngược về LSR lối vào. Các LSP
định tuyến tường minh bắt buộc phải sử dụng kiểu điều khiển tuần tự và quá trình phân
phối nhãn theo chuỗi có thứ tự sẽ tạo ra thời gian trễ trước khi dòng lưu lượng đi trên
LSP có thể bắt đầu. Tuy nhiên, điều khiển tuần tự cũng cấp phương tiện tránh lặp và đạt
được mức độ thu gom chắc chắn hơn.
Hình 1.23: Điều khiển tuần tự
1.7 Các giao thức hoạt đông
1.7.1 Giao thức LDP
LDP (label distribution protocol) được chuẩn hóa trong RFC 3036, nó được thiết
kế để thiết lập và duy trì các LSP định tuyến không ràng buộc. Vùng hoạt động của
LDP có thể là giữa các LSR láng giềng (neighbor) trực tiếp hoặc gián tiếp (hình 1.24)
Hình 1.24: Vùng hoạt động của LDP
1.7.1.1 Hoạt động của LDP
LDP có 4 chức năng chính là phát hiện LSR láng giếng (neighbor discovery),
thiết lập và duy trì phiên, quảng bá nhãn và thông báo. Tương ứng với các chức năng
trên, có 4 lớp thông điệp LDP sau đây:
Discovery: Để trao đổi định kỳ bản tin Hello nhằm loan báo và kiểm tra
một LSR kết nối gián tiếp hoặc trực tiếp.
Học viện công nghệ bưu chính viễn thông 18
Đồ án tốt nghiệp Đại học Chương I
Session: Để thiết lập, thương lượng các thông số cho việc khởi tạo, duy trì
và chấm dứt các phiên ngang hàng LDP. Nhóm này bao gồm bản tin
Initialization ,KeepAlive.
Advertisement: Để tạo ra, thay đổi hoặc xóa các ánh xạ FEC tới nhãn.
Nhóm này bao gồm bản tin Label Mapping, Label Withdrawal, Label
Release, Label Request, Label Request Abort.
Notification: Để truyền đạt các thông tin trạng thái, lỗi hoặc cảnh báo.
Các thông điệp Discovery được trao đổi trên UDP. Các kiểu thông điệp còn lại
đòi hỏi phân phát tin cậy nên dùng TCP. Trường hợp hai LSR có kết nối lớp 2 trực tiếp
thì thủ tục phát hiện neighbor trực tiếp như sau:
Một LSR định kỳ gửi đi bản tin Hello tới các cổng UDP 646 địa chỉ
multicast.
Tất cả các LSR tiếp nhận bản tin Hello này trên cổng UDP. Đến một thời
điểm nào đó LSR sẽ biết được tất cả các LSR khác mà nó kết nối trực tiếp.
Khi LSR nhận biết được địa chỉ của LSR khác bằng cơ chế này thì nó sẽ
thiết lập kết nối TCP đến LSR đó. Khi đó phiên LDP được thiết lập giữa 2
LSR.
Phiên LDP là phiên song hướng nên mỗi LSR ở hai đầu kết nối đều có thể yêu
cầu và gửi liên kết nhãn.
Hình 1.25: Trao đổi thông điệp LDP
Trong trường hợp hai LSR không có kết nối lớp 2 trực tiếp (neighbor gián tiếp)
thì LSR định kỳ gửi bản tin Hello đến cổng UDP đã biết tại địa chỉ IP xác định được
Học viện công nghệ bưu chính viễn thông 19
Đồ án tốt nghiệp Đại học Chương I
khai báo khi lập cấu hình. Đầu nhận bản tin này có thể trả lời lại bằng bản tin Hello
khác và việc thiết lập các phiên LDP được thực hiện như trên.
1.7.1.2 Cấu trúc thông điệp LDP
Trao đổi thông điệp LDP thực hiện bằng cách gửi các LDP-PDU (Protocol Data
Unit) thông điệp qua các phiên LDP trên kết nối TCP. Mỗi LDP-PDU có thể mang một
hoặc nhiều thông điệp, và các thông điệp này không nhất thiết phải có liên quan với
nhau.
Mỗi PDU của LDP bao gồm một tiêu đề LDP và theo sau là một hoặc nhiều
thông điệp LDP. Phần tiêu đề LDP có dạng như hình 1.26:
Hình 1.26: LDP Hearder
PDU Length (2 octet): số nguyên chỉ chiều dài của PDU theo octet, không tính
trường Version và PDU Length. LDP Identifier (6 octet): xác định không gian nhãn
được cấp phát. Bốn octet đầu là giá trị duy nhất toàn cục nhận dạng LSR, như địa chỉ IP
(bộ định tuyến ID) được gán cho LSR. Hai octet sau xác định một không gian nhãn bên
trong LSR. Hai octet này được set về 0 cho không gian nhãn “per-platform”.
Tất cả các thông điệp LDP có cùng format như hình 1.27:
Hình 1.27: Format thông điệp LDP
Bit U: bit unknown, luôn là 0 vì đặc tả LDP không có kiểu bản tin Unknown.
Học viện công nghệ bưu chính viễn thông 20
Đồ án tốt nghiệp Đại học Chương I
Message Length : Chiều dài của các trường sau Message Length tính theo octet
(gồm Message ID, các tham số bắt buộc và tùy chọn).
Messafe ID đôi khi được dùng để liên kết một số bản tin với các bản tin khác, ví
dụ một bản tin đáp ứng có cùng Message ID với bản tin yêu cầu tương ứng. Các tham
số bắt buộc và tùy chọn phụ thuộc vào các loại bản tin được gửi, chúng thường dùng
kiểu mã hóa TLV (Type-Length-Value). Nói chung, mọi thứ xuất hiện trong một thông
điệp LDP có thể được mã hóa kiểu TLV, tuy nhiên đặc tả LDP không phải lúc nào cũng
sử dụng lược đồ TLV.
1.7.1.3 Các bản tin LDP
Hello: Được trao đổi trong suốt quá trình hoạt động LDP như trình bày ở
trên.
Initialization: Được gửi khi bắt đầu một phiên LDP giữa 2 LSR để trao
đổi các tham số, các tùy chọn cho phiên. Các tham số này bao gồm:
Chế độ phân bổ nhãn.
Các giá trị bộ định thời
Phạm vi các nhãn sử dụng trong kênh giữa 2 LSR đó.
Cả 2 LSR đều có thể gửi các bản tin Initialization và LSR nhận sẽ trả lời bằng
KeepAlive nếu các tham số được chấp nhận. Nếu có một tham số nào đó không được
chấp nhận thì LSR trả lời thông báo có lỗi nếu phiên kết thúc.
o KeepAlive : Được gửi định kỳ khi không còn bản tin nào cần gửi
để đảm bảo cho mỗi thành phần LDP biết rằng thành phần LDP khác đang
hoạt động tốt. Trường hợp không xuất hiện bản tin KeepAlive hay một số bản
tin LDP khác trong khoảng thời gian nhất định thì LSR sẽ xác định đối tác
LDP hỏng hoặc kết nối có sự cố và phiên LDP chấm dứt.
o Label Mapping : Được sử dụng để quảng bá gán kết giữa FEC và
nhãn.
o Label Withdrawal : Thực hiện quá trình ngược lại với bản tin Label
Mapping. Nó được sử dụng để xóa bỏ gán kết đã thực hiện trong Label
Mapping. Bản tin này được sử dụng trong trường hợp :
Khi có sự thay đổi trong bảng định tuyến (thay đổi tiền tố địa chỉ), lúc
đó LSR không còn nhận ra FEC này nữa.
Học viện công nghệ bưu chính viễn thông 21
Đồ án tốt nghiệp Đại học Chương I
Thay đổi trong cấu hình LSR làm tạm dừng việc chuyển nhãn các gói
trong FEC đó.
o Label Release : Được sử dụng bởi LSR khi nhận được chuyển đổi
nhãn mà nó không cần thiết nữa. Điều đó thường xảy ra khi LSR giải phóng
nhận thấy nút tiếp theo cho FEC không phải là LSR quảng bá liên kết
nhãn/FEC đó.
o Label Request : Sử dụng trong chế độ hoạt động gán nhãn theo yêu
cầu, LSR sẽ yêu cầu gán nhãn LSR kế cận phía đường xuống bằng bản tin
này.
o Label Request Abort : Nếu bản tin Label Request cần phải hủy bỏ
trước khi được chấp nhận (do nút kế tiếp trong FEC yêu cầu đã thay đổi), thì
LSR yêu cầu sẽ loại bỏ yêu cầu trước đó bằng bản tin Label Request Abort.
1.7.1.4 LDP điều khiển độc lập và phân phối theo yêu cầu
Ví dụ dưới đây (hình 1.28) minh họa việc sử dụng bản tin Label Request và
Label Mapping.
Trong các chế độ công bố nhãn theo yêu cầu và điều khiển độc lập. Trình tự thời
gian trao đổi các bản tin LDP giữa các đối tác (peer) thiết lập một LSP từ bộ định
tuyến lối vào R1 qua R2 rồi đến bộ định tuyến lối ra R3 cho một FEC có tiền tố
“a.b/16”. R1 khởi tạo tiến trình bằng cách yêu cầu một nhãn cho FEC “a.b/16” từ chặng
kế của nó R2. Vì sử dụng điều khiển độc lập nên R2 trả ngay một ánh xạ nhãn về cho
R1 trước khi R2 nhận được ánh xạ nhãn từ phía đường xuống là R3. Cả R2 và R3 đáp
ứng bằng bản tin Label Mapping, kết quả là trong FIB của R1 và LFB của R2, R3 có
các thực thể gắn kết nhãn hình thành nên đường chuyển mạch nhãn LSP.
Học viện công nghệ bưu chính viễn thông 22
Đồ án tốt nghiệp Đại học Chương I
Hình 1.28: LDP chế độ điều khiển theo yêu cầu
LDP còn hỗ trợ các chế độ phân phối nhãn khác. Khi cấu hình ở chế độ công bố
không cần yêu cầu (downstream unsolicited), các bộ định tuyến sẽ không dùng bản tin
Label Request. Nếu điều khiển tuần tự (ordered control) được cấu hình trên mỗi giao
diện, các yêu cầu nhãn sẽ làm cho các bản tin Label Mapping được trả về theo thứ tự từ
R3 đến R2, rồi mới từ R2 về R1. Tổng quát, trong chế độ phân phối theo yêu cầu điều
khiển tuần tự, ánh xạ nhãn diễn ra đầu tiên ở bộ định tuyến lối ra, rồi sau đó lần lượt
ngược về đến bộ định tuyến lối vào.
1.7.2 Giao thức CR-LDP
CR-LDP (constrain-based routing LDP) là giao thức mở rộng từ LDP (RFC
3212) nhằm hỗ trợ đặc biệt cho định tuyến ràng buộc, kỹ thuật lưu lượng và các hoạt
động dự trữ tài nguyên. Các khả năng của CR-LDP tùy chọn bao gồm thương lượng
các tham số lưu lượng như cấp phát băng thông, thiết lập và cầm giữ quyền ưu tiên.
1.7.2.1 Mở rộng cho định tuyến ràng buộc
CR-LDP bổ sung thêm các đối tượng Type-Length-Value mới sau đây :
Tuyến tường minh ER
Chặng tường minh ER-Hop
Các tham số lưu lượng
Sự lấn chiếm (Preemptions)
Nhận diện LSP (LSPID)
Gim tuyến (Route Pinning)
Lớp tài nguyên (Resource Class)
CR-LSP FEC
Một số thủ tục mới cũng được bổ sung để hỗ trợ các chức năng cần thiết như:
o Báo hiệu đường (Path Signalling)
o Định nghĩa các tham số lưu lượng
o Quản lý LSP ( quyền ưu tiên, cam kết quản trị….)
CR-LDP sử dụng cơ chế gán nhãn theo yêu cầu và điều khiển tuần tự. Một LSP
được thiết lập khi một chuỗi các bản tin Label Request lan truyền từ ingress-LSR đến
egress-LSR, nếu đường được yêu cầu thỏa mãn các ràng buộc (ví dụ như đủ băng thông
Học viện công nghệ bưu chính viễn thông 23
Đồ án tốt nghiệp Đại học Chương I
khả dụng), thì các nhãn mới được cấp phát và phân phối bởi một chuỗi các bản tin
Label Mapping lan truyền ngược về ingress-LSR. Việc thiết lập một CR-LSP có thể
thất bại vì nhiều lý do khác nhau và các lỗi sẽ được báo hiệu bằng bản tin Notification.
1.7.2.2 Thiết lập một CR-LSP
Để thiết lập một LSP theo một con đường định trước, CR-LDP sử dụng đối
tượng tuyến tường minh ER. ER được chứa trong các bản tin Label.
Xét ví dụ trong hình 1.29. Giả sử LSR A muốn thiết lập một con đường tường
minh là B-C-D. Để thực hiện việc này, LSR A xây dựng đối tượng ER chứa tuần tự 3
nút trừu tượng là LSR B, LSR C, LSR D. Mỗi nút được đại diện bằng một địa chỉ IP
tiền tố. LSR A sau đó được xây dựng một bản tin Label Request có chứa đối tượng ER
mới đã tạo. Khi bản tin được tạo xong, LSR A sẽ xem xét nút trừu tượng đầu tiên trong
đối tượng ER là LSR B, tìm kết nối đến LSR B và gửi bản tin Label Request trên kết
nối. Khu LSR B nhận bản tin Label Request, LSR B nhận thấy nó là nút trừu tượng đầu
tiên trong đối tượng ER. LSR B sau đó tìm kiếm nút trừu tượng kế tiếp là LSR C và tìm
kết nối đến LSR C. Sau đó LSR B thay đổi đối tượng ER và gửi bản tin Label Request
đến LSR C, lúc này đối tượng ER chỉ gồm LSR C và LSR D. Việc điều khiển bản tin
này tại LSR cũng tương tự như ở LSR B.
Hình 1.29: Thiết lập LSP và CR-LD
Khi bản tin đến LSR D, LSR D nhận thấy rằng nó là nút cuối cùng trong đối
tượng ER. Vì vậy, LSR D tạo nên một bản tin Label Mapping và gửi nó đến LSR C.
Bản tin này để cập nhật LFIB. Sau đó, LSR C gửi bản tin Label Mapping đến LSR B.
Bản tin này cũng chứa nhãn mà LSR C đã quảng bá. Việc điều khiển bản tin Label
Mapping ở LSR B hoàn toàn tương tự như ở LSR C. Cuối cùng, LSR A nhận được bản
tin và LSP được thiết lập theo con đường định tuyến tường minh cho trước để mang
thông tin về tài nguyên cần phải dữ trữ.
Học viện công nghệ bưu chính viễn thông 24
Đồ án tốt nghiệp Đại học Chương I
1.7.2.3 Tiến trình dự trữ tài nguyên
. Khi một nút CD-LDP nhận được một bản tin Label Request, nó gọi Admission
Control để kiểm tra xem nút này có các tài nguyên được yêu cầu không. Nếu có đủ tài
nguyên khả dụng, Admission Control dự trữ nó bằng cách cập nhật bảng Resource. Sau
đó bản tin Label Request được chuyển tiếp đến nút MPLS kề sau.
Khi nút CR-LDP nhận bản tin Label Mapping, nó lưu thông tin nhãn và giao diện
vào bảng LIB, lưu thông tin CR-LDP được yêu cầu vào bảng cơ sở thông tin tuyến
tường minh ERB (Explicit Route information Base). Rồi nó gọi Resource Manager để
taọ một bảng hàng đợi phục vụ cho CR-LSP được yêu cầu, và lưu Service ID của nó
vào bảng ERB. Cuối cùng nó chuyển tiếp bản tin LSP Mapping tới nút MPLS kề trước.
1.7.3 Giao thức RSVP-TE
RSVP có một số cơ chế cần thiết để thực hiện báo hiệu phân phối nhãn nhằm
ràng buộc định tuyến. IETF đã chuyên hóa mở rộng kỹ thuật lưu lượng RSVP-TE, định
nghĩa các ứng dụng của RSVP-TE như hỗ trợc phân phối nhãn theo yêu cầu để cấp phát
tài nguyên cho các LSP định tuyến tường minh.
1.7.3.1 Các bản tin thiết lập dự trữ RSVP
RSVP sử dụng khái niệm dữ trữ ở đầu nhận. Trước tiên đầu gửi phát ra một bản
tin PATH nhận diện một luồng và các đặc tính lưu lượng của nó. Bản tin PATH chứa
một session-ID, sender-template, label-request, sender-Tspec và tùy chọn là đối tượng
tuyến tường minh ERO (explicit route object). Session-ID chứa một địa chỉ IP đích đi
kèm một nhận dạng hầm 16 bit (tunnel ID) để nhận diện một đường hầm LSP. Như đã
trình bày ở chương trước, chỉ có ingress-LSP mới cần biết về FEC được gán vào một
đường hầm LSP. Do đó, không giống như LDP, FEC ánh xạ vào đường hầm LSP công
bố nhãn theo yêu cầu. Sender-template chứa địa chỉ IP của đầu gửi đi kèm với một LSP
ID có hỗ trợ phương thức “make-before-breal” khi thay đổi đường đi của một đường
hầm LSP. Đặc tính lưu lượng của Tspec sử dụng tốc độ đỉnh (peak rate), thùng token
(token bucket) để định nghĩa tốc độ và kích thước bùng phát, đơn vị khống chế tối thiểu
và kích thước gói tối đa.
Khi bản tin PATH đi đến đích, bên nhận đáp ứng bằng một bản tin RESV nếu nó
đồng ý khởi tao việc gán kết nhãn được yêu cầu trong bản tin PATH. Bản tin RESV
được truyền về theo đường ngược chiều với bản tin PATH bằng cách dùng thông tin
chặng kề trước trong bản tin PATH. RESV cũng chứa cùng sesion-ID như ở bản tin
PATH tương ứng, đối tượng ghi tuyến tùy chọn (route record) và thông tin lệ thuộc
Học viện công nghệ bưu chính viễn thông 25
Đồ án tốt nghiệp Đại học Chương I
kiểu dự trữ (reservation style). Kiểu FF (fixed filter) có một nhãn và Tspec được ấn
định cho mỗi cặp sender-receiver. Kiểu SE (share explicit) ấn định một nhãn khác nhau
cho mỗi sender, nhưng tất cả chúng ta phải áp dụng cùng một dữ trữ luồng rõ ràng. Đối
tượng record-route ghi nhận tuyến đường thực tế được chọn bởi LSP bắt đầu từ lối ra
dẫn ngược về lối vào. Nó có thể được một bộ định tuyến dùng để ghim một tuyến
tường minh thả lỏng bằng cách copy tuyến ghi được trong một bản tin RESV sang đối
tượng tuyến tường minh ERO trong một bản tin PATH được gửi theo chiều ngược lại.
1.7.3.2 Các bản Tear Down, Error và Hello của RSVP-TE
RSVP-TE định nghĩa 2 bản tin dành cho việc giải tỏa LSP là PATH TEAR và
RESV TEAR. Hai bản tin này được gửi theo chiều ngược lại bản tin PATH và RESV
tương ứng. Bản tin TEAR xóa bỏ bất kỳ trạng thái đã cài đặt liên quan đến bản tin
PATH hay RESV. Các bản tin TEAR cũng có thể dùng để xóa các trạng thái đáp ứng
cho mỗi lỗi ở bước đầu tiên trong hoạt động định tuyến.
Có các bản tin thông báo lỗi cho bản tin PATH và RESV cũng như bản tin RESV
CONFIRMATION tùy chọn. Các bản tin lỗi cho biết có sự vi phạm chính sách, mã hóa
bản tin hoạc một số sự cố khác. Ví dụ, khi một LSP thấy rằng nó không thể hỗ trợ
Tspec đặc tả trong một bản tin RESV, nó sẽ không chuyển tiếp bản tin RESV về cho
phía đường lên, thay vào đó nó tạo ra một bản tin RESVERR gửi cho phía đường
xuống để xóa bỏ nỗ lực thiết lập LSP. Tuyến tường minh và các tùy chọn tuyến ghi của
RSVP-TE có một số các mã lỗi để phục vị cho việc debug.
RFC 3209 định nghĩa bản tin Hello tùy chọn cho RSVP-TE, nó cho phép một
LSR phát hiện một neighbor bị lỗi nhanh hơn khi so với RSVP làm mới tình trạng hoặc
phát hiện lỗi đường truyền bằng một giao thức định tuyến IP. Điều này khá hữu ích
trong việc tái định tuyến nhanh.
1.7.3.3 Thiết lập tuyến tường minh điều khiển tuần tự theo yêu cầu
Hình 1.30 ví dụ việc trao đổi bản tin RSVP-TE sử dụng đối tượng tuyến tường
minh ERO (expplicit route object) để cài đặt một LSP đi qua một con đường không
phải là đường ngắn nhất. Bộ định tuyến R1 xác định rằng nó sẽ ấn định FEC “a.b/16”
cho một đường hầm LSP, và nó tính ra một tuyến tường minh R4-R5-R3 để đi đến
chặng kế cho FEC đó. R1 khởi tạo việc thiết lập LSP này bằng cách phát ra một bản tin
PATH đến R4 với một ERO, Tspec, sender template (có chứa địa chỉ của sender) và
một đối tượng label request. Mỗi bản tin RESV liên quan đến đường hầm LSP này đều
mang session-ID và filter-spec nguyên thủy của sender R1 để giữ mối tương quan với
nhau. Tiếp theo, R4 tiếp nhận yêu cầu này và gửi bản tin PATH đến bộ định tuyến kế
Học viện công nghệ bưu chính viễn thông 26
Đồ án tốt nghiệp Đại học Chương I
tiếp ghi trong ERO là R5. Đến lượt mình, R5 gửi bản tin này đến lối ra của bộ định
tuyến R3.
Tại đích đến của bản tin PATH, R3 xác định rằng liên kết chặng R3-R5 có thể hỗ
trợ cho yêu cầu và đó là chặng cuối cùng trên đường dẫn FEC “a.b/16”. R3 đáp ứng
bằng bản tin RESV có chứa ERO, Tspec của dung lượng dự trữ, một filter spec thỏa
mãn bên gửi, và gán một nhãn null ngầm (implicit null) cho chặng liên kết này. Theo
thời RFC 3031, nhãn null là một quy ước được dùng trong phân phối nhãn cho phép lối
ra của bộ định tuyến (ở đây là R3) báo hiệu cho đối tác đường lên của nó biết rằng đây
là chặng áp cuối (penulitmate hop) của LSP, do vậy cần gỡ nhãn đỉnh của ngăn xếp.
Tiếp theo, R5 thu nạp bản tin RESV ngược về R1. Đến lúc này, đường LSP được thiết
lập xong và các gói có nhãn cho FEC “a.b/16” được chuyển tiếp qua đường hầm.
Hình 1.30: Thiết lập LSP với RSVP-TE
Khác với giao thức LDP, các bản tin RSVP-TE không mang FEC, vì chỉ duy
nhát có R1 cần biết về ánh xạ giữa FEC và đường hầm LSP.
1.7.3.4 Giảm lượng overhead làm tươi RSVP
RSVP là giao thức trạng thái mềm (soft-staste), tiến trình phát một bản tin PATH
và bản tin RESV hồi đáp tương ứng phải được định kỳ làm tươi, thường khoảng 30s
Học viện công nghệ bưu chính viễn thông 27
Đồ án tốt nghiệp Đại học Chương I
một lần. Phương pháp làm tươi này đề phòng các bản tin bị mất và trong trường hợp
định tuyến từng chặng sẽ tự động chuyển dự trữ tài nguyên sang đường mới khi có bất
kì thay đổi định tuyến IP. Tất nhiên, việc xử lý dành cho khởi tạo các bản tin PATH và
RESV lớn hơn nhiều so với việc làm tươi trạng thái một bản tin đã nhận trước đó, tuy
nhiên với một số lượng lớn các LSP thì việc xử lý và làm tươi có ảnh hưởng đáng kể
đến hiệu năng.
Một cách giải quyết là tăng chu kỳ làm tươi, nhưng cũng sẽ làm tăng độ trễ tế
báo hiệu khi mất bản tin. RFC 2961 đặc tả một giải pháp cho hạn mức xử lý và vấn đề
trễ báo hiệu. Cơ chế này bao gồm việc bó gọn bản tin để giảm tải xử lý, cũng như các
cách để bộ định tuyến dễ dàng nhận dạng một bản tin không thay đổi lớn. Việc hồi báo
bản tin cũng được bổ sung để chuyển tải tin cậy bản tin RSVP và xử lý trường hợp mất
các bản tin PATH TEAR và RESV TEAR vì hai bản tin này không được làm tươi trong
hoạt đông RSVP. Cuối cùng, giải pháp này định nghĩa một bản tin tổng kết để làm tươi
trạng thái mà không yêu cầu truyền toàn bộ bản tin làm tươi. Các cải tiến này nhằm làm
giảm lượng overhead làm tươi của RSVP trong mạng MPLS.
1.7.4 Giao thức BGP
1.7.4.1 BGPv4 và mở rộng cho MPLS
BGPv4 (boder gateway protocol) là một giao thức định tuyến để gán kết tập hợp
các mạng cung cấp dịch vụ trên internet. Vì nó chỉ là giao thức sử dụng giữa các nhà
cung cấp, RFC2017 đã mở rộng BGP hỗ trợ phân phối nhãn MPLS để có thể thiết lập
các LSP liên mạng.
BGP có một tập thuật ngữ riêng. Một khái niệm quan trọng là số AS
(Autonomous System) duy nhất, được định nghĩa là một tập hợp bộ định tuyến thực
hiện một chính sách định tuyến ngoại thống nhất có thể nhận thấy đối với bộ định tuyến
của AS khác. BGP không truyền các thông tin topology nội giữa các AS, nó chỉ cung
cấp các thông tin về các tiền tố địa chỉ mà có thể tìm đến hoặc đi quá giang qua đó. Sử
dụng BGP giữa các bộ định tuyến biên (border) nội trong một AS được gọi là BGP nội
(iBGP), còn sử dụng BGP giữa các bộ định tuyến trong các AS khác nhau được goi là
BGP ngoại (eBGP).
BGP chạy trên một phiên TCP vì nó cần độ tin cậy, phân phát đúng thứ tự. Nó có
3 phiên hoạt động: thiết lập phiên, trao đổi bản tin cập nhật, và chấm dứt phiên. Trong
thiết lập phiên, các đối tác BGP (BGP peer) trong các AS lân cận trao đổi các bản tin
OPEN có chứa AS number, một giá trị keep-alive timeout, và các tham số tùy chọn như
Học viện công nghệ bưu chính viễn thông 28
Đồ án tốt nghiệp Đại học Chương I
nhận thực. Các BGP peer định kỳ trao đổi bản tin keep-alive, nếu phát hiện hết thời
gian hiệu lực sẽ chấm dứt phiên. Sau khi thiết lập phiên, các BGP peer trao đổi các bản
tin UPDATE có chứa các tiền tố địa chỉ có thể đến được hiện hành (reachability), được
gọi là NLRI (Network Layer Reachability Information). Sau khi trao đổi đồng bộ khởi
tạo, các thay đổi định tuyến gia tăng được liên lạc bằng bản tin UPDATE.
Nội dung bản tin BGP UPDATE gồm 3 phần (hình 1.31): các tuyến thu hồi
(withdrawn route), một danh sách các tiền tố địa chỉ NRLI, và một danh sách tùy chọn
các thuộc tính liên quan. Các BGP peer tạo quyết định chính sách cục bộ khi xem xét
công bố một NLRI với các thuộc tính đường được tùy chọn hay thu hồi thông cáo trước
đó. Chính sách thường dùng là chọn NLRI có tiền tố địa chỉ đặc tả so trùng nhất, chọn
một đường có số chặng AS ít nhất.
Hình 1.31: Nội dung bản tin BGP Update
Khi bản tin UPDATE chứa thông tin NLRI, một số thuộc tính đường là bắt buộc
trong khi một số khác là tùy chọn. Các thuộc tính đường bắt buộc là ORIGIN, AS-
PATH, và NEXT HOP. ORIGIN nhận diện nguồn gốc của NLRI, thí dụ nó được học
qua giao thức định tuyến nội hay ngoại. AS-PATH liệt kê một path-vector gồm một tập
AS đã đi qua đến thời điểm hiện tại (một chuỗi thứ tự các AS). Vì chiều dài của AS-
PATH thường là yếu tố quyết định chọn một tuyến, nên BGP được gọi là giao thức
path-vector. Các bộ định tuyến sử dụng AS-PATH để tránh lặp bằng cách không
chuyển tiếp các thông cáo tuyến có chứa số AS của chúng. NEXT-HOP nhận diện địa
chỉ IP của bộ định tuyến biên cần dùng để tìm đến NLRI. BGP có một tham số tùy chọn
có thể thực hiện một dạng cân băngg tải: LOCALPREF và MED. LOCALPREF cho
phép AS đầu gửi chỉ định một sự ưu tiên cho lưu lượng đến từ một AS khác.
RFC 2283 định nghĩa các mở rộng đa giao thức cho BGP để phân phối nhãn
MPLS nằm trong một phần của NLRI. Các BGP peer thương lượng hỗ trợ cho khả
Học viện công nghệ bưu chính viễn thông 29
Đồ án tốt nghiệp Đại học Chương I
năng tùy chọn này vào lúc thiết lập phiên. Thủ tục cơ bản là gửi việc phân phối nhãn
theo kiểu không cần yêu cầu song song khi thực hiện phân phối tuyến BGP.
1.7.4.2 Kết nối MPLS qua nhiều nhà cũng cấp dịch vụ
BGP có thể dùng để thiết lập phân phối nhãn cho các LSP đi xuyên qua các mạng
của nhiều nhà cung cấp khác nhau. Hình 1.32 gồm 3 hệ tự trị là A,B và C. AS A cấp
phát cho khách hàng tiền tố địa chỉ (FEC) “a.b/16”. Bộ định tuyến C3 quảng bá nhó
như một NLRI cho AS-A và AS-B bằng bản tin BGP UPDATE có chứa next-hop và
ASPATH. Bản tin UPDATE được gửi bởi C3 đến A3 còn mạng một ánh xạ từ FEC
“a.b/16” sang nhãn L. Bộ định tuyến A3 trong AS A thu thập tất cả các thông cáo này
trong bảng RIB của nó, thí dụ thông qua một lưới các phiên iBGP hoặc một “route
reflector”. Nhằm tìm cách tốt nhất để chuyển tiếp các gói đến tiền tố “a.b/16”, A1 có
thể xác định rằng đường AS ngắn nhất là qua chặng kế A3 sử dụng nhãn L. Nhờ định
tuyến nội và giao thức phân phối nhãn của mình, bộ định tuyến A1 cũng biết rằng tuyến
tốt nhất để đến A3 là đi qua A2 sử dụng nhãn M. Kết quả là khi chuyển gói đến tiền tố
“a.b/16”, bộ định tuyến A1 push nhãn L lên gói rồi push tiếp nhãn M trên đỉnh ngăn
xếp. Như vậy, một LSP được chui bên trong một đường hầm LSP khác. LSP1 bên
ngoài kéo dài từ A1 đến A3. Trong khi đó, LSP2 kéo dài từ AS A đến AS C và có một
đoạn chui bên trong LSP1
Học viện công nghệ bưu chính viễn thông 30
Đồ án tốt nghiệp Đại học Chương I
Hình 1.32: BGP phân phối nhãn qua nhiều Autonomous System
1.8 Ưu điểm và ứng dụng của MPLS
1.8.1 Đơn giản hóa chức năng chuyển tiếp
MPLS sử dụng cơ chế chuyển tiếp căn cứ vào nhãn có độ dài cố định nên quyết
định chuyển tiếp có thể xác định ngay chỉ với một lần tra cứu chỉ mục trong LFIB. Cơ
chế này đơn giản và nhanh hơn nhiều so với giải thuật “longest prefix match” dùng
trong chuyển tiếp gói datagram thông thường.
1.8.2 Kỹ thuật lưu lượng
Ưu điểm lớn nhất của MPLS là ở khả năng thực hiện kỹ thuật lưu lượng (TE:
traffic engineering), nó đảm bảo lưu lượng được định tuyến đi qua một mạng theo một
cách thức tin cậy và hiệu quả nhất. Kỹ thuật lưu lượng cho phép các ISP định tuyến lưu
lượng theo cách họ có thể cũng cấp dịch vụ tốt nhất cho khách hàng ở khía cạnh thông
lượng và độ trễ. MPLS-TE cho phép lưu lượng được phân bố hợp lý quá toàn bộ hạ tầng
mạng, tối ưu hóa hiệu suất sử dụng mạng. Đây cũng là đối tượng nghiên cứu chính của
đề tài này và sẽ được trình bày kỹ ở các chương tiếp theo.
1.8.3 Định tuyến QoS từ nguồn
Định tuyến QoS từ nguồn là một cơ chế trong đó các LSR được xác định trước ở
nút nguồn (LSR lối vào) dựa vào một số thông tin về độ khả dụng tài nguyên trong
mạng cũng như yêu cầu QoS của luồng lưu lượng. Nói cách khác, nó là một giao thức
định tuyến có mở rộng chỉ tiêu chọn đường để bao gồm các tham số như băng thông khả
dụng, việc sử dụng liên kết và đường dẫn end-to-end, độ chiếm dụng tài nguyên của nút,
độ trễ và biến động trễ.
1.8.4 Mạng riêng ảo VPN
VPN là cho phép khách hàng thiết lập mạng riêng giống như thuê kênh riêng
nhưng với chi phí thấp hơn bằng cách sử dụng hạ tầng mạng công cộng dùng chung.
Kiến trúc MPLS đáp ứng tất cả các yêu cầu cần thiết để hỗ trợ VPN bằng cách thiết lập
các đường hầm LSP sử dụng định tuyến tường minh. Do đó, MPLS sử dụng các đường
hầm LSP cho phép nhà khai thác cung cấp dịch vụ VPN theo cách tích hợp trên cùng hạ
tầng mà họ cũng cấp dịch vụ Internet. Hơn nữa, cơ chế xếp chồng nhãn cho phép cấu
hình nhiều VPN lồng nhau trên hạ tầng mạng.
1.8.5 Chuyển tiếp có phân cấp
Học viện công nghệ bưu chính viễn thông 31
Đồ án tốt nghiệp Đại học Chương I
Thay đổi đáng kể nhất được MPLS đưa ra không phải ở kiến trúc định tuyến mà
là kiến trúc chuyển tiếp. Sự cải tiến trong kiến trúc chuyển tiếp có tác động đáng kể đến
khả năng cung cấp chuyển tiếp phân cấp. Chuyển tiếp phân cấp cho phép lồng một LSP
vào trong một LSP khác (xếp chồng nhãn hay còn gọi là điều khiển gói đa cấp). Thực ra
chuyển tiếp phân cấp không phải là kỹ thuật mới, ATM đã cung cấp cơ chế chuyển tiếp
2 mức với khái niệm đường ảo (VP) và kênh ảo (VC). Tuy nhiên MPLS cho phép các
LSP được lồng vào nhau một cách tùy ý, cung cấp điều khiển gói đa cấp cho việc
chuyển tiếp.
1.8.6 Khả năng mở rộng
Chuyển mạch nhãn cung cấp một sự tách biệt toàn diện hơn giữa định tuyến liên
miền (inter-domain) và định tuyến nội miền (intra-domain), điều này cải thiện đáng kể
khả năng mở rộng của các tiền trình định tuyến. Hơn nữa, khả năng mở rộng của MPLS
còn nhờ vào FEC (thu gom luồng), và xếp chồng nhãn để hợp nhất (merging) hoặc lồng
nhau (nesting) các LSP. Ngoài ra, nhiều LSP liên kết với các FEC khác nhau có thể
được trộn vào cùng một LSP. Sử dụng các LSP lồng nhau cũng cải thiện khả năng mở
rộng của MPLS.
1.9 Kết luận chương
Chương I giới thiệu các vấn đề cơ bản của công nghệ chuyển mạch nhãn đa giao
thức:
Các thuật ngữ cơ bản trong MPLS: Miền MPLS , lớp chuyển tương đương
FEC, đường chuyển mạch nhãn LSP, mã hóa ngăn xếp nhãn…..
Hoạt động chuyển tiếp và định tuyến trong MPLS: Hoạt động trong mặt
phẳng chuyển tiếp ,định tuyến ràng buộc, định tuyến tường minh
Các giao thức hoạt động chuyển tiếp (LDP, CR-LDP, BGP…)
Ưu nhược điểm và ứng dụng của MPLS
Các vấn đã nêu ra cho ta cái nhìn tổng quan về công nghệ MPLS đang được
triển khai nhanh chóng trong mạng NGN của Việt Nam.
Học viện công nghệ bưu chính viễn thông 32
Đồ án tốt nghiệp Đại học Chương II
CHƯƠNG II
KĨ THUẬT LƯU LƯỢNG TRONG MPLS VÀ CƠ CHẾ BẢO VỆ
KHÔI PHỤC ĐƯỜNG
2.1 Tổng quan về kỹ thuật lưu lượng
Kỹ thuật lưu lượng (Traffic Engineering) là quá trình điều khiển cách thức các
luồng lưu lượng đi qua mạng sao cho tối ưu hóa việc sử dụng tài nguyên và hiệu năng
của mạng. Nó ứng dụng các nguyên lý khoa học công nghệ để đo lường, mô hình hóa,
đặc trưng hóa và điều khiển lưu lượng nhằm đạt được các mục tiêu khác nhau. Khái
niệm TE phân biệt với khái niệm kỹ thuật mạng (Network Engineering). Kỹ thuật mạng
liên quan đến việc thiết kế xây dựng topology của mạng sao cho phù hợp với lưu lượng.
2.1.1 Các mục tiêu triển khai kỹ thuật lưu lượng
2.1.1.1 Phân loại
Các mục tiêu triển khai kỹ thuật lưu lượng có thể phân theo hai hướng sau:
Hướng lưu lượng (traffic oriented)
Hướng tài nguyên (resource oriented)
Các mục tiêu hướng dẫn lưu lượng liên quan đến việc tăng cường QoS cho các
luồn lưu lượng. Trong mô hình đơn lớp (dịch vụ best-effort), các mục tiêu này gồm:
giảm thiểu mất gói và trễ, tăng tối đa thông lượng và tuân thủ các hợp đồng mức dịch vụ
(SLA)… Các mục tiêu hướng lưu lượng bị chặn thống kê (như thay đổi độ trễ gói đỉnh-
đỉnh, tỷ lệ mất gói, trễ truyền tối đa) cũng rất hữu ích trong mô hình dịch vụ phân biệt
(Diffserv).
Các mục tiêu hướng tài nguyên liên quan đến việc tối ưu hóa sử dụng tài nguyên.
Băng thông là một tài nguyên cốt yếu của mạng, do đó chức năng trọng tâm của kỹ
thuật lưu lượng là quản lý hiệu quả tài nguyên băng thông.
2.1.1.2 Bài toán nghẽn
Nghẽn thường xảy ra theo hai cách như sau:
Khi bản thân các tài nguyên mạng không đủ để cấp cho tải yêu cầu.
Khi các dòng lưu lượng được ánh xạ không hiệu quả lên các tài nguyên,
làm cho một số tập con tài nguyên trở nên quá tải trong khi số khác nhàn rỗi.
Có thể giải quyết tắc nghẽn bằng cách:
Học viện công nghệ bưu chính viễn thông 33
Đồ án tốt nghiệp Đại học Chương II
o Tăng dung lượng hoặc ứng dụng các kỹ thuật điều khiển tắc nghẽn cổ
điển (giới hạn tốc độ, điều khiển luồng, quản trị hàng đợi, điều khiển
lịch trình…)
o Dùng kỹ thuật lưu lượng nếu nghẽn là do cấp phát tài nguyên chưa hiệu
quả.
Đối tượng giải quyết của kỹ thuật lưu lượng là nghẽn kéo dài chứ không phải
nghẽn nhất thời do bùng phát lưu lượng.
2.1.2 Các lớp dịch vụ dựa trên nhu cầu QoS và các lớp lưu lượng
Lưu lượng có thể được tổ chức xoay quanh một khái niệm goi là các lớp dịch vụ
(service classes). Các lớp lưu lượng này được định nghĩa theo những hoạt động sau:
Quan hệ đồng bộ giữa đầu phát và đầu thu: chỉ biến động trễ có thể chấp
nhận được một kết nối.
Tốc độ bit: cố định hay biến đổi
Loại dịch vụ: hướng kết nối hay không kết nối
Các hoạt động điều khiển luồng.
Số thứ tự cho thông tin người sử dụng
Phân đoạn và tái hợp các PDU (Protocol Data Unit)
2.1.3 Hàng đợi lưu lượng
Nhiều hệ thống (đặc biệt là bộ định tuyến) hỗ trợ một số dạng hàng đợi thông
dụng sau:
2.1.3.1 Hàng đợi FIFO
Hàng đợi FIFO (First in, First out) gói theo thứ tự, gói đến trước sẽ được truyền
trước.
2.1.3.2 Hàng đợi WFQ
Băng thông rỗi được chia cho các hàng đợi tùy thuộc vào trọng số (weight) của
chúng. Xét ví dụ sau có hai luồng lưu lượng A,B,..N và trọng số của chúng được đánh
số như hình 2.1 trong đó: có bốn luồng (D,E,F,G) có trọng số 5, có hai luồng có trọng số
4, còn ở các trọng số khác chỉ có một luồng .
Học viện công nghệ bưu chính viễn thông 34
Đồ án tốt nghiệp Đại học Chương II
Hình 2.1: Nhiều luồng cho mỗi lớp lưu lượng.
2.1.3.3 Hàng đợi CQ
CQ (Custom Queuing) cho phép người dùng chỉ ra phần trăm băng thông khả
dụng cho một giao thức đặc biệt nào đó. Ta có thể định nghĩa tối đa đến 16 hàng đợi.
Mỗi hàng đợi được phục vụ một cách tuần tự theo phương thức truyền phần trăm lưu
lượng trên mỗi hàng đợi trước khi chuyển đến hàng đợi kế (hình 2.2).
Hình 2.2: Hàng đợi CQ
2.1.3.4 Hàng đợi PQ (Priority Queuing)
Tất cả các gói thuộc lớp có mức ưu tiên cao hơn sẽ được truyền trước bất kỳ gói
nào thuộc lớp có mức ưu tiên thấp hơn. PQ cho phép người quản lý mạng cấu hình bốn
Học viện công nghệ bưu chính viễn thông 35
Đồ án tốt nghiệp Đại học Chương II
thuộc tính lưu lượng là cao (high), thông thường (normal), trung bình (medium) và thấp
(low). Lưu lượng đến được gán vào một trong 4 hàng đợi (hình 2.3).
Hình 2.3: Hàng đợi PQ
2.1.4 Giải thuật thùng rò và thùng token
2.1.4.1 Giải thuật thùng rò (Leaky Bucket)
Mô hình thùng rò (hình 2.4) có thể được diễn tả như sau: bất chấp tốc độ
nước được đổ vào thùng là bao nhiêu, tốc độ dòng nước chảy ra là không đổi miễn là
trong thùng còn nước. Một khi thùng đầy, lượng nước được đổ thêm vào sẽ bị tràn và
mất. Các thông số cần chú ý trong mô hình thùng rò là kích thước của thùng và tốc độ
dòng chảy ra.
Hình 2.4: Giải thuật thùng dò
Học viện công nghệ bưu chính viễn thông 36
Đồ án tốt nghiệp Đại học Chương II
Mô hình trên có thể áp dụng cho gói. Bất kể lưu lượng tới có tốc độ biến động
như thế nào, lưu lượng ra đều có tốc độ không đổi.
2.1.4.2 Giải thuật thùng token
Thùng token (Token Bucket) có kích thước là B, tốc độ token “chảy” vào thùng
không đổi là p, nghĩa là trong một giây sẽ có thêm p token mới chảy vào thùng. Số
lượng token trong thùng không vượt quá B hay nói cách khác, B là số lượng token tối đa
trong thùng.
Khi có gói đến, G là kích thước của gói, gói được xem là “phù hợp” khi lượng
token trong thùng lớn hơn hay bằng G, đồng thời lượng token trong thùng được giảm đi
G. Ngược lại, khi token trong thùng nhỏ hơn kích thước gói, gói được xem là vượt mức
hay không hợp lệ. Tùy thuộc vào các chính sách khác nhau mà gói vượt mức (hay
không hợp lệ) được xử lý khác nhau.
Giải thuật thùng token có thể được dùng trong việc sửa dạng lưu lượng (shaping)
hay được ứng dụng trong việc thực thi khống chế (policing).
Hình 2.5: Giải thuật thùng token
Trong sửa dạng lưu lượng thuật toán token cho phép một ít bùng phát ở ngõ ra,
điều này không có ở thuật toán thùng rò khi mà tốc độ ra là không đổi. Như vậy, thùng
token cho đáp ứng ra tốt hơn so với thùng rò trong việc thực thi khống chế (policing).
Học viện công nghệ bưu chính viễn thông 37
Đồ án tốt nghiệp Đại học Chương II
Trong sửa dạng lưu lượng, thuật toán thùng token có thể được dùng độc lập hay được
dùng phối hợp.
2.1.5 Giải pháp mô hình xếp chồng
Hình 2.6: Mô hình xếp chồng
Một cách tiếp cận phổ biến để bù đắp các thiếu sót của các giao thức IGP
(interior gateway protocols ) là sử dụng môt hình xếp chồng (như IP over ATM hoặc IP
over FR). Tất cả các bộ định tuyến là lớp 3 được kết nối trực tiếp với nhau bằng một
lưới full-mesh các mạch ảo VC. Kỹ thuật lưu lượng được thực hiện ở lớp 2 (ATM hoặc
FR).
Tuy nhiên, mô hình này có nhiều nhược điểm sau đây:
Tốn kém thêm nhiều thiết bị (các chuyển mạch ATM hoặc FR).
Quản lý mạng phức tạp hơn: Mạng lớp 2 có các công cụ quản lý riêng với
nhiều tác vụ hỗ trợ kỹ thuật lưu lượng. Đồng thời mạng các bộ định tuyến
lớp 3với giao thức IGP cũng phải được quản lý. Việc quản lý 2 lớp mạng
này không tích hợp được.
Phát sinh nhiều vấn đề mở rộng đối với IGP do số lượng quá lớn các
neighbor khi kết nối full-mesh để tận dụng các tiện ích cung cấp bởi lớp 2.
Tốn thêm băng thông cho lượng overhead của ATM hoặc FR (cell tax).
Không hỗ trợ dịch vụ phân biệt (Diffserv). Mọi dịch vụ phân biệt của IP
đưa xuống (qua AAL5 của ATM) đều trở thành “best-effort”
2.2 MPLS và kỹ thuật lưu lượng
MPLS có ý nghĩa chiến lược đối với kỹ thuật lưu lượng vì nó có thể cung cấp
hầu hết các chức năng hiện có ở mô hình xếp chồng nhưng theo cách tích hợp với chi
Học viện công nghệ bưu chính viễn thông 38
Đồ án tốt nghiệp Đại học Chương II
phí thấp. Điều quan trọng là MPLS còn đề xuất khả năng tự động hóa các chức năng kỹ
thuật lưu lượng.
2.2.1 Khái niệm trung kế lưu lượng
MPLS giới thiệu khái niệm trung kế lưu lượng để thực hiện các mục tiêu TE.
Trung kế lưu lượng là một khối thu gom (aggregate) các luồng lưu lượng thuộc
cùng lớp, được đặt bên trong một LSP. Trong một số hoàn cảnh có thể nới lỏng định
nghĩa này để cho phép trung kế lưu lượng thu gom lưu lượng đa lớp.
Trong mô hình dịch vụ đơn lớp, một trung kết lưu lượng có thể đóng gói toàn bộ
lưu lượng giữa một bộ định tuyến lối vào và một bộ định tuyến lối ra. Trong
trường hợp phức tạp hơn, lưu lượng của các lớp dịch vụ phân biệt được ấn định
vào các trung kế lưu lượng riêng biệt với các đặc tính khác nhau.
Trung kế lưu lượng là đối tượng có thể định tuyến (tương tự như ATM VC).
Trung kế lưu lượng phân biệt với LSP là đường cho trung kế đi xuyên qua.
Trong bối cảnh hoạt động, một trung kế lưu lượng có thể chuyển từ LSP này
sang một LSP mới hoặc nhiều trung kế lưu lượng cùng di chung trên một LSP.
Trung kế lưu lượng là đơn hướng.
2.2.2 Đồ thị nghiệm suy
Đồ thị nghiệm suy (incluced graph) gần giống như topology ảo trong mô hình
xếp chồng. Nó được ánh xạ trên mạng vật lý thông qua việc lựa chọn các LSP cho các
mạng trung kế lưu lượng.
Một đồ thị nghiệm suy gồm một nhóm các nút LSR được kết nối với nhau bằng
LSP. Khái niệm này rất quan trọng vì bài toán quản lý băng thông cơ bản trong một
miền MPLS đặt ra chính là làm thế nào để ánh xạ hiệu quả đồ thị nghiệm suy trên
topology mạng vật lý. Đồ thị nghiệm suy được công thức hóa như sau:
Đặt G = (V, E, C) là đồ thị mô tả topology vật lý của mạng. Trong đó V là tập
hợp các nút mạng, E là tập hợp các đường liên kết, C là tập hợp các khả năng và ràng
buộc cho E và V. Ta coi G là topology cơ sở.
Đặt H = (U, F, D) là đồ thị MPLS nghiệm suy, trong đó U là tập con thuộc V
gồm một nhóm LSR tại các đầu của LSP. F là tập hợp các yêu cầu và chế tài cho F. Như
vậy, H là một đồ thị trực tiếp phụ thuộc vào các đặc tính chuyển tải của G.
2.2.3 Bài toán cơ bản của kỹ thuật lưu lượng trên MPLS
Học viện công nghệ bưu chính viễn thông 39
Đồ án tốt nghiệp Đại học Chương II
Có ba vấn đề cơ bản liên quan đến kỹ thuật lưu lượng trên MPLS là:
Ánh xạ các gói lên các lớp chuyển tiếp tương đương (FEC).
Ánh xạ các FEC lên các lớp trung kế lưu lượng (traffic trunk).
Ánh xạ các trung kế lưu lượng lên topology mạng vật lý thông qua các
LSP.
Các phần sau của chương sẽ tập trung vào vấn đề thứ ba, tức là tính toán đường
đi tốt nhất qua mạng cho các trung kế lưu lượng sao cho mạng hoạt động hiệu quả và tin
cậy. Đây chính là bài toán ánh xạ đồ thị nghiệm suy H lên topology mạng cơ sở G.
2.3 Trung kế lưu lượng và các thuộc tính
Để xây dựng và duy trì trung kế lưu lượng, người ta tìm cách mô hình hóa nó
bằng các tham số. Một thuộc tính là một tham số được gán và có ảnh hưởng đến các đặc
trưng hành vi của trung kế lưu lượng. Các thuộc tính có thể được gán cụ thể thông qua
hành động quản trị hoặc được gán ngầm bởi các giao thức bên dưới khi các gói được
phân loại và ánh xạ vào FEC tại lối vào miền MPLS. Thực tế, một trung kế lưu lượng có
thể đặc trưng hóa bởi:
Ingress-LSR và egress-LSR của trung kế lưu lượng
Tập các FEC được ánh xạ vào trung kế lưu lượng
Một tập các thuộc tính nhằm xác định các đặc trưng hành vi của trung kế.
Hai vấn đề cơ bản có ý nghĩa đặc biệt là: (1) Tham số hóa các trung kế lưu lượng và (2)
những quy luật sắp đặt và duy trì đường dẫn cho các trung kế lưu lượng.
2.3.1 Các hoạt động cơ bản trên trung kế lưu lượng
Là các tiến trình khác nhau xảy ra trong thời gian sống của một trung kế lưu lượng:
Establish: Tạo ra một trung kế lưu lượng bằng cách quyết định một LSP, gán
các nhãn MPLS và quan trọng nhất là gán tài nguyên trung kế đó.
Activate: Làm cho trung kế lưu lượng bắt đầu chuyển dữ liệu bằng cách dùng
một số chức năng định tuyến để lưu lượng vào trung kế.
Deactivate: Làm cho trung kế lưu lượng ngưng chuyển dữ liệu cũng bằng cách
dùng một chức năng định tuyến để dừng việc đưa lưu lượng vào trung kế.
Modify Attributes: Thay đổi các đặc trưng của trung kế lưu lượng, chẳng hạn
như băng thông khả dụng.
Học viện công nghệ bưu chính viễn thông 40
Đồ án tốt nghiệp Đại học Chương II
Reroute: chọn một đường mới cho trung kế lưu lượng (thường là do một số sự
cố trong mạng hoặc đôi khi khôi phục xong sự cố).
Destroy: Loại bỏ hoàn toàn một trung kế lưu lượng khỏi mạng và thu hồi tất cả
các tài nguyên đã cấp phát cho nó.
2.3.2 Thuộc tính tham số lưu lượng
Thuộc tính tham số lưu lượng (traffic parameter) đặc tả băng thông đòi hỏi bởi
trung kế lưu lượng cùng với các đặc trưng lưu lượng khác như tốc độ đỉnh, tốc độ trung
bình, kích thước bùng phát cho phép… Dưới góc độ kỹ thuật lưu lượng, các tham số lưu
lượng rất quan trọng vì chúng chỉ yêu cầu về tài nguyên của trung kế lưu lượng.
2.3.3 Thuộc tính lựa chọn và quản lý đường
Là các tiêu chuẩn lựa chọn và duy trì đường dẫn cho trung kế lưu lượng. Con
đường thực sự được lựa chọn xuyên qua mạng có thể được cấu hình bởi nhà điều hành
hoặc được gán động do mạng dựa vào các thông tin từ IGP (như IS-IS hoặc OSPF). Các
thuộc tính cơ bản và các đặc trưng hành vi liên quan đến chọn đường và quản lý đường
cho trung kế lưu lượng được mô tả sau đây :
2.3.3.1 Đường tường minh đặc tả quản trị
Đường tường minh đặc tả quản trị cho một trung kế lưu lượng được cấu hình bởi
nhà điều hành. Một đường gọi là đặc tả toàn bộ nếu chỉ ra các chặng yêu cầu giữa hai
điểm đầu cuối. Đặc tả một phần nếu chỉ có một tập con các chặng trung gian được chỉ
thị. Thuộc tính “path preference rule” là một biến nhị phân chỉ thị đường tường minh
được cấu hình là bắt buộc hay không bắt buộc.
2.3.3.2 Đường phân cấp các luật ưu tiên cho đa đường
Trong một số hoàn cảnh thực tế, khả năng chỉ định cho một tập hợp các đường
tường minh đề cử cho một trung kế lưu lượng và định nghĩa phân cấp các quan hệ ưu
tiên giữa các đường. Khi thiết lập đường, các luật ưu tiên được áp dụng để chọn ra
đường thích hợp từ danh sách đề cử. Trong các tình huống sự cố thì các luật ưu tiên này
cũng được dùng để chọn một đường thay thế từ danh sách đề cử.
2.3.3.3 Thuộc tính Affinity lớp tài nguyên
Thuộc tính này cho phép operator áp đặt các chính sách chọn đường bằng việc
bao gồm hay loại trừ một số liên kết nào đó. Mỗi liên kết được tán một thuộc tính lớp tài
nguyên (Resource-Class). Thuộc tính Affinity lớp tài nguyên có dạng chuỗi như bit sau:
Affinity( 32-bit), Mask(32-bit)
Học viện công nghệ bưu chính viễn thông 41
Đồ án tốt nghiệp Đại học Chương II
Mặt nạ lớp tài nguyên chỉ thị các bit nào trong lớp tài nguyên cần được kiểm tra.
Liên kết được bao hàm khi chọn đường nếu mỗi Affinity trùng với Resource-Class sau
khi cùng thực hiện phép AND với mặt nạ. Giá trị default của mặt nạ là 0x0000FFFF.
2.3.3.4 Thuộc tính thích ứng
Trong nhiều tình huống cần thiết phải thay đổi động các đường dẫn trung kế lưu
lượng để đáp ứng với việc thay đổi trạng thái mạng (chủ yếu thay đổi tài nguyên khả
dụng). Quá trình này được gọi là tái tối ưu hóa (re-optimization). Thuộc tính thích ứng
(Adaptivity) cho biết một trung kế lưu lượng được ghép tái tối ưu hóa hay không. Nếu
tái tối ưu hóa bị cấm thì trung kế lưu lượng coi như được gim vào đường đã thiết lập của
nó và không thể tái định tuyến (re-route) khi có sự thay đổi trạng thái mạng.
2.3.4 Thuộc tính ưu tiên/lấn chiếm
Thuộc tính ưu tiên (Prioity/Preemption) có 8 mức (giảm dần từ 0 đến 7) xác định
thứ tự thực hiện chọn đường cho các trung kế lưu lượng. Độ ưu tiên cũng rất quan trọng
khi triển khai cơ chế lấn chiếm (preemption) vì nó có ảnh hưởng đến thứ tự tự thiên vị.
Mỗi trung kế lưu lượng được gán một giá trị ưu tiên thiết lập (setup priority) và
một giá trị ưu tiên cầm giữ (holding priority). Khi thiết lập trung kế mới hoặc tái định
tuyến, một trung kế có độ ưu tiên thiết lập cao sẽ chèn lấn một trung tuyến khác có độ
ưu tiên cầm giữ thấp hơn “bật” ra khỏi đường nếu chúng cạnh tranh tài nguyên. Ngược
lại, việc thiết lập một trung kế mới có thể thất bại nếu băng thông mà nó yêu cầu đang bị
chiếm bởi các trung kế khác có độ ưu tiên cầm giữ cao hơn.
2.3.5 Thuộc tính đàn hồi
Thuộc tính đàn hồi (Resilience) xác định hành vi của trung kế lưu lượng trong
tình huống xảy ra sự cố theo cơ chế sau:
Không tái định tuyến trung kế lưu lượng.
Tái định tuyến qua một đường khả thi có đủ tài nguyên.
Tái định tuyến qua đường khả dụng bất kỳ chấp nhận các ràng buộc tài nguyên.
Tổ hợp của các cơ chế nói trên.
2.3.6 Thuộc tính khống chế
Thuộc tính khống chế (Policing) xác định những hoạt động được thực hiện khi
một trung kế lưu lượng không tuân thủ mức dịch vụ đã đặc tả ở các tham số lưu lượng.
Nó cho biết cách xử lý đối với lượng traffic vượt mức dịch vụ (ví dụ hủy gói hay truyền
theo kiểu best-effort). Nói chung nên luôn luôn khống chế ở lối vào của mạng để cưỡng
Học viện công nghệ bưu chính viễn thông 42
Đồ án tốt nghiệp Đại học Chương II
bức tuân thủ các hợp đồng mức dịch vụ và giảm thiểu việc khống chế bên trong lõi
mạng..
2.4 Tính toán đường ràng buộc
2.4.1 Quảng bá các thuộc tính của liên kết
Bộ định tuyến tại đầu nguồn (head-end) của một trung kế phải nắm được thông
tin thuộc tài nguyên của tất cả các liên kết trong mạng để tính toán đường LSP. Điều
này chỉ có thể đạt được bằng cách sử dụng các giao thức định tuyến Link-State (như IS-
IS hay OSPE) vì chỉ có kiểu giao thức này mới quảng bá thông tin về tất cả các liên kết
đến tất cả các bộ định tuyến. Vì vậy, OSPF và IS-IS được mở rộng để hỗ trợ MPLS-TE:
o IS-IS có các trường Type-Length-Value mới (kiểu 22 TLV) để đính kèm
các thông tin này trong các thông cáo PDU Link-State của nó.
o OSPF có các định nghĩa thông cáo Link-State mới (kiểu 10 LSA).
Một khi bộ định tuyến đầu nguồn nhận được các thông cáo này thì nó không chỉ
biết được topology mạng mà còn biết được các thông tin tài nguyên khả dụng của từng
liên kết. Điều này rất cần thiết để tính toán các đường thỏa mãn các đòi hỏi của trung kế
lưu lượng.
Hình 2.7: Băng thông khả dụng ứng với từng mức ưu tiên
Các giao thức IGP sẽ quảng bá các thuộc tính tài nguyên khi dưới các điều kiện
hoặc sự kiện nào đó như:
Khi liên kết thay đổi trạng thái (ví dụ up,down…)
Khi lớp tài nguyên của liên kết thay đổi do tái cấu hình nhân công hoặc trong
trường hợp băng thông khả dụng biến động qua các mức ngưỡng đặt trước.
Theo định kỳ (dựa vào một timer), bộ định tuyến sẽ kiểm tra các thuộc tính
tài nguyên và quảng bá cập nhật thông tin.
Học viện công nghệ bưu chính viễn thông 43
Đồ án tốt nghiệp Đại học Chương II
Khi tham gia thiết lập một đường LSP nhưng thất bại.
2.4.2 Tính toán LSP ràng buộc
LSP cho một trung kế lưu lượng có thể khai báo tĩnh hoặc tính toán động. Việc
tính toán sẽ xem xet các tài nguyên khả dụng, các thuộc tính liên kết và cả các trung kế
khác (vì vậy được gọi là tính toán đường ràng buộc). Kết quả của việc tính toán này là
tìm ra một chuỗi các địa chỉ IP đại diện cho các chặng trên đường LSP giữa đầu nguồn
và đầu đích của trung kế lưu lượng. Sau đó, thực hiện báo hiệu LSP và hoàn thành việc
thiết lập đường bằng giao thức báo hiệu cho MPLS như RSVP-TE.
Tiến trình tính toán đường đầu nguồn luôn được thực hiện tại đầu nguồn trung kế
lưu lượng và được kích hoạt do:
Một trung kế mới xuất hiện.
Một trung kế đang tồn tại nhưng thiết lập LSP thất bại.
Tái tối ưu hóa một trung kế đang tồn tại.
2.4.3 Giải thuật chọn đường
Việc chọn đường cho một trung kế lưu lượng sử dụng trọng số quản trị (TE cost)
của mỗi liên kết riêng biệt. Trọng số quản trị này mặc nhiên là metric IGP của liên kết.
Giải thuật chọn đường theo các bước sau:
Cắt bỏ các liên kết có resuorce-class bị loại do phép tính Affinity ra khỏi
topology.
Cắt bỏ các liên kết không có đủ băng thông dự trữ theo yêu cầu của trung kế.
Chạy giải thuật Dijktra để tìm ra đường có tổng TE-cost nhỏ nhất trên phần
topoloy còn lại.
Sau khi thực hiện các bước trên mà vẫn còn nhiều đường ứng cử cho LSP
(nhiều đường có cùng tổng TE metric) thì tiêu chuẩn thứ tự chọn lựa như sau:
Đường có băng thông tối thiểu cao nhất
Đường có hop nhỏ nhất
Chọn lựa ngẫu nhiên
Khi LSP được tính xong, RSVP được dùng để dành trước băng thông thực sự, để
phối các nhãn cho đường và hoàn thành việc thiết lập đường LSP
Học viện công nghệ bưu chính viễn thông 44
Đồ án tốt nghiệp Đại học Chương II
2.4.4 Ví dụ về chọn đường cho trung kế lưu lượng
Xét ví dụ chọn đường LSP cho một trung kế lưu lượng (tunnel) thiết lập giữa R1
(đầu nguồn) và R6 (đầu đích) như hình 2.8. Yêu cầu của trung kế lưu lượng như sau:
Băng thông đòi hỏi ở mức ưu tiên 3 là 30 Mbps
Các bit Affinity lớp tài nguyên là 0010 với mặt nạ là 0011, tức là chỉ thực
hiện kiểm tra trên hai bit thấp.
Liên kết R4-R3 cần được loại trừ khỏi đường LSP, do vậy chuỗi bit resource-
class của được đặt là 0011. Khi các bit Affinity lớp tài nguyên của trung kế lưu lượng
được so sánh với các bit resource-class là không trùng nên liên kết R3-R4 bị loại (hình
2.8).
Hình 2.8: Xem xét các ràng buộc khống chế
Tham số tiếp theo được kiểm tra trong quá trình tính toán đường ràng buộc là TE
cost (trọng số quản trị) của mỗi liên kết mà đường hầm khả năng đi qua. Nếu không xét
tài nguyên thì đường R1-R4-R6 có tổng cost thấp nhất là 30. Tất cả các đường khả thi
khác đều có tổng cost cao hơn.
Khi tài nguyên được đưa vào tính toán, thấy rằng trên đường ngắn nhất không có
đủ băng thông thỏa mãn các đòi hỏi của trung kế lưu lượng (đòi hỏi 30 Mbps trong khi
chỉ có 20 Mbps khả dụng). Kết quả là R4-R6 cũng bị loại khỏi phép tính đường LSP.
Học viện công nghệ bưu chính viễn thông 45
Đồ án tốt nghiệp Đại học Chương II
Hình 2.9: Xem xét tài nguyên khả dụng
Sau khi loại bỏ các liên kết không thỏa mãn các đòi hỏi của trung kế lưu lượng,
kết quả có hai đường LSP là : R1-R2-R3-R6 và R1-R5-R6. Cả hai đường đều không có
tổng cost là 40, để chọn đường phải giải quyết bằng luật “tie-break” (hình 2.10).
Hình 2.10: Chọn đường tốt nhất.
Trước tiên băng thông tối thiểu trên đường được so sánh. Sau khi so sánh, vẫn
còn cả hai đường vì chúng đều cung cấp ít nhất 50 Mbps băng thông. Tiếp theo, luật số
hop nhỏ nhất trên đường LSP được áp dụng. Vì đường R1-R5-R6 có hop-count nhỏ hơn
nên cuối cùng nó được chọn và quá trình tính toán ràng buộc kết thúc.
2.4.5 Tái tối ưu hóa
Các đặc trưng và trạng thái mạng biến động theo thời gian. Ví dụ các tài nguyên
mới trở nên khả dụng, các tài nguyên bị lỗi được kính hoạt, các tài nguyên đã cấp phát
được thu hồi lại. Do vậy, các đường của trung kế lưu lượng đã được thiết lập tối ưu
Học viện công nghệ bưu chính viễn thông 46
Đồ án tốt nghiệp Đại học Chương II
trước có thể không còn tối ưu nữa. Để duy trì mạng luôn luôn ở trạng thái tối ưu nhất,
các trung kế lưu lượng phải được tái tối ưu hóa (re-optimization).
Tái tối ưu hóa được thực hiện theo chu kỳ. Sau những khoảng thời gian nhất
định, MPLS-TE thực hiện kiểm tra đường tối ưu nhất cho các đường hầm LSP. Nếu
xuất hiện đường cho LSP tốt hơn đường hiện dùng thì:
Bộ định tuyến đầu nguồn cố gắng báo hiệu thiếp lập LSP mới tốt hơn.
Nếu thành công, thay đường LSP cũ bằng đường LSP mới tốt hơn.
Tái tối ưu hóa phải không gây ra sai hỏng dịch vụ. Để thực hiện điều này, đường
LSP hiện có phải được duy trì cho đến khi LSP mới được thiết lập xong và chuyển trung
kế lưu lượng từ đường cũ sang đường mới. Sau đó, đường LSP cũ mới được giải tỏa.
Khái niệm này gọi là “make before break”.
2.5 Bảo vệ và khôi phục đường
Các cơ chế bảo vệ và khôi phục đường trong MPLS cung cấp một dịch vụ tin cậy
cho việc chuyển tải lưu lượng trong mạng MPLS và tái định tuyến lưu lượng qua một
đường chuyển mạch nhãn LSP. Trong phần này, ta có một khái niệm sau:
Đường làm việc: Là đường chuyển tải trung kế lưu lượng trước khi xảy ra lỗi.
Đây là đường được bảo vệ bởi cơ chế khôi phục.
Đường khôi phục: Là đường mà trung kế lưu lượng sẽ được tái định tuyến sau
khi xảy ra lỗi, được thiết lập để bảo vệ cho đường làm việc.
PSL (Path Switch LSR): Là LSR đứng trước vị trí lỗi trên đường làm việc chịu
trách nhiệm chuyển mạch hoặc tái tạo lưu lượng sang đường khôi phục.
PML (Path merge LSR): Là LSR chịu trách nhiệm nhận lưu lượng trên đường
khôi phục và sẽ: tái hợp nhất lưu lượng trở về đường làm việc, hoặc chuyển lưu
lượng ra khỏi miền MPLS nếu bản thân nó là đích.
POR (Point of Repair): POR là một LSR chịu trách nhiệm sửa chữa một LSR, nó
có thể là một PSL hoặc PML tùy ý theo cơ chế khôi phục nào được dùng.
FIS (Fault Indication Signal): Là bản tin chỉ thị có một lỗi xảy ra trên đường làm
việc đã sửa chữa xong. FRS được chuyển tiếp cho tới khi nó đến được một LSR
đảm nhận việc trả lại đường nguyên thủy.
Học viện công nghệ bưu chính viễn thông 47
Đồ án tốt nghiệp Đại học Chương II
2.5.1 Phân loại các cơ chế bảo vệ khôi phục
2.5.1.1 Sửa chữa toàn cục và sửa chữa cục bộ
Sửa chữa toàn cục là bảo vệ khi có bất kì sự cố ở vị trí nào trên đường làm việc.
Điểm sửa chữa POR (ở đây chính là ingress-LSR) thường cách xa vị trí lỗi và thường
được thông báo bằng tín hiệu FIS. Việc khôi phục đường là end-to-end, trong đó đường
làm việc và đường bảo vệ tách rời nhau (disjoint) hoàn toàn.
Sửa chữa cục bộ nhằm bảo vệ khi sự cố liên kết hoặc nút nhưng khôi phục nhanh
hơn do việc sửa chữa được thực hiện cục bộ tại thiết bị phát hiện sự cố. Nút nằm kề trực
tiếp trước vị trí lỗi sẽ đóng vai trò PSL khởi tạo công tác khôi phục. Sửa chữa cục bộ có
thể được thiết lập theo hai trường hợp:
Khôi lục liên kết: Để bảo vệ khôi phục liên kết trên đường làm việc. Nếu
một lỗi xảy ra trên liên kết này được khôi phục sẽ nối liền PSL và PML ở
hai đầu liên kết lỗi. Đường khôi phục và đường làm việc tách rời nhau đối
với liên kết được bảo vệ.
Khôi phục nút: Để bảo vệ nút trên đường làm việc. Đường khôi phục và
đường làm việc phải tách rời nhau đối với nút được bảo vệ, hoặc PLM là
egress-LSP.
2.5.1.2 Tái định tuyến và chuyển mạch bảo vệ
Đối với khôi phục bằng tái định tuyến (re-router), đường khôi phục được thiết lập
theo yêu cầu sau khi đã xảy ra sự cố. Khi phát hiện sự cố trên đường làm việc, một LSR
đứng trước vị trí lỗi có vai trò là POR mới bắt đầu báo hiệu một đường khôi phục đi
vòng qua điểm lỗi và mối (merge) vào một nút nào đó nằm sau điểm lỗi trên đường làm
việc. Đường khôi phục này có thể được tính toán sẵn trước hoặc tính toán sau khi phát
hiện sự cố. Khi đường khôi phục được thiết lập xong, PSL bắt đầu chuyển lưu lượng
trên đường này.
Trong chuyển mạch bảo vệ thì đường khôi phục được tính toán và thiết lập trước
khi xảy ra sự cố trên đường làm việc. PLS được cấu hình để chuyển mạch lưu lượng
sang đường khôi phục ngay khi nó biết có lỗi trên đường làm việc (trực tiếp phát hiện
lỗi hoặc nhờ nhận được FIS). Vì đường khôi phục đã thiết lập trước nên chuyển mạch
bảo vệ nhanh hơn so với khôi phục bằng tái định tuyến.
Học viện công nghệ bưu chính viễn thông 48
Đồ án tốt nghiệp Đại học Chương II
2.5.2 Mô hình Makam
Đây là mô hình khôi phục MPLS đầu tiên được đề xuất (hình 2.11). Nó cung cấp
bảo vệ toàn cục cho một đường LSP bằng cách thiết lập đường khôi phục giữa ingress-
LSR và egress-LSR. Đường làm việc và khôi phục tách rời nhau (disjoint) cả về liên kết
và nút. Khi phát hiện lỗi ở bất kì vị trí nào trên đường làm việc, tín hiệu FIS được dùng
để chuyển thông báo lỗi về ingress-LSR (PSL). Ingress-LSR sẽ thực hiện chuyển mạch
lưu lượng sang đường khôi phục. Mô hình này hỗ trợ cả các đường khôi phục thiết lập
sẵn (chuyển mạch bảo vệ ) và đường khôi phục thiết lập động (tái định tuyến).
Hình 2.11: Mô hình MAKAM
Ưu điểm: Chỉ cần một đường dự phòng cho mọi sự cố trên đường làm việc và chỉ
cần một LSR có chức năng làm PSL.
Nhược điểm: Mô hình này có một khoảng thời gian trễ để tín hiệu FIS truyền
ngược về tới PSL. Trong thời gian này, lưu lượng trên đường làm việc bị mất.
2.5.3 Mô hình Haskin
Mô hình Haskin (Reverse Backup) khắc phục được nhược điểm mất gói ở mô
hình Makam (hình 2.12). Ngay khi một LSR phát hiện sự cố trên đường làm việc, nó
chuyển hướng lưu lượng đến trên đường làm việc sang một đường dự phòng đảo đi
ngược về PSL. Khi quay trở về đến PSL, lưu lượng được chuyển sang đường khôi phục
toàn cục. Đường dự phòng đảo và đường khôi phục phải thiết lập sẵn nên cách này tốn
kém tài nguyên.
Học viện công nghệ bưu chính viễn thông 49
Đồ án tốt nghiệp Đại học Chương II
Hình 2.12: Mô hình Haskin
Một cải tiến khác cho phép PSL chuyển trực tiếp lưu lượng sang đường khôi
phục toàn cục ngay khi nó thấy đường dự phòng đảo được dùng. Các gói đầu tiên trong
phần lưu lượng được đảo chiều có tác dụng như tín hiệu FIS. Cách này tối ưu hơn vì
đường đi của lưu lượng được bảo vệ ngắn hơn. Tuy nhiên trong thời gian đầu, lưu lượng
mới chuyển đi trên đường khôi phục sẽ trộn lẫn với phần lưu lượng được đảo chiều làm
thay đổi thứ tự gói ban đầu.
2.5.4 Mô hình Hundessa
Mô hình Hundessa giống như mô hình Haskin cải tiến nhưng khắc phục được
vấn đê xáo trộn thứ tự gói. Khi gói đầu tiên quay trở về PSL trên đường dự phòng đảo
có tác dụng như tín hiệu FIS báo cho PSL biết đã có lỗi. PSL đánh dấu gói cuối cùng
truyền ra đường làm việc (đang có lỗi) bằng cách đặt một bit trong trường EXP nhãn,
sau đó ngưng đẩy gói ra đường lỗi. Khi gói được đánh dấu quay trở về PSL trên đường
đảo, PSL mới tiếp tục chuyển các gói mới trực tiếp ra đường khôi phục.
2.5.5 Mô hình Shortest-Dynamic
Trong mô hình này chỉ có đường làm việc được thiết lập. Khi một nút phát hiện
sự cố liên kết thì nó phải tính toán rồi báo hiệu thiết lập một đường hầm (hình 2.13).
LSP ngắn nhất đi từ nó đến nút ở phía bên kia liên kết sự cố và sau đó chuyển
mạch lưu lượng (bằng cách xếp chồng nhãn để “luồn” đường làm việc chui qua đường
hầm tránh lỗi này) .
Học viện công nghệ bưu chính viễn thông 50
Đồ án tốt nghiệp Đại học Chương II
Hình 2.13: Mô hình Shortest-Dynamic
2.5.6 Mô hình Simple-Dynamic
Giống như Shortest-Dynamic, cơ chế này cũng là một cơ chế cục bộ. Nút phát
hiện sự cố liên kết sẽ chuyển mạch lưu lượng. Sự khác nhau giữa hai cơ chế này là nút
cuối cùng của đường làm việc phải là PML. Sau đó, đường khôi phục sẽ là từ nút phát
hiện sự cố đến nút PML. Trong trường hợp này không tính toán trước đường LSP khôi
phục (hình 2.14).
Hình 2.14: Mô hình Simple_Dynamic
2.5.6 Mô hình Simple-Static
Ý tưởng này là giống cơ chế simple-dynamic, nhưng với đường khôi phục đã
được tính toán trước khi xảy ra lỗi.
Học viện công nghệ bưu chính viễn thông 51
Đồ án tốt nghiệp Đại học Chương II
2.6. Kết luận
Chương này đã trình bày các yêu cầu cho kỹ thuật lưu lượng qua MPLS. Bài toán
cơ bản của kỹ thuật lưu lượng MPLS là làm sao cho ánh xạ đồ thị nghiệm suy (induced
graph) lên trên topology vật lý của mạng một cách hiệu quả nhất.
MPLS cũng cung cấp các cơ chế bảo vệ và khôi phục lưu lượng ở lớp MPLS một
cách tin cậy .
Học viện công nghệ bưu chính viễn thông 52
Đồ án tốt nghiệp Đại học Chương III
CHƯƠNG III
XÂY DƯNG CHƯƠNG TRÌNH MÔ PHỎNG CƠ CHẾ BẢO VỆ
VÀ KHÔI PHỤC ĐƯỜNG TRONG MPLS SỬ DỤNG NS2
3.1 Môi trường mô phỏng NS2
NS-2 là chương trình mô phỏng mạng theo phương pháp mô phỏng các sự kiện
rời rạc. NS-2 hỗ trợ mô phỏng mạng có dây và không dây, TCP, UDP, các giao thức
truyền thông điểm - đa điểm, các phương pháp định tuyến, ...vv. NS-2 viết bằng C++ và
ngôn ngữ hướng đối tượng Tcl (Otcl: Object – Oriented Toll Command Language).
So với các phần mềm mô phỏng mạng khác. NS-2 có những ưu thế sau:
NS-2 có mã nguồn mở miễn phí.
NS-2 có kiến trúc mở, tạo điều kiện cho việc mở rộng.
NS-2 được phát triển từ các phần mềm nổi tiếng trên thế giới như
REAL. NEST nên có những điểm mạnh và đã khắc phục được những yếu
điểm của các phần mềm này.
NS-2 hỗ trợ các tính năng cơ bản của mạng IP, từ đó có thể phát
triển thêm các phần tử mạng.
NS-2 có cấu trúc modul, rất thuận tiện cho việc nghiên cứu tìm
hiểu và phát triển.
Nhìn từ phía người sử dụng, NS-2 là chương trình biên dịch mã Otcl được liên
kết tới thư viện C++. Các đối tượng cơ sở như TCP, CBR, … được xây dựng trong C+
+. Đầu vào NS-2 là tập mã lệnh Otcl, đầu ra là tập tin mô phỏng tiến trình theo yêu cầu
được thể hiện trong tập lệnh Otcl.
Kết quả mô phỏng có thể quan sát bằng hình ảnh mô tả trực quan với ứng dụng
Nam (the Network Animator), bằng đồ thị (Xgraph, Trace graph) hoặc có thể được xử
lý bằng các tệp lệnh tuỳ chọn. Với cấu trúc này, việc sử dụng NS-2 trở nên đơn giản hơn
nhiều so với sử dụng trực tiếp C++ nhưng vẫn có những tính năng của C++.
Với những đặc điểm trên, NS-2 thực sự là một công cụ phần mềm hữu ích cho
việc học tập, nghiên cứu mạng thông tin, giúp cho việc thực hành mạng trở nên hiệu quả
hơn.
Học viện công nghệ bưu chính viễn thông 53
Đồ án tốt nghiệp Đại học Chương III
3.1.1 Kiến trúc NS2
NS thực thi các giao thức mạng như Giao thức điều khiển truyền tải (TCP) và
Giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền
tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR) ;
các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn
(RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting
và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.
Hình 3.1: Tổng quan về NS dưới góc độ người dùng
Trong hình 3.1, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các
đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp
Thiết lập Mạng (hay các mô đun Plumbing).
Để sử dụng NS-2, người sử dụng lập trình bằng ngôn ngữ kịch bản OTcl. Người
dùng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới
trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản
OTcl có thể thực hiện những việc sau:
Khởi tạo Bộ lập lịch Sự kiện
Thiết lập Mô hình mạng dùng các đối tượng Thành phần Mạng
Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet
trong Bộ lập lịch Sự kiện
Thuật ngữ plumbing được dùng để chỉ việc thiết lập mạng, vì thiết lập một mạng
nghĩa là xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con
trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương ứng. Mô đun
plumbing OTcl trong thực tế thực hiện việc trên rất đơn giản. Plumbing làm nên sức
mạnh của NS.
Học viện công nghệ bưu chính viễn thông 54
Đồ án tốt nghiệp Đại học Chương III
Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần Mạng là Bộ lập
lịch Sự kiện. Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau:
Tổ chức Bộ định thời Mô phỏng
Huỷ các sự kiện trong hàng đợi sự kiện
Triệu gọi các Thành phần Mạng trong mô phỏng
Phụ thuộc vào mục đích của người dùng đối với kịch bản mô phỏng OTcl mà kết
quả mô phỏng có thể được lưu trữ như file trace. Định dạng file trace sẽ được tải vào
trong các ứng dụng khác để thực hiện phân tích:
File nam trace (file.nam) được dùng cho công cụ Minh họa mạng
NAM
File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mô
phỏng XGRAPH hay TRACEGRAPH
Hình 3.2: Luồng các sự kiện cho file Tcl chạy trong NS
NAM Visual Simulation Mô phỏng ảo NAM
Tracing and Monitoring Simulation Mô phỏng Lần vết và Giám sát
3.1.2 C++ và OTcl
Hình 3.3 biểu diễn kiến trúc chung của NS. Người dùng có thể tưởng tượng mình
đang đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl. Tcl dùng các đối
tượng mô phỏng trong OTcl. Các đối tượng Bộ lập lịch Sự kiện và hầu hết các đối
tượng Thành phần Mạng thực thi bằng C++ và sẵn có cho OTcl qua một liên kết OTcl.
Học viện công nghệ bưu chính viễn thông 55
Đồ án tốt nghiệp Đại học Chương III
Liên kết OTcl này được thực thi dùng TclCL. Tất cả đã làm nên NS, bộ biên dịch Tcl
mở rộng hướng đối tượng và các thư viện mô phỏng mạng.
Tcl
OTclOTcl
TclCLTclCL
ns-2
Event Scheduler
Network Components
Event Scheduler
Network Components
C/C++
Hình 3.3: Kiến trúc của NS-2
NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản (Tcl – Tool
Command Language, đọc là tickle) và Ngôn ngữ lập trình hệ thống (C/C++)
NS là tầng biên dịch Tcl để chạy các kịch bản Tcl
Bằng cách sử dụng C++/OTcl, bộ mô phỏng mạng phải hoàn toàn là
hướng đối tượng
Hình 3.4 chỉ ra các đối tượng C++ có liên kết OTcl. Khi đó, nếu chúng tạo nên
một phân cấp thì các đối tượng OTcl cũng có một phân cấp tương ứng như vậy
Hình 3.4: C++ và OTcl: Sự đối ngẫu
TclCL là ngôn ngữ được sử dụng để cung cấp liên kết giữa C++ và OTcl. Các
kịch bản Tcl/OTcl được viết để thiết lập và cấu hình topology của mạng. TclCL cung
cấp liên kết giữa phân cấp lớp, khởi tạo đối tượng, kết nối biến và gửi lệnh.
Học viện công nghệ bưu chính viễn thông 56
Đồ án tốt nghiệp Đại học Chương III
Hình 3.5: TclCL hoạt động như liên kết giữa A và B
Vậy, tại sao NS lại cần sử dụng đến hai ngôn ngữ? Lý do là vì Bộ mô phỏng cần
thực hiện hai việc khác nhau.
Một mặt là vì các mô phỏng cho các giao thức yêu cầu một ngôn ngữ lập trình hệ
thống có thể tính toán một cách hiệu quả các byte, các tiêu đề packet và các thuật toán
thực thi đang chạy trên một tập dữ liệu lớn. Với tác vụ này, run-time speed (tốc độ thời
gian chạy thực) là quan trọng trong khi turn-around time (thời gian thay đổi) thì ít quan
trọng hơn. Turn-around time bao gồm thời gian chạy mô phỏng, thời gian tìm lỗi, thời
gian sửa lỗi, thời gian biên dịch lại và thời gian chạy lại.
Mặt khác, khi nghiên cứu mạng thì rất cần quan tâm đến các tham số và các cấu
hình có thay đổi nhưng không đáng kể, hay quan tâm đến các scenario (tình huống) cần
khám phá thật nhanh chóng. Trong tác vụ này thì iteration time (thời gian lặp lại, tức là
thời gian hay đổi mô hình và chạy lại) là quan trọng hơn. Vì cấu hình chỉ chạy một lần
lúc bắt đầu mô phỏng nên run-time trong tác vụ này rõ ràng kém quan trọng hơn.
3.2 Xây dựng chương trình mô phỏng
3.2.1 Mục tiêu mô phỏng
Cho trước một topology mạng gồm 10 nút bộ định tuyến như trong hình dưới
đây:
Hình 3.6: Mô hình mạng
Học viện công nghệ bưu chính viễn thông 57
Đồ án tốt nghiệp Đại học Chương III
Các nguồn phát lưu lượng (src) đều đặt tại nút 0 và các đích nhận lưu lượng
(sink) đều đặt tại nút 0. Các liên kết giữa các nút đều là full-duplex với thời gian trễ là
30 ms và có băng thông như sau :
Nút 0 – Nút 1: 3M ; Nút 9 – Nút 10: 3M
Nút 1 – Nút 2: 1M ; Nút 2 – Nút 4:1M ; Nút 3 – Nút 4: 1 M ; Nút 3 – Nút 5: 1
M ; Nút 5 – Nút 7: 1M ; Nút 7 – Nút 8: 1 M ; Nút 7 – Nút 9: 1 M ;
Nút 1 – Nút 3: 2 M ; Nút 4 – Nút 7: 2 M ; Nút 4 – Nút 7: 2 M ; Nút 5 – Nút 7: 2
M
Nút 0 và Nút 10 là bộ định tuyến IP thông thường (R0 và R10). Các nút từ 1 đến
9 là các bộ định tuyến có hỗ trợ MPLS (LSR1 đến LSR9) tạo thành một miền MPLS.
Có một nguồn lưu lượng (scr1) được tạo thành và gắn vào nút R0. Tương ứng có 1 đích
lưu lượng (sink1) gắn vào nút R10. Nguồn phát luồng lưu lượng với tốc độ 0,8 Mbps,
kích thước gói 600B.
Mục tiêu chương trình mô phỏng hướng tới :
1. Thông tin mô phỏng chung của toàn mạng : bao nhiêu gói được tạo ra ,
bao nhiêu gói được chuyển tiếp , bao nhiêu gói bị mất mát.
2. Theo dõi quá trình thiết lập đường làm việc, đường bảo vệ và tái thiết lập
chúng ra sao.
3. Biểu diễn quá trình mô phỏng bằng các phần mềm ứng dụng NS2 như
Nam, XGRAPH
3.2.2 Thực hiện và kết quả
3.2.2.1 Mô phỏng với lịch trình qui định trong script mô phỏng
1. Thiết lập đường làm việc: LSP_1100 (ER=1_3_5_7_9)
2. Thiết lập đường bảo vệ toàn cục: LSP_1200 (ER=1_2_4_6_8_9)
3. Thời điểm 0,5s: Luồng 1 (src1_sink1) bắt đầu truyền đến LSP_1100
4. Thời điểm 2,0s: Liên kết giữa LSR5_LSR7 bị đứt, đến 3,5s thì khôi phục.
5. Thời điểm 5,0s: Luồng 1 ngưng truyền.
Học viện công nghệ bưu chính viễn thông 58
Đồ án tốt nghiệp Đại học Chương III
Hình 3.7: Lịch trình mô phỏng
3.2.2.2 Biểu diễn trên đồ thị XGRAPH
Từ Xgraph (hình 3.8) ta thấy tại thời điểm LSR5-LSR7 bị đứt (2,06s), LSR5 phát
một bản tin FIS về LSR1. Sau khi LSR1 nhận được thông điệp này, nó sẽ chuyển luồng
lưu lượng từ đường làm việc sang đường bảo vệ toàn cục đã thiết lập. Do thông điệp
thông báo phải mất một khoảng thời gian mới đến được LSR1 nên trong thời gian này,
các gói vẫn còn được truyền trên đường dẫn có liên kết bị hỏng và bị mất gói đồng thời
phải mất 1 thời gian trễ nhất định các gói tin đầu tiên trên đường thiết lập bảo vệ toàn
cục mới chuyển tới LSR10. Nên ta thấy tại thời điểm 2s đến 2.4s, lượng băng thông
giảm đột ngột rồi tăng lại ổn định như cũ sau 1 khoảng thời gian
Hình 3.8: Đồ thị Xgraph
.
Học viện công nghệ bưu chính viễn thông 59
Đồ án tốt nghiệp Đại học Chương III
Tại thời điểm 3.5s khôi phục đường truyển lượng băng thông tăng đột biến rồi
giảm về ổn định 0,8 Mb/s do trễ gói tin trên đường thiết lập bảo vệ toàn cục.
Rõ ràng việc tỉ lệ mất gói tin khá lớn do một số lượng gói tin nhất định bị mất
mát trên đường liên kết hỏng do trễ gói tin là nhược điểm cơ chế Makam. Nhược điểm
này được khắc phục ở cơ chế Resever Backup.
3.2.2.3 Biểu diễn NAM
Báo hiệu thiết lập đường làm việc và đường bảo vệ
Đường thiết lập LSP ER=1_3_5_7_9
Đường bảo vệ LSP ER =1_2_4_6_8_9.
Hình 3.9: Báo hiệu thiết lập đường làm việc và bảo vệ
o Luồng 1: BW=0.8M chạy
o start = 0.5
o stop = 5.0
o sử dụng ER =1_3_5_7_9
Học viện công nghệ bưu chính viễn thông 60
Đồ án tốt nghiệp Đại học Chương III
Hình 3.10: Sử đường làm việc ER=1_3_5_7_9
Thời điểm 2,06s phát hiện lỗi trên đường làm việc LSP_1100.
Chuyển sang đường bảo vệ LSP_1200
Hình 3.11: Phát hiện lỗi
Học viện công nghệ bưu chính viễn thông 61
Đồ án tốt nghiệp Đại học Chương III
Hình 3.12: Chuyển sang đường bảo vệ
Tại 3,5s lỗi đã được khôi phục
Chuyển lưu lượng trở lại đường làm việc LSP_1100
Hình 3.13: Lỗi đã được khôi phục
Học viện công nghệ bưu chính viễn thông 62
Đồ án tốt nghiệp Đại học Chương III
Hình 3.14: Chuyển lưu lượng trở lại đường làm việc
Tại 5,0 s kết thúc quá trình truyền gói
750 gói được truyền, mất 57 gói
Hình 3.15: Kết thúc quá trình truyền gói
Học viện công nghệ bưu chính viễn thông 63
Đồ án tốt nghiệp Đại học Chương III
3.3 Tổng kết
Trong chương này chúng ta giới thiệu về phần mềm mô phỏng NS2 và ứng dụng
nó vào kỹ thuật lưu lượng giao thức MPLS, cụ thể là ta đã mô phỏng thành công cơ
chế bảo vệ và thiết lập đường. Nó giúp ta hiểu kĩ về quá trình thiết lập đường truyền
và thiết lập bảo vệ ra sao đồng thời giúp ta theo dõi được quá trình truyền gói tin, mất
mát gói và độ trễ.
Các file Otcl Scripts thực hiện bài toán mô phỏng trình bày trong phụ lục của đồ
án này.
Học viện công nghệ bưu chính viễn thông 64
Đồ án tốt nghiệp Đại học Kết Luận
KẾT LUẬN
Với những ưu điểm vượt trội, MPLS được xem là công nghệ đầy hứa hẹn trong
tương lai nhằm đáp ứng nhu cầu đa dịch vụ, đa phương tiện của khách hàng.
Sau một thời gian nghiên cứu, đồ án đã giải quyết được một số vấn đề sau:
Tìm hiểu tổng quan về công nghệ MPLS.
Nghiên cứu vấn đề điều khiển lưu lượng và bài toán điều khiển lưu
lượng trong MPLS.
Xây dựng chương trình mô phỏng cơ chế bảo vệ và khôi phục
đường trong kỹ thuật lưu lượng MPLS
Các vấn đề được nêu ra trong đồ án cho ta một cái nhìn tổng quan hơn về công
nghệ MPLS. Kĩ thuật điều khiển lưu lượng sử dụng trong công nghệ MPLS đã giúp
giải quyết vấn đề tắc nghẽn mạng nhờ đó nâng cao hiệu năng mạng. Nghiên cứu điều
khiển lưu lượng trong MPLS là vấn đề rất quan trọng nhằm mở ra các kĩ thuật mạng
để nâng cao hiệu quả sử dụng mạng trong tương lai.
Công việc nghiên cứu về công nghệ MPLS vẫn đang được các tổ chức tiếp tục
nghiên cứu, phát triển và hoàn thiện tiêu chuẩn. Việc hoàn thiện các tiêu chuẩn có vai
trò quan trọng đối với các nhà sản xuất thiết bị, cũng như các nhà cung cấp mạng
nhằm đạt được một mạng tối ưu nhất.
Đối với cơ sở hạ tầng thông tin quốc gia, việc triển khai công nghệ MPLS cần
được nghiên cứu sâu hơn để phát huy những ưu điểm của MPLS đồng thời phù hợp
với nhu cầu thị trường của Việt Nam.
Một lần nữa xin gửi lời cảm ơn chân thành tới các thầy cô giáo đã giúp đỡ em
trong những năm tháng học tập tại trường.
Hà nội, tháng 11 năm 2008
Đỗ Tiến Thành
Học viện công nghệ bưu chính viễn thông 65
Đồ án tốt nghiệp Đại Tài Liệu Tham Khảo
TÀI LIỆU THAM KHẢO
[1] Công nghệ MPLS –TS Nguyễn Tiến Ban 2008
[2] Rosen, E., Viswanathan, A. and R. Callon, “Multiprotocol Label Switching Architecture”, RFC 3031.
[3] L. Andersson, P. Doolan, N. Feldman, A. Fredette, B. Thomas, “LDP Specification”, RFC 3036.
[4] MPLS Fundamentary ( Luc De Ghein- CisscoPress 2006)
[5] ATM & MPLS: Theory and Application ( Eric Osborne, Ajay Simha-Ciscopress 2002)
[6] D. Awduche, J. Malcolm, J. Agogbua, M. O’Dell, J. McManus “Traffic Engineering in MPLS”, RFC 2702.
[7] Keping Long, Zhongshan Zhang, Shiduan Cheng, “Load balancing algorithms in MPLS traffic engineering”, High Performance Switching and Routing, 2001 IEEE Workshop on, 2001.
[8] TS. Phùng Văn Vận, KS. Đỗ Mạnh Quyết, “Công nghệ chuyển mạch nhãn đa giao thức MPLS”, Nhà xuất bản Bưu Điện, 2003.
[9] Eric Osborne, Ajay Simha, “Traffic Engineering with MPLS”, Cissco Press, 2003.
[10] Hoàng Trọng Minh, Bài giảng ”Công nghệ chuyển mạch nhãn đa giao thức MPLS”, Học viện công nghệ bưu chính viễn thông.
[11] Ns-manual http://www.isi.edu/nsna m /ns/ns-doc u m entation.ht m l
[12] MNS-Manual - http://flow e r.ce.cnu.ac.kr/~fog1/mns/ .
Học viện công nghệ bưu chính viễn thông 66
Đồ án tốt nghiệp Đại học Phụ Lục
PHỤ LỤC
Mã nguồn chương trình mô phỏng# Tao ra mot doi tuong mo phong
set ns [new Simulator]
$ns rtproto LS
# Tao file de xuat ket qua cho NAM
set nf [open bai4.nam w]
$ns namtrace-all $nf
# Tao cac file de luu du lieu cho xgraph
set f1 [open luong_1.tr w]
set f2 [open luong_seq.tr w]
# So do ket noi mang
1M 2M 1M
# LSR2---------------LSR4------------------LSR6-------------------LSR8
# / / / / \
# / / / / \
# 1M / 1M / 1M / 1 M / \ 2M
# / / / / \
# / / / / \
# R0-----------LSR1----------------LSR3------------------LSR5----------------LSR 7----------LSR9---------R10
# 2M 1M 2M 1M
# Khai bao 2 nut IP (R0,R10) va 9 nut MPLS (LSR1 --> LSR9)
set R0 [$ns node]
foreach i "1 2 3 4 5 6 7 8 9" {
set LSR$i [$ns mpls-node]
set m LSR$i
eval $$m color blue
}
set R10 [$ns node]
Học viện công nghệ bưu chính viễn thông 67
Đồ án tốt nghiệp Đại học Phụ Lục
# Khai bao liên kết: odes bw delay queue
$ns duplex-link $R0 $LSR1 3Mb 10ms DropTail
$ns duplex-link $LSR1 $LSR3 2Mb 30ms DropTail
$ns duplex-link $LSR3 $LSR5 1Mb 30ms DropTail
$ns duplex-link $LSR5 $LSR7 2Mb 30ms DropTail
$ns duplex-link $LSR7 $LSR9 1Mb 30ms DropTail
$ns duplex-link $LSR9 $R10 3Mb 10ms DropTail
$ns duplex-link $LSR1 $LSR2 1Mb 30ms DropTail
$ns duplex-link $LSR2 $LSR4 1Mb 30ms DropTail
$ns duplex-link $LSR4 $LSR6 2Mb 30ms DropTail
$ns duplex-link $LSR6 $LSR8 1Mb 30ms DropTail
$ns duplex-link $LSR8 $LSR9 2Mb 30ms DropTail
$ns duplex-link $LSR3 $LSR4 1Mb 30ms DropTail
$ns duplex-link $LSR5 $LSR6 1Mb 30ms DropTail
$ns duplex-link $LSR7 $LSR8 1Mb 30ms DropTail
# Ve dang so do mang
$ns duplex-link-op $R0 $LSR1 orient right
$ns duplex-link-op $LSR1 $LSR3 orient right
$ns duplex-link-op $LSR3 $LSR5 orient right
$ns duplex-link-op $LSR5 $LSR7 orient right
$ns duplex-link-op $LSR7 $LSR9 orient right
$ns duplex-link-op $LSR9 $R10 orient right
$ns duplex-link-op $LSR1 $LSR2 orient 0.333
$ns duplex-link-op $LSR2 $LSR4 orient right
$ns duplex-link-op $LSR4 $LSR6 orient right
$ns duplex-link-op $LSR6 $LSR8 orient right
$ns duplex-link-op $LSR8 $LSR9 orient 1.667
$ns duplex-link-op $LSR3 $LSR4 orient 0.333
$ns duplex-link-op $LSR5 $LSR6 orient 0.333
$ns duplex-link-op $LSR7 $LSR8 orient 0.333
# Ghi chu
$ns duplex-link-op $LSR1 $LSR3 label " 2M "
$ns duplex-link-op $LSR3 $LSR5 label " 1M "
Học viện công nghệ bưu chính viễn thông 68
Đồ án tốt nghiệp Đại học Phụ Lục
$ns duplex-link-op $LSR5 $LSR7 label " 2M "
$ns duplex-link-op $LSR7 $LSR9 label " 1M "
$ns duplex-link-op $LSR1 $LSR2 label " 1M "
$ns duplex-link-op $LSR2 $LSR4 label " 1M "
$ns duplex-link-op $LSR4 $LSR6 label " 2M "
$ns duplex-link-op $LSR6 $LSR8 label " 1M "
$ns duplex-link-op $LSR8 $LSR9 label " 2M"
$ns duplex-link-op $LSR3 $LSR4 label " 1M "
$ns duplex-link-op $LSR5 $LSR6 label " 1M "
$ns duplex-link-op $LSR7 $LSR8 label " 1M "
$R0 label "Nguon"
$R10 label "Dich"
$LSR1 label "Ingress "
$LSR9 label " Egress"
# Cau hinh LDP agent tren tat ca cac nut MPLS
$ns configure-ldp-on-all-mpls-nodes
# Dat color cho cac ban tin LDP
$ns ldp-request-color blue
$ns ldp-mapping-color red
$ns ldp-withdraw-color magenta
$ns ldp-release-color orange
$ns ldp-notification-color green
#----------------------------------------------------------------------
# Dinh nghia cac ham su dung trong chuong trinh chinh
#----------------------------------------------------------------------
# Tao mot procedure ghi nhan bang thong theo mot chu ki $time
proc record {} {
global sink1 f1
set ns [Simulator instance]
# Dinh chu ki ghi nhan bang thong
set time 0.1
# Lay so luong packet nhan duoc trong chu ky o moi sink
Học viện công nghệ bưu chính viễn thông 69
Đồ án tốt nghiệp Đại học Phụ Lục
set bw1 [$sink1 set bytes_]
set now [$ns now]
puts $f1 "$now [expr $bw1/$time*8/1000000]"
# Reset gia tri bytes_ cua sink
$sink1 set bytes_ 0
#Dinh thoi goi lai ham record sau chu ky $time
$ns at [expr $now+$time] "record"
}
#----------------------------------------------------
set prvseqnb -1
set seqerrnb 0
# Thu tuc ghi lai so packet nhan duoc dung thu tu
proc seq-record {size rate ftime} {
global prvseqnb seqerrnb sink1 f2
set ns [Simulator instance]
# Dat chu ky thoi gian chay lai thu tuc nay
set tsize [parse-bw $size]
set trate [parse-bw $rate]
set time [expr double($tsize)/double($trate)/8.0]
set now [$ns now]
# Tim so thu tu cua packet
set revseqnb [$sink1 set expected_]
if {$prvseqnb > $revseqnb} {
incr seqerrnb 1
}
# Ghi so thu tu cua packet vao file
Học viện công nghệ bưu chính viễn thông 70
Đồ án tốt nghiệp Đại học Phụ Lục
if {$prvseqnb != $revseqnb} {
puts $f2 "$now [$sink1 set expected_]"
set prvseqnb $revseqnb
}
# Dinh thoi goi lai ham seq-record
if { [expr $now+$time] < $ftime } {
$ns at [expr $now+$time] "seq-record $size $rate $ftime"
}
}
#----------------------------------------------------
# Ham tao mot nguon luu luong gan vao node voi sink, size goi,
# burst, idle time, rate va colour cua luu luong
proc attach-expoo-traffic { node sink size burst idle rate } {
set ns [Simulator instance]
set source [new Agent/CBR/UDP]
$ns attach-agent $node $source
set traffic [new Traffic/Expoo]
$traffic set packet-size $size
$traffic set burst-time $burst
$traffic set idle-time $idle
$traffic set rate $rate
$source attach-traffic $traffic
$ns connect $source $sink
return $source
}
#----------------------------------------------------
# Thu tuc sau thong bao ER/CR-LSP da thiet lap de thuc hien tac vu khac
proc notify-erlsp-setup {node lspid} {
global src1 src2
set ns [Simulator instance]
set msg " [string range [$ns now] 0 3]s: Tunnel LSP_$lspid (Ingress=LSR[$node
id]) da duoc thiet lap xong !"
puts $msg
Học viện công nghệ bưu chính viễn thông 71
Đồ án tốt nghiệp Đại học Phụ Lục
$ns trace-annotate $msg
set module [$node get-module "MPLS"]
switch $lspid {
1100 {
$module bind-flow-erlsp 10 100 $lspid
}
1200 {
$module reroute-lsp-binding 1100 $lspid
}
default {
puts " Error!"
exit 1
}
}
}
proc notify-erlsp-fail {node status lspid tr} {
set ns [Simulator instance]
set module [$node get-module "MPLS"]
if { [$node id] == 1 && $status=="BSNodeError" } {
$module set-lib-error-for-lspid $lspid 1
set msg " [string range [$ns now] 0 3]s: Phat hien loi tren duong lam viec
LSP_$lspid. Chuyen sang duong bao ve LSP_1200 !"
}
if { [$node id] == 1 && $status=="NodeRepair" } {
$module set-lib-error-for-lspid $lspid -1
set msg " [string range [$ns now] 0 3]s: Loi da duoc khoi phuc. Chuyen
luu luong tro lai duong lam viec LSP_$lspid !"
}
puts $msg
$ns trace-annotate $msg
}
Học viện công nghệ bưu chính viễn thông 72
Đồ án tốt nghiệp Đại học Phụ Lục
#----------------------------------------------------
# Thu tuc xuat tong so packet nhan duoc o cac sink
proc recv-pkts {} {
global sink1 seqerrnb
set ns [Simulator instance]
set msg " Luong 1 da truyen [$sink1 set expected_] goi, mat [$sink1 set nlost_]
goi, ti le mat goi la [string range [expr [$sink1 set nlost_]*100.0/[$sink1 set
expected_]] 0 3] */*"
puts $msg
$ns trace-annotate $msg
set msg " Tong so packet bi sai thu tu : $seqerrnb goi"
puts $msg
$ns trace-annotate $msg
}
#----------------------------------------------------
# Thu tuc dong file va the hien ket qua khi ket thuc mo phong
proc finish {} {
global ns nf f1 f2
$ns flush-trace
close $nf
close $f1
close $f2
exec xgraph luong_1.tr -M -nb -bg white -fg black -zg black \
-geometry 500x250 -y "BW (Mbps)" -x "Time (sec)" \
-t "Bai 4: Khoi phuc duong theo co che Makam" -tf "helvetica-12" &
exec xgraph luong_seq.tr -p -nl -nb -bg white -fg black -zg black \
-geometry 500x250 -y "Packet No." -x "Time (sec)" \
-t "Bai 4: Bieu do so thu tu packet theo thoi gian" -tf "helvetica-12" &
exec nam -r 2ms bai4.nam &
exit 0
}
#----------------------------------------------------
Học viện công nghệ bưu chính viễn thông 73
Đồ án tốt nghiệp Đại học Phụ Lục
# Tao ra sink1 gan voi nut R10 (day la noi thu nhan traffic)
set sink1 [new Agent/LossMonitor]
$ns attach-agent $R10 $sink1
# Tao ra nguon luu luong src1 gan voi nut R0 bang cach
# goi ham attach-expoo-traffic. Luong co packet_size=600, rate=0.8Mbps
set src1 [attach-expoo-traffic $R0 $sink1 600B 0 0 0.8M ]
$src1 set fid_ 100
$ns color 100 red
# Cai dat co che khoi phuc: MAKAM
$ns enable-reroute notify-prenegotiated
[$LSR3 get-module "MPLS"] set-protection-lsp 0.7 0.01 1100
[$LSR5 get-module "MPLS"] set-protection-lsp 0.7 0.01 1100
[$LSR7 get-module "MPLS"] set-protection-lsp 0.7 0.01 1100
# Bat dau mo phong
puts "\n BAI 4: KHOI PHUC DUONG BANG TAI DINH TUYEN TOAN CUC
(MAKAM)\n"
$ns at 0.00 "record"
$ns at 0.00 "seq-record 600 800k 5.5"
# Thiet lap LSP lam viec
$ns at 0.15 "$ns trace-annotate {Bao hieu thiet lap duong lam viec: LSP_1100,
ER=1_3_5_7_9 }"
$ns at 0.15 "[$LSR1 get-module "MPLS"] setup-erlsp 9 1_3_5_7_9 1100"
# Thiet lap LSP bao ve
$ns at 0.15 "$ns trace-annotate {Bao hieu thiet lap duong bao ve: LSP_1200,
ER=1_2_4_6_8_9 }"
$ns at 0.15 "[$LSR1 get-module "MPLS"] setup-erlsp 9 1_2_4_6_8_9 1200"
$ns at 0.50 "$ns trace-annotate {Luong 1: BW=0.8M (start=0.5 stop=5.0) su dung
LSP_1100, ER=1_3_5_7_9 }"
Học viện công nghệ bưu chính viễn thông 74
Đồ án tốt nghiệp Đại học Phụ Lục
$ns at 0.50 "$src1 start"
# Link giua LSR5 va LSR7 bi dut tu 2.0s, den 3.5s thi khoi phuc lai
$ns rtmodel-at 2.0 down $LSR5 $LSR7
$ns rtmodel-at 3.5 up $LSR5 $LSR7
$ns at 5.0 "$src1 stop"
$ns at 5.5 "recv-pkts"
$ns at 5.5 "finish"
$ns run
Học viện công nghệ bưu chính viễn thông 75