为什么要分享TCP IP 5元组(five-tuple/5-tuple的知识?
最近在进行深度分析过程中,听到某些资深人士提到了5元组这个概念,觉得很高大尚,去搜索了一圈,发现都是些非常浅显的知识,对于tcp ip 5元组,7元组有什么用没有提及,也没有五元组的英文,导致英文资料检索过程中饶了一圈。费了一番功夫,最终了解了4元组,5元组,7元组,觉得很有意思,因此分享出来,希望能帮到大家。
什么是5元组?
如今互联网大部分请求都承载与tcp/ip之上,IP属于网络层协议,TCP属于传输层协议,每个请求主要通过ip数据包来进行传输和交互。在ip数据包头中会包含连接相关的信息,ip数据包头参数较多,通常难以表达。为了方便不同场景下的使用,将常用的一些ip数据包头字段组合在一起,形成元组,以便使大家更了解。
5元组是一个通信术语,英文名称为five-tuple,或5-tuple,通常指由源Ip (source IP), 源端口(source port),目标Ip (destination IP), 目标端口(destination port),4层通信协议 (the layer 4 protocol)等5个字段来表示一个会话,是会话哦。
通常使用5元组来标识一个数据包属于哪个会话,在数据包查重和流量对比时会使用较多,在网络分析领域也经常会涉及到。
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))
参考链接
</article>