Vùng DS

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 57)

3. Cấu trúc các chương

4.2.2Vùng DS

Hình 4.5: Vùng DS.

Hình 4.5 diễn tả một vùng DS. Một vùng DS là một tập hợp một hay vài miền DS kế tiếp nhau có chính sách quản trị khác nhau. Bởi vậy một vùng DS có thể cung cấp DiffServ thông qua các bộ định tuyến IP dưới nhiều chính sách quản trị. Thông thường mỗi miền trong vùng có chính sách làm việc và PHB riêng của nó, mỗi miền sử dụng một mã DSCP riêng để gán cho các kiểu lưu lượng. Tuy nhiên, để cho phép các dịch vụ nối ngang qua miền, các miền DS ngang hàng

phải thiết lập mỗi miền một SLA ngang hàng chứa thoả thuận lưu lượng TCA phù hợp. Một vài miền DS trong một vùng có thể kế thừa một chính sách cung cấp dịch vụ chung và có thể hỗ trợ tập hợp chung các nhóm PHB và các cách sắp xếp mã phân biệt dịch vụ DSCP, vì vậy có thể loại bỏ quy định lưu lượng giữa các miền DS đó.

4.3 Định nghĩa trƣờng trong DiffServ

DiffServ sử dụng trường kiểu dịch vụ ToS trong tiêu đề IPv4 và trường phân lớp lưu lượng TC (Traffic Class) trong tiêu đề Ipv6 để đánh dấu gói tin. Đối với các bộ định tuyến IPv4 và IPv6 hoạt động trong chế độ thông thường, các trường ToS và TC được sử dụng như mục đích thông thường trước đây. Đối với các bộ định tuyến IPv4 và IPv6 hoạt động trong miền DS, các trường ToS và TC được định nghĩa lại và thay thế bởi trường chức năng dịch vụ phân biệt DS. Như vậy trong tiêu đề gói tin IP, không có sự tách rời giữa các trường DS với các trường ToS và TC, chúng đều được sử dụng để đánh dấu gói tin DiffServ.

4.3.1 Đánh dấu gói tin trong bộ định tuyến thông thƣờng

Hình 4.6 diễn tả cấu trúc của tiêu đề gói tin IPv4 với trường ToS 8 bit mô tả kiểu dịch vụ. Hình 4.7 chỉ ra cấu trúc của trường ToS. Trong các bộ định tuyến thông thường (không hỗ trợ DiffServ), 8 bit của trường ToS được định nghĩa trong RFC 791 [8] và được diễn tả trong 2 bảng dưới. Ba bit đầu tiên (bit 0, 1, 2) của trường ToS là các bit thứ tự ưu tiên IP.

Ba bit tiếp theo (bit 3, 4 và 5) DTR (D - dữ liệu, T - thông lượng và R - độ tin cậy) của trường ToS định nghĩa đặc điểm hiệu năng của các dịch vụ gói tin. Bảng dưới chỉ ra các thiết lập cho các bit D, T, R và ý nghĩa tương ứng. Hai bit cuối (bit 6 và 7) trong trường ToS dự phòng để sử dụng trong tương lai.

Bảng 4.1: Các mức hiệu năng DTR

Bit D-bit T-bit R-bit

0 Trễ thông thường Thông lượng

thông thường

Độ tin cậy thông thường

1 Trễ thấp Thông lượng cao Độ tin cậy cao

Hình 4.6: Tiêu đề gói tin IPv4

Hình 4.8: Tiêu đề gói tin IPv6

Hình 4.8 diễn tả cấu trúc của tiêu đề gói tin IPv6 với trường 8 bit lớp lưu lượng TC (Traffic Class) và trường 20 bit nhãn luồng FL (Flow Label). Cả hai trường này đều liên quan tới QoS. Tuy nhiên trường FL chưa được sử dụng rộng rãi trong các ứng dụng. Trường TC có chức năng tương tự như trường ToS trong tiêu để IPv4.

4.3.2 Cấu trúc trƣờng DS

Đối với các bộ định tuyến IPv4 và IPv6 hoạt động trong miền DS, các trường ToS và TC được định nghĩa lại và thay thế bởi trường chức năng dịch vụ có phân biệt DS.

Hình 4.9: Cấu trúc của trường phân biệt dịch vụ DS.

Hình 4.9 chỉ ra cấu trúc của trường DS. Trong 8 bit của trường DS, 6 bit đầu sử dụng cho đánh dấu gói tin DiffServ hay còn gọi là mã dịch vụ phân biệt DSCP và 2 bit cuối để dự phòng.

4.3.3 Các mã phân biệt dịch vụ DSCP

Sáu bit của trường DSCP cung cấp 64 khả năng hoán vị cho giá trị DSCP. RFC 2474 [8] chia 64 giá trị này thành 3 khối được gọi là các pool. Bảng dưới đây chỉ ra các khối của DSCP.

Mã phân biệt dịch vụ DSCP (6 bit)

CU (2 bit) Trường DS (8 bit)

Bảng 4.2: Các mã dịch vụ phân biệt DSCP

Pool Mã DSCP Ứng dụng

1 XXXXX0 Tiêu chuẩn

2 XXXX11 Thử nghiệm/Sử dụng nội bộ

3 XXXX01 Thử nghiệm/Sử dụng nội bộ

Pool 1 gồm các mã DSCP sử dụng cho toàn cầu, pool 2 và pool 3 sử dụng cho mục đích thử nghiệm và nội bộ miền DS riêng. Như vậy số lớp dịch vụ của Pool 1 có thể lên tới 32 và số lớp dịch vụ tối đa của các Pool 2 và Pool 3 là 16. Để hỗ trợ cho các bộ định tuyến truyền thống sử dụng các lớp của trường ToS trong Ipv4. 8 mã DSCP được sử dụng nên DSCP có dạng (XXX000). Dịch vụ cố gắng tối đa có mã phân biệt dịch vụ DSCP là (000000). (adsbygoogle = window.adsbygoogle || []).push({});

4.4 Phân loại và điều hoà lƣu lƣợng

Để thoả thuận các mức dịch vụ cung cấp bởi nhà cung cấp với khách hàng, DiffServ đưa ra khái niệm mức thoả thuận dịch vụ SLA (Service-Level Agreement). Sự thoả thuận này bao gồm cả phạm trù kỹ thuật như điều hoà lưu lượng, dịch vụ có sẵn và cả phạm trù kinh tế như giá cả, các hợp đồng giao kèo.

Một thoả thuận điều hoà lưu lượng TCA (Traffic Conditioning Agreement) là

một tập con của SLA, nó có các quy tắc phân loại và điều hoà lưu lượng nhằm áp dụng cho các luồng lưu lượng vào mạng.

Một thuật ngữ mới đã được giới thiệu để mô tả các thành phần của SLA và TCA được dùng cho DiffServ. Đặc tả mức dịch vụ SLS (Service-Level Specification) mô tả tập tham số và các giá trị của chúng dùng để xác định dịch vụ được yêu cầu cho một luồng lưu lượng bởi một miền DS. Đặc tả điều hoà lưu

lượng TCS (Traffic Conditioning Specification) được sử dụng để mô tả tập tham

Việc phân loại lưu lượng được sử dụng cho các hoạt động phân tách một dòng lưu lượng đơn đi vào thành nhiều dòng đi ra. Việc phân loại dựa vào nội dung của một số phần trong tiêu đề của gói tin. Có hai kiểu phân loại đã được định nghĩa. Bộ phân loại kết hợp hành vi BA (Behaviour Aggregate) phân loại các gói tin chỉ dựa vào trường DS. Bộ phân loại MF (Multi Field) phân loại gói tin dựa vào việc kết hợp một hoặc nhiều trường trong tiêu đề gói tin, ví dụ như địa chỉ nguồn, địa chỉ đích, trường DS, định danh giao thức, cổng nguồn và cổng đích và một số thông tin khác như là giao diện vào.

Hình 4.10: Dịch vụ phân biệt với PHB và TCA

Điều hoà lưu lượng dùng để mô tả các hoạt động đảm bảo lưu lượng vào DS thoả mãn các quy tắc được chỉ ra trong TCS, phù hợp với miền dịch vụ và các điều khoản chính sách. Hình 4.11 chỉ ra các khối điều hoà lưu lượng DiffServ.

Bộ phân loại: phân loại các gói tin trong dòng lưu lượng dựa vào một số

giá trị nội dung trong trường DSCP.

Bộ đo: đo dòng lưu lượng hiện tại dựa vào đặc tả lưu lượng đã thoả thuận

trong TCS. Kết quả đo sẽ xác định liệu mỗi gói tin trong dòng lưu lượng đó nằm trong hay ngoài hồ sơ mạng.

Bộ đánh dấu: thiết lập trường DS của mỗi gói tin với một mã cụ thể, đưa

các gói tin được đánh dấu tới một hành vi tập hợp DS cụ thể.

Bộ định dạng, loại bỏ: tiến hành định dạng dòng lưu lượng cho đúng với

dòng lưu lượng. Nó luôn có bộ đệm với dung lượng xác định, các gói số liệu có thể bị loại nếu xảy ra tình trạng tràn bộ đệm.

Khối điều hoà lưu lượng đã được giới thiệu để thuận tiện hơn trong việc xác định các hàm điều hoà lưu lượng cụ thể. Nó có thể được xem như là một thực thể với một đầu vào và nhiều đầu ra và một tập các tham số điều khiển.

Hình 4.11: Các khối điều hoà lưu lượng DiffServ (TCB)

Một TCB không cần thiết phải có tất cả đầy đủ bốn thành phần. Nó thường được sử dụng trong các nút vào và ra của biên mạng, nhưng nó cũng có thể được sử dụng ở các nút trong miền DS hoặc các nút ngoài miền DS [8].

4.5 Hành vi theo chặng PHB (Per-Hop Behaviors)

Hành vi theo chặng là sự mô tả cách ứng xử chuyển tiếp của một nút DS áp dụng cho một tập ứng xử DS cụ thể. Hành vi theo chặng được giới thiệu trong phần này nhằm sáng tỏ phương pháp xử lí gói trong mô hình DiffServ. Để tạo ra các hành vi chuyển tiếp gói được định nghĩa theo quy tắc ứng xử từng chặng, cần có các cơ cấu kỹ thuật đảm bảo QoS như AQM và bộ lập lịch gói được trình bày trong phần trước. Một PHB có thể không cần phụ thuộc vào nguyên tắc chung mà có thể được phát triển trên kỹ thuật riêng của các nhà cung cấp thiết bị.

Nhóm làm việc về DiffSer của IETF định nghĩa hai loại PHB trong RFC 2598 [8], RFC 3246 và RFC 2597 [8]: Chuyển tiếp nhanh EF (Expedited Forwarding) và chuyển tiếp bảo đảm AF (Assured Forwarding).

Bộ phân loại Bộ đánh dấu dạng, loại bỏ Bộ định Bộ đo

Loại bỏ Định dạng

4.5.1 Chuyển tiếp nhanh EF PHB.

Về cơ bản, EF PHB đảm bảo tính năng về tốc độ hơn là độ tin cậy. Nó cung cấp các dịch vụ có khả năng tổn hao thấp, trễ thấp, thăng giáng trễ thấp và đảm bảo băng thông. Vì trễ và thăng giáng trễ gây nên bởi thời gian mà gói tin phải nằm đợi trong bộ đệm và hàng đợi nên một bộ định tuyến EF phải đảm bảo rằng lưu lượng EF được đưa đến những bộ đệm có dung lượng nhỏ. Tốc độ đầu ra của bộ định tuyến này phải bằng hoặc lớn hơn tốc độ vào. Khi xảy ra hiện tượng quá tải, nút biên DS không cho phép luồng lưu lượng dạng này đi vào trong miền đó vì nó sẽ là nguyên nhân gây tắc nghẽn tại bộ định tuyến trong miền DS. Vấn đề này được điều chỉnh bởi xác định mức dịch vụ SLA và xác định lưu lượng truyền có điều kiện.

Hình 4.12:Xử lý chuyển tiếp nhanh EF PHB.

Chuyển tiếp EF PHB khả thi nếu băng thông đầu ra và kích thước bộ nhớ đệm đủ để các luồng lưu lượng ra với tốc độ phục vụ . Tốc độ phục vụ  luôn lớn hơn tốc độ đầu vào  tại các bộ đệm EF. Các luồng không phải EF ở đây là các luồng dịch vụ cố gắng tối đa. Với kỹ thuật lập lịch ưu tiên như đã giới thiệu trong chương trước, chuyển tiếp EF đảm bảo được tính ưu tiên cho các luồng lưu lượng theo yêu cầu.

Phân loại gói theo BA Lập lịch Cổng đầu ra . . . Bộ định tuyến IP Hàng đợi PHB Gói tin đến DSCP 3 DSCP 2 DSCP 1 Giao diện người dùng mạng SLA   EF EF Không EF   (adsbygoogle = window.adsbygoogle || []).push({});

4.5.2 Chuyển tiếp đảm bảo AF PHB

Chuyển tiếp bảo đảm AF PHB gần tương đương với dịch vụ tải có điều khiển trong mô hình IntServ. Có nhiều mức chuyển tiếp bảo đảm khác nhau cho các gói tin IP qua một miền DS. Ví dụ, các nhóm PHB có thể được sử dụng tại nhiều mức độ khác nhau của quan hệ tụ hợp (Telnet, SMPT, và FTP có thể được gán mức độ cao hơn so với HTTP). Đặc điểm của AF PHB là phân phối dữ liệu đảm bảo với khả năng mất gói thấp. Đó là điều kiện tốt nhất khi sử dụng các giao thức không thực hiện xử lý sửa lỗi hoặc không có giải pháp truyền lại gói.

AF PHB bao gồm 4 lớp chuyển tiếp và mỗi lớp chuyển tiếp có 3 mức ưu tiên loại bỏ gói tin, mỗi lớp được gán một băng thông và khoảng nhớ đệm xác định. Lớp A có thể có bộ nhớ đệm lớn hơn nhưng băng thông nhỏ và lớp D có thể có bộ nhớ đệm nhỏ nhưng băng thông lớn hơn. Nếu một gói phải bị loại bỏ, bộ định tuyến có cách nhận biết gói nào bị loại bỏ đầu tiên. Nếu bộ nhớ đệm đầy, thì quá trình loại bỏ gói sẽ bắt đầu theo trật tự loại bỏ theo mức ưu tiên. Một nhóm PHB AF là Afxy trong đó x là nhóm và y là mức thứ tự loại bỏ. Các phân loại AF được thể hiện trên bảng dưới đây.

Bảng 4.3: Chi tiết phân lớp đảm bảo AF PHB

Mức ƣu tiên Lớp 1 Lớp 2 Lớp 3 Lớp4 Thấp (AF11) 001010 (AF21) 010010 (AF31) 011010 (AF41) 100010 Trung bình (AF12) 001100 (AF22) 010100 (AF32) 011100 (AF42) 100100 Cao (AF13) 001110 (AF23) 010110 (AF33) 011110 (AF43) 100110

CHƢƠNG 5. THỰC NGHIỆM MÔ PHỎNG

5.1 Hệ mô phỏng NS2

5.1.1 Giới thiệu

NS (Network Simulator) là một phần mềm mô phỏng mạng, được phát triển bởi dự án VINT (Virtual InterNetwork Testbed) của Bộ Quốc phòng Mỹ. VINT đã chọn bộ mô phỏng NS, do nhóm nghiên cứu ở phòng thí nghiệm quốc gia Lawrence Berkeley, Hoa Kỳ, xây dựng và phát triển. Mục đích của dự án này là xây dựng một bộ mô phỏng công cộng với một tập rất lớn các mô hình để nghiên cứu về mạng, cung cấp cho các nhà nghiên cứu nhiều khả năng mới trong thực nghiệm, giúp các nhà nghiên cứu đánh giá được các giao thức trong các điều kiện khác nhau. Bộ mô phỏng được vận hành theo cơ chế sử dụng các sự kiện rời rạc, có thứ tự. Người sử dụng có thể thay đổi cấu hình và mở rộng mô hình mạng rất dễ dàng bằng cách lập trình thêm vào một số mô-đun chương trình. Hiện nay NS có nhiều phiên bản, phiên bản sử dụng để mô phỏng trong luận văn này là NS - 2.33.

Một công cụ khác được phát hành cùng với NS là Network Animator (NAM). Công cụ này cung cấp hình ảnh đồ họa về tô-pô mạng, sự chuyển động của các nút trong mạng không dây và truyền thông giữa chúng. Đây là một công cụ rất có ích để tìm lỗi trong chương trình mô phỏng mà người sử dụng tạo ra.

5.1.2 Kiến trúc của NS2

NS là bộ mô phỏng hướng sự kiện viết bằng C++, với một trình thông dịch OTcl (Object Oriented Tool Command Language) giao tiếp với người sử dụng. Để giảm thời gian xử lý gói tin và thời gian xử lý sự kiện, bộ lập lịch sự kiện và các đối tượng mạng cơ bản trong đường truyền dữ liệu được viết và dịch bằng C++. Những đối tượng được biên dịch này sẽ được kết nối tới bộ thông dịch OTcl qua trình liên kết OTcl. Trình liên kết này sẽ tạo ra các đối tượng OTcl tương ứng với mỗi đối tượng trong C++. Các hàm và biến trong đối tượng C++

chuyển thành các hàm và biến trong đối tượng OTcl tương ứng. Do đó, việc điều khiển các đối tượng C++ có thể được thực hiện trong ngôn ngữ mô phỏng OTcl. Các lớp trong C++ được tổ chức dưới dạng cây phân cấp, và tạo ra tương ứng trong OTcl. Hai cây phân cấp này có mối quan hệ chặt chẽ với nhau, với một lớp trong cây phân cấp thông dịch OTcl thì cũng có một lớp tương ứng trong cây phân cấp biên dịch. Đỉnh của cây phân cấp OTcl là TclObject. Người sử dụng tạo ra những đối tượng mô phỏng mới thông qua trình thông dịch OTcl, những đối tượng này được thiết lập tự động thông qua các phương thức được định nghĩa trong lớp TclClass. Chúng ta có thể thay đổi các tham số cho các đối tượng mô phỏng thông qua các phương thức được định nghĩa trong lớp TclObject.

Hình 5.1: Sự tương đồng giữa C++ và OTcl

NS sử dụng hai ngôn ngữ là vì hai lý do. Thứ nhất, các giao thức mô phỏng yêu cầu một ngôn ngữ lập trình hệ thống có thể làm việc hiệu quả với các thao tác trên byte, các header của gói tin và cài đặt các giải thuật thực hiện trên các tệp dữ liệu lớn. Với nhiệm vụ này thì tốc độ xử lý là quan trọng, còn thời gian thay đổi chương trình và thực hiện mô phỏng ít quan trọng hơn. Thứ hai, phần lớn công việc nghiên cứu về mạng là thay đổi các tham số mô phỏng, thực hiện cấu hình mạng, hoặc thăm dò nhanh một số trường hợp được cho là có khả năng. Trong trường hợp này, thời gian lặp đi lặp lại quan trọng hơn. C++ chạy nhanh hơn nhưng khi thay đổi thì chậm hơn, nên C++ thích hợp cho việc cài đặt chi tiết các

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 57)