ααααααααααα·ααααααααααΎαααΆαα§ααααααααααααΆαααααααααααΌαααΆαααα‘αΎα ααααααααααααααααααααααααααααΆααααΆααααα½ααα·αα·αααα ααα»ααααααΌααααΈαααα·αααααααααα’ααααΆαααααααΆαααΆααααα½ααα·αα·αααααα’α₯αααα αααα αααα»αααααΉαα’αΆα ααααΎαααααΆαααααΉαααααΌαα ααααααΆααααΆααααααααΆααααα»αααααααααααα»ααααΆαααΆααΈααα»αααααα αα αααα»ααααΆαααΆααααα½ααα α―ααααα·ααΈα Next Hop 2020 αααα»αααΆααααα αΆαααΈαα·ααΈααΆααααααα ααΆαααααΆαααααααααααα·αααααα αααααΆααααααααα·ααααααααααΈαα - ααααααααααα·ααααααααααΆααΆααααα½αα―αααΆαα·ααααΈαα·ααΆααΈα ααΆααααα αααΆααααΆαααααα ααα αα·ααααααααααααΆααααα αΆααααααααααααΆαα αααααααααααααΆαααααα·ααααααααΆααααΆα
αααααΆαααα·ααααααααααΆαααΆα αααΎα αααααΆαααααααααααα·ααααααα αΆααααααΎα αα·αααΆααααΆαα½α ToR ααΆαα½αααΉααα»αααΆαααα αααα»α rack α ToR ααΆααααααΆααΆααααααααΆααααΈαααααααα ααΌα αα αααΆαααΈααα α’ααααααααααα - ααΆα N ααα αααΎαααΆααα½ααα - ααααααα ααααα’αΉαααααααααααα·αααΈαα½α αααααΊαα ααΆαααααααααΆααααααααΆα Uplinks ααΆααααααΆααααΌαααΆαα αΆαααα»αααΆααααΎααααΆ α αΎαα ααΆα ααααΆα uplinks ααΊααΆααα»αααααΆααααααα’ααααΎ hash ααΈ 5-tuple ααααα½αααΆα proto, src_ip, dst_ip, src_port, dst_port α ααααΆαααΆαααααΆααααα’αΎααα ααΈαααααα
αααααΆαα ααΎααααΆαααααααααααααΆαααΎααα ααΌα α’αααΈ? ααα’αΉαααααααααααα·αααΈ 1 αα·αααααΌαααΆααααααΆαααα ααααΆαα αα·ααα αααα ααα»ααααααααΌαααΆααααααΆααααΆαααα superspines α α’αααα X ααΉαααα½ααα»αααααΌαα αααα superspines ααΆααααΎαααααΌα ααΆααΆααααααΆααααααααΆααα
α αΎαααΆα αααΆααααΆααααΆ αααααΆααα·αααα tori ααααΌαααΆαααααΆαααα ααα’αΉαααααααΆααα’ααααααααα·αααΈαα½αα ααΎα’αααΈααααΆαααααα»αααΌαααΆαααα? ααααα·αααΎααΎαααΆαα’αααααααααα ααΆααααα»α rack αααα’αααααααααα·αααΆααααααααΆαα ToR α ααααα·αααΎα’ααααααααααΎαα‘αΎααα αααα»ααααΌαα»α αααα’ααααααααααΎαα‘αΎαααΆααααααα’αΉαααααααααα·αααΈαα½αα ααααα·αααΎα’ααααααααααΊ intermodular - ααΌα αα ααΈααα ToR 1 αα·α ToR 2 - αααααΆααααα’ααααααααααΉαααααααΆααααα’αΉαααααααΆααααααα·αααΈαα½ααα·αααΈααΈαα
ααΆαααααΉααααΈ ααααΆααααααααααααααα’αΆα ααααΎααΆαααααααΆαααΆααααΆαααΆααααα½αα ααααα·αααΎααΎαααΆααααααααΆαα ααα ααααααααααααα αααα»αααααααααααα·αααααα αα·αα αααΆαααΊαααααΆαααΆαααα»α αααα ααα½αααααΌααααααα’αΆα ααΎαα‘αΎαααΆαα·α αα αααα ααα»ααααααααΎααααααααΆαααααααααααααΆααααΌαα αααααΆααααα½αααααΎαα ααΎαααααΆαα ααΆααΉαααΌα ααααα αααα»αααΈαα·αα ααα»ααααβααΏαβααααβαααβαα·αβαααβα’αααΈβααΏαβαααβααα
αααα»αα ααααΆαααΆαααααα·ααααΆαααααΉαααααΌαα ααΎαααΆαααααΌαααΆα αααΎααα αααα»αααααααααααα·ααααααα αα½αααααΆαααααααααα―αααΆαααα ααααΌααα½ααα ααΆααααα»αααααααααααα·ααααααααΊα’αΆα ααααΎαα ααΆααααα αααα»α ToR ααα»αααααα αα ααΆααααα»ααααΌαα»αααΎαααΆαα ααα½αααααΌαααααΎααΉαα ααα½αααααΌαα α ααα½αααααΌααααΆααααΌαα»αααΊααααΎααΉαααα·αααααα ααα½αααααα αα αα·αα ααα½ααα superspines αα αααα»αααααα ααααΈαα½ααα ααΎααααΈααααΎα±ααααΆααΆααααα αααΆαα ααΎααααΈααα½αααΆαααΆααααααΉαα’αααΈααΆαααααααΆα αααα»αααΉααααααααααααααΆααα»ααααΆααααααΆααααααααααααα·αααααα Yandex αα½αα
ααΆαααααα ααα ααα½αααααΆαααΈ αααααααα ααααΈαα½ααααΆα 32 superpines α ααΆαααααα ααΆααααααΆααΆαααααΌαα ααα½αααααΆαααΈαα ααΆααααα»ααααΌαα»α α αΎαααΆαα½αααΉαα’ααααααααα’ααααααααααΆα 256 αα½α α αΎαα
αααααΊααααα·αααΎααΎααααα»ααααααΎα Cookbook αααααααΆααΆααααααΈαααααααααΎαααααααααααα·αααααααααα’ααα±αα
ααααααα α»ααααααααΆααΆααααα½αα―αααα ααααΆαααααααααααααααΊααΆαααααΎαααααααΉαααααΌαα ααΆαααααααΆααααα αΆααΆαααααΎααΆαααααααΆα α αΎαααΆαααααΉααααΈααΆααΆααααα½αα ααΆαααααΌαα―αααΆαααααΆα
αααΎαα αααα½ααα
ααααΆαα ααΎααααΆααααααααααααααα’αΆα
αα½α
αα»αααΈααΆααααΆααααααααααααΆ? ααΆαααΆααααΆαααααααααααααΆα α αΎαααΎαααΉααα·ααΆααααΆααΏααααα₯α‘αΌααααα
α’αα»ααααΆαα±ααααα’αΉαααααααααααΎα "ααΊ" α αα
ααΈααααααα»αααΆααααααααα
ααααΆααααααααααααα ααααΈαα ααΎαβααΉαβααΎαβααβα
ααα»α
βααΆααβαααβααΆβα§ααΆα ααα αααααβααΆβααΉαβααΆααβααβααΆαβαααα½αβαααα»αβααΆαβααΎαβααΎαβααΆβααΆαβα’αααΈβααΎαβα‘αΎαβαααβααΆαβαααααβααααΆααααΈβαα·α
βααΆαα ααΌαα±αα X11 ααΊα ααΎααΆααΉααααααΆαααααααααΆαααααααααααα
αααα»αααααααααααα·αααααααααΆαααΌα
ααααα
? α
αααΎαβα’αΆαααααβααΎβα’αααΈβαααβαα·αβααΆβαααΆαααβααΎαβαα
βααΌα
βααΆα
ααααα·αααΎααΆααααΆαααααΊααα’ααΆααααΌαααΆαααα
αΆααααΆααα
ααααα·αααααααααααααα·αααααα BFD ααΌα
ααααΆααααααααααααα·ααααααΆαααααααΆαααααααΆααααα αΆαααααΈαααΆαα αΎαααααααα αΆαααα’αααΈαααΆααα’ααααΊααα’α ααΎαααΆαααααΌαααΆα
αααΎα α
ααΆα
αααααααΌαααΆααααααΌααααααα
ααααΌααααα½ααα·αααααΆαα α αΎαααααΆααααααΉααα·αααααααααΆααα’αααΈαααααα αααααΊααΆααααααΈαααααα’α
ααααΆααΈαααΌαα·αααα’ααΊααααα·αααΎααΎαααΆαααΆαααΆααααααΆαααααααααΆαα α αΎαααααααααααααα·αααααα·ααααααααΆαααααα αΆαααααα ααΎααααΈαααααΈαααααααααΆαααααΆααααααααααα·ααΈαα½α ααΎαααΉαααααΌαα
αααΆααααααααα·α
ααΎααααΈαα·ααΆααααΆααΈααααααα TCP ααααΎαααΆαα
αααα»ααααααΉαααΆαααα»ααα·αααααΎα±ααααααΆααααΆααααααΆααααα’αΎαααΆαα½αααΉαααααααΆααααααα TCP ααΊααΆαα·ααΈααΆααααααΆααααΆααααααΌαα αααβααΊβααΆβααααΈβααΆααααβαααα»α α’αααβααααΎβααααΎβαααα
ααβααααααΆαβα
ααα½αβααΈα α αΎαβααα½αβααΆαβαααα
ααβαααααβαα½αβααΎβαα½αααα "αααα»αβααΆαβααα½αβαααα
ααβααααααΆαβααΈα"α
αααααΆααααΈαααααΆααααΉαααααΎαααα
ααααΈααααααααααα αΎαααααΆαααΆαααΉαααΎαα‘αΎααααααααα αααα»αααΌαα’αααααααα»αααΆαα»ααααααΆααααΆαααΆαααααα½αα
ααα½αα ααααΆααΈαααΌαααααααΉαααααΌαααααα·αααΎαααα’α½α
(α
ααα½ααααα
ααα ααα αΎα) ααΊααΈαα ααΆααΆααα·αααΆαααα
αααα»αααααΈααΌαα
ααααα·ααααααΆααααΈα
αΆαααΆα
ααααααα ααα»ααααααα ααααα’α½α
αα·ααααααΆαααααααα·αααααααΌααααααααα
ααααααααΆαααα
ααΎααΆαα’αααΈααΎαα‘αΎαααααα·αααΎααΎαααΆααααααααα
ααααΈ 3? αααα»αααααΈααα α’αααααα½αααΉαααα½αααΆααααα
αα 1, 2 αα·α 4α α αΎαααΆααααΉαααααΆααα’αααααααΎαααΆαα
αααΆααααΆαααααααααΎαααααΎα SACKα "α’αααααΉααα ααΈααΆαααααα ααα»ααααααΆαααααααΆαααΆαααΆααααα" α ααΆαααα·ααΆαααΆ "Ack 2, SACK 4" α
αα
αααααα α’αααααααΎαααααααΆααααα αΆ ααααΎαααααααααΌααααα
ααααααααΆααααααΆαααΆαααααα
ααα»ααααααααα·αααΎαααα
ααα
α»αααααααα
αααα»ααααα’α½α
ααααΌαααΆαααΆααααααααααααΆαααΆαααΉαααΎααα
αα»αααααΆααΆαααααα»αα
α’αααααα½αααα½αααΆααααα
ααααΈααααΌα α αΎαααΆααααΌαααααΆαααΆααα’ααα
αΆααααααΎααααα
αΆαα ααΌαα’ααα»αα
ααααααΆααααααΎαααααα·αααααΆααα½αα
ααα½ααα
αααα»α TCP stack αααα Linux ααΊααα ααΆααΉααααα
αΆααααα
ααααααααΆααααααΆαααααΌαααα αα»αααααΆαααααααΆαα·αααα αΆααααΆαα
αααΆααααΆααΆααΆαααα
ααα
α»αααααα α¬α’αααΈαα½ααααααααααααααΆα ααΆααΉααααα
αΆααα αΌααααααΆααααααΆαααα ACK αα»αααααα α αΎααααααΆααααααααΎααΆαααα½αααααΆααααΎαααα
ααααΈααααΌαα ααα»ααααα₯α‘αΌααααα’αααααααΎααΉααααα
αΆαα ααΆααβαα·αβααΉαβααΆβααΎβαααα
ααβααΈβαα½αβααΆαβααΆααβα¬βααβαα·αβααβαααα α αΎαααΎααααΈαα»αα±αααααα»αααΎααααααΆα ααΆααΉαααααΆααΆααααα
αΆαααΆαα
ααα’α»ααααα αΆαα
αααΆααααΆααααΆαααα
ααααααααΆαααααΌαααΆαααΆααααα α¬αααααΆαααααααααΆ RTO αα»ααααααα
ααΎα’ααααα RTO ααΆα’αααΈ? αααααΊααΆα
ααα½αα’αα·ααααΆαα RTT αααααααΆααα TCP stack αα·αααααα½αα
ααα½αα ααΎβααααααβαααβααΊβααΆβαααβα’αααΈβααα α₯α‘αΌαβααΎαβααΉαβαα·ααΆααααΆα
ααα»ααααα’αααΈαααααααΆαααααααΊααΆααααα·αααΎααΎαααααΆααααααααα αΎααααα
ααααΈ 4 ααααΌαααΆαααΆααααααααααααααα RTO ααΎαα‘αΎαααααααα αααβααΊβααΆαβααα»ααααβαα·αβααΆαβααααααβααΈαα½ααβααΆαβαααβααΆβααΆαβα’ααβαααβααααβααα
α₯α‘αΌαααΎαααΎαααΆααΎααΌαααααΆααααααααΎααΉαα’αααΈα ααΆαααααΆαααΎα RTO α’αααααααΆααΊ 200 ms α αααααΊααΆ RTO α’αααααααΆαααααΆαααααα
αααα·ααααααα αααααΆαααααα
αα SYN ααΆαα»αααααΆ 1 αα·ααΆααΈα ααΌα
αααα’αααα’αΆα
ααΎα ααΌααααΈααααΆαααα»ααααααααΌαααΎααααΈααααΎαααα
ααααααααΆαα‘αΎααα·αααΉαα
αααΆαααα 100 ααααΌαααΆα RTT αα
ααΆααααα»αααααααααααα·ααααααα
α₯α‘αΌαααα α
αΌαααΎααααααααα
ααααΆααΈαααΌααααααΎαα ααΎααΆαα’αααΈααΎαα‘αΎαααΆαα½αααααΆαααα? ααααΆααααα
αΆααααααΎαααΆααααααααα
ααααααααΆαα α’αα»ααααΆαα±ααααααΆααααααΆαααααααααααααΆααα
αααααααΌα α αΎαααΆαααααα’αααΈαα½ααα
αααααΆααααα’α½α
αααααΆααααααΆααα½αααΆα SACK αα·αααααΎαααα
ααααααααΆααααααΆαααΆαααααα‘αΎααα·αα
ααα»ααααααααα·αααΎααααΆαα’αΆαααααααΎαα‘αΎαααααααα αααααΎαααΆα RTO α ααΎααΆαα’αααΈααααΆαααα
ααΈααα? ααΆα ααΎαααΆαααααΌαααΆα
αααΎααα
αααα»ααααααΆαααααααΎαα ααα»ααααα
ααΆα
ααα TCP ααααΆααααααΆαα TCP ααΆααααΆαααα½αααΉαααααααααααΆααααααααααΌα
ααΌα
ααααΆα ααΆαααΆααααααααα
ααααααααΆα αααααααΆ X11 αααααααααααααΎααα·αα
αααα
αααα
ααααααα½αα―α αα·αααΆαα±ααα
ααΆα
αα αΌαα
αΌααα
αααα»ααααααααααα·αααΆααααα αΆαααααα ααΎααααα»αααααΆααΆαα
ααα
αΆααααα
ααααααααΆαααΆααααααααααααΌα
ααΌα
ααααΆα αααααΆααα
ααααΆααααΆαααααΆαααααΎααα ααααααααααα·ααααααααΊααΆαααα»ααααααααα·ααΈα’αααααααα α αΎαααΆαααααΆαα TCP αα½αα
ααα½ααααααααα·ααΈααΆααα’αααααα
αΆααααααΎαα
α»αααααα αααααΆαααααα superspine αααααΆααααααααααα·ααΈααΆααα’αααααααΆααα
αααα»αααααααααααα·ααααααα ααΌα
βααΆαααβαααβααΆ ααΎβα’αααβαα·αβαα·αβααα αααβαα
βααΆβαααα·αα αααααΆααα
αααα·α - αααΆαααΆααααα·αααααΌαααΆααααααα±αα; αααΆαααΆααααα·αααααΌαααΆααααααα±αααα - ααΎαααΆαα
αΆαααααααααΆαα ααΆααααα
ααΈαααααα»ααααα ααΆαααΆααααΊαα·αααΆαα·ααΆααΈα
αΆααααΈαααααααααα αΆααΎαα‘αΎααα αΌααααααααΆααααΆαααααΆααα·α
αα·ααααααααΆααααα
αΆααααααΎαααΆαα’αΆααααααα αααααΆααααααΆ α’αααααααΎααααΆααα’αΆα
ααΉαααΆαααααα’αααΈαα½ααα
ααααααααΆαα½αα
ααΆααααααααααΆααα»ααΆαααΈαααααααααααααΆαα
αα·ααα
ααα ααΈαα½αααΊααααΆααααααααααα»αααααΆααΆαααΆααα
αααΎαα
αΌα αα·ααααααααΆααααα αΆααΌα
αααα "ααααααααα½αα’αααΈαα½ααα
αααα»αααα TCP α α
αΌαααααΎααΆαα’ααααααα
ααααα·ααααααα·ααΈ α¬αααα TCP αααααΆαααααααααΌαααΆαα½αααΉαααΆααααα½ααα·αα·ααααα»αααΆαααΆααααα»αα" αααα αΆααΊααΆαααααααααΆααααααα: α) αα·αααααΎααΆαααααααΆαααΆααααααα; α) ααααΌαααΆααααα½ααα·αα·ααααααΆαααααΆαα αααααΊ αααααΈααΆααααΆααααααααααα
ααΆαααααααα TCP stack αααα
αααααααΆααααααααααααΎα±ααααΆαααααΎαααΆααα»αααααα ααΈαα½αααΆαα·αααααα’αΆα
α’αα»ααααααΆααααααΆαααααααα·ααΈααΆααα’αα αα·αααααααααααα·ααααααααΆααα’αα α αΎαααΈααΈα ααΆαα
αααΎαααααααΆααΆαα·ααααααΆααΆααααΌαααΆαααααΎαα½α
αααααα ααααΉαααααΌα α αΎαα’αααΈααααα·ααααα αααβααΊβααΆβααααΎαααΆα ααα»ααααβααΆβααααΎαααΆαβαα·αααα’ α αΎαβαα·αβααααΎβααΆαααααααΆαα α αΎαβααΎβααΆαβαααα αΆβαααααΆαβααΎβα’αααβααΆβααααΌαβαααααα? ααΆααΆααα·αααΆαα NOC α ααΎ NOC ααααΎα’αααΈ?
ααααΆααααααΆα
αααΎαααΏααΆαα
αααα»αααΆαααΆα NOC ααΎαα‘αΎαααΌα
αααα ααα»ααααβαα·ααΆαβα²ααβαααααβαα
αα·αβααααΉαβααβααα»ααααΉαβααα
NOC αα
αααα»ααααααααΆααααα»ααΆαααααΌαααΆαα
αΌααα½ααα
αααα»αααΆαα’αα·αααααααααααααααα½ααα·αα·αααααΆα
αααΎαα ααΆαααααααΊααΆααΆααααα½ααα·αα·ααααααα’αααααα
αα·ααααα’αααα α’αααΈα§ααΆα αααααααΆααααα½ααα·αα·αααααα’αΉααααααααα’αααααα
ααΎα’ααααα·αααΆα
ααααα½αααΆαα’αααΈ? ααΎαααΆααα·ααΈααΆα
αααΎαα α αΎααααα αΆααΎαα‘αΎααααΆαααΆααααΆαααααααΆαααααα αΌα TCP ααααα·αααΆαααααΆαααααααααΎααααΌαααααα ααΎαααααΌαααΆαα’αααΈαα½ααααααΉαα’αα»ααααΆαα±ααααΎαααααΎααααΌαα
αααΎααααα»αααΆααααααΆαα TCP αααα½αα ααΆα αΆααααΌα
ααΆααΎαααΆααααααααααΆαα ααΆα TCP αααααααΌαααΆαααα α
ααΆ multipath TCP αααααΊ TCP αααααΆααααααΌαα
αααΎαα αα·α ααΆααααΌαααΆααααααΎαα‘αΎααααααΆααααΆααα·α
αα
αα»αααααΆααΆαααααα»α - αααααΆααααααΆαα αααΌααααααΆαα§ααααααααααΆαααΆα
αααΎαα ααΎααααΈαααααΎαααΆαααααα α¬αααααΎαααααααααα/ααααα»ααα»α ααααααΆααα½αααααΌαααΆααααααΎαα‘αΎαααααααααΎααααααααα‘αΆαααΆα
αααΎα (αααα) αααααααααααααΆααΆαα
αααααααααα·ααΈ αα·αα’αα»ααααΆαα±ααα’αααααααΌααααΆααα½αααΆαααα»αααααΈααΆαααΆααααΆαααα α¬ααΌα
ααααααα»αααΆααα·ααΆα αααααΎαααααα·αα’αα·ααααΆα
ααα»ααααααΆαα
ααα»α
αα·ααααα½ααα
ααΈαααα ααΎααααΈαααααΆααΆααΆα’αααΈ ααΎαααΉαααααΌαααΎαααΈααααααααααααααα‘αΆαααααΌαααΆααααααΎαα‘αΎαα
αααααααα‘αΆαααααΌαααΆαααα‘αΎαααΆαααααΆαααααααα ααααααΈαα½αααααΌαααΆαααα‘αΎαααΆαα»αα αααααΆααβααβααααβαααα‘αΆαβαααααΆααβααααΌαβααΆαβαααααβαααβααααΎβααΌααΈβαααβααΆαβαααβααααβαα½α
βα αΎαβαααα»αβααααβαααα‘αΆαβαααα α αΎααααααΊααΆαααα αΆα
αααα αΆααΊααΆααααα·αααΎαααααααα‘αΆαααΈαα½ααα·ααααααΎαααααααα½αα―ααααααααααΈααΈααα·αααΈααΈααΉααα·αααΎαα‘αΎαααα αααααΊ multipath TCP αα·ααααααααΆαααΆαααΆααααααααα
ααααααααΆα SYN αα
αααα»αααα αΌαααααΌαααα α αΎαααααα·αααΎ SYN ααααΌαααΆαααΆαααααααα multipath TCP αααααα
ααΆ TCP ααααααΆα αααααΆααααααΆαα
αααα»αααα·ααΆααΆαααααααααααα·ααααααααΆααΉααα·ααα½αααΎααααααααΆααααα αΆααΆαααΆαααααα
αααα»ααααα
ααα αα·ααααααααΎααααΌαα
αααΎααααα»αααααΈααΆαααΆααααΆααααααααα
ααΎβα’αααΈβα’αΆα
βαα½αβααΎα? α’αααβααααβααΆαβααΆαβαα½α
βα αΎαβααΈβα
αααβααΎαβααΆ ααΆαβααααΆααβαα½αβαα
βαααα»αβααΏαβααααααβαααβααααβααΎαβααΉαβααΆβααΆαβααααΆαβααααΆαβααα αΌα IPv6α ααΆααΆααα·ααααααΊααΆααΆααααααα
α‘αΎααα
αααα»α v6 ααΆαα·αααααα
αααα»α v4 ααααΆααΆααααΆαα 20 αααΈαα αΎαααΆααΆαααΆαα
ααααΌαα
ααααΆαααΎααΆαααααΎααααΆααααααααΆααΆααΌαααα αΎαα ααααα½αα±ααα
αΆααα’αΆααααααααΆαα - ααΆαααααααα’αααΈαα½αααααΌαααΆααα½ααα»ααα
αααα»α RFC α αΎααα
αααααΆαα½αααααΆαααααΆαα’αα»ααααααΆαααα
α‘αΎααα
αααα»αααΊαααααΈαα»α
ααααα·αααααΌαααΆαα
αααααααΆα―αααΆααααααααΈααααααα
αααα»αααΌαα’ααααΎαα’αααα±αααα
ααΆαα½ααααα»αααΎααΆααααΎαα’ααααααα·α
αα½α
α ααΌααααα‘ααααΎαα’αααΈααααααα»αααΎαα‘αΎααα
αααα»αααΊαααααΈαα»α
αααα»αααααααααα»ααααΆαααααΆαααααααααααα
ααααΆα 2014 α αα·αααααααααΈαααα»αα αα»ααααα½α αα·ααα½αα±ααααααααααααααΎαα»αααΆαααααααΊαααααΈαα»α
ααΌαααΆαα’αΆααααααααααααααααΆαααα αΌααα
ααΎααααααααα ααΎαα½αααααααΆααΆααα½ααα»αα’αααΈαα
ααΈααα? αααααΊααΆαααααα
ααΉα RFC 6438 αααααΆααα·ααΆααααΆα’αααΈαααα αΆααΆααααααα αα
ααΆααααα»αααααααααααα·αααααα IPv4 ααΆααΏααααααΌαααΆααα»αααααααααα»ααααα
αα IPv6 ααΈααααααααα
ααααααα½αααΆααΊ IPv6 ααα»αααα IPv4 ααααΌααααααααα±αααα
ααΆααααα
α α’ααααααααααΆααΌαααΆααααα αΆααΆαα½ααα»αααΆααααααα·αα’αΆα
ααΎααααααααααααΆ IP ααΈαααΎααααΈα
αΌααα
ααΆαα TCP α¬ UDP αα·αααααααα src_ports, dst_ports αα
ααΈαααα ααΆααΆαααααααααΆαααΆ hash ααααα·αααΎα’ααααααα‘ααααΎαααααααΆ IP ααΈαααααΌαααΆααααααα
ααΆααααΎαααααααΌαααΆααα½ααα»αα ααΎααααΈαααααΆααααα αΆααα ααΎααααΈα±αααα»αααααΆαααα
ααΆα
αααααα»αααααααααααααΎαααΆαααΆαααααΉαααααΌα ααΆααααΌαααΆαααααΎα±αααααααααααααΆαααααα
ααααααααΆαααααα·αααΆαα 5-tuple αα
αααααααααΆαααααΆαααα αΌαα αααα ααααΆααΏαααΌα
ααααΆαααααααΌαααΆαααααΎαααααΆαααααααααΆαααααΆαααα
ααα
αααααααααααααααΆαα UDP αααααΆαα GRE ααααααααααααΆαααααΎααΆα GRE Key α αα·ααΈαα½α α¬αααααααΆααααααααα ααααα
αα
ααΈαααααΊα
αααΆααα α αΎααααΆαα αα
ααΆαααα
α
ααα»α
ααααα
αααα»ααααααααα½αααααΆαααααααααα
αα
ααααΆα 2015 ααααααααΈαα½αααΆαααααΈαα·ααααααααααΆαααΆαααααααΌα
ααααΆα ααΆαααα½αα±ααα
αΆααα’αΆααααααααΆααα ααΆαα·ααΆαααΌα
ααΆαααααα - ααΎαααΉαα
ααααα hash αααα»αααααΈααΆαααααΉαααα·ααΆαααααΆαααααΌαα’αα·αααααΆαα ααΎβα’αααΈβαα
βααΆβααααΉαααα·ααΆαααβααΆαααααΌαβα’αα·αααααΆα? αααααΊααΆ RTO αααααΎαααΆααα·ααΆααααΆααΈαα»α αααααΊααΆαααΆαααααααααα»ααααααα’α½α
ααΊααΆααααΉαααα·ααΆαααααααα·αααΆα’αα·αααααΆαα αα·αβααα ααΆβαα·ααΆαβααααΆαβααΆααβααΆβαααβααΆβααΆβα
2016 αααααΆαααα»αα αα»αααααΈααααααα½αααααααααααα ααΆαα»αααΎααΎα
ααααα
α»αααααα αα·αααααΎα±ααααΆααΌα
ααααααΆ hash αααααΈαα»αααΎαααααΎαααα
ααααα α₯α‘αΌααααααααΆααααααΌααααααΆααααΆααααααΌααααα SYN ααΈαα½αα αα·ααααααΆααααΈα’ααααα RTO ααΈαα½ααα α αΎααα
αααα»ααααα»αααααα ααΆααΎαααααΌα αα·αα
α»αααααα ααααα
α
α»ααααααααΊααααΌαααΆαα
αα - ααΎααααΈααΆααΆααΆα
ααΆα
ααααααα»αααααΈααΆαααΆαααΆαααα α¬ααΆαααααααααΆααα ααΆααααααααΆαααααΎααααΌαα‘αΎααα·αααααααααααα αα·αααααΎααααΆααααααΌαα
αααΎαα ααΆααΆααα·αααΆαααααααΆααααΈαααααΆαααΆαααααα»αααααααΆαααΆα
αααΎαα’αααα’αΆα
αααααααααΆααΆααααΆαααΆααααα½αα
αααααΈααΆαα α’ααααα·αα’αΆα
αα ααααααα·αααΆααααΆαααΆαααααα»αααααααΆααααα½αααΎαααααΆααααααααα ααα»ααααααΎαααΉα!
α αΎαααααα·αααΎα’ααααα·ααααα
αααΆααααΈα’αααΈαααααΆαααααΎ αααα»αααΉαααααΆααα’αααα₯α‘αΌααααα
ααΎβααααΌαβααΆαβααααΎβα’αααΈβαααα αα»αααΆαβα’αααΈβααααΌαβααΆαβααααααβαα
βααΊαααβααΈαα»α
? ααααΉαααααΌαsh ααααΆααααααΌααα
ααΆαααααα
ααααααααααΆααααΈααααΉαααα·ααΆααα RTO ααΈαα½ααα αααααΊααΆααααααα’αα·αααααΆααααΆαααααΆααααααΆααααααΌαα αααααΆβα’αΆαααααβααΎβααΌαααβααα α αΎαβααααΆαβααα αΌαβα’αΆαααααβααΎβαααααΆ skb α ααΆαααΆαααααΆαα½αα
ααα½αααΎαα»αααΆααα
ααΈααα ααααααΆααααα’α·αααΆααα’αααα·αα’αΆα
ααΆαααα
ααΎααααΆααααα½αααΆαααα ααααα·αααΎα’αααααΆααααΆααα
ααααΉαα
ααααΎα α’αααα’αΆα
α
αΌααα
ααΎαααΌαααΊααα α αΎααα·αα·αααααΎαα
ααΎααΆαα’αααΈααααΆαααα
ααΈααα? αααααααααΆαααααΆαααα αΌαααααΆααααααΌααα
ααΆαααα
ααααααααααΆααααΈ RTO ααΈαα½ααα ααΎααΆαααααΆαααααααΆαααααΆα TCP α’αα»ααααααααΎααααΆαααΌα
ααααα
?
ααααα·αααΎ SACK ααΎαα‘αΎα ααααΆαα’αααΈααααΆααααααΌααα αααααΆαααΎααααα»αααααΆααΆαααααΎαααα
ααααααααΆααααααΆαααααααααααΆααα‘αΎααα·αα αααααααααααααα’ααΆααα
ααα»αααααα
αααα»αααααΈαα RTO ααΆααααααααΆααΎαααΆαααααααααααΆαααα αΌααα
αα»αααΆα hash αα
ααΎ ToR α
ααΆα
αααα’αΆα
ααααΎααααΌααααααα α αΎαααααΌαααΆααααα
αααΎα α±ααΆαααΆααααα
αααΎααααααΆααΉαααααΎαααααΌαααααα·αααααΌαααΆααααααΆαααααααΆααααΆααααα
ααΎα§αααααααΆααααΆαααα½αα
αααα αΆαα½ααα
ααααΆα - RTO α ααΆβααΆαβαα·αβααΆαα ααΆαβααααΌαβαα½αβααα ααα»ααααβαααβααααΆβα
αααΎαβααααΌαβααααααααΆαβααΎβααααΌαβαααα 200 ms ααΊα
αααΎαααΆααα αα½ααα·ααΆααΈααΊαα·αααΆααααα ααΈαα»ααααα»αααΆααα·ααΆαα’αααΈααΆαα’ααααααααααααΆααααααααΌαααΆαααααααα
ααΆααααααααα ααΌα
αααα αα·ααΆααΈααΊααΆααΆαα’ααααα αααααΆααααααΆααααΌαααΆαααααααα
ααΆαααααααααααααααΆαααααα
ααααα·ααααααα·ααΈ α αΎααα
αααα»αααααΆαααααααααααΉαααααΉαααααΌααααααα ααΎαααΈααααα
ααα αααα»ααα·ααΆααααααααααΆ RTT αα·αααααΆαααα
αααα»αααααααααααα·ααααααααααΎαααΊαααα αα 1 αα·ααααΈαα·ααΆααΈα
ααΎα’αααα’αΆα
ααααΎα’αααΈααΆαααΆαα½αααΉαααΆαα’ααααα RTO? ααΆαα’ααααααααααα½ααα»αααααΌαα
αααα RTO αααα»αααααΈααΆααααααααα
αααα·ααααααα’αΆα
ααααΌαααΆαααααααα
ααΆαααααααααααΆαααΆααααα½αααΈααα αα’αααααααΎααααΆααα ααΆαα§αααααααααΎααααΆαα IP α αΎααααΆαααΆαααααααα½ααααα»αα
αααααααΆαααΆααααααααααααΆααΆα rto_min ααΌα
ααααΆα ααααα·α
αΆαααΆααΆ RTO αα·αααΆααα
αΆαααΆα
αααααΌααααααααΌααα·ααααααααα ααα»αααααααααΆαααα»ααααααααααΆααααααα±αα ααααααΆαααααααααΎααα
α’αΆα
ααααΎαααΆαααΆαα
αα·ααααααΆαα½α SYN_RTO α’αααΈαααΊα’αΆαααααααΆααααααααα·α
α ααΆααααΌαααΆααα·ααααααααααΆαα·α ααΊαααααΆααααααααα 1 αα·ααΆααΈ α αΎααααα αΎαααΆααΆα α’ααααα·αα’αΆα
αα
αααααΈαααααΈαααααααααααααααα’αααααααΎααααΆααααΆαααα ααΆαααααΌααααα½ααααα
eBPF αααα½αααααααααα ααΎααααΈαα·ααΆαα±ααααΆαααα ααΆαααααααΊααΆαααααα·ααΈ C ααΌα
αα αα½αααΆα’αΆα
ααααΌαααΆααααα
αΌααα
αααα»αααααααα
ααααααααααααααααΆαααα»αααΆαααααα·ααααα·αααααααΊααα αα·αααα TCP αααα’αααα’αΆα
ααααΆααααααΌαααΆαααααααα½αα
ααα½αααα ααΆααΌαα
eBPF ααΊααΆαα·ααααΆααΆααααααααααα αααα½αα±ααααΆαααΆαααααΆαααΆαααααα sysctl ααααΈααΆαααα·α αα·ααααααΈαα§αααααααααΎααααΆαα IP α
αααΆαααα»αααααααα
αα eBPF αα·ααααααΈααα»αααΆαααααααΆα αααααααΎ eBPF α’αααα’αΆα
ααααΆααααααΌαααΆααααααααααααΆααααααα αα·αααΆαααααα TCP αααααααααΆααααααα
ααα»ααααααΆααΆαααΆααααααΆαααααααΆααααΎααααααΆα’αΆα
ααααΌαααΆαααααΎααΎααααΈααααΆααααααΌαααααα SYN_RTO α ααΎαβααΈβαααβαα
βααα ααΆαβα§ααΆα αααβαααβααΆαβαααα ααβααΆβααΆααΆαααα
ααΎααΎαααΉαα’αααΈααααα αΎα? ααΆααα·ααααααΆααααΆααααααααααααα ααα’αα»ααααΆαα±ααααααΎααΆαααααααΆα ααΆααααααΆααΆαααααααααααααΆααααΆαααααααΆααααΎααα
ααααααααΎαααΎαααααΆαααα αΌααα
ααΎ ToR αα·αααα½αααΆααααααααΆααααα»αααΆαα αΌααα»ααα·αααααααααααΆααααα αΆα αααααααΆαααααα’αααα»αααΎααααΈααΆαααααααααααα RTO αα·α SYN-RTO ααΊααααΌαααααΎαααααα·ααΈ eBPF α αααα½ααα
ααααΆαα ααΎααΆααΆααα»ααααα·ααΆααααα»αααΆαααααΎααααΆαααα αΌααααααΆαααα»αααααΆααααα¬αα? α αΎααα
ααΈαααααΆα nuance αα½αα
α§αααΆααΆα’αααααΆαααααΆαααααα
ααΎαααααΆαααααα’ααααααααααα
αααα»ααααααα·ααΈααΆαα½αα ααΆα’αα»αα αααα»ααα·αααΆααααααααΆααΎααααΈα
αΌααα
αααα’α·αα’αααΈα’αααΈαααααΆ anycast ααααα ααα»ααααααΆααΊααΆααααΆααααα
ααα
αΆααααααΆααααΆαααΈααααααααααααΆαααα’αΆα
α
αΌαααααΎααΆαααΆααααα’αΆααααααΆα IP ααΌα
ααααΆα α αΎααααααΊααΆαααα αΆαααα’αΆα
ααΎαααΆα: ααααΉαααα·ααΆααα RTO α’αΆα
ααΎαα‘αΎααα·αααααΉααααα
ααααααα
ααΆα
αααααααααΆαααααααΆαααααααα ααΆααα’αΆα
ααΎαα‘αΎααα
ααααα·α ToR buffer αααααα αα
ααααααααααΉαααα·ααΆααα incast ααΎαα‘αΎα ααΆα’αΆα
ααΎαα‘αΎααα
ααΎ host αα
αααααα host spills α’αααΈαα½αα αα
ααααααααααΉαααα·ααΆααα RTO ααΎαα‘αΎα α αΎαααΆααααΆααααααΌαααααΆαααα αΌαα αααα»αααααΈααα α
ααΆα
αααα’αΆα
αα
ααΆααααΆαα»ααΆαα½ααααααααα α
αΌαααααααααΆαααααΆαααααα·ααΈααΆαα½ααααααΆαααααΆαααΆα ααΆααΆαααααΆαααΆααααααΆαα - ααΆα’αΆα
ααΆ L3 Balancer α¬ααααΆααααααααααααα αααααΆαααααααα αΆααΎαα‘αΎαααααααααααΆααααΈ RTO ααΆααααααΆαα TCP ααααααααΆαααΈαααααααα·αααΉαα’αααΈαααα’αααΈααΆααααααΆαα TCP αααα α αΎαααααα·αααΎααΎααα·αααΆαααΆαα
ααααααααααααααΆααααΆαααΈαααααΆαα½αααααα α
ααΆα
αααααααααααΉαααααΌαααΆααααααΆαα α αΎαααΆαααααΆαα TCP ααΉαααΌα
α
ααΎα’αααα’αΆα
ααααΎα’αααΈαα
ααΈααα? αα
αααα»αααα·ααΆααΆααααααΆααααααααααααααα’ααα αααα’αααααΎαααααΎαααΆααααα»αααααααΆαααα αΌα α’αααααααΌααααααααΆαααααααααααΆαααα αΌα αα
αααα
αΌαααααΎαααΆαααΈαααααΆαα½αα αααααααΆαααΆααααα½ααααα»αααΊααααΎααΌα
αααααΆαααααααααα·ααΈ eBPF ααΌα
ααααΆα ααα»αααααααααΊααΆα
ααα»α
ααααΆααααΆαα - α’αααΈαααααααΌαααααΎααααα·αααΎα’ααααα·αααααΎαααΆααααααΆαααααααααααα·ααααααααα»ααααααΆααααα·ααααα·ααααΌαααααΆαααα? αααααΊααΆαααα αΆααααα’ααααααααα α
αΆααααααΎαααΆαα½αααΉαααααααΆααααΆαααα Juniper αα·α Arista αα½ααααα½ααααα
αΌαααααΆαααα αΌααα
αααα»ααα»αααΆα hash αααααα½αααααΆαααααΆαααΎα - αα·ααΆααααααααααα
αααααΆααα ααα»ααααααα·αα
αααΆααααΆαααααααΆαααααα»αα αααα’αΆα
αααααΆαα±ααα’ααααααααΆααααΆαααααΆαα TCP ααΈα’αααααααΎααααΆαααααααααααΆαααααααΆαααααα’αααα ααΌα
αααααααα»αααΌααααααα’αα»ααΆαααα±αααα·αα·αααααΎαααΆαααααααααααααααααα’ααααα
ααΈαααα
αααααααΆααα½α α¬αααααααΆααααααααα ααΆα αΆααααΌα
ααΆαααα»αααΆ ααΎαααααααααα½ααα½α
ααΆααααα
ααΎααααΈαααααα
ααΆααα·αααααα
αα
ααααααααΎαααΎαααααΎαααΆαααααΆαααα αΌααα
ααΎ ToR ααΆααααα
αααααΆααααΆα eBPF αααα₯α‘αΌααααααααα
ααΎαααΆαααΈα ααΎαααΆααααααα
α
α·ααααα·ααααα
αΆαααΆααααΆααααααααααααΆαααααααααα ααα»ααααααΎααααΈααααΎααΆααααααα»αααααααααααααα ααΎαααΆααα ToR αααααΆααααααααΆααα‘αΎαα
ααα½ααα½α α αΎαααα‘αΎααααααααΉαααΎαα½ααααα»αα
αααααα½αααα αα½αααααΆαααΌαα
αααΆαααα½αα αΎααα·ααΆαααΆ - α₯α‘αΌααααα’ααααααα»αααΆααααααααα
ααααΆααα’ααα ααΌα
αααα’αααα’αΆα
ααΎααα
ααΆααααααααΎαααΆαααΆααααα½ααα·αα·ααααααα»ααα½ααααα
αααααααΆαααααΆααα
α»αααα 75% αααααΊ 25% αααααα
ααααααααΆαααααΌαααΆαααΆαααααα αα
ααΆαααααΆαααΊααΆααααΆα ααααααααΆαααααααααααα
ααΆαααααα ToR αααα ααααΆαα ααΆαααααααΊααΆααααΆα ααα
ααΆα
αααααα
ααα»α
αααααΆααααΆαα½ααααΆαααΈααααα
ααΆααααα»α rack α ααΌα
αααα’αααα’αΆα
ααΎααα½αααααΆααα·α
ααΆαααΆαα α ααα»α’αααΈααΆαααΆαα½αααααααΆααα
α»αααΆα - αα·αααα 25% ααα»αααααααα»αααααΈαααα 3-4 αα? ααααα·αααΎααΆαααααΆαα TCP ααααΆααα·αααα’ ααΆαα
ααααααααααΆααΆααα
αααααΆααααααααααααααααΌα
α αααααααΌαααΆαααααΎα±αααααααααααα‘αΎααααα₯αα·ααΆααααααααΆααααααΆαααααα
αααα»α DC - αααααΆααααααΎααααα’αααααααΎαα½α ααααΎ N α
ααααααααΆααααααΆααααα»αααααΌαααΆααααααΎα α αΎαααΆαααααΎαααααΉααα
αααα’αααααααΎααααΆαααα
ααααααααααααα·ααααααααΆααα’ααααααΎααα α¬αα
ααααααα’αααααααΎαα‘αΎααα
αααα»ααααααα·ααΈα ααααα·α ααααα
ααααααΌαααααααα
ααΆααααααααα αααααΊα’αααΈααααααααΆαααΊα’αΆαααααααααΆααααΆααα
α₯α‘αΌααααααΆααα·αααααααΌα
ααααΆ ααα»ααααααΆαα½αααΉααααααααααΆαααα αΌαααααΌαααΆαααΎαα ααΌα
αααα’αααα’αΆα
ααΎααα
ααΆααααααααΆααααα½ααα·αα·αααααΆααΆα
αααααααΎαααΆαααααΆααα
α»αααΌα
ααααΆ 25% α ααααα·αααΆααααΉαααααΌα αααααααΆαα·αααΉαα’αααΈααΆααα’ααα’αααΈααΆααααααΌαααΆαα‘αΎααα·α ααΆααααΎαααα
ααααααααΆα α αΎαααααΆααααααΆαααααΆααΆαααααα
ααα½ααααα
αααααααΆαα
ααα
αΆα αα·αααΆαααααα
α αΎααα ααΆαααααΆαααΊααΆααΆααα·ααΆαααααΆααααα α’αααααΉααα·αα’αΆα ααααΎαα₯αααα·αααααααααΆαααααααΆααααα αΆαα ααΈαααααα αααα»ααα·ααααΈαα·ααΆααΈααΌα ααααΆααα α ααΆα αααααΆαα αΌαα ααααΈααααααααα αΆαα ααΆαααααααΆαααααΆααααααα ααααααα ααα½αααΈ ααααα·αααααΌαααΆααααααΆααααααααα αΆαααα ααΎαααα½αααΆααααααΆααααααααΆααΆααααα½αα―αα
αααααΆααααΆαα
α»αααααααααααααα»α αααααααααααααΌαααααααα α₯α‘αΌαααα αααα»ααααααΉαααΆα’αααααΉαααΈαααααααααΎααααααΆαααααααααααα·ααααααααααΆααΆαααααααα½αα―αα α’αααααΉααα·αα
αΆαααΆα
αααααααΆααααααααΆαααΊαααααΈαα»α
α αΎαααααΎααααααα·ααααα
ααΈααααα α’αααααΉαααΆααααΆα Flow αααα»αααααΈααααααααααΆααααα αΆ ααα»ααααα’αααααααΌαα
αΌααα
αα·αααααααΆααααααααααα»αααααααααα α αΎααααα»ααααααΆαααααααααααΆ ααααα·αααΎα’αααααΆααααα·ααααα·ααααΌαααααΆαααα α’ααααα·ααα½αααααΎ Flow label ααΆαα»αααΆα hash αα ααΎαα·αααΌα
αααααα α’αααααΉαααααΆααααααααααααα’αααααααΎααααΆααα
αα·ααααααααααΆαααααΌαααααααααΆααααΆαααααΆααααααΌααααα·αα αααααΆαα αΆααααααΎααα·ααααααΆαα½α ToR αα·ααααααΆαα½αα§ααααααααααΆα ααα»ααααααΆαα½ααααΆαααΈαα α§ααΆα ααααααα½αα±ααα αΆααα’αΆαααααααα½αααΊαααααααααΎαααααΎ eBPF ααΆααααΈαααΎααααΈααααΆααααααΌα RTO αα·αααΎααααΈαα½ααα»αααααΆαααα αΌαααααααα ααααααΆααΆαα½αααΆαα
ααααααΆαααααΆαααα αΌαααΊαα·αααΆαααααααααααΆαααααααα·ααΈαααααααααα
αααα»ααααααααααααΆααααααΆααααααααααα αααα’αΆα
ααΆα
ααΆα
ααααααΆαααααααααααα·αααααα α¬α’αααα’αΆα
ααααΎααααΆαα·α
αααααααααα»ααα·ααΈαα·ααααα½αααΎααααΈαααααααααα
ααΆα
αααα
ααα ααα»αααααααα»αααΉαααααΆααα’αααα’αααΈααΏαααα αααα»ααααααΉαααΆααΎααααααα α’ααα»αα
αααΎααααααΆααααΆαααα
α·ααααα»αααΆααααααα’αααα
ααααα: www.habr.com