Điểm mã dịch vụ phân biệt DSCP (Diffserv codepoint)

Một phần của tài liệu Đảm bảo chất lượng dịch vụ mạng dựa trên giao thức diffserv (Trang 34)

Các đặc tính kỹ thuật trước đây, IP đã dự trữ một số bit trong header cho việc hỗ trợ các chất lượng dịch vụ QoS. Đối với Ipv4 , octet thứ hai của header là octet ToS (Type of Service) còn đối phó với Ipv6 thì đó là octet lớp lưu lượng (Traffic Class).

35

Các giá trị của trường DS đó chính là điểm mã dịch vụ phân biệt DSCP. Các node dịch vụ Diffserv sẽ phục vụ các gói tin tương ứng với điểm mã này.

Hình 16: Byte ToS trƣớc và sau DiffServ

Trường ToS chứa 8 bit, 6 trong số chúng được sử dụng để hiển thị cho DSCP.

Hình 17: Khung DSCP

Với 6 bit trường DS sẽ có 64 giá trị nhị phân tương ứng với 64 trạng thái chất lượng dịch vụ chứa trong 3 “bộ trữ” (pool). Trong đó sẽ có 2 bộ trữ với 32 giá trị được dự trữ cho thực nghiệm hay sử dụng cục bộ. Các đặc tính DiffServ hiện nay khuyến cáo sử dụng 21 giá trị trong bộ trữ thứ 3 sẽ được mô tả trong bảng sau:

PHB DSCP (Thập phân) DSCP (Nhị phân) EF 46 101110 AF43 38 100110 AF42 36 100100 AF41 34 100010 AF33 30 011110 AF32 28 011100 AF31 26 011010 AF23 22 010110 AF22 20 010100

36 AF21 18 010010 AF13 14 001110 AF12 12 001100 AF11 10 001010 CS7 56 111000 CS6 48 110000 CS5 40 101000 CS4 32 100000 CS3 24 011000 CS2 16 010000 CS1 8 001000 Mặc định 0 000000 Bảng 6: Ánh xạ giữa PHB và DSCP 3. Xử lý từng chặng PHB (Per-hop Behavior)

Kiến trúc DiffServ định nghĩa đối xử từng chặng PHB cho việc xử lý chuyển tiếp gói tin tại mỗi node mạng áp dụng một tập hợp đối xử BA. Nó mô tả các đặc tính về chất lượng dịch vụ như độ trễ, độ trượt hay mất gói của gói tin khi đi qua node dịch vụ DiffServ.

Các node dịch vụ DiffServ sẽ ánh xạ các gói tin đến các chặng PHB tương ứng với các giá trị DSCP của nó. DiffServ không hoàn toàn có chức năng ánh xạ PHB đến DSCP mà nó chỉ thực hiện công việc này khi được yêu cầu. Các nhóm PHB là thành phần của các đặc tính DiffServ đó là: xúc tiến đẩy gói (Expecdited Forwarding), đảm bảo đẩy gói (Assured Forwarding), chọn lớp (Class Selector) và mặc định (Default). Một node chuyển mạch có thể được hỗ trợ nhiều nhóm PHB tương tự nhau. Các node thực thi các nhóm PHB này sẽ sử dụng cơ chế đệm và lập lịch gói tin.

- Xúc tiến đẩy gói: đối xứng từng chặng EF PHB là đối xử có độ trễ, độ trượt và tỉ lệ mất gói thấp mà một node DiffServ có thể thực thi. Vì vậy, EF PHB được sử dụng cho những luồng có độ ưu tiên rất cao. Nó có thể được thực hiện bằng việc sử dụng các thuật toán như CBQ (Class Based Queue) hoặc sử dụng hàng đợi ưu tiên đơn lẻ. Những thuật toán khác nhau nhằm thỏa mãn yêu cầu EF sẽ tạo ra những độ trượt khác nhau đối với từng gói dữ liệu.

- Đảm bảo đẩy gói: là một nhóm PHB có 4 lớp đảm bảo đẩy gói khác nhau với 3 mức độ ưu tiên loại bỏ gói xác định khác nhau mà một node DiffServ có thể hỗ trợ. Bảng sau liệt kê các lớp AF với mức độ ưu tiên loại bỏ gói:

Ưu tiên loại bỏ gói AF1 AF2 AF3 AF4

Thấp AF11 AF21 AF31 AF41

Trung bình AF12 AF22 AF32 AF42

Cao AF13 AF23 AF33 AF43

37

Các nhóm AF PHB hoạt động phụ thuộc lẫn nhau và không chứa các đặc tính như độ trễ hay độ trượt. Việc mỗi nhóm cung cấp các đảm bảo dịch vụ phụ thuộc vào các tài nguyên của các node, số lượng các luồng đến tại node và các ưu tiên mức loại bỏ gói. Các tài nguyên tại các node chính là băng thông và không gian bộ đệm.

- Các lựa chọn lớp: DiffServ xác định các lựa chọn lớp CS PHBs để đưa ra tính tương thích ngược với việc sử dụng mức ưu tiên IP trong octet ToS của Ipv4. Các lựa chọn lớp đảm bảo thứ tự ưu tiên tương đối. Các đặc tính của CS PHBs là không trễ, không trượt và không mất gói.

- PHB mặc định: Miền DiffServ cần phải cung cấp một PHB mặc định để đưa ra dịch vụ best-effort. Với các đặc tính không trễ, không trượt và mất gói, miền DS phải đẩy càng nhiều gói tin đi càng sớm càng tốt.

4. Phân lớp lƣu lƣợng và điều hòa

Các dịch vụ phân biệt được mở rộng ra biên giới miền DS bằng cách thiết lập một bản thỏa thuận mức dịch vụ SLA giữa các mạng. Bảng SLA có thể chỉ rõ sự phân lớp với gói tin và các luật đánh dấu lại và cũng có thể chỉ định các hiện trang của lưu lượng và các hoạt động đến các dòng lưu lượng nằm trong hoặc ngoài hiện trạng. Bản thỏa thuận điều hòa lưu lượng TCA (Traffic Control Agreement) giữa các miền được rút ra từ bảng SLA. Chính sách phân lớp gói tin định nghĩa tập hợp lưu lượng nhỏ mà có thể nhận một dịch vụ phân biệt bằng cách được đánh dấu đến một hay nhiều tập hợp đối xử (hay bằng cách đánh dấu lại điểm mã DS) trong miền DS.

Sự điều tiết lưu lượng thực hiện bằng cách đo, định dạng, chính sách hay đánh dấu lại để đảm bảo lưu lượng đi vào miền DS tương ứng với các quy tắc được định nghĩa trong TCA, phù hợp với chính sách cung cấp dịch vụ của miền. Phạm vi yêu cầu điều tiết lưu lượng phụ thuộc vào loại hình dịch vụ, việc đánh dấu lại điểm mã đơn giản đến chính sách phức tạp và các hoạt động định dạng. Các chính sách điều tiết lưu lượng được kí kết giữa các mạng sẽ được mô tả chi tiết sau đây:

a) Các bộ phân lớp

Các bộ phân lớp gói tin chọn các gói tin đi vào một luồng lưu lượng dựa trên header của gói tin. Ta định nghĩa 2 kiểu bộ phân lớp: bộ phân lớp BA (behavior aggregate) phân lớp các gói tin chỉ dựa trên mã DS. Bộ phân lớp MF (Multi-Field) chọn các gói tin trên cơ sở giá trị của sự kết hợp 1 hay nhiều trường header như địa chỉ nguồn, địa chỉ đích, trường DS, giao thức ID, số cổng nguồn và đích, một số thông tin khác nữa.

Các bộ phân lớp được sử dụng để hướng các gói tin phù hợp với một số nguyên tắc đến bộ điều tiết lưu lượng và sau đó sẽ được xử lý. Các bộ phân lớp cần phải được cấu hình bằng một số thủ tục quản lý phủ hợp với bảng TCA. Bộ phân lớp cần phải chứng thực thông tin được dùng để phân các gói tin

38

b) Các hiện trạng lƣu lƣợng

Một hiện trạng lưu lượng biểu thị các đặc tính thời gian của một luồng lưu lượng được chọn bởi bộ phân lớp. Nó cung cấp các quy tắc cho việc xác định cho dù gói tin đó nằm trong hay nằm ngoài hiện trạng. Giả sử, một hiện trạng dựa trên cơ sở giải thuật thùng token như sau: điểm mã (codepoint) là X và sử dụng thùng token có kích thước B và tốc độ token là r. Hiện trạng trên cho biết tất cả các gói tin được đánh dấu với mã DS là X sẽ được ước lượng cho phù hợp các thông số của thùng token. Ở đây, các gói tin nằm ngoài hiện trạng của luồng lưu lượng đến vẫn được xếp vào thùng nếu token vẫn chưa đủ. Các hoạt động điều hòa khác nhau có thể được gán vào trong các gói tin nằm trong hiện trạng và ngoài hiện trạng, hay các hoạt động tính toán có thể được kích hoạt. Các gói tin trong hiện trạng có thể được phép đi vào miền DS mà không cần thêm điều kiện hay thay đổi mã DS.

Sau đó khi các gói tin đi vào miền DS và sử dụng một nhóm các PHB khác nhau hay ánh xạ từ điểm mã đến PHB cho luồng lưu lượng này. Các gói tin nằm ngoài hiện trạng sẽ được xếp hàng cho đến khi chúng là nằm trong hiện trạng (định dạng) hoặc sẽ bị loại bỏ và được đánh dấu lại với mã DS mới hay được chuyển tiếp cho đến khi khởi động một vài thủ tục tính toán. Các gói tin ngoài hiện trạng có thể được ánh xạ đến một hay nhiều tập hợp BA thấp hơn dể có thể thực thi. Chú ý rằng hiện trạng lưu lượng là thành phần tùy chọn của TCA và việc sử dụng nó lại phụ thuộc vào các đặc tính riêng của yêu cầu dịch vụ và chính sách cung cấp dịch vụ của miền DS.

c) Các bộ điều hòa lƣu lƣợng

Bộ điều hòa lưu lượng bao gồm các thành phần sau: đo, đánh dấu, định dạng, và loại bỏ gói. Một luồng lưu lượng được chọn bởi bộ phân lớp sẽ hướng các gói tin đến bộ điều hòa. Một bộ đo được sử dụng để đo luồng lưu lượng dựa vào hiện trạng lưu lượng. Trạng thái của bộ đo đối với một gói tin cụ thể có thể được sử dụng để tác động đến việc đánh dấu, loại bỏ gói hay định dạng.

Khi các gói ra khỏi bộ điều hòa lưu lượng của một node biên DS, mã DS của mỗi gói tin cần phải được thiết lập với giá trị tương ứng.

Hình 18: Cấu trúc của Router DiffServ

Hình trên biểu diễn sơ đồ khối của bộ phân lớp và điều hòa lưu lượng. Chú ý rằng một bộ điều hòa lưu lượng không cần thiết bao gồm 4 thành phần:

39

- Bộ đo (Meters): Các bộ đo lưu lượng sẽ đo các đặc tính thời gian của luồng các gói tin được chọn từ bộ phân lớp dựa vào hiện trạng lưu lượng được định nghĩa TCA. Bộ đo sẽ chuyển tiếp các thông tin trạng thái đến các hàm điều hòa để kích khởi mỗi hoạt động riêng biệt cho mỗi gói tin nằm trong hoặc ngoài hiện trạng.

- Bộ đánh dấu (Makers): Các bộ đánh dấu sẽ thiết lập trường DS với mã riêng biệt, sau đó gói tin được đánh dấu theo tập hợp đối xử BA riêng. Bộ đánh dấu có thể được cấu hình để đánh dấu tất cả các gói tin với chỉ một mã, hay có thể được cấu hình để đánh dấu 1 gói tin 1 mã được chọn trong PHB sao cho phù hợp với trạng thái trong bộ đo. Khi thay đổi mã của gói tin có nghĩa gói tin được đánh dấu lại.

- Bộ định dạng (Shapers): Bộ định dạng sẽ làm trễ một vài hoặc tất cả các gói tin trong luồng lưu lượng theo thứ tự để luồng lưu lượng phù hợp với hiện trạng lưu lượng. Bộ định dạng thường có bộ đệm không giới hạn và các gói tin có thể bị loại bỏ nếu bộ đệm không đủ không gian để chứa các gói tin.

- Bộ loại bỏ gói (Droppers): Bộ loại bỏ gói sẽ loại bỏ 1 số hay tất cả các gói tin theo thứ tự để phù hợp với hiện trạng lưu lượng. Xử lý này thường gọi là “ khống chế” luồng. Ví dụ: Giả sử trong miền DS có 2 phiên kết nối giữa S1R1 và S2R2. Quá trình hoạt động của dịch vụ phân biệt DiffServ sẽ được biểu diễn như sau:

- Ban đầu khi các gói tin di vào các router ER1 và ER2 sẽ được phân lớp phù hợp với các trường trong header. Giả sử các gói tin đi từ S1 đến R1 mang thông tin địa chỉ của R2 và cổng đích là 80 sẽ được xếp lớp BA1 đầu tiên, nhưng do ER1 chỏ có 1 phiên kết nối đến nên việc phân lớp dễ dàng hơn.

Hình 19: Hoạt động DiffServ

- Bộ đánh dấu DS sẽ thiết lập 6 bit trong trường DSCP lên tương ứng với lớp BA của gói tin (6 bit nay ban đầu được mặc định là 000000). Giả sử gói tin từ S1 đến BA1

40

tương ứng với PHB là AF11 khi đó 6 bit này sẽ được thiết lập là 001010. Tương tự cho gói tin từ S2, giả sử PHB là EF, khi đó DSCP sẽ là 101110.

- Sau khi được đánh dấu, các gói tin sẽ được bộ lập lịch trong router biên xếp hàng và gởi đi trong mạng. Tại đây các gói tin cũng có thể bị loại bỏ nếu như thông tin của chúng không phù hợp với luồng do cấu trúc của các router.

- Khi các gói tin đi đến các router lõi CR5 và CR7, việc xử lý là đơn giản do chỉ có 1 phiên kết nối cho mỗi router. Nhưng đến router CR6, router này có nhiệm vụ phân loại các gói tin và thực hiện các cơ chế hàng đợi như hình sau:

Hình 20: Nhiệm vụ của router lõi

Sau đó sẽ đẩy gói tin đến đúng địa chỉ trong header.

5. Ƣu điểm và hạn chế của DiffServa) Ƣu điểm a) Ƣu điểm

- Khả năng mở rộng: là mối quan tâm hàng đầu của các nhà cung cấp dịch vụ, khi số kết nối ngày càng tăng. Do đó trong mạng lõi cũng tăng số luồng lưu lượng với nhiều giao thức khác nhau, nó yêu cầu đảm bảo các điều kiện trên mỗi luồng hay độ phức tạp tính toán khó có khả năng mở rộng DiffServ, tập hợp các luồng lưu lượng sau đó điều khiển với số lượng lớn. cũng từ khi các PHB được thiết lập dễ dàng, DiffServ sử dụng các tốc độ cao để nâng cao các thỏa thuận về tốc độ.

- Quản lý dễ dàng: Trong khuôn khổ các dịch vụ phân biệt, các miền DiffServ khác nhau có thể thực thi các PHBs cho đến khi nào chúng thấy thỏa thuận giữa các miền thích hợp. Điều này sẽ giúp các nhà cung cấp dịch vụ tự do lựa chọn các thực thi của họ và có thể cung ứng được các dịch vụ phân biệt với sự thay đổi tối thiểu về kiến trúc hạ tầng.

41

- Đơn giản: Thực thi DiffServ không khác gì so với mạng IP cơ sở. Do đó, nó đảm bảo tính đơn giản và dễ dàng thực thi hay nâng cấp với các mức giá thỏa thuận khác nhau.

- Khả năng đo đạc: Tại mỗi chặng trong miền DiffServ, các bộ điều hòa và các bộ định dạng lưu lượng liên tục do các dòng dữ liệu đi vào và bộ lập lịch đường liên kết sẽ điều khiển các gói tin được gởi đi, không quá khó để yêu cầu cung cấp các thông tin về đối xử của mạng. Các nhà cung cấp dịch vụ có thể sử dụng thông tin để cấp phát tốt nhất các băng thông và cung cấp các thỏa thuận mức độ dịch vụ cho khách hàng.

b) Hạn chế

Hai hạn chế lớn nhất của kiến trúc DiffServ:

- Kiến trúc DiffServ chỉ đề xuất các cơ chế đối xử chuyển tiếp gói tin với các luồng hợp nhất, quản lý lưu lượng và điều hòa. Tuy nhiên, nó không cung cấp một kiến trúc dịch vụ điểm – điểm.

- Mặt khác, trong khuôn khổ DiffServ không có khả năng điều khiển các lỗi đường kết nối. Như trong miền DiffServ, một đường kết nối mang lưu lượng EF bị đứt kết nối, thì sẽ không có cách nào cung cấp đường kết nối thay thế để đảm bảo mất gói tối thiểu nhất. Hơn thế nữa, trong DiffServ không cung cấp bất kỳ kỹ thuật lưu lượng nào, điều đó có nghĩa là sẽ có những đường kết nối thì quá tải, trong lúc các đường khác có thể không được sử dụng.

Điều này đặt ra thử thách cho các nhà cung cấp dịch vụ làm sao khai thác được các ưu điểm của DiffServ mà vẫn khắc phục được những hạn chế của nó.

42

CHƢƠNG III. MÔ PHỎNG VÀ ĐÁNH GIÁ

Dưới đây là topo mạng được sử dụng trong quá trình mô phỏng với các nguồn phát lưu lượng CBR tương ứng với các nút gửi S1, S2 và nguồn thu lưu lượng DEST1, DEST2. Băng thông của đường liên kết tương ứng như trên hình vẽ. Những mô phỏng dưới đây sẽ chỉ ra một số ưu và nhược điểm của mạng khi không sử dụng DiffServ và khi sử dụng DiffServ.

Hình 21: Topo mạng mô phỏng 1. Mô phỏng

a. Mô tả

Mạng với 7 nút sử dụng DiffServ với 2 nút nguồn S1, S2 tương ứng với 2 nguồn CBR, 2 nút đích tương ứng là DEST1, DEST2.

Các thông số của luồng:

Luồng CBR1 Luồng CBR2

Kích thước gói (byte) 1000 1000

Tốc độ truyền (bps) 4000000 4000000

Bảng 8: Thông số

Các liên kết giữa S1 – E1, S2 – E1, E2 – DEST1, E2 – DEST2 là đường truyền song công (2 chiều) sử dụng hàng đợi DropTail, với băng thông là 10Mb và trễ truyền là 5ms

Một phần của tài liệu Đảm bảo chất lượng dịch vụ mạng dựa trên giao thức diffserv (Trang 34)