IPsec-ով ձայնը նշվում է որպես կոդեկի բիթրեյթ, և այդ թիվը սխալ է յուրաքանչյուր սահմանում, բացի հենց կոդեկի սահմանից։ Ձայնը 8 kbit/s է, այն կրող փաթեթն ավելի մեծ է, ESP ծրարն էլ ավելի մեծ է, և Ethernet շրջանակն ավելացնում է շրջանակավորում, որը թունելի վրա արված ոչ մի գրառում չի ցույց տալիս։ Մեկ փաթեթը տրված ձևաչափից հաշվելը միակ միջոցն է իմանալու, թե ֆիզիկական կապը իրականում ինչ պետք է կրի։ Ներքևի վերլուծությունը դա անում է միայն մեկ ուղղության համար, և այստեղ յուրաքանչյուր թիվ թվաբանություն է, ոչ չափում։

Սկսեք փաթեթավորման ընտրությունից, ոչ թե կոդեկի թվից

Կոդեկի աղյուսակը տալիս է օգտակար բեռի արագությունը և ուրիշ ոչինչ. G.729-ը տալիս է 8 kbit/s, այսինքն՝ 30 բայթ ձայն յուրաքանչյուր 30 ms-ում։ Այն ոչինչ չի ասում վերնագրերի, պաշտպանության կամ շրջանակավորման մասին, և հենց այդ երեքն են որոշում արդյունքը։ Ինտերվալը քաղաքականության ընտրություն է, որի շուրջ պետք է համաձայնեն երկու կողմերը, ուստի ընտրեք այն առաջինը և հայտարարեք, որովհետև յուրաքանչյուր հաջորդ թիվ կախված է այդ մեկ որոշումից։

Այս օրինակը օգտագործում է 30 ms, ուստի փաթեթների արագությունը 33.3 է վայրկյանում։ Այն ենթադրում է 12 բայթանոց RTP վերնագիր, 8 բայթանոց UDP վերնագիր և առանց ընտրանքների 20 բայթանոց ներքին IPv4 վերնագիր, ինչպես նաև SRTP-ի, վերնագրի սեղմման կամ երթևեկության հոսքի գաղտնիության լցոնման բացակայություն. ցանկացած փոփոխություն բյուջեն էլ է տեղափոխում, այդ պատճառով ենթադրությունները պատասխանի կողքին են։

Ավելացրեք ներքին վերնագրերը, ապա ESP ծրարը

Հավելվածն ուղարկում է օգտակար բեռ գումարած RTP գումարած UDP գումարած IP, որը այս փաթեթավորումով 70 բայթ է։ Այդ ներքին հոսքը ստացվում է 18.7 kbit/s, արդեն ավելի քան երկու անգամ կոդեկի արագությունից, որովհետև փաթեթի մեծ մասը վերնագրերն են, ոչ թե ձայնը։ Այդ բայթերից ոչ մեկը ձայն չէ. դրանք հասցեավորման և հաջորդականացման գինն են։ Թունելից վեր արված գրառումը ցույց է տալիս հենց այս թիվը, և հենց այն են մարդիկ մեջբերում, երբ ասում են, որ զանգը փոքր է։

Սա նաև այն թիվն է, որը երբեք չի հասնում լարին։ ESP թունելի ռեժիմը ավելացնում է 8 բայթանոց SPI և հաջորդականության համար, 8 բայթանոց բացահայտ IV AES-GCM-ի համար, 2 բայթանոց պոչ և 16 բայթանոց նույնականացման պիտակ։ 70 բայթանոց բեռը պոչի հետ հասնում է 72-ի, ինչն արդեն բավարարում է չորս բայթանոց հավասարեցմանը, ուստի այստեղ լրացուցիչ լցոնում պետք չէ։RFC 4106 սահմանում է GCM IV-ի և պիտակի չափերը, և երկուսն էլ թվաբանության մեջ են, ոչ թե ծանոթագրության մեջ.

30  payload, G.729 at 30 ms
12  RTP
 8  UDP
20  inner IPv4
--
70  inner IP packet
 8  ESP SPI and sequence
 8  explicit IV
 2  pad length and next header
16  authentication tag
--
104 ESP packet

Ավելացրեք արտաքին վերնագրերը, որոնք պահանջում է NAT-ի անցումը

ESP ծրարից դուրս կան 20 բայթանոց արտաքին IPv4 վերնագիր և NAT-ի անցման համար 8 բայթանոց UDP վերնագիր, ուստի փաթեթը դառնում է 132 բայթ։ UDP ինկապսուլյացիան գոյություն ունի այն պատճառով, որ փաթեթը պետք է անցնի զույգերի միջև թարգմանող սարքով, և այն փոխում է արտաքին ձևը՝ չդիպչելով պաշտպանված բեռին։ Վայրկյանում 33.3 փաթեթի դեպքում 132 բայթը մոտ 35.2 kbit/s է, այսինքն՝ մոտավորապես չորս անգամ կոդեկի անվանական արագությունը։

Ոչ պիտակը, ոչ IV-ն չեն կարող հանվել գնահատականից այն փոքրացնելու համար, որովհետև երկուսն էլ այն բանի մասն են, ինչ կապը իրականում կկրի։ Գնահատականը, որը դրանք բաց է թողնում, նկարագրում է փաթեթ, որը ստացողը կմերժեր։ Նույնը վերաբերում է պոչին, որը գոյություն ունի բեռի սահմանը և պաշտպանված տարածքի ներսում հաջորդ վերնագիրը նշելու համար։

Անվանեք սահմանը նախքան թիվը մեջբերելը

Արտաքին IP-ի թիվը դեռ բացառում է Ethernet շրջանակավորումը։ Պիտակավորված կամ առանց պիտակի մուտքի կապը ավելացնում է 14 բայթանոց MAC վերնագիր և 4 բայթանոց շրջանակի ստուգման հաջորդականություն՝ շրջանակը դարձնելով 150 բայթ, ինչը այն չափն է, որ հաշվում է անջատիչի պորտը։ Նույն փաթեթի արագությամբ դա 40 kbit/s է՝ հինգ անգամ կոդեկի արագությունը, և տարբերությունը վատնում չէ, այլ փոխադրման գինը։

BoundaryPacket sizeRate at 33.3 packets/sWhat it counts
Codec payload30 bytes8.0 kbit/sThe audio alone
Inner IP packet70 bytes18.7 kbit/sApplication headers included
Outer IP packet132 bytes35.2 kbit/sESP and NAT-T included
Ethernet frame150 bytes40.0 kbit/sLink framing included

40 kbit/s թիվը դեռ բացառում է նախաբանը, շրջանակների միջև ընդմիջումը, VLAN պիտակները, մատակարարի ինկապսուլյացիան, RTCP-ն, ազդանշանումը և մյուս ուղղությամբ գնացող ձայնը։ Սա մեկ ուղղության գնահատական է, ոչ կապի ամրագրում, և այն որպես ամրագրում մեջբերելը չափազանցնում է այն, ինչ կապը պետք է ամրագրի մի տեղում, և թերագնահատում է այն մեկ այլ տեղում։ Հոսթի վրա արված գրառումը նույնպես կարող է բաց թողնել կապի ավելացրած շրջանակավորումը, դրա համար սահմանը պետք է անվանվի թվի կողքին․ և դրա համար սահմանների աղյուսակն ավելի օգտակար է, քան մեկ վերնագրային թիվ։ Առանձին ամրագրեք այն ուղղության համար, որը չեք հաշվել։

Ստուգեք թվաբանությունը ինտերֆեյսի դեմ

Նախքան գնահատականին վստահելը, համեմատեք այն ինտերֆեյսի հաղորդածի հետ հայտնի քանակի փաթեթների համար։ Գրառում արեք ֆիզիկական ինտերֆեյսի վրա, ոչ թունելի սարքի, որպեսզի ձեր հաշվի առնելիք շրջանակավորումը ներառվի, և սպասեք փոքր անհամապատասխանության, ոչ թե կատարյալ համընկնման։

sudo tcpdump -ni eth0 -c 50 'udp port 4500'
ip -s link show eth0

Գրառումը հաստատում է արտաքին փաթեթի չափը, իսկ ինտերֆեյսի հաշվիչները ցույց են տալիս արագությունը՝ ներառյալ շրջանակավորումը։ Եթե երկուսը տարբերվում են մոտավորապես Ethernet-ի թույլատրությամբ, թվաբանությունը ճիշտ է, և միայն սահմանն է սխալ անվանվել։ Մեկ շրջանակի վերնագրից շատ ավելի մեծ տարբերությունը ցույց է տալիս կապի վրա մեկ այլ բան, օրինակ կրկնակի ուղարկումներ կամ ինտերֆեյսը կիսող մեկ այլ հոսք։ Գրեք փաթեթավորման ինտերվալը, պաշտպանության հավաքածուն և սահմանը թվի կողքին, որովհետև առանց այդ երեքի գնահատականը հաջորդ ընթերցողը մեջբերում է որպես չափում։

Առնչվող հոդվածներ