Overview
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.
Duration 3 days.
You can find current trainings on training calendar page.
Training Prerequisites
Students must complete one of the following F5 prerequisites before attending this course:
- Administering BIG-IP instructor-led course
- Configuring BIG-IP LTM instructor-led course
- F5 Certified BIG-IP Administrator
The following free web-based training courses, although optional, will be very helpful for any student with limited BIG-IP administration and configuration experience.
- Getting Started with BIG-IP web-based training
- Getting Started with BIG-IP Local Traffic Manager (LTM) web-based training
The following general network technology knowledge and experience are recommended before attending any F5 Global Training Services instructor-led course:
- OSI model encapsulation
- Routing and switching
- Ethernet and ARP
- TCP/IP concepts
- IP addressing and subnetting
- NAT and private IP addressing
- Default gateway
- Network firewalls
- LAN vs. WAN
The following course-specific knowledge and experience is suggested before attending this course:
- HTTP protocol
- Any programming language
Training Contents
The content of this training is as follows. We recommend that you review before training.
- Introducing the BIG-IP System
- Initially Setting Up the BIG-IP System
- Archiving the BIG-IP System Configuration
- Leveraging F5 Support Resources and Tools
- Customizing Application Delivery with iRules
- Triggering an iRule
- Leveraging the DevCentral Ecosystem
- Creating and Deploying iRules
- 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
- Mastering Whitespace and Special Symbols
- Grouping Strings
- Developing and Troubleshooting Tips
- Using Fiddler to Test and Troubleshoot iRules
- 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)
- 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
- 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)
- 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)
- Working with iFiles
- Introducing Data Groups
- Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
- Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)
- 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)
- 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
Training Objectives
- Describe the role of iRules in customizing application delivery on a BIG-IP system
- Describe best practices for using iRules
- Define event context, and differentiate between client-side and server-side contexts, request and response contexts, and local and remote contexts
- Trigger an iRule for both client-side and server-side request and response events
- Assign multiple iRules to a virtual server and control the order in which duplicate events trigger
- Describe and use a testing methodology for iRule development and troubleshooting
- Use local variables, static variables, lists, arrays, the session table, and data groups to store information needed for iRule execution
- Write iRules that are optimized for runtime and administrative efficiency
- Use control structures to conditionally branch or loop within an iRule
- Log from an iRule using Linux syslog-ng or TMOS high-speed logging (HSL)
- Incorporate coding best practices during iRule development
- Use analyzer tools to capture and view traffic flow on both client-side and server-side contexts
- Collect and use timing statistics to measure iRule runtime efficiency
- Write iRules to help mitigate and defend from some common HTTP attacks
- Differentiate between decimal, octal, hexadecimal, floating-point, and exponential notation
- Parse and manipulate strings using Tcl commands and iRule functions
- Write iRules to access and manipulate HTTP header information
- Write iRules to collect customized statistics
- Implement universal persistence via an iRule
- Modify payload content using an iRule with a stream profile
Who should attend?
This course is intended for system administrators, network administrators and application developers responsible for the customization of traffic flow through a BIG-IP system using iRules.
- Overview
- Prerequisites
- Contents
- Objectives
- Audience
Overview
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.
Duration 3 days.
You can find current trainings on training calendar page.
Training Prerequisites
Students must complete one of the following F5 prerequisites before attending this course:
- Administering BIG-IP instructor-led course
- Configuring BIG-IP LTM instructor-led course
- F5 Certified BIG-IP Administrator
The following free web-based training courses, although optional, will be very helpful for any student with limited BIG-IP administration and configuration experience.
- Getting Started with BIG-IP web-based training
- Getting Started with BIG-IP Local Traffic Manager (LTM) web-based training
The following general network technology knowledge and experience are recommended before attending any F5 Global Training Services instructor-led course:
- OSI model encapsulation
- Routing and switching
- Ethernet and ARP
- TCP/IP concepts
- IP addressing and subnetting
- NAT and private IP addressing
- Default gateway
- Network firewalls
- LAN vs. WAN
The following course-specific knowledge and experience is suggested before attending this course:
- HTTP protocol
- Any programming language
Training Contents
The content of this training is as follows. We recommend that you review before training.
- Introducing the BIG-IP System
- Initially Setting Up the BIG-IP System
- Archiving the BIG-IP System Configuration
- Leveraging F5 Support Resources and Tools
- Customizing Application Delivery with iRules
- Triggering an iRule
- Leveraging the DevCentral Ecosystem
- Creating and Deploying iRules
- 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
- Mastering Whitespace and Special Symbols
- Grouping Strings
- Developing and Troubleshooting Tips
- Using Fiddler to Test and Troubleshoot iRules
- 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)
- 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
- 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)
- 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)
- Working with iFiles
- Introducing Data Groups
- Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
- Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)
- 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)
- 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
Training Objectives
- Describe the role of iRules in customizing application delivery on a BIG-IP system
- Describe best practices for using iRules
- Define event context, and differentiate between client-side and server-side contexts, request and response contexts, and local and remote contexts
- Trigger an iRule for both client-side and server-side request and response events
- Assign multiple iRules to a virtual server and control the order in which duplicate events trigger
- Describe and use a testing methodology for iRule development and troubleshooting
- Use local variables, static variables, lists, arrays, the session table, and data groups to store information needed for iRule execution
- Write iRules that are optimized for runtime and administrative efficiency
- Use control structures to conditionally branch or loop within an iRule
- Log from an iRule using Linux syslog-ng or TMOS high-speed logging (HSL)
- Incorporate coding best practices during iRule development
- Use analyzer tools to capture and view traffic flow on both client-side and server-side contexts
- Collect and use timing statistics to measure iRule runtime efficiency
- Write iRules to help mitigate and defend from some common HTTP attacks
- Differentiate between decimal, octal, hexadecimal, floating-point, and exponential notation
- Parse and manipulate strings using Tcl commands and iRule functions
- Write iRules to access and manipulate HTTP header information
- Write iRules to collect customized statistics
- Implement universal persistence via an iRule
- Modify payload content using an iRule with a stream profile
Who should attend?
This course is intended for system administrators, network administrators and application developers responsible for the customization of traffic flow through a BIG-IP system using iRules.