Quá trình tràn lụt có thể gây xung đột. Một Router gửi một LSA tới tất cả các hàng xóm của nó. Các hàng xóm này lại gửi bản copy của LSA nhận được tới các hàng xóm của mình dẫn đến tạo ra nhiều bản copy của LSA trong mạng.
A B C D E D B C A (DR) Hình 3.2: Quá trình bầu cử DR
Để tránh các vấn đề trên, DR được bầu ra trong mạng đa truy nhập. DR có các nhiệm vụ sau:
• Mơ tả mạng đa truy nhập và các Router gắn vào mạng cho phần còn lại của liên mạng.
Mỗi Router trong mạng thiết lập kết nối lân cận với DR (hình 3.2). Chỉ có DR gửi các LSA tới phần cịn lại của liên mạng. Một Router có thể là DR đối với mạng này nhưng khơng là DR đối với mạng khác. Nói cách khác DR chỉ là một đặc tính của giao diện của Router, khơng phải tồn bộ Router.
Nếu DR bị hỏng, một DR mới phải được bầu ra. Các kết nối lân cận mới phải được thiết lập, các Router phải đồng bộ cơ sở dữ liệu của chúng với DR mới. Trong khi các quá trình này diễn ra, mạng sẽ khơng khả dụng để truyền gói.
Để tránh vấn đề này, BDR được bầu cử. Tất cả các Router thiết lập kết nối lân cận với cả DR và BDR. DR và BDR cũng có thể thiết lập kết nối lân cận với nhau. Nếu DR hỏng, BDR sẽ trở thành DR mới.
Chú ý: Độ ưu tiên có thể ảnh hưởng đến q trình bầu cử DR và BDR nhưng
không ảnh hưởng đến các DR và BDR đã được bầu cử. Nếu có một Router có độ ưu tiên cao hơn các DR và BDR đã được kích hoạt, nó cũng khơng thể thay thế các DR và BDR này.
3.3 Khn dạng gói tin OSPF
Tiêu đề IP Gói OSPF
Tiêu đề gói
OSPF Dữ liệu gói OSPF
Dữ liệu nhận dạng gói OSPF Dữ liệu LSA LSA Tiêu đề LSA LSA LSA LSA Hình 3.3: Q trình đóng gói OSPF
Thơng tin chứa trong tiêu đề IP chỉ ra một trong năm loại gói OSPF. Mỗi góí OSPF gồm tiêu đề theo sau là trường dữ liệu tương ứng với loại gói. Trong trường dữ liệu gồm một trường thơng tin nhận dạng loại gói và trường dữ liệu. Trường dữ liệu trong gói Hello là một danh sách các hàng xóm. Trong gói yêu cầu trạng thái liên kết, trường dữ liệu gồm nhiều LSA.
Các LSA này cũng gồm hai phần là tiêu đề LSA và dữ liệu LSA. Các gói mơ tả trạng thái liên kết và xác nhận trạng thái liên kết chứa danh sách các tiêu đề LSA.
3.4 Hàng xóm OSPF
3.4.1 Cấu trúc dữ liệu hàng xóm
Các thành phần của cấu trúc dữ liệu hàng xóm là:
Định danh hàng xóm: là định danh Router của hàng xóm.
Địa chỉ IP của hàng xóm: là địa chỉ IP của giao diện nối tới mạng của hàng
xóm. Khi một gói OSPF được truyền unicast tới hàng xóm, địa chỉ này sẽ là địa chỉ đích.
Định danh vùng: Để hai Router trở thành các hàng xóm của nhau, định danh
vùng trong gói Hello nhận được phải phù hợp với định danh vùng của giao diện nhận.
Giao diện: là giao diện gắn vào mạng chứa hàng xóm.
Độ ưu tiên của hàng xóm : là độ ưu tiên Router của hàng xóm được chỉ ra
trong gói Hello.
Trạng thái: là trạng thái chức năng của hàng xóm sẽ được trình bày ở phần sau. Chu kì thăm dị: Giá trị này chỉ sử dụng đối với các hàng xóm trong mạng
NBMA. Vì các hàng xóm khơng thể được tự động khám phá trong mạng NBMA nếu các hàng xóm này ở trạng thái hủy, do vậy gói Hello sẽ được gửi tới các hàng xóm sau mỗi khoảng thời gian nhất định. Khoảng thời gian này gọi là chu kì thăm dị.
Thành phần hàng xóm: là các khả năng OSPF tuỳ chọn được hỗ trợ bởi hàng
xóm. Các tuỳ chọn này được trình bày ở phần sau.
Định thời ngưng hoạt động: là chu kỳ định thời hay chu kì ngắt router. Việc
định thời được thiết lập lại khi nhận được gói Hello từ hàng xóm. Nếu việc định thời ngưng hoạt động hết hiệu lực mà chưa nhận được gói Hello, hàng xóm sẽ được khai báo là hủy.
Router chỉ định: Địa chỉ này chứa trong trường DR của gói Hello.
Router chỉ định dự phịng: Địa chỉ này chứa trong trường BDR của gói Hello. Chủ/tớ: Quan hệ chủ-tớ (được thoả thuận trong trạng thái Exstart) thiết lập
hàng xóm nào sẽ điều khiển việc đồng bộ cơ sở dữ liệu.
Số thứ tự DD: là số trình tự của gói mơ tả cơ sở dữ liệu (DD - Database
Description) đang được gửi tới hàng xóm.
Gói mơ tả cơ sở dữ liệu nhận được cuối cùng: Các bít khởi đầu, chủ, các
thành phần và số thứ tự của gói DD nhận được cuối cùng được ghi trong cơ sở dữ liệu hàng xóm. Thơng tin này dùng để xác định xem gói DD tiếp theo có phải là bản sao của gói trước.
Danh sách truyền lại trạng thái liên kết: là danh sách các LSA đã được tràn lụt
trên kết nối lân cận nhưng chưa được công nhận. Các LSA sẽ được truyền lại sau khoảng thời gian RxmtInterval cho đến khi chúng được công nhận hoặc kết nối lân cận bị phá vỡ.
Danh sách đồng bộ cơ sở dữ liệu: Là danh sách các LSA được gửi tới hàng
xóm trong gói DD trong q trình đồng bộ cơ sở dữ liệu. Các LSA tạo nên cơ sở dữ liệu trạng thái liên kết khi Router chuyển sang trạng thái chuyển đổi.
Danh sách yêu cầu trạng thái liên kết: Là danh sách các LSA trong cá gói DD
của hàng xóm “mới” hơn các LSA trong cơ sở dữ liệu trạng thái liên kết. Các gói yêu cầu trạng thái liên kết được gửi tới hàng xóm yêu cầu các bản sao của các LSA này. Khi nhận được các LSA yêu cầu trong các gói cập nhật trạng thái liên kết, danh sách yêu cầu trạng thái liên kết sẽ được rút dần cho đến hết.
3.4.2 Các trạng thái hàng xóm
Một Router sẽ chuyển hàng xóm qua một số trạng thái trước khi hàng xóm được coi là kết nối lân cận hồn thiện. Các trạng thái đó bao gồm: hủy, thử, khởi tạo, kết nối 2 chiều, Exstart, xchange, tải về, và hoàn thiện.
Hủy: là trạng thái đầu tiên của hàng xóm khi cuộc hội thoại (giữa Router và
hàng xóm) chỉ ra rằng khơng có gói Hello nào được gửi từ hàng xóm trong chu kì ngắt router cuối cùng. Các gói Hello khơng được gửi tới hàng xóm bị hủy trừ trường hợp các hàng xóm này thuộc mạng NBMA. Trong trường hợp này, các gói Hello được gửi theo chu kỳ chu kì thăm dị. Nếu hàng xóm chuyển xuống trạng thái hủy từ trạng thái cao hơn thì danh sách truyền lại trạng thái liên kết, mô tả cơ sở dữ liệu, và yêu cầu trạng thái liên kết bị xoá bỏ.
Thử: Trạng thái này chỉ ứng dụng cho các hàng xóm trong mạng NBMA, ở đây
các hàng xóm được cấu hình bằng tay. Một Router (đủ khả năng để trở thành DR) sẽ chuyển một hàng xóm sang trạng thái thử khi giao diện nối tới hàng xóm được kích hoạt đầu tiên hoặc khi Router là DR hoặc BDR. Một Router sẽ gửi các gói tới một hàng xóm ở trạng thái thử theo chu kỳ gửi gói Hello thay vì chu kì thăm dị.
Khởi tạo: Trạng thái này chỉ ra rằng đã nhận được gói Hello từ hàng xóm trong
chu kì ngắt router cuối cùng nhưng kết nối hai chiều chưa được thiết lập. Router sẽ chứa định danh Router của tất cả các hàng xóm ở trạng thái này hoặc trạng thái cao hơn trong trường hàng xóm của gói Hello.
ExStart: Ở trạng thái này, Router và các hàng xóm của nó thiết lập quan hệ
chủ/tớ và xác định số trình tự DD đầu tiên để chuẩn bị cho việc trao đổi các gói DD. hàng xóm có địa chỉ giao diện cao nhất sẽ là chủ.
Thay đổi: Router gửi các gói DD mơ tả tồn bộ cơ sở dữ liệu trạng thái liên kết
của nó tới các hàng xóm đang ở trạng thái thay đổi. Router cũng gửi các gói yêu cầu trạng thái liên kết tới các hàng xóm ở trạng thái này để yêu cầu gửi các LSA mới nhất.
Kết nối 2 chiều (2-Way): Trạng thái này chỉ ra rằng Router đã “nhìn thấy“ định
danh router của nó trong trường hàng xóm của gói Hello mà hàng xóm gửi tới. Điều này có nghĩa là kết nối hai chiều đã được thiết lập. Trong mạng đa truy nhập, hàng xóm phải ở trạng thái này hoặc cao hơn để có thể được chọn là DR hoặc BDR. Việc nhận một gói DD từ một hàng xóm ở trạng thái khởi tạo sẽ chuyển hàng xóm này sang trạng thái kết nối 2 chiều.
Hủy
Thử Khởi tạo
DP1
2-Way Exstart Thay đổi DP1
Tải về Hoàn thiện IE1 IE2 IE4 IE4 IE7 IE5 IE6 IE2 IE2 IE2 IE2 IE2 IE2
IE8 IE9 IE12
IE11
IE10
Hình 3.4: Quá trình chuyển đổi trạng thái từ hủy sang hồn thiện
Tải về: Router sẽ gửi các gói yêu cầu trạng thái liên kết tới các hàng xóm ở
trạng thái này để yêu cầu gửi các LSA mới hơn đã được chỉ ra ở trạng thái thay đổi nhưng chưa nhận được.
Hồn thiện: hàng xóm ở trạng thái này là liên kết lân cận hoàn toàn và các kết
nối lân cận sẽ xuất hiện trong các gói quảng bá trạng thái liên kết router và mạng.
Bảng 5: Các biến cố của hàng xóm
IE1 IE2 IE3 IE4 IE5 IE6 IE7 IE8 IE9 IE10 IE11 IE12 IE13 IE14
Chỉ xảy ra đối với các hàng xóm kết nối với mạng NBMA. IE1 xảy ra bởi một trong các điều kiện sau:
1. Giao diện nối tới mạng NBMA được kích hoạt đầu tiên, và hàng xóm đủ điều kiện tham gia bầu cử DR.
2. Router là DR hoặc BDR, và hàng xóm khơng đủ điều kiện tham gia bầu cử để trở thành DR.
Một gói Hello hợp lệ được nhận từ hàng xóm. hàng xóm khơng thể liên lạc được nữa.
Router nhận nhìn thấy định danh router của nó đầu tiên trong gói Gói Hello của hàng xóm hoặc nhận được gói DD từ hàng xóm. Hàng xóm khơng thể thiết lập kết nối lân cận.
Xảy ra bởi một trong các điều kiện sau:
1. Trạng thái hàng xóm chuyển trước tiên sang trạng thái 2-way. 2. Trạng thái giao diện thay đổi.
Kết nối lân cận sẽ được hình thành với hàng xóm này.
Quan hệ chủ tớ được thiết lập và số trình tự DD được trao đổi. Việc trao đổi các gói DD được hồn thành.
Các khoản mục còn tồn tại trong danh sách yêu cầu trạng thái liên kết. Danh sách yêu cầu trạng thái liên kết rỗng.
Kết nối lân cận sẽ được phá vỡ và được reset lại. IE12 xảy ra bởi một trong các điều kiện sau:
1. Nhận được gói DD có số trình tự DD khơng đúng.
2. Nhận được gói DD có trường Option khác với trường Option của gói DD cuối cùng.
3. Nhận được gói DD khác ngồi gói đầu tiên có bit khởi tạo được lập.
4. Nhận được gói yêu cầu một LSA khơng có trong cơ sở dữ liệu. Nhận được một gói Hello từ hàng xóm trong đó định danh router của Router nhận khơng có trong trường hàng xóm xảy ra khi trạng thái
IE15
IE16
giao diện thay đổi.
Kết nối lân cận với hàng xóm này sẽ tiếp tục tồn tại hay tiếp tục hình thành.
Kết nối lân cận với hàng xóm này sẽ khơng tiếp tục tồn tại hay khơng tiếp tục hình thành. Bảng 6: Các quyết định của hàng xóm Quyết định Ý nghĩa DP1 DP2 DP3
Một kết nối lân cận sẽ được thiết lập với hàng xóm hay khơng? Một kết nối lân cận sẽ được hình thành nếu một trong các điều kiện sau xảy ra:
1. Loại mạng là điểm - điểm. 2. Loại mạng là điểm - đa điểm. 3. Loại mạng là liên kết ảo.
4. Router là DR trong mạng của hàng xóm. 5. Router là BDR trong mạng của hàng xóm. 6. hàng xóm là DR.
7. hàng xóm là BDR.
Danh sách yêu cầu trạng thái liên kết đối với hàng xóm này có rỗng khơng?
Kết nối lân cận với hàng xóm có tiếp tục tồn tại hay khơng?
3.5 Thiết lập kết nối lân cận
Các hàng xóm trong các mạng điểm - điểm, điểm - đa điểm, và liên kết ảo luôn thiết lập kết nối lân cận với nhau trừ khi các tham số trong các gói Hello của chúng không phù hợp.
Trong các mạng quảng bá và NBMA, DR và BDR sẽ thiết lập kết nối lân cận với tất cả các hàng xóm cịn các DRother sẽ khơng thiết lập kết nối lân cận với các DRother khác.
Quá trình xây dựng kết nối lân cận sử dụng ba loại gói OSPF sau:
1. Gói mơ tả cơ sở dữ liệu DD.
3. Gói cập nhật trạng thái liên kết.
Gói DD đặc biệt quan trọng trong quá trình xây dựng kết nối lân cận. Các gói DD sẽ chứa tiêu đề của các LSA trong cơ sở dữ liệu trạng thái liên kết của Router gốc. Router nhận sẽ nhận các gói DD và kiểm tra các tiêu đề này để quyết định xem liệu nó đã có bản copy mới nhất của LSA trong cơ sở dữ liệu của nó. Ngồi ra gói DD cịn chứa ba cờ được sử dụng để quản lí q trình xây dựng kết nối lân cận. Ba cờ đó là:
1. Bit khởi tạo (I): I = 1 chỉ ra rằng gói DD đầu tiên gửi.
2. Bit khác (M): M = 1 chỉ ra rằng đây khơng phải gói DD cuối cùng được gửi.
3. Bit chủ/tớ (MS): MS = 1 chỉ ra rằng gói DD được gửi từ Router là Master. Khi cuộc đàm phán chủ/tớ bắt đầu ở trạng thái Exstart, cả hai hàng xóm sẽ cùng yêu cầu trở thành chủ bằng cách gửi một gói DD rỗng với bit MS = 1. hàng xóm có định danh router thấp hơn sẽ là tớ và truyền trở lại gói DD có MS = 0 và số trình tự DD được lập theo số trình tự của chủ. Gói DD này sẽ là gói DD đầu tiên chứa các bản tóm tắt LSA. Khi cuộc đàm phán chủ/tớ hồn thành, hàng xóm sẽ chuyển sang trạng thái thay đổi.
Ở trạng thái thay đổi, các hàng xóm sẽ tiến hành đồng bộ cơ sở dữ liệu của chúng. Danh sách tóm tắt cơ sở dữ liệu được ghi cùng với các tiêu đề của tất cả các LSA trong cơ sở dữ liệu của Router. Các gói DD chứa danh sách các tiêu đề của các LSA được gửi tới hàng xóm.
Nếu một Router thấy rằng hàng xóm của nó có một LSA khơng có trong cơ sở dữ liệu của nó, hoặc hàng xóm có bản copy của một LSA (đã biết) mới hơn, nó đặt LSA này vào danh sách yêu cầu trạng thái liên kết. Sau đó nó gửi gói yêu cầu trạng thái liên kết để yêu cầu bản sao của LSA này. Các gói cập nhật trạng thái liên kết vận chuyển các LSA được yêu cầu. Khi nhận được các LSA yêu cầu, Router sẽ xoá tiêu đề của các LSA nhận được khỏi danh sách yêu cầu trạng thái liên kết.
Tất cả các LSA gửi đi trong gói cập nhật trạng thái liên kết phải được xác nhận. Do vậy, các LSA đã được truyền được ghi vào danh sách truyền lại trạng thái liên kết. Khi một LSA được xác nhận, nó sẽ được xố khỏi danh sách này. LSA có thể được xác nhận theo hai cách:
- Xác nhận rõ ràng: Khi nhận được gói xác nhận trạng thái liên kết chứa tiêu đề LSA.
- Xác nhận ngầm: Khi nhận được gói cập nhật trạng thái liên kết chứa phiên bản LSA giống với phiên bản đã gửi. (Cả hai LSA đều mới hơn các LSA khác).
Router chủ điều khiển quá trình đồng bộ và đảm bảo chỉ có gói DD được truyền đi vào thời điểm đó. Khi router tớ nhận một gói DD từ router chủ, nó sẽ xác nhận việc này bằng cách gửi một gói DD có cùng số trình tự tới router chủ. Nếu router chủ khơng nhận được xác nhận của gói này trong khoảng thời gian RxmtInterval, nó sẽ gửi tiếp bản sao của gói đó đến router tớ.