关于TCP协议四元组确定唯一性的问题。
今天做了一个实验,机器A(假设IP为1.2.3.4)在port1上监听连接请求,机器B(假设IP为4.3.2.1)对机器A请求连接,假设内核选择的端口号为port2。这时就建立了一个tpc四元组:1.2.3.4:port1<->4.3.2.1:port2。
由于四元组的唯一性,那么1.2.3.4:port1<->4.3.2.1:port2和4.3.2.1:port2<->1.2.3.4:port1其实是没有区别的,但是4.3.2.1:port2<->1.2.3.4:port3应该就是另外一个四元组了。所以我就想在机器B上对port2进行监听,可是返回了10049,告诉我地址无法重用了,操作系统为什么要阻止我这么做,仅仅的为了防止机器A再用port1去连接机器B的port2,导致重复连接吗?
可不可以这样总结:如果存在一个四元组ip1:port1<->ip2:port2的话,那么机器A和机器B都无法在port1和port2上再进行监听了?