Xem mẫu
- MỘT SỐ GIAO THỨC ĐỊNH TUYẾN CỤ THỂ
Tác giả: Trần Văn Thành
Các giao thức cổng nội (Interior Routing Protocols)
I. Classfull routing protocol
I.1. RIPv1
Routing Information Protocol (RIP) là giao thức định tuyến vector khoảng cách
(Distance Vector Protocol) xuất hiện sớm nhất. Nó suấ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).
Một điều kỳ lạ là 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. Mãi đế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ó.
1. Định nghĩa
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 tất cả các active interface đều đặn theo chu kỳ là 30
giây. RIP chỉ sử dụng metric là hop count để tính ra tuyến đường tốt nhất tới
remote network. Thuật toán mà RIP sử dụng để xây dựng nên routing table là
Bellman-Ford.
2. Các giá trị về thời gian (RIP Timers)
Trước khi đi vào tìm hiểu hoạt động của RIP, tôi xin giới thiệu một số khái
niệm về thời gian:
Route update timer: là khoảng thời gian trao đổi định kỳ thông tin định
tuyến của router ra tất cả các active interface. Thông tin định tuyến ở đây là
toàn bộ bảng routing table, giá trị thời gian là 30 giây.
Route invalid timer: là khoảng thời gian trôi qua để xác định một tuyến
là invalid. Nó được bắt đầu nếu hết thời gian hold time mà không nhận được
update, sau khoảng thời gian route invalid timer nó sẽ gửi một bản tin update
tới tất cả các active interface là tuyến đường đó là invalid.
Holddown timer: giá trị này được sử dụng khi thông tin về tuyến này bị
thay đổi. Ngay khi thông tin mới được nhận, router đặt tuyến đường đó vào
trạng thái hold-down. Điều này có nghĩa là router không gửi quảng bá cũng như
không nhận quảng bá về tuyến đường đó trong khong thời gian Holddown
timer này. Sau khoảng thời gian này router mới nhận và gửi thông tin về tuyến
- đường đó. Tác dụng về giá trị này là giảm thông tin sai mà router học được.
Giá trị mặc định là 180 giây.
Route flush timer: là khoảng thời gian được tính từ khi tuyến ở trạng
thái không hợp lệ đến khi tuyến bị xoá khỏi bảng định tuyến. Giá trị Route
invalid timer phải nhỏ hơn giá trị Route flush timer vì router cần thông báo tới
neighbor của nó về trạng thái invalid của tuyến đó trước khi local routing được
update.
3. Hoạt động của RIPv1
Tất cả các bản tin của RIP đều được đóng gói vào UDP segment với cả hai
trường Source and Destination Port là 520. RIP định nghĩa ra hai loại bản tin
Requestmessages and Response messages.
Request message: được sử dụng để gửi một yêu cầu tới router neighbor
để gửi update.
Response message: mang thông tin update.
a/ Khởi động RIP
RIP gửi broadcast bản tin Request ra tất cả các active interface. Sau đó lắng
nghe hay đợi Response message từ router khác. Còn các router neighbor nhận
được các Request message rồi gửi Response message chứa toàn bộ routing
table.
b/ Xử lý thông tin update của router
Sau khi xây dựng xong routing table lúc khởi động, khi router nhận được thông
tin update về route tới một mạng nào đó. Nếu route tới mạng đó đã tồn tại
trong routing table, route đang tồn tại sẽ bị thay thế bởi route mới nếu route
mới có hop count nhỏ hơn. Nó sẽ lờ đi nếu route mới có hop count lớn hơn.
Nếu hết thời gian Holddown time thì bất kể route mới có giá trị như thế nào
thì nó vẫn được lưu vào routing table.
c/ Định dạng bản tin của RIP (RIP Message Format)
Định dạng bản tin RIP được mô tả trong hình dưới. Mỗi bản tin RIP đều bao
gồm trường command, version và có thể chứa được tới 25 tuyến đường (route
entries). Mỗi route entry bao gồm address family identifier, the IP address
reachable by the route, and the hop count for the route.Nếu router phi một update
với hn 25 route entries thì multiple message được sử dụng.
Chú ý, phần đầu gồm 4 octet cộng và mỗi route entry là 20 octet. Do đó kích
- thước tối đa của message là 4 + 25*20 + 8 = 512 octet. Header của UDP
segment là 8 octet.
Các trường cụ thể trong bản tin RIP:
Command: có giá trị là 1 cho biết đây là một Request message, có giá trị
là 0 cho biết đây là Response message.
Version: là 1 cho biết đây là version 1.
Address Family Identifier: có giá trị là 2 nếu là IP.
IP Address: là địa chỉ đích của tuyến đường.
Metric: là hop count như đã đề cập.
d/ Đặc trưng của RIP
RIP thường được sử dụng cho những mạng nhỏ với kiến trúc đơn giản, RIP
rất ít khi được sử dụng cho những mạng lớn, phức tạp vì những lý do sau:
Metric của RIP có giá trị tối đa là 15, 16 có nghĩa là mạng unreachable
- (không tới được).
Metric của RIP là hop count nên không giải quyết tốt được vấn đề lưu
lượng.
Thời gian hội tụ Convergence time là rất lớn. Khi một sự cố xy ra trên
mạng, RIP phải cần một khoảng thời gian khá lớn để tìm được tuyến đường
thay thế. Giá trị này ít nhất phi lớn hơn Flush time là 240 giây.
I.2. Interior Gateway Routing Protocol (IGRP)
1. Định nghĩa
Trước những nhược điểm vốn có của RIP như: metric là hop count, kích thước
mạng tối đa là 15 hop. Cisco đã phát triển một giao thức độc quyền của riêng
mình là IGRP để khắc phục những nhược điểm đó. Cụ thể là metric của IGRP
là sự tổ hợp của 5 yếu tố, mặc định là bandwidth và delay:
Bandwidth
Delay
Load
Reliability
Maximum transfer unit (MTU)
IGRP không sử dụng hop count trong metric của mình, tuy nhiên nó vẫn theo
dõi được hop count. Một mạng cài đặt IGRP thì kích thước mạng có thể nên
tới 255 hop.
Ưu điểm nữa của IGRP so với RIP là nó hỗ trợ được unequal-cost load sharing
và thời gian update lâu hơn RIP gấp 3 lần.
Tuy nhiên bên cạnh những ưu điểm của mình so với RIP, IGRP cũng có những
nhược điểm đó là giao thức độc quyền của Cisco.
2. Hoạt động và đặc trưng
IGRP có rất nhiều điểm chung với RIP, chúng cùng là classfull distance vector
protocol cũng như định kỳ gửi toàn bộ routing table ra tất cả active interface.
- Cũng giống như RIP, IGRP cũng broadcasd Request packet ra tất cả các active
interface khi khởi động và cẩn thận check các paket update nhận được xem
source address của packet đó có cùng subnet mà update được nhận. Giống như
RIP nó cũng không gửi subnetmask trong thông tin định tuyến.
Nếu như RIP dùng port 520 của giao thức UDP để trao đổi thông tin định
tuyến, thì IGRP thì làm điều này trực tiếp trong gói tin IP với trường Protocol
number là 9.
IGRP sử dụng khái niệm Autonomous System (AS), một IGRP AS là một IGRP
process domain_tập hợp các router có chung routing protocol là một IGRP
process. Cho phép multiple IGRP AS tồn tại bên trong một AS có nghĩa là
người quản trị có phân đoạn mạng tốt hơn. Người quản trị có thể tạo một
IGRP AS cho mỗi routing domain, giúp cho việc điều khiển thông tin giữa các
mạng tương tác tốt hơn.
IGRP thừa nhận 3 loại tuyến đường trong thông tin update:
Interior route: mạng nối trực tiếp với router.
System route: là đường tới địa chỉ mạng mà bị summary bởi network border
router.
Exterior route: là đường học qua IGRP từ IGRP AS khác, nó cung cấp thông tin
sử dụng bởi default route.
a/ IGRP Timer
Chu kỳ update của IGRP là 90 giây, IGRP có sử dụng nhân tố random 20% để
ngăn chặn sự đồng bộ update timer. Khoảng thời gian giữa 2 lần update biến
đổi từ 72 đến 90 giây.
Khi một tuyến đường đầu tiên được học, invalid timer cho tuyến đó là 270 giây
hay là gấp 3 lần update timer. Flush timer được thiết lập với giá trị là 630 giây_
gấp 7 lần update timer. Mỗi lần tuyến được được update thì những thông số
thời gian này được khởi động lại. Nếu như invalid timer trôi qua mà tuyến
đường đó không nhận được một update thì tuyến đường đó sẽ bị đánh dấu là
không đến được. Tuyến đường đó sẽ được giữ trong routing table và quảng bá
với thông tin là tuyến đó không đến được cho đến khi flush timer trôi qua,
tuyến đó sẽ được xoá khỏi routing table.
Update timer của IGRP gấp 3 lần RIP, điều đó chứng tỏ IGRP tốn it băng
thông hơn cho việc gửi update. Nhưng thời gian hội tụ của IGRP sẽ lớn hơn
RIP.
- b/ IGRP Metrics
Metric của IGRP là tổ hợp của các thành phần sau: bandwidth, delay, load,
reliability. Mặc định của metric là bandwidth và delay, bạn hãy tưởng tượng
liên kết dữ liệu (data link) như là một cái ống thì bandwidth như là chiều rộng
của ống còn delay như là chiều dài của ống. Nói cách khác bandwidth là thước
đo khả năng mang thông tin và delay độ trễ cần thiết để một bít truyền đến
đích.
Bandwidth: được biểt diễn với đơn vị là kbps, là một thông số được sử
dụng để IGRP sử dụng để chạy thuật toán Bellman-Ford. Nó là một thông số
tĩnh có thể thay đổi bởi người quản trị không liên quan gì đến bandwidth thật
của đường truyền.
BW = [10000000/(bandwidth in Kbps)]
Delay: giống như bandwidth là một thông số tĩnh có thể được cấu hình
bằng tay.
Delay = [Delay in 10s of microseconds]
Reliability: là một thông số động, được biểu diễn bởi một số 8bit. được
tính số lượng gói tin đến đích mà không bị hỏng. Reliability có giá trị 255 có
nghĩa là 100% gói tin không bị hỏng, giá trị nhỏ nhất là 1.
Load: là một phần băng thông sử dụng trên đường truyền, được biểu
diễn bởi một số 8 bit. Load có giá trị là 255 nghĩa là sử dụng 100%, 1 là giá trị
nhỏ nhất.
Mặc định: K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0. Các hăng số trên có thể
được thay tuỳ theo mục đích của người quản trị.
c/ IGRP Packet Format
Định dạng gói tin IGRP được biểu diễn như hình sau:
- Như ta thấy bản tin IGRP update mang nhiều thông tin hơn so với RIP. Mỗi
bản tin IGRP update có thể chứa tối đa 104 muc nhập (entry) với mỗi mục
nhập có kích thước 14octet và header của IGRP update là 12 octet. Ta có
maximum của IGRP packet là 12 + 104*14 = 1468 byte.
Các trường của IGRP có ý nghĩa là:
Version: luôn luôn có giá trị bằng 1.
Opcode: có giá trị là 1 cho IGRP Request packet và có giá trị là 2 cho
IGRP Update packet. Chú ý Request packet không chứa mục nhập (entry).
Edition: giá trị được tăng lên bởi nơi gửi bất cứ khi nào có một thay đổi
về thông tin định tuyến. Giá trị này giúp cho router tránh update nhầm thông tin
update cũ sau khi nhận thông tin update mới.
Autonomous System Number: là ID number của IGRP process. Thông số
này cho phép multiple IGRP process trao đổi thông tin định tuyến qua một liên
kết dữ liệu chung.
Number of Interior Routes: là số mục nhập trong update, là những subnet
của những network nối trực tiếp.
Number of System Routes: số tuyến đường tới những mạng mà không
nối trực tiếp. Hay nói cách khác, là những tuyến đường đã được summary bởi
router biên.
- Number of Exterior Routes: là số tuyến đường tới những mạng mà
được học bởi default route.
Checksum: được tính trên IGRP header và tất cả các mục nhập.
Destination: là trường đầu tiên của mỗi mục nhập. Có một chú ý là
trường destination chỉ có 3 octet trong khi địa chỉ IP có 4 octet. Điều này được
thực hiện do những nguyên nhân sau. Nếu mục nhập là một interior route thì ít
nhất octet đầu tiên của địa chỉ IP luôn luôn được xác định từ địa chỉ IP của
interface mà nó nhận được update. Tương tự như vậy nếu mục nhập là system
hay external route thì route sẽ bị summary và ít nhất là octet cuối cùng là toàn
zero. Do đó trường destination chỉ cần biểu diễn 3 octet đầu là đủ.
Delay: trường này bao gồm 24 bit.
Bandwidth: trường này bao gồm 24 bit.
MTU: là Maximum Transmission Unit nhỏ nhất của bất kỳ link nào
trong tuyến đường đến đích. Mặc dù đây là một thông số nhưng không bao giờ
được sử dụng để tính route.
Reliability, Load: có giá trị biến đổi từ 0x01 đến 0xFF.
Hop Count: có giá trị biến đổi từ 0x01 đến 0xFF cho biết số hop của
tuyến đường đến đích.
d/ Unequal-Cost Load Balancing
Load balancing là cách router gửi lưu lượng qua nhiều đường để đến cùng
đích. Nó được sử dụng để giảm lưu lượng qua single path. Không giống như
RIP, IGRP không những chỉ hỗ trợ equal-cost balancing mà còn hỗ trợ cả
unequal-cost balancing. Điều này được thực hiện nhờ sử dụng thông số
variance. Những route nào có metric nhỏ hơn hoặc bằng metric*variance sẽ
được chọn là feasiable route (metric tốt nhất). Thông số Maximum Paths xác
định tối đa có bao nhiêu route tham gia load balancing.
nguon tai.lieu . vn