परिवहन व अनुप्रयोग स्तर
cwnd है, जिसे प्रेषक स्वयं उस एकमात्र संकेत से निकालता है जो संजाल उसे देता है: क्षति। उन दोनों को पृथक् रखना बहुत से प्रश्नों का उत्तर देता है, क्योंकि प्रेषक जितना बकाया रख सकता है वह min(cwnd, ग्राहक खिड़की) है और प्रश्न किसी एक पर प्रतिबंध लगा सकता है। संकुलन कलनविधि स्वयं दो चरण व एक नियम है: ssthresh से नीचे रहते प्रत्येक आवागमन पर दुगुना करें, फिर प्रति आवागमन एक जोड़ें, और समय-समाप्ति पर ssthresh आधा करके 1 से पुनः आरंभ करें। तत्पश्चात् अनुप्रयोग स्तर, जहाँ पाठ्यक्रम पाँच प्रोटोकॉल नामित करता है और परीक्षणीय विषय अधिकांशतः यह है कि प्रत्येक ने कौन-सा परिवहन चुना और क्यों — तथा एक गिनती-परिणाम स्मरण के बजाय निष्पादित करने योग्य: अनपर्सिस्टेंट HTTP पृष्ठ की लागत 2(N+1) आवागमन है और पर्सिस्टेंट पाइपलाइन वाले की 3, N कुछ भी हो।UDP लगभग कुछ नहीं जोड़ता, और वही विशेषता है
| गुणधर्म | UDP | TCP |
|---|---|---|
| संयोजन स्थापन | कोई नहीं — भेजें और भूलें | त्रि-मार्गी हस्तमिलन, अतः किसी आँकड़े से पूर्व 1 RTT |
| शीर्षक आकार | 8 बाइट | न्यूनतम 20 बाइट, विकल्पों सहित अधिक |
| विश्वसनीयता | कोई नहीं; खोया डेटाग्राम सरलतः चला गया | अभिस्वीकृतियाँ व पुनःप्रेषण |
| क्रम | कोई नहीं — अनुप्रयोग को सँभालना है | क्रम-संख्या से क्रमबद्ध वितरण |
| प्रवाह व संकुलन नियंत्रण | कोई नहीं | दोनों, और वे पृथक् तंत्र हैं |
| उपयुक्त | DNS, DHCP, धारा-प्रवाह, जहाँ देर खोने से बुरी हो | HTTP, SMTP, FTP — जहाँ एक बाइट खोना अर्थ तोड़ दे |
दो नियंत्रण-चक्र जो एक चक्र नहीं हैं
| प्रश्न | प्रवाह नियंत्रण | संकुलन नियंत्रण |
|---|---|---|
| किसकी रक्षा? | ग्राहक का बफ़र | संजाल के अनुमार्गक |
| सीमा कौन नियत करता है? | ग्राहक, स्पष्ट रूप से | प्रेषक, क्षति से अनुमान द्वारा |
| कैसे ले जाया जाता? | प्रत्येक ACK में खिड़की क्षेत्र | कहीं नहीं — cwnd प्रेषक के स्थानीय है |
| प्रेषक कितना बकाया रख सकता है | ← min(cwnd, ग्राहक खिड़की) → | ← दोनों में लघुतर सदा जीतता है → |
TCP संकुलन नियंत्रण दो चरण हैं, उनके बीच एक स्विच सहित। मंद आरंभ में खिड़की प्रत्येक आवागमन पर दुगुनी होती है — जो चरघातांकी है, मंद नहीं; नाम का अर्थ है वह छोटी आरंभ होती है। जैसे ही cwnd, ssthresh तक पहुँचे, प्रेषक संकुलन परिवर्जन पर जाता है और प्रति आवागमन एक खंडक जोड़ता है, उस बिंदु हेतु रैखिक रूप से टोहता जहाँ संजाल शिकायत करे। समय-समाप्ति गंभीर संकुलन पढ़ी जाती है: ssthresh वर्तमान खिड़की का आधा हो जाता है और cwnd 1 से पुनः आरंभ। नीचे का प्रक्षेप-पथ ssthresh 8 से आरंभ करके व चक्र 8 में समय-समाप्ति देखकर अनुकरित किया गया।
| चक्र | cwnd | ssthresh | चरण |
|---|---|---|---|
| 1–3 | 1, 2, 4 | 8 | मंद आरंभ — दुगुना होते हुए |
| 4 | 8 | 8 | ssthresh पर ठीक पहुँचता है |
| 5–7 | 9, 10, 11 | 8 | संकुलन परिवर्जन — +1 |
| 8 | 12 → 1 | 8 → 6 | समय-समाप्ति: ssthresh = 12/2, cwnd = 1 |
| 9–11 | 1, 2, 4 | 6 | पुनः मंद आरंभ |
| 12 | 6 | 6 | ssthresh पर सीमित, 8 नहीं |
| 13–14 | 7, 8 | 6 | संकुलन परिवर्जन |
cwnd 4 है और ssthresh 6, अतः दुगुना करने पर 8 मिलता — देहली से आगे। यहाँ प्रयुक्त परिपाटी, और जो RFC वर्णित करते हैं, वह है कि मंद आरंभ प्रति अभिस्वीकृति एक खंडक बढ़ता है और अतः ठीक ssthresh पर रुकता है, 8 के बजाय 6 देते हुए। कुछ पाठ्यपुस्तकें मंद आरंभ को शुद्ध दुगुना करना बताती हैं और उसे पार जाने देती हैं, जो 8 देता और प्रत्येक पश्चात्वर्ती चक्र हटा देता। कोई भी पाठ मूर्खतापूर्ण नहीं, और ठीक इसीलिए ऐसा प्रश्न जो दो की घात न होता ssthresh दे और अपनी परिपाटी न बताए वह कठिन के बजाय अस्पष्ट है — प्रचालन-तंत्र खंड की TLB परिपाटी वाली वही स्थिति। व्यावहारिक सलाह: यदि प्रश्न का ssthresh दो की घात हो तो आप अस्पष्टता से कभी नहीं मिलेंगे, और यदि न हो, तो बताएँ आपने कौन-सी परिपाटी प्रयोग की। दो और विवरण पृथक् पूछे जाते हैं। तीन द्विरुक्त ACK को समय-समाप्ति से हलका माना जाता है: तीव्र पुनःप्रेषण तत्काल पुनः भेजता है और तीव्र प्रत्युद्धरण खिड़की 1 पर गिराने के बजाय आधी करता है, क्योंकि द्विरुक्त ACK सिद्ध करते हैं कि पैकेट अभी भी पहुँच रहे हैं। और प्रेषक सदा min(cwnd, ग्राहक खिड़की) से सीमित है, अतः प्रश्न किसी भी संख्या से पारक्षमता सीमित कर सकता है।listen एक सॉकेट बनाता है जो केवल स्वीकारता है, और प्रत्येक accept उस विशिष्ट चतुष्क से बद्ध नया सॉकेट लौटाता है। UDP में कोई संयोजन नहीं और अतः कोई चतुष्क नहीं — UDP सॉकेट केवल अपने पते व पोर्ट से पहचाना जाता है, और इसीलिए एक UDP सॉकेट प्रत्येक प्रेषक से डेटाग्राम पाता है और अनुप्रयोग को प्रत्येक पैकेट का स्रोत स्वयं देखना पड़ता है। परीक्षणीय रूप प्रायः गिनती-प्रश्न है: n स्थापित संयोजनों तथा अपने श्रवणकारी सहित सर्वर पर कितने सॉकेट विद्यमान हैं, और उत्तर n + 1 है।पाँच प्रोटोकॉल, तथा एक गिनती-परिणाम
| प्रोटोकॉल | परिवहन व पोर्ट | परीक्षित होता विवरण |
|---|---|---|
| DNS | UDP 53 (बड़े प्रत्युत्तर व क्षेत्र-अंतरण हेतु TCP) | पुनरावृत्तीय बनाम पुनरावर्ती समाधान; TTL सहित कैशन |
| SMTP | TCP 25 | धक्का प्रोटोकॉल; प्राप्ति POP3 या IMAP है, SMTP नहीं |
| HTTP | TCP 80 | अवस्था-रहित; पर्सिस्टेंट बनाम अनपर्सिस्टेंट संयोजन |
| FTP | TCP 21 नियंत्रण, 20 आँकड़ा | दो संयोजन; नियंत्रण वाला खुला रहता है (बैंड-बाह्य) |
| POP3 / IMAP | TCP 110 / 143 | POP3 प्रायः उतारकर मिटाता है; IMAP सर्वर पर अवस्था रखता है |
मुख्य बिंदु
- UDP, IP में पोर्ट व चेकसम जोड़ता है और कुछ नहीं; उसका 8-बाइट शीर्षक सम्पूर्ण कथा है।
- DNS, UDP प्रयोग करता है क्योंकि हस्तमिलन की लागत पुनःप्रयास से अधिक होती; बड़े प्रत्युत्तरों हेतु वह TCP पर लौटता है।
- प्रवाह नियंत्रण ग्राहक की रक्षा करता है व विज्ञापित है; संकुलन नियंत्रण संजाल की व अनुमानित।
- प्रेषक min(cwnd, ग्राहक खिड़की) बकाया रख सकता है — लघुतर सदा जीतता है।
- मंद आरंभ प्रति RTT दुगुना करता है व ssthresh पर रुकता है; संकुलन परिवर्जन प्रति RTT एक जोड़ता है।
- समय-समाप्ति ssthresh आधा करके cwnd 1 से पुनः आरंभ करती है; तीन द्विरुक्त ACK केवल खिड़की आधी करते हैं।
- TCP संयोजन एक चतुष्क है, और एक पोर्ट सहस्रों ग्राहकों की सेवा इसी प्रकार करता है।
- FTP दो संयोजन प्रयोग करता है, नियंत्रण हेतु 21 व आँकड़ा हेतु 20 — नियंत्रण खुला रहता है, बैंड-बाह्य।
- अनपर्सिस्टेंट HTTP की लागत 2(N+1) RTT; पाइपलाइनन सहित पर्सिस्टेंट की 3, N कुछ भी हो।
- परिपोषक अपने समाधक से पुनरावर्ती पूछता है; समाधक मूल से पुनरावृत्तीय।
अभ्यास प्रश्न (8)
उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।
कोई TCP संयोजन ssthresh = 8 खंडक से आरंभ होता है। मंद आरंभ cwnd = 1 से आरंभ होता है और प्रत्येक RTT दुगुना होता है। जिस चक्र में cwnd 12 पहुँचता है, समय-समाप्ति होती है। ssthresh का नया मान ______ खंडक है
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 6
6। समय-समाप्ति ssthresh को वर्तमान संकुलन खिड़की का आधा करती है और cwnd 1 से पुनः आरंभ करती है, अतः ssthresh = 12/2 = 6। अनुरेखित करें कि cwnd 12 तक कैसे पहुँचा: मंद आरंभ 1, 2, 4 दुगुना करता है, और ठीक 8 पहुँचता है, जो ssthresh है, अतः प्रेषक संकुलन परिवर्जन पर जाता है और प्रति आवागमन एक जोड़ता है — 9, 10, 11, 12। अतः 12 पर समय-समाप्ति ssthresh 6 देती है, और अगले चक्र 1, 2, 4, फिर 8 के बजाय 6 हैं, क्योंकि मंद आरंभ उसे पार करने के बजाय ssthresh पर रुकता है। दो गलत उत्तर नाम लेने योग्य हैं। 4, पुराना ssthresh (8) आधा करता है, वर्तमान खिड़की नहीं — नियम cwnd के विषय में है, पूर्व देहली के नहीं। और 1 नए ssthresh के बजाय नया cwnd बताता है; समय-समाप्ति दोनों बदलती है, और प्रश्न ने देहली पूछी।किसी वेब पृष्ठ में एक मूल HTML फ़ाइल व 3 अंतःस्थापित वस्तुएँ हैं। एक समय एक वस्तु लाते हुए अनपर्सिस्टेंट HTTP प्रयोग करते हुए, और प्रेषण-समय अवहेलित करते हुए, कुल समय ______ RTT है
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 8
8 RTT। अनपर्सिस्टेंट HTTP प्रत्येक वस्तु हेतु नया TCP संयोजन खोलता है, और अतः प्रत्येक वस्तु की लागत दो आवागमन है: एक त्रि-मार्गी हस्तमिलन हेतु और एक निवेदन व उसके प्रत्युत्तर हेतु। कुल 4 वस्तुएँ हैं — मूल पृष्ठ तथा 3 अंतःस्थापित — अतः लागत 2 × 4 = 8 है, जो सामान्य सूत्र 2(N + 1) है। उसी पृष्ठ पर विकल्पों से वैषम्य करें: पाइपलाइनन सहित पर्सिस्टेंट संयोजन की लागत जुड़ने हेतु 1 RTT, मूल पृष्ठ हेतु 1 और एक साथ माँगी तीनों वस्तुओं हेतु 1 और — 3 RTT, और वस्तुएँ कितनी भी हों, 3। पाइपलाइनन के बिना पर्सिस्टेंट की लागत 2 + N = 5। सर्वाधिक सामान्य गलत उत्तर 6 है, मूल पृष्ठ हेतु 2 RTT और तत्पश्चात् प्रति वस्तु केवल 1 गिनने से, जो भूल जाता है कि प्रत्येक नए संयोजन को अपना हस्तमिलन चाहिए — और ठीक वही संयोजन को अनपर्सिस्टेंट बनाता है।TCP प्रवाह नियंत्रण व संकुलन नियंत्रण के विषय में निम्नलिखित में से कौन-से सत्य हैं?
उत्तर देखें
उत्तर: A — प्रवाह नियंत्रण ग्राहक के बफ़र की रक्षा करता है और प्रत्येक ACK के खिड़की-क्षेत्र में विज्ञापित होता है; B — संकुलन नियंत्रण प्रेषक द्वारा, क्षति से, निकाला जाता है और किसी शीर्षक-क्षेत्र में नहीं जाता; C — प्रेषक min(cwnd, ग्राहक खिड़की) बाइट बकाया रख सकता है
A, B व C। A व B मिलकर सम्पूर्ण भेद हैं और असममिति ही अभिप्राय है: प्रवाह नियंत्रण स्पष्ट है, क्योंकि ग्राहक अपना बफ़र जानता है और खिड़की-क्षेत्र में बता देता है, जबकि संकुलन नियंत्रण अनुमानित है, क्योंकि कोई अनुमार्गक प्रेषक को नहीं बताता कि वह संकुलित है — प्रेषक उसे क्षति से निगमित करता है। C उसी से निकलता है: दोनों सीमाएँ एक साथ लागू होती हैं और बंधनकारी वही है जो लघुतर हो, और इसीलिए प्रश्न किसी भी संख्या से संयोजन गला सकता है और इसीलिए केवल cwnd बताना उत्तर नहीं। D असत्य है और वही भ्रम है जिसे रोकने हेतु खंड विद्यमान है: वे भिन्न वस्तुओं की रक्षा करते हैं, भिन्न पक्षों द्वारा नियत होते हैं, और भिन्न समयों पर बंधनकारी हो सकते हैं — संकुलित पथ पर तीव्र ग्राहक cwnd से सीमित है, और निष्क्रिय पथ पर मंद ग्राहक विज्ञापित खिड़की से। जोड़ने योग्य: UDP में कोई नहीं, और ठीक इसीलिए UDP पर चलते ऐसे अनुप्रयोग को जो कोई एक चाहे, उसे स्वयं कार्यान्वित करना पड़ता है।DNS सामान्यतः TCP के बजाय UDP क्यों प्रयोग करता है?
उत्तर देखें
उत्तर: B — क्योंकि पृच्छा व प्रत्युत्तर एक डेटाग्राम में बैठते हैं, अतः हस्तमिलन की लागत पुनःप्रयास से अधिक होती
संव्यवहार एक लघु निवेदन व एक लघु प्रत्युत्तर है, और TCP पहले त्रि-मार्गी हस्तमिलन पर अड़ता — शुद्ध उपरिव्यय का एक पूर्ण आवागमन, प्रत्येक खोज पर चुकाया, ऐसी वस्तु की रक्षा हेतु जो एक ही डेटाग्राम में बैठती है। खोई UDP पृच्छा पुनः करने की लागत भी एक आवागमन है, पर केवल उन विरल अवसरों पर जब पृच्छा वस्तुतः खोए, अतः प्रत्याशा में UDP सस्ता है। विकल्प A असत्य व अप्रासंगिक है: DNS संदेश निश्चय ही खो सकते हैं, और इसीलिए समाधक अपनी समय-समाप्ति व पुनःप्रयास कार्यान्वित करते हैं। विकल्प C, UDP के अनुबंध का विपरीत कहता है — UDP किसी भी आकार पर कुछ प्रत्याभूत नहीं करता, और वही उसका परिभाषक गुणधर्म है। विकल्प D, DNS को गलत स्थान देता है, जो अनुप्रयोग स्तर प्रोटोकॉल है। और ईमानदार परिसीमन: जब प्रत्युत्तर डेटाग्राम हेतु बहुत बड़ा हो या क्षेत्र-अंतरण हेतु, DNS TCP पर बदलता है, अतः “DNS, UDP प्रयोग करता है” सामान्य स्थिति का सत्य है, सार्वत्रिक नहीं।किसी वेब सर्वर के पोर्ट 80 पर 500 स्थापित TCP संयोजन हैं, तथा उसका श्रवणकारी सॉकेट। सर्वर पर कितने सॉकेट विद्यमान हैं?
उत्तर देखें
उत्तर: B — 501
501 — प्रति स्थापित संयोजन एक सॉकेट, तथा श्रवणकारी सॉकेट, जो भिन्न प्रकार की वस्तु है: वह केवल स्वीकारता है, और प्रत्येकacceptएक नया सॉकेट लौटाता है। विकल्प A वही भ्रांति है जिसे प्रश्न लक्ष्य करता है, और समाधान यह है कि TCP संयोजन चतुष्क से पहचाना जाता है — स्रोत IP, स्रोत पोर्ट, गंतव्य IP, गंतव्य पोर्ट — अतः 500 संयोजन विशिष्ट हैं यद्यपि उन सब में सर्वर का IP व पोर्ट समरूप हैं; वे ग्राहक के पते या पोर्ट में भिन्न हैं। ठीक उसी प्रकार एक सुविख्यात पोर्ट एक साथ सहस्रों ग्राहकों की सेवा करता है। विकल्प C श्रवणकारी भूल जाता है, जो विद्यमान रहता है और नए संयोजन स्वीकारता रहता है। विकल्प D दोहरी गिनती करता है, संभवतः दोनों अंत-बिंदु गिनकर — किंतु प्रत्येक संयोजन का दूसरा सिरा ग्राहक पर सॉकेट है, इस सर्वर पर नहीं। वैषम्य योग्य: UDP सॉकेट में कोई चतुष्क नहीं और कोई प्रति-ग्राहक सॉकेट नहीं, अतः एक UDP सॉकेट प्रत्येक प्रेषक से पाता है और अनुप्रयोग प्रत्येक डेटाग्राम का स्रोत स्वयं देखता है।तीन द्विरुक्त ACK पाने पर TCP Reno:
उत्तर देखें
उत्तर: B — तत्काल पुनःप्रेषण करता है और खिड़की आधी करता है, 1 पर गिरे बिना
तीन द्विरुक्त ACK समय-समाप्ति से हलका संकेत पढ़े जाते हैं, और कारण ही उपयोगी अंश है: द्विरुक्तियाँ केवल इसलिए आती हैं कि पश्चात्वर्ती खंडक अभी भी पहुँच रहे हैं, अतः पथ स्पष्टतः जीवित है और संजाल ढहने के बजाय एक खंडक खोया। अतः तीव्र पुनःप्रेषण टाइमर की प्रतीक्षा किए बिना अनुपस्थित खंडक तत्काल पुनः भेजता है, और तीव्र प्रत्युद्धरण 1 पर गिरने के बजाय खिड़की आधी करता है। विकल्प A समय-समाप्ति का प्रत्युत्तर है, और दोनों संकेतों को समरूप मानना वही भ्रम है जिसकी परीक्षा हेतु यह प्रश्न विद्यमान है — समय-समाप्ति का अर्थ मौन है, जो द्विरुक्तियों की धारा से बहुत बुरा साक्ष्य है। विकल्प C सूचना-सामग्री के विषय में गलत है: द्विरुक्त ACK कहता है मुझे अभी भी वही बाइट अनुपस्थित है, और उसके पश्चात् मुझे कुछ मिला, और वही ठीक क्षति-संकेत है। विकल्प D ऐसा कुछ वर्णित करता है जो TCP करता नहीं; संकुलन खिड़की समंजित करके सँभाला जाता है, संयोजन गिराकर कभी नहीं।FTP दो TCP संयोजन प्रयोग करता है। कौन-सा कथन सही है?
उत्तर देखें
उत्तर: B — पोर्ट 21 नियंत्रण ले जाता है व खुला रहता है; पोर्ट 20 आँकड़ा ले जाता है व प्रति अंतरण खोला जाता है
नियंत्रण 21 पर, आँकड़ा 20 पर। नियंत्रण संयोजन पहले स्थापित होता है, सम्पूर्ण सत्र खुला रहता है, और आदेश व प्रत्युत्तर ले जाता है; प्रत्येक फ़ाइल-अंतरण या निर्देशिका-सूचीयन हेतु पृथक् आँकड़ा-संयोजन खोला जाता है और समाप्त होने पर बंद। इस व्यवस्था को बैंड-बाह्य नियंत्रण कहा जाता है, और वही FTP की भेदक विशेषता है — इसके विपरीत HTTP आदेश व आँकड़ा एक संयोजन पर भेजता है, जो बैंड-अंतर्गत है। विकल्प A पोर्ट बदल देता है, जो सर्वाधिक सामान्य त्रुटि है और स्थिर करने योग्य: निम्नतर संख्या आँकड़ा ले जाती है, जो उलटा लगता है, अतः उसे उस अपवाद के रूप में कंठस्थ करना उपयोगी है जो वह है। विकल्प C चल नहीं सकता: उन्हीं परिपोषकों के बीच उन्हीं पोर्टों पर दो संयोजनों के चतुष्क समरूप होते और वे अभेद्य होते, और ठीक इसीलिए दूसरा पोर्ट चाहिए। विकल्प D, FTP के विषय में गलत है, जो सर्वत्र TCP है — फ़ाइल-अंतरण ठीक वही स्थिति है जहाँ एक बाइट खोना परिणाम नष्ट कर देता है।कोई परिपोषक अपने स्थानीय DNS समाधक को पृच्छा भेजता है, जो तत्पश्चात् क्रमशः मूल सर्वर, TLD सर्वर व आधिकारिक सर्वर से पूछता है। प्रयुक्त दो पृच्छा-प्रकार हैं:
उत्तर देखें
उत्तर: B — परिपोषक से पुनरावर्ती, समाधक से पुनरावृत्तीय
परिपोषक से पुनरावर्ती, समाधक से पुनरावृत्तीय — और प्रश्न का वर्णन पहले ही यह बता देता है, और वही कौशल परखा जा रहा है। परिपोषक एक सर्वर से पूछता है और पूर्ण उत्तर की अपेक्षा करता है, और पुनरावर्ती का अर्थ वही है: समाधक जितना कार्य चाहिए उसका उत्तरदायित्व लेता है। तत्पश्चात् समाधक मूल, TLD सर्वर व आधिकारिक सर्वर से क्रमशः पूछता है, प्रत्येक अंतिम उत्तर के बजाय संस्तुति लौटाता है, और पुनरावृत्तीय का अर्थ वही है: पूछने वाला शृंखला स्वयं चलता है। विकल्प C वह व्यवस्था है जिससे मूल सर्वर बच न पाते — इंटरनेट के प्रत्येक परिपोषक हेतु पुनरावर्ती उत्तर देना प्रत्येक मूल सर्वर से सम्पूर्ण इंटरनेट का समाधान-कार्य कराता, अतः वे केवल संस्तुतियों से उत्तर देते हैं। विकल्प A भूमिकाएँ उलट देता है, जिसका अर्थ होता कि परिपोषक अपनी चाल स्वयं चले जबकि समाधक उसके लिए पुनरावर्तन करे — एक विरोधाभास। जोड़ने योग्य वह जो इसे व्यवहार में तीव्र बनाता है: प्रत्येक अभिलेख अपने TTL हेतु कैश्ड होता है, अतः “इस खोज को कितनी पृच्छाएँ चाहिए” वाला गिनती-प्रश्न सदा इस पर निर्भर है कि पहले से क्या कैश्ड है।