Tải bản đầy đủ (.pdf) (19 trang)

HỆ THỐNG MẠNG - TÌM HIỂU VÀ NGUYÊN CỨU GIAO THỨC OSPF CHƯƠNG 3_1 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (356.46 KB, 19 trang )

ĐỒ ÁN HỆ THỐNG MẠNG
Đề tài:
TÌM HIỂU VÀ NGUYÊN CỨU GIAO
THỨC OSPF
CHƯƠNG 3 GIAO THỨC OSPF


3.1 Giới thiệu chung về OSPF

OSPF (Open Shortest Path First) được phát triển bởi IETF (Internet Engineering
Task Force – nhóm đặc trách kĩ thuật internet). OSPF là giao thức trạng thái liên
kết sử dụng thuật toán SPF (Shortest Path First) của Dijktra và là một giao thức mở
tức nó hoàn toàn mở đối với công cộng , không có tính độc quyền.

Ưu điểm chính của OSPF so với các giao thức vector khoảng cách là khả năng đáp
ứng nhanh theo sự thay đổi của hệ thống mạng, hoạt động tốt trong các mạng cỡ
lớn và ít bị ảnh hưởng đối với các thông tin định tuyến tồi.

Một số đặc điểm khác của OSPF là:
 Sử dụng chi phí (cost) làm thông số định tuyến để chọn đường đi trong
mạng.
 Thực hiện cập nhật khi có mạng có sự thay đổi.
 Mọi Router sử dụng sơ đồ cấu trúc mạng của riêng nó để chọn đường.
 Hỗ trợ CIDR (Classless Interdomain Routing) và VLSM (Variable length
subnetmask).

Hoạt 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 diện 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ư các liên kết ảo điểm - điểm, được hình thành giữa


các Neighbor. Việc hình thành một Adjacency phụ thuộc vào các yếu tố như
loại Router trao đổi các gói Hello và loại mạng sử dụng để các gói 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 Advertisement) 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.
6. Khi cơ sở dữ liệu hoàn chỉnh, mỗi Router sử dụng giải thuật SPF để tính
toán đường đi ngắn nhất (đường đi có cost thấp nhất) tới tất cả các đích đã
biết. Sơ đồ này gọi là cây SPF.
7. Mỗi Router xây dựng bảng định tuyến từ cây SPF của nó.

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

3.2.1 Láng giềng (Neighbor) và mối quan hệ thân mật (Adjacency)

Trước khi gửi các LSA, các Router OSPF phải khám phá các Neighbor của nó và
thiết lập Adjacency với chúng. Danh sách các Neighbor được ghi trong bảng các
Neighbor cùng với các liên kết (hoặc giao diện) nối với mỗi Neighbor và các
thông tin cần thiết khác.

3.2.2 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áo 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.
 Dùng để bầu cử DR và BDR trong mạng Broadcast và Nonbroadcast
Multiaccess (NBMA).

Các Router OSPF gửi các gói 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 diện. Nếu một
Router không nhận được gói 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 Hello 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.

Khi 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 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.2.3 Các loại mạng

OSPF đị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.

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ỉ đích của các gói OSPF trong
mạng này luôn là địa chỉ lớp D 224.0.0.5 gọi là AllSPF Routers.

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ị 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 multicast với địa chỉ
đích là 224.0.0.5 ( AllSPF Routers). 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 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.

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 gửi bởi một Router trong mạng không được nhận 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.

Mạ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 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.

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.2.4 DR và BDR


Các mạng đa truy nhập tồn tại hai vấn đề sau liên quan đến quá trình tràn lụt LSA
như sau:

1. Thông tin của một Adjacency giữa các Router sẽ tạo ra nhiều LSA không
cần thiết. Nếu một mạng đa truy nhập có n Router thì có thể có n(n-1)/2
Adjacency (Hình 3.1). Mỗi Router sẽ tràn lụt n-1 LSA cho các Neighbor của
nó cộng với một LSA cho mạng dẫn đến có n(n-1) + 1 = n
2
LSA được tạo ra
trong mạng.

A B C
D
E
D
E
B
C
A


2. 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 Neighbor của nó. Các Neighbor này lại gửi bản copy của LSA nhận
được tới các Neighbor của mình dẫn đến tạo ra nhiều bản copy của LSA
trong mạng.

Để 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.
 Quản lý quá trình tràn lụt trong mạng đa truy nhập.

Mỗi Router trong mạng thiết lập Adjacency 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
Hình 3.1
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 toàn bộ Router.

A B C
D
E
D
B
C
A (D R )


DR đại diện cho mạng đa truy nhập. Các Router khác chỉ thiết lập Adjacency với
DR.

Nếu DR bị hỏng, một DR mới phải được bầu ra. Các Adjacency 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.

Hình 3.2
Để tránh vấn đề này, BDR được bầu cử. Tất cả các Router thiết lập Adjacency với
cả DR và BDR. DR và BDR cũng có thể thiết lập Adjacency với nhau. Nếu DR
hỏng, BDR sẽ trở thành DR mới.


Tóm lại việc bầu cử diễn ra như sau: Khi một Router OSPF được kích hoạt, nó tìm
kiếm các Neighbor của nó và kiểm tra DR và BDR. Nếu DR và BDR đã tồn tại,
Router sẽ chấp nhận chúng. Nếu không có BDR, một cuộc bầu cử BDR được tiến
hành và Router có Priority cao nhất sẽ trở thành BDR. Nếu có nhiều hơn một
Router có cùng Priority cao nhất, Router có Router ID cao nhất sẽ trở thành BDR.
Nếu chưa có DR, BDR sẽ trở thành DR và cuộc bầu cử BDR mới lại được thực
hiện.

Chú ý: Priority có thể ảnh hưởng đến quá 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ó Priority 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 Giao diện OSPF

3.3.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 đ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á trị từ 1 đến 65535.

Inf Trans 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 và BDR.

DR: 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.

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 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ờ giữa các lần truyền
lại của các gói OSPF chưa được xác nhận.

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

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

Neighboring Routers: Danh sách tất cả các Neighbor hợp lệ (có gói Hello được
nhìn thấy trong thời gian Router Dead Interval).

Autype: Mô tả loại nhận thực sử dụng trong mạng. Autype có thể là Null (không
nhận thực), Simple Password, hoặc Cryptographic (Mesage digest).

Authentication Key: Nếu chế độ nhận thực là Simple password, Au key là 64 bit.
Nếu chế độ nhận thực là Cryptographic, Au key là Message digest. Chế độ
Cryptographic cho phép cấu hình nhiều khoá trên một giao diện.

3.3.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.

Point
To
Point
Down
Waiting
DR/BDR
Election
DR
Backup
DRother
Loopback
IE3

IE2
IE2
IE5
IE6
IE2
IE3
IE4
IE3
I
E
7
I
E
1
0
IE8
IE10
I
E
9
I
E
1
0
IE3
I
E
3
I
E

3
IE2
IE1
IE1
IE2


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



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


IE2


IE3


IE4


IE5



IE6
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ằng 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.

Wait timer đã 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 Hello chỉ ra rằng Neighbor gốc muốn
trở thành DR hoặc BDR.
4. Nhận được gói Hello từ DR chỉ ra rằng Router này
không muốn làm DR nữa.
5. Nhận được gói 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 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 Hello và thiết lập Adjacency
với Neighbor.

Waiting: 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
và NBMA. Khi chuyển sang trạng thái này, nó bắt đầu gửi và nhận các gói Hello
và lập Wait timer. Router sẽ cố gắng xác định DR và BDR trong trạng thái này.


DR: Ở trạng thái này, Router là DR và 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 và 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.4 Neighbor OSPF

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

Các thành phần của cấu trúc dữ liệu Neighbor là:

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

Neighbor IP address: là địa chỉ IP của giao diện nối tới mạng của Neighbor. Khi
một gói OSPF được truyền unicast tới Neighbor, địa chỉ này sẽ là địa chỉ đích.

Area ID: Để hai Router trở thành các Neighbor của nhau, Area ID trong gói Hello
nhận được phải 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 chứa Neighbor.


Neighbor Priority: là Router Priority của Neighbor được chỉ ra trong gói 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: Giá trị này chỉ sử dụng đối với các Neighbor trong mạng NBMA. Vì
các Neighbor không thể được 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ợ bởi Neighbor. Các
tuỳ chọn này được trình bày ở phần sau.

Inactivity Timer: là Timer có chu kỳ là Router Dead Interval. Timer được reset khi
nhận được gói Hello từ Neighbor. Nếu Inactivity Timer hết hiệu lực mà chưa nhận
được gói 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 Hello.

Backup Designated Router: Địa chỉ này chứa trong trường BDR của gói 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ự của gói Database Description (DD) đang được
gửi tới Neighbor.

Last Received Database Description Packet: Các bít Initialize, More, Master, các
Option và số trình tự của gói DD nhận được cuối cùng được ghi trong cơ sở dữ liệu
Neighbor. 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.

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

Link State Request List: Là danh sách các LSA trong cá gói DD của Neighbor
“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 Neighbor yêu cầu các bản copy 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 Neighbor

Một Router sẽ chuyển Neighbor qua một số trạng thái trước khi Neighbor được
coi là Full Adjacency. Các trạng thái đó bao gồm: Down, Attemt, Init, 2-Way,
Extart, Exchange, Loading, và Full.

Down: là trạng thái đầu tiên của Neighbor khi cuộc hội thoại (giữa Router và
Neighbor) chỉ ra rằng không có gói Hello nào được gửi từ Neighbor trong Router
Dead Interval cuối cùng. Các gói Hello không được gửi tới Neighbor bị Down trừ
trường hợp các Neighbor 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ỳ Poll Interval. Nếu Neighbor chuyển xuống trạng thái
Down 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ỏ.


Attempt: Trạng thái này chỉ ứng dụng cho các Neighbor trong mạng NBMA, ở đây
các Neighbor được cấu hình bằng tay. Một Router (đủ khả năng để trở thành DR)
sẽ chuyển một Neighbor sang trạng thái Attempt khi giao diện nối tới Neighbor
đượ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 Neighbor ở trạng thái Attempt theo chu kỳ HelloInterval thay vì
PollInterval.


×