Dù là nội miền hay liên miền, chƣ́ c năng chính của một Router là chuyển gói tin đến mạng đích của nó , để làm đƣợc điều này Router cần phải tìm đƣợc thông tin đi ̣nh tuyến đƣơ ̣c lƣu trƣ̃ trên bảng đi ̣nh tuyến của nó . Một bảng đi ̣nh tuyến là mô ̣t file dƣ̃ liê ̣u trong RAM đƣợc dùng để lƣu trữ thông tin đƣờng đi các đƣờng mạng đƣợc kết nối trực tiếp hoặc từ xa .
Bảng định tuyến của mỗi giao thức định tuyến là khác nhau, nhƣng có thể bao gồm những thông tin sau :
Địa chỉ đích của mạng, mạng con hoặc hệ thống. Địa chỉ IP của router chặng kế tiếp phải đến
Giao tiếp vật lý phải sử dụng để đi đến router kế tiếp Mặt nạ mạng của địa chỉ đích
Khoảng cách đến đích, ví dụ nhƣ số lƣợng chặng để đến đích Thời gian (tính theo giây) từ khi router cập nhật lần cuối Định tuyến có hai loại: định tuyến tĩnh và định tuyến động
Định tuyến tĩnh: Định tuyến tĩnh do ngƣời quản trị phải cấu hình cố định
các thông tin đến các mạng khác cho router. Quyết định định tuyến tĩnh không dựa trên sự đánh giá lƣu lƣợng và topo mạng hiện thời. Trong môi trƣờng IP các router không thể phát hiện ra các router mới, chúng chỉ có thể chuyển gói tin tới các router đƣợc chỉ định của nhà quản lý mạng. Khi cấu trúc mạng có bất kì thay đổi nào thì ngƣời quản trị mạng phải xóa hoặc thêm các thông tin về đƣờng đi cho router. Các đƣờng đi này là cố định nên trong hệ thống mạng lớn việc bảo trì bảng định tuyến cho router tốn rất nhiều thời gian. Định tuyến tĩnh là cách định tuyến không linh hoạt nên thƣờng phù hợp với hệ thống mạng nhỏ hoặc tuyến đơn ít có biến đổi
về thông tin định tuyến. Hoạt động của định tuyến tĩnh gồm 3 bƣớc chính sau:
o Ngƣời quản trị cấu hình các đƣờng đi cố định cho router o Router cài đặt các thông tin này vào bảng định tuyến
o Gói tin đƣợc định tuyến theo các đƣờng cố định đã đƣợc cài đặt. Định tuyến động: Định tuyến động lựa chọn tuyến dựa trên thông tin trạng
thái hiện thời của mạng. Thông tin trạng thái có thể đo hoặc dự đoán và tuyến đƣờng có thể thay đổi khi topo mạng hoặc lƣu lƣợng mạng thay đổi. Thông tin định tuyến đƣợc cập nhật tự động vào trong các bảng định tuyến của các nút mạng trực tuyến, và đáp ứng tính thời gian thực nhằm tránh tắc nghẽn cũng nhƣ tối ƣu hiệu năng mạng. Định tuyến động phù hợp đối với mạng lớn, thƣờng biến đổi trong quá trình hoạt động. Giao thức định tuyến đƣợc sử dụng để giao tiếp giữa các router với nhau. Giao thức định tuyến cho phép router chia sẻ các thông tin định tuyến mà nó biết cho các router khác. Từ đó router có thể xây dựng và bảo trì bảng định tuyến của nó. Một số giao thức định tuyến động thƣờng đƣợc sử dụng nhƣ: RIP, IGRP, EIGRP, OSPF, BRP. Các giao thức này 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ác giao thức định tuyến động này không chỉ tạo ra một
đƣờng đi xác đi ̣nh tốt nhất đến các ma ̣n g khác mà còn xác đi ̣nh mô ̣t đƣờng dẫn mới tốt nhất khi đƣờng đi khởi đầu không còn hƣ̃u dụng hoă ̣c có sự thay đổi topology . Với nhƣ̃ng lý do đó , đi ̣nh tuyến đô ̣ng có lợi thế hơn so với đi ̣nh tuyến tĩnh . Các Router mà sử dụng các giao thức định tuyến đô ̣ng chia sẻ bảng đi ̣nh tuyến mô ̣t cách tƣ̣ đô ̣ng với các Router khác và bổ sung cho bất cứ sự thay đổi topology mà không liên quan đến quản trị viên mạng . Chúng ta thừa nhận rằng: (1) Tất cả các nút lƣu giữ các số liệu nội bộ của chúng và (2) tất cả các nút nhận biết đƣợc khi gửi cập nhật tới các nút hàng xóm của nó. Giả định (1) hợp lý khi một nút luôn biết tài nguyên khả dụng trong các liên kết outgoing của nó. Giả định (2) sẽ trở lên hợp lý, nếu một chính sách cập nhật đƣợc thực thi. Trong phần này, chúng ta có thể sử dụng một chính sách cập nhật dựa trên ngƣỡng. Mỗi nút duy trì một bảng link-to-node. Bảng này đƣa ra liên kết sử dụng để dẫn tới một nút hàng xóm và nguồn khả dụng dọc theo liên kết. Một nút có thể dễ dàng xây dựng bảng định tuyến bằng cách trao đổi các gói tin Hello với hàng xóm của nó. Mỗi nút xây dựng một bảng link-to-node.
2.3.1. Cơ chế trao đổi thông tin để xây dựng bảng định tuyến
Mỗi router duy trì một bảng định tuyến. Trong việc tiếp nhận một thăm dò nhu cầu kết nối, một router sử dụng bảng định tuyến để quyết định liên kết đầu ra. Chúng ta xem xét một nút:
N1(v)biểu thị các nút gần kề với nút v trong mạng
E1(v)biểu thị các liên kết kết nối nút v tới các nút trong N1(v)
N2(v) biểu thị các nút gần kề với các nút trongN1(v)
E2(v) biểu thị các liên kết kết nối các nút trong N1(v)tới các nút trong
) (
2
v N
Bảng định tuyến của nút v chứa thông tin về các số liệu của tất cả các liên kết trong E1(v) và E2(v). Các mục vào (entry) tƣơng ứng với E1(v) đƣợc gọi là các mục vào mức một 1
v
R của v; các mục vào tƣơng ứng vớiE2(v) đƣợc gọi là các mục vào mức hai 2
v
R của v. Các mục vào mức hai đƣợc biểu diễn nhƣ một bộ của
2 1
, j
i l
l trong đó li1E1(v) và l2j E2(v). Nếu một nút u là một thành viên của cả
) (
1
v
N và N2(v), thì nó đƣợc biểu diễn chỉ nhƣ là một mục vào mức một. Để xây dựng và duy trì bảng định tuyến, nút v phải nhận bản cập nhật về các tham số
QoS trong tất cả các mục vào mức hai của nó từ các nút trong N1(v). Việc này đƣợc thực hiện bởi việc trao đổi các bản tin đặc biệt gọi là các gói tin Hello2 với một tần suất xác định đƣợc điều khiển bởi chính sách cập nhật. Các gói tin Hello2 đƣợc xây dựng bằng cách sao chép danh sách hàng xóm và các thông số QoS có đƣợc từ bảng định tuyến của các router. Tại nút v, các mục vào mức một trong bảng định tuyến đƣợc tạo ra bằng cách sao chép bảng định tuyến của nút v. Các mục vào mức hai trong bảng định tuyến đƣợc tạo ra bằng cách kiểm soát việc nhận các gói tin Hello2. Tất cả các mục vào mức hai tồn tại trong bảng định tuyến đƣợc cập nhật bởi gói tin Hello2. Ngoài ra, một vài mục vào mới đƣợc thêm vào các mục vào mức hai hiện tại.
2.3.2. Các chính sách cập nhật
Ý tƣởng chính của việc gửi các gói tin Hello2 là để truyền tải những sự thay đổi trong tài nguyên sẵn có của một router tới các router khác. Nếu một router gửi các gói tin Hello2 mỗi khi có một sự thay đổi xuất hiện, thì mạng có
Chính sách cập nhật này sẽ đƣợc lựa chọn khi các gói tin Hello2 đƣợc gửi. Một chính sách cập nhật đơn giản có thể dựa trên các bộ định thời và nó có thể giống nhƣ là một bản cập nhật đƣợc gửi đi cứ mỗi T giây. Các giao thức nhƣ OSPF và RIP gửi các bản cập nhật ở những khoảng thời gian đều nhau. Trong khi cách tiếp cận trên có thể chấp nhận đƣợc cho định tuyến nỗ lực tối đa, thì nó lại không phù hợp với định tuyến QoS. Lý do là, trong khoảng thời gian cập nhật, tài nguyên sẵn có trong các router có thể thay đổi đáng kể. Nếu sự thay đổi này không đƣợc truyền đến các router khác, chúng sẽ có thông tin không chính xác và do đó hiệu suất định tuyến QoS sẽ giảm sút. Ngoài ra, rất khó để mô hình sự không chính xác trong các mục vào bảng với một cơ chế cập nhật nhƣ vậy. Chính sách cập nhật đƣợc sử dụng trong mạng OSPF có thể đƣợc cải tiến nhƣ sau [5]. Mỗi nút nhớ số liệu quảng cáo mới nhất trên mỗi liên kết. Nếu tỷ số giữa giá trị quảng cáo mới nhất và giá trị hiện tại cao hơn (hoặc thấp hơn) một giá trị ngƣỡng τ thì cập nhật đƣợc kích hoạt. Nút tạo các gói tin Hello2 và gửi chúng tới tất cả hàng xóm của nó. Lợi thế của việc sử dụng chính sách cập nhật ngƣỡng có thể dễ dàng đƣợc sử dụng mô hình xác suất để ứng phó với sự không chính xác .
Nếu băng thông b đƣợc quảng cáo trên một liên kết, và nếu τ là 2, thì sau đó bất cứ khi nào, metric hiện thời sẵn có trên liên kết đó có thể đƣợc mô hình nhƣ là một phân bố đều trên [b/2,2b]. Một khi sự không chính xác đƣợc mô hình hóa, có một vài phƣơng pháp để thực hiện định tuyến hiệu quả các thông tin không chính xác nhƣ vậy. Tuy nhiên, thuật toán ở đây giả thiết rằng thông tin sẵn có trong các bảng là chính xác và chuyển tiếp các thăm dò phù hợp. Kết quả là, sự thực thi của thuật toán trong các điều kiện của sự thiết lập cuộc gọi có thể là kém hơn. Các kết quả thử nghiệm đƣợc trình bày ở Chƣơng 3, trong phần so sánh hiệu suất của các phƣơng pháp tiếp cận dựa vào flooding và chuyển tiếp dựa vào bảng hai mức. Các giao thức định tuyến hiện tại nhƣ RIP và OSPF có thể đƣợc chỉnh sửa một chút để có một cơ chế cập nhật dựa trên một ngƣỡng. Nếu RIP đƣợc sử dụng, router gửi băng thông sẵn có trên liên kết vốn có của nó cùng với các tuyến đƣờng cho lƣu lƣợng nỗ lực tối đa. Thay vì việc gửi các thông tin cập nhật định kỳ, các bản cập nhật có thể đƣợc kích hoạt bởi chính sách ngƣỡng. Đối với OSPF, một vài mở rộng đƣợc đề xuất để hỗ trợ định tuyến QoS. Chỉ một sự thay đổi thêm vào có thể là, một router cần gửi thông tin băng thông chỉ tới các hàng xóm của nó và không cần thiết phải gửi nó tới tất cả các router trên mạng.
2.3.3. Cơ chế chuyển tiếp
Cơ chế chuyển tiếp có thể đƣợc sử dụng cho bất kỳ số liệu QoS nào. Băng thông đƣợc coi nhƣ metric QoS và rõ ràng là cơ chế chuyển tiếp liên quan đến băng thông. Một phác thảo của cơ chế chuyển tiếp gói tin đƣợc đƣa ra sau đây và một biểu đồ cũng đƣợc đƣa ra trong Hình 2.2.
Mỗi nút v duy trì một bảng định tuyến trong đó có cả hai loại mục nhập vào. Cấu trúc của bảng định tuyến nhƣ bảng 2.1 dƣới đây:
Bảng 2.1. Bảng chuyển tiếp tại nút v
Liên kết Hop kế tiếp Metric khả dụng
1 1 l v1 x1B 1 n l vn xnB 2 1 1 1,l l u1 xkB 1 2 , m m l l um xrB
Hình 2.2. Cơ chế chuyển tiếp gói tin tại một nút Nhận bản tin Nhận bản tin Loại bản tin Bản copy đầu tiên? Đích? Giải phóng BW dành riêng cho kết nối đó và chuyển tiếp lỗi tới router phía ra N Loại bỏ bản tin Đánh dấu thăm dò cho kết nối đã nhận N Y Lỗi Yêu cầu Link kết nối router phía ra đủ BW? Nhận BW và lƣu id của router phía ra Y Nguồn? Kết nối đƣợc thiết lập thành công Y Chuyển tiếp ack tới router trƣớc đó N Đích? Chuyển tiếp thăm dò tới tất cả hàng xóm mức 2 thích hợp. Lƣu id của router trƣớc đó Y N Đích hiện tại trong bảng định tuyến Y Chuyển tiếp thăm dò tới đích thông qua các link thích hợp. Lƣu id của router trƣớc đó Gửi 1 ack tới hàng
xóm trƣớc đó Danh sách hàng xóm trong mục vào thăm dò ? N N
Chuyển tiếp thăm dò tới tất cả hàng xóm thích hợp trong danh sách. Lƣu id của router trƣớc đó
N Y ack Gửi lỗi tới router phía ra Y
1
v
R là tập hợp các mục vào tƣơng ứng với các hàng xóm trực tiếp của nút
v. 2
v
R là tập hợp các mục vào tƣơng ứng với các hàng xóm mức hai, cụ thể là
) (
2
v
N . Một hàng xóm u của nút v, đƣợc cho là thích hợp, nếu liên kết (v,u) có thể hỗ trợ băng thông yêu cầu. Quá trình thiết lập kết nối có ba giai đoạn cụ thể là Thăm dò, ack, và Xử lý thất bại. Giai đoạn đầu tiên là Thăm dò và nó bắt đầu khi một nguồn gửi một yêu cầu kết nối. Mỗi yêu cầu kết nối đƣợc nhận biết bởi một định danh duy nhất cid. Các yêu cầu kết nối cũng có thể đƣợc gọi là thăm
dò, là một bộ theo mẫu [k, QoS(bandwidth = B), s, t, cid, {l}]. Trong đó các định dạng tham dò s đƣợc hiểu nhƣ là nguồn yêu cầu kết nối cid với các yêu cầu tham số nhƣ là QoS(bandwidth = B) tới đích t, và k là router đã chuyển tiếp thăm dò
tới nút v. Một nguồn tin có thể thiết lập trƣờng k tới id của nó và gửi thăm dò {l} đề cập đến danh sách các hàng xóm mà nút v nên chuyển tiếp thăm dò này.
Trong việc nhận thăm dò này, v kiểm tra xem có phải nó là thăm dò đầu tiên nút
v nhận đƣợc cho kết nối này. Nếu không thăm dò sẽ bị loại bỏ nhƣ là bản sao.
Nếu thăm dò là lần đầu tiên cho kết nối cid, nút v ghi nhận rằng, nó đã nhận một thăm dò cho kết nối cid. Nó lƣu giữ số nhận dạng id của router hƣớng ngƣợc lại, gọi tắt là pv(cid), router đã chuyển tiếp thăm dò tới nó, trong một bảng. Mục vào của bảng đƣợc duy trì cho một khoảng thời gian T, đó là thời gian thiết lập kết
nối tối đa. Sau thời gian T, các mục vào đƣợc xóa sạch. Router v kiểm tra xem
có phải đích đến hiển thị trong bảng định tuyến của nó nhƣ là mục vào mức một hoặc nhƣ là mục vào mức hai. Nếu đích đến hiển thị, và nó là thích hợp, thì thăm dò đƣợc chuyển tiếp tới liên kết tƣơng ứng.
Nếu đích đến không có mặt trong bảng định tuyến, có nghĩa là đích đến vƣợt quá hai chặng. Trong tình huống nhƣ vậy, danh sách các láng giềng {l} mà nút v chuyển tiếp thăm dò tới đƣợc kiểm tra. Thăm dò đƣợc chuyển tiếp tới tất
cả những hàng xóm đủ điều kiện trong danh sách. Nếu đích đến vƣợt quá hai chặng và danh sách {l} là rỗng, thì router v xây dựng một danh sách của riêng nó. Nếu u là một hàng xóm đủ điều kiện của v, thì một danh sách của tất cả các
láng giềng thích hợp của u, là lu, đƣợc xây dựng. Router v sau khi chuyển tiếp thăm dò với {lu} tới u. Điều này đƣợc lặp lại cho tất cả các hàng xóm đủ điều
kiện của v. Quá trình chuyển tiếp đƣợc lặp lại trong tất cả các router cho đến khi đích nhận đƣợc một thăm dò. Tuyến đƣờng có đƣợc bởi tham dò đầu tiên đến đƣợc đích đƣợc gọi là “con đƣờng dự kiến”. Trong suốt giai đoạn đó, chỉ nguồn tài nguyên sẵn có đƣợc kiểm tra và không thực hiện dự trữ băng thông.
Đích đến trong việc tiếp nhận thăm dò đầu tiên cho một kết nối cid, bắt đầu giai đoạn ack (phúc đáp) bằng cách gửi một xác nhận tới ngƣời gửi nó. Xác nhận này tƣơng tự nhƣ thăm dò nhƣng không có trƣờng danh sách hàng xóm. Một router nhận đƣợc một ack, kiểm tra xem các liên kết mà trên đó các ack đến có đủ băng thông để hỗ trợ các yêu cầu. Nếu liên kết có đủ băng thông, router dự trữ băng thông yêu cầu cho kết nối cid và lƣu id của router hƣớng ra, gọi tắt là
) (cid
nv . Bảng rỗng vẫn đƣợc duy trì trong khoảng thời gian T sau đó nó đƣợc
xóa. Router sau đó sẽ chuyển tiếp ack tới router ngƣợc hƣớng đi của nó trên
đƣờng dẫn dự kiến sử dụng giá trị pv(cid) mà nó đã lƣu giữ trong suốt giai đoạn thăm dò. Quá trình tiếp tục cho đến khi nguồn nhận một ack. Nếu nguồn nhận
đƣợc một ack, thì kết nối đƣợc thiết lập. Nếu bất kỳ một router nào trên đƣờng
dẫn dự kiến không dự trữ băng thông đã yêu cầu, thì nó bắt đầu giai đoạn Xử lý