首页 » 技术讨论 » 正文

Mangle 分类标记介绍

mangle 允许对 IP 数据包做特殊的标记, mangle 是通过修改指定的 IP 数据包头字段,去标记 IP 数据包的特征 能标记端口、 IP、协议、 TCP 协议和相应的 IP 数据流。 Mangle 属于综合性功能,所以在路由、流量控制和其他相应功能中都会涉及到

需要功能包: system
需要等级: Level1
操作路径: /ip firewall mangle
协议标准: IP


Mangle 介绍


Mangle 是一种标记器,标记特殊的数据包等待将来处理。在 RouterOS 中许多其他的功能组件会使用到他,如queue-trees nat,他们识别到一个数据包了标记的便会做相应的处理。 Mangle 标记仅存在于该路由器中,他们无法传输到网络中去。 根据数据传输方式不同可以选择:


Prerouting:路由前,常用于标记策略和端口路由
Input:进入路由器的数据
Foreward:通过路由转发,用于修改 TTLTCP-MSS 和流量控制规则
Output:数据输出
Prostrouting:路由后


RouterOS 中的 IP firewall 主要由 3 个规则部分组成 MangleFilterNAT ,而 Address-list 常用于地址列表分类。 Mangle 通过标记特定的 IP 数据流后,为 FilterNAT 和、路由、 Queue 提供标记后的 IP 数据流

img2719

标记 IP 数据流的三种类型,这三种类型会在各种应用中多次出现,特别是 Queue 的流量控制和 ip route 的路由:


Mark-connection:标记所有 IP 流的连接
Mark-packet:标记 IP 流中数据包
Mark-routing:标记 IP 流中 IP 数据包的路由信息

 

三种类型的关系,所有的在 IP 数据包传输前,首先需要通过建立 TCP/UDP 连接,进行传输。所以当数据通过
IP 流进入 Mangle 后,建立相应的连接标记,并从连接标记中提取数据包,做处理。图示如下:

img2724


Mangle 应用


Peer-to-Peer 传输标记


保证优质的网络连接,如 VoIP HTTP 等为最优先级,将 P2P 的优先级设置为最低 RouterOS QOS 操作首先使用 mangle 标记不同类型的传输,然后把它们放入的 queues 做不同的限制。下面的事例是强迫 P2P 的总的传输不能超过 1Mbps,其他的传输连接则扩大连接带宽和优先级:

 


Mangle 限制 2 级代理


通过 mangle 限制 2 级代理, 思路是修改 TTL 值,让路由级数减少, 但对端口的 http 代理无效,进入 forward链表指定 in-interface 或者指定目标数据到内往的 IP 地址,即 dst-address dst-address-list 等参数来修改到达目标的 TTL 值为 1