上一篇我们介绍了在帧中继物理里接口点对点上运行EIGRP的配置,本篇我们开始介绍在帧中继点到点子接口上运行EIGRP的配置。
背景
当有多个分部的局域网通过帧中继和总部进行连接时,为了减少对总部路由器接口的占用和对应的线路费用,通常采用多个分部的域网用不同虚电路连接到总部局域网的方法来实现总部和分部的互联。如下图1,假如R1是总部的路由器,为了实现和R2、R3互联,我们需要在R1的S0口划分两个子接口S0.1和S0.2。S0.1对应的DLCI地址为20,与R2的S0口建立了虚电路;S0.2对应的DLCI地址为21,与R3的S0口建立了虚电路。
相关概念
子接口
子接口是一种逻辑接口。从物理上看,S0只是一个接口,连接到总部的帧中继交换机线路也只有一条,但是从工作上看,S0相当于两个接口:S0.1和S0.2,每个子接口有自己的IP地址和自己的DLCI地址,可以分别和远端局域网建立虚电路。
注意:子接口的写法如下:Seiral 物理接口号.子接口号。
子接口的连接类型有两种:点到点(point to point)和多点(multipoint)。
点到点(point to point):子接口只和一个对端建立虚电路,子接口和对端组成同一个物理网络。如上图1中的S0.1和S0.2都是点到点类型的(R1#S0.1<―>#R2S0在20.1.1.0的同一个网络里;R1#S0.2<―>#R3S0在30.1.1.0的同一个网络里)。
多点(multipoint):一个子接口和多个对端建立虚电路,子接口和个个对端组成一个物理网络。如下图2所示:R1的S0.1是点到点类型,它和R2的S0口组成一个物理网络(20.1.1.0/24)。S0.2是多点类型,它和R3的S0口,以及R4的S0口组成一个物理网络。
在点到点类型中,每条虚电路都相当一个物理连接,路由器可以通过广播来播发各种信息(如上面图1中R2会把学到的路由传给R1,R1会通过多播把路由转发给R3,这样R3就可以通过R1和R2进行通讯,R2同理。),也可以转发路由更新(一般是多播),所以在这种连接种可以使用各种路由协议来生成路由表。
在多点类型中,多条虚电路连接的都在同一个子网里,所以路由器不转发它接收的广播和路由更新消息,所以这种环境中使用路由协议时,需要进行特殊的设置才能保证路由协议的正常运行。
帧中继映射
由于DLCI地址存在不唯一性,所以DLCI只是针对本地有效。在一条永久虚电路(PVC)上,我们需要说明本地的DLCI与远端的连接关系。帧中继有两种映射方法:静态映射和动态映射
静态映射
静态映射由手工配置而成,配置命令如下:
R1(config-if)#frame-relay map ip IP-address DLCI [Broadcast] //其中IP-address是PVC远端连接的IP地址,如图3中的200.1.1.2,DLCI是PVC在本地连接的DLCI地址如图3中的20。broadcast是允许在帧中继上传送路由广播,如果想让路由器能够通过RIP,EIGRP,OSPF等动态路由协议学习远端的路由信息,需要加上这个关键字。
注意:frame-relay map ip地址 dlci值 和frame-relay interface-dlci都可以配置静态映射。区别如下:
frame-relay map ip 地址 dlci 值,一般用在物理接口和多点子接口上,表示某IP(对端)与某DLCI(本端)对应,与IP和MAC地址对应的道理是类似的。
而frame-relay interface-dlci,一般用在点到点子接口上,表示不管IP(对端)是什么,都和该DLCI(本端)对应。记住!!在点到点子接口下不能使用“frame-relay map ip”来配置帧中继的映射,否则会有如下的报错:
R1(config-subif)#frame-relay map ip 20.1.1.2 20 cisco broadcast
Only frame-relay interface-dlci command should be used on point-to-point interfaces not frame-relay map。
配置实例:fram-relay map ip 200.1.1.2 20 broadcast
动态映射
动态映射(默认启用)由逆向ARP(IARP)协议自动生成,而且总是允许伪广播(不可控)。(关于逆向ARP可以参考我的另外一篇文章 帧中继和路由协议详解-理论篇。)
在建立帧中继连接时,路由器发送逆向ARP请求,查找PVC另一端的IP地址,再利用查找结果建立帧中继映射表,这就是动态映射表。
在默认情况下,逆向ARP是自动启用的,不需要配置。如果逆向ARP被关闭了,可以用以下命令打开:
R1(config-if)#frame-relay inverse-arp ip DLCI //DLCI是本地接口的DLCI地址。
动态映射简化了帧中继的配置,但是如果想要使用EIGRP,OSPF等路由协议,应该使用静态映射。当一个接口配置了静态映射时,该接口的逆向ARP会自动关闭。
注意:一些早期的路由器不支持逆向ARP,这种路由器只能使用静态ARP。
配置
配置部分我们以图1作为我们的配置拓扑图,配置环境利用GNS3:
3个路由器采用点到点的帧中继连接,路由器R1使用两个子接口与路由器R2、R3相连。各路由器使用EIGRP协议学习路由信息。ISP的帧中继封装类型为CISCO。
帧中继交换机的配置
总部站点R1的配置
配置子接口
在总部站点R1的S0/0接口定义了两个子接口:S0/0.1和S0/0.2
S0.1:点到点,20.1.1.1/24,DLCI=20
S0.2:点到点,30.1.1.1/24,DLCI=30
R1(config)#inter s0/0
R1(config-if)#no ip address //是为了删除S0/0的IP地址,如果S0/0接口没有配置IP地址,可没有此步。
R1(config-if)#encapsulation frame-relay //启用帧中继封装,默认为CISCO格式,也可以用IETF封装。
R1(config-if)#no shutdown //激活接口,如果是子接口不需要使用该命令。
R1(config-if)#
*Mar 1 00:07:27.671: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up。
R1(config)#interface s0/0.1 point-to-point //创建子接口S0/0.1,连接类型为point-to-point。
R1(config-subif)#ip address 20.1.1.1 255.255.255.0 //配置子接口的IP地址。
R1(config-subif)#frame-relay interface-dlci 20 //DLCI静态映射,配置子接口的DLCI为20,在点到点子接口下不能使用“frame-relay map ip”来配置帧中继的映射,否则会有报错。
R1(config)#inter s0/0.2 point-to-point //创建子接口S0/0.2,连接类型为point-to-point。
R1(config-subif)#ip address 30.1.1.1 255.255.255.0 //配置子接口IP地址。
R1(config-subif)#frame-relay interface-dlci 21 //DLCI静态映射配置子接口的DLCI为21。
配置其R1和PC1的直连接口
R1(config)#inter f1/0
R1(config)#inter f1/0R1(config-if)#ip add 1.1.1.1 255.0.0.0
R1(config-if)#no shutdown
配置EIGRP路由协议
R1(config)#router eigrp 100 //启用EIGRP路由进程,AS为100。
R1(config-router)#network 0.0.0.0 //宣告所有接口
分支站点R2和R3的配置
配置接口
R2(config)#inter s0/0
R2(config-if)#ip address 20.1.1.2 255.255.255.0 //不是子接口需要配置IP地址。
R2(config-if)#encapsulation frame-relay //启用帧中继封装,默认为CISCO格式,也可以用IETF封装。
R2(config-if)#frame-relay map ip 20.1.1.1 30 broadcast //配置静态DLCI映射,非子接口可以使用该命令
R2(config-if)#endR2(config-if)#no shutdown
配置其R2和PC2的直连接口
R2(config)#inter f1/0 //和PC2直连接口的配置。
R2(config-if)#ip add 2.2.2.1 255.0.0.0和PC2直连接口IP地址的配置。
R2(config-if)#no shutdown //启用接口
配置EIGRP路由协议
R2(config)#router eigrp 100 //启用EIGRP路由进程,AS为100
R2(config-router)#network 0.0.0.0 //宣告所有接口
R3的配置同R2
各站点PC端的配置
PC用GNS3自带的VPC,只需要配置IP地址和和所连接的路由器在同个网段上即可,如下:
PC1> ip 1.1.1.2/8
Checking for duplicate address...
PC1 : 1.1.1.2 255.0.0.0
PC1> ping 1.1.1.1
1.1.1.1 icmp_seq=1 timeout
84 bytes from 1.1.1.1 icmp_seq=2 ttl=255 time=10.105 ms
84 bytes from 1.1.1.1 icmp_seq=3 ttl=255 time=9.130 ms
84 bytes from 1.1.1.1 icmp_seq=4 ttl=255 time=7.153 ms
84 bytes from 1.1.1.1 icmp_seq=5 ttl=255 time=9.136 ms
PC2和PC3的配置同PC1
验证
验证连通性
PC1> ping 2.2.2.2
84 bytes from 2.2.2.2 icmp_seq=1 ttl=62 time=31.386 ms
84 bytes from 2.2.2.2 icmp_seq=2 ttl=62 time=31.170 ms
84 bytes from 2.2.2.2 icmp_seq=3 ttl=62 time=31.137 ms
84 bytes from 2.2.2.2 icmp_seq=4 ttl=62 time=30.191 ms
84 bytes from 2.2.2.2 icmp_seq=5 ttl=62 time=31.086 ms
上面是总部PC1 PING分部站点2的内部
PC1> ping 3.3.3.2
3.3.3.2 icmp_seq=1 timeout
3.3.3.2 icmp_seq=2 timeout
84 bytes from 3.3.3.2 icmp_seq=3 ttl=62 time=23.220 ms
84 bytes from 3.3.3.2 icmp_seq=4 ttl=62 time=30.164 ms
84 bytes from 3.3.3.2 icmp_seq=5 ttl=62 time=31.515 ms
上面是总部PC1 PING分部站点3的内部
PC1>
PC2> ping 1.1.1.2
84 bytes from 1.1.1.2 icmp_seq=1 ttl=62 time=32.076 ms
84 bytes from 1.1.1.2 icmp_seq=2 ttl=62 time=30.158 ms
84 bytes from 1.1.1.2 icmp_seq=3 ttl=62 time=30.265 ms
84 bytes from 1.1.1.2 icmp_seq=4 ttl=62 time=29.141 ms
84 bytes from 1.1.1.2 icmp_seq=5 ttl=62 time=30.131 ms
分部站点2 PC2 PING 总部PC1
PC2> ping 3.3.3.2
84 bytes from 3.3.3.2 icmp_seq=1 ttl=61 time=34.108 ms
84 bytes from 3.3.3.2 icmp_seq=2 ttl=61 time=42.087 ms
84 bytes from 3.3.3.2 icmp_seq=3 ttl=61 time=51.112 ms
84 bytes from 3.3.3.2 icmp_seq=4 ttl=61 time=52.185 ms
84 bytes from 3.3.3.2 icmp_seq=5 ttl=61 time=53.060 ms
分部站点2内部PING分支站点3内部
验证EIGRP邻居
R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 30.1.1.2 Se0/0.2 143 00:18:08 50 300 0 3
0 20.1.1.2 Se0/0.1 128 00:19:04 68 408 0 3
验证EIGRP路由表
R1#show ip route eigrp
D 2.0.0.0/8 [90/2172416] via 20.1.1.2, 00:21:19, Serial0/0.1
D 3.0.0.0/8 [90/2172416] via 30.1.1.2, 00:20:21, Serial0/0.2
20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D 20.0.0.0/8 is a summary, 00:26:19, Null0
30.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D 30.0.0.0/8 is a summary, 00:26:19, Null0
R2#show ip route eig
D 1.0.0.0/8 [90/2172416] via 20.1.1.1, 00:22:01, Serial0/0
D 3.0.0.0/8 [90/2684416] via 20.1.1.1, 00:21:02, Serial0/0
20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D 20.0.0.0/8 is a summary, 00:22:01, Null0
D 30.0.0.0/8 [90/2681856] via 20.1.1.1, 00:22:01, Serial0/0
R3#show ip route eigrp
D 1.0.0.0/8 [90/2172416] via 30.1.1.1, 00:21:42, Serial0/0
D 2.0.0.0/8 [90/2684416] via 30.1.1.1, 00:21:42, Serial0/0
D 20.0.0.0/8 [90/2681856] via 30.1.1.1, 00:21:42, Serial0/0
30.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D 30.0.0.0/8 is a summary, 00:21:44, Null0
验证DLCI静态映射表
R1#show frame-relay map
Serial0/0.2 (up): point-to-point dlci, dlci 21(0x15,0x450), broadcast
status defined, active
Serial0/0.1 (up): point-to-point dlci, dlci 20(0x14,0x440), broadcast
status defined, active
R2#show frame-relay map
Serial0/0 (up): ip 20.1.1.1 dlci 30(0x1E,0x4E0), static, //静态
broadcast,
CISCO, status defined, active
Serial0/0 (up): ip 30.1.1.1 dlci 40(0x28,0x880), static, //静态
broadcast,
CISCO, status defined, active
好了,本篇到此结束,下篇开始讲在帧中继在多点子接口上运行EIGRP。下篇见!