αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Linux conntrack αž›αŸ‚αž„αž‡αžΆαž˜αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ€αžαž αžΎαž™

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Linux conntrack αž›αŸ‚αž„αž‡αžΆαž˜αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ€αžαž αžΎαž™

αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ (β€œconntrack”) αž‚αžΊαž‡αžΆαž˜αž»αžαž„αžΆαžšαžŸαŸ’αž“αžΌαž›αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αŸ” αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžαžΊαžŽαŸ‚αž›αžαžΆαž˜αžŠαžΆαž“αžšαžΆαž›αŸ‹αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰ αž¬αž›αŸ†αž αžΌαžšαž‘αžΌαž‡αžΈαžαž› αž αžΎαž™αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‡αžΆαž›αŸ†αž αžΌαžšαž“αžΈαž˜αž½αž™αŸ— αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž–αž½αž€αž‚αŸαž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž›αŸ†αžŠαŸ„αž™αŸ”

Conntrack αž‚αžΊαž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžαžΊαžŽαŸ‚αž›αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ–

  • NAT αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž–αŸαžαŸŒαž˜αžΆαž“αž–αžΈ conntrack αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž–αŸ’αž™αžΆαž”αžΆαž›αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈαžŸαŸ’αž‘αŸ’αžšαžΈαž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαŸ„αž™αžŸαŸ’αž˜αžΎαž—αžΆαž–αž‚αŸ’αž“αžΆαŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž•αžαž…αžΌαž›αž”αŸ’αžšαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Kubernetes αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αž”αž“αŸ’αž‘αž»αž€αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈ kube αž”αŸ’αžšαžΎ NAT αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΉαž€αž“αžΆαŸ†αž…αžšαžΆαž…αžšαžŽαŸαž‘αŸ…αž€αžΆαž“αŸ‹αž•αžαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αŸ” Conntrack αž€αžαŸ‹αžαŸ’αžšαžΆαžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™ αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸαžœαžΆ IP αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹αž•αžαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž αžΎαž™αž€αž‰αŸ’αž…αž”αŸ‹αž“αŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαž‘αž”αŸ‹αžŠαŸ„αž™αž•αžαž•αžαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΌαžœαžαŸ‚ NATed αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž•αžαžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž”αžΆαž“αž˜αž€αŸ”
  • αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαžΌαž…αž‡αžΆ Calico αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž–αŸαžαŸŒαž˜αžΆαž“αž–αžΈαž”αžŽαŸ’αžαžΆαž‰αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž…αžšαžΆαž…αžšαžŽαŸ "αž†αŸ’αž›αžΎαž™αžαž”" αž”αž‰αŸ’αž‡αžΈαžŸαŸ” αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž“αž·αž™αžΆαž™αžαžΆ "αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™ pod αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αžŽαžΆαž˜αž½αž™" αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαžšαžŸαŸαžšαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžšαžΆαž…αžšαžŽαŸαž†αŸ’αž›αžΎαž™αžαž”αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αŸ” (αž”αžΎαž‚αŸ’αž˜αžΆαž“αžœαžΆαž‘αŸ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜ "αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž‘αŸ…αž•αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž–αžΈαž…αŸ’αž”αžΆαž”αŸ‹ IP αžŽαžΆαž˜αž½αž™" αžŠαŸ‚αž›αž˜αž·αž“αžŸαžΌαžœαž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” )

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ conntrack αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž’αŸ’αžœαžΎαž’αŸ„αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’ (αžŠαŸ„αž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CPU αž“αž·αž„ packet latency) αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž˜αžΆαž“αžαŸ‚αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
αžαŸ’αžšαžΌαžœαžαŸ‚αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž‡αž„αŸ‹αž”αžŽαŸ’αžαžΆαž‰αž‘αžΆαŸ†αž„αž˜αžΌαž›αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžΆαŸ” αžŸαžΌαž˜αž˜αžΎαž›αž”αŸ’αžšαž€αžΆαžŸ "αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž“αŸƒαžšαž”αŸ€αž” kube-αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈ" αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ Conntrack αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αžœαžΆ ...

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΎαžœαžΆαžαž»αžŸαžαŸ’αžšαž„αŸ‹αžŽαžΆ?

αžαžΆαžšαžΆαž„ conntrack αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αžαž·αž”αžšαž˜αžΆαžŠαŸ‚αž›αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αžΆαž“ αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž–αŸαž‰ αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’ αž¬αž‘αž˜αŸ’αž›αžΆαž€αŸ‹αŸ” αž˜αžΆαž“αž‘αŸ†αž αŸ†αž‘αŸ†αž“αŸαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αžšαžΆαž…αžšαžŽαŸαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž—αžΆαž‚αž…αŸ’αžšαžΎαž“ αž αžΎαž™αžœαžΆαž“αžΉαž„αž˜αž·αž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αž‰αŸ’αž αžΆαž‘αŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αžΆαž“αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž…αž„αŸ‹αž–αž·αž…αžΆαžšαžŽαžΆαž”αŸ’αžšαžΎαžαžΆαžšαžΆαž„ conntrackαŸ–

  • αž€αžšαžŽαžΈαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž”αŸ†αž•αž»αžαž‚αžΊαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αŸ†αž“αž½αž“αžŠαŸαž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŸαž€αž˜αŸ’αž˜αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαžΆαžšαžΆαž„ conntrack αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαžαž» 128k αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž˜αžΆαž“αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆ > 128k αž’αŸ’αž“αž€αž”αŸ’αžšαžΆαž€αžŠαž‡αžΆαž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆ!
  • αž€αžšαžŽαžΈαž˜αž·αž“αžŸαžΌαžœαž…αŸ’αž”αžΆαžŸαŸ‹αŸ– αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž…αŸ’αžšαžΎαž“αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαž€αŸαžŠαŸ„αž™ αž€αŸαž–αž½αž€αž‚αŸαž”αž“αŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ„αž™αž›αžΈαž“αž»αž…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αž˜αž½αž™αž…αŸ†αž“αž½αž“ (120s αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜)αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαžΆαžšαžΆαž„ conntrack αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαžαž» 128k αž αžΎαž™αž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ 1100 αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ αž–αž½αž€αž‚αŸαž“αžΉαž„αž›αžΎαžŸαž–αžΈαž‘αŸ†αž αŸ†αž“αŸƒαžαžΆαžšαžΆαž„ conntrack αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαžŽαžΆαžŸαŸ‹ (128k/120s = 1092 connections/ s)

αž˜αžΆαž“αž”αŸ’αžšαž—αŸαž‘αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αžŸαŸαžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž—αŸαž‘αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αžαž½αž’αž„αŸ’αž‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αžΆαžšαž”αŸ†αž–αŸαž‰αžαžΆαžšαžΆαž„ conntrack αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž”αžΎαž€αž…αŸ†αž αž‡αžΆαž…αŸ’αžšαžΎαž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαž”αžŠαž·αžŸαŸαž’αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ (DOS) αŸ” αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž‘αžΆαŸ†αž„β€‹αž–αžΈαžšβ€‹αž“αŸαŸ‡ conntrack αž’αžΆαž…β€‹αž€αŸ’αž›αžΆαž™β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αžšαžΆαŸ†αž„αžŸαŸ’αž‘αŸ‡β€‹αž€αŸ’αž“αž»αž„β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’β€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžαŸ’αž›αŸ‡ αž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžαžΆαžšαžΆαž„ conntrack αž’αžΆαž…αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž–αŸαž‰αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ† αž¬αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž’αžŸαŸ‹αž–αŸαž› conntrack (αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αŸ’αžœαžΎαžœαžΆαžαž»αžŸ αž’αŸ’αž“αž€αž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž…αŸ’αžšαžΎαž“)αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžšαžŽαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžœαžΆαž“αžΉαž„αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž€αž»αž„αžαžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αžšαžΆαž…αžšαžŽαŸαžˆαŸ’αž›αžΆαž“αž–αžΆαž“αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„

αžŸαžΌαž˜αž•αŸ’αžαž›αŸ‹αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ– αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ SaaS αžŠαŸαž’αŸ†αž˜αž½αž™αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ memcached αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ (αž˜αž·αž“αž˜αŸ‚αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž) αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ 50K+ αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ”

αž–αž½αž€αž‚αŸαž”αžΆαž“αž–αž·αžŸαŸ„αž’αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ conntrack αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ†αžαžΆαžšαžΆαž„ αž“αž·αž„αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αŸαž›αžœαŸαž›αžΆαžαžΆαž˜αžŠαžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αžΊαž˜αž·αž“αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ RAM αž€αžΎαž“αž‘αžΎαž„αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„ αžŠαŸ‚αž›αž‡αžΆαž”αž‰αŸ’αž αžΆ (αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒ GBytes!) αž αžΎαž™αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‚αžΊαžαŸ’αž›αžΈαžŽαžΆαžŸαŸ‹αžŠαŸ‚αž› conntrack αž˜αž·αž“αž”αžΆαž“ αž”αž„αŸ’αž€αžΎαžαž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž˜αŸ’αž˜αžαžΆαžšαž”αžŸαŸ‹αžœαžΆ (αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž¬αž—αžΆαž–αž™αžΊαžαž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“)αŸ”

αž–αž½αž€αž‚αŸαž”αžΆαž“αž„αžΆαž€αž‘αŸ… Calico αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αŸ” αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ Calico αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž˜αž·αž“αž”αŸ’αžšαžΎ conntrack αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒαž…αžšαžΆαž…αžšαžŽαŸ (αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ doNotTrack) αŸ” αž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž–αž½αž€αž‚αŸαž“αžΌαžœαž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž€αžΆαžš αž”αžΌαž€αž“αžΉαž„αž€αž˜αŸ’αžšαž·αžαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™ Calico αŸ”

αžαžΎβ€‹αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž‘αŸ…β€‹αžŠαž›αŸ‹β€‹αž•αŸ’αž›αžΌαžœβ€‹αž†αŸ’αž›αž„β€‹αž€αžΆαžαŸ‹β€‹αžšαž™αŸˆβ€‹αž–αŸαž›β€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“?

  • αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ Do-not-track αž‡αžΆαž‘αžΌαž‘αŸ…αž‚αž½αžšαžαŸ‚αžŸαŸŠαžΈαž˜αŸαž‘αŸ’αžšαžΈαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ SaaSαŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž€αžΆαžšαž–αžΆαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ αž–αž½αž€αž‚αŸαž’αžΆαž…αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž‡αžΈαžŸαž…αžšαžΆαž…αžšαžŽαŸαž–αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎ memcached αŸ”
  • αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ do-not-track αž˜αž·αž“αž‚αž·αžαž–αžΈαž‘αž·αžŸαžŠαŸ…αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ memcached αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž½αž…αž…αžΌαž› αž’αŸ’αž“αž€αžαžΆαž˜αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈαž’αžΆαž…αž–αŸ’αž™αžΆαž™αžΆαž˜αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž’αžαž·αžαž·αž‡αž“ memcached αžŽαžΆαž˜αž½αž™ αžŠαžšαžΆαž”αžŽαžΆαžœαžΆαž”αŸ’αžšαžΎαž…αŸ’αžšαž€αž”αŸ’αžšαž—αž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αžΌαžœαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαž·αžαž·αž‡αž“ memcached αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž“αŸ„αŸ‡αž€αžΆαžšαž–αŸ’αž™αžΆαž™αžΆαž˜αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αžΉαž„αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ’αžšαžΆαž“αž…αŸ„αž›αž“αŸ…αž•αŸ’αž“αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαŸ”
  • αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ do-not-track αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αžšαžΆαž›αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“ αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž™αž–αžΈαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž’αž˜αŸ’αž˜αžαžΆ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžαŸ‚αž…αŸ†αž–αŸ„αŸ‡αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αž αžΌαžšαž˜αž½αž™αŸ” αž“αŸαŸ‡αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž€αŸ’αž“αž»αž„αž˜αž½αž™αž€αž‰αŸ’αž…αž”αŸ‹ αž–αŸ’αžšαŸ„αŸ‡αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžαŸ’αžšαžΌαžœαžαŸ‚αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž“αžΈαž˜αž½αž™αŸ—αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž“αŸαŸ‡αž˜αžΆαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αžŠαŸ„αž™αž€αžΆαžšαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ SaaS αž…αŸ†αž“αž½αž“αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαžαžΌαž…αžŽαžΆαžŸαŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž…αŸ†αž–αŸ„αŸ‡αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”

αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžΆαž€αž›αŸ’αž”αž„

αž™αžΎαž„αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž›αžΎαž•αžαžαŸ‚αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ memcached αž“αž·αž„ pods αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ memcached αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž•αžαž˜αŸαž€αžΆαžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΆαž“ 8 αžŸαŸ’αž“αžΌαž› αž“αž·αž„αž’αžΆαžαž» 512k αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„ conntrack (αž‘αŸ†αž αŸ†αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“)αŸ”
αž™αžΎαž„αž”αžΆαž“αžœαžΆαžŸαŸ‹αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžœαžΆαž„αŸ– αž‚αŸ’αž˜αžΆαž“αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ Calico αž‘αŸ€αž„αž‘αžΆαžαŸ‹; αž“αž·αž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž˜αž·αž“αžαžΆαž˜αžŠαžΆαž“ Calico αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž›αžΎαž€αž‘αžΈαž˜αž½αž™ αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… 4.000 αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž•αŸ’αžαŸ„αžαž›αžΎαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ” αž˜αž·αž“αž˜αžΆαž“αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αž›αžΆαŸ†αž„αžšαžœαžΆαž„αž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™ αž“αž·αž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž’αž˜αŸ’αž˜αžαžΆαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž»αŸ†αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž”αŸ’αžšαž αŸ‚αž› 20%αŸ–

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Linux conntrack αž›αŸ‚αž„αž‡αžΆαž˜αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ€αžαž αžΎαž™

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž›αžΎαž€αž‘αžΈαž–αžΈαžš αž™αžΎαž„αž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αžαžΆαž˜αžŠαŸ‚αž›αž’αžαž·αžαž·αž‡αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αžœαžΆαžŸαŸ‹αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ memcached αžšαž”αžŸαŸ‹αž™αžΎαž„αž’αžΆαž…αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αžΆαž“αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ†αž–αžΉαž„αž‘αž»αž€ αž€αžšαžŽαžΈ "αž‚αŸ’αž˜αžΆαž“αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ" αž“αž·αž„ "αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž’αž˜αŸ’αž˜αžαžΆ" αž‘αžΆαŸ†αž„αž–αžΈαžšαž”αžΆαž“αžˆαžΆαž“αžŠαž›αŸ‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž›αžΎαžŸαž–αžΈ 4,000 αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ (512k/120s = 4,369 connections/s)αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž˜αž·αž“αžαžΆαž˜αžŠαžΆαž“ αž’αžαž·αžαž·αž‡αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž•αŸ’αž‰αžΎαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ 60,000 αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαž‘αžΎαž™αŸ” αž™αžΎαž„αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αž“αŸαŸ‡αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž’αžαž·αžαž·αž‡αž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž…αŸ†αž“αž½αž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž…αŸ†αžŽαž»αž…αž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡!

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Linux conntrack αž›αŸ‚αž„αž‡αžΆαž˜αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ€αžαž αžΎαž™

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

Conntrack αž‚αžΊαž‡αžΆαž˜αž»αžαž„αžΆαžšαžαžΊαžŽαŸ‚αž›αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αŸ” αž‚αžΆαžαŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ’αžšαžΎαž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αžŠαŸ„αž™αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž€αžΆαžšαž€αž€αžŸαŸ’αž‘αŸ‡αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ conntrack αž˜αžΆαž“αž›αžΎαžŸαž–αžΈαž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž’αž˜αŸ’αž˜αžαžΆαžŠαŸ‚αž›αžœαžΆαž•αŸ’αžαž›αŸ‹αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž“αŸαŸ‡ αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ Calico αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αž·αž‘αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ conntrack αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž”αžŽαŸ’αžαžΆαž‰αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αžšαžΆαž…αžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ conntrack αž”αž“αŸ’αžαž’αŸ’αžœαžΎαž‡αžΆαž˜αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€!

αžŸαžΌαž˜αž’αžΆαž“αž’αžαŸ’αžαž”αž‘αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž•αž„αžŠαŸ‚αžšαŸ–

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹