Tải bản đầy đủ (.docx) (31 trang)

BÁO cáo bài tập lớn môn MẠNG máy TÍNH

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 (922.89 KB, 31 trang )

MỤC LỤC
CHƯƠNG 1: TỔNG QUÁT VỀ GIAO THỨC ĐỊNH TUYẾN RIP
1. Lịch sử hình thành giao thức định tuyến RIP
2. Định nghĩa giao thức định tuyến RIP
3. Phạm vi ứng dụng của giao thức định tuyến RIP
CHƯƠNG 2: HOẠT ĐỘNG CỦA GIAO THỨC ĐỊNH TUYẾN RIP
1. Đặc điểm
2. Bộ đếm thời gian của RIP
3. Định tuyến vector theo khoảng cách
3.1: Vector khoảng cách
3.2Vấn đề và các phương pháp giải quyết vòng lặp
CHƯƠNG 3: PHÂN LOẠI GIAO THỨC ĐỊNH TUYẾN RIP
1. Sơ lược
2. Cấu hình cơ bản của Ripv1
3. Cấu hình cơ bản của Ripv2
CHƯƠNG 4: THIẾT LẬP BẢN MÔ PHỎNG GIAO THỨC ĐỊNH
TUYẾN RIP
1. Cài đặt phần mềm mô phỏng NS2
2. Thiết lập bản mô phỏng giao thức định tuyến RIP
KẾT LUẬN
DANH MỤC TÀI LIỆU THAM KHẢO

NỘI DUNG
CHƯƠNG 1: TỔNG QUÁT VỀ GIAO THỨC ĐỊNH TÍNH RIP
1. Lịch sử hình thành


Ngày nay, một liên mạng có thể lớn đến mức một giao thức định tuyến
không thể xử lý hết công việc cập nhập các bảng định tuyến của các bộ
định tuyến. Vì lý do này, liên mạng được chia thành nhiều hệ thông tự trị
( AS – Autonomous System ). Hệ thống tự trị là một nhóm các mạng và


bộ định tuyến có chung chính sách quản trị. Nó đôi khi còn được gọi là
miền định tuyến ( routing domain ). Các giao thức định tuyến được sử
dụng bên trong AS được gọi là các giao thức định tuyến nội miền IGP
( Interior Gateway Protocol ). Để thực hiện định tuyến giữa các AS với
nhau, chúng ta phải sử dụng một giao thức riêng gọi là giao thức định
tuyến ngoại miền EGP ( Exterior Gateway Protocol ). Routing
Information Protocol ( RIP ) được thiết kế như là một giao thức IGP dung
cho các AS có kích thước nhỏ, không sử dụng cho các mạng lớn và phức
tạp.
Routing Information Protocol (RIP) là giao thức định tuyến vector khoảng cách
(Distance Vector Protocol) xuất hiện vào năm 1970 bởi Xerox như là một phần của
bộ giao thức Xerox Networking Services (XNS). Và sau đó RIP được chấp nhận
rộng rải trước khi có một chuẩn chính thức được xuất bản. Đến năm 1988 RIP mới
được chính thức ban bố trong RFC1058 bởi Charles Hedrick. RIP được sử dụng
rộng rãi do tính chất đơn giản và tiện dụng của nó.
2. Định nghĩa giao thức định tuyến RIP
RIP là một giao thức định tuyến miền trong được sử dụng trong các hệ thống tự trị.
Giao thức thông tin định tuyến thuộc loại giao thức định tuyến khoảng cách vector,
giao thức sử dụng giá trị để đo lường là số bước nhảy ( hop-count ) trong đường đi
từ nguồn đến đích. Mỗi bước đi trong đường đi từ nguồn đến đích được coi như là
có giá trị bằng một hop-count. Khi một bộ định tuyến nhận được một bản tin cập
nhập định tuyến cho các gói tin thì nó sẽ cộng một vào giá trị đo lường đồng thời
cập nhập vào bảng định tuyến.
RIP sử dụng hop-count như một thước đo định tuyến để tìm kiếm đường đi tốt nhất
giữa hai điểm. Hop-count là số lượng Router mà một packet phải đi qua cho đến
khi đến được địa chỉ đích. Để tránh tình trạng Lop vô tận thì RIP giới hạn Hopcount tối đa là 16. Khi một Router nhận được một thông tin láng giềng Router sẽ
tăng chỉ số Hop lên 1 vì Router cũng xem nó là 1 Hop trên đường đi, nếu sau khi
tăng chỉ số Hop lên 1 mà chỉ số này lớn hơn 15 thì Router xem như không tồn tại
mạng đích trên tuyến đường này.



3. Phạm vi ứng dụng của giao thức định tuyến RIP
RIP được thiết kế như là một giao thức IGP dùng cho hệ thống tự trị AS có
kích thước nhỏ, do đó, RIP chỉ sử dụng được cho các mạng nhỏ, không sử
dụng cho những hệ thống lớn và phức tạp. Bởi vì:
- RIP sử dụng giao thức định tuyến theo vector khoảng cách tốn ít tài nguyên
hệ thống nhưng tốc độ đồng bộ giữa các bộ định tuyến lại chậm. Mà đối với
một mạng lớn hay phức tạp thì lại gồm nhiều bộ định tuyến nên RIP không
thích hợp với những mạng lớn hay phức tạp.
- RIP giới hạn số hop-count tối đa là 15 ( bất kì mạng đích nào có số hopcount lớn hơn 15 coi như mạng đó không đến được). Số lượng hop-count là
15 sẽ không đủ cho một hệ thống mạng lớn.
- Khi cấu trúc mạng thay đổi thì thông tin cập nhập phải được sử lý trong
toàn hệ thống nên điều này rất khó thực hiện đối với mạng lớn vì rất dễ xảy
ra hiện tượng nghẽn mạng.
- Do sử dụng thuật toán định tuyến theo vector khoảng cách nên tốc độ hội
tụ chậm ( Trạng thái hội tụ là tất cả các bộ định tuyến trong hệ thống mạng
đều có thông tin định tuyến về hệ thống mạng và chính xác), do vậy, đối với
mạng lớn hay phức tạp sẽ mất rất lâu mới hội tụ được.

CHƯƠNG 2: HOẠT ĐỘNG CỦA GIAO THỨC ĐỊNH TUYẾN RIP
1. Đặc điểm
RIP (Routing information protocol)- ( Giao RIP là một chuẩn hóa của giao thức
Vector khoảng cách, được thiết kế dùng trong mạng phạm vi nhỏ). RIP là một
trong những giao thức đầu tiên của giao thức vector khoảng cách, và được hỗ trợ
trong một khoảng cách lớn.
RIP là giao thức định tuyến vector khoảng cách điển hình, là nó đều đặn gửi toàn
bộ routing table ra các Router hàng xóm và các Router này sẽ phát tán ra tất cả
Router bên cạnh đều đặn theo chu kỳ là 30 giây. RIP chỉ sử dụng metric là hopcount để tính ra tuyến đường tốt nhất tới mạng đích. Thuật toán mà RIP sử dụng để
xây dựng nên routing table là Bellman-Ford.



Các đặc tính khác của RIP bao gồm:
• RIP hỗ trợ định tuyến IP và IPX.
• RIP sử dụng cổng UDP 520
• Tuyến RIP có khoảng cách hành chính là 120.
• RIP có tổng số hopcount tối đa là 15 bước.
Bất kỳ mạng nào có từ 16 hops trở lên được coi là không thể truy cập tới RIP,do đó
đường kính tối đa của mạng là 15 bước nhảy. Một thước đo 16 bước nhảy trong
RIP được coi là con đường độc hại hoặc số liệu vô hạn. Nếu nhiều đường dẫn tồn
tại đến một điểm đến cụ thể, RIP sẽ nạp cân bằng giữa các đường dẫn (theo mặc
định, tối đa 4) chỉ khi chỉ số (hop-count) tương đương. RIP sử dụng một hệ thống
round-robin cân bằng tải giữa tương đương.
Ví dụ: hai con đường có thể tồn tại cho một điểm đến cụ thể, một sẽ thông qua một
liên kết 9600 baud, còn lại thông qua một T1. Nếu số liệu (hop-count) là bình


đẳng, RIP sẽ cân bằng tải, gửi lượng lưu lượng truy cập bằng 9600 baud liên kết
và T1. Điều này sẽ làm liên kết đến trở nên tắc nghẽn.
2. Bộ đếm thời gian của RIP
- RIP có bốn bộ định thời cơ bản:
Cập nhật Timer (mặc định là 30 giây) - cho biết tần suất router sẽ
Gửi bản cập nhật bảng định tuyến.
Bộ định thời không hợp lệ (mặc định là 180 giây) - chỉ định một tuyến đường sẽ
kéo dài bao lâu
Vẫn trong bảng định tuyến trước khi được đánh dấu là không hợp lệ, nếu không có
bản cập nhật mới
Được nghe về tuyến đường này. Bộ hẹn giờ không hợp lệ sẽ được đặt lại nếu cập
nhật là
Nhận được cho tuyến đường cụ thể đó trước khi hẹn giờ hết hạn.
Một tuyến đường được đánh dấu là không hợp lệ sẽ không bị xóa ngay lập tức

bàn. Thay vào đó, tuyến đường được đánh dấu (và được quảng cáo) với một số liệu
là 16,
Cho thấy nó không thể tiếp cận, và được đặt trong trạng thái hold-down.
Hold-down Timer (mặc định là 180 giây) - chỉ ra thời lượng RIP sẽ
"Đàn áp" một tuyến đường mà nó đã đặt trong trạng thái tạm giữ. RIP sẽ không
Chấp nhận bất kỳ bản cập nhật mới nào cho các tuyến đường trong trạng thái tạm
giữ, cho đến khi dừng xuống
Hẹn giờ hết hạn.
Một tuyến đường sẽ nhập vào trạng thái tạm giữ bởi một trong ba lý do:
• Bộ hẹn giờ không hợp lệ đã hết hạn.
• Đã nhận được bản cập nhật từ một bộ định tuyến khác, đánh dấu tuyến đó
Với một số liệu là 16 (hoặc không thể truy cập được).
• Đã nhận được bản cập nhật từ một bộ định tuyến khác, đánh dấu tuyến đường đó
Với một số liệu cao hơn những gì hiện tại trong bảng định tuyến. Đây là
Để ngăn chặn các vòng lặp.
Flush Timer (mặc định 240 giây) - chỉ ra thời gian một tuyến có thể duy trì trong
bảng định tuyến trước khi bị tràn, nếu không có thông tin cập nhật mới về tuyến
đường này. Bộ hẹn giờ chạy đồng thời với bộ đếm thời không hợp lệ, và do đó sẽ
bung ra một tuyến đường 60 giây sau khi nó đã được đánh dấu là không hợp lệ.
Bộ định thời RIP phải giống hệt nhau trên tất cả các bộ định tuyến trên mạng RIP,
nếu không sự bất ổn định lớn sẽ xảy ra.
- Cấu hình đếm thời gian của RIP và ví dụ:


Xem xét ví dụ trên. Router A nhận được bản cập nhật RIP từ Router B Bao gồm
mạng 172.18.0.0. Router A thêm mạng này vào bảng định tuyến của nó :
RouterA# show ip route
Gateway of last resort is not set
C 172.16.0.0 is directly connected, Ethernet0
C 172.17.0.0 is directly connected, Serial0

R 172.18.0.0 [120/1] via 172.17.1.2, 00:00:00, Serial0
Ngay lập tức, Router A đặt một bộ hẹn giờ không hợp lệ là 180 giây và thiết lập
hẹn giờ tuôn ra 240 giây cho tuyến đường này, chạy đồng thời. Nếu không có cập
nhật, tuyến đường được nghe trong 180 giây, một vài điều sẽ xảy ra:
• Các tuyến đường được đánh dấu là không hợp lệ trong bảng định tuyến.
• Tuyến đi vào trạng thái hold-down (kích hoạt bộ đếm giữ).
• Các tuyến đường được quảng cáo cho tất cả các bộ định tuyến khác là không thể
truy cập.
Thời gian giữ bộ đếm thời gian chạy 180 giây sau khi tuyến đường được đánh dấu
là không hợp lệ. Router sẽ không chấp nhận bất kỳ bản cập nhật mới cho tuyến
đường này cho đến khi thời gian giữ xuống hết hạn. Nếu không có bản cập nhật
nào được nghe thấy, tuyến đường sẽ được gỡ bỏ khỏi bảng định tuyến một lần khi
bộ đếm thời gian xả hết, tức là 60 giây sau khi tuyến đường được đánh dấu là
không hợp lệ. Hãy nhớ rằng các bộ đếm thời gian không hợp lệ và tuôn ra chạy
đồng thời.
Để cấu hình bộ tính giờ RIP:
Router(config)# router rip
Router(config-router)# timers basic 20 120 120 160
Lệnh cơ bản đếm giờ cho phép chúng ta thay đổi bản cập nhật (20), không hợp lệ
(120), giữ (120), và tuôn ra (240) giờ. Để trả về bộ đếm giờ trở lại mặc định của
chúng, gõ:


Router(config-router)# no timers basic
3. Định tuyến theo vector khoảng cách:
Định tuyến theo vector khoảng cách thực hiện truyền bản sao của bộ định tuyến
này sang bộ định tuyến khác theo chu kì. Việc cập nhập định kì giữa các bộ định
tuyến giúp trao đổi thông tin khi cấu trúc mạng thay đổi.
Bộ định tuyến thu thập thông tin về khoảng cách đến các mạng khác, từ đó nó xây
dựng và bảo trì một cơ sở dữ liệu về thông tin định tuyến trong mạng.. Tuy nhiên,

hoạt động theo thuật toán vector khoảng cách như vậy thì bộ định tuyến sẽ không
biết được cấu trúc của toàn bộ hệ thống mà chỉ biết được các bộ định tuyến lân cận
kết nối với nó.
Khi sử dụng định tuyến theo vector khoảng cách, bước đầu tiên là bộ định tuyến
phải xác định các bộ định tuyến lân cận với nó. Các mạng kết nối trực tiếp vào
cổng giao tiếp của bộ định tuyến sẽ có khoảng cách là 0. Còn đường đi tới các
mạng không kết nối trực tiếp vào bộ định tuyến thì bộ định tuyến sẽ chọn con
đường tốt nhất trên thông tin mà nó khai thác được. Ví dụ như hình 1: Bộ định
tuyến A nhận được thông tin về các bộ định tuyến khác từ bộ định tuyến B. Các
thông tin này được đặt trong bảng định tuyến với vector khoảng cách đã được tính
toán lại cho biết từ bộ định tuyến A đi đến mạng đích thì đi theo hướng nào,
khoảng cách là bao nhiêu.

Bảng định tuyến được cập nhập khi cấu trúc mạng có sự thay đổi. Quá trình cập
nhập này diễn ra từng bước một từ bộ định tuyến này sang bộ định tuyến khác. Khi


cập nhập, mỗi bộ định tuyến gửi đi toàn bộ bảng định tuyến của nó cho các bộ định
tuyến lân cận. Trong bảng định tuyến có thông tin về đường đi tới của từng mạng
đích: tổng chi phí cho đường đi, địa chỉ của bộ định tuyến kế tiếp.
3.1 Vector khoảng cách
Thuật toán vector khoảng cách (hay còn gọi là thuật toán Bellman Ford) yêu cầu
của mỗi bộ định tuyến một phần hoặc toàn bộ bảng định tuyến cho các bộ định
tuyến lân cận kết nối trực tiếp với nó. Dựa vào thông tin cung cấp bới các bộ định
tuyến lân cận, thuật toán vector khoảng cách sẽ lựa chọn đường đi tốt nhất.
Sử dụng các giao thức định tuyến theo vector khoảng cách thường tốn ít tài nguyên
hệ thống nhưng tốc độ đồng bộ giữa các bộ định tuyến lại chậm và thông số được
sử dụng để lựa chọn đường đi có thể không phù hợp với các mạng lớn. Chủ yếu
các giao thức định tuyến theo vector khoảng cách chỉ xác định được đường đi dựa
theo những bước nhảy và hướng đi đến đích. Theo thuật toán này, các bộ định

tuyến sẽ trao đổi các bảng định tuyến với nhau theo định kì. Do vậy, loại định
tuyến này đơn giản là mỗi bộ định tuyến chỉ trao đổi được bảng định tuyến với các
bộ định tuyến lân cận của mình. Khi nhận được các bảng định tuyến từ các bộ định
tuyến lân cận, bộ định tuyến sẽ lấy con đường nào đi đến mạng đích có chi phí thấp
nhất rồi cộng thêm khoảng cách của mình vào đó thành một thông tin hoàn chỉnh
về con đường đi tới mạng đích với hướng từ chính nó đến đích và bổ sung vào
bảng định tuyến, sau đó bộ định tuyến lấy bảng định tuyến đó gửi đi để cập nhập
tiếp cho các bộ định tuyến kế cận khác.


3.2 Vấn đề và các phương pháp phải quyết vòng lặp
RIP là một giao thức định tuyến theo thuật toán Vector khoảng cách nên rất dễ rơi
vào vòng lặp.

Giả sử không có cơ chế tránh vòng lặp được cài đặt trên cả hai router. Nếu mạng
172.18.0.0 không thành công, Router B sẽ gửi một bản cập nhật cho Router A
trong vòng 30s (bất cứ khi nào bộ đếm thời gian cập nhật của nó hết hạn) nói rằng
tuyến đường đó không thể kết nối được (số liệu = 16).
Nhưng điều gì sẽ xảy ra nếu trước đó có một bản cập nhật từ Router A gửi đến
Router B ? Router A tin rằng nó có thể truy cập mạng 172.18.0.0 trong 1 lần lop
(thông qua Router B). Điều này sẽ gây nên Router B tin tưởng nó có thể truy cập
vào mạng 172.18.0.0 không hoạt động trong 2 lần lop,thông qua Router A.Cả 2
Router sẽ tiếp tục tăng số liệu cho mạng, cho tới khi chúng đạt số lần lop là 16,sau
đó sẽ hiển thị là không thế tiếp cận. Hành vi này gọi là đếm đến vô cùng.


Làm thế nào chúng ta có thể ngăn ngừa điều này xảy ra? Có một số cơ chế tránh
vòng lặp:
Split-Horizon - Ngăn chặn một bản cập nhật định tuyến được gửi ra giao diện nó
đã nhận được trên. Trong ví dụ trên, điều này sẽ ngăn Router A gửi bản cập nhật

cho mạng 172.18.0.0 trở lại Router B ,như ban đầu nó đã nhận được các tuyến
đường từ Router B. Chế độ Split-Horizon được bật mặc định trên Cisco Routers.
Route-Poisoning – Hoạt động kết hợp với Split-Horizon,bằng cách kích hoạt một
bản tự động cập nhật cho mạng không hoạt động, mà không cần chờ thời gian cập
nhật hết hạn.Bản cập nhật này được gửi ra khỏi tất cả các giao diện với một số liệu
vô hạn cho mạng đó.
Hold-Down Timers - Ngăn chặn RIP chấp nhận bất kỳ bản cập nhật mới cho các
tuyến đường trong trạng thái hold-down, Cho đến khi bộ đếm thời gian hold-down
hết hạn. Nếu Router A gửi bản cập nhật cho Router B với số liệu cao hơn so với số
liệu hiện tại của bảng định tuyến Router B,tuyến đường đó sẽ được đặt trong trạng
thái tạm dừng.( Số liệu của Router A cho mạng 172.18.0.0 là 1; Trong khi chỉ số
của Router B Là 0)

RIP Passive Interfaces
Có thể kiểm soát các giao diện bộ định tuyến sẽ tham gia vào quá trình RIP.
Hãy xem xét các tình huống sau. Router C không muốn tham gia vào miền RIP.
Tuy nhiên, nó vẫn muốn nhận bản cập nhật được gửi từ Router B, mà không cần
gửi bất kỳ bản cập nhật nào trở lại Router B:
RouterC(config)# router rip
RouterC(config-router)# network 10.4.0.0
RouterC(config-router)# network 10.2.0.0
RouterC(config-router)# passive-interface s0
Lệnh passive interface sẽ ngăn không cho các bản cập nhật được gửi ra khỏi giao
diện Serial0, nhưng Router C vẫn sẽ nhận được các cập nhật trên giao diện này.


Chúng ta có thể cấu hình tất cả các giao diện thụ động bằng việc sử dụng lệnh
passive-interface default,sau đó sử dụng lệnh no passive-interface trên giao diện
chúng ta muốn gửi cập nhật đến:
RouterC(config)# router rip

RouterC(config-router)# network 10.4.0.0
RouterC(config-router)# network 10.2.0.0
RouterC(config-router)# passive-interface default
RouterC(config-router)# no passive-interface e0

RIP Neighbors
Nhớ lại rằng RIPv1 gửi bản cập nhật của nó dưới dạng broadcasts, trong khi RIPv2
gửi bản cập nhật của nó dưới dạng multicast tới địa chỉ 224.0.0.9. Chúng ta có thể
cấu hình cụ thể các lệnh RIP neighbor , sẽ cho phép chúng ta unicast các bản cập
nhật định tuyến tới các neighbors.
Trên Router B:
RouterB(config)# router rip
RouterB(config-router)# network 10.3.0.0
RouterB(config-router)# network 10.4.0.0
RouterB(config-router)# neighbor 10.3.5.1
RouterB(config-router)# neighbor 10.4.5.1
Router B sẽ unicast các bản cập nhật RIP cho Router A và Router C.
Tuy nhiên, Router B vẫn sẽ broadcast (nếu RIPv1) hoặc multicast (nếu RIPv2) cập
nhật của nó, ngoài việc gửi bản cập nhật unicast cho các neighbors.
Để ngăn chặn cập nhật broadcast / multicast, chúng ta cũng phải sử dụng lệnh
passive interfaces :
RouterB(config)# router rip
RouterB(config-router)# passive-interface s0
RouterB(config-router)# passive-interface s1


RouterB(config-router)# neighbor 10.3.5.1
RouterB(config-router)# neighbor 10.4.5.1
Lệnh passive-interface Ngăn không cho các bản cập nhật được broadcast hoặc
multicast. Lệnh neighbor Vẫn cho phép cập nhật unicast cho những neighbors đặc

biệt.

RIPv2 Authentication
RIPv2 hỗ trợ xác thực để đảm bảo cho việc cập nhật định tuyến
Bước đầu tiên là tạo một key chia sẻ xác thực phải giống nhau trên cả hai bộ định
tuyến. Điều này được thực hiện trong chế độ cấu hình toàn cầu:
RouterA(config)# key chain MYCHAIN
RouterA(config-keychain)# key 1
RouterA(config-keychain-key)# key-string MYPASSWORD
RouterB(config)# key chain MYCHAIN
RouterB(config-keychain)# key 1
RouterB(config-keychain-key)# key-string MYPASSWORD
Lệnh đầu tiên là tạo 1 key chain gọi là MYCHAIN. Chúng ta phải liên kết một key
tới keychain của chúng ta.Sau đó chúng ta cài đặt shared key bằng cách sử dụng
lệnh key-string.
Sau đó chúng ta áp dụng key chain vào giao diện kết nối với các bộ định tuyến
khác:
RouterA(config)# interface s0
RouterA(config-if)# ip rip authentication key-chain MYCHAIN
RouterB(config)# interface s0
RouterB(config-if)# ip rip authentication key-chain MYCHAIN
Nếu có một router khác thoát khỏi cổng Ethernet của Router B, chúng ta có thể tạo
một separate key chain với một key-string khác.


Mỗi router trên miền RIP không cần phải sử dụng một key chain giống nhau, Chỉ
có các giao diện kết nối trực tiếp hai (hoặc nhiều hơn) các router.
Bước cuối cùng trong việc định cấu hình xác thực là xác định mã hoá nào cần sử
dụng. Theo mặc định, key được gửi bằng văn bản:
RouterA(config)# interface s0

RouterA(config-if)# ip rip authentication mode text
Hoặc chúng ta có thể sử dụng mã hóa MD5 để tăng cường bảo mật:
RouterA(config)# interface s0
RouterA(config-if)# ip rip authentication mode md5
Cho dù văn bản hoặc MD5 được sử dụng, nó phải giống nhau trên cả hai router.

Altering RIP’s Metric
Xem xét ví dụ trên. Router B có hai đường đi đến mạng 192.168.100.0, thông qua
Router A và Router C. vì số liệu là bằng nhau (1 hop), Router B sẽ được tải cân
bằng giữa hai con đường này. Điều gì sẽ xảy ra nếu chúng ta muốn Router B chỉ đi
qua Router A, Và sử dụng Router Chỉ như một bản sao lưu? Để thực hiện điều này,
chúng ta có thể điều chỉnh số liệu của RIP để làm cho một tuyến đường được ưa
thích hơn tuyến kia.
Bước đầu tiên là tạo một danh sách truy cập trên Router B để xác định đường mà
chúng ta muốn thay đổi:
RouterB(config)# ip access-list standard MYLIST
RouterB(config-std-nacl)# permit 192.168.100.0 0.0.0.255
Tiếp theo, chúng ta sẽ nói RIP bao nhiêu để bù lại tuyến đường này nếu được nhận
bởi Router C:
RouterB(config)# router rip
RouterB(config-router)# offset-list MYLIST in 4 s1
Chúng ta chỉ định một danh sách bù trừ trỏ đến danh sách truy cập của chúng ta
được đặt tên MYLIST. Chúng ta sẽ tăng số liệu định tuyến bằng 4 cho tuyến đường
đến vào để giao diện Serial 1.


Do đó, khi Router C gửi bản cập nhật đến Router C cho mạng 192.168.100.0,
Router B sẽ tăng số liệu của 1 hop đến 5 hop, do đó làm cho tuyến Router A được
ưu tiên hơn.
Chúng ta cũng có thể cấu hình Router C để quảng cáo tuyến đường với một số liệu

cao hơn (chú ý đến lệnh out-off):
RouterC(config)# ip access-list standard MYLIST
RouterC(config-std-nacl)# permit 192.168.100.0 0.0.0.255
RouterC(config)# router rip
RouterC(config-router)# offset-list MYLIST out 4 s0

Interoperating between RIPv1 and RIPv2
Nhớ lại rằng, với một số cấu hình, RIPv1 và RIPv2 có thể tương tác. Theo mặc
định:
• Các bộ định tuyến RIPv1 sẽ chỉ gửi các gói tin Phiên bản 1
• Các bộ định tuyến RIPv1 sẽ nhận được cả cập nhật phiên bản 1 và 2
• Các bộ định tuyến RIPv2 sẽ gửi và nhận chỉ cập nhật phiên bản 2
Nếu Router A đang chạy RIP v1, và Router B đang chạy RIPv2, một số cấu hình bổ
sung là cần thiết.
Hoặc chúng ta phải cấu hình Router A để gửi bản cập nhật phiên bản 2:
RouterA(config)# interface s0
RouterA(config-if)# ip rip send version 2
Hoặc cấu hình Router B để chấp nhận cập nhật phiên bản 1:
RouterB(config)# interface s0
RouterB(config-if)# ip rip receive version 1
Lưu ý rằng đây được cấu hình trên một giao diện. Về cơ bản, chúng ta đang định
cấu hình phiên bản RIP trên cơ sở mỗi giao diện.
Chúng ta cũng có thể có một giao diện gửi hoặc nhận cả hai phiên bản đồng thời:
RouterB(config)# interface s0


RouterB(config-if)# ip rip receive version 1 2
Chúng ta có thể tiếp tục gửi RIPv2 để gửi các bản cập nhật phát sóng, thay vì các
multicast:
RouterB(config)# interface s0

RouterB(config)# ip rip v2-broadcast

Triggering RIP Updates
Trên các giao diện điểm-điểm, chúng ta có thể buộc RIP chỉ gửi bản cập nhật định
tuyến nếu có sự thay đổi:
RouterB(config)# interface s0.150 point-to-point
RouterB(config-if)# ip rip triggered
Một lần nữa, điều này chỉ áp dụng cho các liên kết điểm-điểm. Chúng ta không thể
cấu hình RIP kích hoạt các bản cập nhật trên một mạng Ethernet.

Troubleshooting RIP
Đã có nhiều lệnh xử lý sự cố khác nhau cho RIP.
Xem bảng định tuyến IP:
Router# show ip route
<Loại bỏ tiêu đề không liên quan>
Cổng vào của phương án cuối cùng không được thiết lập
C

172.16.0.0 is directly connected, Ethernet0

C

172.17.0.0 is directly connected, Serial0

R

172.18.0.0 [120/1] via 172.17.1.2, 00:00:15, Serial0

R


192.168.123.0 [120/1] via 172.16.1.1, 00:00:00, Ethernet0

Xem một tuyến đường đặc biệt trong bảng định tuyến IP:
Router# show ip route 172.18.0.0 Routing entry for 172.18.0.0/16


Known via “rip”, distance 120, metric 1
Last update from 172.17.1.2 on Serial 0, 00:00:15 ago
Để gỡ rối RIP trong thời gian thực:
Router# debug ip rip
Để xem thông tin cụ thể cho giao thức RIP:
Router# show ip protocols
Routing Protocol is "rip"
Gửi bản cập nhật mỗi 30 giây, tiếp theo là trong 20 giây
Không hợp lệ sau 180 giây, giữ 180, tuôn ra sau 240
Danh sách bộ lọc cập nhật đi cho tất cả các giao diện không được đặt
Không cập nhật danh sách lọc cập nhật cho tất cả các giao diện
Các tuyến đến sẽ được thêm vào số liệu 4 nếu có trong danh sách 1
Phân phối lại: kết nối, tĩnh, tách
Kiểm soát phiên bản mặc định: gửi phiên bản 1, nhận bất kỳ phiên bản nào
Interface
Ethernet0
Serial0

Send
1
12

Recv Triggered
1 2

1 2

RIP Key-chain

Tóm tắt mạng tự động có hiệu lực
Đường dẫn tối đa: 4
Định tuyến cho Mạng:
172.16.0.0
172.17.0.0
Thông tin định tuyến Nguồn:
Gateway
172.17.1.2
Distance: (default is 120)

Distance
120

Last Update
00:00:17


Lệnh này cung cấp cho chúng ta thông tin về bộ định thời RIP, trên các phiên bản
RIP được định cấu hình trên mỗi giao diện và các mạng cụ thể RIP là quảng cáo.
Xem tất cả các tuyến trong cơ sở dữ liệu RIP, và không chỉ các mục được thêm vào
bảng định tuyến:
Router# show ip rip database
7.0.0.0/8 auto-summary
7.0.0.0/8
[5] via 172.16.1.1, 00:00:06, Ethernet0
172.16.0.0/16 directly connected, Ethernet0

172.17.0.0/16 directly connected, Serial0

CHƯƠNG 3: PHÂN LOẠI GIAO THỨC ĐỊNH TUYẾN RIP
1. Sơ lược về hai phiên bản của Ripv1
RIP có hai phiên bản, Phiên bản 1 (RIPv1) và Phiên bản 2 (RIPv2).
RIPv1 (RFC 1058) là lớp đầy đủ, và do đó không bao gồm mặt nạ mạng con
với bảng cập nhật bảng định tuyến. Vì lý do này, RIPv1 không hỗ trợ mặt nạ
Subnet Độ dài Variable Length (VLSM). Khi sử dụng RIPv1, mạng phải
được tiếp giáp, và các mạng con của một mạng lớn phải được cấu hình với
mặt nạ mạng con giống hệt nhau. Nếu không, bảng đường không đều (hay tệ
hơn) sẽ xảy ra.
RIPv1 gửi bản cập nhật như chương trình phát sóng tới địa chỉ 255.255.255.255.


 RIPv2 (RFC 2543) là không phân lớp, do đó bao gồm mặt nạ mạng con với
bảng cập nhật định tuyến của nó. RIPv2 hỗ trợ đầy đủ VLSM, cho phép
mạng không liên quan và các mặt nạ mạng con khác nhau để tồn tại.
Những cải tiến khác của RIPv2 bao gồm:
• Cập nhật định tuyến được gửi qua multicast, sử dụng địa chỉ 224.0.0.9
• Chứng thực được mã hóa có thể được cấu hình giữa các bộ định tuyến RIPv2
• Thẻ gắn thẻ được hỗ trợ (được giải thích trong phần sau)
RIPv2 có thể tương tác với RIPv1. Theo mặc định:
• Các bộ định tuyến RIPv1 sẽ chỉ gửi các gói tin Phiên bản 1
• Các bộ định tuyến RIPv1 sẽ nhận được cả cập nhật phiên bản 1 và 2


• Các bộ định tuyến RIPv2 sẽ gửi và nhận chỉ cập nhật phiên bản 2
Chúng ta có thể kiểm soát các phiên bản của RIP một giao diện cụ thể sẽ "gửi"
hoặc "nhận được."
Trừ khi RIPv2 được chỉ định theo cách thủ công, Cisco sẽ mặc định cho RIPv1 khi

cấu hình RIP.
2. Cấu hình cơ bản RIPv1

Cấu hình giao thức định tuyến xảy ra trong chế độ Cấu hình Toàn cầu. Trên
Router A, để cấu hình RIP, chúng ta gõ:
Router(config)# router rip
Router(config-router)# network 172.16.0.0
Router(config-router)# network 172.17.0.0
Lệnh đầu tiên, router rip, để cài đặt giao thức định tuyến động RIP trên router.
Các báo cáo mạng cho RIP biết mạng bạn muốn quảng bá đến các router RIP khác.
Ta chỉ liệt kê các mạng kết nối trực tiếp với Router của ta. Lưu ý rằng ta chỉ định
các mạng ở ranh giới của họ classful,
Và chúng tôi không chỉ định một mặt nạ mạng con.
Để cấu hình Router B:
Router(config)# router rip
Router(config-router)# network 172.17.0.0
Router(config-router)# network 172.18.0.0
Bảng định tuyến trên Router A sẽ như sau:
RouterA# show ip route
<elimitnated irrelevant head>
Gateway of last resort is not set
C 172.16.0.0 is directly connected, Ethernet0


C 172.17.0.0 is directly connected, Serial0
R 172.18.0.0 [120/1] via 172.17.1.2, 00:00:00, Serial0

Bảng định tuyến B sẽ như sau:
RouterB# show ip route
<elimitnated irrelevant head>

Gateway of last resort is not set
C 172.17.0.0 is directly connected, Serial0
C 172.18.0.0 is directly connected, Ethernet0
R 172.16.0.0 [120/1] via 172.17.1.1, 00:00:00, Serial0


Hạn chế của RIPv1

Ví dụ trên trang trước hoạt động tốt với RIPv1, bởi vì Các mạng tiếp giáp và các
mặt nạ mạng con đều nhất quán.

Kịch bản cụ thể này sẽ vẫn hoạt động khi sử dụng RIPv1 mặc dù thực tế Rằng ta
đã subnetted các 10.0.0.0 mạng lớn. Lưu ý rằng các mạng con là Tiếp giáp (nghĩa
là chúng thuộc cùng một mạng lớn), và sử dụng Cùng một mặt nạ mạng con.
Khi Router A gửi bản cập nhật RIPv1 tới Router B thông qua Serial0, nó sẽ không
Bao gồm mặt nạ mạng con cho mạng 10.1.0.0. Tuy nhiên, vì Mạng 10.3.0.0 nằm
trong cùng mạng chính với mạng 10.1.0.0, nó Sẽ không tóm tắt địa chỉ. Mục nhập
tuyến đường trong bản cập nhật sẽ đơn giản Nhà nước "10.1.0.0".


Router B sẽ chấp nhận cập nhật định tuyến này, và nhận ra rằng giao diện Nhận
được cập nhật (Serial0) thuộc về cùng một mạng lớn như Mục nhập tuyến đường
của 10.1.0.0. Sau đó nó sẽ áp dụng mặt nạ mạng con của Serial0 Giao diện cho
mục nhập tuyến đường này. Router C tương tự sẽ gửi một mục nhập cho mạng
10.2.0.0 tới Router B. Bảng định tuyến của Router B sẽ như sau:
RouterB# show ip route
Gateway of last resort is not set
10.0.0.0/16 is sub
netted, 4 subnets
C 10.3.0.0 is directly connected, Serial0

C 10.4.0.0 is directly connected, Serial1
R 10.1.0.0 [120/1] via 10.3.5.1, 00:00:00, Serial0
R 10.2.0.0 [120/1] via 10.4.5.1, 00:00:00, Serial1
Chúng ta sẽ giả định rằng RIPv1 được cấu hình chính xác trên tất cả các bộ định
tuyến.

Thông báo rằng mạng của chúng ta không còn tiếp giáp. Cả Router A và Router C
đều chứa các mạng con của mạng chính 10.0.0.0 (10.1.0.0 và 10.2.0.0 tương ứng).
Tách các mạng này bây giờ là hai mạng con lớp C (192.168.123.0 và
192.168.111.0).
Tại sao điều này là một vấn đề? Một lần nữa, khi Router A gửi bản cập nhật RIPv1
đến Router B qua Serial, nó sẽ không bao gồm subnet mask cho 10.1.0.0 mạng.
Thay vào đó, Router A sẽ tự coi mình như một router ranh giới, như 10.1.0.0 và


192.168.123.0 mạng không thuộc cùng một mạng chính. Router A sẽ tổng kết
mạng 10.1.0.0/16 cho kiến trúc địa chỉ ranh giới của mạng 10.0.0.0/8.
Router B sẽ chấp nhận cập nhật định tuyến này, và nhận ra rằng nó không có một
giao diện kết nối trực tiếp trong sơ đồ 10.x.x.x. Do đó, nó không có subnet mask để
áp dụng cho tuyến đường này. Vì lý do này, Router B sẽ cài đặt tóm tắt 10.0.0.0
tuyến đường vào bảng định tuyến của nó.
Router C, tương tự như vậy, sẽ tự coi mình là một router ranh giới giữa các mạng
10.2.0.0 và 192.168.111.0. Do đó, Router C cũng sẽ gửi tóm tắt 10.0.0.0 router to
Router B.
Bảng định tuyến của Router B sau đó sẽ như sau:
RouterB# show ip route
Gateway of last resort is not set
C 192.168.123.0 is directly connected, Serial0
C 192.168.111.0 is directly connected, Serial1
R 10.0.0.0 [120/1] via 192.168.123.1, 00:00:00, Serial0

[120/1] via 192.168.111.2, 00:00:00, Serial1
Thật vậy, Router B bây giờ có hai tuyến số liệu giống nhau để đến được tóm tắt
10.0.0.0 mạng, một thông qua Router A và các thông qua Router C. Router B bây
giờ sẽ tải cân bằng tất cả lưu lượng truy cập vào bất kỳ mạng 10.x.x.x nào.

Giữa các bộ định tuyến A và C. Suffice để nói, đây không phải là một điều tốt.
Nó trở nên tốt hơn. Router B sau đó cố gắng gửi các bản cập nhật định tuyến tới
Router A và Router C, bao gồm cả lộ trình tóm tắt của 10.0.0.0/8.
Bảng định tuyến của Router A sẽ như sau:
RouterA# show ip route
Gateway of last resort is not set
C 192.168.123.0 is directly connected, Serial0
10.0.0.0/16 is subnetted, 1 subnet
C 10.1.0.0 is directly connected, Ethernet0


Router A sẽ nhận được bản tóm tắt 10.0.0.0/8 route từ Router B, và sẽ từ chối nó,
bởi vì nó đã có mạng lưới tóm tắt là 10.0.0.0 trong bảng định tuyến của nó, và nó
được kết nối trực tiếp. Router C sẽ trả lời giống hệt nhau, và các mạng 10.1.0.0/16
và 10.2.0.0/16 sẽ không bao giờ có khả năng thông qua.
3. Cấu hình RIPv2

RIPv2 khắc phục những hạn chế của RIPv1 bằng cách bao gồm các mặt nạ mạng
con trong cập nhật định tuyến của nó. Theo mặc định, các bộ định tuyến Cisco sẽ
sử dụng RIPv1. Để thay đổi sang phiên bản 2, bạn phải nhập:
Router(config)# router rip
Router(config-router)# version 2
Do đó, cấu hình router A sẽ như sau:
RouterA(config)# router rip
RouterA(config-router)# version 2

RouterA(config-router)# network 10.0.0.0
RouterA(config-router)# network 192.168.123.0
Mặc dù thực tế RIPv2 là một giao thức định tuyến không phân lớp, chúng ta vẫn
chỉ định mạng ở ranh giới phân loại của chúng, không có mặt nạ mạng con.
Tuy nhiên, khi Router A gửi bản cập nhật RIPv2 đến Router B qua Serial0, mặc
định nó vẫn sẽ tóm tắt các 10.1.0.0/16 mạng để 10.0.0.0/8. Vẫn như vậy,
Điều này là do các mạng 10.1.0.0 và 192.168.123.0 không thuộc cùng một mạng
lưới lớn. Vì vậy, RIPv2 hoạt động như RIPv1 trong trường hợp này ...


... trừ khi bạn tắt tự động tóm tắt:
RouterA(config)# router rip
RouterA(config-router)# version 2
RouterA(config-router)# no auto-summary
Lệnh không tự động tóm tắt sẽ ngăn Router A tóm tắt mạng 10.1.0.0. Thay vào đó,
Router A sẽ gửi một bản cập nhật bao gồm cả mạng subnetted (10.1.0.0) và mặt nạ
mạng con của nó (255.255.0.0).
CHƯƠNG 4:
THIẾT LẬP BẢN MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN RIP
1.Cài đặt phần mềm mô phỏng NS2
*)Giới thiệu: NS2 (Network Simulator) là 1 công cụ mô phỏng mạng diện rộng
WAN và mạng cục bộ LAN. Tạo môi trường giả lập cho việc nghiên cứu, học tập
về các giao thức, kiến trúc mạng.
*)Chuẩn bị môi trường : Ubuntu desktop 12 hoặc cao hơn
- Bước 1: Tải phần mềm NS2 tại đây />- Bước 2 : Sau khi tải xong file dạng tar.gz, các bạn di chuyển nó qua /home/[user]/
- Bước 3: Cài đặt các gói thư viện cần thiết (Cần có kết nối mạng)
Mở Terminal và gõ lệnh:
sudo apt-get install build-essential autoconf automake libxmu-dev xgraph

- Bước 4 : Giải nén file tải về

Các bạn mở Terminal lên, cd (change directory) đến thư mục chứa file tải về ở


Bước 2.
Gõ lệnh sau để giải nén:
tar zxvf ns-allinone-2.35.tar.gz
Sau khi giải nén ta thu được folder /ns-allinone-2.35/
- Bước 5 : Hiệu chỉnh đôi chút
Dùng 1 trình soạn thảo (Gedit, Vi, VIM, Nano…) tìm và mở file ns-allinone2.35/ns-2.35/linkstate/ls.h.
Tại dòng 137, thay thế dòng:
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
thành:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
- Bước 6 :  Mở Terminal, di chuyển đến thư mục gốc của NS2 tại /ns-allinone2.35/ và chạy lệnh ./install để bắt đầu cài đặt
– biên dịch ns2.
Quá trình này có thể diễn ra khoảng 5 phút.
Khi hiện ra màn hình với nội dung này là quá trình hoàn tất.


Installation successfull
Chú ý ghi chú lại mấy đường dẫn cần thiết.
* Thiết lập biến môi trường
Như trong nội dung thông báo sau khi hoàn tất cài đặt NS2, chương trình yêu cầu
cài đặt biến môi trường
– PATH
– LD_LIBRARY_PATH
– TCL_LIBRARY
Mở file /home/[user]/.bashrc (Nếu không nhìn thấy thì bạn nhấn Ctrl+H để hiện
ra file này).
Và chỉnh sửa dựa trên nội dung mà sau khi cài NS2 xong như hình:


NS2 Environment Variable
export PATH=$PATH:..........
export LD_LIBRARY_PATH=..........
export TCL_LIBRARY=..........
Đoạn thêm vào tương ứng với đường dẫn mà tôi đã nhắc bạn ghi chú lại khi nãy.
(Đường dẫn này có thể khác nhau với mỗi người)


×