Thursday, March 7, 2013

Configuring a Router as a Frame-Relay Switch

This is one task that we may find in our CCIE exam. Usually, we dont have to configure anything on the Frame-Relay cloud during the lab, that’s something that most of the times comes already done. But, we could be asked to configure a router to act as Frame-Relay switch, switching DLCIs from one interface to another.
Let’s start with the following lab:
There are 3 types of interfaces in Frame-Relay:
  • DTE interface: Default interface type for a Router, used to connect to the Switch
  • DCE interface: Interface type configured in the Switch side in order to connect to the Router
  • NNI interface: Interface type configured in the Switch side in order to connect to another Frame-Relay Switch

If we are asked to configure a router as a Frame-Relay switch, first we must identify what purpose each interface is for. If the interface is for connecting to another Frame-Relay switch (a real switch or a router acting as a switch), we have to configure the interface as an NNI interface. However, if the interface is for connecting to a normal router, the interface must be configured as an DCE interface.
In this post we are going to work with the “frame-relay route” command, in a later post we’ll present a setup with the “connect” feature.
Once we have identified this point, the rest of the configuration is very easy, as follows:
SW1#
SW1# configure terminal
SW1(config)# frame-relay switching
SW1(config)# interface serial0/0
SW1(config-if)# description == To R1 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type dce
SW1(config-if)# frame-relay route 102 interface Serial0/2 201
SW1(config-if)# frame-relay route 103 interface Serial0/1 301
SW1(config-if)# no shut
SW1(config-if)# exit
SW1(config)# interface serial0/1
SW1(config-if)# description == To R3 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type dce
SW1(config-if)# frame-relay route 301 interface Serial0/0 103
SW1(config-if)# no shut
SW1(config-if)# exit
SW1(config)# interface serial0/2
SW1(config-if)# description == To R2 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type dce
SW1(config-if)# frame-relay route 201 interface Serial0/0 102
SW1(config-if)# no shut
SW1(config-if)# end
SW1#
With this configuration, every packet entering the switch through the interface Serial0/0 with DLCI 102 will be switched to interfaceSerial0/2 with DLCI 201, and vice versa. Every packet entering the switch through the interface Serial0/0 with DLCI 103 will be switched to interface Serial0/1 with DLCI 301, and vice versa.
Take note that the frame-relay route command must be configured in pairs on both the incoming interface and outgoing interface for the Frame Relay route to become active. Otherwise, it won’t work.
Let’s do some checks on R1:
R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Serial0/0                  10.10.10.1      YES manual up                    up
Serial0/1                  unassigned      YES unset  administratively down down
R1#
R1#show frame-relay map
Serial0/0 (up): ip 10.10.10.2 dlci 102(0x66,0x1860), dynamic,
              broadcast,, status defined, active
Serial0/0 (up): ip 10.10.10.3 dlci 103(0x67,0x1870), dynamic,
              broadcast,, status defined, active
R1#
R1#show frame-relay pvc
PVC Statistics for interface Serial0/0 (Frame Relay DTE)
              Active     Inactive      Deleted       Static
  Local          2            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0
DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0

  input pkts 132           output pkts 131          in bytes 9782
  out bytes 9714           dropped pkts 0           in pkts dropped 0
  <...>
DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0

  input pkts 6             output pkts 10           in bytes 554
  out bytes 842            dropped pkts 0           in pkts dropped 0
  <...>
R1#
R1#show frame-relay lmi
LMI Statistics for interface Serial0/0 (Frame Relay DTE) LMI TYPE = CISCO
  Invalid Unnumbered info 0             Invalid Prot Disc 0
  Invalid dummy Call Ref 0              Invalid Msg Type 0
  Invalid Status Message 0              Invalid Lock Shift 0
  Invalid Information ID 0              Invalid Report IE Len 0
  Invalid Report Request 0              Invalid Keep IE Len 0
  Num Status Enq. Sent 135              Num Status msgs Rcvd 128
  Num Update Status Rcvd 0              Num Status Timeouts 8
R1#
R1#ping 10.10.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/52/92 ms
R1#
R1#ping 10.10.10.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/67/120 ms
R1#
We can also verify the configuration with show commands on the SW1:
SW1#show frame-relay route
Input Intf      Input Dlci      Output Intf     Output Dlci     Status
Serial0/0 102 Serial0/2 201 active Serial0/0 103 Serial0/1 301 activeSerial0/1 301 Serial0/0 103 active Serial0/2 201 Serial0/0 102 active
From this command we can see if the frame-relay route command has been configured in pairs on both the incoming interface and outgoing interface.
Now let’s try to configure the interface between SW1 and SW2. Apart from configuring the link between both as NNI, we need to disable the keepalives:
SW1#
SW1# configure terminal
SW1(config)# frame-relay switching
SW1(config)# interface serial0/0
SW1(config-if)# description == To R1 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type dce
SW1(config-if)# frame-relay route 102 interface Serial0/3 502
SW1(config-if)# no shut
SW1(config-if)# exit
SW1(config)# interface serial0/3
SW1(config-if)# description == To SW2 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type nni
SW1(config-if)# no keepalive
SW1(config-if)# frame-relay route 502 interface Serial0/0 102
SW1(config-if)# no shut
SW1(config-if)# end
SW2#
SW2# configure terminal
SW2(config)# frame-relay switching
SW2(config)# interface serial0/0
SW2(config-if)# description == To SW1 ==
SW2(config-if)# encapsulation frame-relay
SW2(config-if)# frame-relay intf-type nni
SW2(config-if)# no keepalive
SW2(config-if)# frame-relay route 502 interface Serial0/2 201
SW2(config-if)# no shut
SW2(config-if)# exit
SW2(config)# interface serial0/2
SW2(config-if)# description == To R2 ==
SW2(config-if)# encapsulation frame-relay
SW2(config-if)# frame-relay intf-type dce
SW2(config-if)# frame-relay route 201 interface Serial0/0 502
SW2(config-if)# no shut
SW2(config-if)# end
Let’s do some checks on R1, SW1 and SW2:
R1#shw frame-relay map
Serial0/0 (up): ip 10.10.10.2 dlci 102(0x66,0x1860), dynamic,
              broadcast,, status defined, active
R1#
R1#sh frame-relay pvc
PVC Statistics for interface Serial0/0 (Frame Relay DTE)

              Active     Inactive      Deleted       Static
  Local          1            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0
DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0

  input pkts 232           output pkts 286          in bytes 17150
  out bytes 21338          dropped pkts 0           in pkts dropped 0
  <...>
R1#
R1#ping 10.10.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 44/91/172 ms
R1#
SW1#sh frame-relay route
Input Intf      Input Dlci      Output Intf     Output Dlci     Status
Serial0/0       102             Serial0/3       502             active
Serial0/3       502             Serial0/0       102             static
SW2#sh frame-relay route
Input Intf      Input Dlci      Output Intf     Output Dlci     Status
Serial0/0       502             Serial0/2       201             static
Serial0/2       201             Serial0/0       502             active
Stay tuned folks!!
Related Posts Plugin for WordPress, Blogger...