рдХрд▓рд╛рдХрд╛рд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдореВрдирдЧреЗрди + рдбреАрдкреАрдбреАрдХреЗ + рд▓реБрдЖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬреЗрдирд░реЗрд╢рдирд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ DDoS рд╣рдорд▓реЛрдВ рдХреЗ рдирд┐рд╖реНрдкреНрд░рднрд╛рд╡реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдг рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдХрд░реАрдм рдХреГрддреНрд░рд┐рдо рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЧрд╣рди рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХрд░рдг рд╣рдорд▓реЛрдВред рдРрд╕реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо Qrator Labs рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдХреБрдЫ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬрдирд░реЗрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реЗрдВрдЧреЗред
рдЪреЗрддрд╛рд╡рдиреАрд╣рдо рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдардХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВред DoS рд╣рдорд▓реЛрдВ рдХрд╛ рд╕рдВрдЧрдарди рдХрд╛рдиреВрди рджреНрд╡рд╛рд░рд╛ рджрдВрдбрдиреАрдп рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЧрдВрднреАрд░ рджрдВрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред Qrator Labs рдПрдХ рдкреГрдердХ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЖрдпреЛрдЬрд┐рдд рдХрд░рддреА рд╣реИред
рдЖрдзреБрдирд┐рдХ рддрдХрдиреАрдХреА рд╕реНрддрд░
рд╣рдорд╛рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдЫреЛрдЯреЗ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде 10G рдИрдерд░рдиреЗрдЯ-рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ 14.88 Mpps (рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкреИрдХреЗрдЯ рдХреЗ рд▓рд╛рдЦреЛрдВ) рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдИрдерд░рдиреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ - 64 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ - рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рд╣рд┐рдд рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рд╕рдордп рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдкреИрдХреЗрдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧрдгрдирд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 67 рдиреИрдиреЛрд╕реЗрдХрдВрдб рд╣реИрдВред
рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдордп рдПрдХ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкрд╛рд╕ рд╣реИ рдЬреЛ рдХреИрд╢ рд╕реЗ рдЪреВрдХрдиреЗ рдкрд░ рдореЗрдореЛрд░реА рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм рд╣рдо 40G рдФрд░ 100G рдИрдерд░рдиреЗрдЯ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рдФрд░ рднреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЗрди рд░реЗрдЯ (рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╛рд╡рд┐рдд рдШреЛрд╖рд┐рдд рдкреНрд░рджрд░реНрд╢рди) рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреГрдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ (рдпреВрдЬрд░реНрд╕рд╕реНрдкреЗрд╕) рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рддреЛ рдХрд░реНрдиреЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЕрдВрдд рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ (рдПрдирдЖрдИрд╕реА) рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдкрд╣рд▓рд╛ рдФрд░ рд╕рдмрд╕реЗ рд╕реАрдзрд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдзреЗ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреИрдХреЗрдЯ рдЬрдирд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рдорд╛рдгреБ рдореЙрдбреНрдпреВрд▓
pktgen [2] рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд▓рдЪреАрд▓реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рд╕реЗ рдПрдХ рд▓рдВрдмрд╛ рдмрд┐рд▓реНрдб рдЪрдХреНрд░, рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд░рд┐рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг, рдЬреЛ рд╕рдордЧреНрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдкреНрд░рдпрд╛рд╕)ред
рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдореЛрд░реА рдмрдлрд╝рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рд╕реЗ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдкрде рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдиреБрдХрд╕рд╛рди рдореЗрдВ рдЙрдЪреНрдЪ рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдХрдо рд▓рдЪреАрд▓рд╛рдкрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ
рдиреЗрдЯрдореИрдк ,
PF_RING, рдФрд░
DPDK [4]ред
рдПрдХ рдФрд░ рдкреНрд░рднрд╛рд╡реА, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рддрд░реАрдХрд╛ рд╣реИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЙрджрд╛рд╣рд░рдг:
Ixia ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП DPDK рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рднреА рд╣реИрдВ, рдЬреЛ рдЬрдирд░реЗрдЯрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди рдкреИрдХреЗрдЬ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рд╣рдо рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ - рдореВрдирдЧреЗрдиред
рдореВрдирдЬреЗрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
MoonGen рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП DPDK рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╣реИ;
- рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд╕рд░рд▓ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реБрдЖ [ 5 ] рд╕реНрдЯреИрдХ рдФрд░ рдиреАрдЪреЗ рд╕реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ DPDK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ;
- рдЬреЗрдЖрдИрдЯреА (рд╕рд┐рд░реНрдл рд╕рдордп рдореЗрдВ) рддрдХрдиреАрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реВрдЖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рдЖрдорддреМрд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
MoonGen рдХреЛ DPDK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ Lua рдЖрд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Lua рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрддрд░ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдирд┐рдореНрди DPDK рд╕рдВрдЪрд╛рд▓рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:
- рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛;
- рдЖрд╡рдВрдЯрди рдФрд░ рдкреВрд▓ рдФрд░ рдореЗрдореЛрд░реА рдмрдлрд╝рд░реНрд╕ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ, рдЬреЛ рдЕрдиреБрдХреВрд▓рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рд░рдВрддрд░ рд╕рдВрд░реЗрдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП;
- рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдЖрд░рдПрд╕рдПрд╕-рдХрддрд╛рд░реЛрдВ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ;
- рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ, рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ (рдПрдирдпреВрдПрдордП рдФрд░ рд╕реАрдкреАрдпреВ рдЖрддреНрдореАрдпрддрд╛) рдХреА рд╡рд┐рд╖рдорддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП [ 12 ]ред

MoonGen рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдпреЛрдЬрдирд╛ [
1 ]ред
MoonGen
MoonGen DPDK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣рд╛рдИ-рд╕реНрдкреАрдб рдкреИрдХреЗрдЯ рдЬрдирд░реЗрдЯрд░ рд╣реИред Lua рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрдорд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддреА рд╣реИред рдмрд╣реБрдд рддреЗрдЬ LuaJIT рдФрд░ DPDK рдкреИрдХреЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдкрдХреЛ рд╕реАрдкреАрдпреВ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 64-рдмрд╛рдЗрдЯ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде 10-рдЧреАрдЧрд╛рдмрд┐рдЯ рдИрдерд░рдиреЗрдЯ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореВрдирдЧреИрди рдЖрдкрдХреЛ рдЗрд╕ рдЧрддрд┐ рдХреЛ рддрдм рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм Lua рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдПрдХ рд╣реА рдмрдлрд░ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬреИрд╕реА рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореВрдирдЧреЗрди рдХреЛ рдкреИрдХреЗрдЯ рднреА рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдЬрд╛рдВрдЪ рдХреЗ рддрд╣рдд рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЯ рдЧрд┐рд░рд╛рдП рдЧрдП рдереЗред рдЪреВрдВрдХрд┐ рдкреИрдХреЗрдЯ рд░рд┐рд╕реЗрдкреНрд╢рди рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдХрд╕реНрдЯрдо рд▓реБрдЖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрдирдЧреЗрди рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рддрдерд╛рдХрдерд┐рдд рдордзреНрдп рдмрдХреНрд╕реЗ (рдпрд╛рддрд╛рдпрд╛рдд рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд┐рдВрджреБ рдХреЗ рдмреАрдЪ рдЙрдкрдХрд░рдг) рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╛рдпрд░рд╡реЙрд▓ред рдореВрдирдЧреЗрди рдЪрд╛рд░ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ:
- рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдорд▓реНрдЯреА-рдХреЛрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ: рдПрдХ рд╕реАрдкреАрдпреВ рдХреЛрд░ рдкрд░ 20 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдХреЗрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб;
- рд▓рдЪреАрд▓рд╛рдкрди: рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрдорд┐рдд рд▓реБрдЖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ;
- рд╕рдЯреАрдХ рд╕рдордп рдЯрд┐рдХрдЯреЛрдВ: рд╕рд╛рдзрд╛рд░рдг (рдХрдореЛрдбрд┐рдЯреА) рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░, рд╕рдордп рдЕрдВрдХрди рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рднреЗрдЬреЗ рдЧрдП рдкреИрдХреЗрдЯ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг: рд╕рд╛рдзрд╛рд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдЯрд░реНрди рдФрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреАрдврд╝реАред
DPDK
DPDK рдХрд╛ рдорддрд▓рдм рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕реЗрдВрдЯреНрд░рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд┐рдзрддрд╛ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯреНрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣реИред
рдПрдХ рдРрд╕реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╣рд╛рдВ рдХрдВрдкреНрдпреВрдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдорд╛рдирд╡ рд╕рдВрдЪрд╛рд░ рдХреА рдиреАрдВрд╡ рдмрди рд░рд╣реЗ рд╣реИрдВ, рдкреНрд░рджрд░реНрд╢рди, рдмреИрдВрдбрд╡рд┐рдбреНрде, рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдХреЗрдмрд▓ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрд░рд╛рдореАрдЯрд░ рдмрди рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрдирдХреЗ рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд░рд╛рдЙрдЯрд░, рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░, рдлрд╛рдпрд░рд╡реЙрд▓; рд╕рд╛рде рд╣реА рдЖрд╡реЗрджрди рдХреЗ рдХреНрд╖реЗрддреНрд░: рдореАрдбрд┐рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ (рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ), рд╡реАрдУрдЖрдИрдкреА, рдЖрджрд┐ред
DPDK рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд▓реНрдХрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЕрдХреНрд╕рд░ рдирд┐рд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕реНрдЯреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдбреАрдкреАрдбреАрдХреЗ рдореЙрдбрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред
рд▓реБрдЖ
рд▓реБрдЖ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рдмрдЬрд╛рдп, рд╕рд░рд▓ рдФрд░ рд▓рдЪреАрд▓реА рдЕрднрд┐рд╡реНрдпрдВрдЬрдХ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рд╣реИрдВред рдирддреАрдЬрддрди, рдЖрдзрд╛рд░ рднрд╛рд╖рд╛ рдмрд╣реБрдд рд╣рд▓реНрдХреА рд╣реИ - рдкреВрд░рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕рдВрдХрд▓рд┐рдд рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓
180 kB рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрднрд╡ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП adaptsред
рд▓реБрдЖ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рд╣реИред рдпрд╣ рдЗрддрдирд╛ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Lua рдЫреЛрдЯреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдмреВрд▓рд┐рдпрди рдорд╛рди, рд╕рдВрдЦреНрдпрд╛ (рдбрдмрд▓ рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ), рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд░рдгрд┐рдпрд╛рдБ, рд╕реЗрдЯ, рдФрд░ рд╕реВрдЪрд┐рдпрд╛рдБ, рд▓реБрдЖ рдореЗрдВ рдПрдХ рд╣реА рдирд┐рд░реНрдорд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ - рдПрдХ рддрд╛рд▓рд┐рдХрд╛, рдЬреЛ рдПрдХ рд╡рд┐рд╖рдо рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА рд╣реИред
Lua JIT (рд╕рд┐рд░реНрдл рд╕рдордп рдореЗрдВ) рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдпрд╣ C [
10 ] рдЬреИрд╕реА рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рддреБрд▓рдиреАрдп рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдореВрдВрдЧ рдХреНрдпреЛрдВ
рдПрдХ рдХрдВрдкрдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ DDoS рд╣рдорд▓реЛрдВ рдХреЛ рдмреЗрдЕрд╕рд░ рдХрд░рдиреЗ рдореЗрдВ рдорд╛рд╣рд┐рд░ рд╣реИ, Qrator Labs рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ, рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╛рдж рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣рдорд▓реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, OSI рдореЙрдбрд▓ рдХреЗ 2-3 рд╕реНрддрд░реЛрдВ рдкрд░ рдПрдХ рдЦрддрд░рдирд╛рдХ, рдлрд┐рд░ рднреА рд╕реАрдзрд╛, рдмрд╛рдврд╝ рдХреЗ рд╣рдорд▓реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЯ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдХрд╛рд░рдгред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдбреАрдбреАрдУрдПрд╕ рдХреА рдирд┐рд░рдВрддрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдиреНрдпреВрдЯреНрд░рд▓рд╛рдЗрдЬреЗрд╢рди рдореЗрдВ рд▓рдЧреА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреГрдердХ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди DoS рд╣рдорд▓реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдпрд╣ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдг рдЬреЛ рдХрдВрдкрдиреА рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдореВрдирдЧреЗрди рдиреНрдпреВрдирддрдо рд╕реАрдкреАрдпреВ рдХреЛрд░ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдХреЗ рдХрд░реАрдм рдЯреНрд░реИрдлрд╝рд┐рдХ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рдЙрдЪреНрдЪ рдЧрддрд┐ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпреВрдЬрд╝рд░рд╕реНрдкреЗрд╕ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░рд╢реНрди (рдореВрдирдЧреЗрди + рдбреАрдкреАрдбреАрдХреЗ) рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╢реБрджреНрдз DPDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рд╣рдорд╛рд░реА рдЗрдЪреНрдЫрд╛ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдореВрдирдЧреИрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХреНрд▓реЛрди [
7 ] рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХрддрдо рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд▓реБрдЖ рд▓рд┐рдкрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореВрдирдЬреЗрди рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдкреИрдХреЗрдЯ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕реАрдкреАрдпреВ рдХреЛрд░ рдкрд░ 10G рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдирдП рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХрд╛ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдмрджрд▓рддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд 3-tcp-syn-ack-рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреИрдХреЗрдЬ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрди рдХреЛ рдЙрд╕реА рдмрдлрд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреИрдХреЗрдЬ рдЙрддреНрдкрдиреНрди рдпрд╛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рд╣реЛред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдРрд╕реЗ рдкреИрдХреЗрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рдорд╣рдВрдЧреЗ рд╕рдВрдЪрд╛рд▓рди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓, рдореЗрдореЛрд░реА рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЧреИрд░-рдХреИрд╢реНрдб рд╡рд░реНрдЧреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдФрд░ рдЗрд╕реА рддрд░рд╣ред
Qrator рд▓реИрдмреНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЯреЗрд╕реНрдЯ
рдХреНрдпреВрд░реЗрдЯрд░ рд▓реИрдмреНрд╕ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЖрдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
- рдЗрдВрдЯреЗрд▓ 82599ES 10 рдЬреА
- рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдХрдиреЗрдХреНрдЯрдПрдХреНрд╕ -4 40 рдЬреА
- рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдХрдиреЗрдХреНрдЯрдПрдХреНрд╕ -5 100 рдЬреА
рд╣рдо рдЕрд▓рдЧ рд╕реЗ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм 10G рд╕реЗ рдКрдкрд░ рдХреЗ рдорд╛рдирдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ рддреАрд╡реНрд░ рд╣реЛрддреА рдЬрд╛ рд░рд╣реА рд╣реИред рдЖрдЬ рдПрдХ рдХреЛрд░ рдХреЗ рд╕рд╛рде 40 рдЬреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрд░ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╣реИред
рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЯреНрдпреВрдирд┐рдВрдЧ рдЧрд╛рдЗрдб [
3 ] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдПрдирдЖрдИрд╕реА рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рдкреЗрд╢реЗрд╡рд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрд╣реБрдд рджрдпрд╛рд▓реБ рдереЗ рдФрд░, рдкреНрд░рд▓реЗрдЦрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд▓реНрджреА рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╣рдо рдкрдЯреНрдЯреА рдХреЗ 100% рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред
рдЯреАрд╕реАрдкреА SYN рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг
L3-tcp-syn-ack-рдмрд╛рдврд╝ SYN рдмрд╛рдврд╝ [
6 ] рдЬреИрд╕реЗ рд╣рдорд▓реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣ рдореБрдЦреНрдп MoonGen рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ l3-tcp-syn-рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд Qrator Labs рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреНрд▓реЛрди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
рд╣рдорд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рддреАрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдЯреАрд╕реАрдкреА SYN рдкреИрдХреЗрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рд╕реНрд░реЛрдд рдЖрдИрдкреА рдкрддрд╛, рд╕реНрд░реЛрдд рдкреЛрд░реНрдЯ рдирдВрдмрд░, рдЖрджрд┐ред
- рдЯреАрд╕реАрдкреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрдд SYN рдкреИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп ACK рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВ;
- рдЯреАрд╕реАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрдд ACK рдкреИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз SYN-ACK рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдВрддрд░рд┐рдХ (рдХреНрд░рдорд╢рдГ, "рд╕рдмрд╕реЗ") рдХреЛрдб рд▓реВрдк ACK рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
local tx = 0 local rx = rxQ:recv(rxBufs) for i = 1, rx do local buf = rxBufs[i] local pkt = buf:getTcpPacket(ipv4) if pkt.ip4:getProtocol() == ip4.PROTO_TCP and pkt.tcp:getSyn() and (pkt.tcp:getAck() or synack) then local seq = pkt.tcp:getSeqNumber() local ack = pkt.tcp:getAckNumber() pkt.tcp:unsetSyn() pkt.tcp:setAckNumber(seq+1) pkt.tcp:setSeqNumber(ack) local tmp = pkt.ip4.src:get() pkt.ip4.src:set(pkt.ip4.dst:get()) pkt.ip4.dst:set(tmp) тАж
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЖрд░рдПрдХреНрд╕ рдХрддрд╛рд░ рд╕реЗ рдкреИрдХреЗрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкреИрдХреЗрдЯ рдкреНрд░рдХрд╛рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╕рдВрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореВрд▓ рдкреИрдХреЗрдЬ рдХреЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдПрдХ рдЙрддреНрддрд░ рддреИрдпрд╛рд░ рдХрд░реЗрдВред рдЕрдВрдд рдореЗрдВ, рдЙрд╕реА рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдкреИрдХреЗрдЯ рдХреЛ TX рдХрддрд╛рд░ рдореЗрдВ рд░рдЦреЗрдВред рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдкреИрдХреЗрдЯ рд▓реЗрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдордЧреНрд░ рдХрд░рддреЗ рд╣реИрдВ, RX рдХрддрд╛рд░ рд╕реЗ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реБрдП, рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрди рд╕рднреА рдХреЛ TX рдХрддрд╛рд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдПрдХ рдкреИрдХреЗрдЬ рдкрд░ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкреНрд░рджрд░реНрд╢рди рдЕрдзрд┐рдХ рд░рд╣рддрд╛ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд▓реБрдЖ рдЬреЗрдЖрдИрдЯреА рдЗрди рд╕рднреА рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрдИ рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг, рди рдХреЗрд╡рд▓ рдЯреАрд╕реАрдкреА SYN / ACK, рдПрдХ рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВрд▓реЗрдиреЙрдХреНрд╕ рдХрдиреЗрдХреНрдЯрдПрдХреНрд╕ -4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SYN рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛ SYN рдкреАрдврд╝реА) рдХреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддреА рд╣реИред рдЗрд╕ рдПрдирдЖрдИрд╕реА рдореЗрдВ рджреЛ 40G рдкреЛрд░реНрдЯ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдПрдХ рдкреЛрд░реНрдЯ рдкрд░ 59.52 Mpps рдХреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдЫрдд рдФрд░ рджреЛ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП 2 * 50 Mpps рд╣реИрдВред NIC рдХреЛ PCIe рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреБрдЫ рд╣рдж рддрдХ рдмреИрдВрдбрд╡рд┐рдбреНрде (рдЕрдкреЗрдХреНрд╖рд┐рдд 2 * 59.52 рдХреЗ рдмрдЬрд╛рдп 2 * 50 рджреЗрддрд╛ рд╣реИ) рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рддрд┐ рдкреЛрд░реНрдЯ рдХреЛрд░ | 1 рдкреЛрд░реНрдЯ, Mpps | 2 рдкреЛрд░реНрдЯ, рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП Mpps |
1 | 20 | 19 |
2 | 38 | 36 |
3 | 56.5 | 47 |
4 | 59.5 | 50 |
SYN рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг; рдПрдирдЖрдИрд╕реА: рдореЗрд▓рд╛рдиреЛрдХреНрд╕ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдПрдордЯреА 27700 рдлреИрдорд┐рд▓реА (рдХрдиреЗрдХреНрдЯрдПрдХреНрд╕ -4), рджреЛрд╣рд░реА 40 рдЬреА рдкреЛрд░реНрдЯ; CPU: Intel┬о Xeon┬о рд╕рд┐рд▓реНрд╡рд░ 4114 CPU @ 2.20GHzрдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдПрдХ 100G рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдХрдиреЗрдХреНрдЯрдПрдХреНрд╕ -5 рдкрд░ рдЙрд╕реА SYN рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддреА рд╣реИред
рдХреЛрд░ | Mpps |
1 | 35 |
2 | 69 |
3 | 104 |
4 | 127 |
5 | 120 |
6 | 131 |
7 | 132 |
8 | 144 |
SYN рдмрд╛рдврд╝ рдкрд░реАрдХреНрд╖рдг; NIC: Mellanox Technologies MT27800 Family (ConnectX-5), рд╕рд┐рдВрдЧрд▓ 100G рдкреЛрд░реНрдЯ; CPU: Intel┬о Xeon┬о рд╕рд┐рд▓реНрд╡рд░ 4114 CPU @ 2.20GHzрдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ 96% рд╕реЗ рдЕрдзрд┐рдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдЫрдд рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ рдФрд░ PCAP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ
рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдЖрд░рдПрдХреНрд╕-рдЯреВ-рдкреАрдХ рд╣реИ, рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреАрд╕реАрдПрдкреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ [
8 ]ред рдпрджреНрдпрдкрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬ рдХреА рдкреАрдврд╝реА рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдЖрдпреЛрдЬрди рдореЗрдВ рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рд▓рд┐рдВрдХ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ tmpfs рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреНрд░реАрдо рдХреЛ рдХрд╛рдлреА рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 14.88 Mpps рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ 8 рдХреЛрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рд╕рдорд╛рди рд░рд╛рд╢рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ (рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ, рдпрд╛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдХреЛрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдорд╛рддреНрд░рд╛ (Mpps рдореЗрдВ) рджрд┐рдЦрд╛рддреА рд╣реИ рдЬреЛ SSD (рджреВрд╕рд░рд╛ рдХреЙрд▓рдо) рдпрд╛ tmpfs рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рддреАрд╕рд░рд╛ рдХреЙрд▓рдо) рдкрд░ ext2 рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд┐рдд PCAP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреЛрд░ | SSD, Mpps рдкрд░ | tmpfs рдкрд░, Mpps |
1 | 1.48 | 1.62 |
2 | 4 | 4.6 |
3 | 6.94 | 8.1 |
4 | 9.75 | 11.65 |
5 | 12.1 | 13.8 |
6 | 13.38 | 14.47 |
7 | 14.4 | 14.86 |
8 | 14.88 | 14.88 |
рдЖрд░рдПрдХреНрд╕-рдЯреВ-рдкреЗрдк рдкрд░реАрдХреНрд╖рдг; рдПрдирдЖрдИрд╕реА: рдЗрдВрдЯреЗрд▓ 82599ES 10-рдЧреАрдЧрд╛рдмрд┐рдЯ; CPU: Intel┬о Xeon┬о CPU E5-2683 v4 @ 2.10GHzрдореВрдирдЧреЗрди рдореЙрдбрд┐рдлрд┐рдХреЗрд╢рди: tman рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░
рд╣рдо рд░реАрдбрд░ рдХреЛ рдореВрдирдЧреЗрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рднреА рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ (рдпрд╛рдиреА рд▓реБрдЖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред MoonGen рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╣рдорд╛рд░реЗ рдХреНрд▓реЛрди рдореЗрдВ, рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ [
9 ] рдХреЗ рд╕рд╛рде MoonGen рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣рд╛рдБ рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВрдЧреЗред
рдирдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореВрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
./build/tman [tman options...] [-- <task1-file> [task1 options...]] [-- <task2-file> [task2 options...]] [-- ...]
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ ./build/tman -h рд╡рд┐рд╕реНрддреГрдд рдорджрдж рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╕реАрдорд╛ рд╣реИ - рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓реБрдЖ рдиреМрдХрд░реА рдлрд╛рдЗрд▓реЗрдВ
рдЯреИрдорди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред
Tman рдиреМрдХрд░реА
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ (рдкрд╛рд░реНрд╕рд░) рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдиреМрдХрд░реА рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ;
- рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди (рдЯрд╛рд╕реНрдХрдирдо, txInfo, rxInfo, args), рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ txInfo рдФрд░ rxInfo рдХреНрд░рдорд╢рдГ RX рдФрд░ TX рдХрддрд╛рд░реЛрдВ рдХреЗ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ; args рдореЗрдВ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдФрд░ рдЯрд╛рд╕реНрдХ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВред
- рдЙрджрд╛рд╣рд░рдг / tman рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рд╡рд┐рд╖рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдорд┐рд▓рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореВрдирдЬреЗрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИред рд╣рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдХрд░рдг рдорд┐рд▓рд╛, рдЬрдмрдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рднрд╛рд╖рд╛ рджреЛрдиреЛрдВ рдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ рдмрдирд╛рдП рд░рдЦрд╛ред рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд▓реБрдЖ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдмрдлрд╝рд░реНрд╕ рдФрд░ рдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо рд╕рдВрдХрд▓рди рддрдХрдиреАрдХ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪред
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЫрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХрд╛рд░реНрдп рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХреЛрд░ 10G рдкреЛрд░реНрдЯ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ 100G рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд▓реЛрдб рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдореВрдирдЬреЗрди рдЯреАрдо рдХреЗ рд▓рд┐рдП рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдЯреАрдо рдХреЗ рдЖрднрд╛рд░реА рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА
- рдореВрдирдЧреЗрди: рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдмрд▓ рд╣рд╛рдИ-рд╕реНрдкреАрдб рдкреИрдХреЗрдЯ рдЬреЗрдирд░реЗрдЯрд░ - рдкреЙрд▓ рдПрдореЗрд░рд┐рдЪ рдПрдЯ рдЕрд▓ред, рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдЬрд░рдореЗрдВрдЯ рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ 2015 (IMC'15), 2015
- Pktgen
- рдореЗрд▓рд╛рдиреЙрдХреНрд╕ рдЯреНрдпреВрдирд┐рдВрдЧ рдЧрд╛рдЗрдб
- рдбрд╛рдЯрд╛ рдкреНрд▓реЗрди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ
- рд▓реБрдЖ
- рд╕рд┐рди рдмрд╛рдврд╝
- рдореВрдирдЬреЗрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХреНрдпреВрд░реЗрдЯрд░ рд▓реИрдмреНрд╕ рдХрд╛ рдХреНрд▓реЛрди
- PCAP рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк
- рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ
- рд▓реБрдЖ рдкреНрд░рджрд░реНрд╢рди
- рдиреЗрдЯрд╡рд░реНрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╡реНрд╣рд╛рдЗрдЯрдкреЗрдкрд░
- NUMA, рдЧреИрд░-рд╕рдорд╛рди рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕