Thiết lập mối quan hệ thân mật (Adjacency) của các Neighbor

Một phần của tài liệu Nghiên cứu giao thức định tuyến OSPF và ứng dụng trong mạng doanh nghiệp (Trang 39)

b. Giao thức thông tin định tuyến phiên bản RIPv2

3.6.4Thiết lập mối quan hệ thân mật (Adjacency) của các Neighbor

Các Neighbor trong các mạng Point to Point, Point to Multipoint, và liên kết ảo luôn thiết lập Adjacency với nhau trừ phi 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 Adjacency với tất cả các Neighbor còn các Drother sẽ không thiết lập Adjacency với các Drother khác.

Quá trình xây dựng Adjacency sử dụng ba loại gói OSPF sau: 1. Gói mô tả cơ sở dữ liệu DD (loại 2).

2. Gói yêu cầu trạng thái liên kết (loại 3). 3. Gói cập nhật trạng thái liên kết loại 4).

Gói DD đặc biệt quan trọng trong quá trình xây dựng Adjacency. Các gói DD chứa Header 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 Header 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ó. Ngoài ra gói DD còn chứa ba cờ được sử dụng để quản lý quá trình xây dựng Adjacency. Ba cờ đó là:

1. Bit I (Initial bit): I=1 chỉ ra rằng gói DD đầu tiên gửi.

2. Bit M (More bit): M=1 chỉ ra rằng đây không phải gói DD cuối cùng được gửi. 3. Bit MS (Master/ Slave bit):MS =1 chỉ ra rằng gói DD được gửi từ Router là

Master.

Khi cuộc đàm phán MasterSlave bắt đầu ở trạng thái Exstart, cả hai Neighbor sẽ cùng yêu cầu trở thành Master bằng cách gửi một gói DD rỗng với bit MS = 1. Neighbor có Routrer ID thấp hơn sẽ là Slave 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 Master. 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 Master/ Slave hoàn thành, trạng thái Neighbor sẽ chuyển sang Exchange.

Ở trạng thái Exchange, các Neighbor 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 Header 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 Header của các LSA được gửi tới Neighbor.

Nếu một Router thấy rằng Neighbor của nó có một LSA không có trong cơ sở dữ liệu của nó, hoặc thấy rằng Neighbor 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 yêu cầu trạng thái liên kết để yêu của bản copy 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ẽ xóa Header 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óa khỏi danh sách này. LSA có thể được xác nhận theo hai cách:

• Xác định rõ ràng: Khi nhận được gói xác nhận trạng thái liên kết chứa LSA Header.

• 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).

Master điều khiển quá trình đồng bộ và đảm bảm chỉ có gói DD được truyền đi vào thời điểm đó. Khi Slave nhận một gói DD từ Master, Slave xác nhận này bằng cách gửi một gói DD có cùng số trình tự tới Master. Nếu Master không nhận được xác nhận của gói này trong khoảng thời gian RxInterval, nó sẽ gửi tiếp bản copy của gói đó đến Slave. Slave gửi các gói DD chỉ để đáp lại các gói DD mà nó nhận từ Master. Nếu gói DD nhận được có số trình tự mới, Slave gửi gói DD có cùng số trình tự với gói này. Nếu số trình tự của gói nhận được giống với gói xác nhận trước đó, gói xác nhận được truyền lai.

Khi quá trình đồng bộ hoàn tất, một trong hai sự chuyển đổi trạng thái sau sẽ diễn ra:

• Nếu vẫn còn các mục trong danh sách yêu cầu tạng thái liên kết, Router sẽ chuyển trạng thía của Neighbor sang trạng thía Loading.

• Nếu danh sách yêu cầu trạng thái là rỗng, Router sẽ chuyển trạng thái của Neighbor sang trạng thái Full.

Master biết rằng quá trình đồng bộ đã hoàn tất khi nó gửi tất cả các gói DD cần thiết để diễn tả đầy đủ cơ sở dữ liệu trạng thái liên kết của nó tới Slave và nhận được gói DD với bit M=0. Slave biết rằng quá trình đồng bộ đã hoàn tất khi nó nhận được gói DD có bit M =0 và gửi gói DD xác nhận có bit M = 0.

Hình dưới đây chỉ ra vi dụ về một trình đồng bộ cơ sở dữ liệu cùng với sự chuyển đổi cơ sở dữ liệu cùng với sự chuyển đổi trạng thái Neighbor.

Hình 3.4 Ví dụ một quá trình đồng bộ cơ sở dữ liệu

Quá trình đồng bộ cơ sở dữ liệu ở hình trên gồm các bước sau:

1. RT1 được kích hoạt trong mạng đa truy nhập và gửi một gói Hello. Do nó chưa biết được về một Neighbor nào, nên trường Neighbor của gói là rỗng, trường DR và BDR được lập bằng 0.0.0.0.

2. RT2 nhận được gói Hello từ RT1, nó tạo ra một cấu trúc dữ liệu Neighbor cho RTT1 và chuyển trạng thái của RT1 thành Init. RT2 gửi một gói Hello chứa Router ID của RT1 trong trướng Neighbor và địa chỉ giao diện của nó chứa trong trường DR.

3. Khi nhận được gói tin Hello từ RT2, RT1 sẽ biết được Router ID của mình. RT1 tạo một cấu trúc dữ liệu Neighbor cho RT2 và chuyển trạng thái của RT2 sang trạng thái Exstart để chuẩn bị cho việc đàm phán Master/ Slave.Sau đó nó tạo ra một gói DD rỗng (không chứa các Header của các LSA ) có số trình tự là x, bit I =1 (chỉ ra răng đây không phải là gói DD đầu tiên của RT1), bit M=1 (chỉ ra rằng đây không phải là gói DD cuối cùng), bit MS=1 (chỉ ra rằng RT1 muốn làm Master).

4. RT2 chuyển trạng thái của RT1 sang trạng thái Exstart trong lúc nhận gói DD. Sau đó nó gửi một gói DD phản hồi có số trình tự là y. RT2 có Router ID cao hơn RT1 nên nó đặt bit MS=1. Do gói DD này dùng cho quá trình đàm phán Master/Slave nên nó cũng rỗng như gói đầu tiên.

5. RT1 chấp nhận RT2 làm Master và chuyển trạng thái của RT2 sang Exchange. RT1 tạo một gói DD có số trình tự là y, bit MS= 0 (chỉ ra rằng nó là Slave). Gói này sẽ chứa các LSA Header từ danh sách tóm tắt trạng thái liên kết của RT1. 6. RT2 chuyển trạng thái của RT1 sang trạng thái Exchange trong khi nhận gói DD

của RT1. Nó gửi một gói DD chứa các LSA Header từ danh sách tóm tắt trạng thái liên kết của nó và tăng số trình tự DD lên y+1.

7. RT1 gửi một gọi xác nhận với số trình tự là y+1 tới RT2. Qúa trình tiếp tục như vậy. Khi RT2 gửi gói DD với các LSA Header cuối cùng trong danh sách tóm tắt trạng thái liên kết của nó, nó đặt bit M = 0.

8. RT1 nhận được gói cuối cùng này và biết rằng quá trình Exchange đã hoàn tất. Khi này nó đã có các khoản mục cần thiết trong danh sách yêu cầu trạng thái liên kết của nó. Nó chuyển RT2 sang trạng thái Loading và gửi gói xác nhận chứa các LSA Header cuối cùng của nó.

9. Khi nhận được gói DD cuối cùng này của RT1, RT2 chuyển trạng thái của RT1 sang Full vì nó nó không còn khoản mục nào trong danh sách yêu cầu trạng thái liên kết. (adsbygoogle = window.adsbygoogle || []).push({});

10. RT1 gửi các yêu cầu trạng thái liên kết và RT2 gửi các gói cập nhật trạng thái liên kết có chứa các LSA yêu cầu cho đến khi danh sách yêu cầu trạng thái liên kết của RT1 rỗng. Sau đó RT1 sẽ chuyển trạng thái của RT2 sang Full.

3.7 Vùng (Area)

3.7.1 Đinh nghĩa Area

Trong một mạng cỡ lớn với nhiều Router và chạy giao thức định tuyến OSPF do đó người thiết kết mạng chia ra thành các vùng khác nhau gọi là Area

3.7.2 Lợi ích khi sử dụng Area

Lợi ích của sử dụng Area: OSPF sử dụng các Area để giảm các ảnh hưởng bất lợi trên. OSPF định nghĩa Area là một nhóm logic các Router và liên kết giúp phân chia hiệu quả một miền OSPF thành các miền con. Các Router trong một Area sẽ không biết chi tiết cấu hình bên ngoài Area của nó. Do vây:

• Một Router sẽ chỉ phải chia sẻ cơ sở dữ liệu trạng thái liên kết với các Router khác trong Area của nó. Việc giảm kích thước của cơ sở dữ liệu sẽ làm giàm sự va chạm trong bộ nhớ của Router.

• Cơ sở dữ liệu nhỏ hơn dẫn đến các LSA phải xử lý và làm giảm sự va chạm trong CPU của Router.

• Các quá trình tràn lụt gói được giới hạn trong Area. 3.7.3 Các loại Area

Area ID: Area được nhận dạng bởi 32 bit Area ID. Area ID có thể được viết dưới dạng số thập phân hoặc số thập phân được ngăn cách bởi các dấu chấm (ví dụ như 0 và 0.0.0.0 là tương đương, hoặc 16 và 0.0.0.16; 271 và 0.0.1.15 là tương đương).

Backbone(Area 0): Area ID 0 được sử dụng cho mạng Backbone. Mạng Backbone là mạng chị trách nhiệm thông báo các thông tin về cấu hình tổng quát của mỗi Area cho các Area khác

3.7.4 Phân chia Area

Area có thể phân chia như sau:là Area trong một lỗi liên kết sẽ phân chia Area thành hai phần tách biệt. Nếu một Area (không phải là Backbone) bị phân chia, và tất cả Router ở hai bên phân chia vẫn có thể nhìn thấy ABR (hình 3.10) thì sẽ không có sự phá vỡ nào xảy ra. Backbone sẽ xem các Area phân chia như là hai Area tách biệt.

Khi Area Backbone được phân chia, nó sẽ tạo ra các Area tách biệt và tạo ra hai miền OSPF tách biệt nhau (hình 3.11).

3.7.5 Area sử dụng liên kết ảo3.7.5.1 Định nghĩa liên kết ảo 3.7.5.1 Định nghĩa liên kết ảo

Liên kết ảo là một liên kết nối tới Backbone thông qua một Area khác (không phải là Backbone). Liên kết ảo không gắn với một thiết bị vật lý nào. Nó là một đường hầm mà thông qua nó, các gói được định tuyến trên đường đi ngắn nhất từ nguồn đến đích.

3.7.5.2 Mục đích sử dụng liên kết ảo

Liên kết ảo sử dụng cho các mục đích như sau:

1. Liên kết mốt Area tới một Backbone thông qua một Area khác (không phải là Backbone) ( hình 3.12).

2. Kết nối hai phần của Backbone bị phân chia thông qua một Area (không phải là Backbone) ( hình 3.13).

Hình 3.7 Liên kết ảo nối Area 1 với Area 0 thông qua Area 12

3.7.6 Area cụt (Stub Area) 3.7.6.1 Khái niệm Area cụt

Stub Area là Area mà trong đó các gói AS External LSA và ASBR LSA không được tràn lụt vào. Các ABR gắn với Stub Area sẽ sử dụng các Network Summary LSA để quảng cáo một tuyến mặc định vào Stub Area. Các Router bên trong Area sẽ sử dụng tuyến định được quảng cáo bởi Network Summary LSA nên nó sẽ không được quảng cáo ngoài Area.

Hình 3.9 Có thể tiết kiệm được bộ nhớ và cải thiện hoạt động bằng cách cấu hình Area 2 là một Stub Area

3.7.6.2 Mục đích sử dụng Area cụt

Hoạt động của các Router trong Stub Area có thể được cải thiện và bảo tồn được bộ nhớ nhờ giảm kích thước cơ sở dữ liệu của chúng.

Ví dụ ở hình vẽ trên, không phải mọi Router đều cần biết tất cả các đích bên ngoài. Các Router trong Area 2 đều phải gửi các gói đến ABR để biết về ASBR bất kể đích đến bên ngoài là gì. Vì lí do này Area 2 được cấu hình như một Stub Area.

3.7.7 Area cụt hoàn toàn (Totally Stubby Area)

Area cụt hoàn toàn sử dụng các tuyến mặc định để định tuyến các đích bên ngoài đến không chỉ hệ thống độc lập mà còn đến Area. ABR của Area cụt hoàn toàn sẽ găn chặn

không chỉ các AS External LSA mà còn ngăn chặn tất cả các Summary LSA ngoại trừ các LSA loại 3 dùng để quảng cáo tuyến mặc định. (adsbygoogle = window.adsbygoogle || []).push({});

3.7.8 Not – so – Stubby Are(NSSA)

NSSA gần giống như một Stub Area (cũng không có LSA loại 5) nhưng có 1 router trong area đó cần redistribute route vào OSPF. Thông tin về các route này được chuyển trong các LSA loại 7, và được chuyển thành LSA loại 5 trên các ABRs để sang các area khác. Ở hình vẽ dưới ( hình 3.21), một Router gắn với một số mạng cụt được nối với mạng OSPF thông qua một Router thuộc Area 2. Router chỉ hỗ trợ RIP do đó Router trong Area 2 cũng phải chạy RIP và chia sẽ thông tin định tuyến về các mạng ngoài vào miền OSPF. Cấu hình này làm cho Area 2 có một Router là ASBR và do đó Area 2 không thể là Stub Area.

Router chạy RIP không cần biết về các tuyến bên trong miền OSPF mà nó chỉ cần biết về tuyến mặc định nối tới ASBR của Area 2. Tuy nhiên, các Router OSPF lại phải biết về các mạng gắn với Router chạy RIP để định tuyến các gói tới chúng.

Hình 3.10

Not – so – stubby Area (NSSA) cho phép các tuyến bên ngoài được quảng cáo vào hệ thống đốc lập OSPF trong khi vẫn giữ được các đặc trưng của một Stub Area đối với phần còn lại của hệ thống độc lập.Để làm được điều này, ASBR trong NSSA sẽ tạo ra các

loại LSA loại 7 để quảng cáo cho các đích đến bên ngoài. Các NSSA External LSA này được tràn lụt trong NSSA nhưng bị chặn lại tại ABR.

Hình 3.11

NSSA External LSA có một bit P trong phần Header của nó gọi là cờ. NSSA ASBR có thể điều chỉnh lập hay xóa Bit P. Nếu ABR của NSSA nhận được một loại 7 với bit P được lập (bằng một), nó sẽ chuyển LSA này thành LSA loại 5 và tràn lụt chúng vào các Area khác (hình 3.22).

Nếu bit P = 0, không có sự chuyển đổi nào xảy ra, LSA sẽ không được quảng cáo bên ngoài NNSA.

3.8 Các loại Router trong Area

Có bốn loại Router OSPF là : Router nội, Router biên giới Area, Router Backbone, và Router biên giới hệ thống độc lập ( hình 3.14).

Hình 3.12 Các loại Router

Có bốn loại Router OSPF là : Router nội, Router biên giới Area, Router Backbone, và Router biên giới hệ thống độc lập ( hình 3.14).

Router nội (Internal Router): là Router mà tất cả các giao diện của nó thuộc về cùng một

Area. Các Router này có cơ sở dữ liệu trạng thái liên kết đơn.

Router biên giới Area (Area border Router - ABR): Kết nối một hay nhiều Area tới

Backbone và hoạt động như một Gateway đối với lưu lượng liên Area. ABR luôn có it nhất một giao diện thuộc về mạng Backbone, và phải duy trì cơ sở dữ liệu trạng thái liên kết tách biệt cho mỗi Area liên kết với nó. Vì vậy, ABR thường có bộ nhớ lơn hơn và bộ vi xử lý mạng hơn so với Router nội. ABR có nhiệm vụ thu nhập thông tin cấu hình của Area gắn với nó cho mạng Backbone, sau đó Backbone sẽ phổ biến lại cho các Area khác.

Router Backbone : là Router có ít nhất một giao diện gắn vào mạng Backbone. Như vậy

Router Backbone có thể là một ABR hoặc một Router nào đó thuộc mạng Backbone (Area 0).

Router biên giới hệ thống độc lập (Autonomous System Boundary Router- ASBR): hoạt

động như là một Gateway đối với lưu lượng ngoại.

3.9 Cơ sở dữ liệu trạng thái liên kết (Link State Advertisement)

Các LSA nhận bởi Router được lưu lượng trong cơ sở dữ liệu trạng thái liên kết của nó. Các LSA này sẽ diễn tả sơ đồ cấu hình Area. Vì mỗi Router trong Area tình toán đường đi ngắn nhất từ cơ sở dữ liệu này, do đó điều kiện tiên quyết để định tuyến chính xác là cơ sở dữ liệu của tất các Router trong một Area phải giống nhau.

Khi LSA cư trú trong cơ sở dữ liệu của Router, tuổi của nó sẽ tăng lên tùy thuộc vào thời gian cư trú. Nếu tuổi của nó đạt đến MaxAge (1h), nó sẽ bị đào thải khỏi miền OSPF. Để tránh việc các LSA phù hợp bị đào thải do quá tuổi, người ta sử dụng cơ chế “làm tươi trạng thái liên kết”. Cứ sau thời gian LSRefreshtime (30’), Router sẽ tràn lụt bản copy

Một phần của tài liệu Nghiên cứu giao thức định tuyến OSPF và ứng dụng trong mạng doanh nghiệp (Trang 39)