五元组是通信术语,英文名称为five-tuple,或5-tuple,五元组包括源IP地址(source IP)、源端口(source port)、目的IP地址(destination IP)、目的端口(destination port) 和 传输层协议(the layer 4 protocol)的五个量集合。
例如:192.168.1.1 10000 TCP 121.14.88.76 80就构成了一个五元组,源IP地址为192.168.1.1,源端口号为10000,协议为TCP,目的IP地址为:121.14.88.76,目的端口号为80。
通常使用5元组来标识一个数据包属于哪个会话,在数据包查重和流量对比时会使用较多,在网络分析领域也经常会涉及到。
如今互联网大部分请求都承载与TCP/IP之上,IP属于网络层协议,TCP属于传输层协议,每个请求主要通过IP数据包来进行传输和交互。在IP数据包头中会包含连接相关的信息,IP数据包头参数较多,通常难以表达。为了方便不同场景下的使用,将常用的一些IP数据包头字段组合在一起,形成元组,以便使大家更了解。
4元组,5元组,7元组又是什么?
理解了5元组之后,理解4元组,7元组就简单了。
4元组即用4个维度来确定唯一连接,这4个维度分别是源IP (source IP), 源端口(source port),目标IP(destination IP), 目标端口(destination port)。
7元组即用7个字段来确定网络流量,即源IP (source IP),源端口(source port),目标IP (destination IP),目标端口(destination port),4层通信协议 (the layer 4 protocol),服务类型(ToS byte),接口索引(Input logical interface (ifIndex))