OSPF thiết lập quan hệ liền kề adjacency giữa các router láng giềng nhằm mục đích trao đổi các thông tin định tuyến. Trong môi trường broadcast, không phải router nào cũng có khả năng thiết lập quan hệ adjacency với tất cả các router khác. Packet hello chịu trách nhiệm thiết lập và duy trì mối quan hệ này.
Đầu tiên router OSPF sẽ gửi packet hello đến địa chỉ multicast 224.0.0.5. Packet này sẽ định kỳ gửi đến tất cả các interface có hỗ trợ OSPF với khoảng thời gian gửi tuỳ thuộc vào từng loại interface. Trong môi trường broadcast như Ethernet hay point-to-point, thời gian này là 10 giây. Trong môi trường non-broadcast như Frame relay hay ATM, khoảng thời gian này là 30 giây.
Packet hello sẽ định kỳ gửi đi đến tất cả các interface OSPF của router. Khi router phát hiện thấy có router láng giềng nhờ vào packet hello nhận được, truyền thông hai chiều sẽ được thiết lập. Trong môi trường broadcast và NBMA, packet hello còn được sử dụng để chọn ra các router chỉ định DR / BDR.
Sau khi thiết lập được truyền thông hai chiều, route sẽ thiết lập quan hệ liền kề adjacency, việc ra quyết định thiết lập quan hệ adjacency dựa trên trạng thái của router láng giềng và kiểu mạng.
Nếu kiểu mạng là broadcast hay non-broadcast thì quan hệ adjacency sẽ được thiết lập giữa các router chỉ định DR / DBR. Các trường hợp còn lại, quan hệ adjacency sẽ được thiết lập giữa các router láng giềng.
Để thiết lập quan hệ adjacency, đầu tiên router sẽ tiến hành đồng bộ hoá cơ sở dữ liệu bằng cách gửi các packet DBD mô tả cơ sở dữ liệu cho nhau. Tiến trình này gọi là tiến trình trao đổi cơ sở dữ liệu database exchange process. Khi đó, 2 router sẽ thiết lập quan hệ master / slave. Mỗi packet mô tả cơ sở dữ liệu được gửi đi bởi master sẽ chứa số tuần tự đánh dấu packet. Slave sẽ báo nhận packet này bằng cách gửi packet chứa số tuần tự này để hồi đáp.
Các trạng thái của router sau khi thiết lập quan hệ liền kề adjacency:
• Down State: router không nhận được các thông tin về láng.
• Attemp State: trạng thái này chỉ tồn tại trong mạng NBMA. Ở trạng thái này, router sẽ không nhận được các thông tin từ láng giềng nhưng vẫn nỗ lực tạo ra quan hệ với láng giềng bằng cách định kỳ gửi các packet hello đến láng giềng.
• Init State: Tiến trình gửi các packet hello một chiều. Router gửi packet hello láng giềng, router láng giềng nhận được packet này nhưng không biết được tình trạng bản thân (router ID) nên được đặt ở trạng thái một chiều one-way-state.
• 2-way State: khi thiết lập quan hệ 2 chiều, router sẽ được đặt ở trạng thái 2-way, bắt đầu tiến trình thiết lập quan hệ liền kề adjacency, các router chỉ định DR / BDR sẽ được chọn.
• Exstart State: Trạng thái này là sự bắt đầu tiến trình đồng bộ hoá cơ sở dữ liệu. Master và slave được chọn trong trạng thái này. Router 1 gửi packet DBD đầu tiên, router 2 cũng gửi packet DBD đầu tiên. Router 2 được chọn làm master vì có router ID cao hơn.
• Exchange State: Ở trạng thái này, router mô tả trạng thái cơ sở dữ liệu link-state thông qua packet DBD. Mỗi packet DBD được đánh số tuần tự để phân biệt. Tại mỗi thời điểm chỉ cho phép gửi đi một packet DBD. Packet Request cũng được gửi đi để yêu cầu cập nhật các gói tin LSA.
• Loading State: Ở trạng thái này, gói tin LS request được gửi đi để yêu cầu trạng thái mới nhất của LSA. Router 1 gửi gói tin LS request để nhận được trạng thái mới nhất của LSA.
• Full State: Sau khi nhận được gói tin LSA Update, cơ sở dữ liệu của 2 router đã đồng bộ hoá và router sẽ chuyển sang trạng thái Full.