Sobes.tech
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