TCPର ଗୁପ୍ତ ଅସ୍ତ୍ର: ନେଟୱାର୍କ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ ଏବଂ ନେଟୱାର୍କ ଭିଡ଼ ନିୟନ୍ତ୍ରଣ

TCP ନିର୍ଭରଯୋଗ୍ୟତା ପରିବହନ
ଆମେ ସମସ୍ତେ TCP ପ୍ରୋଟୋକଲକୁ ଏକ ନିର୍ଭରଯୋଗ୍ୟ ପରିବହନ ପ୍ରୋଟୋକଲ ଭାବରେ ପରିଚିତ, କିନ୍ତୁ ଏହା କିପରି ପରିବହନର ନିର୍ଭରଯୋଗ୍ୟତା ସୁନିଶ୍ଚିତ କରେ?

ନିର୍ଭରଯୋଗ୍ୟ ପ୍ରସାରଣ ହାସଲ କରିବା ପାଇଁ, ଅନେକ କାରଣ ବିଚାର କରିବାକୁ ପଡିବ, ଯେପରିକି ତଥ୍ୟ ଦୁର୍ନୀତି, କ୍ଷତି, ନକଲ, ଏବଂ ଅବ୍ୟବସ୍ଥିତ ସାର୍ଡ। ଯଦି ଏହି ସମସ୍ୟାଗୁଡ଼ିକର ସମାଧାନ ହୋଇପାରିବ ନାହିଁ, ତେବେ ନିର୍ଭରଯୋଗ୍ୟ ପ୍ରସାରଣ ହାସଲ କରାଯାଇପାରିବ ନାହିଁ।

ତେଣୁ, ନିର୍ଭରଯୋଗ୍ୟ ପ୍ରସାରଣ ହାସଲ କରିବା ପାଇଁ TCP କ୍ରମ ସଂଖ୍ୟା, ସ୍ୱୀକୃତି ଉତ୍ତର, ପୁନଃପ୍ରେରଣ ନିୟନ୍ତ୍ରଣ, ସଂଯୋଗ ପରିଚାଳନା ଏବଂ ୱିଣ୍ଡୋ ନିୟନ୍ତ୍ରଣ ଭଳି ଯନ୍ତ୍ର ବ୍ୟବହାର କରେ।

ଏହି ପତ୍ରିକାରେ, ଆମେ TCPର ସ୍ଲାଇଡିଂ ୱିଣ୍ଡୋ, ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ ଏବଂ ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଉପରେ ଧ୍ୟାନ ଦେବୁ। ପରବର୍ତ୍ତୀ ବିଭାଗରେ ପୁନଃପ୍ରସାରଣ ପ୍ରଣାଳୀକୁ ପୃଥକ ଭାବରେ ଆଲୋଚନା କରାଯାଇଛି।

ନେଟୱାର୍କ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ
ନେଟୱାର୍କ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ କିମ୍ବା ନେଟୱାର୍କ ଟ୍ରାଫିକ୍ ନିୟନ୍ତ୍ରଣ ଭାବରେ ଜଣାଶୁଣା ପ୍ରକୃତରେ ଉତ୍ପାଦକ ଏବଂ ଗ୍ରାହକଙ୍କ ମଧ୍ୟରେ ଥିବା ସୂକ୍ଷ୍ମ ସମ୍ପର୍କର ଏକ ପ୍ରକାଶନ। ଆପଣ ହୁଏତ କାର୍ଯ୍ୟସ୍ଥଳରେ କିମ୍ବା ସାକ୍ଷାତକାରରେ ଏହି ପରିସ୍ଥିତିର ସମ୍ମୁଖୀନ ହୋଇଥିବେ। ଯଦି ଉତ୍ପାଦକଙ୍କ ଉତ୍ପାଦନ କ୍ଷମତା ଗ୍ରାହକଙ୍କ ଉପଭୋଗ କ୍ଷମତାଠାରୁ ବହୁତ ଅଧିକ ହୁଏ, ତେବେ ଏହା ଅନିର୍ଦ୍ଦିଷ୍ଟ କାଳ ପାଇଁ ଧାଡ଼ିକୁ ବୃଦ୍ଧି କରିବ। ଅଧିକ ଗମ୍ଭୀର କ୍ଷେତ୍ରରେ, ଆପଣ ଜାଣିଥିବେ ଯେ ଯେତେବେଳେ RabbitMQ ମେସେଜଗୁଡ଼ିକ ଅତ୍ୟଧିକ ଜମା ହୋଇଯାଏ, ଏହା ସମଗ୍ର MQ ସର୍ଭରର କାର୍ଯ୍ୟଦକ୍ଷତା ହ୍ରାସର କାରଣ ହୋଇପାରେ। TCP ପାଇଁ ମଧ୍ୟ ସମାନ କଥା; ଯଦି ଅଣଚେକ କରାଯାଏ, ତେବେ ନେଟୱାର୍କରେ ବହୁତ ବାର୍ତ୍ତା ରଖାଯିବ, ଏବଂ ଗ୍ରାହକମାନେ ସେମାନଙ୍କର କ୍ଷମତା ଅତିକ୍ରମ କରିଥିବେ, ଯେତେବେଳେ ଉତ୍ପାଦକମାନେ ଡୁପ୍ଲିକେଟ୍ ବାର୍ତ୍ତା ପଠାଇବା ଜାରି ରଖିବେ, ଯାହା ନେଟୱାର୍କର କାର୍ଯ୍ୟଦକ୍ଷତାକୁ ବହୁଳ ଭାବରେ ପ୍ରଭାବିତ କରିବ।

ଏହି ଘଟଣାର ସମାଧାନ ପାଇଁ, TCP ପ୍ରେରକଙ୍କୁ ଗ୍ରହଣକାରୀର ପ୍ରକୃତ ଗ୍ରହଣ କ୍ଷମତା ଉପରେ ଆଧାର କରି ପଠାଯାଇଥିବା ତଥ୍ୟର ପରିମାଣକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଏକ ଯନ୍ତ୍ର ପ୍ରଦାନ କରେ, ଯାହାକୁ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ କୁହାଯାଏ। ଗ୍ରହଣକାରୀ ଏକ ଗ୍ରହଣ ୱିଣ୍ଡୋ ବଜାୟ ରଖେ, ଯେତେବେଳେ ପ୍ରେରକ ଏକ ପଠାଣ ୱିଣ୍ଡୋ ବଜାୟ ରଖେ। ଏହା ଉଲ୍ଲେଖ କରିବା ଉଚିତ ଯେ ଏହି ୱିଣ୍ଡୋଜ୍ କେବଳ ଗୋଟିଏ TCP ସଂଯୋଗ ପାଇଁ ଏବଂ ସମସ୍ତ ସଂଯୋଗ ଏକ ୱିଣ୍ଡୋ ସେୟାର କରେ ନାହିଁ।

TCP ଏକ ଗ୍ରହଣ ୱିଣ୍ଡୋ ପାଇଁ ଏକ ଚଳକ ବ୍ୟବହାର କରି ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ ପ୍ରଦାନ କରେ। ଗ୍ରହଣ ୱିଣ୍ଡୋ ପ୍ରେରକଙ୍କୁ କେତେ କ୍ୟାଶ୍ ସ୍ଥାନ ଏବେ ବି ଉପଲବ୍ଧ ଅଛି ତାହାର ଏକ ସୂଚନା ଦିଏ। ପ୍ରେରକ ଗ୍ରହଣକାରୀଙ୍କ ପ୍ରକୃତ ଗ୍ରହଣ କ୍ଷମତା ଅନୁସାରେ ପଠାଯାଇଥିବା ତଥ୍ୟର ପରିମାଣକୁ ନିୟନ୍ତ୍ରଣ କରନ୍ତି।

ରିସିଭର ହୋଷ୍ଟ ପ୍ରେରକଙ୍କୁ ପ୍ରାପ୍ତ କରିପାରୁଥିବା ଡାଟାର ଆକାର ବିଷୟରେ ସୂଚିତ କରେ ଏବଂ ପ୍ରେରକ ଏହି ସୀମା ପର୍ଯ୍ୟନ୍ତ ପଠାଏ। ଏହି ସୀମା ହେଉଛି ୱିଣ୍ଡୋ ଆକାର, TCP ହେଡର ମନେରଖନ୍ତୁ? ଏକ ରିସିଭ ୱିଣ୍ଡୋ କ୍ଷେତ୍ର ଅଛି, ଯାହା ରିସିଭର ଗ୍ରହଣ କରିବାକୁ ସକ୍ଷମ କିମ୍ବା ଇଚ୍ଛୁକ ବାଇଟର ସଂଖ୍ୟା ସୂଚାଇବା ପାଇଁ ବ୍ୟବହୃତ ହୁଏ।

ପ୍ରେରକ ହୋଷ୍ଟ ସମୟ ସମୟରେ ଏକ ୱିଣ୍ଡୋ ପ୍ରୋବ୍ ପ୍ୟାକେଟ ପଠାଇବେ, ଯାହା ରିସିଭର ହୋଷ୍ଟ ଏପର୍ଯ୍ୟନ୍ତ ଡାଟା ଗ୍ରହଣ କରିବାକୁ ସକ୍ଷମ କି ନାହିଁ ତାହା ଚିହ୍ନଟ କରିବା ପାଇଁ ବ୍ୟବହୃତ ହୁଏ। ଯେତେବେଳେ ରିସିଭରର ବଫର ଓଭରଫ୍ଲୋ ହେବାର ବିପଦରେ ଥାଏ, ସେତେବେଳେ ପ୍ରେରକଙ୍କୁ ପଠାଯାଇଥିବା ଡାଟାର ପରିମାଣକୁ ନିୟନ୍ତ୍ରଣ କରିବାକୁ ନିର୍ଦ୍ଦେଶ ଦେବା ପାଇଁ ୱିଣ୍ଡୋ ଆକାରକୁ ଏକ ଛୋଟ ମୂଲ୍ୟରେ ସେଟ୍ କରାଯାଇଥାଏ।

ଏଠାରେ ଏକ ନେଟୱାର୍କ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ ଚିତ୍ର ଅଛି:

ଟ୍ରାଫିକ୍ ନିୟନ୍ତ୍ରଣ

ନେଟୱାର୍କ ଭିଡ଼ ନିୟନ୍ତ୍ରଣ
ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ, ଆମକୁ ବୁଝିବାକୁ ପଡିବ ଯେ ଗ୍ରହଣ ୱିଣ୍ଡୋ ଏବଂ ପଠାନ୍ତୁ ୱିଣ୍ଡୋ ବ୍ୟତୀତ, ଏକ ଭିଡ଼ ୱିଣ୍ଡୋ ମଧ୍ୟ ଅଛି, ଯାହା ମୁଖ୍ୟତଃ ପ୍ରେରକ ଗ୍ରହଣ ୱିଣ୍ଡୋକୁ କେତେ ହାରରେ ତଥ୍ୟ ପଠାଇବା ଆରମ୍ଭ କରନ୍ତି ତାହାର ସମସ୍ୟାର ସମାଧାନ ପାଇଁ ବ୍ୟବହୃତ ହୁଏ। ତେଣୁ, ଭିଡ଼ ୱିଣ୍ଡୋକୁ TCP ପ୍ରେରକ ମଧ୍ୟ ବଜାୟ ରଖନ୍ତି। ଆମକୁ କେତେ ତଥ୍ୟ ପଠାଇବା ଉପଯୁକ୍ତ ତାହା ନିଷ୍ପତ୍ତି ନେବା ପାଇଁ ଏକ ଆଲଗୋରିଦମ ଆବଶ୍ୟକ, କାରଣ ଅତ୍ୟଧିକ କିମ୍ବା ଅତ୍ୟଧିକ ତଥ୍ୟ ପଠାଇବା ଆଦର୍ଶ ନୁହେଁ, ତେଣୁ ଏକ ଭିଡ଼ ୱିଣ୍ଡୋର ଧାରଣା।

ପୂର୍ବ ନେଟୱାର୍କ ପ୍ରବାହ ନିୟନ୍ତ୍ରଣରେ, ଆମେ ଯାହା ଏଡ଼ାଇ ଯାଉଥିଲୁ ତାହା ହେଉଛି ପ୍ରେରକ ରିସିଭରଙ୍କ କ୍ୟାଶକୁ ଡାଟାରେ ପୂରଣ କରୁଥିଲେ, କିନ୍ତୁ ଆମେ ଜାଣି ନଥିଲୁ ଯେ ନେଟୱାର୍କରେ କ'ଣ ଘଟୁଛି। ସାଧାରଣତଃ, କମ୍ପ୍ୟୁଟର ନେଟୱାର୍କଗୁଡ଼ିକ ଏକ ଅଂଶୀଦାରିତ ପରିବେଶରେ ଥାଏ। ଫଳସ୍ୱରୂପ, ଅନ୍ୟ ହୋଷ୍ଟ ମଧ୍ୟରେ ଯୋଗାଯୋଗ ଯୋଗୁଁ ନେଟୱାର୍କ ଭିଡ଼ ହୋଇପାରେ।

ଯେତେବେଳେ ନେଟୱାର୍କରେ ଭିଡ଼ ଥାଏ, ଯଦି ବହୁ ସଂଖ୍ୟକ ପ୍ୟାକେଟ ପଠାଯାଏ, ତେବେ ଏହା ବିଳମ୍ବ ଏବଂ ପ୍ୟାକେଟ ହରାଇବା ଭଳି ସମସ୍ୟା ସୃଷ୍ଟି କରିପାରେ। ଏହି ସମୟରେ, TCP ତଥ୍ୟ ପୁନଃପ୍ରଚାର କରିବ, କିନ୍ତୁ ପୁନଃପ୍ରଚାର ନେଟୱାର୍କ ଉପରେ ବୋଝ ବୃଦ୍ଧି କରିବ, ଯାହା ଫଳରେ ଅଧିକ ବିଳମ୍ବ ଏବଂ ଅଧିକ ପ୍ୟାକେଟ କ୍ଷତି ହେବ। ଏହା ଏକ ଦୁଷ୍ଟଚକ୍ରରେ ପଡ଼ିପାରେ ଏବଂ ବଡ଼ ହେବାକୁ ଲାଗିପାରେ।

ତେଣୁ, TCP ନେଟୱାର୍କରେ କଣ ଘଟୁଛି ତାହା ଅଣଦେଖା କରିପାରିବ ନାହିଁ। ଯେତେବେଳେ ନେଟୱାର୍କ ଭିଡ଼ ଥାଏ, TCP ପଠାଉଥିବା ତଥ୍ୟର ପରିମାଣ ହ୍ରାସ କରି ନିଜକୁ ବଳିଦାନ ଦେଇଥାଏ।

ତେଣୁ, ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ପ୍ରସ୍ତାବିତ, ଯାହାର ଲକ୍ଷ୍ୟ ପ୍ରେରକଙ୍କଠାରୁ ତଥ୍ୟ ସହିତ ସମ୍ପୂର୍ଣ୍ଣ ନେଟୱାର୍କକୁ ପୂରଣ କରିବା ନୁହେଁ। ପ୍ରେରକ କେତେ ପରିମାଣର ଡାଟା ପଠାଇବା ଉଚିତ ତାହା ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ, TCP ଏକ ଧାରଣାକୁ ପରିଭାଷିତ କରେ ଯାହାକୁ ଭିଡ଼ ୱିଣ୍ଡୋ କୁହାଯାଏ। ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଆଲଗୋରିଦମ ନେଟୱାର୍କର ଭିଡ଼ ଡିଗ୍ରୀ ଅନୁସାରେ ଭିଡ଼ ୱିଣ୍ଡୋର ଆକାରକୁ ସଜାଡ଼ିବ, ଯାହା ଦ୍ୱାରା ପ୍ରେରକଙ୍କ ଦ୍ୱାରା ପଠାଯାଇଥିବା ତଥ୍ୟର ପରିମାଣକୁ ନିୟନ୍ତ୍ରଣ କରାଯାଇପାରିବ।

ଭିଡ଼ ୱିଣ୍ଡୋ କ'ଣ? ଏହା ପଠାଇବା ୱିଣ୍ଡୋ ସହିତ କ'ଣ ସମ୍ପର୍କିତ?

କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ ହେଉଛି ପ୍ରେରକଙ୍କ ଦ୍ୱାରା ପରିଚାଳିତ ଏକ ସ୍ଥିତି ପରିବର୍ତ୍ତନଶୀଳ ଯାହା ପ୍ରେରକ କେତେ ତଥ୍ୟ ପଠାଇପାରିବେ ତାହା ନିର୍ଣ୍ଣୟ କରେ। ନେଟୱାର୍କର କଞ୍ଜେସନ୍ ସ୍ତର ଅନୁସାରେ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ ଗତିଶୀଳ ଭାବରେ ପରିବର୍ତ୍ତନ ହୁଏ।

ପଠାଇବା ୱିଣ୍ଡୋ ହେଉଛି ପ୍ରେରକ ଏବଂ ଗ୍ରହଣକାରୀଙ୍କ ମଧ୍ୟରେ ଏକ ସହମତ ୱିଣ୍ଡୋ ଆକାର ଯାହା ପ୍ରାପ୍ତକର୍ତ୍ତା ଗ୍ରହଣ କରିପାରିବେ ବୋଲି ସୂଚିତ କରେ। ଭିଡ଼ ଏବଂ ପଠାଇବା ୱିଣ୍ଡୋ ସମ୍ପର୍କିତ; ପଠାଇବା ୱିଣ୍ଡୋ ସାଧାରଣତଃ ଭିଡ଼ ଏବଂ ଗ୍ରହଣକାରୀ ୱିଣ୍ଡୋଜର ସର୍ବନିମ୍ନ ସମାନ, ଅର୍ଥାତ୍, swnd = min(cwnd, rwnd)।

କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ cwnd ନିମ୍ନଲିଖିତ ଭାବରେ ପରିବର୍ତ୍ତନ ହୁଏ:

ଯଦି ନେଟୱାର୍କରେ କୌଣସି ଭିଡ଼ ନଥାଏ, ଅର୍ଥାତ୍, କୌଣସି ପୁନଃପ୍ରସାରଣ ସମୟ ସମାପ୍ତି ହୁଏ ନାହିଁ, ତେବେ ଭିଡ଼ ୱିଣ୍ଡୋ ବୃଦ୍ଧି ପାଏ।

ଯଦି ନେଟୱାର୍କରେ ଭିଡ଼ ଥାଏ, ତେବେ ଭିଡ଼ ୱିଣ୍ଡୋ ହ୍ରାସ ପାଏ।

ପ୍ରେରକ ନିର୍ଦ୍ଦିଷ୍ଟ ସମୟ ମଧ୍ୟରେ ACK ସ୍ୱୀକୃତି ପ୍ୟାକେଟ ଗ୍ରହଣ କରିଛି କି ନାହିଁ ତାହା ଦେଖି ନେଟୱାର୍କରେ ଭିଡ଼ ଅଛି କି ନାହିଁ ତାହା ନିର୍ଣ୍ଣୟ କରନ୍ତି। ଯଦି ପ୍ରେରକ ନିର୍ଦ୍ଦିଷ୍ଟ ସମୟ ମଧ୍ୟରେ ACK ସ୍ୱୀକୃତି ପ୍ୟାକେଟ ଗ୍ରହଣ କରନ୍ତି ନାହିଁ, ତେବେ ନେଟୱାର୍କରେ ଭିଡ଼ ଅଛି ବୋଲି ବିବେଚନା କରାଯାଏ।

ଭିଡ଼ ୱିଣ୍ଡୋ ବ୍ୟତୀତ, TCP ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଆଲଗୋରିଦମ ବିଷୟରେ ଆଲୋଚନା କରିବାର ସମୟ ଆସିଛି। TCP ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଆଲଗୋରିଦମ ତିନୋଟି ମୁଖ୍ୟ ଅଂଶ ନେଇ ଗଠିତ:

ଧୀର ଆରମ୍ଭ:ପ୍ରାରମ୍ଭରେ, cwnd କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ ଅପେକ୍ଷାକୃତ ଛୋଟ ହୋଇଥାଏ, ଏବଂ ପ୍ରେରକ ନେଟୱାର୍କର କ୍ଷମତା ସହିତ ଶୀଘ୍ର ଖାପ ଖୁଆଇବା ପାଇଁ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋକୁ ଘାତକ ଭାବରେ ବୃଦ୍ଧି କରିଥାଏ।
ଭିଡ଼ ଏଡାଇବା:ଭିଡ଼ ୱିଣ୍ଡୋ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ସୀମା ଅତିକ୍ରମ କରିବା ପରେ, ପ୍ରେରକ ଭିଡ଼ ୱିଣ୍ଡୋର ବୃଦ୍ଧି ହାରକୁ ଧୀର କରିବା ଏବଂ ନେଟୱାର୍କକୁ ଓଭରଲୋଡିଂ ଏଡାଇବା ପାଇଁ ଏକ ରେଖୀୟ ଉପାୟରେ ଭିଡ଼ ୱିଣ୍ଡୋକୁ ବୃଦ୍ଧି କରନ୍ତି।
ଦ୍ରୁତ ପୁନରୁଦ୍ଧାର:ଯଦି ଭିଡ଼ ହୁଏ, ତେବେ ପ୍ରେରକ ଭିଡ଼ ୱିଣ୍ଡୋକୁ ଅଧା କରିଦିଏ ଏବଂ ପ୍ରାପ୍ତ ଡୁପ୍ଲିକେଟ ଆକ୍ସ ମାଧ୍ୟମରେ ନେଟୱାର୍କ ପୁନରୁଦ୍ଧାରର ସ୍ଥାନ ନିର୍ଣ୍ଣୟ କରିବା ପାଇଁ ଦ୍ରୁତ ପୁନରୁଦ୍ଧାର ସ୍ଥିତିରେ ପ୍ରବେଶ କରେ, ଏବଂ ତା’ପରେ ଭିଡ଼ ୱିଣ୍ଡୋକୁ ବୃଦ୍ଧି କରିବାକୁ ଜାରି ରଖେ।

ଧୀର ଆରମ୍ଭ
ଯେତେବେଳେ ଏକ TCP ସଂଯୋଗ ସ୍ଥାପିତ ହୁଏ, ସେତେବେଳେ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ cwnd ପ୍ରାରମ୍ଭରେ ଏକ ସର୍ବନିମ୍ନ MSS (ସର୍ବାଧିକ ସେଗମେଣ୍ଟ ଆକାର) ମୂଲ୍ୟରେ ସେଟ୍ ହୋଇଥାଏ। ଏହିପରି, ପ୍ରାରମ୍ଭିକ ପଠାଇବାର ହାର ପ୍ରାୟ MSS/RTT ବାଇଟ୍/ସେକେଣ୍ଡ। ପ୍ରକୃତ ଉପଲବ୍ଧ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ସାଧାରଣତଃ MSS/RTT ଅପେକ୍ଷା ବହୁତ ବଡ଼ ହୋଇଥାଏ, ତେଣୁ TCP ସର୍ବୋତ୍ତମ ପଠାଇବାର ହାର ଖୋଜିବାକୁ ଚାହୁଁଛି, ଯାହା ସ୍ଲୋ-ଷ୍ଟାର୍ଟ ମାଧ୍ୟମରେ ହାସଲ କରାଯାଇପାରିବ।

ଧୀର-ଆରମ୍ଭ ପ୍ରକ୍ରିୟାରେ, କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ cwnd ର ମୂଲ୍ୟ 1 MSS ରେ ଆରମ୍ଭ କରାଯିବ, ଏବଂ ପ୍ରତ୍ୟେକ ଥର ଟ୍ରାନ୍ସମିଟ୍ ପ୍ୟାକେଟ୍ ସେଗମେଣ୍ଟକୁ ସ୍ୱୀକାର କରାଯିବା ପରେ, cwnd ର ମୂଲ୍ୟ ଗୋଟିଏ MSS ବୃଦ୍ଧି ପାଇବ, ଅର୍ଥାତ୍, cwnd ର ମୂଲ୍ୟ 2 MSS ହୋଇଯିବ। ଏହା ପରେ, ଏକ ପ୍ୟାକେଟ୍ ସେଗମେଣ୍ଟର ପ୍ରତ୍ୟେକ ସଫଳ ଟ୍ରାନ୍ସମିସନ୍ ପାଇଁ cwnd ର ମୂଲ୍ୟ ଦ୍ୱିଗୁଣିତ ହୁଏ, ଏବଂ ସେହିପରି। ନିର୍ଦ୍ଦିଷ୍ଟ ବୃଦ୍ଧି ପ୍ରକ୍ରିୟା ନିମ୍ନଲିଖିତ ଚିତ୍ରରେ ଦର୍ଶାଯାଇଛି।

 ନେଟୱାର୍କ ଭିଡ଼ ନିୟନ୍ତ୍ରଣ

ତଥାପି, ପ୍ରେରଣ ହାର ସର୍ବଦା ବୃଦ୍ଧି ପାଇପାରିବ ନାହିଁ; ଅଭିବୃଦ୍ଧି କେବେ ଶେଷ ହେବାକୁ ପଡିବ। ତେଣୁ, ପ୍ରେରଣ ହାର ବୃଦ୍ଧି କେବେ ଶେଷ ହୁଏ? ଧୀର-ଆରମ୍ଭ ସାଧାରଣତଃ ଅନେକ ଉପାୟ ମଧ୍ୟରୁ ଗୋଟିଏରେ ପ୍ରେରଣ ହାର ବୃଦ୍ଧିକୁ ସମାପ୍ତ କରେ:

ପ୍ରଥମ ଉପାୟ ହେଉଛି ଧୀର ଆରମ୍ଭର ପଠାଇବା ପ୍ରକ୍ରିୟା ସମୟରେ ପ୍ୟାକେଟ୍ କ୍ଷତି। ଯେତେବେଳେ ଏକ ପ୍ୟାକେଟ୍ କ୍ଷତି ହୁଏ, TCP ପ୍ରେରକଙ୍କ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ cwnd କୁ 1 ରେ ସେଟ୍ କରେ ଏବଂ ଧୀର-ଆରମ୍ଭ ପ୍ରକ୍ରିୟାକୁ ପୁନଃଆରମ୍ଭ କରେ। ଏହି ସମୟରେ, ଧୀର ଆରମ୍ଭ ସୀମା ssthresh ର ଏକ ଧାରଣା ପ୍ରଚଳନ କରାଯାଏ, ଯାହାର ପ୍ରାରମ୍ଭିକ ମୂଲ୍ୟ cwnd ର ମୂଲ୍ୟର ଅଧା ଯାହା ପ୍ୟାକେଟ୍ କ୍ଷତି ସୃଷ୍ଟି କରେ। ଅର୍ଥାତ୍, ଯେତେବେଳେ କଞ୍ଜେସନ୍ ଚିହ୍ନଟ ହୁଏ, ssthresh ର ମୂଲ୍ୟ ୱିଣ୍ଡୋ ମୂଲ୍ୟର ଅଧା।

ଦ୍ୱିତୀୟ ଉପାୟ ହେଉଛି ଧୀର-ଆରମ୍ଭ ଥ୍ରେସହୋଲ୍ଡ ssthrash ର ମୂଲ୍ୟ ସହିତ ସିଧାସଳଖ ସମ୍ପର୍କିତ। ଯେହେତୁ ssthresh ର ମୂଲ୍ୟ ଭିଣ୍ଡୋ ମୂଲ୍ୟର ଅଧା ହୋଇଥାଏ ଯେତେବେଳେ ଭିଡ଼ ଚିହ୍ନଟ ହୁଏ, cwnd ssthresh ଠାରୁ ବଡ଼ ହେଲେ ପ୍ରତ୍ୟେକ ଦ୍ୱିଗୁଣନ ସହିତ ପ୍ୟାକେଟ କ୍ଷତି ହୋଇପାରେ। ତେଣୁ, cwnd କୁ ssthresh ରେ ସେଟ୍ କରିବା ସର୍ବୋତ୍ତମ, ଯାହା TCP କୁ ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ମୋଡକୁ ସ୍ୱିଚ୍ କରିବ ଏବଂ ଧୀର-ଆରମ୍ଭ ସମାପ୍ତ କରିବ।

ଧୀର ଆରମ୍ଭ ଶେଷ କରିବାର ଶେଷ ଉପାୟ ହେଉଛି ଯଦି ତିନୋଟି ଅନାବଶ୍ୟକ ଆକ୍ ଚିହ୍ନଟ ହୁଏ, ତେବେ TCP ଏକ ଦ୍ରୁତ ପୁନଃପ୍ରସାରଣ କରେ ଏବଂ ପୁନରୁଦ୍ଧାର ଅବସ୍ଥାରେ ପ୍ରବେଶ କରେ। (ଯଦି ଏହା ସ୍ପଷ୍ଟ ନୁହେଁ ଯେ କାହିଁକି ତିନୋଟି ACK ପ୍ୟାକେଟ ଅଛି, ତେବେ ଏହାକୁ ପୁନଃପ୍ରସାରଣ ପଦ୍ଧତିରେ ପୃଥକ ଭାବରେ ବ୍ୟାଖ୍ୟା କରାଯିବ।)

ଭିଡ଼ ଏଡାଇବା
ଯେତେବେଳେ TCP କଞ୍ଜେସନ୍ ନିୟନ୍ତ୍ରଣ ସ୍ଥିତିରେ ପ୍ରବେଶ କରେ, cwnd କଞ୍ଜେସନ୍ ସୀମା ssthresh ର ଅଧା ସେଟ୍ ହୋଇଥାଏ। ଏହାର ଅର୍ଥ ହେଉଛି ଯେ ପ୍ରତ୍ୟେକ ଥର ଏକ ପ୍ୟାକେଟ ସେଗମେଣ୍ଟ ପ୍ରାପ୍ତ ହେବା ପରେ cwnd ର ମୂଲ୍ୟ ଦ୍ୱିଗୁଣିତ ହୋଇପାରିବ ନାହିଁ। ଏହା ବଦଳରେ, ଏକ ଅପେକ୍ଷାକୃତ ରକ୍ଷଣଶୀଳ ପଦ୍ଧତି ଗ୍ରହଣ କରାଯାଏ ଯେଉଁଥିରେ ପ୍ରତ୍ୟେକ ଟ୍ରାନ୍ସମିସନ୍ ସମାପ୍ତ ହେବା ପରେ cwnd ର ମୂଲ୍ୟ କେବଳ ଗୋଟିଏ MSS (ସର୍ବାଧିକ ପ୍ୟାକେଟ ସେଗମେଣ୍ଟ ଲମ୍ବ) ଦ୍ୱାରା ବୃଦ୍ଧି ପାଏ। ଉଦାହରଣ ସ୍ୱରୂପ, ଯଦିଓ 10 ପ୍ୟାକେଟ ସେଗମେଣ୍ଟକୁ ସ୍ୱୀକାର କରାଯାଏ, cwnd ର ମୂଲ୍ୟ କେବଳ ଗୋଟିଏ MSS ଦ୍ୱାରା ବୃଦ୍ଧି ପାଇବ। ଏହା ଏକ ରେଖୀୟ ଅଭିବୃଦ୍ଧି ମଡେଲ୍ ଏବଂ ଏହାର ବୃଦ୍ଧି ଉପରେ ଏକ ଉପର ସୀମା ମଧ୍ୟ ଅଛି। ଯେତେବେଳେ ପ୍ୟାକେଟ କ୍ଷତି ହୁଏ, cwnd ର ମୂଲ୍ୟ MSS ରେ ପରିବର୍ତ୍ତିତ ହୁଏ, ଏବଂ ssthresh ର ମୂଲ୍ୟ cwnd ର ଅଧା ସେଟ୍ ହୁଏ। କିମ୍ବା ଏହା 3 ଟି ଅନାବଶ୍ୟକ ACK ପ୍ରତିକ୍ରିୟା ପ୍ରାପ୍ତ ହେଲେ MSS ର ବୃଦ୍ଧିକୁ ମଧ୍ୟ ବନ୍ଦ କରିଦେବ। ଯଦି cwnd ର ମୂଲ୍ୟ ଅଧା କରିବା ପରେ ମଧ୍ୟ ତିନୋଟି ଅନାବଶ୍ୟକ acks ପ୍ରାପ୍ତ ହୁଏ, ତେବେ ssthresh ର ମୂଲ୍ୟ cwnd ର ଅଧା ମୂଲ୍ୟ ଭାବରେ ରେକର୍ଡ କରାଯାଏ ଏବଂ ଦ୍ରୁତ ପୁନରୁଦ୍ଧାର ଅବସ୍ଥା ପ୍ରବେଶ କରାଯାଏ।

ଶୀଘ୍ର ପୁନରୁଦ୍ଧାର
ଫାଷ୍ଟ ରିକଭରି ଅବସ୍ଥାରେ, ପ୍ରତ୍ୟେକ ପ୍ରାପ୍ତ ରିଡାଣ୍ଡଣ୍ଟ ACK ପାଇଁ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋ cwnd ର ମୂଲ୍ୟ ଗୋଟିଏ MSS ଦ୍ୱାରା ବୃଦ୍ଧି କରାଯାଏ, ଅର୍ଥାତ୍, ACK ଯାହା କ୍ରମାନୁସାରେ ପହଞ୍ଚେ ନାହିଁ। ଏହା ହେଉଛି ନେଟୱାର୍କରେ ସଫଳତାର ସହ ଟ୍ରାନ୍ସମିଟ୍ ହୋଇଥିବା ପ୍ୟାକେଟ ସେଗମେଣ୍ଟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରି ଟ୍ରାନ୍ସମିସନ୍ ଦକ୍ଷତାକୁ ଯଥାସମ୍ଭବ ଉନ୍ନତ କରିବା।

ଯେତେବେଳେ ହଜିଯାଇଥିବା ପ୍ୟାକେଟ୍ ସେଗମେଣ୍ଟର ଏକ ACK ଆସେ, TCP cwnd ର ମୂଲ୍ୟ ହ୍ରାସ କରେ ଏବଂ ତା’ପରେ ଭିଡ଼ ପରିହାର ସ୍ଥିତିରେ ପ୍ରବେଶ କରେ। ଏହା ଭିଡ଼ ୱିଣ୍ଡୋର ଆକାରକୁ ନିୟନ୍ତ୍ରଣ କରିବା ଏବଂ ନେଟୱାର୍କ ଭିଡ଼କୁ ଆହୁରି ବୃଦ୍ଧି କରିବାରୁ ରକ୍ଷା କରିବା ପାଇଁ।

ଯଦି ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଅବସ୍ଥା ପରେ ଏକ ସମୟ ସମାପ୍ତି ଘଟେ, ତେବେ ନେଟୱାର୍କ ଅବସ୍ଥା ଅଧିକ ଗମ୍ଭୀର ହୋଇଯାଏ ଏବଂ TCP ଭିଡ଼ ପରିହାର ଅବସ୍ଥାରୁ ଧୀର-ଆରମ୍ଭ ଅବସ୍ଥାକୁ ସ୍ଥାନାନ୍ତରିତ ହୁଏ। ଏହି କ୍ଷେତ୍ରରେ, ଭିଡ଼ ୱିଣ୍ଡୋ cwnd ର ମୂଲ୍ୟ 1 MSS, ସର୍ବାଧିକ ପ୍ୟାକେଟ ସେଗମେଣ୍ଟ ଲମ୍ବ ଏବଂ ଧୀର-ଆରମ୍ଭ ସୀମା ssthresh ର ମୂଲ୍ୟ cwnd ର ଅଧା ସେଟ୍ କରାଯାଏ। ଏହାର ଉଦ୍ଦେଶ୍ୟ ହେଉଛି ନେଟୱାର୍କ ପୁନରୁଦ୍ଧାର ପରେ ବିଡ଼ୋଷ ୱିଣ୍ଡୋର ଆକାରକୁ ଧୀରେ ଧୀରେ ବୃଦ୍ଧି କରିବା ଯାହା ଦ୍ୱାରା ଟ୍ରାନ୍ସମିସନ୍ ହାର ଏବଂ ନେଟୱାର୍କ ଭିଡ଼ର ପରିମାଣ ସନ୍ତୁଳିତ ହୋଇପାରିବ।

ସାରାଂଶ
ଏକ ନିର୍ଭରଯୋଗ୍ୟ ପରିବହନ ପ୍ରୋଟୋକଲ୍ ଭାବରେ, TCP କ୍ରମ ସଂଖ୍ୟା, ସ୍ୱୀକୃତି, ପୁନଃପ୍ରସାରଣ ନିୟନ୍ତ୍ରଣ, ସଂଯୋଗ ପରିଚାଳନା ଏବଂ ୱିଣ୍ଡୋ ନିୟନ୍ତ୍ରଣ ଦ୍ୱାରା ନିର୍ଭରଯୋଗ୍ୟ ପରିବହନ କାର୍ଯ୍ୟକାରୀ କରେ। ସେମାନଙ୍କ ମଧ୍ୟରେ, ପ୍ରବାହ ନିୟନ୍ତ୍ରଣ ଯନ୍ତ୍ର ପ୍ରଣାଳୀ ଗ୍ରହଣକାରୀଙ୍କ ପ୍ରକୃତ ଗ୍ରହଣ କ୍ଷମତା ଅନୁସାରେ ପ୍ରେରକଙ୍କ ଦ୍ୱାରା ପଠାଯାଇଥିବା ତଥ୍ୟର ପରିମାଣକୁ ନିୟନ୍ତ୍ରଣ କରେ, ଯାହା ନେଟୱାର୍କ ଭିଡ଼ ଏବଂ କାର୍ଯ୍ୟଦକ୍ଷତା ହ୍ରାସର ସମସ୍ୟାକୁ ଏଡାଏ। ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଯନ୍ତ୍ର ପ୍ରେରକଙ୍କ ଦ୍ୱାରା ପଠାଯାଇଥିବା ତଥ୍ୟର ପରିମାଣକୁ ସଜାଡ଼ି ନେଟୱାର୍କ ଭିଡ଼ର ଘଟଣାକୁ ଏଡାଏ। ଭିଡ଼ ୱିଣ୍ଡୋ ଏବଂ ପଠାଇବା ୱିଣ୍ଡୋର ଧାରଣା ପରସ୍ପର ସହିତ ଜଡିତ, ଏବଂ ପ୍ରେରକଙ୍କଠାରେ ଡାଟାର ପରିମାଣ କଞ୍ଜେସନ୍ ୱିଣ୍ଡୋର ଆକାରକୁ ଗତିଶୀଳ ଭାବରେ ସଜାଡ଼ି ନିୟନ୍ତ୍ରିତ କରାଯାଏ। ଧୀର ଆରମ୍ଭ, ଭିଡ଼ ଏଡାଇବା ଏବଂ ଦ୍ରୁତ ପୁନରୁଦ୍ଧାର ହେଉଛି TCP ଭିଡ଼ ନିୟନ୍ତ୍ରଣ ଆଲଗୋରିଦମର ତିନୋଟି ମୁଖ୍ୟ ଅଂଶ, ଯାହା ନେଟୱାର୍କର କ୍ଷମତା ଏବଂ ଭିଡ଼ ଡିଗ୍ରୀ ସହିତ ଖାପ ଖୁଆଇବା ପାଇଁ ବିଭିନ୍ନ ରଣନୀତି ମାଧ୍ୟମରେ ଭିଡ଼ ୱିଣ୍ଡୋର ଆକାରକୁ ସଜାଡ଼ିଥାଏ।

ପରବର୍ତ୍ତୀ ବିଭାଗରେ, ଆମେ TCPର ପୁନଃପ୍ରସାରଣ ପ୍ରଣାଳୀକୁ ବିସ୍ତୃତ ଭାବରେ ପରୀକ୍ଷା କରିବୁ। ନିର୍ଭରଯୋଗ୍ୟ ପ୍ରସାରଣ ହାସଲ କରିବା ପାଇଁ ପୁନଃପ୍ରସାରଣ ପ୍ରଣାଳୀ TCPର ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଅଂଶ। ଏହା ହଜିଯାଇଥିବା, ନଷ୍ଟ ହୋଇଥିବା କିମ୍ବା ବିଳମ୍ବ ହୋଇଥିବା ତଥ୍ୟକୁ ପୁନଃପ୍ରସାରଣ କରି ତଥ୍ୟର ନିର୍ଭରଯୋଗ୍ୟ ପ୍ରସାରଣ ସୁନିଶ୍ଚିତ କରେ। ପୁନଃପ୍ରସାରଣ ପ୍ରଣାଳୀର କାର୍ଯ୍ୟାନ୍ୱୟନ ନୀତି ଏବଂ ରଣନୀତି ପରବର୍ତ୍ତୀ ବିଭାଗରେ ବିସ୍ତୃତ ଭାବରେ ପରିଚିତ ଏବଂ ବିଶ୍ଳେଷଣ କରାଯିବ। ଆମ ସହିତ ରୁହନ୍ତୁ!


ପୋଷ୍ଟ ସମୟ: ଫେବୃଆରୀ-୨୪-୨୦୨୫