6 bít cao nhất của những trường trên và bao gồm thành phần đánh dấu hay (mã dịch vụ DS DSCP).
Trường DSCP được mã hóa PHB và đưa vào gói. Sau khi được phân loại và đánh dấu, thành phần quy định lưu lượng được áp dụng, cũng tại biên của mạng. Chức năng đo cũng được thực hiện để đo tính chất thời gian của luồng được phân loại (hoặc thường là một tập) và thông qua so sánh với profile lưu lượng được thỏa thuận, xác định xem gói đó có thuộc profile hay không:
- Nếu như gói đó nằm ngoài profile sẽ được đặt trong hàng đợi cho đến khi nó nằm trong profile và sau đó được chuyển tiếp, hoặc chúng có thể bị hủy hay được đánh dấu lại…
- Nếu như gói nằm trong profile được chuyển tiếp mà không thay đổi nhưng trong một vài trường hợp, chúng có thể được đánh dấu lại (nếu chúng đi vào một vùng Diffserv sử dụng ánh xá PHB và DSCP khác).
Thiết bị đo lấy thông tin từ các thiết bị phân loại và hoạt động dựa gần đúng trên các thiết bị đánh dấu, hiệu chỉnh và hủy. Việc đánh dấu gói trong hay ngoài prffile, quyết định đánh dấu, loại bỏ, đánh dấu lại…không được quy định trong Diffserv, Diffserv chỉ cung cấp sườn và kiến trúc để linh động cung cấp tập các dịch vụ cho người dùng.
Cơ chế hàng đợi được áp dụng cho chức năng chính của thành phần lõi để cung cấp PHB thỏa thuận cho một lớp. Router thực hiện cơ chế phân loại đơn giản thông qua trường DSCP, sau đó nó được ánh xạ qua PHB. Ghi nhớ rằng PHB được áp dụng dựa trên đánh dấu và không quan tâm đến cặp trạng thái. PHB không liên quan tới bất kỳ cơ chế nào về bộ đệm, hay chính sách áp dụng cho một liên kết mà nó định nghĩa ứng xử hoặc dịch vụ trên mỗi nút. Diffserv không định nghĩa dịch vụ, chỉ có PHBs. Kết quả của việc áp dụng điều khiển lưu lượng tại router biên và PHBs qua các lớp trong lõi là dịch vụ cung cấp đầu cuối cho một luồng (hoặc một tập).
2.4. Trạng thái gói động-SCORE (DyNamic Packet State)
` Kết hợp những điểm mạnh của mạng có trạng thái và tính linh động của mạng không trạng thái là mục đích của mạng SCORE. Kiến trúc của mạng SCORE tượng tự như là Diffserv, chỉ có router biên là thực hiện việc quản lý trạng thái của luồng, còn router lõi thì không. Nhưng mạng SCORE cũng mang tính chất của mạng có trạng thái, bằng kỹ thuật Trạng Thái Gói Động (DPS). Ý
tưởng là thay vì việc router mang thông tin về trạng thái của luồng, các gói sẽ mang thông tin này.
- Router tại đầu vào khởi tạo trạng thái trong tiêu đề của gói.
- Router biên xử lý mỗi gói dựa vào thông tin trạng thái được lưu trong tiêu đề, cập nhật thêm thông tin trạng thái của nó và chuyển gói tin đi tiếp. DPS có thể sử dung các thuật toán phân tán để có được hoạt động gần đúng của các lớp băng rộng của mạng và do đó router lõi không cần lưu thông tin mạng. Các cơ chế DPS đã được xây dựng:
- Dịch vụ cân bằng thông lượng bằng cách sử dụng thuật toán Core- Stateless Fair.
- Queuing (CSFQ) để đánh giá hoạt động của hàng đợi bằng (Fair Queue)
- DPS đảm bảo dịch vụ trễ bằng cách sử dụng (CJVC), cung cấp thông tin về giá trị trên của độ trễ.
2.5. Định tuyến QoS: [4][12][13]
Những năm gần đây, mạng viễn thông đã có những bước thay đổi lớn với sự ra đời của nhiều công nghệ mới, dịch vụ mới. Mạng NGN có hạ tầng duy nhất dựa trên công nghệ chuyển mạch gói, khai thác dịch vụ một cách đa dạng và nhanh chóng, đáp ứng sự hội tụ giữa thoại và dữ liệu, giữa cố định và di động. Trong mạng NGN, có nhiều kỹ thuật, giải pháp được đề xuất nhằm mục đích đảm bảo chất lượng dịch vụ QoS như tổ chức mạng, kỹ thuật lưu lượng IntService, DiffService,..; và một trong những giải pháp được quan tâm nữa là định tuyến đảm bảo chất lượng dịch vụ (định tuyến QoS-QoSR). QoSR không những có vai trò làm tăng chất lượng dịch vụ mà còn có ý nghĩa quan trọng trong việc giảm chi phí vận hành mạng.
Trong các mạng truyền thống, định tuyến có liên quan đầu tiên đến sự kết nối. Các giao thức định tuyến thường đặc trưng cho mạng với một metric đơn, như là đếm bước nhảy hoặc độ trễ, và sử dụng các thuật toán đường đi ngắn nhất để tính toán, ước lượng đường đi. Sự quyết định định tuyến được tạo ra mà không cần bất cứ hiểu biết về tài nguyên của mạng. Điều này có nghĩa là các luồng thường được định tuyến trên các đường đi mà không được hỗ trợ.
Để xem xét các yêu cầu QoS của các ứng dụng và cải thiện hiệu năng mạng, các đường đi được sử dụng phải có yêu cầu tài nguyên chính xác. Định
tuyến QoS được thực hiện bằng cách lựa chọn sử dụng đường đi bởi các gói tin của luồng dựa trên yêu cầu QoS của chính nó, như là băng thông hay độ trễ. Nó tương tự như một tập các thuật toán mà có thể nhận dạng đường đi có tài nguyên không sử dụng để thoả mãn yêu cầu QoS của kết nối được đưa ra. Như là một đường đi được gọi là đường đi khả thi. Hơn nữa, hầu hết các thuật toán định tuyến QoS cũng xem xét sự tối ưu hoá của sử dụng tài nguyên mạng và được đo bằng metrics.
Các vấn đề của định tuyến QoS đang được tìm hiểu bởi vì việc lựa chọn đường đi có nhiều yêu cầu về QoS là một vấn đề tính toán phức tạp. Các giao thức định tuyến hiện nay đã tìm ra được giới hạn của việc tính toán khả thi. Bên cạnh đó, bất kỳ mạng dịch vụ tích hợp trong tương lai nào cũng chứa cả QoS và lưu lượng best-effort. Thật là khó để chỉ ra điểm hoạt động tốt nhất cho cả 2 loại lưu lượng nếu sự phân bổ của chúng là độc lập.
Trên khía cạnh khác, trạng thái mạng thay đổi liên tục do sự dao động tải nhất thời, các kết nối vào và ra, các liên kết đường lên và đường xuống. Sự lớn mạnh của kích cỡ mạng làm cho nó rất khó để tập hợp các thông tin trạng thái up-to-date trong một môi trường động. Hiệu suất của thuật toán định tuyến QoS có thể bị giảm sút nghiêm trọng nếu thông tin trạng thái này không được cập nhật.
Trong phần này chúng ta sẽ thảo luận về việc định tuyến QoS trong mạng NGN - mạng có dịch vụ tích hợp.
Với sự biến đổi mạnh về yêu cầu QoS, chúng ta không thể tiếp tục dựa vào cách định tuyến thông thường. Một xử lý dự trữ tài nguyên tiêu biểu có 2 bước: Tìm kiếm tài nguyên và đánh dấu tài nguyên đã tìm thấy. Các tài nguyên đã được phát hiện có thể được tạo ra khi định tuyến tìm ra đường đi với tài nguyên phù hợp với yêu cầu của người sử dụng. Vì vậy, các chiến lược định tuyến mới phải xem xét đến dải rộng của các yêu cầu QoS.
Việc lựa chọn đường đi trong phạm vi định tuyến có công thức rõ ràng như là vấn đề tối ưu đường đi ngắn nhất để một chuỗi các liên kết mạng nguồn và đích giống như một hàm riêng có tính khách quan được tối ưu (ví dụ: đếm bước nhảy, trễ, chi phí).
Sau đây chúng ta sẽ tìm hiểu một số thuật toán hiệu quả được sử dụng trong mạng NGN.
2.5.1. Mô hình đồ thị trọng số
Một mạng có thể xem như một đồ thị G=(V,E). Node (V) của đồ thị miêu tả các chuyển mạch, bộ định tuyến và các host. Cung (E) là các kết nối truyền thông. Các cung không trực tiếp chỉ khi các liên kết truyền thông luôn luôn đối xứng. Một kết nối đối xứng là kết nối có cùng đặc tính (dung lượng, độ trể...) và cùng lưu lượng đối với cả 2 hướng. Với hầu hết các mạng thực tế, các liên kết truyền thông là không đối xứng, và từ bây giờ ta coi mọi kết nối được diễn tả bằng 2 cung trực tiếp theo 2 hướng đối diện nhau.
Hình 2.3 là một ví dụ về mô hình đồ thị trọng số. Mọi kết nối có một tình trạng đã được đo bởi metric QoS. Ví dụ, tình trạng kết nối có thể là băng thông, độ trễ, chi phí hoặc bất kỳ một kết hợp có thể nào của chúng. Ngoài ra mọi node đều có trạng thái riêng. Trạng thái của node có thể độc lập hoặc kết hợp từ trạng thái của các node bên cạnh. Trong trường hợp gần đây, phần băng thông dư là phần nhỏ nhất của băng thông kết nối và băng thông CPU. Băng thông CPU được định nghĩa là tỷ lệ lớn nhất mà node có thể đẩy dữ liệu vào kết nối. Độ trễ của một kết nối gồm có độ trễ truyền và độ trễ xếp hàng ở node. Chi phí của kết nối được quyết định bởi tổng tiêu thụ tài nguyên ở kết nối và node.
1 1 2 3 4 5 6 4 5 8 2 2 3 7 1 1 1 1 1 4 3 3 6 3 2 2 8 Hình 2.3: Mô hình đồ thị trọng số
2.5.2 Các thuật toán lựa chọn đƣờng đi.
2.5.2.1 Thuật toán đƣờng đi QoS tính toán trƣớc chính xác.
Xem xét một thuật toán lựa chọn đường đi dựa trên thuật toán đường đi ngắn nhất (Bellman-Ford), tương ứng với tính toán đường đi có dải thông lớn nhất có thể của tất cả các bước nhảy. Với việc đưa ra một cấu hình mạng và các kết nối metric, thuật toán cho phép tính toán trước tất cả các đường đi QoS có thể. Đặc biệt, thuật toán cho phép tính toán trước bất kỳ đích nào có bước nhảy nhỏ nhất với băng thông lớn nhất và so sánh với thuật toán đường đi ngắn nhất chuẩn.
Đặc tính của thuật toán BF là nó lặp lại lần thứ h trong suốt các đường đi có tối đa h bước nhảy. Nó nhận ra đường đi tối ưu (băng thông lớn nhất có thể) giữa nguồn và mỗi đích. Vì thế ngoài ra chúng ta có thể lợi dụng sự xử lý của thuật toán BF bằng việc tăng bước nhảy.
Đặc biệt, ở lần lặp lại thứ k của thuật toán, băng thông lớn nhất có khả năng đến tất cả các đích trên đường đi được tìm ra, cùng với thông tin định tuyến tương ứng. Sau khi thuật toán kết thúc, thông tin này giúp chúng ta nhận biết được đường đi có số bước nhảy nhỏ nhất và với đủ băng thông để cung cấp cho yêu cầu mới. Hơn nữa, đường đi này với băng thông lớn nhất có thể là một trong tất cả các đường đi khả thi có số bước nhảy nhỏ nhất. Thuật toán này luôn luôn chọn lựa chọn một đường có băng thông lớn nhất có thể.
Chúng ta sẽ xem xét sự miêu tả thuật toán chi tiết hơn nữa và cấu trúc dữ liệu được sử dụng để ghi các thông tin định tuyến. Gọi băng thông có được trên cung giữa đỉnh n và đỉnh m là b(n,m). Đỉnh tương ứng với bộ định tuyến có thuật toán đang chạy được gọi là node nguồn. Thuật toán xử lý các đường đi tính toán trước từ node nguồn này đến tất cả các mạng đích có thể và cho tất cả các giá trị băng thông có thể. Tại mỗi sự lập lại (bước nhảy), kết quả tức thời được ghi vào trong bảng định tuyến theo cấu trúc sau:
Một ma trận H x K, trong đó H là số bước nhảy cho phép lớn nhất đối với một đường đi và K là số node đích.
Mục (h,n) được tạo ra trong suốt quá trình lặp lại (giá trị bước nhảy) của thuật toán, và bao gồm 2 trường:
- bw (bandwidth): Băng thông lớn nhất có thể trên một đường đi của nhiều nhất h bước nhảy giữa node nguồn và node đích n.
- nb (neighbor): Thông tin định tuyến kết hợp với đường đi h bước nhảy (hoặc ngắn hơn) đến node đích n có băng thông là bw. Trong trường hợp lựa chọn đường đi hop-by-hop, thông tin kề bên chỉ là nhận dạng node kề với node nguồn trên đường đi.
H Node đích 2 3 4 5 6 b w nb b w nb b w nb b w nb b w nb 0 0 - 0 - 0 - 0 - 0 - 1 2 2 4 3 1 4 0 - 0 - 2 4 3 4 3 3 3 1 3 4 3 3 4 3 4 3 3 3 1 3 4 3
Bảng 2.1: Bảng định tuyến QoS của mô hình đồ thị trọng số
Khi thuật toán được gọi, đầu tiên bảng định tuyến khởi tạo với tất cả các trường bw được đặt bằng 0 và trường các trường nb không có gì. Với mỗi lần lặp thứ h và mỗi đích n, thuật toán sao chép bw và nb từ dòng h-1 đến dòng h. Sau đó thuật toán tìm mỗi kết nối có thể (m,n) và kiểm tra băng thông lớn nhất có thể trên đường đi h bước nhảy đến node n, bước nhảy cuối cùng là liên kết này. Nếu giá trị kết quả cao hơn trường bw trong mục (h,n) thì một đường đi tốt hơn (giá trị bw lớn hơn) được tìm ra đối với đích n và với nhiều nhất h bước nhảy. Trường bw trong mục (h,n) sau đó được cập nhật với giá trị mới. Trong trường hợp định tuyến hop-by-hop, các bản ghi trường nb nhận dạng bước nhảy đầu tiên (bước tiếp theo của node nguồn). Thuật toán kết thúc khi không có sự thay đổi nào đối với tất cả các giá trị giữa các mục trên dòng h-1 và dòng h hoặc đạt được số lần lặp lại lớn nhất. Bảng trên gồm tất cả giá trị trong bảng định tuyến QoS cho mỗi lần lặp lại h của mô hình đồ thị trọng số.
2.5.2.2. Thuật toán tính toán theo yêu cầu của đƣờng đi QoS (Thuật toán Dijkstra động) Dijkstra động)
Thuật toán được xem xét ở phần trước cho phép tính toán trước đường đi QoS. Tuy nhiên, nó có thể khả thi trong một số trường hợp (như là con số giới hạn của các yêu cầu đường đi QoS) để thay thế thực hiện sự tính toán theo yêu cầu như vậy dựa trên yêu cầu về đường đi QoS. Dưới đây chúng ta xem xét một thuật toán Dijkstra chuẩn có thể được thực hiện như thế nào để đưa ra một đường đi có số bước nhảy nhỏ nhất mà có thể cung cấp băng thông theo yêu cầu và lớn nhất.
Về cơ bản, thuật toán thực hiện việc tính toán một đường đi có bước nhảy nhỏ nhất trên đồ thị từ tất cả các cung có băng thông nhỏ hơn khả thi. Điều này có thể thực hiện được hoặc thông qua một bước xử lý hoặc kiểm tra giá trị băng thông khả thi cho bât kỳ cung được xem xét.
Thuật toán và cấu trúc dữ liệu thường ghi thông tin định tuyến chi tiết như sau. Giả sử băng thông khả thi trên cung giữa đỉnh n và đỉnh m là b(n,m). Thuật toán duy trì một vector t có kích thước K bằng với số các node đích. Mỗi mục n của vector t bao gồm 3 trường:
bw (bandwidth): Băng thông khả thi lớn nhất trên một đường đi giữa node nguồn s và node đích n.
hc (hop count): Số bước nhảy nhỏ nhất trên đường đi giữa node nguồn s và node đích n.
nb (neighbor): Đây là thông tin định tuyến kết hợp. Thông tin nb được sử dụng để nhận dạng node kề với node nguồn s trên đường đi.
Hơn nữa, thuật toán duy trì
giá trị đặc biệt hc[s] và bw[s] cho node nguồn s, tại node nguồn này khởi tạo hc[s] bằng 0 và bw[s] bằng trước khi chạy thuật toán.
Đặt S là các đỉnh có số bước nhảy nhỏ nhất trên đường đi từ node nguồn s mà chưa được tìm thấy. Khởi tạo, S bao gồm tất cả các đỉnh (V) của đồ thị.
Dưới đây là đoạn chương trình chạy mô phỏng thuật toán thuật toán Dijkstra động
Dijkstra(G,t,b,f,s) /* Initialization */
for (each destination n in the vector t) do begin hc[n] = Infinity; bw[n] = undefined; nb[n] = undefined; end hc[s] = 0;
S = the set that contains all vertices in the Graph G;
while (S is not empty) do begin
u = the vertex in S whose value in the field hc is minimum; S = S –(u);
for (each vertex v adjacent to u) do begin
if ((b(u,v) >= bandwidth requirement f) and (hc(v)> [u]+1)) then
begin
hc[v] = hc[v] + 1;
bw[v] = min{bw[u], “b(u,v)};
if (the vertex u is the source node s) then
nb[v] = v;
else
nb[v] = nb[u];
end end Số lặ p lại u S Node đích
Node 2 Node 3 Node 4 Node
5 Node 6 h c b