рдПрдирдПрд╕-3 рдиреЗрдЯрд╡рд░реНрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред рдЕрдзреНрдпрд╛рдп 4

рдПрдирдПрд╕-3 рдиреЗрдЯрд╡рд░реНрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред рдЕрдзреНрдпрд╛рдп 4
рдЕрдзреНрдпрд╛рдп 1,2
рд▓рд╛рд╡рд╛ 3

4 рд╕рдВрдХрд▓реНрдкрдирд╛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди
4.1 рдореБрдЦреНрдп рд╕рд╛рд░
4.1.1 рдиреЛрдб
4.1.2 рдЖрд╡реЗрджрди
4.1.3 рдЪреИрдирд▓
4.1.4 рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕
4.1.5 рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕рд╣рд╛рдпрдХ
4.2 рдкрд╣рд▓реА рдПрдирдПрд╕-3 рд╕реНрдХреНрд░рд┐рдкреНрдЯ
4.2.1 рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб
4.2.2 рдкреНрд▓рдЧ-рдЗрди
4.2.3 рдПрдирдПрд╕3 рдиреЗрдорд╕реНрдкреЗрд╕
4.2.4 рд▓реЙрдЧрд┐рдВрдЧ
4.2.5 рдореБрдЦреНрдп рдХрд╛рд░реНрдп
4.2.6 рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
4.2.7 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
4.2.8 рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░
4.2.9 рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛
4.3 рдПрдирдПрд╕-3 рд╕реНрд░реЛрдд рдХреЛрдб

рдЕрдзреНрдпрд╛рдп 4

рд╕рдВрдХрд▓реНрдкрдирд╛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди

рдПрдирдПрд╕-3 рдХреЛрдб рд╕реАрдЦрдирд╛ рдпрд╛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЬреЛ рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ рд╣реИ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдФрд░ рдЕрдореВрд░реНрддрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрд╛рдирд╛ред рдЗрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЖрдк рдПрдХ рдареЛрд╕ рдЖрдзрд╛рд░ рдкрд░ рд╢реБрд░реБрдЖрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

4.1 рдореБрдЦреНрдп рд╕рд╛рд░

рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╣рдо рдХреБрдЫ рдРрд╕реЗ рд╢рдмреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╡реЗрдм рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдПрдирдПрд╕-3 рдореЗрдВ рдЙрдирдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд░реНрде рд╣реЛрддрд╛ рд╣реИред

4.1.1 рдиреЛрдб

рдЗрдВрдЯрд░рдиреЗрдЯ рд╢рдмреНрджрдЬрд╛рд▓ рдореЗрдВ, рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдЙрдкрдХрд░рдг рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдЙрд╕реЗ рд╣реЛрд╕реНрдЯ рдпрд╛ рдХрднреА-рдХрднреА рдПрдВрдб рд╕рд┐рд╕реНрдЯрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ ns-3 рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╣реИ рди рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░, рд╣рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рд╣реЛрд╕реНрдЯ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рдЙрд╕рдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕рд┐рдореБрд▓реЗрдЯрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЧреНрд░рд╛рдлрд╝ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ: рдиреЛрдб (рдиреЛрдб).

рдПрдирдПрд╕-3 рдореЗрдВ, рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдореВрд░реНрдд рдХреЛ рдиреЛрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдореВрд░реНрддрди C++ рдореЗрдВ рдиреЛрдб рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрдХреНрд╖рд╛ рдиреЛрдбрдиреЛрдб (рдиреЛрдб) рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рддреБрдореНрд╣реЗрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдЖрд╕рдВрдзрд┐ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рддрд░рд╣ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЖрдк рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ рдФрд░ рдкреЗрд░рд┐рдлреЗрд░рд▓ рдХрд╛рд░реНрдб рдЬреИрд╕реА рдЪреАрдЬрд╝реЗрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╣рдо ns-3 рдореЗрдВ рдЙрд╕реА рдореВрд▓ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

4.1.2 рдЖрд╡реЗрджрди

рдЖрдо рддреМрд░ рдкрд░, рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рджреЛ рд╡реНрдпрд╛рдкрдХ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреБрдЫ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдЬреИрд╕реЗ рдореЗрдореЛрд░реА, рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрдХреНрд░, рдбрд┐рд╕реНрдХ, рдиреЗрдЯрд╡рд░реНрдХ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЕрдХреНрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдмреАрдЪ рдЕрд▓рдЧрд╛рд╡ рдХреА рд░реЗрдЦрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░реИрдк рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╕реНрддрд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдЦреАрдВрдЪреА рдЬрд╛рддреА рд╣реИред ns-3 рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╕реНрддрд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрдк рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛" рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЙрд╕реА рддрд░рд╣ рдПрдирдПрд╕-3 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирдПрд╕-3 рдиреЛрдбреНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рдПрдирдПрд╕-3 рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЕрдореВрд░реНрддрддрд╛ рдЬреЛ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИ рд╡рд╣ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдпрд╣ рдЕрдореВрд░реНрддрди C++ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд░реНрдЧ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрддрд░реАрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡реЗ рдирдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рд╕ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрд░реНрде рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдмрдирд╛рдПрдВред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рд╕ рдирд╛рдордХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ UdpEchoClientрдПрдкреНрд▓рд┐рдХреЗрд╢рди ╨╕ UdpEchoServerрдЕрдиреБрдкреНрд░рдпреЛрдЧ. рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рдЗрдВрдЯ/рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдЗрдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

4.1.3 рдЪреИрдирд▓

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдЗрди рдиреЗрдЯрд╡рд░реНрдХреЛрдВ рдореЗрдВ рдЬрд┐рд╕ рдореАрдбрд┐рдпрд╛ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕реЗ рдЪреИрдирд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдИрдерд░рдиреЗрдЯ рдХреЗрдмрд▓ рдХреЛ рджреАрд╡рд╛рд░ рдХреЗ рдЖрдЙрдЯрд▓реЗрдЯ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдИрдерд░рдиреЗрдЯ рд▓рд┐рдВрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб рдПрдирдПрд╕-3 рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдПрдХ рдиреЛрдб рдПрдХ рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рд╕рдВрдЪрд╛рд░ рд╕рдмрдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдореВрд▓ рдЕрдореВрд░реНрдд рдХреЛ рдПрдХ рдЪреИрдирд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪреИрдирд▓ рдХреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ C++ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд░реНрдЧ рдЪреИрдирд▓рдЪреИрдирд▓ рд╕рдмрдиреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣реЛрд╕реНрдЯреНрд╕ рдХреЛ рдЙрдирд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЪреИрдирд▓ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрд░реНрде рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖реАрдХреГрдд рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪреИрдирд▓ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рддрд╛рд░ рдЬреИрд╕реА рд╕рд░рд▓ рдЪреАрдЬрд╝ рдХрд╛ рдореЙрдбрд▓ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИред рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдЪреИрдирд▓ рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрдбрд╝реЗ рдИрдерд░рдиреЗрдЯ рд╕реНрд╡рд┐рдЪ рдпрд╛ рдмрд╛рдзрд╛рдУрдВ рд╕реЗ рднрд░реЗ рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╕реНрдерд╛рди рдЬреИрд╕реА рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рднреА рдореЙрдбрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЪреИрдирд▓ рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ CsmaChannelCsmaChannel, рдкреНрд╡рд╛рдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдЪреИрдирд▓рдкреНрд╡рд╛рдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдЪреИрдирд▓ ╨╕ рд╡рд╛рдИрдлрд╝рд╛рдИрдЪреИрдирд▓рд╡рд╛рдИрдлрд╝рд╛рдИрдЪреИрдирд▓. CsmaрдЪреИрдирд▓рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдЪрд╛рд░ рд╕рдмрдиреЗрдЯ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЙрдбрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХреИрд░рд┐рдпрд░-рд╕реЗрдВрд╕ рдорд▓реНрдЯреАрдкрд▓ рдПрдХреНрд╕реЗрд╕ рд╕рдВрдЪрд╛рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдИрдерд░рдиреЗрдЯ рдЬреИрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

4.1.4 рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕

рдРрд╕рд╛ рд╣реЛрддрд╛ рдерд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдХрд┐рд╕реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗрдмрд▓ рдФрд░ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдЦрд░реАрджрдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ рдЬрд┐рд╕реЗ (рдкреАрд╕реА рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ) рдПрдХ рдкрд░рд┐рдзреАрдп рдХрд╛рд░реНрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред рдпрджрд┐ рдПрдХ рдкрд░рд┐рдзреАрдп рдХрд╛рд░реНрдб рдХреБрдЫ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдб рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЬ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХреАрдХреГрдд рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдПрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЙрд╕рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпреВрдирд┐рдХреНрд╕ (рдпрд╛ рд▓рд┐рдирдХреНрд╕) рдореЗрдВ, рдкрд░рд┐рдзреАрдп рдЙрдкрдХрд░рдг рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ (рдПрдирдЖрдИрд╕реА) рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░) рдФрд░ рдЗрдиреНрд╣реЗрдВ рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕). рдпреВрдирд┐рдХреНрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ, рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЬреИрд╕реЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ eth0.

рдПрдирдПрд╕-3 рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдореЙрдбрд▓ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рджреЛрдиреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ, рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдПрдХ рдиреЛрдб рдореЗрдВ "рдЗрдВрд╕реНрдЯреЙрд▓" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреНрдп рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рд╕рдХреЗред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рддрд░рд╣, рдПрдХ рдиреЛрдб рдХреЛ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рдЪреИрдирд▓реЛрдВ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕реЗрд╕.

рдХрд┐рд╕реА рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди C++ рдореЗрдВ рдХреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕. рдХрдХреНрд╖рд╛ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдиреЛрдб рдФрд░ рдЪреИрдирд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЕрд░реНрде рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдо рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдирд╛рдордХ рдХрдИ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рд╕реАрдПрд╕рдПрдордПрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕, рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ ╨╕ рд╡рд╛рдИрдлрд╝рд╛рдИрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕. рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдПрдХ рдИрдерд░рдиреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдИрдерд░рдиреЗрдЯ, рд╕реАрдПрд╕рдПрдордПрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ CsmaрдЪреИрдирд▓, рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреЙрдЗрдВрдЯрдЯреВрдкреЙрдЗрдВрдЯрдЪреИрдирд▓рдФрд░ рд╡рд╛рдИрдлрд╝рд╛рдИрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ - рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд╛рдИрдлрд╝рд╛рдИрдЪреИрдирд▓.

4.1.5 рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕рд╣рд╛рдпрдХ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ, рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдорд┐рд▓реЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдЬреЛрдбрд╝реЗ рдЧрдП (рдпрд╛ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд) рд╣реЛрдВрдЧреЗред рдПрдирдПрд╕-3 рдореЗрдВ рд╣рдо рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рдиреЛрдбреНрд╕ рджреЗрдЦреЗрдВрдЧреЗред рдПрдХ рдмрдбрд╝реЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ, рдЖрдкрдХреЛ рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЖрд╕рдВрдзрд┐, рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ ╨╕ рдЪреИрдирд▓.

рдЪреВрдВрдХрд┐ NetDevices рдХреЛ рдиреЛрдбреНрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛, NetDevices рдХреЛ рд▓рд┐рдВрдХ рд╕реЗ рдЬреЛрдбрд╝рдирд╛, IP рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЖрджрд┐ред рдПрдирдПрд╕-3 рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╣реИ, рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рддрдерд╛рдХрдерд┐рдд рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рдПрдирдПрд╕-3 рдХрд░реНрдиреЗрд▓ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдПрдХ рдореИрдХ рдПрдбреНрд░реЗрд╕ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдиреЛрдб рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдиреЛрдб рдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЪреИрдирд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХрд╛рдзрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЛ рдорд▓реНрдЯреАрдкреЙрдЗрдВрдЯ рд▓рд┐рдВрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЕрдзрд┐рдХ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдо рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЗрди рдХрдИ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдПрдХ рдЖрд╕рд╛рди-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдореЙрдбрд▓ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

4.2 рдкрд╣рд▓реА рдПрдирдПрд╕-3 рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдпрджрд┐ рдЖрдкрдиреЗ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░реЗрдкреЛ рдирд╛рдордХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдирдПрд╕-3 рд░рд┐рд▓реАрдЬ рд╣реЛрдЧреАред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдФрд░

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕реА рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ ns-3 рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХреА рд╣реИ, рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдПрдВ:
$ ./waf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВтАФрдмрд┐рд▓реНрдб-рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓=рд░рд┐рд▓реАрдЬрд╝тАФрдЖрдЙрдЯ=рдмрд┐рд▓реНрдб/рд░рд┐рд▓реАрдЬрд╝,
$ ./waf рдмрд┐рд▓реНрдб

рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:

AUTHORS       examples      scratch       utils       waf.bat*
bindings      LICENSE       src           utils.py    waf-tools
build         ns3           test.py*      utils.pyc   wscript
CHANGES.html  README        testpy-output VERSION     wutils.py
doc           RELEASE_NOTES testpy.supp   waf*        wutils.pyc

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдЙрджрд╛рд╣рд░рдг/рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓. рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рд╕реНрдерд┐рдд рдПрдХ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдкреНрд░рдердо.рд╕реАрд╕реА. рдпрд╣ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рджреЛ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд░рд▓ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдЧреА рдФрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдкреИрдХреЗрдЯ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдЧреАред рдЖрдЗрдП рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрдВрдХреНрддрд┐ рджрд░ рдкрдВрдХреНрддрд┐ рджреЗрдЦреЗрдВ; рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдлрд░реНрд╕реНрдЯ.рд╕реАрд╕реА рдЦреЛрд▓реЗрдВред

4.2.1 рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб
рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╕рдВрдкрд╛рджрдХ рдореЛрдб рдкрдВрдХреНрддрд┐ рд╣реИ Emacs. рдпрд╣ рдИрдореИрдХ рдХреЛ рдЙрди рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдкрд░рдВрдкрд░рд╛рдУрдВ (рдХреЛрдбрд┐рдВрдЧ рд╢реИрд▓реА) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */

рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд╛рдлреА рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдореБрджреНрджрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рддреБрд░рдВрдд рд░рд╛рд╕реНрддреЗ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддрд░рд╣, рдПрдирдПрд╕-3 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдПрдХ рдХреЛрдбрд┐рдВрдЧ рд╢реИрд▓реА рдЕрдкрдирд╛рдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд░реВрдк рд╕рднреА рдпреЛрдЧрджрд╛рди рдХрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдПрдирдПрд╕-3 рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝/рдХреЛрдбрд┐рдВрдЧрдПрд╕рдЯреАрдбреА.рдЯреАрдПрдХреНрд╕рдЯреА рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://www.nsnam.org/develop/contributing-code/coding-style/.

рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдирдПрд╕-3 рдХреЛрдб рдХреЗ рд╕реНрд╡рд░реВрдк рдФрд░ рдЕрдиреБрднрд╡ рд╕реЗ рдЕрднреНрдпрд╕реНрдд рд╣реЛ рдЬрд╛рдПрдВ рдФрд░ рдЬрдм рднреА рдЖрдк рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ рддреЛ рдЗрд╕ рдорд╛рдирдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдкреВрд░реА рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдФрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдХреБрдЫ рдирд╛-рдиреБрдХреБрд░ рдХреЗ рдмрд╛рдж рдЗрд╕ рдкрд░ рд╕рд╣рдордд рд╣реЛ рдЧрдПред рдпрджрд┐ рдЖрдк Emacs рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдКрдкрд░ рджреА рдЧрдИ Emacs рдореЛрдб рд▓рд╛рдЗрди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИред

рдПрдирдПрд╕-3 рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ рдЬреАрдПрдирдпреВ рдЬрдирд░рд▓ рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕. рдЖрдк рдкреНрд░рддреНрдпреЗрдХ ns-3 рд╡рд┐рддрд░рдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд GNU рдХрд╛рдиреВрдиреА рд╣реЗрдбрд░ рджреЗрдЦреЗрдВрдЧреЗред рдЕрдХреНрд╕рд░ рдЖрдк рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреАрдкреАрдПрд▓ рдкрд╛рда рдФрд░ рд▓реЗрдЦрдХ рдХреЗ рдКрдкрд░ рдПрдирдПрд╕-3 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдХреЙрдкреАрд░рд╛рдЗрдЯ рдиреЛрдЯрд┐рд╕ рджреЗрдЦреЗрдВрдЧреЗред

/* 
* This program is free software; you can redistribute it and/or modify 
* it under the terms of the GNU General Public License version 2 as 
* published by the Free Software Foundation; 
*
* This program is distributed in the hope that it will be useful, 
* but WITHOUT ANY WARRANTY; without even the implied warranty of 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
* GNU General Public License for more details. 
* 
* You should have received a copy of the GNU General Public License 
* along with this program; if not, write to the Free Software 
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
*/

4.2.2 рдкреНрд▓рдЧ-рдЗрди

рдХреЛрдб рд╕реНрд╡рдпрдВ рд╕рдорд╛рд╡реЗрд╢рди рдХрдердиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рд╢рд╛рдорд┐рд▓).

#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"

рд╣рдорд╛рд░реЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдбрд╝реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рдПрдХрд▓ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╕рднреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧреАред рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рд╣реЗрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЗрд╕рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдФрд░ рд╕рдВрднрд╡рддрдГ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рд╕рд╣реА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдорд╣рд╛рди рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдмрд╕реЗ рдХрд╛рд░рдЧрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ ns-3 рд╕рдореНрдорд┐рд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ns3 (рдмрд┐рд▓реНрдб рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╡рд┐рд╡рд╛рджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред рдлрд╝рд╛рдЗрд▓ ns3/рдХреЛрд░-рдореЙрдбреНрдпреВрд▓.рдПрдЪ ns-3 рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ рд╕реНрд░реЛрдд/рдХреЛрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреА рдЧрдИ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдорд┐рд▓реЗрдВрдЧреАред рдЬрдм рдЖрдк рдЕрд╕реЗрдВрдмрд▓реА рдХрд░рддреЗ рд╣реИрдВ, waf рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ ns3 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдирд┐рд░реНрдорд╛рдг/рдбреАрдмрдЧ рдХрд░реЗрдВ

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕реА рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ ns-3 рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХреА рд╣реИ, рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдПрдВ:
$ ./waf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ --рдмрд┐рд▓реНрдб-рдкреНрд░реЛрдлрд╛рдЗрд▓=рдбреАрдмрдЧ --рдЖрдЙрдЯ=рдмрд┐рд▓реНрдб/рдбреАрдмрдЧ
$ ./waf рдмрд┐рд▓реНрдб
рдпрд╛
$ ./waf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ --рдмрд┐рд▓реНрдб-рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓=рдЕрдиреБрдХреВрд▓рд┐рдд --рдЖрдЙрдЯ=рдмрд┐рд▓реНрдб/рдЕрдиреБрдХреВрд▓рд┐рдд
$ ./waf рдмрд┐рд▓реНрдб

рдпрд╛ рдирд┐рд░реНрдорд╛рдг/рдЕрдиреБрдХреВрд▓рд┐рдд, рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред waf рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рднреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдЪреВрдБрдХрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдзрд╛рд░реНрдорд┐рдХ рд░реВрдк рд╕реЗ рдкрд╛рд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдкрд╣рд▓реЗ рд╣реА рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ

$ ./waf -d debug --enable-examples --enable-tests configure

рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдкрдиреЗ рднреА рдХрд┐рдпрд╛

$ ./waf

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. рддреЛ рдЕрдм рдЬрдм рдЖрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ ../../рдмрд┐рд▓реНрдб/рдбрд┐рдмрдЧ/ns3, рддреЛ рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдХреА рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реЗрдВрдЧреАред рдЖрдк рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

4.2.3 рдПрдирдПрд╕3 рдиреЗрдорд╕реНрдкреЗрд╕

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдкреНрд░рдердо.рд╕реАрд╕реА рдПрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдШреЛрд╖рдгрд╛ рд╣реИ.

using namespace ns3;

ns-3 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ ns3 рдирд╛рдордХ C++ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА рдПрдирдПрд╕-3-рд╕рдВрдмрдВрдзрд┐рдд рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдиреНрдп рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред C++ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ ns-3 рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╡рд░реНрддрдорд╛рди (рд╡реИрд╢реНрд╡рд┐рдХ) рдШреЛрд╖рдгрд╛рддреНрдордХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рднреА ns-3 рдХреЛрдб рд╕реЗ рдкрд╣рд▓реЗ ns3::scope рдЕрдиреБрдорддрд┐ рдСрдкрд░реЗрдЯрд░ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА C++ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ std рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ns3 рдиреЗрдорд╕реНрдкреЗрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред using namespace std; рдЖрдЙрдЯрдкреБрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЕрджрд╛рд▓рдд рдФрд░ рдзрд╛рд░рд╛рдПрдБ.

4.2.4 рд▓реЙрдЧрд┐рдВрдЧ

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╣реИ:

NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");

рд╣рдо рдЗрд╕ рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдерд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВрдЧреЗ Doxygen. рдпрджрд┐ рдЖрдк рдПрдирдПрд╕-3 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд▓рд┐рдВрдХ рдорд┐рд▓реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдВрдЧреЗред рдПрдХ "рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝" рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдирдПрд╕-3 рдХреЗ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рддрдХ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк "рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг" рд▓рд┐рдВрдХ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдирдПрд╕-3 рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрда рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреГрд╖реНрда рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░рдордп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдорд┐рд▓реЗрдЧрд╛ред рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдПрдирдПрд╕-3 рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЯреНрд░реА рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдПрдирдПрд╕-3 "рдкреБрд╕реНрддрдХ" рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рдХрдЯ рдХрд░рддреЗ рд╣реИрдВ рдореЙрдбреНрдпреВрд▓, рдЖрдкрдХреЛ рдПрдирдПрд╕-3 рдореЙрдбреНрдпреВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдпрд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реАрдзреЗ рдЙрдкрд░реЛрдХреНрдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдПрдирдПрд╕-3 рд▓реЙрдЧрд┐рдВрдЧ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рд▓реЙрдЧрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЛ рджреЗрдЦрдХрд░ рдЙрдкрд░реЛрдХреНрдд рдХрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдореВрд▓рдФрд░ рдлрд┐рд░ рдХрд┐рддрд╛рдм рдЦреЛрд▓рдирд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЙрдкрдХрд░рдгрдФрд░ рдлрд┐рд░ рдкреЗрдЬ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рд▓реЙрдЧрд┐рдВрдЧ. рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рд▓реЙрдЧрд┐рдВрдЧ.

рдЕрдм рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП Doxygen рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ. рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдХреА рд╕реВрдЪреА рдореЗрдВ, рдЖрдкрдХреЛ NS_LOG_COMPONENT_DEFINE рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрдВрдЬреАрдХрд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЗ "рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг" рдХреЛ рдЕрд╡рд╢реНрдп рджреЗрдЦреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЪрд╛рд░реНрдЯ рдХреЗ рдиреАрдЪреЗ "рдЕрдзрд┐рдХ..." рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реЛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ NS_LOG_COMPONENT_DEFINE рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред рдореИрдВ рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣реЗрдВ рддреЛ, рдпрд╣ рдкрдВрдХреНрддрд┐ рдПрдХ рдкрдВрдЬреАрдХрд░рдг рдШрдЯрдХ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдлрд░реНрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдирд╛рдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

4.2.5 рдореБрдЦреНрдп рдХрд╛рд░реНрдп

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ,

int 
main (int argc, char *argv[])
{ 

рдпрд╣ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреА рдШреЛрд╖рдгрд╛ рд╣реИред рдХрд┐рд╕реА рднреА C++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рддрд░рд╣, рдЖрдкрдХреЛ рдПрдХ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИ. рдЖрдкрдХреА ns-3 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рд░реНрдл рдПрдХ C++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИред рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рд╕рдордп рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ 1 рдиреИрдиреЛрд╕реЗрдХрдВрдб рдкрд░ рд╕реЗрдЯ рдХрд░рддреА рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ:

Time::SetResolution (Time::NS);

рд╕рдордп рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди, рдпрд╛ рдмрд╕ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╕рдордп рдорд╛рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рджреЛ рд╕рдордп рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпреЛрдЧреНрдп рдЕрдВрддрд░)ред рдЖрдк рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЬреЛ рддрдВрддреНрд░ рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдЬрдм рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдЧреЗ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдпрджрд┐ рдЖрдк рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдиреИрдиреЛрд╕реЗрдХрдВрдб рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдореЗрдореЛрд░реА рдореБрдХреНрдд рд╣реЛ рдЬрд╛рдПрдЧреАред)

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рджреЛ рд▓реЙрдЧрд┐рдВрдЧ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЗрдХреЛрдХреНрд▓рд╛рдЗрдВрдЯ ╨╕ рдЗрдХреЛрд╕рд░реНрд╡рд░:

LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO); LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);

рдпрджрд┐ рдЖрдк рд▓реЙрдЧрд┐рдВрдЧ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд▓реЙрдЧрд┐рдВрдЧ/рдЧреНрд░реИрдиреНрдпреБрд▓реИрд░рд┐рдЯреА рдХреЗ рдХрдИ рд╕реНрддрд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдкрд░ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдХреА рдпреЗ рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП INFO рд╕реНрддрд░ рдкрд░ рдбрд┐рдмрдЧ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИрдВред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдкреИрдХреЗрдЯ рднреЗрдЬрддрд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдЕрдм рд╣рдо рдЯреЛрдкреЛрд▓реЙрдЬреА рдмрдирд╛рдиреЗ рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкрд░ рдЙрддрд░реЗрдВрдЧреЗред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

4.2.6 рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдб рдХреА рдЕрдЧрд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреЛрдб рдПрдирдПрд╕-3 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВрдЧреА рдЬреЛ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдВрдЧреАред

NodeContainer nodes;
nodes.Create (2);

рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдвреВрдВрдвреЗрдВ рдиреЛрдбрдХрдВрдЯреЗрдирд░. рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдЯреИрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдХреНрд▓рд╛рд╕реЗрдЬ рдкрдиреНрдиреЛрдВ рдкрд░ Doxygen. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЙрдХреНрд╕реАрдЬрди рдЦреБрд▓рд╛ рд╣реИ, рддреЛ рдмрд╕ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдЯреИрдм рдЪреБрдиреЗрдВред рдЖрдкрдХреЛ рдЯреИрдм рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╣реИред рдЗрд╕ рдЯреИрдм рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдкрдХреЛ рд╕рднреА ns-3 рд╡рд░реНрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ ns3::NodeContainer. рдЬрдм рдЖрдкрдХреЛ рдХреЛрдИ рдХрдХреНрд╖рд╛ рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рдХрдХреНрд╖рд╛ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ, рд╣рдорд╛рд░рд╛ рдПрдХ рдкреНрд░рдореБрдЦ рд╕рд╛рд░ рдиреЛрдб рд╣реИред рдпрд╣ рдЙрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкрд░рд┐рдзреАрдп рдХрд╛рд░реНрдб рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдиреЛрдбрдХрдВрдЯреЗрдирд░ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдиреЗ, рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЖрд╕рдВрдзрд┐, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд┐рдореБрд▓реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддреЗ рд╣реИрдВред рдКрдкрд░ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдмрд╕ рдШреЛрд╖рдгрд╛ рдХрд░рддреА рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░, рдЬрд┐рд╕реЗ рд╣рдо рдиреЛрдбреНрд╕ рдХрд╣рддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдиреЛрдбреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХреНрд░рд┐рдПрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рджреЛ рдиреЛрдбреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ Doxygen, рдХрдВрдЯреЗрдирд░ ns-3 рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдЖрд╕рдВрдзрд┐ рдФрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрддрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдиреЛрдбреНрд╕ рдЕрднреА рддрдХ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрдЧрд▓рд╛ рдХрджрдо рд╣рдорд╛рд░реЗ рдиреЛрдбреНрд╕ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд░реВрдк рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рджреЛ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рд╣реИред рдЕрдм рд╣рдо рдРрд╕рд╛ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдВрдЧреЗ.

рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░

рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЛрдкреЛрд▓реЙрдЬреА рд╣реЗрд▓реНрдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рджреЛ рдкреНрд░рдореБрдЦ рд╕рд╛рд░ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ ╨╕ рдЪреИрдирд▓. рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдпреЗ рд╢рдмреНрдж рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдкрд░рд┐рдзреАрдп рдХрд╛рд░реНрдб рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗрдмрд▓ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдпреЗ рджреЛрдиреЛрдВ рдЪреАрдЬреЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ, рдФрд░ рдХреЛрдИ рднреА рд╕рд╛рдЭрд╛рдХрд░рдг рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡рд╛рдЗрд╕ рдИрдерд░рдиреЗрдЯ рдПрдХ рд╡рд╛рдпрд░рд▓реЗрд╕ рдЪреИрдирд▓ рдкрд░. рд╣рдорд╛рд░реЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдЗрд╕ рдШрдирд┐рд╖реНрда рд╕рдВрдмрдВрдз рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рдПрдирдПрд╕-3 рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ ╨╕ рдкреЙрдЗрдВрдЯрдЯреВрдкреЙрдЗрдВрдЯрдЪреИрдирд▓. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдЧрд▓реА рддреАрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ:

PointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps")); 
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));

рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐,

PointToPointHelper pointToPoint;

рд╕реНрдЯреИрдХ рдкрд░ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░. рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐,

pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));

рд╡рд╕реНрддреБ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рдорд╛рди "5 Mbit/s" (рдкрд╛рдВрдЪ рдореЗрдЧрд╛рдмрд┐рдЯ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ "рдЖрдзрд╛рд░ - рд╕рд╛рдордЧреНрд░реА рджрд░'.

рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдбреЗрдЯрд╛рд░реЗрдЯ" рдЙрд╕ рдЪреАрдЬрд╝ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╣рддреЗ рд╣реИрдВ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕. рдпрджрд┐ рдЖрдк рджреЗрдЦреЗрдВ Doxygen рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдирдПрд╕3::рдкреНрд╡рд╛рдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ GetTypeId рдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓реЗрдЧреАред рдЙрдирдореЗрдВ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА "рдЖрдзрд╛рд░ - рд╕рд╛рдордЧреНрд░реА рджрд░" рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рджреГрд╢реНрдпрдорд╛рди ns-3 рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕рдорд╛рди рд╕реВрдЪрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВред рд╣рдо рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЗ рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред

рдХреЗ рд╕рдорд╛рди "рдЖрдзрд╛рд░ - рд╕рд╛рдордЧреНрд░реА рджрд░"PointToPointNetDevice рдореЗрдВ, рдЖрдкрдХреЛ PointToPointChannel рд╕реЗ рд╕рдВрдмрджреНрдз "рд╡рд┐рд▓рдВрдм" рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд┐рд▓реЗрдЧреАред рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐

pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));

рд╡рд╣ рдмреЛрд▓рддреА рд╣реИ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдмрдирдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд╛рд░ рд╡рд┐рд▓рдВрдм рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ "2 рдПрдордПрд╕" (рджреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб) рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕рдХрдВрдЯреЗрдирд░

рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдиреЛрдб рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдкреЙрдЗрдВрдЯ рдЯреВ рдкреЙрдЗрдВрдЯ рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ PointToPointChannel рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ред рдЬреИрд╕реЗ рд╣рдордиреЗ рдиреЛрдбреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП NodeContainer рдЯреЛрдкреЛрд▓реЙрдЬреА рд╣реЗрд▓реНрдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд╣рдо рдкреВрдЫреЗрдВрдЧреЗ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдирд╛ред рд╣рдореЗрдВ рд╕рднреА рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЪрд╛рд╣рд┐рдП рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕рдХрдВрдЯреЗрдирд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЬреИрд╕реЗ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ рдиреЛрдбрдХрдВрдЯреЗрдирд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдиреЛрдбреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреЛрдб рдХреА рдЕрдЧрд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ,

NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);

рд╕рдВрдкреВрд░реНрдг рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдЪреИрдирд▓ рд╕реЗрдЯрдЕрдкред рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рддрд░реАрдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдПрдХ рд╡рд╕реНрддреБ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рд▓реЗрддрд╛ рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ. рдЕрдВрджрд░ рдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдиреЛрдбрдХрдВрдЯреЗрдирд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдмрд┐рдВрджреБ-рд╕реЗ-рдмрд┐рдВрджреБ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рджреЛ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП) рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрдиреЗрдЯрдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдФрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЙрдЗрдВрдЯрдЯреВрдкреЙрдЗрдВрдЯрдЪреИрдирд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рджреЛ рдЙрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ рдкреЙрдЗрдВрдЯ рдЯреВ рдкреЙрдЗрдВрдЯ рдиреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕. рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░, рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯ.рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ (рдиреЛрдбреНрд╕) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдиреЛрдб рд╣реЛрдВрдЧреЗ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЪреИрдирд▓ рдкрд░ рджреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рджреЗрд░реА рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкрд╛рдВрдЪ рдореЗрдЧрд╛рдмрд┐рдЯ рдХреА рдЧрддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрдВрдЯрд░рдиреЗрдЯрд╕реНрдЯреИрдХрд╣реЗрд▓реНрдкрд░

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЛрдбреНрд╕ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдиреЛрдбреНрд╕ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдХреЛрдб рдХреА рдЕрдЧрд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЗрд╕рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВрдЧреАред

InternetStackHelper stack;
stack.Install (nodes);

рдЗрдВрдЯрд░рдиреЗрдЯрд╕реНрдЯреИрдХрд╣реЗрд▓реНрдкрд░ - рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╣реЗрд▓реНрдкрд░ рд╣реИ, рдЬреЛ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрдЯреВрдкреНрд╡рд╛рдЗрдВрдЯрд╣реЗрд▓реНрдкрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред рддрд░реАрдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ NodeContainer рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдиреЛрдб рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реНрдЯреИрдХ (рдЯреАрд╕реАрдкреА, рдпреВрдбреАрдкреА, рдЖрдИрдкреА, рдЖрджрд┐) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред

рдЖрдИрдкреАрд╡реА4рдкрддрд╛ рд╣реЗрд▓реНрдкрд░

рдлрд┐рд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдЖрд╡рдВрдЯрди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рд╣рд╛рдпрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рдПрдкреАрдЖрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрддрд╛ рд╡рд┐рддрд░рдг рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдЖрдИрдкреА рдкрддрд╛ рдФрд░ рдиреЗрдЯрдорд╛рд╕реНрдХ рд╕реЗрдЯ рдХрд░ рд░рд╣реА рд╣реИ (рдпрд╣ рд╕рд╣рд╛рдпрдХ рдХреЗ рднреАрддрд░ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рд╣рдорд╛рд░реА рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдб рдХреА рдЕрдЧрд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкреНрд░рдердо.рд╕реАрд╕реА,

Ipv4AddressHelper address;
address.SetBase ("10.1.1.0", "255.255.255.0");

рдкрддрд╛ рд╕рд╣рд╛рдпрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЙрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрдорд╛рд╕реНрдХ 10.1.1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ 255.255.255.0 рд╕реЗ рдЖрдИрдкреА рдкрддреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрд╡рдВрдЯрд┐рдд рдкрддреЗ рдПрдХ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдВрдЧреЗ рдФрд░ рдПрдХрд░рд╕ рд░реВрдк рд╕реЗ рдмрдврд╝реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЖрдзрд╛рд░ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдкрд╣рд▓рд╛ рдкрддрд╛ 10.1.1.1, рдлрд┐рд░ 10.1.1.2, рдЖрджрд┐ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд┐рдореНрди рд╕реНрддрд░ рдкрд░, рдПрдирдПрд╕-3 рд╕рд┐рд╕реНрдЯрдо рд╕рднреА рдЖрд╡рдВрдЯрд┐рдд рдЖрдИрдкреА рдкрддреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдкрддрд╛ рджреЛ рдмрд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ (рд╡реИрд╕реЗ, рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ)ред

рдХреЛрдб рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐,

Ipv4InterfaceContainer interfaces = address.Assign (devices);

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрддрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдирдПрд╕-3 рдореЗрдВ рд╣рдо рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЖрдИрдкреАрд╡реА4рдЗрдВрдЯрд░рдлреЗрд╕. рдЬрд┐рд╕ рддрд░рд╣ рд╣рдореЗрдВ рдХрднреА-рдХрднреА рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрд╕реА рддрд░рд╣ рд╣рдореЗрдВ рдХрднреА-рдХрднреА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЖрдИрдкреАрд╡реА4рдЗрдВрдЯрд░рдлреЗрд╕. IPv4InterfaceContainer рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ.

рд╣рдордиреЗ рдПрдХ рдкреЙрдЗрдВрдЯ-рдЯреВ-рдкреЙрдЗрдВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреИрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдФрд░ рдЖрдИрдкреА рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЧрдПред рдЕрдм рд╣рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

4.2.7 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдПрдирдПрд╕-3 рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдПрдХ рдФрд░ рдореБрдЦреНрдп рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ рдЖрд╡реЗрджрди (рдЖрд╡реЗрджрди рдкрддреНрд░)ред рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рд╣рдо рджреЛ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЖрд╡реЗрджрди рдПрдирдПрд╕-3 рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ UdpEchoServerрдЕрдиреБрдкреНрд░рдпреЛрдЧ ╨╕ UdpEchoClientрдПрдкреНрд▓рд┐рдХреЗрд╢рди. рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЛрдВ рдХреА рддрд░рд╣, рд╣рдо рдЖрдзрд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ UdpEchoServerHelper ╨╕ UdpEchoClientHelpeрд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдПрдВред

UdpEchoServerHelper

рд╣рдорд╛рд░реА рдкрд╣рд▓реА.рд╕реАрд╕реА рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдб рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдпреВрдбреАрдкреА рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

UdpEchoServerHelper echoServer (9);

ApplicationContainer serverApps = echoServer.Install (nodes.Get (1));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));

рдЙрдкрд░реЛрдХреНрдд рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рдХреЛрдб рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдмрдирддреА рд╣реИ UdpEchoServerHelper. рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдпрд╣ рд╕реНрд╡рдпрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдПрдХ рд╕рдореНрдореЗрд▓рди рд╕рд╣рд╛рдпрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд╣рд╛рдпрдХ рддрдм рддрдХ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ рд╡рд╣ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рди рджрд┐рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕ рдкрд░ рд╕рд░реНрд╡рд░ рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рд╕реБрдиреЗрдЧрд╛, рдпрд╣ рдирдВрдмрд░ рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╣реЗрд▓реНрдкрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рджреЗрддреЗ рд╣реИрдВред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░, рдмрджрд▓реЗ рдореЗрдВ, рдмрд╕ рдХрд░рддрд╛ рд╣реИ рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде. рдмрд╛рдж рдореЗрдВ, рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛ, рддреЛ рдЖрдк рдкреЛрд░реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SetAttribute рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдИ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХреА рддрд░рд╣, рд╡рд╕реНрддреБ UdpEchoServerHelper рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ. рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрд╛рдВрдз рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рддрд░реАрдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рд▓реЗрддрд╛ рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░ рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣ рд╣реА рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдЬреЛ рддрд░реАрдХреЗ рд╣рдордиреЗ рджреЗрдЦреЗ рд╣реИрдВ.

рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ C++ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реЗрддрд╛ рд╣реИ рдиреЛрдб.рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ(1) (рдЬреЛ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдкреЙрдЗрдВрдЯрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ - Ptr ) рдФрд░ рдЕрдирд╛рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░рдЬрд┐рд╕реЗ рдлрд┐рд░ рд╡рд┐рдзрд┐ рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ. рдпрджрд┐ рдЖрдк C++ рдХреЛрдб рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдХрд┐рд╕ рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред

рдЕрдм рд╣рдо рдЙрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдЗрдХреЛрд╕рд░реНрд╡рд░.рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ UdpEchoServerрдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдиреЛрдбрдХрдВрдЯреЗрдирд░рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рдиреЛрдбреНрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдЗрдВрдбреЗрдХреНрд╕ 1 рдХреЗ рд╕рд╛рде рдиреЛрдбред рд╡рд┐рдзрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╣реЛрдВрдЧреЗ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдкрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдиреЛрдбрдХрдВрдЯреЗрдирд░, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдиреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ) рд╕рд╣рд╛рдпрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдХрдм рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ "рд╢реБрд░реВ рдХрд░рдирд╛" рдФрд░ рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ "рд░реБрдХрдирд╛". рд╣рдо рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ. рдпреЗ рд╕рдордп рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдПрдкреНрд▓реАрдХреЗрд╢рдирдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн ╨╕ рд░реБрдХреЗрдВ. рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИрдВ рдкрд╣рд░. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо C++ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП C++ рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдбрдмрд▓ 1.0 рдФрд░ рдЗрд╕реЗ рдПрдХ рдЯреАрдПрдирдПрд╕-3 рдЯрд╛рдЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдЬреЛ рд╕реЗрдХреЗрдВрдб рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдХреЗрдВрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд░реВрдкрд╛рдВрддрд░рдг рдирд┐рдпрдореЛрдВ рдХреЛ рдореЙрдбрд▓ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ C++ рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдо рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрдкрдиреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ

serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));

рд╕рд┐рдореБрд▓реЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдПрдХ рд╕реЗрдХрдВрдб рдмрд╛рдж рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджрд╕ рд╕реЗрдХрдВрдб рдмрд╛рдж рд░реБрдХ рдЬрд╛рдПрдЧрд╛ (рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╣рдордиреЗ рдПрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рдЗрд╡реЗрдВрдЯ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЙрдк рдЗрд╡реЗрдВрдЯ) рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рджрд╕ рд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХрдо рд╕реЗ рдХрдо рджрд╕ рд╕реЗрдХрдВрдб рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

UdpEchoClientHelper

рдЧреНрд░рд╛рд╣рдХ рдЖрд╡реЗрджрди рдЧреВрдВрдЬ рд▓рдЧрднрдЧ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдПрдХ рдЖрдзрд╛рд░ рд╡рд╕реНрддреБ рд╣реИ UdpEchoClientрдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬреЛ рдкреНрд░рдмрдВрдзрд┐рдд рд╣реИ
UdpEchoClientHelper.

UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9);
echoClient.SetAttribute ("MaxPackets", UintegerValue (1));
echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.0)));
echoClient.SetAttribute ("PacketSize", UintegerValue (1024));

ApplicationContainer clientApps = echoClient.Install (nodes.Get (0));
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));;

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкрд╛рдБрдЪ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реИрдВ UdpEchoClientHelper. рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ (рд╕рд╣рд╛рдпрдХ рдХреЗ рдЕрдВрджрд░) рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ "рджреВрд░рд╕реНрде рдкрддрд╛" ╨╕ "рд░рд┐рдореЛрдЯрдкреЛрд░реНрдЯ" рд╣реЗрд▓реНрдкрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдордЭреМрддреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред

рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ IPv4InterfaceContainer рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрдВрдЯрд░рдлреЗрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдиреЛрдбреНрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд▓ рдиреЛрдб рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрд╣рд▓рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдиреЛрдбреНрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрд╣рд▓реЗ рдиреЛрдб рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ (рдКрдкрд░) рдореЗрдВ, рд╣рдо рдПрдХ рд╕рд╣рд╛рдпрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рджреВрд░рд╕реНрде рдкрддрд╛ рд╣реЛрд╕реНрдЯ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╕рд░реНрд╡рд░ рд╕реНрдерд┐рдд рд╣реИред рд╣рдо рдпрд╣ рднреА рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреЛрд░реНрдЯ рдиреМ рдкрд░ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

"рдореИрдХреНрд╕рдкреИрдХреЗрдЯреНрд╕" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╣рдо рдХрд┐рддрдиреЗ рдкреИрдХреЗрдЯ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред "рдЕрдВрддрд░рд╛рд▓" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдкреИрдХреЗрдЯ рдХреЗ рдмреАрдЪ рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдФрд░ "рдкреИрдХреЗрдЯрд╕рд╛рдЗрдЬ" рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдкреИрдХреЗрдЯ рдХрд╛ рдкреЗрд▓реЛрдб рдХрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ 1024-рдмрд╛рдЗрдЯ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред

рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдХреА рддрд░рд╣, рд╣рдо рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдкреНрд░рд╛рд░рдВрдн ╨╕ рд░реБрдХреЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рд╕рд░реНрд╡рд░ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рдПрдХ рд╕реЗрдХрдВрдб рдмрд╛рдж (рд╕рд┐рдореБрд▓реЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рджреЛ рд╕реЗрдХрдВрдб рдмрд╛рдж) рдХреНрд▓рд╛рдЗрдВрдЯ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

4.2.8 рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдореЗрдВ рд╕рд┐рдореБрд▓реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рдЪрд▓рд╛рдПрдБ.

Simulator::Run ();

рдЬрдм рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдерд╛,

serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));
... 
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));

рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ 1,0 рд╕реЗрдХрдВрдб, 2,0 рд╕реЗрдХрдВрдб рдФрд░ 10,0 рд╕реЗрдХрдВрдб рдкрд░ рджреЛ рдЗрд╡реЗрдВрдЯ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдПред рдХреЙрд▓ рдХреЗ рдмрд╛рдж рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рдЪрд▓рд╛рдПрдБ, рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ 1,0 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдИрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдЧрд╛, рдЬреЛ рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ (рдпрд╣ рдИрд╡реЗрдВрдЯ рдмрджрд▓реЗ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдИрд╡реЗрдВрдЯ рд╢реЗрдбреНрдпреВрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ t=2,0 рд╕реЗрдХрдВрдб рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдПрдХ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдЧрд╛ рдЬреЛ рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░, рдЗрд╕ рдЖрдпреЛрдЬрди рдореЗрдВ рдХрдИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕реНрдЯрд╛рд░реНрдЯ рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреИрдХреЗрдЯ рднреЗрдЬрдХрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЪрд░рдг рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред

рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреА рдФрд░ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдордп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдЗрдХреЛ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреА рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧреАред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЪреВрдВрдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдкреИрдХреЗрдЯ рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ (рдпрд╛рдж рд░рдЦреЗрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛ рдореИрдХреНрд╕рдкреИрдХреЗрдЯреНрд╕ рдПрдХ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛), рдЗрд╕ рдПрдХрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рдШрдЯрдирд╛рдУрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рд╢реЗрд╖ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реЛрдВрдЧреЗ рд░реБрдХреЗрдВ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП. рдЬрдм рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдШрдЯрдирд╛ рдирд╣реАрдВ рдмрдЪреЗрдЧреА рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рдЪрд▓рд╛рдПрдБ рдирд┐рдпрдВрддреНрд░рдг рд▓реМрдЯрд╛ рджреЗрдЧрд╛. рдЕрдиреБрдХрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ.

рдЬреЛ рдХреБрдЫ рдмрдЪрд╛ рд╣реИ рд╡рд╣ рдЕрдкрдиреЗ рдкреАрдЫреЗ рд╕рдлрд╛рдИ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рдирд╖реНрдЯ рдХрд░реЗрдВ. рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдпрд╛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрдирдПрд╕ -3 рдХреЛрдб) рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрдирд╛рдИ рдЧрдИ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рд╣реБрдХ рдбрд╛рд▓реЗ рдЧрдП рдереЗред рдЖрдкрдХреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ рдХреЛ рд╕реНрд╡рдпрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА - рдЖрдкрдХреЛ рдмрд╕ рдХреЙрд▓ рдХрд░рдирд╛ рдерд╛ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рдирд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░ рдЬрд╛рдУ. рдПрдирдПрд╕-3 рдкреНрд░рдгрд╛рд▓реА рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдХрдард┐рди рдХрд╛рдо рдХрд░реЗрдЧреАред рд╣рдорд╛рд░реА рдкрд╣рд▓реА ns-3 рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдлрд░реНрд╕реНрдЯ.рд╕реАрд╕реА рдХреА рд╢реЗрд╖ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдмрд╕ рдпрд╣реА рдХрд░рддреА рд╣реИрдВ:

Simulator::Destroy ();
return 0;
}

рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрдм рдмрдВрдж рд╣реЛрдЧрд╛?

рдПрдирдПрд╕-3 рдПрдХ рдЕрд╕рддрдд рдШрдЯрдирд╛ (рдбреАрдИ) рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╣реИред рдРрд╕реЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдЙрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ, рдФрд░ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ, рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдХреЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИред рдШрдЯрдирд╛рдПрдБ рднрд╡рд┐рд╖реНрдп рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЯрд╛рдЗрдорд░ рдЕрдЧрд▓реЗ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдЧрд┐рдирддреА рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдШрдЯрдирд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдЗрдХрд╛рдИ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдИрдкреАрд╡реА6 рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЦреЛрдЬ, рдкрдбрд╝реЛрд╕реА рдЕрдиреБрд░реЛрдз рдЖрджрд┐ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдЧрд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреА рдШрдЯрдирд╛ рдЖрджрд┐ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╢реВрдиреНрдп, рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдИрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ, рдШрдЯрдирд╛рдПрдБ рдШрдЯрд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдпрд╛ рддреЛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдпрд╛ рдирдИ рдмрди рдЬрд╛рддреА рд╣реИрдВред рдпрджрд┐ рдИрд╡реЗрдВрдЯ рдХрддрд╛рд░ рдЦрд╛рд▓реА рд╣реИ рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдИрд╡реЗрдВрдЯ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рддреЛ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рд░реБрдХреЗрдВ. рдЖрдпреЛрдЬрди рд░реБрдХреЗрдВ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд░реБрдХреЗрдВ (рд░реБрдХрдиреЗ рдХрд╛ рд╕рдордп)ред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд╕реНрдЯреЙрдк рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдЬрдм рдЖрддреНрдордирд┐рд░реНрднрд░ рдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред рдЖрддреНрдордирд┐рд░реНрднрд░ (рдпрд╛ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА) рдШрдЯрдирд╛рдПрдБ рд╡реЗ рдШрдЯрдирд╛рдПрдБ рд╣реИрдВ рдЬреЛ рд╣рдореЗрд╢рд╛ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡реЗ рдЗрд╡реЗрдВрдЯ рдХрддрд╛рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдРрд╕реЗ рдХрдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

тАв рдлрд╝реНрд▓реЛрдореЙрдирд┐рдЯрд░ - рдЦреЛрдП рд╣реБрдП рдкреИрдХреЗрдЯреЛрдВ рдХреА рд╕рдордп-рд╕рдордп рдкрд░ рдЬрд╛рдБрдЪ;

тАв RIPng - рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдЕрдкрдбреЗрдЯ рдХрд╛ рдЖрд╡рдзрд┐рдХ рдкреНрд░рд╕рд╛рд░рдг;

тАв рд╡рдЧреИрд░рд╣ред

рдРрд╕реЗ рдорд╛рдорд▓реЛ рдореЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд░реБрдХреЗрдВ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЬрдм ns-3 рдЗрдореНрдпреВрд▓реЗрд╢рди рдореЛрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд┐рдореБрд▓реЗрд╢рди рдШрдбрд╝реА рдХреЛ рдорд╢реАрди рдШрдбрд╝реА рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RealtimeSimulator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд░реБрдХреЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ.

рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдореЗрдВ рдХрдИ рд╕рд┐рдореБрд▓реЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд░реБрдХреЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдЪреВрдБрдХрд┐ рдкрдВрдХреНрддрд┐рдмрджреНрдз рдШрдЯрдирд╛рдПрдБ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд╕реНрдЯреЙрдк рдХреЙрд▓ рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдерди 11 рд╕реЗрдХрдВрдб рдкрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реНрдЯреЙрдк рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдЧрд╛:

+ Simulator::Stop (Seconds (11.0));
  Simulator::Run ();
  Simulator::Destroy ();
  return 0;
}

рдЙрдкрд░реЛрдХреНрдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ 10 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХрдерди рдореЗрдВ рд╕реНрдЯреЙрдк рдЯрд╛рдЗрдо рдХреЛ 11 рд╕реЗрдХрдВрдб рд╕реЗ 1 рд╕реЗрдХрдВрдб рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд┐рд╕реА рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп рдХреЗ рд▓рдЧрднрдЧ 2 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ)ред

Simulator::Run рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Simulator::Stop рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ; рдЕрдиреНрдпрдерд╛ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░::рд░рди рдХрднреА рднреА рд╕реНрдЯреЙрдк рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд▓реМрдЯрд╛ рд╕рдХрддрд╛ рд╣реИ!

4.2.9 рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛

рд╣рдордиреЗ рдЖрдкрдХреА рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рддреБрдЪреНрдЫ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдмрд╕ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреНрд░реИрдЪ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрди рдЬрд╛рдПрдЧреА waf. рдЖрдУ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд╢реАрд░реНрд╖ рд╕реНрддрд░реАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ рдФрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдЙрджрд╛рд╣рд░рдг/рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓/first.cc рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЦрд░реЛрдВрдЪ

$ cd ../.. 
$ cp examples/tutorial/first.cc scratch/myfirst.cc

рдЕрдм рдЕрдкрдиреА рдкрд╣рд▓реА рдирдореВрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдПрдВ WAF:

$ ./waf

рдЖрдкрдХреЛ рдРрд╕реЗ рд╕рдВрджреЗрд╢ рджрд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдП рдЬреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реЛрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
[614/708] cxx: scratch/myfirst.cc -> build/debug/scratch/myfirst_3.o
[706/708] cxx_link: build/debug/scratch/myfirst_3.o -> build/debug/scratch/myfirst
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (2.357s)

рдЕрдм рдЖрдк рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдХреНрд░реИрдЪ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдпрд╣реАрдВ рд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдЦрд░реЛрдВрдЪ):

$ ./waf --run scratch/myfirst

рдЖрдкрдХреЛ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.418s) Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
Received 1024 bytes from 10.1.1.2

рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИред рдЖрдк рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдШрдЯрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдЗрдХреЛ рд╕рд░реНрд╡рд░ 1024 рдкрд░ рдПрдХ 10.1.1.2-рдмрд╛рдЗрдЯ рдкреИрдХреЗрдЯ рднреЗрдЬрд╛ рд╣реИред рдЖрдк рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЙрдЧрд┐рдВрдЧ рдШрдЯрдХ рднреА рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕реЗ 1024 рд╕реЗ 10.1.1.1 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реБрдПред рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдЪреБрдкрдЪрд╛рдк рдкреИрдХреЗрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕реЗ рдЕрдкрдирд╛ рдкреИрдХреЗрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рд╡рд╛рдкрд╕ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред

4.3 рдПрдирдПрд╕-3 рд╕реНрд░реЛрдд рдХреЛрдб

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдХреБрдЫ рдПрдирдПрд╕-3 рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреБрдЫ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдирд╡реАрдирддрдо рдХреЛрдб рд╣рдорд╛рд░реЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдВрдХ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://gitlab.com/nsnam/ns-3-dev.git. рд╡рд╣рд╛рдВ рдЖрдк рд╣рдорд╛рд░реЗ рдПрдирдПрд╕-3 рд╡рд┐рдХрд╛рд╕ рд╡реГрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдорд░реНрдХреНрдпреВрд░рд┐рдпрд▓ рд╕рд╛рд░рд╛рдВрд╢ рдкреГрд╖реНрда рджреЗрдЦреЗрдВрдЧреЗред рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЖрдкрдХреЛ рдХрдИ рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ,

summary | shortlog | changelog | graph | tags | files

рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдВрдХ рдЪреБрдиреЗрдВред рд╣рдорд╛рд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреЗрдЧрд╛:

drwxr-xr-x                               [up]
drwxr-xr-x                               bindings python  files
drwxr-xr-x                               doc              files
drwxr-xr-x                               examples         files
drwxr-xr-x                               ns3              files
drwxr-xr-x                               scratch          files
drwxr-xr-x                               src              files
drwxr-xr-x                               utils            files
-rw-r--r-- 2009-07-01 12:47 +0200 560    .hgignore        file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 1886   .hgtags          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 1276   AUTHORS          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 30961  CHANGES.html     file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 17987  LICENSE          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 3742   README           file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 16171  RELEASE_NOTES    file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 6      VERSION          file | revisions | annotate
-rwxr-xr-x 2009-07-01 12:47 +0200 88110  waf              file | revisions | annotate
-rwxr-xr-x 2009-07-01 12:47 +0200 28     waf.bat          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 35395  wscript          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 7673   wutils.py        file | revisions | annotate

рд╣рдорд╛рд░реА рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВ рдЙрджрд╛рд╣рд░рдг. рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдкреНрд░рдердо.рд╕реАрд╕реА. рдпрджрд┐ рдЖрдк рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдкреНрд░рдердо.рд╕реАрд╕реА рдЖрдкрдХреЛ рд╡рд╣ рдХреЛрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рдЖрдкрдиреЗ рдЕрднреА рд╕реАрдЦрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдХреЛрдб рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ ". рдЖрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЗ рджрд╛рдИрдВ рдУрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк src рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ src рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓реЗрдЧреАред рдпрджрд┐ рдЖрдк рдХреЛрд░ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓реЗрдЧреАред рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ (рдЗрд╕ рдЧрд╛рдЗрдб рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп) рд╡рд╣ рд╣реИ рдЧрд░реНрднрдкрд╛рдд.рдПрдЪ. рдпрджрд┐ рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдЧрд░реНрднрдкрд╛рдд.рдПрдЪ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдЧрд░реНрднрдкрд╛рдд.рдПрдЪ, рдЬрд┐рд╕рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рдиреЗ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдореИрдХреНрд░реЛрдЬрд╝ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╕реНрд░реЛрдд/рдЕрдиреБрдкреНрд░рдпреЛрдЧ/рд╕рд╣рд╛рдпрдХ. рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдПрдирдПрд╕-3 рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╢реИрд▓реА рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдЭрд┐рдЭрдХ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЯреНрд░реА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдореЗрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ