bài 2 : giao th Ức ĐỊnh tuyẾn ospf

25
Bài 2 : GIAO THỨC ĐỊNH TUYẾN OSPF 1. Kiến thức cơ bản: OSPF là giao thức định tuyến được phát triển bởi (IETF) nhằm phục vụ mạng IP. Nhóm nghiên cứu được thành lập năm 1988 để thiết kế một IGP dựa trên các thuật toán tìm đường ngắn nhất (SPF) sử dụng trong internet. Tương tự với giao thức định tuyến (IGRP). OSPF được tạo ra vì trong những năm giữa thập kỷ 1980, giao thức thông tin định tuyến (RIP) ngày càng hạn chế trong các mạng lớn. OSPF có hai đặc tính cơ bản. Đặc tính thứ nhất đó là giao thức có tính mở, điều này có nghĩa là các tiêu chuẩn của nó được sử dụng rộng rãi. Các tiêu chuẩn OSPF được ban hành trong RFC 1247. Đặc tính thứ hai đó là OSPF dựa trên thuật toán SPF, thuật toán này đôi khi còn được gọi là thuật toán Dijkstra (đặt theo tên gọi của người đã phát minh ra thuật toán). OSPF là một giao thức định tuyến trạng thái liên kết, giao thức này gửi các thông báo về trạng thái liên kết (LSAs) đến tất cả các router trong vùng có cùng phân cấp. Thông tin về các giao diện đính kèm, các thông số được sử dụng và một số các biến khác được chứa trong OSPF LSA. Khi các router OSPF tích lũy thông tin trạng thái liên kết, chúng sử dụng thuật toán SPF để tính toán đường đi ngắn nhất đến các node khác. Là một giao thức định tuyến trạng thái liên kết, OSPF có cơ chế hoạt động trái ngược với RIP và IGRP – là các giao thức định tuyến vectơ khoảng cách. Các router hoạt động theo thuật toán vectơ khoảng cách gửi tất cả hoặc một phần các bảng định tuyến của chúng trong bản tin cập nhật định tuyến đến các router lân cận. v Phân cấp định tuyến Không giống như RIP, OSPF có thể hoạt động theo chế độ phân cấp. Thực thể lớn nhất trong cơ chế phân cấp đó là hệ thống tự trị (AS), hệ thống này là một tập hợp các mạng con có cùng một chế độ quản lý chia sẽ cùng một chế độ định tuyến. OSPF là một giao thức định tuyến nội mạng, mặc dù nó có khả năng nhận các đường định tuyến từ các AS khác và gửi các đường định tuyến tới các AS. Một AS có thể được chia thành một số các vùng, mỗi vùng là một nhóm các mạng liền kề có các host đính kèm. Các Router có nhiều giao diện có thể hoạt động ở nhiều khu vực. Các router kiu này thường được gọi là Router biên, nó lưu giữ các cơ sở dữ liệu về cấu hình của từng vùng riêng l. Một cơ sở dữ liệu về cấu hình mạng là một bức tranh tổng thể về các mạng xét trong mối quan hệ với các Router. Cơ sở dữ liệu này chứa đựng thông tin về các LSA nhận được từ tất cả các router trong cùng một vùng. Do các router nằm trong cùng một vùng chia sẽ thông tin chung, nên chúng có cơ sở dữ liệu cấu hình giống nhau. Thuật ngữ vùng (domain) thỉnh thoảng được dùng để mô tả một phần mạng mà trong đó các router có cơ sở dữ liệu cấu hình giống nhau. Vùng cũng có thể được sử dụng thay cho AS. Các thực thể ở bên ngoài một vùng thì không thể nhìn thấy được cấu hình bên trong của nó. Bằng cách giữ các cấu hình vùng tách biệt, OSPF đã hạn chế được lưu lượng định tuyến so với khi AS không được phân chia.

Upload: others

Post on 06-Oct-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Bài 2 : GIAO THỨC ĐỊNH TUYẾN OSPF

1. Kiến thức cơ bản:

OSPF là giao thức định tuyến được phát triển bởi (IETF) nhằm phục vụ mạng IP. Nhóm nghiên cứu được thành lập năm 1988 để thiết kế một IGP dựa trên các thuật toán tìm đường ngắn nhất (SPF) sử dụng trong internet. Tương tự với giao thức định tuyến (IGRP). OSPF được tạo ra vì trong những năm giữa thập kỷ 1980, giao thức thông tin định tuyến (RIP) ngày càng hạn chế trong các mạng lớn.

OSPF có hai đặc tính cơ bản. Đặc tính thứ nhất đó là giao thức có tính mở, điều này có nghĩa là các tiêu chuẩn của nó được sử dụng rộng rãi. Các tiêu chuẩn OSPF được ban hành trong RFC 1247. Đặc tính thứ hai đó là OSPF dựa trên thuật toán SPF, thuật toán này đôi khi còn được gọi là thuật toán Dijkstra (đặt theo tên gọi của người đã phát minh ra thuật toán).

OSPF là một giao thức định tuyến trạng thái liên kết, giao thức này gửi các thông báo về trạng thái liên kết (LSAs) đến tất cả các router trong vùng có cùng phân cấp. Thông tin về các giao diện đính kèm, các thông số được sử dụng và một số các biến khác được chứa trong OSPF LSA. Khi các router OSPF tích lũy thông tin trạng thái liên kết, chúng sử dụng thuật toán SPF để tính toán đường đi ngắn nhất đến các node khác.

Là một giao thức định tuyến trạng thái liên kết, OSPF có cơ chế hoạt động trái ngược với RIP và IGRP – là các giao thức định tuyến vectơ khoảng cách. Các router hoạt động theo thuật toán vectơ khoảng cách gửi tất cả hoặc một phần các bảng định tuyến của chúng trong bản tin cập nhật định tuyến đến các router lân cận.

v Phân cấp định tuyến

Không giống như RIP, OSPF có thể hoạt động theo chế độ phân cấp. Thực thể lớn nhất trong cơ chế phân cấp đó là hệ thống tự trị (AS), hệ thống này là một tập hợp các mạng con có cùng một chế độ quản lý chia sẽ cùng một chế độ định tuyến. OSPF là một giao thức định tuyến nội mạng, mặc dù nó có khả năng nhận các đường định tuyến từ các AS khác và gửi các đường định tuyến tới các AS.

Một AS có thể được chia thành một số các vùng, mỗi vùng là một nhóm các mạng liền kề có các host đính kèm. Các Router có nhiều giao diện có thể hoạt động ở nhiều khu vực. Các router kiểu này thường được gọi là Router biên, nó lưu giữ các cơ sở dữ liệu về cấu hình của từng vùng riêng lẻ.

Một cơ sở dữ liệu về cấu hình mạng là một bức tranh tổng thể về các mạng xét trong mối quan hệ với các Router. Cơ sở dữ liệu này chứa đựng thông tin về các LSA nhận được từ tất cả các router trong cùng một vùng. Do các router nằm trong cùng một vùng chia sẽ thông tin chung, nên chúng có cơ sở dữ liệu cấu hình giống nhau.

Thuật ngữ vùng (domain) thỉnh thoảng được dùng để mô tả một phần mạng mà trong đó các router có cơ sở dữ liệu cấu hình giống nhau. Vùng cũng có thể được sử dụng thay cho AS.

Các thực thể ở bên ngoài một vùng thì không thể nhìn thấy được cấu hình bên trong của nó. Bằng cách giữ các cấu hình vùng tách biệt, OSPF đã hạn chế được lưu lượng định tuyến so với khi AS không được phân chia.

Page 2: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Phân vùng tạo ra hai kiểu định tuyến OSPF khác nhau, phụ thuộc vào việc nguồn và đích nằm trong cùng một vùng hay ở hai vùng khác nhau. Định tuyến nội vùng diễn ra khi nguồn và đích cùng ở trong một vùng, định tuyến liên vùng xảy ra trong trường hợp ngược lại.

Một mạng đường trục (backbone) OSPF có nhiệm vụ phân phối thông tin định tuyến giữa các vùng. Nó bao gồm tất cả các Router vùng biên, các mạng nhưng không nhất thiết ở trong tất cả các vùng, và các router đi cùng. Hình 1 cho chúng ta thấy một ví dụ về liên mạng giữa một số vùng.

Trong hình này, các router 4,5,6,10,11 và 12 tạo nên một đường trục. Nếu host H1 trong vùng 3 muốn gửi một gói đến host 2 trong vùng 2, thì gói sẽ được gửi đến Router 13, router này sẽ chuyển gói tin đến Router 12, tiếp đó gói sẽ được gửi đến Router 11. Router 11 sau đó chuyển tiếp gói theo mạng đường trục để đến Router vùng biên 10, Router sẽ gửi gói thông qua hai router nội vùng (Router 9 và Router 7) để đến host H2.

Mạng đường trục thực chất là một vùng OSPF, vì vậy tất cả các Router đường trục sử dụng cùng một thủ tục và thuật toán để duy trì thông tin định tuyến trong mạng này. Các router nội vùng không thể nhìn thấy cấu hình mạng đường trục, vì đây là các cấu hình vùng riêng lẻ đối với mạng đường trục.

Hình 1: Một OSPF AS bao gồm nhiều vùng kết nối với nhau thông qua Router

Khi các router biên sử dụng giao thức OSPF để tìm các đường định tuyến bên ngoài thông qua các giao thức định tuyến cổng ngoài EGP, ví dụ như giao thức EGP hay giao thức BGP, hoặc thông qua thông tin cấu hình.

v Thuật toán SPF

Thuật toán định tuyến SPF là nền tảng cơ bản của chế độ hoạt động OSPF. Khi một router SPF hoạt động, nó khởi động các cấu trúc dữ liệu về giao thức định tuyến và sau đó đợi các lệnh chỉ dẫn từ các giao thức lớp trên.

Sau khi router chắc chắn rằng các giao diện của nó đang hoạt động, nó sẽ sử dụng bản tin Hello để liên lạc với các router láng giềng, đây là những router có giao diện kết nối đến mạng chung. Router này gửi gói tin Hello đến các router láng giềng và nhận gói tin hello của các router này. Để hỗ trợ thêm cho việc liên lạc với các hàng xóm, các

Page 3: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

bản tin Hello hoạt động theo chế độ “sống” để các router biết rằng các router láng giềng vẫn đang hoạt động.

Trong một mạng đa truy nhập (mạng có nhiều hơn hai router), giao thức hello chọn một router chính và một router dự phòng. Router chính có nhiệm vụ tạo các LSA cho toàn mạng đa truy cập. Các router chính cho phép giảm lưu lượng mạng và kích thước cơ sở dữ liệu cấu hình.

Khi cơ sở dữ liệu trạng thái liên kết của hai router láng giềng đồng bộ với nhau, thì chúng được gọi là hai router lân cận. Trong mạng đa truy cập, router chính sẽ xác định những router nào có thể trở thành router lân cận. Cơ sở dữ liệu cấu hình được đồng bộ giữa các cặp router lân cận. Các cặp lân cân điều khiển sự phân phối các gói tin giao thức định tuyến chỉ được gửi và nhận giữa hai router lân cận này.

Mỗi một router gửi một LSA theo chu kỳ để cung cấp thông tin cho các Router lân cận hoặc thông báo cho các Router khác về sự thay đổi trạng thái của mình. Bằng cách so sánh các cặp lân cận được thiết lập với trạng thái liên kết, các router lỗi có thể được phát hiện một cách nhanh chóng, và cấu hình mạng có thể được thay đổi một cách thích hợp. Từ cơ sở dữ liệu cấu hình được tạo ra từ LSA, mỗi một router tính toán một cây đường dẫn ngắn nhất trong đó nó chính là node gốc. Khi đó, đến lượt cây đường dẫn ngắn nhất sẽ cho chúng ta một bảng định tuyến

v Định dạng gói tin

Tất cả các gói tin OSPF bắt đầu với tiêu đề có độ dài 24-byte như minh hoạ trong hình 2.

Hình 2: Các gói tin OSPF gồm có 9 trường.

Tiêu đề của gói tin OSPF có các trường sau:

· Phiên bản: Xác định phiên bản OSPF được dung

· Kiểu: Xác định kiểu gói tin OSPF là một trong các kiểu sau:

- Hello: Thiết lập và duy trì kết nối với các router láng giềng

- Mô tả cơ sở dữ liệu – mô tả nội dung của cơ sở dữ liệu cấu hình. Các bản tin này được thay đổi khi một router lân cận được khởi động.

- Yêu cầu trạng thái liên kết – Yêu cầu một số cơ sở dữ liệu cấu hình từ các router láng giềng. Các bản tin này được thay đổi sau khi router phát hiện ra một số cơ sở dữ liệu của mình chưa được cập nhật (bằng cách kiểm tra các gói tin mô tả cơ sở dữ liệu )

- Xác nhận trạng thái liên kết: Xác nhận các gói tin cập nhật trạng thái liên kết.

· Độ dài gói tin: Xác định độ dài gói tin, bao gồm cả tiêu đề OSPF, (tính theo bytes)

· Router ID: Xác định nguồn của gói tin

Page 4: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

· ID vùng: xác định vùng mà gói tin được gửi đi. Tất cả các gói tin OSPF đều nằm trong một vùng đơn.

· Checksum: Kiểm tra toàn bộ nội dung gói tin khi có bất cứ lỗi nào trong quá trình truyền.

· Kiểu nhận thực: Tất cả những thay đổi về giao thức OSPF đều được nhận thực. Kiểu nhận thực có thể được cấu hình trên một vùng cơ sở.

· Nhận thực: chứa thông tin nhận thực.

· Dữ liệu: chứa thông tin lớp trên đã được đóng gói.

2. Giao thức OSPF

Có hai kiểu của IGP đó là vector khoảng cách và trạng thái liên kết. Cả hai giao thức định tuyến này đều tìm kiếm đường thông qua các hệ thống tự trị. Giao thức định tuyến vectơ khoảng cách và trạng thái liên kết sử dụng các phương pháp khác nhau để thực hiện cùng một nhiệm vụ.

a. Thuật toán định tuyến trạng thái liên kết

Những giao thức định tuyến đầu tiên như RIP v1 là những giao thức vectơ khoảng cách. Có rất nhiều giao thức định tuyến vectơ khoảng cách được sử dụng ngày nay như RIPv2, IGRP, và giao thức định tuyến lai ghép EIGRP. Khi mạng phát triển lớn hơn và phức tạp hơn, những hạn chế của giao thức định tuyến vectơ khoảng cách bắt đầu xuất hiện. Các router sử dụng giao thức định tuyến vectơ khoảng cách tìm hiểu cấu hình mạng từ việc cập nhật bảng định tuyến của các router láng giềng. Độ rộng băng tần được sử dụng cao vì phải thay đổi thường xuyên việc cập nhật thông tin định tuyến, và tốc độ hội tụ mạng chậm, điều này dẫn đến các quyết định định tuyến tồi.

Giao thức định tuyến trạng thái liên kết khác với giao thức định tuyến vectơ khoảng cách. Các giao thức định tuyến trạng thái liên kết chứa đầy đủ thông tin đường đi, điều này cho phép mọi router có một cái nhìn tổng thể về cấu hình mạng.

Việc cập nhật thường xuyên cho phép sử dụng băng tần hiệu quả và tốc độ hội tụ nhanh hơn.

Cấu hình OSPF trên một router Cisco tương tự với cấu hình của các giao thức định tuyến khác. Tương tự, OSPF phải được kích hoạt trên router và mạng sử dụng OSPF phải được xác định. OSPF có một số đặc điểm và các thủ tục cấu hình đồng nhất. Những đặc điểm này đã khiến OSPF trở thành một sự lựa chọn hoàn hảo cho giao thức định tuyến, nhưng cũng là một thách thức đối với việc thực hiện cấu hình.

Trong một mạng rộng lớn, OSPF có thể được cấu hình trên rất nhiều vùng và một số kiểu vùng khác nhau. Khả năng để thiết kế và thực hiện một mạng OSPF lớn bắt đầu cùng với khả năng cấu hình OSPF trong một vùng đơn lẽ. Môđun này cũng thảo luận về cấu hình của OSPF trên một vùng đơn lẻ.

Giao thức định tuyến trạng thái liên kết thu thập thông tin đường đi từ tất cả các router khác trong một mạng hay trong một khu vực xác định của mạng. Khi tất cả các thông tin được thu thập, mỗi một router tính toán đường đi tốt nhất đến tất cả các đích trong mạng. Vì mỗi một router có một tổng quan mạng riêng, nên nó hầu như không truyền thông tin sai lệch được cung cấp bởi bất cứ router láng giềng nào.

Page 5: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Hình 3:Các Router gửi bản tin Hello

Sau đây là một số các chức năng của giao thức định tuyến trạng thái liên kết:

· Đáp ứng nhanh với những thay đổi của mạng

· Gửi các cập nhật nhanh chỉ khi có sự thay đổi mạng xảy ra.

· Gửi các cập nhật theo định kỳ được gọi là làm mới trạng thái liên kết

· sử dụng cơ chế Hello để xác định khả năng liên kết với các router láng giềng.

Mỗi một router gửi quảng bá (multicast ) gói tin hello để giữ những thông tin về trạng thái của các router láng giềng. Mỗi một router sử dụng các LSA để duy trì thông tin của tất cả các router trong một vùng mạng. Các gói tin hello chứa các thông tin về mạng đi cùng với router. Trong hình 3, trong mạng Perth3 P4 biết được các láng giềng của mình là P1 và P3. Các LSA cung cấp các cập nhật về trạng thái của các liên kết liên kết trên các router khác trong mạng.

Các router sử dụng giao thức định tuyến trạng thái liên kết có các đặc điểm sau:

· Sử dụng thông tin hello và các LSA nhận được từ các router khác để xây dựng cơ sở dữ liệu về mạng

· Sử dụng thuật toán SPF để tính toán các đường đi ngắn nhất tới các mạng

· Lưu thông tin đường đi trong bảng định tuyến

Hình 4:

Page 6: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Giao thức trạng thái liên kết sử dụng các tính chất sau:

· Các LSA

· Cơ sở dữ liệu cấu hình

· Thuật toán SPF

· Cây SPF

· Bảng định tuyến các đường đi và các cổng để xác định đường đi tốt nhất cho các gói tin

Giao thức định tuyến trạng thái liên kết được thiết kế để khắc phục những hạn chế của giao thức định tuyến vectơ khoảng cách. Ví dụ, giao thức vectơ khoảng cách chỉ trao đổi thông tin cập nhật định tuyến với các láng giềng hiện thời trong khi giao thức định tuyến trạng thái liên kết trao đổi thông tin định tuyến trên một vùng mạng lớn hơn rất nhiều.

Khi một thất bại xảy ra trong mạng, ví dụ như không thể liên lạc với một router láng giềng, giao thức trạng thái liên kết gửi tràn lụt gói tin LSA với một địa chỉ multicast đặc biệt trên toàn khu vực. Quá trình này gửi thông tin ra tất cả các port, ngoại trừ port nhận thông tin. Mỗi một router trạng thái liên kết lấy một bản sao của LSA và cập nhật trạng thái liên kết hoặc cơ sở dữ liệu cấu hình của mình. Sau đó router trạng thái liên kết chuyển tiếp LSA đến tất cả các router láng giềng. Các LSA khiến tất cả các router trong khu vực phải tính toán lại đường đi. Vì lý do này, nên số lượng các router trạng thái liên kết trong một vùng có thể được giới hạn.

Một đường liên kết giống như giao diện trên một router. Trạng thái của liên kết là sự mô tả giao diện và mối quan hệ với các router láng giềng. Ví dụ, mô tả giao diện có thể bao gồm địa chỉ IP của giao diện, mặt nạ mạng con, kiểu mạng mà router kết nối tới, các router kết nối đến mạng v.v… Việc thu thập các trạng thái liên kết tạo ra một cơ sở dữ liệu trạng thái liên kết mà đôi khi chúng ta còn gọi là cơ sở dữ liệu cấu hình. Cơ sở dữ liệu trạng thái liên kết được sử dụng để tính toán những đường đi tốt nhất qua mạng. các router trạng thái liên kết sử dụng thuật toán đường đi ngắn nhất Dijstra dựa trên cơ sở dữ liệu trạng thái liên kết. Thuật toán này xây dựng cây SPF trong đó các router nội hạt là node gốc. Các đường dẫn tốt nhất sau đó sẽ được lựa chọn từ cây SPF và đưa vào bảng định tuyến.

Hình 5:

Page 7: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Các thuật toán định tuyến trạng thái liên kết duy trì một cơ sở dữ liệu cấu hình mạng phức tạp bằng cách trao đổi các thông tin quảng cáo trạng thái liên kết (LSA) với các router khác trong mạng.

Thuật toán định tuyến trạng thái liên kết có các đặc tính sau:

· Các thuật toán này được gọi là giao thức SPF

· Duy trì một cơ sở dữ liệu cấu hình mạng phức tạp

· Hoạt động dựa trên thuật toán Dijkstra.

Giao thức trạng thái liên kết phát triển và duy trì toàn bộ những thông tin về router mạng và cách chúng kết nối với nhau. Điều này đạt được thông qua việc trao đổi các LSA với các Router khác trong mạng.

Mỗi một router xây dựng một cơ sở dữ liệu cấu hình từ LSA mà nó nhận được. Thuật toán SPF khi đó được sử dụng để tính toán khả năng tạo kết nối với các đích. Thông tin này được sử dụng để cập nhật bảng định tuyến. Quá trình này có thể phát hiện ra những thay đổi trong cấu hình mạng do sự phát triển mạng hay những thất bại của các thành phần.

Một trao đổi LSA được bắt đầu bằng một sự kiện trong mạng thay cho việc cập nhật theo chu kỳ. Việc này làm tăng tốc độ hội tụ vì không cần phải đợi một loạt các bộ định thời kết thúc trước khi các router có thể hội tụ.

Nếu mạng như trong hình 4 sử dụng một giao thức định tuyến trạng thái liên kết, thì chúng ta không cần phải quan tâm đến khả năng kết nối giữa router A và D. Dựa trên giao thức được sử dụng và các thông số được lựa chọn, giao thức định tuyến có thể phân biệt hai đường dẫn đến cùng một đích và lựa chọn đường đi tốt nhất. Trong hình 5, có hai lối vào định tuyến trong bảng định tuyến đối với đường dẫn từ router A và D. trong hình này, các router có chi phí như nhau vì vậy giao thức định tuyến trạng thái liên kết chấp nhận cả hai đường. Một số các giao thức định tuyến trạng thái liên kết cung cấp cách để đánh giá hiệu năng của hai đường dẫn và chọn cái tốt nhất. Nếu đường dẫn được lựa chọn thông qua router C gặp một số những khó khăn như xung đột hay thất bại kết nối, giao thức định tuyến trạng thái liên kết có thể phát hiện ra sự thay đổi này và chuyển các gói tin đi qua router B.

b. OSPF

OSPF là một giao thức định tuyến trạng thái liên kết dựa trên các tiêu chuẩn mở. Giao thức này được mô tả trong một số các tiêu chuẩn của IETF. "Mở" trong OSPF có nghĩa là nó có tính cộng đồng và không độc quyền.

OSPF, khi so sánh với RIP v1 và v2, là IGP cải tiến bởi vì nó có thể phân cấp. RIP bị giới hạn trong khoảng 15 hop, hội tụ chậm và đôi khi giao thức này lại lựa chọn những đường dẫn chậm vì nó bỏ qua các nhân tố quan trọng như độ rộng băng tần. Một trở ngại khi sử dụng OSPF là nó chỉ hỗ trợ cho giao thức TCP/IP. OSPF đã khắc phục những giới hạn này và trở thành một giao thức định tuyến có khả năng phân cấp và lớn mạnh, do đó rất thích hợp với mạng hiện đại. OSPF có thể được sử dụng và cấu hình giống như một vùng đơn lẻ đối với một mạng nhỏ. Nó cũng có thể được sử dụng cho các mạng lớn hơn.

Như chúng ta thấy trong hình 4, mạng OSPF lớn sử dụng thiết kế phân cấp. Nhiều vùng kết nối đến một vùng phân phối, hay vùng zero mà còn được gọi là đường

Page 8: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

trục. Áp dụng thiết kế này cho phép kiểm soát các cập nhật định tuyến. Xác định vùng giảm chồng lấn tiêu đề định tuyến, tăng tốc độ hội tụ, hạn chế tính bất ổn định mạng đối với vùng, và cải thiện hiệu năng.

Hình 6:

Mỗi một router giữ một bảng danh sách các láng giềng lân cận, được gọi là cơ sở dữ liệu lân cận. Cơ sở dữ liệu lân cận là một danh sách các router láng giềng mà một router có thể thiết lập truyền thông hai phía. Điều này là giống nhau cho mọi router. Để giảm số lượng trao đổi thông tin định tuyến giữa một số các láng giềng trên cùng một mạng, các router OSPF sẽ lựa chọn ra một router chính (DR) và một router dự phòng (BDR) làm tiêu điểm để trao đổi thông tin định tuyến.

Hình 7:

OSPF so với giao thức vectơ khoảng cách như RIP. Router trạng thái liên kết duy trì một bức tranh tổng thể mạng và trao đổi thông tin liên kết dựa trên những tìm kiếm ban đầu hoặc những thay đổi mạng. Các router trạng thái liên kết không quảng bá bảng định tuyến theo chu kỳ như giao thức vectơ khoảng cách. Do đó, các router trạng thái liên kết sử dụng ít băng tần để duy trì bảng định tuyến hơn.

RIP là một giao thức phù hợp với mạng nhỏ, và đường dẫn tốt nhất được lựa chọn dựa trên số lượng hop ít nhất. OSPF là giao thức thích hợp với các mạng có kích thước lớn, liên mạng phân cấp, và đường dẫn tốt nhất được xác định bởi tốc độ liên kết. RIP và các giao thức vectơ khoảng cách khác sử dụng các thuật toán đơn giản để tính toán đường dẫn tốt nhất. Thuật toán SPF rất phức tạp. Các router sử dụng giao thức vectơ khoảng cách cần ít bộ nhớ hơn và bộ xử lý ít hiệu năng hơn các router sử dụng OSPF.

Page 9: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

OSPF lựa chọn đường đi dựa trên chi phí liên quan đến tốc độ. Tốc độ càng cao, chi phí đuờng liên kết OSPF càng thấp. OSPF lựa chọn đường đi không lặp nhanh nhất từ cây SPF là đường dẫn tốt nhất trong mạng.

OSPF đảm bảo định tuyến không bị vòng lặp. Giao thức vectơ khoảng cách có thể gây ra hiện tượng vòng lặp định tuyến. Nếu các đường liên kết không ổn định, tràn lụt thông tin trạng thái liên kết có thể dẫn đến những quảng cáo trạng thái liên kết không đồng bộ và những quyết định mâu thuẫn nhau giữa các router.

Trong một mạng lớn, hội tụ của RIP có thể mất vài phút vì bảng định tuyến của mỗi router được sao chép và chia sẻ với các router kết nối trực tiếp đến nó. Sau khi hội tụ OSPF khởi đầu, duy trì một trạng thái hội tụ nhanh hơn vì chỉ có những thay đổi trong mạng mới được gửi tràn lan đến các router khác trong một vùng.

OSPF hỗ trợ VLSMs và do đó được gọi là giao thức không phân lớp. RIP v1 không hỗ trợ VLSMs, tuy nhiên RIP v2 thì ngược lại.

OSPF lựa chọn đường đi sử dụng chi phí, là một thông số dựa trên độ rộng băng tần. Tất cả các router OSPF phải có đầy đủ thông tin về các mạng của tất cả các router để tính toán đường đi ngắn nhất. Đây là một thuật toán phức tạp. Do đó, OSPF đòi hỏi các router có nhiều tính năng và cần nhiều bộ nhớ hơn RIP.

RIP sử dụng một cấu hình phẳng. Các router trong một khu vực RIP trao đổi thông tin với tất cả các router. OSPF sử dụng khái niệm vùng, một mạng có thể được chia ra thành nhóm các router. Theo cách này, OSPF có thể hạn chế được lưu lượng đến các vùng này. Những thay đổi trong một vùng không làm ảnh hưởng đến hiệu năng của các vùng khác. Cấu trúc phân cấp này giúp cho mạng hoạt động một cách có hiệu quả.

Các router OSPF rất cần các mối quan hệ láng giềng để chia sẽ thông tin định tuyến. Một router sẽ thử trở thành một router láng giềng hay lân cận của ít nhất một router khác trong mạng IP mà nó kết nối đến. Các router OSPF xác định những router nào sẽ trở thành router lân cận dựa trên kiểu mạng mà nó kết nối đến. Một số các router cố gắng trở thành router lân cận của tất cả các router láng giềng. Một số khác lại cố gắng trở thành router lân cận của một hay hai router láng giềng. Khi một tính lân cận được thiết lập giữa các láng giềng, thông tin trạng thái liên kết sẽ được trao đổi.

Giao diện OSPF tự động nhận diện ba kiểu mạng sau:

· Đa truy cập quảng bá, ví dụ như Ethernet

· Mạng điểm - điểm

· Đa truy cập không quảng bá (NBMA), ví dụ như chuyển mạch khung.

Kiểu mạng thứ tư, điểm – đa điểm, có thể do nhà quản trị mạng cấu hình bằng tay.

Trong một mạng đa truy cập, chúng ta không thể biết được bao nhiêu router được kết nối với nhau. Nhưng trong mạng điểm - điểm, chỉ có hai router có thể được kết nối.

Trong một phân đoạn mạng đa truy cập quảng bá, rất nhiều router có thể được kết nối với nhau. Nếu tất cả các router phải thiết lập tính lân cận đầy đủ với tất cả các router khác và trao đổi thông tin trạng thái liên kết với các router láng giềng, thì sẽ có rất nhiều overhead. Nếu có 5 routers, thì cần có 10 mối quan hệ lân cận và 10 trạng thái liên kết được gửi đi. Nếu có 10 router thì cần 45 mối quan hệ lân cận. Tổng quát, với n router, cần có n*(n-1)/2 mối quan hệ lân cận được thiết lập.

Page 10: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Giải pháp đối với hiện tượng overhead là chọn một router chính (DR). Router này sẽ trở thành router lân cận với tất cả các router khác trong một phân đoạn quảng bá. Tất cả các router khác trên phân đoạn sẽ gửi thông tin trạng thái liên kết của chúng đến DR. Đến lượt mình, DR hoạt động với vai trò là người phát ngôn viên của phân đoạn này. DR gửi thông tin trạng thái liên kết đến tất cả các router trên phân đoạn sử dụng địa chỉ quảng bá nhóm là 224.0.0.5 đối với các router OSPF.

Mặc dù độ lợi hiệu suất khi sử dụng DR tăng, nhưng vẫn tồn tại nhược điểm. DR chính là hiện thân của một điểm thất bại đơn lẻ. Router thứ hai được chọn làm router chính dự phòng (BDR) để thực hiện chức năng của DR nếu DR không hoạt động. Để đảm bảo rằng cả hai router DR và BDR có thể nhìn thấy trạng thái liên kết mà tất cả các router gửi trên phân đoạn, người ta sử dụng địa chỉ quảng bá nhóm cho tất cả các router chính là 224.0.0.6.

Trong mạng điểm - điểm, chỉ có hai node tồn tại và không có DR hay BDR nào được lựa chọn. Cả hai router lúc này tự động trở thành các router lân cận của nhau.

Khi một router bắt đầu một quá trình định tuyến OSPF trên một giao diện, nó sẽ

gửi một gói tin Hello và tiếp tục gửi bản tin Hello này một cách định kỳ. Các quy tắc điều khiển việc trao đổi gói tin Hello OSPF được gọi là giao thức OSPF.

Tại lớp 3 của mô hình OSI, các gói tin Hello được đánh địa chỉ quảng bá nhóm 224.0.0.5. Địa chỉ này là địa chỉ của tất cả các router OSPF. Các router OSPF sử dụng gói tin Hello để khởi tạo các router lân cận mới và để đảm bảo tất cả các router láng giềng vẫn còn hoạt động. Cứ 10s, gói tin Hello lại được mặc định gửi một lần trên mạng điểm - điểm hay mạng đa truy cập quảng bá. Trên các giao diện kết nối đến mạng NBMA, ví dụ như chuyển mạch khung, thời gian mặc định là 30s.

Trong mạng đa truy cập, giao thức Hello lựa chọn một router chính (DR) và một router dự phòng (BDR). Mặc dù, gói tin Hello nhỏ, nhưng nó lại chứa tiêu đề của gói tin OSPF. Đối với gói tin Heello, trường kiểu được thiết lập giá trị 1.

Gói tin Hello mang thông tin mà tất cả các router láng giềng phải chấp nhận nó trước khi một quan hệ lân cận được thiết lập, và thông tin trạng thái liên kết được trao đổi.

Page 11: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Các router lân cận phải trải qua một chuỗi các trạng thái. Chúng phải ở trạng thái đầy đủ trước khi bảng định tuyến được tạo và lưu lượng được xác định đường đi. Mỗi một router gửi một quảng cáo trạng thái liên kết (LSA) trong gói tin cập nhật trạng thái liên kết (LSU). Những LSA này mô tả tất cả các kết nối giữa router với nhau. Mỗi một router nhận một LSA từ các router láng giềng và lưu LSA vào cơ sở dữ liệu trạng thái liên kết. Quá trình này được lặp lại đối với tất cả các router trong mạng OSPF.

Khi cơ sở dữ liệu được hoàn thành, mỗi một router sử dụng thuật toán SPF để tính toán cấu hình logic lặp tự do cho tất cả các mạng đã biết. Đường đi ngắn nhất với chi phí thấp nhất được sử dụng trong việc xây dựng cấu hình này, do đó đường đi tốt nhất sẽ được lựa chọn.

Thông tin định tuyến bây giờ được duy trì. Khi có một sự thay đổi về trạng thái liên kết, các router sử dụng một quá trình tràn lụt để xác định sự thay đổi của các router khác trong mạng. Giao thức Hello cung cấp một cơ chế đơn giản để xác định router lân cận đang bị chết.

Định tuyến OSPF sử dụng khái niệm vùng. Mỗi một router chứa một cơ sở dữ

liệu trạng thái liên kết trong một vùng xác định. Một vùng trong mạng OSPF có thể được gán bởi bất cứ số nào trong khoảng từ 0 – 65535. Tuy nhiên, một vùng đơn lẻ được gán số 0 và gọi là vùng 0. Trong mạng OSPF đa vùng, tất cả các vùng được yêu cầu kết nối đến vùng 0. Vùng 0 còn được gọi là vùng đường trục.

Cấu hình OSPF yêu cầu quá trình định tuyến OSPF được kích hoạt trong router với các địa chỉ mạng và thông tin vùng cụ thể. Các địa chỉ mạng được cấu hình bởi một mặt nạ wildcard và không phải là một mặt nạ mạng con. Mặt nạ wildcard biễu diễn các đường link hay các địa chỉ host có thể xuất hiện trong phân đoạn này. Các ID vùng được biễu diễn bằng số hay bằng các số thập phân.

Để kích hoạt định tuyến OSPF, sử dụng cú pháp câu lệnh cấu hình toàn cục:

Router(config)#router ospf process-id

ID tiến trình là số được dùng để xác định một tiến trình định tuyến OSPF trên router. Các tiến trình OSPF có thể được bắt đầu trên cùng một router. Số này nhận giá trị trong khoảng 1 đến 65535. Hầu hết các nhà quản trị mạng chọn số ID tiến trình giống nhau cho một mạng tự trị, nhưng không bắt buộc. Và không cần thiết phải chạy nhiều hơn một tiến trình OSPF trên một router. Mạng IP được giới thiệu như sau trong OSPF:

Router(config-router)#network address wildcard-mask area area-id

Page 12: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Mỗi một mạng phải đồng nhất với vùng mà nó thuộc về. Địa chỉ mạng có thể là cho toàn mạng, một mạng con, hay địa chỉ của một giao diện. Nếu mặt nạ wildcard biểu diễn tập các địa chỉ host mà phân đoạn hỗ trợ. Điều này rất khác so với mặt nạ mạng con, cái được sử dụng để cấu hình các địa chỉ IP address trên các giao diện

Khi tiến trình OSPF khởi động, IOS Cisco sử dụng địa chỉ IP tích cực nhất làm ID router OSPF. Nếu không có giao diện nào hoạt động, tiến trình OSPF sẽ không bắt đầu. Nếu có một giao diện tích cực đang dần đi vào trạng thái chết, thì tiến trình OSPF sẽ không có ID router và do đó dừng hoạt động cho đến khi giao diện hoạt động trở lại.

Để đảm bảo tính ổn định OSPF, cần phải có một giao diện hoạt động cho tiến trình OSPF cho tất cả các lần. Một giao diện loopback, được gọi là giao diện logic, có thể được cấu hình cho mục đích này. Khi giao diện loopback được cấu hình, OSPF sử dụng địa chỉ này là ID router, và không quan tâm đến giá trị của nó. Trên một router có nhiều hơn một giao diện loopback, OSPF sẽ lựa chọn địa chỉ IP loopback lớn nhất làm ID router của mình.

Để tạo và gán một địa chỉ IP cho một giao diện loopback sử dụng các lệnh sau:

Router(config)#interface loopback number

Router(config-if)#ip address ip-address subnet-mask

Đây là một thực tế cần quan tâm để sử dụng các giao diện loopback cho tất cả các router chạy OSPF. Giao diện loopback này cần được cấu hình với một địa chỉ sử dụng mặt nạ mạng con 32 bit 255.255.255.255. Một mặt nạ mạng con 32-bit được gọi là mặt nạ host vì nó xác định mạng của một host. Khi OSPF được yêu cầu quảng cáo một mạng loopback, OSPF luôn quảng cáo loopback là một đường host với mặt nạ 32-bit.

Trong mạng đa truy cập quảng bá, có thể có nhiều hơn 2 router. OSPF lựa chọn một router chính (DR) để làm tiêu điểm của việc cập nhật trạng thái liên kết và quảng cáo trạng thái liên kết. Vì vai trò của DR rất then chốt, nên router chính dự phòng (BDR) được lựa chọn để thay thế nếu DR thất bại.

Nếu mạng có một giao diện quảng bá, thì quyền ưu tiên OSPF mặc định là 1. Khi các quyền ưu tiên OSPF giống nhau, việc lựa chọn OSPF cho DR được quyết định dựa vào ID router. Khi đó ID router lớn nhất sẽ được lựa chọn.

Kết quả lựa chọn có thể được xác định bằng cách đảm bảo "số phiếu bầu", các gói tin hello, chứa quyền ưu tiên của giao diện router đó. Giao diện chứa quyền ưu tiên cao nhất của một router sẽ đảm bảo router đó trở thành DR.

Độ ưu tiên được thiết lập giá trị trong khoảng 0 – 255. Router có giá trị 0 sẽ không được lựa chọn. Một router với quyền ưu tiên OSPF cao nhất sẽ được lựa chọn làm DR. Router có độ ưu tiên cao thứ hai sẽ trở thành BDR. Sau quá trình bầu cử, DR và BDR duy trì vai trò của mình thậm chí là có các router được thêm vào mạng với độ ưu tiên OSPF cao hơn.

Điều chỉnh độ ưu tiên OSPF bằng cách vào cấu hình giao diện toàn cục lệnh ip ospf priority trên một giao diện tham gia vào OSPF. Lệnh show ip ospf interface sẽ hiển thị giá trị ưu tiên của giao diện cũng như các thông tin quan trọng khác.

Router(config-if)#ip ospf priority number

Router#show ip ospf interfacetype number

Page 13: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

OSPF sử dụng chi phí làm thông số để xác định đường đi tốt nhất. Một chi phí có

quan hệ với phía ra của mỗi một giao diện router. Các chi phí cũng liên kết với dữ liệu định tuyến phát sinh bên ngoài. Nói chung, chi phí đường đi được tính toán sử dụng công thức 108/bandwidth, trong đó đơn vị của bandwidth là bps. Nhà quản trị hệ thống có thể cấu hình chi phí bằng nhiều phương pháp khác nhau. Chi phí càng thấp, thì giao diện càng được sử dụng để chuyển lưu lượng dữ liệu. IOS Cisco tự động xác định chi phí dựa trên băng tần của giao diện. Do vậy nó rất cần thiết đối với các hoạt động OSPF chính xác để thiết lập một độ rộng băng tần chính xác.

Router(config)#interface serial 0/0

Router(config-if)#bandwidth 56

Chi phí cũng có thể được thay đổi để tác động đến kết quả tính toán chi phí OSPF. Tình huống thường gặp để thay đổi chi phí là trong một môi trường định tuyến nhiều nhà cung cấp thiết bị. Việc thay đổi chi phí sẽ đảm bảo giá trị chi phí của một nhà cung cấp thiết bị phải phù hợp với giá trị chi phí của nhà cung cấp thiết bị khác. Một tình huống khác là khi Gigabit Ethernet được sử dụng. Chi phí mặc định gán giá trị chi phí thấp nhất của đường link trong khoảng từ 1 – 100 Mbps. Trong trường hợp 100 Mbps và Gigabit Ethernet, các giá trị chi phí mặc định có thể dẫn đến việc định tuyến xác định nhầm đường đi ít mong muốn hơn chỉ trừ khi là chúng được điều chỉnh. Số chi phí nằm trong khoảng 1 đến 65,535.

Sử dụng câu lệnh cấu hình giao diện sau để thiết lập chi phí đường liên kết:

Router(config-if)#ip ospf costnumber

Bằng mặc định, router tin rằng thông tin định tuyến đến từ một router khác mà

router đó đang gửi thông tin này. Để đảm bảo tính tin cậy, các router trong một vùng cụ thể có thể được cấu hình để nhận thực ra nhau.

Mỗi một giao diện OSPF có thể biễu diễn một khoá nhận thực được sử dụng bởi router gửi thông tin OSPF đến các router khác trong cùng một phân đoạn. Khoá nhận thực, còn được gọi là password, và thông tin bí mật được chia sẽ giữa các router với nhau. Khoá

Page 14: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

này được sử dụng để tạo dữ liệu nhận thực trong tiêu đề gói tin OSPF. Password có thể dài 8 ký tự. Sử dụng cú pháp lệnh sau để cấu hình quyền nhận thực OSPF:

Router(config-if)#ip ospf authentication-key password

Sau khi password được cài đặt, quyền nhận thực phải được kích hoạt:

Router(config-router)#area area-number authentication

Với quyền nhận thực đơn giản, password được gửi đi dưới dạng văn bản. Điều này có nghĩa là nó có thể dễ dàng giải mã nếu một bộ sniffer gói tin bắt được gói tin OSPF.

Người ta khuyến cáo rằng, thông tin nhận thực phải được mã hoá. Để gửi thông tin nhận thực được mã hoá và để đảm bảo tính an toàn tốt hơn, từ khoá sắp xếp bản tin được sử dụng. Từ khoá MD5 xác định loại thuật toán băm sắp xếp bản tin được sử dụng và trường kiểu mật mã hoá xác định kiểu mật mã hoá, trong đó 0 có nghĩa là không có gì và 7 có nghĩa là có quyền ưu tiên.

Sử dụng cú pháp lệnh cấu hình giao diện sau:

Router(config-if)#ip ospf message-digest-keykey-id encryption-type md5key

ID khoá là một bộ nhận dạng và lấy giá trị trong khoảng 1 đến 255. Khóa là một password dạng số có độ dài lên đến 16 ký tự. Các router láng giềng sử dụng cùng một bộ nhận dạng khoá với cùng một giá trị khoá giống nhau.

Lệnh sau đây được cấu hình trong chế độ cấu hình router.

Router(config-router)#areaarea-id authentication message-digest

Nhận thực MD5 tạo ra một sự sắp xếp bản tin. Sắp xếp bản tin thực chất là xáo trộn dữ liệu dựa trên password và nội dung gói tin. Các router thu sử dụng password chia sẽ và gói để tính toán lại sự sắp xếp đó. Nếu việc sắp xếp phù hợp, router tin rằng nguồn và nội dung của gói không bị nhiễu lên nhau. Kiểu nhận thực xác định kiểu nhận thực nào được sử dụng. Trong trường hợp nhận thực sắp xếp bản tin, trường dữ liệu nhận thực chứa ID khoá và độ dài của sắp xếp bản tin được đi kèm với gói tin. Sắp xếp bản tin giống như thuỷ ấn không thể giả mạo được.

Các router phải có cùng khoảng cách gửi bản tin Hello và cùng khoảng thời gian chết để trao đổi thông tin. Bằng cách mặc định, khoảng thời gian chết bằng bốn lần khoảng thời gian của gói tin hello. Điều này có nghĩa là một router có 4 cơ hội để gửi một gói tin hello trước khi được yêu cầu huỷ.

Trong mạng OSPF quảng bá, thời gian hello mặc định là 10 giây và thời gian chết mặc đinh là 40 giây. Trong mạng không quảng bá, thời gian hello mặc định là 30s và thời gian chết là 120 giây. Các giá trị này sẽ làm cho hoạt động OSPF hiệu quả hơn và ít phải điều chỉnh lại.

Nhà quản trị mạng được phép lựa chọn các giá trị thời gian. Việc điều chỉnh để cải thiện hiệu năng mạng OSPF cần phải được ưu tiên để thay đổi bộ định thời. Các bộ định thời này cần phải được cấu hình để phù hợp với các bộ định thời của các router láng giềng.

Để cấu hình khoảng thời gian chết và hello trên một giao diện, sử dụng các lệnh sau:

Router(config-if)#ip ospf hello-intervalseconds

Page 15: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Router(config-if)#ip ospf dead-intervalseconds

Định tuyến OSPF đảm bảo các đường có vòng lặp tự do đến mọi mạng trong một domain. Để kết nối đến các mạng bên ngoài domain, hoặc OSPF phải biết về mạng đó hoặc OSPF phải có một đường đi mặc định. Để có một lối vào cho mọi mạng trên thế giới thì cần có một tài nguyên khổng lồ cho các router.

Việc thay thế thực tế đó là thêm một đường mặc định đến router OSPF được kết nối ra mạng bên ngoài. Đường đi này có thể được xây dựng lại đến mỗi một router trong AS thông qua các cập nhật OSPF.

Một đường đi mặc định được cấu hình và được một router sử dụng để tạo ra gateway cho nơi cuối cùng. Cú pháp cấu hình đường đi mặc định sử dụng địa chỉ 0.0.0.0 và mặt nạ mạng con 0.0.0.0:

Router(config)#ip route 0.0.0.0 0.0.0.0 [interface | next-hop address ]

Cái này được gọi là đường đi toàn zero, và bất cứ địa chỉ mạng nào phù hợp đều sử dụng quy tắc sau. Gateway mạng được xác định bằng cách dung phép AND đích của gói tin với mặt nạ mạng con.

Câu lệnh cấu hình sau sẽ truyền đường đi này đến tất cả các router trong một vùng OSPF thông thường:

Router(config-router)#default-information originate

Tất cả các router trong vùng OSPF sẽ biết về một đường đi mặc định mà giao diện của router biên với gateway mặc định là hoạt động.

Một router OSPF phải thiết lập một mối quan hệ lân cận hay láng giềng với một router OSPF khác để trao đổi thông tin định tuyến. Có rất nhiều lý do dẫn đến thất bại trong mối quan hệ láng giềng:

· Các bản tin hello không được gửi từ cả hai láng giềng.

· Bộ định thời thời gian chết và hello không giống nhau.

· Giao diện ở trên các kiểu mạng khác nhau.

· Khoá hay password nhận thực khác nhau:

Trong định tuyến OSPF, việc đảm bảo những điều sau là rất quan trọng:

· Tất cả các giao diện có địa chỉ và mặt nạ mạng con chính xác

· Các lệnh vùng mạng phải có mặt nạ wildcard.

· Các lệnh vùng mạng đặt các giao diện vào vùng chính xác.

Page 16: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

OSPF là giao thức định tuyến trạng thái liên kết dựa trên các chuẩn mở. Mở

trong OSPF có nghĩa là nó có tính cộng đồng và không độc quyền. Các router OSPF bầu ra một router chính (DR) và một router chính dự phòng (BDR), hai router này đóng vai trò là tiêu điểm đển trao đổi thông tin định tuyến để giảm số lượng trao đổi thông tin định tuyến giữa một số láng giềng trong cùng một mạng. OSPF lựa chọn các đường đi dựa trên chi phí, trong ứng dung Cisco thì chi phí này liên quan đến băng tần. OSPF lựa chọn đường dẫn lặp nhanh nhất từ cầy đường đi ngắn nhất là đường đi tốt nhất trong mạng. OSPF đảm bảo định tuyến lặp tự do. Các giao thức vectơ khoảng cách có thể tạo ra các vòng lặp định tuyến. Khi một router bắt đầu một quá trình định tuyến OSPF trên một giao diện, nó gửi một gói tin hello và tiếp tục gửi các gói tin này theo một thời gian nhất định. Quy tắc điều khiển việc trao đổi các gói tin hello OSPF được gọi là giao thức hello. Nếu tất cả các tham số trong các gói tin Hello OSPF được chấp nhận, các router sẽ trở thành các router láng giềng.

Mỗi một router gửi các quảng cáo trạng thái liên kết (LSA) trong các gói tin cập nhật trạng thái liên kết (LSO). Mỗi một router nhận một lSA từ router láng giềng và lưu LSA trong cơ sở dữ liệu trạng thái liên kết. Quá trình này được lặp lại cho tất cả các router trong mạng OSPF. Khi một cơ sở dữ liệu được hoàn thành, mỗi một router sử dụng thuật toán SPF để tính toán một cấu hình logic lặp tự do cho tất cả các mạng đã biết. Đường đi ngắn nhất với chi phí thấp nhất được sử dụng trong việc xây dựng cấu hình này, do đó đường đi tốt nhất được lựa chọn.

3. Thực hành

Những học viên hoàn thành module này phải có khả năng thực hiện những thao tác sau:

· Phân biệt được các đặc điểm quan trọng của giao thức định tuyến trạng thái liên kết

· Giải thích thông tin định tuyến trạng thái liên kết được duy trì như thế nào

· Thảo luận về các thuật toán định tuyến trạng thái liên kết.

Page 17: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

· Kiểm tra các ưu và nhược điểm của giao thức định tuyến trạng thái liên kết.

· So sánh và làm nổi bật các giao thức định tuyến trạng thái liên kết với các giao thức định tuyến vectơ khoảng cách.

· Kích hoạt OSPF trên một router.

· Cấu hình địa chỉ loooback để thiết lập quyền ưu tiên router.

· Điều chỉnh các thông số chi phí để thay đổi các tham chiếu đường đi OSPF.

· Cấu hình nhận thực OSPF.

· Thay đổi bộ định thời OSPF.

· Mô tả các bước để tạo và truyền một đường đi mặc định

· Dùng lệnh show để xác nhận hoạt động OSPF.

· Cấu hình tiến trình định tuyến OSPF.

· Xác định các đối tượng OSPF

· Mô tả các kiểu mạng OSPF

· Mô tả các giao thức Hello OSPF.

· Xác định các bước cơ bản trong hoạt động của OSPF

a) Mô phỏng mạng

# $Header: OSPFsimple.tcl,v 1.15 2006/01/24 23:00:06 Exp $

# Một bài test định tuyến trạng thái liên kết đơn giản được xây dựng dựa trên code test định tuyến đa đường của Kanna #Một ví dụ đơn giản của định tuyến đa đường chi phí cân bằng thông qua hai đường đi có chi phí bằng nhau. # Các đường đi có chi phí bằng nhau đạt được bằng cách loại bỏ những chi phí liên kết. # # $n0 $n3 # \ / \ # \ / \ # $n2-------$n4 # / # / # $n1 # # Tuy nhiên, chương trình không đơn giản như chúng ta nghĩ. Bởi vì $n2 kếtnối trực tiếp #với $n4. # $n2 lựa chọn đường đi trực tiếp hơn là chọn các đường đi có chi phí như nhau # thông qua DV.Do đó, chúng ta tăng cường việc tham chiếu các đườngrực tiếp lên các đường đi DV. #

Page 18: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

# Hơn nữa, trong ví dụ này, liên kết <$n2,$n4> được tạo động. điều này cho phép chúng #ta xem lưu lượng trao đổi giữa $n2 và $n4 trong quá trình lấy các đường đi có chi phí #bằng nhau, và chỉ có một đường là sẵn có. Agent/TCP set syn_ false Agent/TCP set delay_growth_ false # Chuẩn bị để thay đổi các giá trị mặc định syn_ and delay_growth_. remove-all-packet-headers ; # removes all except common add-packet-header Flags IP TCP rtProtoLS ; # hdrs reqd for validation test # DÙNG ĐỂ CẬP NHẬT CÁC MẶC ĐỊNH TOÀN CỤC.: Agent/TCP set precisionReduce_ false ; # default changed on 2006/1/24. Agent/TCP set rtxcur_init_ 6.0 ; # Default changed on 2006/01/21 Agent/TCP set updated_rttvar_ false ; # Variable added on 2006/1/21 Agent/TCP set tcpTick_ 0.1 # Mặc định cho tcpTick_ is được thay đổi để phản ánh tính tin cậy của việc trao đổi. Agent/TCP set rfc2988_ false # Mặc định của rfc2988_ is được thay đổi thành giá trị true. # DÙNG ĐỂ CẬP NHẬT CÁC MẶC ĐỊNH TOÀN CỤC: Agent/TCP set minrto_ 1 # default changed on 10/14/2004. Agent/TCP set useHeaders_ false #Mặc định được thay đổi thành useHeaders_ true. Agent/TCP set windowInit_ 1 # Mặc định được thay đổi thành 2. Agent/TCP set singledup_ 0 # Mặc định được thay đổi thành 1 Agent/TCP set SetCWRonRetransmit_ true # Thay đổi các giá trị mặc định. if {![TclObject is-class Agent/rtProto/LS]} { puts "Linkstate module is not present; validation skipped" exit 2 } Class TestSuite Class Test/eqp -superclass TestSuite Agent/rtProto/Direct set preference_ 200 Test/eqp instproc init {} { $self instvar ns set ns [new Simulator] Node set multiPath_ 1 set n0 [$ns node]

Page 19: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] $n0 shape "circle" $n1 shape "circle" $n2 shape "other" $n3 shape "other" $n4 shape "box" set f [open temp.rands w] $ns trace-all $f global quiet if { $quiet == "false" } { set nf [open eqp.nam w] $ns namtrace-all $nf } $ns color 0 blue $ns color 1 red $ns color 2 white $ns duplex-link $n0 $n2 10Mb 2ms DropTail $ns duplex-link $n1 $n2 10Mb 2ms DropTail $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link $n2 $n3 1.5Mb 10ms DropTail $ns duplex-link $n3 $n4 1.5Mb 10ms DropTail $ns queue-limit $n2 $n3 5 $ns duplex-link-op $n2 $n3 orient right-up $ns duplex-link-op $n3 $n4 orient right-down $ns duplex-link-op $n2 $n3 queuePos 0 $ns duplex-link $n2 $n4 1.5Mb 10ms DropTail $ns queue-limit $n2 $n4 5 $ns duplex-link-op $n2 $n4 orient right $ns duplex-link-op $n2 $n3 queuePos 0 $ns duplex-link-op $n2 $n4 queuePos 0

[$ns link $n2 $n4] cost 2 [$ns link $n4 $n2] cost 2 [$self build-tcp $n0 $n4 0.7] set class_ 0 [$self build-tcp $n1 $n4 0.9] set class_ 1

Page 20: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

$ns rtmodel Deterministic {.35 .25} $n2 $n4 [$ns link $n2 $n4] trace-dynamics $ns stdout $ns rtproto LS } Test/eqp instproc build-tcp { n0 n1 startTime } { $self instvar ns set tcp [new Agent/TCP] $ns attach-agent $n0 $tcp set snk [new Agent/TCPSink] $ns attach-agent $n1 $snk $ns connect $tcp $snk set ftp [new Application/FTP] $ftp attach-agent $tcp $ns at $startTime "$ftp start" return $tcp } Test/eqp instproc finish {} { $self instvar ns $ns flush-trace exit 0 } Test/eqp instproc run {} { $self instvar ns $ns at 1.2 "$self finish" $ns run } proc usage {} { global argv0 puts stderr "usage: ns $argv0 <tests>" puts stderr "Valid tests are:\t[get-subclasses TestSuite Test/]" exit 1 } proc isProc? {cls prc} { if [catch "Object info subclass $cls/$prc" r] { global argv0 puts stderr "$argv0: no such $cls: $prc" usage } }

Page 21: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

proc get-subclasses {cls pfx} { set ret "" set l [string length $pfx] set c $cls while {[llength $c] > 0} { set t [lindex $c 0] set c [lrange $c 1 end] if [string match ${pfx}* $t] { lappend ret [string range $t $l end] } eval lappend c [$t info subclass] } set ret } TestSuite proc runTest {} { global argc argv quiet set quiet false switch $argc { 1 { set test $argv isProc? Test $test } 2 { set test [lindex $argv 0] isProc? Test $test if {[lindex $argv 1] == "QUIET"} { set quiet true } } default { usage } } set t [new Test/$test] $t run }

TestSuite runTest

Chạy file cấu hình như trên trong NS2 của Linux thu được kết quả, bằng hình ảnh thu được và các bản tin nhận được hãy phân tích các quá trình xảy ra.

b) Thực hành trên router

Cấu hình mạng được thiết lập như hình sau:

Page 22: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Area 0

Router 1 Router 2Hub/SwitchComputer Computer

Fa0/1 Fa0/1Fa0/0 Fa0/0

192.168.15.0/30

192.168.16.0/24

192.168.17.0/24

Cáp thẳng

Cáp chéo

Console

Mục tiêu:

- Thiết lập một sơ đồ địa chỉ IP cho vùng OSPF 0.

- Cấu hình và xác nhận định tuyến OSPF.

Kiến thức nền tảng cần chuẩn bị

Cáp được sử dụng trong mạng tương tự với cáp cho trong sơ đồ. Bất cứ router nào đáp ứng được những yêu cầu giao diện hiển thị trên lược đồ trên có thể được sử dụng. Ví dụ, dãy các router 800, 1600, 1700, 2500 và 2600 hay bất kỳ một tổ hợp như thế có thể được sử dụng. Hãy để ý đến biểu đồ ở cuối bài lab để xác định chính xác bộ nhận dạng giao diện được sử dụng dựa trên các thiết bị trong lab. Cấu hình đầu ra sử dụng trong lab được tạo ra từ 1721 các series router. Bất cứ các router khác được sử dụng có thể tạo ra những đầu ra khác nhau. Thực hiện các bước sau trên mỗi một router trừ phi có một chỉ dẫn nào khác. bắt đầu một phiên HyperTerminal.

Chú ý: phải xoá bỏ và tải lại các chỉ dẫn vào cuối mỗi bài thí nghiệm. Thực hiện các bước đó trên tất cả các router trong bài lab trước khi tiếp tục.

Bước 1: Cấu hình router.

Trên các router, vào chế độ cấu hình toàn cục và cấu hình hostname giống nhau trong biểu đồ. Sau đó, cấu hình console, đầu cuối ảo và kích hoạt password. Tiếp đó, cấu hình giao diện theo biểu đồ. Cuối cùng cấu hình hostname IP. Không cấu hình giao thức định tuyến cho đến khi có chỉ dẫn cụ thể.

Bước 2: Lưu các thông tin cấu hình từ chế độ lệnh EXEC được bảo mật.

BERLIN#copy running-config startup-config

Destination filename [startup-config]? [Enter]

Bước 3: Cấu hình các host với địa chỉ IP, mặt nạ mạng con và các gateway mặc định chính xác.

Page 23: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

a. Mỗi một workstation phải ping được tới các router đính kèm. Gỡ rối là rất cần thiết. Nhớ phải gán một địa chỉ Ip cụ thể và gateway mặc định đến workstation. Nếu chạy Windows 98, kiểm tra bằng cách sử dụng Start >Run > winipcfg. Nếu chạy Windows 2000, kiểm tra bằng cách sử dụng lệnh ipconfig trong cửa sổ DOS.

b. Tại điểm này, workstation không thể truyền thông với nhau. Các bước sau sẽ mô tả quá trình cần thiết để thực hiện truyền thông sử dụng OSPF là giao thức định tuyến.

Step 4: Xem cấu hình router và thông tin giao diện.

a. Tại chế độ EXEC bảo mật:

R1#show running-config

b. Sử dụng lệnh show ip interface brief, kiểm tra trạng thái của mỗi một giao diện.

c. Cái nào là trạng thái của các giao diện trên mỗi router?

Router 1:

FastEthernet 0/0:____________________________________________

FastEthernet 0/1:____________________________________________

Router 2:

FastEthernet 0/0: ____________________________________________

FastEthernet 0/1:____________________________________________

d. Ping từ một trong những giao diện serial kết nối đến các giao diện khác. Những lệnh ping nào thành công? ________________________________

e. Nếu lệnh ping không thành công, giải rối (troubleshooting) cấu hình router cho đến khi thành công.

Bước 5: Cấu hình định tuyến OSPF trên router R1

a. Cấu hình một quá trình định tuyến OSPF trên router R1. Sử dụng chỉ số tiến trình OSPF là 1 và đảm bảo tất cả mạng đều trong khu vực 0.

R1(config) #router ospf 1

R1(config-router) #network 192.168.17.0 0.0.0.255 area 0

R1(config-router) #network 192.168.15.0 0.0.0.255 area 0

R1(config-router) #end

b. Kiểm tra các router chạy các file cấu hình

c. Phiên bản IOS có tự động thêm bất kỳ một đường nào trong router OSPF 1 không? ________________________________________________

d. Nếu có, thì nó đã thêm cái gì?__________________________________

e. Nếu không có sự thay đổi nào trong cấu hình chạy, đánh các lệnh sau:

R1(config) #router ospf 1

R1(config-router) #log-adjacency-changes

Page 24: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

R1(config-router) #end

f. Hiển thị bảng định tuyến với router R1

R1 #show ip route

g. Có lối vào nào trong bảng định tuyến không?______________________

h. Tại sao?____________________________________________________

Step 6: Cấu hình định tuyến OSPF trên router R2

a. Cấu hình một quá trình định tuyến OSPF trên router Rome. Sử dụng tiến trình OSPF số 1 và đảm bảo tất cả các mạng trong vùng 0.

R2(config) #router ospf 1

R2(config-router) #network 192.168.15.0 0.0.0.255 area 0

R2(config-router) #network 192.168.16.0 0.0.0.255 area 0

R2(config-router) #end

b. Kiểm tra router Rome chạy các file cấu hình.

c. Phiên bản IOS có tự động thêm bất cứ dòng nào trong router OSPF 1 không? ______

d. Nếu có, nó đã thêm cái gì?________________________________

e. Nếu không có sự thay đổi trong chạy cấu hình, đánh các lệnh sau:

R2(config) #router ospf 1

R2(config-router) #log-adjacency-changes

R2(config-router) #end

R2 #show ip route

f. Có lối vào OSPF trong bảng định tuyến bây giờ không?________

g. Đâu là giá trị thông số của đường đi OSPF?___________________

h. Các đường đi đều đến tất cả các mạng hiển thị trong bảng định tuyến không?_________________________________________________

i. O có nghĩa là gì trong cột đầu tiên của bảng định tuyến? ____________________

Step 7: Kiểm tra kết nối mạng

a. Ping host R2 từ host R1. Nó có thành công không? ___________________

b. Nếu không sử dụng gỡ rối. Khi các bước trước đã hoàn thành, log off bằng cách đánh exit, sau đó router chuyển đến chế độ tắt. Sau đó loại bỏ và lưu trữ cáp và bộ thích nghi.

c. Hiển thị bảng định tuyến cho router R2

Xoá và nạp lại

Vào chế độ EXEC bảo mật bằng cách đánh enable. Nếu cần một password, đánh class. Nếu nó không hoạt động, hỏi người hướng dẫn để được trợ giúp

Page 25: Bài 2 : GIAO TH ỨC ĐỊNH TUYẾN OSPF

Router> enable

Tại chế độ EXEC bảo mật, đánh lệnh erase startup-config.

Router #erase startup-config

Lời nhắc tương ứng sẽ hiển thị:

Erasing the nvram filesystem will remove all files! Continue?

[confirm]

Press Enter to confirm.

Câu trả lời sẽ là:

Erase of nvram: complete

Bây giờ, tại chế độ EXEC, đánh lệnh reload

Router(config) #reload

Dòng nhắc tương ứng sẽ là:

System configuration has been modified. Save? [yes/no]:

Type n and then press Enter.

Dòng nhắc tương ứng sẽ là:

Proceed with reload? [confirm]

Press Enter to confirm.

Dòng đầu tiên của câu trả lời là:

Reload requested by console.

Sau khi router đã tải lại dòng lệnh nhắc sẽ là:

Would you like to enter the initial configuration dialog? [yes/no]:

Type n and then press Enter.

Dòng lệnh nhắc sẽ là:

Press RETURN to get started!

Press Enter.

Bây giờ router đã sẵn sàng để thực hiện lab: