Jun 18, 2012
268 Views

QoS trong MPLS

Written by

CHƯƠNG 1: GIỚI THIỆU MỘT SỐ THẾ HỆ MẠNG

1.1 MẠNG IP
a. Chuyển tiếp IP và những hạn chế của nó
Như ta đã biết, Internet là một tập hợp các mạng kết nối với nhau dùng để chuyển tiếp gói tin giữa các host sử dụng IP. IP cung cấp dịch vụ đóng gói vô hướng, không có sự đảm bảo phân phối gói tin. Trong mô hình Internet các hệ thống dùng để chuyển tiếp gói tin gọi là Router dùng để chuyển tiếp gói tin đến đích. Để thực hiện điều này router cần xác định nexthop và interface ngõ ra để chuyển tiếp gói tin. Thông tin này có được thông qua các thông tin định tuyến được sử dụng để xây dựng bảng chuyển tiếp gói tin (Forwarding Information Base –FIB).
Tiến trình chuyển tiếp gói tin gồm 3 hoạt động sau:
+ Tìm địa chỉ để xác định interface ngõ ra
+ Chuyển tiếp gói tin
+ Phân lịch.

 

Hình 1.1: Chuyển tiếp gói tin trong IP

Mỗi router duy trì một bảng định tuyến học được thông qua các giao thức định tuyến hoặc định tuyến tĩnh. Bảng định tuyến này có thể có kích thước cực kì lớn, trong Internet nó có thể có đến 50 ngàn entry. Đối với mỗi gói tin đi vào router, địa chỉ IP đích sẽ được kiểm tra, dựa vào thông tin trong bảng định tuyến sẽ xác định hop kế tiếp và interface ngõ ra để chuyển tiếp gói tin. Quyết định chuyển tiếp được thực hiện độc lập trên mỗi router trong mạng. Ngoài ra, việc sử dụng subnet mask yêu cầu địa chỉ IP đích trong mào đầu của gói tin đi vào phải thích hợp với mask trong bảng định tuyến, nghĩa là dựa trên quy tắc “longest match” để xem thử entry nào có mask với số bit đúng nhất với địa chỉ gói tin sẽ được dùng làm thông tin chuyển tiếp. Do đó, chuyển tiếp IP có thể được xem là tiến trình ánh xạ mỗi địa chỉ IP đích đến hop kế tiếp. Vì mỗi router có số lượng next-hop giới hạn, nên chuyển tiếp IP có thể được xem như là quá trình ánh xạ tập hợp các gói tin vào số next-hop giới hạn đó hoặc tương đương với số lượng subnet trên router. Tất cả các gói tin trong một subnet không có sự phân biệt nhau và được chuyển tiếp theo cùng một phương thức xác định, chúng đi qua cùng một đường dẫn đến mạng. Một nhóm gói tin như vậy được gọi là lớp chuyển tiếp tương đương FEC (Forwarding Equivalence Class). Khi gói tin di chuyển đến đích cuối cùng, mỗi router dọc đường đi sẽ kiểm tra địa chỉ đích của gói tin và đăng kí nó đến FEC.
Ta có thể thấy rõ rằng chuyển tiếp IP yêu cầu hoạt động tìm kiếm địa chỉ IP phức tạp ở mỗi router dọc đường đi của gói tin. Bất cứ sự thay đổi nào về thông tin điều khiển việc chuyển tiếp của gói tin sẽ được thông báo cho tất cả các thiết bị trong miền định tuyến, dẫn đến để xử lý cho xong một gói tin làm tốn thời gian cho những việc sau: thời gian tìm kiếm, thời gian cập nhật, và tốn bộ nhớ xử lý, tốn CPU.
Tất cả tiến trình định tuyến và chuyển tiếp nói trên đây diễn ra ở lớp Network. Các router có thể kết nối trực tiếp với nhau theo mô hình điểm-điểm, hoặc là có thể kết nối với nhau bằng các switch mạng LAN hay mạng WAN (ví dụ mạng Frame Relay, ATM).

Hình 1.2: Mạng Frame-relay

Nhưng không may, các switch lớp 2 này không có khả năng nắm giữ thông tin định tuyến lớp 3 hoặc để chọn đường đi cho gói tin bằng cách phân tích địa chỉ đích lớp 3 của gói tin. Do đó, các switch lớp 2 không tham gia vào quá trình chuyển tiếp gói tin trong lớp 3, chúng chỉ chứa thông tin về MAC Address của đích đến. Các đường đi ở LAN lớp 2 được thiết lập khá đơn giản – tất cả LAN switch đều trong suốt với các thiết bị kết nối với chúng. Nhưng việc thiết lập đường đi trong mạng WAN lớp 2 lại phức tạp hơn nhiều. Đường đi của gói tin trong mạng WAN lớp 2 được thiết lập thủ công và chỉ được thiết lập khi có yêu cầu. Thiết bị định tuyến ở biên mạng lớp 2 (ingress router) muốn chuyển dữ liệu đến thiết bị ngõ ra (egress router) cần thiết lập hoặc là kết nối trực tiếp đến egress router (kết nối này được gọi là các kênh ảo VC) hoặc là gửi dữ liệu của nó đến một thiết bị khác để truyền dẫn đến đích. Để đảm bảo chuyển tiếp gói tin tối ưu trong mạng WAN lớp 2, các kênh ảo phải tồn tại giữa hai router bất kì kết nối vào mạng WAN đó. Điều này có vẻ đơn giản để xây dựng nó nhưng lại gặp một vấn đề khác là khả năng mở rộng bị hạn chế. Các vấn đề mà ta có thể gặp phải là:
+ Mỗi lần một router mới kết nối vào mạng WAN lõi, một kênh ảo phải được thiết lập giữa router này và router khác (nếu có nhu cầu cần chuyển tiếp gói tin tối ưu).
+ Với việc cấu hình giao thức định tuyến, mỗi router gắn vào mạng WAN lớp 2 (được xây dựng với các ATM hay Frame Relay switch) cần có một kênh ảo dành trước với mỗi router khác kết nối vào mạng lõi đó. Để đạt được độ dự phòng mong muốn, mỗi router cũng phải thiết lập mối quan hệ cận kề định tuyến với router khác. Kết quả là tạo ra mô hình mạng full-mesh, trong đó bản thân mỗi router sẽ nắm giữ một số lượng lớn láng giềng có mối quan hệ cận kề về giao thức định tuyến, từ đó tạo ra lưu lượng định tuyến với số lượng lớn.
+ Khó mà biết chính xác bao nhiêu lưu lượng chạy giữa trên hai router trong mạng.
Từ những hạn chế nói trên rõ ràng cần phải có một cơ chế khác để có thể trao đổi thông tin lớp mạng giữa các router và WAN switch, và để cho phép các switch tham gia vào tiến trình quyết định chuyển tiếp gói tin tức là không cần phải có các kênh ảo giữa các router biên nữa. Để đạt được sự chuyển tiếp như vậy thì trong bất kì môi trường mạng nào các thiết bị chuyển tiếp không nên phụ thuộc vào thông tin có trong mào đầu gói tin, thiết bị này chỉ cần chuyển mạch gói tin từ ingress router đến egress router mà không cần phân tích địa chỉ IP

đích có trong gói tin. Do đó, đối với mỗi gói tin được chuyển tiếp sẽ có một nhãn được thêm vào, nhãn này sẽ đảm trách các vấn đề chuyển tiếp gói tin đến đích, các vấn đề về QoS, v.v… nghĩa là chuyển tiếp gói tin dựa trên nhãn. Bất kỳ sự thay đổi nào trong tiến trình quyết định sẽ được thông báo cho router khác trong mạng thông qua việc phân phối một nhãn mới. Đó là lý do ra đời của MPLS (Multiprotocol Label Switching) – công nghệ chuyển mạch nhãn đa giao thức.
1.2 MẠNG MPLS
MPLS là công nghệ thường dùng trong mạng core, bởi vì trong mạng core 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 thì việc xảy ra nghẽn mạng là không thể tránh khỏi, mạng MPLS có thể đáp ứng được các yêu cầu khắc khe trên, nó sử dụng chuyển mạch nhãn (Swithcing Label) chứ không routing như mạng IP.
Một mạng MPLS điển hình:


Hình 1.3: Mạng MPLS

Mạng MPLS đầy đủ sẽ gồm có ba loại router CE (Customer Equipment hay router khách hàng), PE ( Provider Equipment hay router biên nhà cung cấp ) và P ( Provider hay router bên trong nhà cung cấp dịch cụ ), các router P và một phần PE sẽ chạy MPLS, các router CE và một phần PE còn lại sẽ chạy các giao thức khác ( có thể là IP, Frame-Relay, ATM…).

CHƯƠNG 2: TỔNG QUAN VỀ MẠNG MPLS2.1 Giới thiệu:
Ngày nay mạng máy tính đã phát triển rộng khắp, đặc biệt là mạng Internet nó đã trở thành phổ biến trên toàn thế giới. Và nó đang phát triển cả về số lượng lẫn chất lượng, bên cạnh việc tăng vọt số user trong mạng thì việc gia tăng dịch vụ cũng là vấn đề rất lớn, trước đây nếu như ta chỉ có nhu cầu truyền data thì bây giờ ta cần truyền cả tín hiệu thoại tín hiệu video và một số dịch vụ mở rộng khác, Với mạng Internet truyền thống thì nguồn tài nguyên về băng thông và tốc độ là hạn chế, vì vậy để thực hiện truyền tín hiệu thoại và video có chất lượng là không thể.
Nhiều mạng thế hệ mới hơn đã ra đời như:Frame-Relay, ISDN, ATM, chúng đã giải quyết phần nào những yêu cầu trên nhưng vẫn còn nhiều hạn chế, theo đà phát triển của công nghệ mạng MPLS đã ra đời với ý tưởng dùng nhãn để chuyển mạch nó đã giải quyết và khắc phục những hạn chế mà các mạng trước đây vẫn còn tồn tại như: Tốc độ, băng thông không hữu ích, delay….
Mạng MPLS là sự kế thừa và kết hợp của routing thông minh trong mạng IP và chuyển mạch tốc độ cao trong mạng ATM, có cả routing ở layer 3 (IP) và switching ở layer 2 (VPI/VCI của ATM).
MPLS là cơ chế chuyển mạch nhãn do Cisco phát triển và được IETF chuẩn hóa, hỗ trợ khả năng chuyển mạch, định tuyến luồng thông tin một cách hiệu quả.
MPLS là một công nghệ kết hợp đặc điểm tốt nhất giữa định tuyến lớp ba và chuyển mạch lớp hai cho phép chuyển tải các gói rất nhanh trong mạng lõi (core) và định tuyến tốt ở mạng biên (edge) bằng cách dựa vào nhãn (label). MPLS là một phương pháp cải tiến việc chuyển tiếp gói trên mạng bằng các nhãn được gắn với mỗi gói IP, tế bào ATM, hoặc frame lớp hai. Phương pháp chuyển mạch nhãn giúp các Router và MPLS-enable ATM switch ra quyết định theo nội dung nhãn tốt hơn việc định tuyến phức tạp theo địa chỉ IP đích. MPLS kết nối tính thực thi và khả năng chuyển mạch lớp hai với định tuyến lớp ba, cho phép các ISP cung cấp nhiều dịch vụ khác nhau mà không cần phải bỏ đi cơ sở hạ tầng sẵn có. Cấu trúc MPLS có tính mềm dẻo trong bất kỳ sự phối hợp với công

nghệ lớp hai nào. MPLS hỗ trợ mọi giao thức lớp hai, triển khai hiệu quả các dịch vụ IP trên một mạng chuyển mạch IP. MPLS hỗ trợ việc tạo ra các tuyến khác nhau giữa nguồn và đích trên một đường trục Internet. Bằng việc tích hợp MPLS vào kiến trúc mạng, các ISP có thể giảm chi phí, tăng lợi nhuận, cung cấp nhiều hiệu quả khác nhau và đạt được hiệu quả cạnh tranh cao.
Lợi ích của MPLS
– Làm việc với hầu hết các công nghệ liên kết dữ liệu như IP, ATM….
– Tương thích với hầu hết các giao thức định tuyến và các công nghệ khác liên quan đến Internet.
– Hoạt động độc lập với các giao thức định tuyến (routing protocol).
– Tìm đường đi linh hoạt dựa vào nhãn(label) cho trước.
– Hỗ trợ việc cấu hình quản trị và bảo trì hệ thống (OAM).
– Có thể hoạt động trong một mạng phân cấp.
– Có tính tương thích cao.
Đặc điểm mạng MPLS
– Không có thành phần giao thức phía host.
– MPLS chỉ nằm trên các router.
– MPLS là một giao thức độc lập nên có thể hoạt động với các giao thức mạng khác IP như IPX, ATM, Frame-Relay, PPP hoặc trực tiếp với tầng Data Link.
– Định tuyến trong MPLS được dùng để tạo các luồng băng thông cố định tương tự như kênh ảo của ATM hay Frame Relay.
– MPLS đơn giản hoá quá trình định tuyến, đồng thời tăng cường tính linh động với các tầng trung gian.

Một số ứng dụng của MPLS:
Internet có ba nhóm ứng dụng chính: voice, data, video với các yêu cầu khác nhau. Voice yêu cầu độ trễ thấp, cho phép thất thoát dữ liệu để tăng hiếu quả. Video cho phép thất thoát dữ liệu ở mức chấp nhận được, mang tính thời gian thực (realtime). Data yêu cầu độ bảo mật và chính xác cao. MPLS giúp khai thác tài nguyên mạng đạt hiệu quả cao.
Một số ứng dụng đang được triển khai là:
– MPLS VPN: Nhà cung cấp dịch cụ có thể tạo VPN lớp 3 dọc theo mạng đường trục cho nhiều khách hàng, chỉ dùng một cơ sở hạ tầng công cộng sẵn có, không cần các ứng dụng encrytion hoặc end-user.
– MPLS Traggic Engineer: Cung cấp khả năng thiết lập một hoặc nhiều đường đi để điều khiển lưu lượng mạng và các đặc trưng thực thi cho một loại lưu lượng.
– MPLS QoS (Quality of service): Dùng QoS các nhà cung cấp dịch vụ có thể cung cấp nhiều loại dịch vụ với sự đảm bảo tối đa về QoS cho khách hàng.
Điểm vượt trội của MPLS so với các mô hình IP over ATM
– Khi hợp nhất với chuyển mạch ATM, chuyển mạch nhãn tận dụng những thuận lợi của các tế bào ATM – chiều dài thích hợp và chuyển với tốc độ cao. Trong mạng đa dịch vụ chuyển mạch nhãn cho phép chuyển mạch BPX/MGX nhằm cung cấp dịch vụ ATM, Frame Replay và IP Internet trên một mặt phẳng đơn trong một đường đi tốc độ cao. Các mặt phẳng (Platform) công cộng hỗ trợ các dịch vụ này để tiết kiệm chi phí và đơn giản hóa hoạt động cho nhà cung cấp đa dịch vụ. ISP sử dụng chuyển mạch ATM trong mạng lõi, chuyển mạch nhãn giúp các các dòng Cisco, BPX8600, MGX8800, Router chuyển mạch đa dịch vụ 8540 và các chuyển mạch Cisco ATM giúp quản lí mạng hiệu quả hơn xếp chồng (overlay) lớp IP trên mạng ATM. Chuyển mạch nhãn tránh những rắc rối gây ra do có nhiều router ngang hàng và hỗ trợ cấu trúc phân cấp (hierarchical structure) trong một mạng của ISP.

Sự tích hợp:
MPLS xác nhập tính năng của IP và ATM chứ không xếp chồng lớp IP trên ATM. MPLS giúp cho cơ sở hạ tầng ATM thấy được định tuyến IP và loại bỏ các yêu cầu ánh xạ giữa các đặc tính IP và ATM. MPLS không cần địa chỉ ATM và kỹ thuật định tuyến.
Độ tin cậy cao hơn:
Với tốc độ chuyển mạch, MPLS có khả năng cung cấp cho mạng sự an toàn và nhanh chóng, đảm bảo dữ liệu không bị thất thoát nhiều, ngoài ra còn có các cơ chế và các mode trong kĩ thuật MPLS giúp bảo mật cho thông tin khách hàng.
Trực tiếp thực thi các loại dịch vụ:
MPLS sử dụng hàng đợi và bộ đếm của ATM để cung cấp nhiều loại dịch vụ khác nhau. Nó hỗ trợ quyền ưu tiên IP và loại dịch vụ (class of service–cos) trên chuyển mạch ATM mà không cần chuyển đổi phức tạp sang các lớp ATM Forum Service.
Hỗ trợ hiệu quả cho Mulicast và RSVP:
Khác với MPLS, xếp lớp IP trên ATM nảy sinh nhiều bất lợi, đặc biệt trong việc hỗ trợ các dịch vụ IP như IP muticast và RSVP( Resource Reservation Protocol – RSVP). MPLS hỗ trợ các dịch vụ này, kế thừa thời gian và công việc theo các chuẩn và khuyến khích tạo nên ánh xạ xấp xỉ của các đặc trưng IP&ATM.
Giảm tải trên mạng lõi:
Các dịch vụ VPN hướng dẫn cách MPLS hỗ trợ mọi thông tin định tuyến để phân cấp. Hơn nữa,có thể tách rời các định tuyến Internet khỏi lõi mạng cung cấp dịch vụ. Giống như dữ liệu VPN, MPLS chỉ cho phép truy suất bảng định tuyến Internet tại điểm ra vào của mạng. Với MPLS, kĩ thuật lưu lượng truyền ở biên của AS được gắn nhãn để liên kết với điểm tương ứng. Sự tách rời của định tuyến nội khỏi định tuyến Internet đầy đủ cũng giúp hạn chế lỗi, ổn định và tăng tính bảo mật

Khả năng điều khiển lưu lượng:
MPLS cung cấp các khả năng điều khiển lưu lượng để sửng dụng hiệu quả tài nguyên mạng. Kỹ thuật lưu lượng giúp chuyển tải từ các phần quá tải sang các phần còn rỗi của mạng dựa vào điểm đích, loại lưu lượng, tải, thời gian,…
Các hình thức hoạt động của MPLS:
Mạng MPLS dùng các nhãn để chuyển tiếp các gói. Khi một gói đi vào mạng, Node MPLS ở lối vào đánh dấu một gói đến lớp chuyển tiếp tương đương (FEC – Forwarding Equivalence Class) cụ thể.
Trong mạng MPLS nhãn điều khiển mọi hoạt động chuyển tiếp. Điều này có nhiều thuận lợi hơn sự chuyển tiếp thông thường:
1. Sự chuyển tiếp MPLS có thể thực hiện bằng các bộ chuyển mạch (switch), có thể tra cứu (lookup) thay thế nhãn mà không ảnh hưởng đến header lớp mạng. Các bộ chuyển mạch ATM thực hiệc các chức năng chuyển các tế bào dựa trên giá trị nhãn. ATM-switch cần được điều khiển bởi một thành phần điều khiển MPLS dựa vào IP (IP-base MPLS control element) như bộ điều khiển chuyển mạch nhãn (LSC – Label Switch Controller).
2. Khi một gói vào mạng nó được chuyển đến lớp chuyển tiếp tương đương (FEC – Forwarding Equivalence Class). Router có thể sử dụng thông tin gói, như cổng vào (ingress) hay giao tiếp (interface). Các gói đi vào mạng được gán các nhãn khác nhau. Quyết định chuyển tiếp được thực hiện dễ dàng bởi router ngõ vào. Điều này không có trong sự chuyển tiếp thông thường, vì sự xác định lộ trình của các router khác với thông tin lộ trình trên gói.
3. Mạng được quản lý lưu lượng buộc gói đi theo một con đường cụ thể, một con đường chưa được sử dụng. Con đường đó được chọn trước hoặc ngay khi gói đi vào mạng tốt hơn sự lựa chọn bởi các thuật toán định tuyến thông thường. Trong MPLS, một nhãn có thể được dùng để đại diện cho tuyến, không cần kèm trong gói. Đây là dạng cơ bản của MPLS Traffic Engineering.

4. “Lớp dịch vụ (Class of service)” của gói được xác định bởi nút MPLS vào (ingress MPLS node). Một nút MPLS vào có thể huỷ tuyến hay sửa đổi lịch trình để điều khiển các gói khác nhau. Các trạm sau có thể định lại ràng buộc dịch vụ bằng cách thiết lập PHB (per-hop behavior). MPLS cho phép (không yêu cầu) độ ưu tiên một phần hoặc hoàn toàn của lớp dịch vụ từ nhãn. Trường hợp này nhãn đại diện cho sự kết hợp của một FEC với độ ưu tiên hoặc lớp dịch vụ. Đây là dạng cơ bản của MPLS QoS.
2.2 Công nghệ chuyển mạch
2.2.1 Nhãn MPLS
Thay thế cơ chế định tuyến lớp ba bằng cơ chế chuyển mạch lớp hai. MPLS hoạt động trong lõi của mạng IP. Các Router trong lõi phải enable MPLS trên từng giao tiếp. Nhãn được gắn thêm vào gói IP khi gói đi vào mạng MPLS. Nhãn được tách ra khi gói ra khỏi mạng MPLS. Nhãn (Label) được chèn vào giữa header lớp ba và header lớp hai. Sử dụng nhãn trong quá trình gửi gói sau khi đã thiết lập đường đi. MPLS tập trung vào quá trình hoán đổi nhãn (Label Swapping). Một trong những thế mạnh của khiến trúc MPLS là tự định nghĩa chồng nhãn (Label Stack).
1. Công thức để gán nhãn gói tin là:
Network Layer Packet + MPLS Label Stack
2. Không gian nhãn (Label Space): có hai loại. Một là, các giao tiếp dùng chung giá trị nhãn (per-platform label space). Hai là, mỗi giao tiếp mang giá trị nhãn riêng, (Per-interface Label Space). Bộ định tuyến chuyển nhãn (LSR – Label Switch Router): ra quyết định chặng kế tiếp dựa trên nội dung của nhãn, các LSP làm việc ít và hoạt động gần như Switch.
3. Con đường chuyển nhãn (LSP – Label Switch Path): xác định đường đi của gói tin MPLS. Gồm hai loại: Hop by hop signal LSP – xác định đường đi khả thi nhất theo kiểu best effort và Explicit route signal LSP – xác định đường đi từ nút gốc.

Nhãn là giá trị có chiều dài cố định dùng để nhận diện một FEC nào đó. Sự kết hợp giữa FEC và nhãn được gọi là ánh xạ nhãn – FEC. MPLS được thiết kế để sử dụng ở bất kì môi trường và hình thức đóng gói lớp 2 nào, hầu hết các hình thức đóng gói lớp 2 là dựa trên frame, và MPLS chỉ đơn giản thêm vào nhãn 32 bit giữa mào đầu lớp 2 và lớp 3, gọi là shim header. Phương thức đóng gói này gọi là Frame-mode MPLS.
ATM là một trường hợp đặc biệt sử dụng cell có chiều dài cố định. Do đó nhãn không thể được thêm vào trong mỗi cell. MPLS sử dụng các giá trị VPI/VCI trong mào đầu ATM để làm nhãn. Phương thức đóng gói này được gọi là Cell-mode MPLS.
Nhãn của gói tin đi ra là nhãn ngõ ra, tương tự cho nhãn của gói tin đi vào là nhãn ngõ vào. Một gói tin có thể có cả nhãn ngõ ra và ngõ vào, có thể có nhãn ngõ vào mà không có nhãn ngõ ra hoặc là ngược lại. Thường thường, một gói tin có thể có nhiều nhãn được gọi là chồng nhãn (lable stack). Các nhãn trong chồng nhãn được tổ chức theo kiểu chồng nhãn LIFO (last-in, first-out). Một gói tin không có gắn nhãn được xem là có chiều sâu chồng nhãn bằng 0. Chiều sâu d của chồng nhãn tương ứng với trình từ của nhãn trong chồng nhãn <1,2,3….,d-1,d> với nhãn 1 ở đáy chồng nhãn và nhãn d ở đỉnh của chồng nhãn.
(Trong khuôn khổ luận văn này chỉ trình bày đóng gói MPLS–PPP và LAN ở lớp tuyến dữ liệu).
Nhãn MPLS là một sự đột phá, nó dựa trên ý tưởng VPI/VCI của mạng ATM nhưng cao cấp hơn, gồm 32 bit.



Hình 2.1: Nhãn MPLS

+ Label: Trường này gồm 20 bit, như vậy chúng ta sẽ có hơn 1 tỷ nhãn khác nhau sử dụng, đây chính là phần quan trọng nhất trong nhãn MPLS nó dùng để chuyển tiếp gói tin trong mạng.
+ Experimemtal (EXP): Trường này gồm 3 bit, nó dùng để mapping với trường ToS hoặc DSCP trong gói tin tới để thực hiện QoS.
+ Stack (S): Chỉ có 1 bit, khi một gói tin đi qua một tunnel, nó sẽ có nhiều hơn 1 nhãn gắn vào, khi đó ta sẽ một stack nhãn, bit S này dung để chỉ ra rằng nhãn này có nằm đáy Stack không, nếu ở đáy thì S=1, ngược lại S=0.

Hình 2.2: Nhãn của stack

+ Time-to-live (TTL): Trường này như trường TTL trong IP header, khi chuyển tiếp gói tin nếu như router không tìm thấy destination mà vẫn cứ chạy trong mạng thì sẽ xảy ra loop làm nghẽ mạng (congestion). TTL dùng để khắc phục điều này, giá trị ban đầu

của nó là 255, mỗi khi đi qua một router thì giá trị này sẽ giảm đi 1, nếu như giá trị này đã giảm về 0 mà gói tin vẫn chưa tới đích thì nó sẽ bị rớt (dropped). Khi gói tin đến router biên thì trường TTL trong IP header sẽ giảm đi một và copy qua trường TTL trong nhãn MPLS, giá trị này sẽ giảm dần khi đi qua mạng MPLS, khi ra khỏi mang MPLS thì trường nay lại được copy qua trường TTL trong IP header, nếu giá trị là 0 thì gói sẽ bị rớt (drop).
Các giá trị qui ước cho trường TTL:
0: Chính nó (Host gởi tin đến chính nó)
1: Trong cùng một subnet
32: Trong cùng một site (Một mạng)
64: Trong cùng một vùng (Có cùng AS)
128: Trong cùng một một lục địa
255: Không giới hạn
Các cách đóng gói tin:



Hình 2.3: Nhãn lớp 2

Như vậy: Đối với mạng IP cách đóng gói tin sẽ là Ethernet hay PPP và nhãn là một shim được chèn vào như trình bày ở trên. Đối mạng Frame-Relay nhãn sẽ là giá trị DLCI, với mạng ATM thì nhãn sẽ là VPI hoặc VCI.
Các loại nhãn đặc biệt
– Untagged: gói MPLS đến được chuyển thành một gói IP và chuyển tiếp đến đích.
– Nhãn Implicit-null hay POP: Nhãn này được gán khi nhãn trên (top label) của gói MPLS đến bị bóc ra và gói MPLS hay IP được chuyển tiếp tới trạm kế xuôi dòng. Giá trị của nhãn này là 3 (trường nhãn 20 bit). Nhãn này được dùng trong mạng MPLS cho những trạm kế cuối.
– Nhãn Explicit-null: Chỉ mang giá trị EXP, giá trị nhãn bằng 0, được gán để giữ giá trị EXP cho nhãn trên (top label) của gói đến. Nhãn trên được hoán đổi với giá trị 0 và chuyển tiếp như một gói MPLS tới trạm kế xuôi dòng. Nhãn này sử dụng khi thực hiện QoS với MPLS trong mô hình Pipe Mode.
– Nhãn Aggregate: với nhãn này, khi gói MPLS đến nó bị bóc tất cả nhãn trong chồng nhãn ra để trở thành một gói IP và thực hiện tra cứu trong FIB để xác định giao tiếp ngõ ra cho nó.
2.2.2 Chuyển tiếp gói tin trong MPLS
Thuật toán chuyển tiếp nhãn (Label Forwarding Algorithm)
Bộ chuyển nhãn sử dụng một thuật toán chuyển tiếp dựa vào việc hoán đổi nhãn. Nút MPLS lấy giá trị trong nhãn của gói vừa đến làm chỉ mục đến LFIB. Khi giá trị nhãn tương ứng được tìm thấy, MPLS sẽ thay thế nhãn trong gói đó bằng nhãn ra (outgoing label) và gửi gói qua giao tiếp ngõ ra tương ứng đến trạm kế đã được xác định. Nếu nút MPLS chứa nhiều LFIB trên mỗi giao tiếp, nó sử dụng giao tiếp vật lý nơi gói đến để chọn một LFIB cụ thể phục vụ chuyển tiếp gói. Các thuật toán chuyển tiếp thông thường sử dụng nhiều thuật toán như unicast, multicast và các gói unicast có thiết lập bit ToS. Tuy nhiên, MPLS chỉ dùng một thuật toán chuyển tiếp dựa trên sự hoán đổi nhãn (Label swapping). Một nút MPLS truy xuất bộ nhớ đơn để lấy ra các thông tin như quyết định

dành ra tài nguyên cần thiết để chuyển tiếp gói. Khả năng chuyển tiếp và tra cứu tốc độ nhanh giúp chuyển nhãn (label switching) trở thành công nghệ chuyển mạch có tính thực thi cao. MPLS còn có thể dùng để chuyển vận các giao thức lớp ba khác như IPv6, IPX, hoặc Apple Talk. Các thuộc tính này giúp MPLS có thể tương thích tốt với việc chuyển đổi các mạng từ IPv4 lên IPv6.
Thực hiện chuyển tiếp dữ liệu với MPLS gồm các bước sau:
• Gán nhãn MPLS (trên LSR).
• Giao thức phân phối nhãn (LDP – label distribution protocol hay TDP – tag distribution protocol ) thực hiện gán nhãn và trao đổi nhãn giữa các LSR trong miền MPLS để thiết lập các phiên làm việc (session). Việc gán nhãn có thể gán cục bộ trên router hoặc trên giao tiếp của router.
• Thiết lập LSP giữa LSR/E_LSR.
• Mặc định trên router sử dụng LDP.
Trong các mạng thuần túy thì việc chuyển tiếp gói tin được thực hiện bằng cách tra bảng routing có trong mỗi router, công việc này thực hiện ở layer 3, nó tốn khá nhiều thời gian cho các router trong việc tra bảng routing nếu như bảng này có kích thước lớn (trong mạng bình thường bảng này có thể có tới vài trăm ngàn rout).
Trong nguyên lý định tuyến cổ điễn, thì để tìm ra next hop mỗi router phải thực hiện việc tra bảng routing như sau:

Hình 2.4: Chuyển tiếp IP

Như trên hình vẽ ta thấy: để có được thông tin về mạng 10.0.0.0/8 thì các router trong mạng phải thường xuyên update cho nhau về tình trạng up hay down của mạng này, việc update này còn tùy vào kĩ thuật áp dụng cho mạng là Link-state hay Distance vector, nhưng nói chung nó chiếm một lượng băng thông không mong muốn trong mạng, sau khi đã có bảng routing thì để gởi gói tin đến đích các router phải tra bảng routing mỗi khi gói tin tới nó để chuyển tiếp đến next hop.
Vì vậy trong MPLS sẽ không thực hiện như vậy, việc chuyển tiếp nhãn trong MPLS sẽ thực hiện ở layer 2, nó không phải tra bảng routing nên sẽ rất nhanh chóng để tìm ra next hop tiếp theo.


Hình 2.5: Chuyển tiếp MPLS

Theo hình vẽ trên, thì việc chuyển tiếp gói tin trong MPLS chỉ thực hiện trên nhãn, mỗi khi gói tin đến router các router sẽ thực hiện việc gán nhãn (router biên), swap nhãn (router core), và pop nhãn (router biên), việc này thực hiện ở layer 2 rất nhanh chóng (chúng ta sẽ tìm hiểu kĩ hơn ở các phần sau).
2.2.3 Các bảng tra FIB và LFIB
Bảng tra FIB (Forwarding information based) sẽ ánh xạ từ một gói tin IP không nhãn thành gói tin MPLS có nhãn ở ngõ vào của router biên hoặc từ gói tin IP không nhãn thành gói tin IP không nhãn ở ngõ ra của router biên, bảng này được hình thành từ bảng routing table, từ giao thức phân phối nhãn LDP và từ bảng tra LFIB.

Hình 2.6: Bảng tra FIB vả LFIB

Bảng tra LFIB (Label Forwarding Information Based) là bảng chứa đựng thông tin các nhãn đến các mạng đích, một gói tin có nhãn khi đi vào một router nó sẽ sử dụng bảng tra LFIB để tìm ra hop kế tiếp, ngõ ra của gói tin này có thể là gói tin có nhãn cũng có thể là gói tin không nhãn.
Hai bảng tra FIB và LFIB có giá trị như bảng routing table trong mạng IP, nhưng trong mạng IP thì bảng routing table có số entry rất lớn khoảng vài ngàn, còn với FIB và LFIB số nhãn mà nó nắm giữa rất ít khoảng vài chục là tối đa.
2.3 CẤU TRÚC MPLS
Có hai cơ chế hoạt đông trong MPLS là:
a. Cơ chế Frame Mode
Cơ chế này được sử dụng với các mạng IP thông thường, trong cơ chế này nhãn của MPLS là nhãn thực sự được thiết kế và gán cho các gói tin, trong mặt phẳng Control plane sẽ đảm nhiệm vai trò gán nhãn và phân phối nhãn cho các route giữa các router chạy MPLS, và trong cơ chế này các router sẽ kết nối trực tiếp với nhau

qua 1 giao diện Frame mode như là PPP, các router sẽ sử dụng địa chỉ IP thuần túy để trao đổi thông tin cho nhau như là: Thông tin về nhãn và bảng định tuyến routing table.
Còn với mạng ATM hay Frame-relay chúng không có các kết nối trực tiếp giữa các interface, nghĩa là không thể dùng địa chỉ IP thuần để trao đổi thông tin cho nhau, vì vậy ta phải thiết lập các kênh ảo giữa chúng (PVC – permanent virtual circuit)
b. Cơ chế cell mode. 
Thuật ngữ này dùng khi có một mạng gồm các ATM LSR dùng MPLS trong mặt phẳng điều khiển để trao đổi thông tin VPI/VCI thay vì dùng báo hiệu ATM. Trong kiểu tế bào, nhãn là trường VPI/VCI của tế bào. Sau khi trao đổi nhãn trong mặt phẳng điều khiển, ở mặt phẳng chuyển tiếp, router ngõ vào (ingress router) phân tách gói thành các tế bào ATM, dùng giá trị VCI/CPI tương ứng đã trao đổi trong mặt phẳng điều khiển và truyền tế bào đi. Các ATM LSR ở phía trong hoạt động như chuyển mạch ATM – chúng
chuyển tiếp một tế bào dựa trên VPI/VCI vào và thông tin cổng ra tương ứng. Cuối cùng, router ngõ ra (egress router) sắp xếp lại các tế bào thành một gói.
Trong đó:
• GFC (Generic Flow Control): Điều khiển luồng chung
• VPI (Virtual Path Identifier): nhận dạng đường ảo
• VCI (Virtual Channel Identifier): nhận dạng kênh ảo
• PT (Payload Type): Chỉ thị kiểu trường tin
• CLP (Cell Loss Priority): Chức năng chỉ thị ưu tiên huỷ bỏ tế bào
• HEC (Header error check): Kiểm tra lỗi tiêu đề.
MPLS chia thành 2 mặt phẳng
2.3.1 Control plane (trao đổi thông tin định tuyến và label)
Mặt phẳng điều khiển MPLS chịu trách nhiệm tạo ra và lưu trữ LIB. Tất cả các nút MPLS phải chạy một giao thức định tuyến IP để trao đổi thông tin định tuyến đến các nút

MPLS khác trong mạng. Các nút MPLS enable ATM sẽ dùng một bộ điều khiển nhãn (LSC–Label Switch Controller) như router 7200, 7500 hoặc dùng một môđun xử lý tuyến (RMP – Route Processor Module).
• Các giao thức định tuyến Link-state như OSPF và IS-IS là các giao thức được chọn vì chúng cung cấp cho mỗi nút MPLS thông tin của toàn mạng. Trong các bộ định tuyến thông thường, bản định tuyến IP dùng để xây dựng bộ lưu trữ chuyển mạch nhanh (Fast switching cache) hoặc FIB .Tuy nhiên với MPLS, bản định tuyến IP cung cấp thông tin của mạng đích và subnet prefix. Các giao thức định tuyến link-state gửi thông tin định tuyến (flood) giữa một tập các router nối trực tiếp, thông tin liên kết nhãn chỉ được phân phối giữa các router nối trực tiếp với nhau bằng cách dùng giao thức phân phối (LDP – Label Distribution Protocol) hoặc TDP (Cisco proproetary Tag Distribution protocol).
• Các nhãn được trao đổi giữa các nút MPLS kế cận để xây dựng nên LFIB. MPLS dùng một mẫu chuyển tiếp dựa trên sự hoán đổi nhãn để kết nối với các node điều khiển khác nhau. Mỗi node điều khiển chịu trách nhiệm đánh dấu và phân phối một tập các nhãn cũng như lưu trữ các thông tin điều khiển có liên quan khác. Các giao thức cổng nội (IGP – Interior Gateway Potocols) được dùng để xác nhận khả năng đến được, sự liên kết, và ánh xạ giữa FEC và địa chỉ trạm kế (next-hop address).
2.3.2 Data plane (chuyển tiếp gói tin dựa trên label)
Mặt phẳng chuyển tiếp sử dụng một cơ sở thông tin chuyển tiếp nhãn (LFIB – Label Forwarding Information Base) để chuyển tiếp các gói. Mỗi nút MPLS có hai bảng liên quan đến việc chuyển tiếp là: cơ sở thông tin nhãn (FIB – Forwarding Information Base) và LFIB. FIB chứa tất cả các nhãn được nút MPLS cục bộ đánh dấu và ánh xạ của các nhãn này đến các nhãn được nhận từ láng giềng (MPLS neighbor) của nó. LFIB sử dụng một tập con các nhãn chứa trong FIB để thực hiện chuyển tiếp gói.


Hình 2.7: Data plane và Control Plane

Các thành phần data plane và control plane của MPLS:
Cisco Express Forwarding (CEF) là nền tảng cho MPLS và hoạt động trên các router của Cisco. Do đó, CEF là điều kiện tiên quyết trong thực thi MPLS trên mọi thiết bị của Cisco ngoại trừ các ATM switch chỉ hỗ trợ chức năng của mặt phẳng chuyển tiếp dữ liệu.
CEF là một cơ chế chuyển mạch thuộc sở hữu của Cisco nhằm làm tăng tính đơn giản và khả năng chuyển tiếp gói IP. CEF tránh việc viết lại overhead của cache trong môi trường lõi IP bằng cách sử dụng một cơ sở thông tin chuyển tiếp (FIB – Forwarding Information Base) để quyết định chuyển mạch. Nó phản ánh toàn bộ nội dung của bảng định tuyến IP (IP routing table), ánh xạ 1-1 giữa FIB và bảng định tuyến. Khi router sử dụng CEF, nó duy trì tối thiểu 1 FIB, chứa một ánh xạ các mạng đích trong bảng định tuyến với các trạm kế tiếp (next-hop adjacencies) tương ứng. FIB ở trong mặt phẳng dữ liệu, nơi router thực hiện cơ chế chuyển tiếp và xử lý các gói tin. Trên router còn duy trì hai cấu trúc khác là cơ sở thông tin nhãn (LIB – Label Information Base) và cơ sở thông tin chuyển tiếp nhãn (LFIB – Label Forwarding Information Base). Giao thức phân phối sử dụng giữa các láng giềng MPLS có nhiệm vụ tạo ra các chỉ mục (entry) trong hai bảng này. LIB thuộc mặt phẳng điều khiển và được giao thức phân phối nhãn sử dụng khi địa chỉ mạng đích trong bảng định tuyến được ánh xạ với nhãn nhận được từ router xuôi dòng. LFIB thuộc mặt phẳng dữ liệu và chứa nhãn cục bộ (local label) đến nhãn trạm kế ánh xạ với giao tiếp ngõ ra (outgoing interface), được dùng để chuyển tiếp các gói được gán nhãn. Như vậy, thông tin về các mạng đến được do các

giao thức định tuyến cung cấp dùng để xây dựng bảng định tuyến (RIB – Routing Information Base). RIB cung cấp thông tin cho FIB. LIB được tạo nên dựa vào giao thức phân phối nhãn và từ LIB kết hợp với FIB tạo ra LFIB.
2.4 PHÂN PHỐI NHÃN TRONG MPLS
2.4.1 TDP
Trước đây, trong quá trình “thai nghén” ra MPLS, Cisco đưa ra công nghệ tag-switching và hỗ trợ từ IOS 11.1CT. MPLS được hỗ trợ bởi các router cisco từ IOS 12.1(3)T.
Tag-switching chính là tiền thân của mpls nên rất giống, chỉ có một số khác biệt như: Giao thức sử dụng phân phối nhãn của tag-switching là TDP – sử dụng tcp/udp port 711, còn mpls là LDP sử dụng tcp/udp port 646. Để cho phép chuyển mạch nhãn hoạt động thì IOS 11.1 là tag-switching ip, IOS 12.1 là mpls ip. Cú pháp lệnh tùy vào IOS.
2.4.2 LDP
MPLS là thế hệ sau của tag-switching, nó sử dụng giao thức LDP để phân phối nhãn, hoạt động như TDP chỉ khác là nó sử dụng LDP để phân phối nhãn, LDP phải được cấu hình trên từng interface chạy MPLS, các láng giềng của chúng sẽ tự động nhận ra các interface có chạy LDP kết nối với chúng. Sử dụng UDP broadcast và mulicast để tìm ra các láng giềng của chúng.
Để kích hoạt LDP MPLS trên các router ta dùng các lệnh sau:
P1#config t
P1(config)#ip cef
P1(config)#mpls ip
P1(config-if)#interface serial 0/0
P1(config-if)#mpls ip
Trong một miền MPLS, một nhãn gán tới một địa chỉ (FIB) đích được phân phối tới các láng giềng ngược dòng sau khi thiết lập session. Việc kết nối giữa mạng cụ thể với nhãn cục bộ và một nhãn trạm kế (nhận từ router xuôi dòng) được lưu trữ trong LFIB và LIB.

2.4.3 Sự duy trì nhãn MPLS
Có hai chế độ duy trì nhãn:
– Chế độ duy trì nhãn tự do (liberal label retention mode): duy trì kết nối giữa nhãn và mạng đích nhưng không lưu giữ trạm kế cho đích đến đó. LSR có thể chuyển tiếp gói ngay khi IGP hội tụ và số lượng nhãn lưu giữ rất lớn cho từng đích đến cụ thể nên tốn bộ nhớ.
– Chế độ duy trì nhãn thường xuyên (conservative label retention mode): duy trì nhãn dựa vào hồi đáp LDP hay TDP của trạm kế. Nó hủy các kết nối từ LSR xuôi dòng mà không phải trạm kế của đích đến chỉ định nên giảm thiểu được bộ nhớ.
2.4.4 Routing với nhãn
Giả sử ta có một mạng đơn giản như sau trong đó Router A là Ingress router (router biên ngõ vào), Router C là Egress router (router biên ngõ ra).

Hình 2.8: Mạng MPLS

Ở đây sẽ trình bày cách các router xây dựng bảng FIB và LFIB cho Network X là mạng mà cần truyền dữ liệu đến.

Phương thức gán và phân tán nhãn gồm những bước như sau:
– Step 1: Giao thức định tuyến (OSPF hay IS IS …) xây dựng bảng routing table.
– Step 2: Các LSR lần lượt gán 1 nhãn cho một dest-IP trong bảng routing Table một cách độc lập.
– Step 3: LSR lần lượt phân tán nhãn cho tất cả các router LSR kế cận.
– Step 4: Tất cả các LSR xây dựng các bảng LIB, LFIB, FIB dựa trên label nhận được.
Đầu tiên các router sẽ dùng các giải thuật định tuyến như OSPF hay IS IS… để tìm đường đi cho gói tin giống như mạng IP thông thường và xây dựng nên bảng routing- table cho mỗi router trong mạng. Giả sử, ở đây router A muốn đến mạng X thì phải qua router B, B chính là Next-hop của router A để đến mạng X.

Sau khi bảng routing table đã hình thành, các router sẽ gán nhãn cho các đích đến mà có trong bảng routing table của nó, ví dụ ở đây router B sẽ gán nhãn bằng 25 cho mạng X, nghĩa là những nhãn vào có giá trị 25 router B sẽ chuyển nó đến mạng X.

Router B phân tán nhãn 25 cho tất cả các router LSR kế cận nó với ý nghĩa “Nếu bạn muốn đến X thì hãy gán nhãn 25 rồi gửi đến tôi”, cùng lúc đó bảng tra LIB hình thành trong router B và có entry như hình sau.

Các router LSR nhận được nhãn được từ router hàng xóm sẽ cập nhập vào bảng LIB, riêng với router biên (Edge LSRs) sẽ cập nhập vào bảng LIB và cả FIB của nó.

Cũng giống như B, router C sẽ gán nhãn là 47 cho Network X và sẽ quảng bá nhãn này cho các router kế cận, C không quảng bá cho router D vì D không chạy MPLS.

Cùng lúc đó router C hình thành 2 bảng tra LIB và LFIB có các entry như trên. Sau khi nhận được quảng bá của router C, router B sẽ thêm nhãn 47 vừa nhận được vào trong bảng tra FIB và LIB đồng thời xây dựng bảng tra LFIB có các entry như hình vẽ, router E chỉ thêm nhãn 47 vào trong LIB và FIB.

Như vậy ta đã có được đường đi từ biên router A đến mạng cần đến là mạng X, hay nói cách khác một LSP đã hình thành. Bây giờ gói tin có thể truyền theo đường này tới đích như sau: Một gói tin IP từ mạng IP đến router biên Ingress, router A sẽ thực hiện tra bảng FIB của nó để tìm ra nexthop cho gói itn nay, ở đây A sẽ gán nhãn 25 cho gói tin này theo entry có trong bảng FIB của nó và sẽ gởi tới next hop là router B để đến mạng X.

Gói tin với nhãn 25 được truyền đến cho router B, router B sẽ tra bảng LFIB của nó và tìm ra giá trị nhãn ngõ ra cho gói tin có nhãn ngõ vào 25 là 47, router B sẽ swap nhãn thành 47 và truyền cho next hop là router C.

Gói tin với nhãn 47 được truyền đến router C, router C sẽ tra bảng LFIB của nó và tìm ra hoạt động tiếp theo cho gói tin có nhãn vào 47 là sẽ pop nhãn ra khỏi gói tin và truyền cho next hop là router D, như vậy gói tin đến D là gói tin IP bình thường không nhãn.

Gói tin IP này đến D, router D sẽ tra bảng routing table của nó và truyền cho mạng X.

 

CHƯƠNG 3: TỔNG QUAN QoSTrước đây, khi mà internet chủ yếu là truyền data thì người ta không cần quan tâm đến việc phân biệt và ưu tiên cho các gói tin bởi vì lúc này băng thông mạng và các tài nguyên khác đủ để cung cấp cho các ứng dụng trong mạng, vì vậy các ISPs sẽ cung cấp cho khách hàng của họ dịch vụ best-effort (BE) khi đó tất cả các khách hàng sẽ được đối sử như nhau họ chỉ khác nhau ở loại kết nối. Đây là dịch vụ phố biến trên mạng Internet hay mạng IP nói chung. Các gói thông tin được truyền đi theo nguyên tắc “đến trước được phục vụ trước” mà không quan tâm đến đặc tính lưu lượng của dịch vụ là gì. Điều này dẫn đến rất khó hỗ trợ các dịch vụ đòi hỏi độ trễ thấp như các dịch vụ thời gian thực hay video. Cho đến thời điểm này, đa phần các dịch vụ được cung cấp bởi mạng Internet vẫn sử dụng nguyên tắc Best Effort này.
Nhưng khi internet càng ngày càng phát triển và phát triển thêm các dịch vụ HTTP, Voice, Video… thì điều này sẽ làm cho chất lượng của các dịch vụ này giảm đi rõ rệt vì delay lớn, độ jitter lớn và không đủ băng thông để truyền, phương án tăng băng thông của mạng cũng không giải quyết được vấn đề này mà lại còn rất tốn kém
QoS (Quanlity of Service) là một khái niệm dùng để đề cập đến tất cả các khía cạnh liên quan đến hiệu quả hoạt động của mạng. QoS bao gồm hai thành phần chính:
+ Tìm đường qua mạng nhằm cung cấp cho dịch vụ được yêu cầu.
+ Duy trì hiệu lực hoạt động của dịch vụ.
Hai mô hình cung cấp chất lượng dịch vụ được sử dụng phổ biến ngày nay là:
+ Mô hình dịch vụ tích hợp IntServ (Intergrated Services).
+ Mô hình dịch vụ phân biệt DiffServ (Differentiated Services).
Có nhiều nguyên nhân giải thích tại sao mô hình IntServ không được sử dụng để theo kịp mức độ phát triển của Internet. Thay vào đó, IntServ chỉ được sử dụng phổ biến trong các mô hình mạng với quy mô nhỏ và trung bình. Trong khi đó, DiffServ lại là mô hình cung cấp chất lượng dịch vụ có khả năng mở rộng. Cơ chế hoạt động của mô hình này bao gồm quá trình phân loại lưu lượng và tại thành phần biên mạng, quá trình xếp hàng

tại mỗi nút mạng và xử lý huỷ gói trong lõi mạng. Trong đó, phần lớn các quản lý xử lý được thực hiện tại thành phần biên mạng mà không cần phải lưu giữ trạng thái của các luồng lưu lượng trong lõi mạng.
Các kĩ thuật QoS trong mạng IP.


Hình 3.1: Các kĩ thuật QoS trong mạng IP

Nguyên nhân thành công của giao thức IP chính là sự đơn giản của nó. Mọi tính năng phức tạp được cài đặt tại đầu cuối mạng còn mạng lõi thì đơn giản. Bộ định tuyến trong mạng sẽ căn cứ vào địa chỉ IP và các nút trong mạng để tìm nút mạng kế tiếp được nhận gói.
– Nếu hàng đợi dành cho nút mạng kế tiếp quá dài, thời gian trễ của gói dữ liệu sẽ lớn. Nếu hàng đợi đầy không còn chỗ trống gói dữ liệu sẽ bị hủy.
– Như vậy, mạng IP chỉ cung cấp mô hình dịch vụ “nỗ lực tối đa ”_best effort service_có nghĩa là mạng sẽ khai thác hết khả năng trong giới hạn cho phép, nhưng không đảm bảo độ trễ và mất mát dữ liệu. Vì vậy, khi có nhiều luồng lưu lượng truyền đi trong mạng và vượt quá khả năng của mạng, dịch vụ không bị từ chối nhưng chất lượng dịch vụ giảm: thời gian

trễ tăng, tốc độ giảm và mất dữ liệu. Do đó, mạng IP không thích hợp với những ứng dụng yêu cầu thời gian thực. Ngoài ra, với thông tin đa điểm (multicast) đồng thời phục vụ hàng triệu khách hàng thì hiện nay mạng IP không thực hiện được. Nếu có thể triển khai tốt thông tin quảng bá có thể tích hợp phát thanh truyền hình vào mạng IP.
– Sự ra đời các giao thức chất lượng dịch vụ QoS cung cấp cho mạng các tính năng giúp mạng có thể phân biệt được các lưu lượng có đòi hỏi thời gian thực với các lưu lượng có độ trễ, mất mát hay độ biến động trễ (jitter). Băng thông sẽ được quản lý và sử dụng hiệu quả để có thể đáp ứng những yêu cầu về chất lượng của các luồng lưu lượng. Mục tiêu của QoS là cung cấp một số mức dự báo và điều khiển lưu lượng.
– Trong các mạng số liệu, QoS được đánh giá qua các tham số chính sau:
• Độ sẵn sàng của dịch vụ
• Độ trễ (delay).
• Độ biến động trễ (jitter)
• Thông lượng hay băng thông
• Tỷ lệ tổn thất gói (packet loss rate): tỷ lệ các gói bị mất, bị hủy, và bị lỗi khi đi trong mạng.
Hiện nay, có hai loại chất lượng dịch vụ cơ bản:
• Dành trước tài nguyên (Resource Reservation) với mô hình “Tích hợp dịch vụ” IntServ (Intergrated Service). Tùy theo yêu cầu của dịch vụ và chính sách quản lý băng thông mà mạng sẽ cung cấp tài nguyên phục vụ cho từng ứng dụng.
• Sự ưu tiên (Prioritization) với mô hình các “dịch vụ phân biệt” ( DiffServ-Differentiated Service). Lưu lượng vào mạng được phân loại và được cung cấp theo chỉ tiêu của chính sách quản lý băng thông. Chất lượng dịch vụ được áp dụng cho từng luồng dữ liệu riêng biệt hoặc một nhóm luồng. Luồng được xác định dựa vào 5 thông tin:
• giao thức lớp vận chuyển.
• địa chỉ IP nguồn.
• địa chỉ IP đích.
• chỉ số cổng nguồn.
• chỉ số cổng đích.
3.1 CẤU TRÚC QoS
Khi nói đến QoS ta sẽ nghĩ ngay tới các kĩ thuật hàng đợi như: Weighted Fair Queuing (WFQ), hay Custom Queuing (CQ), nhưng thật ra nó có nhiều hơn thế, ngoài hàng đợi QoS còn có các kỉ thuật khác gồm: nén (compression), policing và shaping, loại gói (drop packet), và một số khác.
Vì sao chúng ta lại cần QoS?
Như trước đây, khi mà nhu cầu sử dụng mạng của con người chưa cao bởi vì sự mới mẻ, chưa phổ biến và các ứng dụng chưa nhiều thì lưu lượng trên mạng có thể đáp ứng cho hầu hết các ứng dụng lúc bây giờ, nhưng khi nó trở nên phổ biến số người dùng nhiều và các ứng dụng cũng tăng lên thì tài nguyên băng thông mạng trở nên thiếu hụt, điều này sẽ dẫn tới việc mất gói đáng kể khi truyền qua mạng, Để khắc phục điều này thì QoS ra đời với nhiệm vụ ưu tiên cho các ứng dụng thời gian thực bằng cách cấp phát thêm băng thông và đặt chúng ở mức ưu tiên cao hơn các ứng dụng khác.
Nếu một mạng không áp dụng QoS thì sẽ xảy ra các trường hợp như sau:


Hình 3.2: Dữ liệu với không QoS

QoS sẽ ảnh hưởng tới các thông số mạng như: Bandwidth (Băng thông), Delay (trễ), Jitter (Bất ổn định), Loss (độ mất gói).
Các mạng ngày nay đền phải sử dụng QoS để đảm bảo chất lượng dịch vụ, tuy nhiên với mỗi ứng dụng thì cần có các mức độ QoS khác nhau


Hình 3.3: Mức độ yêu cầu QoS cho các loại dữ liệu

Các thông số QoS 
+ Độ trễ toàn trình “Delay”: trễ quá mức từ đầu cuối đến đầu cuối khiến cuộc đàm thoại bất tiện và mất tự nhiên. Mỗi thành phần trong tuyến truyền dẫn: máy phát, mạng lưới, máy thu đều tham gia làm tăng độ trễ. ITU-TG.114 khuyến cáo độ trễ tối đa theo một hướng là 150 ms để đảm bảo thoại có chất lượng cao.
+ Độ trễ pha “Jitter”: định lượng độ trễ trên mạng đối với từng gói khi đến máy thu. Các gói được phát đi một cách đều đặn từ Gateway bên trái đến được Gateway bên phải ở các thời khoảng không đều. Jitter quá lớn sẽ làm cho cuộc đàm thoại đứt quãng và khó hiểu. Jitter được tính trên thời gian đến của các gói kế tiếp nhau. Bộ đệm Jitter được dùng để giảm tác động “trồi sụt” của mạng và tạo ra dòng gói đến đều đặn hơn ở máy thu.

Công thức tính độ jitter: Di = ( Ri – Si ) – ( Ri-1 – Si-1 )
Di = ( Ri – Ri-1 ) – ( Si – Si-1 )
AvgJitter =
+ Độ mất gói “Packet Loss”: có thể xảy ra theo cụm hoặc theo chu kỳ do mạng bị nghẽn liên tục. Mất gói theo chu kỳ đến 5-10% số gói phát ra có thể làm chất lượng thoại xuống cấp đáng kể. Từng cụm gói bị mất không thường xuyên cũng khiến đàm thoại gặp khó khăn.
+ Mất trình tự gói ”Sequence Error”: nghẽn trên mạng chuyển mạch gói có thể khiến gói chọn nhiều tuyến khác nhau để đi đến đích. Gói có thể đến đích không đúng trình tự làm cho tiếng nói bị đứt khoảng.
Các bước thực hiện QoS:


Hình 3.4: Các bước thực hiện QoS
3.1.1: Dịch vụ tích hợp IntServ

Đứng trước nhu cầu ngày càng tăng trong việc cung cấp dịch vụ thời gian thực (thoại, video) và băng thông cao (đa phương tiện), dịch vụ tích hợp IntServ đã ra đời. Đây là sự phát triển của mạng IP nhằm đồng thời cung cấp dịch vụ truyền thống Best Effort và các dịch vụ thời gian thực. Sau đây là những động lực thúc đẩy sự ra đời của mô hình này:

+ Dịch vụ cố gắng tối đa không còn đủ đáp ứng nữa, ngày càng có nhiều ứng dụng khác nhau, các yêu cầu khác nhau về đặc tính lưu lượng được triển khai, đồng thời người sử dụng

cũng yêu cầu chất lượng dịch vụ ngày càng cao hơn. Các ứng dụng đa phương tiện ngày càng xuất hiện nhiều.
+ Mạng IP phải có khả năng hỗ trợ không chỉ đơn dịch vụ mà còn hỗ trợ đa dịch vụ của nhiều loại lưu lượng khác nhau từ thoại, số liệu đến video. Tối ưu hóa hiệu suất sử dụng mạng và tài nguyên mạng.
+ Đảm bảo hiệu quả sử dụng và đầu tư. Tài nguyên mạng sẽ được dự trữ cho lưu lượng có độ ưu tiên cao hơn, phần còn lại sẽ dành cho số liệu best effort. Cung cấp dịch vụ tốt nhất.
+ Mô hình IntServ cho phép nhà cung cấp mạng tung ra những dịch vụ tốt nhất, khác biệt với các đối thủ cạnh tranh khác.


Hình 3.5: Mô hình mạng IntServ

– Mô hình IntServ được IETF giới thiệu vào giữa thập niên 90 với mục đích hỗ trợ chất lượng dịch vụ từ đầu cuối tới đầu cuối. Các ứng dụng nhận được băng thông đúng yêu cầu và truyền đi trong mạng với độ trễ cho phép.

– Trên thực tế giao thức RSVP là giao thức duy nhất dùng để báo hiệu cho mô hình IntServ. Vì thế đôi khi người ta lầm lẫn dùng RSVP để nói về IntServ.Thật ra, IntServ là kiến trúc hỗ trợ chất lượng dịch vụ mạng, còn RSVP là giao thức báo hiệu cho IntServ.
– Ngoài giao thức báo hiệu, mô hình tích hợp dịch vụ còn định nghĩa thêm một số lớp dịch vụ.
– Một ứng dụng sẽ xác định đặc tính của luồng lưu lượng mà nó đưa vào mạng đồng thời xác định một số yêu cầu về mức dịch vụ mạng. Đặc tính lưu lượng Tspec (Traffic Specification) và yêu cầu mức chất lượng dịch vụ Rspec (Required Specification).
Vì thế các bộ định tuyến phải có khả năng thực hiện các công việc sau:
• Kiểm soát ( bằng các policing): kiểm tra TSpec của luồng lưu lượng; nếu không phù hợp thì loại bỏ luồng.
• Điều khiển chấp nhận: kiểm tra xem tài nguyên mạng có đáp ứng được yêu cầu của ứng dụng hay không. Nếu không thể đáp ứng, mạng sẽ từ chối.
• Phân lớp (Classification): phân loại gói dữ liệu căn cứ vào mức yêu cầu chất lượng dịch vụ của gói.
• Hàng đợi và lập lịch (queuing and scheduling): đưa gói dữ liệu vào hàng đợi tương ứng và quyết định hủy gói dữ liệu nào khi xảy ra xung đột.
a. Các lớp dịch vụ
Có hai loại dịch vụ: đảm bảo dịch vụ (Guaranteed Service) và kiểm soát tải (Control load service).
a.1 Đảm bảo dịch vụ
– Cho phép giới hạn thời gian chuyển tiếp các gói dữ liệu đến đích trong một khoảng thời gian nhất định, đảm bảo số dữ liệu không bị loại bỏ khi hàng đợi đầy.
– Thông tin Tspec phải bao gồm các thông số như: tốc độ đỉnh, kích thước lớn nhất của gói dữ liệu. Trong khi đó thông số quan trọng nhất của Rspec là tốc độ dịch vụ. Thông số này cho phép xác định băng thông mà lưu lượng cần khi đi trong mạng. Thông số này

cùng với các thông số trong Rspec cho phép xác định thời gian trễ lớn nhất có thể chấp nhận được của dữ liệu.
– Nhược điểm của lớp dịch vụ này là hiệu quả sử dụng tài nguyên mạng thấp vì nó đòi hỏi mỗi luồng lưu lượng có hàng đợi riêng.
a.2 Kiểm soát tải
– Các ứng dụng của dịch vụ này có thể chấp nhận khả năng mất dữ liệu và thay đổi độ trễ ở một mức độ nhất định. Luồng dữ liệu khi đi vào mạng sẽ được kiểm tra đối chiếu với những đặc tả lưu lượng Tspec đã được đăng ký. Nếu không phù hợp với các đặc tả đã được đăng ký trước thì dữ liệu sẽ được chuyển tiếp theo phương thức “nỗ lực tối đa”.
b. Giao thức dành trước tài nguyên RSVP
– RSVP là giao thức báo hiệu cung cấp thủ tục để thiết lập và điều khiển quá trình chiếm giữ tài nguyên, hay nói cách khác RSVP cho phép các chương trình ứng dụng thông báo cho mạng những yêu cầu về mức chất lượng dịch vụ; và mạng sẽ hồi đáp chấp nhận hoặc không chấp nhận yêu cầu đó.
– Các bản tin RSVP được các bộ định tuyến hay các bộ chuyển mạch trên liên kết giữa hai đầu cuối gửi và nhận trao đổi với nhau để đáp ứng yêu cầu về mức chất lượng dịch vụ của ứng dụng.
– RSVP có 2 bản tin cơ bản: bản tin Path (hay Request) và bản tin Resv. Bản tin Path (hay Request) mang thông tin về đặc tả luồng lưu lượng Tspec và các thông tin như: địa chỉ IP của nút gửi, địa chỉ IP nút nhận, chỉ số cổng UDP. Và khi nhận được bản tin Path (hay Request), nút mạng đích sẽ gửi lại bản tin Resv. Bản tin Resv sẽ gửi kèm theo phần mô tả yêu cầu RSpec chỉ định kiểu dịch vụ tích hợp là kiểm soát tải hay đảm bảo dịch vụ; ngoài ra còn có dấu hiệu nhận dạng luồng (flow descriptor) mà mỗi bộ định tuyến dùng để nhận diện mỗi phiên chiếm giữ tài nguyên.
– Khi nhận được bản tin Resv, mỗi bộ định tuyến trung gian sẽ tiến hành quá trình điều khiển chấp nhận (admission control). Nếu yêu cầu không được chấp nhận, do không đủ tài nguyên mạng thì bộ định tuyến sẽ báo lỗi về phía đầu thu. Nếu yêu cầu được chấp

nhận thì bộ định tuyến sẽ gửi bản tin Resv đến bộ định tuyến đã gửi bản tin Path (hay Request) cho nó.
– Ngoài ra, RSVP là giao thức mềm, có nghĩa là các bản tin Path (hay Request) và Resv sẽ được gửi lại sau khoảng thời gian nhất định để duy trì lâu dài sự chiếm giữ tài nguyên. Nếu sau khoảng thời gian này không có bản tin nào gửi đi, sự dự trữ tài nguyên sẽ bị xóa bỏ.
– Mặt khác, lưu lượng RSVP có thể đi qua bộ định tuyến không hỗ trợ RSVP. Tại những bộ định tuyến này dịch vụ được phục vụ theo mô hình nỗ lực tối đa.
– Nói tóm lại, RSVP đóng vai trò quan trọng trong quá trình triển khai việc chuyển tải nhiều dịch vụ như: âm thanh, hình ảnh và dữ liệu trong cùng một hạ tầng mạng. Các ứng dụng có thể lựa chọn nhiều mức chất lượng dịch vụ khác nhau cho luồng lưu lượng của mình.
c. Kiến trúc IntServ
– Cấu trúc của các bộ định tuyến và các bộ chuyển mạch có hỗ trợ RSVP trong mạng


Hình 3.6: Mô hình dịch vụ IntServ

– Như vậy ta thấy cấu trúc gồm các khối:
• Khối điều khiển lưu lượng bao gồm: bộ phân loại (Classifier), bộ lập lịch gói (scheduler).

• Khối điều khiển thu nhận và thiết lập dự trữ (set up).

– Đầu tiên các ứng dụng đưa ra yêu cầu lớp dịch vụ: đảm bảo dịch vụ hoặc kiểm soát tải đồng thời đặt đường dẫn và chiếm giữ tài nguyên mạng cho việc truyền dữ liệu. Khối điều khiển thu nhận sẽ xem xét có thể đáp ứng được các yêu cầu mà dịch vụ đưa ra hay không. Bộ phân loại tiến hành phân loại và đưa các gói dữ liệu nhận được vào hàng đợi riêng. Bộ lập lịch sẽ lập cách xử lý để đáp ứng yêu cầu về chất lượng dịch vụ.


Hình 3.7: Trao đổi thông tin với IntServ

Hình 3.8: Trao đổi thông tin với IntServ

Hình vẽ trên là cách thức hoạt động của RSVP, các ứng dụng đưa ra yêu cầu mức chất lượng dịch vụ dành cho luồng lưu lượng xác định qua giao diện dịch vụ ứng dụng. Bộ điều khiển thu nhận và thiết lập dự trữ đáp ứng yêu cầu của các ứng dụng bằng cách tạo ra các bản tin của giao thức RSVP yêu cầu chiếm giữ tài nguyên. Bản tin này sẽ đi

qua các bộ định tuyến nằm trên đường dẫn từ đầu gửi đến đầu thu. Tại mỗi bộ định tuyến, khối điều khiển thu nhận sẽ tiến hành quá trình điều khiển chấp nhận kết nối, quyết định xem có thể đáp ứng được yêu cầu chất lượng dịch vụ mà ứng dụng đưa ra hay không. Nếu được, bộ định tuyến sẽ dựa vào thông tin trong bản tin RSVP để cấu hình cho bộ điều khiển lưu lượng.
– Chúng ta đã xem xét kiến trúc của mô hình tích hợp dịch vụ cũng như một giao thức rất quan trọng RSVP. Mô hình này cho phép triển khai các ứng dụng thời gian thực và lưu lượng truyền thông trên cùng một hạ tầng mạng.

 

3.1.2: Dịch vụ phân biệt DiffServ

Hình 3.9: Mô hình mạng DiffServ

– Cấu trúc của mô hình DiffServ bao gồm nhiều lớp dịch vụ và mỗi lớp sẽ được cung cấp một lượng tài nguyên xác định.
– Ví dụ trong mạng bao gồm hai lớp dịch vụ: “nỗ lực tối đa” và “độ ưu tiên” (premium). Điều này có nghĩa là những gói dữ liệu thuộc lớp ưu tiên sẽ được cung cấp chất lượng dịch vụ tốt hơn: dữ liệu được đảm bảo, ít mất hơn và có độ trễ thấp hơn.
– Điểm khác nhau giữa mô hình DiffServ và IntServ: IntServ dùng giao thức báo hiệu để thông báo cho các nút mạng chất lượng dịch vụ mà luồng yêu cầu. Với mô hình DiffServ,

trên mỗi gói dữ liệu sẽ chứa thông tin xác định lớp dịch vụ. Thông tin này được gọi là điểm mã dịch vụ phân biệt DSCP (Differentiated Service Code Point) của tiêu đề IP, tiền thân là vùng ToS (Type of Service). Như vậy trên lý thuyết chúng ta có tất cả 64 lớp dịch vụ khác nhau nhưng trong thực tế số lượng lớp dịch vụ ít hơn nhiều.
– Câu hỏi đặt ra ở đây là các bộ định tuyến sẽ làm gì khi nhận gói dữ liệu với giá trị DSCP nào đó?
– Giá trị DSCP cho biết yêu cầu chất lượng dịch vụ mà gói dữ liệu yêu cầu mạng cung cấp hay nói cách khác DSCP xác định một hành vi hop PHB (Perhop behavior). Ngoài những giá trị PHB chuẩn, trong nội bộ một mạng có thể định nghĩa riêng những giá trị PHB. Sau đây là một số giá trị PHB chuẩn:
• Giá trị mặc định (Default): tương đương với yêu cầu nỗ lực tối đa.
• Chuyển tiếp nhanh EF (Expedited Forwarding): gói dữ liệu có giá trị này sẽ có thời gian trễ nhỏ nhất và độ mất gói thấp nhất.
• Chuyển tiếp bảo đảm AF (Assured Forwading): mỗi PHB mang một giá trị AFxy. Giá trị x cho phép xác định hàng đợi dành cho gói, giá trị y xác định mức độ ưu tiên hay nói cách khác là khả năng mất gói khi xảy ra hiện tượng nghẽn mạch hoặc tranh chấp. Như vậy, nếu các gói được đánh dấu AF11, AF12, AF13 thì chúng được xếp chung vào một hàng đợi nhưng mức ưu tiên của các gói AF13 thấp hơn và xác suất mất cao hơn. Riêng các gói AF2y có hàng đợi khác gói AF1y. Số lượng AF PHB là 12, trong đó x có 4 giá trị và y có 3 giá trị. Và điều quan trọng cần phải nhắc đến là các gói AFx1, AFx2, AFx3 sẽ được đưa vào cùng một hàng đợi để không bị mất thứ tự.
-Mỗi thiết bị định tuyến sẽ lưu giữ một bảng ánh xạ giá trị DSCP của gói với giá trị PHB, từ đó xác định phương thức xử lý gói.

Hình 3.10: Mô hình DiffServ tại biên và mạng lõi

3.1.3 Sự khác nhau giữa IntServ và DiffServ
Trong một mạng sử dụng QoS, chúng ta có thể không cần dùng đến IntServ hay DiffServ mà mạng vẫn chạy bình thường, tuy nhiên nếu có ứng dụng DiffServ hay IntServ vào thì sẽ cho kết qua tốt hơn nhiều, và có thể đảm bảo chất lượng dịch vụ cao hơn.
DiffServ ra đời để khắc phục các khuyết điểm của IntServ, giữa chúng có những sự khác nhau:
DiffServ IntServ
Không dùng bất kì giao thức báo hiệu nào để dành trước băng thông mạng, do vậy tiết kiệm được băng thông mạng. Dùng giao thức báo hiệu RSVP để dành trước băng thông mạng, do đó sẽ tốn tài nguyên mạng vô ích.
Có thể sử dụng cho mạng lớn và cả mạng nhỏ với số lưu lượng rất lớn Chỉ có thể sử dụng cho mạng cỡ nhỏ với số lượng lưu lượng nhỏ
Ít tốn tài nguyên mạng Tốn nhiều tài nguyên mạng
Xét ưu tiên gói trên từng chặn Khởi tạo một kênh truyền trước khi truyền
Khả năng mở rộng mạng cao và phục vụ đa dịch vụ Khả năng mở rộng mạng thấp và phục cụ ít dịch cụ.
Hình 3.11: Sự khác nhau giữa DiffServ và IntServ

3.2 PHÂN LOẠI VÀ ĐÁNH DẤU
QoS là khả năng cung cấp các mức xử lý khác nhau hướng đến các lớp lưu lượng riêng. Trước khi các ứng dụng hay các kỹ thuật QoS được áp dụng, lưu lượng phải được nhận biết và sắp xếp vào trong các lớp khác nhau. Thiết bị mạng sử dụng sự phân loại để nhận biết lưu lượng theo các lớp riêng biệt. Sau khi lưu lượng mạng được sắp xếp, việc đánh dấu được thực hiện bằng cách gắn thẻ cho các gói riêng biệt để các thiết bị mạng khác có thể thực hiện các chức năng QoS cho các gói đó khi chúng di chuyển thông qua mạng.
1. Phân loại:
– Phân loại đươc thực hiện để nhận dạng lưu lượng và phân chia lưu lương thành các lớp khác nhau. Để phân loại gói, ta dùng bộ mô tả lưu lượng để phân chia các gói trong phạm vi các nhóm riêng biệt để định nghĩa các gói đó. Một số bộ mô tả đặc trưng dùng để phân loại gói bao gồm: bộ giao tiếp ngõ vào, độ ưu tiên IP (IP Precedence), DSCP, địa chỉ nguồn hay địa chỉ đích và các ứng dụng. Sau khi gói đã được định danh, chúng có khả năng được tiến hành các chức năng QoS trên mạng.
– Với việc sử dụng phân loại gói, nhà quản trị mạng có thể phân vùng lưu lượng mạng thành nhiều mức ưu tiên hay nhiều lớp dịch vụ. Khi bộ đặc tả lưu lượng được sử dụng để phân loại, lưu lượng nguồn đồng ý tham gia để thoả thuận các giới hạn và mạng sẽ thực hiện các giới

hạn đó với việc đảm bảo vế chất lượng dịch vụ. Các kỹ thuật chất lượng dịch vụ khác như giám sát lưu lượng, nắn dạng lưu lượng và kỹ thuật hàng đợi sử dụng bộ mô tả lưu lượng để đảm bảo giữ đúng thoả thuận. Việc phân loại nên được đặt ở biên mạng.
2. Đánh dấu:
– Hoạt động đánh dấu cho phép các thiết bị mạng phân loại gói hay khung (frame) dựa vào bộ mô tả lưu lượng đặc trưng. Một số bộ mô tả lưu lượng được sử dụng để đánh dấu gói như: lớp dịch vụ (CoS), DSCP, độ ưu tiên IP, nhóm QoS, chuyển mạch nhãn đa giao thức (MPLS). Việc đánh dấu được sử dụng để thiết lập thông tin trong tiêu đề gói lớp 2 hay lớp 3.
– Việc đánh dấu gói hay khung cùng với việc phân loại cho phép thiết bị mạng dễ dàng phân biệt các gói hay khung đã được đánh dấu. Đánh dấu là yếu tố hữu dụng vì nó cho phép thiết bị mạng dễ dàng nhận dạng các gói hay khung theo các lớp đặc trưng. Khi đó kỹ thuật QoS có thể ứng dụng tương thích để đảm bảo sự đúng đắn với các chính sách quản trị QoS.
3.2.1 Phân loại (classification)
Phân loại là việc các gói tin sẽ được đưa vào những hàng đợi khác nhau mỗi khi tới router, IOS của router bằng cách này hay cách khác phải phân biệt được các gói tin khác nhau với độ ưu tiên khác nhau để đưa vào các hàng đợi thích hợp, nó phải biết được gói tin nào có RTP (Real time protocol) headers để shape (định hướng) cho gói tin nhằm cung cấp đủ băng thông cho lưu lượng là voice. IOS phải phân biệt được đâu là VoIP và đâu là data, để làm điều này thì nó phải sử dụng Phân Loại (Classification).
Để có thể phân loại được gói tin, thông thường phải kiểm tra một số trường trong headers, sau khi phân loại, một QoS tool sẽ đưa gói tin vào hàng đợi thích hợp, hầu hết sự phân loại nhằm phân biệt đâu là gói tin VoIP và đâu là gói tin không phải VoIP.

Hình 3.12: Sự phân loại gói tin

Trong hình trên ta thấy: Việc phân loại được thực hiện ở tất cả các router trên links kết nối, ở router R3 sau khi phân loại sẽ đưa vào hàng đợi Queuing và sau đó là shaping (định hướng). Q1, Q2, Q3, Q4 lần lượt là các mức ưa tiên, ở đây ta thấy voice có mức ưa tiên cao nhất. ở bảng thứ 2 là shaping police ta sẽ tìm hiểu phần sau.
Ta có thể dùng một số tools để phân loại, ví dụ như dùng ACLs: Với ACL 101 để cho phép gói tin loại nào đó sẽ được xếp vào hàng đợi thứ 1, với ACL 102 để cho phép goi tin loại khác sẽ được xếp vào hàng đợi thứ 2, …
Sau khi đã được phân loại, các gói tin sẽ được đánh dấu (marking), việc đánh dấu sẽ đánh dấu vào một trường trong IP header, sau khi gói tin đã được đánh dấu, các tools còn lại trong QoS sẽ sử dụng “dấu” để tiến hành phân loại ở các chặng tiếp theo. Hai trường dùng để đánh dấu là IP Precedence và Differentiated Service Code Point (DSCP), chúng ta sẽ tìm hiểu kĩ chúng trong Chương 4.

Một số Tools cho phân loại và đánh dấu:

Hình 3.12: Tool cho phân loại và đánh dấu

Một ví dụ về phân loại:
Ở đây ta dùng ACLs để phân loại gói tin, ta sẽ phân dữ liệu thành 3 loại là:Voice (ACL 101), HTTP (ACL 102), FTP (ACL 104), SMTP (ACL 105), và Besteffort (ACL 103).
PE1(config)#access-list 101 permit udp any any range 16384 32768 ///ACL cho Voice
PE1(config)#access-list 102 permit tcp any any eq www ///ACL cho HTTP (www)
PE1(config)#access-list 103 permit ip any any ///ACL cho Best-effort
PE1(config)#access-list 104 permit tcp any any eq ftp ///ACL cho ftp
PE1(config)#access-list 105 permit tcp any any eq smtp ///ACL cho smtp
3.2.2 Đánh dấu (Marking)
Đánh dấu là một kĩ thuật dùng để tạo ra sự phân biệt giữa các gói tin của các loại dữ liệu khác nhau trong khi thực hiện QoS, việc đánh dấu sẽ thực hiện trên các một số trường có trong gói tin như IP precedent, DSCP, EXP, QoS group, QoS discard….
Việc đánh dấu thường được thực hiện sau khi gói tin đã được phân loại, Sau khi phân loại gói tin ta sẽ đánh dấu vào gói tin đó một giá trị, có thể đó là giá trị IP precedent, DSCP hay EXP…Các giá trị đã được đánh dấu sẽ được dùng để phân loại gói tin ở chặn tiếp theo và thực hiện QoS.
Ví dụ dưới đây sẽ đánh dấu gói tin Voice với giá trị EXP là 5, HTTP là 3, FTP và SMTP với EXP là 2 và Best Effort là 0:
PE1(config-pmap)#class Voice-dscp
PE1(config-pmap-c)#set mpls experimental topmost 5
PE1(config-pmap-c)#exit
****
PE1(config-pmap)#class HTTP-dscp
PE1(config-pmap-c)#set mpls experimental topmost 3
PE1(config-pmap-c)#exit
****
PE1(config-pmap)#class smtp-dscp
PE1(config-pmap-c)#set mpls experimental topmost 2
PE1(config-pmap-c)#exit
****
PE1(config-pmap)#class ftp-dscp
PE1(config-pmap-c)#set mpls experimental topmost 2
PE1(config-pmap-c)#exit
****
PE1(config-pmap)#class best-effort-dscp
PE1(config-pmap-c)#set mpls experimental topmost 0
PE1(config-pmap-c)#exit
Việc đánh dấu thường xảy ra tại ngõ vào của interface, tại đây gói tin sẽ được thu nhận và thực hiện đánh dấu lại (remark) nếu cần thiết, dấu vừa đánh sẽ tồn tại trong các hàng đợi ngõ ra của router này và trên đường truyền tới đích tiếp theo.
Thực chất của việc đánh dấu là ta sẽ set các giá trị trong gói tin lên các giá trị thích hợp mà ta cho là hợp lí.

Một số trường dùng cho đánh dấu:

Hình 3.13: Trường để đánh dấu

3.3 CÁC KĨ THUẬT HÀNG ĐỢI (CLASSIFICATION & QUEUING)
Vì tốc độ sử lý các gói tin của router là chậm hơn nhiều so với số lượng gói tin đến và cần truyền đi, vì vậy các gói tin cần phải xếp hàng và đợi trong một hàng dài nếu như không muốn bị drop, do đó kĩ thuật hàng đợi cần được áp dụng cho các router. Thường thì hàng đợi chỉ xảy ra ở ngõ ra của router khi đó ta gọi là hàng đợi ngõ ra (output
queuing), nhưng đôi khi hàng đợi cũng xảy ra ở ngõ vào ta gọi là hàng đợi ngõ vào (input queuing).

Hình 3.14: Hàng đợi trong router

Hình trên là một ví dụ về hàng đợi, ngõ vào với 4 gói tin kích thước 1500 byte mỗi gói, ở đây ta có hai hàng đợi :hàng thứ 1 đang có 3 gói tin đang chờ và băng thông của hàng này là 25% tổng băng thông, hàng thứ 2 chỉ có 1 gói tin đang chờ với băng thông là 75%, như vậy gói tin nào sẽ được gởi trước? Thật ra gói tin nào được gởi trước là tùy thuộc vào mức độ ưu tiên của hàng đợi đó và hàng đợi đó như thế nào so với các hàng đợi khác.

Hình 3.15: Các kĩ thuật hàng đợi và so sánh giữa chúng

3.3.1 First In-First Out Queuing
– Hàng đợi FIFO không có sự phân loại vì tất cả các gói đều thuộc về cùng một lớp. Một bộ định tuyến hay bộ chuyển mạch cần các hàng đợi xuất để giữ các gói trong khi chờ bộ giao tiếp sẵn sàng gửi gói. Trong khi các công cụ hàng đợi khác thể hiện các tính năng khác, như sắp xếp trật tự các gói, hàng đợi FIFO chỉ cung cấp một ý nghĩa giữ các gói trong khi chúng chờ để rời khỏi một cổng giao tiếp (interface). Hàng đợi FIFO sử dụng một hàng đợi đơn cho bộ giao tiếp. Vì chỉ có một hàng đợi nên không cần phân lớp để quyết định khi gói đi vào. Và cũng không cần lập lịch ban đầu để cho hàng đợi lấy gói tiếp theo. Chỉ quan tâm đến cách cấu hình chiều dài hàng đợi FIFO tránh tác động đến độ trễ và mất gói.
– Hàng đợi FIFO sử dụng kỹ thuật hủy gói cuối hàng đợi để quyết định khi nào bỏ gói hay cho gói vào hàng đợi. Nếu cấu hình một hàng đợi dài hơn, nhiều gói có thể đặt trong hàng đợi, nghĩa là hàng đợi ít khả năng đầy. Nếu không gian hàng đơi còn trống nhiều thì gói ít bị mất. Tuy vậy, với một hàng đợi dài, độ trễ và độ biến động trễ của gói tăng. Với hàng đợi ngắn, độ trì hoãn ít xuất hiện hơn, nhưng hàng đợi FIFO đơn sẽ đầy nhanh chóng, lúc này các gói mới sẽ bị hủy bỏ.

Hình 3.16: Hàng đợi FIFO

Lập lịch hàng đợi FIFO:
– Sau khi gói đi vào hàng đợi thì bộ định tuyến sẽ sử dụng thuật toán lập lịch để duy trì công việc. Lập lịch FIFO là thuật toán lập lịch truyền thống được sử dụng trong Internet, đây là thuật toán lập lịch đơn giản nhất. Trong thuật toán này bộ lập lịch truyền các gói theo thứ tự đến và hủy các gói khi hàng đợi đầy. Tuy nhiên, bộ lập lịch gói không có sự

phân biệt giữa các người sử dụng. Vì vậy nó không thể phân phối cho một số user độ trễ trung bình thấp hơn các người dùng khác. Mọi người dùng trong cùng lớp dịch vụ chịu cùng một độ trễ biến thiên (jitter delay). Ngoài ra, độ biến động trễ có xu hướng tăng lên khi số chặng tăng lên vì độ trễ hàng đợi của gói ở các chặng khác nhau không tương quan với nhau.
– Với FIFO, độ trễ trung bình của một người sử dụng có thể tăng lên nếu tổng tốc độ đến của tất cả người sử dụng tăng lên.
– Tuy nhiên việc sử dụng kỹ thuật hàng đợi FIFO có các nhược điểm:
• FIFO không hoàn toàn tin cậy khi một luồng không mong muốn tranh giành với các luồng có độ ưu tiên thấp. Các luồng không mong muốn gửi một số lượng lớn các gói (đa số các gói đó bị huỷ bỏ). Trong khi đó, các luồng với độ ưu tiên thấp gửi một số lượng gói xác định và hầu hết chúng bị hủy bởi vì hàng đợi lúc nào cũng đầy do các luồng không mong muốn đã chiếm hết không gian hàng đợi.
• Sự bùng nổ cao hay thấp gây ra tình trạng đầy hàng đợi FIFO. Các gói đi vào một hàng đợi đầy phải chờ một thời gian dài trước khi chúng được truyền. Nhưng ở thời điểm khác, hàng đợi có thể trống và các gói trong cùng một luồng không bị trì hoãn.
– Các ưu điểm của kỹ thuật hàng đợi FIFO
• Đây là kỹ thuật đơn giản và nhanh.
• Nó được hỗ trợ trên tất cả các nền tảng.
• Hàng đợi FIFO được hỗ trợ trong tất cả các phiên bản của Cisco IOS.
Để cấu hình cho hàng đợi FIFO ta phải unable tất cả các kĩ thuật hàng đợi khác có trong interface đó. Mặc định thì WFQ (Weighted Fair Queuing) sẽ được áp dụng cho các interface và nó chạy ở tốc độ E1 (khoảng 2M).
– Để disable WFQ ta dùng câu lệnh “no fair-queue”, Khi đã disable tất cả các kĩ thuật hàng đợi có trong interface thì FIFO sẽ mặc nhiên được sử dụng.
– Để chọn chiều dài cho hàng đợi ta dùng câu lệnh “hold-queue x out”.

Ví dụ:
R3(config)#int s 0/0
R3(config-if)#no fair-queue // disable WFQ ;
R3(config-if)#^Z
R3#sh int s 0/0
Serial0/0 is up, line protocol is up
Hardware is PowerQUICC Serial
Description: connected to FRS port S0. Single PVC to R1.
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation FRAME-RELAY, loopback not set
Keepalive set (10 sec)

LMI enq sent 80, LMI stat recvd 73, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 0/64, broadcasts sent/dropped 171/2, interface broadcasts 155
Last input 00:00:02, output 00:00:03, output hang never
Last clearing of “show interface” counters 00:13:48
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo //hàng đợi FIFO được dùng
Output queue :0/40 (size/max) //Kích cỡ hàng đợi ngõ ra là 40 gói tin.
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 0 bits/sec, 0 packets/sec
235 packets input, 14654 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
2 input errors, 0 CRC, 2 frame, 0 overrun, 0 ignored, 0 abort
264 packets output, 15881 bytes, 0 underruns
0 output errors, 0 collisions, 6 interface resets
0 output buffer failures, 0 output buffers swapped out
10 carrier transitions
DCD=up DSR=up DTR=up RTS=up CTS=up

+Thay đổi chiều dài hàng đợi ngõ ra thành 50 gói tin:
R3(config)#int s 0/0
R3(config-if)#hold-queue 50 out
R3(config-if)#^Z
!
R3#sh int s 0/0
Serial0/0 is up, line protocol is up
Hardware is PowerQUICC Serial
! Lines omitted for brevity
Queueing strategy: fifo
Output queue :0/50 (size/max) //chiều dài hàng đợi là 50 :
! Line omitted for brevity

3.3.2 Priority Queuing

Hình 3.17: Cách lấy gói tin của hàng đợi PQ

– Tính năng đặc biệt của PQ là ở bộ lập lịch. PQ lập lịch lưu lượng đảm bảo hàng đợi ưu tiên luôn được phục vụ trước. Với 4 mức ưu tiên: cao, trung bình, bình thường, và thấp. Nếu hàng đợi ưu tiên cao luôn có một gói đang chờ, bộ lập lịch luôn luôn lấy các gói trong hàng đợi ưu tiên cao. Nếu hàng đợi ưu tiên cao không có gói nào đang chờ nhưng có trong hàng đơi ưu tiên trung bình, một gói trong hàng đợi này sẽ được lấy và tiến trình cứ như thế tiếp tục.
– Bộ lập lịch PQ có một số thuận lợi và hạn chế. Các gói trong hàng đợi ưu tiên cao có thể đạt 100% băng thông liên kết, với độ trì hoãn nhỏ và độ biến động trễ nhỏ. Thật ra, khi nghẽn mạch, các gói trong hàng đợi ưu tiên thấp tốn nhiều thời gian phục vụ. Khi liên kết tắc nghẽn, các ứng dụng người dùng có thể ngừng làm việc nếu các gói đặt trong hàng đợi ưu tiên thấp.
– PQ phân lớp các gói dựa trên nội dung của các tiêu đề. Nó sử dụng tối đa 4 hàng đợi. Chỉ áp dụng chính sách hủy gói cuối hàng đợi (tail drop), mặt khác sau khi phân lớp các gói, nếu

hàng đợi tương ứng đầy, các gói bị bỏ. Mặt khác, chiều dài mỗi hàng đợi là nguyên nhân ảnh hưởng đến độ trễ và mất gói. Thật ra, PQ có thể thiết lập chiều dài hàng đợi trở về giá trị 0, có nghĩa là chiều dài hàng đợi “không giới hạn”. (“không giới hạn” có nghĩ là khi bộ định tuyến ra ngoài vùng nhớ, các gói không thể lập lịch, tuy nhiên chúng ta gặp vấn đề rắc rối hơn việc lập lịch cho gói nếu bộ định tuyến ngoài vùng nhớ.)

Hình 3.18: Tiến trình gởi gói tin của PQ

1. PQ có thể phân lớp các gói sử dụng danh sách điều khiển truy cập ACL với giao thức lớp 3. PQ cũng có thể so trùng trực tiếp không cần sử dụng ACL, đầu vào, chiều dài gói và cổng TCP và UDP.
2. Hủy bỏ gói cuối hàng đợi là chính sách bỏ gói mặc định.
3. Số hàng đợi cực đại là 4.
4. Chiều dài hàng đợi cực đại có thể là 0, nghĩa là hàng đợi có chiều dài “không xác định” theo lý thuyết. Mặc định là 20, 40, 60 và 80 tướng ứng với các hàng đợi ưu tiên cao,trung bình, bình thường và thấp.
5. Bên trong một hàng đợi, PQ sử dụng hảng đợi FIFO.
6. Khi lập lịch các hàng đợi, PQ luôn phục vụ các hàng đợi ưu tiên cao trước.

– Khi ngõ xuất không tắc nghẽn (nói một cách khác TX không đầy), các gói mới đặt vào TX một cách trực tiếp. Khi TX đầy, PQ thể hiện việc lập lịch. Khi tất cả các hàng đợi PQ truyền hết các gói (TX không đầy), tắc nghẽn dịu đi. Các gói mới đến lại vào TX, cho đến khi nó đầy trở lại, nó sẽ khởi động tiến trình hàng đợi với PQ.
– PQ làm việc tốt trong các chính sách QoS cần xử lý một loại lưu lượng với khả năng phục vụ tốt nhất. Tuy nhiên, dịch vụ PQ với các hàng đợi thấp giảm nhanh chóng, làm cho PQ không thiết thực cho hầu hết các ứng dụng hiện nay. Chẳng hạn, việc chạy một kết nối FTP, một trình duyệt web, một cuộc gọi NetMeeting, và 2 cuộc gọi VoIP khi xuất, các kết nối TCP với lưu lượng HTTP và FTP thường xuyên vượt quá thời gian cho phép.
Bảng tóm tắc tính năng PQ:

3.3.3 Custom Queuing
Custom Queuing (CQ) là kĩ thuật hàng đợi ra đời sau PQ, không giống như PQ, CQ sẽ phục vụ cho tất cả các hàng đợi có trong interface của nó thậm chí khi sảy ra nghẽn mạng. CQ có tất cả 16 hàng đợi, như vậy nó cho phép tối đa 16 lớp dịch vụ (vừa đủ cho các loại dịch vụ ngày nay). CQ còn không cung cấp cho một hàng đợi đặc biệt nào đó có mức ưu tiên cao hơn các hàng đợi khác và cũng không ưu tiên hàng đợi nào có low delay, low jitter, low loss…

CQ cung cấp một lượng băng thông ngang nhau cho tất cả các hàng đợi, việc lập lịch của CQ như sau:

Hình 3.19: Cách lấy gói tin của CQ

CQ sẽ kiểm tra lần lượt các hàng đợi, bắt đầu từ hàng đợi thứ 1, CQ sẽ lấy gói tin từ hàng đợi này cho tới khi số gói tin mà nó lấy vượt quá hoặc bằng giá trị cho phép, sau khi hàng đợi này đã được phục vụ với số gói tin nhu trên hoạc hàng đợi này không có gói tin thì CQ sẽ chuyển qua phục vụ cho hàng đợi kế tiếp và quá trình lặp lại như trên.
CQ không cho phép cấu hình băng thông cho từng hàng đợi mà chỉ cho phép cấu hình số gói tin sẽ lấy thừ hàng đợi đó. Ví dụ: ta thiết kế sẽ lấy 10000 bytes cho mỗi hàng đợi và ta có 5 hàng đợi tất cả, như vậy mỗi hàng đợi sẽ chiếm dụng băng thông là 20% (10000/50000). Bây giờ nếu ta thiết kế có 5 hàng đợi: hai hàng đầu tiên sẽ được phục vụ với số bytes là 5000, hai hàng tiếp theo là 10000, và hàng thứ 5 là 20000, như vậy hàng thứ nhất và thứ hàng mỗi hàng sẽ nhận băng thông là 10% (5000/50000), hai hàng tiếp theo mỗi hàng nhận là 20% (10000/50000) và thứ 5 là 40% trên tổng băng thông của link.
Khi thực hiện gởi gói tin, giả sử trong hàng đợi thứ 4 không có gói tin nào đang chờ, chỉ có hàng đợi 1,2,3 và 5 là có gói tin đang chờ, khi đó băng thông sẽ được phân phát lại như sau: hàng đợi thứ nhất nhận 12.5%, thứ 2 12.5%, thứ 3 25%, thứ 4 0% và thứ 5 là 50%.

Ta tính như sau:
Hàng đợi thứ 1 : =12.5%
Hàng đợi thứ 2: =12.5%
Hàng đợi thứ 3: =25%
Hàng đợi thứ 4: =50%
Quá trình gởi gói tin của CQ:

Hình 3.20: Quá trình gởi gói tin của CQ

1.CQ phân loại gói tin bằng các ACLs hoặc bằng các kĩ thuật khác.
2.Tail drop là kĩ thuật CQ dùng để chống nghẽn.
3.Tối đa là 16 hàng đợi.
4.Ta có thể set kích cỡ của hàng đợi về tới 0 (nghĩa là chiều dài là vô hạng).
5.Bên trong một hành đợi CQ sử dụng FIFO.

6.Khi lập lịch cho gói tin, CQ sẽ xoay vòng cho các hàng đợi (phục vụ cho hàng này xong thì tới hàng hàng khác).
Đặc điểm của CQ :
+ Không thích hợp cho các mạng cần low delay, low jitter,…
+ Không thể dành trước băng thông cho link.
+ Không cung cấp hàng đợi ưu tiên.
+ Không thích hợp cho Voice
+ Cho phép các hàng đợi được phục vụ xoay vòng.
+Cho phép các hàng đợi bình đẳng nhau.

Hình 3.21: Bảng tóm tắc CQ

3.3.4 Weighted Fair Queuing
WFQ là kĩ thuật hàng đợi mặc định trong router Cisco, nó khác với các hàng đợi PQ và FIFO ở các điểm sau:
+ Nó không cho phép cấu hình phân loại, WFQ phân loại gói tin theo flow, một flow bao gồm nhiều gói tin có cùng đích đến và cùng nguồn, cùng port đích và port nguồn. Sẽ

không có cấu hình nào rõ rang cho nó.
+ Tính năng lập lịch: WFQ dựa vào flow, do vậy những flow nào có độ ưu tiên cao hơn thì sẽ được phát trước.
+ Mỗi flow là một hàng đợi, vì vậy số hàng đợi trong WFQ có thể lên tới 4096 hàng đợi lớn hơn rất nhiều so với PQ hay FIFO.
Với WFQ ta có tối đa là 4096 hàng đợi trong 1 interface của router, số hàng đợi này cũng chính là số flow chảy vào router. Ví dụ: ta có 5 flow là Voice, 2 kết nối HTTP, 2 kết nối FTP thì khi đó ta sẽ có 5 hàng đợi trong router, như vậy số hàng đợi thay đổi theo số flow, chúng không cố định như trong các kĩ thuật khác

Hình 3.22: Cách lấy gói tin của WFQ

Hoạt động của WFQ như sau:

Hình 3.23: Tiến trình gởi gói tin của WFQ

+Khi gói tin vào interface, nó sẽ được phân loại thành các flow theo 5 thông số:
– IP source
– IP destination
– port source
– port destination
– Giao thức lớp 4 nó sử dụng là gì (TCP hay UDP)
WFQ dựa vào các trường như DSCP, ToS để phân loại gói tin và đưa nó vào các hàng đợi khác nhau. Những gói tin có IP precedent hay DSCP cao hơn sẽ có mức ưu tiên cao hơn.
Hai vấn đề quan trọng trong WFQ đó là :
a. Đối xử công bằng với tất cả các flow đang tồn tại : Giả sử ta có băng thông là 128 kbps và có 10 hàng đợi đang tồn tại, mỗi hàng đợi sẽ nhận được băng thông là 12.8 kbps. Nều số hàng đợi là 100 thì mỗi hàng đợi sẽ nhận băng thông là 1.28 kbps. Một vấn đề tồn tại ở đây là sự quá công bằng của WFQ, giả
b. sử trong số 10 hàng đợi trên hàng đợi thứ 1 cần băng thông là 5 kbps và hàng đợi thứ 2 cần băng thông là 30 kbps, nhưng vì WFQ chỉ cấp băng thông cho mỗi hàng đợi là 12.8 kbps, như vậy hàng đợi thứ 1 dư băng thông nó sẽ luôn được phục vụ tốt nhất, nghĩa là low delay, low jitter, low loss vì số gói tin trong hàng đợi của nó lúc nào cùng rất ít. Với hàng đợi thứ 2 thiếu băng thông vì vậy delay, jitter và loss của nó sẽ rất lớn.
c. Cung cấp thêm băng thông cho những flow có mức ưu tiên cao hơn (higher IP precedent hay higher DSCP) : Vẫn với giả sử trên 128 kbps cho 10 flow. Bây giờ giả sử có 5 flow với IP precedent bằng 0, và 5 flow với IP precedent bằng 1, 5 flow IP precedent 1 có mức ưu tiên cao hơn 5 flow IP precedent 0 theo đó tỉ số băng thông phân phối là 2:1, flow IP precedent 1 sẽ nhận băng thông là 17 kbps gấp đôi flow IP precedent 0 là 8.5 kbps, cách tính tỉ số này như sau:
= =
+ Sau khi được phân loại gói tin sẽ được tính giá trị SN (Sequence number) như sau:
SN = SN (trước đó) + Weight*length
SN : Sequence number
Weight : trọng số của gói tin , Weight=32384 / (IP_Precedence+1)
Length : Chiều dài gói tin
Bảng giá trị của Weight:

Hình 3.24: Bảng giá trị Weight

Ví dụ: Với gói tin có SN trước đó là 0, chiều dài là 1500 byte và precedent là 0 ta sẽ tính SN như sau:
SN = 0 + 1500*32384 = 48576000
– Sau đó quyết định có drop gói tin hay không dựa vào 2 thông số (còn gọi là Tail drop):
– Hold-queue: Nếu gói tin là này là gói mà làm vượt mức hold-queue (tổng số gói tin trong tất cả các hàng đơi) thì nó sẽ bị drop.
– CDT: (Congestion discard threshold) là số gói tin tối đa trong một hàng đợi, giá trị này có thể cấu hình cho phép từ 1 đến 4096.
+ Tiếp theo các gói tin nếu không bị drop sẽ đưa vào hàng đợi và chờ phát đi
+ Khi nằm trong hàng đợi các gói tin sẽ được lập lịch (scheduler logic), quá trình lập lịch dựa vào SN của gói tin, precedent và volume (Số gói tin đang có trong một hàng đợi).
– Những gói tin có SN càng nhỏ, precedent càng lớn, và volume càng nhỏ sẽ được chọn forward trước.
– Thứ tự ưu tiên như sau: Đầu tiên là SN, sau đó là precedent, và cuối cùng là volume.

Hình 3.25: Tính toán SN

Ví dụ:
Ta có 4 hàng đợi là flow 1, flow 2, flow 3, flow 4, với kích thức mỗi gói tin là 1500 byte, 1000 byte, 500 byte, 100 byte. Mỗi hàng đợi có 4 gói tin với precedent là 0, giả sử SN trước đó của các gói tin là 0, như vậy ta tính được các giá trị SN như hình sau:

Hình 3.26: Thứ tự gởi gói tin

Khi đó thứ tự forward gói tin là: 13, 5, 14, 15, 6, 1, 16, 7, 9, 2, 8, 3, 4, 11, 12.
Ví dụ cấu hình cho WFQ:

Hình 3.27: Ví dụ về mạng có dùng WFQ

R3#conf t
R3(config)#int s 0/0
R3(config-if)#fair-queue
R3(config-if)#^Z
R3#sh int s 0/0
Serial0/0 is up, line protocol is up
Hardware is PowerQUICC Serial
Description: connected to FRS port S0. Single PVC to R1.
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 9/255, rxload 8/255
Encapsulation FRAME-RELAY, loopback not set
Keepalive set (10 sec)
LMI enq sent 171, LMI stat recvd 163, LMI upd recvd 0, DTE LMI up
LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 0/64, broadcasts sent/dropped 378/2, interface broadcasts 347
Last input 00:00:01, output 00:00:00, output hang never
Last clearing of “show interface” counters 00:28:46
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 8249
Queueing strategy: weighted fair
Output queue: 126/1000/64/8249 (size/max total/threshold/drops)
Conversations 6/7/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)

Available Bandwidth 1158 kilobits/sec
5 minute input rate 52000 bits/sec, 97 packets/sec
5 minute output rate 58000 bits/sec, 78 packets/sec
36509 packets input, 2347716 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
1 input errors, 0 CRC, 1 frame, 0 overrun, 0 ignored, 0 abort
28212 packets output, 2623792 bytes, 0 underruns
0 output errors, 0 collisions, 5 interface resets
0 output buffer failures, 0 output buffers swapped out
10 carrier transitions
DCD=up DSR=up DTR=up RTS=up CTS=up
R3#show queueing fair
Current fair queue configuration:
Interface Discard Dynamic Reserved Link Priority
threshold queues queues queues queues
Serial0/0 64 256 0 8 1
Serial0/1 64 256 0 8 1
R3#show queueing fair int s 0/0
Current fair queue configuration:
Interface Discard Dynamic Reserved Link Priority
threshold queues queues queues queues
Serial0/0 64 256 0 8 1
R3# show queue s 0/0

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 11027
Serial0/0 64 256
Queueing strategy: weighted fair
Output queue: 79/1000/64/11027 (size/max total/threshold/drops)
Conversations 4/8/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
! Next stanza lists info about one of the VoIP calls
(depth/weight/total drops/no-buffer drops/interleaves) 37/5397/1359/0/0
Conversation 15, linktype: ip, length: 64
source: 192.168.3.254, destination: 192.168.2.251, id: 0x013B, ttl: 253,
TOS: 184 prot: 17, source port 16772, destination port 19232
! Next stanza lists info about one of the VoIP calls
(depth/weight/total drops/no-buffer drops/interleaves) 37/5397/1359/0/0
Conversation 125, linktype: ip, length: 64
source: 192.168.3.254, destination: 192.168.2.251, id: 0x0134, ttl: 253,
TOS: 184 prot: 17, source port 16638, destination port 19476
! Next stanza lists info about one of the HTTP TCP connections
(depth/weight/total drops/no-buffer drops/interleaves) 1/10794/36/0/0
Conversation 33, linktype: ip, length: 1404
5397
10794
source: 192.168.3.100, destination: 192.168.1.100, id: 0xFF50, ttl: 127,

TOS: 72 prot: 6, source port 80, destination port 1067
! Next stanza lists info about one of the HTTP TCP connections
(depth/weight/total drops/no-buffer drops/interleaves) 2/10794/34/0/0
Conversation 34, linktype: ip, length: 1404
source: 192.168.3.100, destination: 192.168.1.100, id: 0xFF53, ttl: 127,
TOS: 88 prot: 6, source port 80, destination port 1068
! Notice the TOS values versus the weight in the last two stanzas!
R3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#int s 0/0
R3(config-if)#fair-queue 100 64 10
R3(config-if)#hold-queue 500 out
R3(config-if)#^Z
!
R3#show interface serial 0/0
Serial0/0 is up, line protocol is up
Hardware is PowerQUICC Serial
Description: connected to FRS port S0. Single PVC to R1.
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 9/255, rxload 8/255
Encapsulation FRAME-RELAY, loopback not set
Keepalive set (10 sec)
LMI enq sent 198, LMI stat recvd 190, LMI upd recvd 0, DTE LMI up

LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0
LMI DLCI 1023 LMI type is CISCO frame relay DTE
Broadcast queue 0/64, broadcasts sent/dropped 442/2, interface broadcasts 406
Last input 00:00:01, output 00:00:00, output hang never
10794
Last clearing of “show interface” counters 00:33:14
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 12474
Queueing strategy: weighted fair
Output queue: 95/500/100/12474 (size/max total/threshold/drops)
Conversations 5/6/64 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
! lines omitted for brevity
R3#show queueing fair
Current fair queue configuration:
Interface Discard Dynamic Reserved Link Priority
threshold queues queues queues queues
Serial0/0 100 64 10 8 1
Serial0/1 64 256 0 8 1
3.3.5 Class-Based Weighted Fair Queuing
Class-Based Weighted Fair Queuing (CBWFQ) là kĩ thuật hàng đợi ra đời sau WFQ, nó giống với WFQ ở chỗ: Cho phép sử dụng WFQ ngay bên trong một hàng đợi của nó, nhưng khác với WFQ ở chỗ: CBWFQ sử dụng Class để phân loại còn WFQ sử dụng flow.

CBWFQ có thể cấu hình băng thông thực sự cho một hàng đợi.

Hình 3.28: Tiến trình gởi gói tin của CBWFQ

Từ trái sang phải:
1.CBWFQ phân loại gói tin bằng ACLs, MPLS EXP, Port….
2.Quyết định drop gói tin bằng các kĩ thuật Tail drop hoặc WRED
3.Số hàng đợi tối đa là 64 và chiều dài hàng đợi tối đa là 64, các giá trị này là mặc định ta có thể set tùy theo ý muốn.
4.Bên trong mỗi hàng đợi ta có thể dùng FIFO hoặc WFQ.
Chú ý: WRED là kĩ thuật hàng đợi dùng để chống nghẽn, nó tốt cho một số loại dữ liệu nhưng cũng không tốt cho các dữ liệu như Voice hay Video vì các dữ liệu này cần không bị rớt trong mọi trường hợp.
CBWFQ vượt trội hơn các hàng đợi WFQ ở chỗ: Nó phân loại gói tin theo Class chứ không theo flow, như vậy dễ dàng cho ta thiết kế hơn.

Hình 3.29: các hàng đợi của CBWFQ

Bảng tóm tắt CBWFQ:

Cấu hình CBWFQ:

Kiểm tra lại cấu hình:

3.3.6 Low-latency Queuing
Low –latency Queueing (LLQ) là một kĩ thuật hàng đợi mà ở đó nó cho phép gói tin được phục vụ với chất lượng cao nhất (low delay, low jitter, low loss …).Nó đơn giản để cấu hình và đơn giản để hiểu. LLQ không phải là một hàng đợi tách biệt với các kĩ thuật hàng đợi khác, nó được sử dụng bên trong một kĩ thuật hàng đợi nào đó để làm tăng tính ưu tiên cho hàng đợi này, những hàng đợi có dùng LLQ thì nó được đối xử giống như hàng đợi PQ, nhưng với PQ thì nó không đảm bảo băng thông cho các hàng đợi khác còn với LLQ thì mặc dù vẫn có hàng đợi ưu tiên nhưng nó vẫn đảm bảo băng thông cho các hàng đợi không có LLQ.

Hình 3.30: Tiến trình gởi gói tin của LLQ

Hoặc:

Theo như giản đồ trên thì LLQ sẽ hoạt động không khác gì so với PQ bởi vì nó luôn phục vụ hàng đợi có mức ưu tiên cao hơn, chỉ khi nào hàng đợi này không còn gói tin thì

nó mới chuyển sang hàng đợi không có ưu tiên. Để khắc phục điều này LLQ sẽ làm như sau:

Hình 3.31: Tiến trình gởi gói tin của LLQ cải thiện
Như vậy mỗi khi hàng đợi LLQ vượt quá tốc độ cho phép hay băng thông cho phép thì các gói tin trong hàng đợi này sẽ bị rớt và chuyển qua phục vụ cho hàng đợi khác. Như vây hàng đợi LLQ chỉ có thể hoạt động ở tốc độ đã được thiết lập từ trước và không thể tranh chấp với các hàng đợi khác khi nó cần thêm băng thông, vậy các hàng đợi khác đã được đảm bảo về băng thông.
Như vậy LLQ là hàng đợi luôn được phục vụ trước nhưng nó có các chính sách để ngăn chặn việc tranh chấp băng thông với các hàng đợi khác khi xay ra vượt qua tốc độ cho phép.
Hàng đợi LLQ có ý nghĩa rất lớn trong các dữ liệu là Voice, Video…vì nó cho phép các dữ liệu này nhận được sự phục vụ tốt nhất có thể: low delay, low jitter, low loss..
Ví dụ cấu hình LLQ:
Để cấu hình một hàng đợi LLQ bên trong một hàng đợi nào đó ta dùng câu lệnh sau:
priority {bandwidth-kbps | percent percentage} [burst] Ví dụ:
PE1(config-pmap)#class Voice-EXP

PE1(config-pmap-c)#priority 512 ///Mức ưu tiên cao nhất
PE1(config-pmap-c)#exit
Với cầu hình này, một hàng đợi của CBWFQ là Voice-EXP đã được cấu hình thêm bên trong đó là hàng đợi LLQ với băng thông là 512 kbps. Khi đó hàng đợi này sẽ có mức ưu tiên cao nhất trong tất cả các hàng đợi.
Bảng tóm tắt các kĩ thuật hàng đợi:

Bảng trên cho ta tóm tắt về các hàng đợi và các kĩ thuật drop mặc định của chúng, cột cuối cùng là số hàng đợi tối đa cho mỗi loại hàng đợi.

Cột thứ 2 là các kĩ thuật lập lịch cho gói tin trong mỗi hàng đợi.
Các trường dùng để phân loại của các kĩ thuật hàng đợi:

3.4 Định hướng và chính sách (Shaping and policing)
Định hướng và các chính sách là một một phần không thể thiếu trong các kĩ thuật QoS, các chính sách sẽ giúp cho các gói tin có được các mức ưu tiên phù hợp với đặc điểm của nó và sẽ drop gói tin khi tốc độ vượt qua mức so với cấu hình, Chính sách do kĩ sư thiết kế cho các loại dữ liệu khác nhau, nó tùy thuộc vào cảm tính của người kĩ sư và phụ thuộc vào thõa thuận giữa nhà cung cấp dịch vụ và khách hàng. Trong khi đó định hướng sẽ giúp cho các gói tin nhận được sự phục vụ đúng theo tốc độ đã định hình nó không drop gói tin mà chỉ làm cho gói tin chậm lại để không bị vượt quá tốc độ cho phép.
Cả hai công cụ shaping và policing đều đo tốc độ truyền hoặc nhận dữ liệu. Policing có khả năng loại bỏ những gói tin dư thừa để đảm bảo tốc độ truyền không vượt quá tốc độ thoả thuận.

Shaping sắp xếp các gói dư thừa này vào hàng đợi, và rồi đi ra khỏi hàng đợi ở tốc độ định hình.
Trong cả hai trường hợp, cả hai công cụ đều ngăn lưu lượng không được vượt quá tốc độ bit được định nghĩa bởi người quản trị.
Một lý do cổ điển để lựa chọn shaping là khi thiết bị ở đầu kia của đường truyền đang thực hiện policing. Ví dụ: giả sử R1 thuộc một doanh nghiệp và R2 thuộc ISP. R1 gửi gói tới R2 và R2 thực hiện policing, loại bỏ những lưu lượng vượt quá tốc độ xbps.
ISP có thể lựa chọn giám sát tại R2 để bảo vệ mạng tránh khỏi việc chấp nhận quá nhiều lưu lượng. R1 có thể được cấu hình đề shaping lưu lượng gửi tới R2 sao cho lưu lượng này ở tốc độ bằng với tốc độ ở phía giám sát ở R2, thay vì để dữ liệu thừa bị R2 loại bỏ.
Nói tóm lại, shaping và policing có thể đóng vai trò quan trọng trong trường hợp router có thể gửi nhiều lưu lượng hơn sự cho phép của hợp đồng lưu lượng. Shaping chỉ làm chậm lại tốc độ truyền gói để không vượt quá hợp đồng lưu lượng. Policing loại bỏ những gói để không vượt quá hợp đồng lưu lượng.

Hình 3.32: So sánh giữ policing và shaping

Theo hình như trên ta thấy với policing thì nó chỉ ứng xử với các gói tin vượt qua tốc độ cho phép bằng cách drop chúng để tốc độ vẫn đảm bảo vì vậy ngõ ra có dạng răng cưa. Còn

với Shaping thì nó cho ngõ ra mượt hơn bởi vì nó không ứng xử với các gó itn đã vượt quá tốc độ mà nó sẽ làm cho các gói tin chậm lại và đảm bảo tốc độ cho trước.
Ví dụ cấu hình policing và shaping:
+ Cấu hình theo policing:
class-map match-all IP
match ip precedence 3
class-map match-all VoIP
match ip precedence 5
policy-map child
class VoIP
priority 128
class IP
priority 1000
policy-map parent
class class-default
police 3300000 103000 103000 conform-action transmit exceed-action drop
service-policy child
+ Cấu hình theo Shaping:
policy-map parent
class class-default
shape average 3300000 103000 0
service-policy child.

 

CHƯƠNG 4DIFFSERV QoS TRONG MPLS

4.1 TRƯỜNG DS

 

 

4.1.1 Trường ToS

Hình 4.1: Trường ToS

Trước khi có DiffServ thì trường IP header trong gói tin IP có một trường ToS, đây là trường duy nhất dùng để thực hiện QoS, trường ToS gồm 8 bit (1 byte) từ bit 0 đến bit 2 là IP precedent, 3 bit dùng để set ưu tiên cho gói tin và ta thực hiện QoS dựa trên 3 bit này, 4 bit tiếp theo là trường ToS nó chứa một số các thông điệp như:

Bit    3:  0 =NormalDelay,      1 = Low Delay.

Bits   4:  0 =NormalThroughput, 1 = High Throughput.

Bits   5:  0 =NormalRelibility, 1 = High Relibility.

Bit  6-7:  Reserved for Future Use.

 

 

 

 

 

Ý nghĩa của các bit precedent:

111 – Network Control

110 – Internetwork Control

101 – CRITIC/ECP

100 – Flash Override

011 – Flash

010 – Immediate

001 – Priority

000 – Routine

Vì trường precedent chỉ có 3 bit như vậy sẽ tạo ra 8 tổ hợp cho ta thực hiện QoS, theo các chuyên gia của cisco như vậy là ít cho các mạng lớn, vì vậy DiffServ đã ra đời với trường DSCP dài hơn là 6 bit.

4.1.2 Trường DSCP

Trường DSCP được tạo ra từ trường IP precedent bằng cách lấy thêm 3 bit trong trường ToS làm thành 6 bit để thực hiện QoS, với 6 bit này ta có thể tạo ra tổ hợp 64 giá

 

 

trị khác nhau trong QoS, nhiều hơn rất nhiều so với precedent. Từ bit 0 tới bit 5 là bit DSCP, bit 6 và 7 tạm thời không sử dụng.

Hình 4.2: Trường DSCP

Nhưng thực ra người ta không dùng hết 64 giá trị này mà chỉ dùng 21 giá trị và được phân chia thành 3 loại là: AF, CS và EF như bảng sau: (xem hình trang sau)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hình 4.3: Bảng giá trị DSCP

 

 

 

 

 

4.1.3 Ánh xạ từ DSCP sang EXP

    Có hai cách ánh xạ từ DSCP sang EXP:

1. Ánh xạ theo E_LSP :(EXP-infered-PSC-LSP)

Việc đánh dấu sẽ được thực hiện trên trên trường EXP trong nhãn gói tin, giá trị DSCP 6 bit sẽ được ánh xạ vào trường EXP 3 bit theo đó chỉ có 8 lớp có thể dùng để phân loại. Vì DSCP có 64 giá trị còn EXP chỉ có 8 giá trị như vậy sẽ có nhiều giá trị trùng nhau, Việc ánh xạ này thực ra có thể do người kĩ sư thực hiện, họ có thể tùy thích chọn các giá trị giữa hai

trường DSCP và EXP nhưng Cisco khuyến cáo sử dụng các giá trị sau:

Hình 4.4: Ánh xạ từ DSCP sang EXP

Hoặc có thể theo bảng sau:

 

 

 

 

 

 

Với việc ánh xạ như trên ta sẽ có những khó khăn như sau khi thực hiện QoS:

Hình 4.5: Gởi gói tin theo E_LSP

 

 

Ở đây ta thấy khi A1 và A3 gởi gói tin đến đích A2 với giá trị DSCP lần lượt là AF 31 và AF 33, Khi đến mạng MPLS nó sẽ được đánh dấu lại với troung2 EXP đều là 3, như vậy cả hai sẽ được đối xử như nhau không ai ưu tiên hơn ai, đây là điểm khó khăn trong E_LSP vì có những lúc ta cần phải ưu tiên cho một gói trong hai gói này với mức ưu tiên cao hơn.

Để tránh điều này ta cần phải thực hiên QoS cẩn thận tránh sự trung lặp không cần thiết, ví dụ sau sẽ tránh được điều này ngay cả khi dữ liệu được gởi từ cùng một đích:

 

Hình 4.6: Gởi gói tin theo E_LSP

Ở đây, hai loại dữ liệu A và C từ A1 gởi tới A2, dữ liệu A với AF 31 dữ liệu C với EF, khi đó rõ ràng C sẽ có mức ưu tiên cao hơn A và sẽ cho chất lượng cao hơn A.

 

 

2. Ánh xạ theo L_LSP: (Label-only-infered-PSC LSP)

Vì với cách ánh xạ E_LSP chỉ có thể thực hiện QoS với 8 lớp trong khi DSCP cho phép tới 64 tổ hợp, vì vậy có một cách ánh xạ khác có thể cho nhiều lớp hơn để thực hiện QoS đó là L_LSP.

Với L_LSP thì nhãn của gói tin không chỉ đóng vai trò là giá trị để chuyển mạch mà còn để thực hiện QoS, còn trường EXP được sử dụng cho các chính sách drop gói tin.

Mỗi LSP riêng biệt có thể được thiết lập cho mỗi PHB. Với những LSP như vậy, PSC (PHB Schedule) được báo hiệu tường minh tại lần thiết lập nhãn, sau đó LSR có thể suy ra từ giá trị nhãn PSC được áp đặt cho gói tin. Trường EXP chỉ được sử dụng khi áp đặt giá trị ưu tiên đánh rớt cho gói tin. Phương pháp này được gọi là Label-only-infered-PSC LSP, hay còn gọi là L _LSP vì PSC có thể được suy ra từ giá trị nhãn mà không cần bất kì thông tin nào khác (bất chấp giá trị trường EXP ).

4.2 PHB (PER-HOP BEHAVIORS)

 

 

 

 

4.2.1 Default PHB

Default PHB hay còn gọi là Best-effort (BE) có giá trị DSCP là 000000, lớp này thường được sử dụng cho các dữ liệu mà ta chưa biết rõ về nó, khi đó sau khi đã phân loại tất cả dữ liệu đã biết thì còn các dữ liệu còn lại sẽ là BE.

4.2.2 Class-Selector PHB

Sử dụng 8 bit DSCP, 3 bit cuối luôn là 0, nghĩa là các giá trị nhị phân của CS sẽ có dạng xxx000, do đó có tất cả 7 giá trị CS :CS1, CS2, CS3, CS4, CS5, CS6, CS7. Sử dụng mức ưu tiên càng lớn càng tốt (bigger is better)

4.2.3 Assured Forwarding PHB

Assured Forwarding PHB có dạng như sau : Afxy, với x là Class còn y là cấp drop gói tin. Trong một Class thì giá trị y càng lớn thì sẽ dễ bị drop hơn, nghĩa là :

dP(AF13) >= dP (AF12) >= dP(AF11)      dP :drop precedent

Có thể biểu diễn các giá trị AF như sau: AFxyzab0, với xyz có thể là 001, 010, 011, 100 tượng trưng cho 4 Class và ab có thể là 01, 10, 11 tượng trưng cho dP.

Hình 4.7: Các giá trị AF

 

4.2.4 Expedited Forwarding PHB

Chỉ có một giá trị DSCP duy nhất EF sẽ qui định thời gian delay nhỏ nhất, độ jitter thấp nhất và cung cấp chất lượng dịch vụ cao nhất, bất kì traffic nào vượt quá tốc độ qui định sẽ bị discard.

Giá trị EF được khuyến cáo là 101110

4.3 DIFFSERV TUNNELING MODES TRONG MPLS NETWORKS

DiffServ Tunnueling modes cho phép nhà cung cấp dịch vụ quản lý QoS hiệu quả hơn nơi mà các router sẽ chạy MPLS trong một mạng MPLS. DiffServ Tunneling modes có các mode sau:

+Pipe mode

+short pipe mode

+Uniform mode

Các mode trên dùng để quản lý các router khách hàng, router biên và router nhà cung cấp dịch vụ.

Các tính năng  được cung cấp bởi MPLS DiffServ Tunneling modes :

+Tạo ra một đường hầm QoS xuyên qua nhà cung cấp dịch vụ (Gói tin QoS sẽ được trong suốt từ biên đến biên).

+Trường EXP có thể được đánh dấu thay cho các trường IP precedent hay DSCP.

+Có thể quản lý router CE của nàh khách hàng.

MPLS DiffServ Tunneling modes  có những lợi ích như sau :

+Cung cấp thêm các tính năng QoS bằng cách tạo ra trường MPLS EXP để thực hiện QoS trong suốt quá trình gói tin được chuyển tiếp bằng nhãn.

+Ta có thể thiết đặt PHB (Per hop behavior : Ứng xử tiếp theo cho gói tin) cho gói tin theo ý muốn.

 

 

+Pipe mode và short pipe mode cung cấp sự trong suốt data đi xuyên qua nhà cung cấp.

+Cho phép tạo một Explicit NULL LSP trong Pipe mode, với tính năng này thì gói tin sẽ được QoS bằng EXP ngay tại router biên đầu vào.

+Trong Pipe và short Pipe mode khách hàng sẽ có các đánh dấu gói tin của riêng mình và ISP sẽ giữ nguyên các đánh dấu này khi gói tin đi qua mạng.

+Trong Uniform mode khách hàng sẽ không có đánh dấu cho gói tin của riêng mình, ISP sẽ đánh dấu lại gói tin khi nó đi qua mạng của ISP.

Hạn chế MPLS DiffServ Tunneling modes :

+Không cung cấp L-LSP, cho phép E-LSP.

+Vì EXP chỉ có 3 bit nên sẽ cung cấp tối đa là 8 class cho gói tin hay nói cách khác nó cho phép tối đa là 8 PHB.

4.3.1 Pipe Model với Explicit NULL LSP:

Trong mô hình Pipe nhà cung cấp dịch vụ cung cấp cho khách hàng VPN sự cam kết về chất lượng dịch vụ đối với lưu lượng đi giữa router CE này đến router CE khác trong cùng VPN. Và các node trung gian trong mạng backbone (router P) hoàn toàn bị che dấu đi.
Các gói tin đi qua đường hầm phải vận chuyển hai mảng thông tin Diff-serv:

+ Thông tin Diff-serv có ý nghĩa với các node trung gian dọc LSP. Thông tin này còn được gọi là thông tin Diff-serv LSP.

+ Thông tin Diff-serv được router ingress vận chuyển đến router egress. Các router P không hề biết đến thông tin này, nên nó còn đựơc gọi là thông tin Diff-serv đi qua hầm (tunneled Diff-serv information).

Mô hình Pipe sử dụng thích hợp khi khách hàng và nhà cung cấp dịch vụ thuộc về những miền Diff-serv khác nhau (miền Diff-serv của nhà cung cấp dịch vụ bắt đầu ở interface ngõ vào trên router igress PE và kết thúc ở interface ngõ ra trên router PE egress), khi nhà cung cấp dịch vụ muốn áp đặt chính sách của họ và khách hàng có yêu cầu rằng các chính sách QoS của khách hàng hoàn toàn trong suốt khi đi qua mạng của nhà cung cấp. Ví dụ như nhà

 

cung cấp cung cấp dịch vụ VPN có cả Diff-serv. Giả sử tập hợp các site được quản lý dưới chính sách quản trị chung và cũng đang được hỗ trợ về dịch vụ Diff-serv. Nếu quản trị site VPN nhà cung cấp dịch vụ không có cùng chung chính sách Diff-serv (chẳng hạn không hỗ trợ cùng số lượng PHB), thì hoạt động của Diff-serv trong mô hình Pipe sẽ cho phép chính sách Diff-serv của các site VPN hoàn toàn trong suốt khi qua mạng nhà cung cấp và không đổi từ router ingress đến router egress.

Với mô hình Pipe, thông tin Diff-serv LSP cần phải được vận chuyển đến router Egress để nó có thể áp đặt chính sách chuyển tiếp trên đó. Thông tin Diff-serv đi qua hầm cũng cần phải được vận chuyển đến router egress để nó có thể được chuyển đến downstream xa hơn. Vì cả hai thông tin Diff-serv trên đều cần được chuyển đến router egress nên mô hình Pipe không hoạt động với PHP.

Để hỗ trợ mô hình Pipe qua LSP không có hoạt động PHP, LSR thực hiện quyết định PHB ngõ vào và mã hoá thông tin Diff-serv theo các bước sau:

+ Khi nhận được gói tin không có gán nhãn, LSR thực hiện quyết định PHB ngõ vào dựa trên mào đầu gói tin IP mà nó nhận được.

+ Khi nhận được gói tin có gán nhãn, LSR thực hiện quyết định PHB ngõ vào trên nhãn ngoài cùng trong chồng nhãn. Đặc biệt khi hoạt động pop được thực hiện trên LSP, LSR thực hiện quyết định PHB ngõ vào trước khi loại bỏ nhãn ra khỏi gói tin (trước khi pop).

+ Khi thực hiện chèn nhãn (push), LSR sẽ:

*Mã hoá thông tin Diff-serv tương ứng với PHB ngõ ra trên entry nhãn được truyền đi.

*Mã hoá thông tin Diff-serv tương ứng với PHB ngõ vào trong mào đầu gói tin được đóng gói (có thể đó là nhãn được chuyển đổi hoặc là mào đầu IP).

+ Khi chỉ thực hiện quá trình chuyển đổi nhãn, LSR mã hoá thông tin Diff-serv trên entry nhãn được truyền đi bao gồm có nhãn được chuyển đổi.

+ Khi thực hiện hoạt động pop, LSR không thực hiện mã hoá thông tin Diff-serv trong mào đầu gói tin.

 

 

Vì các chính sách QoS egressPE-to-CEtrong mô hình Pipe độc lập với giá trị MPLS EXP cuối cùng, nên giá trị này phải được bảo vệ trước khi nhãn cuối cùng bị lấy ra khỏi gói tin. Trên router PE cuối cùng trên đường đi, giá trị MPLS EXP được copy vào giá trị QoS group (là các giá trị DSCP/IP precedence). Sau đó, hàng đợi ngõ ra hoặc các chính sách đánh rớt gói tin được thực hiện dựa trên giá trị của QoS group.
+ Mô hình Pipe với Explicit Null LSP:

Khi router CE được nhà cung cấp quản lý, một vài nhà cung cấp không muốn đánh dấu MPLS EXP lưu lượng khách hàng từ router PE, và đặt các chính sách này bên ngoài interface ngõ vào của router CE (tức là quản lý router CE). Tuy nhiên, vì kết nối CE-to-PE là IP chứ không phải là MPLS, do đó khó khăn là làm cách nào nhà cung cấp thiết lập việc đánh dấu QoS mà không ảnh hưởng đến đánh dấu IP Diff-serv khách hàng đã thiết lập. Explicit Null LSP là giải pháp được đưa ra để giải quyết trường hợp trên.

Explicit Null LSP có các đặc điểm sau:

+ Đường hầm QoS đi từ router CE ingress qua router PE và đến router CE egress.

+ Có một explicit NULL LSP được thiết lập từ router CE đến router PE. Entry nhãn bao gồm một trường MPLS EXP, nhưng không mang giá trị nhãn cho mục đích chuyển tiếp. Giá trị nhãn là 0 (nhãn mang giá trị null) cho tất cả các gói tin đến router PE ingress. Nhãn này được sử dụng chỉ để bảo vệ việc đánh dấu trường MPLS EXP của nhà cung cấp qua kết nối CE-to-PE. Trên router PE, giá trị MPLS EXP được copy vào nhãn MPLS thông thường (những nhãn dành cho mục đích chuyển tiếp) và nhãn explicit null bị loại bỏ đi.

+ Router PE egress loại bỏ entry nhãn và chuyển tiếp gói tin là IP, nhưng QoS được thực hiện trên interface ngõ ra dựa trên trường MPLS EXP mà router PE egress đã nhận được.
+ Nhà cung cấp dịch vụ không viết chồng lên giá trị IP Precedence trong mạng nhà cung cấp dịch vụ.

 

 

 

Hình vẽ sau mô tả tổng quan mô hình Pipe với explicit NULL LSP:

  Hình 4.8: Mô hình Pipe với explicit Null LSP

Trong hình vẽ trên:

1.  Gói tin IP đến ở C1, router CE1 với giá trị DSCP là 1.

2. C2, CE1 thiết lập trường MPLS EXP với giá trị là 5 trong quá trình chèn nhãn Null.
3. Gói tin đi qua mạng nhà cung cấp dịch vụ với giá trị trường MPLS EXP là 5.

4. Mỗi router trong mạng nhà cung cấp dịch vụ nhìn trường MPLS EXP và thực hiện QoS dựa trên giá trị đó.

 

5. Khi gói tin đi đến router PE egress để đến mạng C1, nó thực hiện quyết định QoS dựa trên trường MPLS EXP của gói tin, mặc dù gói tin được truyền đi như là gói tin IP.

Thủ tục hoạt động của MPLS EXP như sau:

 Hình 4.9: Thủ tục hoạt động của MPLS EXP trong Pipe mode

Hình vẽ trên mô tả hoạt động mô hình Pipe với explicit Null LSP cho khách hàng C1 sử dụng dịch vụ MPLS VPN. Vì sử dụng dịch vụ MPLS VPN nên có hai entry nhãn MPLS trong chồng nhãn.

Hoạt động như sau (các con số trong vòng tròn là từng bước hoạt động của nó mà ta sẽ nhắc dưới đây):

1. Gói tin IP đến ở router CE1, router CE được nhà cung cấp quản lý, và có giá trị DSCP là 1.

2. Entry nhãn explicit NULL được chèn vào gói tin có giá trị trường EXP là 5.

3. Gói tin được truyền đến PE1 trên explicit NULL LSP.

4. Router PE1 lưu giá trị của trường EXP và loại bỏ entry explicit Null. Router PE1 chèn nhãn mới vào gói tin IP. Mỗi entry nhãn được thiết lập có giá trị trường MPLS EXP là 5.

5. Gói tin được truyền đến P1.

6. Tại P1 giá trị EXP nhận được được copy vào entry nhãn mới (vừa được chuyển đổi).

7. Gói tin được truyền đến P2.

8. Tại P2, nhãn ở trên đỉnh được lấy ra.

 

9. Gói tin được truyền đến PE2.

10. PE2 lưu giá trị trường MPLS EXP trong QoS group và discard-class, và loại bỏ entry nhãn ra khỏi gói tin.

11. Trong khi truyền gói tin đến CE2, PE2 thực hiện QoS trên interface ngõ ra của nó dựa trên giá trị MPLS EXP được lưu trước đó (qos-group và discard class).

12. Gói tin đến CE2.

4.3.2 Short-Pipe Model

Mô hình Short Pipe cũng tương tự như mô hình Pipe, chỉ khác ở chỗ là trong mô hình Short Pipe thì router CE của khách hàng không có sự quản lý của ISP, không có nhãn Explicit NULL LSP, có thuộc tính PHP (gói tin sẽ bị bóc nhãn trước khi đến router PE Egress).

Vì router PE egress áp đặt chính sách chuyển tiếp dựa trên thông tin Diff-serv tunneled, thông tin Diff-serv LSP không cần được truyền bởi node thực hiện PHP đến router PE egress. Do đó, mô hình Short Pipe có thể hoạt động với PHP.

Để hỗ trợ mô hình Short Pipe Mode qua đường chuyển mạch nhãn LSP đã xây dựng không có PHP, LSR thực hiện quyết định PHB ngõ vào và mã hoá thông tin Diff-serv giống như trong mô hình Pipe Mode. Ngoại trừ là khi nhận gói tin có gán nhãn, LSR quan tâm đến mào đầu (entry nhãn hoặc mào đầu IP) được sử dụng để dùng cho việc chuyển tiếp. Đặc biệt, khi hoạt động rút nhãn xảy ra thì LSR thực hiện quyết định PHB ngõ vào sau khi rút nhãn.

Để hỗ trợ mô hình Short Pipe qua một LSP có PHP, LSR thực hiện quyết định PHB ngõ vào và mã hoá thông tin Diff-serv như trường hợp trên (trường hợp không có PHP), ngoại trừ router LSR có tiến trình PHP trên đó sẽ thực hiện quyết định PHB ngõ vào dựa trên entry nhãn ngoài cùng trong chồng nhãn nhận được. Nói cách khác, khi có hoạt động rút nhãn, router LSR có tiến trình PHP sẽ thực hiện quyết định PHB ngõ vào trước khi rút nhãn.

Hay nói tóm lại, mô hình Short Pipe có các đặc điểm sau:

+ Đường hầm QoS đi từ router PE ingress đến router PE egress.

 

 

+ Router PE egress truyền gói tin là IP và QoS được thực hiện trên interface ngõ ra dựa trên giá trị IP DSCP hoặc IP Precedence.

+ Nhà cung cấp dịch vụ không viết chồng lên giá trị DSCP hoặc IP Precedence trong mạng nhà cung cấp dịch vụ.

Thủ tục hoạt động của mô hình Short Pipe như sau:

Hình 4.10: Thủ tục hoạt động của mô hình Short Pipe

1. C1, CE1 truyền gói tin IP đến PE1 với giá trị DSCP là 1.

2. PE2 thiết lập trường MPLS EXP với giá trị là 5 trong các entry nhãn được chèn vào. Giá trị IP DSCP không được copy vào trường EXP mà giá trị cho trường MPLS EXP được thiết lập tường minh trên interface ngõ vào của router PE ingress tuỳ theo chính sách của nhà cung cấp dịch vụ.

3. PE1 truyền gói tin đến P1.

4. P1 thiết lập trường MPLS EXP với giá trị là 5 trong entry nhãn mới (nhãn sau khi được chuyển đổi).

5. P1 truyền gói tin đến P2.

6. P2 lấy entry nhãn IGP ra khỏi gói tin.

7. P2 truyền gói tin đến PE2.

 

8. PE2 lấy nhãn BGP ra khỏi gói tin.

9. PE2 truyền gói tin đến site C1, nhưng thực hiện QoS dựa trên giá trị DSCP hoặc IP Precedence.

4.3.3: Uniform Model

Uniform mode là khác với các mode khác là: Trong Uniform mode gói tin sẽ được đánh dấu lại và sự đánh dấu này sẽ giữa nguyên khi router ra khỏi mạng ISP.

Uniform mode chỉ thích hợp khi khách hàng muốn ISP thực hiện QoS thay cho mình và họ không tham gia vào quá trình thực hiện QoS.

Không giống như hai mode kia, trong Uniform mode gói tin sau khi được set EXP thì giá trị này sẽ được copy ra trường DSCP hay IP precedent khi ra khỏi mạng MPLS.

Để thực hiện QoS, mỗi router sẽ thực hiện QoS độc lập với các router khác trong mạng, nó chỉ lấy các thông số Diffser LSP trước đó tại ngõ vào và ngõ ra có thể là một thông số DiffServ khác.

Tại routerEgressPEnó sẽ nhận được một gói tin không nhãn và sẽ thực hiện QoS trên gói tin không nhãn này.

Thủ tục hoạt đông của Uniform mode:

Hình 4.11: Thủ tục hoạt động của Uniform mode

1.Gói tin IP đến mạng MPLS tại PE1 (gói tin này có giá trị IP Precedence là 5).
2. Nhãn được gán vào gói tin, giá trị IP DSCP là 5 được copy vào entry nhãn mới được thêm vào gói tin đó.

3. Nếu giá trị trường MPLS EXP được đánh dấu lại (ví dụ nếu gói tin đã vượt quá tốc độ cho phép vì có quá nhiều gói tin được truyền đi), giá trị đó được copy vào trong nhãn IGP. Giá trị nhãn BGP không thay đổi.

4.Tại router thực hiện PHP là router P2, nhãn IGP bị loại bỏ. Trường MPLS EXP trong nhãn này được copy vào entry nhãn ở mức thấp hơn đó là nhãn BGP.

5. Khi tất cả nhãn MPLS bị loại ra khỏi gói tin, thì giá trị EXP cuối cùng sẽ được copy vào giá trị IP DSCP hoặc IP Precedence.

 

 

 

 

 

 

CHƯƠNG 5  CẤU HÌNH

5.1 CẤU HÌNH BGP

BGP là một giao thức routing dùng để rout giữa các mạng với nhau, ví dụ như giữa hai (hoặc hơn) mạng của các doanh nghiệp, giữa ISP và khách hang.

BGP sử dụng TCP port 179 như là một giao thức để vận chuyển trong mạng.

BGP chi sử dụng cho các Router biên trong một mạng, còn các Router khác trong mạng thì sư dụng giao thức IGP (Interior Gateway Protocol) như RIP, OSPF,…

Mỗi một mạng có một hệ số quảng trị gọi là AS (Autonomous System). Nếu một AS có nhiều BGP kết nối tới nó thì nó sẽ đóng vai trò như một dịch vụ chuyển tiếp cho các AS còn lại:

Hình 5.1: Mạng BGP

Trên hình vẽ ta thấy AS 200 sẽ đóng vai trò như một dịch vụ chuyển tiếp giữa AS 300 và AS 100.

Khi BGP chạy giữa các Router trong các AS khác nhau thì ta gọi là E-BGP.

Khi BGP chạy giữa các Router trong cùng một AS ta gọi đó là I-BGP.

Ví dụ cấu hình BGP:

PE2(config)#router bgp 65000

PE2(config-router)#neighbor 10.10.10.18 remote-as 65002

PE2(config-router)#neighbor 192.168.1.102 remote-as 65000

 

PE2(config-router)#neighbor 192.168.1.102 update-source Loopback0

PE2(config-router)#neighbor 192.168.1.102 next-hop-self

5.2 CẤU HÌNH OSPF

OSPF là giao thức định tuyến dạng link-state thường được dùng để triển khai trên hệ thống mạng phức tạp. OSPF tự xây dựng cơ chế để đảm bảo độ tin cậy chứ không sử dụng các giao thức chuyển vận như TCP để đảm bảo độ tin cậy.

OSPF sử dụng giải thuật Dijkstra để xây dựng bảng định tuyến. Đây là giải thuật xây dựng các đường đi ngắn nhất SPT (shortest-path tree) để đi đến đích. Thông điệp quảng cáo LSA mang thông tin của router và trạng thái các láng giềng lân cận. Dựa trên các thông tin học được khi trao đổi các thông điệp LSA, OSPF sẽ xây dựng topology mạng.

Các loại gói tin OSPF

OSPF có 5 loại gói tin là Hello, Database Description, Link State Request, Link State Update, Link State Acknowledge (LSA).

– Hello: gói tin Hello dùng để phát hiện trao đổi thông tin của các router cận kề.

– Database Description: gói tin này dùng để chọn lựa router nào sẽ được quyền trao đổi thông tin trước (master/slave).

–LinkStateRequest: gói tin này dùng để chỉ định loại LSA dùng trong tiến trình trao đổi các gói tin DBD.

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

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

OSPF hỗ trợ hai mức độ phân cấp qua khái niệm vùng (area). Mỗi vùng là một số 32 bit biểu diễn ở định dạng IP (vùng 0.0.0.0) hay dạng thập phân (vùng 0). Vùng 0 là vùng trung tâm. Tất cả các vùng khác đều phải kết nối trực tiếp với vùng 0 hay kết nối qua virtual link. OSPF có một số loại vùng sau: normal area, stub area, totally stubby area, not-so-stubby area (NSSA), totally not-so-stubby area.

 

1.Normal Area

Mặc định, vùng mang những đặc tính sau:

– Nhận các thông tin tóm tắt (summary LSA) từ các vùng khác.

– Nhận các thông tin từ bên ngoài (external LSA).

– Nhận các thông tin mặc định từ bên ngoài (external default LSA).

2.Stub Area: đây là vùng sẽ không nhận những routing update từ bên ngoài nhưng vẫn nhận update từ những Area láng giềng.

3. Stotaly stub Area: đây có thể coi là vùng cực đoan nhất nó không nhận bất cứ routing update nào, và trong bảng routing của nó chỉ có một routing ra ngoai duy nhất là default route. vùng này thích hợp cho những site ở xa có ít network và cần sự giới hạn kết nối ra bên ngoài.

4. NSSA Stub Area: đây là vùng được sử dụng khi kết nối đên ISP hoặc khi có sự redistribute giữa các routing protocol khác nhau. vùng này sẽ nhận các route từ bên ngoài.

Câu lệnh cấu hình OSPF:

Router(config)#router ospf process-id

Router(config-router)#network ip-address wild-card mask area area-id

Ví dụ cấu hình OSPF:

P2(config)#router ospf 2008

P2(config-router)#network 10.10.10.8 0.0.0.3 area 0

P2(config-router)#network 10.10.10.12 0.0.0.3 area 0

P2(config-router)#network 192.168.1.104 0.0.0.0 area 0

 

 

 

 

5.3 CẤU HÌNH MPLS

Cấu hình cơ bản:

Cấu hình và kiểm chứng MPLS ở chế độ khung (Frame-mode MPLS)

– Ở chế độ khung, MPLS sử dụng một nhãn 32 bit chèn vào giữa tiêu đề lớp 2 và lớp 3. Các dạng đóng gói lớp 2 như HDLC, PPP, Frame Relay, và Ethernet dựa trên kiểu khung (frame) nên có thể hoạt động ở chế độ khung (frame mode) hoặc chế độ tế bào (cell mode), ngoại trừ ATM chỉ hoạt động ở chế độ tế bào.

Các bước cấu hình frame-mode MPLS cơ bản

Bước 1: Cho phép CEF

– CEF là một thành phần thiết yếu cho chuyển mạch nhãn (label switching) và chịu trách nhiệm sắp xếp và cài đặt nhãn trong một mạng MPLS. Cấu hình CEF toàn cục trên các router R1, R2, R3 và R4 bằng lệnh:

Router(config)#ip cef [distributed]

– Chắc chắn rằng CEF được cho phép trên giao tiếp. Nếu không được thì có thể cho phép CEF trên giao tiếp bằng cách dùng lệnh:

Router(config-if)#ip route-cache cef

– Dùng từ khóa [distribute] thể hiện khả năng của chuyển mạch CEF được chia sẻ.

Bước 2: Cấu hình giao thức định tuyến IGP

– Ở đây ta xét giao thức OSPF. Cho phép các giao tiếp trên các router tham gia vào mạng của nhà cung cấp bằng lệnh :

Router(config)#router ospf process-id

Router(config-router)#network ip-address wild-card mask area area-id

– Cho phép giao thức phân phối nhãn là một bước tùy chọn. Ngầm định, LDP là giao thức phân phối nhãn. Lệnh mpls label protocol {ldp | tdp} chỉ được dùng nếu LDP không phải là giao thức ngầm định hoặc nếu muốn chuyển đổi qua lại giữa LDP và TDP. Lệnh này nên cấu hình trong chế độ toàn cục global tốt hơn trên giao tiếp ( Router(config-if)# ). Tuy nhiên lệnh cấu hình trên giao tiếp sẽ ghi đè lên lệnh cấu hình toàn cục.

Bước 3: Gán LDP router ID

– LDP sử dụng địa chỉ IP cao nhất trên một giao tiếp loopback như là một LDP router ID. Nếu không có địa chỉ loopback thì địa chỉ IP cao nhất trên router sẽ trở thành LDP router ID. Muốn buộc một giao tiếp trở thành LDP router ID dùng lệnh:

Router(config)#mpls ldp router-id {interface | ip-address} [force]

– Giao tiếp loopback được khuyến khích vì chúng luôn hoạt động.

Bước 4: Cho phép Ipv4 MPLS Frame Mode hay chuyển tiếp nhãn trên giao tiếp

Router(config-if)#mpls ip

Câu lệnh này được dùng cho một interface cụ thể, trong mô hình Pipe Mode nó được dùng cho interface của router PE giao tiếp với router CE của khách hàng, còn trên interface của router khách hàng kết nối với PE thì không dùng câu lệnh này, do đó sẽ không có phiên LDP được thiết lập trên liên kết này.

Kiểm tra hoạt động của frame-mode MPLS cơ bản:

-Kiểm tra sự cho phép CEF trên router:

Router#show ip cef

– Xác định chuyển tiếp MPLS được cho phép trên giao tiếp :

Router#show mpls interfaces

– Xem trạng thái của tiến trình khám phá LDP. Hiển thị thông tin khám phá LDP của láng giềng và các giao tiếp mà tiến trình khám phá LDP đang chạy.

Router#show mpls ldp discovery

– Trường xmit/recv thể hiện giao tiếp đang truyền và nhận các gói LDP discovery Hello.
– Xác định trạng thái các phiên làm việc với láng giềng LDP:

Router#show mpls ldp neighbor

 

 

5.4 CẤU HÌNH DIFFSERV QoS:

Bước 1: Dùng ACLs để phân loại các gói tin tại ngõ vào của router biên Ingress.

Các lệnh sử dụng:

 

Ví dụ:

access-list 101 permit udp any any range 16384 32768

access-list 102 permit tcp any any eq tacacs

access-list 104 permit tcp any any eq www

access-list 105 permit ip any any

access-list 108 permit tcp any any eq telnet

access-list 109 permit tcp any any eq smtp

access-list 110 permit tcp any any eq ftp

Bước 2: Tạo các class match với các ACLs (đối với router biên ngõ vào) hoặc tạo các class match các trường EXP, DSCP:

  1. Tạo các class match ACLs:

class-map class name

match access-group access-list-number

Ví dụ:

PE1(config)#class-map Voice

 

PE1(config-cmap)#match access-group 101

PE1(config-cmap)#exit

PE1(config)#class-map HTTP

PE1(config-cmap)#match access-group 102

PE1(config-cmap)#exit

PE1(config)#class-map best-effort

PE1(config-cmap)#match access-group 103

PE1(config-cmap)#exit

PE1(config)#class-map ftp

PE1(config-cmap)#match access-group 104

PE1(config-cmap)#exit

PE1(config)#class-map smtp

PE1(config-cmap)#match access-group 105

PE1(config-cmap)#exit

  1. Tạo class match với trường DSCP, EXP

class-map class name

match mpls experimental topmost value

hoặc:

class-map class name

match ip dscp value

Ví dụ:

PE1(config-pmap)#class Voice-dscp

PE1(config-pmap-c)#set mpls experimental topmost 5

 

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class HTTP-dscp

PE1(config-pmap-c)#set mpls experimental topmost 3

PE1(config-pmap-c)#exit

PE1(config-pmap)#class smtp-dscp

PE1(config-pmap-c)#set mpls experimental topmost 2

Hoặc:

PE1(config)#class-map Voice-dscp

PE1(config-cmap)#match ip dscp 46

PE1(config-cmap)#exit

****

PE1(config)#class-map HTTP-dscp

PE1(config-cmap)#match ip dscp 26

PE1(config-cmap)#exit

****

PE1(config)#class-map ftp-dscp

PE1(config-cmap)#match ip dscp 22

PE1(config-cmap)#exit

****

PE1(config)#class-map smtp-dscp

PE1(config-cmap)#match ip dscp 20

PE1(config-cmap)#exit

 

PE1(config)#class-map best-effort-dscp

PE1(config-cmap)#match ip dscp 0

PE1(config-cmap)#exit

Bước 3:

Tạo policy để set DSCP, EXP hoặc qos-group

policy-map SET-DSCP-EXP

SET ip DSCP:

class class-name

set ip dscp value

Vì dụ:

PE1(config-pmap)#class smtp

PE1(config-pmap-c)#set ip dscp 20

PE1(config-pmap-c)#exit

SET EXP:

Class class-name

Set mpls experimetal topmost value

Ví dụ:

PE1(config-pmap)#class ftp-dscp

PE1(config-pmap-c)#set mpls experimental topmost 2

PE1(config-pmap-c)#exit

SET qos-group:

class class-name

set qos-group mpls experimental topmost

 

Ví dụ:

P1(config-pmap)#class Voice-EXP

P1(config-pmap-c)#set qos-group mpls experimental topmost

P1(config-pmap-c)#exit

Bước 4:

Tạo policy cho gói tin ở ngõ ra:

policy-map map-name

class Class-name

priority number (kbps)                      ///Mức ưu tiên cao nhất

exit

class map map-name

bandwidth percent number (phần trăm tổng băng thông)

random-detect

exit

Ví dụ:

PE1(config)#policy-map OUTPUT

****

PE1(config-pmap)#class Voice-EXP

PE1(config-pmap-c)#priority 1000000                      ///Mức ưu tiên cao nhất

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class HTTP-EXP

PE1(config-pmap-c)#bandwidth percent 40

 

PE1(config-pmap-c)#random-detect

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class smtp-ftp-EXP                        ////Class này cho SMTP và FTP

PE1(config-pmap-c)#bandwidth percent 60

PE1(config-pmap-c)#random-detect

PE1(config-pmap-c)#exit

Bước 5:

Áp các policy vào các interface:

service-policy input policy-name

service-policy output policy-name

Ví dụ:

PE1(config)#interface s0/0

PE1(config-if)#service-policy input SET-DSCP-EXP

****

PE1(config)#interface s0/1                                             

PE1(config-if)# service-policy output OUTPUT.

 

 

 

 

 

 

 

CHƯƠNG 6   THIẾT LẬP VÀ CẤU HÌNH MẠNG THỰC TẾ

Cấu hình theo Uniform mode:

Ở đây cấu hình cho 5 loại dữ liệu Voice, HTTP (www), FTP và SMTP và Best-effort.

Loại dữ liệu

PE1

P1

PE2

 

Voice

(Mức ưu tiên cao nhất)

Với gói tin Voice đi vào ta sẽ Set giá trị DSCP là 46 (EF) và EXP là 5,

Class Voice-EXP sẽ match với EXP 5, Voice nhận BW là 1MVới gói tin đi vào (EXP=5)ta sẽ match với Class Voice-EXP, Set qos-group với giá trị là 5 ứng với  EXP tương ứng và cấp BW là 1M, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IPVới gói tin đi vào (DSCP=5)ta sẽ match với Class Voice-dscp, Set qos-group với giá trị là 5 ứng với  dscp tương ứng và cấp BW là 1M, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IP

 

 

 

HTTPVới gói tin HTTP đi vào ta sẽ Set giá trị DSCP là 26 (AF31) và EXP là 3,

Class HTTP-EXP sẽ match với EXP  3, HTTP nhận BW là 40% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WREDVới gói tin  đi vào (EXP= 3)ta sẽ match với Class HTTP-EXP, Set qos-group với giá trị là 3 ứng với EXP tương ứng, cấp BW là 15% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IPVới gói tin  đi vào (DSCP=3)ta sẽ match với Class HTTP-dscp, Set qos-group với giá trị là 3 ứng với  DSCP tương ứng, cấp BW là 15% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IP

 

 

Best- effort

Với gói tin best-effort đi vào ta sẽ Set giá trị DSCP là 0 (default) và EXP là 0,

Class best-effort-EXP sẽ match với EXP = 0, Best-effort sẽ drop nếu vượt ngưỡng và có mức ưu tiên thấp nhấtVới gói tin  đi vào (EXP= 0)ta sẽ match với Class best-effort-EXP, Set qos-group với giá trị là 0 ứng với EXP,  Best-effort sẽ drop nếu vượt ngưỡng và có mức ưu tiên thấp nhất, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IPVới gói tin  đi vào (DSCP= 0)ta sẽ match với Class best-effort-dscp, Set qos-group với giá trị là 0 ứng với DSCP, Best-effort sẽ drop nếu vượt ngưỡng và có mức ưu tiên thấp nhất, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IP

 

SMTPVới gói tin SMTP đi vào ta sẽ Set giá trị DSCP là 20 (AF22) và EXP là 2,

Class smtp-ftp-EXP sẽ match với EXP = 2, SMTP nhận BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WREDVới gói tin  đi vào (EXP=2)ta sẽ match với Class smtp-ftp-EXP, Set qos-group với giá trị là 2 ứng với  EXP tương ứng, cấp BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IPVới gói tin  đi vào (DSCP= 2)ta sẽ match với Class smtp-ftp-dscp, Set qos-group với giá trị là 2 ứng với DSCP  tương ứng, cấp BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IP

 

 

FTPVới gói tin FTP đi vào ta sẽ Set giá trị DSCP là 22 (AF23) và EXP là 2 ,

Class smtp-ftp-EXP sẽ match với EXP =2, SMTP nhận BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WREDVới gói tin  đi vào (EXP=2)ta sẽ match với Class smtp-ftp-EXP, Set qos-group với giá trị là 2 ứng với các EXP tương ứng, cấp BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IPVới gói tin  đi vào (DSCP= 2)ta sẽ match với Class smtp-ftp-dscp, Set qos-group với giá trị là  2 ứng với  DSCP tương ứng, cấp BW là 30% tổng BW, áp dụng kĩ thuật hàng đợi CBWFQ và kĩ thuật WRED, copy ngược trở lại giá trị qos-group vào DSCP cho gói tin IP

 

 CẤU HÌNH DIFFSERV MPLS:

A .CẦU HÌNH CƠ BẢN MPLS:

Router CE1:

CE1(config)#interface Loopback0

CE1(config-if)#ip address 192.168.1.101 255.255.255.255

CE1(config-if)#no shut

CE1(config)#interface Serial0/0

CE1(config-if)#ip address 10.10.10.1 255.255.255.252

 

CE1(config-if)#no shut

CE1(config)#router bgp 65001

CE1(config-router)#redistribute connected

CE1(config-router)#neighbor 10.10.10.2 remote-as 65000

Router PE1:

PE1(config)#ip cef

PE1(config)#mpls label protocol ldp

****

PE1(config)#interface Loopback0

PE1(config-if)#ip address 192.168.1.102 255.255.255.255

PE1(config-if)#no shut

****

PE1(config)#interface Serial0/0                                            ///interface giao tiếp với CE1

PE1(config-if)#ip address 10.10.10.2 255.255.255.252

PE1(config-if)#no shut

****

PE1(config)#interface Serial0/1                                              ///interface giao tiếp với P1

PE1(config-if)#ip address 10.10.10.5 255.255.255.252

PE1(config-if)#mpls ip

****

PE1(config)#router ospf 2008

PE1(config-router)# network 10.10.10.4 0.0.0.3 area 0

PE1(config-router)# network 192.168.1.102 0.0.0.0 area 0

 

PE1(config)# router bgp 65000

PE1(config-router)# neighbor 10.10.10.1 remote-as 65001

PE1(config-router)# neighbor 192.168.1.104 remote-as 65000

PE1(config-router)# neighbor 192.168.1.104 update-source Loopback0

PE1(config-router)# neighbor 192.168.1.104 next-hop-self

Router P1:

P1(config)#ip cef

P1(config)#mpls label protocol ldp

****

P1(config)#interface Loopback0

P1(config-if)#ip address 192.168.1.103 255.255.255.255

P1(config-if)#no shut

****

P1(config)#interface Serial0/0

P1(config-if)#ip address 10.10.10.6 255.255.255.252

P1(config-if)#mpls ip

P1(config-if)#no shut

****

P1(config)#interface Serial0/1

P1(config-if)#ip address 10.10.10.9 255.255.255.252

P1(config-if)#mpls ip

P1(config-if)#no shut

 

 

P1(config)#router ospf 2008

P1(config-router)#network 10.10.10.4 0.0.0.3 area 0

P1(config-router)#network 10.10.10.8 0.0.0.3 area 0

P1(config-router)#network 192.168.1.103 0.0.0.0 area 0

Router PE2:

PE2(config)#ip cef

PE2(config)#mpls label protocol ldp

****

PE2(config)#interface Loopback0

PE2(config-if)#ip address 192.168.1.104 255.255.255.255

PE2(config-if)#no shut

****

PE2(config)#interface Serial0/0                                           ///interface giao tiếp với P2

PE2(config-if)#ip address 10.10.10.10 255.255.255.252

PE2(config-if)#mpls ip

PE2(config-if)#no shut

****

PE2(config)#interface Serial0/1                                           ///interface giao tiếp với CE2

PE2(config-if)#ip address 10.10.10.13 255.255.255.252

PE2(config-if)#no shut

****

PE2(config)#router ospf 2008

PE2(config-router)#network 10.10.10.8 0.0.0.3 area 0

 

PE2(config-router)#network 192.168.1.104 0.0.0.0 area 0

****

PE2(config)#router bgp 65000

PE2(config-router)#neighbor 10.10.10.14 remote-as 65002

PE2(config-router)#neighbor 192.168.1.102 remote-as 65000

PE2(config-router)#neighbor 192.168.1.102 update-source Loopback0

PE2(config-router)#neighbor 192.168.1.102 next-hop-self

Router CE2:

CE2(config)#interface Loopback0

CE2(config-if)#ip address 192.168.1.105 255.255.255.255

CE2(config-if)#no shut

****

CE2(config)#interface Serial0/0

CE2(config-if)#ip address 10.10.10.14 255.255.255.252

CE2(config-if)#no shut

****

CE2(config)#router bgp 65002

CE2(config-router)#redistribute connected

CE2(config-router)#neighbor 10.10.10.17 remote-as 65000

B CẤU HÌNH DIFFSERV MPLS UNIFORM MODE:

1.ROUTER PE1:

1.1Tạo ACLs:

PE1(config)#access-list 101 permit udp any any range 16384 32768    ///ACL cho Voice

PE1(config)#access-list 102 permit tcp any any eq www           ///ACL cho HTTP (www)

PE1(config)#access-list 103 permit ip any any                           ///ACL cho Best-effort

PE1(config)#access-list 104 permit tcp any any eq ftp                           ///ACL cho ftp

PE1(config)#access-list 105 permit tcp any any eq smtp                       ///ACL cho smtp

1.2 Tạo Class match với ACLs:

PE1(config)#class-map Voice

PE1(config-cmap)#match access-group 101

PE1(config-cmap)#exit

PE1(config)#class-map HTTP

PE1(config-cmap)#match access-group 102

PE1(config-cmap)#exit

PE1(config)#class-map best-effort

PE1(config-cmap)#match access-group 103

PE1(config-cmap)#exit

PE1(config)#class-map ftp

PE1(config-cmap)#match access-group 104

PE1(config-cmap)#exit

PE1(config)#class-map smtp

PE1(config-cmap)#match access-group 105

PE1(config-cmap)#exit

1.3 Tạo Class match với ip DSCP

PE1(config)#class-map Voice-dscp

PE1(config-cmap)#match ip dscp 46

PE1(config-cmap)#exit

 

PE1(config)#class-map HTTP-dscp

PE1(config-cmap)#match ip dscp 26

PE1(config-cmap)#exit

****

PE1(config)#class-map ftp-dscp

PE1(config-cmap)#match ip dscp 22

PE1(config-cmap)#exit

****

PE1(config)#class-map smtp-dscp

PE1(config-cmap)#match ip dscp 20

PE1(config-cmap)#exit

****

PE1(config)#class-map best-effort-dscp

PE1(config-cmap)#match ip dscp 0

PE1(config-cmap)#exit

1.4 Tạo policy để SET ip DSCP cho gói tin và đồng thời SET EXP:

PE1(config)#policy-map SET-DSCP-EXP

SET ip DSCP:

PE1(config-pmap)#class Voice

PE1(config-pmap-c)#set ip dscp 46

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class HTTP

 

PE1(config-pmap-c)#set ip dscp 26

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class ftp

PE1(config-pmap-c)#set ip dscp 22

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class smtp

PE1(config-pmap-c)#set ip dscp 20

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class best-effort

PE1(config-pmap-c)#set ip dscp 0

PE1(config-pmap-c)#exit

PE1(config-pmap)#exit

SET EXP:

PE1(config-pmap)#class Voice-dscp

PE1(config-pmap-c)#set mpls experimental topmost 5

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class HTTP-dscp

PE1(config-pmap-c)#set mpls experimental topmost 3

PE1(config-pmap-c)#exit

 

PE1(config-pmap)#class smtp-dscp

PE1(config-pmap-c)#set mpls experimental topmost 2

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class ftp-dscp

PE1(config-pmap-c)#set mpls experimental topmost 2

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class best-effort-dscp

PE1(config-pmap-c)#set mpls experimental topmost 0

PE1(config-pmap-c)#exit

PE1(config-pmap)#exi

1.5 Tạo Class match với EXP:

PE1(config)#class-map Voice-EXP

PE1(config-cmap)#match mpls experimental topmost 5

PE1(config-cmap)#exit

****

PE1(config)#class-map HTTP-EXP

PE1(config-cmap)#match mpls experimental topmost 3

PE1(config-cmap)#exit

****

PE1(config)#class-map smtp-ftp-EXP                                  ////Class này sẽ match với SMTP và FTP

 

PE1(config-cmap)#match mpls experimental topmost 2

PE1(config-cmap)#exit

****

PE1(config)#class-map best-effort-EXP

PE1(config-cmap)#match mpls experimental topmost 0

PE1(config-cmap)#exit

1.6 Tạo policy cho gió tin ở ngõ ra:

PE1(config)#policy-map OUTPUT

****

PE1(config-pmap)#class Voice-EXP

PE1(config-pmap-c)#priority 1000000                      ///Mức ưu tiên cao nhất

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class HTTP-EXP

PE1(config-pmap-c)#bandwidth percent 40

PE1(config-pmap-c)#random-detect

PE1(config-pmap-c)#exit

****

PE1(config-pmap)#class smtp-ftp-EXP                        ////Class này cho SMTP và FTP

PE1(config-pmap-c)#bandwidth percent 60

PE1(config-pmap-c)#random-detect

PE1(config-pmap-c)#exit

 

 

PE1(config-pmap)#class best-effort-EXP

PE1(config-pmap-c)#police 8000 conform-action transmit exceed-action drop violate-action drop

PE1(config-pmap-c-police)#exit

1.7 Áp các policy vào các interface:

PE1(config)#interface s0/0                                              ///Giao tiếp với CE1

PE1(config-if)#service-policy input SET-DSCP-EXP

****

PE1(config)#interface s0/1                                             ///Giao tiếp với P1

PE1(config-if)# service-policy output OUTPUT

3.ROUTER P1: 

3.1 Tạo Class match với EXP:

P1(config)#class-map Voice-EXP

P1(config-cmap)#match mpls experimental topmost 5

P1(config-cmap)#exit

****

P1(config)#class-map HTTP-EXP

P1(config-cmap)#match mpls experimental topmost 3

P1(config-cmap)#exit

****

P1(config)#class-map smtp-ftp-EXP                   ////Class này sẽ match với SMTP và FTP

P1(config-cmap)#match mpls experimental topmost 2

P1(config-cmap)#exit

 

P1(config)#class-map best-effort-EXP

P1(config-cmap)#match mpls experimental topmost 0

P1(config-cmap)#exit

3.2 Tạo policy để SET qos-group ngõ vào:

P1(config)#policy-map SET-QOS-GROUP

****

P1(config-pmap)#class Voice-EXP

P1(config-pmap-c)#set qos-group mpls experimental topmost

P1(config-pmap-c)#exit

****

P1(config-pmap)#class HTTP-EXP

P1(config-pmap-c)#set qos-group mpls experimental topmost

P1(config-pmap-c)#exit

****

P1(config-pmap)#class smtp-ftp-EXP

P1(config-pmap-c)#set qos-group mpls experimental topmost

P1(config-pmap-c)#exit

****

P1(config-pmap)#class best-effort-EXP

P1(config-pmap-c)#set qos-group mpls experimental topmost

P1(config-pmap-c)#exit

3.3 Tạo Class match với các qos-group:

P1(config)#class-map Voice-group

 

P1(config-cmap)#match qos-group 5

P1(config-cmap)#exit

****

P1(config)#class-map HTTP-group

P1(config-cmap)# match qos-group 3

P1(config-cmap)#exit

****

P1(config)#class-map smtp-ftp-group                                ////Class này sẽ match với SMTP và FTP

P1(config-cmap)# match qos-group 2

P1(config-cmap)#exit

****

P1(config)#class-map best-effort-group

P1(config-cmap)# match qos-group 0

P1(config-cmap)#exit

3.4 Tạo policy cho gió tin ở ngõ ra:

P1(config)#policy-map OUTPUT

****

P1(config-pmap)#class Voice-group

P1(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

P1(config-pmap-c)#priority 1000000

P1(config-pmap-c)#exit

 

P1(config-pmap)#class HTTP-group

P1(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

P1(config-pmap-c)#bandwidth percent 40

P1(config-pmap-c)#random-detect

P1(config-pmap-c)#exit

****

P1(config-pmap)#class smtp-ftp-group                        ////Class này cho SMTP và FTP

P1(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

P1(config-pmap-c)#bandwidth percent 60

****

P1(config-pmap-c)#random-detect

P1(config-pmap-c)#exit

****

P1(config-pmap)#class best-effort-group

P1(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

P1(config-pmap-c)#police 8000 conform-action transmit exceed-action drop violate-action drop

P1(config-pmap-c-police)#exit

3.5 Áp các policy vào các interface:

P1(config)#interface s0/0                                                         ///Giao tiếp với PE1

P1(config-if)#service-policy input SET-QOS-GROUP

P1(config)#interface s0/1                                                         ///Giao tiếp với PE2

P1(config-if)# service-policy output OUTPUT

 

 

4.ROUTER PE2:

4.1 Tạo Class match với DSCP:

PE2(config)#class-map Voice-dscp

PE2(config-cmap)#match dscp 5

PE2(config-cmap)#exit

****

PE2(config)#class-map HTTP-dscp

PE2(config-cmap)#match dscp 3

PE2(config-cmap)#exit

****

PE2(config)#class-map smtp-ftp-dscp          ////Class này sẽ match với SMTP và FTP

PE2(config-cmap)#match dscp 2

PE2(config-cmap)#exit

****

PE2(config)#class-map best-effort-dscp

PE2(config-cmap)#match dscp 0

PE2(config-cmap)#exit

4.2 Tạo policy để SET qos-group ngõ vào:

PE2(config)#policy-map SET-QOS-GROUP

****

PE2(config-pmap)#class Voice-dscp

PE2(config-pmap-c)#set qos-group dscp

PE2(config-pmap-c)#exit

 

PE2(config-pmap)#class HTTP-dscp

PE2(config-pmap-c)#set qos-group dscp

PE2(config-pmap-c)#exit

****

PE2(config-pmap)#class smtp-ftp-dscp

PE2(config-pmap-c)#set qos-group dscp

PE2(config-pmap-c)#exit

****

PE2(config-pmap)#class best-effort-dscp

PE2(config-pmap-c)#set qos-group dscp

PE2(config-pmap-c)#exit

4.3 Tạo Class match với các qos-group:

PE2(config)#class-map Voice-group

PE2(config-cmap)#match qos-group 5

PE2(config-cmap)#exit

****

PE2(config)#class-map HTTP-group

PE2(config-cmap)# match qos-group 3

PE2(config-cmap)#exit

****

PE2(config)#class-map smtp-ftp-group                                ////Class này sẽ match với SMTP và FTP

PE2(config-cmap)# match qos-group 2

PE2(config-cmap)#exit

****

PE2(config)#class-map best-effort-group

PE2(config-cmap)# match qos-group 0

PE2(config-cmap)#exit

4.4 Tạo policy cho gió tin ở ngõ ra:

PE2(config)#policy-map OUTPUT

****

PE2(config-pmap)#class Voice-group

PE2(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

PE2(config-pmap-c)#priority 1000000

PE2(config-pmap-c)#exit

****

PE2(config-pmap)#class HTTP-group

PE2(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

PE2(config-pmap-c)#bandwidth percent 40

PE2(config-pmap-c)#random-detect

PE2(config-pmap-c)#exit

****

PE2(config-pmap)#class smtp-ftp-group                        ////Class này cho SMTP và FTP

PE2(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

PE2(config-pmap-c)#bandwidth percent 60

PE2(config-pmap-c)#random-detect

PE2(config-pmap-c)#exit

 

PE2(config-pmap)#class best-effort-group

PE2(config-pmap-c)#set dscp qos-group        ///trả giá trị DSCP tử giá trị qos-group

PE2(config-pmap-c)#police 8000 conform-action transmit exceed-action drop violate-action drop

PE2(config-pmap-c-police)#exit

4.5 Áp các policy vào các interface:

PE2(config)#interface s0/0                                                    ///Giao tiếp với P1

PE2(config-if)#service-policy input SET-QOS-GROUP

PE2(config)#interface s0/1

PE2(config-if)# service-policy output OUTPUT                  ///Giao tiếp với CE2

B:CÁCH VERIFY CÁC CẤU HÌNH:

Phần này khi làm em sẽ làm theo các bước như sau

Dùng các lệnh SHOW để xem cấu hình:

1.show ip cef

2. show mpls ldp bindings

3. show mpls ip binding

4. show mpls forwarding-table

5. show mpls ldp neighbor

6. show mpls forwarding-table

7.show ip route

8.show policy-map interface s0/0

9.show policy-map “policy name”

10.show ip route

…..

Dùng ping và traceroute

1.traceroute IP-number

2.ping  IP-number

…..

C: THỬ TẢI THEO DỊCH VỤ:

Ta sẽ thử tải với các loại traffic: Voice, FTP, SMTP, HTTP được bơm vào mạng.

+ Dùng phần mềm “D-ITG” và show trên router

Bước 1: Đầu tiên cấu hình mạng cơ bản không dùng DiffServ MPLS: (Mạng IP)

Một máy tính  kết nối vào router CE1 gọi là PC1, một máy kết nối vào router CE2 gọi là PC2. Trên PC2  dùng phần mềm “D-ITG” đóng vai trò là server để bơm traffic vào mạng đến PC1, ở PC1 cài phần mềm “D-ITG” đóng vai trò là Client để nhận dòng traffic vừa bơm.

Sau khi bơm xong ta sẽ xem mức độ rớt gói tin, delay, jitter… bằng cách show trên các router.

Bước 2: Cấu hình mạng thành mạng DiffServ MPLS (như trên)

Một máy tính  kết nối vào router CE1 gọi là PC1, một máy kết nối vào router CE2 gọi là PC2. Trên PC2  dùng phần mềm “D-ITG” đóng vai trò là server để bơm traffic vào mạng đến PC1, ở PC1 cài phần mềm “D-ITG” đóng vai trò là Client để nhận dòng traffic vừa bơm.

Sau khi bơm xong ta sẽ xem mức độ rớt gói tin, delay, jitter… bằng cách show trên các router.

Bước 3: So Sánh kết quả 2 bước trên và rút ra kết luận chất lượng của hai mạng..

 

 

 

 

 

SHOW CẤU HÌNH

Router CE1:

CE1#show run

Building configuration…

Current configuration : 987 bytes

!

version 12.3

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname CE1

!

boot-start-marker

boot-end-marker

!

!

no aaa new-model

ip subnet-zero

!

!

!

ip cef

 

ip audit po max-events 100

!

interface Loopback0

ip address 192.168.1.101 255.255.255.255

!

interface Serial0/0

ip address 10.10.10.1 255.255.255.252

serial restart-delay 0

!

router bgp 65001

no synchronization

bgp log-neighbor-changes

redistribute connected

neighbor 10.10.10.2 remote-as 65000

no auto-summary

!

ip http server

no ip http secure-server

ip classless

!

end

Router PE1:

Building configuration…

 

Current configuration : 3061 bytes

!

version 12.3

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname PE1

!

boot-start-marker

boot-end-marker

!

!

no aaa new-model

ip subnet-zero

!

!

!

ip cef

ip audit po max-events 100

mpls label protocol ldp

!

class-map match-all best-effort-dscp

 

match ip dscp default

class-map match-all HTTP

match access-group 102

class-map match-all smtp

match access-group 105

class-map match-all best-effort

match access-group 103

class-map match-all HTTP-dscp

match ip dscp af31

class-map match-all smtp-dscp

match ip dscp af22

class-map match-all smtp-ftp-EXP

match mpls experimental topmost 2

class-map match-all Voice-EXP

match mpls experimental topmost 5

class-map match-all best-effort-EXP

match mpls experimental topmost 0

class-map match-all ftp-dscp

match ip dscp af23

class-map match-all Voice

match access-group 101

class-map match-all ftp

match access-group 104

 

class-map match-all HTTP-EXP

match mpls experimental topmost 3

class-map match-all Voice-dscp

 

match ip dscp ef

!

policy-map SET-DSCP-EXP

class Voice

set ip dscp ef

class HTTP

set ip dscp af31

class ftp

set ip dscp af23

class smtp

set ip dscp af22

class best-effort

set ip dscp default

class Voice-dscp

set mpls experimental topmost 5

class HTTP-dscp

set mpls experimental topmost 3

class smtp-dscp

set mpls experimental topmost 2

 

class ftp-dscp

set mpls experimental topmost 2

class best-effort-dscp

set mpls experimental topmost 0

policy-map OUTPUT

class Voice-EXP

priority 511

class HTTP-EXP

bandwidth percent 20

random-detect

class smtp-ftp-EXP

bandwidth percent 22

random-detect

class best-effort-EXP

police 8000 conform-action transmit  exceed-action drop  viola

!

interface Loopback0

ip address 192.168.1.102 255.255.255.255

!

interface Serial0/0

ip address 10.10.10.2 255.255.255.252

serial restart-delay 0

service-policy input SET-DSCP-EXP

!

interface Serial0/1

ip address 10.10.10.5 255.255.255.252

tag-switching ip

serial restart-delay 0

service-policy output OUTPUT

!

interface Serial0/2

no ip address

shutdown

serial restart-delay 0

!

interface Serial0/3

no ip address

shutdown

serial restart-delay 0

!

router ospf 2008

log-adjacency-changes

network 10.10.10.0 0.0.0.3 area 0

network 10.10.10.4 0.0.0.3 area 0

network 192.168.1.102 0.0.0.0 area 0

!

router bgp 65000

 

no synchronization

bgp log-neighbor-changes

neighbor 10.10.10.1 remote-as 65001

neighbor 192.168.1.104 remote-as 65000

neighbor 192.168.1.104 update-source Loopback0

neighbor 192.168.1.104 next-hop-self

no auto-summary

!

ip http server

no ip http secure-server

ip classless

!

access-list 101 permit udp any any range 16384 32768

access-list 102 permit tcp any any eq www

access-list 103 permit ip any any

access-list 104 permit tcp any any eq ftp

access-list 105 permit tcp any any eq smtp

!

line con 0

line aux 0

line vty 0 4

login

!

 

end

Router P:

Building configuration…

Current configuration : 2214 bytes

!

version 12.3

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname P

!

boot-start-marker

boot-end-marker

!

no aaa new-model

ip subnet-zero

!

ip cef

ip audit po max-events 100

mpls label protocol ldp

!

class-map match-all Voice-group

 

match qos-group 5

class-map match-all smtp-ftp-group

match qos-group 2

class-map match-all smtp-ftp-EXP

match mpls experimental topmost 2

class-map match-all Voice-EXP

match mpls experimental topmost 5

class-map match-all best-effort-EXP

match mpls experimental topmost 0

class-map match-all HTTP-group

match qos-group 3

class-map match-all best-effort-group

match qos-group 0

class-map match-all HTTP-EXP

match mpls experimental topmost 3

!

policy-map OUTPUT

 

class Voice-group

priority 511

set dscp qos-group

class HTTP-group

bandwidth percent 20

 

random-detect

set dscp qos-group

class smtp-ftp-group

bandwidth percent 22

random-detect

set dscp qos-group

class best-effort-group

police 8000 conform-action transmit  exceed-action drop  violate-action drop

set dscp qos-group

policy-map SET-QOS-GROUP

class Voice-EXP

set qos-group mpls experimental topmost

class HTTP-EXP

set qos-group mpls experimental topmost

class smtp-ftp-EXP

set qos-group mpls experimental topmost

class best-effort-EXP

set qos-group mpls experimental topmost

!

interface Loopback0

ip address 192.168.1.103 255.255.255.255

!

interface Serial0/0

 

ip address 10.10.10.6 255.255.255.252

tag-switching ip

serial restart-delay 0

service-policy input SET-QOS-GROUP

!

interface Serial0/1

ip address 10.10.10.9 255.255.255.252

tag-switching ip

serial restart-delay 0

service-policy output OUTPUT

!

interface Serial0/2

no ip address

shutdown

serial restart-delay 0

!

interface Serial0/3

no ip address

shutdown

serial restart-delay 0

!

router ospf 2008

log-adjacency-changes

 

network 10.10.10.4 0.0.0.3 area 0

network 10.10.10.8 0.0.0.3 area 0

network 192.168.1.103 0.0.0.0 area 0

!

ip http server

no ip http secure-server

ip classless

!

line con 0

line aux 0

line vty 0 4

login

!

end

Router PE2:

PE2#show run

Building configuration…

Current configuration : 2304 bytes

!

version 12.3

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname PE2

!

boot-start-marker

boot-end-marker

!

no aaa new-model

ip subnet-zero

!

ip cef

ip audit po max-events 100

mpls label protocol ldp

!

class-map match-all Voice-group

match qos-group 5

class-map match-all smtp-ftp-group

match qos-group 2

class-map match-all best-effort-dscp

match  dscp default

class-map match-all HTTP-dscp

match  dscp 3

class-map match-all HTTP-group

match qos-group 3

class-map match-all best-effort-group

 

match qos-group 0

class-map match-all smtp-ftp-dscp

match  dscp 2

class-map match-all Voice-dscp

match  dscp 5

!

policy-map OUTPUT

class Voice-group

priority percent 33

set dscp qos-group

class HTTP-group

bandwidth percent 20

random-detect dscp-based

set dscp qos-group

class smtp-ftp-group

bandwidth percent 22

random-detect dscp-based

class best-effort-group

police 8000 conform-action transmit  exceed-action drop  violate-action drop

set dscp qos-group

policy-map SET-QOS-GROUP

class Voice-dscp

set qos-group dscp

 

class HTTP-dscp

set qos-group dscp

class smtp-ftp-dscp

set qos-group dscp

class best-effort-dscp

set qos-group dscp

!

interface Loopback0

ip address 192.168.1.104 255.255.255.255

!

interface Serial0/0

ip address 10.10.10.10 255.255.255.252

tag-switching ip

serial restart-delay 0

service-policy input SET-QOS-GROUP

!

interface Serial0/1

ip address 10.10.10.13 255.255.255.252

serial restart-delay 0

service-policy output OUTPUT

!

interface Serial0/2

no ip address

shutdown

serial restart-delay 0

!

interface Serial0/3

no ip address

shutdown

serial restart-delay 0

!

router ospf 2008

log-adjacency-changes

network 10.10.10.8 0.0.0.3 area 0

network 10.10.10.12 0.0.0.3 area 0

network 192.168.1.104 0.0.0.0 area 0

!

router bgp 65000

no synchronization

bgp log-neighbor-changes

neighbor 10.10.10.14 remote-as 65002

neighbor 192.168.1.102 remote-as 65000

neighbor 192.168.1.102 update-source Loopback0

neighbor 192.168.1.102 next-hop-self

no auto-summary

!

ip http server

 

no ip http secure-server

ip classless

!

line con 0

line aux 0

line vty 0 4

login

!

end

Router CE2:

CE2#show run

Building configuration…

Current configuration : 1004 bytes

!

version 12.3

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname CE2

!

boot-start-marker

boot-end-marker

!

no aaa new-model

ip subnet-zero

!

ip cef

ip audit po max-events 100

!

interface Loopback0

ip address 192.168.1.105 255.255.255.255

!

interface Serial0/0

ip address 10.10.10.14 255.255.255.252

serial restart-delay 0

no fair-queue

!

interface Serial0/1

no ip address

shutdown

serial restart-delay 0

!

interface Serial0/2

no ip address

shutdown

serial restart-delay 0

!

interface Serial0/3

no ip address

shutdown

serial restart-delay 0

!

interface FastEthernet1/0

no ip address

duplex auto

speed auto

!

router bgp 65002

no synchronization

bgp log-neighbor-changes

redistribute connected

neighbor 10.10.10.13 remote-as 65000

no auto-summary

!

ip http server

no ip http secure-server

ip classless

!

line con 0

line aux 0

 

line vty 0 4

login

!

end

VERIFY CÁC CẤU HÌNH

 Trên router CE1:

CE1#ping 192.168.1.105

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.105, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 192/243/304 ms

CE1#traceroute 192.168.1.105

Type escape sequence to abort.

Tracing the route to 192.168.1.105

1 10.10.10.2 48 msec 16 msec 52 msec

2 10.10.10.6 272 msec 180 msec 232 msec

3 10.10.10.10 176 msec 224 msec 216 msec

4 10.10.10.14 [AS 65002] 340 msec 192 msec *

CE1#ping 10.10.10.10

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds:

…..

Success rate is 0 percent (0/5)

 

CE1#ping 10.10.10.13

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.10.10.13, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 108/184/240 ms

CE1#ping 10.10.10.14

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.10.10.14, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 212/255/276 ms

Trên router PE1:

PE1#ping 192.168.1.105

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.105, timeout is 2 seconds:

…..

Success rate is 0 percent (0/5)

PE1#ping 192.168.1.104

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.104, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 88/132/152 ms

PE1#ping 192.168.1.103

Type escape sequence to abort.

 

Sending 5, 100-byte ICMP Echos to 192.168.1.103, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 4/59/100 ms

PE1#ping 192.168.1.101

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 36/68/104 ms

PE1#show mpls forwarding-table

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

16     Pop tag     10.10.10.8/30     0          Se0/1      point2point

17     17          10.10.10.12/30    0          Se0/1      point2point

18     Pop tag     192.168.1.103/32  0          Se0/1      point2point

19     19          192.168.1.104/32  0          Se0/1      point2point

PE1#show mpls ldp bindings

tib entry: 10.10.10.0/30, rev 2

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: 16

tib entry: 10.10.10.4/30, rev 4

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 10.10.10.8/30, rev 8

local binding:  tag: 16

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 10.10.10.12/30, rev 10

local binding:  tag: 17

remote binding: tsr: 192.168.1.103:0, tag: 17

tib entry: 192.168.1.102/32, rev 6

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: 18

tib entry: 192.168.1.103/32, rev 12

local binding:  tag: 18

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 192.168.1.104/32, rev 14

local binding:  tag: 19

remote binding: tsr: 192.168.1.103:0, tag: 19

Trên router P:

P#ping 192.168.1.106

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.106, timeout is 2 seconds:

…..

Success rate is 0 percent (0/5)

P#ping 192.168.1.101

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:

…..

Success rate is 0 percent (0/5)

P#ping 192.168.1.102

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.102, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 48/63/92 ms

P#show mpls forwarding-table

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

16     Pop tag     10.10.10.0/30     2896       Se0/0      point2point

17     Pop tag     10.10.10.12/30    1560       Se0/1      point2point

18     Pop tag     192.168.1.102/32  6657       Se0/0      point2point

19     Pop tag     192.168.1.104/32  8799       Se0/1      point2point

Trên router PE2:

PE2#ping 192.168.1.105

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.105, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 40/78/128 ms

PE2#ping 192.168.1.101

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:

…..

 

Success rate is 0 percent (0/5)

PE2#show mpls forwarding-table

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

16     16          10.10.10.0/30     0          Se0/0      point2point

17     Pop tag     10.10.10.4/30     0          Se0/0      point2point

18     18          192.168.1.102/32  0          Se0/0      point2point

19     Pop tag     192.168.1.103/32  0          Se0/0      point2point

PE2#show mpls ldp bindings

tib entry: 10.10.10.0/30, rev 8

local binding:  tag: 16

remote binding: tsr: 192.168.1.103:0, tag: 16

tib entry: 10.10.10.4/30, rev 10

local binding:  tag: 17

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 10.10.10.8/30, rev 2

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 10.10.10.12/30, rev 4

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: 17

tib entry: 192.168.1.102/32, rev 12

local binding:  tag: 18

remote binding: tsr: 192.168.1.103:0, tag: 18

tib entry: 192.168.1.103/32, rev 14

local binding:  tag: 19

remote binding: tsr: 192.168.1.103:0, tag: imp-null

tib entry: 192.168.1.104/32, rev 6

local binding:  tag: imp-null

remote binding: tsr: 192.168.1.103:0, tag: 19

Trên router CE2:

CE2#ping 192.168.1.101

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 216/242/284 ms

CE2#traceroute 192.168.1.101

Type escape sequence to abort.

Tracing the route to 192.168.1.101

1 10.10.10.13 76 msec 8 msec 56 msec

2 10.10.10.9 224 msec 144 msec 240 msec

3 10.10.10.5 204 msec 156 msec 112 msec

4 10.10.10.1 [AS 65001] 280 msec 228 msec *

CE2#ping 192.168.1.104

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.104, timeout is 2 seconds:

…..

Success rate is 0 percent (0/5)

VERIFY TÍNH NĂNG QoS:

1. Gởi 1 luồng Voice port 30000 và 1 luồng udp port 50: Voice port 30000 sẽ đực gởi trước sau đó tới udp port 50:

 

Và số gói tin voice nhận được nhiều hơn:

Flow number: 2

From 192.168.2.2:30000

To    192.168.3.2:30000

———————————————————-

Total time               =     19.381000 s

 

Total packets            =          1000

Minimum delay            =     20.787000 s

Maximum delay            =     30.235000 s

Average delay            =     26.738128 s

Average jitter           =      0.019012 s

Delay standard deviation =      2.613705 s

Bytes received           =         92000

Average bitrate          =     37.975337 Kbit/s

Average packet rate      =     51.596925 pkt/s

Packets dropped          =             0 (0.00 %)

Flow number: 1

From 192.168.2.2:50

To    192.168.3.2:50

———————————————————-

Total time               =     19.861000 s

Total packets            =             8

Minimum delay            =     20.697000 s

Maximum delay            =     40.488000 s

Average delay            =     23.246375 s

Average jitter           =      2.830143 s

Delay standard deviation =      6.516830 s

Bytes received           =           736

Average bitrate          =      0.296460 Kbit/s

 

Average packet rate      =      0.402799 pkt/s

Packets dropped          =             0 (0.00 %)

  1. Gởi 2 luồng TCP (FTP port 21 và smtp port 25): Chúng sẽ gởi xen kẽ nhau

 

Và số gói tin nhận được là như nhau:

Flow number: 2

From 192.168.2.2:21

To    192.168.3.2:21

———————————————————-

 

Total time               =     10.230000 s

Total packets            =           268

Minimum delay            =     20.814000 s

Maximum delay            =     21.332000 s

Average delay            =     21.132160 s

Average jitter           =      0.038865 s

Delay standard deviation =      0.093270 s

Bytes received           =        137216

Average bitrate          =    107.304790 Kbit/s

Average packet rate      =     26.197458 pkt/s

Packets dropped          =             0 (0.00 %)

Flow number: 3

From 192.168.2.2:25

To    192.168.3.2:25

———————————————————-

Total time               =      9.671000 s

Total packets            =           250

Minimum delay            =     20.817000 s

Maximum delay            =     21.388000 s

Average delay            =     21.133844 s

Average jitter           =      0.037458 s

Delay standard deviation =      0.093695 s

Bytes received           =        128000

 

Average bitrate          =    105.883569 Kbit/s

Average packet rate      =     25.850481 pkt/s

Packets dropped          =             0 (0.00 %).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CHƯƠNG 7KẾT LUẬN

KẾT LUẬN

Mạng MPLS tuy là một công nghệ rất mạch nhưng đi đôi với những ưu việc của nó thì nhà cung cấp dịch vụ cần có các thiết bị cao cấp để chạy công nghệ này, cụ thể là các thiết bị cisco. Các dòng router cũ của Cisco từ 2800 trở xuống hầu như không hỗ trợ cho MPLS chỉ các dòng router từ 3600 trở lên mới có thể chạy được MPLS, mà các dòng router này thì không rẻ, để trang bị các router chạy MPLS thì các ISP phải bỏ ra khá nhiều tiền của, với lý do trên mà công nghệ này tuy đã có mặt từ lâu ở các nước tiên tiến nhưng ở Việt Nam thì vẫn còn rất hạn chế (tính đến năm 2006).

Hiện nay với những ưu việt của MPLS đã giúp tăng cường khả năng cạnh tranh của các nhà khai thác dịch vụ. Các sản phẩm MPLS đã được triển khai trên phạm vi toàn cầu. MPLS hiện đang được coi là giải pháp tốt cho mạng thế hệ mới (mạng NGN) của các nhà cung cấp dịch vụ hàng đầu trên thế giới.

Tại ViệtNamhiện nay hệ thống mạng của các nhà khai thác và cung cấp dịch vụ đều có sự phát triển, nâng cấp lên hệ thống mạng NGN. Các công nghệ làm nền cho NGN có thể ví dụ : tại lớp vật lý sẽ là các công nghệ chuyển mạch quang WDM, DWDM và công nghệ nền tảng cho lớp 3 chính là chuyển mạch IP/MPLS. Lấy một ví dụ về việc triển khai MPLS hiện đang được xúc tiến xây dựng trong mạng truyền tải của tổng công ty BCVT Việt nam. Với dự án VoIP hiện đang triển khai, VNPT đã thiết lập mạng trục MPLS với 3 LSR lõi. Các LSR biên sẽ được tiếp tục đầu tư và mở rộng tại các địa điểm có nhu cầu lớn như Hải Phòng, Quảng Ninh ở phía Bắc, Đà Nẵng, Khánh Hoà… ở miền Trung, Bình Dương, Đồng Nai, Bà Rịa – Vũng Tàu… ở miền Nam.

Ngoài ra còn có hệ thống của rất nhiều các nhà cung cấp lớn khác như VTI, Viettel… Bên cạnh các nhà cung cấp dịch vụ còn rất nhiều các tổ chức chính phủ khác như bộ tài chính, bộ công an cũng tiến hành nâng cấp toàn hệ thống, với mục đích thống nhất tất cả các dịch vụ, các phương thức truy nhập mạng của bản thân tổ chức về một nền tảng hạ tầng mạng hội tụ duy nhất. Với công nghệ MPLS được triển khai không chỉ trong lớp lõi (core) mà còn trong lớp biên (edge). Các thiết bị MPLS lớp biên đóng vai trò như những

 

LSR lối vào, lối ra. Các mạng Internet quốc gia, mạng truyền số liệu, mạng DCN (quản lý) đều được kết nối với các LSR biên. Nhờ các cơ chế linh hoạt của IP/MPLS cho phép các tổ chức chuyển đổi từng bước một lên NGN, mà vẫn duy trì được hoạt động của hạ tầng mạng hiện có. Hệ thống mới hoàn toàn tương thích với các hạ tầng mạng ATM hiện có, giúp cho tổ chức tiết kiệm chi phí trong quá trình đầu tư.

Dự kiến cuối năm 2010, VPN MPLS sẽ dần thay thế hoàn toàn các công nghệ mạng truyền thống đã lạc hậu và là tiền đề tiến tới một hệ thống mạng băng rộng – Mạng thế hệ mới NGN ( Next Generation Network).

Hiện tại, không kể các DN và VP đại diện nước ngoài, có rất nhiều DN trong nước ở lĩnh vực tài chính, bảo hiểm, ngân hàng sử dụng dịch vụ này (tổng công ty Bảo Hiểm Bảo Việt; ngân hàng Đông Á…). Bên cạnh đó các tổ chức nhà nước như Bộ Tài Chính, Hải Quan, Kho Bạc, Thuế đã liên kết với nhau bằng VPN/MPLS. Mạng của tổ chức Đảng, các văn phòng tỉnh ủy cũng đang thử nghiệm công nghệ này.

Hạn chế của đề tài:

MPLS đã được kiểm chứng về tính ưu việc của nó trong thực tế triển khai, trong đề tài vì không có thiết bị hỗ trợ nên chỉ làm ở mức mô phỏng bằng GNS 3 dẫn đến nhiều vấn đề trong mạng MPLS chưa được làm sáng tỏ như: Tốc độ chuyển mạch nhanh, low delay, low jitter…

Vì thời gian nghiên cứu có hạn nên còn nhiều thiếu sót trong trình bày cho cuốn luận văn, mong quí thầy cô và các bạn độc giả đóng góp ý kiến để luận văn thêm hoàn chỉnh.

Hướng mở đề tài:

Đề tài chỉ mới tìm hiểu một phần (QoS) trong tất cả là 3 phần của MPLS (VPN, Traffic engineering, QoS) vì vậy em sẽ tìm hiểu thêm hai phần còn lại và kết hợp chúng lại với nhau thành một đề tài hoàn chỉnh cho MPLS, thật ra cả 3 phần này không thể tách rời nhau nếu ta triển khai mạng MPLS.

 

 

 

Trong đề tài chỉ mới ưu tiên cho các loại dịch vụ, chưa làm được phải deny các cuộc gọi bằng CAC để đảm bảo cho chất lượng các cuộc gọi đã được thiết lập trước đó, vì vậy em sẽ làm thêm phần này trong hướng mở của mình.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TÀI LIỆU THAM KHẢO

  1. Cisco DQOS Exam Certification Guide by CiscoNet
  2. Configuring Quality of Service for MPLS Traffic
  3. DiffServ Tunneling Modes for MPLS Networks
  4. Implementing DiffServ for End-to-End Quality of
  5. Implementing Quality of Service Policies with
  6. MPLS DiffServ Tunneling Modes
  7. MPLS DiffServ Tunneling Modes (CCNP2_lab_4_2_en)
  8. Overview of DiffServ for Quality of Service

WEB THAM KHẢO:

1 www.cisco.com

2. www.vnpro.org

3. www.saigonlab.vn

4. http://www.elcom.pub.ro/~adrian.popa/mpls-linux/mpls-linux-docs/3-1-elsp.html

Article Tags:
· · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Article Categories:
IT & Network
    http://linholiver.com

    https://linholiver.com/diary/about/