Để thực hiện việc hạn chế lưu lượng, cỏc bộ định tuyến thường sử dụng kỹ thuật đo lưu lượng nhằm xỏc định tốc độ dữ liệu đầu vào cú phự hợp với tốc độ cam kết hay khụng. Cỏc khối đo lưu lượng thường sử dụng mụ hỡnh toỏn gọi là gỏo rũ token [1] để xỏc định và hạn chế lưu lượng. Mụ hỡnh gỏo giũ token gồm hai thành phần: Token mang ý nghĩa về số bit được đưa vào mạng; gỏo giũ là nơi lưu trữ cỏc token và độ sõu của gỏo thể hiện kớch thước của gúi. Cú hai dạng đo lưu lượng và màu húa lưu lượng: Đỏnh dấu ba mầu tốc độ đơn srTCM (single rate Three Color Marker)[1] và đỏnh dấu ba mầu hai tốc độ trTCM (two rate Three Color Marker)[1].
2.2. Đỏnh dấu ba mầu tốc độđơn
Kỹ thuật đỏnh dấu ba mầu tốc độ đơn được định nghĩa trong RFC 2696[13], srTCM dựng để đặt chớnh sỏch cho một luồng đơn tốc độ CIR. Nú đo tốc độ lưu lượng dựa vào kết quả đỏnh dấu cỏc gúi theo ba mầu. Ba mầu là xanh, đỏ, vàng thể hiện tốc độ tương thớch tốc độ theo cấp độ giảm dần.
srTCM cú hai chếđộ là chế độ mự mầu và chếđộ rừ mầu. Chế độ mự mầu thỡ coi cỏc gúi đến khụng cú mầu, cũn chế độ rừ mầu thỡ cỏc gúi đến sẽ được quan tõm tới mầu đó được đỏnh dấu từ trước.
Mục đớch của scTCM là đảm bảo tốc độ lưu lượng trung bỡnh dài hạn của người sử dụng trong tốc độ thụng tin cam kết CIR. Khoảng thời gian dài hạn khụng tương thớch với khoảng thời gian ỏp dụng chớnh sỏch vỡ mục đớch của chớnh sỏch là
xỏc định cỏc luồng lưu lượng vi phạm cỏc tốc độ thỏa thuận trước và đỏnh dấu cỏc gúi tin để chuyển chỳng đi. Do đú cỏc gúi tin sẽ chuyển đi ngay mà khụng lưu lại ở bộđịnh tuyến một thời gian dài để chờ CIR được xỏc định dựa trờn thời gian dài hạn. Vỡ vậy, ỏp dụng chớnh sỏch phải dựa trờn một khoảng thời gian ngắn, sử dụng hai tham số CBS và CIR thay cho CIR.
Hỡnh 2.1 dưới đõy chỉ ra khoảng thời gian CBS trong CIR của tốc độ lưu lượng đầu vào đơn.
Hỡnh 2.1: Khoảng thời gian đo CBS và CIR
Đỏnh dấu 3 mầu tốc độđơn srTCM gồm 2 kiểu gỏo token, gỏo token C và gỏo token E như trờn hỡnh 2.2[1]. Độ sõu gỏo C là kớch thước bựng nổ cam kết CBS, gỏo C được khởi tạo đầy với số token Tc=CBS. Độ sõu của gỏo E là kớch thước bựng nổ
Hỡnh 2.2a: Gỏo C và Gỏo E ở chếđộ mự màu.
Thời gian Thời gian đo CBS Thời gian đo CỈR Vị trớ byte Gỏo rũ E Gỏo rũ C CBS EBS
Hỡnh 2.2b: srTCM ở chếđộ mự màu[1]
quỏ hạn EBS. Gỏo E cũng được khởi tạo đầy với số lượng Te+EBS. Cả hai bộ đếm token Tc và Te được cập nhật tại tốc độ CIR, vớ dụ tại thời điểm 1/CIR giõy.
Thuật toỏn cập nhật của hai gỏo như sau:
Tại khoảng thời gian cập nhật, nếu gỏo C khụng đầy (Tc<CBS) thỡ Tc sẽ tăng lờn 1 (Tc:=Tc+1).
Nếu gỏo C đầy mà gỏo E khụng đầy (Tc=CBS và Te<EBS) thỡ Tc khụng thay đổi và Te tăng lờn1 (Te:=Te+1).
Nếu cả hai gỏo đầy thỡ khụng cú gỏo nào thay đổi trạng thỏi. Hỡnh 2.2 (b) chỉ ra phương phỏp hoạt động của chế độ mự mầu srTCM, một gúi khụng đỏnh dấu cú kớch thước B byte đến tại thời điểm t.
Đầu tiờn, bộ đếm so sỏnh kớch thước B với token hiện thời của gỏo C (Tc), nếu gỏo C đủ chỗ (B ≤Tc) thỡ gúi được đỏnh dấu mầu xanh, Tc sẽ giảm đi một lượng B (Tc:=Tc-B).
Nếu khụng đủ chỗ trong C (B>Tc) bộ đếm kiểm tra gỏo thứ 2 (gỏo E), nếu gỏo E cũn đủ chỗ (B ≤Te) gúi sẽđược đỏnh dấu mầu vàng và Te:=Te-B. Khi đú gỏo C khụng sử dụng nờn Tc khụng thay đổi trạng thỏi.
Cuối cựng, nếu gỏo E cũng khụng đủ chỗ (B > Te), gúi sẽđược đỏnh dấu mầu đỏ và cả Tc và Te khụng thay đổi trạng thỏi.
Hỡnh 2.3[1] thể hiện chế độ họat động rừ mầu của srTCM, nú tương ứng như trong chếđộ mự mầu. Cỏc gúi mầu xanh kớch thước B bytes đến tại thời điểm t. Vẫn giữ mầu xanh nếu Tc ≥ B và Tc:=Tc-B. Được đỏnh dấu mầu vàng nếu Tc ≤ B≤ Te và Te:=Te-B. Đỏnh dấu mầu đỏ nếu Te<B và khụng cú sự thay đổi của Te và Tc.
Mầu đầu ra Tc < B Mầu đầu vào Tc ≥ B Te ≥ B Te < B Đỏ Đỏ Đỏ Đỏ Vàng Vàng Vàng Đỏ Xanh Xanh Vàng Đỏ Hỡnh 2.3: srTCM ở chếđộ rừ mầu
Cỏc gúi mầu vàng cú thể giữ nguyờn mầu vàng hoặc chuyển sang mầu đỏ và khụng thể chuyển sang mầu xanh. Cỏc gúi đỏ luụn giữ mầu đỏ và khụng bao giờ chuyển sang tới cấp độ mầu xanh hoặc vàng.
2.3. Đỏnh dấu ba mầu hai tốc độ
Bộđỏnh dấu 3 mầu hai tốc độđược định nghĩa bởi RFC 2698. trTCM sử dụng cho cả tốc độ thụng tin đỉnh PIR và tốc độ thụng tin cam kết. Giống như srTCM, trTCM cú hai chế độ họat động: Chế độ mự mầu và chếđộ rừ màu. Đỏnh dấu 3 mầu hai tốc độđược cấu hỡnh bởi cỏc chếđộ hoạt động và cỏc tham số PIR, CIR, PBS và CBS.
Bộ đỏnh dấu 3 mầu hai tốc độ trTCM hoạt động với hai gỏo rũ: Gỏo rũ token C và gỏo rũ token P. Gỏo rũ token C được dựng để điều khiển CIR và gỏo rũ token P điều khiển PIR. Gỏo rũ C trong trTCM tương tự như trong srTCM, gỏo rũ P cú độ sõu cõn bằng với kớch thước bựng nổ đỉnh PBS và được cập nhật tại tốc độ PIR (thớ dụ tại thời điểm 1/PIR giõy như trờn hỡnh 2.4(a)).
Hỡnh 2.4a: Gỏo rũ C và P trong trTCM[1].
Hỡnh 2.4b: trTCM ở chếđộ mự màu[1].
Chế độ hoạt động mự màu được mụ tả trờn hỡnh 2.4(b). Giả thiết cỏc gúi khụng màu cú kớch thước B đến tại thời điểm t. Gúi tin kớch thước B sẽ so sỏnh với token trong gỏo rũ P.
• Nếu gỏo rũ P khụng đủ chỗ (B > Tp), gúi tin sẽ được đỏnh dấu bằng màu đỏ bất kể C cú đủ hay khụng.
• Nếu gỏo P đủ chỗ (Tp ≥ B), gúi kớch thước B được so sỏnh với bộđếm token trong gỏo C, Tc.
o Nếu (Tc ≥ B), gúi được đỏnh dấu màu xanh và Tp:=Tp-B và Tc:=Tc-B. o Nếu (Tc < B), gúi được đỏnh dấu màu vàng và Tp:=Tp-B.
Chế độ hoạt động rừ màu chỉ ra trờn hỡnh 2.5. Giống như chế độ hoạt động của srTCM, cỏc gúi đến khụng thể cải thiện cấp độ tốt hơn (luụn luụn bằng hoặc nhỏ hơn cấp độđưa tới). Giả thiết cỏc gúi đó được đỏnh dấu màu tới:
• Nếu gúi đó được đỏnh dấu màu đỏ, gúi sẽ được đỏnh dấu lại màu đỏ và cỏc gỏo rũ được bỏ qua.
• Nếu gúi đó được đỏnh dấu màu vàng, nú được đỏnh dấu màu đỏ khi B ≤ Tp và Tp:=Tp-B; được đỏnh dấu màu vàng nếu Tp>B.
• Nếu gúi đó được đỏnh dấu màu xanh, nú được chuyển sang màu: o Đỏ, nếu Tp<B o Vàng, nếu Tc<B≤Tb và Tp:=Tp-B; o Xanh, nếu Tc≥B, Tp≥B và Tc:= Tc-B, Tp:=Tp-B. Tp ≥ B Mầu ban đầu Tc ≥ B Tc < B Tp < B Đỏ Đỏ Đỏ Đỏ Vàng Vàng Vàng Đỏ Xanh Xanh Vàng Đỏ Hỡnh 2.5: Chếđộ rừ mầu với trTCM 2.4. Kỹ thuật quản lý hàng đợi tớch cực [1]
Trong kỹ thuật quản lý hàng đợi tớch cực gồm cú 3 kiểu cơ bản: RED, WRED và ECN. Dưới đõy, chỳng ta xem xột chi tiết cỏc kiểu hàng đợi này.
2.4.1. Kỹ thuật loại bỏ gúi ngẫu nhiờn sớm RED
RED phỏt hiện nguy cơ tắc nghẽn và loại bỏ gúi ngẫu nhiờn từ bộ đệm. Hỡnh 2.6 thể hiện sơđồ nguyờn lý hoạt động của kỹ thuật loại bỏ gúi ngẫu nhiờn sớm. Như chỉ ra trờn hỡnh, phần quan trọng nhất của RED là dựđoỏn tắc nghẽn và hồ sơ loại bỏ gúi.
Chức năng của khối dự đoỏn tắc nghẽn là đỏnh giỏ lưu lượng trong bộ đệm theo thời gian và phỏt hiện khả năng tắc nghẽn. Tiếp cận đơn giản nhất là dựa vào chiều dài hàng đợi (N) và xỏc định trạng thỏi tắc nghẽn dựa trờn cơ sở hàng đợi đầy (so sỏnh với kớch thước bộđệm (B)). Một phương phỏp khỏc sử dụng để dựđoỏn tắc
Hỡnh 2.6: Sơđồ nguyờn lý hoạt động của RED
nghẽn là dựa trờn thuật toỏn tớnh toỏn thời gian trung bỡnh của hàng đợi, đầu ra của khối dự đoỏn tắc nghẽn là chiều dài hàng đợi trung bỡnh trọng số (nN). Mặc dự nú phản ỏnh độ dài hàng đợi hiện thời, nhưng (nN) khụng phải là chiều dài hàng đợi thực tế mà là phộp đo cho hiện tượng tắc nghẽn. Gọi α là phần trăm (%) bộ đệm sử dụng được tớnh theo cụng thức sau:
α = Cụng thức (2.1)
Trong đú, B là kớch thước bộ đệm. Hồ sơ loại bỏ gúi là một phương phỏp tham chiếu giữa % bộđệm đầy và xỏc suất loại bỏ gúi, khi αđạt một giỏ trị nào đú thỡ RED được kớch hoạt, khi αđạt giỏ trị lớn nhất (<100%) thỡ xỏc suất loại bỏ gúi bằng 1. Cơ chế loại bỏ gúi chuyển sang phương phỏp cắt đuụi lưu lượng.
Hỡnh 2.7: Hồ sơ RED
2.4.2. Kỹ thuật loại bỏ gúi sớm theo trọng số WRED
Kỹ thuật loại bỏ gúi sớm theo trọng số WRED là kỹ thuật loại bỏ gúi sớm RED với nhiều hồ sơ loại bỏ gúi. Thay vỡ sử dụng một hồ sơ loại bỏ gúi cho tất cả cỏc hàng đợi, WRED sử dụng nhiều hồ sơ loại bỏ gúi cho một hàng đợi (Vớ dụ, 3 hồ sơ loại bỏ gúi khỏc nhau cú thể sử dụng cho 3 màu của cỏc gúi).
2.4.3. Thụng bỏo tắc nghẽn hiện ECN
Phương phỏp thụng bỏo tắc nghẽn hiện ECN được ứng dụng cho cỏc lưu lượng TCP, ECN được đề xuất từ năm 1999 trong RFC 2481 như là một bổ sung trong kiến trỳc IP. Hỡnh vẽ 2.8 dưới đõy chỉ ra phương phỏp ECN. Trong ECN, tắc nghẽn được thụng tin tới cỏc hệ thống kết cuối bằng cỏch đỏnh dấu trong trường hợp chức năng đặc biệt của tiờu đề IP và TCP với cỏc chỉ thị tắc nghẽn thay vỡ loại bỏ gúi. Một thuật toỏn tương tự như trong kỹ thuật loại bỏ gúi sớm được thực hiện để chỉ ra ngưỡng và thời điểm thụng bỏo tắc nghẽn.
ECN yờu cầu đỏnh dấu trờn cả hai tiờu để IP và TCP. ECN sử dụng hai bit dự phũng trong tiờu đề TCP và hai bit dự phũng trong tiờu đề IP. Hai bit dự phũng cuối cựng trong 8 bit của trường kiểu dịch vụ ToS trong tiờu đề IPv4 và 8 bit trường phõn lớp lưu lượng trong IPv6 sử dụng đểđỏnh dấu ECN.
Hỡnh 2.8: Khỏi niệm ECN
2.5. Lập lịch gúi:
Lập lịch gúi điều khiển đặc trưng thời gian của việc lưu thoỏt gúi khỏi mỗi hàng đợi - thường tại giao diện đầu ra hướng tới router hoặc node tiếp theo, nhưng cũng cú thể là tại cỏc điểm hàng đợi trong một router. Cỏc router truyền thống chỉ cú một hàng đợi đơn trờn một giao diện kết nối đầu ra. Như vậy lập lịch cú nhiệm vụ đơn giản là chuyển cỏc gúi ra khỏi hàng đợi nhanh bằng khả năng kết nối cú thể chuyển được.
Hỡnh 2.9 là sơ đồ khỏi niệm của lập lịch gúi. Lập lịch gúi được ỏp dụng cho mỗi đầu ra cơ sở, cỏc gúi đi đến cỏc cổng vào (từ 1 đến n) trước tiờn được định tuyến đến cỏc cổng ra (từ 1 đến m) dựa vào bảng định tuyến của router. Với mỗi cổng ra, cỏc gúi được phõn loại gúi và được xếp hàng trờn cỏc hàng đợi trước khi đi qua bộ lập lịch gúi.
Hỡnh 2.9: Biểu đồ khỏi niệm của Lập lịch gúi
Dưới đõy là một số phương phỏp lập lịch gúi phổ biến sẽđược đề cập: - Vào trước ra trước (First-in-first-out FIFO).
- Hàng đợi ưu tiờn (Priority queuing PQ). - Hàng đợi cụng bằng (Fair-queuing FQ).
- Vũng trũn trọng số Robin (Weighted Round Robin WRR). - Hàng đợi cụng bằng cú trọng số (Weight Fair Queuing WFQ). - WFQ dựa trờn lớp (CBWFQ).
2.5.1. FIFO
FIFO được trỡnh bày trong hỡnh 2.10 [1]. FIFO là kỹ thuật mặc định khi khụng cú mặt thuật toỏn lập lịch gúi đặc biệt nào. Với FIFO, cỏc gúi được xếp hàng trong một hàng đợi đơn theo thứ tựđến của chỳng và được gửi đi trờn cỏc liờn kết ra theo cựng trỡnh tự trong hàng đợi của chỳng. Từ việc gúi đến trước là gúi được phục vụ trước, hàng đợi FIFO cũng được biờt đến là hàng đợi đến trước phục vụ trước.
Hỡnh 2.10: FIFO
Ưu điểm lớn nhất của FIFO là sựđơn giản. Khụng thuật toỏn đặc biệt nào cần thiết để cài đặt FIFO. Nú chỉ cần một bộ đệm cú thể lưu cỏc gúi đến khi chỳng đến và gửi đi theo cựng một trỡnh tự.
FIFO đối xử cụng bằng với tất cả cỏc gúi, theo đú nú thớch hợp nhất với cỏc mạng best effort. Nhược điểm lớn nhất của FIFO là nú khụng phõn biệt (hay cú khả năng phõn biệt rất hạn chế) cỏc lớp lưu lượng. Bởi vỡ FIFO khụng cung cấp sự phõn biệt cỏc lớp, tất cả cỏc luồng lưu lượng đều chịu mức tắc nghẽn như nhau
2.5.2. Hàng đợi ưu tiờn PQ [1]
FIFO đặt tất cả cỏc gúi trong một hàng đợi đơn mà khụng quan tõm đến sự phõn biệt cỏc lớp lưu lượng. Một cỏch đơn giản để phõn chia cỏc lớp là sử dụng hàng đợi ưu tiờn. Trong phương phỏp PQ, N hàng đợi được tạo ra như trong hỡnh 2.11 với thứ tự ưu tiờn xếp từ 1 đến N. Thứ tự sắp xếp được xỏc định bởi thứ tự ưu tiờn và nhờ đú cú cỏc gúi trong cỏc hàng đợi ưu tiờn cao hơn. Cỏc gúi trong hàng đợi thứ j
được xử lý chỉ khi khụng cú gúi nào trong bất kỳ 1 hàng đợi nào cú ưu tiờn cao hơn, cụ thể cỏc hàng đợi từ 1 đến j-1. Vớ dụ, nếu 1 gúi đến bất kỳ hàng đợi nào ở trờn hàng
j, vớ dụ hàng j-3, trong khi đú bộ sắp xếp đang ở hàng j, bộ sắp xếp nhảy tới hàng j-3, cụ thể, khụng cú thứ tự nào thiết lập trước như thứ tự vũng quay robin sử dụng trong cỏc kỹ thuật lờn lịch gúi khỏc được thảo luận sau đõy.
Hỡnh 2.11: Hàng đợi ưu tiờn (PQ)
Như trong FIFO, ưu điểm cơ bản của PQ là sựđơn giản của nú: nú cung cấp một định nghĩa đơn giản để tạo ra sự phõn chia cỏc lớp lưu lượng. Nhược điểm cơ bản của PQ là PQ cú thể gõy ra hiện tượng được gọi là sự “thiếu đúi” của cỏc hàng đợi cú ưu tiờn thấp. Như tờn gọi của hiện tượng đó gợi ý, nếu cỏc hàng đợi cú ưu tiờn cao hơn luụn cú cỏc gúi được xử lý, thỡ cỏc hàng đợi cú ưu tiờn thấp cú thể khụng bao giờ cú cơ hội để gửi gúi đi: cỏc hàng đợi ưu tiờn thấp cú thể bị hoàn toàn mất khả năng truy nhập tới băng thụng của cỏc cổng ra. Vỡ nguy cơ của vấn đề thiếu đúi, phải cẩn thận khi ỏp dụng PQ.
PQ đặc biệt phự hợp nếu cỏc lưu lượng ưu tiờn cao chỉ chiếm một phần nhỏ trong toàn bộ lưu lượng của cỏc hàng đợi. PQ thớch hợp cho việc tạo ra cỏc hàng đợi chuyờn dụng cho cỏc lưu lượng thời gian thực, như thoại và video qua IP bởi PQ luụn cố gắng đạt được chất lượng như cỏc mạng chuyển mạch kờnh. Lưu lượng thời gian thực như thoại và video thụng thường sử dụng UDP. Việc sử dụng PQ cho lưu lượng TCP là khụng hợp lý bởi vỡ đặc tớnh của TCP khi xảy ra tắc nghẽn sẽ thực hiện truyền lại nờn cú thể làm nghiờm trọng hơn vấn đề “thiếu đúi” cho cỏc lưu lượng khỏc trong cỏc hàng đợi khỏc.
2.5.3. Hàng đợi cụng bằng FQ [1]
Một phương phỏp hàng đợi khỏc đưa ra đối với việc phõn chia cỏc lớp lưu lượng là hàng đợi cụng bằng FQ, hay cũn biết đến như là xếp hàng dựa trờn luồng