109 Trang 5 Các thuật ngữ viết tắt Từ viết tắt Tên tiếng Anh Nghĩa tiếng ViệtABR Area Boundary Router Định tuyến biên vùngAODV Ad-hoc On demand Distance -Vector Vectơ khoảng cách theo y
Khái niệm về định tuyến
Định tuyến là một nhiệm vụ quan trọng trong việc truyền tải thông tin qua mạng, diễn ra tại tầng mạng (tầng 3 theo mô hình OSI) Mục tiêu chính của định tuyến là đảm bảo thông tin của người dùng được chuyển từ điểm nguồn đến điểm đích một cách hiệu quả.
Quá trình định tuyến bao gồm hai hoạt động chính: xác định đường truyền và chuyển tiếp thông tin theo đường đó, còn gọi là switching Mặc dù việc chuyển tiếp thông tin theo con đường đã chọn tương đối đơn giản về mặt thuật toán, nhưng xác định đường truyền lại phức tạp hơn rất nhiều.
Trong các mạng thông tin, việc xác định đường truyền diễn ra theo hai bước cơ bản Đầu tiên, cần thu thập và phân phát thông tin về tình trạng mạng, như trạng thái đường truyền và tình trạng tắc nghẽn, cùng với thông tin cần truyền như lưu lượng và yêu cầu dịch vụ Những thông tin này sẽ làm cơ sở cho việc xác định đường truyền Thứ hai, cần chọn ra đường truyền khả dụng, đáp ứng mọi yêu cầu của thông tin cần truyền và điều kiện của mạng Đường truyền tối ưu là đường truyền tốt nhất trong số các đường truyền khả dụng, dựa trên một tiêu chuẩn nhất định.
Trong mỗi mạng thông tin, có thể sử dụng một trong hai kiểu forwarding: hớng kết nối (connection-oriented) và phi kết nối (connectionless)
Các phơng pháp truyền thông tin
Truyền thông tin theo kiểu lan tràn
Phương pháp truyền tin lan tràn rất hiệu quả trong các mạng động, đặc biệt khi vị trí nút đích hoặc cấu hình mạng thay đổi liên tục Nó cũng thích ứng tốt với lưu lượng mạng biến đổi lớn và liên tục.
Phương pháp này hoạt động bằng cách truyền thông tin từ nguồn đến tất cả các điểm lân cận, sau đó thông tin tiếp tục được chuyển đến các điểm lân cận của những điểm đó Quá trình này chỉ kết thúc khi điểm đích nhận được thông tin Để hoàn tất việc phân phát gói tin, thường sử dụng một trong hai cách: nếu nhận được gói tin từ node lân cận, nó sẽ kiểm tra xem gói đó đã được nhận hay chưa Nếu chưa, gói tin sẽ được lưu trữ và phát tán đến các node lân cận; nếu đã nhận, quá trình phát tán sẽ không diễn ra.
Trong mỗi gói tin được phát tràn, có một trường chứa thông tin về số bước nhảy (hop-count) của gói, tức là số link mà nó đã đi qua Khi một node chuyển tiếp gói tin sang các node lân cận, giá trị hop-count sẽ tăng lên một Nếu giá trị này vượt quá một giới hạn nhất định, gói tin sẽ ngừng phát tràn, ngược lại, nếu vẫn nhỏ hơn, nó sẽ tiếp tục được phát lan tràn Giá trị giới hạn thường được chọn dựa trên kích thước của mạng.
Theo phương pháp phát này, thông tin sẽ được truyền đến đích một cách nhanh chóng mà không cần tính toán hay lưu giữ bảng định tuyến Tuy nhiên, phương pháp này cũng có những khuyết điểm lớn cần lưu ý.
• Kỹ thuật này cơ bản dựa trên sự nhân rộng lu lọng tải
Gia tăng cường độ lưu thông và sự xuất hiện của nhiều điểm trì hoãn đã dẫn đến việc tăng thời gian trì hoãn tại các điểm nối, ngay cả khi gói dữ liệu được truyền qua tuyến nhanh nhất hiện có.
• Mỗi gói phải chứa địa chỉ hoàn chỉnh và các thông tin nhận dạng
Mỗi chuyển mạch cần ghi lại tất cả các gói mà nó gặp trong một khoảng thời gian đủ dài để phát hiện và loại bỏ các gói trùng lặp Đồng thời, các chuyển mạch cũng phải được cảnh báo thường xuyên về khả năng xuất hiện nhiều gói copy sau khi gói copy đầu tiên được chuyển giao thành công cho máy chủ đích.
Phương pháp lan tràn hiếm khi được sử dụng để truyền thông tin người dùng, mà chủ yếu được áp dụng trong mạng để phân phát thông tin cần thiết hoặc hỗ trợ hoạt động mạng Chẳng hạn, trong mạng ATM, truyền tin lan tràn có thể được dùng khi thiết lập kênh ảo (VC); một node chỉ cần gửi gói tin lan tràn để tìm đường đến node khác Các gói tin này sẽ ghi lại con đường đã đi qua, và khi node đích nhận gói tin đầu tiên, nó sẽ gửi phản hồi về nguồn theo con đường của gói tin đó, từ đó thiết lập VC theo con đường đã ghi nhận.
Truyền thông tin theo con đờng ngẫu nhiên
Thông tin lang thang trên mạng cuối cùng cũng đến được đích Việc chọn hướng có thể diễn ra ngẫu nhiên hoặc ngẫu nhiên theo trọng số Trong trường hợp chọn ngẫu nhiên theo trọng số, các trọng số thường được xác định dựa trên thống kê kết quả của các lần truyền trước.
Phương pháp truyền tin ngẫu nhiên, tương tự như phương pháp lan tràn, cho phép thông tin cuối cùng đến đích thông qua một con đường trong mạng Phương pháp này giảm thiểu sự phức tạp trong việc nhân rộng các thành phần lưu thông Nếu tất cả các liên kết và node đồng dạng, khả năng phân phối sẽ được chia đều cho mỗi tuyến Tuy nhiên, do sự khác biệt về năng lực liên kết, khả năng giữa các tuyến sẽ không giống nhau; ví dụ, một tuyến có thể được chọn với 50% khả năng, trong khi hai tuyến khác chỉ có 25% mỗi tuyến Điểm yếu của phương pháp này là khi dữ liệu được phân phối dựa trên các giá trung bình, chiều dài trung bình từ nguồn đến đích có xu hướng dài hơn so với các đường đi trực tiếp, dẫn đến thời gian trì hoãn lâu hơn giữa các điểm so với thời gian trì hoãn ngắn nhất trên một tuyến thực sự tồn tại trong mạng.
Phương pháp truyền ngẫu nhiên có ưu điểm là giảm thiểu lượng đường truyền cần tính toán, đảm bảo tổng lưu lượng đường truyền thấp hơn so với phương thức tràn lụt Tuy nhiên, nhược điểm lớn nhất là thời gian để dữ liệu đến đích có thể kéo dài và không thể xác định trước.
Truyền thông tin ‘ nóng’ (Hot Potato)
Khi thông tin được gửi đến một node, node đó sẽ chọn hướng truyền có thời gian chờ đợi ngắn nhất để truyền tải thông tin Phương pháp này giúp giảm kích thước bộ nhớ đệm tại mỗi node.
Truyền thông tin dựa vào bảng định tuyến
Mỗi node trong mạng đều lưu giữ một bảng định tuyến chứa nhiều mục thông tin Mỗi mục này cung cấp hướng truyền cho một đích, có thể là một node đơn lẻ hoặc một nhóm node Khi cần truyền thông tin, node nguồn sẽ tìm kiếm trong bảng định tuyến để chọn ra mục phù hợp nhất với đích cần đến Thông tin sau đó sẽ được truyền theo hướng dẫn trong mục đã chọn.
Mạng chuyển mạch kênh thiết lập một đường truyền vật lý hoặc logic giữa hai node trước khi truyền thông tin, với tất cả thông tin được chuyển đi theo đường này Nhiệm vụ của định tuyến là xác định con đường tốt nhất giữa mỗi cặp node trong mạng Mỗi khi thiết lập kết nối, một con đường ảo sẽ được tạo ra để truyền tất cả các gói tin trong lần kết nối đó Do đó, mỗi gói tin cần có thông tin về con đường ảo của mình, và bảng định tuyến ở mỗi node sẽ chứa thông tin để xác định hướng đi tiếp theo cho các gói tin của các con đường ảo khác nhau.
Mạng chuyển mạch gói không chỉ cung cấp dịch vụ kết nối mà còn hỗ trợ dịch vụ phi kết nối thông qua phương pháp định tuyến datagram Với định tuyến datagram, con đường cho mỗi gói tin không được xác định trước mà được quyết định từng bước tại mỗi node trung gian Điều này yêu cầu mỗi gói tin phải chứa thông tin đầy đủ về địa chỉ của node đích Hơn nữa, các gói tin từ cùng một node nguồn có thể được chuyển đến node đích qua những con đường khác nhau, dẫn đến việc thứ tự của các gói tin tại node đích sẽ bị lộn xộn, do đó mỗi gói tin cần có số thứ tự đi kèm.
Dù là mạng hướng kết nối hay phi kết nối, việc tính toán và tạo bảng định tuyến vẫn là cần thiết Bảng định tuyến có thể chứa dữ liệu cố định (trực tiếp) hoặc có thể thay đổi theo thời gian.
Hình 1-1 minh họa định tuyến trực tiếp trong mạng chuyển mạch gói (PSN), với một ma trận định tuyến ngắn nhất gồm 36 lối vào.
Mỗi node trong hệ thống đều chỉ ra node kế tiếp dọc theo đường ngắn nhất đến các node khác Chẳng hạn, nếu các gói tin đang ở node 6 và có đích đến là node 2, chúng sẽ được hướng dẫn đến node tiếp theo theo lộ trình tối ưu nhất.
4 Bảng định tuyến có đặc điểm:
• Trên bảng định tuyến chỉ có những hàng đơn liên hệ đến từng chuyển mạch riêng
Trong một số trường hợp, bảng định tuyến có thể chứa hai tuyến khả thi, nhưng để đảm bảo tính rõ ràng, chỉ một tuyến được chọn và sử dụng tại một thời điểm Ưu điểm của định tuyến trực tiếp là hoạt động của nó rất rõ ràng, với tất cả thông tin được truyền tải giữa nguồn và đích đi theo cùng một tuyến dựa trên bảng định tuyến Khi một tuyến được thiết lập dựa trên các tiêu chí như đường ngắn nhất hoặc thời gian trì hoãn nhỏ nhất, các gói dữ liệu sẽ di chuyển một cách nhất quán trừ khi bảng định tuyến bị thay đổi do các hoạt động hoặc sự can thiệp từ trung tâm điều khiển mạng.
• Khó thích ứng với các thay đổi về cấu hình mạng, cũng nh đáp ứng
Destination Route to Destination Route to
Destination Route to Destination Route to
Hình 1.3 Định tuyến trực tiếp theo danh mục
Route to Route to Destination Route to
Ma trận định tuyến đến
Ba tuyến tương ứng cần được cập nhật thường xuyên để tối ưu hóa bảng định tuyến Để tính toán, cần thiết lập tiêu chuẩn lựa chọn giữa các con đường, trong đó mỗi link trong mạng được gán một giá trị gọi là cost (hoặc weight) Thủ tục định tuyến dựa vào cost của các link, được tính toán dựa trên các tham số cố định như dung lượng, kích thước bộ đệm, trễ truyền lan, mức độ bảo mật và giá cả sử dụng link, cùng với các tham số thay đổi như mức độ chiếm dụng link, mức sử dụng bộ đệm, trễ trung bình và tỉ lệ lỗi Ví dụ về định tuyến theo danh mục thích nghi (Adaptive Directory Routing) trong mạng chuyển mạch gói cho thấy rằng mỗi chuyển mạch có bảng định tuyến trong bộ nhớ, với các lối vào có thể thay đổi theo điều kiện hoạt động Đường truyền hiện tại luôn đại diện cho tuyến tối ưu nhất tại thời điểm yêu cầu Phương án định tuyến tối thiểu trì hoãn truyền dễ dàng thực hiện nhờ vào khả năng ước lượng thời gian truyền của mỗi chuyển mạch, dựa trên tốc độ bit, tỉ lệ lỗi và số lượng bit trong hàng đợi Khi các node trao đổi thông tin trì hoãn, chúng có thể ước lượng toàn bộ trì hoãn truyền đến tất cả các đích trong mạng.
Nguyên tắc bảng trì hoãn có thể được minh hoạ qua hình vẽ 1 2, trong đó tốc độ bit được chỉ định cho mỗi đường Giả sử mỗi gói dữ liệu có 1000 bit, hình cũng thể hiện số lượng gói còn lại tại mỗi chuyển mạch Tại mỗi node, có một bảng trì hoãn được tính toán dựa trên tốc độ truyền và lưu lượng giao thông của từng đường Các bảng trì hoãn này chỉ đề cập đến các đường dẫn trực tiếp kết nối với chuyển mạch, nhằm đảm bảo rằng sự ước lượng được thực hiện một cách chính xác.
From To Delay From To Delay
From To Delay From To Delay
From To Delay From To Delay
Thời gian trễ tính bằng mili giây
Hình 1 - 4 Định tuyến thích nghi dùng một bảng trì hoãn tại mỗi nede chuyển mạch
Trì hoãn trên các đường nối trực tiếp đến node 5 được ghi nhận với thời gian 71ms đến node 2, 104ms đến node 3 và 312ms đến node 6 Mỗi node thực hiện việc trao đổi bảng trì hoãn với nhau để làm cơ sở cho các ước lượng kế tiếp, cụ thể là node 5 đang trao đổi thông tin với các node khác.
Bộ xử lý của node 5, bao gồm các thông tin từ các bảng 2, 3 và 6, thực hiện việc tính toán để tạo ra một bảng định tuyến sẵn có, cho đến khi có thông tin mới được cập nhật.
Hình 1-3 Thiết lập bảng định tuyến tại node 5
Trong bài viết này, chúng ta sẽ xem xét các độ trễ giữa các nút trong mạng Độ trễ từ nút 2 đến nút 1 là 104ms, từ nút 5 đến nút 2 là 71ms, và độ trễ tại nút 2 là 25ms, tổng cộng là 200ms Trong khi đó, độ trễ từ nút 3 đến nút 1 là 208ms, lớn hơn nhiều so với các lựa chọn khác, nên bị loại.
Hàng cuối cùng của bảng định tuyến thể hiện sự linh hoạt trong xử lý định tuyến Node 5 kết nối trực tiếp với node 6 với thời gian trì hoãn 312ms, trong khi node 3 cũng kết nối với node 6 nhưng chỉ với trì hoãn 89ms Thời gian trì hoãn từ node 5 đến node 3 là 104ms, và trì hoãn tại node 3 là 25ms, do đó tổng trì hoãn qua node 3 chỉ là 218ms, nhỏ hơn 8ms so với kết nối trực tiếp từ node 5 đến node 6 Điều này cho thấy rằng định tuyến từ node 5 đến node 6 sẽ đi qua node 3 thay vì kết nối trực tiếp, mặc dù trong thực tế, đây không phải là đường dài vật lý mà chỉ là đường dài logic.
Bảng định tuyến hiện tại cho thấy thông tin được định tuyến qua các node 2 và 3, trong khi node 6 bị bỏ qua do độ trễ quá lớn Tuy nhiên, sau 200ms, độ trễ giữa node 5 và 6 đã giảm xuống còn 112ms khi hàng đợi trên đường này được giảm Thời gian giữa hai lần cập nhật bảng định tuyến là yếu tố quan trọng; nếu quá dài, chi phí của các tuyến đường sẽ không còn chính xác, dẫn đến việc không đảm bảo tiêu chuẩn Ngược lại, nếu quá ngắn, khối lượng công việc tính toán sẽ tăng cao, gây ra sự thay đổi liên tục trong bảng định tuyến và có thể gây ra sự không đồng bộ trong việc truyền thông tin giữa các node.
Phân loại các phơng pháp định tuyến
Tổng quan
Một kỹ thuật định tuyến phải thực hiện hai chức năng chinh sau đây:
• Quyết định chọn đờng theo những tiêu chuẩn tối u nào đó
• Cập nhật thông tin định tuyến, tức là thông tin dùng cho chức năng 1
Có nhiều kỹ thuật định tuyến khác nhau, và sự phân biệt giữa chúng chủ yếu dựa trên các yếu tố liên quan đến hai chức năng chính Những yếu tố này thường là:
• Sự thích nghi với trạng thái hiện hành của mạng
• Sự phân tán của các chức năng định tuyến trên các node mạng
• Các tiêu chuẩn tối u để chọn đờng
Kỹ thuật định tuyến có thể được chia thành hai loại chính: định tuyến tĩnh (Static routing) hay còn gọi là định tuyến không thích nghi, và định tuyến động (Adaptive routing) hay kỹ thuật định thích nghi Ngoài ra, còn có sự phân loại theo cách thức quản lý, bao gồm định tuyến tập trung (Centralized routing) và định tuyến phân tán (Distributed routing).
Các phương pháp định tuyến có thể được phân loại theo cách tạo tuyến đường, bao gồm định tuyến nguồn và định tuyến từng bước Ngoài ra, chúng cũng có thể được phân chia dựa trên cấu trúc phân cấp của các node mạng, với định tuyến phân cấp và định tuyến không phân cấp.
Định tuyến thích nghi và không thích nghi
Định tuyến không thích nghi là một kỹ thuật định tuyến mà chỉ cần thực hiện một lần khi xây dựng mạng Thông tin định tuyến được lưu trữ trong các bảng định tuyến của các node và không được cập nhật khi chi phí của link thay đổi Để thay đổi thông tin trong bảng định tuyến, người quản lý mạng phải can thiệp trực tiếp.
Định tuyến không thích nghi là một kỹ thuật trong đó việc tính toán đường truyền tối ưu diễn ra nhiều lần trong quá trình mạng hoạt động Thông tin mạng được cập nhật và gửi đi sau một khoảng thời gian nhất định hoặc khi có sự thay đổi về cấu hình, giúp thực hiện định tuyến lại Một thuật toán đặc biệt trong định tuyến không thích nghi là định tuyến thích nghi cách ly, trong đó các node không trao đổi thông tin về tình trạng mạng, mà chỉ lựa chọn con đường dựa trên kết quả của các lần truyền trước đó.
Định tuyến tập trung và định tuyến phân tán
Một cách phân loại phương pháp định tuyến phổ biến là chia thành hai loại: định tuyến tập trung và định tuyến phân tán Định tuyến tập trung thực hiện tính toán tại một điểm duy nhất và sau đó chuyển kết quả đến các node trong mạng Ngược lại, định tuyến phân tán thực hiện tính toán trực tiếp tại các node trong mạng.
Trong định tuyến tập trung, trung tâm tính toán cần nắm rõ tất cả thông tin về mạng, với nhiệm vụ của các node là gửi thông tin cấu hình từ khu vực xung quanh về trung tâm Việc cập nhật thông tin tới tất cả các node cần một khoảng thời gian nhất định Độ tin cậy của trung tâm xử lý là rất quan trọng, vì sự cố tại đây có thể ảnh hưởng lớn đến hoạt động của mạng Do đó, định tuyến tập trung không được sử dụng phổ biến trong các mạng hiện nay.
Các thuật toán định tuyến ngắn nhất như Dijkstra và Floyd yêu cầu thông tin đầy đủ về mạng để hoạt động hiệu quả, điều này khiến chúng thích hợp cho xử lý tập trung Tuy nhiên, khi áp dụng trong mô hình phân tán, mọi node cần nắm rõ cấu hình mạng, dẫn đến việc phải cập nhật thông tin thường xuyên mỗi khi có thay đổi, làm tăng chi phí định tuyến Định tuyến phân tán mang lại độ tin cậy cao hơn cho mạng, vì khi một node gặp sự cố, các node lân cận vẫn có thể hoạt động bình thường Hơn nữa, bảng định tuyến tại mỗi node được cập nhật nhanh chóng hơn, cải thiện hiệu suất của hệ thống.
Định tuyến nguồn / từng bớc
Các phương pháp định tuyến có thể được phân loại dựa vào cách thức tạo ra tuyến đường Nếu tuyến đường được xác định ngay từ node nguồn, thì được gọi là định tuyến thông minh tại nguồn (Source-Intelligent), trong khi đó, nếu tuyến đường không được xác định ngay từ đầu và được phân thành nhiều đoạn bởi các node khác nhau, thì gọi là định tuyến từng bước (Hop-by-Hop hay Router-Intelligent).
Theo phương pháp định tuyến nguồn, mỗi gói tin cần mang theo toàn bộ thông tin về tuyến đường của nó, giúp các node chuyển tiếp gói tin dễ dàng Ngược lại, định tuyến từng bước chỉ yêu cầu gói tin mang địa chỉ đích, dẫn đến tiêu đề gói tin nhỏ hơn Phương pháp định tuyến từng bước nhanh chóng thích ứng với những thay đổi trong mạng, nhưng có thể gây ra việc gói tin bị chuyển đi theo vòng Trong khi đó, định tuyến nguồn đảm bảo gói tin đi thẳng tới đích mà không bị lạc hướng.
định tuyến phân cấp và không phân cấp
Trong định tuyến không phân cấp, tất cả các node được xem là ngang hàng, trong khi định tuyến phân cấp chia các node thành nhiều cấp khác nhau Các node ở các cấp khác nhau có khả năng định tuyến thông tin khác nhau Mặc dù định tuyến phân cấp đơn giản hơn, nhưng hiệu quả của nó không tốt bằng định tuyến không phân cấp.
Trong định tuyến phân cấp, các node chỉ cần nắm thông tin về các node đồng cấp trong cùng vùng, mà không cần biết cấu hình mạng ở các vùng hay cấp khác Khi cần định tuyến đến một node ở vùng khác, nhiệm vụ này sẽ được chuyển giao cho node cấp trên.
Trong định tuyến không phân cấp, mỗi node lưu trữ thông tin về tất cả các node trong mạng, yêu cầu bộ nhớ lớn và băng thông cao để trao đổi thông tin Ưu điểm của phương pháp này là khả năng xử lý lưu lượng tốt và độ tin cậy cao khi đối phó với lỗi Ngược lại, định tuyến phân cấp phụ thuộc vào các node cấp trên; nếu các node này gặp sự cố, mạng có thể bị tách ra thành nhiều phần không liên lạc được.
Chơng 2: Định tuyến trong một số mạng ®iÓn h×nh
Trong kiến trúc mạng phân tầng, tầng mạng có vai trò quan trọng trong việc chuyển gói tin từ nguồn đến đích (end-to-end) Để thực hiện nhiệm vụ này, tầng mạng cần nắm rõ cấu hình toàn bộ mạng và lựa chọn con đường phù hợp để đảm bảo quá trình truyền tải diễn ra hiệu quả.
Ta sẽ đi vào xem xét vấnđề định tuyến trong một số mạng cụ thể.
Định tuyến trong mạng Internet
Bộ giao thức TCP/IP
Bộ giao thức TCP/IP đợc đặt tên dựa theo hai giao thức quan trọng nhất của bộ giao thức này: TCP (Transmission Control Protocol) và IP (Internet Protocol)
2.1.1.1 Vấn đề kết nối liên mạng
Mục đích chính của thiết kế bộ giao thức TCP/IP là kết nối các mạng với nhau, hay còn gọi là kết nối liên mạng, nhằm cung cấp dịch vụ viễn thông qua các mạng khác nhau Cần phân biệt giữa ‘internet’ (liên mạng) và ‘Internet’ (mạng Internet toàn cầu) Kích thước của mạng thường bị giới hạn bởi số lượng người sử dụng và khoảng cách vật lý Việc kết nối liên mạng cho phép người dùng ở các vị trí địa lý xa xôi trao đổi thông tin Để kết nối hai mạng, cần một thiết bị có khả năng chuyển tiếp gói tin giữa chúng, gọi là bộ định tuyến (router), đôi khi còn được gọi là bộ định tuyến IP do chức năng định tuyến thuộc giao thức IP.
D, E, F là các bộ định tuyến Khi thực hiện định tuyến thông tin, các bộ định tuyến cùng kết nối tới một mạng con đợc coi là kết nối trực tiếp với nhau (H2-1b).
Các mạng được kết nối bởi các bộ định tuyến thường được gọi là các mạng con (subnetwork) Chúng được xem là một phần của mạng lớn hơn, bao gồm tất cả các mạng và bộ định tuyến, chứ không phải vì chúng nhỏ hay khác biệt so với mạng thông thường.
Giống nh tất cả các kiến trúc mạng khác, kiến trúc TCP/IP có kiểu phân lớp (gồm 4 lớp, xem H2-2 ).
H2-2 : KiÕn tróc ph©n líp TCP/IP
Lớp ứng dụng (Application) cung cấp giao diện cho các ứng dụng, cho phép người dùng tương tác với các tiến trình khác Ví dụ về các ứng dụng trong lớp này bao gồm Telnet và FTP, giúp người dùng thực hiện các tác vụ mạng một cách hiệu quả.
Lớp vận chuyển (Transport) đảm bảo khả năng truyền dữ liệu đầu cuối tới đầu cuối Giao thức phổ biến nhất trong lớp này là TCP (Transmission Control Protocol), cung cấp truyền dữ liệu tin cậy với khả năng báo nhận, kiểm soát lưu lượng và điều khiển nghẽn Một giao thức khác là UDP (User Datagram Protocol), hoạt động phi kết nối và không yêu cầu báo nhận.
Physical Mô hình tham chiếu OSI
Giao thức TCP/IP có thể gặp nghẽn khi có nhiều yêu cầu đồng thời Thông thường, UDP được ưa chuộng cho các ứng dụng cần tốc độ truyền nhanh, mặc dù có thể chấp nhận mất một lượng nhỏ thông tin.
Lớp mạng tạo ra một mạng ảo cho các lớp trên, bảo vệ chúng khỏi việc thấy cấu trúc của lớp vật lý bên dưới Giao thức IP (Internet Protocol) là giao thức quan trọng nhất trong lớp mạng, hoạt động theo nguyên tắc phi kết nối Tuy nhiên, IP không cung cấp tính năng truyền dẫn đáng tin cậy, kiểm soát luồng hay xử lý lỗi.
Lớp giao diện mạng, hay còn gọi là lớp liên kết dữ liệu, đóng vai trò quan trọng trong việc kết nối với phần cứng mạng Bộ giao thức TCP/IP không chỉ định cụ thể giao thức nào cần sử dụng ở lớp này, cho phép linh hoạt trong việc áp dụng bất kỳ giao diện mạng nào Điều này thể hiện sự đa dạng và khả năng thích ứng của lớp mạng trong việc tương tác với các thiết bị khác nhau.
Bộ định tuyến (router) đóng vai trò quan trọng trong việc kết nối các mạng ở lớp mạng và chuyển gói tin giữa các mạng Chúng cần hiểu cấu trúc địa chỉ lớp mạng để quyết định cách thức và hướng truyền gói tin Khi thực hiện định tuyến, bộ định tuyến đọc địa chỉ đích của gói tin và sử dụng bảng định tuyến để xác định đường truyền Ngoài ra, các bộ định tuyến còn có khả năng chọn ra đường truyền tối ưu và kích thước gói tin phù hợp nhất.
PhÝa thu Application Transport Network
Hệ tự trị
Mạng Internet được chia thành các phần nhỏ gọi là hệ tự trị (AS - Autonomous System), mỗi AS thường bao gồm nhiều mạng kết nối của một tổ chức Mỗi hệ tự trị được quản lý theo chính sách và chiến lược định tuyến riêng biệt Một AS có thể kết nối với AS khác do cùng một tổ chức quản lý hoặc với mạng khác.
Trong mạng Internet, có nhiều giao thức định tuyến khác nhau Một số giao thức được sử dụng để định tuyến trong một Hệ thống Tên miền (AS), trong khi những giao thức khác phục vụ cho việc định tuyến giữa các AS với nhau.
Interior Gateway Protocols (IGP) facilitate communication between routers within the same Autonomous System (AS) Notable examples of IGP include Open Shortest Path First (OSPF) and Routing Information Protocol (RIP), which enable efficient information exchange among routers.
Giao thức cổng ngoài (EGP) cho phép trao đổi thông tin giữa các hệ tự trị, với BGP (Border Gateway Protocol) là một ví dụ tiêu biểu.
2.1.3 Giao thức thông tin định tuyến (RIP)
RIP (Routing Information Protocol) là một giao thức định tuyến được thiết kế cho các hệ thống tự trị nhỏ, dựa trên giao thức định tuyến Xerox XNS Được triển khai sớm và chấp nhận rộng rãi, RIP đã được tích hợp vào hệ điều hành BSD trên nền tảng UNIX Đây là một trong những giao thức định tuyến theo véc tơ khoảng cách.
Vào giữa năm 1988, IETF đã phát hành RFC 1058 để mô tả hoạt động của hệ thống sử dụng RIP, mặc dù nhiều hệ thống RIP đã được triển khai thành công trước đó Kết quả là, một số hệ thống này không hỗ trợ tất cả các cải tiến của thuật toán véc tơ khoảng cách cơ bản, như cập nhật có điều kiện và đầu độc ngược.
Giao thức RIP định nghĩa hai loại gói có thể đợc gửi bởi bất cứ thiết bị nào chạy giao thức RIP:
Gói yêu cầu là một loại gói được sử dụng để yêu cầu các node lân cận cung cấp bảng vector khoảng cách của chúng Trong gói yêu cầu này, người gửi sẽ chỉ định rõ ràng node nào cần thông tin, đồng thời chỉ định liệu yêu cầu sẽ bao gồm chỉ một phần hay toàn bộ bảng vector.
Gói trả lời là loại gói được gửi bởi một node để thông báo thông tin trong bảng vectơ khoảng cách của nó Bảng này sẽ được gửi trong các tình huống nhất định.
- Bảng đợc gửi 30 giây một lần.
- Bảng đợc gửi để trả lời một yêu cầu từ một node RIP khác.
Hệ thống hỗ trợ cập nhật có điều kiện cho phép bảng được gửi khi có sự thay đổi trong bảng vectơ khoảng cách của node Khi một gói trả lời được chuyển tới node, thông tin trong gói tin cập nhật sẽ được so sánh với bảng vectơ khoảng cách của node đó Nếu gói tin cập nhật chứa thông tin về một tuyến có chi phí thấp hơn so với mục tương ứng trong bảng, mục đó sẽ được cập nhật bằng thông tin mới.
2.1.3.2 Định dạng các gói tin RIP
RIP sử dụng định dạng riêng để chia sẻ thông tin về khoảng cách đến các đích trong mạng, với gói tin RIP được gửi qua bản tin UDP trên cổng 520.
Gói RIP có kích thước tối đa là 512 octet, và nếu thông tin cập nhật lớn hơn giá trị này, nó cần được chia nhỏ và gửi qua nhiều gói Trong môi trường LAN, các gói RIP được phát đi với địa chỉ quảng bá lớp MAC và địa chỉ quảng bá IP, trong khi ở các môi trường điểm đến điểm hoặc không quảng bá, gói sẽ được gửi đến địa chỉ cụ thể của node cần liên lạc Định dạng gói tin RIP được mô tả chi tiết trong H2-5.
H2-5 : CÊu tróc gãi tin RIP
- Command: chỉ ra đây là gói tin yêu cầu hay gói tin trả lời.
- Version: Version của gói RIP (bằng 1)
- AFI: Chỉ ra loại địa chỉ đợc sử dụng (Với IP, AFI = 0x0002).
- IP Address: Địa chỉ IP của node đích của mục định tuyến.
- Metric: Số hop để tới đích Có thể có các giá trị từ 1 đến 16 Giá trị
16 có nghĩa là đích tơng ứng không thể tới đợc
Các trường AFI, địa chỉ IP và Metric chứa thông tin về một mục trong bảng định tuyến, trong khi một gói tin RIP có thể chứa thông tin của tối đa 25 mục.
2.1.3.3 Các mode hoạt động của RIP
Một node sử dụng RIP có hai mode hoạt động sau:
Trong chế độ chủ động, các node thực hiện việc nhận và gửi thông tin định tuyến tới các node lân cận một cách đồng thời Thông thường, các router được cấu hình để hoạt động hiệu quả trong chế độ này.
Trong chế độ bị động, node chỉ nhận cập nhật từ các node lân cận mà không phát thông tin cập nhật ra ngoài Thông thường, các trạm cuối được cấu hình để hoạt động trong chế độ này.
2.1.3.4 Tính toán các vec-tơ khoảng cách
Bảng vec tơ khoảng cách mô tả từng mạng đích Các mục trong bảng này - chứa những thông tin sau:
Mạng đích đợc mô tả bởi mục đó trong bảng
Cost tơng ứng của tuyến tốt nhất tới đích Nh đã nói, cost ở đây đợc tính theo số bớc nhảy (hop) Mỗi link có cost bằng 1
Địa chỉ IP của node tiếp theo trên con đờng dẫn tới mạng đích
Khi một node nhận thông tin cập nhật bảng định tuyến, nó sẽ áp dụng thuật toán định tuyến theo vec-tơ khoảng cách để điều chỉnh bảng định tuyến của mình.
H2- 6 mô tả bảng vec tơ khoảng cách cho ba bộ định tuyến trong một liên - mạng đơn giản
Bảng của R2 Bảng của R3 Bảng của R4 §Ých Node sau Hop §Ých Node sau Hop §Ých Node sau Hop
H2- 6: Bảng vec tơ khoảng cách -
RIP có rất nhiều điểm hạn chế:
Giao thức thông tin định tuyến phiên bản 2 (RIP -2)
Tổ chức IETF đa ra hai phiên bản RIP:
RIP phiên bản 1 (RIP 1 hay RIP): Đây là giao thức đợc mô tả trong - RFC 1058
RIP phiên bản 2 (RIP 2) là một giao thức vector khoảng cách được phát triển để sử dụng trong hệ thống tự trị AS, nhằm khắc phục những hạn chế của RIP phiên bản 1 Giao thức này được mô tả trong RFC 1723 và chính thức phát hành vào cuối năm 1994.
RIP-2 có những cải tiến sau so với RIP:
RIP 2 hỗ trợ CIDR và VLSM, cho phép sử dụng siêu mạng và mặt nạ mạng con có chiều dài thay đổi Đây là lý do chính cho sự phát triển của chuẩn mới này, giúp RIP 2 tương thích với các phương thức địa chỉ hóa phức tạp mà RIP-1 không hỗ trợ.
Hỗ trợ chuyển gói đa điểm là một cải tiến quan trọng cho giao thức RIP, cho phép thực hiện chuyển gói đa điểm thay vì chỉ quảng bá đơn giản như trước Cải tiến này giúp giảm tải cho các trạm, không còn phải chờ đợi các bản tin RIP 2 Để đảm bảo tính tương thích với RIP 1, tùy chọn này sẽ được cấu hình cho từng giao diện mạng.
RIP 2 cung cấp hỗ trợ nhận thực cho tất cả các node phát thông tin định tuyến, giúp ngăn chặn những thay đổi có dụng ý xấu đối với bảng định tuyến.
Hỗ trợ RIP 1: RIP 2 tơng thích hoàn toàn với RIP- - -1
Tuy nhiên, bởi tơng thích hoàn toàn với RIP 1, RIP 2 vẫn giới hạn chiều - - dài tối đa của một tuyến đờng là 15
2.1.4.1 Định dạng bản tin RIP-2
RIP 1 đã đợc thiết kế để hỗ trợ các cải tiến trong tơng lai do vậy RIP- -2 có thể lợi dụng đặc điểm này Bên trong gói tin RIP 1 đã chứa sẵn trờng Version - và hơn 50% các octet trong gói còn cha đợc sử dụng. Định dạng gói của RIP 2 nh trong - H2-7:
H2-7 : Định dạng gói tin RIP -2
Gói RIP 2 tương tự như gói RIP-1, với điểm khác biệt chính là trường version có giá trị là 2 Ngoài ra, 20 octet dành cho mục đầu tiên có thể được thay thế bằng thông tin nhận thực.
- Authentic Type: nếu bằng 0, coi nh là không có thông tin nhận thực, nếu bằng 2 thì trờng tiếp theo sẽ mang thông tin nhận thực
- Authentication Data: Trờng này chứa 16 byte password.
Route Tag là một yếu tố quan trọng để phân biệt giữa tuyến trong (internal route) và tuyến ngoài (external route) Tuyến trong được xác định thông qua thông tin từ giao thức RIP, trong khi tuyến ngoài nhận thông tin từ các giao thức khác.
2.1.4.2 Những hạn chế của RIP-2
RIP 2 đã đợc phát triển để khắc phục rất nhiều hạn chế trong RIP- -1 Tuy nhiên những hạn chế của RIP 1 nh giới hạn về số hop hay khả năng hội tụ - chậm vẫn còn tồn tại trong RIP-2
RIP 2 có những hạn chế trong quá trình nhận thực, đặc biệt là việc không mã hóa mật khẩu mà truyền dưới dạng ký tự thông thường Điều này làm tăng nguy cơ mạng bị tấn công bởi những kẻ có kết nối vật lý trực tiếp tới hệ thống.
RIPng cho IPv6
RIPng (RIP next generation) được phát triển nhằm cho phép các bộ định tuyến trong mạng sử dụng IPv6 trao đổi thông tin để tính toán tuyến Chuẩn này được quy định trong RFC 2080.
RIPng là một giao thức vectơ khoảng cách tương tự như các giao thức khác trong tập giao thức RIP, được thiết kế để hoạt động trong một hệ tự trị Giao thức này sử dụng thuật toán và định thời giống như RIP-2.
Trong RIPng vẫn còn những hạn chế thừa hởng của các giao thức vec-tơ khoảng cách nh hạn chế về giá tuyến và thời gian hội tụ
2.1.5.1 Sự khác biệt giữa RIPng và RIP-2
Có hai điểm cơ bản phân biệt RIP 2 và RIPng:-
RIP 2 hỗ trợ nhận thực cho tất cả các node phát thông tin định tuyến, trong khi RIPng không có tính năng này và thay vào đó sử dụng các tính năng an toàn của IPv6 Các tính năng an toàn này không chỉ hỗ trợ mã hóa từng gói tin RIPng mà còn giúp kiểm soát số lượng thiết bị nhận thông tin định tuyến Một hệ quả của việc áp dụng các tính năng an toàn từ IPv6 là trường AFI trong gói tin RIPng đã bị loại bỏ, do không cần thiết phải phân biệt giữa các đầu mục nhận thực và đầu mục định tuyến trong một bản tin quảng cáo.
RIPng đã được cập nhật để hỗ trợ các định dạng địa chỉ IPv6, với các trường trong gói tin được điều chỉnh nhằm tương thích với địa chỉ dài của IPv6.
2.1.5.2 Định dạng gói tin RIPng Định dạng gói tin RIPng tơng tự nh gói tin RIP 2 Cả hai đều chứa 4 octet - tiêu đề lệnh, theo sau là các mục định tuyến, mỗi mục gồm 20 octet
Việc sử dụng trường command và trường version trong gói tin RIPng tương tự như trong RIP 2, nhưng các trường chứa thông tin định tuyến đã được điều chỉnh để tương thích với địa chỉ IPv6 dài 16 octet Các trường này hoạt động khác so với các trường tương đương trong RIP 1 và RIP 2 Để xác định con đường tiếp theo tới đích, RIPng sử dụng 20 octet chứa thông tin về đích (H2-8a) và 20 octet chứa thông tin về bước tiếp theo (H2-8b).
H2-8 : Mục định tuyến trong RIPng (a) thông tin về đích
(b) thông tin về hớng tiếp theo.
Sự kết hợp giữa trường IPv6 Prefix và trường Prefix Length được sử dụng để xác định địa chỉ đích Trường Metric có kích thước 1 octet, nhưng vẫn thừa thãi vì giá trị tối đa của trường này chỉ là 16 Trường IPv6 Next Hop cũng đóng vai trò quan trọng trong việc định tuyến.
Address mang địa chỉ của node tiếp theo trên con đờng tới đích.
Một gói tin RIPng sẽ có dạng nh H2-9:
Trong gói tin ví dụ, ba đích đầu tiên không có chỉ báo nhảy kế tiếp, cho phép đi trực tiếp qua node phát gói tin Để đến đích 4 và 5, cần phải đi qua node A, trong khi để đến đích 6, phải đi qua node B.
Giao thức OSPF
Giao thức OSPF (Open Shortest Path First) là một giao thức định tuyến nội bộ được phát triển để khắc phục những hạn chế của giao thức RIP, bắt đầu từ năm 1988 và hoàn thành vào năm 1991, với phiên bản mới nhất theo chuẩn RFC 2328 OSPF sở hữu nhiều tính năng vượt trội so với các giao thức vectơ khoảng cách, điều này đã giúp nó trở thành một lựa chọn phổ biến trong các mạng lớn Theo RFC 1812, OSPF được xác định là giao thức định tuyến động cần thiết cho bộ định tuyến IPv4 Dưới đây là các tính năng nổi bật đã góp phần vào sự thành công của OSPF.
Cân bằng tải giữa các tuyến cùng giá: Việc sử dụng cùng lúc nhiều tuyến cho phép tận dụng có hiệu quả tài nguyên mạng
Phân chia mạng một cách hợp lý giúp giảm thiểu thông tin phát ra trong các điều kiện bất lợi, đồng thời kết hợp các thông báo định tuyến và hạn chế việc phát tán thông tin không cần thiết về mạng.
OSPF cung cấp tính năng hỗ trợ nhận thực cho tất cả các nút phát thông tin quảng cáo định tuyến, giúp giảm thiểu nguy cơ thay đổi bảng định tuyến với mục đích xấu.
OSPF cho phép truyền tải thông tin về sự thay đổi tuyến một cách nhanh chóng, giúp rút ngắn thời gian hội tụ cần thiết để cập nhật topo mạng.
Hỗ trợ CIDR và VLSM: Điều này cho phép nhà quản trị mạng có thể phân phối nguồn địa chỉ IP một cách có hiệu quả hơn
OSPF là giao thức định tuyến dựa trên trạng thái liên kết, trong đó mỗi bộ định tuyến thực hiện thuật toán SPF để xử lý thông tin trong cơ sở dữ liệu trạng thái liên kết Thuật toán này tạo ra cây đường ngắn nhất, giúp xác định các tuyến đường tối ưu dẫn đến mạng đích.
2.1.6.1 Một số khái niệm dùng trong OSPF
Mạng OSPF (Autonomous System) được phân chia thành nhiều vùng, mỗi vùng bao gồm một nhóm mạng và bộ định tuyến logic Mỗi vùng có một tên nhận dạng 32 bit riêng biệt và có thể nằm trong một khu vực địa lý xác định.
Việc chia nhỏ AS nh vậy có những lợi điểm sau:
Trong một vùng mạng, các bộ định tuyến duy trì cơ sở dữ liệu mô tả các thiết bị và liên kết trong vùng đó, mà không biết về cấu hình của mạng bên ngoài Chúng chỉ nhận diện các tuyến dẫn tới các mạng ngoài, giúp giảm kích thước cơ sở dữ liệu cấu hình cần duy trì.
Các khu vực hạn chế sự phát triển của thông tin cập nhật trạng thái liên kết, dẫn đến việc phần lớn các LSA chỉ được phát đi trong một phạm vi nhất định.
Việc chia vùng giúp giảm tải xử lý cho CPU, đồng thời duy trì cơ sở dữ liệu cấu hình hiệu quả Các thuật toán SPF được giới hạn chỉ xử lý những thay đổi nội bộ trong một vùng nhất định.
Mỗi Autonomous System (AS) sử dụng OSPF cần có ít nhất một vùng, gọi là vùng backbone Các vùng khác có thể được thiết lập dựa trên cấu hình mạng hoặc các yêu cầu thiết kế khác.
Trong một Hệ thống Tự trị (AS), vùng backbone giữ vai trò kết nối vật lý với tất cả các vùng khác Mỗi vùng cần có khả năng truyền thông tin định tuyến trực tiếp đến vùng backbone, từ đó vùng backbone sẽ phân phối thông tin này đến các vùng còn lại.
• Router nội vùng, biên vùng và biên AS
Trong mạng OSPF, router đợc phân thành ba loại: nội vùng (Intra Area), - biên vùng (area border) và biên AS (AS boundary) (H2-10)
- Intra-Area Router: các router này nằm hoàn toàn trong một vùng OSPF Chúng lu trữ cơ sở dữ liệu về cấu hình của vùng đó
Router biên vùng (ABR) là loại router kết nối với hai hoặc nhiều vùng khác nhau, trong đó ít nhất một vùng phải là vùng backbone Các ABR lưu trữ cơ sở dữ liệu cấu hình cho từng vùng mà chúng kết nối và thực hiện các thuật toán SPF độc lập cho mỗi vùng.
Router biên AS (ASBR) là loại router nằm ở ngoại vi mạng OSPF, có chức năng kết nối và trao đổi thông tin giữa mạng OSPF và các môi trường định tuyến khác Nhiệm vụ chính của ASBR là thông báo cho mạng AS về các liên kết ra ngoài.
H2-10 : Các loại router trong OSPF.
Mỗi Router đợc gán một giá trị nhận dạng 32 bit (RID) Giá trị của RID xác định duy nhất thiết bị đó
• Các loại mạng vật lý
OSPF phân chia mạng vật lý thành 3 loại Chúng phân biệt với nhau dựa theo loại hình thông tin giữa các thiết bị kết nối trong mạng
Điểm tới điểm: các mạng loại này kết nối trực tiếp hai router
Đa truy nhập: mạng loại này hỗ trợ nhiều router cùng kết nối tới Loại này lại đợc chia thành hai loại con:
Các mạng quảng bá cho phép truyền tải gói dữ liệu tới tất cả các thiết bị một cách đồng thời Trong quá trình này, thiết bị phát sử dụng một địa chỉ đặc biệt được gọi là địa chỉ quảng bá, giúp tất cả các thiết bị khác nhận diện thông tin Các công nghệ như Ethernet và Token Ring thường áp dụng phương thức này.
Mạng không quảng bá không thể hoạt động hiệu quả, vì mỗi gói tin cần có một địa chỉ cụ thể để dẫn đến một Router nhất định Hai ví dụ điển hình của mạng đa truy nhập không quảng bá là X.25 và Frame Relay, cùng với OSPF.
BGP
BGP (Border Gateway Protocol) là giao thức cổng ngoài được thiết kế để trao đổi thông tin định tuyến giữa các hệ thống tự trị, đảm bảo tính khả thi của định tuyến mà không xảy ra vòng lặp.
BGP đợc mô tả trong RFC 1771 và là phiên bản 4 BGP đợc nhắc tới ở đây cũng là BGP phiên bản 4
2.1.7.1 Các khái niệm sử dụng trong BGP
Giao thức BGP sử dụng một số thuật ngữ và khái niệm riêng H2-12 minh hoạ các thuật ngữ này:
H2-12 : Thành phần của một mạng BGP
BGP speaker: một Router đợc cấu hình để hỗ trợ BGP
BGP neighbor (ngang hàng): một cặp BGP speaker trao đổi thông tin định tuyến với nhau Có hai loại BGP neighbor
- Neighbor trong (IBGP): là một cặp BGP speaker trong cùng một AS.
- Neighbor ngoài (EBGP): là một cặp BGP speaker thuộc hai AS khác nhau
Phiên BGP (BGP Session) là kết nối TCP giữa hai neighbor BGP, cho phép trao đổi thông tin định tuyến Các neighbor theo dõi trạng thái phiên thông qua việc gửi các gói tin duy trì.
Loại lu lợng: trong BGP định nghĩa hai loại lu lợng:
Lưu lượng nội được định nghĩa là lưu lượng dữ liệu mà bắt nguồn hoặc kết thúc trong một Hệ thống Tự trị (AS) Điều này có nghĩa là một trong hai địa chỉ, nguồn hoặc đích, phải nằm trong cùng một AS.
Lưu lượng chuyển tiếp là tất cả các lưu lượng không phải là lưu lượng nội bộ và BGP cần tối thiểu hóa loại lưu lượng này Việc giảm thiểu lưu lượng chuyển tiếp giúp tối ưu hóa hiệu suất mạng và tăng cường tính ổn định của hệ thống.
Loại AS: BGP định nghĩa ba loại hệ thống tự trị:
- AS cụt: là AS chỉ có một kết nối tới các AS khác Một AS cụt chỉ có
- AS multihome: là AS có kết nối tới nhiều AS khác nhng không thể thực hiện chuyển tiếp lu lợng
AS chuyển tiếp là một loại AS kết nối với hai hoặc nhiều AS khác, chịu trách nhiệm quản lý cả lưu lượng nội bộ và lưu lượng chuyển tiếp Loại AS này có khả năng áp đặt các hạn chế đối với loại lưu lượng được phép chuyển tiếp qua mạng.
AS number: một giá trị 16 bit dùng để nhận dạng một AS
Tuyến AS: một tập hợp các số AS number mô tả tuyến đờng qua mạng
Chính sách định tuyến là tập hợp các quy tắc kiểm soát lưu lượng gói dữ liệu trong mạng Những chính sách này không được mô tả trong giao thức BGP, mà được sử dụng để cấu hình các thiết bị BGP Ví dụ, một thiết bị BGP có thể được cấu hình để
Một AS multihome có khả năng từ chối hoạt động của một AS chuyển tiếp bằng cách gửi thông tin về các mạng nội bộ của AS đó.
Here is a rewritten paragraph that conveys the same meaning while complying with SEO rules:"Một AS multihome có thể hoạt động như một AS chuyển tiếp đối với một tập hữu hạn các AS lân cận bằng cách gửi các bản thông tin định tuyến khác nhau cho các AS khác nhau, từ đó cho phép nó thích ứng với các yêu cầu định tuyến phức tạp và tăng cường khả năng kết nối mạng."
- Một AS có thể tối u việc phân bổ lu lợng bằng cách sử dụng một tuyến AS xác định để chuyển một số loại lu lợng xác định
2.1.7.2 Trao đổi thông tin IBGP và EBGP
BGP không thực hiện các hoạt động IGP trong AS mà hợp tác với IGP để thiết lập thông tin giữa các AS Trong một AS, BGP được sử dụng để thông báo các tuyến IGP, và những tuyến này được chuyển đến các thiết bị BGP trong AS khác H2-13 mô tả quá trình thông tin giữa các BGP đồng loại, với ví dụ có 4 AS, trong đó AS 2, 3 và 4 kết nối EBGP với AS1 Một lưới các phiên IBGP cũng tồn tại giữa các thiết bị BGP trong AS1.
H2-13 : IBGP và EBGP Mạng 10.0.0.0/8 nằm trong AS 3 Sử dụng BGP, sự tồn tại của mạng này đợc thông báo tới tất cả các AS khác:
R4 trong AS3 sử dụng kết nối EBGP của nó để thông báo về mạng kể trên với AS1
R1 trong AS1 sử dụng kết nối IBGP của nó để thông báo về mạng kể trên với R2 và R3
R2 trong AS1 sử dụng phiên EBGP để thông báo về mạng vào AS2, trong khi R3 trong AS1 sử dụng phiên EBGP 5 để thông báo về mạng vào AS4.
BGP và IGP đóng vai trò quan trọng trong việc truyền tải thông tin mạng Trong khi BGP chịu trách nhiệm chuyển giao thông tin giữa các Hệ thống Tự trị (AS), cả BGP và IGP đều được sử dụng để truyền tải thông tin bên trong một AS.
Trước khi thiết lập phiên BGP, các thiết bị ngang hàng cần thiết lập phiên TCP và xác nhận rằng thông tin định tuyến luôn sẵn có để kết nối với nhau.
- Các thiết bị EBGP đồng loại: chúng thờng kết nối tới cùng một mạng Thông tin định tuyến cần thiết để trao đổi các gói tin BGP là
- Các thiết bị IBGP đồng loại: chúng có thể nằm tại bất kỳ đâu trong
BGP không yêu cầu kết nối trực tiếp giữa các thiết bị, mà dựa vào IGP để xác định các thiết bị đồng loại Gói tin được chuyển giữa các thiết bị IBGP đồng loại thông qua các tuyến mà IGP cung cấp.
2.1.7.3 Các loại gói tin BGP
BGP sử dụng 4 loại gói tin:
OPEN: Dùng để thiết lập kết nối giữa hai node BGP ngang hàng
UPDATE: Dùng để chuyển các thông tin định tuyến giữa các node BGP
NOTIFICATION: Bản tin này đợc gửi đi khi phát hiện thấy lỗi
KEEPALIVE: Dùng để xác định xem các node ngang hàng còn có thể liên lạc đợc hay không
BGP (Border Gateway Protocol) là một giao thức định tuyến theo vec tơ khoảng cách, nhưng khác biệt so với các giao thức như RIP Thay vì lưu trữ thông tin về chi phí (cost) đến từng đích, các node BGP lưu trữ thông tin về toàn bộ tuyến đường Điều này có nghĩa là một node không gửi chi phí ước lượng đến các node lân cận, mà thay vào đó, nó thông báo chính xác tuyến đường mà nó đang sử dụng.
Trong các giao thức vectơ khoảng cách truyền thống, việc chọn đường tốt nhất dựa trên một thước đo duy nhất, như số bước, để so sánh các tuyến đường khả thi Tuy nhiên, định tuyến liên AS làm cho quá trình này trở nên phức tạp do không có sự thống nhất về thước đo đánh giá các tuyến đường ngoài Mỗi AS áp dụng các tiêu chí riêng để đánh giá hiệu quả của từng tuyến đường.
Thuộc tính của tuyến đờng
MPLS (Multi-Protocol Label Switching)
Giới thiệu
2.2.1.1 Mô hình định tuyến thông thờng
Trong mạng phi kết nối, các router thực hiện định tuyến ở tầng 3, nơi mỗi router độc lập quyết định hướng đi tiếp theo cho gói tin Hướng đi này được xác định dựa vào thông tin trong tiêu đề gói tin và kết quả từ thuật toán định tuyến Đối với mạng sử dụng giao thức IP, quá trình tìm tuyến đường cụ thể nhất trong bảng định tuyến so với địa chỉ đích của gói tin là rất quan trọng và cần được thực hiện tại tất cả các node trong mạng.
2.2.1.2 Mô hình định tuyến trong MPLS
Trong môi trường MPLS, định tuyến truyền tối ưu được thực hiện độc lập với việc sử dụng thông tin ở lớp 3 để tìm đường truyền end-to-end cho gói tin Khi gói tin vào mạng MPLS, nó sẽ được gán một nhãn tương ứng với con đường đã chọn Các router tiếp theo chỉ cần dựa vào nhãn này để xác định hướng đi, giúp giảm bớt yêu cầu xử lý ở mỗi router Việc xử lý tiêu đề MPLS đơn giản hơn so với tiêu đề lớp 3, vì chỉ cần tìm mục có nhãn giống hệt thay vì địa chỉ đích phù hợp nhất.
Ngoài u điểm về giảm đợc lợng xử lý của các node trong mạng, MPLS còn có thêm rất nhiều u điểm so với định tuyến lớp 3 thông thờng
Kỹ thuật lưu lượng là phương pháp định tuyến trong mạng nhằm đạt được sự cân bằng lưu lượng toàn mạng, đảm bảo rằng lưu lượng được phân bổ tỷ lệ với khả năng xử lý của các thiết bị mạng.
Việc định tuyến theo các giao thức thông thường có thể dẫn đến việc sử dụng tài nguyên mạng không hợp lý, với tình trạng cạn kiệt ở một số khu vực và thừa ở những nơi khác Để giải quyết vấn đề này, có thể đưa lưu lượng vào hàm tính cost của các link Tuy nhiên, phương pháp này gặp khó khăn trong các mạng có quá nhiều tuyến đường giữa hai điểm.
Định tuyến theo chất lượng dịch vụ (QoS routing) là khả năng lựa chọn tuyến đường để đảm bảo mức QoS yêu cầu cho mỗi luồng dữ liệu Các yêu cầu về QoS có thể bao gồm độ rộng băng, độ trễ và tỷ lệ mất gói tin.
MPLS cho phép dễ dàng lựa chọn các đường truyền chất lượng khác nhau cho từng loại gói tin thông qua việc phân loại gói tin dựa vào thông tin trong phần tiêu đề của lớp 3 và các lớp cao hơn Mỗi loại gói tin sẽ được gán một nhãn khác nhau, và quá trình phân loại chỉ cần thực hiện một lần Tại các node MPLS, gói tin sẽ không cần phải được phân loại lại nữa.
Hoạt động
2.2.2.1 Các khái niệm, thuật ngữ sử dụng trong mạng MPLS
FEC là tập hợp các gói tin lớp 3 được truyền trong mạng theo cùng một cách, sử dụng chung một con đường và mức độ ưu tiên Mặc dù các gói tin trong cùng một FEC có thể có tiêu đề lớp 3 khác nhau, chúng vẫn được xử lý đồng nhất trong quá trình truyền tải.
Một nhãn sẽ xác định một FEC duy nhất, và các thiết bị MPLS sẽ xử lý tất cả các gói có nhãn giống nhau theo cách tương tự.
Mỗi nhãn trong mạng MPLS mang ý nghĩa khác nhau tùy thuộc vào từng cặp node Điều này cho phép MPLS hoạt động hiệu quả trong các mạng lớn, vì nhãn của các gói tin có thể thay đổi trên mỗi đoạn đường trong mạng.
Nhãn MPLS có thể đợc đặt ở những vị trí khác nhau trong gói tin:
Nằm giữa tiêu đề lớp 2 và tiêu đề lớp 3
Nằm trong tiêu đề lớp 2 (ví dụ nh trong mạng ATM, các trờng VPI và VCI nhãn có thể đợc dùng để chứa nhãn MPLS)
Nằm trong tiêu đề lớp 3 (ví dụ, sử dụng trờng Flow Label trong tiêu đề của gói tin IPv6
Mỗi gói tin có thể có nhiều nhãn, đợc lu trữ theo kiểu ngăn xếp, hoạt động theo mô hình vào trớc ra sau (LIFO)-
LSR là một nút MPLS có khả năng chuyển tiếp gói tin dựa trên nhãn của nó Có hai loại LSR cơ bản được phân loại.
LSR biên là nút MPLS kết nối với nút không hỗ trợ MPLS Các LSR này được phân loại thành LSR hướng vào (Ingress LSR) khi thông tin đi vào mạng MPLS qua LSR đó, và LSR hướng ra (Egress LSR) khi thông tin rời khỏi mạng qua LSR này.
Các LSR còn lại đợc gọi là LSR lõi
Mỗi LSP cung cấp một danh sách các LSR mà các gói tin tương ứng với một FEC cần phải đi qua, tạo thành một danh sách có thứ tự và vô hướng.
• NHLFE (Next Hop Label Forwarding Entry)
NHLFE được sử dụng bởi các node MPLS để chuyển tiếp gói tin, với yêu cầu mỗi node phải có ít nhất một NHLFE cho mỗi FEC được chuyển qua NHLFE chứa các thông tin quan trọng liên quan đến quá trình chuyển tiếp này.
Bớc đi tiếp theo của gói tin
Các thao tác xử lý nhãn ở node đó (thao tác bóc dán nhãn):-
- Thay thế nhãn trên đỉnh ngăn xếp nhãn bằng một nhãn mới.
- Bóc nhãn ở trên đỉnh ngăn xếp đi.
- Thay thế nhãn ở trên đỉnh ngăn xếp bằng một nhã mới, sau đó thêm vào ngăn xếp một nhãn khác
Các thông tin khác phục vụ cho việc xử lý gói tin
• FTN (FEC- -to NHLFN map: chuyển đổi từ FEC sang NHLFN)
FTN đợc sử dụng bởi các node MPLS để xử lý các gói tin tới cha đợc gán nhãn, nhng cần gán nhãn trớc khi chuyển đi
Khi LSR chuyển tiếp gói tin, nó cần thực hiện quá trình tráo đổi nhãn, tương tự như cách thức chuyển thông tin trong mạng ATM qua các kênh ảo.
• Chuyển tiếp một gói tin đã dán nhãn:
Các LSR kiểm tra nhãn ở đỉnh ngăn xếp nhãn của từng gói tin đến và xác định NHLFE tương ứng Dựa trên NHLFE này, LSR sẽ xử lý nhãn và chuyển tiếp gói tin đi.
• Chuyển tiếp một gói tin cha gán nhãn
Khi nhận một gói tin có gán nhãn, LSR sẽ dựa vào tiêu đề lớp mạng và các thông tin cần thiết khác để xác định FEC cho gói tin Sau đó, LSR sẽ sử dụng FTN để xác định NHLFE tương ứng với FEC đó.
• Bóc nhãn ở node áp chót
Thay vì bóc nhãn MPLS ở node cuối cùng, nhãn này được bóc ở node kề trước đó Việc này diễn ra vì nhãn chỉ có tác dụng trong quá trình chuyển tiếp gói tin; khi node áp chót đã quyết định gửi gói tin đến node cuối cùng, nhãn không còn vai trò gì nữa.
2.2.2.3 Ngăn xếp nhãn và cấu trúc nhãn phân cấp
Một gói tin có thể mang nhiều nhãn, và các nhãn này được quản lý theo phương thức ngăn xếp, tức là vào trước ra sau Thứ tự trong ngăn xếp sẽ xác định mức độ ưu tiên của các nhãn.
Cấu trúc nhãn phân cấp được áp dụng khi một node MPLS cần chuyển gói tin tới một node MPLS khác trong cùng một LSP, nhưng không phải là hai router liên tiếp Để thực hiện điều này, một đường hầm phải được thiết lập giữa hai node Khi gói tin được chuyển qua đường hầm, node hướng vào sẽ bóc nhãn ở node gần cuối, trong khi các node nằm giữa sẽ xử lý nhãn theo cách thông thường.
Trong một mạng có một LSP , R2 và R3 là hai node đầu cuối của một đường hầm mặc dù không kết nối trực tiếp với nhau Thứ tự các LSR mà gói tin phải đi qua là: .
Một gói tin được truyền qua mạng theo LSP cấp 1 từ R1 đến R4 Khi gói tin di chuyển từ R2 sang R3, cần sử dụng LSP cấp 2 từ R2 đến R3 thông qua các nút R21, R22 và R23 Các thao tác trong quá trình truyền tin qua đường hầm cần được thực hiện một cách chính xác để đảm bảo tính toàn vẹn và hiệu suất của dữ liệu.
R2 nhận đợc gói tin đã gán nhãn từ R1 Gói tin này chỉ chứa một nhãn
R2 bóc nhãn này ra, thay vào đó là nhãn mà R3 hiểu đợc (La)
Phân phát thông tin về nhãn
Thông tin về nhãn đợc trao đổi giữa các node MPLS theo một trong hai phơng pháp:
Theo yêu cầu: Một LSR có thể yêu cầu biết nhãn tơng ứng với một FEC bằng cách gửi yêu cầu tới node kế tiếp trong FEC đó
Tự nguyện: Một LSR có thể tự phân phát các thông tin về nhãn tới các LSR khác mà không cần yêu cầu
Cả hai phơng pháp trao đổi thông tin về nhãn này có thể đợc sử dụng đồng thời ở trong mạng tại cùng một thời điểm.
Mạng ATM
Giới thiệu
Nhu cầu ngày càng tăng về dịch vụ nghe nhìn đã thúc đẩy sự phát triển của Mạng số tích hợp đa dịch vụ băng rộng (B-ISDN) CCITT đã chọn phương thức truyền dẫn không đồng bộ (ATM) cho mạng B-ISDN, sử dụng kỹ thuật chuyển mạch gói theo kiểu kênh ảo với tốc độ cao ATM hoạt động với các gói dữ liệu cố định, gọi là tế bào, có độ dài 53 byte (5 byte tiêu đề và 48 byte thông tin) Kênh ảo trong mạng cho phép truyền dữ liệu theo các tiêu chuẩn chất lượng dịch vụ (QoS) nhất định, bao gồm giới hạn mất tế bào, độ trễ và jitter Dựa trên các tiêu chuẩn này, thuật toán định tuyến sẽ tối ưu hóa hoạt động của mạng.
Mô hình phân lớp trong mạng ATM không hoàn toàn tương ứng với mô hình phân cấp OSI Theo mô hình OSI, tầng thấp nhất xử lý thông tin end-to-end là tầng mạng, trong khi mô hình mạng ATM thực hiện việc chuyển tế bào từ nguồn tới đích, với việc định tuyến cho các cell được thực hiện tại tầng ATM.
Định tuyến động trong mạng điện thoại
Nhiều phương pháp định tuyến đã được nghiên cứu và ứng dụng trong mạng điện thoại Những phương pháp này cũng có thể áp dụng cho mạng ATM, vì vậy trong phần này, chúng tôi sẽ điểm qua một số phương pháp đó.
Trong một mạng được kết nối đầy đủ với N điểm chuyển mạch, có tổng cộng J = N(N-1)/2 liên kết, mỗi liên kết j có dung lượng Cj (đơn vị kênh) Giữa hai điểm chuyển mạch có một đường trực tiếp và N2 đường hai link thay thế Mỗi link được gán một giá trị trung kế dự trữ (TR) rj Các phương pháp định tuyến thường chọn đường trực tiếp nếu có sẵn; nếu không, một trong các tuyến đường hai link thay thế sẽ được chọn nếu không vi phạm yêu cầu về TR Nếu tất cả các tuyến đường đều không khả thi, cuộc gọi sẽ không được thiết lập Các phương pháp này chủ yếu khác nhau ở cách lựa chọn tuyến đường hai link thay thế.
Phương pháp định tuyến động không phân cấp (DNHR) được giới thiệu và đã được áp dụng thành công trong mạng đường dài của AT&T vào cuối thập kỷ 80 Phương pháp này hoạt động bằng cách gán mỗi cặp node một tập hợp có thứ tự các tuyến đường hai link thay thế, với số lượng phần tử ít hơn nhiều so với các phương pháp truyền thống.
Khi thiết lập cuộc gọi, nếu đường trực tiếp đã đầy, các tuyến trong tập sẽ được kiểm tra lần lượt để tìm ra tuyến đường thay thế phù hợp với điều kiện TR Nếu không tìm thấy, cuộc gọi sẽ được coi là không thể thực hiện Sau mỗi khoảng thời gian (một phần 10 giây), các giá trị TR cho mỗi link và tập hợp các tuyến đường thay thế cho mỗi lớp sẽ được tính toán lại dựa trên số liệu trước đó và dự đoán lưu lượng Việc tính toán này được thực hiện tập trung, off-line, và được hỗ trợ hiệu quả nhờ vào hệ thống báo hiệu kênh chung CCS.
Phương pháp định tuyến thay thế linh hoạt (DAR) chỉ kiểm tra một tuyến đường thay thế khi tuyến trực tiếp rỗi, khác với DNHR Việc tính toán chỉ cần thực hiện cho TR sau mỗi khoảng thời gian, giúp giảm tải công việc Hơn nữa, báo hiệu trong mạng sử dụng DAR cũng hoạt động ít hơn, mang lại hiệu quả cao hơn trong quản lý mạng.
Phương pháp định tuyến tải tối thiểu (LLR) hiệu quả hơn so với DNHR và DAR, nhưng yêu cầu lượng thông tin trao đổi lớn hơn LLR lưu giữ thông tin về khả năng đáp ứng của tất cả các tuyến đường thay thế, trong đó khả năng đáp ứng của một tuyến hai link là giá trị nhỏ hơn giữa hai link Khi đường truyền trực tiếp đầy, LLR sẽ chọn tuyến đường thay thế có khả năng phục vụ lớn nhất, tức là tải hiện tại nhỏ nhất Nhờ đó, tải trên các tuyến đường thay thế được phân bố đều.
LLR là nền tảng cho phương pháp định tuyến mạng thời gian thực (RTNR), được áp dụng trong mạng đường dài của AT&T từ đầu thập kỷ 90 Theo RTNR, khi tuyến đường trực tiếp bận, điểm chuyển mạch nguồn sẽ yêu cầu điểm đích gửi thông tin về tình trạng các liên kết nối tới điểm chuyển mạch đích thông qua mạng báo hiệu kênh chung Dựa vào thông tin nhận được và tình trạng các liên kết xuất phát từ tổng đài nguồn, tuyến đường thay thế có tải thấp nhất sẽ được chọn.
Phương pháp định tuyến phụ thuộc trạng thái (SDR), được phát triển bởi Bellcore, lựa chọn con đường dựa trên "giá" tương ứng với trạng thái của các tuyến đường tại thời điểm yêu cầu thiết lập cuộc gọi Giá của mỗi tuyến được tính toán dựa trên lưu lượng dự báo của tuyến đó.
Định tuyến trong mạng ATM
Mạng trong H2.2-17 bao gồm các chuyển mạch ATM được kết nối qua các đường link backbone tốc độ cao và các bộ ghép nối với các chuyển mạch ATM thông qua các access link Các đầu cuối, không được vẽ trong hình, sẽ kết nối trực tiếp với các bộ ghép Trong mạng này, không phải tất cả các chuyển mạch ATM đều được kết nối trực tiếp với nhau về mặt vật lý.
Để nâng cao hiệu quả của mạng, khái niệm về các đường ảo (VP) đã được giới thiệu Mỗi VP có một giá trị băng thông cụ thể và hoạt động trên nhiều liên kết liên tiếp Độ rộng băng thông của VP phải nhỏ hơn dung lượng của từng liên kết mà nó đi qua.
H2-18: Mạng ảo Khi thiết lập một kênh ảo (VC) để truyền thông tin giữa hai đầu cuối, việc chọn đường truyền là rất quan trọng Đường truyền này bao gồm một tập hợp các VP liên tiếp nhau Ví dụ, để tạo VC giữa hai điểm chuyển mạch a và b, có thể lựa chọn từ các tuyến đường như {1}, {5,2}, và {4,6} Nếu tuyến đường chỉ có một VP, nó được gọi là tuyến trực tiếp; ngược lại, nếu có nhiều VP, nó được xem là tuyến thay thế (gián tiếp).
Nh vậy, chúng ta có thể áp dụng các phơng pháp định tuyến trong mạng điện thoại vào trong mạng này.
Định tuyến trong mạng di động
Định tuyến trong mạng single-hop
Định tuyến trong mạng di động single hop khác biệt so với mạng không di động ở chỗ mạng cần xác định vị trí của người dùng di động mỗi khi truyền thông tin Người dùng được coi là di động khi vị trí kết nối với mạng của họ thay đổi theo thời gian Có hai loại người dùng di động: loại thứ nhất di chuyển từ nơi này đến nơi khác nhưng không di chuyển khi kết nối mạng (sử dụng kết nối hữu tuyến), trong khi loại thứ hai thay đổi vị trí ngay cả khi đang kết nối mạng.
Mỗi người dùng di động đều được gán một vị trí cố định trong mạng gọi là home location, cùng với một địa chỉ mạng ổn định Mục tiêu của định tuyến trong mạng di động là gửi thông tin đến người dùng dựa trên địa chỉ của họ, bất kể vị trí hiện tại của họ.
Khi user đi đến một vùng khác, họ phải đăng ký vào vùng này Quá trình ®¨ng ký thêng diÔn ra nh sau:
Theo định kỳ, các agent ngoài khu vực sẽ phát đi thông tin về sự hiện diện của chúng Khi một host di động mới đến, nó sẽ nhận được thông tin quảng bá này Đồng thời, host cũng có khả năng phát tín hiệu để kiểm tra sự hiện diện của các agent ngoài xung quanh.
Sau đó, host di động sẽ cho agent ngoài biết địa chỉ và home location của nã
Agent ngoài sẽ liên lạc với agent nhà của user di động đó, và thông báo rằng: “User có địa chỉ đang ở đây”
Agent nhà nhận đợc thông báo này, sẽ gửi lại cho agent ngoài đó một báo nhận
Sau khi agent ngoài nhận đợc báo nhận, nó sẽ thông báo lại cho host di
Khi ngời sử dụng rời khỏi một vùng, quá trình bỏ đăng ký cũng diễn ra tơng tự
Khi một thực thể muốn liên lạc với người dùng di động, trước tiên nó cần thiết lập kết nối với người dùng đó thông qua agent nhà của vị trí chính của họ Agent nhà sẽ xác định vị trí hiện tại của người dùng di động và gửi thông báo tới agent ngoài của khu vực đó, đồng thời cung cấp địa chỉ của agent ngoài cho thực thể muốn liên lạc Cuối cùng, thực thể này có thể kết nối trực tiếp với người dùng di động thông qua agent ngoài.
Khi cung cấp dịch vụ cho đầu cuối di động trong quá trình liên lạc, việc duy trì kết nối khi chuyển vùng là rất quan trọng Các phương pháp điều khiển chuyển vùng có thể được phân loại thành: Định tuyến lại toàn bộ tuyến kết nối, Mở rộng tuyến kết nối, Định tuyến lại một phần tuyến kết nối và Định tuyến lại theo kiểu Multicast Bài viết này sẽ giới thiệu sơ lược về các phương pháp này.
Định tuyến lại toàn bộ tuyến kết nối (Full Connection Re Routing) là phương pháp cho phép người dùng khi chuyển vùng, sau khi đăng ký với vùng mới, gửi thông tin về kết nối hiện tại của mình Dựa trên các thông tin này, tuyến kết nối mới sẽ được xác định, trong khi tuyến cũ sẽ bị hủy bỏ.
Khi người dùng chuyển vùng, việc mở rộng tuyến kết nối sẽ tạo thêm một đoạn kết nối từ vùng cũ đến vùng mới Phương pháp này đơn giản trong thực hiện nhưng không hiệu quả nếu người dùng quay lại vùng cũ, đồng thời gây lãng phí tài nguyên mạng khi người dùng di chuyển qua lại giữa hai vùng.
Định tuyến lại một phần kết nối là phương pháp cho phép khi thuê bao chuyển vùng, một điểm trên tuyến kết nối cũ được chọn ra Đoạn từ đầu tuyến kết nối đến điểm này sẽ được giữ nguyên cho tuyến mới, trong khi đoạn sau (từ điểm đã chọn đến vùng chứa người dùng) sẽ được xác định lại Phương pháp này yêu cầu thuật toán định tuyến xác định điểm sao cho tối ưu về đường truyền và đáp ứng yêu cầu thiết lập lại hướng truyền.
Định tuyến lại theo kiểu Multicast là một phương pháp cho phép tạo ra các tuyến đường mà người dùng có thể thiết lập kết nối khi chuyển vùng, giúp tối ưu hóa việc truyền tải dữ liệu.
Vì vậy, khi user chuyển vùng, thời gian xử lý của mạng giảm vì tuyến đờng để thiết lập kết nối đã có sẵn.
Định tuyến trong mạng ad- hoc
Mạng di động ad hoc (MANET) cho phép các thiết bị di động như laptop giao tiếp và trao đổi thông tin mà không cần mạng hữu tuyến, mang lại tính linh hoạt cao cho các yêu cầu kết nối đặc biệt Điều này đặc biệt quan trọng trong các lĩnh vực như an ninh, quân sự và y tế, nơi các nhóm người hoạt động ở những địa điểm không cố định Trong mạng này, do hạn chế về khoảng cách giữa các thiết bị truyền tin vô tuyến, mỗi node chỉ có thể liên lạc trực tiếp với một số node nhất định, trong khi các node khác chỉ có thể kết nối gián tiếp, do đó cần thiết phải thực hiện định tuyến để đảm bảo thông tin được truyền tải hiệu quả.
MANET có một số đặc điểm cơ bản sau:
§é réng b¨ng tÇn truyÒn dÉn nhá
Các node di động với tần số cao, cấu hình mạng liên tục thay đổi
Trong mạng MANET, có nhiều phương pháp định tuyến được sử dụng, thường được chia thành hai loại chính: proactive và reactive Định tuyến proactive yêu cầu mỗi node thường xuyên cập nhật bảng định tuyến của mình dựa trên thông tin từ các node khác, đảm bảo rằng đường truyền đã sẵn sàng khi cần truyền thông tin Ngược lại, định tuyến reactive, hay định tuyến theo yêu cầu, chỉ thực hiện việc định tuyến và thu thập thông tin khi cần tìm đường truyền.
Current proactive algorithms include Distance Vector (DV) and Destination-Sequenced Distance Vector (DSDV).
Reactive algorithms, such as Ad hoc On-demand Distance Vector (AODV) and Dynamic Source Routing (DSR), are notable for their ability to establish routes based on demand These algorithms efficiently manage network routing by creating paths only when needed, optimizing resource usage and enhancing overall network performance.
AODV là thuật toán định tuyến dựa trên DV, hoạt động theo cách chỉ định tuyến khi cần thiết Nó không yêu cầu các node trong mạng lưu trữ thông tin về các tuyến đường không được sử dụng Một số hoạt động cơ bản của AODV bao gồm việc thiết lập và duy trì các tuyến đường động trong mạng.
Khi một node cần gửi thông tin đến một đích, nó có thể không biết gì về node đó hoặc tuyến đường đã chọn có thể không còn hiệu lực Khi nhận được gói tin Route Request, nếu node biết đường đến đích trong yêu cầu, nó sẽ phản hồi với thông tin về tuyến đường hiện tại Nếu không, node sẽ tiếp tục chuyển tiếp gói tin yêu cầu đến các node khác.
Mỗi tuyến đường được lưu trữ trong bộ nhớ của node kèm theo một giá trị thời gian hiệu lực giống như Time-To-Live Giá trị này thường giảm dần theo thời gian, và mỗi khi tuyến đường được sử dụng, thời gian hiệu lực sẽ được cập nhật bằng cách cộng thêm một giá trị xác định Khi thời gian hiệu lực của tuyến đường hết, nó sẽ không còn khả năng sử dụng nữa.
Khác với các thuật toán định tuyến khác, DSV lưu trữ toàn bộ thông tin về tuyến đường, bao gồm tất cả các node trung gian, thay vì chỉ thông tin về node tiếp theo Khi gói tin được truyền đi, nó đã chứa sẵn thông tin về tuyến đường Nếu một node cần tìm đường truyền mà không có sẵn, nó sẽ thực hiện flooding gói tin Route Request (RReq), trong đó ghi lại thông tin về các tuyến đường đã đi qua Khi một node nhận gói tin RReq, nếu nó có đường đi tới đích, nó sẽ gửi phản hồi (RRep) trở lại node nguồn theo con đường đã ghi trong RReq để thông báo về tuyến đường tới đích.
Route Reply) Từ những RRep thu đợc, node nguồn sẽ lập ra đợc con đờng tới đích của mình
Mỗi node thường lưu trữ một số tuyến đường dự trữ cho mỗi đích để giảm thiểu số lần tìm đường truyền Khi một node nhận thấy tuyến đường đang sử dụng không còn khả dụng, nó sẽ chuyển sang tuyến đường dự trữ (nếu có) hoặc thực hiện tìm đường mới Đồng thời, node đó cũng gửi thông báo về tuyến đường mất hiệu lực đến các node phía sau để cập nhật thông tin.
Các thuật toán reactive mang lại lợi ích hơn so với các thuật toán proactive nhờ vào việc giảm thiểu lượng thông tin trao đổi về tình trạng mạng Tuy nhiên, một điểm hạn chế là chúng thường không tận dụng được con đường tối ưu.
Giao thức định tuyến trong ARPANET, do Bolt Beranek và Newman phát triển, là giao thức đầu tiên áp dụng phương pháp định tuyến theo trạng thái liên kết ARPANET, mạng chuyển mạch gói, thực hiện định tuyến ở tầng 2 theo mô hình OSI.
Các điểm chuyển mạch trong ARPANET, được gọi là node chuyển mạch gói (PSN), đóng vai trò quan trọng trong mạng lưới Vào thời kỳ phát triển mạnh nhất, ARPANET sở hữu khoảng vài trăm PSN, tất cả đều được kết nối qua các đường truyền dẫn nối tiếp đồng bộ.
Các tuyến đường được đánh giá dựa trên độ trễ khi truyền thông tin và được chọn từng bước một (hop by hop) Để hỗ trợ cho quá trình định tuyến, khoảng 1% lưu lượng đường truyền đã được sử dụng, cùng với 2% nhu cầu xử lý từ CPU, và thời gian phản hồi với các thay đổi trong mạng khoảng 100 mili giây.
Theo giao thức này, mỗi node tạo ra một thông báo trạng thái liên kết (LSA) chứa danh sách các node lân cận và thời gian trễ khi truyền trên link nối Thời gian trễ bao gồm các yếu tố như hàng đợi, xử lý, truyền lan, và thời gian truyền lại gói tin khi có lỗi Sự thay đổi trong giá trị trễ dẫn đến việc tạo ra LSA, cập nhật cấu hình mạng và cho phép giao thức đối phó với các link bị tắc nghẽn LSA chỉ được phát đi khi độ thay đổi giá trị trễ đạt ngưỡng xác định, ngưỡng này giảm dần theo thời gian và sau 60 giây sẽ về 0, dẫn đến việc phát LSA ngay cả khi không có thay đổi trong mạng Sau khi phát LSA, ngưỡng thay đổi trễ sẽ được đặt lại, giúp cân bằng lượng LSA phát đi trong mạng.
Mỗi LSA có độ dài trung bình khoảng 176 bit, dẫn đến lưu lượng dành cho flooding khá nhỏ so với lưu lượng người sử dụng Để tránh lỗi số thứ tự của LSA, một giá trị S, gọi là cửa sổ chấp nhận số thứ tự, đã được đưa ra Một LSA với số thứ tự X được coi là mới hơn LSA với số thứ tự Y nếu (X-Y) < S hoặc 0 < (N-S) < (Y-X), trong đó N là giá trị lớn nhất của không gian số thứ tự Tuy nhiên, quy định này có thể dẫn đến tình trạng tồn tại ba LSA của cùng một node với số thứ tự tương ứng là X, Y, Z, trong đó LSA X mới hơn LSA Y, LSA Y mới hơn LSA Z, và LSA Z lại mới hơn LSA X Để tránh tình trạng này, tốc độ phát LSA cần được chọn sao cho các LSA của cùng một node có số thứ tự chênh nhau không quá nửa không gian số thứ tự tại bất kỳ thời điểm nào trong mạng.
Tổng quan
Có nhiều thuật toán định tuyến với những ưu điểm và hạn chế riêng Khi thiết kế mạng, người thiết kế cần xem xét đặc điểm của mạng và các tiêu chí truyền thông tin để chọn thuật toán định tuyến phù hợp Các thuật toán định tuyến có thể được đánh giá dựa trên nhiều khía cạnh khác nhau.
Có nhiều thuật toán được sử dụng để chọn ra các đường truyền tối ưu hoặc gần tối ưu Để đánh giá mức độ tối ưu của một tuyến đường, cần xác định rõ tiêu chí tối ưu hóa Có nhiều tham số khác nhau có thể được sử dụng để đánh giá hiệu quả của một tuyến đường.
Số node phải đi qua
Hiệu suất sử dụng mạng
Mức độ xử lý tại node
Để đơn giản hóa việc mô tả các thuật toán, khái niệm 'độ dài' được đưa ra 'Độ dài' của tuyến đường phụ thuộc vào một hoặc nhiều tham số cụ thể Vì vậy, việc lựa chọn tuyến đường tối ưu thực chất là chọn con đường có độ dài ngắn nhất.
‘độ dài ngắn nhất’ Nhiều khi, ‘độ dài’ (length) của link còn đợc gọi là cost, hoặc weight Các cách gọi này mang ý nghĩa nh nhau
• Lợng tài nguyên mạng sử dụng để phục vụ việc định tuyến
Để thuật toán định tuyến hoạt động hiệu quả, việc sử dụng tài nguyên mạng là điều cần thiết Đánh giá chất lượng tài nguyên mạng thường dựa vào các yếu tố như độ phức tạp tính toán trong việc xây dựng bảng định tuyến, lượng bộ nhớ cần thiết và khối lượng thông tin trao đổi phục vụ cho quá trình định tuyến.
Thuật toán cần phải mạnh mẽ và ổn định, đảm bảo hoạt động hiệu quả trong mọi tình huống, bao gồm cả những trường hợp bất thường như lỗi truyền dẫn hoặc lưu lượng tăng đột ngột.
Tốc độ hội tụ là yếu tố quan trọng trong các mạng thay đổi liên tục, vì nó ảnh hưởng đến khả năng cập nhật thông tin định tuyến một cách kịp thời Nếu thuật toán có tốc độ hội tụ thấp, mạng sẽ không thể phản ứng nhanh với các thay đổi, dẫn đến tình trạng vòng lặp trong định tuyến và làm gián đoạn hoạt động của mạng.
Bảng chọn đờng cha cập nhật
Router 1 Router 2 §Ých: Node sau:
X R1 Bảng chọn đờng đã cập nhật
Tốc độ hội tụ thấp trong định tuyến dẫn đến tình trạng vòng lặp Khi mạng thay đổi, thông tin được cập nhật tại từng node, nhưng do độ hội tụ chậm, các bảng định tuyến được cập nhật không đồng bộ Điều này gây ra tình trạng khi gói tin cần chuyển đến node X, nó được định tuyến qua node R1 Khi đến R1, bảng định tuyến được cập nhật và xác định node tiếp theo là R2 Tuy nhiên, khi gói tin đến R2, bảng định tuyến chưa được cập nhật, khiến nó quay lại R1 theo thông tin cũ Kết quả là gói tin bị mắc kẹt giữa R1 và R2, không thể tới đích.
• Linh hoạt Định tuyến linh hoạt có nghĩa là mỗi khi trong mạng có sự thay đổi, việc
Xét đồ thị G = (V, E, L) với V là tập các đỉnh biểu thị cho các node trong mạng, E là tập các cung tượng trưng cho các link trong mạng, và W là tập giá trị độ dài của mỗi cung trong E Độ dài l ij ∈ L của cung {i,j} ∈ E nối đỉnh i với j ∈ V được coi là cố định trong một khoảng thời gian đủ để tìm ra con đường ngắn nhất Tuy nhiên, trong một số trường hợp, độ dài của link có thể phụ thuộc vào thời gian, tức là L = { l ij ( ij ) | ( i , j ) ∈ E } Đường đi ngắn nhất giữa đỉnh nguồn và đỉnh đích là chuỗi liên tục các cung nối s và d với khoảng cách ngắn nhất Khoảng cách ngắn nhất giữa hai đỉnh s và d có thể hình dung như việc kéo căng các cung trong đồ thị, tạo thành đường thẳng nối s với d.
Việc tìm con đường ngắn nhất trong đồ thị phụ thuộc vào cấu trúc của nó Đối với đồ thị hình cây, chỉ có một con đường duy nhất nối hai đỉnh, do đó con đường này tự động trở thành con đường ngắn nhất Ngược lại, trong đồ thị có chứa vòng, việc xác định con đường ngắn nhất trở nên phức tạp hơn, vì từ một đỉnh nguồn, có thể có nhiều con đường khác nhau để đến đỉnh đích.
Đồ thị cây và đồ thị có vòng là hai loại cấu trúc đồ thị quan trọng trong thuật toán định tuyến ngắn nhất Thuật toán này tìm ra con đường ngắn nhất giữa hai đỉnh trong đồ thị Khi áp dụng cho cùng một đồ thị và cặp đỉnh nguồn-đích, các thuật toán định tuyến ngắn nhất có thể tạo ra những con đường khác nhau, tức là chuỗi các cung khác nhau, nhưng độ dài của chúng luôn bằng nhau.
Các thuật toán khác nhau có các bước thực hiện riêng biệt, nhưng tất cả đều dựa trên nguyên lý chung trong tính toán Cụ thể, nếu k là một đỉnh nằm trên con đường ngắn nhất từ i đến j, thì đoạn từ i đến k phải là con đường ngắn nhất từ i đến k, và đoạn từ k đến j cũng phải là con đường ngắn nhất từ k đến j.
Từ đó, ta có công thức sau: k
Trong đó, d ij , d ik , d kj là khoảng cách ngắn nhất giữa hai đỉnh tơng ứng.
Khi thực hiện thuật toán, ta coi rằng, nếu giữa hai đỉnh i, j không có cung nối thì
Dựa vào tập hợp các l ij, chúng ta có thể tính cận trên d i của khoảng cách từ đỉnh đến tất cả các đỉnh i ∈ V Mỗi khi phát hiện điều kiện (d j + l ji < d i), cận trên d i sẽ được cải thiện.
Quá trình tìm kiếm độ dài con đường ngắn nhất từ đỉnh s đến đỉnh t kết thúc khi không còn cận trên nào có thể cải thiện giá trị d i Giá trị d i lúc này sẽ xác định độ dài con đường ngắn nhất, trong đó cận trên i d i được gọi là nhãn của đỉnh Việc tính toán các cận trên này được gọi là gán nhãn, và quá trình sử dụng nhãn của một đỉnh để gán lại nhãn cho các đỉnh khác được biết đến là quá trình quét.
Thuật toán Dijkstra là một trong những phương pháp hiệu quả nhất để tìm đường ngắn nhất, yêu cầu thông tin về toàn bộ đồ thị nhằm xác định lộ trình ngắn nhất từ một đỉnh đến các đỉnh khác Ngược lại, thuật toán Bellman Ford phù hợp cho tính toán phân tán, chỉ cần thông tin về các cung từ một đỉnh đến các đỉnh lân cận.
Hầu hết các thuật toán định tuyến ngắn nhất hiện nay đều dựa trên Dijkstra hoặc Bellman Ford Mỗi node trong mạng lưu giữ một bảng định tuyến, chỉ ra node tiếp theo trên con đường ngắn nhất và độ dài của nó Khi mạng thay đổi, thông tin cập nhật được chuyển qua các node lân cận hoặc quảng bá toàn mạng, từ đó các node tính lại bảng định tuyến của mình.
H3-3: Cây đờng đi ngắn nhất cho node đích d
Thuật toán tìm đờng ngắn nhất
Thuật toán Bellman Ford -
Khác với thuật toán Dijkstra, thuật toán Bellman quét các đỉnh theo thứ tự gán nhãn, không cần tìm đỉnh có nhãn nhỏ nhất Điều này có thể dẫn đến việc một đỉnh phải được quét nhiều lần, khác với Dijkstra, nơi mỗi đỉnh chỉ cần quét một lần.
Thuật toán Bellman hoạt động bằng cách quét từng đỉnh để gán nhãn cho các đỉnh khác, lặp lại quá trình này cho đến khi không còn đỉnh nào được gán nhãn lại Tuy nhiên, để tối ưu hóa, chỉ cần kiểm tra các đỉnh lân cận và quét những đỉnh đã được gán nhãn lại trong vòng lặp trước Để thực hiện điều này, một hàng đợi có thể được sử dụng để lưu giữ thứ tự quét các đỉnh cần xử lý Hàng đợi hoạt động theo nguyên tắc vào trước ra trước (FIFO), đảm bảo rằng các đỉnh được quét theo thứ tự gán nhãn, và nếu một đỉnh được gán nhãn lại sau khi đã quét, nó sẽ được đưa vào hàng đợi để xử lý sau.
Để hiểu thuật toán Bellman Ford, ta xem xét ví dụ với mạng có 6 đỉnh, trong đó A là đỉnh nguồn A được gán nhãn 0 và đưa vào hàng đợi Sau đó, khi quét A, đỉnh B và C được gán nhãn lần lượt là 5 và 1, và cũng được đưa vào hàng đợi Tiếp theo, quét đỉnh B, ta gán nhãn cho D và E với các giá trị 6 và 11, rồi đưa D và E vào hàng đợi Khi quét đỉnh C, B được gán nhãn mới là 4 và quay trở lại hàng đợi Tiếp theo, quét D, gán nhãn 10 cho F và đưa F vào hàng đợi Quét E, sau đó B được quét lần thứ hai, gán cho D và E nhãn mới là 5 và 10, và cả hai lại quay trở lại hàng đợi Cuối cùng, quét F mà không gán nhãn mới cho đỉnh nào, sau đó quét D gán nhãn 9 cho F và đưa F trở lại hàng đợi, và tiếp tục quét E và F.
H3- 6: Mạng ví dụ Thuật toán Bellman đợc mô tả:
(* Đầu vào: s ∈V là đỉnh xuất phát, a[u,v] u,v V, ma trận trọng số∈
Giả thiết: a[u,v] ≥ 0, u, v V ∈ Đầu ra: Khoảng cách từ đỉnh s tới tất cả các đích còn lại d[v], v ∈ V.
Trớc [v] , v V, ghi nhận đỉnh đứng trớc v trong đờng đi ngắn nhất từ s đến ∈ v
(* Khởi tạo *) for v ∈V do begin d[v] := a[s,v];
9 quét theo khoảng cách bớc (hop) tới đỉnh nguồn Đầu tiên, đỉnh nguồn đợc quét (hop
= 0), tiếp theo là các đỉnh lân cận đỉnh nguồn (hop = 1) Và cứ thế tiếp tục Do đó, ta thấy, một đỉnh có thể cần phải quét tối đa n-1 lần.
Trong thực tế, số lần quét trung bình của các đỉnh thường chỉ từ 3 đến 4 lần, ngay cả khi mạng có hàng ngàn đỉnh Đối với các mạng lớn, thuật toán Dijkstra tiêu tốn nhiều thời gian để tìm đỉnh có giá trị nhãn nhỏ nhất Vì vậy, thuật toán Bellman thường thực hiện nhanh hơn so với thuật toán Dijkstra.
Khi quét đỉnh C, ta đã gán nhãn lại cho đỉnh B, mà trước đó đã gán nhãn cho hai đỉnh D và E Sau khi hoàn tất việc quét C, ta tiếp tục quét D và E trước khi quay lại quét đỉnh B lần thứ hai Trong lần quét B thứ hai, ta lại gán nhãn cho D và E, dẫn đến việc phải quét lại hai đỉnh này Do đó, việc quét lại B cũng đồng nghĩa với việc quét lại D và E.
Từ vấn đề đó, chúng ta có thể giảm số lần quét D và E bằng cách đặt B vào đầu hàng đợi ngay sau khi nó được gán nhãn lại, nhờ đó tăng hiệu quả của chương trình đáng kể Để thực hiện điều này, chúng ta chỉ cần sửa đổi thuật toán một chút, cụ thể là sử dụng một hàng đợi có hai đầu vào và lưu thông tin về việc có mặt của một đỉnh trong hàng đợi hay chưa, cũng như thông tin về việc đỉnh đó đã từng ở trong hàng đợi hay chưa.
Tuy nhiên, với thuật toán Bellman Ford sửa đổi này, ta có thể gặp phải trờng - hợp vô cùng xấu, nh trong ví dụ sau (H3-7):
Khi gán nhãn các đỉnh lân cận theo thứ tự ABC, quá trình quét diễn ra như sau: R gán nhãn A là 11, B là 9, và tiếp tục như vậy Sau khi quét A mà không gán nhãn cho đỉnh nào, quét B gán nhãn cho A và đưa A vào hàng đợi, sau đó lại quét A Tiếp theo, quét C và gán nhãn lại cho A và B Quá trình này lặp lại cho đến khi A được gán nhãn và quét tổng cộng 2N-1 lần Mặc dù cách gán nhãn các đỉnh lân cận trong quá trình quét có thể xảy ra, trường hợp tương tự hiếm khi xuất hiện trong thực tế; nếu xảy ra thường xuyên, nên sử dụng thuật toán Dijkstra.
So sánh với thuật toán Dijkstra:
Cả hai thuật toán này đều là những thuật toán đơn giản, hiệu quả, dễ cài đặt, tuy nhiên có khác nhau ở một số điểm sau:
Thuật toán Dijkstra chỉ hoạt động hiệu quả trên các mạng có độ dài kênh dương, trong khi thuật toán Bellman có khả năng xử lý mạng có kênh độ dài âm, miễn là không có vòng nào có tổng độ dài âm.
Thuật toán Dijkstra yêu cầu thông tin về tất cả các đỉnh và cung trong đồ thị, trong khi thuật toán Bellman có khả năng tìm đường ngắn nhất từ một đỉnh bằng cách dựa vào thông tin đường ngắn nhất của các đỉnh lân cận và độ dài các cung kết nối với chúng.
Thuật toán Dijkstra có độ phức tạp tính toán là O(n²), trong khi đó, thuật toán Bellman-Ford có độ phức tạp O(n³) Tuy nhiên, khi áp dụng cơ chế quét với hàng đợi và chỉ kiểm tra các đỉnh lân cận của đỉnh đang quét, độ phức tạp của Bellman-Ford có thể giảm xuống chỉ còn O(m), với m là số cung trong đồ thị.
Thuật toán Floyd
Trong một số trường hợp, việc tìm đường đi tối ưu giữa tất cả các cặp đỉnh trong đồ thị là cần thiết Thay vì sử dụng các thuật toán tìm đường đi ngắn nhất từ mỗi đỉnh đến tất cả các đỉnh khác, có những thuật toán hiệu quả hơn Thuật toán Floyd là một trong những thuật toán như vậy, giúp tối ưu hóa quá trình tìm kiếm đường đi trong đồ thị.
Thuật toán Floyd dựa trên quan điểm sau: Nếu ta gọi d ij ( ) k là con đờng có
’độ dài ngắn nhất’ từ i tới j mà chỉ đi qua các đỉnh có số thứ tự nhỏ hơn hay bằng k, th×:
(k = d k− d k− +d k− d ij ij ik kj và dij ( ) 0 chính là l ij Thuật toán đợc mô tả nh sau:
Procedure Floyd; (Tìm đờng ngắn nhất giữa các cặp đỉnh)
(* Đầu vào:Đồ thị cho bởi ma trận trọng số a[i,j], i,j = 1,2, n. trong đó di,j] cho độ dài đờng đi ngắn nhất từ i đến j.
Ma trận ghi nhận đờng đi: p[i,j], i,j = 1,2, n, trong đó p[i,j] ghi nhận đờng đi trớc đỉnh j trong đờng ngắn nhất từ đỉnh i đến đỉnh j
(* Khởi tạo *) for i:=1 to n do for j:=1 to n do begin i,j i,j d[ ] := a[ ]; p[i,j] := i; end;
Thuật toán Mentor
3.2.4.1 Xây dựng tôpô mạng tối u bằng thuật toán Mentor
Khác với ba thuật toán tìm đường đi ngắn nhất giữa các cặp node ngang cấp trên một topo mạng đã có sẵn, thuật toán Mentor được sử dụng để xây dựng một topo mạng hoàn chỉnh với ba cấp độ (center, backbone, access) tối ưu về đường đi và các tham số khác trên những node đã biết trước.
Khác với các thuật toán truyền thống chỉ sử dụng một tham số mạng như chi phí hay lưu lượng, thuật toán Mentor yêu cầu tổng số lượng node N của mạng cùng với các tham số của từng cặp node để xây dựng một topo mạng chính xác.
• Độ dài link giữa tất cả các cặp node : Cost(i, j) i j V ∀ ≠ ∈
• Dung lợng max giữa tất cả các cặp node: Bmax (i, j) ∀ ≠ ∈ i j V
• Còn với i=j thì mọi tham số trên đều = 0
Khi tất cả các tham số trên đã đợc biết thì tôpô của mạng theo thuật toán Mentor sẽ đợc xây dựng theo các bớc sau:
Bớc 1: Tính toán các tham số cần thiết: W(i) và M(i)
- Tham số W(i) đợc gọi là trọng số của node i và đợc tính bằng công thức sau:
W(i) = ∑ (rij + rji) Trong đó r ij là tổng lu lợng đi ra khỏi node i (chinh la request(i,j)) r j i là tổng lu lợng vào node i (chinh la request(j,i))
Nếu trờng hợp lu lợng đi và về giữa các cặp node bằng nhau thì công thức trên sẽ thành:
- Tham số M(i) đợc gọi là moment node i và đợc tính bằng công thức sau:
Trong đó Cij : Độ dài link kết nối node i và node j (tức là cost(i,j))
Wj: Trọng số của node j
Bớc 2: Xác định node tâm của hệ node
Node tâm của hệ node theo thuật toán xây dựng Mentor sẽ đợc chọn là node có giá trị tham số moment nhỏ nhất tức la M(i) = min
Khi đã tính đợc tham số M(i) cho mọi node thi việc tìm node k có M(k) = min là một việc hoàn toàn đơn giản và cơ bản trong khi lập trình.
Node k có M(k) =min sẽ là node trung tâm (node Center) cố định của mạng
Bớc 3: Xác định các node backbone
Node backbone được xác định dựa trên trọng số của từng node Để xác định node backbone, cần đưa vào mạng một giá trị gọi là “trọng số chuẩn” Wth, làm cơ sở cho việc tìm kiếm node backbone.
Khi có giá trị Wth thì node backbone theo thuật toán Mentor sẽ đợc chọn là những node thoả mãn điều kiện :
Các node backbone thường không phải là toàn bộ node của mạng, điều này sẽ được làm rõ trong các bước tiếp theo.
Bíc 4: QuÐt t×m node access Để thực hiện bớc này ta cần biết 1 giá trị gọi là ban kính quét R
Sau khi xác định các node access ở bước 3, chúng ta sẽ tìm kiếm các node trong vòng tròn này để xác định node access cho node backbone.
Trong nhiều trường hợp, một node có thể nằm trong vùng quét của hai node backbone khác nhau Khi đó, node này sẽ trở thành access của node backbone nào có khoảng cách cost nhỏ hơn, tức là node gần hơn.
Sau bước này, chúng ta nhận ra rằng có khả năng tồn tại những node chưa được xét, không nằm trong vùng quét của bất kỳ node backbone nào Nếu trọng số tiêu chuẩn lớn, số lượng backbone tìm được trong bước 3 sẽ ít, và với giá trị bán kính R nhỏ, phạm vi quét node access cũng hạn chế, dẫn đến việc số lượng node còn thừa sẽ tăng lên Vấn đề này sẽ được giải quyết ở bước tiếp theo.
Bớc 5: Xử ly những node còn thừa (nếu xảy ra sau bớc 4) Để xử ly những node còn thừa, thuật toán Mentor đa ra 1 công thức sau:
Trong đó : - D là đờng kính mạng (là khoảng cách giữa 2 node xa nhất trong mạng)
Pc là tham số quyết định tầm quan trọng trong việc lựa chọn node Backbone dựa trên giá trị trọng số Wj và khoảng cách c Thông thường, giá trị của Pc được đặt là 0.5, nhưng có thể điều chỉnh theo nhu cầu của người dùng.
- Cj Clà độ dài đờng link trực tiếp từ node j tới node Center( tức là giá trị cost(j,center)
Sau khi tính toán giá trị F cho tất cả các node còn lại, thuật toán Mentor sẽ chọn node có giá trị F nhỏ nhất để trở thành một node backbone mới Tiếp theo, chúng ta cần thực hiện lại bước 3, quét các node access, với hệ thống node backbone đã được bổ sung thêm một node backbone mới.
Và kết quả là có thể sẽ có sự thay đổi “chủ” của các node access, nhng quan trọng nhất đó là node còn thừa sẽ giảm đi
Nếu sau bước này vẫn còn những node chưa được xét đến, chúng sẽ tiếp tục được xử lý theo bước 4 cho đến khi tất cả các node trong mạng đã được xem xét Điều này có nghĩa là mỗi node sẽ hoặc đã được chuyển thành backbone, hoặc trở thành access của một node backbone nào đó.
Bước 6: Xây dựng cây Mentor trên các node backbone và node center là giai đoạn quan trọng nhất trong quá trình thiết lập topo mạng Thuật toán Mentor tạo ra một cây liên kết giữa các node backbone và node center, đảm bảo rằng từ mỗi node backbone đến node center chỉ có một con đường duy nhất, đồng thời là con đường ngắn nhất theo một tham số nhất định.
F = ⋅ +(1− ) hoặc cũng có thể không qua node nào
Cây liên kết Mentor đợc xây dựng trên cơ sở công thức sau:
Trong đó: - Li là nhãn của node ihay nói cách khác đó là giá trị khoảng cách ngắn nhất tạm thời của node i tới node Center
α là một tham số quan trọng trong công thức Mentor, với giá trị nằm trong khoảng từ 0 đến 1 Giá trị của α ảnh hưởng trực tiếp đến hình dạng của cây liên kết nhánh.
+ αcàng gần tới 0 thì cây càng có dạng hình chuỗi hơn
Khi tham số α tiến gần tới 1, cây liên kết Mentor sẽ có hình dạng giống như một ngôi sao hơn, với tâm sao là node Center Cách xây dựng cây này dựa trên công thức trên sẽ được minh họa rõ ràng hơn trong phần tiếp theo thông qua ví dụ cụ thể.
Sau khi hoàn thành bước 6, việc xây dựng cây liên kết Mentor trên các node backbone và node Center đã tạo ra một tôpô mạng 3 cấp hoàn chỉnh với các kết nối từ access đến backbone và từ các node backbone đến Center Điều này cho phép xác định rõ ràng đường đi giữa hai node bất kỳ Tôpô mạng này không chỉ đảm bảo tính tối ưu về chi phí mà còn đơn giản trong kết nối, tránh được các kết nối chồng chéo.
Việc xây dựng tôpô mạng theo thuật toán Mentor sẽ được mô phỏng trực quan từng bước trong "Chương trình mô phỏng thuật toán Mentor" Chương trình này sẽ được trình bày rõ ràng và tỉ mỉ trong chương 4.
Trong mục tiếp theo dới đây ta sẽ xét một ví dụ cụ thể về việc xây dựng cây liên kết Mentor
3.2.4.2 Ví dụ minh hoạ xây dựng cây liên kết Mentor trên node backbone và center
Định tuyến thay thế linh hoạt
Giới thiệu
Định tuyến động trong mạng chuyển mạch kênh mang lại sự linh hoạt cần thiết để thích ứng với sự thay đổi liên tục về nhu cầu Nó giúp đối phó với vấn đề dự đoán lưu lượng không chính xác và giảm thiểu ảnh hưởng của các lỗi riêng lẻ trong mạng Khả năng cho phép cuộc gọi được kết nối qua nhiều con đường tùy thuộc vào thời gian hoặc trạng thái đường truyền, từ đó nâng cao hiệu quả sử dụng mạng.
Phương pháp định tuyến thay thế linh hoạt (DAR - Dynamic Alternative Routing) được British Telecom áp dụng là một chiến lược định tuyến đơn giản nhưng hiệu quả DAR xử lý định tuyến phân tán, tối ưu hóa quá trình truyền tải dữ liệu và nâng cao hiệu suất mạng.
Hình 3.15 Cây Mentor đã hoàn thành thông tin về mức trung kế dự trữ và tuyến đờng thay thế hiện tại.
DAR trong mạng kết nối đầy đủ
H3-8 : Mạng kết nối đầy đủ
Giả sử mạng có N node, mỗi link giữa hai node i và j có dung lượng Cij và giá trị dự trữ trung kế tương ứng Mỗi cặp node nguồn đích được gán một node trung gian k trong tuyến đường hai link thay thế Khi có yêu cầu truyền giữa hai node i và j, link trực tiếp sẽ được kiểm tra tính khả dụng Nếu link này rỗi, thông tin sẽ được truyền qua đó Ngược lại, tuyến đường thay thế qua node k sẽ được kiểm tra; nếu không vi phạm mức dự trữ rung kế, thông tin sẽ được truyền trên tuyến này Nếu không, việc truyền sẽ bị hủy, và node trung gian k sẽ được chọn lại tùy thuộc vào người thiết kế mạng Lưu ý rằng nếu truyền thành công trên đường trực tiếp hoặc đường thay thế, không cần chọn lại k.
Tính linh hoạt trong định tuyến tăng cường khả năng thành công của mỗi cuộc gọi, nhưng sự thành công này có thể ảnh hưởng tiêu cực đến việc thiết lập các cuộc gọi khác Do đó, cần xem xét hoạt động của mạng dựa trên từng cuộc gọi đơn lẻ để đảm bảo hiệu quả tổng thể.
Khái niệm dự trữ trung kế được áp dụng để giới hạn số kênh sử dụng trên mỗi link trong mạng Mỗi link được gán một giá trị đặc trưng cho số kênh cần dự trữ, và mỗi cuộc gọi được phân loại theo mức độ ưu tiên Cuộc gọi có mức ưu tiên cao sẽ được cấp quyền sử dụng link nếu còn kênh rỗi, trong khi cuộc gọi có mức ưu tiên thấp chỉ được phép sử dụng link khi số kênh rỗi vượt quá mức dự trữ trung kế.
Trong DAR, khi sử dụng đờng trực tiếp (một link), cuộc gọi đợc đặt mức
Khi sử dụng tuyến hai link, cuộc gọi sẽ chỉ được gán mức ưu tiên thấp, trong khi tuyến một link luôn được ưu tiên cao hơn Tuy nhiên, do một số khó khăn trong việc xử lý, giá trị dự trữ trung kế thường chỉ được xem xét ở link đầu tiên, trong khi giá trị này bị bỏ qua ở link thứ hai.
Việc sử dụng các tham số dự trữ trung kế là cần thiết để đảm bảo rằng trong điều kiện quá tải, hai tuyến đường thay thế sẽ không được sử dụng, vì việc sử dụng tuyến thay thế yêu cầu gấp đôi lượng tài nguyên mạng Điều này vẫn đúng ngay cả khi giá trị dự trữ trung kế rất nhỏ; ví dụ, với một link có 5000 kênh, chỉ cần khoảng 4 đến 5 tham số dự trữ là đủ để đảm bảo mạng hoạt động hiệu quả.
DAR trong mạng nhiều node cấp trên (dual parent) -
Mạng hai cấp bao gồm mạng lõi được kết nối đầy đủ, trong khi các node trong mạng truy nhập chỉ kết nối với một số node trong mạng lõi, được gọi là node cha Trong hệ thống của British Telecom, các node trong mạng lõi được gọi là đơn vị chuyển mạch số chính (DMSU), trong khi các node trong mạng truy nhập được gọi là điểm chuyển mạch nội hạt (LE).
Giả sử mỗi node ở mạng truy nhập có hai node cha Một cuộc gọi xuất phát từ
LE được kết nối tới node cha trong mạng lõi, tạo ra bốn tuyến đường trực tiếp nối DMSU giữa hai LE Cả LE nguồn và LE đích đều kết nối với hai DMSU: DMSU chính và DMSU dự phòng Ngoài bốn tuyến đường trực tiếp, cuộc gọi còn có thể được kết nối qua bến tuyến đường dự phòng thay thế.
Trong mạng liên kết đầy đủ hoạt động theo kiểu DAR, cuộc gọi có thể được truyền qua đường trực tiếp hoặc qua một trong hai đường thay thế Đối với mạng này, mỗi cuộc gọi có nhiều cơ hội hơn, bao gồm bốn đường link trực tiếp trong mạng lõi và bốn tuyến đường thay thế hai link.
Sau đây, chúng ta xem xét một số phơng pháp định tuyến truyền trong mạng nhiều node cấp trên
3.3.3.1 Định tuyến một node cấp trên
Phương pháp định tuyến một node cấp trên (SPR) cho phép cuộc gọi được khởi tạo bằng cách chọn một node cha cho node nguồn và một node cha cho node đích mà không cần xem xét trạng thái mạng Cuộc gọi này sẽ đi vào mạng lõi thông qua node cha đầu tiên và ra khỏi mạng lõi qua node cha thứ hai Giữa hai node cha, có thể sử dụng đường link trực tiếp với mức ưu tiên cao hoặc tuyến hai link qua node trung gian khác trong mạng lõi.
3.3.3.2 Phơng pháp ‘tải tối thiểu’
Theo nguyên tắc tải tối thiểu, khi mỗi node trong mạng truy nhập có hai node cấp trên, quá trình khởi tạo cuộc gọi sẽ kiểm tra tất cả bốn đường link trực tiếp trong mạng lõi Đường link nào có lượng kênh rỗi lớn nhất sẽ được chọn Nếu cả bốn đường link này đều không còn kênh rỗi, việc thiết lập cuộc gọi sẽ được coi là không thành công.
3.3.3.3 Phơng pháp ‘cơ hội cuối cùng’
Phương pháp cơ hội cuối cùng sử dụng tham số dự trữ trung kế một cách khác biệt so với thông thường Đầu tiên, nó ngẫu nhiên chọn một cặp node cha Nếu đường link giữa hai node cha này đáp ứng điều kiện dự trữ trung kế, cặp này sẽ được xem xét để tối ưu hóa.
Theo phương pháp sticky, mỗi cặp node lưu giữ thông tin về một cặp node cha hiện tại Khi node i cần kết nối với node j, node i có hai node cha là i1 và i2, trong khi node j có hai node cha là j1 và j2 Khi thiết lập kết nối, hệ thống sẽ kiểm tra kênh nối giữa hai node cha i1 và j2 Nếu không kết nối được, node cha của j sẽ được đổi từ j2 sang j1 Nếu kết nối vẫn không thành công qua i1 và j1, cuộc gọi sẽ không thành công và node cha hiện tại của i sẽ chuyển thành i2.
Thông thường, người ta thường kết hợp phương pháp sticky với phương pháp cơ hội cuối cùng Hoạt động định tuyến sẽ diễn ra theo lược đồ đã được thiết lập.
Định tuyến theo vec tơ khoảng cách - (Distance-Vector Routing)
Giới thiệu
Các thuật toán định tuyến theo vector khoảng cách đã được áp dụng rộng rãi trong các mạng chuyển mạch gói từ nhiều thập kỷ trước, bắt đầu từ mạng ARPANET.
Nó được sử dụng rộng rãi nhờ vào sự đơn giản và khả năng tính toán phân tán, chỉ dựa vào thông tin cục bộ để xác định lộ trình đến đích.
Node cha hiện tại của i là i t , cha của j là j s có kênh rỗi trên i t j 1-s
Cuộc gọi sử dụng kênh nối i j
Cuộc gọi sử dụng kênh nối i j
Thay node cha hiện tại j là j 1-s
Trong quá trình đánh giá một đường truyền, ta sử dụng các tham số như độ trễ, tỉ lệ lỗi và cước phí truyền dẫn để xác định khả năng thực hiện cuộc gọi Giá trị gọi là cost của đường truyền, được tính dựa trên tổng cost của các link Đường truyền tối ưu là đường có cost nhỏ nhất, tuy nhiên trong một số trường hợp, cost của route có thể là hàm tích của cost các link, đặc biệt là khi xem xét tỉ lệ lỗi bit.
Cơ sở của các thuật toán định tuyến theo vec tơ khoảng cách là thuật toán - Bellman Ford đã nói ở trên.-
Tính toán lại cost
Trước khi có sự thay đổi về chi phí của các liên kết, tuyến đường từ node i đến node j phải đi qua node lân cận k với tổng chi phí là d Nếu sau khi thay đổi chi phí, node i nhận thông tin từ node lân cận k’ rằng chi phí tổng từ k’ đến j là d’ < d, node i sẽ cập nhật thông tin về tuyến đường tới node j Ngược lại, nếu node thông báo rằng chi phí tuyến đường từ k đến j tăng, node i sẽ thực hiện lại việc tính toán định tuyến tới node j.
Khi một node hoặc link bị hỏng, cần áp dụng biện pháp xử lý lỗi vì lỗi này không thể tự động khắc phục Việc thay đổi đường đi chỉ có thể thực hiện khi gửi thông tin cập nhật về chi phí, nhưng quá trình này không khả thi trong trường hợp lỗi Các giao thức định tuyến theo phương pháp vector khoảng cách cần có cơ chế xử lý tình huống này Chẳng hạn, giao thức RIP quy định chu kỳ gửi thông tin cập nhật giữa các node lân cận Nếu một node không nhận được thông tin cập nhật từ node lân cận sau một số chu kỳ nhất định, tất cả các đường đi qua node đó sẽ bị hủy và phải tính toán lại.
Đếm đến vô cùng
Thuật toán định tuyến theo vector khoảng cách có tốc độ hội tụ khác nhau tùy thuộc vào sự thay đổi của chi phí Nó phản ứng nhanh với thông tin tích cực nhưng lại chậm với thông tin tiêu cực Để minh họa, hãy xem xét một mạng gồm 5 nút H3-10, trong đó chi phí được xác định bằng số bước nhảy (hop).
Trong mạng RIP, khi một nút A bị hỏng, cost đến A sẽ được đánh giá là 'vô cùng' bởi tất cả các nút khác Khi A được khôi phục, B phát hiện rằng nút láng giềng bên trái của nó có cost bằng 0 đến A, do đó B cập nhật cost đến A là 1 Các nút khác vẫn cho rằng A bị hỏng với cost là 'vô cùng' Qua các chu
Thêi ®iÓm ban ®Çu ∞ ∞ ∞ ∞ Sau 1 lÇn cËp nhËt 1 ∞ ∞ ∞ Sau 2 lÇn cËp nhËt 1 2 ∞ ∞ Sau 3 lÇn cËp nhËt 1 2 3 ∞ Sau 4 lÇn cËp nhËt 1 2 3 4
Trong trường hợp thứ hai, khi mạng hoạt động tốt nhưng đường link từ node B đến node A bị hỏng, node B không nhận được thông tin nào về A từ phía bên trái và coi cost đến A theo hướng này là 'vô cùng' Trong khi đó, cost đến A theo hướng bên phải là 3, mặc dù con đường này thực tế không chính xác vì phải đi qua B Cost đến A từ các node C, D, E vẫn không thay đổi Sau lần cập nhật thứ hai, C nhận thông tin từ các node lân cận và xác định cost đến A là 4 Đến lần cập nhật thứ ba, B lại điều chỉnh thông tin của mình theo C, và quá trình cập nhật diễn ra chậm chạp cho đến khi tất cả các node đều có cost đến A là 'vô cùng'.
Thêi ®iÓm ban ®Çu 1 2 3 4 Sau 1 lÇn cËp nhËt 3 2 3 4 Sau 2 lÇn cËp nhËt 3 4 3 4 Sau 3 lÇn cËp nhËt 5 4 5 4 Sau 4 lÇn cËp nhËt 5 6 5 6 Sau 5 lÇn cËp nhËt 7 6 7 6 Sau 6 lÇn cËp nhËt 7 8 7 8
Trong trường hợp có sự truyền thông tin sai lệch giữa hai node C và B, dẫn đến việc hình thành một vòng lặp không cần thiết, giải pháp chia cắt hai hướng đã được đề xuất để khắc phục Theo giải pháp này, một node sẽ truyền thông tin chính xác về chi phí tới tất cả các node lân cận, ngoại trừ node mà nó sẽ đi tới Đối với node đó, nó có thể không truyền thông tin gì hoặc thông báo rằng chi phí là ‘vô cùng’ (phương pháp poison reverse) Cụ thể, trong ví dụ này, node C chỉ cập nhật thông tin chính xác về đường đi tới A cho node D, trong khi với node B, nó không gửi thông tin hoặc cho biết rằng chi phí tới A là ‘vô cùng’.
Giải pháp chia cắt hai hướng chỉ khắc phục tình trạng hai node trao đổi thông tin không chính xác, nhưng khi có ba node trở lên, vấn đề thông tin sai lệch vẫn có thể xảy ra, dẫn đến việc hình thành vòng lặp nhầm lẫn.
Xét mạng nh H3-11, cost vẫn là số bớc nhảy
Tại thời điểm ban đầu, mạng hoạt động hiệu quả với chi phí từ C tới D là 1, trong khi A và B có chi phí tới D là 2 thông qua C Khi đường liên kết giữa
Vậy là, cả A, B và C cùng rơi vào tình trạng ‘đếm tới vô cùng’ (Xem bảng 3.3) từ B từ C kquả từ A từ C kquả từ A từ B kquả
3.4.5 Cập nhật có điều kiện (Triggered Update)
Cập nhật có điều kiện là một cơ chế quan trọng giúp các mạng tối ưu hóa phương pháp cập nhật theo chu kỳ Quá trình này diễn ra ngay sau khi phát hiện sự thay đổi về cost của tuyến đường đến đích Để giảm thiểu phí tổn truyền dẫn, cập nhật có điều kiện chỉ thực hiện trên những tuyến đường có cost thay đổi Hơn nữa, quá trình này có thể bị trì hoãn, và trong thời gian đó, nếu có cập nhật định kỳ, cập nhật có điều kiện sẽ không được thực hiện.
Quá trình cập nhật có điều kiện bắt đầu khi một node không nhận được thông tin từ node khác trong khoảng thời gian quy định, dẫn đến việc node đó coi node kia không thể liên lạc Node này sau đó gửi thông tin cập nhật đến tất cả các node lân cận, nhưng chỉ những node có đường đi tới node kia mới phản hồi Các node không liên quan sẽ bỏ qua thông tin cập nhật Những node có liên quan sẽ tính toán lại đường đi và gửi thông tin cập nhật có điều kiện đến các node lân cận, từ đó thông tin này được lan truyền tới tất cả các node có đường đi tới node kia.
Với cơ chế cập nhật có điều kiện, vấn đề 'đếm đến vô cùng' sẽ được loại trừ nếu trong quá trình cập nhật thông tin không có sự thay đổi nào về tuyến đường đến đích đang được xem xét.
Cập nhật có điều kiện (Triggered Update)
Quá trình cập nhật có điều kiện bắt đầu khi một node không nhận được thông tin từ node khác trong khoảng thời gian quy định, dẫn đến việc node này cho rằng không thể liên lạc với node kia Node sẽ gửi thông tin cập nhật có điều kiện đến tất cả các node lân cận Trong số các node lân cận, chỉ những node có đường đi đến node bị ảnh hưởng mới phản hồi với thông tin cập nhật này, trong khi các node khác sẽ bỏ qua Các node liên quan sẽ tính toán lại đường đi đến node đó và tiếp tục gửi thông tin cập nhật có điều kiện đến các node lân cận Kết quả là thông tin cập nhật được lan truyền từ node gốc đến tất cả các node có đường đi đến node bị ảnh hưởng.
Với cơ chế cập nhật có điều kiện, vấn đề ‘đếm đến vô cùng’ sẽ được loại trừ khi thông tin cập nhật không có thay đổi về tuyến đường tới đích đang xét.
Định tuyến theo trạng thái liên kết (Link- stateRouting)
Giới thiệu
Định tuyến theo trạng thái liên kết là một phương pháp mạnh mẽ và linh hoạt hơn so với định tuyến theo vectơ khoảng cách, đã được áp dụng trong mạng ARPANET và hiện vẫn được sử dụng rộng rãi trong mạng Internet ngày nay.
Trong thuật toán định tuyến theo trạng thái liên kết, mỗi node trong mạng sở hữu một bản sao của cơ sở dữ liệu trạng thái (link state database) mô tả chi phí của các đường link giữa các node Cơ sở dữ liệu này được hình thành từ các thông báo trạng thái liên kết (LSA), mà mỗi node có nhiệm vụ tạo ra để mô tả tất cả các đường link kết nối tới mình Sau khi tạo ra LSA, node sẽ gửi thông báo này tới tất cả các node khác trong mạng.
Quá trình phân phát các LSA được thực hiện thông qua flooding, yêu cầu nhanh chóng và chính xác Trong thuật toán định tuyến theo trạng thái liên kết, việc các node có cơ sở dữ liệu giống nhau là rất quan trọng để chọn được những con đường chính xác và tránh vòng lặp Khi có sự thay đổi về trạng thái link, các node liên quan cần tạo ra các bản LSA mô tả sự thay đổi và gửi đến toàn mạng Mặc dù trong quá trình flooding, các node có thể có cơ sở dữ liệu khác nhau, nhưng chỉ sau một thời gian ngắn, tùy thuộc vào độ trễ truyền dẫn, việc đồng nhất dữ liệu sẽ được đảm bảo.
Sau khi node nhận được dữ liệu cập nhật, nó sẽ tiến hành tính toán để tìm đường truyền dựa trên cơ sở dữ liệu đó Phương pháp tính toán phổ biến nhất được sử dụng là thuật toán Dijkstra, hay còn gọi là thuật toán định tuyến ngắn nhất trước tiên (SPF).
Có thể mô tả thuật toán định tuyến theo trạng thái liên kết gồm 5 bớc:
Xác định các node lân cận.
Đánh giá các link để xác định cost
Xác định các node lân cận
Khi một node bắt đầu hoạt động, nhiệm vụ đầu tiên của nó là gửi một gói tin đặc biệt để kết nối điểm điểm với mỗi cặp node Trong mạng LAN, người ta thường coi LAN như một node ảo, kết nối điểm điểm tới tất cả các node khác Ví dụ, trong mạng LAN kết nối ba node A, C, F, nó được xem như một node N kết nối với cả ba node này.
Xác định cost cho mỗi link
Thuật toán định tuyến theo trạng thái liên kết yêu cầu mỗi node phải biết hoặc ước lượng cost của từng link kết nối Cost của link có thể được đánh giá qua nhiều tham số, như độ trễ truyền Ví dụ, để xác định cost, một gói tin ECHO có thể được gửi đi và thời gian từ khi gửi đến khi nhận lại sẽ được tính Ngoài ra, cost cũng có thể phụ thuộc vào lưu lượng của link, trong đó thời gian từ khi gói tin vào hàng đợi cho đến khi bắt đầu truyền cũng được xem xét Việc đánh giá cost dựa trên lưu lượng giúp thông tin được truyền qua các đường ít tắc nghẽn, nhưng đôi khi cũng có thể dẫn đến hiệu suất mạng không tối ưu.
Mạng được kết nối bởi hai đường CF và EI, trong đó phần lớn thông tin truyền giữa hai nửa chủ yếu theo đường CF, dẫn đến việc CF có chi phí cao hơn nhiều so với EI trong quá trình đánh giá Sau khi cập nhật bảng định tuyến, đường EI sẽ được chọn, khiến hầu hết lưu lượng giữa hai nửa tập trung trên đường này Tuy nhiên, trong lần đánh giá định tuyến tiếp theo, CF lại được ưu tiên chọn Kết quả là bảng định tuyến liên tục thay đổi, gây ra sự không hiệu quả trong hoạt động của mạng.
Thông báo trạng thái liên kết
Mạng được mô tả chính xác qua các thông báo trạng thái liên kết (LSA - Link State Advertisement) Mỗi LSA cung cấp thông tin về một phần nhỏ của mạng xung quanh một node Thông thường, LSA của một node chứa các thông tin quan trọng về cấu trúc và trạng thái của mạng.
Tên, hoặc mã nhận dạng của node đó
Danh sách các link nối tới node đó.
Node (hoặc một phần của mạng có thể quy thành một node) nối với đầu kia của mỗi link
Các dịch vụ, ứng dụng mà node đó cung cấp
Mạng nh H3-14 có cơ sở dữ liệu nh H3-15 được hình thành từ 5 LSA tương ứng với 5 node LSA của node A cho thấy node này kết nối với ba link: link đầu tiên nối A với B với chi phí 4, link thứ hai nối A với C có chi phí 3, và link thứ ba nối A với E với chi phí 1 Ngoài ra, LSA của node A cũng cho biết node này cung cấp dịch vụ cho Application1.
Sau khi thu thập LSA từ tất cả các node trong mạng, cùng với LSA của chính mình, mỗi node sẽ nắm rõ thông tin về cấu hình kết nối và trạng thái mạng Những thông tin này sẽ được sử dụng để tính toán định tuyến hiệu quả.
H3-15 : Thông báo trạng thái liên kết LSA - Thông thờng, một LSA còn chứa thêm nhiều thông tin khác nh:
Here is the rewritten paragraph:Khi nhiều LSA được tạo ra bởi cùng một node trong mạng, số thứ tự của LSA đóng vai trò quan trọng trong việc chọn ra LSA mang thông tin mới nhất, giúp đảm bảo rằng thông tin được cập nhật và truyền tải chính xác.
Tuổi (Age) của LSA: Giá trị này đợc dùng để kiểm tra xem LSA còn có giá trị nữa hay không
Checksum: Dùng để kiểm tra lỗi trong khi truyền LSA trên mạng hoặc khi lu LSA trong bé nhí
Ngoài ra, trong các giao thức khác nhau, LSA có thể bao gồm các trường chứa thông tin chi tiết hơn, chẳng hạn như chi phí của liên kết cho các dịch vụ khác nhau và tình trạng tắc nghẽn của nút.
Việc tạo các LSA (Link State Advertisement) khá đơn giản, nhưng điều quan trọng là xác định thời điểm thích hợp để thực hiện Có hai cách để tạo LSA: thứ nhất, thực hiện định kỳ sau một khoảng thời gian xác định; thứ hai, tạo LSA khi có sự thay đổi đáng kể trong mạng, chẳng hạn như khi link hoặc node thay đổi khả năng hoạt động, từ trạng thái hoạt động tốt sang hỏng hóc hoặc ngược lại.
Phân phát các LSA
Khi phân phát các LSA, yêu cầu chính là tốc độ và độ tin cậy Phương pháp thường được sử dụng là tràn lụt, trong đó mỗi node sẽ tăng dần số thứ tự khi phát đi LSA Mỗi node lưu giữ một danh sách các cặp giá trị (node, số thứ tự) Khi nhận LSA, node sẽ kiểm tra số thứ tự; nếu lớn hơn số thứ tự đã lưu, nó sẽ cập nhật cơ sở dữ liệu ngoại trừ link mà LSA được chuyển tới, ngược lại LSA sẽ bị bỏ qua.
Việc sử dụng số thứ tự trong các LSA cũng gặp phải một số rắc rối:
Khi số thứ tự tăng dần và vượt quá giới hạn biểu diễn của máy tính, hiện tượng tràn số sẽ xảy ra, dẫn đến sự rối loạn trong hoạt động của mạng Tràn số là vấn đề phổ biến khi biểu diễn các số tự nhiên.
Số 8 bit chỉ có giá trị tối đa là 255, và khi cộng thêm 1, kết quả sẽ trở về 0 Để khắc phục vấn đề này, có thể sử dụng nhiều bit hơn để biểu diễn số thứ tự Chẳng hạn, với số thứ tự 32 bit và chu kỳ phát LSA 1 giây, sẽ mất đến 136 năm mới xảy ra hiện tượng tràn số.
Khi một node bị hỏng, nó sẽ mất giá trị số thứ tự hiện tại, và nếu khởi động lại từ 0, các LSA phát đi sẽ không có giá trị Để khắc phục, node sau khi phục hồi sẽ yêu cầu các node khác trong mạng reset lại cặp giá trị (node, số thứ tự) Để tăng cường độ tin cậy khi flooding, tất cả các node phải gửi thông tin báo nhận khi nhận được một LSA, bất kể thông tin đó mới hay cũ Nếu hai node lân cận gửi cùng một LSA cho nhau, không cần báo nhận Node gửi LSA mà chưa nhận được báo nhận sẽ tiếp tục gửi LSA sau mỗi khoảng thời gian quy định cho đến khi nhận được xác nhận.
Ví dụ, với mạng H3-14 ở trên, giả sử node A gửi LSA của mình đi, quá trình flooding sẽ diễn ra nh sau:
Đầu tiên, A gửi LSA của mình cho các node B, C và E
B, C và E đã nhận được các LSA mới chứa thông tin cập nhật Họ sẽ cập nhật dữ liệu vào hệ thống của mình và gửi báo nhận về A Sau đó, B sẽ chuyển LSA này cho D, trong khi C gửi cho D và E, còn E sẽ truyền cho C và D.
LSA chuyển giữa C và E đợc ngầm hiểu là báo nhận ở D, giả sử nhận đợc LSA từ C trớc tiên, sẽ gửi LSA cho B và E, và gửi báo nhận cho C
Và D cũng ngầm coi các LSA chuyển đến từ B và E là báo nhận
Các LSA nhận từ B và E qua D được hiểu là báo nhận Để giảm thiểu tài nguyên mạng bị chiếm dụng bởi flooding, các LSA sẽ tối ưu kích thước bằng cách chỉ chứa thông tin về những thay đổi trong mạng.
Tính toán định tuyến
Sau khi node hoàn tất việc thu thập cơ sở dữ liệu, nó sẽ tiến hành tính toán giá trị định giá cho từng hướng Ngoài ra, node cũng có khả năng sử dụng giá trị trung bình cho cả hai hướng.
Định tuyến phân cấp
Khi số lượng node trong mạng tăng, kích thước bảng định tuyến tại mỗi node cũng tăng theo, dẫn đến lãng phí bộ nhớ và thời gian tìm đường Việc truyền tải thông tin qua bảng định tuyến lớn cũng tiêu tốn nhiều dung lượng băng thông Khi mạng mở rộng, việc mỗi node lưu thông tin để định tuyến tới tất cả các node khác trở nên không hợp lý, do đó, cần phân chia các node thành các cấp khác nhau để tối ưu hóa quy trình định tuyến.
Khi phân cấp mạng, các node được phân chia vào các vùng khác nhau, và mỗi node chỉ cần biết cách định tuyến tới các đích trong cùng vùng Điều này rất hữu ích khi kết nối nhiều mạng, vì mỗi mạng được xem như một vùng và các node trong mạng đó không cần biết về cấu trúc của các mạng khác Trong các mạng lớn, việc phân chia thành hai cấp độ có thể chưa đủ hiệu quả, vì nhiều vùng có thể được nhóm lại thành một vùng lớn hơn, và các vùng lớn này lại có thể được gộp thành những vùng lớn hơn nữa.
Mạng đơn giản với hai cấp có 17 node và được chia thành 5 vùng Khi áp dụng phương pháp định tuyến không phân cấp, node 1A cần 17 mục trong bảng định tuyến Ngược lại, với định tuyến phân cấp, node 1A chỉ cần thông tin về các node trong vùng 1 và xem các vùng còn lại như một node duy nhất Do đó, thông tin chuyển tới vùng 2 sẽ đi qua 1B 2A, trong khi thông tin tới các vùng còn lại sẽ theo đường 1C 3B Kết quả là kích thước bảng định tuyến của node 1A giảm từ 17 xuống còn 7 mục.
(a) Không phân cấp (b) Phân 2 cấp
Việc phân cấp mạng mang lại lợi ích quan trọng trong việc giảm độ phức tạp của tính toán định tuyến Cụ thể, khi mạng được chia thành hai cấp, độ phức tạp tính toán cho việc xác định đường đi ngắn nhất giảm từ O(N³) xuống O(N²), giúp tối ưu hóa hiệu suất định tuyến.
Để tối ưu hóa kích thước bảng định tuyến, chúng ta có thể gặp khó khăn trong việc xác định con đường có chi phí thấp nhất Chẳng hạn, khi tìm đường từ 1A đến 5C, phương pháp hiện tại cho kết quả là đi qua vùng 3, trong khi thực tế, con đường tiết kiệm chi phí nhất lại là đi qua vùng 2.
Khi phân cấp cho một mạng lớn, việc xác định số cấp độ là rất quan trọng Ví dụ, trong một mạng 1200 node, nếu không phân cấp, mỗi node sẽ có 1200 mục trong bảng định tuyến Nếu chia thành 2 cấp với 30 vùng, mỗi vùng có 40 node, bảng định tuyến sẽ giảm xuống còn 69 mục Trong trường hợp phân thành 3 cấp với 10 vùng cấp 1, mỗi vùng cấp 1 gồm 10 vùng cấp 2 và mỗi vùng cấp 2 có 12 node, bảng định tuyến sẽ chỉ còn 30 mục.
Kamoun và Kleinrock đã chỉ ra rằng trong một mạng có N node, số cấp tối thiểu khi phân cấp là ln N, và mỗi node sẽ có trung bình N e Nln mục trong bảng định tuyến của mình.
Và họ cũng chỉ ra rằng, kích thớc của bảng định tuyến giảm thì mức tối u về cost của con đờng chọn đợc cũng giảm theo.
Định tuyến quảng bá (Broadcast Routing)
Trong một số trờng hợp, một node cần chuyển thông tin tới tất cả các node mạch gói:
Cách đầu tiên để truyền dữ liệu trong mạng là gửi từng gói tin đến mỗi node, tuy nhiên phương pháp này gây lãng phí băng thông đáng kể Hơn nữa, node nguồn cần phải có danh sách đầy đủ các node khác trong mạng.
Có thể nói, đây là cách kém hiệu quả nhất
Cách thứ hai để truyền tin là thực hiện flooding Mặc dù phương pháp flooding không hiệu quả trong truyền tin điểm điểm, nhưng nó lại là một lựa chọn đáng chú ý trong truyền tin quảng bá, đặc biệt khi các phương pháp khác không khả thi.
Phương pháp định tuyến quảng bá tiếp theo sử dụng một cây đường đi với gốc là node cần quảng bá thông tin Khi thông tin được chuyển đến một node, node này sẽ gửi thông tin đi theo tất cả các hướng trong cây đường đi, ngoại trừ hướng thông tin đến Phương pháp này tiết kiệm dung lượng đường truyền và giảm thiểu số gói tin sao chép cần gửi đi Tuy nhiên, mỗi node cần lưu trữ thông tin về các cây đường đi, mà đôi khi có sẵn (như trong thuật toán định tuyến theo trạng thái liên kết) và có lúc không (như trong định tuyến theo vectơ khoảng cách).
Thuật toán quảng bá đường ngược lại hoạt động theo cách đơn giản nhưng hiệu quả: khi một node nhận gói tin quảng bá, nó sẽ kiểm tra hướng đến của gói tin Nếu gói tin đến từ hướng của đường dẫn tới node nguồn, nó sẽ được tiếp nhận và chuyển tiếp đến tất cả các hướng còn lại; nếu không, gói tin sẽ bị bỏ qua.
Trong quy trình định tuyến quảng bá, node nguồn I bắt đầu gửi gói tin đến các node F, H, J và N Những node này sẽ nhận diện các gói tin đến qua con đường dẫn tới I và tiếp tục chuyển tiếp chúng đến các node lân cận Trong khi đó, những node không nhận gói tin qua con đường dẫn đến I sẽ bỏ qua các gói tin quảng bá Sau một số bước, chỉ có ba node (E, C, K) trong số sáu node nhận gói tin quảng bá theo đúng con đường dẫn đến I và tiến hành xử lý Cuối cùng, sau năm bước, quá trình quảng bá sẽ hoàn tất.
Theo phương pháp reverse path, số gói tin tạo ra là 23, tương đương với phương pháp flooding, trong khi phương pháp spanning tree chỉ tạo ra 14 gói tin Phương pháp reverse path có những ưu điểm nổi bật như không cần biết spanning tree cho mỗi node và không cần danh sách các node Hơn nữa, phương pháp này vượt trội hơn flooding vì không cần cơ chế đặc biệt để kết thúc quá trình quảng bá, trong khi flooding yêu cầu có trường hop-count trong mỗi gói tin và mỗi node phải biết kích thước mạng hoặc có bảng danh sách tất cả các gói tin đã nhận từ các node nguồn khác.
Định tuyến đa điểm (Multicast Routing)
Truyền tin đa điểm (multicast) là quá trình truyền thông tin từ một node đến một nhóm các node cùng nhóm trong mạng Mỗi node có thể thuộc một hay nhiều nhóm, và để thực hiện định tuyến đa điểm, node nguồn cần biết danh sách tất cả các node trong cùng nhóm Từ cây đường đi đầy đủ, mỗi node sẽ cắt xén để tạo ra cây đường đi cho nhóm, với mỗi node thuộc nhiều nhóm sẽ có nhiều cây đường đi tương ứng Việc cắt xén thường được thực hiện bằng cách loại bỏ từng đoạn nhánh từ mỗi đầu mút nếu node ở đầu mút không thuộc cùng nhóm với node gốc cây.
Trong mạng được mô tả, có hai nhóm multicast, nhóm 1 và nhóm 2, với một số node thuộc về một nhóm và một số node thuộc cả hai nhóm Cây đường đi cho node ở góc trên bên trái được thể hiện trong H3-18b H3-18c minh họa cây đường đi tới các node của nhóm 1, trong khi H3-18d thể hiện cây đường đi tới các node thuộc nhóm 2.
Một phương pháp hiệu quả để quản lý thông tin trong mạng là xác định một node trung tâm cho mỗi nhóm Node trung tâm này sẽ lưu giữ thông tin về cây đường đi của nhóm, giúp giảm đáng kể lượng bộ nhớ cần thiết Khi một node trong nhóm muốn truyền tin đến các node khác, nó sẽ gửi thông tin đến node trung tâm, và node này sẽ thực hiện multicast Tuy nhiên, phương pháp này không cho phép truyền tin theo con đường trực tiếp giữa các node.
Chơng 4: Chơng trình mô phỏng
4.1 Giới thiệu chơng trình:
Chơng trình mô phỏng cách thiết lập topo mạng dựa trên thuật toán Mentor Chơng trình đợc viết trên ngôn ngữ lập trình Visual Basic 6.0
Chơng trình nhỏ gọn, có giao diện dễ sử dụng, dễ hiểu, minh hoạ các bớc thực hiện thuật toán trên hình vẽ rõ ràng
Chơng trình có hai chức năng:
• Xây dựng topo mạng tối u dựa trên thuật toán Mentor
• Tìm đờng đi giữa 2 node bất kỳ trong mạng dựa trên mạng đã xây dựng Giao diện của chơng trình (H 4.1)
Khu vực hình vẽ minh họa
Cửa sổ thông báo kết quả chính
Khu vực thực hiện xây dựng topo mạng
Khu vực thực hiện tìm ®êng ®i Hình 4.1 Giao diện chơng trình mô phỏng
4.2.1 Xây dựng topo mạng dựa trên cơ sở thuật toán Mentor
Chương trình hỗ trợ người dùng tạo một topo mạng tối ưu dựa trên các node đã được cung cấp, sử dụng thuật toán Mentor đã được trình bày trong chương III Quá trình xây dựng topo mạng diễn ra qua 5 bước cụ thể.
Bớc 1: Nhập dữ liệu và tìm node trung tâm
Khi chương trình khởi động, người dùng cần nhập số lượng node trong mạng tại giao diện "Số node" Chương trình hỗ trợ tối đa 80 node để tránh rối mắt trong hình minh họa Nếu người dùng nhập số âm, số lớn hơn 80 hoặc ký tự không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi để cho phép người dùng nhập lại dữ liệu.
Sau khi nhập đúng số node, các nút lệnh tiếp theo sẽ được kích hoạt Người sử dụng có thể lựa chọn một trong hai phương pháp nhập dữ liệu.
- Tự động: Khi đó mọi tham số của tất cả các node sẽ đợc tự động lựa chọn một cách ngẫu nhiên
Khi sử dụng phương pháp nhập liệu bằng tay, người dùng sẽ nhập tất cả các tham số cho từng node vào bảng dữ liệu Phương pháp này thường được áp dụng khi cần giải quyết bài toán với số liệu thực tế.
Sau khi thu thập dữ liệu, người dùng có thể nhấn nút “Thực hiện” để bắt đầu bước 1 của chương trình Ở bước này, chương trình sẽ xác định node trung tâm (Center) của mạng Giao diện sẽ hiển thị thông báo về tham số M(i) của tất cả các node và chỉ rõ node trung tâm.
Các node sẽ được hiển thị trên khu vực minh họa của chương trình, với node trung tâm được thể hiện bằng hình vuông đỏ lớn, trong khi các node khác sẽ là hình vuông xanh lam nhỏ (H 4.4).
Khi tiến hành xây dựng topo mạng, các nút lệnh và ô cửa sổ trong khu vực tìm đường đi sẽ không được kích hoạt Chỉ khi mạng hoàn tất xây dựng, khối lệnh này mới được kích hoạt.
Khi kết thúc bớc 1, có thể ấn nút “Bớc 2” để tiếp tục chơng trình
Hình 4.2: Lỗi khi nhập sai số node
Hình 4.5 Cửa sổ thực hiện bớc 2
Nhấn nút “Bớc 2” trên màn hình xuất hiện 1 cửa sổ mới để thực hiện việc xác định node backbone dựa theo trọng số tiêu chuẩn Wth (H 4.5)
Người sử dụng sẽ chọn một giá trị trọng số tiêu chuẩn Wth nằm trong khoảng giá trị nhỏ nhất và lớn nhất của tham số W(i) của tất cả các node Khi giá trị Wth gần với Wmax, số lượng backbone sẽ giảm, trong khi nếu Wth gần với Wmin, số lượng backbone sẽ tăng lên.
Nếu người dùng nhập giá trị Wth không hợp lệ (ngoài khoảng giá trị tối đa và tối thiểu, số âm hoặc chữ cái), sẽ hiển thị bảng thông báo lỗi (H 4.6) để người dùng có thể nhập lại giá trị.
Sau khi nhập giá trị Wth hợp lý, nút “Thực hiện” sẽ sáng lên Nhấn nút “Thực hiện” để chương trình xác định các node backbone Kết quả sẽ được hiển thị trong ô cửa sổ bên phải, nơi liệt kê các node backbone đã được tìm ra (H 4.7), đồng thời hình minh họa cũng sẽ hiển thị thông tin này.
Hình 4.3: Bảng thông báo kết quả bớc 1
Hình 4.6 Thông báo lỗi khi nhập sai trọng số tiêu chuẩn Wth cửa sổ phía dới cũng sẽ tóm tắt kết quả bớc này (H 4.8 ) Kết thúc bớc 2.
Hình 4.7 Kết quả tìm node backbone
Bớc 3: Tìm các node access cho node backbone theo bán kính quét R
Nhấn nút “Bớc 3” trên màn hình xuất hiện 1 cửa sổ mới để thực hiện việc xác định các node access cho các backbone theo 1 bán kính quét R (H 4.9)
Trong bước 3, người sử dụng cần nhập giá trị bán kính quét R vào ô bán kính R Bán kính quét lớn hơn sẽ dẫn đến số node access của từng backbone tăng lên, và ngược lại Người sử dụng cũng cần lưu ý rằng bán kính R không được lớn hơn đường kính của hệ node, không được là số âm hoặc chữ cái Nếu nhập sai, hệ thống sẽ hiển thị thông báo lỗi để người sử dụng có thể nhập lại.
Mặc dù bán kính có thể bằng giá trị đường kính, chương trình vẫn hoạt động hiệu quả mà không báo lỗi Tuy nhiên, để xây dựng một mạng lưới thực tế và hiệu quả, bán kính không nên vượt quá 1/4 giá trị đường kính.