OSPF là một giao thức định tuyến liên kết điển hình được sử dụng rộng rãi trong các mạng công ty lớn. Đây là một chủ đề nóng khác trong chương trình CCNA. Vì vậy, nắm vững OSPF là gì và nó hoạt động như thế nào có thể giúp các bạn đang theo học chương trình CCNA có kết quả học tập tốt, đồng thời đáp ứng được yêu cầu của công việc thực tế.
Tóm Tắt Bài Viết
OSPF là gì?
OSPF là viết tắt của Open Shortest Path First. Nó là một giao thức định tuyến được sử dụng và hỗ trợ rộng rãi. Đây là một giao thức định tuyến bên trong được sử dụng trong một khu vực hoặc mạng.
OSPF là gì?
OSPF hoạt động bằng cách tìm hiểu về tất cả các bộ định tuyến và mạng con trên mạng. Tất cả các bộ định tuyến đều chứa thông tin giống nhau về mạng của bạn. Cách các bộ định tuyến tìm hiểu thông tin này bằng cách gửi Link State Advertisements (LSA).
Các LSA này chứa thông tin về bộ định tuyến, mạng con và thông tin mạng khác. Khi một LSA đầy, OSPF sẽ lưu thông tin trong cơ sở dữ liệu trạng thái liên kết có tên LSDB. Mục tiêu chính là giữ thông tin giống nhau cho mỗi bộ định tuyến trong LSDB.
OSPF hoạt động như thế nào?
Router chạy theo giao thức định tuyến OSPF thì nó phải trải qua 4 bước sau:
Chọn Router – id
Để chạy OSPF nó phải tạo ra 1 định danh để chạy gọi là Router-id có định dạng của một địa chỉ IP A.B.C.D (vd: IPv4:192.168.1.1). Để tạo ra Router-id có 2 cách sau đây:
Cách 1: Router tự động tạo
Dựa vào interface nào có địa chỉ IP cao nhất thì nó lấy IP đó làm Router-id
Ví dụ: Router có f0/0=10.0.0.1 f0/1=172.16.1.1 s0/0/0=192.168.1.1
=> Router-id = 192.168.1.1
Nếu Router có Loopback tồn tại và cho tham gia định tuyến thì Router-id ưu tiên cho Loopback trước
Ví dụ: lookback 0=4.1.1.1 ;lookback1=4.2.2.2; f0/0=172.16.1.1; f0/1=192.168.1.1
=> Router-id = 4.2.2.2
Cách 2 : Tự cấu hình
Định danh Router-id không nhất thiết là phải chọn IP có trên interface.
OSPF hoạt động như thế nào?
Ví dụ: lookback 0=4.1.1.1 ;lookback1=4.2.2.2; f0/0=172.16.1.1; f0/1=192.168.1.1
Bạn có thể cấu hình để chọn Router-id = 100.100.100.100. Ip này không thuộc interface nào của router cả.
Lệnh cấu hình thực hiện như sau:
Router (config) # router ospf 1
Router (config-router) # router-id A.B.C.D
Thiết lập quan hệ láng giềng (neighbor)
Router chạy OSPF sẽ gửi gói tin hello ra tất cả các cổng chạy OSPF, mặc định 10s/lần. Gói tin này được gửi đến địa chỉ multicast dành riêng cho OSPF là 224.0.0.5, đến tất cả các router chạy OSPF khác trên cùng phân đoạn mạng. Mục đích của gói tin hello là giúp cho router tìm kiếm láng giềng, thiết lập cũng như duy trì mối quan hệ này.
Hai router được gọi là láng giềng phải thỏa mãn các điều kiện sau:
+ Cùng Area-id: Khi mạng lớn người ta chia làm nhiều vùng, vùng nào hỏng thì chỉ vùng đó chịu tác động. Mỗi một vùng sẽ đặt cho một Area-id. Vùng trung tâm có Area-id phải bằng 0. Mọi vùng khác phải có đường truyền trực tiếp về vùng 0 thì mới truyền được dữ liệu.
+ Cùng Subnet: 2 IP phải cùng Subnet mới ping và trao đổi được thông tin.
+ Phải cùng thông số: Hello/Dead-time ở trên 2 cổng, mặc định là 10s/40s.
+ Khi đặt xác thực các router khác không lấy được thông tin.
+ Phải cùng cờ Stub Area Flag: dành cho OSPF đa vùng.
Trao đổi LSDB
Trao đổi LSDB
LSDB là một card mạng và các bộ định tuyến dựa vào nó để tính toán định tuyến. LSDB phải hoàn toàn giống nhau trên các bộ định tuyến trong cùng một khu vực. Thay vì trao đổi toàn bộ bảng LSDB với nhau, các bộ định tuyến trao đổi các mẩu thông tin được gọi là (LSA). Thông tin này được chứa trong các gói cụ thể được gọi là LSU (Link State Update) thực sự được trao đổi giữa các bộ định tuyến.
Tính toán xây dựng bảng định tuyến
+ Trong OSPF không còn gọi là Metrict, thay vào đó gọi là Cost (Cost trên interface).
+ Cost được tính khi đi vào 1 cổng và đi ra không tính.
+ Metric = cost = 108/Bandwidth (đơn vị bps).
+ Ethernet (BW = 10Mbps) → cost = 10.
+ Fast Ethernet (BW = 100Mbps) → cost = 1.
+ Serial (BW = 1.544Mbps) → cost = 64 (bỏ phần thập phân trong phép chia).
Các loại liên kết trong OSPF
Khi đã tìm hiểu giao thức định tuyến OSPF là gì. Cần biết các loại liên kết trong OSPF Liên kết về cơ bản là một kết nối, vì vậy kết nối giữa hai bộ định tuyến được gọi là liên kết.
Có bốn loại liên kết trong OSPF:
+ Point-to-point link: Liên kết điểm-điểm kết nối trực tiếp hai bộ định tuyến mà không có máy chủ hoặc bộ định tuyến nào ở giữa.
+ Transient link: Khi một số bộ định tuyến được gắn vào một mạng, chúng được gọi là liên kết tạm thời. Liên kết tạm thời có hai cách triển khai khác nhau:
Cấu trúc liên kết không thực tế: Khi tất cả các bộ định tuyến được kết nối với nhau, nó được gọi là cấu trúc liên kết không thực tế.
Tính toán xây dựng bảng định tuyến
Cấu trúc liên kết thực tế: Khi một số bộ định tuyến được chỉ định tồn tại trong mạng thì nó được gọi là cấu trúc liên kết thực tế. Ở đây bộ định tuyến được chỉ định là bộ định tuyến mà tất cả các bộ định tuyến được kết nối với nhau. Tất cả các gói được gửi bởi các bộ định tuyến sẽ được chuyển qua bộ định tuyến được chỉ định.
+ Stub link: Đây là một mạng được kết nối với một bộ định tuyến duy nhất. Dữ liệu đi vào mạng thông qua một bộ định tuyến duy nhất và rời khỏi mạng thông qua cùng một bộ định tuyến.
+ Virtual link: Nếu liên kết giữa hai bộ định tuyến bị hỏng, quản trị viên sẽ tạo ra một đường dẫn ảo giữa các bộ định tuyến và đường dẫn đó cũng có thể là một đường dài.
Định dạng tin nhắn OSPF
Sau đây là các trường ở định dạng thông báo OSPF:
+ Version: Đây là trường 8 bit chỉ định phiên bản giao thức OSPF.
+ Type: Đây là trường 8 bit. Nó chỉ định loại gói OSPF.
+ Message: Nó là một trường 16 bit xác định tổng độ dài của thông báo, bao gồm cả header. Do đó, tổng độ dài bằng tổng độ dài của thông điệp và Header.
+ Source IP address: Nó xác định địa chỉ mà các gói được gửi đi. Nó là một địa chỉ IP định tuyến gửi.
+ Area identification: Nó xác định khu vực mà quá trình định tuyến diễn ra.
+ Checksum: Nó được sử dụng để sửa lỗi và phát hiện lỗi.
+ Authentication type: Có hai loại xác thực, tức là 0 và 1. Ở đây, 0 có nghĩa là không có nghĩa là không có xác thực nào khả dụng và 1 có nghĩa là chỉ định xác thực dựa trên mật khẩu.
+ Authentication: Nó là một trường 32 bit chứa giá trị thực của dữ liệu xác thực.
Những trạng thái của OSPF
Thiết bị chạy giao thức OSPF trải qua các trạng thái sau:
Những trạng thái của OSPF
+ Down: Nếu thiết bị ở trạng thái ngừng hoạt động, nó chưa nhận được gói HELLO. Down không có nghĩa là thiết bị bị ngừng hoạt động, nó có nghĩa là quá trình OSPF vẫn chưa được bắt đầu.
+ Init: Nếu thiết bị ở trạng thái init, điều đó có nghĩa là thiết bị đã nhận được gói HELLO từ bộ định tuyến khác.
+ 2WAY: Nếu thiết bị ở trạng thái 2WAY, có nghĩa là cả hai bộ định tuyến đã nhận được gói HELLO từ bộ định tuyến khác và kết nối được thiết lập giữa các bộ định tuyến.
+ Exstart: Khi quá trình trao đổi giữa các bộ định tuyến bắt đầu, cả hai bộ định tuyến sẽ chuyển sang trạng thái Khởi động. Ở trạng thái này, chủ và khách được chọn dựa trên ID của bộ định tuyến. Master kiểm soát chuỗi số và bắt đầu quá trình trao đổi.
+ Exchange: Trong trạng thái trao đổi, cả hai bộ định tuyến gửi danh sách các LSA cho nhau có chứa mô tả cơ sở dữ liệu.
+ Loading: Ở trạng thái tải, LSR, LSU và LSA được trao đổi.
+ Full: Sau khi hoàn tất việc trao đổi LSA, các bộ định tuyến sẽ chuyển sang trạng thái đầy đủ.
Cấu hình định tuyến OSPF
Để thực hiện chạy OSPF trên các router, bạn cần dùng câu lệnh sau:
Router (config) # router ospf process-id
Router (config-router) # network dia_chi_IP wildcard_mask area area_id
Trong đó, Process – id chính là số hiệu của tiến trình OSPF chạy trên router, chỉ có ý nghĩa local trên router.
Một cổng tham gia OSPF bằng cách “nối mạng” địa chỉ mạng của cổng. OSPF yêu cầu sử dụng một mặt nạ ký tự đại diện bổ sung để có được mạng con chính xác tham gia vào quá trình định tuyến.
Cấu hình định tuyến OSPF
Để tính được giá trị wildcard mask, bạn cần lấy giá trị 255.255.255.255 trừ đi giá trị subnet – mask 255.255.255.0 từng octet một sẽ được kết quả cần tìm. Tuy nhiên, phép tính này chỉ đúng với các dải IP liền kề nhau và không đúng trong mọi trường hợp.
Cấu hình OSPF của router như sau:
Cấu hình router R1: sử dụng OSPF
R1(config)#router ospf 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
R1(config-router)#network 192.168.3.0 0.0.0.255 area 0
Cấu hình router R12: sử dụng OSPF
R2(config)#router ospf 1
R2(config-router)#network 192.168.2.0 0.0.0.255 area 0
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0
Lời kết
Như vậy, qua bài viết trên của BKNS, chắc hẳn bạn đã hiểu được giao thức OSPF là gì và cách thức hoạt động của nó. Hy vọng bài viết này mang lại nhiều thông tin hữu ích cho bạn, chúc bạn thành công!
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến:
>> IPv4 và IPv6 – Khái Niệm Và So Sánh Hai Giao Thức Mạng
>>Socket là gì? Khái niệm cần biết về giao thức TCP/IP và UDP
>> SSH và TELNET – Sự khác biệt giữa 2 giao thức mạng
Theo dõi BKNS thường xuyên hơn tại các nền tảng mạng xã hội:
>> Fanpage: https://www.facebook.com/bkns.vn
>> Youtube: https://www.youtube.com/c/BknsVn1
>> Pinterest: https://www.pinterest.com/bknsvn/
>> LinkedIn: https://www.linkedin.com/company/bkns-vn/
[mautic type=”form” id=”6″]