đồ án :Giao thức định tuyến EIGRPHướ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 thức định tuyến EIGRP. Từ đây có thể thấy được sự khác biệt về mặt tốc độ 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 chân thành cảm ơn thầy giáo ThS.Nguyễn Việt Hùng, người đã tận tình hướng dẫn và tạo mọi điều kiện tốt nhất để em có thể hoàn thành đồ án tốt nghiệp này.Em cũng xin chân thành cảm ơn các thầy cô giáo trong học viện đã dạy dỗ em những năm qua.
Trang 1LỜI NÓI ĐẦU
Định tuyến là một chức năng không thể thiếu trong bất kỳ mạng viễn thôngnà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ớimộ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ớihay 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ácdịch vụ cung cấp trên mạng có thỏa mãn được yêu cầu của người sử dụng mạng haykhông phụ thuộc rất nhiều vào việc định tuyến trong 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ôngnhờ 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áchhoà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 địnhtuyế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êncứ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ợpvớ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ủangười sử dụng để trao đổi thông tin…Không thể áp đặt hoàn toàn chiến lược địnhtuyế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ácnhau(IGRP) Chính bởi lẽ đó, EIGRP do tập đoàn Cisco phát minh nhằm khắc phụccá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ínhtoá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áckhái niệm EIGRP cũng như nguyên lý hoạt động, các kỹ thuật ứng dụngtrong EIGRP, nhằm mục đích đưa ra một cái nhìn tổng quan về giaothức định tuyến EIGRP Từ đây có thể thấy được sự khác biệt về mặt tốc
Trang 2độ hội tụ và khả năng tương thích với các giao thức khác nhau giữaEIGRP 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 trongmạng IPX, cách cấu hình và lộ trình phân phối của EIGRP trong mạngIPX, cách xử lý các bản tin SAP
Em xin chân thành cảm ơn thầy giáo ThS.Nguyễn Việt Hùng, người đã tận tìnhhướng dẫn và tạo mọi điều kiện tốt nhất để em có thể hoàn thành đồ án tốt nghiệp này
Em cũng xin chân thành cảm ơn các thầy cô giáo trong học viện đã dạy dỗ emnhững năm qua
Trang 3MỤC LỤC
LỜI NÓI ĐẦU i
MỤC LỤC iii
THUẬT NGỮ VIẾT TẮT v
DANH MỤC HÌNH VẼ vii
Trang 4THUẬT NGỮ VIẾT TẮT
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ỉ
ATM Asynchronous Transfer Mode Chế độ truyền bất đồng bộ
BDR Backup Designated Router Router được đề cử dự phòngBGP Border Gateway Protocol Giao thức cổng biên
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 mangCIDR Classless Interdomain Routing Định tuyến liên miền không
theo lớp địa chỉDHCP Dynamic Host Control
DNS Domain Name 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ộngEGP Exterior Gateway Protocol Giao thức cổng ngoài
FDDI 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
Giao thức định tuyến nội miền
ISDN Integrated Services Digital
Network
Mạng tích hợp dịch vụ số
ISO International Standards
Orrgnization
Tổ chức tiêu chuẩn quốc tế
MAC Media Access Control Điều khiển truy cập môi trường
truyềnMTU Maximum Transmission Unit Độ dài lớn nhất của chuỗi thông
tin được truyền qua đường truyềnOSI 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
RARP Reverse Address Resolution
Protocol Giao thức phân giải địa chỉ ngược
Trang 5PDU Protocol Data Unit Đơn vị dữ liệu giao thức
PPP Point - To – Point Protocol Giao thức điểm_điểm
RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên
RARP Reverse Address Resolution
Protocol Giao thức phân giải địa chỉ ngượcRIP Routing Information Protocol Giao thức thông tin định tuyếnRTMP 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ảnTCP Transmission Control Protocol Giao thức điều khiển truyền tảiUDP User Datagram Protocol Giao thức dữ liệu người dùngVLSM Variable-Length Subnet Masks Mặt nạ mạng con có độ dài biến
đổi
Trang 6DANH MỤC HÌNH VẼ
Hình1.1 Truyền thông tin theo kiểu hướng kết nối 2
Hình1.2 Truyền thông tin theo kiểu phi kết nối 2
Hình 1.3.Quá trình tốc độ hội tụ thấp dẫn tới định tuyến vòng 8
Hình 1.4 Mô hình mạng 6 node 9
Hình 1.5 Cây đường đi ngắn nhất sau khi chọn đường 10
Hình 1.6 Mạng ví dụ 5 node 13
Hình1.7 Mạng ví dụ bước nhảy 15
Hình 1.9 Mạng ví dụ trạng thái tắc nghẽn 18
Hình 1.10 Mạng ví dụ cung cấp ứng dụng 18
Hình 1.11 Thông báo trạng thái liên kết – LSA 19
Hình 1.12 Mạng hai cấp 21
Hình 1.13 Định tuyến quảng bá 23
Hình 2.1 Mạng ví dụ phân phối thông tin 28
Hình 2.2.a Mô tả các đường kế tiếp của router A đến mạng Z 30
Hình 2.4 Quá trình trao đổi thông tin 32
Hình 2.5 Mô tả gói đầu của EIGRP 35
Hình 2.6 Mô tả một kiểu của gói tin EIGRP 35
Hình 2.7 Giản đồ các thành phần của EIGRP 38
Hình 2.8 Quá trình luồng dữ liệu được định tuyến 39
Hình 2.11 Mô tả đường kế tiếp của EIGRP 41
Hình 2.12 Mô tả đường kế tiếp khả thi 42
Hình 2.13 Mô tả mạng kiểm tra EIGRP 42
Hình 2.14 Quá trình kiểm tra mạng EIGRP logic 43
Hình 2.15 Bước đầu tiên trong việc truyền bá tuyến mới 46
Hình 2.16 Quá trình router Fred nhận một tuyến tốt hơn 48
Hình.2.17 Mô tả mạng bao gồm các phần tử cục bộ 54
Hình 2.18.Quá trình chọn một tuyến thay thế giữa hai router 54
Hình 2.19 Quá trình tính toán lan tràn được bắt đầu ở router San Jose 55
Hình 2.20 Quá trình router Austin chọn một tuyến thay thế 55
Hình 2.21 Quá trình hội tụ mạng 56
Hình 2.22.Phương pháp cấu hình EIGRP cho giao thức IP 58
Hình 2.23.a Quá trình EIGRP tự động tổng hợp đường đi theo lớp địa chỉ IP 59
Hình 2.23.b Mô tả mạng có sơ đồ địa chỉ không liên tục 59
Hình 2.23.c Mô tả quá trình kết nối của các router 59
Hình 2.23.d Mô tả việc tổng hợp đường đi của EIGRP 60
Trang 7Hình 2.24 Quá trình trao đổi thông tin định tuyến giữa hai router láng giềng với nhau 63 Hình 3.1 Quá trình xử lí bản tin cập nhật IPX EIGRP 69 Chỉ có các thông tin đi qua các bước kiểm tra phù hợp thì mới được xem như là luồng vào cho bảng SAP chính Bảng SAP chính chỉ chứa các thông tin quảng bá tốt nhất mà đã qua các bước kiểm tra phù hợp 69 Hình 3.2 Quá trình thông tin được phục hồi từ bảng phục hồi SAP 70
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1.1: Các bước thực hiện thuật toánDijkstra 10
Bảng 1.2: Bảng chọn đường tại node 1 10
Bảng 1.4: Cost của các node trong mạng đến A 14
Bảng 1.5: Cost của các node trong mạng tới A 14
Bảng 1.6: Quá trình đếm tới vô cùng 15
Bảng 1.7: Bảng chọn đường trong trường hợp không phân cấp 21
Bảng 1.8: Bảng chọn đường trong trường hợp phân cấp 22
Bảng 2.1: Bảng truy vấn và trả lời 52
Bảng 2.3 Các lệnh EIGRP gỡ rối 62
Bảng 3.1 Các lệnh cấu hình IPX EIGRP cơ bản 64
Bảng 3.2 Các lệnh cấu hình để điều khiển phân bố lại định tuyến IPX 64
Bảng 3.3 Các tham số dữ liệu ngoại vùng của một tuyến IPX EIGRP 65
Trang 9CHƯƠ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ạngthông tin Nó đượ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ảithự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á đơngiả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ácnhau 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ạngthá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ưulượ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à đườngtruyền tối ưu) dựa trên các thông tin trạng thái trên Đường truyền khả dụng là đườngtruyề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ủamạng (ví dụ: khả năng của đường truyền) Còn đường truyền tối ưu (theo một tiêuchuẩ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ấuhì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 2kiể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ềnthô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 tintrê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
Trang 10hướ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ềucon đường khác nhau (hình 1.2)
Hình1.1 Truyền thông tin theo kiểu hướng kết nối
Hình1.2 Truyền thông tin theo kiểu phi kết nối
1.2 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 tràn lụt hoạt động rất hiệu quả trong nhữngmạ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ưulượ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ớitấ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ớicá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ôngtin
Để 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 haicá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ànlụt Khi nhận được gói tin đến từ node lân cận, nó sẽ kiểm traxem gói đã được nhận lần nào chưa Nếu đó là gói chưa nhận lầnnào, sẽ lưu thông tin về gói đó trong bộ nhớ và phát tràn lụt sangnode lân cận Nếu đã nhận được gói trong quá khứ, sẽ không thựchiệ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ôngtin 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á
M es sa
ge
4
M es sa
ge 1
Message 2
S2 S1
ge 1 S2
S1
S3 S5
S4
S6
Trang 11trị bước nhảy này sẽ tăng lên một Nếu giá trị mới này lớn hơnmột giá trị giới hạn nào đó, gói tin sẽ không phát tràn lụt nữa, cònnếu nhỏ hơn, nó sẽ tiếp tục được phát tràn lụt Giá trị tới hạnthườ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í, tuynhiên sẽ đến đích theo con đường nhanh nhất mà không cần phải tính toán, không cầnphả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ầnthiế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ùngkhi 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ộtnode 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ạicon đườ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ương 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 thì nó sẽ tiêp tục truyền theo một con đường ngẫu nhiên nào đó (miễn là khôngphả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ànngẫ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ềntrước
Theo phương pháp truyền ngẫu nhiên, việc tính toán đường truyền rất ít, tổnglư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ứanhiề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 đếnmộ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ụcnà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 hainode 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ẽ đượctruyề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 cungcấ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
Trang 12đượ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 đườngkhá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ênmỗi gói tin phải mang số thứ tự kèm theo
Như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ántạo bảng chọn đường Bảng chọn đường có thể mang dữ liệu cố định hoặc thay đổitheo thời gian Nế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ầnphả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 đượctí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 đổiliê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ỗigó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ờigian giữa hai lần cập nhật là một giá trị quan trọng Nếu giá trị này quá lớn, cost củamỗ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áccon đường không còn đảm bảo đúng theo tiêu chuẩn 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ảngchọn đường liên tục thay đổi Đồng thời nếu các node không đồng bộ trong việc cậpnhật bảng chọn đường sẽ gây ra lộn xộn trong việc truyền thông tin
Nế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ớichọ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ương 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 Nhưng rấtkhó 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ềukhiể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ểnmạ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ủachú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đó
Trang 13Đối với kỹ thuật định tuyến phân tán, công việc tính toán chọn đường đượcthự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.
Nhượ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ềutrong 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 nodehỏ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 đổithô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ếumuố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 đườngthay thế khi con đường kế tiếp gặp sự cố (quá tải, hỏng) Kỹ thuật chọn đường nàynhìn chung là đơn giản, do vậy được sử dụng rất rộng rãi, đặc biệt trong các mạngtươ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ênmạng
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ố
Trang 14quan 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ủangườ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 với các thay đổi trên mạng Mức độ thíchnghi của một kỹ thuật chọn đường được đặc trưng bởi sự trao đổi thông tin trongmạ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ểntrong trường hợp kỹ thuật tập trung) hoạt động một cách độc lập với thông tin riêngcủ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ánggiề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 choviệc chọn đường bao gồm:
• Các trạng thái của đường truyền
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 giantrê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ânthà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 đềuphả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ôngtin 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ầnmang đị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 theovò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ớinhau về mặt xử lý định tuyến Trong khi đó, định tuyến phân cấp phân các node rathà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 đồngcấ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
Trang 15Trong chọn đường không phân cấp bảng chọn đường ở mỗi node chứa thôngtin 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ớnhơn để lưu trữ bảng chọn đường, đồng thời cũng cần nhiều đường truyền dành choviệc trao đổi thông tin chọn đường giữa các node hơn Ưu điểm của chọn đườngkhô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ỗixảy ra, do đó nâng cao được độ tin cậy của mạng Trong khi đó, chọn đường phân cấplà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ểmcũ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ạngcủ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 trongmạ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:
• Số node phải đi qua
Để đơ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
Trang 16Lượ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àinguyê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ìnhhuố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ỗitruyề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ậtthô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ủamạ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àmcho 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
Giả sử việc chọn đường được thực hiện tại từng node, mỗi lần mạng thay đổihoặ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ấpnê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 R1 Khi gói tin tới R1, 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 R1 (theo thôngtin cũ ), gói tin lại được chuyển trở lại node R1 Điều này làm cho việc chọn đườngcủa chúng ta bị luẩn quẩn ở hai node R1, 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 tinchọn đường cho phù hợp
Gói tin tới
Trang 171.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ụngvà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ùnggiá ở đây là để xét bài toán tổng quát Giải thuật Dijkstra sẽ từng bước kiến thiết mộtcâ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ồnnhất sẽ được tính Các node đó được định nghĩa thuộc một tập N
Gọi: d(i,j) là “độ dài” của đường nối hai node i và j, d(i,j) =∞ nếu đường nối
Xét tổng quát, giả sử node 1 là node nguồn Để 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:
trong đó w thoã mãn biểu thức Dk-1(w)=minDk-1(v), với mọi v không thuộc Nk-1
Dk(v)=min[Dk-1(v), Dk-1(w) +d(w,v)], v không thuộc Nk
Thuật toán sẽ dừng lại khi tất cả các node đã nằm trong N
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ậpmột cây đường đi ngắn nhất từ node 1 tới các node còn lại
Node 1
Node 4
Node 5 Node 6
2
1
1
2 1
Trang 18Mạ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ánDijkstra
543333
111111
∞
22222
∞
∞
4444
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
23456
24444
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 khití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
2
1
2
Trang 19tì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ảngcá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útbấ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ạobả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ôngtin 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áchngắ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ắnnhấ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 (., ∞) 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ương ứ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
(., ∞)(1, 2)(1, 2)
(., ∞)(1, 5)(5, 3)
(., ∞)(1, 1)(1, 1)
(., ∞)(4, 2)(4, 2)
(., ∞)(5, 4)(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(1) + l(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) + l(2,3) =5 hoặc D(1) + l(1,3) = 5;giả sử ta chọn D(1) + l(1,3) thì nhãn mới của nó là (1,5) (ta cũng có thể chọn D(2) +l(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ãnmới vì giá trị tối thiểu mới là D(w) + l(w, 3) = D(5) + l(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ủahì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ộtgó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
Trang 20trong 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á trình này Một trong những phép đo như vậy là có một bộ đếm bước nhảytrong 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 độngbằ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ồnkhô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ánhtruyề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ồnphả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 hostnố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ộ địnhtuyế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ượnglớ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 ưathích cho lắm Tuy nhiên, khi trong mạng có một node bị hỏng có thể gây khó khăncho các thuật toán định tuyến khác thì thuật toán “tràn ngập” lại làm việc tốt, mặc dù
nó định đường không tối ưu và thường gây tắc nghẽn trong mạng
1.4.4 Định tuyến theo vec-tơ khoảng cách
1.4.4.1 Giới thiệu
Thuật toán chọn đường theo vec-tơ khoảng cách đã được sử dụng phổ biếntrong các mạng chuyển gói từ cách đây vài thập kỷ, bắt đầu từ mạng ARPANET Nóđược sử dụng phổ biến có thể là do đơn giản, tính toán phân tán, chỉ sử dụng nhữngthông tin cục bộ để định ra con đường tới đích
Giải thuật định tuyến theo vec-tơ khoảng cách hoạt động trong thực tế bằngcách mỗi một bộ định tuyến duy trì một bảng (nghĩa là một vec-tơ) cung cấp khoảngcách tốt nhất được biết cho mỗi đích và đường dây nào được sử dụng để đến đượcđích Các bảng này được cập nhật bằng cách trao đổi thông tin với các bộ định tuyếnláng giềng
Thuật toán chọn đường theo vec-tơ khoảng cách chọn ra con đường tối ưu theomột tiêu chuẩn tối ưu định trước Thước đo để đánh giá có thể là các tham số về trễ, tỉ
lệ lỗi, cước phí truyền dẫn…Khi đánh giá một đường truyền, ta dựa trên một giá trị
gọi là cost của đường truyền đó Cost có thể là một tham số ở trên, cũng có thể là một
hàm phụ thuộc vào nhiều tham số Đường truyền tối ưu nghĩa là có cost nhỏ nhất
Cơ sở của thuật toán chọn đường theo vec-tơ khoảng cách là thuật toánBellman-Ford mà ta đã xét ở trên
Hạn chế của thuật toán chọn đường theo vec-tơ khoảng cách là tốc độ hội tụcủa thuật toán bị ảnh hưởng rất nhiều khi các link trong mạng thay đổi cost liên tục
Trang 21Sau đây là các vấn đề cần được xét của thuật toán chọn đường theo vec- tơkhoảng cách.
1.4.4.2 Tính toán lại cost
Giả sử tại thời điểm trước khi có sự thay đổi về cost của các link, tuyến đường
từ node i đến node j phải đi qua lân cận với i là k, và cost của toàn tuyến đường đó là
d Nếu sau khi thay đổi cost, node i nhận được thông tin từ node lân cận k rằng qua k,con đường tới j có tổng cost là d’<d, thì thông tin về con đường tới j của i sẽ được cậpnhật Trường hợp khác, nếu node k thông báo với node i rằng con đường tới j qua ktăng cost, khi đó node i sẽ thực hiện lại việc tính toán chọn đường tới node j
Trong trường hợp node k bị hỏng (hoặc link từ i tới j bị hỏng), cần phải có biệnpháp để xử lí lỗi này, bởi vì theo như hoạt động thông thường, lỗi này không thể được
xử lý Bởi con đường tới j của i chỉ có thể thay đổi khi k gửi thông tin thay đổi costcủa con đường tới j cho i, mà việc gửi này không thể thực hiện được Các giao thứcchọn đường theo phương pháp vec-tơ khoảng cách đều cần có một cơ chế xử lýtrường hợp này Ví dụ như giao thức RIP, sẽ quy định một chu kỳ cho các node gửithông tin cập nhật tới các node lân cận Nếu có một node, cứ sau một số hữu hạn chu
kỳ đó, không nhận được thông tin cập nhật từ một node lân cận thì tất cả các conđường từ node này qua node lân cận đó đều bị huỷ và phải tính toán lại những conđường bị huỷ đó
1.4.4.3 Đếm đến vô cùng
Thuật toán chọn theo vec-tơ khoảng cách có tốc độ hội tụ khác nhau trong cáctrường hợp thay đổi cost khác nhau Nó đáp ứng nhanh với tin tốt lành và đáp ứngchậm với tin xấu Để thấy rõ điều này, chúng ta xem xét ví dụ sau: Một mạng có 5
node như hình 1.6, trong đó cost là số bước nhảy.
Hình 1.6 Mạng ví dụ 5 node
Con đường tới các đích không thể tới có cost bằng ‘vô cùng’ Giả sử lúc đầu A
bị hỏng và tất cả các node khác đều biết điều này nên có cost tới A là ‘vô cùng’ Khi
A được khôi phục (tin lành) ở lần trao đổi thông tin đầu tiên, B biết láng giềng bên tráicủa nó có cost bằng 0 đến A Theo bảng định tuyến của B, con đường tới sẽ có costbằng 1 Tất cả các node còn lại vẫn nghĩ A bị hỏng và cost của con đường tới A bằng
‘vô cùng’ như trong bảng 2.1, dòng thứ hai Tại lần trao đổi sau, C biết có cost đến A
là 1 vì thế nó cập nhật bảng định tuyến của nó cost đến A là 2 Cứ vậy, sau 4 chu kỳtrao đổi thông tin kết quả đúng đã có ở tất cả các node
Xét trường hợp thứ hai, mạng đang hoạt động tốt thì đường link từ node B đếnnode A bị hỏng (tin xấu) Khi B không nhận được thông tin gì về A từ phía bên trái,
nó sẽ coi rằng cost của con đường tới A theo hướng bên trái bằng ‘vô cùng’ Trongkhi đó, con đường tới A theo hướng bên phải sẽ là 2 (qua C) +1(từ B đến C)=3 Conđường này thực ra là không chính xác bởi nó phải đi qua B để tới A Cost tới A của C,
D, E vẫn không thay đổi như trong bảng 1.4
Trang 22Bảng 1.4: Cost của các node trong mạng đến A
Đến lần cập nhật thông tin thứ hai, C nhận được thông tin từ các node lân cận
về con đường ngắn nhất đến A là 3, nó sẽ có cost của con đường đến A là 4 Đến lầncập nhật thứ ba, B lại cập nhật lại thông tin của mình theo C…Và thông tin cứ chậmchạp được thay đổi như vậy cho tới khi tất cả các node đều có cost của con đường tới
Tại đây có một điều cần lưu ý là nếu như tuân theo phép tính thì giá trị cost sẽ
tiến đến ‘vô cùng’ khi số lần cập nhật tiến đến vô cùng Điều này là không thể được,cho nên có một cách giải quyết để tránh khỏi vướng mắc trên là giá trị cost=∞ sẽ đượcđặt ngầm định là bắng cost dài nhất cộng 1 (vì ở đây giá trị cost là có giới hạn dựatheo cấu hình mạng) Còn nếu đối tượng là thời gian trễ trung bình thì không có mộtgiới hạn nào hoàn toàn xác định cho nên ta sẽ đặt ngầm định ở đây một giá trị lớntương ứng với giá trị ‘vô cùng’
1.4.4.4 Chia cắt hai hướng
Trong trường hợp tin xấu ở trên, hai node C và B đã liên tiếp truyền nhữngthông tin không chính xác cho nhau, tạo ra đường đi lòng vòng Để giải quyết tình
trạng này, giải pháp chia cắt hai hướng (trong một số tài liệu, được gọi là giải pháp
chẻ ngang), đã được đưa ra Theo giải pháp này, một node truyền thông tin đúng vềcost tới đích cho tất cả các node láng giềng trừ node mà qua đó nó sẽ đi tới đích Đốivới node này, hoặc là nó không truyền thông tin gì (theo phương pháp chia cắt haihướng thông thường), hoặc nó truyền lại thông tin rằng cost bằng ‘vô cùng’ Như
Trang 23trong ví dụ trên, node C chỉ truyền thông tin cập nhật đúng về con đường tới A chonode D, còn với node B, nó không truyền thông tin gì hoặc sẽ truyền thông tin rằngcost tới A là ‘vô cùng’.
Tuy nhiên, giải pháp chia cắt hai hướng chỉ giải quyết được tình trạng hai nodeđưa thông tin không chính xác cho nhau Còn khi có ba node trở lên đưa thông tinkhông chính xác, nó có sẽ lại rơi vào tình trạng tạo nên đường vòng như trong hình vẽ1.7
từB từC kquả từA từC kquả từA từB kquả
Trang 24Cập nhật có điều kiện là cơ chế giúp cho các mạng sử dụng phương pháp cậpnhật theo chu kỳ hoạt động hiệu quả hơn Cập nhật có điều kiện là quá trình cập nhậtcost diễn ra ngay sau khi phát hiện ra có sự thay đổi cost của tuyến đường tới đích.Thông thường, để giảm phí tổn truyền dẫn cho thông tin cập nhật, quá trình cập nhật
có điều kiện chỉ thực hiện cập nhật đối với những tuyến đường mà cost sẽ bị thay đổi.Đồng thời, quá trình cập nhật có điều kiện có thể làm chậm lại một khoảng thời gian,trong khoảng thời gian đó, nếu việc cập nhật định kỳ xảy ra thì cập nhật có điều kiện
sẽ không được tiến hành nữa
Quá trình cập nhật có điều kiện diễn ra như sau: Giả sử node i sau khoảng thờigian quy định không nhận được thông tin gì từ node j, nó sẽ coi rằng node j không thểliên lạc được Khi đó, i sẽ gửi thông tin cập nhật có điều kiện đến tất cả các node lâncận của nó Trong các node lân cận của i, chỉ những node có đường đi tới j qua i phảnứng với thông tin cập nhật này Các node còn lại sẽ bỏ qua thông tin cập nhật đó.Những node có liên quan sẽ tiến hành tính toán lại con đường tới j., đồng thời lại gửithông tin cập nhật có điều kiện tới các node lân cận Kết quả là thông tin cập nhậtđược lan truyền từ i tới tất cả các node có đường đi tới j qua i
Với cơ chế cập nhật có điều kiện này, vấn đề “đếm đến vô cùng” sẽ được loạitrừ nếu trong quá trình thông tin cập nhật có điều kiện truyền lan không có thay đổi gì
về tuyến đường tới đích đang xét
1.4.5 Định tuyến theo trạng thái liên kết
1.4.5.1 Giới thiệu
Định tuyến theo trạng thái liên kết là một phương pháp chọn đường mạnh hơn,linh hoạt hơn so với định tuyến theo vec-tơ khoảng cách mà đã được sử dụng trongmạng ARPANET và đang được tiếp tục sử dụng trong mạng Internet hiện tại
Trong thuật toán chọn đường theo trạng thái liên kết, mỗi node trong mạng sẽ
có một bản sao của cơ sở dữ liệu miêu tả cost của các đường link giữa các node trongmạng Cơ sở dữ liệu này được tạo thành từ các phần nhỏ gọi là các thông báo trạngthái liên kết LSA Mỗi node trong mạng có nhiệm vụ tạo ra một LSA miêu tả về tất cảcác đường link nối với mình Sau đó, nó gửi LSA này tới các node còn lại trong mạng
Việc phân phát các LSA được thực hiện bởi quá trình tràn lụt Yêu cầu đối vớiviệc tràn lụt này là nhanh, chính xác Trong thuật toán chọn đường theo trạng thái liênkết, điều quan trọng là các node phải có cơ sở dữ liệu giống nhau Có vậy thì mới cóthể chọn được những con đường kế tiếp xác và không tồn tại vòng Khi trong mạng cóbất kỳ sự thay đổi về trạng thái link (thay đổi về khả năng làm việc của node cũng dẫnđến thay đổi về trạng thái link), các node có liên quan sẽ phải tạo ra những bản LSA
mô tả thay đổi đó và gửi đi cho toàn mạng Trong khi đang thực hiện tràn lụt, các node
sẽ có những cơ sở dữ liệu khác nhau Nhưng chỉ sau một khoảng thời gian ngắn (cóthể nói là chỉ phụ thuộc vào trễ truyền dẫn, nếu tràn lụt tốt), việc đồng nhất dữ liệu lạiđược đảm bảo
Sau khi node đã có được dữ liệu cập nhật, nó sẽ được thực hiện việc tính toántì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 là sửdụng thuật toán Dijkstra (còn đường gọi là thuật toán chọn đường ngắn nhất trước tiênnhư đã nói ở trên)
Trang 25Có thể miêu tả thuật toán chọn đường theo trạng thái liên kết gồm 5 bước:
Khi một node bắt đầu làm việc, nhiệm vụ đầu tien là gửi đi một gói tin đặc biệt
“HELLO” theo tất cả các node trong hướng
thường coi LAN như một node ảo Node ảo này kết nối điểm - điểm tới tất cả các node
đó (Như trong hình1.8, mạng LAN kết nối ba node A, C, F)
1.4.5.3 Xác định cost cho mỗi link
Thuật toán chọn đường theo trạng thái liên kết yêu cầu mỗi node phải biếtđược, hay ít nhất là ước lượng được cost của mỗi link nối tới nó Như đã biết cost củamỗi link có thể được đánh giá theo nhiều tham số, do đó có nhiều cách xác định costcủa mỗi link Ví dụ: nếu cost của mỗi link được đánh giá theo trễ truyền lan trên linkthì một gói có thể xác định cost bằng cách gửi đi một gói tin lặp lại, và đầu bên kia khinhận được gói tin này thì ngay lập tức gửi trở lại Khi đó, node ban đầu có thể căn
cứ vào khoảng thời gian từ khi phát đến khi nhận được gói tin lặp lại để xác định cost.Cũng có thể làm cho cost của mỗi link phụ thuộc cả vào lưu lượng của link Nếumuốn phụ thuộc vào lưu lượng, khi tính thời gian truyền gói lặp lại, ta tính cả thờigian từ khi gói này được đưa vào hàng đợi, cho đến khi nó bắt đầu được truyền đi.Đánh giá cost phu thuộc cả vào lưu lượng có cái lợi là thông tin sẽ truyền đi theođường ít bị tắc nghẽn Tuy nhiên, cũng có lúc cách này dẫn đến là mạng hoạt độngkhông hiệu quả như trong hình 1.9
Trang 26Mạng được chia thành hai phần Đông, Tây Hai nửa này được kết nối bởi haiđường CF và EI Giả sử rằng, phần lớn thông tin truyền giữa hai nửa đang theo đường
CF, do đó, khi đánh giá, CF sẽ có cost lớn hơn nhiều so với EI Sau khi lập lại bảngchọn đường, tất nhiên, sẽ chọn EI Từ đó hầu hết lưu lượng giữa hai nửa sẽ tập trungtrên đường EI Đến lần đánh giá, chọn đường sau, CF lại được chọn Vậy là, bảngchọn đường lại được thay đổi liên tục, mạng hoạt động không hiệu quả
Hình 1.9 Mạng ví dụ trạng thái tắc nghẽn
1.4.5.4 Thông báo trạng thái liên kết
Mạng được miêu tả bằng cách chính xác thông qua các thông báo trạng tháiliên kết Mỗi LSA sẽ mang 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 những thôngtin sau:
• Tên, hoặc mã nhận dạng của node đó
• Danh sách các link nối tới node đó
• Cost của mỗi link
• Node (hoặc một phần của mạng có thể quy thành một node) nốivới đầu kia của mỗi link
• Các dịch vụ, ứng dụng của node đó cung cấp
Hình 1.10 Mạng ví dụ cung cấp ứng dụng
Ví dụ, với mạng như hình 1.10, sẽ có cơ sở dữ liệu như hình 1.11 Cơ sở dữliệu này được tạo thành từ 5 LSA (tương ứng với 5 node) Nhìn vào LSA tương ứngvới node A, ta thấy: node A nối với 3 link Link thứ nhất nối với A, với B và có costbằng 4 Link thứ hai có cost bằng 3 nối với node C Và link thứ ba có cost bằng1 nối
E
D A
G
H
J I
4
2
3
Trang 27với A, với E Thêm nữa, LSA của node A còn cho thấy node này có cung cấp dịch vụcho Application1.
Hình 1.11 Thông báo trạng thái liên kết – LSA
Sau khi có được LSA của tất cả các node khác, cùng với LSA của mình tạo ra,mỗi node sẽ biết được mọi thông tin về cấu hình kết nối, trạng thái kết nối…củamạng Các thông tin này sẽ được sử dụng để tính toán chọn đường
Thông thường một LSA còn chứa thêm nhiều thông tin khác như:
• Số thứ tự: Khi trong mạng tồn tại nhiều LSA do cùng một node
tạo ra, số thứ tự của LSA sẽ được dùng để chọn ra LSA mangthông tin mới nhất
• Tuổi của LSA: Giá trị này được dùng để liểm tra xem LSA còn có
giá trị nữa hay không
• Kiểm tra lỗi: Dùng để kiểm tra lỗi trong khi truyền LSA trên
mạng hoặc khi lưu LSA trong bộ nhớ
Ngoài ra, trong các giao thức khác nhau, LSA còn có thể các trường mang cácthông tin chi tiết hơn, ví dụ như: cost của link cho các dịch vụ khác nhau, tình trạngtắc nghẽn của node…
Ta thấy, việc tạo ra LSA khá đơn giản Nhưng vấn đề là ở chỗ khi nào thì tạoLSA Cách thứ nhất là tạo chúng một cách định kỳ, cứ sau một khoảng thời gian xácđịnh sẽ thực hiện Cách thứ hai là tạo các LSA mỗi khi trong mạng có một sự thay đổiđáng kể như khi link, hoặc node thay đổi khả năng hoạt động: đang hoạt động tốt thìhỏng hoặc ngược lại
1.4.5.5 Phân phát các LSA
Khi phân phát các LSA, yêu cầu đặt ra là phải nhanh, và đủ tin cậy Thôngthường, người ta sử dụng phương pháp tràn lụt Một node khi phát đi các LSA, số thứ
Switch B Links A D
4 2 Switch A
Links
B
C
4 3
Ứng dụng 1
Switch E Links A C
1 1
Switch C Links A D
3 5
Switch A Links B C
2 5
Trang 28tự sẽ được tăng dần lên Mỗi node sẽ lưu giữ một bản danh sách các cặp giá trị (node,
số thứ tự) Khi một node nhận được một LSA, nó sẽ kiểm tra số thứ tự của LSA này,
nếu lớn hơn so với số thứ tự lưu trong bản danh sách, nó sẽ cập nhật cơ sở dữ liệutrạng thái liên kết của mình, đồng thời chuyển tiếp theo tất cả các link nối vào nóngoại trừ link mà qua đó LSA được chuyển tới Trường hợp ngược lại, LSA sẽ được
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:
• Thứ nhất, nếu việc tăng dần số thứ tự dẫn đến tràn số, hoạt độngcủa mạng bị rối loạn (Tràn số là điều tất yếu xảy ra khi tăng sốlên vượt quá phạm vi biểu diễn của máy tính, ví dụ khi biểu diễn
số tự nhiên bằng 8 bit, ta chỉ có thể có giá trị lớn nhất là 255; saukhi cộng thêm 1 vào số này, kết quả thu được sẽ là 0) Vấn đề này
có thể được giải quyết bằng cách sử dụng nhiều bit để biểu diễn
số thứ tự Ví dụ nếu sử dụng số thứ tự 32 bit, và với chu kỳ phátLSA thì phải sau 136 năm mới xảy ra tràn số
• Thứ hai, nếu một node bị hỏng, nó sẽ bị mất giá trị số thứ tự hiệntại của mình Nếu nó lại bắt đầu từ 0, tất cả các LSA nó phát đi sẽkhông có giá trị Vấn đề này có thể được giải quyết bằng cách:node sau khi bị hỏng và hoạt động trở lại, sẽ gửi yêu cầu tới tất cảcác node khác trong mạng khởi tạo lại cặp giá trị (node, số thứ tự)tương ứng
Để tăng độ tin cậy khi “tràn ngập”, tất cả các node đều phải gửi thông tin báonhận khi nó nhận được một LSA, dù LSA đó mang thông tin củ hay mới Nếu hainode lân cận gửi cùng một LSA cho nhau thì không cần phải báo nhận Một node saukhi gửi LSA mà chưa được báo nhận thì sẽ tiếp tục gửi LSA sau mỗi khoảng thời gianquy định cho tới khi nhận được báo nhận
Ví dụ, với mạng hình 2.9 ở trên, giả sử node A gửi LSA của mình, quá trìnhtràn ngập sẽ diễn ra như sau:
• Đầu tiên, A gửi các LSA của mình cho các node B, C và E
• B, C và E thấy các LSA mới nhận được mang thông tin mới, sẽcập nhật vào cơ sở dữ liệu, và gửi báo nhận về A Sau đó, B sẽtruyền LSA này cho D, C truyền cho D và E, còn E thì truyền cho
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ửibáo nhận cho C Và D cũng ngầm coi các LSA chuyển đến từ B
Trang 291.4.5.6 Tính toán chọn đường
Sau khi node đã có cơ sở dữ liệu đầy đủ, nó sẽ thực hiện việc tính toán chọnđường Như đã nói, hầu hết các giao thức chọn đường theo trạng thái liên kết đều sửdụng thuật toán Dijkstra để tính toán tìm đường ngắn nhất Mỗi link sẽ có hai giá trịcost tương ứng do hai node ở hai đầu gửi đến Thuật toán Dijkstra có thể sử dụng cảhai giá trị này, mỗi giá trị cho một hướng, cũng có thể sử dụng giá trị trung bình cho
cả hai hướng
1.4.6 Định tuyến phân cấp
Khi số lượng các node trong mạng tăng, kích thước của bảng chọn đường tạimỗi node cũng tăng tương ứng Điều này, không chỉ làm lãng phí nhiều bộ nhớ màcòn làm tăng khoảng thời gian cho mỗi lần tìm đường (phải chọn trong bảng chọnđường lớn) và còn làm lãng phí nhiều dung lượng đường truyền để truyền chúng đi.Kích thước của mạng cứ tăng, cho đến một lúc nào đó, việc mỗi node đều lưu thôngtin để chọn đường tới tất cả các node khác trong mạng sẽ không còn hợp lý, khi đó cácnode trong mạng cần phải được phân thành các cấp khác nhau để thực hiện việc địnhtuyến
Khi phân cấp, các node sẽ được đưa vào các vùng khác nhau Mỗi node chỉ cầnbiết chi tiết về việc chọn đường tới các đích trong một vùng với nó Điều này rất phùhợp khi kết nối nhiều mạng lại với nhau Lúc đó, mỗi mạng được coi là một vùng, mỗinode trong một mạng sẽ không cần phải biết chút gì về cấu trúc của các mạng khác
Hình 1.12 Mạng hai cấp
Hình 1.12 chỉ ra một ví dụ về một mạng đơn giản với hai cấp Mạng này có 17node được chia thành 5 vùng Nếu sử dụng phương pháp định tuyến không phân cấpnhư bình thường, node 1A sẽ có 17 mục trong bảng chọn đường của mình Nếu địnhtuyến có phân cấp, sẽ còn thông tin chọn đường tới tất cả các node trong cùng vùng 1với 1A, Các vùng còn lại sẽ chỉ được coi như là một node Vì vậy, tất cả lượng thôngtin cần chuyển tới vùng 2 đều đi theo con đường 1B – 2A, còn lượng thông tin cầnchuyển tới các vùng còn lại sẽ đi theo hướng 1C – 3B Ta thấy, việc chọn đường phâncấp đã giảm kích thước bảng chọn đường của node 1A từ 17 (bảng 1.7) xuống còn 7mục (bảng 1.7)
Bảng 1.7: Bảng chọn đường trong trường hợp không phân cấp
Đích Node sau Số hop
4B
4A 4C 3A 3B
1A
1B 1C
Trang 30Bảng 1.8: Bảng chọn đường trong trường hợp phân cấp
Đích Node sau Số hop
Một ưu điểm nữa của việc phân cấp là giúp cho việc tính toán chọn đường nhẹ
đi, giảm phức tạp đi rất nhiều
Tuy nhiên, để được lợi về kích thước của bảng chọn đường, chúng ta sẽ bị thiệttrong việc tìm ra con đường có cost thấp Lấy ví dụ, khi cần tìm đường từ 1A tới 5C,theo phương pháp trên, kết quả sẽ là đi qua vùng 3, trên thực tế, con đường có costthấp nhất lại là con đường đi qua vùng 2
Khi phân cấp cho một mạng rất lớn, một câu hỏi sẽ được đặt ra là: Nên chiathành bao nhiêu cấp? Ví dụ, với một mạng có 1200 node, nếu không phân cấp, trongbảng chọn đường của mỗi node sẽ có 1200 mục Nếu phân thành hai cấp với 30 vùng,mỗi vùng có 40 node, thì mỗi node sẽ có bảng chọn đường với 29 +40=69 mục Cònnếu phân thành 3 cấp, với 10 vùng cấp, mỗi vùng cấp 1 gồm 10 vùng cấp 2, mỗi vùngcấp 2 có 12 node, khi đó, bảng chọn đường ở mỗi node sẽ có 11+10+10=31 mục.Theo tác giả Kamoun và Kleinrock đã tính rằng, trong một mạng có N node thì số cấptối ưu khi phân cấp sẽ là ln(N), và sẽ có trung bình eln(N) mục trong bảng chọn đườngcủa mỗi node Và họ cũng chỉ ra rằng, kích thước của bảng chọn đường giảm thì mứctối ưu về cost của con đường chọn được cũng giảm theo
1.4.7 Định tuyến quảng bá
Trang 31Trong một số trường hợp, một node cần chuyển thông tin tới tất cả các nodekhác trong mạng Việc truyền tin như vậy được gọi là quảng bá thông tin Có nhiềuphương pháp đã được đưa ra để thực hiện việc truyền tin quảng bá trong mạng chuyểnmạch gói
Cách đầu tiên là truyền bình thường tới từng node trong mạng, tức là sẽ gửi tớimỗi node các gói tin cần truyền Ta thấy rằng, cách này sẽ gây lãng phí đường truyềnrất nhiều Thêm nữa, node nguồn cần phải biết danh sách tất cả các node khác Có thểnói, đây là cách kém hiệu quả nhất
Cách thứ hai là thực hiện “tràn ngập” Mặc dù “tràn ngập” là một phương pháprất kém hiệu quả trong truyền tin điểm - điểm, tuy nhiên lại là phương pháp đáng quantâm khi thực hiện truyền tin quảng bá, đặc biệt là khi các phương pháp dưới đâykhông thể sử dụng được
Phương pháp định tuyến quảng bá tiếp theo là sử dụng một cây đường đi, cógốc là node cần quảng bá thông tin Mỗi thông tin được truyền đến một node, nodenà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ướngthông tin tới Phương pháp này chiếm ít dung lượng đường truyền nhất, tạo ra số góitin sao chép để gửi đi ít nhất Tuy nhiên, mỗi node lại cần phải lưu thông tin về cáccây đường đi Các cây đường đi này có lúc có sẵn (ví dụ, khi sử dụng thuật toán chọnđường theo trạng thái liên kết), nhưng cũng có khi không (ví dụ, chọn đường theo vec-
tơ khoảng cách)
Thuật toán quảng bá cuối cùng đường ngược lại, có ý tưởng rất đơn giản nhưnglại hoạt động khá hiệu quả: Mỗi khi một node nhận được một gói tin quảng bá, nó sẽkiểm tra con đường hướng tới gói tin này Nếu gói tin này tới theo hướng của conđường dẫn tới node nguồn, gói tin sẽ được tiếp nhận và chuyển tiếp tới tất cả cáchướng còn lại Nếu không, sẽ bị bỏ qua Ví dụ sau sẽ minh hoạ cho hoạt động củathuật toán này
(a): Cấu trúc mạng (b): Cây đường đi Hình 1.13 Định tuyến quảng bá
Bước đầu tiên, node nguồn I sẽ gửi gói tin tới F, H, J và N Bước thứ hai, tất cảcác node này (được biểu thị bởi khoanh tròn xung quanh) nhận thấy các gói tin đến
P G
D
C
B A
E
F I N
Trang 32theo đúng con đường sẽ dẫn tới I, sẽ tiếp nhận và gửi tới các node lân cận (các node ởhàng thứ 3) Bước thứ ba, các node E, K, O (được biểu thị bởi không có khoanh tròn),nhận được các gói tin quảng bá phát từ I mà lại không tới theo con đường dẫn tới I, sẽ
bỏ qua các gói tin này, 5 node tiếp tục xử lý các gói tin mới nhận được, gửi chúng tớicác node lân cận Bước thứ tư, trong 6 node mới nhận được gói tin quảng bá, chỉ có 3node (E,C, K) nhận được theo con đường dẫn tới I, xử lý các gói tin sau 5 bước, quátrình quảng bá sẽ kết thúc
So sánh ta thấy, theo phương pháp đường ngược lại, số gói tin tạo ra là 23,bằng số gói tin tạo ra khi ta thực hiện phương pháp “tràn ngập”, trong khi số gói tintạo ra theo phương pháp sử dụng cây đường đi là 14 Nhưng phương pháp này cónhững ưu điểm nổi trội như: Nó không cần phải biết cây đường đi cho mỗi node, cũngkhông cần phải có một danh sách các node Và nó hơn hẳn “tràn ngập” ở chỗ: nókhông cần có một cơ chế đặt biệt để kết thúc quá trình quảng bá (trong khi “tràn ngập”cần có một trường hop kế tiếp trong mỗi gói tin và mỗi node phải biết trước được kíchthước của mạng, hoặc mỗi node phải có một bảng danh sách tất cả các gói tin đã nhậnđược trừ mỗi node nguồn khác)
1.4.8 Định tuyến đa điểm
Quá trình truyền thông tin từ một node tới một nhóm các node cùng nhómtrong mạng được gọi là truyền tin đa điểm Một node có thể thuộc một hay nhiềunhóm
Để thực hiện định tuyến đa điểm, node nguồn phải biết được danh sách tất cảcác node 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 (nếu một node thuộc nhiều nhóm, node sẽ có nhiều cây đường đinhóm, mỗi cây cho mỗi nhóm chứa nó)
(a): Cấu trúc mạng (b): Cây mở rộng cho bộ định tuyến cực trái (c): Cây nhiều đích cho nhóm 1
(d): Cây nhiều đích cho nhóm 2 Hình 1.14 Định tuyến đa điểm
1 1
1,2
1,2
1
1 1
1
1,2
2 2
2
2 22
1 1
Trang 33Việc cắt xén thường được thực hiện theo cách sau: Từ mỗi đầu mút, nhánh sẽđược cắt đi từng đoạn một nếu node ở đầu mút không thuộc cùng nhóm với node gốccây, như ở ví dụ hình 1.14.
Trong mạng ví dụ, có hai nhóm đa điểm 1 và 2 Có những node thuộc nhóm, cónode thuộc cả hai nhóm Khi đó, cây đường đi cho node ở góc trên bên trái được chỉ
ra ở hình 2.13b Hình 2.13c chỉ ra cây đường đi tới các node của nhóm 1, hình 2.13dchỉ ra cây đường đi tới các node thuộc nhóm 2
Cũng có thể sử dụng một phương pháp khác: xác định một node trung tâm chomỗi nhóm trong mạng, chỉ có node này mới lưu giữ thông tin về cây đường đi củanhóm đó Mỗi khi một node trong nhóm muốn truyền tin tới các node khác trongnhóm, nó truyền thông tin tới các node trung tâm, và node trung tâm này sẽ thực hiệnmulticast Với phương pháp này, lượng bộ nhớ cần để lưu thông tin về các cây đường
đi sẽ giảm đi đáng kể Tuy nhiên, phương pháp này sẽ không thể truyền tin đi theo conđường tối ưu
Kết luận chương I
Trong chương I, đồ án đã trình bày một cách tổng quan về các phương phápđịnh tuyến, cách tính toán đường đi trong phương pháp định tuyến vecto khoảng cách,cách xác định các node lân cận, tính cost cho mỗi link trong phương pháp định tuyếntheo trạng thái liên kết
Đồ án cũng giới thiệu về một số phương pháp định tuyến như là định tuyếnphân cấp, định tuyến quảng bá, định tuyến đa điểm và ưu nhược điểm của từngphương pháp định tuyến
Ngoài ra đồ án còn trình bày về một số giải thuật định tuyến điển hình vàcách tính toán cụ thể các tham số của từng giải thuật
Trang 34CHƯƠNG II: GIAO THỨC ĐỊNH TUYẾN EIGRP
2.1 Khái niệm về giao thức EIGRP
Giao thức định tuyến cổng nội mở rộng là một giao thức định tuyến độcquyền của Cisco được phát triển từ giao thức định tuyến cổng nội
Không giống như IGRP là một giao thức định tuyến theo lớp địa chỉ, EIGRP
có hỗ trợ định tuyến liên miền không theo lớp địa chỉ và cho phép người thiết kếmạng tối ưu không gian sử dụng địa chỉ bằng VLSM So với IGRP, EIGRP có thờigian hội tụ nhanh hơn, khả năng mở rộng tốt hơn và khả năng chống lặp vòng caohơn
Hơn nữa, EIGRP còn thay thế được cho giao thức thông tin định tuyếnNovell và giao thức bảo trì bảng định tuyến Apple Talk để phục vụ hiệu quả cho cảhai mạng IPX và Apple Talk
EIGRP thường được xem là giao thức lai vì nó kết hợp các ưu điểm của cả giaothức định tuyến theo vecto khoảng cách và giao thức định tuyến theo trạng thái đườngliên kết
EIGRP là một giao thức định tuyến nâng cao hơn dựa trên các đặc điểm cả giaothức định tuyến theo trạng thái đường liên kết Những ưu điểm tốt nhất của OSPF nhưthông tin cập nhật một phần, phát hiện router láng giềng…được đưa vào EIGRP Tuynhiên, cấu hình EIGRP dễ hơn cấu hình OSPF
EIGRP là một lựa chọn lý tưởng cho các mạng lớn, đa giao thức được xâydựng dựa trên các router Cisco
Chương này sẽ đề cập đến các nhiệm vụ cấu hình EIGRP, đặc biệt tập trungvào cách EIGRP thiết lập mối quan hệ với các router thân mật, cách tính toán đườngchính và đường dự phòng khi cần thiết, các đáp ứng với sự cố của một đường đi nàođó
Một hệ thống mạng được xây dựng bởi nhiều thiết bị, nhiều giao thức và nhiềuloại môi trường truyền Khi một bộ phận nào đó của mạng không hoạt động đúng thì
sẽ có một vài người dùng không truy cập được hoặc có thể cả hệ thống mạng cũngkhông hoạt động được Cho dù trong trường hợp nào thì khi sự cố xảy ra người quảntrị mạng phải nhanh chóng xác định được sự cố và xử lí chúng Sự cố mạng thường donhững nguyên nhân sau:
Trang 35EIGRP cải tiến các đặc tính của quá trình hội tụ, hoạt động hiệu quả hơn IGRP.Điều này cho phép chúng ta mở rộng, cải tiến cấu trúc trong khi vẫn giữ nguyênnhững gì đã xây dựng trong IGRP.
Chúng ta sẽ tập trung so sánh EIGRP và IGRP trong các lĩnh vực sau:
• Tính tương thích
• Cách tính thông số định tuyến
• Số lượng hop
• Hoạt động phân phối thông tin tự động
• Đánh dấu đường đi
IGRP và EIGRP hoàn toàn tương thích với nhau EIGRP router không có ranhgiới khi hoạt động chung với IGRP router Đặc điểm này rất quan trọng khi người sửdụng muốn tận dụng ưu điểm của cả hai giao thức EIGRP có thể hỗ trợ nhiều loạigiao thức khác nhau còn IGRP thì không
EIGRP và IGRP có cách tính thông số định tuyến khác nhau EIGRP tăngthông số định tuyến của IGRP sử dụng thông số 24 bit Bằng cách nhân lên hoặc chia
đi 256 lần, EIGRP có thể dễ dàng chuyển đổi thông số định tuyến của IGRP
IGRP có số lượng hop tối đa là 255 EIGRP có số lượng hop tối đa là 224.Con số này dư sức đáp ứng cho một mạng được thiết kế hợp lí lớn nhất
Để các giao thức định tuyến khác nhau như OSPF và RIP chẳng hạn thựchiện chia sẻ thông tin định tuyến với nhau thì cần phải cấu hình nâng cao hơn Trongkhi đó IGRP và EIGRP có cùng số AS của hệ tự quản sẽ tự động phân phối và chia sẻthông tin về đường đi với nhau Trong ví dụ ở hình 2.1, RTB tự động phân phối cácthông tin về đường đi mà EIGRP học được cho hệ thống tự trị IGRP và ngược lại
EIGRP đánh dấu những đường mà nó học được từ IGRP hay từ bất kìnguồn bên ngoài nào khác là đường ngoại vi vì những con đường này không xuấtphát từ EIGRP router IGRP thì không phân biệt đường ngoại vi và nội vi
Ví dụ như trong hình 2.1, trong kết quả hiển thị của lệnh show ip route,đường EIGRP được đánh dấu bằng chữ D, đường ngoại vi được đánh dấu bằngchữ EX RTA phân biệt giữa mạng học được từ EIGRP (172.16.0.0) và mạngđược phân phối từ IGRP (192.168.1.0) Trong bảng định tuyến của RTC, giao thứcIGRP không có sự phân biệt này RTC chỉ nhận biết tất cả các đường đều là đườngIGRP mặc dù 2 mạng 10.1.1.0 và 172.16.0.0 là được phân phối từ EIGRP
Hình 2.1 Mạng ví dụ phân phối thông tin
RTB RTA
RTC RTD
Trang 362.1.2 Các khái niệm và thuật ngữ của EIGRP
Router lưu giữ các thông tin về đường đi và cấu trúc mạng trên bộ nhớ truyxuất ngẫu nhiên, nhờ đó chúng đáp ứng nhanh chóng theo sự thay đổi Giống nhưOSPF, EIGRP cũng lưu những thông tin này thành từng bảng và từng cơ sở dữ liệukhác nhau:
EIGRP lưu các con đường mà nó học được theo một cách đặc biệt Mỗi conđường có trạng thái riêng và có đánh dấu để cung cấp thêm nhiều thông tin hữu dụngkhác
EIRGP có ba loại bảng sau:
Khi phát hiện một láng giềng mới, router sẽ ghi lại địa chỉ và cổng kết nối củaláng giềng đó vào bảng láng giềng Khi láng giềng gửi gói hello trong đó có thông số
về khoảng thời gian lưu trữ Nếu router không nhận được gói hello khi đến định kì thìkhoảng thời gian lưu trữ là khoảng thời gian mà router chờ và vẫn xem là router lánggiềng còn kết nối được và còn hoạt động Khi khoảng thời gian lưu giữ đã hết mà vẫnkhông nhận được hello từ láng giềng đó, thì xem như router láng giềng đã không cònkết nối được hoặc không còn hoạt động, thuật toán DUAL sẽ thông báo sự thay đổinày và thực hiện tính toán lại theo mạng mới
Bảng cấu trúc mạng là bảng cung cấp dũ liệu để xây dựng lên mạng địnhtuyến của EIGRP DUAL lấy thông tin từ bảng láng giềng và bảng cấu trúc mạng
để tính toán chọn đường chi phí thấp nhất đến từng mạng đích
Mỗi EIGRP router lưu một bảng cấu trúc mạng riêng tương ứng với từng loạigiao thức mạng khác nhau Bảng cấu trúc mạng chứa thông tin về tất cả các conđường mà router học được Nhờ những thông tin này mà router có thể xác địnhđường đi khác để thay thế nhanh chóng khi cần thiết Thuật toán DUAL chọn rađường tốt nhất đến mạng đích gọi là đường kế tiếp
Sau đây là những thông tin chứa trong bảng cấu trúc mạng:
• Khoảng cách khả thi: là thông tin định tuyến nhỏ nhất màEIGRP tính được cho từng mạng đích
• Router nguồn: là nguồn khởi phát thông tin về một con đườngnào đó Phần thông tin này chỉ có với những đường được học
từ ngoài mạng EIGRP
• Khoảng cách báo cáo: là thông số định tuyến đến một routerláng giềng thân mật thông báo qua
Trang 37• Thông tin về cổng giao tiếp mà router sử dụng để đi đếnmạng đích.
• Trạng thái đường đi: Trạng thái không tác động là trạng thái
ổn định, sẵn sàng sử dụng được, trạng thái tác động là trạngthái đang trong tiến trình tính toán lại của DUAL
Bảng định tuyến EIGRP lưu giữ danh sách các đường tốt nhất đến cácmạng đích Những thông tin trong bảng định tuyến được rút ra từ bảng từ cấu trúcmạng Router EIGRP có bảng định tuyến riêng cho từng giao thức mạng khác nhau
Con đường được chọn làm đường kế tiếp đến mạng đích gọi là đường kếtiếp Từ thông tin trong bảng láng giềng và bảng cấu trúc mạng, DUAL chọn ramột đường kế tiếp và đưa lên mạng định tuyến Đến một mạng đích có thể có đến 4đường kế tiếp Những đường này có chi phí bằng nhau hoặc không bằng nhau Thôngtin về đường kế tiếp cũng được đặt trong bảng cấu trúc mạng
Đường kế tiếp khả thi là đường dự phòng cho đường kế tiếp Đường này cũngđược chọn ra cùng với đường kế tiếp nhưng chúng chỉ được lưu trong bảng cấu trúcmạng nhưng điều này không bắt buộc
Hình 2.2.a Mô tả các đường kế tiếp của router A đến mạng Z
Router xem hop kế tiếp của đường kế tiếp khả thi dưới nó gần mạng đích hơn
nó Do đó, chi phí của đường kế tiếp khả thi được tính bằng chi phí của chính nó cộngvới chi phí vào router láng giềng thông báo qua Trong trường hợp đường kế tiếp bị sự
cố thì router sẽ tìm đường kế tiếp khả thi để thay thế Một đường kế tiếp khả thi bắtbuộc phải có chi phí mà router láng giềng thông báo qua thấp hơn chi phí của đường
kế tiếp hiện tại Nếu trong bảng cấu trúc mạng không có sẵn đường kế tiếp khả thi thìcon đường đến mạng đích tương ứng được đưa vào trạng thái hoạt động và router bắtđầu gửi các gói yêu cầu đến tất cả các láng giềng để tính toán lại cấu trúc mạng Sau
đó với các thông tin mới nhận được, router có thể sẽ chọn ra được đường kế tiếp mớihoặc đường kế tiếp khả thi mới Đường mới được chọn xong sẽ có trạng thái là khôngtác động
Bảng cấu trúc mạng còn lưu nhiều thông tin khác về các đường đi EIGRPphân loại ra đường nội vi và đường ngoại vi Đường nội vi là đường xuất phát từbên trong hệ tự quản của EIGRP EIGRP có dán nhãn quản lý với giá trị từ 0 đến 255
để phân biệt đường thuộc loại nào
Network Z
Tôi có 1đường
đi tới mạng Z với metric là 5
RTB trực tiếp nối tới mạng Z
Trang 38Các đường ngoại vi là đường xuất phát từ bên ngoài hệ thống tự quản củaEIGRP Các đường ngoại vi là những đường học từ các giao thức định tuyến khác nhưRIP, OSPF và IGRP Đường cố định cũng được xem là đường ngoại vi.
Hình 2.3 Quá trình kết nối giữa các router
2.1.3 Các đặc điểm của EIGRP
EIGRP hoạt động khác với IGRP Về bản chất EIGRP là một giao thức địnhtuyến theo vecto khoảng cách nâng cao nhưng khi cập nhật và bảo trì thông tin lánggiềng và thông tin định tuyến thì nó làm việc giống như một giao thức định tuyến theotrạng thái đường liên kết Sau đây là các ưu điểm của EIGRP so với giao thức địnhtuyến theo vecto khoảng cách thông thường:
• Tốc độ hội tụ nhanh
• Sử dung băng thông hiệu quả
• Có hỗ trợ VLSM và CIDR Không giống như IGRP,EIGRP cótrao đổi thông tin về mặt nạ mạng con nên nó hỗ trợ được cho hệthống IP không theo lớp
• Hỗ trợ nhiều giao thức mạng khác nhau
• Không phụ thuộc vào giao thức định tuyến Nhờ cấu trúc từngphần riêng biệt tương ứng với từng giao thức mà EIGRP khôngcần phải chỉnh sửa lâu
EIGRP router hội tụ nhanh vì chúng sử dụng DUAL DUAL bảo đảm hoạtđộng không bị lặp vòng khi tính toán đường đi, cho phép mọi router trong hệ thốngmạng thực hiện đồng bộ cùng lúc khi có sự thay đổi xảy ra
EIGRP sử dụng băng thông hiệu quả vì nó chỉ gửi thông tin cập nhật một phần
và giới hạn chứ không gửi toàn bộ bảng định tuyến Nhờ vậy nó chỉ tốn một lượngbăng thông tối thiểu khi hệ thống mạng đã ổn định Điều này tương tự như hoạt độngcập nhật của OSPF, nhưng không giống như router OSPF, router EIGRP chỉ gửi thôngtin cập nhật một phần cho router nào cần thông tin đó mà thôi, chứ không gửi cho mọirouter khác trong vùng như OSPF Chính vì vậy mà hoạt động cập nhật của EIGRPgọi là cập nhật giới hạn Thay vì hoạt động cập nhật theo chu kỳ, các router EIGRPgiữ liên lạc với nhau bằng các gói hello rất nhỏ Việc trao đổi các gói hello theo định
kỳ không chiếm nhiều băng thông đường truyền
RTA
RTC
RTB
Trang 39EIGRP có thể hỗ trợ cho IP,IPX và Apple Talk nhờ có cấu trúc từng phần theogiao thức EIGRP có thể phân phối thông tin của IPX RIP và SAP để cải tiến hoạtđộng toàn diện Trên thực tế, EIGRP có thể điều khiển hai giao thức này
EIGRP còn có thể điều khiển giao thức bảo trì bảng định tuyến Apple Talk.RTMP sử dụng số lượng hop để chọn đường nên khả năng chọn đường không đượctốt lắm Do đó, EIGRP sử dụng thông số định tuyến tổng hợp cấu hình được để chọnđường tốt nhất cho mạng Apple Talk Là một giao thức định tuyến theo vecto khoảngcách, RTMP thực hiện trao đổi toàn bộ thông tin định tuyến theo chu kỳ Để giảm bớt
sự quá tải này, EIGRP thực hiện phân phối thông tin định tuyến Apple Talk khi có sựkiện thay đổi mà thôi Tuy nhiên, Apple Talk client cũng muốn nhận thông tin RTMP
từ các router nội bộ, do đó EIGRP dùng cho Apple Talk chỉ nên chạy trong mạngkhông có client, ví dụ như các liên kết WAN chẳng hạn
2.1.4 Các kỹ thuật sử dụng trong EIGRP
EIGRP có rất nhiều kỹ thuật mới để cải tiến hiệu quả hoạt động, tốc độ hội tụ
và các chức năng so với IGRP và các giao thức định tuyến khác Các kỹ thuật nàyđược tập trung thành 4 loại như sau:
• Cấu trúc từng phần theo giao thức
• Giao thức truyền tải tin cậy
• Sự phát hiện và tái phát hiện các router láng giềng
• Thuật toán DUAL
Hình 2.4 Quá trình trao đổi thông tin
Router định tuyến theo vecto khoảng cách dạng đơn giản không thiết lập mốiquan hệ với các láng giềng của nó RIP và IGRP router chỉ đơn giản là phát quảng báhay multicast các thông tin cập nhật của nó ra mọi cổng đã được cấu hình Ngược lại,EIGRP router chủ động thiết lập mối quan hệ với các láng giềng của chúng, tương tựcách làm của OSPF router Quá trình thiết lập mối quan hệ láng giềng đó được trình
Cập nhật
Báo nhận Cập nhật
hello
Báo nhận
Tôi là route A Ai đang ở trên đường truyền
Đây là thông tin định tuyến của tôi
Cám ơn về thông tin định tuyến
Đây là thông tin định tuyến của tôi
Cám ơn về thông tin định tuyến
Hội tụ
Trang 40Cấu trúc từng phần theo giao thức.
EIGRP thi hành module cho IP, IPX và AppleTalk bằng cách mỗi module đượcgiao một nhiệm vụ xác định riêng biệt Ví dụ module IPX EIGRP được giao tráchnhiệm trao đổi thông tin định tuyến về mạng IPX EIGRP router và đưa thông tin vàomodule DUAL
EIGRP tự động phân bố lại với các giao thức khác trong các trường hợp sau:
• IPX EIGRP tự động phân bố lại với IPX RIP và NLSP
• AppleTalk EIGRP tự động phân bố lại với AppleTalk RTMP
• IP EIGRP tự động phân bố lại IGRP nếu tiến trình IGRP có cùng
hệ thống tự trị
Giao thức truyền tải tin cậy.
Giao thức truyền tải tin cậy quản lý việc phân phối gói EIGRP Tin cậy cónghĩa là sự phân phát được đảm bảo và gói được phân phát một cách trình tự
Sự phân phối trình tự được đảm bảo bởi 2 số thứ tự trong gói Một gán cho router gửi
và giá trị này tăng lên một giá trị mỗi khi router gửi một gói mới
Và một số thứ tự là của gói cuối cùng nhận được từ router đích
Tuy nhiên trong vài trường hợp RTP vẫn sử dụng sự phân phối không trình tự,không có Ack và không có số thứ tự
Các gói tin trong EIGRP bao gồm
Gói hello: được sử dụng khám phá láng giềng duy trì láng giêng, gói hello sửdụng truyền đa điểm để trao đổi và là sự phân phối không trình tự
Sự báo nhận: là gói hello nhưng không có dữ liệu, ACK luôn luôn là unicast và
là sự phân phối không trình tự
Gói cập nhật: chuyên trở thông tin định tuyến không giống như RIP và IGRPnhững gói này chỉ được gửi khi cần thiết và chỉ bao gồm thông tin cần thiết và chỉ gửitới router yêu cầu Khi cập nhật được gửi bởi một router xác định thì nó là unicast.Còn khi yêu cầu cập nhật được gửi bởi nhiều router khi topo mạng thay đổi thì nó làmulticast Gói cập nhật luôn luôn là sự phân phối không trình tự
Gói “hỏi” và “trả lời”: được sử dụng bởi DUAL để quản lý tính toán lan truyền.Gói “hỏi” có thể là multicast hay unicast và gói “trả lời” luôn luôn là unicast Cả haigói này đều là sự phân phối không trình tự
Bất cứ gói nào là phân phát có trình tự và không nhận được ACK từ láng giềngthì gói sẽ được gửi lại bằng unicast tới láng giềng mà không gửi lại ACK đó Nếukhông nhận được ACK sau 16 lần gửi lại bằng unicast thì láng giềng cũng khai “chết”
Sự phát hiện và tái phát hiện các router láng giềng.
Bằng cách trao đổi bản tin hello, EIGRP thiết lập và trao đổi quan hệ với routerláng giềng Trong hầu hết các mạng gói hello là multicast với chu kỳ 5 giây trừ đi thờigian mặc định để ngăn chặn việc đồng bộ
Khi router nhận gói hello từ láng giềng, trong gói đó có chứa thông số thời giangiữ Thời gian giữ báo cho router biết thời gian chờ tối đa cho gói hello liền sau đó