Nguyên lý hoạt động của OSPF

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 26)

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

3.1.2Nguyên lý hoạt động của OSPF

Hoạt động của OSPF được mô tả một cách tổng quát như sau:

1. Các Router OSPF gửi các gói Hello ra tất cả các giao tiếp chạy OSPF. Nếu hai Router chia sẻ một liên kết dữ liệu cùng chấp nhận các tham số được chỉ ra trong gói Hello, chúng sẽ trở thành các Neighbor của nhau.

2. Adjacency có thể coi như là các liên kết ảo điểm - điểm, được hình thành giữa các Router trao đổi gói tin Hello và loại mạng sử dụng để các gói tin Hello truyền trên đó.

3. Sau khi các Adjacency được hình thành, mỗi Router gửi các LSA (Link State Advertisment) qua các Adjacency. Các LSA mô tả tất cả các liên kết của Router và trạng thái của các liên kết.

4. Mối Router nhận một LSA từ một Neighbor. Ghi LSA vào cơ sở dữ liệu trạng thái liên kết của nó và gửi bản copy tới tất cả các Neighbor khác của nó.

5. Bằng cách trao đổi các LSA trong một Area, tất cả các Router sẽ xây dựng cơ sở dữ liệu trạng thái liên kết của mình giống với các Router khác.

3.1.3 Ưu điểm và nhược điểm của OSPF

Ưu điểm

• Cân bằng tải giữa các tuyến cùng cost: Việc này dùng cùng lúc nhiều tuyến cho phép tận dụng có hiệu quả tài nguyên qua mạng.

• Phân chia mạng một cách logic: Điều này làm giảm bớt các thông tin phát ra trong những điều kiện bất lợi. Nó cũng giúp kết hợp các thông báo về định tuyến, hạn chế việc phát đi những thông tin không cần thiết về mạng.

• Hỗ trợ nhận thực: OSPF hỗ trợ nhận thực cho tất cả các node phát thông tin quảng các định tuyến. Điều này hạn chế được nguy cơ thay đổi bảng định tuyến với mục đích xấu.

• Thời gian hội tụ nhanh hơn: OSPF cho phép truyền các thông tin về thay đổi một cách tức thì. Điều đó giúp rút ngắn thời gian hội tụ cần thiết để cập nhật thông tin cấu hình mạng.

• Hỗ trợ CIDR và VLSM: Điều này cho phép nhà quản trị mạng có thể phân phối nguồn địa chi IP một cách có hiệu quả hơn.

• Sử dụng area để giảm yêu cầu về CPU, memory của OSPF router cũng như lưu lượng định tuyến và có thể xây dựng hierarchical internetwork topologies.

• Là giao thức định tuyến dạng clasless nên hỗ trợ được VLSM và discontigous network.

• OSPF sử dụng địa chỉ multicast 224.0.0.5 (all SPF router) 224.0.0.6 (DR và BDR router) để gửi các thông điệp Hello và Update.

• OSPF còn có khả năng hỗ trợ chứng thực dạng plain text và dạng MD5

• Sử dụng route tagging để theo dõi các external route. OSPF còn có khả năng hỗ trợ Type of Service.

Nhược điểm:

• Do thuật toán SPF phức tạp nê khi khởi động toàn bộ hệ thống thì đòi hỏi thời gian convergen lâu.

• Các Router chạy giao thức định tuyến OSPF đòi hỏi phải có đầy đủ thông tin về cấu trúc mạng nên bảng định tuyến lớn.

3.2 Một số khái niệm sử dụng trong OSPF

3.2.1 Giao thức Hello 3.2.1.1 Giao thức Hello là gì 3.2.1.1 Giao thức Hello là gì

Khi Router bắt đầu khởi động tiến trình định tuyến OSPF trên cổng nào đó của Router thì nó sẽ gửi 1 gói tin Hello ra cổng đó và tiếp tục gửi gói tin theo định kỳ. OSPF Router sẽ sử dụng gói Hello để thiết lập mối quan hệ neighbor với nhau và cũng để xác định xem Router neighbor có còn hoạt động nữa hay không.

3.2.2.2 Chức năng của giao thức Hello

Giao thức Hello thực hiện các chức năng sau:

• Dùng để khám phá các Neighbor

• Dùng để quảng các các tham số mà hai Router phải chấp nhận trước khi chúng trở thành các Neighbor của nhau.

• Đảm bảo thông tin hai chiều giữa các Neighbor.

• Các gói Hello hoạt động như các Keepalive giữa các Neighbor. (adsbygoogle = window.adsbygoogle || []).push({});

• Dùng để bầu cử DR và BDR trong mạng Broadcast và Nonbroadcast Multiaccess (NBMA).

3.2.2 Nguyên lý hoạt động của giao thức Hello

Khi các Router OSPF gửi các gói tin Hello định kỳ ra các giao diên OSPF. Chu kỳ gửi được gọi là Hello Interval và được cấu hình trong cơ sở dữ liệu giao điện. Nếu một Router không nhậ được gói tin Hello từ Neighbor trong một khoảng thời gian gọi là Router Dead Interval nó sẽ khai báo Neighbor này bị Down.

Khi một Router nhận một gói tin từ một Neighbor, nó sẽ kiểm tra xem các trường Area ID, Authentication, Network Mask, Hello Interval, Router Dead Interval và Option trong gói Hello có phù hợp với các giá trị đã được cấu hình ở giao diện đang nhận hay không.

Nếu không phù hợp, gói sẽ bị huỷ và Adjacency không được thiết lập. Nếu tất cả phù hợp, gói Hello được khai báo là hợp lệ. Nếu Router ID của Router gốc đã có trong bảng Neighbor của giao diện nhận, Router Dead Interval được reset. Nếu không, nó ghi Router ID này vào bảng Neighbor.

Một Router gửi một gói Hello, gói Hello sẽ chứa Router ID của tất cả các Neighbor cần thiết trong liên kết mà gói truyền đi. Nếu một Router nhận được một gói tin Hello hợp lệ có chưa Router ID của nó, Router này sẽ biết rằng thông tin hai chiều đã được thiết lập.

3.3 Các loại mạng trong định tuyến OSPF

OSPS định nghĩa năm loại mạng : 1. Mạng điểm - điểm

2. Mạng quảng bá .

3. Mạng đa truy nhập không quảng bá. 4. Mảng điểm – đa điểm

5. Các liên kết ảo

3.3.1 Mảng điểm - điểm: là mạng nối hai Router với nhau. Các Neighbor hợp lệ trong mạng điểm - điểm luôn thiết lập Adjacency. Địa chỉ của các gói OSPF trong mạng nay luôn là địa chỉ lớp D 224.0.0.5 gọi là AllSPF Router.

3.3.2 Mạng quảng bá: Ví dụ như Ethernet, Token Ring, FDDI.

Là mạng có khả năng kết nối nhiều hơn hai thiết bị và các thiết bị và các thiết bị này đều có thể nhận các gói gửi từ một thiết bị bất kỳ trong mạng. Các Router OSPF trong mạng quảng bá sẽ bầu cử DR và BDR. Các gói Hello được phát từ multicast với địa chỉ 224.0.0.5. Ngoài ra các gói xuất phát từ DR và BDR cũng được phát multicast với địa chỉ này. Các Router khác sẽ phát multicast các gói tin cập nhật và xác nhận trạng thái liên kết với địa chỉ lớp D là: 224.0.0.6 gọi là All DRouters.

3.3.3 Mạng NBMA (Nonbroadcast - Multiaccess): Ví dụ như X25, Frame relay, ATM.

Là mạng có khả năng kết nối nhiều hơn hai Router nhưng không có khả năng Broadcast. Tức là một gói tin gửi bởi một Router trong mạng không nhận được bởi tất cả các Router khác của mạng. Các Router trong NBMA bầu cử DR và BDR. Các gói OSPF được truyền theo kiểu unicast.

3.3.4Mạng điểm – đa điểm: Là trường hợp đặc biệt của NBMA. Nó có thể coi là một tập hợp các điểm kết nối điểm – điểm. Các Router trong mạng không phải bầu cử DR và BDR. Các gói OSPF được truyền theo kiểu multicast.

3.4.4 Các liên kết ảo: Là một cấu trúc đặc biệt được Router hiểu như là các mạng điểm –

điểm không đánh số. Các gói OSPF được phát unicast trên các liên kết ảo.

3.4 Giao diện OSPF

3.4.1 Cấu trúc dữ liệu giao diện

Các thành phần của cấu trúc số liệu giao diện bao gồm:

Địa chỉ IP và mặt nạ: là địa chỉ và mặt nạ được cấu hình cho giao diện. Area ID: là Area chứa giao diện.

Process ID: dùng để phân biệt các tiến trình OSPF chạy trên một Router. Router ID: dùng để nhận dạng Router.

Network type: là loại của mạng nối với giao diện.

Cost: là cost của các gói tin đi ra từ giao diện. Cost là một metric OSPF, được diễn tả bởi

16 bit nguyên không dáu có giá trih từ 1 đến 65535.

InfTrans Delay: là số giây các LSA ra khỏi giao diện với tuổi bị tăng lên.

State: là trạng thái chức năng của giao diện được trình bày ở phần sau.

Router Priority: 8 bit nguyên không dấu này có giá trị từ 0 đến 255 dùng để bầu cử DR (adsbygoogle = window.adsbygoogle || []).push({});

và BDR.

Hello Interval: là khoảng thời gian tính theo giây giữa các lần truyền các gói Hello trên

giao diện.

Router Dead Interval: là khoảng thời gian tính theo giây mà Router sẽ chờ để nghe các gói tin Hello từ một Neighbor trước khi nó coi rằng Neighbor này bị Down.

Wait Time: là khoảng thời gian Router sẽ chờ DR và BDR được quảng cáo trong gói tin

Hello trước khi bắt đầu lựa chọn DR và BDR. Chu kì Wait Time bằng Router Dead Interval.

Rxm Interval: là khoảng thời gian tính theo giây Router sẽ chời giữa các lần truyền của

các gói OSPF chưa được xác nhận.

Hello Time: là bộ định thời được lập bằng Hello Interval. Khi nó hết hiệu lực, gói tin

Hello được truyền lại từ giao diện.

Neighbor Router: Danh sách tất cả các Neighbor hợp lệ (có gói Hell được nhìn thấy trong

thời gian Router Dead Interval).

Autype: Mô tả loại nhận thực sự trong mạng. Autype có thể là Null (không nhận thực),

Simple Password, hoặc Cryptographic (Message diget).

Authentication Key: Nếu chế độ nhận thực là Simple password, Aukey là 64 bit. Nếu chế

độ nhận thực là Cryptographic, Aukey là Message digest. Chế độ Crytographic cho phép cấu hình nhiều khoá trên một giao diện.

3.4.2 Các trạng thái giao diện

Một giao diện OSPF sẽ chuyển đổi qua một số trạng thái khác nhau trước khi nó đủ khả năng làm việc. Các trạng thái đó bao gồm: Down, Point to Point, Waiting, DR, Backup, Drother, và loopback.

Hình 3.1 Sự chuyển đổi giữa các trạng thái giao diện OSPF

Biến cố vào Ýnghĩa biến cố IE1

IE2

IE3

IE4

IE5

Các giao thức mức thấp chỉ báo rằng giao diện mạng đã sẵn sàng hoạt động.

Các giao thức mức thấp chỉ báo rằng giao diện mạng chưa sẵn sàng hoạt động.

Người quản lý mạng hoặc các giao thức mức thấp hơn chỉ ra rằng giao diện được loop up.

Người quản lý mạng hoặc các giao thức mức thấp hơn chỉ ra rằng giao diện được loop down.

Gói Hello nhận được chỉ ra rằn Neighbor gốc (Neighbor gửi gói Hello này) muốn trở thành DR hoặc BDR và trong mạng chưa có BDR.

IE6 (adsbygoogle = window.adsbygoogle || []).push({});

Wait time đã hết hiệu lực.

IE7 IE8 IE9 IE10

Router được bầu cử là DR trong mạng này. Router được bầu cử là BDR trong mạng này.

Router không được bầu cử là DR hoặc BDR trong mạng này.

Một thay đổi xảy ra trong tập các Neighbor hợp lệ của mạng. Thay đổi này có thể là:

1. Thiết lập kết nối hai chiều với một Neighbor. 2. Mất kết nối hai chiều với một Neighbor.

3. Nhận một gói tin Hello chỉ ra rằng Neighbor gốc muốn trở thành DR hoặc BDR.

4. Nhận được gói tin Hello từ DR chỉ ra rằng Router này không muốn là DR nữa.

5. Nhận được gói tin Hello từ BDR chỉ ra rằng Router này không muốn làm BDR nữa.

6. Thời gian Router Dead Interval kết thúc mà không nhận được gói tin Hello từ DR hoặc BDR.

Down: Đây là trạng thái giao diện đầu tiên. Ở trạng thái này giao diện không làm việc.

Tất cả các tham số của giao diện được lập bằng giá trị ban đầu và không có lưu lượng được truyền hoặc nhận trên giao diên.

Point to Point: Trạng thái này chỉ thích hợp với các giao diện kết nối tới các mạng Point

to Point, Point to Multipoint và Virtual Link. Khi giao diện ở trạng thái này, nó đã đủ khả năng làm việc. Nó sẽ bắt đầu gửi các gói tin Hello và thiết lập Adjacency với Neighbor.

Waitting: Trạng thái này chỉ thích hợp với các giao diện nối tới các mạng Broadcast va

NBMA. Khi chuyển sang trạng thái này, nó bắt đầu gửi và nhận các gói tin Hello và lập

DR: Ở trạng thái này, Router là DR sẽ thiết lập Adjacency với các Router khác trong

mạng đa truy nhập.

Backup: Ở trạng thái này, Router là BDR sẽ thiết lập Adjacency với các Router khác. Drother: Ở trạng thái này, Router không là DR hay BDR. Nó sẽ thiết lập Adjacency với

chỉ DR và BDR trong khi vẫn theo dõi tất cả các Neighbor khác trong mạng.

Loopback: Ở trạng thái này, giao diện được loopback bằng phần mềm hoặc phần cứng.

Mặc dù các gói không thể truyền, địa chỉ giao diện vẫn được quảng cáo trong Router LSA để các gói kiểm tra có thể tìm đường tới giao diện.

3.5 DR,BDR là gì, quá trình bầu chọn DR và BDR

3.5.1 DR, BDR

DR (Designated Router): là DR của mạng mà giao diện gắn vào. DR này được ghi bởi Router ID của nó và địa chỉ của giao diện gắn vào mạng của DR.

BDR: là BDR của mạng mà giao diện gắn vào. BDR này được ghi bởi Router ID của nó

và địa chỉ của giao diện gắn vào mạng của BDR.

3.5.2 Qúa trình bầu chọn DR và BDR

1. OSPF chọn ngẫu nhiên 1 router và kiểm tra danh sách neighbor của nó. (adsbygoogle = window.adsbygoogle || []).push({});

2. Nếu 1 router có priority = 0. Thì router đó không tham gia vào quá tình bầu chọn. 3. Sau đó quá trình lựa chọn BR & BDR bắt đầu theo các mức ưu tiên sau:

a. Router có Priority cao nhất làm DR, cao thứ 2 làm BDR. Priority mặc định là 1. b. Nếu Priority bằng nhau thì xét Router ID, cao nhất làm DR, cao thứ 2 làm BDR. Router ID lấy từ:

- Trong trường hợp Router có cổng loopback, thì địa chỉ IP loopback cao nhất sẽ là Router ID.

- Trong trường hợp Router không có cổng loopback, địa chỉ IP vật lý cao nhất là Router ID.

Chú ý:

- Router nào khởi động đầu tiên sẽ là DR, và thứ 2 là BDR. - Nếu khởi động cùng một lúc thì tuân theo quy tắc trên. - DR bị mất, BDR lên thay, và bình chọn BDR mới.

3.6 Neighbor

3.6.1 Khái niệm Neighbor

-Các thiết bị được kết nối trực tiếp với nhau gọi là Neighbor

3.6.2 Cấu trúc dữ liệu Neighbor

Trong cấu trúc dữ liểu của Neghbor gồm các thành phần sau

Neighbor ID: là Router ID của Neighbor.

Neighbor IP: là địa chỉ IP của giao diện nối tới mạng của Neighbor. Khi một gói OSPF

Area ID: để hai Router trở thành các Neighbor của nhau, Area ID trong gói Hello nhận

được phait phù hợp với Area ID của giao diện nhận

Interface: là giao diện gắn vào mạng của mạng chưa Neighbor.

Neighbor Priority: là Router Priority của Neighbor được chỉ ra trong gói tib Hello. State: là trạng thái chức năng của Neighbor sẽ được trình bày ở phần sau.

Poll Interval: Gía trị này chỉ sử dụng đối với các Neighbor trong mạng NBMA. Vì các

Neighbor không thể tự động khám phá trong mạng NBMA nếu các Neighbor này ở trạng thái Down, do vậy gói Hello sẽ được gửi tới các Neighbor sau mỗi khoảng thời gian nhất định. Khoảng thời gian này gọi là Poll Interval.

Neighbor Options: là các khả năng OSPF tuỳ chọn được hỗ trợ Neighbor. Các tuỳ chọn

này được trình bày ở phần sau.

Anactivity Time: la Time có chuy kỳ là Router Dead Interval. Time được reset khi nhận

được gói tin Hello từ Neighbor. Nếu Inctivity Time hết hiệu lực mà chưa nhận được gói tin Hello, Neighbor sẽ được khai báo là Down.

Designated Router: Địa chỉ này chứa trong trường DR của gói tin Hello.

Backup Designate Router: Địa chỉ này chứa trong trương BDR của gói tin Hello.

Master / Slave: Quan hệ chủ- tớ (được thoả thuận trong trạng thái Exstart) thiết lập

Neighbor nào sẽ điều khiển việc đồng bộ cơ sở dữ liệu.

DD Sequence Number: là số trình tự gói Database Description (DD) đang được gửi tới

Neighbor.

Last Received Database Description Packet: Các bít Initilize, More, Master, các Option (adsbygoogle = window.adsbygoogle || []).push({});

và số trình tự của gói tin DD nhận được cuối cùng được ghi trong cơ sở dữ liệu Neighbor. Thông số này dùng để xác định gói tin DD tiếp theo có phải là bản sao của gói trước.

Link State Retransmission List: là danh sách các LSA đã được tràn lụt trên Adjacency

nhưng chưa được công nhận. LSA sẽ được truyền lại sau khoảng thời gian RxmInterval cho đến khi chúng nhận được công nhận hoặc Adjacency bị phá vỡ.

Database Summary List: là danh sách các LSA được gửi tới Neighbor trong gói DD

trong quá 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 Exchange.

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 26)