This course provides networking professionals a functional understanding of iRules development. The course builds on the foundation of the Administering BIG-IP or Configuring LTM course, demonstrating how to logically plan and write iRules to help monitor and manage common tasks involved with processing traffic on the BIG-IP system. Extensive course labs consist of writing, applying and evaluating the effect of iRules on local traffic. This hands-on course includes lectures, labs, and discussions.


* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

You will learn:
Setting Up the BIG-IP System
Getting Started with iRules
Exploring iRule Elements
Developing and Troubleshooting iRules
Optimizing iRule Execution
Securing Web Applications with iRules
Working with Numbers and Strings
Processing the HTTP Payload
Working with iFiles and Data Groups
Using iRules with Universal Persistence, Stream, and Statistics Profiles
Incorporating Advanced Variables

  • Module 1: Setting Up the BIG-IP System

  • Introducing the BIG-IP System
    Initially Setting Up the BIG-IP System
    Archiving the BIG-IP System Configuration
    Leveraging F5 Support Resources and Tools

  • Module 2: Getting Started with iRules

  • Customizing Application Delivery with iRules
    Triggering an iRule
    Leveraging the DevCentral Ecosystem
    Creating and Deploying iRules

  • Module 3: Exploring iRule Elements

  • Introducing iRule Constructs
    Understanding iRule Events and Event Context
    Working with iRule Commands
    Logging from an iRule Using SYSLOG-NG (LOG Command)
    Working with User-Defined Variables
    Working with Operators and Data Types
    Working with Conditional Control Structures (IF and SWITCH)
    Incorporating Best Practices in iRules

  • Module 4: Developing and Troubleshooting iRules

  • Mastering Whitespace and Special Symbols
    Grouping Strings
    Developing and Troubleshooting Tips
    Using Fiddler to Test and Troubleshoot iRules

  • Module 5: Optimizing iRule Execution

  • Understanding the Need for Efficiency
    Measure iRule Runtime Efficiency Using Timing Statistics
    Modularizing iRules for Administrative Efficiency
    Using Procedures to Modularize Code
    Optimizing Logging
    Using High-Speed Logging Commands in an iRule
    Implementing Other Efficiencies
    Using Looping Control Structures (WHILE, FOR, FOREACH Commands)

  • Module 6: Securing Web Applications with iRules

  • Integrating iRules into Web Application Defense
    Mitigating HTTP Version Attacks
    Mitigating Path Traversal Attacks
    Using iRules to Defends Against Cross-Site Request Forgery (CSRF)
    Mitigating HTTP Method Vulnerabilities
    Securing HTTP Cookies with iRules
    Adding HTTP Security Headers
    Removing Undesirable HTTP Headers

  • Module 7: Working with Numbers and Strings

  • Understanding Number Forms and Notation
    Working with Strings (STRING and SCAN Commands)
    Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)
    Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)

  • Module 8: Processing the HTTP Payload

  • Reviewing HTTP Headers and Commands
    Accessing and Manipulating HTTP Headers (HTTP::header Commands)
    Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)
    Parsing the HTTP URI (URI::path, URI::basename, URI::query)
    Parsing Cookies with HTTP::cookie
    Selectively Compressing HTTP Data (COMPRESS Command)

  • Module 9: Working with iFiles and Data Groups

  • Working with iFiles
    Introducing Data Groups
    Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
    Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)

  • Module 10: Using iRules with Universal Persistence, Stream, and Statistics Profiles

  • Implementing Universal Persistence (PERSIST UIE Command)
    Working with the Stream Profile (STREAM Command)
    Collecting Statistics Using a Statistics Profile (STATS Command)
    Collecting Statistics Using iStats (ISTATS Command)

  • Module 11: Incorporating Advanced Variables

  • Reviewing the Local Variable Namespace
    Working with Arrays (ARRAY Command)
    Using Static and Global Variables
    Using the Session Table (TABLE Command)
    Processing Session Table Subtables
    Counting “Things” Using the Session Table


This course is intended for system administrators, network administrators and application developers responsible for the customization of traffic flow through a BIG-IP system.




Administering BIG-IP or Configuring BIG-IP LTM: Local Traffic Manager or hold the F5 Certified BIG-IP Administrator certification.


Length: 3.0 days (24 hours)


Not Your Location? Change

Course Schedule:

Schedule select
7:00 AM ET -
3:00 PM ET
Filling Fast