2.2.3.1. Đánh dấu gói trong các router thông thường.
Bảng 2.2 là cấu trúc gói tin IPv4, trong đó có thể thấy trƣờng ToS 8 bit có thể đƣợc sử dụng cho các thông tin DiffServ. Trong một router thông thƣờng (router không hỗ trợ DiffServ) 8 bit của trƣờng ToS đƣợc định nghĩa theo chuẩn RFC 791. Ba bit đầu tiên (bit 0, 1, 2) đƣợc dành cho việc xác lập mức ƣu tiên của gói tin IP, nhƣ mô tả trên Bảng 2.5. Thí dụ RFC 791 chỉ rõ rằng gói tin điều khiển mạng, với 3 bit đầu của trƣờng ToS bằng 111 chỉ đƣợc sử dụng với một mạng riêng; và gói tin với 3 bit đầu của trƣờng ToS bằng 110 chỉ đƣợc thiết lập bởi ngƣời quản trị gateway.
Precedence D T R 0 0
3 bit 1 bit 1 bit 1 bit 1 bit 1 bit
Bảng 2.3 Trường TOS trong IPv4 header
Ba bit tiếp theo (bit 3, 4, 5) đƣợc mô tả trên Bảng 2.6, định nghĩa các đặc điểm liên quan đến hiệu năng và QoS. Bảng 2.6 chỉ ra cách thiết lập D-bit, T-bit, và R-bit của trƣờng ToS và các ý nghĩa tƣơng ứng. Hai bit cuối cùng (bit 6 và 7) của trƣờng ToS đƣợc dành cho tƣơng lai.
Các bit IP Precedence Kiểu lƣu lƣợng
111 Điều khiển mạng
110 Điểu khiển kết nối liên mạng 101 Khẩn cấp 100 Ghi đè Flash 011 Flash 010 Trung bình 001 Ƣu tiên 000 Thông thwờng Bảng 2.5 Các bit IP precedence
Thiết lập Bit Bit D Bit T Bit R
0 Trễ thƣờng Lƣu lƣợng thƣờng Độ tin cậy thƣờng 1 Trễ nhỏ Lƣu lƣợng cao Độ tin cậyc cao
Bảng 2.6 Các chỉ thị về hiệu năng
Hình 2.9 Trường DS
Bảng 2.4 mô tả tiêu đề gói tin IPv6. Nó bao gồm 8 trƣờng, trong đó trƣờng lớp lƣu lƣợng - TC (Traffic Class) dài 8 bit, trƣờng nhãn luồng FL (Flow Label) dài 20 bit. Cả hai trƣờng này đều thích hợp cho việc thực hiện đảm bảo QoS. Tuy nhiên, cho đến thời điểm hiện nay, không có các ứng dụng quan trọng nào trên Internet sử dụng trƣờng FL. Còn trƣờng TC cung cấp khả năng tƣơng tự nhƣ trƣờng ToS của tiêu đề gói tin IPv4.
2.2.3.2.Trường DiffServ (DS)
Khi một router đƣợc sử dụng cho DiffServ nhƣ một nút DS, các trƣờng 8 bit nhƣ trƣờng ToS trong IPv4 và trƣờng TC trong IPv6, đƣợc router ghi đè nhƣ trƣờng
DiffServ (DS). Hình 2.9 mô tả việc ghi đè này. Trong 8 bit của trƣờng DS, 6 bit đƣợc sử dụng cho việc đánh dấu các gói DiffServ và hai bit cuối hiện chƣa đƣợc định nghĩa, để dành cho tƣơng lai. 6 bit đƣợc sử dụng cho đánh dấu các gói DiffServ đƣợc gọi là điểm mã DS (DSCP – DS Code Point). Vì vậy, đánh dấu các gói trong DiffServ chính là việc thiết lập giá trị các bit thuộc DSCP.
Sáu bit trong trƣờng DSCP có thể cung cấp 64 giá trị DSCP khác nhau. RFC 2474 phân chia 64 giá trị DSCP thành 3 nhóm nhƣ trong bảng 2.7.
Dải (nhóm) Không gian mã điểm Chính sách gán
1 xxxxx0 Hoạt động chuẩn 2 xxxx11 Thí nghiệm 3 xxxx01 Thí nghiệm
Bảng 2.7 Các khối giá trị DSCP
Bit cuối cùng (ví dụ , bit thứ 6) của nhóm DSCP thứ nhất đƣợc ấn định là bit 0. Năm bit khác của nhóm DSCP này có thể là bit 0 hoặc bit 1. Vì thế, nhóm 1 có 32 giá trị DSCP khác nhau. Nhóm DSCP thứ nhất yêu cầu các hoạt động theo tiêu chuẩn của IETF và đƣợc nhận dạng phổ biến. Nhóm DSCP 2 có 2 bít cuối đƣợc ấn định là “11”. 4 bit còn lại đƣợc phép nhận các giá trị khác nhau, nhƣ vậy tổng cộng có 16 giá trị DSCP thuộc nhóm 2. Nhóm DSCP 2 không yêu cầu các hoạt động tiêu chuẩn và đƣợc sử dụng cho thử nghiệm và các mục đích nội bộ. Các gói DiffServ đƣợc truyền trong một mạng nội bộ riêng có thể đƣợc đánh dấu bởi nhóm DSCP 2, các gói thuộc nhóm này không đƣợc nhận dạng bên ngoài mạng nội bộ.
Nhóm DSCP 3 luôn luôn kết thúc với “01”, nhóm này cũng có 16 giá trị DSCP khác nhau nhƣ nhóm 2. Nhóm này đƣợc dành cho việc thử nghiệm và sử dụng trong mạng nội bộ; tuy nhiên điểm khác biệt so với nhóm 2 là nhóm DSCP 3 có thể sử dụng cho các hoạt động tiêu chuẩn nếu cần thiết.
2.2.4 Hành vi theo từng chặng (PHB)
DiffServ sử dụng phƣơng pháp phân loại kết hợp hành vi BA. Trong phƣơng pháp phân loại này, các gói đƣợc phân loại chỉ dựa trên các giá trị DSCP và không có các tham số khác. Bằng việc các gói đƣợc xử lý tại mỗi router dẫn đến việc dễ dàng mở rộng mạng DS. Một PHB mô tả kỹ thuật bên trong một mạng và không tuân theo ngƣời sử dụng đầu cuối. Có hai kiểu PHB tiêu chuẩn: PHB chuyển tiếp nhanh (EF) và PHB có đảm bảo (AF).
2.2.4 .1 PHB chuyển tiếp nhanh (Expedited Forwarding)
PHB chuyển tiếp nhanh (EF) đƣợc xác định ban đầu bởi chuẩn RFC 2598, mà sau đó đƣợc thay thế bởi chuẩn RFC 3246. Giá trị DSCP đƣợc đề nghị cho PHB EF là “101110”. Với PHB EF, các gói đƣợc chuyển tiếp với tổn hao thấp, trễ thấp và jitter
thấp. PHB EF yêu cầu một số lƣợng cổng đầu ra kết nối băng thông đủ lớn để làm cho trễ thấp, tổn hao thấp và jitter thấp.
PHB EF có thể thực hiện đƣợc nếu cổng đầu ra kết nối băng thông đủ lớn cộng với kích cỡ bộ đệm nhỏ và các tài nguyên mạng khác đƣợc dành cho các gói EF cho phép tốc độ phục vụ μ của router đối với các gói EF trên một cổng đầu ra vƣợt quá tốc độ đến λ của các gói tin tại cổng đó.
Điều này có nghĩa là các gói với PHB EF đƣợc xem xét với một số lƣợng đã cấp phát trƣớc băng thông đầu ra và một ƣu tiên bảo đảm tổn hao cực tiểu, trễ cực tiểu và jitter cực tiểu trƣớc khi đƣa vào hoạt động.
PHB EF thích hợp cho mô phỏng kênh, mô phỏng đƣờng dây đƣợc thuê riêng, và các dịch vụ thời gian thực nhƣ thoại, video mà không bỏ qua các giá trị tổn hao, trễ và jitter cao.
Hình 2.10 Ví dụ về cài đặt EF
Hình 2.10 chỉ ra một ví dụ về sự thực hiện PHB EF. Đây là một kỹ thuật lập lịch hàng đợi ƣu tiên đơn giản. Tại các biên của miền DS, các lƣu lƣợng gói EF đƣợc ƣu tiên tùy theo các giá trị đã thỏa thuận bởi SLA. Hàng đợi EF trong hình cần đƣa các gói tin ra với tốc độ μ cao hơn tốc độ đến λ của các gói tin. Để cung cấp PHB EF qua một miền DS kiểu end-to-end, băng thông tại các cổng đầu ra của các router lõi cần đƣợc cấp phát trƣớc đó để đảm bảo yêu cầu μ > λ. Việc này có thể thực hiện bởi một quá trình cấu hình dự phòng từ trƣớc. Trong hình, các gói EF đƣợc đặt tại hàng ƣu tiên (hàng đợi bên trên). Với chiều dài nhƣ vậy, hàng đợi có thể hoạt động với μ > λ.
Do EF đƣợc sử dụng trƣớc tiên cho các dịch vụ thời gian thực nhƣ thoại và video và do các dịch vụ thời gian thực sử dụng UDP thay thế cho TCP, RED nhìn chung
không thích hợp cho các hàng đợi EF bởi vì các ứng dụng sử dụng UDP sẽ không đáp ứng cho loại bỏ gói ngẫu nhiên và RED sẽ tách các gói không cần thiết.
2.2.4.2 PHB chuyển tiếp đảm bảo (AF)
PHB AF đƣợc xác định bởi RFC 2597. Mục đích của PHB AF là để phân phối các gói tin cậy và vì thế trễ và jitter đƣợc coi là không quan trọng bằng mất gói. PHB AF thích hợp cho các dịch vụ không phải thời gian thực nhƣ các ứng dụng sử dụng TCP. PHB AF trƣớc tiên định nghĩa 4 lớp: AF1, AF2, AF3, AF4. Cùng với mỗi một trong những lớp AF này, các gói sau đó đƣợc phân lớp thành ba lớp con với ba mức ƣu tiên tách biệt.
Bảng 2.8 chỉ ra bốn lớp AF và 12 lớp AF con và các giá trị DSCP cho 12 lớp con AF đƣợc xác định bởi RFC 2597. RFC 2597 cũng cho phép thêm vào nhiều hơn ba mức ƣu tiên tách biệt cho sử dụng nội bộ. Tuy nhiên, những mức ƣu tiên tách ra này sẽ chỉ có ý nghĩa trong nội bộ.
Lớp PHB Lớp con PHB Loại gói DSCP
AF4 AF41 Thấp 100010 AF42 Trung bình 100100 AF43 Cao 100110 AF3 AF31 Thấp 011010 AF32 Trung bình 011100 AF33 Cao 011110 AF2 AF21 Thấp 010010 AF22 Trung bình 010100 AF23 Cao 010110 AF1 AF11 Thấp 001010 AF12 Trung bình 001100 AF13 Cao 001110 Bảng 2.8 Các DSCP của AF
PHB AF đảm bảo rằng các gói đƣợc chuyển tiếp đi với xác suất phân phát tới đích cao cùng với giới hạn của tốc độ đƣợc thoả thuận trong một SLA. Nếu lƣu lƣợng AF tại một cổng vào vƣợt quá tốc độ ƣu tiên trƣớc đó, đây là việc không tuân theo thỏa thuận hay “ngoài hồ sơ”, các gói vƣợt quá này sẽ không đƣợc phân phát tới đích với xác suất cao nhƣ các gói thuộc lƣu lƣợng đã xác định hay các gói “trong hồ sơ”. Khi có tắc nghẽn mạng, các gói ngoài hồ sơ đƣợc loại bỏ trƣớc khi các gói trong hồ sơ bị loại bỏ.
Khi các mức dịch vụ đƣợc định nghĩa bằng cách sử dụng các lớp AF, định lƣợng và chất lƣợng khác nhau giữa các lớp AF có thể đƣợc nhận biết bằng cách cấp phát số lƣợng băng thông và không gian bộ đệm khác nhau cho bốn lớp AF. Không giống nhƣ
EF, hầu hết lƣu lƣợng AF là lƣu lƣợng không thời gian thực sử dụng TCP, và chiến lƣợc quản lý hàng đợi RED là một chiến lƣợc quản lý hàng đợi thích nghi AQM (Adaptive Queue Management) thích hợp để sử dụng cho PHB AF. Bốn lớp PHB AF có thể đƣợc thực hiện nhƣ bốn hàng đợi riêng biệt. Băng thông cổng đầu ra đƣợc chia thành bốn hàng đợi AF. Với mỗi hàng đợi AF, các gói đƣợc đánh dấu bằng ba “màu” tƣơng ứng với ba mức ƣu tiên tách biệt.
Ngoài 32 nhóm DSCP 1 đã đƣợc định nghĩa trong bảng 2.8, 21 DSCP đã đƣợc chuẩn hoá nhƣ sau: một cho PHB EF, 12 cho PHB AF và 8 cho CSCP. Có 11 nhóm DSCP 1 vẫn còn khả dụng cho các tiêu chuẩn khác.
2.2.5.Ví dụ về Differentiated Services
Chúng ta sẽ xem xét một ví dụ về mô hình và cơ chế hoạt động của Differentatied Service. Kiến trúc của Differentatied Service gồm hai tập chức năng cơ bản:
Chức năng biên: gồm phân loại gói tin (Packet classification) và điều hòa lƣu lƣợng (traffic conditioning). Ở biên vào của mạng, các gói đến sẽ đƣợc đánh dấu. Đặc biệt, trƣờng DS nằm trên phần header gói đƣợc thiết lập một giá trị nhất định. Ví dụ trên hình 2.12 các gói đƣợc gửi từ H1 tới H3 sẽ đƣợc đánh dấu tại R1, trong khi các gói từ H2 tới H4 đƣợc đánh dấu tại R2. Những nhãn đƣợc đánh dấu trên gói nhận đƣợc chính là định danh lớp dịch vụ mà nó thuộc vào. Các lớp lƣu lƣợng khác nhau sẽ nhận đƣợc các dịch vụ khác nhau trong mạng lõi. Định nghĩa của RFC sử dụng thuật ngữ tổng hợp hành vi (behavior aggregate) mà không dùng thuật ngữ class traffic. Sau khi đƣợc đánh dấu, một gói có thể đƣợc chuyển tiếp ngay lập tức vào mạng, trễ một khoảng thời gian trƣớc khi đƣợc chuyển đi, hoặc có thể bị loại bỏ. Chúng ta sẽ thấy có nhiều yếu tố ảnh hƣởng tới việc gói bị đánh dấu nhƣ thế nào, và chúng đƣợc chuyển tiếp ngay, trễ lại hay bị loại bỏ.
Hình 2.12 Ví dụ về DiffServ
Chức năng lõi: Khi một gói đã đƣợc đánh dấu DS đi đến một router hỗ trợ DiffServ (Diffservcapable router), các gói đƣợc chuyển tiếp tới router kế tiếp dựa vào
kỹ thuật hành vi theo từng chặng (per-hop behavior) gắn với các lớp của gói. Hành vi (Ứng xử) từng chặng ảnh hƣởng tới bộ đệm của router và băng thông đƣờng truyền đƣợc chia sẻ giữa các lớp đang cạnh tranh nhau về lƣu lƣợng. Một nguyên tắc quan trọng của kiến trúc Differentiated Service là các cƣ xử từng chặng của router sẽ chỉ dựa vào đánh dấu gói hay lớp lƣu lƣợng mà nó thuộc vào. Bởi vậy, nếu các gói đƣợc gửi từ H1 tới H3 nhƣ trong hình sẽ nhận đƣợc cùng đánh dấu nhƣ các gói từ H2 tới H4, khi đó các router mạng cƣ xử các gói hoàn toàn giống nhau, mà không quan tâm gói xuất phát từ H1 hay H2. Ví dụ, R3 không phân biệt giữa các gói từ h1 và H2 khi chuyển tiếp các gói tới R4. Bởi vậy, kiến trúc Differentatied Service tránh đƣợc việc phải giữ trạng thái trên router về các cặp nguồn đích riêng biệt - đây là vấn đề quan trọng đối với vấn đề mở rộng mạng.
Kết luận chương
Chƣơng 2 đã đƣa ra và làm rõ hai mô hình chính của việc triển khai, cài đặt chất lƣợng dịch vụ trong mạng IP. Khi mà mô hình truyền thống best-effort có nhiều nhƣợc điểm thì các mô hình ra đời sau nhƣ IntServ và DiffServ đã giải quyết phần nào các vấn đề mà best-effort không giải quyết đƣợc. IntServ đi theo hƣớng đảm bảo chất lƣợng dịch vụ cho từng luồng riêng, nó đƣợc xây dựng gần giống với mô hình chuyển mạch kênh với việc sử dụng giao thức dành trƣớc tài nguyên RSVP. IntSer phù hợp với các dịch vụ đòi hỏi băng thông cố định không bị chia sẻ nhƣ các dịch vụ VoIP, dịch vụ multicast Tivi. Tuy nhiên IntSer có những nhƣợc điểm nhƣ sử dụng nhiều tài nguyên mạng, khả năng mở rộng không cao và không mềm dẻo. DiffServ ra đời với ý tƣởng giải quyết những nhƣợc điểm của mô hình IntServ.
DiffServ đi theo hƣớng đảm bảo chất lƣợng dựa trên nguyên lý hành vi theo từng chặng căn cứ vào mức ƣu tiên của các gói tin đã đƣợc đánh dấu. Việc đƣa ra chính sách với các loại lƣu lƣợng khác nhau là do ngƣời quản trị quyết định và có thể thay đổi theo thực tế nên nó rất mềm dẻo. DiffServ tận dụng tốt tài nguyên mạng hơn, tránh đƣợc tình trạng nhàn rỗi băng thông và năng lực xử lý trên router, ngoài ra mô hình DifServ có thể triển khai trên nhiều miền độc lập do vậy khả năng mở rộng mạng trở nên dễ dàng.
Chƣơng 3: CÁC PHƢƠNG PHÁP ĐẢM BẢO QoS CHO TRUYỀN THÔNG ĐA PHƢƠNG TIỆN
Trong các mạng chuyển mạch gói, các luồng gói tin khác nhau thƣờng phải chia sẻ đƣờng truyền trên suốt chặng đƣờng đến trạm đích. Để đảm bảo việc phân phối dải thông cho các luồng công bằng và đạt hiệu quả cao nhất cần phải có các cơ chế phục vụ thích hợp tại các nút mạng, đặc biệt là tại gateways hoặc routers, những nơi thƣờng xuyên có nhiều luồng dữ liệu khác nhau đi qua. Bộ lập lịch có nhiệm vụ phục vụ gói tin của luồng đã chọn và quyết định gói tin nào sẽ đƣợc phục vụ tiếp theo. Ở đây luồng đƣợc hiểu là tập các gói tin thuộc cùng một lớp ƣu tiên, hoặc cùng phát ra từ một nguồn, hoặc cùng có cùng địa chỉ nguồn và đích...
Ở trạng thái bình thƣờng khi không có tắc nghẽn xảy ra các gói tin sẽ đƣợc gửi đi ngay khi chúng đƣợc chuyển tới. Trong trƣờng hợp xảy ra tắc nghẽn nếu nhƣ không áp dụng các phƣơng pháp đảm bảo QoS, thời gian tắc nghẽn kéo dài có thể phát sinh rớt gói, ảnh hƣởng đến chất lƣợng dịch vụ. Trong một số trƣờng hợp hiện tƣợng tắc nghẽn kéo dài và lan rộng trong mạng, rất dễ dẫn đến hiện tƣợng mạng bị “treo”, hoặc các gói bị loại bỏ nhiều gây ảnh hƣởng nghiêm trọng đến chất lƣợng dịch vụ.
Vì vậy trong chƣơng này, tại các mục 3.2 và 3.3, chúng tôi giới thiệu một số kỹ thuật giám sát tải trọng lƣu lƣợng mạng điển hình nhằm tiên đoán và ngăn chặn nghẽn mạch trƣớc khi nó xảy ra thông qua biện pháp làm rớt (loại bỏ) gói tin sớm khi mới có dấu hiệu sắp xảy ra tắc nghẽn.
3.1. Phương pháp bỏ đuôi - DropTail
DropTail là cách thức quản lý hàng đợi đơn giản, truyền thống dựa vào cơ chế FIFO. Tất cả các gói tin đến đƣợc xếp vào hàng đợi, khi hàng đợi đầy thì những gói tin đến sau sẽ bị loại bỏ.
Do đặc tính đơn giản, dễ triển khai mà DropTail đã đƣợc sử dụng nhiều năm trên hệ thống router ở Internet, tuy nhiên giải thuật này có những nhƣợc điểm nhƣ sau:
− Không tránh đƣợc hiện tƣợng “Lock out”: Xảy ra khi có 1 hay vài dòng lƣu