ืืืจืืื ื ืชืื ืื ืืืืจื ืืื ืืฉ ืืืืช ืืืฉืืจืื ืคืขืืืื ืืืืืกืื ืขื ืืื ืกืืืื ืฉืื ืื ืฉื ื ืืืืจ. ืืื ืื ืืื ืืก ืืืฉืื ืขื ื ืืืืจ ืืืฉืื ืืื ืืืื ืืืืื ืืจืืื ืืืฉื ืืจืฉืช ืชืื ืืงืืช ืกืคืืจืืช. ืืื"ื ืืื ืก Next Hop 2020 ืืฆืืชื ืืชืืืืืืืืืช ืขืืฆืื ืจืฉืชืืช ืฉื ืืจืื ื ืชืื ืื ืฉืืฉ ืื ืชืืื ื ืืืืืืืช - ืืจืื ืื ืชืื ืื ืืจืคื ืืช ืขืฆืื ืืืืคืืืช ืฉื ืืืช. ืืืชืจ ืืืืง, ืืืื ืืก ืคืืชืจ ืืช ืืืขืื ืืฉืืืื, ืืขืื ืฉืืฉืืจืืชืื ืคืฉืื ืื ืืืืื ืื ืื.
ืขืืืจ ืืื ืืกื ืจืฉืช ืจืืื, ืจืฉืช ืืจืื ืื ืชืื ืื ืืชืืืื, ืืืืื, ื-ToR, ืขื ืืชื ืืืืฃ. ื-ToR ืืฉ ืืืจื ืืื ืฉื ื ืกืืืื ืฉื ืงืืฉืืจืื. ืืงืื ืื ืืืืืื ืืฉืจืชืื, ืืืจืื - ืืฉ ืคื N ืืืชืจ ืืื - ืืืืืื ืืืืืื ืืงืืฆืื ืฉื ืืจืื ืืจืืฉืื ื, ืืืืืจ ืื ื-uplinks ืฉืื. ืงืืฉืืจืื ืืขืื ื ืืฉืืื ืืืจื ืืื ืฉืืืื, ืืืชืขืืืจื ืืื ืงืืฉืืจืื ืืขืื ืืืืื ืช ืืืชืืกืก ืขื 5-tuple hash, ืืืืื ืคืจืืื, src_ip, dst_ip, src_port, dst_port. ืืื ืืื ืืคืชืขืืช.
ืืืืจ ืืื, ืืื ื ืจืืืช ืืืจืืืืงืืืจื ืฉื ืืืืืกืื? ืืงืืฆืื ืฉื ืืจืื ืืจืืฉืื ื ืืื ื ืืืืืจืื ืื ืืื, ืืื ืืืืืจืื ืืืืฆืขืืช ืกืคืื ืื ืขื. ืืืืช X ืชืืื ืืืจืืืช ืืกืืคืจ-ืกืคืื ืื, ืื ืืืขื ืืื ืืืืืจ ืฆืืื.
ืืืจืืจ ืฉืืฆื ืฉื ื ืืืจื ืืืืืจืื ืืื ืงืืฆืื ืฉื ืืจืื ืืจืืฉืื ื. ืื ืืฉืื ืืชืืื ื ืืื? ืื ืืฉ ืื ื ืืื ืืจืืงืฆืื ืืชืื ืืืชืื, ืื ืืืื ืืจืืงืฆืื, ืืืืื, ืขืืืจืช ืืจื ToR. ืื ืืืื ืืจืืงืฆืื ืขืืืจืช ืืชืื ืืืืืื, ืื ืืืื ืืจืืงืฆืื ืขืืืจืช ืืจื ืืฉืืจื ืฉื ืืจืื ืืจืืฉืื ื. ืื ืืืื ืืจืืงืฆืื ืืื ืืื ืืืืืืจืืช - ืืื ืืื, ToR 1 ื-ToR 2 - ืื ืืืื ืืจืืงืฆืื ืชืขืืืจ ืืจื ืืฉืืจื ืฉื ืืจืื ืืจืืฉืื ื ืืืฉื ืืื.
ืชืืืืจืืืช, ืืจืืืืงืืืจื ืืื ื ืืชื ืช ืืืจืืื ืืงืืืช. ืื ืืฉ ืื ื ืงืืืืืช ื ืื, ืจืืจืื ืฉื ืืงืื ืืืจืื ืื ืชืื ืื ืืกืื ืืื ื ืืจืืฉ, ืื ืชืืื ื ืืชื ืืืืืื ืืช ืืกืคืจ ืืืืืกืื, ืืืื ืืืืืื ืืช ืืงืืืืืช ืืืืืืช ืฉื ืืืขืจืืช. ืขื ืื ืืืจ, ืื ืืืื ืงื ืืขืฉืืช. ืื ืืืื ืืื ืืืืื ืืืืืชืืื. ืืื ืืกืืคืืจ ืฉื ืืืื ืื ืขืืกืง ืืื.
ืื ื ืจืืฆื ืืืกืืง ืืช ืืืกืงื ืืช ืื ืืื ืืช. ืืฉ ืื ื ื ืชืืืื ืจืืื ืืชืื ืืจืื ืื ืชืื ืื. ืื ืขืฆืืืืื ืขื ืชื ืื. ืืจื ืืืช ืืชืื ืืจืื ืื ืชืื ืื ืืคืฉืจืืช ืจืง ืืชืื ToR. ืืชืื ืืืืืื, ืืฉ ืื ื ืืืชื ืืกืคืจ ืฉื ื ืชืืืื ืืื ืืกืคืจ ืืืืฉืืจืื. ืืกืคืจ ืื ืชืืืื ืืื ืืืืืืื ืฉืืื ืืืืคืืช ืืกืคืจ ืืืืฉืืจืื ืืืกืคืจ ืืกืืคืจ-ืกืคืื ืื ืืื ืืืฉืืจ. ืืื ืืืืืืจ ืืช ืื, ืืื ืืืจืืืฉ ืืช ืงื ื ืืืืื, ืืชื ืืช ืืืกืคืจืื ืฉืชืงืคืื ืขืืืจ ืืื ืืืจืืื ืื ืชืื ืื ืฉื Yandex.
ืืฉื ื ืฉืืื ื ืืืืกืื, ืืื ืืืืก ืืฉ 32 ืกืคืื ืื-ืขื. ืืชืืฆืื ืืื, ืืชืืจืจ ืฉืืฉ ืฉืืื ื ื ืชืืืื ืืชืื ืืืืืื, ืืขื ืืื ืืจืืงืฆืื ืืื-ืืืืืืื ืืฉ ืืืจ 256 ืืื.
ืืืืืจ, ืื ืื ืื ื ืืคืชืืื ืกืคืจ ืืืฉืื, ืื ืกืื ืืืืื ืืื ืืื ืืช ืืจืืื ื ืชืื ืื ืขืืืืื ืืคื ื ืชืงืืืช ืฉืืจืคืืื ืืช ืขืฆืื, ืื ืืืจืืืืงืืืจื ืืืืฉืืจืืช ืืื ืืืืืจื ืื ืืื ื. ืื ืืืคืฉืจ ืื ืืคืชืืจ ืืช ืืขืืืช ืงื ื ืืืืื, ืืชืืืืจืืืช ืื ืงื. ืืฉ ืืจืื ืืจืืื ืขืฆืืืืืช. ื ืืชืจื ืืฉืืื: ืืื ืืจืืืืงืืืจื ืืื ืฉืืจืืช ืืฉืืื? ืืฉื ื ืงืจืืกืืช ืฉืื ืืช. ืืื ืื ื ื ืืื ืืื ืขืืฉืื.
ืชื ืืืื ืืืกืืคืจืกืคืื ืื ืฉืื ื ืืืืืช. ืืื ืืืจืชื ืืืจืืืืงืืืจื ืฉื ืฉื ื ืืืฉืืจืื. ื ืืฉืืจ ืืืชื ืืืืืื ืื ืคืฉืื ืืืื ืงื ืืืชืจ ืืจืืืช ืื ืงืืจื ืืื ืขื ืคืืืช ืืืงืื ื ืขืื. ืชื ื-X11 ืืืืืช. ืืื ืื ืืฉืคืืข ืขื ืืฉืืจืืชืื ืฉืืืื ืืชืื ืืจืืื ื ืชืื ืื? ืืจืื ืชืืื ืืื ืืืืฉืืื ืืืืช ื ืจืื.
ืื ืืืฉื ืืื, ืืื ื ืชืคืก ืืจืืช ืืืืืืืฆืื ืฉื ืืืชื BFD, ืืืืืืฆืื ืืฉืืื ืฉืื ืืคืจืงืื ืืขืืืชืืื ืืืืืืืช ืืช ืืืขืื, ืื ืืื ืืกืืจ. ืืฉ ืื ื ืฉืืืืื ืจืืื, ืืชื ืืขื ืื ืืชืืช ืืืืคื ืืืืื ืืฆืืจืื ืืืืคืืื, ืืืฉืืจืืชืื ืื ืืฉืืื ืื ืืืืื. ืืื ืชืจืืืฉ ืืื.
ืชืจืืืฉ ืืจืืข ืืื ืื ืืฉ ืื ื ืืคืกืืื ืงืืืขืื, ืืืืืืืืฆืื ืื ืฉืื ืื ืืืขืื. ืืื ืืืืื ืืืฆื ืื ืืฉืคืืข ืขื ืืืคืืืงืฆืื, ื ืฆืืจื ืืืงืืืฉ ืืื ืงืฆืจ ืืืืื ืืืฆื ืคืืขื ืคืจืืืืงืื ื-TCP.
ืื ื ืืงืืื ืฉืื ืืืขืืข ืืฃ ืืื ืขื ืืืืืข ืืื: TCP ืืื ืคืจืืืืงืื ืืืืฆืช ืื. ืืืืืจ, ืืืงืจื ืืื ืคืฉืื, ืืฉืืื ืฉืืื ืฉืชื ืื ืืช, ืืืงืื ืขืืืื ack ืืฆืืืจ: "ืงืืืืชื ืฉืชื ืื ืืช".
ืืืืจ ืืื, ืืื ืืฉืื ืขืื ืฉืชื ืื ืืช, ืืืืฆื ืืืืืจ ืขื ืขืฆืื. ืื ื ืืชื ืฆื ืืจืืฉ ืขื ืืคืฉืืืช. ืชืจืืืฉ ืื ื ืืื ืื ืืืืื (ืืกืคืจ ืืืืืืืช ืืืืกื) ืืื ืฉื ืืื. ืืืืื, ืื ืื ืืืืจื ืื ืืืืคื ืืืื. ืืื ืืืงืฉืจ ืฉื ืืขืืจืช ืืื ืืช ืืื ื ืืืฉืคืข ืืืืื ืืืืื.
ืื ืืงืจื ืื ื ืืื ืืืืื 3? ืืืงืจื ืื, ืื ืืขื ืืงืื ืื ืืช 1, 2 ื-4. ืืืื ืืืืืข ืืืคืืจืฉ ืืฉืืื ืืืืฆืขืืช ืืคืฉืจืืช SACK: "ืืชื ืืืืข, ืืืืขื ืฉืืืฉ, ืืื ืืืืฆืข ืืื". ืืื ืืืืจ "ืืง 2, ืฉืง 4".
ืืฉืืื ืืจืืข ืื ืืืืจ ืืืืืง ืขื ืืืืืื ืฉืืืื ืืื ืืขืืืช.
ืืื ืื ืืืืืื ืืืืจืื ื ืืืืื ืชืืื, ืืืฆื ืืืจืื ืฉืื ื ืืืื.
ืื ืืขื ืืงืื ืืช ืฉืืืฉ ืืืืืืืช ืืจืืฉืื ืืช ืืงืืื ืื ืืชืืื ืืืืชืื. ืืืืืช ืืืื ืืืคืืืืืืฆืืืช ืืขืจืืืช TCP ืฉื ืืืืช ืืื ืืงืก, ืืื ืืืื ืืืืืื ืืืืืืช, ืืื ืื ืื ืืฉ ืืื ืืืงืฆืื ืืคืืจืฉืช ืืืืืื ืฉืื ืืืืืื ืืืืจืื ื ืื ืืฉืื ืืื. ืื ืืืชืื ืขื ืฉืคื ืชืืงืฃ ืืืื ืืงืฆืื ืฉื Delayed ACK ืืื ืืฉืื ืืืฉืืจ ืขืืืจ ืฉืืืฉ ืืืืืืืช ืืจืืฉืื ืืช. ืืื ืขืืฉืื ืืฉืืื ืืืื. ืืื ืื ืืืืข ืื ืืืืืื ืืจืืืขืืช ืืืื ืื ืขืืืืช ืืืืืข. ืืืื ืื ืืืขืืืก ืขื ืืจืฉืช, ืืื ืชื ืกื ืืืืืช ืืืื ืืืงืฆืื ืืืคืืจืฉืช ืฉืืื ื ืืืื, ืื ืืคืงืืขืช ืคืกืง ืืืื ืฉื ื-RTO.
ืืื ืคืกืง ืืื RTO? ืืื ืืืงืกืืืื ืื-RTT ืืืืืฉื ืขื ืืื ืืืกื ืืช ื-TCP ืืงืืืข ืืืฉืื. ืืื ืืงืืืข ืืื, ื ืืื ืืขืช.
ืืื ืืฉืื ืฉืื ืฉืื ืืชืืื ืืืื ื ืืืืืืื ืืจืืืขืืช ืฉืื ืืืืื, ืื ื-RTO ืืืคืื ืืช ืขืฆืื. ืืืืืจ, ืื ื ืืกืืื ืื ืืืฆืื ืืื ืืืคืื ืฉื ืคืกืง ืืืื.
ืขืืฉืื ืืืื ื ืจืื ืืื ืืืกืืก ืืื ืฉืืื. ืืืจืืจืช ืืืื, RTO ืืืื ืืืื ืืื 200ms. ืืื ื-RTO ืืืื ืืืื ืขืืืจ ืื ืืช ื ืชืื ืื. ืขืืืจ ืื ืืช SYN, ืื ืฉืื ื, ืฉื ืืื ืืืช. ืืคื ืฉืืชื ืืืื ืืจืืืช, ืืคืืื ืื ืืกืืื ืืจืืฉืื ืืฉืืื ืื ืืช ืืืืฉ ืืืงื ืคื 1 ืืืชืจ ืืืฉืจ RTT ืืชืื ืืจืื ืื ืชืื ืื.
ืขืืฉืื ื ืืืืจ ืืชืจืืืฉ ืฉืื ื. ืื ืงืืจื ืขื ืืฉืืจืืช? ืืฉืืจืืช ืืชืืื ืืืื ืื ืืช. ืชื ืืฉืืจืืช ืืืืืช ืืจ ืืื ืืืชืืื ืืืืื ืืฉืื ืืืืฆืข ืืืืื, ืืื ืืื ืืงืื SACK, ืฉืืื ืืืืฉ ืืช ืืืืืืืช ืืืืืืืช.
ืืื ืื ืืืื ืืจืข ืืืืจ ืขื ืขืฆืื, ืื ืืฉ ืื ื RTO. ืื ืืฉืื ืืื? ืื, ืืฉ ืื ื ืืจืื ื ืชืืืื ืืจืฉืช. ืืื ืชืขืืืจืช ื-TCP ืฉื ืืืืืจ TCP ืืกืืื ืชืืฉืื ืืขืืืจ ืืจื ืืืชื ืืืกื ืืช ืฉืืืจื. ืืืืื ืื ืืช, ืืชื ืื ืฉืืงืกื X11 ืฉืื ื ืื ืืืฆื ืืขืฆืื, ืืื ื ืืืืื ืืชื ืืขื ืืืจืืช ืืืืืจืื ืฉืืื ื ืืขืืืชืืื. ืื ืื ื ืื ืกืื ืืืขืืืจ ืืืืื ืืจื ืืืชื ืขืจืืื ืฉืืืจื. ืื ืืืืื ืืืฉื ืืืืจื: ืืจืื ื ืชืื ืื ืืื ืงืืืฆื ืฉื ืืืฉืืืื ืืืงืืืืื ืืื ืืจืืงืฆืื, ืืืืง ืืืืืืจื ื-TCP ืฉื ืื ืืืืฉืืืื ืืืื ืืชืืืืื ืืืชืืจืืจ - ืืืืืื ืฉืืกืืคืจืกืคืื ืืฉืคืืข ืขื ืื ืืืคืืืงืฆืืืช ืฉื ืืฆืืืช ืืชืื ื-DC. ืืื ืืืืืจื: ืื ืืชื ืื ืื ืขื ืกืืก, ืืกืืก ืฆืืืข; ืืกืืก ืฆืืข - ืืืื ืื ื ืืกืจ; ืืืืืขื ืื ื ืืกืจื - ืื ืืคืกืืื ืืืืืื. ืจืง ืืื ืืกืคืืจื ืขืืืจืช ืืฉื ืืืช ืืจืืข ืฉืืืขืื ืืชืจืืฉืช ืืขื ืืฉืื ืืฉืคืื ืฉืืฉืืจืืชืื ืืชืืืืื ืืืจืืืฉ. ืืืฉืืขืืช ืืื ืฉืืฉืชืืฉืื ืื ืืงืืื ืืฉืื ืืืคืฉืื.
ืืฉื ื ืฉื ื ืคืชืจืื ืืช ืงืืืกืืื ืืืฉืืืืื ืื ืืช ืื. ืืจืืฉืื ืืื ืฉืืจืืชืื ืฉืื ืกืื ืืื ืื ืงืฉืืืช ืืืคืชืืจ ืืช ืืืขืื ืื: "ืืืื ื ืฆืืื ืืฉืื ืืขืจืืืช ื-TCP. ืืืืื ื ืขืฉื ืคืกืงื ืืื ืืจืืช ืืืคืืืงืฆืื ืื ืืคืขืืืช TCP ืืจืืืืช ืืืื ืขื ืืืืงืืช ืชืงืื ืืช ืคื ืืืืืช. ืืืขืื ืืื ืฉืคืชืจืื ืืช ืืืื: ื) ืืื ื ืืชืืืื ืืื; ื) ื ืืืง ืืฆืืจื ืืจืืขื ืืืื. ืืืืืจ, ืื ืื ืืฉืืจืืช ืืืืืจ ืืืขืืช ืืช ืืืกื ืืช ื-TCP ืื ืฉืืื ืชืืื ืืืื ืืืชืจ, ืจืืฉืืช, ืกืืืจ ืืื ืื ืฉืื ืื ืืฉืื ืืื ืืืคืืืงืฆืืืช ืืื ืืจืืื ืื ืชืื ืื, ืืฉื ืืช, ืกืืืจ ืืื ืื, ืืื ืื ืืืื ืื ื ืขืฉื ื ืืื ืืื ืึนื. ืืืืืจ, ืื ืขืืื, ืืื ืื ืขืืื ืืฆืืจื ืืจืืขื ืืืื ื ืืืืจื. ืืื ืืฉ ืืขืื ืืจืฉืช, ืื ืืฉื? ืืืืื NOC. ืื ืขืืฉื NOC?
ืฉืืจืืชืื ืจืืื ืืืืื ืื ืฉื-NOC ืืขืืืื ืืชื ืืืช ืืขืจื ืื. ืืื ืืืขื ืืืืช, ืื ืจืง.
NOC ืืชืื ืืช ืืงืืืกืืช ืขืืกืงืช ืืคืืชืื ืฉื ื ืืืืจ ืจืืื. ืืื ืื ืื ื ืืืืจ ืงืืคืกื ืฉืืืจื ืืื ื ืืืืจ ืงืืคืกื ืืื ื. ืขื ืืืืืื ืฉื ื ืืืืจ ืงืืคืกื ืฉืืืจื ืฉื ืงืืฆืื
ืื ืืืืช ืจืืฆื ืืงืื? ืืฉ ืื ื ืื ืื ืืจืื ื ืชืืืื. ืืืขืืืช ืืชืขืืจืจืืช ืืืืืง ืืืื ืฉืืจืืืืช TCP ืฉืืื ืืื ืืื ืืืฉืืืืช ืืืฉืชืืฉ ืืืืชื ืืกืืื. ืื ืื ื ืฆืจืืืื ืืฉืื ืฉืืืคืฉืจ ืื ื ืืืฉืชืืฉ ืืืกืคืจ ืืกืืืืื ืืชืื ืืืืืจ TCP ืืื. ื ืจืื ืฉืืฉ ืื ื ืคืชืจืื. ืืฉ TCP, ืฉื ืงืจื ืื - multipath TCP, ืืืืืจ TCP ืขืืืจ ื ืชืืืื ืจืืื. ื ืืื, ืืื ืคืืชื ืืืฉืืื ืืืจืช ืืืืจื - ืืกืืืจืืคืื ืื ืฉืืฉ ืืื ืืื ืืชืงื ื ืจืฉืช. ืืื ืืืงืกื ืืช ืืืขืืจื ืื ืืืฆืข ืืช ืืฆื ืจืืฉื / ืืืืื, ืคืืชื ืื ืื ืื ืฉืืืฆืจ ืืฉืงืืคืืช ืืกืคืจ threads (sessions) ืขืืืจ ืืืคืืืงืฆืื ืืืืคืฉืจ ืืขืืืจ ืืื ืืื ืืืงืจื ืฉื ืชืงืื. ืื, ืืคื ืฉืืืจืชื, ืืืงืกื ืืช ืจืืื ืืคืก.
ืืื ืืฉ ืืื ื ืืืื ืก. ืืื ืืืืื ืื ืื, ื ืฆืืจื ืืืกืชืื ืขื ืืืคื ืืืืจืช ืืืจืืื.
ืืฉืจืฉืืจืื ื ืงืืขืื ืืจืฆืฃ. ืืืจื ืืจืืฉืื ืืืชืงื ืจืืฉืื. ืืจืืืืช ืขืืงืืืช ื ืงืืขืืช ืืืืจ ืืื ืืืืฆืขืืช ืงืืืฅ ื-cookie ืฉืืืจ ืืืกืื ืืืืชื ืฉืจืฉืืจ. ืืืื ืืืขืื.
ืืืขืื ืืื ืฉืื ืืฉืจืฉืืจ ืืจืืฉืื ืื ืืชืงืื, ืืฉืจืฉืืจ ืืฉื ื ืืืฉืืืฉื ืืขืืื ืื ืืขืื. ืืืืืจ, multipath TCP ืืื ื ืคืืชืจ ืืช ืืืืื ืืืืืช ื-SYN ืืืจื ืืจืืฉืื. ืืื ื-SYN ืืืื, TCP ืืจืืื ืืกืืืืื ืืืคื ื-TCP ืจืืื. ืืื, ืืกืืืืช ืืจืื ื ืชืื ืื, ืื ืื ืืขืืืจ ืื ื ืืคืชืืจ ืืช ืืขืืืช ืืืคืกืืื ืืืคืขื ืืืืืื ืืืฆื ืืืฉืชืืฉ ืืืกืคืจ ื ืชืืืื ืืืงืจื ืฉื ืืฉื.
ืื ืืืื ืืขืืืจ ืื ื? ืืืงืื ืืืจ ื ืืืฉื ืืืฉื ืฉืืฉืื ืืืฉืื ืืกืืคืืจ ืื ืืกืฃ ืฉืื ื ืืืื ืฉืื ืืืืชืจืช ืฉื ืชืืืืช ืืืจืืื ืฉื IPv6. ืืื, ืื ืฉืื ืฉืืืคืืข ื-v6, ืืื ืื ื-v4, ืืื ืืืงื 20 ืกืืืืืช, ืืืฉ ืืืืืงืช ืืืื ืืฉืืืืฉ ืื ืืืจ ืืจืื ืืื. ืื ืืืื ืืขื ืืื - ืืื ืืืืืงืืช, ืืฉืื ืชืืงื ืืืกืืจืช ื-RFC, ืืืืงืืื ืืืคืืข ืืืืืช ืืื ืืงืก ืืืืืฉ ืฉืืขืืื ืื ืชืืขื ืืฉืื ืืงืื.
ืื ื ืืฆืืข ืฉืชืฆืืจืฃ ืืื ืืืงืืจื ืงืื ื. ืืืื ื ืกืชืื ืขื ืื ืฉืงืืจื ืืืืืช ืืื ืืงืก ืืืืื ืืฉื ืื ืืืืจืื ืืช.
ืฉื ืช 2014. ืืื ืืก ืืืืจื ืืืืื ืืืืืจืช ืืืกืืฃ ืืคืื ืงืฆืืื ืืืืช ืฉื ืืืืช ืืื ืืงืก ืืช ืืชืืืช ืฉื ืขืจื ืชืืืืช ืืืจืืื ื-hash ืฉื ืืฉืงืข. ืื ืื ืกืื ืืชืงื ืืื? ืื ืงืฉืืจ ื-RFC 6438 ืฉืื ืื ืืฉื ืืื. ืืชืื ืืจืื ืื ืชืื ืื, IPv4 ืืืงืฃ ืืจืื ืืืืืืืช IPv6, ืืืืืื ืฉืืืคืขื ืขืฆืื ืืื IPv6, ืืื ืืืืฉืื ืืืืืื ืืืกืืจ ืืช IPv4. ืืืฉื ืืื ืจื ืืื ืืขืืืช ืขื ืืชืืื ืฉืื ืืืื ืืืคืฉ ืืชืืช ืืฉืชื ืืืชืจืืช IP ืืื ืืืืืข ื-TCP ืื UDP ืืืืฆืื ืฉื src_ports, dst_ports. ืืชืืจืจ ืฉื-hash, ืื ืืกืชืืืื ืขื ืฉืชื ืืืชืจืืช ื-IP ืืจืืฉืื ืืช, ืืชืืจืจ ืืืืขื ืืชืืงื. ืืื ืืื ืืข ืืืช, ืืื ืฉืืืืืื ืฉื ืืชืขืืืจื ืืืืืืขืช ืืื ืืคืขื ืืฆืืจื ื ืืื ื, ืืืฆืข ืืืืกืืฃ hash ืืืืืืื ืืืืืืขืช ืืช 5-ืืืคืืื ืืขืจื ืฉื ืฉืื ืชืืืืช ืืืจืืื. ืืขืจื ืืืชื ืืืืจ ื ืขืฉื ืขืืืจ ืชืืื ืืืช ืื ืงืคืกืืืฆืื ืืืจืืช, ืขืืืจ UDP, ืขืืืจ GRE, ืืืืจืื ื ืขืฉื ืฉืืืืฉ ืืฉืื ืืคืชื GRE. ืื ืื ืืืจืช, ืืืืจืืช ืืื ืืจืืจืืช. ืืืคืืืช ืืืืชื ื ืงืืืช ืืื ืื ืืื ืฉืืืืฉืืื.
ืืฉื ืช 2015, ืชืืงืื ืืืฉ ืืืืข ืืืืชื ืืื ืืก ืืืืื. ืืื ืืืื ืืขื ืืื. ืื ืืืืจ ืืช ืืืืจ ืืื - ืื ื ื ืขืฉื ืืงืจืื ืืช ื-hash ืืืงืจื ืฉื ืืืจืืข ื ืืชืื ืฉืืืื. ืืื ืืืจืืข ื ืืชืื ืฉืืืื? ืืื ื-RTO ืฉืืืืจื ื ืขืืื ืงืืื, ืืืืืจ, ืืืืื ืื ื ืืืืื ืืื ืืืจืืข ืฉืืื ืืืืช ืฉืืืื. ื ืืื, ืืืกืืช ืงืฉื ืื ืืฉ ืื ืื.
2016, ืขืื ืืืจื ืืืืืืช, ืื ืืื ืืืืื. ืืื ืื ืชื ืืช ืืงืืืื ืืืืจืื ืื ืืืืจื ืืื ืฉื-hash ืฉืขืฉืื ื ืืขืืจ ืืงืจืื ืืฉืชื ื ืืขืช ืืื ืฉืืืืจ ืืืืจ ืฉื SYN ืืืืจื ืื ืคืกืง ืืื ืฉื RTO. ืืืืืชื ืื, ืืคืขื ืืจืืฉืื ื ืืืืืจืื ื, ื ืฉืืขืช ืืืืจื ืืกืืคืืช - ืืืืื ืฉืืชื ืืขื ืืืงืจื ืฉื ืืืืื ืื ืขืืืก ืฉื ืขืจืืฆืื ืชืืื ืืคืฉืจืืช ืื ืืชืื ืจื, ืชืื ืฉืืืืฉ ืืืกืคืจ ื ืชืืืื. ืืืืื, ืืืจื ืื ืืื ืืจืื ืคืจืกืืืื, ืืชื ืืืื ืืืฆืื ืืืชื ืืงืืืช.
ืืืจืืช ืฉืื, ืืชื ืื ืืืื, ืื ืื ืืื ืคืจืกืื ืืื ืื ืืฉื ืื. ืืื ืื ืื ื ืืืืขืื!
ืืื ืืชื ืื ืืืื ืขื ืืกืืฃ ืื ื ืขืฉื, ืื ื ืืืื ืื ืขืืฉืื.
ืื ื ืขืฉื, ืืืื ืคืื ืงืฆืืื ืืืืช ื ืืกืคื ืืงืจื ื ืฉื ืืื ืืงืก? txhash ืืฉืชื ื ืืขืจื ืืงืจืื ืืืืจ ืื ืืืจืืข RTO. ืืืื ืืืชื ืชืืฆืืช ื ืืชืื ืฉืืืืืช. ื-hash ืชืืื ื-txhash ืื ืืชืืืืช ืืืจืืื ืชืืืื ื-skb hash. ืืฉ ืืื ืืืฉืืืื ืขื ืืคืื ืงืฆืืืช ืืื, ืื ื ืืชื ืืืงื ืืช ืื ืืคืจืืื ืืฉืงืืคืืช ืืืช. ืื ืืืฉืื ืกืงืจื, ืืชื ืืืื ืืขืืืจ ืขื ืงืื ืืืืื ืืืืืืง.
ืื ืืฉืื ืืื? ืืขืจื ืฉื ืฉืื ืชืืืืช ืืืจืืื ืืฉืชื ื ืืืกืคืจ ืืงืจืื ืืืืจ ืื RTO. ืืื ืื ืืฉืคืืข ืขื ืืจื ื-TCP ืืกืจ ืืืื ืฉืื ื?
ืืืงืจื ืฉื SACK, ืฉืื ืืืจ ืื ืืฉืชื ื ืืืืืื ืฉืื ื ืื ืกืื ืืฉืืื ืืืืฉ ืืืืื ืืืืขื ืฉืืืื. ืืื ืชืืื ืืื ืืื.
ืืื ืืืงืจื ืฉื RTO, ืืชื ืื ืฉืืืกืคื ื ืชืืืืช ืืจืืื ืืคืื ืงืฆืืืช ื-hash ื-ToR, ืืชื ืืขื ืืืืื ืืงืืช ืืกืืื ืืืจ. ืืืื ืฉืืืชืจ ืืืืกืื, ืื ืืื ืืกืืืื ืืืฆืื ื ืชืื ืฉืืื ื ืืืฉืคืข ืืืชืจืกืงืืช ืืืืฉืืจ ืืกืืื.
ื ืืชืจื ืืขืื ืืืช - RTO. ืืกืืื ืืืจ, ืืืืื, ื ืืฆื, ืื ืืืฉืงืข ืื ืืื ืจื. 200ms ืื ืืจืื. ืฉื ืืื ืืื ืืืจื ืืื ืคืจืืืืช. ืงืืื ืืื, ืืืืจืชื ืขื ืคืกืงื ืืื ืฉืืืืืจืื ืฉืืจืืชืื. ืื, ืฉื ืืื ืืื ืคืกืง ืืื ืฉืืืจื ืืื ืืืืืจ ืฉืืจืืช ืืจืืช ืืืคืืืงืฆืื, ืืืื ืืฉืืจืืช ืืคืืื ืืืื ื ืืื ืืืกืืช. ืืชืจ ืขื ืื, ืื ื ืืืืจ, ื-RTT ืืืืืชื ืืชืื ืืจืื ื ืชืื ืื ืืืืจื ื ืืื ืืกืืืืืช 1 ืืืคืืช ืฉื ืืื.
ืื ื ืืชื ืืขืฉืืช ืืืื ืคืกืงื ืืื ืฉื RTO? ืืช ืคืกืง ืืืื ืฉืืืจืื ื-RTO ืืืงืจื ืฉื ืืืืื ืื ืืช ื ืชืื ืื ื ืืชื ืืืืืืจ ืืงืืืช ืืืกืืช ืืืจืื ืืืฉืชืืฉ: ืืฉ ืชืืื ืืช ืฉืืจืืช IP, ืืืื ืืคืจืืืจืื ืฉืื ืืืื ืืช ืืืชื rto_min. ืืืชืืฉื ืืื, ืืืืื, ืืชื ืฆืจืื ืืืคืื RTO ืื ืืืืืื, ืืื ืขืืืจ ืงืืืืืืช ื ืชืื ืืช, ืื ืื ืื ืืื ื ืจืื ืื ืขืืื.
ื ืืื, ืขื SYN_RTO ืืื ืงืฆืช ืืืชืจ ืืจืืข. ืื ืืืืกืืจ ืืืืคื ืืืขื. ืืขืจื ืงืืืข ืืืืื - ืฉื ืืื ืืืช, ืืืื. ืืชื ืื ืืืื ืืืืืข ืืืื ืืืจืื ืืืฉืชืืฉ. ืืฉ ืจืง ืืจื ืืืช.
eBPF ืื ืืืฆืื. ืืคืฉืืืช, ืืืืืจ ืืชืืื ืืช ืงืื ืืช ืืกืื C. ื ืืชื ืืืื ืืก ืืืชื ื-hooks ืืืงืืืืช ืฉืื ืื ืืืืฆืืข ืืืกื ืืช ืืงืจื ื ืืขืจืืืช ื-TCP, ืืขืืจืชื ื ืืชื ืืฉื ืืช ืืกืคืจ ืจื ืืืื ืฉื ืืืืจืืช. ืืืืคื ืืืื, eBPF ืืื ืืืื ืืจืืืช ืืืื. ืืืงืื ืื ืกืจ ืขืฉืจืืช ืคืจืืืจืื ืืืฉืื ืฉื sysctl ืืืืจืืื ืืช ืืื ื-IP, ืืชื ืืขื ืืื ืืืืืื eBPF ืืืจืืืช ืืคืื ืงืฆืืื ืืืืช ืฉืื. ืขื eBPF, ืืชื ืืืื ืืฉื ืืช ืืืืคื ืืื ืื ืืช ืืงืจืืช ืืืืืฉ ืืืืืจืืช TCP ืฉืื ืืช ืืืจืืช.
ืืื ืืฉืื ืื ื ืฉืืขืืจืชื ืชืืืื ืืกืืื ืืช ืืขืจืืื ืฉื SYN_RTO. ืืืฉ ืืืืื ืฉืคืืจืกืื ืืคืืืื:
ืื ืื ืื ื ืืืจ ืืืืขืื? ืื ืฉืืืจืืืืงืืืจื ืืืืฉืืจืืช ืืืคืฉืจืช ืงื ื ืืืื, ืืกืชืืจ ืฉืื ืฉืืืืฉื ืืืืชืจ ืขืืืจื ื ืืืฉืจ ืื ื ืืคืขืืืื ืืช ืชืืืืช ืืืจืืื ื-ToR ืืืงืืืื ืืช ืืืืืื ืืช ืืืจืื ืืืืืจืื ืืขืืืชืืื. ืืืจื ืืืืื ืืืืชืจ ืืืืจืื ืขืจืื RTO ื-SYN-RTO ืืื ืืืฉืชืืฉ ืืชืืื ืืืช eBPF. ื ืืชืจื ืืฉืืื: ืืื ืื ืืืื ืืืฉืชืืฉ ืืชืืืืช ืืืจืืื ืืืืืื? ืืืฉ ืืื ื ืืืื ืก.
ื ื ืื ืฉืืฉ ืื ืฉืืจืืช ืืจืฉืช ืฉืื ื- anycast. ืืฆืขืจื, ืืื ืื ืืื ืืคืจื ืขื anycast, ืืื ืื ืฉืืจืืช ืืืืืจ ืฉืื ืฉืจืชืื ืคืืืืื ืฉืื ืื ืืืื ืื ืขื ืืืชื ืืชืืืช IP. ืืื ื ืืขืื ืืคืฉืจืืช: ืืืจืืข ื-RTO ืืืื ืืืชืจืืฉ ืื ืจืง ืืืฉืจ ืืชื ืืขื ืขืืืจืช ืืืคืขื. ืื ืืืื ืืืชืจืืฉ ืื ืืจืืช ืืืืจ ื-ToR: ืืืฉืจ ืืชืจืืฉ ืืืจืืข ืงืื, ืื ืืืื ืืืชืจืืฉ ืืคืืื ืขื ืืืืจื ืืืฉืจ ืืืืจื ืฉืืคื ืืฉืื. ืืืฉืจ ืืชืจืืฉ ืืืจืืข RTO ืืืื ืืฉื ื ืืช ืชืืืืช ืืืจืืื. ืืืงืจื ืื, ืืชื ืืขื ืขืฉืืื ืืขืืืจ ืืืืคืข ืื-ืงืืกื ืืืจ. ื ื ืื ืฉืื anycast stateful, ืืื ืืืื ืืฆื ืืืืืจ - ืื ืืืื ืืืืืช L3 Balancer ืื ืฉืืจืืช ืืืจ. ืืื ื ืืฆืจืช ืืขืื, ืื ืืืจื ื-RTO, ืืืืืจ ื-TCP ืืืืข ืืฉืจืช, ืฉืื ืืืืข ืืืจ ืขื ืืืืืจ ื-TCP ืืื. ืืื ืืื ืื ื ืฉืืชืืฃ ืืฆืืื ืืื ืฉืจืชื Anycast, ืื ืชืขืืืจื ืืื ืชืืคืกืง ืืืืืืจ ื-TCP ืืื ืชืง.
ืื ืืคืฉืจ ืืขืฉืืช ืืื? ืืชืื ืืกืืืื ืืืืืงืจืช ืฉืื, ืฉืื ืืชื ืืคืขืื ืืืืื ืชืืืืช ืืจืืื, ืขืืื ืืชืงื ืืช ืืขืจื ืฉื ืชืืืืช ืืืจืืื ืืขืช ืืืฉื ืืฉืจืชืื ืืกืื CAST. ืืืจื ืืงืื ืืืืชืจ ืืื ืืขืฉืืช ืืืช ืืืืฆืขืืช ืืืชื ืชืืื ืืช eBPF. ืืื ืื ื ื ืงืืื ืืฉืืื ืืืื - ืื ืืขืฉืืช ืื ืืื ื ืืคืขืื ืจืฉืช ื ืชืื ืื ืกื ืืจ, ืืื ืืคืขืื ืืืงืื? ืื ืื ืืืขืื ืฉืื: ืืื ืืืืจืกืืืช ืืกืืืืืช ืฉื ื'ืื ืืคืจ ืืืจืืกืื, ืื ืืืืืืช ืืช ืชืืืืช ืืืจืืื ืืคืื ืงืฆืืืช ื-hash ืืืจืืจืช ืืืื - ืืืขื ืืืืช, ืืกืืื ืฉืืื ื ื ืืืื. ืื ืืืื ืืืจืื ืื ืื ืชืง ืืืืืจื TCP ืืืฉืชืืฉืื ืฉืขืืืจืื ืืจืฉืช ืฉืื. ืืื, ืื ื ืืืืืฅ ืืืื ืืืืืง ืืช ืืืืจืืช ืื ืชื ืฉืื ืืืืงืื ืื.
ืื ืื ืืืจืช, ื ืจืื ืื ืฉืื ืื ื ืืืื ืื ืืขืืืจ ืื ืืกืืืื.
ืืฉืืคืขืื ื ืืช ืชืืืืช ืืืจืืื ื-ToR, ืืื ื ืืช ื-eBPF ืฉื ืืกืืื, ืฉืื ืืขืช ืขื ืืืืจืืื, ืืืืื ื ืื ืืืืืช ืืืฉื ืืืืื ืืื, ืืื ืืืฆืข ืคืืฆืืฆืื ืืืืงืจืื. ืืงืื ื ืืช ื-ToR, ืฉืืฉ ืื ืืจืืขื ืงืืฉืืจืื ืืืขืื, ืืขืฉืื ื ืืืคืืช ืขื ืืื ืืื. ืื ืฆืืื ื ืืื, ืื ืืืจื - ืขืืฉืื ืืชื ืืืื ืืช ืื ืืืืืืืช. ืืคื ืฉื ืืชื ืืจืืืช ืืฆื ืฉืืื, ืืฉ ืื ื ื ืืืืจ ืืื ืื ื, ืฉืืจื ื-75%, ืืืืืจ, 25% ืืืื ืืช ืืืื. ืืฆื ืืืื ืืฉ ืืจืคืื ืฉื ืฉืืจืืชืื ืืืืื ืืืืืจื ื-ToR ืืื. ืืืขืฉื, ืืื ืื ืืจืคื ืชื ืืขื ืฉื ื'ืืื ืืื ืขื ืฉืจืชืื ืืชืื ืืืืฃ. ืืคื ืฉืืชื ืืืื ืืจืืืช, ืื ืฉืงืขื ืืคืืื ื ืืื ืืืชืจ. ืืืืข ืื ืฉืงืขื ื ืืื ืืืชืจ - ืื ื-25%, ืืื ืืืืง ืืืืงืจืื ืคื 3-4? ืื ืืืืืจ ื-TCP ืืกืจ ืืื, ืืื ืืืฉืื ืื ืกืืช ืืืืืข ืืจื ืืืืฉืง ืืฉืืืจ. ืืืืจ ืืืืืจ ืขื ืืื ืืืชื ืืืืช ืืืืคืืื ืืช ืฉื ืืฉืืจืืช ืืชืื ื-DC - ืขืืืจ ืืงืฉืช ืืฉืชืืฉ ืืืช, ื ืืฆืจืืช N ืืงืฉืืช ืืฉืืจืืชืื ืคื ืืืืื, ืืืชืืืื ืชืขืืืจ ืืืฉืชืืฉ, ืื ืืืฉืจ ืื ืืงืืจืืช ืื ืชืื ืื ืืืืื, ืื ืืืฉืจ ืืืคืขื ืคืกืง ืืื ืืฉืขื ืจืืช ืืืืฉืื, ืฉืขืืืื ืฆืจืื ืืืืืืจ. ืืืืืจ, ืืื ืืืื ืืืื ืจืข.
ืขืืฉืื ืืืชื ื ืืกืื, ืืื ืขื ืชืืืืช ืืืจืืื ืืืคืขืืช. ืืคื ืฉืืชื ืืืื ืืจืืืช, ืืฆื ืฉืืื, ื ืืืืจ ืืืฆืืื ืฉืื ื ืฆื ื ืืืืชื 25%. ืื ื ืืื ืืืืืืื, ืืืืืื ืฉืืื ืื ืืืืข ืืืื ืขื ืฉืืืืจืื ืืืืจืื, ืืื ืฉืืื ืื ืืช ืืคืฉืื ืกืืคืจ ืืช ืืืืก ืืื ืืกืคืจ ืืืืืืืช ืฉื ืืกืจื ืืืืืื.
ืืืืืื ืืื ืืฉืืจืืชืื. ืื ืชืืฆื ืืื ืืช ืืืฉืคืขื ืฉื ืืคืจืง ืืขืืืชื. ืืชื ืืขื ืืืืชื ืืืคืืืช ืืฉื ืืื ืืจืื ืืืืืืจ ืืืขืืืชื ืืฉืืืฉืช ื-uplinks ืื ืืชืจืื ืฉืื ืืืฉืคืขื ืืืืขืื. ืืฉ ืื ื ืจืฉืช ืฉืืจืคืืช ืืช ืขืฆืื.
ืื ืืฉืงืืคืืช ืืืืจืื ื ืฉืื, ืืืืข ืืืื ืืขืฉืืช ืืฉืืื ื ืคืฉ. ืขืืฉืื, ืื ื ืืงืืื ืฉืืชื ืืืืข ืืื ืืื ืืช ืจืฉืช ืืจืืื ื ืชืื ืื ืืจืืคืื ืขืฆืื. ืื ืชืฆืืจืื ืืขืืืจ ืืืจืืืื ืืืืช ืืื ืืงืก ืืืืคืฉ ืฉื ืชืืงืื ืื ืืืืืืื, ืืชื ืืืืขืื ืฉืืชืืืืช Flow ืคืืชืจืช ืืช ืืืขืื ืืืงืจื ืืื, ืืื ืืชื ืฆืจืืืื ืืืฉืช ืืื ืื ืื ืืื ืืืืืจืืช. ืืื ื ืืืืืฉ ืฉืื ืฉืื ืืชื ืกืคืง, ืืชื ืื ืฆืจืื ืืืฉืชืืฉ ืืชืืืืช ืืืจืืื ืืคืื ืงืฆืืืช hash, ืืืจืช ืชืฉืืืจ ืืช ืืกืฉื ืื ืฉื ืืืฉืชืืฉืื ืฉืื.
ืขืืืจ ืืื ืืกื ืจืฉืช, ืฆืจืื ืืืชืจืืฉ ืฉืื ืื ืงืื ืกืคืืืืื: ืืจืฉืช ืื ืืชืืืื ืขื ToR, ืื ืขื ืืชืงื ืจืฉืช, ืืื ืขื ืืืจื. ืืืืื ืืืืืช ืืืื ืืื ืืืฆื ืื ื ืืฉืชืืฉืื ื-eBPF ืื ืืื ืืฉื ืืช ืืช ื-RTO ืืื ืืื ืืชืงื ืืช ืชืืืืช ืืืจืืื ืืืคื ืฉืืจืืชื Anycast.
ืืืื ืื ืชืืืืช ืืืจืืื ืืืืื ืืชืืื ืืฉืืืืฉืื ืืืจืื ืืืืจืช ืื ืืืื ืืืืืงืจืช. ืื ืืืืื ืืืืืช ืชืขืืืจื ืืื ืืจืืื ื ืชืื ืื, ืื ืฉืืชื ืืืื ืืืฉืชืืฉ ืืืื ืืงื ืืื ืืืจื ืืืืืืช ืืื ืืฉืืื ืืชื ืืขื ืืืืฆืืช. ืืื ืื ื ืืืืจ ืขื ืื, ืื ื ืืงืืื, ืืคืขื ืืืื. ืชืืื ืจืื ืขื ืชืฉืืืช ืืื.
ืืงืืจ: www.habr.com