TCP త్రూపుట్ పరిమితులను అర్థం చేసుకోవడం
ఒక నెట్వర్క్ పాత్ ద్వారా సాధ్యమయ్యే గరిష్ట బదిలీ వేగం కేవలం అందుబాటులో ఉన్న బ్యాండ్విడ్త్ పై మాత్రమే ఆధారపడి ఉండదు. ఒకే ఒక TCP ఫ్లో (single TCP flow) ప్రసారమయ్యేటప్పుడు, దాని వేగం మూడు వేర్వేరు స్వతంత్ర పరిమితులలో ఏది అత్యంత తక్కువగా ఉంటే దాని ద్వారా నిర్ణయించబడుతుంది. ఈ పరిమితులు: లింక్ సామర్థ్యం (link capacity), రిసీవ్ విండో (the receive window), మరియు ప్యాకెట్ నష్టం (packet loss).
నెట్వర్క్ లాటెన్సీ బ్యాండ్విడ్త్ కాలిక్యులేటర్ ఈ మూడు పరిమితులను విశ్లేషించి, మీ కనెక్షన్ను నెమ్మదింపజేస్తున్న అసలైన అడ్డంకిని గుర్తిస్తుంది. ప్రోటోకాల్ ఓవర్హెడ్ కారణంగా వాస్తవ పేలోడ్ వేగం ఎల్లప్పుడూ లింక్ రేట్ కంటే తక్కువగా ఉంటుంది. ప్రామాణిక ఈథర్నెట్ ఫ్రేమ్లలో ప్రతి ప్యాకెట్కు 78 బైట్ల ఓవర్హెడ్ (40 బైట్లు TCP/IP హెడర్ల కోసం మరియు 38 బైట్లు వైర్పై ఉండే భౌతిక ఓవర్హెడ్ కోసం) జోడించబడుతుంది. దీనివల్ల లింక్ సామర్థ్యం కొంతవరకు తగ్గుతుంది.
బ్యాండ్విడ్త్-డిలే ప్రొడక్ట్ (BDP) మరియు విండో పరిమాణం
నెట్వర్క్ పైప్ను పూర్తిగా నింపడానికి ఎంత డేటా ప్రసారంలో ఉండాలో బ్యాండ్విడ్త్-డిలే ప్రొడక్ట్ (BDP) సూచిస్తుంది. దీనిని కింది ఫార్ములా ద్వారా లెక్కిస్తారు:
BDP = rate × RTT
TCP ప్రోటోకాల్లో పంపిన డేటాకు అవతలి వైపు నుండి అక్నాలెడ్జ్మెంట్ (ACK) వచ్చేలోపు పంపగలిగే గరిష్ట డేటా పరిమాణాన్ని రిసీవ్ విండో నియంత్రిస్తుంది. ఒకవేళ రిసీవ్ విండో పరిమాణం BDP కంటే తక్కువగా ఉంటే, నెట్వర్క్ పైప్ పాక్షికంగా ఖాళీగా ఉండిపోతుంది, దీనివల్ల త్రూపుట్ తగ్గుతుంది.
అన్స్కేల్డ్ TCP విండో యొక్క గరిష్ట పరిమితి 65,535 బైట్లు మాత్రమే. అధిక లాటెన్సీ మరియు వేగవంతమైన కనెక్షన్లు ఉన్న పాత్లపై ఈ పరిమితిని అధిగమించడానికి TCP విండో స్కేలింగ్ (RFC 7323) అవసరమవుతుంది. RFC 7323 ద్వారా చర్చించగలిగే గరిష్ట విండో పరిమాణం 1,073,725,440 బైట్లు.
ప్యాకెట్ నష్టం మరియు Mathis మోడల్
నెట్వర్క్లో ప్యాకెట్ నష్టం సంభవించినప్పుడు, TCP దానిని రద్దీగా (congestion) భావించి పంపే వేగాన్ని తగ్గిస్తుంది. ఈ నష్ట-పరిమిత త్రూపుట్ను Mathis ఫార్ములా ద్వారా లెక్కిస్తారు:
నష్ట పరిమితి (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value›
ఇక్కడ p అనేది ప్యాకెట్ నష్ట సంభావ్యతను సూచిస్తుంది. Mathis మోడల్ సమానంగా విస్తరించిన, స్వతంత్ర ప్యాకెట్ నష్టాన్ని ఊహిస్తుంది మరియు ఇది కేవలం 1% కంటే తక్కువ నష్టం ఉన్నప్పుడు మాత్రమే విశ్వసనీయంగా పనిచేస్తుంది. నష్టం 1% కంటే ఎక్కువ ఉన్నప్పుడు, ఈ మోడల్ చూపే పరిమితి వాస్తవికత కంటే ఆశాజనకంగా ఉంటుంది.
ఇన్పుట్ పారామితులు మరియు పరిమితులు
గణనలను ఖచ్చితంగా నిర్వహించడానికి కాలిక్యులేటర్లో కింది విలువలను నమోదు చేయాలి:
- లింక్ రేట్: పాత్లోని అత్యంత నెమ్మదైన హాప్ వేగం. ఇది సున్నా కంటే ఎక్కువగా ఉండాలి.
- రౌండ్-ట్రిప్ సమయం (RTT): దూరంగా ఉన్న చివరకి పింగ్ సమయం. ఇది సున్నా కంటే ఎక్కువగా ఉండాలి.
- డేటా పరిమాణం: బదిలీ చేయాల్సిన మొత్తం పేలోడ్ పరిమాణం. ఇది సున్నా కంటే ఎక్కువగా ఉండాలి.
- రిసీవ్ విండో: రిసీవర్ బఫర్ చేయగల బైట్లు. ఇది సున్నా కంటే ఎక్కువగా ఉండాలి మరియు 1,073,725,440 బైట్ల కంటే ఎక్కువ ఉండకూడదు. దీనిని ఖాళీగా వదిలేస్తే విండో పరిమితి వర్తించదు.
- MSS (బైట్లు): ప్యాకెట్కు పేలోడ్ బైట్లు. ఇది 1 మరియు 65,495 మధ్య ఉండే పూర్ణ సంఖ్య అయి ఉండాలి.
- ప్యాకెట్ నష్టం (%): సగటు ప్యాకెట్ నష్ట శాతం. ఇది 0 మరియు 100 మధ్య ఉండాలి.
- ప్రదర్శించబడే దశాంశాలు: అవుట్పుట్ విలువల యొక్క దశాంశ ఖచ్చితత్వాన్ని నియంత్రిస్తుంది.
వినియోగదారులు సులభంగా అర్థం చేసుకోవడానికి ఇంటర్ఫేస్లో ఉదాహరణను లోడ్ చేయి మరియు ఇన్పుట్లను రీసెట్ చేయడానికి క్లియర్ చేయి బటన్లు అందించబడ్డాయి.
గణన సూత్రాలు మరియు ఫలితాల వివరణ
కాలిక్యులేటర్ కింది ఫార్ములాల ఆధారంగా ఫలితాలను లెక్కిస్తుంది:
- ప్రోటోకాల్ సామర్థ్యం:
ప్రోటోకాల్ సామర్థ్యం = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (40 B ప్యాకెట్ హెడర్లు + వైర్పై 38 B) - లింక్ సీలింగ్:
లింక్ సీలింగ్ = రేట్ × సామర్థ్యం = ‹rate› × ‹eff› = ‹value› - BDP:
BDP = రేట్ × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes› - పాత్ను నింపడానికి విండో:
పాత్ను నింపడానికి విండో = BDP ÷ 8 = ‹bdp› → ‹window› - విండో సీలింగ్:
విండో సీలింగ్ = విండో ÷ RTT = ‹window› ÷ ‹rtt› = ‹value› - నష్ట పరిమితి (Mathis):
నష్ట పరిమితి (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value› - ఆశించిన త్రూపుట్:
ఆశించిన త్రూపుట్ = ఈ సీలింగ్లలో అత్యంత తక్కువది = ‹value› → ‹constraint› ద్వారా పరిమితం చేయబడింది - బదిలీ సమయం:
బదిలీ సమయం = RTT + 8 × పరిమాణం ÷ త్రూపుట్ = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›
గణన పూర్తయిన తర్వాత, ఫలితాలను సులభంగా కాపీ చేయడానికి ఫలితాన్ని కాపీ చేయి బటన్ అందుబాటులో ఉంటుంది.
సిస్టమ్ నోటీసులు మరియు హెచ్చరికలు
ఇన్పుట్ విలువల ఆధారంగా కాలిక్యులేటర్ కింది నోటీసులను ప్రదర్శిస్తుంది:
- "ఈ పాత్ను నింపడానికి
‹window›విండో అవసరం — ఇది 65,535-బైట్ అన్స్కేల్డ్ గరిష్ట పరిమితి కంటే ఎక్కువ, కాబట్టి రెండు చివరలు తప్పనిసరిగా TCP విండో స్కేలింగ్ (RFC 7323) చర్చించాలి." - "ఈ పాత్ను నింపడానికి
‹window›అవసరం — ఇది TCP చర్చించగల అతిపెద్ద విండో (1,073,725,440 బైట్లు) కంటే ఎక్కువ. ఈ పాత్పై ఒకే ఫ్లో ఎప్పటికీ‹value›ని మించదు." - "రిసీవ్ విండోను
‹window›కి పెంచడం వల్ల ఈ బదిలీ గరిష్టంగా‹value›కి చేరుకుంటుంది." - "1% కంటే ఎక్కువ నష్టం అనేది Mathis మోడల్ యొక్క విశ్వసనీయ పరిధికి వెలుపల ఉంది — నష్ట పరిమితిని ఆశాజనకమైనదిగా పరిగణించండి."
గోప్యత మరియు ప్రాసెసింగ్ విధానం
ఈ కాలిక్యులేటర్ మీ గోప్యతకు భంగం కలిగించదు. మీరు నమోదు చేసే ప్రతి విలువ ఈ బ్రౌజర్లోనే లెక్కించబడుతుంది — ఎక్కడికీ ఏదీ పంపబడదు. ఎటువంటి బాహ్య సర్వర్లకు డేటా అప్లోడ్ చేయబడదు.
తరచుగా అడిగే ప్రశ్నలు (FAQ)
ప్రశ్న: నా బదిలీ నేను చెల్లించే లింక్ రేట్ కంటే ఎందుకు నెమ్మదిగా ఉంది? జవాబు: ఒక సింగిల్ TCP ఫ్లో మూడు స్వతంత్ర సీలింగ్లను ఎదుర్కొంటుంది మరియు వాటిలో అత్యంత తక్కువది విజయం సాధిస్తుంది. ప్రోటోకాల్ ఓవర్హెడ్ లింక్ను దాదాపు 5% తగ్గిస్తుంది — ఒక ప్రామాణిక ఈథర్నెట్ ఫ్రేమ్ వైర్పై ఉండే 1,538 బైట్లలో 1,460 పేలోడ్ బైట్లను తీసుకువెళుతుంది. రిసీవ్ విండో త్రూపుట్ను విండో ÷ RTT వద్ద పరిమితం చేస్తుంది, కాబట్టి క్లాసిక్ 65,535-బైట్ విండో 50 ms పాత్ను లింక్ ఎంత వేగంగా ఉన్నప్పటికీ దాదాపు 10.5 Mbit/s వద్ద నిలిపివేస్తుంది. మరియు నష్టం దీనిని (MSS ÷ RTT) ÷ √నష్టం వద్ద పరిమితం చేస్తుంది. పైన పేర్కొన్న ఫలితం మీ సంఖ్యలపై ఏ సీలింగ్ పరిమితిని విధిస్తుందో తెలియజేస్తుంది.
ప్రశ్న: బ్యాండ్విడ్త్-డిలే ప్రొడక్ట్ అంటే ఏమిటి మరియు ఇది విండో పరిమాణాన్ని ఎందుకు నిర్ణయిస్తుంది? జవాబు: BDP — లింక్ రేట్ × రౌండ్-ట్రిప్ సమయం — అనేది ఏ క్షణంలోనైనా ప్రసారంలో ఉండే డేటా పరిమాణం. TCP గరిష్టంగా ఒక అన్అక్నాలెడ్జ్డ్ విండోను మాత్రమే కలిగి ఉండగలదు, కాబట్టి BDP కంటే చిన్నదైన విండో పైప్ను పాక్షికంగా ఖాళీగా ఉంచుతుంది: 50 ms RTTతో 100 Mbit/s వద్ద పైప్ 625 kBని కలిగి ఉంటుంది మరియు 65,535-బైట్ విండో దానిలో పదో వంతును కూడా నింపలేదు. అందుకే వేగవంతమైన, సుదీర్ఘమైన పాత్లకు TCP విండో స్కేలింగ్ (RFC 7323) అవసరం, ఇది చర్చించదగిన గరిష్ట పరిమితిని 65,535 బైట్ల నుండి దాదాపు 1 GBకి పెంచుతుంది.
ప్రశ్న: ప్యాకెట్ నష్టం TCP త్రూపుట్ను ఎలా పరిమితం చేస్తుంది? జవాబు: TCP నష్టాన్ని రద్దీగా పరిగణిస్తుంది మరియు ప్రతి నష్ట సంఘటనపై దాని పంపే రేటును సగానికి తగ్గిస్తుంది, కాబట్టి వేగవంతమైన పాత్లపై చిన్న నష్ట రేట్లు కూడా ప్రభావం చూపుతాయి. Mathis మోడల్ సీలింగ్ను (MSS ÷ RTT) ÷ √p గా అంచనా వేస్తుంది — 1,460-బైట్ MSSతో 50 ms పాత్పై 0.01% నష్టం వద్ద అది లింక్ వేగంతో సంబంధం లేకుండా దాదాపు 23 Mbit/s అవుతుంది. ఈ మోడల్ సమానంగా విస్తరించిన, స్వతంత్ర నష్ట సంఘటనలను ఊహిస్తుంది; దాదాపు 1% కంటే తక్కువగా ఉన్నప్పుడు ఇది వాస్తవికతను చక్కగా ప్రతిబింబిస్తుంది మరియు బర్స్టీ నష్టానికి ఇది ఆశాజనకంగా ఉంటుంది.
ప్రశ్న: ఇక్కడి మెగాబైట్లు నా ఫైల్ మేనేజర్లోని వాటితో సమానమేనా? జవాబు: కాదు. ఈ పేజీ నెట్వర్కింగ్ సంప్రదాయమైన దశాంశ యూనిట్లను ఉపయోగిస్తుంది: 1 kbit = 1,000 బిట్లు మరియు 1 MB = 1,000,000 బైట్లు. చాలా ఫైల్ మేనేజర్లు 1024-ఆధారిత యూనిట్లలో లెక్కిస్తారు, తరచుగా వాటిని తప్పుగా MB అని పిలుస్తారు — అక్కడ “100 MB” ఫైల్ సాధారణంగా 100 MiB ≈ 104.86 దశాంశ MB అవుతుంది, కాబట్టి ఇది బదిలీ కావడానికి దశాంశ సంఖ్య సూచించే సమయం కంటే దాదాపు 5% ఎక్కువ సమయం పడుతుంది. దానికి సరిగ్గా సరిపోలడానికి ఇక్కడ 104.86 MBని నమోదు చేయండి.