I. Khái quát về giao thức OSPF (OSPF overview )
2. Các trạng thái của OSPF
2.1 Tổng quan
Giao thức OSPF là giao thức kiểu trạng thái liên kết có sự thiết lập quan hệ láng giềng và chia sẻ thông tin thông qua nhiều loại gói tin, không giống như giao thức kiểu vector khoảng cách sẽ quảng bá toàn bộ
bảng định tuyến của mình cho các router lân cận. Trong OSPF sử dụng 5 loại bản tin khác nhau để trao đổi tin tức với các router láng giềng.
Đặc điểm chung củabản tin OSPF là có phần Header như sau:
Hình 3-2: Header của thông báo OSPF gồm 24 octets cố định
Trong đó trường Type xác định loại bản tin sử dụng: Type Meaning
1 Hello (used to test reachability) 2 Database description (topology) 3 Link status request
4 Link status update
5 Link status acknowledgement
Bảng 1: Các loại bản tin sử dụng trong OSPF.
Trong mỗi trạng thái sẽ có các loại bản tin cụ thể được sử dụng. Để router chạy OSPF có thể trở thành hàng xóm của nhau, chúng phải trải qua 7 trạng thái thiết lập quan hệ láng giềng. Chi tiết về các trạng thái sẽ được trình bày trong phần tiếp theo.
2.2. Các trạng thái để thiết lập láng giềng
Như đã trình bày ở trên để 2 router có thể thiết lập quan hệ láng giềng chúng phải trải qua 7 trạng thái. Bao gồm:
Trạng thái Down: Trong trạng thái này tiến trình OSPF không trao đổi thông tin với bất kì hàng xóm nào, mà các Router OSPF sẽ đợi vào trạng thái tiếp theo, là trạng thái Init.
Trạng thái Init: Các Router OSPF gửi đi các gói tin Hello ( gói tin Hello ta sẽ nói rõ trong phần sau ) trong khoảng thời gian định kì ( 10s đối với mạng Ethernet, và 30s đối với mạng có tốc độ đường truyền < T1 ) để thiết lập mối quan hệ với các Router hàng xóm. Khi một giao diện nhận được một gói tin Hello đầu tiên, Router vào trạng thái Init State. Điều này có nghĩa là Router biết một hàng xóm và đang đợi một trả lời để thiết lập mối quan hệ trong bước tiếp theo. Để 2 Router OSPF có thể thiết lập quan hệ hàng xóm thì điều đầu tiên là chúng phải trao đổi các gói tin Hello với nhau, nếu Router OSPF mà không nhận được gói tin Hello thì chúng không thể thiết lập quan hệ láng giềng với bất kì Router nào khác.
Trạng thái Two – way: Sử dụng các gói tin Hello, mọi Router OSPF cố gắng thiết lập một trạng thái 2 chiều hay kết nối song phương với mỗi Router hàng xóm trong cùng mạng IP. Một Router chỉ ở vào trạng thái Two-Way khi nó nhìn thấy bản thân nó trong gói tin Hello của hàng xóm. Trạng thái 2 chiều này là quan hệ cơ bản nhất mà các Router OSPF cần có, nhưng thông tin định tuyến không trao đổi qua quan hệ này mà trao đổi giữa các Router lân cận nhau.
Ví dụ 2 Router : RTA, RTB muốn trở thành quan hệ 2 chiều, RTB phải thấy bản thân nó trong bản tin Hello của RTA:
Ngoài ra trong trạng thái này các Router cũng phải xác định DR, và BDR. Cụ thể vê quá trình thiết lập DR, và BDR sẽ được trình bày trong phần tiếp theo.
Các Router muốn trở thành lân cận với các Router khác thì chúng phải qua các trạng thái tiếp theo, và chỉ khi trở thành lân cận của nhau thì chúng mới trao đổi các gói tin DBD. Bước đầu tiên để 2 Router có thể trao đổi cơ sở dữ liệu là ExStart State.
Trạng thái ExStart: Khi một Router và hàng xóm của nó vào trạng thái này sự giao tiếp của chúng được mô tả như một lân cận nhưng chưa phải là lân cận đầy đủ. Exstart State sử dụng các gói tin DDP để trao đổi cơ sở dữ liệu. Ngoài ra hai Router hàng xóm sử dụng gói tin Hello thương lượng với nhau quan hệ chủ / tớ dựa trên địa chỉ IP cao nhất. Điều này chỉ xác định Router nào bắt đầu giao tiếp trước trong trạng thái trao đổi. Khi mà 2 Router đã xác định xong chủ / tớ thì chúng sẽ chuyển vào trạng thái Exchange và bắt đầu trao đổi thông tin định tuyến.
Trạng thái Exchange: Trong trạng thái này các Router hàng xóm sử dụng các gói DDP để gửi cho nhau về thông tin trạng thái liên kết của chúng, hay nói cách khác các Router diễn tả cho nhau các cơ sở dữ liệu của chúng. Nếu một trong các Router này nhận được thông tin về một liên kết không có trong cơ sở dữ liệu của nó, Router sẽ yêu cầu một cập nhật đầy đủ từ hàng xóm của nó. Thông tin định tuyến đầy đủ được trao đổi trong trạng thái Loading State.
Trạng thái Loading: Sau khi cơ sở dữ liệu được vạch ra cho mỗi Router, chúng có thể yêu cầu thông tin đầy đủ hơn bằng việc sử dụng các gói tin loại 3, Link – State Request ( LSR). Khi một Router nhận được một gói LSR, nó gửi một cập nhật đáp ứng lại, và sử dụng gói tin loại 4, Link – State Update ( LSU ). Thực tế gói LSU chứa gói tin LSA, là phần cốt lõi của giao thức định tuyến theo kiểu Link – State. Ngoài ra gói tin loại 4 cũng có gói tin đáp lại là gói tin loại 5 Link – State Ackowledgments ( LSAcks ).
Trạng thái Full Adjacency: Kết thúc trạng thái Loading State các Router là các lân cận đầy đủ. Lúc này mỗi Router giữ một danh sách các hàng xóm lân cận, được gọi là cơ sở dữ liệu về các lân cận ( adjacency database ) hay bảng các hàng xóm ( neighbor table ).
Hình 3-3: Các trạng thái phải trải qua để trao đổi tin trong OSPF.