CHƢƠNG 4 MÔ HÌNH DỊCH VỤ KHÁC BIỆT DIFFSERV
4.2 Kiến trúc DiffServ
4.2.1 Miền DS (Different Service)
Một miền mạng IP thường là một vùng địa lý có biên bao bọc xung quanh, thực thi cùng một chính sách và cùng có một nhà quản lý chung. Một miền IP có thể gồm nhiều mạng có thể là phân tán hoặc tập trung.
Một mạng IP được xem là có khả năng xử lý dịch vụ phân biệt DS nếu nó có thể cung cấp dịch vụ DiffServ. Một miền IP có thể bao gồm các phần có khả năng DS và các phần không có khả năng DS. Một miền DS là phần có khả năng DS của một miền IP. Do miền DS là một mạng con của một miền IP nên nó cũng nằm trong chính sách quản lý chung của miền IP đó. Hình 4.2 chỉ ra rằng một miền IP có thể bao gồm các miền DS và các miền không DS.
Hình 4.3: Miền DS
Hình 4.3 chỉ ra một miền DS cùng với các thành phần của nó. Các khái niệm sử dụng để miêu tả kiến trúc DS được định nghĩa trong RFC 2475 [8]. Một nút IP hoặc một thiết bị được gọi là có khả năng DS nếu nó hỗ trợ DiffServ. Một nút DS là một nút IP có khả năng DS. Giống như một miền IP, miền DS cũng được phân danh giới bởi đường biên DS. Các nút nằm trên đường biên DS được gọi là các nút biên, các nút nằm trong miền DS được gọi là các nút lõi. Các nút biên DS thực hiện việc phân loại và điều khiển lưu lượng đầu cho từng yêu cầu cụ thể.
Có hai loại nút biên, nút vào (ingress node) và nút ra (egress node). Nút vào là các nút biên mà tại đó các luồng lưu lượng đi vào miền DS, nút ra là nút biên có luồng lưu lượng đi ra khỏi DS. Một nút biên có thể đóng vai trò vừa là nút vào vừa là nút ra của một miền DS.
Nút biên có thể kết nối với các nút lõi trong cùng miền DS, một nút biên của miền DS khác hoặc các nút trong miền không DS. Nút lõi chỉ có thể kết nối với nút lõi khác hoặc nút biên trong cùng miền DS, nó không kết nối trực tiếp với các nút ở ngoài miền DS.
Một miền DS thông thường bao gồm một hay nhiều mạng dưới cùng một chính sách quản trị được chỉ ra trong hình 4.2. Cách thức xử lý các gói tin IP trong mạng DS được định nghĩa bởi các hành vi theo chặng PHB. Các nút biên DS phân loại và điều khiển lưu lượng đầu vào để đảm bảo rằng các gói tin qua miền được đánh dấu thích hợp để lựa chọn một PHB từ một nhóm các PHB được
hỗ trợ trong phạm vi miền. Các nút trong miền DS lựa chọn ứng xử chuyển tiếp cho các gói tin dựa trên mã chuyển tiếp DSCP của chúng, xắp xếp vào một trong các PHB theo yêu cầu.
Hình 4.4: Một miền DS và các mạng con.
4.2.2 Vù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
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).
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
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
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
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 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.