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

Giao thức OSPF và ứng dụng

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 (1.31 MB, 30 trang )

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA ĐIỆN – ĐIỆN TỬ

GIAO THỨC OSPF VÀ ỨNG DỤNG

HÀ NỘI
Tháng 07 năm 2016


Chương 1: OSPF
LỜI NÓI ĐẦU

Trong những năm gần đây, công nghệ IP đang ngày càng được sử dụng rộng rãi trong
các lĩnh vực truyền thông. Nó không chỉ được sử dụng để truyền dữ liệu mà còn dùng để
truyền các dịch vụ khác như thoại, audio, video, các dịch vụ đa phương tiện.... Do vậy,
các nhà nghiên cứu viễn thông đã tích cực nghiên cứu phát triển công nghệ IP để đáp ứng
kịp thời cho các nhu cầu thực tế. Trong đó vấn đề phát triển các giao thức định tuyến
trong mạng IP là một vấn đề hết sức quan trọng. Một trong những phát minh gần đây
nhất về vấn đề này là giao thức OSPF được phát triển bởi nhóm đặc đặc trách kĩ thuật
Internet IETF. OSPF được phát triển để khắc phục những hạn chế của giao thức định
tuyến RIP được phát triển trước đó.
Đề tài bao gồm những nội dung sau:
Chương 1: Đây là chương chính của đề tài. Chương này sẽ trình bày một cách tương đối
toàn diện tất cả các vấn đề về OSPF. Đọc xong chương này bạn sẽ có một kiến thức đầy
đủ và sâu rộng về giao thức định tuyến OSPF.
Chương 2: Nêu lên một số ứng dụng của OSPF trong các mạng IP cỡ lớn đồng thời cũng
trình bày các ứng dụng của nó trong mạng NGN của Việt Nam.
Do thời gian hạn chế nên nội dung của bài báo cáo không thể tránh khỏi nhữn sai sót, vì
vậy em rất mong nhận được sự quan tâm đóng góp ý kiến của thầy giáo và các bạn.
Hà Nội, ngày 18 tháng 07 năm 2016


Page | 1


Chương 1: OSPF
MỤC LỤC

MỤC LỤC -------------------------------------------------------------------------------------2
CHƯƠNG 1 GIAO THỨC OSPF ---------------------------------------------------------3
1.1 Giới thiệu chung về OSPF ------------------------------------------------------------3
1.2. Giao diện OSPF -----------------------------------------------------------------------4
1.2.1 Cấu trúc dữ liệu giao diện -------------------------------------------------------4
1.2.2 Các trạng thái giao diện ----------------------------------------------------------5
1.3. Neighbor OSPF -----------------------------------------------------------------------6
1.3.1 Cấu trúc dữ liệu Neighbor -------------------------------------------------------6
1.3.2 Các trạng thái Neighbor ---------------------------------------------------------7
1.4. Thiết lập mối quan hệ thân mật (Adjacency) --------------------------------------9
1.5. Tràn lụt ------------------------------------------------------------------------------- 11
1.5.1 Tràn lụt tin cậy sử dụng xác nhận -------------------------------------------- 12
1.5.2 Tràn lụt tin cậy sử dụng số trình tự, tổng kiểm tra, và tuổi ---------------- 13
1.6. Vùng (Area) ------------------------------------------------------------------------- 14
1.6.1 Area có thể phân chia ---------------------------------------------------------- 15
1.7. Các loại Router ---------------------------------------------------------------------- 17
1.8. Cơ sở dữ liệu trạng thái liên kết --------------------------------------------------- 18
1.9. Các loại LSA ------------------------------------------------------------------------ 18
1.10. Area cụt (Stub Area) -------------------------------------------------------------- 21
1.11. Area cụt hoàn toàn (Totally Stubby Area) ------------------------------------- 22
1.12. Not - So – Stubby Area ---------------------------------------------------------- 22
1.13. Bảng định tuyến------------------------------------------------------------------- 23
1.14. Các loại đường -------------------------------------------------------------------- 23
1.15. Tra bảng định tuyến -------------------------------------------------------------- 24

CHƯƠNG 2 ỨNG DỤNG CỦA OSPF ------------------------------------------------- 26
Ứng dụng OSPF trong mạng NGN của VNPT --------------------------------------- 26
2.1.Mạng NGN của VNPT ----------------------------------------------------------- 26
2.2. Khả năng ứng dụng của OSPF trong mạng NGN của VNPT -------------- 27
Kết Luận ------------------------------------------------------------------------------------- 28

Page | 2


Chương 1: OSPF
CHƯƠNG 1 GIAO THỨC OSPF
1.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.

Page | 3


Chương 1: OSPF
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ó.
1.2. Giao diện OSPF
1.2.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.
Page | 4


Chương 1: OSPF
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.
1.2.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.
IE3

IE2
DR
IE2

Point
To
Point

IE2

IE1
Down

IE1

IE5

IE2

IE8
DR/BDR
Election

Waiting


IE3

0
IE1

IE7

Backup

IE3
Loopback

IE10

IE6

IE1

0

IE9

IE3
IE2

DRother

IE3

IE4


IE3

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

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


Chương 1: OSPF
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.
1.3. Neighbor OSPF
1.3.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.
Page | 6


Chương 1: OSPF
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ỡ.
Satabase 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.
1.3.2 Các trạng thái Neighbor
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.

Page | 7


Chương 1: OSPF
Down


Attempt

IE2

IE1

Init
IE2

IE4

IE4

IE2

DP1

Loading

7
IE

5
IE

IE2

6
IE

2-Way
IE2

11
IE

IE8
Exstart

IE12

IE9
Exchange

IE2

DP1

IE1
0
Full

Hình 3.4 Sự chuyển đổi trạng thái từ Down sang Full

IE2

Init: Trạng thái này chỉ ra rằng đã nhận được gói Hello từ Neighbor trong Router Dead
Interval cuối cùng nhưng kết nối hai chiều chưa được thiết lập. Router sẽ chứa Router ID
của tất cả các Neighbor ở trạng thái này hoặc trạng thái cao hơn trong trường Neighbor
của gói Hello.

2-Way: Trạng thái này chỉ ra rằng Router đã “nhìn thấy“ Router ID của nó trong trường
Neighbor của gói Hello mà Neighbor gửi tới. Điều này có nghĩa là kết nối hai chiều đã
được thiết lập.
ExStart: Ở trạng thái này, Router và các Neighbor của nó thiết lập quan hệ Masterr/Slave
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. Neighbor có
địa chỉ giao diện cao nhất sẽ là Master.
Exchange: Router gửi các gói DD mô tả toàn bộ cơ sở dữ liệu trạng thái liên kết của nó
tới các Neighbor đang ở trạng thái Exchange. 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 Neighbor ở trạng thái này để yêu cầu các LSA mới nhất.
Loading: Router sẽ gửi các gói yêu cầu trạng thái liên kết tới các Neighbor ở trạng thái
này để yêu cầu các LSA mới hơn đã được chỉ ra ở trạng thái Exchange nhưng chưa nhận
được.
Full: Neighbor ở trạng thái này là Adjacent hoàn toàn và các Adjacency sẽ xuất hiện
trong các Router LSA và Network LSA.

Page | 8


Chương 1: OSPF
IE13
IE13
Init

Full

5
IE1
DP
3


IE13

IE11

IE16

IE5
DP
1

IE14

IE15

IE16

DP
3

2-Way
IE6

11
IE

4
IE

DP2


Loading
IE14

IE16

IE1
6

7
IE
IE13

6
IE1
4
IE1
Exstart

DP
3

DP
3

IE1
IE14

IE8

IE


5

9

Exchang
e

IE12
IE12

IE12

Hình 3.5 Sự chuyển đổi trạng thái từ Init sang Full

1.4. Thiết lập mối quan hệ thân mật (Adjacency)
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 sẽ 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 Master/Slave 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ó
Page | 9


Chương 1: OSPF
Router ID thấp hơn sẽ là Slave 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 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 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 gói yêu cầu trạng thái liên kết để yêu
cầu 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ẽ xoá 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 xoá 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 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ảo 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 việc 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 RxmtInterval, 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 lại.
Khi quá trình đồng bộ hoàn tất, một trong hai sự chuyển đổi trạng thái sau sẽ xảy ra:
 Nếu vẫn còn các mục trong danh sách yêu cầu trạng thái liên kết, Router sẽ chuyển
trạng thái của Neighbor sang trạng thái Loading.
Page | 10


Chương 1: OSPF
 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.
1.5. Tràn lụt
Quá trình tràn lụt sử dụng hai loại gói OSPF sau:
 Gói cập nhật trạng thái liên kết (loại 4).
 Gói xác nhận trạng thái liên kết (loại 5).
Mỗi gói cập nhật và xác nhận trạng thái liên kết có thể mang nhiều LSA. Các LSA được
tràn lụt qua liên mạng, nhưng các gói cập nhật và xác nhận chỉ được truyền giữa hai node
thông qua Adjacency.

Hình 3.8 Các LSA được truyền qua Adjacency trong các gói cập nhật trạng thái liên kết

Trong mạng Point to Point: Các gói cập nhật được gửi tới địa chỉ multicast

AllSPFRouters (224.0.0.5).
Trong mạng Point to Multipoint và liên kết ảo: Các gói cập nhật được truyền Unicast tới
địa chỉ giao diện của các Neighbor kế cận.
Trong mạng quảng bá: Các DRother chỉ tạo Adjacency với DR và BDR. Do đó các gói
cập nhật được gửi tới địa chỉ AllDRoter (224.0.0.6). Sau đó DR sẽ phát Multicast các gói
cập nhật tới tất cả các Router kế cận trong mạng sử dụng địa chỉ AllSPFRouter và các
Router nay đến lượt mình sẽ gửi LSA ra tất cả các giao diện khác chạy OSPF của nó.

Page | 11


Chương 1: OSPF

Hình 3.9 Tràn lụt gói trong mạng quảng bá

1.5.1 Tràn lụt tin cậy sử dụng xác nhận
Mỗi LSA được truyền đi phải được xác nhận. Có hai kiểu xác nhận là: Xác nhận tuyệt đối
và xác nhận rõ ràng.
Xác nhận tuyệt đối: Xác nhận tuyệt đối việc đã nhận một LSA bằng cách gửi một gói cập
nhật chứa một LSA giống hệt trở lại node nguồn. Xác nhận tuyệt đối sử dụng hiệu quả
trong trường hợp Neighbor đang có ý định gửi cập nhật về node gốc.
Xác nhận rõ ràng: Bằng cách gửi gói xác nhận trạng thái liên kết có chứa các LSA
Header đủ để nhận dạng các LSA.
Khi LSA được gửi, một phiên bản của LSA được lưu trong danh sách truyền lại trạng thái
liên kết. LSA được truyền lại theo chu kì cho đến khi nhận được xác nhận hoặc khi

Page | 12


Chương 1: OSPF

Adjacency bị huỷ bỏ. Các gói cập nhật trạng thái liên kết chứa các LSA truyền lại luôn
phát theo kiểu unicast đối với mọi kiểu mạng.
1.5.2 Tràn lụt tin cậy sử dụng số trình tự, tổng kiểm tra, và tuổi
Mỗi LSA chứa ba giá trị là: số trình tự, tổng kiểm tra, và tuổi.
Số trình tự: Sử dụng 32 bit có giá trị từ số trình tự đầu tiên (0x80000001) đến số trình tự
lớn nhất (0x7fffffff). Khi Router tạo ra một LSA, nó lập số trình tự của LSA đó bằng số
trình tự đầu tiên. Mỗi lần Router tạo ra một phiên bản của LSA, số trình tự lại tăng lên
một đơn vị. Nếu số trình tự hiện tại là số trình tự lớn nhất và phải có một phiên bản mới
của LSA được tạo ra thì trước tiên Router đặt tuổi của LSA cũ đang tồn tại trong cơ sở dữ
liệu của các Neighbor bằng MaxAge và tràn lụt nó trên tất cả các Adjacency. Khi tất cả
các Neighbor kế cận biết được tuổi của LSA này là MaxAge thì phiên bản mới của LSA
này với số trình tự là số trình tự đầu tiên đã có thể được tràn lụt.
Tổng kiểm tra: Là một số nguyên 16 bit được tính toán dựa trên thuật toán Fletcher. Tổng
kiểm tra được tính toán dựa trên toàn bộ LSA ngoại trừ trường tuổi.Tổng kiểm tra của
mỗi LSA cũng được tính lại năm phút một lần khi chúng cư trú trong cơ sở dữ liệu để
đảm bảo LSA không bị thay đổi khi ở trong cơ sở dữ liệu.
Tuổi: Là một số nguyên 16 bit không dấu để chỉ ra tuổi của LSA tính theo giây. Phạm vi
của tuổi là từ 0 đến 3600 s (gọi là tuổi cực đại MaxAge). Khi Router tạo ra một LSA, nó
lập tuổi của LSA bằng 0. Mỗi khi LSA được chuyển tiếp qua một Router, tuổi của nó sẽ
tăng lên một số giây (InfTransDelay giây). Tuổi cũng được tăng lên khi LSA cư trú trong
cơ sở dữ liệu. Khi LSA đạt đến tuổi MaxAge, LSA sẽ được tràn lụt lại sau đó bị xoá khỏi
cơ sở dữ liệu. Do vậy khi Router cần xoá bỏ một LSA khỏi tất cả cơ sở dữ liệu, nó sẽ đặt
tuổi của LSA bằng MaxAge và tràn lụt lại LSA này. Chỉ có Router tạo ra LSA mới có thể
làm được điều này.
Khi nhận được nhiều phiên bản LSA giống nhau, Router sẽ xác định LSA mới nhất dựa
trên giải thuật sau:
 So sánh số trình tự: LSA có số trình tự cao hơn là LSA mới hơn.
 Nếu số trình tự bằng nhau, thì so sánh các tổng kiểm tra. LSA có tổng kiểm tra cao
nhất là LSA mới nhất.
 Nếu tổng kiểm tra bằng nhau thì so sánh tuổi. Nếu chỉ có một LSA có tuổi là

MaxAge, nó được coi là gần mới nhất. Ngược lại:

Page | 13


Chương 1: OSPF
 Nếu tuổi của LSA khác nhau hơn mười năm phút (Max Age Diff), LSA có tuổi
thấp hơn được chọn. Nếu không có điều kiện nào như trên xảy ra, hai LSA được
coi là giống hệt nhau.
1.6. Vùng (Area)
Lợi ích của việc 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à các 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í ít hơn 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.
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ặc16 và 0.0.0.16; 271 và 0.0.1.15 là tương đương).
Backbone: Area ID 0 được sử dụng cho mạng Backbone. Mạng Backbone là mạng chịu
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.

Page | 14



Chương 1: OSPF

1.6.1 Area có thể phân chia

Hình 3.10 Sự phân chia của Area

Area có thể phân chia: 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 nhau. Nếu một Area (không phải là Backbone) bị phân chia, và tất cả cá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ệtvà tạo ra hai miền
OSPF tách biệt nhau (hình 3.11).

Page | 15


Chương 1: OSPF

Hình 3.11 Sự phân chia của Area Backbone

1.6.2 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 sử dụng cho các mục đích 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) (xem 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) (xem hình 3.13).

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


Page | 16


Chương 1: OSPF

Hình 3.13 Liên kết ảo kết nối hai phần của Backbone thông qua Area 3

Liên kết ảo không gắn với một liên kết vật lí đặc biệt 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.
1.7. Các loại Router

Hình 3.14 Các loại Router
Page | 17


Chương 1: OSPF
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ó ít
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ạnh hơn so với Router nội. ABR có nhiệm vụ thu thập thông tin cấu hình của
các 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.
1.8. Cơ sở dữ liệu trạng thái liên kết
Các LSA nhận bởi Router được lưu 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á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 tuỳ 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ới của LSA (do nó tạo ra) với số trình tự tăng lên và tuổi bằng không. Trong lúc nhận,
các Router khác sẽ thay thế các bản copy LSA cũ và bắt đầu tính tuổi cho bản copy LSA
mới.
1.9. Các loại LSA
Router LSA: được tạo ra bởi mọi Router. LSA này chứa danh sách tất cả các liên kết của
Router cùng với trạng thái và chi phí (cost) đầu ra của mỗi liên kết. Các LSA này chỉ
được tràn lụt trong Area tạo ra nó.
Network LSA: được tạo ra bởi DR trong các mạng đa truy nhập. Network LSA chứa danh
sách tất cả các Router gắn với DR và cả DR. Các LSA này được tràn lụt trong Area tạo ra.
Page | 18


Chương 1: OSPF
Network Summary LSA: Được tạo ra bởi các ABR. Chúng được gửi vào Area để quảng
cáo cho các đích bên ngoài Area đó. Thực tế, các LSA này như một phương tiện mà ABR
dùng để nói cho các Router bên trong Area biết các đích bên ngoài mà ABR có thể tiếp
cận được. ABR cũng quảng cáo các đích bên trong Area gắn với nó cho các Router bên
trong Backbone bằng các LSA này.


Hình 3.17 Các Network Summary LSA mô tả các đích liên miền

Như vậy, OSPF là giao thức trạng thái liên kết trong một Area nhưng lại sử dụng giải
thuật vector khoảng cách để định tuyến liên vùng (inter - Area).
ASBR Summary LSA: được tạo ra bởi ABR. Nó giống hệt Network Summary LSA ngoại
trừ việc nó dùng để quảng cáo cho các đích đến là ASBR..

Page | 19


Chương 1: OSPF

Hình 3.18 ASBR Summary LSAquảng cáo các tuyến nối tới ASBR

AS External LSA (Autonomous System External LSA): Được tạo ra bởi các ASBR. Các
LSA này dùng để quảng cáo cho các đích bên ngoài hệ thống độc lập OSPF hoặc các
tuyến mặc định bên ngoài vào hệ thống độc lập OSPF.

Hình 3.19 AS External LSA quảng cáo các đích bên ngoài vào hệ thống độc lập

AS External LSA là LSA duy nhất trong cơ sở dữ liệu không liên kết với một Area nào.
Nó được tràn lụt thông qua hệ thống độc lập OSPF.
Page | 20


Chương 1: OSPF
LSA hội viên nhóm (Group Membership LSA): Sử dụng trong Multicast OSPF (MOSPF).
MOSPF định tuyến các gói từ một nguồn tới nhiều đích hay một nhóm thành viên chia sẻ
địa chỉ multicast lớp D.
NSSA External LSA: được tạo ra bởi các ASBR trong các not – so – stubby Area

(NSSAs). NSSA External LSA hầu như giống hệt với AS External LSA ngoại trừ việc
NSSA External LSA được tràn lụt chỉ trong NSSA tạo ra nó.
External attributes LSA (LSA thuộc tính ngoài): được đề xuất để chạy internal BGP
(iBGP) hợp lệ để truyền tải thông tin BGP qua miền OSPF. Tuy nhiên, nó chưa được triển
khai.
Opaque LSA (LSA mờ): gồm phần Header tiêu chuẩn và trường thông tin. Trường thông
tin có thể sử dụng cho OSPF hoặc bởi các ứng dụng khác để phân phối thông tin qua miền
OSPF. LSA này cũng chưa được triển khai.
1.10. Area cụt (Stub Area)
ASBR quảng cáo cho các đích bên ngoài bằng cách tràn lụt các External LSA qua hệ
thống độc lập OSPF. Các LSA này chiếm tỉ lệ lớn trong cơ sở dữ liệu của mỗi Router.

Hình 3.20 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

Ở 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 bên ngoài là gì.
Vì lí do này Area 2 được cấu hình như một Stub Area.
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 mặc
Page | 21


Chương 1: OSPF
định nếu như nó không tìm thấy tuyến nào phù hợp trong bảng định tuyến. Vì tuyến mặc
đị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.
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 được kích thước cơ sở dữ liệu của chúng.

1.11. 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ẽ ngă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.
1.12. Not - So – Stubby Area
Ở 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.

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 LSA
Page | 22


Chương 1: OSPF
loại 7 để quảng cáo cho các đích 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.22

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 xoá bit P. Nếu ABR của NSSA nhận được một LSA 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 NSSA.
1.13. Bảng định tuyến
Giải thuật SPF của Dijkstra được sử dụng để tính toán cây đường đi ngắn nhất từ các LSA
trong cơ sở dữ liệu trạng thái liên kết. Giải thuật SPF được chạy lần thứ nhất để xây dựng
các cành của cây SPF. Giải thuật chạy lần thứ hai để thêm lá vào cây. Các lá chính là các
mạng cụt gắn với mỗi Router.
OSPF xác định đường đi ngắn nhất dựa trên một metric tuỳ ý gọi là cost (chi phí) gắn với
mỗi giao diện. Cost của một tuyến là tổng các cost của tất cả các giao diện đầu ra tới đích.
RFC 2328 không chỉ rõ giá trị cho cost.
1.14. Các loại đường
Có bốn loại đường là: đường nội vùng, đường liên vùng, đường ngoài loại 1, và đường
ngoài loại 2.
Page | 23


Chương 1: OSPF
Đường nội vùng: là đường nối tới các đích trong các Area gắn với Router.
Đường liên vùng: là đường nối tới các đích trong các Area khác nhưng vẫn nằm trong hệ
thống độc lập OSPF. Đường liên vùng luôn đi qua ít nhất một ABR.
Đường ngoài loại 1(E1): là đường tới các đích bên ngoài hệ thống độc lập OSPF. Khi một
tuyến bên ngoài được quảng các vào một hệ thống độc lập, nó phải được gán một metric
có ý nghĩa đối với giao thức định tuyến của hệ thống độc lập. Trong OSPF, ASBR chịu
trách nhiệm gán cost cho các tuyến bên ngoài mà nó quảng cáo. Các đường ngoài loại 1
có cost bằng tổng của cost bên ngoài này cộng với cost của đường dẫn tới ASBR.
Đường ngoài loại 2 (E2): cũng là đường tới các đích bên ngoài hệ thông độc lập OSPF
nhưng nó không tính phần cost của đường tới ASBR.

Hinh 3.23


Ở hình 3.23, Router A có hai đường tới đích bên ngoài 10.1.2.0. Nếu đích được quảng cáo
theo kiểu đường E1, đường A-B-D có cost là 35 (5+20+10) sẽ được chọn so với đường AC-D có cost là 50 (30+10+10). Nhưng nếu đích được quảng cáo theo kiểu đường E2, thì
đường A-C-D có cost là 20 (10+10) sẽ được chọn so với đường A-B-D có cost là 30
(20+10).
1.15. Tra bảng định tuyến
Khi một Router OSPF kiểm tra địa chỉ đích của gói, nó sẽ thực hiện các bước sau để lựa
chọn đường đi ngắn nhất:
1. Chọn tuyến phù hợp nhất với địa chỉ đích. Ví dụ nếu có các thực thể định tuyến
ứng với địa chỉ 172.16.64.0/18; 172.16.64.0/24; và 172.16.64.192/27 và địa chỉ
đích là 172.16.64.205 thì thực thể cuối cùng sẽ được chọn. Thực thể được chọn
luôn là thực thể phù hợp dài nhất (tuyến với mặt nạ địa chỉ dài nhất). Nếu không
Page | 24


×