静态路由之路由器两种转发模式(进程交换转发与快速交换转发)

来源:互联网 发布:四川省六有大数据平台 编辑:程序博客网 时间:2024/04/28 07:45

如上图所示,配置如下:

R1#show run
Building configuration...

Current configuration : 941 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
memory-size iomem 5
!
ip cef
no ip domain lookup
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface Serial0/0
ip address 192.1.12.1 255.255.255.0
serial restart-delay 0
!
interface Serial0/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial0/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial0/3
no ip address
shutdown
serial restart-delay 0
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
ip http server
no ip http secure-server
!
ip route 3.3.3.0 255.255.255.0 Serial0/0 5 permanent
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
!
end

R2#show run
Building configuration...

Current configuration : 1039 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
no aaa new-model
memory-size iomem 5
!
ip cef
no ip domain lookup
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Serial0/0
ip address 192.1.12.2 255.255.255.0
serial restart-delay 0
clock rate 64000
!
interface Serial0/1
ip address 192.1.23.2 255.255.255.0
serial restart-delay 0
clock rate 64000
!
interface Serial0/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial0/3
no ip address
shutdown
serial restart-delay 0
!
interface FastEthernet1/0
ip address 193.1.23.2 255.255.255.0
duplex auto
speed auto
!
ip http server
no ip http secure-server
!
ip route 3.3.3.0 255.255.255.0 FastEthernet1/0
ip route 3.3.3.0 255.255.255.0 Serial0/1
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
!
end

R3#show run
Building configuration...

Current configuration : 948 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
no aaa new-model
memory-size iomem 5
!
ip cef
no ip domain lookup
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
!
interface Serial0/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial0/1
ip address 192.1.23.3 255.255.255.0
serial restart-delay 0
!
interface Serial0/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial0/3
no ip address
shutdown
serial restart-delay 0
!
interface FastEthernet1/0
ip address 193.1.23.3 255.255.255.0
duplex auto
speed auto
!        
ip http server
no ip http secure-server
!
ip route 192.1.12.0 255.255.255.0 192.1.23.2
!
control-plane
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
!
end

此试验为验证R2到R3上双线负载均衡的现象,从而学习路由器的两种转发模式:进程交换转发、快速交换转发

采用进程交换方式转发分组时,将基于每个分组来做出等成本路径上的负载均衡决策;

采用快速交换方式转发分组时,将基于目的地来做出等成本路径上的负载均衡决策。

首先说明,涉及到ip cef (全局支持快速转发),no ip route-cache(接口下关闭快速转发变成进程转发)

1,我们在R2上配置 no ip cef ,关闭全局快速转发。使R2变成进程转发。

    我们ping 3.3.3.3 并开启debug ip packet观察

R2#ping 3.3.3.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!
*Mar 1 01:18:51.651: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 01:18:51.651: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:18:51.795: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 01:18:51.795: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 01:18:51.799: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 01:18:51.799: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 01:18:51.803: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, encapsulation failed.!
*Mar 1 01:18:53.799: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 01:18:53.799: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:18:53.907: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 01:18:53.907: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 01:18:53.911: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 01:18:53.911: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 01:18:53.915: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, encapsulation failed.!

一通一断现象,从路径看走193的全不通,因为encapsulation failed. 此原因为我们写静态路由的时候是以出接口为下一跳,从而路由在进程转发时候找到此链路上时,会查找2层RARP相关信息对数据重新封成帧,导致封装失败而ping不通。   

※如果我们静态路由下一跳为IP地址,则不会产生这样现象。所以写静态路由时候尽量写下一跳IP地址而不要写出接口。

2,我们查看路由条目详细信息。
R2#show ip route 3.3.3.0
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via FastEthernet1/0
      Route metric is 0, traffic share count is 1
    directly connected, via Serial0/1
      Route metric is 0, traffic share count is 1
此时关闭快速转发后,每一个包的转发都会跟随着下一跳指针的跳动而走不一样的下一跳F1/0或S0/1,这也是说明上面我们为什么通一个断一个,当指针跳到S0/1时,包可以通,跳到F1/0时,就会不通。

3,我们将静态路由该为下一跳IP地址后,可以看到负载均衡的同时下一跳指针的变化,数据包均通。
R2
#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
    193.1.23.3
      Route metric is 0, traffic share count is 1
* 192.1.23.3
      Route metric is 0, traffic share count is 1

R2#ping 3.3.3.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 72/137/236 ms
R2#
*Mar 1 01:41:23.215: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 01:41:23.215: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:41:23.355: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 01:41:23.355: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 01:41:23.359: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 01:41:23.359: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 01:41:23.499: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:41:23.499: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:41:23.503: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 01:41:23.503: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:4
R2#1:23.595: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 01:41:23.595: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 01:41:23.599: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 01:41:23.599: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 01:41:23.835: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:41:23.835: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:41:23.839: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 01:41:23.839: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:41:23.907: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 01:41:23.907: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
R2#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 193.1.23.3
      Route metric is 0, traffic share count is 1
    192.1.23.3
      Route metric is 0, traffic share count is 1

4,然后我们再将R2的ip cef 功能全局打开,即全局快速转发,并开启debug ip packet观察。
R2(config)#ip cef
R2(config)#^Z
R2#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 193.1.23.3
      Route metric is 0, traffic share count is 1
    192.1.23.3
      Route metric is 0, traffic share count is 1

R2#ping 3.3.3.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 72/124/172 ms
R2#
*Mar 1 01:43:44.247: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via FIB
*Mar 1 01:43:44.247: IP: s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:43:44.415: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:43:44.415: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:43:44.419: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via FIB
*Mar 1 01:43:44.419: IP: s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:43:44.559: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:43:44.559: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:43:44.563: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via FIB
*Mar 1 01:43:44.563: IP: s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending

R2#*Mar 1 01:43:44.655: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:43:44.655: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:43:44.659: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via FIB
*Mar 1 01:43:44.659: IP: s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:43:44.727: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:43:44.727: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 01:43:44.731: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via FIB
*Mar 1 01:43:44.735: IP: s=193.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 01:43:44.871: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 01:43:44.871: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEt
R2#hernet1/0), len 100, rcvd 3

此现象观察到快速转发而为实现包的负载均衡,应为基于目的的负载均衡,如我们ping其它地址将会看到负载路径的变化。

5,我们将R2的ip cef全局no掉,使R2进入进程交换,我们分别从R1和R2上ping 3.3.3.3 观察结果。
R2
#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
    193.1.23.3
      Route metric is 0, traffic share count is 1
* 192.1.23.3
      Route metric is 0, traffic share count is 1

R2#ping 3.3.3.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 96/196/284 ms
R2#
*Mar 1 00:19:48.607: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 00:19:48.607: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 00:19:48.823: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 00:19:48.823: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 00:19:48.827: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 00:19:48.827: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 00:19:49.107: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 00:19:49.107: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 00:19:49.111: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 00:19:49.111: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 00:1
R2#9:49.203: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 00:19:49.203: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
*Mar 1 00:19:49.207: IP: tableid=0, s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), routed via RIB
*Mar 1 00:19:49.207: IP: s=193.1.23.2 (local), d=3.3.3.3 (FastEthernet1/0), len 100, sending
*Mar 1 00:19:49.467: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), routed via RIB
*Mar 1 00:19:49.467: IP: s=3.3.3.3 (FastEthernet1/0), d=193.1.23.2 (FastEthernet1/0), len 100, rcvd 3
*Mar 1 00:19:49.471: IP: tableid=0, s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), routed via RIB
*Mar 1 00:19:49.471: IP: s=192.1.23.2 (local), d=3.3.3.3 (Serial0/1), len 100, sending
*Mar 1 00:19:49.587: IP: tableid=0, s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), routed via RIB
*Mar 1 00:19:49.587: IP: s=3.3.3.3 (Serial0/1), d=192.1.23.2 (Serial0/1), len 100, rcvd 3
R2#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 193.1.23.3
      Route metric is 0, traffic share count is 1
    192.1.23.3
      Route metric is 0, traffic share count is 1

此信息可看出R2在进程转发模式下,R2自身发起的ping包按照进程转发负载均衡的。接着我们去R1发起ping包并观察现象。
R2#clear ip route * (清除路由表,这样R2上对R1来的ping包的第一个包会进行进程转发,随后按照cache表进行快速转发,以下信息可以看到R2上就第一个包进行了进程路由寻径的输出。)
*Mar 1 00:23:15.899: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=192.1.12.1 (Serial0/0), routed via RIB
*Mar 1 00:23:15.899: IP: s=3.3.3.3 (FastEthernet1/0), d=192.1.12.1 (Serial0/0), g=192.1.12.1, len 100, forward
R2#
*Mar 1 00:23:16.923: IP: tableid=0, s=3.3.3.3 (FastEthernet1/0), d=192.1.12.1 (Serial0/0), routed via RIB
*Mar 1 00:23:16.927: IP: s=3.3.3.3 (FastEthernet1/0), d=192.1.12.1 (Serial0/0), g=192.1.12.1, len 100, forward
R2#show ip route 3.3.3.3
Routing entry for 3.3.3.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
    193.1.23.3
      Route metric is 0, traffic share count is 1
* 192.1.23.3
      Route metric is 0, traffic share count is 1

此分节试验目的在于,我们在认识进程转发与快速转发的同时,我们应该知道R2处于进程转发的同时只对自身发起的包有效,对其他路由过来的包当第一个包进行进程寻径后在Cache缓存中会存在其转发出口,当在接到同一目的的包时,将对其进行基于目的的快速转发。也可以理解为Cache只对穿越其路由器的流量生效,对其本身产生的流量无效。此为cisco的ip cef功能。

 

Cisco CCIE Security 2009 IOS防火墙合集

Cisco CCIE Security 2009最新整套视频合集

dada147 2009 ccnp新版交换视频集合

CCIE 路由与交换 CCIE SP 服务提供商
CCIE R&S v4.0 LAB 版本 k1 + k2 + k3 分享 转帖
Cisco PIX 分解实验 三 ACCESS_LIST_TYPT 第一集
wolf 语音视频:cvoice(Cisco Voice Over IP)下部分
wolf 语音视频:cvoice(Cisco Voice Over IP)上部分
思科网院--全新CCNA中文课程(CCNA Discovery 1-4)
ITAA马三友Catalyst 6500交换机架构 视频(三小时+)
广州wolf-CCIE(ISP)学习笔记

2010年WOLF老孟MPLS 40集全集附带LAB实验视频清晰版
彭定学老师共享CCNP V4 Switch1.0第二部分

 

Juniper视频如何购买

CCSP视频下载

Juniper 视频购买

Cisco CCNP+TSHOOT+642-832+中文 高清扫描版

新版 CCNP 学习用书 CCNP SWITCH 642-813

新版 CCNP 学习用书 CCNP ROUTE 642-902

新版 CCNP 学习用书 CCNP TSHOOT 642-832

西安威克诺张sirCCIE视频TIEC阶段交换部分3
【原创精品】ISCW-LAB试验文档和试验机架
西安张sir-2010 CCNP4.0视频 TIEC-5 (Multicast NLI) 第五集

信达 郑sir ccnp 视频分享 路由 第一集 TCP/IP

信达 郑sir ccnp 视频分享 路由 第二集 路由基础

Cisco PIX 分解实验 三 virtual_telnet_介绍 第十九集

 

博锐教育 CCNA课堂实验全集

文章转载至http://bbs.net527.cn  无忧网客联盟

shop.net527.cn/

无忧网客联盟主站

无忧linux时代