IRules主要應用在F5負載均衡設備GTM、LTM和LC,它使用的是TCL語言,由事件、命令和邏輯三部分組成。它可以工作在OSI模型的3-7層,根據協議的不同,實現不同的功能。
IRules的功能:
1、實現了對所有TCP、UDP應用的數據包分析與信息提取功能;
2、根據數據信息進行分流;
3、雙向的數據流改寫功能;
4、選擇性地址轉換(iSNAT);
5、基於內容的會話保持。
iRules可以根據提取的信息(比如ip、http header、http uri等)進行數據分流,使得不同的請求類型分配到不同的服務器羣中。如根據文件類型選擇不同的服務器、依據遊覽器不同選擇不同服務器、根據用戶類型不同選擇不同服務器等。
F5設備的Full Proxy結構使其有了雙向數據改寫的能力。與其他傳統的網絡交換機不同,BIGIP可以對任意內容進行改寫,例如TCP Content,UDP Content,HTTP Request,HTTP Response等內容進行修改。如改寫uri、在header中插入證書信息、選擇性的地址轉換、基於內容的會話保持等。