Bai 2 - Thuc Hanh Mang Ospf PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 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 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.
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
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
· 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.
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:
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:
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
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.
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.
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.
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
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
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á
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
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.
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.
· 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.
#
# 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]
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
$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
}
}
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:
192.168.17.0/24 192.168.15.0/30

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

Computer Computer
Hub/Switch Router 1 Router 2
192.168.16.0/24

Area 0

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.
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
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
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:

You might also like