You are on page 1of 11

Introduction to OSPF

OSPF là một giao thức định tuyến dạng link-state và nó là một trong những giao thức định tuyến mà bạn cần
hiểu nếu bạn muốn thi chứng chỉ CCNA. Trong bài này tôi sẽ giải thích về cơ bản của OSPF và bạn có thể học
được cách thức của nó hoạt động như thế nào:

Tôi không biết gì về bạn nhưng tôi thích hệ thống định vị. Một điều tốt
khi nghĩ về chúng là bạn có thể lái xe và không cần phải nhìn vào biển
báo giao thông. Điều tồi tệ là tôi hoàn toàn bị mất phương hướng khi nó
không hoạt động. Tôi đọc bản đồ hơi kém (hoặc có thể do tôi không
thích đọc nó) và nếu tôi phải tự tìm đường trong một thành phố lớn thì
tôi chịu.

Giao thức định tuyến link-state tương tự như hệ thống định vị, chúng ta
phải hoàn thành bản đồ trong mạng. Nếu bạn có full map về mạng thì
bạn chỉ cần tính toán đường đi ngắn nhất để đến tất cả các destination khác nhau. Điều này rất tuyệt vời bởi vì
nếu bạn biết tất cả các đường dẫn khác nhau và nó sẽ không có loop bởi vì bạn biết tất cả mọi thứ! Nhược điểm
là tốn nhiều CPU hơn các giao thức định tuyến dạng distance vector. Nó giống như một hệ thống định vị…Nếu
bạn tính toán 1 route từ New York đến Los Angeles nó sẽ lâu hơn khi bạn tính toán 1 route từ 1 con đường này
đến con đường kia trong cùng 1 thành phố.

Hãy xem ở link-state để xem chính xác ý nghĩa của nó như thế nào:

 Link: là interface của router chúng ta.


 State: chi tiết của interface và các nó kết nối trực tiếp đến neighbor routers.

CCNP – Trương Trung Hiếu


Giao thức định tuyến hoạt động bằng các gửi các link-state advertisements (LSA) đến tất cả các link-state
routers khác.

Tất cả các router cần phải có link-state advertisements này như vậy chúng có thể xây dựng link-state database
hoặc LSDB. Cơ bản nhất là tất cả các link-state advertisements là một phần của quá trình xây dựng bảng
LSDB.

Nếu tôi có nhiều OSPF routers, nó có thể không hiệu quả lắm mỗi khi các OSPF routers flood LSAs đến tất cả
các OSPF routers khác. Để tôi show cho bạn 1 ví dụ:

CCNP – Trương Trung Hiếu


Ở trên chúng ta có 1 mạng với 8 OSPF routers đang kết nối trực tiếp đến Switch. Tất cả các routers đang thiết
lập quan hệ láng giềng với nhau… gửi gói tin hello, flooding LSAs và xây dựng LSBD. Đây là điều sẽ xảy ra:

CCNP – Trương Trung Hiếu


Chúng ta sẽ có full-mesh OSPF neighbors. Mỗi router sẽ flood LSAs đến tất cả các routers kia vì vậy chúng ta
có rất nhiều OSPF traffic. Có cách nào để làm cho điều này hiệu quả hơn một chút không?

Điều gì sẽ xảy ra nếu tất cả các router chỉ gửi các stuff đến 1 OSPF router, sau đó nó sẽ forward đến tất cả các
OSPF router kia? Tất cả các OSPF routers sẽ biết về tất cả các thông tin định tuyến bên ngoài nhưng chúng ít
tốn kém OSPF traffic hơn. OSPF sẽ sử dụng vài thứ được gọi là DR (Designated Router). Tất cả các OSPF
router của chúng ta chỉ hình thành 1 “full” neighbor adjacency với DR và không hình thành với các router kia.

CCNP – Trương Trung Hiếu


Vì những điều xấu này có thể xảy ra với mạng của chúng ta nên chúng ta phải có backup cho DR. Nếu nó bị sự
cố thì BDR (Backup Designated router) sẽ đảm nhận nhiệm vụ của DR. Tất cả các OSPF router của chúng chỉ
hình thành full neighbor adjacency với DR và BDR và không hình thành với các router khác. Điều này nghe có
vẻ hiệu quả phải không?

Chúng ta chỉ sử dụng DR/BDR trong mạng multi-access. Một ví dụ cho mạng multi-access là sử dụng 1 switch.
Và chúng ta không cần làm điều này trên kết nối point-to-point. Chúng chỉ có 1 router kết nối đến router đầu
bên kia vậy thì không có lý do gì để bầu chọn DR/BDR.

LSDB là bức tranh tổng thế của mạng, trong mạng chúng ta gọi là topology.

Bạn có thể so sánh LSDB với một bản đồ đầy đủ của quê hương của mình.

CCNP – Trương Trung Hiếu


Một khi tất cả các router đã hoàn thành map thì chúng ta có thể bắt đầu tính toán đường đi ngắn nhất đến tất cả
các destination khác nhau bằng cách sử dụng thuật toán shortest-path first. Thông tin nào tốt nhất sẽ được đưa
vào bảng định tuyến. Cách tính toán đường đi ngắn nhất cũng giống như việc sử dụng hệ thống định vị, nó sẽ
nhìn vào bản đồ và xem tất cả các đường đi khác nhau để đến được destination và chỉ show cho bạn đường đi
đến đó tốt nhất.

Chỉ có 1 giao thức định tuyến dạng link-state mà chúng ta đang thảo luận đó chính là OSPF (Open Shortest
Path First). Có 1 giao thức định tuyến dạng link-state nữa đó là IS-IS nhưng nó đã bị loại bỏ ở chương trình
CCNA, CCNP và CCIE bởi Cisco.

Phần giới thiệu về giao thức định tuyến link-state của tôi đã đủ, hãy xem OSPF và cách thức của nó hoạt động
như thế nào:

OSPF hoạt động với concept của areas và mặc định bạn luôn luôn có 1 area, thông thường nó là area 0 hoặc
chúng ta có thể gọi đó là backbone area.

CCNP – Trương Trung Hiếu


Bạn có thể có nhiều area như hình ở trên, chúng ta có area 1,2 và 3. Tất cả chúng phải kết được kết nối đến
backbone area. Nếu bạn muốn đi từ area 1 sang area 2 bạn phải đi qua backbone area. Nó không thể đi trực tiếp
từ area 1 sang area 2; bạn luôn luôn phải đi qua backbone area! Cũng giống vậy nếu bạn muốn đi từ area 3 sang
area 2 bạn phải thông qua backbone area.

Như vậy, tại sao chúng ta lại làm việc với area này? Hãy nhớ rằng, tôi đã giải thích cho bạn về hệ thống định vị
là gì. Nếu bạn nói với hệ thống định vị tính toán từ New York đến Los Angeles nó sẽ lâu hơn so với tính toán
đường đi từ con đường này đến con đường kia trong cùng 1 thành phố. Việc tính toán này được gọi là thuật
toán shortest path first hoặc SPF, vấn đề này cũng áp dụng cho OSPF. Các routers của chúng ta chỉ có một bức
tranh tổng thể về mô hình mạng trong cùng 1 area, bản đồ của bạn càng nhỏ thì thuật toán SPF của bạn hoạt
động càng nhanh.

Hãy nhớ rằng thuật toán SPF có từ những năm thập niên 70 và OSPF được phát minh ở đâu đó vào những năm
thập niên 80…hồi đó chúng ta không có Core 2 Duo/ Quad và i7 và những dòng cao cấp như ngày nay.

Trong hình bạn cũng có thể thấy ở trên bên phải có vùng “other routing domain”. Đây có thể là mạng khác
đang chạy 1 giao thức định tuyến khác (Có lẻ là RIP) và nó có thể import và export các route từ RIP vào trong
OSPF hoặc theo cách khác, Cách này gọi là redistribution.

 Các routers trong backbone area (area 0) được gọi là backbone routers.
 Routers ở giữa 2 areas (tương tự như 1 router ở giữa area 0 và area 1) thì được gọi là area border routers
hoặc ABR.
 Router đang chạy OSPF và được kết nối trực tiếp đến mạng khác mà chạy giao thức định tuyến khác(Ví
dụ RIP) thì được gọi là autonomous system border routers hoặc ASBR.

CCNP – Trương Trung Hiếu


OSPF hoạt động khác với RIP và EIGRP, đầu tiên, nó là link-state sẽ đối chiếu với distance vector (RIP) nhưng
nó cũng sẽ không gửi link-state advertisement ra xung quanh. Routers sẽ phải thiết lập quan hệ láng giềng
trước, một khi chúng hình thành neighbors xong thì chúng sẽ trao đổi link-state advertisement.

Một khi bạn cấu hình OSPF, router sẽ bắt đầu gửi các gói tin hello. Nếu bạn cũng nhận được gói tin hello từ
routẻ kia thì bạn có thể thiết lập quan hệ láng giềng.

Tuy nhiên, có một vài trường trong gói tin hello và nhiều thứ của phải match với nhau mới có thể thiết lập quan
hệ láng giềng. Hãy đi vào các items trong gói tin hello và xem chúng là gì:

 Router ID: Mỗi OSPF router cần phải có 1 ID duy nhất, nó có thể là địa chỉ IP cao nhất trên bất kỳ
active interface nào. Còn nữa thì tôi sẽ nói sau.
 Hello/ Dead Interval: mỗi x giây chúng sẽ gửi 1 gói tin hello, nếu chúng không nghe được bất gói tin
hello từ mạng của chúng ta với x giây thì chúng sẽ khai báo bạn đã chết “dead” và chúng sẽ không thiết
lập quan hệ láng giềng nữa. Các giá trị này phải match cả hai đầu để hình thành láng giềng.
 Neighbors: Tất cả các router khác đã thiết lập neighbors và được chỉ rõ ra trong gói tin hello.
 Area ID: Đây có thể được gọi là khu vực mà bạn đang sinh sống. Giá trị này phải match cả 2 đầu thì
mới có thể hình thành neighbors.
 Router Priority: Giá trị này được định nghĩa để ai có thể trở thành designated hoặc backup designated
router.

CCNP – Trương Trung Hiếu


 DR và BDR IP Address: Bạn có thể sử dụng clear text MD5 authentication cho OSPF điều này có
nghĩa là các gói tin sẽ phải chứng thực. Chắc chắn bạn phải có cùng password trên cả 2 routers để nó có
thể hoạt động.
 Stub Area flag: Bên cạnh area numbers OSPF còn có các kiểu area, cả 2 router phải chấp nhận kiểu
area của nhau thì mới có thể thiếp lập quang hệ láng giềng.

Mỗi OSPF router cần phải có một router ID duy nhất, nó có thể là địa chỉ IP cao nhất trên bất active interface.
Trên tất cả các router của Cisco bạn có thể tạo ra loopback interface giống như virtual interface. Bạn có thể cấu
hình địa chỉ IP cho nó và khi bạn thử ping thì nó sẽ phản hồi lại.

Nếu bạn có loopback interface trên OSPF router thì sau đó router sẽ sử dụng địa chỉ IP này để làm router ID
mặc dù nó không phải là địa chỉ IP cao nhất. Tại sao OSPF làm điều này? Loopback interface của bạn sẽ không
bao giờ bị down trừ khi router bị chết.

Việc sử dụng loopback interface bạn có thể làm 2 điều như sau:

 Quảng bá địa chỉ IP trên loopback interface trong OSPF.


 Không quảng bá địa chỉ IP trên loopback interface trong OSPF.

Vậy khác nhau là gì? Nếu chúng ta quảng bá nó thì router kia sẽ có thể truy cập và ping được địa chỉ IP của
loopback interface này hoặc sử dụng nó để telnet đến router.

Chúng ta có cấu hình OSPF…chúng ta đã thiết lập quan hệ láng giềng với một loạt các routers và chúng đã trao
đổi thông tin link-state advertisement. Các routers của chúng ta đã xây dựng được LSDB và chúng có bức tranh
tổng thể về topology mạng của chúng ta. Bước tiếp theo là chạy thuật toán SPF và xem shortest path đến
destination là gì.

Bạn còn nhớ metrics? Metric là thứ mà giao thức định tuyến sử dụng để tìm đường đi tốt nhất. OSPF sử dụng
metric và nó gọi là cost dựa trên bandwidth của interface, nó hoạt động như sau:

Cost = Reference Bandwidth / Interface bandwidth.

Reference bandwidth là giá trị mặc định trên Cisco routers là 100Mbit interface. Bạn chia reference bandwidth
cho bandwidth của interface là ra được cost.

Ví dụ: bạn có 100Mbit interface thì cost là bao nhiêu?

Cost = Reference Bandwidth / Interface bandwidth.

100 Mbit / 100 Mbit = Cost 1

Ví dụ: bạn có 10Mbit interface thì cost là bao nhiêu?

100 Mbit / 10 Mbit = Cost 10

CCNP – Trương Trung Hiếu


Ví dụ: bạn có 1Mbit interface thì cost là bao nhiêu?

100 Mbit / 1 Mbit = Cost 100

Cost thấp nhất là đường dẫn tốt nhất.

Hãy nhìn vào hình ở trên, chúng ta đang ngồi trong router ở bên trái và đang chạy thuật toán SPF để tìm đường
đi ngắn nhất đến destination. Chúng ta sẽ đi đường nào?

Sử dụng router ở trên cùng, chúng ta sẽ có cost là 10+8 = 18. Đường dẫn ở giữa là 5+5 =10. Router ở dưới có
cost là 20+20 =40. Đường dẫn ở giữa chắc chắn có cost thấp nhất như vậy đây là đường path mà chúng ta sẽ sử
dụng!

Hãy nhìn vào mô hình: Như bạn thấy đường dẫn ở trên cùng và ở giữa có cùng cost là 5+5=10. Chúng ta sẽ làm
gì chổ này đây? The path bằng nhau.

CCNP – Trương Trung Hiếu


Câu trả lời đó là load balancing! Chúng ta sẽ sử dụng cả hai đường dẫn và OSPF sẽ load balance giữa chúng
50/50. Có vài giá trị mà bạn cần biết về OSPF load balancing:

 Path phải có cùng cost.


 4 paths cost bằng nhau sẽ được đặt trong bảng định tuyến.
 Tối đa là 16 paths.
 Để làm cho cost bằng nhau, bạn có thể thay đổi cost trên link.

Nếu 1 đường dẫn có cost không bằng nhau thì chúng ta có thể làm thủ công là thay đổi cost hoặc bandwidth của
interface.

IOS 15 hỗ trợ tối đa 32 paths cho OSPF

Một vấn đề cuối cùng mà tôi muốn nói với bạn đó là OSPF authentication:

 OSPF hỗ trợ MD5 authentication.


 OSPF hỗ trợ clear text authentication.
 Bạn có thể enable authentication cho toàn bộ area hoặc single interface.

Đó là tất cả những gì tôi muốn giải thích cho bạn về OSPF. Hy vọng nó sẽ hữu ích cho bạn.

CCNP – Trương Trung Hiếu

You might also like