Flooding (lan tràn) dựa trên phƣơng pháp tìm ra một con đƣờng dự kiến thông qua việc cạnh tranh giữa các thăm dò. Nếu tải trên mạng nhẹ, thì việc lan tràn các thăm dò trên tất cả các liên kết đủ điều kiện không phải là một ý tƣởng hay. Thông thƣờng, nó chỉ là đƣờng dẫn đủ điều kiện ngắn nhất đƣợc ƣa thích. Để chỉ đạo việc tìm kiếm dọc theo con đƣờng ngắn nhất, một cách tiếp cận đã đƣợc đƣa ra. Mỗi thăm dò đƣợc gán cho một tuổi. Tuổi của một thăm dò p đƣợc định nghĩa nhƣ là số chặng mà thăm dò đã đi qua. Ban đầu, age(p)=0. Bất cứ khi nào p tới một nút, trƣờng tuổi tăng thêm 1. Để điều khiển việc tìm kiếm dọc theo con đƣờng ngắn nhất, điều kiện chuyển tiếp thăm dò trên liên kết (i,j) tại nút i
L d p age B j i bandwidth j i link on condition forward (, ) (, ) ( ( ) j,t 1)
Với dj,t là khoảng ngắn nhất tính theo số chặng giữa nút j và đích t; L là một hằng số. Điều kiện chuyển tiếp có thể làm các nút tràn ngập các yêu cầu chỉ dọc theo các đƣờng dẫn ngắn nhất. Kết quả này có ý nghĩa khi tải trên mạng nhẹ. Còn khi mạng trở lên nặng nề hơn, không chắc rằng phƣơng pháp đƣờng dẫn ngắn nhất sẽ thành công trong việc thiết lập một đƣờng dẫn. Do đó, nếu không đƣờng dẫn nào đƣợc thiết lập sử dụng Lds,t, nguồn sắp đặt một sự thử thứ hai cho kết nối khác với l. Flooding với l là tƣơng đƣơng flooding mò mẫm tới tất cả các nút thích hợp.
Tƣơng tự với phƣơng pháp flooding giới hạn, chúng ta có thể vẫn có một phƣơng pháp giới hạn cho chuyển tiếp sử dụng hai mức. Khái niệm của một nút thích hợp đƣợc chỉnh sửa một cách tƣơng tự. Nếu i là nút hiện hành, thì một hàng xóm j là thích hợp nếu bandwidth(i,j)B và dj,t age(p)1L. Từ giờ trở đi ta quy ƣớc, điều kiện “không bị giới hạn” sẽ nói đến chuyển tiếp thăm dò mà không giới hạn số chặng, trong khi “bị giới hạn” sẽ nói đến chuyển tiếp thăm dò với số chặng bị hạn chế.
Tóm lại: Các giao thức định tuyến phổ biến hiện nay như RIP và OSPF luôn thực thi nhiều hoạt động như là: khám phá mạng và cập nhật, duy trì các bảng định tuyến. Để cân đối giữa độ chính xác trong tính toán định tuyến với lượng tăng tải khi cập nhật thông tin định tuyến, cần có chính sách cập nhật phù hợp. Cơ chế cập nhật thông tin định tuyến hiện tại đang sử dụng phổ biến là lan tràn (flooding) các thông báo kiểu như thông báo Hello. Chương 2 đã trình bày cơ chế cập nhật thông tin dùng để lập bảng định tuyến, trong đó mô tả một cơ chế cải tiến, gọi là phương pháp chuyển tiếp flooding hai mức giới hạn, nhằm cải thiện việc lan tràn thông tin định tuyến khi mở rộng các thuật toán trong giao thức OSPF cho định tuyến QoS. Các phân tích chất lượng của cơ chế này được trình bày ở cuối Chương 3, sau khi đã mô tả các mở rộng của OSPF cho định tuyến QoS.
CHƢƠNG 3 - OSPF MỞ RỘNG CHO ĐỊNH TUYẾN QoS 3.1. Mở rộng đảm bảo chất lƣợng dịch vụ cho OSPF [7]- [12]
IP đã hỗ trợ cho năm kiểu dịch vụ (TOS) khác nhau cho việc phân phát datagram. Năm kiểu này là dịch vụ thông thƣờng, chi phí thấp nhất, độ tin cậy lớn nhất, khả năng thông lƣu lƣợng lớn nhất và trễ nhỏ nhất. Một ứng dụng quyết định TOS sẽ đƣợc đặt vào các datagram của nó bằng cách thiết lập trƣờng TOS trong các phần đầu IP. Khi đó, các router có thể định tuyến các gói tin IP tới một đích chung thông qua các tuyến đƣờng khác nhau theo TOS của chúng. Để đảm bảo khả năng tƣơng thích theo chiều ngƣợc, các router có thể thông báo các số liệu đặc trƣng TOS trong các thông điệp thông báo trạng thái liên kết của chúng. Điều này tạo ra một cơ hội để kiểm tra định tuyến QoS nhƣ một phần mở rộng của các đặc tính TOS trong OSPF tiêu chuẩn. Các mở rộng định tuyến QoS cho OSPF dựa trên hai ý tƣởng chính là: thứ nhất, các thông điệp thông báo trạng thái liên kết và cơ sở dữ kiệu topo (topology database) phải bao gồm thông tin tài nguyên mạng nhƣ băng thông khả dụng, và thứ hai, thuật toán tính toán tuyến đƣờng phải lấy thông tin này vào tính toán.
3.1.1. Các khả năng tùy chọn QoS
Các gói tin Hello OSPF, các gói tin dạng cơ sở dữ liệu và tất cả các thông điệp thông báo trạng thái liên kết đều bao gồm trƣờng các tùy chọn OSPF, trƣờng này cho phép các router OSPF hỗ trợ các khả năng tùy chọn, và thông báo mức độ khả năng của chúng tới các router khác. Với sự giúp đỡ của cơ chế này, các router của các mức độ khả năng khác nhau có thể giao tiếp trong một miền định tuyến OSPF. Tiêu chuẩn OSPF sử dụng để chỉ rõ các bit sau đây trong octet các tùy chọn OSPF:
Bảng 3.1. Octet các tùy chọn OSPF
* * DC EA N/P MC E T
Bit có ý nghĩa ít nhất là bit T, bit đƣợc sử dụng cho việc chỉ ra khả năng định tuyến TOS mà ngày nay đã đƣợc loại bỏ. Tuy nhiên, nhƣ đã đƣợc đề cập trƣớc đó, thông tin này có thể đƣợc chứa trong trƣờng các tùy chọn cho sự tƣơng thích theo chiều ngƣợc. Bit T có thể đƣợc sử dụng nhƣ một chỉ thị về khả năng
QoS của router và đƣợc đổi tên là bit Q. Trong các gói tin Hello, bit này cho biết liệu router có khả năng hỗ trợ định tuyến QoS hay không. Khi bit này đƣợc thiết lập trong một router hoặc các liên kết cơ bản LSA, nó chỉ ra rằng gói tin chứa các trƣờng QoS. Trong một mạng LSA, bit này cho biết liệu mạng mô tả trong thông báo có khả năng QoS hay không. Cách tiếp cận này cần đƣợc thực hiện một cách cẩn thận để bất cứ sự thực thi theo cách tiếp cận cũ nào cũng không bị xáo trộn.
3.1.2. Mã hóa tài nguyên khi TOS mở rộng
Bởi vì các mở rộng QoS cho OSPF sẽ tƣơng thích với các router OSPF phiên bản hai hiện có, nên các mở rộng trong các định dạng gói tin sẽ đƣợc định nghĩa với mục đích là hiểu, lờ đi, hoặc hiểu sai mức độ nhẹ bởi các router OSPF phiên bản hai. Việc mã hóa các metric QoS trong trƣờng TOS làm cho nó có thể bắt chƣớc tính năng mới này nhƣ khả năng TOS mở rộng. Những định nghĩa này đã bị coi nhẹ hoặc xem xét một cách không rõ ràng bởi các bộ định tuyến OSPF phiên bản hai. Thông qua việc sử dụng bit thứ năm trong trƣờng TOS, có 32 tổ hợp khác nhau có sẵn cho các tài nguyên QoS. Kể từ khi trƣờng TOS đƣợc định nghĩa là bốn bit dài, thì định nghĩa này không xung đột với các giá trị hiện có. Bởi vì một số việc triển khai không thể nạp tất cả các bit trong trƣờng TOS vào tính toán, các giá trị của băng thông và độ trễ đƣợc ánh xạ lên “khả năng cho qua lƣu lƣợng tối đa” và “độ trễ tối thiểu” nếu bit có ý nghĩa nhất đƣợc bỏ đi. Bảng 3.2 và 3.3 mô tả TOS và QoS trong OSPF.
Bảng 3.2. Mã hóa các giá trị TOS RFC 1349
Mô tả thập phân Mô tả nhị phân Ghi chú
0 0000 Dịch vụ thông thƣờng 2 0001 Giá cực tiểu 4 0010 Độ tin cậy lớn nhất 6 0011 8 0100 Thông lƣợng lớn nhất 10 0101 12 0110 14 0111 16 1000 Trễ nhỏ nhất 18 1001
20 1010 22 1011 24 1100 26 1101 28 1110 30 1111
Bảng 3.3. Mã hóa các giá trị QoS RFC 2676
Mô tả thập phân Mô tả nhị phân Ghi chú
32 10000 34 10001 36 10010 38 10011 40 10100 Băng thông 42 10101 44 10110 46 10111 48 11000 Trễ 50 11001 52 11010 54 11011 56 11100 58 11101 60 11110 62 11111
3.1.3. Mã hóa băng thông
Bởi vì trƣờng metric có trong gói tin OSPF thực sự chỉ cung cấp 16 bits để mã hóa băng thông, trong khi các liên kết có thể hỗ trợ băng thông lên tới Gbit/s đang dần trở thành hiện thực, nên sự biểu diễn tuyến tính số liệu nguồn tài nguyên khả dụng là không khả thi. Giải pháp mô tả trong RFC 2676 là thực hiện mã hóa theo luật mũ bằng cách sử dụng một cách thích hợp giá trị cơ số đƣợc lựa chọn ngầm định và một số lƣợng nhất định các bit cho việc mã hóa
phần hệ số và số mũ. Ở đây sử dụng con số 8 làm cơ số xây dựng một hệ thống số, ba bit ý nghĩa nhất dành riêng cho phần số mũ và 13 bit còn lại dành cho phần hệ số. Điều này cho phép so sánh đơn giản qua hai con số đƣợc mã hóa trong cùng một định dạng, và thƣờng là hữu dụng trong suốt thời gian thực thi. Bảng sau chỉ ra các phạm vi băng thông khi sử dụng các số mũ khác nhau và độ chi tiết của việc lƣu trữ có thể chấp nhận đƣợc.
Bảng 3.4. Phạm vi của các giá trị mũ cho 13bit, dựa vào mã hóa 8
Giá trị mũ của x Phạm vi x 8 * ) 1 2 ( 13 Bƣớc x 8 0 8,191 1 1 65,528 8 2 524,224 64 3 4,193,792 512 4 33,550,336 4,096 5 268,402,688 32,768 6 2,147,221,504 262,144 7 17,177,772,032 2,097,152
Quy tắc mã hóa băng thông này có thể đƣợc hiểu là: miêu tả băng thông khả dụng trong trƣờng 16 bit với 3 bit mũ đứng trƣớc và 13 bit tiếp theo cho phần cơ số định trị. Vì vậy, mã hóa trên tạo thành một thông báo nhị phân có giá trị số từ 1 cho tới 216 1(việc mã hóa băng thông khả dụng theo cơ số 2). Điều này có đặc tính của việc thông báo một giá trị số cao hơn cho băng thông khả dụng thấp hơn. Khái niệm này khá hợp lý với khái niệm về chi phí. Mặc dù nó có vẻ hơi mô phạm để nhấn mạnh về đặc tính băng thông nhỏ đƣợc biểu diễn các giá trị cao hơn, nhƣng bên cạnh đó nó cũng có tính nhất quán. Một router với một sự thực thi OSPF tồi có thể hiểu sai số liệu băng thông nhƣ chi phí thông thƣờng cung cấp cho nó và tính toán các cây mở rộng với một thuật toán Dijkstra “thông thƣờng”.
Một ví dụ để có thể làm rõ những điều này: chúng ta hãy giả sử rằng một liên kết với băng thông 8Gbits/s 10243byte/s. Mã hóa của nó sẽ là
6 3
8 * 4096
1024 trong đó độ chi tiết (giãn cách thang) là 6
8 (xấp xỉ 260kByte/s). Việc miêu tả số nhị phân kết hợp sẽ là 1101 0000 0000 0000 hoặc 53248. Chi phí băng thông của liên kết này, khi không dùng đến, là phần bù cơ số 2 của
biểu diễn nhị phân ở trên, nghĩa là, 0010 1111 1111 1111 tƣơng ứng với một giá trị thập phân 16
(2 1) 53248 12287 . Nếu chúng ta chỉ có 1600Mbits/s băng thông có sẵn trên liên kết, việc mã hóa băng thông này sẽ là 5
8 *
6400 , tƣơng ứng với độ chi tiết thang là 5
8 (xấp xỉ 30kBytes/s), và có một biểu diễn nhị phân 1011 1001 0000 0000 hoặc giá trị thập phân 47360. Chi phí thông báo của liên kết với mức độ tải này là 0100 0110 1111 1111 hoặc (2161)4736018175. Băng thông sẵn có trên liên kết càng ít thì chi phí càng nhiều. Ngoài ra cũng đạt đƣợc mục tiêu về độ chi tiết tốt hơn cho các liên kết với băng thông hẹp hơn. Tuy nhiên, cần lƣu ý rằng các metric đƣa ra trong các ví dụ trƣớc đây phù hợp với giải pháp của mã hóa đã đƣợc đề xuất, thứ sẽ không phải luôn luôn có trong cuộc sống thực. Tiêu chuẩn thông thƣờng là làm tròn giá trị băng thông khả dụng đến con số gần nhất. Bởi vì chúng ta đang quan tâm đến giá trị chi phí, chúng ta chọn để làm tròn lên các chi phí và do đó băng thông giảm xuống.
3.1.4. Mã hóa trễ
Trễ đƣợc mã hóa theo µs bằng cách sử dụng cùng một phƣơng pháp theo hàm mũ nhƣ mô tả về băng thông, ngoài trừ cơ sở đó đƣợc xác định là 4 thay vì 8. Vì vậy, trễ lớn nhất có thể đƣợc thể hiện là 13 7 4 * ) 1 2 ( (xấp xỉ 134s).
3.2. Các cơ chế thực hiện mở rộng QoS cho OSPF
3.2.1. Các thuật toán và thông tin lựa chọn đƣờng dẫn
Phần này mô tả một vài thuật toán lựa chọn đƣờng dẫn, thứ có thể đƣợc sử dụng để tạo ra các tuyến đƣờng có khả năng đảm bảo chất lƣợng dịch vụ dựa trên các sự thỏa hiệp khác nhau giữa độ chính xác, độ phức tạp tính toán, và không bị ràng buộc của việc thực thi.
3.2.1.1. Các thông số
Nhƣ đã nêu ở trên, quá trình lựa chọn một đƣờng dẫn mà có thể thỏa mãn các yêu cầu QoS của một luồng lƣu lƣợng mới dựa vào cả hai hiểu biết về các yêu cầu và các đặc điểm của luồng lƣu lƣợng đó, và thông tin về sự sẵn có của nguồn tài nguyên trong mạng. Ngoài ra, điều cũng rất quan trọng đối với thuật toán là tính toán tổng số lƣợng tài nguyên tiêu thụ để hỗ trợ một luồng lƣu lƣợng mới. Nhìn chung, mạng ƣa lựa chọn “giá thấp nhất” hơn trong số tất cả các đƣờng dẫn thích hợp cho một luồng lƣu lƣợng mới. Hơn nữa, mạng lƣới cũng có thể quyết định từ chối một luồng lƣu lƣợng mới khi mà chi phí cho đƣờng đi của
nó đƣợc cho là quá cao. Các vấn đề nhƣ vậy trong vùng chấp nhận cuộc gọi nhiều hơn trong vùng lựa chọn đƣờng dẫn, nhƣng việc cung cấp khả năng để tính toán cho các khía cạnh này ảnh hƣởng đến một vài số liệu mà các quá trình lựa chọn đƣờng dẫn dựa vào. Kết quả là, chúng ta xem xét các metric sau đây:
Băng thông khả dụng của liên kết: Đây là một tham số quan trọng, băng thông khả dụng của một liên kết liên quan đến dung lƣợng không sử dụng hay là dự phòng của liên kết đó trong 1 khoảng thời gian nhất định. Băng thông khả dụng phụ thuộc vào lƣu lƣợng đang có trên mạng tức là phụ thuộc vào độ chiếm dụng băng thông của lƣu lƣợng đang tồn tại trên mạng. Nhƣ vậy băng thông khả dụng thay đổi theo thời gian.
Tổng số chặng: Số lƣợng chặng này đƣợc sử dụng nhƣ số đo chi phí đƣờng dẫn tới mạng. Một đƣờng dẫn với một số lƣợng chặng nhỏ hơn (cái mà có thể hỗ trợ một kết nối đƣợc yêu cầu) là thích hợp hơn vì nó tiêu thụ ít tài nguyên mạng hơn.
Chính sách: Các chính sách đƣợc sử dụng để lƣợc bớt các liên kết mạng không tƣơng thích, sự thực thi hoặc mức độ mô tả đặc tính, với các nhu cầu của một luồng lƣu lƣợng. Việc sử dụng các chính sách để xử lý các yêu cầu cụ thể cho phép đơn giản hóa đáng kể trong việc tối ƣu hóa đƣợc thực hiện bằng các thuật toán lựa chọn đƣờng dẫn.
3.2.1.2. Các thuật toán lựa chọn đƣờng dẫn [13]
Có một vài hƣớng cho các thuật toán lựa chọn đƣờng dẫn. Các hƣớng chính gồm các tiêu chuẩn tối ƣu hóa mà việc chọn đƣờng dựa trên đó, topo chính xác mà trên đó nó tiến hành chọn và thời điểm nó đƣợc gọi tới. Nhƣ đã đề cập, việc gọi tới thuật toán lựa chọn đƣờng dẫn có thể là do luồng lƣu lƣợng hoặc do những thay đổi trong các trạng thái liên kết khi thuật toán sử dụng cho phép tính toán trƣớc các đƣờng dẫn. Topo mà trên đó thuật toán chạy đƣợc, nhƣ với việc lựa chọn đƣờng dẫn OSPF tiêu chuẩn, có thể là một sơ đồ có hƣớng trong đó đỉnh bao gồm các router và các mạng (các đỉnh chuyển tiếp) cũng nhƣ các stub-network (các đỉnh không chuyển tiếp). Khi tính toán một đƣờng dẫn, các stub-network đƣợc thêm vào nhƣ là một bƣớc xử lý bổ sung tƣơng tự nhƣ của thuật toán OSPF tiêu chuẩn.
Các tiêu chí tối ƣu hóa đƣợc sử dụng bởi việc lựa chọn đƣờng dẫn đƣợc phản ánh trong các chi phí liên quan đến mỗi giao diện trong topo và làm thế