b. Giao thức thông tin định tuyến phiên bản RIPv2
3.2.1 Giao thức Hello
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.
• 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
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
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ó.
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
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.
Link State Request List: Là danh sách các LSA trong cá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ận 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.6.3 Các trạng thái Neighbor
Một Router sẽ chuyển Router 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, Loadinh, 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 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 đầu tiên của 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 Attemp khi một giao diện nối tới Neighbor được kích hoạt đầu tiên khi Router là DR hoặc BDR. Một khi Router sẽ gửi các gói tin một Neighbor ở trạng thái Attempt theo chu kỳ HelloInterval thay vì PollInterval.
Hình 3.2 Sự chuyển đổi trạng thái từ Down sang Full
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 hợp 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. Trong mạng đa truy nhập, Neighbor 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 Neighbor ở trạng thái Init sẽ chuyển Neighbor này sang trạng thái 2-Way.
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 đã chỉ ra ở trạng thái Exchange nhưng chưa nhận được