Tải bản đầy đủ (.docx) (109 trang)

Giao thức định tuyến EIGRP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (582.91 KB, 109 trang )

LỜI NÓI
Định tuyến là một chức năng không thể thiếu trong bất kỳ mạng viễn thông nào.
Mục đích của định tuyến là chuyển thông tin từ một điểm trong mạng (nguồn) tới một
hoặc nhiều điểm khác (đích). Mỗi khi thực hiện thiết kế, xây dựng một mạng mới hay cải
tiến một mạng đã cũ, người thiết kế mạng phải đặc biệt quan tâm tới vấn đề định tuyến,
bởi hoạt động của một mạng có hiệu quả hay không, chất lượng của các dịch vụ cung
cấp ừên mạng có thỏa mãn được yêu cầu của người sử dụng mạng hay không phụ thuộc
rất nhiều vào việc định tuyến ứong mạng đó.
Do tính chất quan trọng của mình mà việc định tuyến cần liên tục được cải tiến,
thay đổi để có thể đáp ứng được với sự phát triển của mạng viễn thông. Từ những thời kỳ
ban đầu của mạng điện thoại, việc định tuyến chỉ được thực hiện một cách thủ công nhờ
các điện thoại viên, cho tới bây giờ, quá trình định tuyến được thực hiện một cách hoàn
toàn tự động với chất lượng, tốc độ cao để có thể cho phép cung cấp các dịch vụ ngày
càng đa dạng trong các mạng thế hệ mới.
Trải qua một quá trình phát triển mạnh, rất nhiều phương pháp, kỹ thuật định
tuyến đó được đưa ra. Nghiên cứu về các kỹ thuật định tuyến là một lĩnh vực nghiên cứu
rất rộng bởi mỗi mạng cần có một chiến lược định tuyến cho riêng mình, phù hợp với
mục đích truyền dẫn, phù họp với công nghệ mạng, phù họp với yêu cầu của người sử
dụng để trao đổi thông tin.. .Không thể áp đặt hoàn toàn chiến lược định tuyến của một
mạng này lên một mạng khác.
Các giao thức định tuyến trước đây như RIP, RIP-2, IGRP, OSPF mặc dù đã được
phát triển nhưng vẫn tồn tại những nhược điểm như là tốc độ hội tụ chậm (RIP, RIP-2),
không hỗ trợ mặt nạ mạng con có độ dài thay đổi(RIP), hạn chế về số hop(RIP-2), khả
năng học hỏi đường đi kém và không hỗ trợ nhiều giao thức khác nhau(IGRP)...Chính
bởi lẽ đó, EIGRP do tập đoàn Cisco phát minh nhằm khắc phục các hạn chế trong các
giao thức định tuyến khác.
Xuất phát từ mong muốn tìm hiểu và nghiên cứu về EIGRP, đồ án “Giao thức định
tuyến EIGRP“ sẽ trình bày các kiến thức cơ bản về giao thức EIGRP và một số ứng
dụng của nó trong các giao thức định tuyến khác.



Hướng đi của đồ án là tập trung nghiên cứu chủ yếu về nguyên lý hoạt động, các
khái niệm liên quan đến EIGRP, cách cấu hình EIGRP trong một số mạng như là IP,
IPX...
Đồ án bao gồm 3 chương:
• Chương I: Tổng quan về định tuyến, chương này sẽ giới thiệu về vấn đề định
tuyến cùng với một số các thuật toán định tuyến cơ bản, cách tính toán đường đi cùng
các tham số trong các giải thuật định tuyến.
• Chương II: Giao thức định tuyến EIGRP, chương này sẽ trình bày về các khái
niệm EIGRP cũng như nguyên lý hoạt động, các kỹ thuật ứng dụng trong EIGRP, nhằm
mục đích đưa ra một cái nhìn tổng quan về giao độ hội tụ và khả năng tương thích với
các giao thức khác nhau giữa EIGRP so với các giao thức định tuyến khác trước đây.
Chương III: IPX EIGRP, sẽ trình bày về một ứng dụng của EIGRP trong mạng IPX,
cách cấu hình và lộ trình phân phối của EIGRP trong mạng IPX, cách xử lý các bản
tin SAP.


Em xin cam đoan đây là phần nghiên cứu và thể hiện đồ án tốt nghiệp của riêng
em dưới sự hướng dẫn và chỉ bảo tận tình của thầy giáo ThS.Nguyễn Thành Trung,
không sao chép bất kỳ bài đồ án, luận văn nào, nếu sai em xin chịu hoàn toàn trách
nhiệm và chịu mọi kỷ luật của khoa và nhà trường đề ra.

tháng 5 năm 2013

Trần Xuân Thắng


MỤC


THUẬT NGỮ VIẾT TẮT



Viết tắt

Viết đầy đủ

Ý nghĩa

ACK

Acknowlegement

Báo nhận

ABR

Area Boundary Router

Bộ định tuyến vùng biên

ARP

Address Resolution Protocol

Giao thức phân giải địa chỉ

AS

Autonomous System


Hệ thống tự trị

ATM

Asynchronous Transfer Mode

Chế độ truyền bất đồng bộ

BDR

Backup Designated Router

Router đuợc đề cử dụ phòng

BGP

Border Gateway Protocol

Giao thức cổng biên

CD

Collision Detection

Dò tìm đụng độ

CRC

Cycle Redundancy Check


Mã kiểm tra vòng

CSMA

Carrier Sense Multiple Access Đa truy cập cảm nhận sóng mang

CIDR

Classless Interdomain Routing

DHCP

Đinh tuyến liên miền không theo
lớp địa chỉ
Giao thức điều khiển trạm động

Dynamic Host Control Protocol
DỊ s

Domain Ị ame System

Hệ thống tên miền

DUAL

Difusing Update Algorithm

Thuật toán cập nhật lan truyền

EIGRP


Enhanced Interior Gateway
Routing Protocol

Giao thức định tuyến nội miền
mở rộng

EGP

Exterior Gateway Protocol

Giao thức cổng ngoài

Fiber Distributed Data Interface

Giao diện dữ liệu phân phối theo
cáp sợi quang

FTP

File Transfer Protocol

Giao thức truyền file

ICMP

Internet Control Message
Protocol

Giao thức thông điệp điều khiển

Internet

FDDI


IGRP

Interior Gateway Routing
Protocol

Giao thức định tuyên nội miên

IP

Internet Protocol

Giao thức Internet

ISDỊ
ISO

Integrated Services Digital I
etwork
International Standards
Orrgnization

Mạng tích hợp dịch vụ số
Tổ chức tiêu chuẩn quốc tế

LAẩ


Local Area a etwork

MAC

Media Access Control

MTU

Maximum Transmission Unit

OSI

Open Sysstems Interconnection Kết nối hệ thống mở

PDU

Protocol Data Unit

Đơn vị dữ liệu giao thức

ppp

Point - To - Point Protocol

Giao thức điểm điểm

Reverse Address Resolution
Protocol


Giao thức phân giải địa chỉ ngược

RAM

Random Access Memory

Bộ nhớ truy xuất ngẫu nhiên

RIP

Routing Information Protocol

Giao thức thông tin định tuyến

Routing Table Management
Protocol

Giao thức quản lý bảng đường
truyền

RTP

Reliable Transport Protocol

Giao thức truyền tải tin cậy

SAP

Solutions Application And
Service Protocol


Giao thức giới thiệu dịch vụ

SMTP

Simple Mail Transfer Protocol

Giao thức truyền thư đơn giản

TCP

Transmission Control Protocol Giao thức điều khiển truyền tải

UDP

User Datagram Protocol

VLSM

Variable-Length Subnet Masks Mặt nạ mạng con có độ dài biến
đổi

RARP

RTMP

Mạng cục bộ
Điều khiển truy cập môi trường
truyền
Độ dài lớn nhất của chuỗi thông tin

được truyền qua đường truyền

Giao thức dữ liệu người dùng


DANH MỤC HÌNH


DANH MỤC BẢNG


CHƯƠNG I: TỔNG QUAN VỀ ĐỊNH TUYẾN
1.1.

Khái niệm về định tuyến

Định tuyến là một công việc quan trọng trong quá trình truyền tin trong mạng
thông tin. ẩ ó được thực hiện ở tầng mạng (tầng 3 trong mô hình tham chiếu OSI). Mục
đích của định tuyến là lựa chọn một đường để truyền một hay nhiều đơn vị dữ liệu (một
gói tin chẳng hạn) từ trạm nguồn đến trạm đích của nó. Kỹ thuật này phải thực hiện hai
chức năng chính 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 chọn đường, tức là các thông tin dùng cho chức
năng

Quá trình định tuyến (routing) bao gồm hai hoạt động chính, đó là:



Xác định đường truyền.



Chuyển tiếp thông tin theo con đường đã chọn.

Việc chuyển tiếp thông tin đi theo con đường đã chọn có thể nói là khá đơn giản
(về mặt thuật toán), trong khi đó, việc xác định đường truyền phức tạp hơn nhiều. Trong
các mạng thông tin khác nhau, việc xác định đường truyền cũng diễn ra khác nhau. Tuy
nhiên, cách xác định đường truyền nào cũng bao gồm hai công việc cơ bản. Thứ nhất là
thu thập và phân phát thông tin về tình trạng của mạng (ví dụ như trạng thái đường
truyền, tình trạng tắc nghẽn...) và của thông tin cần truyền (ví dụ như lưu lượng, yêu cầu
dịch vụ...). Các thông tin này sẽ được sử dụng làm cơ sở cho việc xác định đường
truyền. Thứ hai là chọn ra đường truyền khả dụng (cũng có thể là đường truyền tối ưu)
dựa trên các thông tin hạng thái trên. Đường truyền khả dụng là đường truyền thoả mãn
mọi yêu cầu của thông tin cần truyền (ví dụ: tốc độ) và điều kiện của mạng (ví dụ: khả
năng của đường truyền). Còn đường truyền tối ưu (theo một tiêu chuẩn nào đó) là đường
truyền tốt nhất trong các đường truyền khả dụng. Tiêu chuẩn (tối ưu) để chọn đường xác
định bởi người quản lí hoặc thiết kế mạng, nó có thể là:
Độ trễ trung bình của việc truyền gói tin.
Số lượng nút trung gian giữa nguồn và đích của gói tin.
Độ an toàn của việc truyền tin.




Cước phí truyền tin.




Tổ họp các tiêu chuẩn trên.

Việc chọn tiêu chuẩn tối ưu như vậy phụ thuộc nhiều vào tình trạng mạng (cấu
hình mạng, thông lượng, mục đích sử dụng v.v...). Các tiêu chuẩn có thể thay đổi vì tình
trạng mạng cũng có thể thay đổi theo thời gian.
Đối với việc chuyển tiếp thông tin, trong mỗi mạng thông tin có thể sử dụng 2
kiểu chuyển tiếp: hướng kết nối và phi kết nối. Kiểu hướng kết nối là kiểu truyền thông
tin bao gồm 3 giai đoạn: giai đoạn thiết lập kết nối, giai đoạn truyền thông tin trên kết
nối vừa thiết lập và cuối cùng là giai đoạn giải phóng kết nối. Còn kiểu chuyển tiếp phi
kết nối thì chỉ có mỗi một giai đoạn truyền thông tin. Trong kiểu hướng kết nối, thông
tin sử dụng luôn được truyền trên một con đường(hình 1.1). Trong khi đó, kiểu phi kết
nối thì thông tin được truyền từ nguồn tới đích bằng nhiều con đường khác nhau (hình
1.2).

Hình!. 1. Truyền thông tin theo kiểu hướng kết nối

1.2.

Hìnhl.2. Truyền thông tin theo kiểu phi kết nối
Các phương pháp truyền thông tin

1.2.1.

Truyền thông tin theo kiểu tràn lụt

Phương pháp truyền tin theo kiểu hàn lụt hoạt động rất hiệu quả trong những
mạng động: vị trí node đích thay đổi hoặc cấu hình mạng thay đổi liên tục, hoặc lưu
lượng trong mạng thay đổi với lượng lớn, liên tục.



Hoạt động của phương pháp này như sau: thông tin từ nguồn được truyền tới tất
cả các điểm lân cận. Từ những điểm này, thông tin lại tiếp tục được chuyển đi tới các
điểm lân cận nó. Việc truyền này chỉ kết thúc khi điểm đích đã nhận được thông tin.
Đe có thể kết thúc việc phân phát các gói tin thường sử dụng một trong hai cách
sau:


Mỗi node lưu lại thông tin về các gói tin nó đã nhận và phát tràn lụt. Khi nhận
được gói tin đến từ node lân cận, nó sẽ kiểm tra xem gói đã được nhận lần nào
chưa. Nếu đó là gói chưa nhận lần nào, sẽ lưu thông tin về gói đó trong bộ nhớ
và phát tràn lụt sang node lân cận. Neu đã nhận được gói trong quá khứ, sẽ
không thực hiện phát tràn lụt nữa.



Trong mỗi gói tin được phát tràn lụt, có một trường mang thông tin về số bước
nhảy của gói đó (chính là số link nó đã đi qua). Mỗi khi một node chuyển tiếp
một gói tin sang node lân cận, giá trị bước nhảy này sẽ tăng lên một. Nếu giá trị
mới này lớn hơn một giá trị giới hạn nào đó, gói tin sẽ không phát tràn lụt nữa,
còn nếu nhỏ hơn, nó sẽ tiếp tục được phát tràn lụt. Giá trị tới hạn thường được
chọn tuỳ vào kích thước mạng.
Theo phương pháp phát tràn lụt, một lượng lớn tài nguyên mạng bị hao phí, tuy

nhiên sẽ đến đích theo con đường nhanh nhất mà không cần phải tính toán, không cần
phải lưu giữ bảng chọn đường.
Phương pháp tràn lụt hiếm khi được dùng để truyền thông tin người sử dụng.
Nhìn chung, nó thường chỉ được sử dụng trong mạng để phân phát các thông tin cần
thiết hoặc hỗ trợ cho hoạt động của mạng. Ví dụ, truyền tin tràn lụt có thể được dùng khi
thiết lập kênh ảo trong mạng ATM: một node khi thiết lập kênh ảo vc tới một node khác
trên mạng, nó chỉ việc gửi gói tin tìm đường. Các gói tin này luôn ghi lại con đường nó

đã đi qua. Tại phía node đích, khi nhận được gói tin đầu tiên, sẽ báo về nguồn theo con
đường của gói tin đó và vc được thiết lập cũng theo con đường này.
1.2.2.

Truyền thông tin theo con đường ngẫu nhiên

Ở phưomg pháp truyền này, mỗi khi thông tin tới một node, nếu đó không phải là
đích thi nó sẽ tiêp tục truyền theo một con đường ngẫu nhiên nào đó (miễn là không phải
hướng mà qua đó vừa nhận dữ liệu). Việc chọn hướng này có thể là hoàn toàn ngẫu


nhiên, cũng có thể là ngẫu nhiên theo trọng số. Nếu ngẫu nhiên theo trọng số thì các
trọng số thường được xác định dựa vào thống kê về kết quả của các lần truyền trước.
Theo phưomg pháp truyền ngẫu nhiên, việc tính toán đường truyền rất ít, tổng
lưu lượng đường truyền chắc chắn sẽ nhỏ hơn so với phương phát tràn lụt. Tuy vậy, thời
gian để dữ liệu đi đến đích sẽ lớn, không thể xác định trước được.
1.2.3.

Truyền thông tin dựa vào bảng chọn đường

Tại mỗi node trong mạng có lưu giữ một bảng chọn đường. Bảng này có chứa
nhiều mục. Mỗi mục mang thông tin về hướng truyền (đường truyền) cho một đích (có
thể là một node, cũng có thể là một nhóm node). Mỗi khi cần truyền thông tin đến một
đích, node nguồn lại tìm kiếm trong bảng chọn đường của mình chọn ra entry phù hợp
nhất với node đích. Sau đó, thông tin sẽ được truyền đi theo hướng dẫn trong mục này.
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. Sau đó, tất cả thông tin (của một lần kết nối) sẽ được
truyền đi theo con đường này. Nhiệm vụ của việc chọn đường là phải chỉ ra được con
đường tốt nhất giữa mỗi cặp node trong mạng.
Trong mạng chuyển mạch gói, để cung cấp các dịch vụ hướng kết nối hai node,

một con đường ảo sẽ được tạo ra mỗi khi thiết lập kết nối. Con đường này sẽ được sử
dụng để truyền tất cả các gói tin trong lần kết nối đó. Bởi vậy, mỗi gói tin cần phải có
thông tin về đường ảo của mình. Bảng chọn đường ở mỗi node sẽ chứa thông tin để có
thể 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.
Ngoài các dịch vụ hướng kết nối, mạng chuyển mạch gói còn có khẩ năng cung
cấp các dịch vụ phi kết nối nhờ sử dụng phương pháp định tuyến đơn vị dữ liệu. Với
định tuyến đơn vị dữ liệu, con đường cho mỗi gói tin không xác định trước và chỉ được
xác định từng bước một qua quyết định chọn đường ở mỗi node trung gian. Do đó, mỗi
gói tin phải mang theo mình đầy đủ thông tin về địa chỉ node đích. Thêm nữa, mỗi gói
tin từ cùng một node nguồn được chuyển tới node đích theo nhiều con đường khác nhau,
nên ở node đích, thứ tự của gói tin sẽ lộn xộn và cần phải sắp xếp lại, nên mỗi gói tin
phải mang số thứ tự kèm theo.
ẩ hưng dù là mạng kết nối hay phi kết nối, thì vẫn phải thực hiện việc tính toán
tạo bảng chọn đường. Bảng chọn đường có thể mang dữ liệu cố định hoặc thay đổi theo
thời gian, ẩ ếu dữ liệu thay đổi, trong mạng cần có thủ tục tính toán sao cho dữ liệu thay


đổi phù hợp với sự thay đổi của mạng. Để tính toán bảng chọn đường, cần phải đặt ra
những tiêu chuẩn để chọn lựa giữa các con đường với nhau. Thông thường, người ta gán
cho mỗi link trong mạng một giá trị gọi là cost. Thủ tục chọn đường sẽ dựa trên cost của
các link trong mạng để hoạt động. Giá trị cost gán cho mỗi link được tính toán dựa trên
các tham số khác nhau. Có những tham số cố định như: dung lượng, trễ truyền lan, mức
độ bảo mật, giá cả sử dụng link.. .Cũng có những tham số thay đổi liên tục như: mức độ
chiếm dụng link, mức độ sử dụng bộ đệm, trễ trung bình của mỗi gói tin, tỉ lệ lỗi...
Đối với những mạng cập nhật bảng chọn đường theo thời gian, khoảng thời gian
giữa hai lần cập nhật là một giá trị quan trọng, ẩ ếu giá trị này quá lớn, cost của mỗi
tuyến đường theo như bảng chọn đường không còn đúng với thực tế, tức là các con
đường không còn đảm bảo đúng theo tiêu chuẩn, ẩ ếu khoảng thời gian này quá ngắn,
lượng công việc tính toán tạo bảng chọn đường sẽ tăng lên rất nhiều, các bảng chọn
đường liên tục thay đổi. Đồng thời nếu các node không đồng bộ trong việc cập nhật bảng

chọn đường sẽ gây ra lộn xộn trong việc truyền thông tin.
ẩ ếu có một hàm tính toán cost họp lý giữa các tham số tĩnh và động, cùng với
chọn được khoảng thời gian cập nhật thích họp, mạng sẽ hoạt có hiệu quả cao nhất, đảm
bảo chất lượng dịch vụ mà người dùng yêu cầu.
1.3.
Phân loại các phưong pháp định tuyến
Có rất nhiều phương pháp phân loại việc định tuyến đã được đưa ra. ẩ hưng rất
khó có thể tìm ra một cách phân loại nào có thể bao quát được tất cả các mục tiêu đặt ra
đối với việc định tuyến. Dưới đây là các kiểu phân loại định tuyến mà mỗi loại chỉ phản
ánh một cách tương đối công việc chọn đường. Sự liệt kê chúng là một cố gắng mô tả rõ
nét nhất các khía cạnh của vấn đề định tuyến.
1.3.1.

Định tuyến tập trung và phân tán

Một cách phân loại phổ biến chia các phương pháp định tuyến ra làm hai loại:
định tuyến tập trung và định tuyến phân tán.
Định tuyến tập trung được thực hiện bởi một (hoặc một vài) trung tâm điều khiển
mạng. Thông tin về chọn đường trong bảng chọn đường sau đó được gửi tới tất cả các
node dọc theo con đường đã chọn. Trong trường họp này, thông tin tổng thể của mạng
cần dùng cho việc chọn đường chỉ được cất giữ tại trung tâm điều khiển mạng. Các node
mạng có thể không gửi bất kì một thông tin nào và trạng thái của chúng tới trung tâm,


hoặc gửi theo định kỳ, hoặc chỉ khi xảy ra một sự kiện nào đó. Trung tâm điều khiển sẽ
cập nhật bảng chọn đường dựa trên các thông tin nhận được đó.
Đối với kỹ thuật định tuyến phân tán, công việc tính toán chọn đường được thực
hiện ở các node trong mạng mà không tồn tại một trung tâm điều khiển quyết định chọn
đường nào. Tất cả các node đều có nhiệm vụ xử lý chọn đường như nhau.
ẩ hược điểm của kỹ thuật định tuyến tập trung là độ tin cậy không cao, bởi hoạt

động của trung tâm xử lý tập trung vào một chỗ nên nếu tại đấy gặp sự cố thì mạng sẽ bị
ảnh hưởng. Chính vì lí do này mà định tuyến tập trung không được sử dụng nhiều trong
các mạng hiện tại.
Định tuyến phân tán giúp nâng cao độ tin cậy của mạng. Khi có một node hỏng,
việc chọn đường ở các node xung quanh cũng không bị ảnh hưởng. Thêm nữa, bảng
chọn đường tại mỗi node nhanh chóng được cập nhật hơn.
1.3.2.

Định tuyến thích nghi và không thích nghi

Các kỹ thuật định tuyến cũng có thể phân thành hai loại: thích nghi (định tuyến
động) và không thích nghi (định tuyến tĩnh).
Định tuyến không thích nghi là kỹ thuật chọn đường trong đó việc chọn đường có
thể tập trung hay phân tán nhưng nó không đáp ứng với mọi sự thay đổi trên mạng.
Trong trường họp này, việc chọn đường được thực hiện mà không có sự trao đổi thông
tin, không đo lường và không cập nhật thông tin một cách tự động. Thông tin về đường
đi được lưu cố định trong các bảng chọn đường, khi cần chọn đường thì đường đi sẽ
được lấy từ đó. Thông tin trong các bảng chọn đường không tự thay đổi, nếu muốn thay
đổi thì cần phải có sự can thiệp của người quản trị mạng. Thông thường, với chọn đường
không thích nghi, bảng chọn đường có thể đưa ra một số con đường thay thế khi con
đường kế tiếp gặp sự cố (quá tải, hỏng). Kỹ thuật chọn đường này nhìn chung là đơn
giản, do vậy được sử dụng rất rộng rãi, đặc biệt ừong các mạng tương đối ổn định ít có
sự thay đổi về topo, lưu thông trên mạng và thành phần trên mạng.
Ưu điểm:


Đường đi lựa chọn nhanh, phù họp với mạng ổn định, ít có sự thay
đổi, cập nhật.

Nhược điểm:





Khi có thêm node mạng, người quản trị mạng phải cập nhật thông
tin về đường đi cho node mạng và các node có liên quan.



Không có khả năng chọn đường đi mới trong quá trình trao đổi
thông tin khi đường đi bị tắc nghẽn, hỏng v.v...

Định tuyến thích nghi (còn gọi là định tuyến động) là kỹ thuật chọn đường trong
đó việc tính toán chọn đường tối ưu được thực hiện nhiều lần trong khi mạng hoạt động
và có khả năng thích ứng với những sự thay đổi của mạng. Cứ sau một khoảng thời gian
qui định trước hoặc mỗi khi mạng có sự thay đổi về cấu hình, trạng thái thì thông tin về
mạng lại được gửi tới những nơi có nhiệm vụ thực hiện chọn đường để tiến hành chọn
đường lại.
Kỹ thuật chọn đường thích nghi thu hút sự quan tâm đặc biệt của các nhà thiết kế
do khả năng đáp ứng đối với các trạng thái khác nhau của mạng. Đây là một yếu tố quan
trọng, đặc biệt đối với các ứng dụng thời gian thực trong đó yêu cầu đầu tiên của người
sử dụng là mạng phải có khả năng cung cấp được các con đường khác nhau để đề phòng
sự cố và thích nghi nhanh chóng YỚi các thay đổi trên mạng. Mức độ thích nghi của một
kỹ thuật chọn đường được đặc trưng bởi sự trao đổi thông tin trong mạng. Đơn giản nhất
là không trao đổi gì hết. Mỗi node (hoặc trung tâm điều khiển trong trường hợp kỹ thuật
tập trung) hoạt động một cách độc lập YỚi thông tin riêng của mình để thích nghi với sự
thay đổi của mạng theo một phương pháp nào đó. Ở mức độ cao hơn, thông tin trạng thái
của mạng có thể được cung cấp từ các node láng giềng hoặc từ các node khác. Thông
thường, các thông tin đo lường và sử dụng cho việc chọn đường bao gồm:



Các trạng thái của đường truyền.



Các độ trễ truyền dẫn.



Mức độ lưu thông.



Các tài nguyên khả dụng.

Khi có sự thay đổi trên mạng (ví dụ sự thay đổi topo do sự cố hoặc do sự phục
hồi của một node mạng, nối thêm một node mới v.v... hoặc thay đổi về mức độ lưu
thông) các thông tin trên cần được cập nhật.


1.3.3.

Định tuyến nguồn/ từng bước

Các phương pháp định tuyến cũng có thể phân loại dựa vào cách tạo ra tuyến
đường. Nếu tuyến đường được xác định ngay từ ở node nguồn, các node trung gian trên
đường đi chỉ làm nhiệm vụ chuyển tiếp gói tin, thì ta gọi là định tuyến nguồn (Source
routing). Còn nếu tuyến đường không được định ngay từ đầu, mà được phân thành nhiều
đoạn do các node khác nhau chọn, thì ta gọi là định tuyến từng bước.
Theo phương pháp định tuyến nguồn, mỗi gói tin khi truyền trên mạng đều phải

mang thông tin về tuyến đường của mình. Ở mỗi node chỉ việc căn cứ vào thông tin này
mà chuyển tiếp gói tin. Còn theo cách chọn đường từng bước mỗi gói tin cần mang địa
chỉ đích là đủ. Do đó, tiêu đề của gói tin sẽ bé hơn.
Định tuyến từng bước đáp ứng nhanh hơn với những thay đổi trong mạng (những
thay đổi này ảnh hưởng tới gói tin ngay khi gói tin đang truyền trong mạng).
Nhưng đồng thời, chọn đường từng bước có thể làm cho các gói tin bị chuyển đi theo
vòng. Còn chọn đường nguồn đảm bảo gói tin sẽ đi thẳng tới đích.
1.3.4.

Đị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 coi là ngang hàng với
nhau về mặt xử lý định tuyến. Trong khi đó, định tuyến phân cấp phân các node ra thành
nhiều cấp khác nhau. Các node thuộc các cấp khác nhau có những khả năng định tuyến
thông tin khác nhau.
Chọn đường phân cấp đơn giản hơn nhiều so với chọn đường không phân cấp,
tuy nhiên, kết quả không tốt bằng.
Trong chọn đường phân cấp các node chỉ cần biết thông tin về các node đồng
cấp, cùng vùng, mà không cần biết cấu hình của mạng ở các vùng khác, cấp khác. Để
định tuyến sang một node ở vùng khác, nó chuyển công việc lên cho node cấp trên.
Trong chọn đường không phân cấp bảng chọn đường ở mỗi node chứa thông tin
về tất cả các node trong mạng nó có thể tới. Do đó cần phải có lượng bộ nhớ lớn hom để
lưu trữ bảng chọn đường, đồng thời cũng cần nhiều đường truyền dành cho việc trao đổi
thông tin chọn đường giữa các node hơn. Ưu điểm của chọn đường không phân cấp là nó
có thể đáp ứng tốt với vấn đề xử lý lưu lượng, đối phó với lỗi xảy ra, do đó nâng cao
được độ tin cậy của mạng. Trong khi đó, chọn đường phân cấp làm cho hoạt động của


mạng bị phụ thuộc vào node cấp trên, nếu các node này hỏng, mạng sẽ bị tách ra thành
nhiều phần không liên lạc được với nhau.

1.4.

Một số giải thuật định tuyến điển hình

1.4.1.

Giói thiệu

Có rất nhiều giải thuật định tuyến khác nhau. Mỗi giải thuật có những ưu điểm
cũng như những hạn chế riêng. Người thiết kế khi thiết kế mạng sẽ căn cứ vào mạng của
mình (đặc điểm của mạng, các tiêu chí đối với việc truyền thông tin trong mạng...) để
lựa chọn thuật toán chọn đường cho phù hợp. Người ta có thể đánh giá thuật toán chọn
đường theo những khía cạnh sau:


Tối ưu.



Lượng tài nguyên mạng sử dụng để phục vụ việc định tuyến.



Mạnh và ổn định.



Tốc độ hội tụ.




Linh hoạt.

Tối ưu
Có những thuật toán chọn ra được những đường truyền tối ưu, cũng có những
thuật toán chỉ chọn ra được đường truyền gần tối ưu.. .Đe đánh giá mức độ tối ưu của
tuyến đường, khi triển khai thuật toán phải xác định rõ là tối ưu theo tiêu chí gì? Có
nhiều tham số hay được sử dụng để đánh giá một tuyến đường tối ưu:


Số node phải đi qua.



Khoảng cách vật lý.



Giá thành truyền dẫn.



Độ trễ truyền lan.



Độ tin cậy.




Băng thông.



Hiệu suất sử dụng mạng.




Mức độ xử lý tại node.

Đe đơn giản khi mô tả các thuật toán, người ta đưa ra một khái niệm: “độ dài”.
Độ dài của tuyến đường là một hàm phụ thuộc vào một hoặc nhiều tham số ở trên. Do
đó, việc chọn con đường có độ dài tối ưu cũng là con đường có “độ dài ngắn nhất”.
Nhiều khi, “độ dài” của link còn được gọi là cost, hoặc giá. 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.


Bất kỳ thuật toán chọn đường nào, để hoạt động được đều phải sử dụng tài
nguyên mạng. Để đánh giá lượng tài nguyên mạng sử dụng, người ta thường dựa
trênnhững thông tin như: độ phức tạp tính toán khi xây dựng bảng chọn đường, lượng bộ
nhớ yêu cầu, lượng thông tin trao đổi để phục đường.
Mạnh và ổn định.
Thuật toán phải mạnh và ổn định, nghĩa là nó phải hoạt động tốt trong mọi tình
huống, ngay cả trong những trường hợp bất thường, không thể dự báo trước như là lỗi
truyền dẫn, lưu lượng tăng cao đột ngột...
Tốc độ hội tụ.
Đối với những mạng thay đổi liên tục, việc chọn đường cũng cần phải cập nhật
thông tin thường xuyên và sau đó thì đưa ra các quyết định chọn đường mới. Do đó, nếu

tốc độ hội tụ của thuật toán thấp, không đáp ứng kịp thời với sự thay đổi của mạng, có
thể gây ra tình trạng có những vòng lặp đi, lặp lại trong tuyến đường làm cho hoạt động
của mạng bị đình trệ. Ta có thể xem xét một thí dụ đơn giản như sau:
Hình 1.3.Quá trình tốc độ hội tụ thấp dẫn tới định tuyến vòng
Node
Node
Gói tin tói


4

router X
Đích:
Node sau:
X
RI
Bảng chọn đường đã cập

Bảng chọn đường


Giả sử việc chọn đường được thực hiện tại từng node, mỗi lần mạng thay đổi
hoặc trong một khoảng thời gian nào đó thì thông tin về mạng được cập nhật, và sau đó
thì các bộ chọn đường phải tính toán lại. Nhưng do độ hội tụ của thuật toán thấp nên các
bảng chọn đường ở mỗi node được tạo ra ở những thời điểm khác nhau. Nếu ta cần
chuyển một bản tin tới node X trong mạng, con đường tới node X đã được xác định là
phải qua node Rl. Khi gói tin tới Rl, bảng chọn đường vừa được cập nhật và xác định
node tiếp theo trên con đường đi tới node X là phải đi qua node R2, nó sẽ được chuyển
tới R2, nhưng khi tới node R2, do chưa có bảng chọn đường cập nhậtnên lại xác định
node tiếp theo trên con đường đi tới node X là node RI (theo thông tin cũ ), gói tin lại

được chuyển trở lại node Rl. Điều này làm cho việc chọn đường của chúng ta bị luẩn
quẩn ở hai node Rl, R2 này, gói tin không thể tới đích..
Linh hoạt
Chọn đường linh hoạt có nghĩa là mỗi khi trong mạng có sự thay đổi, việc chọn
đường phải nhanh chóng phát hiện được thay đổi này và điều chỉnh lại các thông tin
chọn đường cho phù hợp.
1.4.2.

Thuật toán tìm đường ngắn nhất

Bài toán tìm đường đi ngắn nhất trong số các con đường tồn tại giữa hai điểm đã
được giải quyết từ lâu và thuần tuý là toán học. Các giải thuật đó có thể áp dụng vào kỹ
thuật chọn đường trong mạng với một ít thay đổi với bối cảnh ứng dụng. Sau đây sẽ
trình bày hai giải thuật điển hình.
Thuật toán Dijkstra
Bài toán đặt ra là: tìm con đường có giá (độ dài) cực tiểu từ một node nào đó
(node nguồn) tới một node khác trong mạng (node đích). Giá ở đây là giá trị của các đại
lượng như trễ trung bình, khoảng cách vật lý, số node phải đi qua.v.v...Ta dùng giá ở đây
là để xét bài toán tổng quát. Giải thuật Dykstra sẽ từng bước kiến thiết một cây đường
“ngắn nhất”, có gốc tại node nguồn, cho tới khi node xa nhất trong mạng đã được đưa
vào. Ở bước thứ k, các con đường “ngắn” nhất của k node gần nguồn nhất sẽ được tính.
Các node đó được định nghĩa thuộc một tập ẩ .
Gọi: d(i j) là “độ dài” của đường nối hai node i và j, d(i j) =00 nếu đường nối đó
không tồn tại.


ẩ k là tập họp tạo thành bởi k+1 phần tử: nguồn và k node gần nguồn nhất
sau k bước thực hiện thuật giải.
Dk(n) là “độ dài” từ nguồn tới node n theo con đường ngắn nhất bao hàm
trong ẩ k.

Xét tổng quát, giả sử node 1 là node nguồn. Đe tính các con đường ngắn nhất từ
node 1 tới các node còn lại của mạng, ta có các bước sau:
Bước 0 (khởi động) ẩO= {1}
DO(v)= d(l,v), V không thuộc ẩ 0
Bước k (tính và cập nhật) ẩk=ẩk-iu {w}
trong đó w thoã mãn biểu thức Dk-l(w)=minDk-l(v), với mọi V không thuộc ẩ k-1
Dk(v)=min[Dk-l(v), Dk-l(w) +d(w,v)], V không thuộc ẩ k.
Thuật toán sẽ dừng lại khi tất cả các node đã nằm trong ẩ .
Dưới đây ta sẽ xét một ví dụ với mạng có 6 node và yêu cầu là phải thiết lập một
cây đường đi ngắn nhất từ node 1 tới các node còn lại.
ẩ ode 2

ẩ ode 3

Hình 1.4. Mô hình mạng 6 node
Mạng trong ví dụ như hình 1.4, trong đó những con số ghi cạnh các đường nối
các node biểu thị giá của từng cặp node kề nhau và nối với nhau


Hình 1.5. Cây đường đi ngắn nhất sau khi chọn đường Áp dụng thuật
toán trên ta được cây đường đi ngắn nhất được biểu diễn trong hình 1.4.
Ta thấy rằng, giải thuật ở trên sử dụng thông tin tổng thể của mạng tại mỗi node,
vì thể nó thích hợp cho kỹ thuật chọn đường tập trung.
Bảng mô tả thuật toán tìm đường ngắn nhất cho node 1 như sau:
Bảng 1.1: Các bước thực hiện thuật toánDỊỊkstra
Bước

Tập N

D(2)


D(3)

D(4)

D(5)

D(6)

0

{1}

2

5

1

00

00

1

{1,4}

2

4


1

2

2
3

{1,4,5}

2

3

1

2

00
4

{1,2,4,5}

3

{1,2,3,4,5}

3

1

1

2
2

4

4

2
2

5

{1,2,3,4,5,6}

2

3

1

2

4

4

Sau khi đã thực hiện chọn đường ngắn nhất xong, tại node 1 bảng chọn đường sẽ có
dạng như dưới đây:

Bảng 1.2: Bảng chọn đường tại node 1
Đích

Nút tiếp theo

2
3

2
4

4

4

5
6

4
4

Dưới đây sẽ tiếp tục giới thiệu một thuật toán tìm đường ngắn nhất. Thuật toán
này phù hợp với dạng chọn đường kiểu phân tán.
Thuât toán Bellman-Ford
Thuật toán này cũng gồm hai phần: bước khởi đầu và bước lặp cho tới khi tính
xong các tuyến đường dẫn. Sự khác biệt với thuật toán đã trình bày là ở chỗ thay vì coi
nút 1 là nút nguồn thì lại coi nó là nút đích, đồng thời từ tất cả các nút khác ta tìm đường
dẫn ngắn nhất tới đích 1 này. Trong bảng chọn tuyến ta sẽ chỉ ra khoảng cách (đây cũng



chỉ là giá trị trọng số trừu tượng để mô tả giá của tuyến truyền) từ nút bất kỳ tới nút 1 và
nút lân cận để truyền tới đích 1 theo tuyến ngắn nhất. Việc tạo bảng chọn tuyến sử dụng
thuật toán này đòi hỏi phải lặp đi lặp lại cho từng nút một, và cuối cùng thì ghi tất cả vào
trong một tập các nhãn cho từng nút, mỗi nhãn có thông tin chọn tuyến (nút tiếp theo) và
khoảng cách tới đích cuối cùng.
Mỗi nút V có nhãn (n, D(v)), với D(v) là giá trị hiện thời của khoảng cách ngắn
nhất từ nút đó tới đích, còn n là số hiệu của nút tiếp theo trên đường dẫn ngắn nhất tạm
thời.
1. Bước thứ nhất
Coi nút 1 là nút đích, đặt D(v) = 0 và gán (., oo) cho tất cả các nút
khác.
2. Bước lặp: dán nhãn khoảng cách cho các nút còn lại
Với từng nút khác 1 ta thực hiện như sau:
Thay D(v) bởi giá trị hiện thời D(w) với từng nút lân cận w để tính giá
trị D(w) + l(w, v) và thực hiện phép toán
D(v) = min [D(w] + l(w, v)]

(1.1)

Sau đó, gán nhãn mới của V bằng cách thay n bởi nút lân cận tưomg ứng với
biểu thức (1.1) tính được và thay giá trị mới tìm được vào D(v).
Với mạng ví dụ như hình 1.2, ta thiết lập bảng các vòng thực hiện sau:
Bảng 1.3: Các bước thực hiện thuật toán Bellman-Ford
Vòng Nút đích /Nhãn

2

3

4


5

6

0
1

1
1

c,00)
(1,2)

(•, °0)
(1,5)

(•, °0)
(1,1)

(•,°°)
(4,2)

(•, °0)
(5,4)

2

1


(1,2)

(5, 3)

(1,1)

(4,2)

(5,4)

Sau hai vòng lặp, các giá trị nhãn trở nên bất biến, có nghĩa rằng thuật toán đã
được thực hiện xong. Như vậy, trong vòng 1 nhận thấy nút 2 là “gần nhất” đối với nút 1,
giá thành mới của nó là D(v) = D(l) + 1(1,2) = 2, và nhãn của nó chuyển thành
(1.2) . Chuyển tới nút 3, ta có thể chọn hoặc D(2) + 1(2,3) =5 hoặc D(l) + 1(1,3) = 5;
giả sử ta chọn D(l) + 1(1,3) thì nhãn mới của nó là (1,5) (ta cũng có thể chọn D(2) +


1(2,3) vì kết quả cuối cùng như nhau). Ở vòng lặp thứ hai,ta có thể thay tại nút 3 nhãn
mới vì giá trị tối thiểu mới là D(w) + l(w, 3) = D(5) +1(5,3) = 3, do vậy nhãn của nó là
(5.3) . Từ đó trở đi, các giá trị không thay đổi nên quá trình có thể coi là hoàn thành.
Nếu ta xây dựng sơ dồ cây trên cơ sở các kết quả nhận được thì ta có mô hình của hình
2.4b, với nút 1 là gốc.
1.4.3.

Thuật toán tràn ngập

Một giải thuật định tuyến khác nữa là tràn ngập. Trong giải thuật này mỗi một
gói đến đều dược truyền đi trên mọi link nối vào nó ngoại trừ link mà nó từ đấy đến.
Cách hoạt động này của tràn ngập làm tạo ra một số lượng lớn các bản sao của gói mà
trong thực tế là một lượng vô hạn trừ khi có một số phép đo nào đó được thực hiện để

hạn chế quá trinh này. Một trong những phép đo như vậy là có một bộ đếm bước nhảy
trong phần đầu của mỗi một gói, bộ đếm này được giảm ở mỗi bước nhảy và gói sẽ bị
huỷ bỏ khi bộ đếm bằng 0. Một cách lí tưởng, bộ đếm bước nhảy cần được khởi động
bằng cách nạp giá trị đầu là chiều dài của đường dẫn từ nguồn tới đích. Nếu nguồn
không biết đường dẫn dài bao nhiêu, ta có thể khởi động bộ đếm bằng giá trị xấu nhất,
nghĩa là đường kính của toàn mạng.
Một cách khác để hạn chế sự tràn ngập là theo dõi những gói bị ngập, để tránh
truyền lại các gói này lần thứ hai. Để đạt được mục đích này, bộ định tuyến nguồn phải
đặt một số thứ tự trong mỗi một gói mà bộ định tuyến này nhận được từ máy host nối
vào nó. Mỗi một bộ định tuyến sau đó cần có một danh sách trên mỗi bộ định tuyến
nguồn cho biết số thứ tự nào khởi đầu của nguồn đó đã được nhận thấy. Nếu có một gói
đến trong bảng danh sách, gói này không bị tràn ngập.
Tràn ngập không thiết thực trong hầu hết các ứng dụng, nhưng tràn ngập cũng có
một số các ứng dụng. Thí dụ, các ứng dụng trong quân sự, trong đó một số lượng lớn các
bộ định tuyến có thể bị hư làm trì hoãn tại một lúc bất kỳ thì sự tràn ngập là một cứu vãn
tốt nhất. Trong các ứng dụng dữ liệu phân bố, đôi khi ta cần cập nhật các dữ liệu một
cách đồng thời, trong trường họp này tràn ngập lại rất hữu dụng.
Tóm lại, thuật toán “tràn ngập” là một thuật toán định đường tĩnh (vì nó không
có sự cập nhật thông tin trong quá trình định đường) rất đơn giản và không được ưa
thích cho lắm. Tuy nhiên, khi ứong mạng có một node bị hỏng có thể gây khó khăn cho


×