Frame Relay performance problems include flapping links, end-to-end problems, shaping problems, and compression over Frame Relay problems. They are described in detail in this section. Flapping LinksOne of the typical problems of poor performance is that the computers connected to the router lose their connection or experience high delay or slow performance. The issue is related to instability in the second layer and the protocol constantly going up and down. The first step in troubleshooting this problem is to check both sides of the connection. The user's end reports the output in Example 17-30. Example 17-30. The Status of the Interfaces of the Remote User's Router 1602-frame#show ip interface brief Interface IP-Address OK? Method Status Protocol Ethernet0 10.70.194.209 YES NVRAM up up Loopback0 unassigned YES NVRAM up up Serial1 unassigned YES NVRAM up up Serial1.37 10.70.194.209 YES unset up up 1602-frame# Meanwhile, the core router is reporting the output in Example 17-31. Example 17-31. The Status of the Interfaces of the Core Router7026-frame#show ip interface brief Serial4/1:0 unassigned YES NVRAM up up <output omitted> !This interface - Serial 4/1:0.37 - is the peer of the remote user's ! Serial 1.37 interface in this point-to-point configuration. Serial4/1:0.37 10.68.88.1 YES unset up up Serial4/1:0.41 10.68.88.1 YES unset up up Serial4/1:0.44 10.68.88.1 YES unset up up Check the output carefully. If you compare both parts of the history of the PVC (see Chapter 14 to double-check who provides the history information), you can see a significant difference between the time that the PVC is created and the last time the PVC was changed. Enter either of the following commands: 1602-frame#show frame-relay pvc 72060- frame#show frame-relay pvc 37 The following PVC information is displayed:
The full display of the output is shown in Example 17-32. Example 17-32. Checking the History of Serial 1.37 on a Remote User's Router1602-frame#show frame-relay pvc 37 PVC Statistics for interface Serial1 (Frame Relay DTE) DLCI = 37, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial1.37 input pkts 708285 output pkts 97790 in bytes 354082477 out bytes 20908266 dropped pkts 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 708285 out DE pkts 0 out bcast pkts 22619 out bcast bytes 2437086 ! The next line shows the PVC was created 7w2d ago, but ! flapped 05:05 minutes ago pvc create time 7w2d, last time pvc status changed 00:05:05 ! There is no process in Frame Relay that requires the ! PVC to go down systematically. 1602-frame# In Example 17-32, the first time the end user's router was turned on is 7w2d ago, and for some reason, 00:05:05 hours ago the PVC went down again. If you continue to monitor, you will see this measurement going up and down, which is known as flapping. NOTE You can monitor Frame Relay permanent virtual circuit's (PVC's) status better if you use the following commands under the serial 0(1) interface: 1602-frame(config-if)#logging event ? dlci-status-change DLCICHANGE messages link-status UPDOWN and CHANGE messages subif-link-status Sub-interface UPDOWN and CHANGE messages 1602-frame# These command parameters enable you to report any change in the status of the DLCI, link, or subinterface. This way, you can review the log the following day and be precise in your information as to how many times and when the PVC has changed its status. Remember to set the router clock before testing. You do not need to check if both sides are reacting the same way. You should not forget that the UNI is a local interface. Common sense dictates that whichever connection is flapping is the one experiencing local loop or other problems. This can be resolved by working with the LEC. End-to-End ProblemsEnd-to-end issues in Frame Relay are related to factors including congestion, overuse or oversubscription of lines, or incorrect or flapping routes. These factors can be recognized by some indicators such as degradation of performance during a particular time of day or after a period of normal operations. Although the routing problems are the subject of a wide variety of Cisco Press books (such as CCIE Professional Development: Advanced IP Network Design, by Retana, Slice, and White [Cisco Press, 1999]), the Frame Relay IOS troubleshooting techniques are the main objective of this section. NOTE The enhanced output of #show interfaces serial 1 provides a wealth of information for analysis. One indicator of excessive use is the reliability 255/255. The comparison between "5 minute input rate 0 bits/sec, 2 packets/sec" and "5 minute output rate 0 bits/sec, 0 packets/sec" and their reliability is a sign of excessive use. Every instance of reliability that trends away from 100 percent raises a red flag. The first end-to-end tool to use is to check the status of the PVC. When traffic shaping is not on and the interface is inactive, the information in Example 17-33 appears on the screen. Example 17-33. The End-To-End Status of PVC 7206-frame#show frame-relay pvc <output omitted> DLCI = 65, DLCI USAGE = UNUSED, PVC STATUS = INACTIVE, INTERFACE = Serial3/2:0 input pkts 0 output pkts 0 in bytes 0 out bytes 0 dropped pkts 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 switched pkts 0 Detailed packet drop counters: no out intf 0 out intf down 0 no out PVC 0 in PVC down 0 out PVC down 0 pkt too big 0 shaping Q full 0 pkt above DE 0 policing drop 0 pvc create time 3w0d, last time pvc status changed 3w0d <output omitted> NOTE Some of the results of this output can also be displayed using #show frame-relay route. When you want to see the status of any particular PVC, the command requires a DLCI number. Example 17-34 shows a sample of this output and includes all PVCs, with DLCI = 37. Example 17-34. Verifying the Status of PVCs = 37 7206-frame#show frame-relay pvc 37 <output omitted> DLCI = 37, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial3/2:0.37 input pkts 243555 output pkts 253526 in bytes 32877370 out bytes 158986875 dropped pkts 264 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 243555 out DE pkts 0 out bcast pkts 22834 out bcast bytes 6850200 pvc create time 3w2d, last time pvc status changed 3d21h cir 56000 bc 56000 be 0 byte limit 875 interval 125 mincir 28000 byte increment 875 Adaptive Shaping none pkts 253265 bytes 158969188 pkts delayed 130549 bytes delayed 130688876 shaping inactive traffic shaping drops 0 Queuing strategy: fifo Output queue 0/40, 264 drop, 130549 dequeued <output omitted> Besides #show frame-relay pvc, an important troubleshooting tool is #debug frame-relay [packet | events], as shown in Example 17-35. NOTE The #debug frame-relay [packet | events] command is chatty, so when conducting remote troubleshooting it is good practice to have two telnet/SSH sessions open. One session should have both the #terminal monitor command and the #debug frame-relay packet command. The second session should have the #undebug all command ready to enter if necessary. Use these commands only if the router's utilization is low (below 25 percent). Example 17-35. Output from the #debug frame-relay packet Command1602-frame#debug frame-relay packet Frame Relay packet debugging is on 1602-frame# 7w3d: Serial1(i): dlci 37(0x853), NLPID 0x3CC(IP), datagramsize 146 incoming (i), dlci 37(0x851), network layer protocol ID = 3CCh, datagramsize 146 7w3d: Serial1(i): dlci 37(0x853), NLPID 0x3CC(IP), datagramsize 146 7w3d: Serial1(i): dlci 37(0x853), pkt type 0x2000, datagramsize 300 7w3d: Serial1.37(o): dlci 37(0x853), NLPID 0x3CC(IP), datagramsize 580 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 580 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 81 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 580 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 66 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 255 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 184 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 184 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 7w3d: Serial1.37: Broadcast on DLCI 37 link 65(CDP) ! The router broadcasts on dlci 37, using link 65 7w3d: Serial1.37(o): dlci 37(0x851), pkt type 0x2000(CDP), datagramsize 312 outgoing (o), dlci 37(0x851), packet type 2000h (CDP), datagramsize 312 7w3d: broadcast dequeue 7w3d: Serial1.37(o):Pkt sent on dlci 37(0x851), pkt type 0x2000(CDP), datagramsize 312 7w3d: Serial1.37(o): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 427 7w3d: Serial1(i): dlci 37(0x851), NLPID 0x3CC(IP), datagramsize 44 Refer to the beginning of the output, and you can see two different hexadecimal values for the same DLCI. This is not an error. To understand the output, see Figure 17-9, where the DLCI format is shown. If the format of the DLCI is 2 bytes, the values are shown in Figure 17-9. Figure 17-9. Determining the DLCI from the #debug frame-relay packet CommandIn this example, the DLCI = 37 (decimal) and the next value is also DLCI = 37 (decimal). The two messages differ because of the value of the DE bit (DE = 1 for the 0x853 message and DE = 0 for the x0851 message). In exactly the same way as Q.922 hexadecimal addresses, examples of the conversion include the following: 50 represents 0x0c21, 60 represents 0x0cc1, and 70 represents 0x1401. Another troubleshooting tool is the chatty #debug frame-relay events command, which helps to analyze the incoming packets. It is a useful command when trying to differentiate between the incoming types of traffic. Another useful command is #debug frame-relay packets to monitor the outgoing and incoming traffic, as shown in Example 17-36. NOTE Both commands generate a high volume of output and should only be used in cases where the overall use on the router is lower than usual. Use 7206-frame#show processes cpu to ensure that the CPU utilization for five seconds, one minute, and five minutes is low. Example 17-36. Debugging the Frame Relay Packets7206-frame#debug frame-relay packet Sep 1 08:32:41 PDT: Serial4/2:0.72(o): dlci 72(0x1081), pkt type 0x800(IP), datagramsize 146 Outgoing (o) packet over serail4/2:0.72 subinterface, using DLCI=72, packet type IP, datagramsize 146 Sep 1 08:32:41 PDT: Serial4/0:0.76(o): dlci 76(0x10C1), NLPID 0x3CC(IP), datagramsize 48 Sep 1 08:32:41 PDT: Serial4/0:0.97(o): dlci 97(0x1811), pkt type 0x800(IP), datagramsize 68 Sep 1 08:32:41 PDT: Serial4/0:0.86(o): dlci 86(0x1461), pkt type 0x800(IP), datagramsize 272 Sep 1 08:32:41 PDT: Serial4/0:0(i): dlci 53(0xC53), pkt type 0x2000, datagramsize 309 Incoming (i) traffic over DLCI=53, subinterface serial4/0:0, packet type CDP (0x2000), datagramsize 309 Sep 1 08:32:41 PDT: Serial4/0:0.97(o): dlci 97(0x1811), pkt type 0x800(IP), datagramsize 68 Sep 1 08:32:41 PDT: Serial3/0:0(i): dlci 30(0x4E3), pkt type 0x800, datagramsize 52 Sep 1 08:32:41 PDT: Serial3/0:0.30(o): dlci 30(0x4E1), pkt type 0x800(IP), datagramsize 52 Sep 1 08:32:41 PDT: Serial4/2:0.72(o): dlci 72(0x1081), pkt type 0x800(IP), datagramsize 154 Sep 1 08:32:42 PDT: Serial4/0:0.97(o): dlci 97(0x1811), pkt type 0x800(IP), datagramsize 60 Sep 1 08:32:42 PDT: Serial4/0:0.202(o): dlci 202(0x30A1), pkt type 0x800(IP), datagramsize 48 Sep 1 08:32:42 PDT: Serial4/0:0.47(o): dlci 47(0x8F1), pkt type 0x800(IP), datagramsize 1504 Sep 1 08:32:42 PDT: Serial4/0:0.97(o): dlci 97(0x1811), pkt type 0x800(IP), datagramsize 68 Sep 1 08:32:42 PDT: Serial4/2:0.72(o): dlci 72(0x1081), pkt type 0x800(IP), datagramsize 140 Sep 1 08:32:42 PDT: Serial3/1:0(i): dlci 118(0x1C61), pkt encaps 0x0300 0x8000 0x0000 0x2000(CDP), datagramsize 316 Other messages you can see from this output include the following:
The Ethernet-type codes are the following:
If the encapsulation is HDLC, the possible packet codes are the following:
Another end-to-end troubleshooting command is #show frame-relay map. In point-to-multipoint designs, it is a useful tool to see the end-to-end settings and to check the functionality. The Frame Relay mapping information is shown in Example 17-37 and is explained in Table 17-8. Example 17-37. End-to-End Settings of DLCI 371602-frame# show frame-relay map <output omitted> Serial1.37 (up): point-to-point dlci, dlci 37(0x25,0x850), broadcast, IETF status defined, active 1602-frame# <output omitted> ! Or 1602-frame# show frame-relay map <output omitted> Serial 1 is up: ip 121.118.117.111 dlci 37 (0xB1,0x2C10), static, broadcast, CISCO TCP/IP Header Compression (inherited), passive (inherited) <output omitted> ! Or 7206-frame#show frame-relay map Serial3/1:0.120 (down): point-to-point dlci, dlci 120(0x78,0x1C80), broadcast status deleted Serial3/1:0.112 (up): point-to-point dlci, dlci 112(0x70,0x1C00), broadcast, BW = 56000 status defined, active Serial3/1:0.17 (up): point-to-point dlci, dlci 17(0x11,0x410), broadcast, BW = 128000 status defined, active Serial3/1:0.121 (up): point-to-point dlci, dlci 121(0x79,0x1C90), broadcast, BW = 56000 status defined, active Serial3/1:0.114 (up): point-to-point dlci, dlci 114(0x72,0x1C20), broadcast, BW = 56000 status defined, active
Frame Relay Shaping ProblemsThe traffic shaping feature of Frame Relay is a derivative from the nature of the technology. It is related to the classes of service defined for different types of traffic (see Chapter 16 for more details). If traffic shaping is not configured as part of the initial configuration settings (see the next chapter), they are reported accordingly by the IOS. As previously mentioned, the #show frame-relay pvc DLCI-number, reports if traffic shaping is on and what the status is of this particular PVC. For convenience, the traffic shaping part of the output is described in Table 17-9.
You must know the use of BECNs and forward explicit congestion notifications (FECNs) and their interaction with the Frame Relay switch because a growing number of delays or drops can severely affect performance. User and Network Reactions to FECNsThe router compares the number of frames in which the FECN bit is set to 1, to the number of frames in which the FECN bit is set to 0 during Tc. If during this period, the number of BECN = 1 > = BECN = 0, the router reduces the throughput to 0.875 of its previous value. Conversely, if the number of frames with BECN = 1 < the number of frames with BECN = 0, the router increases the transmission by 1/16 of its throughput, performing slow start operations. Tc is set to four times the end-to-end transit delay. The network switch and affiliated software constantly monitors the size of each queue, based on the regeneration cycle. This cycle begins when a queue on an outgoing port goes from idle to busy, and the average queue is computed during the measurement period. When the size exceeds a predefined threshold, the circuit is considered in a state of incipient congestion. At this time, the FECN is set to 1 and remains in this state until the average value is below the threshold. ANSI T1.618 defines an algorithm to compute the average queue length (refer to the ANSI T1.618 standard for more details). User and Network Reactions to BECNsIf the user receives n consecutive frames with BECN = 1, the traffic from the user is reduced by a step below the current offered rate. This step count (S) is reduced by 0.675 times the throughput, then 0.5 times the throughput, and finally, 0.25 times the throughput. Likewise, traffic can build up after receiving n/2 consecutive frames with BECN = 0, and the rate is then increased by a factor of 0.125 times throughput. The network applies flow control before the traffic becomes a factor and, therefore, it sets BECN = 1 preemptively. NOTE The router knows that the data flowing in its direction is experiencing congestion. It cannot control this process, but it can influence it by delaying the acknowledgments. This can delay the flow of incoming data. You must pay attention to three significant factors when analyzing the possible traffic shaping issues:
The recommended action list to overcome the performance issues because of traffic shaping includes the following:
Troubleshooting Compression Over Frame RelayBefore starting to troubleshoot compression, it is useful to follow some preliminary tips (more detailed information about compression is provided in Chapter 16). Using #show hardware or #show version allows you to check what type of compression is available in the router. A Cisco router enables compression in several ways, depending on the product:
If hardware compression is available, it is identified in the output in Example 17-38. Example 17-38. How to Check What Kind of Compression Is Available3640-frame#show version Cisco Internetwork Operating System Software IOS (tm) 7200 Software (C7200-IS-M), Version 12.2(1), RELEASE SOFTWARE (fc2) Copyright 1986-2001 by cisco Systems, Inc. Compiled Fri 27-Apr-01 19:23 by cmong Image text-base: 0x60008960, data-base: 0x6131C000 <output omitted> Last reset from power-on Bridging software. X.25 software, Version 3.0.0. Primary Rate ISDN software, Version 1.1. 2 FastEthernet/IEEE 802.3 interface(s) 6 Serial network interface(s) 8 Channelized T1/PRI port(s) ! This line shows that the router 7206 has two ! compression service adapters installed. 2 Compression service adapter(s) 125K bytes of non-volatile configuration memory. 4096K bytes of packet SRAM memory. Hardware compression starts in the core router, after the router is rebooted or is turned on. Among the first messages to be displayed (if you are using a console connection) is "Compressor is up" and "Decompressor is up." Subsequently, a message is displayed that indicates that the CSA module or data compression advanced integration module (AIM) has started successfully (see www.cisco.com/univercd/cc/td/doc/pcat/3660__p1.htm). This option is not always available because the router cannot be rebooted every time to see if the compression module is starting. However, you can check the router configuration by using the command in Example 17-39. Example 17-39. Diagnostic Information for Compression Engine, Installed on Port 27206-frame#show diag 2 Slot 2: Compression engine 3M Port adapter ! This next line usually shows that the module functions properly. Port adapter is analyzed Port adapter insertion time 3w1d ago EEPROM contents at hardware discovery: Hardware revision 1.0 Board revision A0 Serial number 6942323 Part number 73-1868-02 Test history 0x0 RMA number 00-00-00 EEPROM format version 1 EEPROM contents (hex): 0x20: 01 18 01 00 00 69 EE 73 49 07 4C 02 00 00 00 00 0x30: 50 00 00 00 99 03 12 00 FF FF FF FF FF FF FF FF Before choosing any kind of compression for implementation, it is good to know which one is most appropriate for your particular core router. Because of various reasons (including IOS incompatibility) even if the router configuration is correct, compression might not work properly. As a result, instead of increasing performance, it might degrade it. It is recommended to take a look at the core router's output by using the command 7206-frame#show compress. The number of resyncs or resets usually shows a condition, where the router tries to synchronize the content of the vocabularies on both sides. Initially, this process is very intensive and generates a lot of traffic. However, if the trend of incrementing the counter is almost linear, it is not recommended to use this type of compression. When you are about to configure compression, it is best to shut down the interfaces or subinterfaces first. Otherwise, you see a significant increase in response time, or possibly no end-to-end connection. Shutting down the interface or subinterface prior to adding or changing compression techniques is not required, but it ensures it is reset for the new data structures, and the two vocabularies start their synchronization from the beginning. Always remember the scalability factor when applying compression. Cisco proprietary packet-to-packet compression takes about 0.5 percent utilization per DCLI, and FRF9 stac software compression shows 6 percent peak utilization per DLCI in short-term reports. The hardware compression module CSA version 2, provides compression for 256 users, and the router and IOS can support more than one module. The test results over some commonly used file types are provided in Figure 17-10. Figure 17-10. Test Results of Frame Relay CompressionDon't forget that compression is a traffic-dependant function. If the prevailing type of user traffic is pre-compressed or redundant (IOS images, for example), you cannot expect a high compression ratio from the implementation. The router reports compression in different ways. As shown earlier in Table 17-8, one of the options for header compression is to use the 7206-frame#show frame-relay map command, which displays the resulting compression and encapsulation characteristics; the IP map has inherited passive TCP/IP header compression. Another option is to use the command 7206-frame#sh frame-relay ip tcp header-compression. The output is displayed in Example 17-40 and an explanation is provided in Table 17-10. Example 17-40. The Status of Header Compression for DLCI = 37 7206-frame# show frame-relay ip tcp header-compression DLCI 37 Link/Destination info: ip 10.70.194.209 Interface Serial1: Rcvd: 40 total, 36 compressed, 0 errors 0 dropped, 0 buffer copies, 0 buffer failures Sent: 0 total, 0 compressed 0 bytes saved, 0 bytes sent Connect: 16 rx slots, 16 tx slots, 0 long searches, 0 misses, 0% hit ratio Five minute miss rate 0 misses/sec, 0 max misses/sec
For payload compression, the show compress command provides the sample output in Example 17-41. Example 17-41. Compression Statistics per DLCI 373640-frame#show compress <output omitted> Serial4/1:0 - DLCI: 37 Software compression enabled ! The total amount of data to be transmitted before compression uncompressed bytes xmt/rcv 1962361561/132244042 compressed bytes xmt/rcv 498585954/87588960 1 min avg ratio xmt/rcv 0.705/0.705 5 min avg ratio xmt/rcv 0.715/0.718 10 min avg ratio xmt/rcv 0.715/0.722 no bufs xmt 0 no bufs rcv 87 resyncs 448 Additional Stacker Stats: ! The total amount of data to be transmitted after applying compression Transmit bytes: Uncompressed = 45109432 Compressed = 348114663 Received bytes: Compressed = 76914754 Uncompressed = 0 <output omitted> In Table 17-11, some of the descriptions of the line-by-line output are shown from the previous command.
To interpret the transmit output and compression ratio for software compression, there are some simple rules for the calculation. Based on the information from Example 17-41 and Table 17-11, you can perform the following calculations:
Therefore, the overall data compression ratio is as follows:
NOTE The listed numbers do not represent the real compression ratios, but rather they represent a snapshot figure with redundant traffic types. You should not expect compression ratios higher than 2:1 over a long period of usage, with a variety of traffic types. The precise calculations of the total amount of output in bytes, can be performed by using the results from the #show compress command and by using the number of outgoing/incoming packets from the command #show interfaces serial 1:
In the case of hardware compression, the output is similar with one important exception. The compression ratio is calculated by the compression engine, and some of the calculations are not necessary. Example 17-42 shows the hardware compression statistics for DLCI 64. Example 17-42. Hardware Compression Statistics for DLCI 627206-frame#show compress detail-ccp Serial4/2:0 - DLCI: 64 Hardware compression enabled CSA in slot 2 in use uncompressed bytes xmt/rcv 316009631/178259458 compressed bytes xmt/rcv 185779090/236163882 Compressed bytes sent: 185779090 bytes 1 Kbits/sec ratio: 1.700 Compressed bytes recv: 236163882 bytes 1 Kbits/sec ratio: 0.754 ! Resync represents the number of times the compression routine detected ! that the dictionaries were out of sync and restarted building a dictionary. ! Line errors are a common cause of restarts. resyncs 7509 last clearing of counters: 1211408 seconds Additional Stacker Stats: Transmit bytes: Uncompressed = 88971017 Compressed = 92164757 Received bytes: Compressed = 52030283 Uncompressed = 177870511 NOTE The compression ratio is lower than in software compression. If you are using the same type of compression (stacker) in both cases, you will notice that the compression ratios differ significantly. Compare the resyncs in both cases. It is obvious that the hardware compression experiences issues and that the constant resync of vocabularies causes poor performance. Unlike the previously explained precise calculations of the compression parameters, for troubleshooting purposes it is sometimes useful to see if the compression works at all. Some preliminary indicators follow:
For practical purposes, it is convenient to imagine that the compressor-decompressor engine is located between the WAN and LAN interfaces. As soon as the incoming packet hits the WAN interface (serial interface), it gets decompressed and switched to the LAN interface (Ethernet interface) and vice versa. Every outgoing Ethernet packet gets compressed, sent to the serial interface, sent compressed over the serial link, and decompressed by the other party's decompressor. |