MỤC LỤC. ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử Định tuyến và phân phối nhãn trong MPLS
THUẬT NGỮ VIẾT TẮT.5
LỜI NÓI ĐẦU.8
Chương 1: Tổng quan chuyển mạch nhãn đa giao thức (MPLS).9
1.1 Giới thiệu:.9
1.2 MPLS là gì:9
1.2.1 WAN là gì:10
1.2.2 Lợi ích của MPLS:10
1.3 MPLS và mô hình OSI.11
1.4.1 Mặt phẳng dữ liệu và mặt phẳng điều khiển:12
1.4.2 Mặt phẳng dữ liệu và mặt phẳng điều khiển trong IP:13
1.4.3 Mặt phẳng dữ liệu và mặt phẳng điều khiển trong MPLS:13
1.4.4 Lớp chuyển tiếp tương đương-FEC:14
1.5 Các thành phần của mạng MPLS:14
1.5.1 Nhãn là gì?. 14
1.5.2 Label Stacking:15
1.5.3 Bảng chuyển tiếp nhãn:16
1.5.3.1 Bảng cơ sở thông tin nhãn-LIB:16
1.5.3.2 Bảng cơ sở thông tin chuyển tiếp nhãn (LFIB):17
1.5.4 Router chuyển mạch nhãn (Label Switch Router-LSR):17
1.5.5 Đường chuyển mạch nhãn (Label Switch Path-LSP):18
1.6 Điều khiển LSP thứ tự và điều khiển độc lập:20
1.6.1 Điều khiển LSP độc lập:20
1.6.2 Điều khiển LSP tuần tự:21
1.7 Chế độ phân phối nhãn:22
1.7.1 Chế độ nhãn không cần yêu cầu:22
1.7.2 Chế độ nhãn theo yêu cầu:23
1.8 Tổng kết chương.23
Chương 2: Định tuyến và phân phối nhãn trong MPLS.24
2.1 Giới thiệu chương:24
2.2 Định tuyến trong mạng MPLS:24
2.2.1 Định tuyến từng chặng (hop-by-hop):24
2.2.2 Định tuyến ràng buộc (Constrain-based Routing):24
2.2.3 Định tuyến tường minh (ER):26
2.3 Các giao thức phân phối nhãn:26
2.3.1 Giao thức LDP:27
2.3.1.1 Các bản tin LDP:27
2.3.1.1.1 Bản tin Initilization:28
2.3.1.1.2 Bản tin Keepalive:28
2.3.1.1.3 Bản tin Label mapping:28
2.3.1.1.4 Bản tin Label withdraw:28
2.3.1.1.5 Bản tin Label release:29
2.3.1.1.6 Bản tin Label request abort:29
2.3.1.2 Láng giềng LSR:29
2.3.1.3 Thiết lập và duy trì phiên LDP:29
2.3.1.3.1 Thiết lập phiên LDP:29
2.3.1.3.2 Duy trì phiên LDP:30
2.3.2 Giao thức dành trước tài nguyên (RSVP) mở rộng:30
2.3.2.1 Bản tin Path:30
2.3.2.1.1 Thành phần yêu cầu nhãn:31
2.3.2.1.2 Thành phần định tuyến tường minh (ERO). 32
2.3.2.1.3 Thành phần định tuyến mảnh tin (RRO).33
2.3.2.2 Bản tin RESV:34
2.3.2.3 Quá trình xây dựng LSP:35
2.3.3 Giao thức phân phối nhãn dựa trên sự ràng buộc (CR-LDP):38
2.3.3.1 Thuật toán định tuyến ràng buộc(CFPS):38
2.3.3.2 CR-LDP:42
2.3.3.3 Các thông điệp định tuyến ràng buộc và TLV.46
2.4 So sánh giữa CR-LDP và RSVP:49
2.4.1 Giống nhau:49
2.4.2 Khác nhau:49
2.5 Các cơ chế tái định tuyến:50
2.5.1 Cơ chế tái định tuyến Makam:50
2.5.2 Cơ chế tái định tuyến Haskin:51
2.6 Tổng kết chương:52
Chương 3: Mô phỏng mạng hỗ trợ MPLS trên nền NS2.53
3.1 Giới thiệu chương:53
3.2 Giới thiệu về công cụ mô phỏng mạng NS:53
3.3 Nội dung và kết quả mô phỏng:55
3.3.1 Bài 1: Mô phỏng mạng IP sử dụng thuật toán định tuyến ngắn nhất.56
3.3.1.1 Kết quả mô phỏng:57
3.3.1.2 Nhận xét:58
3.3.2 Bài 2: Mô phỏng giao thức báo hiệu CR-LDP trong mạng MPLS.58
3.3.2.1 Kết quả mô phỏng:59
3.3.2.2 Nhận xét:60
3.3.3 Bài 3: Mô phỏng tái định tuyến theo cơ chế Makam.60
3.3.3.1 Kết quả mô phỏng:61
3.3.3.2 Nhận xét:62
3.3.4 Bài 4: Mô phỏng tái định tuyến theo cơ chế Haskin.62
4.3.4.1: Kết quả mô phỏng:63
3.3.4.2: Nhận xét:64
3.4 Tổng kết chương:64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI.65
TÀI LIỆU SỬ DỤNG THAM KHẢO.66
PHẦN PHỤ LỤC.67
THUẬT NGỮ VIẾT TẮT.
ATM |
Asynchnorous Tranfer Mode |
Truyền dẫn không đồng bộ |
AS |
Autonomous System |
Hệ thống tự trị |
APRA |
Alternate Path Routing Algorithm |
Thuật toán định tuyến đường thay thế |
ASIC |
Application-Specific Integrated Circuit |
Mạch tích hợp chuyên dụng |
BGP |
Border Gateway Protocol |
Giao thức cổng biên |
CE |
Custom Edge |
Biên phía khách hàng |
CR |
Constraint-based Routing |
Định tuyến ràng buộc |
CR-LDP |
Constraint Label Distribution Protocol |
Giao thức phân phối nhãn dựa trên sự ràng buộc |
EGP |
Exterior Gateway Protocol |
Giao thức định tuyến ngoại |
ER |
Explicit Route |
Định tuyến tường minh |
FEC |
Forwarding Equivalency Class |
Lớp chuyển tiếp tương đương |
HDLC |
High-Level Data Link Control |
Điều khiển liên kết dữ liệu chất lượng cao |
IPX |
Internetwork Packet Exchange |
Tổng đài gói liên mạng |
IGP |
Interior Gateway Protocol |
Giao thức cổng nội bộ |
ISP |
Internet Service Provider |
Nhà cung cấp dịch vụ Internet |
IS-IS |
Intermediate System-to- Intermediate System |
|
LAN |
Local Area Network |
Mạng cuc bộ |
LDP |
Label Distribution Protocol |
Giao thức phân phối nhãn |
LIB |
Label Information Base |
Bảng cơ sở dữ liệu nhãn |
LFIB |
Label Forwarding Instance Base |
Cơ sở thông tin chuyển tiếp nhãn |
LSP |
Label Switch Path |
Tuyến chuyển mạch nhãn |
LSR |
Label Switch Router |
Bộ định tuyến chuyển mạch nhãn |
MNS |
MPLS Netword Simulation |
Mô phỏng mạng MPLS |
MPLS |
Multiprotool Label Switching |
Chuyển mạch nhãn đa giao thức |
OSI |
Open Systems Interconnection |
Tổ chức tiêu chuẩn hoá quốc tế |
OSPF |
Open Shortest Path Cost |
Mở tuyến đường ngắn nhất đầu tiên |
PE |
Provider Edge |
Biên nhà cung cấp |
QoS |
Quanlity of Service |
Chất lượng dịch vụ |
RIP |
Routing Information Protocol |
Giao thức thông tin định tuyến |
RSVP |
Resource Reservation Protocol |
Giao thức dành trước tài nguyên |
SP |
Service Provider |
Nhà cung cấp |
SLA |
Service Level Agreement |
Hợp Đồng Lớp Dịch Vụ |
SPC |
Shortest Path Cost |
Tuyến chi phí thấp nhất |
TCP |
Transmission Control Protocol |
Giao thức truyền tập tin tin cậy |
TE |
Traffic Engineering |
Kĩ thuật điều khiển lưu lượng |
TVL |
Type Label Value |
Kiểu-Nhãn-Giá trị |
UDP |
User Datagram Protocol |
Giao thức truyền tập tin không tin cậy |
VC |
Virtual Channel |
Kênh ảo |
VCI |
Virtual Channel |
Định danh kênh ảo |
VoIP |
Voice over IP |
Thoại qua IP |
VP |
Virtual Path Identifier |
Kênh ảo |
VPI |
Virtual Packet Indentifier |
Định danh gói ảo |
VPN |
Virtual Pravite network |
Mạng riêng ảo |
VRF |
Virtual routing/ forwarding |
Định tuyến/chuyển tiếp ảo |
WAN |
Wide Area Network |
Mạng diện rộng |
LỜI NÓI ĐẦU.
Sự phát triển của Chuyển Mạch Nhãn Đa Giao Thức MPLS chắc chắn là kết quả của một thực tế là nó cho phép mạng thực hiện tất cả các loại lưu lượng, từ lưu lượng IP đến lưu lượng VoiIP đến lưu lượng lớp 2. MPLS cung cấp phương tiện cho mạng IP để thống nhất nhiều mạng lưới thành một. MPLS có thể thống nhất ATM, Frame Relay, Voice, và mạng IP thành một cơ sở hạ tầng mạng lưới thống nhất, do đó tạo ra một ưu thế về chi phí rất lớn.
Trong đồ án này, em sẽ khái quát và phân loại các giao thức phân phối nhãn trong MPLS. Tập trung vào giao thức phân phối nhãn dựa trên các ràng buộc, với thuật toán định tuyến ràng buộc CSPF, xác định các tuyến tường minh, truyền lưu lượng tận dụng tối ưu tài nguyên mạng. Để giải quyết các vấn đề đó đầu tiên chúng ta cần phải hiểu MPLS là gì, các lợi ích mà nó đem lại, các khái niệm và hoạt động cơ bản trong MPLS sẽ được giới thiệu trong chương 1. Chương 2, giải thích cách thức nhãn được phân phối trên mạng như thế nào và các cơ chế tái định tuyến trên mạng. Cuối cùng, sử dụng công cụ NS2 mô phỏng mô hình mạng sử dụng công nghệ MPLS với giao thức phân phối nhãn CR-LDP ưu điểm hơn so với mạng IP truyền thống và so sánh 2 cơ chế tái định tuyến Kakam và Haskin.
Em xin gởi lời cảm ơn đến các thầy cô giáo trong Khoa Điện Tử-Viễn Thông đã giảng dạy và trang bị cho em những kiến thức cơ bản. Em xin chân thành cảm ơn thầy đã hướng dẫn và định hướng cho em hoàn thành đồ án này!
Chương 1: Tổng quan chuyển mạch nhãn đa giao thức (MPLS).
1.1 Giới thiệu chương.
Chuyển mạch nhãn đa giao thức (MPLS) là một công nghệ mạng phổ biến sử dụng gói dữ liệu đã được dán nhãn để chuyển tiếp qua mạng lõi. Trong chương này chúng ta sẽ giải thích vai trò và những ưu điểm của mạng MPLS được triển khai trên mạng đường trục, giúp chúng ta hiểu được làm thế nào MPLS hoạt động, hiểu được mô hình xây dựng mạng MPLS, vị trí của MPLS trong mô hình mạng OSI truyền thống, các khái niệm và hoạt động cơ bản trong MPLS, giải thích nhãn được sử dụng như thế nào, cách sử dụng và làm thế nào nó phân phối dữ liệu trên một mạng lưới. Đầu tiên, chúng ta cần hiểu MPLS là gì.
1.2 MPLS là gì:
Chuyển Mạch Nhãn Đa Giao Thức (MPLS) là một công nghệ mạng phổ biến sử dụng nhãn gắn với các gói tin để chuyển tiếp dữ liệu qua mạng. Các nhãn MPLS được quảng bá giữa các router để có thể ánh xạ label-to-label. Các nhãn này được dán vào các gói tin IP, cho phép các router chuyển tiếp lưu lượng truy cập bằng nhãn chứ không phải địa chỉ IP đích. Các gói tin được chuyển tiếp bằng chuyển mạch nhãn thay vì bằng chuyển mạch IP.
MPLS là công nghệ dùng chủ yếu trong mạng lõi, bởi vì mạng lõi là nơi mà mọi dữ liệu của của các mạng thuê bao đều đổ về đây trước khi tới đích, vì vậy nó sẽ chịu một tải trọng rất lớn nếu chỉ sử dụng các công nghệ bình thường.
Kỹ thuật chuyển đổi nhãn không phải là mới, Frame Relay và ATM đã sử dụng nó để chuyển tiếp khung và các tế bào trong mạng. Trong Frame Relay, mỗi khung có chiều dài bất kỳ, trong khi tại ATM các tế bào có chiều dài cố định, mỗi tế bào bao gồm phần tiêu đề 5 byte và phần dữ liệu 48 byte dữ liệu. Các tiêu đề của các tế bào ATM và các khung của Frame Relay sử dụng kênh ảo để chuyển tiếp các tế bào hoặc các khung. Sự giống nhau giữa Frame Relay và ATM là tại mỗi nút mạng, phần tiêu đề được thay đổi. Điều này khác với việc chuyển tiếp các gói tin IP, khi một router chuyển tiếp gói IP, nó không thay đổi địa chỉ IP đích của gói tin. Thực tế, các nhãn MPLS được sử dụng để chuyển tiếp các gói tin chứ không còn sử dụng địa chỉ IP đích nửa, chính điều này làm cho MPLS phát triển mạnh mẽ, tích hợp IP trên ATM và MPLS VPN tốt hơn.
1.2.1 WAN là gì:
Trước MPLS, WAN là giao thức phổ biến nhất được ATM và Frame Relay sử dụng. Giống như MPLS, WAN được sử dụng để thống nhất các mạng với nhau. Cùng với sự phát triển mạnh mẽ của Internet, IP đã trở thành giao thức phổ biến nhất, tồn tại ở khắp mọi nơi, VPN được tạo ra trên các giao thức WAN, khách hàng thuê kết nối ATM và Frame Relay hoặc sử dụng đường dây thuê bao và xây dựng mạng riêng của họ trên nó. Router của các nhà cung cấp dịch vụ chuyển tiếp lớp 2 hướng tới router lớp 3 của thuê bao, bảm bảo chia tách và cô lập các thuê bao khác nhau. Các loại mạng đó được gọi là mạng chồng phủ.
Mạng chồng phủ vẫn đươc sử dụng đến ngày nay, nhưng nhiều khách hàng hiện tại đang sử dụng dịch vụ MPLS VPN. Giải thích những lợi ích của MPLS, sẽ giúp chúng ta hiểu rõ hơn tại sao MPLS là một lựa chọn tuyệt vời cho các nhà cung cấp dịch vụ triển khai nó.
1.2.2 Lợi ích của MPLS:
- Sử dụng một cơ sở hạ tầng mạng thống nhất.
- Tốt hơn IP-over-ATM.
- Không sử dụng Border Gateway Protocol (BGP) trong lõi.
- Các peer-to-peer cho mô hình MPLS VPN.
- Tối ưu dòng lưu lượng.
- Traffic Engineering.
Một trong những ưu điểm dễ nhận thấy nhất của giao thức chuyển mạch nhãn là tốc độ. Chuyển mạch gói IP được coi là chậm hơn so với chuyển mạch gói bằng nhãn bởi vì chuyển mạch nhãn chỉ cần tra nhãn để định tuyến, trong khi đó đối với chuyển mạch gói IP, router chuyển tiếp gói IP bằng cách nhìn vào IP đích, và tìm đường dẫn tốt nhất bằng các tra trong bảng định tuyến. Tuy nhiên, vì địa chỉ IP có thể là unicast hoặc multicast và có đến 4 octets, nên công việc định tuyến có thể phức tạp hơn, nghĩa là việc quyết định chuyển gói tin IP sẽ mất một khoảng thời gian hơn so với chuyển mạch nhãn. Vì lý do đó nên một số người cho rằng việc tra nhãn sẽ đơn giản và nhanh chóng hơn là tra bằng IP đích sẽ chuyển mạch gói nhanh hơn. Ngày nay, liên kết trên các router có băng thông lên đến 40Gbps. Một router có liên kết tốc độ cao sẽ không thể chuyển mạch cho tất cả các gói IP bằng cách sử dụng CPU để quyết định chuyển tiếp, CPU có trách nhiệm chính là xử lý. Mặt phẳng xử lý là tập hợp các giao thức của mặt phẳng dữ liệu hoặc mặt phẳng chuyển tiếp. Thành phần chính của mặt phẳng xử lý là giao thức định tuyến, bản định tuyến, các điều khiển khác và các tín hiệu giao thức được sử dụng để cung cấp cho mặt phẳng dữ liệu. Mặt phẳng dữ liệu là con đường chuyển tiếp gói thông qua một router hoặc switch. Công việc chuyển tiếp của các gói (hay còn gọi là mặt phẳng chuyển tiếp) thực hiện trên phần cứng được chế tạo đặc biệt, hay còn gọi là mạch tích hợp chuyên dụng (ASIC).Việc sử dụng những ASIC trong mặt phẳng chuyển tiếp của router làm cho các gói IP được chuyển mạch nhanh như chuyển mạch gói sử dụng nhãn. Vì vậy, nếu lý do duy nhất sử dụng MPLS trong mạng để thực hiện chuyển mạch gói nhanh thì điều đó hoàn toàn sai lầm, và đó là một lý do không chính xác.
1.3 MPLS và mô hình OSI.
Mô hình OSI gồm có 7 lớp, thể hiện như hình 1.1. Lớp dưới cùng là lớp 1, lớp vật lý. Lớp đầu là lớp 7, lớp ứng dụng. Trong đó lớp vật lý là các loại dây cáp, cơ khí, thiết bị điện. Lớp 2 là lớp liên kết dữ liệu, liên quan đến định dạng khung. Ví dụ về lớp liên kết dữ liệu là Ethernet, PPP, HDLC và Frame Relay. Tầm quang trọng của liên kết dữ liệu là tạo kết nối giữa hai máy. Lớp 3 là lớp mạng, liên quan đến các định dạng của gói dữ liệu end-to-end, mà ví dụ về một giao thức hoạt động nối tiếng nhất tại lớp 3 là giao thức IP.
Hình 1.1: MPLS và Mô hình OSI.
MPLS không phải là giao thức lớp 2, cũng không phải là giao thức lớp 3. Vì vậy, MPLS không phù hợp trong mô hình OSI và có thể xem MPLS là giao thức lớp 2,5. Nguyên lý của MPLS là tất cả các gói IP sẽ được dán nhãn (label) và chuyển tiếp theo một tuyến đường LSP (Label Switched Path). Các router trên đường dẫn căn cứ vào nội dung của nhãn để thực hiện quyết định tuyển tiếp gói mà không cần kiểm tra header IP.
1.4 Khái niệm và hoạt động cơ bản trong MPLS:
1.4.1 Mặt phẳng dữ liệu và mặt phẳng điều khiển:
Một mặt phẳng điều khiển (control plane) là một tập hợp phần mềm, phần cứng trong một thiết bị (chẳng hạn một router) và được dùng để điều khiển nhiều hoạt động thiết yếu trong mạng, như phân phối nhãn, tìm tuyến mới và khắc phục lỗi. Nhiệm vụ của mặt phẳng điều khiển là cung cấp các dịch vụ cho mặt phẳng dữ liệu. Mặt phẳng dữ liệu chịu trách nhiệm chuyển tiếp lưu lượng người dùng qua router. Các thuật ngữ mặt phẳng người dùng (user plane) hoặc mặt phẳng truyền dẫn (transport plane) cũng được dùng để mô tả mặt phẳng dữ liệu.
1.4.2 Mặt phẳng dữ liệu và mặt phẳng điều khiển trong IP:
Đối với các giao thức Internet, các ví dụ của mặt phẳng điều khiển là các giao thức định tuyến như OSPF, IS-IS, BGP. Nó cho phép IP chuyển tiếp lưu lượng một cách chính xác. Các bản tin điều khiển được trao đổi giữa các router để thực hiện nhiều hoạt động khác nhau, bao gồm:
- Trao đổi các bản tin giữa các nút để thiết lập một tuyến liên kết.
- Trao đổi các bản tin theo chu kì (gọi là bản tin Hello) để chắc rằng các nút gần kề hoạt động tốt.
- Trao đổi các bản tin quảng cáo (advertisement) về địa chỉ và tuyến để xây dựng các bảng định tuyến được sử dụng bởi IP để chuyển tiếp lưu lượng.
1.4.3 Mặt phẳng dữ liệu và mặt phẳng điều khiển trong MPLS:
MPLS cũng hoạt động với các mặt phẳng điều khiển và dữ liệu. Nhiệm vụ chính của mặt phẳng điều khiển là quảng cáo các nhãn, địa chỉ và liên kết chúng với nhau.
Bô định tuyến chuyển mạch nhãn là một router được cấu hình để hổ trợ MPeLS. Nó dùng cơ sở thông tin chuyển tiếp nhãn (Label Forwarding Information Base-LFIB) để xác định cách xử lý các gói MPLS đến, ví dụ xét xem nút kế tiếp nhận gói dữ liệu là nút nào.
Các bản tin điểu khiển được trao đổi giữa các LSR để thực hiện nhiều hoạt động khác nhau, bao gồm thiết lập liên kết. Sau khi hoạt động này hoàn thành, các nút được gọi là các LSR ngang hàng (peer), trao đổi các bản tin chu kì (bản tin Hello) để chắc rằng các nút gần kề hoạt động tốt, trao đổi các bản tin địa chỉ và nhãn để liên kết các địa chỉ với nhãn và xây dựng bảng chuyển tiếp cho mặt phẳng dữ liệu MPLS. Mặt phẳng dữ liệu MPLS sẽ chuyển tiếp lưu lượng bằng cách kiểm tra nhãn trong tiêu đề gói MPLS, địa chỉ IP không cần kiểm tra. Tiêu đề nhãn sau đó bị loại bỏ và địa chỉ IP được dùng để phân phối lưu lượng đến đích cuối cùng.
1.4.4 Lớp chuyển tiếp tương đương-FEC:
Thuật ngữ lớp chuyển tiếp tương đương-FEC (Forwarding Equivalence Classes) được sử dụng trong hoạt động chuyển mạch nhãn. FEC mô tả sự liên kết giữa các gói với địa chỉ đích người nhận cuối, FEC cũng có thể liên kết với một địa chỉ đích và loại lưu lượng liên quan đến một cổng đích nào đó. Tất cả các gói dữ liệu thuộc cùng một FEC có nhãn giống nhau. Tuy nhiên, không phải tất cả các gói dữ liệu có nhãn giống nhau không phải đều thuộc cùng một FEC, bởi vì giá trị EXP của chúng khác nhau dẫn đến việc xử lý chuyển tiếp có thể khác nhau và chúng có thể thuộc về các FEC khác nhau. Router quyết định gói thuộc về FEC nào là do router ngõ vào quyết định, vì router ngõ vào có nhiệm vụ phân loại và đóng gói nhãn
Tại sao sử dụng FEC. Trước tiên, nó cho phép nhóm các gói vào các lớp khác nhau và có những đối xử như nhau, có thể sử dụng để hổ trợ chất lượng dịch vụ (QoS) hiệu quả. Ví dụ, FEC có thể liên kết với độ ưu tiên cao, lưu lượng thực ...
Đối với các lớp dịch vụ khác nhau, người ta sử dụng các FEC và các nhãn liên kết khác nhau. Với Internet, các giá trị sau được sử dụng để thành lập một FEC: địa chỉ IP nguồn đích, số cổng nguồn đích, nhận diện giao thức IP (PID), điểm mã (codepoint) của các dịch vụ khác biệt IPv4, IPv6. Ví dụ của FEC là một tập các gói unicast mà địa chỉ đích lớp mạng có cùng tiền tố địa chỉ IP xác định. Hoặc là một tập các gói tin multicast có cùng địa chỉ nguồn và đích lớp mạng.
Mỗi LSR xây dựng một bảng để xác định gói được chuyển tiếp như thế nào. Bảng này gọi là bảng cơ sở dữ liệu nhãn (LIB), gồm các ràng buộc của FEC tới nhãn.
1.5 Các thành phần của mạng MPLS:
1.5.1 Nhãn là gì?
Nhãn là một khung nhận dạng ngắn, có chiều dài cố định và không có cấu trúc. Một nhãn không thực hiện trực tiếp bất cứ thông tin nào từ tiêu đề lớp mạng. Nhãn MPLS sử dụng cấu trúc với 32 bit. Hình 1.2 cho thấy cấu trúc của một nhãn MPLS:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Label |
EXP |
BoS |
TTL |
Hình 1.2: Cấu trúc nhãn MPLS
20 bit đầu tiên là giá trị của nhãn, giá trị này có thể từ 0 đến 2-1. Tuy nhiên, 16 giá trị đầu tiên mang một ý nghĩa đặc biệt. Các bit từ 20 đến 22 là 3 bit EXP, đó là những bit chỉ dùng cho mục đích chất lượng dịch vụ (QoS).
Bit 23 là bit Bottom of Stack (BoS). BoS mang giá trị 0, trừ trường hợp là nhãn cuối cùng trong ngăn xếp, khi đó nó có giá trị là 1. Ngăn xếp là tập hợp các nhãn ở phần đầu của gói dữ liệu. Ngăn xếp có thể chỉ gồm 1 nhãn hoặc nhiều hơn. Số lượng nhãn trong ngăn xếp là vô hạn, mặc dù hiếm khi thấy một ngăn xếp từ 4 nhãn trở lên.
Bit 24 đến 31 gồm 8 bit được sử dụng cho Time To Live (TTL). TTL này có chức năng tương tự như TTL trong tiêu đề IP, nó chỉ đơn giản là giảm 1 tại mỗi hop, và chức năng chính của nó là để tránh một gói bị mắc kẹt trong một vòng lặp định tuyến. Nếu lặp vòng định tuyến xảy ra và không có TTL, các gói sẽ lặp vòng mãi mãi. Nếu TTL của nhãn đạt 0, gói dữ liệu được bỏ đi.
Dán nhãn có thể được quyết định dựa trên các cơ sở chuyển tiếp sau:
- Tuyến đường.
- Công nghệ điều khiển lưu lượng (TE)
- Chất lượng dịch vụ.
Phần tiếp theo mô tả nhãn xếp chồng và vị trí của nhãn ngăn xếp trong cùng một khung.
1.5.2 Label Stacking:
MPLS cần nhiều nhãn trên phần đầu của gói để định tuyến gói, điều này được thực hiện bằng cách đóng gói các nhãn vào một ngăn xếp nhãn. Nhãn đầu tiên trong 1 ngăn xếp gọi là “top label”, và nhãn cuối được gọi là “bottom label”, ở giữa có số lượng nhãn bất kỳ. Hình 1.3 cho thấy cấu trúc của một ngăn xếp nhãn.
Label |
EXP |
0 |
TTL |
Label |
EXP |
0 |
TTL |
…
|
|||
Label |
EXP |
1 |
TTL |
Hình 1.3: Ngăn xếp nhãn.
Chú ý rằng, ngăn xếp nhãn trong hình trên cho thấy tất cả các bit BoS đều ta 0, ngoại trừ nhãn cuối cùng. Đối với nhãn cuối này, bit BoS được thiết lập là 1. Một số ứng dụng MPLS cần nhiều hơn 1 nhãn trong một ngăn xếp để chuyển tiếp gói tin.
Ví dụ: 2 ứng dụng của MPLS là MPLS VPN và AToM, cả 2 đều đặt 2 nhãn trong nhãn ngăn xếp
Nhãn ngăn xếp nằm ở đâu? Nhãn ngăn xếp nằm ở phía trước của lớp 3, nghĩa là trước tiêu đề của giao thức vận chuyển, nhưng sau tiêu đề của lớp 2. Thông thường, các ngăn xếp MPLS được gọi là tiêu đề chèn do vị trí của nó. Hình 1.4 cho thấy vị trí của nhãn ngắn xếp trong gói.
Layer 2 Header |
MPLS Label Stack |
Transported Protocol |
Layer 2 Frame |
Hình 1.4: Vị trí ngăn xếp trong gói
Lớp 2 có thể đóng gói bất kỳ gói nào mà Cisco IOS hỗ trợ: PPP, High-Level Data Link Control (HDLC), Ethernet, v..v.. Giả sử rằng giao thức vận chuyển là Ipv4, và đóng gói kết nối là PPP, khi đó nhãn ngăn xếp nằm sau tiêu đề PPP nhưng trước tiêu đề Ipv4.
1.5.3 Bảng chuyển tiếp nhãn:
1.5.3.1 Bảng cơ sở thông tin nhãn-LIB:
Mỗi LSR xây dựng một bảng thông tin liên quan đến nhãn (LIB), địa chỉ và đường dẫn để xác định rõ ràng cách thức mà một gói dữ liệu được chuyển tiếp như thế nào qua mạng. Bảng thông tin đó được gọi là cơ sở thông tin nhãn LIB và gồm các thông số sau đây:
- Nhãn đầu vào.
- Nhãn đầu ra.
- Tiền tố địa chỉ (Address Prefix).
1.5.3.2 Bảng cơ sở thông tin chuyển tiếp nhãn (LFIB):
LFIB là bảng dùng để chứa thông tin cần thiết để chuyển tiếp gói đến chặn kế trong MPLS, nó chính là tập con của LIB. Nó là nơi mà nhãn đến và nhãn đi trong LSP. Nhãn đến là nhãn từ nhãn cục bộ (Local Binding) trên LSR cụ thể. Nhãn đi là nhãn từ nhãn từ xa (Remote Binding) được chọn bởi LSR trong tất cả các nhãn từ xa có khả năng. Tất cả các nhãn từ xa được chọn từ LIB. LFIB chỉ chọn 1 nhãn trong số trong số tất cả các nhãn từ xa trong LIB và thiết lập nó lên LFIB. Các nhãn từ xa được chọn phụ thuộc vào tuyến đường tốt nhất trong bảng định tuyến.
1.5.4 Router chuyển mạch nhãn (Label Switch Router-LSR):
Một bộ định tuyến chuyển mạch nhãn (LSR) là một router hổ trợ MPLS, có khả năng định tuyến gói tại lớp 3 (lớp mạng) cũng như chuyển mạch gói tại lớp 2 (lớp liên kết dữ liệu). Cấu trúc cơ bản của một thiết bị LSR gồm có 2 thành phần chính: thành phần điều khiển, còn gọi là mặt phẳng điều khiển (Control Plane) và thành phần chuyển tiếp, còn gọi là thành phần dữ liệu.
Mặt phẳng điều khiển sử dụng các giao thức định tuyến IP để xây dựng nên bảng định tuyến. Từ thông tin này, thành phần điều khiển sẽ tiến hành quá trình ấn định nhãn với các nút mạng lân cận.
Thành phần chuyển tiếp (forwarding component) sử dụng thông tin của quá trình này để tạo bảng cơ sở thông tin nhãn LIB (Label Information Based). Khi nhận được gói dữ liệu, LSR sẽ sử dụng giá trị nhãn của gói và bảng định tuyến nhãn để tìm ra và gắn một giá trị nhãn mới thích hợp cho gói dữ liệu.
Có 3 loại LSR trong một mạng MPLS:
- Ingress LSRs: LSR ngõ vào nhận gói dữ liệu IP truyền thống chưa có nhãn, căn cứ vào thông tin trong tiêu đề IP và bảng định tuyến nhãn LIB, LSR sẽ ấn định một giá trị nhãn thích hợp cho gói dữ liệu và chuyển nó đến LSR tiếp theo
- Egress LSRs: LSR ngõ ra tháo bỏ nhãn cuối cùng của gói dữ liệu và từ đây gói dữ liệu sẽ được định tuyến như một gói IP thông thường. Ingress LSRs và Egress LSRs là những Edge LSR (LSR biên).
- Intermediate LSRs: LSR trung tâm nhận gói có nhãn gởi đến, thực hiện các hoạt động trên nó, chuyển mạch gói và gởi gói đó vào liên kết dữ liệu chính xác.
Một LSR có thể thực hiện 3 hoạt động: pop, push hoặc swap.
LSR có thể pop một hoặc nhiều nhãn, tức là loại bỏ một hoặc nhiều nhãn ngăn xếp, trước khi chuyển mạch gói tin ra ngoài. Một LSR cũng phải có khả năng đẩy (push) một hoặc nhiều nhãn vào ngăn xếp nhãn. Nếu nhận được gói tin đã dán nhãn, LSR đẩy một hoặc nhiều nhãn lên nhãn ngăn xếp và chuyển các gói tin di. Nếu gói tin chưa có nhãn, LSR có thể tạo một nhãn ngăn xếp và đặt nó vào gói. Một LSR cũng có khả năng trao đổi (swap) nhãn, nghĩa là khi nhận được một gói đã có nhãn, phần đầu của nhãn trong nhãn ngăn xếp được trao đổi với nhãn mới và chuyển gói tin đi.
1.5.5 Đường chuyển mạch nhãn (Label Switch Path-LSP):
Một con đường chuyển mạch nhãn (LSP) là một chuỗi các LSR để chuyển mạch một gói tin được dán nhãn qua mạng MPLS. Về cơ bản, LSP là đường dẫn thông qua toàn mạng MPLS hoặc một phần của nó. Đường chuyển mạch nhãn này được thiết lập từ igress LSR đến egress LSR để chuyển gói trong mạng bằng kỹ thuật chuyển mạch nhãn. LSP được xây dựng bằng các giao thức như LDP, RSVP, …
Hình 1.5: LSP trên mạng MPLS
Các LSR ngõ vào của một LSP không nhất thiết phải là các router đầu tiên dán nhãn cho gói. Các gói tin có thể được dán nhãn bởi một LSR trước đó. Trường hợp như vậy sẽ có một LSP lồng bên trong một LSP khác. Trong hình 1.5 ta thấy một LSP bao trùm toàn bộ chiều rộng của mạng lưới MPLS. LSP khác bắt đầu tạo các LSR thứ 3 và kết thúc tại LSR kề cuối. Như vậy khi gói đi vào LSP thứ 2 của nó, gói đã có nhãn.
Hình 1.6: LSP lồng nhau.
Điều này nghĩa là LSR ngõ vào của LSP phía trong sẽ đẩy nhãn thứ hai vào gói. Nhãn ngăn xếp của các gói dữ liệu trên LSP thứ hai bây giờ sẽ có 2 nhãn. Nhãn đầu thuộc về LSP bên trong và nhãn dưới cùng thuộc về LSP bao trùm toàn mạng. Kỹ thuật lưu lượng sử dụng tunnel là ví dụ cho LSP lồng nhau.
1.6 Điều khiển LSP thứ tự và điều khiển độc lập:
MPLS hổ trợ hai phương pháp để dán nhãn vào một FEC, gọi là điều khiển độc lập và điều khiển theo thứ tự.
1.6.1 Điều khiển LSP độc lập:
Hình 1.7: Điều khiển độc lập.
Với điều khiển độc lập, router dán các nhãn vào mọi FEC mà nó biết. Vì vậy mỗi FEC có một nhãn được gán cho nó. Các giao thức định tuyến IP như OSPF được sử dụng để làm điều này.
Hình 1.7 chỉ ra rằng LSR D đang thông báo cho các LSP ngang hàng rằng nhãn nội bộ 40 liên kết với tiền tố IP 192.168.20.0/24. Điều này có nghĩa là các nút gần kề với D phải sử dụng nhãn 40 khi gởi lưu lượng đến địa chỉ 192.168.20.0/24 thông qua nút D. Một cách khác, nút ngược dòng sử dụng giá trị nhãn được ấn định bởi LSR xuôi dòng khi nó gửi lưu lượng đến nhãn/ tiền tố ấn định bởi LSR xuôi dòng này. Rõ ràng là nút C sử dụng nhãn 40 để gửi bất cứ gói IP nào có địa chỉ 192.168.20.x đến nút D. Tuy nhiên, nút D sẽ không dùng nhãn 40 để truyền lưu lượng đến nút I, E, J. Ví dụ để truyền lưu lượng đến nút E, nút D sẽ dùng giá trị nhãn đã được gởi bởi nút E, chẳng hạn 38.
Cấn nhấn mạnh rằng nút D quảng cáo nhãn 40 cho tiền tố 192.146.20.0/24 đến tất cả các nút ngang hàng. Các nút này có sử dụng nhãn này hay ko tuỳ thuộc vào mối quan hệ của chúng với nút D là xuôi dòng hay ngược dòng.
Một thuật lợi của điều khiển độc lập là hoạt động dán nhãn xảy ra sau sự quảng cáo địa chỉ. Nếu việc quảng cáo địa chỉ nhanh sẽ dẫn đến sự định tuyến nhanh, các liên kết nhãn cũng được thiết lập một cách nhanh chóng. Tuy nhiên điều khiển độc lập phải thiết lập sao cho các LSR lân cận tương thích với FEC mà chúng sẽ dùng.
- Ưu điểm: kỹ thuật này cho phép các LSR ấn định và quảng bá thông tin nhãn bất cứ lúc nào, không phải chờ thông tin đó đến từ LSR kế cận. Hơn nữa, các LSR vẫn giữ lại thông tin nhãn nhận được từ LSR kế cận ngay cả khi LSR này không phải là nút mạng kế tiếp sẽ nhận được dữ liệu. Do đó khi định tuyến có sự thay đổi, LSP mới có thể nhanh chóng được xây dựng.
- Khuyết điểm: với kỹ thuật này, mỗi LSR sẽ tự định nghĩa về FEC. Ví dụ một LSR có thể quyết định mỗi tiền tố trong bảng định tuyến của nó là một FEC. Do đó nếu LSR kế cận không định nghĩa như vậy về một FEC thì không thể xây dựng LSP.
1.6.2 Điều khiển LSP tuần tự:
Trong kỹ thuật này, quá trình ấn định nhãn diễn ra theo thứ tự từ đầu cuối này đến đầu cuối kia của LSP. Như vậy LSP được bắt đầu xây dựng từ igress LSP hoặc egress LSP. Ví dụ như LSP được xây dựng từ egress LSP. Trong trường hợp này chỉ có egress LSP có khả năng tiến hành xây dựng LSP. Ứng với một FEC nào đó, một LSR là egress LSR nếu như nút mạng kết tiếp nhận dữ liệu thuộc FEC không phải là LSR. Khi đó egress LSR sẽ ấn định một nhãn thích hợp cho FEC và gởi thông tin này đến tất cả LSR lân cận. Bất cứ LSR nào nhận được thông tin này và đồng thời egress LSR nói trên là nút mạng kế tiếp cho dòng dữ liệu thuộc FEC, LSR sẽ ấn định giá trị nhãn đó cho FEC và cùng gởi thông tin nhãn đến các LSR kế cận.
- Ưu điểm: Edge LSR sẽ tiến hành định nghĩa FEC. Như vậy khi xây dựng LSP, tất cả các LSR đều sử dụng chung định nghĩa ấy. Do đó không mất sự đồng nhất khi ấn định FEC cho dữ liệu. Đặc biệt kỹ thuật này rất có ích trong mạng đang chuyển từ hình thức định tuyến truyền thống sang chuyển mạch nhãn. Đối với những mạng như thế, một nhà quản trị mạng cần kiểm soát chặt chẽ việc chuyển gói dữ liệu bằng MPLS, ngoài ra có thể kiếm soát bằng cách cấu hình một danh sách truy cập tại LSR khởi đầu cho quá trình xây dựng LSP, có thể igress LSR hoặc egress LSR. Trong khi đó, với kỹ thuật điều khiển độc lập, cần thiết phải cấu hình cho mỗi LSR trong mạng.
- Khuyết điểm: kỹ thuật này làm tăng thời gian xây dựng một LSP. Vì để xây dựng một LSP, một LSR sẽ gởi thông tin nhãn đến tất cả các LSP kế cận. Do đó gói dữ liệu có thể bị mất hoặc tăng thời gian trễ.
Chúng ta hoàn toàn có thể sử dụng kết hợp cả hai kĩ thuật trên ở trong mạng. Tuy nhiên nếu như một nhà quản trị muốn nhận đầy đủ ưu điểm của kỹ thuật điều khiển LSP tuần tự, tất cả các LSP trong mạng phải hỗ trợ kỹ thuật này.
1.7 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 (downstream unsolicited) và phân phối theo yêu cầu (downstream on demand). Thuật ngữ downstream ở đây ngụ ý rằng phía downstream sẽ thực hiện gán kết nhãn và thông báo gắn kết đó cho phía upstream.
1.7.1 Chế độ nhãn không cần yêu cầu:
Downstream-LSR phân phối các gán kết nhãn đến upstream-LSR mà không cần có yêu cầu thực hiện việc gắn kết nhãn. Nếu downstream-LSR chính là hop kế đối với định tuyến IP cho một FEC cụ thể thì upstream-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 downstream-LSR.
Hình 1.8: Chế độ nhãn không cần yêu cầu.
1.7.2 Chế độ nhãn theo yêu cầu:
Upstream-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ì downstream-LSR mới phân phối. Trong phương thức này, downstream-router không nhất thiết phải là hop 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.9: Chế độ nhãn yêu cầu
1.8 Tổng kết chương.
Trong chương này, chúng ta đã biết được nhiều nhãn có thể xếp chồng lên nhau, gọi là nhãn ngắn xếp. Nhãn ngăn xếp nằm trên phần đầu của gói, để chuyển tiếp gói. Nhãn ngăn xếp nằm ở phía trước của lớp 3, nghĩa là trước tiêu đề của giao thức vận chuyển, nhưng sau tiêu đề của lớp 2. Chúng ta đã hiểu làm thế nào các nhãn được chuyển đến cho mỗi LSR trong mạng MPLS. Một chuỗi các LSR tạo thành đường chuyển mạch nhãn (LSP). FEC là một nhóm hoặc một luồng các gói tin được chuyển tiếp trên cùng tuyến đường và được xử lý như nhau. MPLS hỗ trợ hai phương pháp để dán nhãn vào một FEC, gọi là điều khiển độc lập và điều khiển tuần tự, chúng ta hoàn toàn có thể kết hợp 2 kỹ thuật trên trong mạng. Chương tiếp theo chúng ta sẽ tìm hiểu về các giao thức phân phối nhãn trong MPLS.
Chương 2: Định tuyến và phân phối nhãn trong MPLS.
2.1 Giới thiệu chương:
Trong chương này chúng ta giải quyết cách thức làm thế nào xác định tuyến đường trên mạng hỗ trợ kĩ thuật MPLS bằng giao thức phân phối nhãn (LDP), giao thức dành trước tài nguyên (RSVP) và giao thức phân phối nhãn dựa trên sự ràng buộc (CR-LDP), so sánh 2 giao thức RSVP và CR-LDP, giải quyết sự cố trên mạng bằng các cơ chế tái định tuyến.
2.2 Định tuyến trong mạng 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 các FEC và chọn hop kế tiếp cho mỗi FEC một cách độc lập, giống như định tuyến IP. Tuy nhiên, nếu muốn triển khai kỹ thuật lưu lượng với MPLS thì cần phải sử dụng định tuyến ràng buộc.
2.2.1 Định tuyến từng chặng (hop-by-hop):
Phương pháp này là tương đương với phương pháp được sử dụng hiện nay trong các mạng IP truyền thống. Các giao thức định tuyến truyền thống chẳng hạn như OSPF, BGP được sử dụng để thăm dò địa chỉ IP. Trong phương pháp này mỗi LSR lựa chọn một cách độc lập tuyến kế tiếp với một FEC cho trước. Mỗi node MPLS xác định nội dung của LIB bằng việc tham chiếu tới bảng định tuyến IP của nó. Với mỗi lối vào trong bảng định tuyến, mỗi node sẽ thông báo 1 ràng buộc (chứa 1 địa chỉ mạng và 1 nhãn) tới các node lân cận.
2.2.2 Định tuyến ràng buộc (Constrain-based Routing):
Nhắc lại về những giao thức định tuyến sử dụng trong mạng IP. Mạng IP là tập hợp của nhiều AS, những giao thức định tuyến sử dụng trong phạm vi một AS được gọi là giao thức định tuyến nội vùng (IRP) như RIP, OSPF, IS-IS, IGRP. Ngược lại những giao thức định tuyến được sử dụng trao đổi thông tin định tuyến giữa các AS gọi là giao thức định tuyến liên vùng (EGP) như là BGP.
Quay trở lại giao thức định tuyến nội vùng. Giao thức RIP sử dụng thuật toán Bellman_Ford để chọn đường đi đến một địa chỉ nhất định với yêu cầu số lượng nút mạng trên đường đi là nhỏ nhất. Như vậy giao thức RIP sẽ tốt ưu hoá số lượng nút mạng trên đường định tuyến. Trong khi đó giao thức OSPF và IS-IS sẽ tối ưu hoá metric quản trị của đường định tuyến.
Như vậy định tuyến ràng buộc khác biệt gì với định tuyến IP truyền thống?
Trong pham vi một mạng, tuyến nối giữa hai nút mạng bất kỳ sẽ có một số đặt tính. Những đặc tính này được xem là những ràng buộc và luồng lưu lượng đi qua tuyến này không được vi phạm những đặc tính đó. Như vậy định tuyến ràng buộc sẽ thiết lập tuyến cho luồng lưu lượng vừa phải tối ưu hoá metric, vừa không vi phạm những ràng buộc cụ thể trên mỗi đường nối giữa các nút mạng. Đây cũng chính là điểm khác biệt giữa định tuyến ràng buộc và định tuyến IP truyền thống.
Hình 2.1: Ví dụ hoạt động định tuyến ràng buộc.
Để minh hoạ hoạt động của định tuyến ràng buộc, xét cấu trúc mạng như hình trên. Giả sử rằng định tuyến ràng buộc sử dụng số hop (hop count) và băng thông khả dụng làm metric. Lưu lượng 600Kbps được định tuyến trước tiên, sau đó là lưu lượng 500Kbps và 200Kbps. Cả 3 loại lưu lượng này đều hướng đến cùng một egress-router. Ta thấy rằng:
- Vì lưu lượng 600Kbps đượ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 (1Mbps), nên lưu lượng 600Kbps 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 600Kbps và 500Kbps nên lưu lượng 500Kbps được định tuyến đi theo đường mới qua R6 và R7 mặc dù nhiều hơn một hop so với đường cũ.
- Với lưu lượng 200Kbps 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 200Kbps.
Định tuyến ràng buộc có 2 kiểu online và ofline. Kiểu online cho phép các router tính đường cho các LSR 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
2.2.3 Định tuyến tường minh (ER):
Đị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 (explicit router).
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 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 (như IP prefix hoặc một AS). Nếu ER chỉ quy định một nhóm trong số các nút mà đường chuyển mạch nhãn ràng buộc đi qua thì nó được gọi là “losse ER”. Ngược lại, nếu ER quy định toàn bộ các nút trên đường chuyển mạch nhãn ràng buộc thì được gọi là “strict ER”.
2.3 Các giao thức phân phối nhãn:
Giao thức LDP (Label Distribution Protocol) là giao thức chính và được sử dụng nhiều nhất. Tuy nhiên một số giao thức khác như RSVP (Resource Reservation Protocol) hay BGP (Border Gateway Protocol) vẫn có thể thực hiên trao đổi thông tin nhãn. Đầu tiên chúng ta sẽ đề cầp đến giao thức LDP.
2.3.1 Giao thức LDP:
LDP là một giao thức mới cho việc phân phối thông tin kết hợp với nhãn tới các LSR trong mạng MPLS. Nó được sử dụng để ánh xạ các FEC tới nhãn, tạo tuyến LSP. Các tuyến LDP được thiết lập giữa các LDP ngang hàng trong mạng MPLS (không nhất thiết kề nhau). Những đặc tính cơ bản của giao thức LDP:
-Cung cấp kỹ thuật giúp cho các LSR có kết nối trực tiếp nhận ra nhau và thiết lập liên kết cơ chế khám phá (discovery mechanism).
-Có 4 loại bản tin:
- Discovery message : Thông báo và duy trì sự có mặt của một LSR trong mạng.
- Session message : Thiết lập, duy trì, kết thúc phiên giữa các LDP ngang hàng.
- Advertisement message : Tạo, thay đổi, và xoá nhãn cho các FEC.
- Notification message : Cung cấp thông tin tham khảo và thông tin báo hiệu lỗi.
-Thiết lập kết nối TCP để trao đổi các bản tin (ngoại trừ bản tin Discovery).
-Các bản tin là tập hợp những thành phần có cấu trúc
2.3.1.1 Các bản tin LDP:
Như đã đề cập ở trên, có bốn loại bản tin cơ bản và các bản tin được sử dụng thông dụng nhất là:
- Initilization.
- Keepalive.
- Label mapping.
- Label withdraw.
- Label release.
- Label request abort.
2.3.1.1.1 Bản tin Initilization:
Khi bắt đầu thiết lập kết nối LDP, hai LSR sẽ thoả thuận các thông số và lựa chọn cho kết nối này thông qua bản tin khởi tạo “initialization messege”. Các thông số này bao gồm: phương thức cấp phát nhãn, phạm vi giá trị nhãn được sử dụng cho kết nối của hai LSP này, giá trị timer. Cả hai LSR đều có thể gởi bản tin khởi tạo và LSR nhận sẽ phúc đáp lại bằng bản tin Keepalive nếu như chấp nhận những thông số đó. Nếu như không chấp nhận, LSR sẽ gởi một thông báo lỗi và kết thúc quá trình khởi tạo.
2.3.1.1.2 Bản tin Keepalive:
Ngoài chức năng như đã nói ở trên, bản tin này được gởi tuần tự theo chu kỳ trong khoảng thời gian không có các bản tin khác được gởi đi. Bản tin này giúp cho LSR nhận biết LSR gởi vẫn đang hoạt động bình thường. Nếu không chấp nhận được bản tin này, hay bất cứ một bản tin khác trong một khoảng thời gian được ấn định trước thì kết nối LDP giữa hai LSR sẽ bị cắt.
2.3.1.1.3 Bản tin Label mapping:
Được các LSR sử dụng để truyền các thông tin ánh xạ từ một FEC sang một nhãn.
2.3.1.1.4 Bản tin Label withdraw:
Chúng ta biết rằng có hai hình thức ấn định nhãn usolicited downstream và downstream_on_demand. Với cách thức sau, một LSR sẽ yêu cầu nút mạng tiếp theo sẽ nhận dữ liệu thuộc một FEC nào đó ấn định nhãn cho FEC bằng cách gởi đến LSR này bản tin Label Request. Nếu như bản tin này huỷ bỏ, bởi vì nút mạng nhận dữ liệu thuộc FEC thay đổi, LSR sẽ tiếp tục gởi yêu cầu này bằng bản tin Label Request Abort.
2.3.1.1.5 Bản tin Label release:
Bản tin này dùng để huỷ bỏ các thông tin ánh xạ đã gởi đi. Lý do của việc huỷ bỏ giá trị nhãn bao gồm cả việc xoá bỏ một địa chỉ ra khỏi bảng định tuyến do sự thay đổi trong thông tin định tuyến hoặc do cấu hình của LSR.
2.3.1.1.6 Bản tin Label request abort:
Sau khi nhận được bản tin Label Mapping và nếu không sử dụng thông tin này, LSR sẽ gởi đi bản tin Label Release. Trường hợp này xảy ra, ví dụ khi LSR nhận được từ LSR1 thông tin ánh xạ từ FEC sang một nhãn, nhưng LSR2 nhận ra rằng LSR1 không phải là nút mạng kế tiếp nhận dữ liệu thuộc FEC này.
2.3.1.2 Láng giềng LSR:
Giao thức này hoạt động trên kết nối UDP và có thể được xem là giai đoạn nhận biết nhau của hai LSR trước khi giữa chúng thiết lập kết nối TCP. Một LSR sẽ quảng bá bản tin Hello tới tất cả LSR kết nối trực tiếp với nó trên một cổng UDP mặc định theo một chu kỳ nhất định. Tất cả các LSR đều lắng nghe bản tin Hello này trên cổng UDP. Nhờ đó LSR biết được địa chỉ của tất cả các LSR kết nối với nó. Sau khi biết được địa chỉ của một LSR nào đó, một kết nối TCP sẽ được thiết lập giữa hai LSR này. Ngay cả khi không kết nối với nhau thì LSR vẫn có thể gởi định kỳ bản tin Hello đến cổng UDP mặc định của một địa chỉ IP xác định. Và LSR nhận cũng có thể gởi lại bản tin Hello cho LSR gởi để thiết lập kết nối TCP.
2.3.1.3 Thiết lập và duy trì phiên LDP:
2.3.1.3.1 Thiết lập phiên LDP:
Các LSR thiết lập các phiên giữa LDP giữa chúng để công bố và trao đổi nhãn. Quá trình này gồm 2 bước:
- Thiết lập kết nối vận chuyển.
- Khởi tạo phiên.
Quá trình thiết lập phiên giữa các LSR dựa vào việc trao đổi của các bản tin Hello để xác định không gian nhãn.
2.3.1.3.2 Duy trì phiên LDP:
Một phiên LDP với một cấp tương đương có một hoặc nhiều bản tin Hello khi hai LSR được kết nối với nhiều liên kết mà cùng dùng chung không gian nhãn. Trong tình trạng này nhiều bản tin Hello mà một LSR gởi trên mỗi liên kết như vậy mang cùng một thông số ID LDP. LDP chứa các cơ chế giám sát cần thiết của một phiên LDP và các bản tin Hello kế cận nó.
Phiên LDP sử dụng một cách đều đặn cơ chế xác nhận bản tin Hello của LDP Discovery để thông báo cho các LDP ngang cấp với nó mục đích để sử dụng không gian nhãn. Một LSR duy trì việc giám xác thời gian với mỗi bản tin Hello kế cận mà nó bắt đầu lại khi nó nhận một bản tin Hello kế cận tương ứng.
2.3.2 Giao thức dành trước tài nguyên (RSVP) mở rộng:
Với giao thức RSVP, LSP được xây dựng trên đường dẫn mà giao thức định tuyến IP truyền thông xác định. Khi một router trong mạng nhận được bản tin Path, router sẽ kết hợp thông tin trong bảng định tuyến, được xây dựng bằng các giao thức định tuyến như OSPF, RIP, IS-IS và địa chỉ đích trên gói dữ liệu IP để xác định bộ định tuyến tiếp theo bản tin này.
Còn giao thức RSVP mở rộng vẫn sử dụng bản tin Path và RESV để xây dựng LSP với mức chất lượng dịch vụ theo yêu cầu nhưng đường đi của bản tin Path và RESV là đường định tuyến tường minh (explicit router). Dưới đây chúng ta xem xét cấu trúc của hai bản tin Path và RESV.
2.3.2.1 Bản tin Path:
Với giao thức RSVP mở rộng, bản tin Path có thêm một thành phần mới là EXPLICT ROUTE object. Sau đây chúng ta tìm hiểu về ba thành phần chính của bản tin Path:
- Thành phần yêu cầu nhãn (label request object).
- Thành phần định tuyến tường minh (Explicit router object).
- Thành phần đinh tuyến mảnh tin (Record router object).
2.3.2.1.1 Thành phần yêu cầu nhãn:
Igress LSR yêu cầu ấn định nhãn cho LSP này, ngoài ra thành phần còn mang giá trị mã nhận dạng giao thức mạng L3PID (Layer 3 Protocol Identifier) để xác định giao thức lớp mạng sử dụng. Như ta đã biết có 3 loại nhãn được sử dụng:
- Giao thức lớp 2 không có cấu trúc xác định thì nhãn có dạng là nhãn chèn thêm (shim label) nằm giữa tiêu đề lớp 2 và lớp 3.
- Nếu giao thức lớp 2 là ATM thì giá trị nhãn chứa trong vùng thông tin VCI và VPI.
- Nếu giao thức lớp 2 là Frame Relay thì nhãn được chứa trong vùng DLCI.
Khi nhận được bản tin Path, các LSR sẽ giữ lại trong khối trạng thái đường dẫn (Path State Block) dành cho LSP này. Nếu xác định được loại nhãn thì sẽ tiến hành quá trình ấn định nhãn.
Các lỗi có thể xảy ra:
- LSR nhận được bản tin Path nhưng không ấn định được nhãn thì nó sẽ gởi bản tin Path Error để báo cho Igress LSR biết xảy ra lỗi định tuyến hoặc lỗi của ấn định giá trị nhãn.
- Nếu LSR nhận không hổ trợ L3PID thì sẽ gởi Path Error cho Igress LSR. Lỗi này xảy ra sẽ kết thúc quá trình khởi tạo LSP.
- Nếu nhận được bản tin này mà không nhận ra được thành phần yêu cầu nhãn (Label_Request object) thì cũng gởi Path Error và kết thúc khởi tạo LSP.
2.3.2.1.2 Thành phần định tuyến tường minh (ERO)
Thông tin trong thành phần này là đường đi của bản tin Path trong mạng. Các LSR căn cứ vào thành phần này để chuyển bản tin đến đích nhận tiếp theo trong mạng. ERO chỉ sử dụng cho unicast và chỉ khi tất cả các bộ định tuyến trên toàn tuyến đều có hỗ trợ RSVP và ERO.
Cấu trúc của ERO gồm một chuỗi các thành phần phụ (sub-object). Mỗi thành phần này xác định một nhóm các nút mạng hay chỉ một nút mạng trên đường định tuyến hoặc chỉ ra một thao tác trên tuyến. Mỗi thành phần phụ như thế được gọi là abstract node. Nếu abstract node chỉ có duy nhất một nút mạng thì còn gọi là simple abstract node. Các thành phần phụ trong một ERO có thể là những chỉ số AS (Autonomous System), trong mỗi AS có thể có nhiều nút mạng nhưng chúng hoàn toàn trong suốt đối với Igress LSR. Dưới đây là định dạng của một thành phần phụ trong ERO.
L |
Kiểu (type) |
Độ dài (length) |
Nội dung thành phần (Subobject content) |
Bảng 2.1: Định dạng thành phần phụ trong ERO
Bit L=1, đây là ghép lỏng (loose hop); còn L=0 đây là một ghép chặt (strict hop) trên đường định tuyến tường minh (explict router).
Hiện nay có 4 loại thành phần phụ (subobject) được định nghĩa:
- IPv4: các nút mạng trong abstract node có địa chỉ IP thuộc phiên bản 4. Mỗi địa chỉ có 32 bit.
- IPv6: địa chỉ của mỗi nút mạng thuộc phiên bản 6, có 128 bit.
- Autonomous System Number: Những nút mạng nằm trong abstract node cùng nằm trong một AS.
Dưới đây là hình ảnh ví dụ của một tuyến tường minh với các nút mạng địa chỉ IPv4:
Hình 2.2: Tuyến tường minh với các nút mạng địa chỉ IPv4
Trên đây ta thấy ERO có 3 thành phần phụ, mỗi thành phần này là địa chỉ IP của một nút mạng nằm tuyến tường minh (explicit router).L=0 cho biết đây là một strict hop, địa chỉ của mỗi nút là IPv4, 32 bit. Như vậy, Igress LSR sẽ gởi bản tin Path đến LSR kế tiếp có địa chỉ IP là 193.3.3.1. Khi nhận được bản tin, căn cứ vào thành phần Explicit Router, LSR này chuyển bản tin đến LSR trung gian kế tiếp có địa chỉ IP là 193.3.2.1. Khi bản tin Path được chuyển đến LSR có địa chỉ IP là 193.3.1.1 thì kết thúc quá trình chuyển bản tin Path.
2.3.2.1.3 Thành phần định tuyến mảnh tin (RRO).
Với thành phần này trong bản tin Path, LSR sẽ biết được tất cả các LSR nằm trên đường đi của bản tin Path (cũng chính là LSP) từ Igress LSR đến Egress LSR. Khi Igress LSR xây dựng một LSP, đầu tiên, nó sẽ gởi đi bản tin Path có chứa các thành phần Label_object và cả thành phần RRO. Thông tin chứa trong RRO lúc này chỉ có địa chi IP của Igress LSR. Khi một LSR trung gian nhận được bản tin này, sẽ sao lại thành phần RRO trong khối trạng thái đường dẫn (path state block) và thêm địa chỉ IP của nó vào trong thành phần RRO. Riêng egress LSR khi nhận được bản tin Path sẽ hồi đáp lại bằng bản tin RESV. Bản tin này sẽ sao lại thành phần RRO của bản tin Path. Như vậy, sau quá trình trao đổi bản tin Path và RESV, mỗi LSR sẽ biết được toàn bộ LSR thuộc LSP này. Điều này rất hữu ích cho công việc quản trị mạng.
2.3.2.2 Bản tin RESV:
Bản tin này được egress LSR gởi đi trả lời cho bản tin Path. Bản tin RESV mang thông tin về giá trị nhãn được ấn định cũng như tài nguyên mạng được dành cho LSP này. Trong phần này, chúng ta chỉ xem xét thành phần chính nhãn (LABEL object).
Như đã nói ở trên thành phần này cho biết giá trị nhãn được sử dụng và nhãn được gắn trên gói có thể chỉ là một nhãn hoặc là nhãn xếp chồng (stack) gồm nhiều mức nhãn.
Hình 2.3: Bản tin RESV
Khi nhận được một bản tin RESV, LSR sẽ kiểm tra xem bản tin này tương ứng với bản tin Path nào, và LSR gởi có phải là nút mạng kế tiếp thuộc LSP hay không. Khi tất cả đều hợp lệ thì LSR sẽ ấn định nhãn trong bản tin RESV với giá trị nhãn sử dụng cho LSP này tới LSR ngược dòng. Như hình 3.4 cho thấy: LSP sẽ ấn định giá trị nhãn bằng 20 cho các gói dữ liệu có nhãn bằng 10 đến trên If1 khi gởi nó đến LSR kế tiếp trên If2. Như vậy khi igress LSR nhận được bản tin RESV, luồng lưu lượng đã xác định được LSP dành cho nó. Quá trình ấn định nhãn cho LSP được thực hiện dưới hình thức xuôi dòng theo yêu cầu (downstream_on_demand).
2.3.2.3 Quá trình xây dựng LSP:
Hình 2.4: Xây dựng LSP.
Như hình 2.4 cho thấy, định tuyến IP truyền thống xác định đường đi của dữ liệu từ igress LSR (LSR1) đến egress LSR (LSR4) sẽ qua một nút mạng trung gian Router A. Trong khi đó, định tuyến có ràng buộc xác định tuyến tường minh (explicit router) cho dữ liệu từ LSR1 đến LSR4 qua các nút mạng trung gian là LSR2 và LSR3. Sau đây là quá trình xây dựng LSP trên tuyến định tuyến này.
-Quá trình gởi bản tin Path:
Tại LSR1: LSR1 gởi đi bản tin Path và ba thành phần chính trong bản tin Path:
- Explicit Router: mô tả đường đi của bản tin Path trong mạng để xây dựng LSP và dành sẵn tài nguyên mạng trên LSP này.
- Label Request: đưa ra yêu cầu về giá trị nhãn dành cho LSP.
- Record Router: như đã trình bày ở trên, thành phần này trong bản tin giúp igress LSR có được thông tin chính xác về LSP như địa chỉ của các LSR thuộc LSP. Thành phần này rất thiết thực trong việc khắc phục hiện tượng lặp vòng.
Tại LSR2:
- Khi nhận được bản tin Path, LSR2 lưu thành phần Label Request và Explicit Route trong khối trạng thái đường dẫn (Path State Block). Đồng thời địa chỉ IP của LSR gởi LSR1, session, Tspec cũng được lưu lại sử dụng cho việc định tuyến bản tin RESV tương ứng với LSR1.
- Căn cứ vào thành phần Explicit router LSR2 chuyển bản tin Path đến LSR3
- Trong trường hợp không thể ấn định nhãn cho LSP, LSR2 sẽ gởi bản tin Path Err báo lỗi đến LSR1.
Tại LSR3: quá trình xử lý bản tin Path hoàn toàn tương tự như tại LSR2.
Tại LSR4: Nhận được bản tin Path, LSR4 biết được nó chính là egress LSR và tiến hành gởi bản tin RESV về LSR1.
-Quá trình gởi bản tin RESV
Hình 2.5: Đường đi của bản tin RESV.
Tại LSR4:
LSR4 ấn định nhãn bằng 0 cho LSP, đưa giá trị nhãn này vào thành phần Label của bản tin RESV. Lý do LSR4 sử dụng giá trị nhãn bằng 0? Khi nhận gói dữ liệu có nhãn bằng 0, LSR4 sẽ biết được nó là egress LSR của
....................................................
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI.
Khi mạng Internet này càng một mở rộng cùng với sự yêu cầu về chất lượng dịch vụ và tính bảo mật, MPLS là một giải pháp tối ưu. Nó kết hợp các ưu điểm của IP và ATM mà chi phí triển khai cũng không quá đắt, có thể phối hợp và nâng cấp từ mạng ATM hoặc Frame Relay đã có sẵn. Ngoài ra, MPLS còn là một giải pháp tối ưu cho dịch vụ VPN. MPLS là một công nghệ kết hợp tốt nhất giữa định tuyến lớp 3 và chuyển mạch lớp 2 cho phép chuyển tải các gói rất nhanh trong mạng lõi và định tuyến tốt ở mạng biên dựa vào nhãn.
Đồ án đã giải quyết được một số vấn đề như sau:
-Tổng quan về MPLS: giới thiệu các khái niệm cơ bản về MPLS, thành phần của MPLS và phương thức hoạt động của MPLS.
-Tập trung nghiên cứu cách thức phân phối nhãn và xác định tuyến trong MPLS. Mô phỏng hoạt động của giao thức phân phối nhãn CR-LDP so sánh với giao thức IP truyền thống. Giải thích sự khác biệt của thuật toán định tuyến dựa trên ràng buộc CSPF và thuật toán tìm đường ngắn nhất SPF.
-Công cụ mô phỏng dựa trên nền NS2 giúp thấy được bản chất của quá trình định tuyến tuy nhiên chưa can thiệp quá nhiều được vào mã nguồn của NS2, một số hàm, thủ tục trong thư viện MPLS do NS2 hỗ trợ chưa mô phỏng đầy đủ các hoạt động của một thiết bị thật sự. Các số liệu kết quả chỉ có độ tin cậy tương đối.
Đồ án này còn một số hạn chế như chưa đề cập đến chất lượng dịch vụ (QoS), IntServ và DiffServ. Chưa đề cập đến ứng dụng MPLS trong mạng riêng ảo (VPN). Chưa mô phỏng giao thức dành trước tài nguyên mạng (RSVP) do quá trình cài module RSVP hỗ trợ cho NS2 khá phức tạp. Nếu có điều kiện phát triển đề tài em sẽ cố gắng khắc phục các hạn chế trên.
Thông qua đồ án này, em mong muốn hiểu thêm được về công nghệ Chuyển Mạch Nhãn Đa Giao Thức, đang phát triển mạnh mẽ tại Việt Nam trong mạng đường trục do VTN triển khai.
TÀI LIỆU SỬ DỤNG THAM KHẢO.
[1] Ts. Trần Công Hùng, “Chuyển mạch nhãn đa giao thức-MPLS”, nhà xuất bản Thông Tin và Truyền Thông, 2009.
[2] ThS. Hoàng Trọng Minh “Định tuyến đảm bảo chất lượng dịch vụ trong MPLS”, Học Viện Công Nghệ Bưu Chính Viễn Thông.
[3] SV. Võ Minh Đức, Đồ án “ Kỹ thuật lưu lượng trong MPLS”, Học Viện Công Nghệ Bưu Chính Viễn Thông-Cơ sở thành phố Hồ Chí Minh, 2007. (download trên diễn đàn http://vnpro.org)
[4] Tony Dongliang Feng, “An Analysis of Constraint-based Routing in MPLS”, April 15, 2002.
[5] Luc De Ghein “MPLS.Fundamentals Nov” sách của Cisco, 2006.
[6] RFC 3036: LDP Specification.
[7] Website: http://www.blogthuthuat.
[8] Website: http://hoangtrongminh.info/diendan.
[9] Website: http://vntelecom.org/diendan
[10] Website: http://nsnam.isi.edu/nsnam.
PHẦN PHỤ LỤC.
Bài 1: Mô phỏng mạng IP sử dụng thuật toán định tuyến ngắn nhất.
set ns [new Simulator]
$ns rtproto LS
set nf [open ip.nam w]
$ns namtrace-all $nf
set f0 [open flow_0 w]
set f1 [open flow_1 w]
set f2 [open flow_2 w]
set f3 [open flow_3 w]
#Topo
# 1.7M
# R3----------R6
# / /
# 1.7M / /1.7M
# / /
# 5M / /
# R0---------R1----------R4-----------R7----------R9-----------R11
# \ 2.7M \ 2.7M \ 1.7M \ 5M
# \ \ \ \
# 3.7M \ 3.7M \ 3.7M \ 3.7M\
# \ \ \ \
# R2----------R5-----------R8---------R10
# 3.7M 1.7M 3.7M
#
# make nodes 1->11
foreach i "0 1 2 3 4 5 6 7 8 9 10 11" {
set R$i [$ns node]
}
# make links
$ns duplex-link $R0 $R1 5Mb 10ms DropTail
$ns duplex-link $R1 $R4 2.7Mb 30ms SFQ
$ns duplex-link $R4 $R7 2.7Mb 30ms SFQ
$ns duplex-link $R7 $R9 1.7Mb 30ms SFQ
$ns duplex-link $R1 $R2 3.7Mb 30ms SFQ
$ns duplex-link $R2 $R5 3.7Mb 30ms SFQ
$ns duplex-link $R5 $R8 1.7Mb 30ms SFQ
$ns duplex-link $R8 $R10 3.7Mb 30ms SFQ
$ns duplex-link $R10 $R9 3.7Mb 30ms SFQ
$ns duplex-link $R4 $R5 3.7Mb 30ms SFQ
$ns duplex-link $R7 $R8 3.7Mb 30ms SFQ
$ns duplex-link $R4 $R3 1.7Mb 30ms SFQ
$ns duplex-link $R3 $R6 1.7Mb 30ms SFQ
$ns duplex-link $R6 $R7 1.7Mb 30ms SFQ
$ns duplex-link $R9 $R11 5Mb 10ms DropTail
# make topo
$ns duplex-link-op $R0 $R1 orient right
$ns duplex-link-op $R1 $R4 orient right
$ns duplex-link-op $R4 $R7 orient right
$ns duplex-link-op $R7 $R9 orient right
$ns duplex-link-op $R9 $R11 orient right
$ns duplex-link-op $R1 $R2 orient right-down
$ns duplex-link-op $R4 $R5 orient right-down
$ns duplex-link-op $R7 $R8 orient right-down
$ns duplex-link-op $R9 $R10 orient right-down
$ns duplex-link-op $R2 $R5 orient right
$ns duplex-link-op $R5 $R8 orient right
$ns duplex-link-op $R8 $R10 orient right
$ns duplex-link-op $R4 $R3 orient right-up
$ns duplex-link-op $R3 $R6 orient right
$ns duplex-link-op $R7 $R6 orient right-up
#
$ns duplex-link-op $R0 $R1 label " 5M "
$ns duplex-link-op $R1 $R4 label " 2.7M "
$ns duplex-link-op $R4 $R7 label " 2.7M "
$ns duplex-link-op $R7 $R9 label " 1.7M "
$ns duplex-link-op $R9 $R11 label " 5M "
$ns duplex-link-op $R4 $R3 label " 1.7M "
$ns duplex-link-op $R3 $R6 label " 1.7M "
$ns duplex-link-op $R6 $R7 label " 1.7M "
$ns duplex-link-op $R1 $R2 label " 3.7M "
$ns duplex-link-op $R2 $R5 label " 3.5M "
$ns duplex-link-op $R5 $R8 label " 1.7M "
$ns duplex-link-op $R8 $R10 label " 3.7M "
$ns duplex-link-op $R9 $R10 label " 3.7M "
$ns duplex-link-op $R9 $R11 label " 5M "
$ns duplex-link-op $R4 $R5 label " 3.7M "
$ns duplex-link-op $R7 $R8 label " 3.7M "
$R0 label "Nguon"
$R11 label "Dich"