[Cisco – Other] Bài 10 – Vai trò của route Null0 

Khi thực hiện tóm tắt địa chỉ (summary) với các giao thức định tuyến, ta để ý rằng trên  các router thực hiện tóm tắt địa chỉ thường xuất hiên một route tương ứng cho subnet  summary và chỉ đường về Null0. Trong bài viết này, chúng ta sẽ cùng tìm hiểu vai trò  của route Null0 này. 

Sơ đồ 

Như thường lệ, chúng ta cùng trao đổi về vấn đề quan tâm thông qua một bài lab ví dụ.

Sơ đồ bài lab gồm hai router mô phỏng một phần của một mạng doanh nghiệp.  ∙ Các loopback 0 và 1 trên router R1 được sử dụng để giả lập các mạng LAN kết  nối vào R1. Router Host được sử dụng để giả lập một host thuộc mạng LAN  172.16.2.0/24 của R2. 

Router biên R2 được thực hiện kết nối đi Internet thông qua cổng S0/0/0. R1 và  R2 chạy định tuyến RIPv2 và R2 sẽ thực hiện quảng bá default – route từ nó vào  R1 để đảm bảo các địa chỉ bên trong có thể đi được Internet. ∙ Trên sơ đồ lab này, chúng ta sẽ khảo sát vai trò của route Null0.

Thực hiện 

Bước 1: Cấu hình ban đầu cho sơ đồ lab 

Cấu hình đặt địa chỉ IP trên các cổng của các router R1 và R2 theo quy hoạch IP  được chỉ ra trên hình 1. 

Câu hình định tuyến RIPv2 giữa R1 và R2 đảm bảo mọi địa chỉ của mạng doanh  nghiệp thấy nhau.

R2 thực hiện chỉ default – route lên gateway Internet 100.0.0.1 và quảng bá  default – route này vào trong mạng doanh nghiệp. 

Cấu hình 

Trên R1:

R1(config)#interface f0/1 
R1(config-if)#no shutdown 
R1(config-if)#ip address 172.16.12.1 255.255.255.252 
R1(config-if)#exit 
R1(config)#interface loopback 0 
R1(config-if)#ip address 172.16.0.1 255.255.255.0 
R1(config-if)#exit 
R1(config)#interface loopback 1 
R1(config-if)#ip address 172.16.1.1 255.255.255.0 
R1(config-if)#exit 
R1(config)#router rip 
R1(config-router)#version 2 
R1(config-router)#network 172.16.0.0 
R1(config-router)#exit

Trên R2:

R2(config)#interface f0/0 
R2(config-if)#no shutdown 
R2(config-if)#ip address 172.16.12.2 255.255.255.252 
R2(config-if)#exit 
R2(config)#interface f0/1 
R2(config-if)#ip address 172.16.2.1 255.255.255.0 
R2(config-if)#exit 
R2(config)#interface s0/0/0 
R2(config-if)#ip address 100.0.0.2 255.255.255.252 
R2(config-if)#exit 
R2(config)#ip route 0.0.0.0 0.0.0.0 100.0.0.1 
R2(config)#router rip 
R2(config-router)#version 2 
R2(config-router)#network 172.16.0.0 
R2(config-router)#default-information originate 
R2(config-router)#exit

Trên router Host:

Host(config)#interface f0/0 
Host(config-if)#no shutdown 
Host(config-if)#ip address 172.16.2.2 255.255.255.0 
Host(config-if)#exit 
Host(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.1

Kiểm tra 

Chúng ta kiểm tra rằng định tuyến đã hội tụ trên hai router:

R1#show ip route rip
  172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
R    172.16.2.0/24 [120/1] via 172.16.12.2, 00:00:25, FastEthernet0/1
R*   0.0.0.0/0 [120/1] via 172.16.12.2, 00:00:25, FastEthernet0/1

R2#show ip route rip
  172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
R    172.16.0.0/24 [120/1] via 172.16.12.1, 00:00:11, FastEthernet0/0
R    172.16.1.0/24 [120/1] via 172.16.12.1, 00:00:11, FastEthernet0/0

Các địa chỉ trong mạng doanh nghiệp đã đi đến được nhau:

R1#ping 172.16.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/40/48 ms

R1#ping 172.16.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/86/144 ms

R2#ping 172.16.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/61/108 ms

R2#ping 172.16.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/47/96 ms

Bước 2: Tóm tắt địa chỉ với RIPv2 

Thực hiện tóm tắt địa chỉ trên router R1 đảm bảo router R2 sẽ chỉ nhìn thấy một  route duy nhất để đi đến cả hai subnet loopback của R1. 

Cấu hình 

Trên R1: 

R1(config)#interface f0/1 
R1(config-if)#ip summary-address rip 172.16.0.0 255.255.254.0
R1(config-if)#exit

Ghi chú 

Giao thức RIP cho phép thực hiện manual summarization trên từng cổng của router. Khi  thực hiện thành công summary trên cổng, mọi route được gửi ra khỏi cổng mà là route  thành phần của subnet summary sẽ được triệt thoái, chỉ còn route summary được gửi ra  khỏi cổng này để đi đến láng giềng. 

Nếu bạn đọc đã nắm vững về cách tính toán IP, ta có thể dễ dàng xác định được subnet  summary bao trùm hai subnet 172.16.0.0/24 và 172.16.1.0/24 là subnet 172.16.0.0/23.  Nếu chưa quen, chúng ta có thể sử dụng phương pháp summary cơ bản như sau: thực  hiện đối chiếu từng octet một của các subnet thành phần từ trái sang phải và thực hiện phân tích nhị phân octet khác nhau đầu tiên. Trong ví dụ của chúng ta, octet khác nhau  đầu tiên của hai địa chỉ mạng thành phần là octet thứ 3, do đó ta phân tích nhị phân octet  này: 

172.16.|00000000|.0/24 
172.16.|00000001|.0/24 

Ta thấy rằng các địa chỉ mạng này ngoài hai octet đầu, còn giống nhau thêm 7 bit của  octet thứ 3. Vậy, địa chỉ subnet bao trùm cả 2 subnet này sẽ gồm có hai octet đầu là octet  172 và 16, cộng thêm 6 bit giống nhau của octet thứ 3: 172.16.0.0/23. Subnet – mask  tương ứng với giá trị prefix – length 23 là 255.255.254.0, do đó ta có câu lệnh summary  trên cổng F0/1 của R1 là: 

R1(config-if)#ip summary-address rip 172.16.0.0 255.255.254.0

Kiểm tra 

Ta kiểm tra rằng router R2 chỉ còn thấy route summary cho hai route thành phần chỉ đến  các subnet loopback của R1:

R2#show ip route rip
  172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
R    172.16.0.0/23 [120/1] via 172.16.12.1, 00:00:19, FastEthernet0/0

Lưu ý rằng, do hoạt động của các timer của RIP, nên phải mất một khoảng thời gian  (dưới 4 phút), các route thành phần cũ mới được gỡ khỏi bảng định tuyến của R2. 

Ta thấy, nếu summary được thực hiện hợp lý, kích thước bảng định tuyến của các router  sẽ giảm đi rất nhiều. 

Bước 3: Vai trò của route Null0 

Shutdown interface loopback 0 của R1. 

Thực hiện traceroute từ router Host để quan sát hiện tượng loop của các gói tin. ∙ Cấu hình một static route summary chỉ đến Null0 để giải quyết vấn đề này. 

Thực hiện 

Trong bước này, chúng ta sẽ cùng thực hiện một vài thao tác test để thấy rõ vai trò của  route Null0. Đầu tiên, chúng ta thực hiện shutdown interface loopback 0 của R1: 

R1(config)#interface loopback 0
R1(config-if)#shutdown
R1(config-if)#exit
R1(config)#
*Mar  1 00:28:57.975: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down
*Mar  1 00:28:58.975: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to down

Vì loopback 1 vẫn còn tồn tại nên route summary vẫn được quảng bá bình thường từ R1  đến R2, R2 không hay biết gì về sự cố shutdown vừa thực hiện trên R1:

R2#show ip route rip
 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks 
R 172.16.0.0/23 [120/1] via 172.16.12.1, 00:00:17, FastEthernet0/0

Do đó nếu R2 nhận được lưu lượng cần đi đến loopback 0 của R1, R2 sẽ vẫn đẩy lưu  lượng này về phía R1 theo thông tin trong bảng định tuyến của mình. Khi R1 nhận đươc  lưu lượng này, nó forward lưu lượng này theo default – route để đi đến R2 vì default – route là route duy nhất trong bảng định tuyến của R1 mà match với đích đến của lưu  lượng. R2 khi nhận đươc lại lưu lượng này lại theo bảng định tuyến mà chuyển về cho  R1,… Và như vậy loop đã xảy ra. 

Ta quan sát hiện tượng này bằng cách sử dụng traceroute từ Host đến loopback 0 của R1:

Host#traceroute 172.16.0.1 
Type escape sequence to abort. 
Tracing the route to 172.16.0.1 
 1 172.16.2.1 44 msec 56 msec 48 msec 
 2 172.16.12.1 104 msec 60 msec 64 msec 
 3 172.16.12.2 52 msec 72 msec 56 msec 
 4 172.16.12.1 76 msec 132 msec 120 msec 
 5 172.16.12.2 152 msec 184 msec 192 msec 
 6 172.16.12.1 204 msec 168 msec 136 msec

Kết quả traceroute cho thấy gói tin bị loop qua lại giữa R1 và R2. 

Để khắc phục hiện tượng này, chúng ta cần phải không để R1 sử dụng default – route để  chuyển đi gói tin đi đến loopback 0 nữa. Ta thực hiện cấu hình một static route cho  subnet summary chỉ đến Null0. Null0 là một interface luận lý trên router, mọi gói tin đẩy  đến Null0 sẽ bị router drop bỏ. 

R1(config)#ip route 172.16.0.0 255.255.254.0 null0

R1#show ip route static
  172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
S    172.16.0.0/23 is directly connected, Null0

Với route mới tạo ra này, ta đã khắc phục được hiện tượng loop vừa rồi. Thật vậy, xét lại  trường hợp R2 nhận được lưu lượng đi đến loopback 0 của R1, R2 sẽ theo route summary  mà đẩy lưu lượng này về R1. Khi R1 nhận được lưu lượng này, R1 sẽ tra bảng định tuyến để tìm ra đường đi tương ứng cho lưu lượng. Lần này, bên cạnh default – route, R1 còn  có thêm một route match với đích đến của gói tin là static route ta mới cấu hình ở trên. Vì  default – route có độ ưu tiên kém nhất và luôn được sử dụng sau cùng khi mà không còn  route nào thỏa mãn đích đến của gói tin, static route null0 sẽ được sử dụng và gói tin đi  đến loopback 0 của R1 lần này sẽ bị đẩy đến null0 rồi bị drop và không còn xảy ra loop  nữa. 

Ta thử lại hoạt động traceroute vừa rồi:

Host#traceroute 172.16.0.1 
Type escape sequence to abort. 
Tracing the route to 172.16.0.1
 1 172.16.2.1 80 msec 44 msec 48 msec 
 2 172.16.12.1 120 msec 88 msec 124 msec 
 3 172.16.12.1 !H * !H

Kết quả của lệnh traceroute cho thấy loop không còn xảy ra. 

Như vậy ta thấy vai trò của route Null0 được tạo thêm trên router thực hiện summary này  là ngăn chặn loop xảy ra khi một trong các route thành phần của route summary không  còn trong bảng định tuyến của router summary nữa.  

Với giao thức định tuyến RIP, chúng ta phải tự tay cấu hình route Null0 như đã thực hiện  ở trên.  

Với các giao thức OSPF và EIGRP, chúng ta không cần phải cấu hình tay route null0. Mỗi khi chúng ta thực hiện summary với OSPF và EIGRP, tiến trình định tuyến của các  giao thức này sẽ tự động phát sinh ra route Null0 tương ứng cho subnet summary. 

Cảm ơn các bạn! 

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email