Middle
Ինչ եք իմանում TCP պատուհանի մասին?
sobes.tech AI
Պատասխան AI-ից
TCP պատուհանը՝ դա բուֆերային չափն է, որը ուղարկողը պատրաստ է օգտագործել տվյալների փոխանցման համար, առանց ստացողից հաստատում սպասելու։ Այն ծառայում է տվյալների հոսքի կառավարման և ստացողի բուֆերի գերբեռնվածության կանխարգելման համար։ Պատուհանի չափը դինամիկորեն փոխվում է կապի ընթացքում:
Հիմնական կողմնորոշումները՝
- Հոսքի վերահսկում: Համոզվում է, որ արագ ուղարկողը չի գերբեռնում դանդաղ ստացողին։
- Հավաստիություն: Հնարավորություն է տալիս ուղարկել մի քանի հատվածներ նախքան ACK ստանալը, ինչը բարձրացնում է անցանելիությունը բարձր լատենցի ցանցերում։
- Պատուհանի մասշտաբավորում (TCP Window Scale Option): TCP-ի ընդլայնում, որը թույլ է տալիս օգտագործել մեծ պատուհաններ (մինչև 1 ԳԲ), ինչը կարևոր է բարձր արագության ցանցերի համար՝ երկար հեռավորություններով։
Աշխատանքի օրինակ՝
Ուղարկողը ուղարկում է տվյալների հատվածներ ընթացիկ պատուհանի չափով։ Յուրաքանչյուր ստացված հատված հաստատվում է (ACK), տեղեկացնելով ուղարկողին ստացված տվյալների և առկա բուֆերի չափի մասին (նոր TCP պատուհան): Ուղարկողը կարող է ուղարկել նոր տվյալներ միայն այն ժամանակ, երբ չհասցված և չհաստատված տվյալների գումարը չի գերազանցում ստացողի հայտարարած պատուհանի չափը։
// Օրինակ՝ պատուհանի սահմաններում հատվածների ուղարկում
// Ենթադրենք, պատուհանի չափը 64KB է
// Ուղարկենք 16KB
// Հասցնում է մնացորդը՝ 48KB
// Ավելին՝ ուղարկենք 32KB
// Մնացորդ՝ 16KB
// Ավելին՝ ուղարկենք 16KB
// Պատուհանի տեղը սպառվել է, սպասում ենք ACK-ից
// Ստանում ենք ACK առաջին 16KB-ի համար
// Պատուհանի չափը մեծացել է 16KB-ով (հիմա հասանելի է 16KB + 16KB = 32KB նոր տվյալների ուղարկման համար)
// Կարող ենք ուղարկել ևս 32KB