Dựa vào sự phân bố của các nhóm multicast multicast group, các giao thức multicast khác nhau đã xuất hiện như DVMRP, MOSPF, PIM-SM, PIM-DM, CBT, MBGP [15], vì vậy việc hiện thực multicas
Trang 1NGUYỄN VŨ THANH
ĐỊNH TUYẾN VÀ TÁI ĐỊNH TUYẾN MULTICAST TRÊN MPLS
Chuyên ngành : Kỹ thuật vô tuyến -điện tử
LUẬN VĂN THẠC SĨ
Tp Hồ Chí Minh, tháng 12 năm 2006
Trang 2Cán bộ hướng dẫn khoa học: PGS.TS Phạm Hồng Liên
Cán bộ chấm nhận xét 1 : PGS.TS Lê Tiến Thường
Cán bộ chấm nhận xét 2 : TS Đỗ Hồng Tuấn
Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠCSĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 28 tháng 12 năm 2006
Trang 3Tp HCM, ngày 28 tháng 12 n ăm 2006
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Ngày, tháng, năm sinh: 15/08/1980 Nơi sinh: Quảng Nam Chuyên ngành: Kỹ thuật vô tuyến-điện tử MSHV:01404349
I- TÊN ĐỀ TÀI:
‘Định tuyến và tái định tuyến Multicast trên MPLS’
II- NHIỆM VỤ VÀ NỘI DUNG:
Nghiên cứu và giả lập mô phỏng mô hình định tuyến và tái định tuyến Multicast trên MPLS
III- NGÀY GIAO NHIỆM VỤ: 1/4/2006
IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 28/12/2006
Trang 4Lời cảm ơn
Tôi xin kính gởi đến TS Phạm Hồng Liên lời trân trọng tri ân với lòng biết ơn sâu
sắc nhất Cô đã trực tiếp hướng dẫn, tạo mọi điều thuận lợi về tài liệu cũng như đã cho tôi những lời khuyên bổ ích, giúp tôi hoàn thành luận văn này
Tôi cũng xin chân thành cảm ơn quý thầy cô ở trường Đại học Bách khoa, là những người truyền đạt kiến thức, định hướng nghiên cứu từ những năm đại học cho đến sau này, những năm sau đại học
Cuối cùng xin cảm ơn gia đình và bạn bè đã giúp đỡ, động viên trong suốt quá trình học tập cũng như nghiên cứu đã qua
TP Hồ Chí Minh ngày 28 tháng 12 năm 2006
Học Viên CHK15
Nguyễn Vũ Thanh
Trang 5Tóm tắt
Đề tài liên quan đến việc nghiên cứu cơ chế định tuyến và tái định tuyến Multicast trên MPLS Sự bùng nổ của mạng Internet trong những năm gần đây đã thúc đẩy sự phát triển về mặt kỹ thuật giúp các mạng IP truyền thống hỗ trợ được các khả năng điều khiển lưu lượng một cách hiệu quả MPLS là một giải pháp rất linh hoạt để giải quyết các vấn đề mà các mạng ngày nay phải đối mặt: tốc độ, khả năng mở rộng, quản lý chất lượng dịch vụ (QoS), và kỹ thuật lưu lượng MPLS nổi bật lên như là một giải pháp rất phù hợp với việc quản lý băng thông, đáp ứng các dịch vụ theo yêu cầu cho mạng đường trục IP thế hệ sau MPLS có thể tồn tại trên cả mạng ATM và Frame Relay Định tuyến Multicast trên mạng MPLS một mặt làm giảm lưu lượng, mặt khác làm tăng tốc độ và đáp ứng được các dịch vụ theo yêu cầu trên mạng Dựa vào sự phân
bố của nhóm multicast, các giao thức multicast khác nhau đã xuất hiện Và sự thực thi Multicast trên mạng MPLS được thực hiện một cách độc lập tương ứng với từng giao thức cụ thể Luận văn đã tìm hiểu lý thuyết về IP Multicast, MPLS và nghiên cứu cách kết hợp chúng lại (dùng kỹ thuật tập hợp Multicast, giao thức PIM-SM và chuyển mạch lớp 2 của MPLS) nhằm làm tăng sự hiệu quả cũng như khả năng thực thi của mạng Luận văn cũng đã đưa ra được mô hình tái định tuyến AMFM (Aggregated MPLS-based Fault-tolerant Multicast) được áp dụng cho cây Multicast có hỗ trợ MPLS khi có lỗi đường truyền xảy ra Toàn bộ các hoạt động trên được giả lập mô phỏng trên NS2 (Network Simulator) chạy trên nền Red Hat Linux
Trang 6Mục lục nội dung
Chương 1: GIỚI THIỆU 1
1.1 Tổng quan 1
1.2 Mục đích - Đối tượng - Phạm vi nghiên cứu 2
1.3 Bố cục của đề tài 2
1.4 Ý nghĩa của đề tài 2
Chương 2: MPLS 4
2.1 Giới thiệu 4
2.2 Kiến trúc mạng MPLS 6
2.2.1 Các thành phần trong MPLS 7
2.2.2 Quản lí và điều khiển phân phối nhãn 9
2.3 Giao thức phân phối nhãn (LDP-Label Distribution Protocol) 13
2.3.1 Phát hiện lân cận (neighbor discovery) 14
2.3.2 Thiết lập và duy trì session 16
2.3.3 Quảng bá nhãn 17
2.3.4 Thông báo 19
2.4 Mô phỏng MPLS 19
2.4.1 MPLS trên NS 19
2.4.2 Sự phân phối nhãn 22
2.4.3 Thực hiện mô phỏng 22
Chương 3: MULTICAST 28
3.1 Giới thiệu 28
3.2 Các khái niệm Multicast 30
3.2.1 Unicast một-đến-tất-cả (one-to-all unicast) 30
3.2.2 Multicast ở cấp độ ứng dụng (application-level multicast) 30
3.2.3 Multicast tường minh (explicit multicast) 31
3.3 Nhóm Multicast và địa chỉ Multicast 32
3.4 Định tuyến Multicast 33
3.4.1 Cây group-shared 33
3.4.2 Các cây source-based 35
3.4.3 DVMRP: Distance Vector Multicast Routing Protocol 37
3.4.4 PIM: Protocol Independent Multicast 38
3.5 Giao thức PIM-SM 39
3.5.1 Giới thiệu 39
3.5.2 Mô tả chi tiết giao thức 40
3.6 Mô phỏng Multicast 51
3.6.1 Các giao thức multicast trong NS 51
3.6.2 Mô phỏng so sánh cách hoạt động của PIM-DM và PIM-SM 52
Chương 4: MULTICAST TRÊN MPLS 57
4.1 Giới thiệu 57
4.2 Tập hợp Multicast (Aggregated Multicast) 58
4.3 Các thuộc tính của PIM-SM trong MPLS 59
4.3.1 Tính rẽ nhánh (branching) 59
4.3.2 Các Source/Shared Tree 59
4.4 Các kiểu kích LSP cho IP Multicast 60
4.4.1 Request Driven 61
Trang 74.4.2 Topology Driven 61
4.4.3 Traffic Driven 62
4.5 Phương pháp Piggybacking để phân phối nhãn 62
4.5.1 Tổng quan 62
4.5.2 Các quy tắc 62
4.5.3 Biến đổi định dạng gói PIM-SM Join/Prune 64
4.6 AMFM (Aggregated MPLS-based Fault-tolerant Multicast) 65
4.6.1 Giới thiệu 65
4.6.2 Các kiểu bảo vệ cho Multicast 66
4.6.3 Cấu trúc và chức năng của AMFM 67
4.7 Mô phỏng 70
4.7.1 PIM-SM trên MPLS 70
4.7.2 Tái định tuyến Multicast trên MPLS 78
Chương 5: Kết luận và hướng phát triển 81
Tài liệu tham khảo 82
Lý lịch trích ngang 84
Trang 8Mục lục bảng
Bảng 3-1 Kịch bản mô phỏng so sánh hoạt động của PIM-DM và PIM-SM 53
Bảng 3-2 Chuỗi hình vẽ so sánh hoạt động của PIM-DM và PIM-SM 53
Bảng 4-1 Kết quả mô phỏng PIM-SM trong MPLS 76
Bảng 4-2 Mô phỏng tái định tuyến 78
Trang 9Mục lục hình
Hình 2-1 Tổng quan mạng MPLS 4
Hình 2-2 So sánh IP và MPLS 5
Hình 2-3 Kiến trúc mạng MP LS 6
Hình 2-4 Label Switched Path 7
Hình 2-5 FEC 8
Hình 2-6 Nhãn MPLS 8
Hình 2-7 DoD và DoU 9
Hình 2-8 Ngăn xếp nhãn 10
Hình 2-9 Hoạt động chuyển gói ở core router 11
Hình 2-10 Hoạt động chuyển gói khi đi qua đường hầm 12
Hình 2-11 Giao thức LDP 13
Hình 2-12 Định dạng tổng quát LDP PDU header 13
Hình 2-13 Định dạng thông điệp LDP tổng quát 14
Hình 2-14 Định dạng LDP TLV 14
Hình 2-15 Định dạng thông điệp LDP Hello 15
Hình 2-16 Các thông điệp Hello gửi giữa hai LSR kế cận trong một phiên LDP 16
Hình 2-17 Định dạng tổng quát thông điệp thiết lập phiên LDP 16
Hình 2-18: Định dạng thông điệp LDP Address 17
Hình 2-19 Định dạng thông điệp Label Request 18
Hình 2-20 Định dạng thông điệp Label Mapping 18
Hình 2-21 Định dạng thông điệp LDP Notification 19
Hình 2-22 Định dạng trường Status Code 19
Hình 2-23 Kiến trúc node MPLS trên NS-2 20
Hình 2-24 Cấu trúc các bảng trong MPLS 21
Hình 2-25 Cấu hình mạng mô phỏng 23
Hình 2-26 Mô phỏng MPLS tại t=0s 25
Hình 2-27 Mô phỏng MPLS tại t=0.08s 26
Hình 2-28 Mô phỏng MPLS tại t=1s 26
Hình 3-1 So sánh Multicast và Unicast 28
Hình 3-2 Mô hình Multicast 29
Hình 3-3 One-to-all unicast 30
Hình 3-4 Application-level multicast 31
Hình 3-5 Explicit multicast 31
Hình 3-6 Địa chỉ Multicast 32
Hình 3-7 Nhóm Multicast 32
Hình 3-8 Cây group-shared 33
Hình 3-9 Xây dựng một center-based tree 34
Hình 3-10 Cây source-based 35
Hình 3-11 Reverse path forwarding 36
Hình 3-12 Kiểm tra RPF trên RPT và SPT 40
Hình 3-13: Một ví dụ về PIM Join 42
Hình 3-14: Quá trình tham gia nhóm của receiver và thiết lập shared tree 43
Trang 10Hình 3-15: Ví dụ về các gói register 44
Hình 3-16: Ví dụ về gói Register-Stop 45
Hình 3-17: Một host gửi dữ liệu vào group 46
Hình 3-18: Ví dụ quá trình pruning 47
Hình 3-19: Quá trình chuyển đổi từ RP-Tree sang SP-Tree 48
Hình 4-1 Khái niệm Aggregated Multicast 58
Hình 4-2 Shared tree 60
Hình 4-3 Hai Source tree 60
Hình 4-4: Request driven trigger 61
Hình 4-5: Piggybacking thông điệp quảng bá nhãn trên thông điệp điều khiển 62
Hình 4-6: Quy tắc 1: Tạo LSP cho shared tree 63
Hình 4-7: Quy tắc 1: Hợp nhất LSP của (*, G) vào (S,G) 63
Hình 4-8: Quy tắc 2: Tạo LSP cho source tree 64
Hình 4-9: Nhãn được piggybacked trong gói Join/Prune 65
Hình 4-10 Các kiểu bảo vệ cho cây Multicast thông dụng 66
Hình 4-11 Tổng quan AMFM 68
Hình 4-12 BTRR 69
Hình 4-13 Các entry của MPLS MRT cho (S1,G1) khi R6 tham gia (S1,G1) 70
Hình 4-14 Các entry của MPLS MRT cho (S1,G1) khi R9 tham gia (S1,G1) 71
Hình 4-15 Cấu trúc bảng cho việc chuyển gói multicast trong MPLS 73
Hình 4-16 Mô hình ví dụ PIM-SM trong MPLS 75
Hình 4-17 Mô hình mô phỏng tái định tuyến 78
Trang 11Các từ viết tắt
AMFM Aggregated MPLS-based Fault-tolerant Multicast ADM Add/Drop Multiplexer
APS Automatic Protection Switching
ATM Asynchronous Tranfer Mode
BSR Bootstrap Router
CBT Core Based Tree
CoS Class of Service
CR-LDP Constraint-based Label Distribution Protocol
CR-LSP Constraint-based Routing - Label Switched Path
CSPF Constrained Shortest Path First
DoD Downstream on Demand
DoU Downtream Unsolicited
DVMRP Distance Vector Multicast Routing Protocol
DWDM Dense Wavelength Division Multiplex
ERB Explicit Routing Information Base
ER-LSP Explicit Route-Label Switched Path
FEC Forwarding Equivalence Class
GMPLS Generalized Multiprotocol Label Switching
IGMP Internet Group Management Protocol
iif incoming interface
IS-IS Intermediate System-Intermediate System
L2 Layer 2 (e.g ATM, Frame Relay)
L3 Layer 3 (e.g IP)
LAN Local Area Network
LC-ATM Label Switching Control-Asynchronous Transfer Mode LDP Label Distribution Protocol
LIB Label Information Base
LSG Label for Source and Group
LSP Label Switched Path
LSR Label Switching Router
Trang 12MPLS TE Multiprotocol Label Switching Traffic Engineering MRT Multicast Routing Table
NHLFE Next-hop Label Forwarding Entry
oif outgoing interface
OSPF Open Shortest Path First
P2MP Point-to-Multipoint
PDU Packet Data Unit
PFT Partial Forwarding Table
PHB Per-hop-behavior
PHP Penultimate Hop Poping
PIM-DM Protocol Independent Multicast – Dense Mode PIM-SM Protocol Independent Multicast – Sparse Mode PMBR PIM Multicast Border Router
QoS Quality of Service
RIB Routing Information Base
RIP Routing Information Protocol
RPF Reverse Path Forwarding
RPT Rendezvous Point Tree
RSVP Resource Reservation Protocol
SONET Synchronous Optical Networking
SPT Shortest Path Tree
TCP Transmission Control protocol
TLV Type-Length-Value Encoding
ToS Type of Service
UDP User Datagram Protocol
VPI/VCI Virtual Path Identifier/Virtual Channel Identifier VPN Virtual Private Network
Trang 13Chương 1: GIỚI THIỆU
1.1 Tổng quan
Ngày nay một số ứng dụng như www, dịch vụ video/audio-on-demand, hội nghị qua mạng … tiêu tốn rất nhiều băng thông Multicast là một kỹ thuật hữu ích nhằm hỗ trợ các ứng dụng đó Sử dụng Multicast, dữ liệu có thể từ một nguồn gửi đến nhiều điểm đến khác nhau bằng cách chia sẻ đường truyền Bên cạnh đó, MPLS (Multi-protocol label switching) đã xuất hiện như một giải pháp tốt nhằm quản lý băng thông (bandwidth) và các dịch vụ cần thiết cho các hệ thống mạng backbone dựa vào IP thế
hệ kế tiếp [10], [12]
IP Multicast và MPLS là hai công nghệ mang tính hỗ trợ cho các công nghệ mạng hiện tại Sử dụng IP Multicast, dữ liệu từ một nguồn có thể được truyền đến nhiều máy nhận một cách tối ưu, giúp tiết kiệm băng thông của đường truyền Trong khi đó, công nghệ MPLS (Multi-Protocol Label Switching) dựa vào chuyển mạch lớp
2 lại nhằm vào việc tăng tính quản lý cho hệ thống mạng thông qua việc mở rộng các dịch vụ mạng, chất lượng dịch vụ QoS, kỹ thuật lưu lượng Do đó việc kết hợp hai công nghệ này lại là một đòi hỏi hết sức cần thiết, giúp cải thiện đáng kể các nhược điểm mà hầu hết các mạng hiện tại đều phải đối mặt: tốc độ xử lý, khả năng mở rộng (scalability), hiệu quả thực thi (performance), chất lượng dịch vụ (QoS) và đặc biệt là khả năng dung lỗi (fault tolerant)
Dựa vào sự phân bố của các nhóm multicast (multicast group), các giao thức multicast khác nhau đã xuất hiện như DVMRP, MOSPF, PIM-SM, PIM-DM, CBT, MBGP [15], vì vậy việc hiện thực multicast trên nền MPLS cũng cần phải được khảo sát riêng rẻ với từng giao thức này Trong các giao thức đó, PIM-SM (Protocol Independent Multicast – Sparse Mode) xuất hiện như một giao thức rất phổ biến và được triển khai nhiều trên hệ thống mạng của Cisco, Juniper, PIM-SM là một giao thức phức tạp khi ban đầu khởi tạo cây chia sẻ (shared tree) và sau đó hỗ trợ khả năng chuyển đổi sang cây multicast dựa vào nguồn (source tree) nhằm tối ưu lưu lượng trên cây [8] Trong khuôn khổ của luận văn, ta sẽ giới hạn và tập trung vào việc nghiên cứu khả năng hoạt động của giao thức PIM-SM trên nền mạng MPLS Từ đó, cùng với thuộc tính tập hợp của Multicast, ta đưa ra được mô hình bảo vệ cho sự kết hợp của Multicast và MPLS
Trang 141.2 Mục đích - Đối tượng - Phạm vi nghiên cứu
Mục tiêu chính của luận văn là nghiên cứu hoạt động định tuyến và tái định tuyến
Multicast trên n ền MPLS Việc nghiên cứu này ở mức độ là tìm hiểu lý thuyết thông
qua tài liệu, sau đó đưa ra các mô hình kết hợp cũng như các mô hình dự phòng cho hệ thống và sau cùng là giả lập hệ thống mạng cụ thể với công cụ NS (Network Simulator)
Kết hợp IP Multicast và MPLS, có nghĩa là ta phải trả lời cho hai câu hỏi: Thứ
nh ất, làm thế nào để xây dựng được cây Multicast trên môi trường MPLS ? Thứ hai,
đó là mô hình nào có thể áp dụng được nhằm tái định tuyến lưu lượng trên cây Multicast có hỗ trợ MPLS khi đường truyền bị lỗi ? Để trả lời cho các câu hỏi thứ
nhất, luận văn đã đưa ra cách kết hợp hai công nghệ này theo giao thức PIM-SM (Protocol Independent Multicast – Sparse Mode) cùng với thuộc tính tập hợp của
Multicast (Aggregated Multicast) và bằng các biến đổi thích hợp Để trả lời cho câu
hỏi thứ hai, luận văn dựa vào chuyển mạch lớp 2 của MPLS thuộc tính tập hợp của
Multicast và cơ chế phân phối nhãn của MPLS để đưa ra mô hình AMFM nhằm hỗ trợ cho việc tái định tuyến
1.3 Bố cục của đề tài
Bố cục đề tài gồm 5 chương chính:
Chương 1 : Giới thiệu và đặc vấn đề
Chương 2 : Lý thuyết về MPLS và mô phỏng tổng quan các hoạt động chuyển
mạch trên MPLS
Chương3 : Lý thuyết về Multicast và mô phỏng tổng quan về giao thức
PIM-SM
Chương4 : Nêu cơ sở lý thuyết và mô phỏng việc kết hợp hai công nghệ
Multicast và MPLS: định tuyến và tái định tuyến
Chương5 : Kết luận và hướng phát triển cho đề tài
1.4 Ý nghĩa của đề tài
Truyền dữ liệu Multicast là một phương thức không thể thiếu trong mạng lõi IP hiện nay Multicast giúp cải thiện đáng kể việc tối ưu hóa băng thông của đường truyền bằng cách chỉ lựa chọn những node cần dữ liệu để truyền Và MPLS, là một công nghệ kết hợp giữa định tuyến lớp 3 (Layer 3 routing) và chuyển mạch lớp 2 (Layer 2 switching) cho phép chuyển tải gói dữ liệu rất nhanh bên trong mạng lõi (core) và định tuyến tốt ở các mạng biên (edge) bằng cách dựa vào nhãn Khi đó việc kết hợp hai công nghệ này lại sẽ mang lại những lợi ích hết sức to lớn cho sự phát
Trang 15triển mạng thế hệ sau Đặc biệt trong thời điểm hiện nay Việt Nam đã gia nhập WTO
và cùng với những chính sách đổi mới của nhà nước ta sẽ có hàng loạt các công ty lớn đầu tư vào, khi đó nhu cầu thông tin liên lạc giữa các công ty mẹ - con cũng như giữa các chi nhánh sẽ tăng lên đáng kể Để đáp ứng được các nhu cầu đó có thể triển khai các giá trị gia tăng như việc truyền dữ liệu ftp, voice….và Multicast được xây dựng trên nền MPLS có thể đáp ứng được các cầu này
Trang 16Chương 2: MPLS
2.1 Giới thiệu
Sự ra đời của MPLS là kết quả của việc kết hợp các ưu điểm của các kiến trúc mạng hiện hành cùng với các yêu cầu hiện tại: đó là kỹ thuật chuyển tiếp của mạng IP, cung cấp chất lượng dịch vụ như mạng ATM trong khi vẫn duy trì được tính mềm dẻo
và khả năng mở rộng của Internet [10], [12], [13], [19]
MPLS là sự kết hợp giữa lớp 2 và lớp 3: kết hợp việc chuyển mạch nhãn (label) với các giao thức định tuyến IP Ý tưởng chính của việc chuyển mạch nhãn là tối ưu hóa quá trình định danh FEC: thay vì phải lặp lại quá trình xử lý các thông tin header
IP giống nhau tại mỗi nút, nó chỉ được thực hiện chỉ một lần tại nút vào (ingress node), tại đây router sẽ mã hoá thông tin FEC vào một nhãn có chiều dài cố định, nhãn này được gắn vào packet IP, các nút sau đó chỉ dựa vào nhãn này để chuyển tiếp packet mà không cần phân tích chi tiết các thông tin trong header IP nữa Các LSR nhận được các packet sẽ không phân tích các thông tin header ở lớp 3 thay vào đó chúng sẽ đọc các nhãn và sử dụng các nhãn này để truy xuất đến các bảng cơ sở dữ liệu để xác định hop
kế tiếp và nhãn mới cần gắn vào packet
Hình 2-1 Tổng quan mạng MPLS
Mô hình so sánh việc chuyển tiếp trong mạng IP và MPLS được thể hiện ở Hình 2-2
Trang 17Hình 2-2 So sánh IP và MPLS
Nhờ vậy MPLS có những ưu điểm nổi bật sau:
Việc chuyển tiếp các packet đều dựa trên các nhãn, điều này có thể thực hiện được bằng các switch nên tốc độ xử lý tại các nút tăng lên, thời gian trễ tại các nút giảm đi đáng kể
Trong việc xác định sự kết hợp một packet với một FEC khi packet đó vào mạng, router ngõ vào có thể sử dụng các thông tin mà nó có về packet, thậm chí những thông tin này không được thu thập từ header lớp mạng Thí dụ, các packet đến từ các port khác nhau có thể được gán với các FEC khác nhau Trong chuyển tiếp truyền thống chỉ có thể sử dụng các thông tin mà chúng đi kèm với packet trong phần header
MPLS được thiết kế để hoạt động trên bất kỳ công nghệ lớp 2 nào: ATM, Frame Relay, FE, GE, … bằng cách chuyển đổi các nhãn của MPLS sang các kiến trúc header lớp 2 của các công nghệ ấy Hơn nữa việc MPLS tích hợp các ưu điểm của ATM và IP tốt hơn là sử dụng mô hình mạng IP trên nền ATM vì nó không phải xử lý ánh xạ giữa các đặc trưng của ATM và
IP
Mô hình IP trên nền ATM không hỗ trợ được hoàn toàn các dịch vụ IP tiên tiến như IP multicast hay RSVP Việc hỗ trợ các dịch vụ này đòi hỏi nhiều thời gian và công sức trong việc thực hiện
MPLS kết hợp kỹ thuật lưu lượng (TE) và chất lượng dịch vụ (QoS): LSP cho phép kỹ thuật lưu lượng bởi vì người quản trị mạng có thể điều khiển lưu lượng thông qua các đường đi được định trước trong mạng Kỹ thuật lưu lượng của MPLS phù hợp với việc thực hiện IP QoS bằng cách gắn thêm các DSCP để xác định độ ưu tiên của lớp dịch vụ (CoS) Các giải thuật xử lý hàng đợi bên trong các platform sẽ xử lý các packet theo độ ưu tiên của nó
MPLS hỗ trợ kỹ thuật mạng riêng ảo (VPN) bằng cách gắn thêm các địa
Trang 18chỉ 64 bit VPN tại mỗi router ngõ vào và tách các địa chỉ này tại các router ngõ ra Sự kết hợp giữa MPLS và Multiprotocol-BGP làm cho các dịch vụ VPN trên cơ sở MPLS trở nên dễ dàng quản lý hơn, đồng thời nó cũng làm cho các dịch vụ này có khả năng mở rộng hơn, với một mạng vật lý có thể hỗ trợ hàng ngàn VPN
Cuối cùng, ưu điểm lớn nhất của MPLS đối với các ISP là cho phép họ có thể nhúng vào mạng IP kỹ thuật lưu lượng và khả năng QoS truyền thống kết hợp với các mạng lớp 2 như ATM, Frame Relay, … MPLS cho phép các ISP giám sát một cách chính xác khi nào thì mạng lõi của họ thực hiện dịch vụ Với MPLS, ISP có thể tối đa hóa tài nguyên mạng bởi vì các mạng MPLS cho phép SP thiết lập các thông số tối ưu dựa trên chi phí dịch vụ yêu cầu
Trang 192.2.1 Các thành phần trong MPLS
2.2.1.1 Router chuyển mạch nhãn LSR
Các thiết bị này làm nhiệm vụ chuyển tiếp các packet hay cell dựa trên các nhãn Các switch này có thể cũng hỗ trợ cho các giao thức định tuyến lớp 3 hoàn toàn hoặc chỉ là các switch lớp hay có thêm chức năng chuyển mạch nhãn Cơ chế chuyển mạch nhãn được thực hiện ở lớp 2
2.2.1.2 Router biên chuyển mạch nhãn - LER
Các router biên chuyển mạch nhãn được đặt ở các biên của mạng, có khả năng chuyển tiếp các frame MPLS vào/ra một miền MPLS Nó thực hiện các dịch vụ trong lớp mạng đồng thời thiết lập các nhãn gắn thêm vào cho các packet Các thiết bị này
có thể là các router hay các switch LAN đa lớp (multilayer LAN switch) làm nhiệm vụ chuyển đổi các packet IP sang MPLS FEC đồng thời ghép các luồng dữ liệu đến với nhau Các router này còn có nhiệm vụ trao đổi các thông tin về quá trình gắn nhãn cho các packet Việc gắn và tách nhãn cho các packet khi đi vào và ra một mạng MPLS cũng được thực hiện tại các router này Cần phải phân biệt LSR ngõ vào ở đầu vào và LSR ngõ ra ở đầu ra của một miền MPLS
2.2.1.3 Đường chuyển mạch nhãn – LSP
LSP là một đường chuyển mạch từ LSR ngõ vào đến Engress LSR được xây dựng bởi các nút MPLS để có thể chuyển tiếp các packet đã được gắn nhãn tương ứng với một FEC sử dụng cơ chế chuyển mạch nhãn Khái niệm này tương tự như PVC trong mạng ATM
Hình 2-4 Label Switched Path
2.2.1.4 Các lớp chuyển tiếp tương đương – FEC
FEC là một tập hợp các packet được các LSR xử lý như nhau, chúng được chuyển tiếp ra cùng một giao diện với cùng một nhãn và hop kế tiếp, và cùng được gán cho một lớp dịch vụ (CoS) như nhau Việc ánh xạ các FEC cho các packet có thể dựa vào nhiều yếu tố: địa chỉ IP nguồn/đích, định danh router (router ID) và port
Trang 20TCP/UDP, … Một nhóm các packet được chuyển tiếp trên cùng một đường đi và được
xử lý như nhau thì có thể được các LSR ánh xạ với cùng một nhãn như hình 2-5
Switched Packet
Hình 2-5 FEC 2.2.1.5 Nhãn – Label
Nhãn là một định danh (ID) ngắn, chiều dài cố định, có ý nghĩa cục bộ được sử dụng để xác định một FEC Một packet có thể được gán vào một FEC dựa trên địa chỉ đích lớp 3 của nó Tuy nhiên nhãn không mã hóa từ bất kỳ thông tin nào của header lớp 3 Nhãn được ánh xạ vào một header gọi là shim header MPLS Cấu trúc của shim header gồm 32 bit như hình 2-6
L3 = Layer 3 header L3 = Layer 2 header
S = Botton of stack, 1 bit TTL = Time To Live, 8 bits
Hình 2-6 Nhãn MPLS
Trang 212.2.2 Quản lí và điều khiển phân phối nhãn
2.2.2.1 Chế độ quảng bá nhãn
MPLS cho phép LSR trả lời những đòi hỏi tường minh của LSR khác về việc
đóng nhãn cho FEC Ta gọi đó là cách quảng bá nhãn Downstream on Demand (DoD) Trong DoD, LSR xác định xem liệu nó cần một nhãn cho prefix hay không Sau khi quyết định xong, LSR đề nghị việc gắn nhãn từ downstream lân cận của nó Ngoài ra, MPLS còn có cách quảng bá khác là Downstream Unsolicited (DoU) Với DoU, LSR phân phối đóng nhãn cho LSR khác mà không cần nó yêu cầu một cách tường minh LSR phía dưới đóng nhãn cho tất cả prefix đến tất cả LSR “hàng xóm” phía trên của
nó bất kể chúng có đề nghị hay không Hình 2-7 mô tả hai chế độ quảng bá nhãn DoD
và DoU
Hình 2-7 DoD và DoU 2.2.2.2 Không gian nhãn (Label Space)
LSR có thể tạo nhãn theo hai không gian (space): global space (còn được gọi là per-platform space) hoặc interface space (còn được gọi là per-interface space)
Global label space là cách một router tạo nhãn mà nhãn này là duy nhất cho một FEC nhưng không dành riêng cho interface nào hết Khi đó, mỗi interface khác nhau của LSR sẽ sử dụng không gian nhãn khác nhau LSR phân biệt các gói chỉ dựa vào incoming label mà không cần xem xét incoming interface
Đối với interface space, một LSR có thể chọn tạo nhãn duy nhất đối với interface hay port dùng để gửi thông tin gắn nhãn đến upstream node, đó gọi là interface label space Khi hoạt động với nhãn per-interface, LSR phải phân biệt gói đi vào interface này với gói đi vào interface khác
2.2.2.3 Ngăn xếp nhãn (Label Stacking)
Ngăn xếp nhãn là tập hợp có thứ tự các nhãn nối vào một gói tin cho phép nó mang các thông tin một cách rõ ràng về nhiều hơn một FEC mà gói tin đó có thể có hoặc tương ứng với nhiều LSP mà gói tin có thể truyền trên đó Ngăn xếp nhãn đại diện cho môt chuỗi các nhãn xuất hiện sau header lớp 2 nhưng lại trước bất ký header lớp 3 trong gói tin đó Các nhãn có thể được lấy ra, hoặc gắn vào ngăn xếp đó bằng các hoạt động push hoặc pop thông thường
Trang 22Cơ chế ngăn xếp này cho phép thiết lập các đường ống hay tạo ra các miền MPLS trong đó các thông số về các lớp, các dịch vụ có thể được ánh xạ bởi một nhãn Khi đó, kiến trúc này cho phép xử lý từng miền MPLS riêng lẻ bởi các nhãn tương ứng miền đó
Hình 2-8 Ngăn xếp nhãn
Khi bit S trong nhãn của ngăn xếp bằng 0 có nghĩa là chỉ có một nhãn sử dụng hoặc đã xử lý đến đáy của ngăn xếp Ngược lại khi bit S thiết lập bằng 1 thì ngăn xếp đang được sử dụng và chỉ có nhãn ở trên đỉnh ngăn xếp mới được xử lý
2.2.2.4 Hợp nhất nhãn (Label Merging)
Giả sử rằng LSR đóng nhãn cho nhiều incoming label cho một FEC riêng biệt
Khi chuyển các gói cho FEC đó, ta muốn rằng chỉ có một outgoing label được áp dụng cho tất cả các gói đó Việc hai gói khác nhau trong cùng một FEC được chuyển đến
với những incoming label khác nhau thì không liên quan với nhau, ta muốn chuyển chúng ra với cùng một outgoing label Khả năng thực hiện điều đó trong MPLS được gọi là hợp nhất nhãn (label merging)
Ta nói rằng LSR có khả năng hợp nhất nhãn nếu nó có thể nhận hai gói từ những incoming interface khác nhau, và/hoặc với những nhãn khác nhau và gửi cả hai gói ra cùng outgoing interface với cùng outgoing label Một khi các gói được truyền đi, thông tin về việc chúng đến từ các interface khác nhau và/hoặc với những incoming label sẽ bị mất
Ta nói rằng LSR không có khả năng hợp nhất nhãn nếu, ứng với hai gói bất kỳ đến với những interface khác nhau, hoặc với những nhãn khác nhau, các gói phải được chuyển ra những interface khác nhau, hoặc phải có các nhãn khác nhau
Trang 23Công nghệ ATM và Frame Relay dựa vào chuyển mạch nhãn (VPI/VCI hoặc DLCI) không hỗ trợ khả năng hợp nhất nhãn Trong ATM, nếu ta cố thực hiện hợp nhất nhãn, hậu quả có thể là việc chèn lẫn lộn (interleaving) các cell của các gói khác nhau Khi đó, ta không thể ráp (reassemble) các gói lại được Có hai hướng tiếp cận để giải quyết vấn đề này Hoặc là MPLS có các thủ tục nhằm cho phép sử dụng các LSR không-hợp-nhất (non-merging LSR) Hoặc MPLS hỗ trợ các thủ tục nhằm cho phép vài ATM switch hoạt động như merging LSR
Ở chương sau của luận văn, PIM-SM trong MPLS, ta sẽ thấy rằng khả năng hợp nhất nhãn là một hỗ trợ quan trọng nhằm thực hiện Multicast trong MPLS
2.2.2.5 Chuyển gói cơ bản trong mạng MPLS
Chuyển gói trong MPLS bao gồm nhiều công đoạn Đầu tiên các ingress LSR của mạng phân loại gói Sau khi phân loại xong, nó gắn nhãn vào gói ứng với FEC của gói Quá trình này gọi là “label imposition” hay “label pushing”
Các LSR ở lõi của mạng không thực hiện chức năng phân loại gói nữa Khi nhận một gói, nó tìm kiếm nhãn đầu vào (incoming label) và có thể phân biệt thêm ngõ vào (incoming interface) của gói trong LFIB (Label Forwarding Information Base), tìm kiếm ngõ ra (outgoing interface) và nhãn tương ừng cho gói đang xử lí và cuối cùng thực hiện việc đảo (swapping) nhãn Đảo nhãn là việc thay đổi nhãn đầu vào bằng nhãn đầu ra rồi gửi gói ra một giao diện tương ứng
Hoạt động của core hay transit LSR được mô tả trong Hình 2-5 Gói dữ liệu có nhãn là 25 đến core router Tại đây, router thực hiện việc tìm kiếm nhãn 25 ở ngõ vào
số 1 và cho kết quả tương ứng là nhãn 19 ở ngõ vào ra số 4 Sau khi giai đoạn tìm kiếm hoàn tất, hoạt động đảo nhãn thay đổi nhãn 25 thành nhãn 19 và chuyển đi trên giao diện số 4
Hình 2-9 Hoạt động chuyển gói ở core router
Khi gói di chuyển đến cuối mạng, các egress router lấy đi nhãn ngoài cùng, phần còn lại được chuyển đến bước nhảy kế tiếp Hoạt động này gọi là poping label
2.2.2.6 Tunnel và kiến trúc phân cấp của MPLS
Đôi khi một router Ru muốn gửi một gói đến Rd thậm chí Rd không phải là bước nhảy kế tiếp của Ru và Rd cũng không phải là địa chỉ cuối của gói Điều này có thể
Trang 24thực hiện bằng cách đóng gói (encapsulating) gói dữ liệu vào bên trong gói lớp network có địa chỉ đích là Rd chẳng hạn Hành động như trong ví dụ gọi là tạo “đường hầm” (tunnel) nối giữa Ru và Rd và gói di chuyển trên đường hầm đó gọi là “tunneled packet” [12]
Trong MPLS ta thực hiện tunnel như một LSP, tức sử dụng chuyển mạch nhãn
để chuyển gói đi trong một tunnel Điều này có nghĩa là tunnel sẽ là một LSP <R1, R2,…, Rn> với R1 là điểm phát gói và Rn là điểm nhận gói Ta gọi đó là “LSP tunnel” Một tập các gói được gởi qua tunnel cấu thành một FEC và mỗi LSR trong tunnel phải gán nhãn cho FEC đó Tiêu chuẩn gán gói cho một LSP tunnel là công việc của điểm phát của tunnel (còn gọi là headend)
Kiến trúc phân cấp trong MPLS cho phép một LSP có thể chứa trong nó một hay nhiều LSP khác Giả sử ta có LSP <R1, R2, R3, R4>, nhưng R2 và R3 không trực tiếp nối với nhau mà thông qua các router R22, R23 Vì vậy, dãy LSR mà gói thực sự đi qua là LSP <R1, R2, R22, R23, R3, R4> như trong Hình 2-10
Gói P đi từ R1→R2, nó nhận một stack nhãn có độ sâu là 1 với phần tử nhãn có giá trị 25 R2 chuyển mạch gói dựa trên nhãn đó và quyết định rằng gói P phải đi vào tunnel Đầu tiên R2 có thể thay thế hoặc không thay thế nhãn ngõ vào bằng một nhãn khác thật sự có ý nghĩa với R3 (như trong Hình 2-10, R3 không thay thế mà vẫn giữ nhãn 25) Kế đó nó sẽ đẩy vào stack thêm 1 nhãn mới có giá trị 42 Nhãn cấp hai này
có ý nghĩa với R22 Chuyển mạch dựa trên nhãn cấp hai thực hiện bởi R22, R23 R23
là một penultimate hop trong đường hầm R2→R3 nên nó sẽ tách nhãn trong stack trước khi chuyển gói đến R3 Khi R3 nhận gói P, gói chỉ còn nhãn cấp 1, R3 sẽ đảo nhãn (swap) thành 56 và chuyển gói đến R4
Hình 2-10 Hoạt động chuyển gói khi đi qua đường hầm
Trang 252.3 Giao thức phân phối nhãn (LDP-Label Distribution
Protocol)
LDP là một giao thức mới thiết kế dành riêng cho MPLS dùng để phân phối
nhãn Nó gồm một tập thủ tục và thông điệp được LSR dùng thiết lập các LSP trong mạng bằng cách ánh xạ thông tin tìm đường trong lớp network vào các con đường được chuyển mạch ớ lớp Data-link [14]
Trước khi trao đổi thông tin giữa hai LSR đồng cấp, chúng phải thiết lập một phiên LDP LDP sử dụng TCP để vận chuyển tin cậy trong phiên
VERSION PDU LENGTH LDP Identifier
Hình 2-12 Định dạng tổng quát LDP PDU header
LDP PDU header bao gồm các trường sau:
Trang 26Version: phiên bản hiện tại của LDP được gán giá trị 1
PDU Length: chiều dài của PDU, chiều dài dữ liệu nằm sau PDU header
LDP ID là một chuỗi 6 octet dùng để nhận dạng không gian nhãn 4 octet đầu tiên là LSR-ID Giá trị 2 octet kế tiếp là không gian nhãn
Một hay nhiều thông điệp LDP sẽ theo sau LDP PDU header với định dạng tổng quát như trong Hình 2-13:
OPTIONAL PARAMS
MANDATORY PARAMS
MESSAGE ID
0 MESSAGE TYPE MESSAGE LENGTH
Hình 2-13 Định dạng thông điệp LDP tổng quát
Unknown U bit là 1 nếu loại thông điệp là Unknown Đó là trường hợp không xảy ra trong LDP nên giá trị này luôn là 0
Message Length là chiều dài các trường còn lại sau trường Message Length (Message ID + Mandatory Params + Optional Params)
Message ID đôi khi sử dụng trong liên kết giữa các thông điệp với nhau
Mandatory Parameter và Optional parameter phụ thuộc vào loại thông điệp được gửi Mandatory và Optional parameter thường được mã hoá dưới dạng bộ ba Type-Length-Value (TLV)
LDP sử dụng sơ đồ Type-Length-Value (TLV) để mã hóa nhiều thông tin chứa trong các thông điệp LDP Định dạng tổng quát được mô tả trong Hình 2-14
VALUE
MESSAGE LENGTH
Hình 2-14 Định dạng LDP TLV 2.3.1 Phát hiện lân cận (neighbor discovery)
Giống hầu hết các giao thức khác, LDP có khái niệm “neighbor”, tạm dịch là hàng xóm Hàng xóm của một LSR là các LSR kế cận của nó LDP sử dụng UDP/TCP port 646 để phát hiện hàng xóm của mình
LDP định nghĩa hai loại “neighbor” :
Trang 27“Neighbor” kết nối trực tiếp (Directly connected neighbor) là những LSR
có kết nối lớp hai
“Neighbor” kết nối không trực tiếp (Non-directly connected neighbor) là những LSR không có kết nối ở lớp hai LDP xem những router được kết nối bằng đường hầm MPLS TE là những “neighbor” không kết nối trực tiếp Một phiên được tạo giữa hai “neighbor” loại này được gọi directed session hay targeted session
Hai cách kết nối trên khác nhau trong cách chúng tìm thấy nhau LSR tìm thấy hàng xóm kết nối trực tiếp bằng cách gửi các thông điệp Hello đóng gói trong UDP theo địa chỉ multicast 224.0.0.2 Trong khi đó những hàng xóm không kết nối trực tiếp lại gửi thông điệp Hello với địa chỉ unicast (cũng đóng gói trong UDP và gửi bằng port 646)
Một phiên LDP giữa hai LSR có một hay nhiều Hello kế cận (Hello Adjacency) tương ứng với số kết nối chia sẻ cùng một không gian nhãn (label space) giữa hai LSR
đó Các Hello trên mỗi liên kết phải có cùng một LSP-ID (LSP Identifier)
Optional params Common hello params TLV MESSAGE ID
0 HELLO (0x0100) MESSAGE LENGTH
Hình 2-15 Định dạng thông điệp LDP Hello
Hai LSR thường xuyên gửi thông điệp Hello để xác định không gian nhãn được
sử dụng giữa chúng Mỗi LSR sẽ duy trì thời gian chờ (hold timer) ứng với mỗi Hello
kế cận và khởi động lại timer này nếu nhận một thông điệp Hello thích hợp khác Nếu thời gian chờ đã kết thúc mà nó vẫn chưa nhận được một thông điệp Hello thích hợp khác, nó tự hiểu rằng “người hàng xóm” của nó hiện không muốn sử dụng không gian nhãn này cho kết nối nữa (đúng cả cho trường hợp targeted Hello!), hoặc là anh ta không còn hoạt động nữa Lúc này LSR sẽ xóa bỏ Hello kế cận Khi Hello kế cận cuối cùng bị xoá thì cũng là lúc phiên LDP kết thúc nhiệm vụ của nó LSR kết thúc phiên LDP bằng cách gửi thông điệp Notification để đóng kết nối TCP
Trang 28Hình 2-16 Các thông điệp Hello gửi giữa hai LSR kế cận trong một phiên LDP 2.3.2 Thiết lập và duy trì session
Sau khi xác định các LDP đồng cấp (LDP peer), một phiên LDP có thể bắt đầu được thiết lập thông qua 2 bước:
Xác định LSR có vai trò chủ động (active role) và LSR còn lại sẽ có vai trò bị động trong quá trình thiết lập
Khởi tạo những thông số session
Vai trò chủ động hay bị động được xác định bằng cách so sánh LSR-ID của các LSR LSR nào có vai trò chủ động sẽ khởi tạo phiên TCP
Sau khi phiên TCP thiết lập, các LSR trao đổi các thông số bằng thông điệp khởi tạo LDP (LDP Initialization Message) Các thông số này bao gồm phiên bản, phương pháp phân phối nhãn (UnSolicited Downstream hay DoD), giá trị timer, miền giá trị VPI/VCI trong điều khiển gán nhãn ATM (label-controlled ATM), …
Optional params Common hello params TLV MESSAGE ID
0 Initilization (0x0200) Message Length
Hình 2-17 Định dạng tổng quát thông điệp thiết lập phiên LDP
Để duy trì phiên TCP, LSR gửi đều đặn các LDP PDU trên phiên TCP đã kết nối Mỗi LSR duy trì một KeepAlive timer cho mỗi phiên và thời gian này sẽ được khởi động lại bất kì khi nào nó nhận được một TCP PDU từ LSR cùng thiết lập phiên với
nó Nếu định thời KeepAlive kết thúc mà nó không nhận được một TCP PDU nào từ máy cùng thiết lập phiên thì LSR kết luận rằng kết nối TCP này đã bị hỏng và kết thúc phiên TCP bằng cách đóng kết nối Nhưng nếu cả hai LSR vẫn muốn giữ phiên TCP
nhưng hiện tại thì vẫn chưa có thông tin nào cần trao đổi thì nó sẽ gửi thông điệp
Trang 29KeepAlive Ngoài ra, một trong hai LSR có thể tự ý kết thúc phiên bất kì khi nào nó
muốn bằng cách gửi thông điệp Shutdown
2.3.3 Quảng bá nhãn
Ngay sau khi các LSR thiết lập mối quan hệ với người hàng xóm, chúng bắt đầu
“quảng bá” nhãn cho nhau Có bảy thông điệp khác nhau dùng cho mục đích này: Address, Address Withdraw, Label Request, Label Mapping, Label Withdraw, Label Release và Label Abort Request
LSR gửi thông điệp Address cho một LSR “hàng xóm” giới thiệu địa chỉ các
giao diện (interface) của nó Đây là thông điệp bắt buộc gửi đầu tiên trước khi những thông điệp “quảng bá” khác được gửi
Khi LSR nhận được một thông điệp Address Nó sẽ cập nhật bảng địa chỉ học được từ thông điệp này cho mục đích ánh xạ qua lại giữa LSR-ID và địa chỉ của buớc nhảy kế tiếp (next-hop address)
Optional params Address list TLV MESSAGE ID
0 Address (0x0300) Message Length
Hình 2-18: Định dạng thông điệp LDP Address
Khi LSR kích hoạt một giao diện mới, nó gửi địa chỉ này cho LSR kế cận thông qua thông điệp Address Và ngược lại khi có một giao diện ngừng hoạt động vì một lí
do nào đó, nó gửi thông điệp Address Withdraw để rút lại địa chỉ trước đó đã “quảng
bá”
Thông điệp Label Request được upstream LSR gửi cho downstream LSR đòi
hỏi việc gán nhãn cho một FEC trong những tình huống sau đây:
LSR nhận ra một FEC mới thông qua bảng forwarding (forwarding table)
và LSR này chưa được thông báo một nhãn nào cho FEC đó
Bước nhảy kế tiếp của FEC thay đổi và LSR chưa cập nhật điều này
LSR nhận được một thông điệp Label Request từ một upstream LSR nhưng nó chưa tìm thấy nhãn cần thiết và vì thế nó gửi một thông điệp Label Request cho downstream LSR
Khi LSR nhận được một thông điệp Label Request từ các LSR lân cận, nó sẽ đáp lại bằng một trong hai thông điệp Label Mapping hoặc Notification
Trang 30Optional params FEC TLV MESSAGE ID
0 Label Request (0x0401) Message Length
Hình 2-19 Định dạng thông điệp Label Request Thông điệp Label Mapping được downstream LSR dùng để phân phối việc ánh
xạ nhãn cho FEC đến một upstream LSR đồng cấp khác Downstream LSR chịu trách nhiệm về tính thống nhất của việc ánh xạ nhãn mà nó đã phân phối Thông điệp này dùng trong chế độ DoD và DoU
LSR sử dụng nhãn có trong thông điệp Label Mapping từ downstream LSR chỉ nếu phần tử FEC Prefix hoặc FEC Host address trùng khớp với các phần tử FEC trong bảng tìm đường của nó
Optional params Label TLV FEC TLV MESSAGE ID
0 Label Mapping (0x0400) Message Length
Hình 2-20 Định dạng thông điệp Label Mapping
Label TLV mã hoá nhãn Label TLV đi cùng các thông điệp sử dụng để quảng bá nhãn: Label Request, Label Release, Label Withdraw Có một vài loại Label TLV khác nhau như Generic Label TLV, ATM Label TLV, Frame Relay Label TLV
Optional Parameter trong thông điệp Label Request và Label Mapping giống nhau Chúng gồm: Label Request Message ID TLV (một ví dụ trên đã minh hoạ chức năng của nó), Hop Count TLV và Path Vector TLV Hop Count TLV và Path Vector TLV là hai thông số tránh lặp vòng, hầu như chỉ sử dụng trong LC-ATM
Tuy nhiên, một LSR có thể gửi thông điệp Label Withdraw để rút lại việc đóng
nhãn đã gửi trước đó Nếu một LSR nhận được thông điệp Label Withdraw nó sẽ
ngưng sử dụng việc đóng nhãn đồng thời gửi thông điệp Label Release để trả lời
Trang 31Thông điệp Label Abort Request được LSR dùng để hủy bỏ bất kì đề nghị nào
đã thực hiện trước đó bởi nó
0 Notification (0x0001) Message Length
Hình 2-21 Định dạng thông điệp LDP Notification
E F Status Code
Hình 2-22 Định dạng trường Status Code
Bit E được gán giá trị 1 xác định lỗi nghiêm trọng xuất hiện Nếu giá trị là 0, chỉ
là cảnh báo thông thường Trường Status Data mang Status Code xác định lỗi gì đang xảy ra
2.4 Mô phỏng MPLS
2.4.1 MPLS trên NS
NS là công cụ mô phỏng dựa trên IP [6], [7], [11] Trong NS, một nút mạng IP thuần túy có hai đối tượng chức năng: classifier và agent Agent là đối tượng nhận hoặc gửi còn classifier chịu trách nhiệm phân loại gói đầu vào đồng thời chuyển nó đến những nút lân cận hoặc đến đối tượng agent nếu địa chỉ gói chính là địa chỉ nút
Để xây dựng một nút MPLS, ta phải mô phỏng lại hai đối tượng trên Một là đối tượng
“MLPS classifier” dùng để phân loại gói dữ liệu đến, xác định xem chúng có nhãn hay không Hai là đối tượng LDP agent LDP agent sẽ phân phối nhãn và xây dựng LSP Hình 2-23 mô tả kiến trúc một nút MPLS cơ bản
Trang 32Hình 2-23 Kiến trúc node MPLS trên NS-2
Khi một gói dữ liệu đến nút, đối tượng MPLS classifier xác định xem gói nhận được có nhãn hay không Nếu có nhãn, MPLS Classifier sẽ thực hiện L2 Switching (chuyển mạch nhãn) Nó thay thế nhãn hiện tại trong MPLS header của gói bằng nhãn mới (outgoing label) tương ứng với FEC của gói và chuyển chúng sang nút kế tiếp Nếu gói không gắn nhãn nhưng một LSP đã sẵn sàng cho đích đến của gói thì tại đó gói sẽ được gắn nhãn và chuyển đến nút kế tiếp
Trong trường hợp gói nhận được không có nhãn và không có LSP nào cả, nút MPLS chuyển gói đến đối tượng phân loại địa chỉ (Address Classifier) và thực hiện chuyển mạch L3 thông thường bằng cách kiểm tra địa chỉ đích
Gói được nhận tại đối tượng port classifier nếu địa chỉ gói chính là địa chỉ nút Port classifier đưa gói đến agent thích hợp LDP agent sẽ được sử dụng để phân phối nhãn dựa trên giao thức LDP
Một nút MPLS có 3 bảng quản lý thông tin liên quan đến LSP và phân phối nhãn:
Bảng LIB (Label Information Base Table) thực hiện đối chiếu (Incomming Label, Incomming Interface) và (Outgoing Label, Outgoing Interface) Bảng LIB được dùng khi chuyển mạch L2 xảy ra Bảng này gồm 5 trường: Incomming Label, Incomming Interface, Outgoing Label, Outgoing Interface, LIBptr (được dùng trong bảng PFT và ERB)
Bảng PFT (Partial Forwarding Table) được sử dụng khi nút nhận được một gói không gắn nhãn Nút MPLS tìm kiếm trong bảng này giá trị FEC ứng với địa chỉ đích của gói Giá trị này được tham chiếu bởi bảng LIB để
Trang 33gắn nhãn nếu có thể Bảng này bao gồm 3 trường: FEC, PHB behavior), LIBptr (trỏ đến bảng LIB)
(per-hop- Bảng ERB (Explicit Routing Information Base table) lưu trữ thông tin ER-LSP (Explicit route - LSP) vì thế không tham gia vào việc chuyển gói Bảng này gồm 3 trường: FEC, LSPID, LIBptr (trỏ đến bảng LIB)
Hình 2-24 mô tả mối quan hệ giữa các bảng trong một nút MPLS và chức năng của mỗi bảng khi xử lí gói dữ liệu đầu vào
Hình 2-24 Cấu trúc các bảng trong MPLS
Quá trình tìm kiếm trong bảng PFT/LIB thực hiện khi nút MPLS nhận một gói
dữ liệu có hoặc không có gắn nhãn Trong trường hợp gói không có nhãn, nút MPLS tìm trong bảng PFT một entry tương ứng với FEC của gói (đó là địa chỉ đích của gói) Nếu con trỏ của PFT entry vừa tìm thấy xác định NULL thì nút MPLS chuyển gói dựa vào chuyển mạch lớp ba Nếu không, nút MPLS thực hiện gắn nhãn cho gói Nhãn gắn vào gói là entry outgoing label trong bảng LIB được trỏ đến bởi entry LIBptr trong bảng PFT Trong trường hợp gói cần stack nhãn, hoạt động gắn nhãn được lặp lại cho đến khi entry LIBptr trong bảng LIB có giá trị NULL Sau khi hoạt động gắn nhãn hoàn thành, gói được chuyển trực tiếp đến nút kế tiếp theo entry outgoing-interface của bảng LIB
Trong trường hợp gói đã có nhãn, nút MPLS dễ dàng xác định entry LIB cho gói bằng cách so nhãn Nếu trùng khớp, quá trình swap nhãn được thực hiện Nếu outgoing-interface là null label (trường hợp penultimate hop poping) thì nút MPLS thực hiện việc gỡ nhãn ra Kế đó, nút MPLS thực hiện xử lí label stack nếu con trỏ
Trang 34LIBptr không rỗng Cuối cùng gói được chuyển trực tiếp đến nút kế tiếp theo entry outgoing-interface trong bảng LIB
Bảng ERB được sử dụng để giữ những thông tin ER-LSP do đó nó không tham gia vào hoạt động chuyển gói
Explicit Routing Labeling
Chế độ control-driven dựa trên việc phân phối thông điệp LDP giữa tất cả LDP agent thậm chí khi không có dữ liệu cần truyền Các LSP được xây dựng cho mỗi FEC Điều này được thực hiện bằng cách gửi các thông điệp gắn nhãn từ mỗi LDP agent cho tất cả những agent khác lân cận của nó Thông điệp này chứa nhãn tương ứng với FEC dùng để truyền dữ liệu sau đó Cuối cùng, tất cả bảng LIB của tất cả nút MPLS đã được lắp đầy và những LSP khác nhau sẽ được gắn cho tất cả FEC thậm chí nếu không có dữ liệu truyền trên mạng
Chế độ data-driven phân phối thông điệp LDP và xây dựng LSP chỉ cho những FEC là đích đến của những agent nguồn (source agent) muốn truyền dữ liệu Vì thế, khi một node muốn truyền dữ liệu, nó gửi thông điệp Request cho FEC đích đến Khi FEC nhận thông điệp này, nó gửi thông điệp Mapping ngược về phía nguồn Mỗi router trên đường đi nhận thông điệp Mapping, nó xử lí thông điệp này, tạo ra một thông điệp khác và truyền nó đến bước nhảy kế hướng về nguồn Theo cách này LSP được xây dựng từ nguồn đến đích
Trong Explicit Routing Labeling, LSP được xây dựng theo cách đơn giản Người
sử dụng cần chèn một dãy các nút tạo nên một con đường tường minh để dữ liệu truyền trên đó Theo cách này, thông điệp Mapping để phân phối dọc theo con đường LSP tường minh đó
Trang 35Node 0 là nguồn phát Các Node từ 1 đến 7 có hỗ trợ MPLS, các node này nằm
kế cận nhau tạo thành miền MPLS (MPLS domain)
Các lệnh dưới đây được viết bằng tcl để xây dựng cơ chế điều khiển cho các node có và không có hỗ trợ MPLS, sau đó là tạo các liên kết giữa các node
Set Node0 [$ns node]
set Node7 [$ns node]
set Node8 [$ns node]
$ns duplex-link $Node0 $LSR1 1Mb 10ms DropTail
$ns duplex-link $LSR6 $Node7 1Mb 10ms DropTail
$ns duplex-link $LSR6 $Node8 1Mb 10ms DropTail
Sau khi tạo được các node và liên kết cho tất cả, thì phải cấu hình giao thức LDP cho toàn bộ các LSR (các Node có hỗ trợ MPLS) Thủ tục này được thực hiện bằng
Trang 36giao thức LDP ngang hàng giữa hai node kế cận nhau Màu được chọn cho mỗi loại LDP để các quá trình phân phối nhãn ta có thể thấy được trên NAM Cuối cùng ta chọn mode phân phối nhãn mặc định là data-driven
for {set i 1} {$i < 7} {incr i} {
Hai tác nhân phải được xác định: CBR (constant Bit Rate) phải được định nghĩa
để nối tới nguồn và tác nhân UDP được định nghĩa để nối tới đích Và hai node này phải được kết nối với nhau Ở đây ta chọn Node 0 là Source và Node 7 là nguồn
set Src [new Agent/CBR]
Trang 39-
FEC LSPid LIBptr
Trang 40Chương 3: MULTICAST
3.1 Giới thiệu
Một số ứng dụng mới trên mạng đòi hỏi việc phân phối gói dữ liệu từ một hoặc
nhiều người gửi đến một nhóm những người nhận Những ứng dụng loại này thường
dùng để: chuyển một lượng lớn dữ liệu (ví dụ chuyển phần mềm nâng cấp từ nhà phát triển đến người dùng), chuyển các luồng media liên tục (ví dụ như chuyển âm thanh, hình ảnh, tài liệu đến học viên trong một buổi học trực tuyến), chia sẻ dữ liệu, cập nhật web cache, và các game trực tuyến… Từ những ứng dụng trên, một khái niệm, một
công nghệ hữu ích đã hình thành, đó là multicast: sự gửi một gói dữ liệu từ một người
gửi đến nhiều người nhận chỉ với một thao tác gửi trên đường truyền dẫn [15], [17]
Hình 3-1 So sánh Multicast và Unicast
Với kỹ thuật này, một gói dữ liệu sẽ được xuất phát từ host gửi, sau đó, gói dữ liệu này (hoặc bản copy của gói dữ liệu này) sẽ được tái bản và truyền đi ra các đường liên kết tại router mà gắn với router này là những router hoặc máy host khác có thể cũng cần nhận gói dữ liệu này (như được mô tả ở Hình 3-1) Với những yêu cầu chức năng như vậy, một giao thức multicast routing phải đơn giản để dễ hiện thực, có khả năng mở rộng, sử dụng ít tài nguyên mạng, bộ nhớ và có thể hoạt động chung với những giao thức multicast routing khác
Mulicast là phương thức phân phối dữ liệu một-đến-nhiều (point-to-multipoint) hay nhiều-đến-nhiều (multipoint-to-multipoint) Nó trở thành một tính năng hấp dẫn đối mới các nhà cung cấp sản phẩm mạng đồng thời đặt ra nhiều thách thức cho các kỹ
sư công nghệ với nhu cầu triển khai multicast trên mạng Internet Tuy nhiên với những