Trên Router B thêm một static default route chỉ đến Router C. Trong Router C chúng ta thêm một route đối với mạng 172.16.0.0/16 chỉ đến Router B. Kết quả của 2 static route cho phép tất cả router có khả năng đến được tất cả các mạng trong sơ đồ.
Hình 8
RouterB(config)#ip route 0.0.0.0 0.0.0.0 serial1
172.16.2.0/24
172.16.3.0/24 172.16.4.0/24 172.16.1.0/24
192.168.1.0/24
Router A Router B Router C .1 fa0 .1 fa0 .1 fa0
.1 s0 .2 s0 .1 s1 .2 s0 0.0.0.0/0 default route
- 32 - RouterB(config)#end
RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <text omitted> Gateway of last resort is 0.0.0.0 to network 0.0.0.0
172.16.0.0/24 is subnetted, 3 subnets
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:13, Serial0 C 172.16.2.0 is directly connected, Serial0
C 172.16.3.0 is directly connected, FastEthernet0 C 192.168.1.0/24 is directly connected, Serial1 S* 0.0.0.0/0 is directly connected, Serial1 RouterB#
Hình 9
RouterC(config)#ip route 172.16.0.0 255.255.0.0 serial0 RouterC(config)#end
RouterC#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <text omitted>
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks C 172.16.4.0/24 is directly connected, FastEthernet0 S 172.16.0.0/16 is directly connected, Serial0
C 192.168.1.0/24 is directly connected, Serial0 RouterC#
Sự khác nhau giữa định tuyến classful và classless là gi? Điều đó rất quan trọng để hiểu được lúc nào làm việc với giao thức định tuyến classful hay giao thức định tuyến classless. Chúng ta không quan tâm về cái cách mà đường đi được nhập vào bảng định tuyến như thế nào, thay vào đó chúng ta chỉ quan tâm về việc tìm kiếm đường đi tốt nhất trong bảng định tuyến, sau khi những đường đi đã được nhập vào bảng định tuyến.
Nhìn cấu hình và bảng định tuyến trong hình 10 đối với Router B chúng ta thừa nhận Router B sẽ sử dụng default route để forward nhiều packet mà ở đó không có nhiều đường đi so khớp trong bảng định tuyến.
Ví dụ 3 Không tồn tại đường đi con và no ip classless
Trong ví dụ này Router B nhận một packet với địa chỉ IP đích 172.16.4.10. tiến trình định tuyến tìm kiếm trong bảng định tuyến và tìm một so khớp 16 bit (classful subnet mask của đường đi cha) với đường đi cha 172.16.0.0. Có so khớp với đường đi cha nên đường đi con được kiểm tra so khớp.
child R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:13, Serial0 child C 172.16.2.0 is directly connected, Serial0
child C 172.16.3.0 is directly connected, FastEthernet0
Tuy nhiên trong hình 10 đường đi con không có 24 bits bên trái nhất (/24 mask được trình bày trong route cha) so khớp địa chỉ IP đích, chỉ có 21 bit so khớp
- 33 - Hình 10 IP Packet 172.16.4.10 10101100 00010000 00000100 00001010 No match! Child Route 172.16.3.0 10101100 00010000 00000011 00000000 Child Route 172.16.1.0 10101100 00010000 00000001 00000000 Child Route 172.16.2.0 10101100 00010000 00000010 00000000
Bởi vì router đang chạy default no ip classless, định tuyến classful có hiệu lực, nghĩa là router sẽ không tìm tới đường đi con với một so khớp thấp hơn. Tiến trình bảng định tuyến sẽ không dùng default route 0.0.0.0/0 hay nhiều route khác.
Ý tưởng chính của định tuyến classful xuất hiện khi tất cả các mạng là classful. Đó là khi công ty, trường học áp dụng InterNIC đối với không gian địa chỉ và đã nhận một địa chỉ mạng lớn của Class A, Class B, Class C. Một công ty có một địa chỉ mạng classful IP lớn, bao gồm nhiều subnets. Những router trong mạng sẽ biết về tất cả subnet đối với mạng lớn này. Nếu subnet không có trong bảng định tuyến, khi đó nó không tồn tại.
Đừng tóm tắt với định tuyến classful, câu lệnh no ip classless. Nếu có một so khớp với đường đi cha, và sau đó kiểm tra đường đi con không có sai khớp, khi đó tiến trình định tuyến drop packet. Đường default và supernet không được kiểm ta hay được dùng
Hình 11
RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, <text omitted> Gateway of last resort is 0.0.0.0 to network 0.0.0.0
1. Match 172.16.0.0/24 is subnetted, 3 subnets
2. No Match R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:13, Serial0 3. No Match C 172.16.2.0 is directly connected, Serial0
4. No Match C 172.16.3.0 is directly connected, FastEthernet0 C 192.168.1.0/24 is directly connected, Serial1 S* 0.0.0.0/0 is directly connected, Serial1 5. Drop Packet RouterB#
3.2.4 Định tuyến Classless câu lệnh ip classless
Ví dụ Không tồn tại đường đi con và ip classless
Router B nhận một packet với địa chỉ IP đích 172.16.4.10. Giống như ví dụ trước, tiến trình định tuyến tìm kiếm trong bảng định tuyến và tìm một so khớp với một đường đi cha 172.16.0.0/24 đã chia thành 3 subnets
parent 172.16.0.0/24 is subnetted, 3 subnets
Có một so khớp với parent route, nên child routes được tiếp tục tìm kiếm child R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:13, Serial0 child C 172.16.2.0 is directly connected, Serial0
- 34 -
child C 172.16.3.0 is directly connected, FastEthernet
Hình 13, không có một đường đi con nào có 24 bits bên trái nhất (/24 mask đã được hiển thị trong đường đi cha) so khớp địa chỉ IP đích 172.16.4.10
Hình 12 IP Packet 172.16.4.10 10101100 00010000 00000100 00001010 No match! Child Route 172.16.3.0 10101100 00010000 00000011 00000000 Child Route 172.16.1.0 10101100 00010000 00000001 00000000 Child Route 172.16.2.0 10101100 00010000 00000010 00000000
Bởi vì mặc định là ip classless, tiến trình định tuyến tiếp tục tìm kiếm trong bảng định tuyến, ngoài đường đi cha và đường đi con của nó. Tiến trình định tuyến sẽ tìm kiếm trong bảng định tuyến đối với một đường đi với một subnet mask ít hơn 16 bits của đường đi cha trước đó. Router sẽ tiếp tục tìm kiếm đường đi khác trong bàng định tuyến cần có số bits so khớp ít hơn, nhưng vẫn có một so khớp.
Đường đi 192.168.1.0/24 không có so khớp 24 bits bên trái nhất với địa chỉ IP đích. Đường mặc định như thế nào? Bao nhiêu bits cần so khớp?
S* 0.0.0.0/0 is directly connected, Serial1
Mask là /0 zero hay không cần bits so khớp. Một route mặc định, nếu đã sử dụng trong tìm kiếm sẽ so khớp bit thấp nhất. Nếu không có đường đi khác so khớp, route sẽ là mặc định
Hình 13
RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, <text omitted> Gateway of last resort is 0.0.0.0 to network 0.0.0.0
1. Match 172.16.0.0/24 is subnetted, 3 subnets
2. No Match R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:13, Serial0 3. No Match C 172.16.2.0 is directly connected, Serial0
4. No Match C 172.16.3.0 is directly connected, FastEthernet0 C 192.168.1.0/24 is directly connected, Serial1 5. Match! S* 0.0.0.0/0 is directly connected, Serial1
3.2.5 Định tuyến Classless và đường đi Supernet
172.16.2.0/24
172.16.3.0/24 172.16.4.0/24 172.16.1.0/24
192.168.1.0/24
Router A Router B Router C .1 fa0 .1 fa0 .1 fa0
.1 s0 .2 s0 .1 s1 .2 s0 172.0.0.0/8 Supernet route 172.16.10.0/24 lo0 172.16.20.0/24 lo1 172.16.30.0/24 lo2 172.16.40.0/24 lo3
- 35 -
Một supernet route đã được thêm vào bởi việc tạo một static route. Tuy nhiên, một supernet route có thể chỉ được quảng bá bởi một giao thức định tuyến classless. Bởi vì giao thức định tuyến classful không gửi subnet mask như giao thức định tuyến classless, cho nên classful mask mặc định có thể đã được thừa nhận bằng cách nhận router
Những Supernet route trong bảng định tuyến đã được xem xét không khác gì những đường đi tốt nhất trong việc tìm kiếm route. Chúng chứa một network route và một subnet mask. Chúng chỉ khác là ở đó subnet mask có ít bits hơn classful mask của mạng lớn. Nếu cả hai được trình bày trong bảng định tuyến, network route lớn sẽ có một so khớp bits dài hơn và là route ưu tiên.
Router C được thêm vào 2 mạng 172.20.0.0/16 và 172.30.0.0/16, hình 18 biểu diễn cấu hình loopback interface
Hình 14 RouterC(config)#interface loopback1 RouterC(config-if)#ip add 172.20.0.1 255.255.0.0 RouterC(config-if)#exit RouterC(config)#interface loopback2 RouterC(config-if)#ip add 172.30.0.1 255.255.0.0 RouterC(config-if)#exit
Hình 15Trình bày những mạng mới trong bảng định tuyến của Router C
Hình 15
RouterC#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <text omitted> Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks C 172.16.4.0/24 is directly connected, FastEthernet0 S 172.16.0.0/16 is directly connected, Serial0
C 172.20.0.0/16 is directly connected, Loopback1 C 172.30.0.0/16 is directly connected, Loopback2 C 192.168.1.0/24 is directly connected, Serial0 Hai supernet route đã được thêm vào trên Router B.
Hình 16
RouterB(config)#ip route 172.0.0.0 255.0.0.0 serial1 RouterB(config)#ip route 160.0.0.0 240.0.0.0 serial1 RouterB(config)#end
RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <text omitted> Gateway of last resort is 0.0.0.0 to network 0.0.0.0
172.16.0.0/24 is subnetted, 3 subnets
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:20, Serial0 C 172.16.2.0 is directly connected, Serial0
- 36 -
C 172.16.3.0 is directly connected, FastEthernet0 C 192.168.1.0/24 is directly connected, Serial1 S 172.0.0.0/8 is directly connected, Serial1 S 160.0.0.0/4 is directly connected, Serial1 S* 0.0.0.0/0 is directly connected, Serial1
Router B sẽ forward những packet đến Router C sử dụng route 172.0.0.0/8 nếu 8 bits đầu triên so khớp với địa chỉ IP đích của packet và sử dụng route 160.0.0/4 nếu chỉ có 4 bits đầu tiên so khớp. Bởi vì tiến trình định tuyến dùng so khớp số bits dài nhất, route
172.0.0.0/8 sẽ thường được ưu tiên hơn route 160.0.0.0/4, có ít nhất 8 bits so khớp.
Đường 160.0.0.0/4 sẽ được ưu tiên hơn đường default 0.0.0.0/0 khi có ít nhất 4 bits so khớp. Nếu không có đường đi supernet so khớp, khi đó đường default 0.0.0.0/0 sẽ được dùng, bởi vì chỉ có những bit zero cần so khớp. Xem ví dụ
Ví dụ: Supernet Routes và địa chỉ IP đích 172.16.4.10
Ví dụ Router B đang nhận một packet với địa chỉ IP đích 172.16.4.10. Tiến trình định tuyến tìm kiếm trong bảng định tuyến và tìm một so khớp với đường đi cha
172.16.0.0/24, nhưng không tìm thấy một so khớp với đường đi con. Chúng ta sử dụng định tuyến classless ( ip classless), cho nên tiến trình định tuyến sẽ tiếp tục tìm kiếm một so khớp đối với một supernet hay default route. Nếu chúng ta sử dụng định tuyến classful thì packet đó sẽ bị drop tại điểm đó.
Hình 17 IP Packet 172.16.4.10 10101100 00010000 00000100 00001010 No match! Child Route 172.16.3.0 10101100 00010000 00000011 00000000 Child Route 172.16.1.0 10101100 00010000 00000001 00000000 Child Route 172.16.2.0 10101100 00010000 00000010 00000000
Trong hình 17, những đường supernet chúng ta có thể nhìn thấy ở đó 172.0.0.0/8 là
có một so khớp. Ngay cả 160.0.0.0/4 và 0.0.0.0/0 cũng có một so khớp, 172.0.0.0/8 là một so khớp bit dài hơn với địa chỉ IP đích, vì vậy đường đi này được ưu tiên. 172.0.0.0/8 yêu
cầu ít nhất là 8 bit bên trái nhất so khớp, nhưng chúng ta có thể nhìn thấy nó vượt quá số bit tối thiểu với 11 bits so khớp
Hình 18
IP Packet 172.16.4.10 10101100 00010000 00000100 00001010 Longest-bit-match! (11 bits match, 8 bits minimum) Supernet 172.0.0.0/8 10101100 00000000 00000000 00000000 Supernet 160.0.0.0/4 10100000 00000000 00000000 00000000 Default 0.0.0.0/0 00000000 00000000 00000000 00000000
- 37 -
theo với bit so khớp dài nhất sẽ là 160.0.0.0/4 với 4 bit bên trái so khớp nhất sẽ được chọn IP Packet 172.16.4.10 10101100 00010000 00000100 00001010
Longtest-bit match!
Supernet 160.0.0.0/4 10100000 00000000 00000000 00000000 Default 0.0.0.0/0 00000000 00000000 00000000 00000000
Điều đó rất có khả năng xảy ra, sẽ có một vài supernet route không có so khớp với địa chỉ IP đích của packet. Trong trường đó khi không có một so khớp với nhiều đường đi tốt nhất bao gồm supernet hay subnet route cha, khi đó default route sẽ có so khớp. Default route không cần có nhiều bit so khớp với đường đi đã được sử dụng. Nhiều đường đi khác có một hay nhiều bit bên trái nhất so khớp thường được ưu tiên hơn default route. Điều đó cho biết tại sao default route là “gateway of last resort”
Hình 19
IP Packet 172.16.4.10 10101100 00010000 00000100 00001010 Match! Zero bits needed to match, which still makes it a match!
Default 0.0.0.0/0 00000000 00000000 00000000 00000000
Và nếu không có nhiều supernt route được so khớp và không có đường default thì packet sẽ bị drop.
Những child route chỉ được kiểm tra so khớp nếu có một so khớp classful với parent route. Nếu router nhận packet với địa chỉ IP đích của 160.10.10.10, không có một so khớp với nhiều parent route, như thế đường đi supernet tốt nhất 160.0.0.0/4 được sử dụng. Bởi vì parent route không bao giờ được kiểm tra, supernet route sẽ được sử dụng dù chúng ta sử dụng định tuyến classless (ip classless) hay classful (no ip classless)
3.2.6 Một Classful Route và một Child Route
Router C đã được cấu hình với một subnet 172.16.4.0/24, một interface được kết nối trực tiếp, bao gồm một static route 172.16.0.0/16 để đến được tất cả subnet khác của
172.16.0.0 trên Router A và Rotuter B
Cả hai route 172.16.4.0/24 và 172.16.0.0/16 là những child route với parent route
172.16.0.0. Hình 20
RouterC(config)#ip route 172.16.0.0 255.255.0.0 serial0 RouterC(config)
RouterC#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <text omitted>
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks C 172.16.4.0/24 is directly connected, FastEthernet0
- 38 -
S 172.16.0.0/16 is directly connected, Serial0
- 39 -
Chương 4 GIAO THỨC ĐỊNH TUYẾN
4.1 Khái niệm
Giao thức định tuyến là ngôn ngữ để một router trao đổi với router khác để chia sẻ thông tin định tuyến về khả năng đến được cũng như trạng thái của mạng.
Được cài đặt tại các Router, chúng được sử dụng để xây dựng nên bảng định tuyến để đảm bảo rằng tất cả các Router đều có bảng “Routing table ” tương thích nhau cũng như đường đi đến các mạng phải được xác định trong “Routing Table”.
Giao thức định tuyến khác với giao thức đã được định tuyến cả về chức năng và nhiệm vụ. Giao thức định tuyến được sử dụng để giao tiếp giữa các router với nhau. Giao thức định tuyến cho phép router này chia sẻ các thông tin định tuyến mà nó biết cho các router khác.Từ đó các router có thể xây dựng và bảo trì bảng định tuyến của nó.
Một số giao thức định tuyến
RIP (Routing Information Protocol)
IGRP (Interior Gateway Routing Protocol)
EIGRP (Enhances Interior Gateway Routing Protocol)
OSPF (Open Shotest Path First)
Giao thức được định tuyến thì được sử dụng để định hướng cho dữ liệu của người dùng. Một giao thức được định tuyến sẽ cung cấp đầy đủ thông tin về địa chỉ lớp mạng để gói dữ liệu có thể truyền đi từ host này đến host khác dựa trên cấu trúc địa chỉ đó.
Một số giao thức được định tuyến
IP (Internet Protocol)
IPX (Internetwork Packet Exchange)
4.2 Mục đích của giao thức định tuyến
Mục đích của giao thức định tuyến là xây dựng và bảo trì bảng định tuyến. Bảng định tuyến này mang thông tin về các mạng khác và các cổng giao tiếp trên router đến các mạng này. Router sử dụng giao thức định tuyến để quản lý thông tin nhận được từ các router khác, thông tin cấu hình từ cổng giao tiếp và thông tin cấu hình các đường cố định.
Giao thức định tuyến cập nhật về tất cả các đường, chọn đường tốt nhất đặt vào bảng định tuyến và xóa đi những đường không sử dụng được nữa. Còn router thì sử dụng thông tin định tuyến trên bảng định tuyến để chuyển gói dữ liệu của các giao thức định tuyến.
Định tuyến hoạt động trên cơ sở các thuật toán định tuyến. Khi cấu trúc mạng có bất kỳ thay đổi nào như mở rộng thêm, cấu hình lại, hay bị trục trặc thì kiến thức về mạng của của các router phải thay đổi theo. Các rotuter phải có kiến thức chính xác về cấu trúc hệ thống mạng.
Khi tất cả các router trong hệ thống mạng đều có thông tin thống nhất về hệ thống mạng thì khi đó ta nói hệ thống mạng đã được hội tụ. Thời gian để các router đồng bộ với
- 40 -
nhau càng ngắn càng tốt vì khi các router chưa đồng bộ với nhau về các thông tin mạng thì chúng sẽ định tuyến sai.
4.3 Phân loại các giao thức định tuyến:
Đa số các thuật toán định tuyến được xếp vào 2 loại :