Chapter 3 – Protocols & the TCP/IP Suite
description
Transcript of Chapter 3 – Protocols & the TCP/IP Suite
Class 1 1
Chapter 3 – Protocols & the TCP/IP Suite
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
2
Protocols & the TCP/IP SuiteThe Need for a Protocol Architecture
Communication between a set of networked systems can involve a very complex set of procedures
Example tasks for file transfer:– Communication link setup – Ensure the receiver is ready to accept data– Make sure the file management application at the receiver
is prepared to receive and store the file– Do file translation if necessary– Confirm delivery & check for errors
Networking protocols use the concept of modularity well known in the software development arena
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
3
Protocols & the TCP/IP SuiteThe Need for a Protocol Architecture
In Networking protocol architectures, the modules are arranged in a vertical stack
– Each layer performs a distinct & essential set of tasks; more ‘primitive’ tasks are usually found in lower layers (‘closer’ to the transmission medium)
– Layers should be defined so changes in one layer do not necessitate changes in the other layers
– It takes at least two systems to communicate across a network and each of these systems need the same layers
The peer layers on each system communicate with each other; the set of rules governing it is known as a protocol
– Syntax– Semantics– Timing
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
4
Protocols & the TCP/IP SuiteThe TCP/IP Protocol Architecture
The TCP/IP protocol suite is a large collection of public standards approved by the IAB (IETF) and used as the foundation for the Internet and similar private networks
Communication across a network using TCP/IP protocols involves two general steps:
– Getting the data across the network to the destination systems– Getting the data within the destination system to the right
application Because of layering & the general steps above, the TCP/IP
protocol suite was designed with five layers (lowest to highest):
– Physical Layer: the physical interface between the network and the attached system; covers the nature of the data signals, characteristics of the transmission medium, the data rate, etc.
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
5
Protocols & the TCP/IP SuiteThe TCP/IP Layers
Network Access Layer: specifies how data is exchanged between the attached system and the network; will include addressing, framing, and other features such as prioritization
– Details of this layer depends on the physical layer; separating this layer from higher layer functions allows higher layers to be used over a wide range of network technologies
– Concerned with delivering data across a single network only Internet Layer: specifies how data can be routed across
multiple networks– All devices across an internet must share a common
internetworking layer to relay the data– Routers are the devices responsible for relaying data in an
internet – A global address space is an essential feature of this layer
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
6
Protocols & the TCP/IP SuiteThe TCP/IP Layers
Transport Layer: specifies a set of end-to-end services usually common to a number of applications communicating across an internet (error-free, sequenced data delivery, etc.)
– Currently there are two transport layer specifications in the TCP/IP suite: the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP)
– TCP provides a reliable connection-oriented transport service– UDP provides a low overhead transport service with no
payload error checking, flow control, or sequencing Application Layer: specifies the functionality of the
application itself (file transfer, remote terminal access, etc.)
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
7
Protocols & the TCP/IP SuiteThe Operation of TCP & IP
For successful communication across an internet, each system must have at least one globally unique address
Also, each host process needs a locally unique address An example TCP/IP based data transfer [Figure 3.1]
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
8
Protocols & the TCP/IP SuiteThe Operation of TCP & IP
The key to operation of the protocol stack is encapsulation
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
9
Protocols & the TCP/IP SuiteExamples of TCP/IP Applications
Electronic Mail relies on the Simple Mail Transfer Protocol (SMTP) – this covers the addressing and delivery of messages; other standards cover e-mail message format
File Transfer functionality relies on the File Transfer Protocol (FTP), which provides an authenticated means for accessing and transferring files to and from a remote system
Remote Terminal Access functionality relies on the TELNET protocol; it emulates a variety a hardwired terminals over a network connection
Other important TCP/IP Applications include the World Wide Web (HTTP or the Hypertext Transfer Protocol), Network News (NNTP or the Network News Transfer Protocol), and Directory Services (LDAP or the Lightweight Directory Access Protocol)
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
10
•NV Monitoring of UDP Ports for Applications (NetView to monitor the different UDP ports for applications) •TFTP Trivial File Transfer Protocol, a simple form of ftp, with most of the security and advanced commands stripped off, used for diskless workstations, router configuration data, and any device that boots up, and requires information it cannot store permanently. As such it presents a rather large security hole, just imagine if someone were to connect to your tftp server and grab the boot file for your main Cisco router.
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
11
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
12
Protocols & the TCP/IP SuiteThe OSI Protocol Architecture
The ISO (an international standards body) has also developed a network protocol reference standard called the OSI model
While useful to know and important in the context of some international networks, the OSI model has not flourished for two primary reasons:
– The TCP/IP have matured and equipment using these protocols were widely adopted before the OSI model was finished
– The OSI model and standards developed using it tend to be very complex, making them harder to implement and operate
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
13
Protocols & the TCP/IP SuiteThe OSI Protocol Architecture
The OSI model consists of seven layers (from bottom up):– Physical: concerned with the transmission and signaling across
the physical media (same as TCP/IP model)– Data Link: provides reliable transfer on a physical link by
formatting data in frames; providing timing, error, & flow control– Network: provides a universal switching/routing layer to insulate
upper layers from differing data link & physical layers– Transport: provides reliable, transparent end-to-end delivery of
data; may also provide end-to-end error recovery & flow control– Session: establishes, manages, and terminates connections
between communicating applications– Presentation: specifies how data should be represented between
communicating applications– Application: provides user access to networked resources
through a specific functional program
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
14
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
15
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
16
Protocols & the TCP/IP SuiteInternetworking
It is very common for an organization to have different varieties of LANs as well as geographically dispersed networks
A quick review of Internetworking Terms– Communication Network– Internet (internet)– Intranet– End System– Intermediate System– Bridge– Router
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
17
Protocols & the TCP/IP SuiteRouters
Routers are key pieces of equipment that allow internetworking across dissimilar networks
Essential functions for a router:– Provide links between physically distinct (and heterogeneous)
networks– Decide when and where to forward packets to attached
networks– Provide these functions in such a way that no modifications
are required to the attached networks Networking issues routers must deal with:
– Layer 2 Addressing Schemes– Maximum Packet sizes– Interfaces– Reliability
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
18
Protocols & the TCP/IP SuiteAn Internetworking Example [Figure 3.5]
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
19
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
20
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
21
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
22
Overall Path for Outgoing Packets
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
23
Overall Path for Incoming Packets
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
24
Protocols & the TCP/IP SuiteAppendix: IP, TCP, and UDP
IP version 4 (IPv4)– The current version of the network
layer protocol used in the Internet– IPv4 header fields:– Version (4 bit) currently 4– Internet Header length (4 bits)
0101x 32 bits– Type of service (8 bits): priority
infor. to routers – Total length (16 bits) IP packet in
byte– Indentification (16 bits) unique
identifier– Flags (3 bits): (1) “more bit” for
fragments, (2) “don’t fragment”, (3) not used.
– Fragment offset (13 bits) offset in original packet of this packet.
– Time to live (8 bits) life time in Internet
– Protocol (8 bits): indicates next higher level protocol to receive packet
– Header checksum (16 bits) error detection done by routers
– Source address and Destination (32 bits) specifies network and end system.
– Option: security, record routing, and time-stamping.
– Padding: ensure header is multiple of 32 bit.
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
25
Protocols & the TCP/IP SuiteAppendix: IP version 6 (IPv6)
Next generation version promises a number of improvements:– HUGE address space, with support for a many addressing schemes– Different header structure and options to speed processing– Built-in Quality of Service and security functionality
IPv6 Header fields:
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
26
Protocols & the TCP/IP SuiteAppendix: the Transmission Control Protocol (TCP)
Provides a sophisticated connection-oriented transport service to networked applications on an IP network
TCP provides reliable and sequenced streaming delivery of application-layer data
TCP Header fields:
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
27
Protocols & the TCP/IP SuiteAppendix: the User Datagram Protocol (UDP)
Provides a basic low-overhead connectionless transport service to networked applications on an IP network
UDP provides unreliable delivery of application-layer data in which delivery or duplication of data is not guaranteed
UDP is good for applications that provide their own enhanced delivery services as well as multicast and streaming applications
UDP Header fields:
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
28
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
29
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
30
Memory-Memory Copies
Protocol processing overhead:– Copy message from one layer to the next using e.g., memcpy()– Often involves context switching: copying between user and kernel
space Example: delay due to memory-memory copy
– Assume Data rate of 600Mbps=73MBps– Assume 16MHz memory bus that is 16 bits wide 32MBps– For a 1 MB message, one copy takes 1/32 sec max data rate
32MBps– Two copies take 1/32 sec + 1/32 sec = 1/16 sec max data rate
16MBps Example: effective BW
– Itanium 4 bus allows 1 GB/s bandwidth– Each copy between layers takes a read and a write– A message of 1 KB takes 2 sec effective BW = 500 MB/s– Two copies of 1 KB takes 4 sec effective BW = 250 MB/s– Four copies of 1 KB takes 8 sec effective BW = 125 MB/s
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
31
Berkeley Sockets
A real implementation of transport layer primitives– Implemented in BSD Unix– Part of TCP implementation in TCP/IP stack
Socket primitives for TCP– SOCKET: Creates new communication end point– BIND: Attaches a local address to a socket– LISTEN: Announce willingness to accept connections
non-blocking call– ACCEPT: Blocks the caller until a connection attempt arrives
Blocking call Server creates a new socket when connection request TPDU arrives and
forks another process to handle subsequent requests– CONNECT: Establishes a connection– SEND: Send data over the connection– RECEIVE: Receive data from the connection– CLOSE: Release connection
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
32
BSD Sockets Example: Receiver Side
/* Simple socket program: receiver side */#include <iostream.h>#include <stdlib.h>#include <stdio.h>#include <stream.h>#include <ctype.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <sys/time.h>
void main ( int argc, char *argv[] ){ int sk ; // socket descriptor sockaddr_in remote ; // socket address for remote sockaddr_in local ; // socket address for us char buf[80] ; // buffer from remote int rlen = sizeof(remote);// length of remote address int len = sizeof(local); // length of local address int mesglen ; // actual length of message
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
33
// create the socket sk = socket(AF_INET,SOCK_DGRAM,0) ;
// set up the socket local.sin_family = AF_INET ; // internet family local.sin_addr.s_addr =
INADDR_ANY ; // wild card machine address local.sin_port = 0; // let system choose the port
// bind the name (address) to a port bind(sk,(struct sockaddr *)&local,sizeof(local)) ;
// get the port name and print it out getsockname(sk,(struct sockaddr *)&local,&len) ; cout << "socket has port " << local.sin_port << "\n" ; mesglen = recvfrom(sk,buf,80,0,(struct sockaddr *)&remote,&rlen);
cout << buf << " len: " << mesglen << endl; /* close the socket */ close(sk);}
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
34
BSD Sockets Example: Sender Side/* A simple sockets program ... sender side */#include <iostream.h>#include <stdio.h>#include <stream.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <fcntl.h>#include <errno.h>#include <sys/ipc.h>#include <sys/time.h>
void main ( int argc, char *argv[] ) { int sk ; // socket descriptor sockaddr_in remote ; // socket address // for
remote side hostent *hp ; // address of remote // host int mesglen ; // actual length of // the
message
char buf[80];
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
35
BSD Sockets Example: Sender Side
// create the socket sk = socket(AF_INET,SOCK_DGRAM,0) ; // designate the addressing family remote.sin_family = AF_INET ; // get the address of the remote host and store hp = gethostbyname(argv[1]) ; memcpy(&remote.sin_addr,hp->h_addr,hp->h_length) ; // get the port used on the remote side and store remote.sin_port = atoi(argv[2]) ;
cout << "Enter the info to transmit: "; cin.getline( buf, 80);
mesglen = strlen(buf)+ 1;
cout << buf << " len: " << mesglen << endl; sendto(sk,buf,mesglen,0,(struct sockaddr *)&remote, sizeof(remote)) ;
close(sk);}
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
36
BSD Sockets Example
Compile and execute the two programs
– Save these programs on a Unix machine as recv.cc and send.cc– Compile and link them:
E.g., on a Solaris workstation use:gcc –o recv recv.cc –lsocket –lnsl andgcc –o send send.cc –lsocket –lnsl
– You’ll get two executables: recv and send– Execute them on two different workstations:
E.g., recv on one workstation and send on another using rlogin to that workstation
Try the connection-oriented case now– Use SOCK_STREAM instead of SOCK_DGRAM in socket() call– Use listen() and accept() calls– Also try spawning a new receiver after accept() to handle multiple
clients
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
37
Network supports process-to-process channels; e.g., Latency = Propagation + Transmit + Queue Propagation = Distance / SpeedOfLight 3.0 x 108 meters/second in a vacuum 2.3 x 108 meters/second in a cable 2.0 x 108 meters/second in a fiber Transmit = Size / Bandwidth
Request/Reply: for file access and digital libraries • Message Stream: for video applications – video: sequence of frames – resolution:1/4 TV-size image = 352 x 240 pixels; – 24-bit color: frame=(352 x 240 x 24)/8 = 247.5KB; – frame rate: 30 fps = 7500KBps = 60Mbps – video on-demand versus video-conferencing
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
38
DNS
Hierarchical. Dot used as a separator. Right-most component is the top-most domain. Top-level domains: .edu, .gov, .mil, .com, .arpa, .org, .net,
plus the country domains (.uk, .de, .no, .il, etc...), and the.us hierarchy.
New TLDs include .info, .biz, .name, … FQDN: frobozzica.merit.edu vs. relative name frobozzica
(relative to a default domain, in this case merit.edu). The reverse mapping from IP addresses to host names is
performed under the auspices of the IN-ADDR.ARPA pseudo-domain.
– 100.61.108.198.IN-ADDR.ARPA
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
39
DNS - Resolver
DNS - Resolver The DNS resolver (client library) generates queries for domain name
information sent to a name server. Completely separate from the name server function. Configured via /etc/resolv.conf
domain merit.edusearch org.merit.edu, itss.umich.edunameserver 127.0.0.1nameserver 198.108.1.42
DNS - Server Answers DNS queries sent by resolvers. Listens at UDP and TCP port 53
– UDP used for routine queries – TCP used for zone transfers
A zone is part of the name space (merit.edu) delegated to a single server. A domain is also part of the name space, but it may cover several zones
(e.g., umich.edu covers engin.umich.edu, eecs.umich.edu).
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
40
DNS - Server
Configurations – Caching-only: relies on other name servers for authoritative
answers– Primary: Contains the writeable authoritative copy for the
zones that it is primary for– Secondary: Contains a mirror copy of the data from a primary
name server. No updates take place here; used to provide redundancy
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
41
DNS - Operation
what is the IP addressof www.merit.edu?
local DNS sends queryto root DNS server
root DNS server returnsIP address ofDNS server at merit.edu
local DNS sends query to DNS @ merit.edu,www.merit.edu?
DNS @ merit.edu returns IPaddress of www.merit.edu198.108.1.48 to local DNS
local DNS returns answer toresolver, www.merit.edu is198.108.1.48
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
L2
PHY
L3
L2
PHY
L3
L2
PHY
L3
L2
PHY
L3
L2
PHY
L3
L2
PHY
L3
L2
PHY
L3
Switching FabricSwitching Fabric
R5000
FlashCard
10BseT DUART
Mai
n M
emor
y
EE Prom
Slot 1Slot 1 Slot 2Slot 2 Slot 3Slot 3 Slot 4Slot 4
Slot 5Slot 5 Slot 6Slot 6 Slot 7Slot 7 Slot 8Slot 8
ControlModule
LineCard
LineCard
LineCard
LineCard
LineCard
LineCard
LineCard
Distributed Switching and Routing Architecture
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
Distributed Input/Output Processing
Bridgeor
Route
L2 Database
Arb
iter
PriorityPriority AccountingAccounting FiltersFilters Encaps & Queuing
Dem
ux
EncapsEncaps QoSQoSCrossbarCrossbarL3/L4 Database
PriorityPriority AccountingAccounting FiltersFilters
Input ProcessingInput Processing
Output ProcessingOutput Processing
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
Flow & Table Management
Bridgeor
Route
L2 Database
Arb
iter
PriorityPriority AccountingAccounting FiltersFilters Encaps & Queuing
Dem
ux
EncapsEncaps QoSQoSCrossbarCrossbarL3/L4 Database
PriorityPriority AccountingAccounting FiltersFilters
Input ProcessingInput Processing
Output ProcessingOutput Processing
BridgingBridging VLANsVLANs RoutingRoutingAccessAccessControlControl
QoSQoSPolicyPolicy
RMON/RMON/RMON2RMON2
CPUCPU ModuleModule
FirstPacket
SubsequentPackets
Flow classification and distribution is better than 25,000 flows per second
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
Crossbar
2.0 Gbps per channel (SSR8000/8600) 4 priority queues per input and output channel Packet switching Overspeed Overflow at output buffers Avoid Head Of Line - look 4 deep per queue Multicast packets replicated in hardware
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
46
Multicast SupportOutputModule
OutputModule
OutputModule
Switch FabricSwitch Fabric
InputModule
Efficient packet replication via switch
fabric
QoS ensures priority
Expanding Ring TTL Support
Standards based Multicast supportStandards based Multicast support– IGMP v2 (seamless integration with IGMP v2 (seamless integration with
workstations/servers)workstations/servers)– DVMRP v3DVMRP v3– PIM-DM, PIM-SMPIM-DM, PIM-SM
ACLs screen out hosts which attempt ACLs screen out hosts which attempt to join certain multicast groupsto join certain multicast groups
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
47
QoS - Packet Classification(Four Classes of Service)
Line Speed Gigabit Input StreamsLine Speed Gigabit Input Streams
AS
IC based Layer-3/4
AS
IC based Layer-3/4
Packet C
lassifierP
acket Classifier
Buffer QueuesBuffer Queues
Switch FabricSwitch Fabric
Layer-3: Layer-4 flows mapped to CoS
Layer-2: 802.1p priority mapped to CoS
Control Priority
High Priority
Medium Priority
Low Priority
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
48
QoS - Multiple Prioritization Schemes
AS
IC based P
acketA
SIC
based Packet
Encapsulating E
ngine E
ncapsulating Engine
Switch FabricSwitch Fabric
Weighted Fair Queuing (ex. 25% per queue)
Line Speed 100 Mbps StreamsLine Speed 100 Mbps Streams
Strict Priority Queuing
Buffer QueuesBuffer Queues
Buffer QueuesBuffer Queues
Dual MACDual MAC
Layer-3: TOS/DiffServ Packet MarkingLayer-3: TOS/DiffServ Packet Marking
Layer-2: 802.1p Packet MarkingLayer-2: 802.1p Packet Marking
Control Priority
High Priority
Medium Priority
Low Priority
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
49
Per Flow Committed Access Rate (CAR)(Rate Limiting)
H
F
H
F
HH H
F
e
H
F
Buffer QueuesBuffer Queues Switch FabricSwitch Fabric
HTTP Flow
FTP Flow
eMail Flow
Buffer QueuesBuffer Queues
AS
IC Layer-3/4
AS
IC Layer-3/4
Packet C
lassifierP
acket Classifier
H
F
H
F
HH H
F
e
H HTTP Flow
FTP Flow
eMail Flow
H H H H H H
F F
e
F F F
Excess bandwidth discarded
CAR can be performed onCAR can be performed on - per port - per port - per flow(s) - per flow(s) - per application(s) - per application(s) - per host(s) - per host(s)in kilobits per secondin kilobits per second
Control PriorityHigh PriorityMedium PriorityLow Priority
Excess Bandwidth reprioritized to a lower priority
H
H
e
H H H H H
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
50
Random Early Detection (RED) Maximizes throughput under congestive
conditions Provides fair bandwidth reduction
between host connections thru implicit notification (dropped packets)
Works for TCP only, use CAR for UDP Intelligently differentiates between
transient bursts and excessive offered load
Avoids TCP slow start oscillations Reduces overall nodal latency
Minimum Threshold
Maximum Threshold D
rop Probability
Drop A
ll
Que
ue D
epth
Time
Avg. QueueDepth
Weighted RED (WRED) is RED policies per QueueWeighted RED (WRED) is RED policies per Queue
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
51
Key Redundancy FeaturesFully hot swappable with redundant Control Modules and Switch Fabrics
Any number of links can be aggregated (ex. 7 Gig Ethernet links = 14 Gbps BW)
Mix and match link speeds for incremental bandwidth
Aggregate links with SmartTRUNK
55095509
Fully Interoperable with Cisco’s Fast Etherchannel and other Server trunking protocols
Superior balancing based on flows rather than MAC address
Can balance flows using “round robin” or link utilization algorithms
VRRP Standby Router
VRRP (Virtual Router Redundancy Protocol) protects clients using default gateways
Equal Cost Multipath OSPF can multiply the effective bandwidth over 4 paths
635.412 Spring 2005 Class 1: Introduction to LANs & WANs
52
Web Hosting with Gigabit EthernetServer Array Load-balancing based on Layer 4 Application traffic: round robin, server utilization, server availability
Jumbo Frame Support with hardware IP Fragmentation support to lower MTU interfaces (“Don’t Fragment” bit not set)
Large Packet Buffering to insure zero packet loss under any conditions
Add a F5 Labs BIGip Server Array controller for added load balancing functionality
Layer-4 Quality of Service and Access Control Lists plus support for Diff-serv
Full RMON I & RMON II Supported along with LFAP for Accounting
Transparent Web Caching: Redirect HTTP requests to a Web cache server