మేము నేటి వీడియో ట్యుటోరియల్ని ప్రారంభించే ముందు, YouTubeలో నా కోర్సు యొక్క ప్రజాదరణకు సహకరించిన ప్రతి ఒక్కరికీ నేను ధన్యవాదాలు చెప్పాలనుకుంటున్నాను. నేను 8 నెలల క్రితం దీన్ని ప్రారంభించినప్పుడు, అలాంటి విజయాన్ని నేను ఊహించలేదు - ఈ రోజు నా పాఠాలను 312724 మంది వీక్షించారు, నాకు 11208 మంది సభ్యులు ఉన్నారు. ఈ వినయపూర్వకమైన ప్రారంభం ఇంత ఎత్తుకు చేరుతుందని కలలో కూడా ఊహించలేదు. అయితే సమయాన్ని వృథా చేయకుండా నేరుగా నేటి పాఠానికి చేరుకుందాం. ఈ రోజు మనం గత 7 వీడియో పాఠాలలో ఏర్పడిన ఖాళీలను పూరిస్తాము. ఈరోజు 6వ రోజు మాత్రమే అయినప్పటికీ, 3వ రోజు 3 వీడియో పాఠాలుగా విభజించబడింది, కాబట్టి ఈ రోజు మీరు ఎనిమిదవ వీడియో పాఠాన్ని చూస్తారు.
ఈ రోజు మనం 3 ముఖ్యమైన అంశాలను కవర్ చేస్తాము: DHCP, TCP రవాణా మరియు అత్యంత సాధారణ పోర్ట్ నంబర్లు. మేము ఇప్పటికే IP చిరునామాల గురించి మాట్లాడాము మరియు IP చిరునామా కాన్ఫిగరేషన్లో అత్యంత ముఖ్యమైన కారకాల్లో ఒకటి DHCP.
DHCP అంటే డైనమిక్ హోస్ట్ కాన్ఫిగరేషన్ ప్రోటోకాల్ మరియు ఇది హోస్ట్ల కోసం IP చిరునామాలను డైనమిక్గా కాన్ఫిగర్ చేయడంలో సహాయపడే ప్రోటోకాల్. కాబట్టి మనమందరం ఈ విండోను చూశాము. మీరు “IP చిరునామాను స్వయంచాలకంగా పొందండి” ఎంపికపై క్లిక్ చేసినప్పుడు, కంప్యూటర్ అదే సబ్నెట్లో కాన్ఫిగర్ చేయబడిన DHCP సర్వర్ కోసం చూస్తుంది మరియు IP చిరునామా కోసం వివిధ ప్యాకెట్లు మరియు అభ్యర్థనలను పంపుతుంది. DHCP ప్రోటోకాల్లో 6 సందేశాలు ఉన్నాయి, వాటిలో 4 IP చిరునామాను కేటాయించడానికి కీలకమైనవి.
మొదటి సందేశం DHCP డిస్కవరీ సందేశం. DHCP ఆవిష్కరణ సందేశం శుభాకాంక్షల సందేశాన్ని పోలి ఉంటుంది. కొత్త పరికరం నెట్వర్క్లో చేరినప్పుడు, నెట్వర్క్లో DHCP సర్వర్ ఉందా అని అడుగుతుంది.
DHCP సర్వర్ కోసం వెతుకుతున్న నెట్వర్క్లోని అన్ని పరికరాలను పరికరం సంప్రదించే ప్రసార అభ్యర్థన వలె మీరు స్లయిడ్లో చూసేది కనిపిస్తుంది. నేను చెప్పినట్లుగా, ఇది ప్రసార అభ్యర్థన, కాబట్టి నెట్వర్క్లోని అన్ని పరికరాలు దీన్ని వినగలవు.
నెట్వర్క్లో DHCP సర్వర్ ఉంటే, అది ఒక ప్యాకెట్ను పంపుతుంది - DHCP ఆఫర్ ఆఫర్. ప్రతిపాదన అంటే DHCP సర్వర్, డిస్కవరీ అభ్యర్థనకు ప్రతిస్పందనగా, క్లయింట్కు ఒక కాన్ఫిగరేషన్ను పంపుతుంది, క్లయింట్ను నిర్దిష్ట IP చిరునామాను అంగీకరించమని అడుగుతుంది.
DHCP సర్వర్ IP చిరునామాను రిజర్వ్ చేస్తుంది, ఈ సందర్భంలో 192.168.1.2, దానిని అందించదు, కానీ పరికరం కోసం ఈ చిరునామాను రిజర్వ్ చేస్తుంది. అదే సమయంలో, ఆఫర్ ప్యాకేజీ దాని స్వంత DHCP సర్వర్ యొక్క IP చిరునామాను కలిగి ఉంటుంది.
ఈ నెట్వర్క్లో ఒకటి కంటే ఎక్కువ DHCP సర్వర్లు ఉంటే, క్లయింట్ యొక్క ప్రసార అభ్యర్థనను స్వీకరించిన తర్వాత మరొక DHCP సర్వర్ దాని IP చిరునామాను కూడా అందిస్తుంది, ఉదాహరణకు, 192.168.1.50. ఒకే నెట్వర్క్లో రెండు వేర్వేరు DHCP సర్వర్లను కాన్ఫిగర్ చేయడం సాధారణం కాదు, కానీ కొన్నిసార్లు ఇది జరుగుతుంది. కాబట్టి క్లయింట్కు DHCP ఆఫర్ పంపబడినప్పుడు, అది 2 DHCP ఆఫర్లను అందుకుంటుంది మరియు ఇప్పుడు అది ఏ DHCP ఆఫర్ని అంగీకరించాలనుకుంటున్నదో నిర్ణయించుకోవాలి.
క్లయింట్ మొదటి అప్లికేషన్ను అంగీకరించారని అనుకుందాం. క్లయింట్ "DHCP సర్వర్ 192.168.1.2 అందించే IP చిరునామా 192.168.1.1ని నేను అంగీకరిస్తున్నాను" అని అక్షరాలా చెప్పే DHCP అభ్యర్థన అభ్యర్థనను క్లయింట్ పంపుతుందని దీని అర్థం.
అభ్యర్థనను స్వీకరించిన తర్వాత, 192.168.1.1 DHCP సర్వర్ “సరే, నేను అంగీకరిస్తున్నాను” అని ప్రతిస్పందిస్తుంది, అంటే, ఇది అభ్యర్థనను గుర్తించి, క్లయింట్కు ఈ DHCP ACKని పంపుతుంది. కానీ మరొక DHCP సర్వర్ క్లయింట్ కోసం 1.50 IP చిరునామాను రిజర్వ్ చేసిందని మేము గుర్తుంచుకోవాలి. అది క్లయింట్ యొక్క ప్రసార అభ్యర్థనను స్వీకరించిన తర్వాత, అది వైఫల్యం గురించి తెలుసుకుంటుంది మరియు ఆ IP చిరునామాను తిరిగి పూల్లో ఉంచుతుంది, తద్వారా అది మరొక అభ్యర్థనను స్వీకరించినట్లయితే దానిని మరొక క్లయింట్కు కేటాయించవచ్చు.
IP చిరునామాలను కేటాయించేటప్పుడు DHCP మార్పిడి చేసే 4 క్లిష్టమైన సందేశాలు ఇవి. తర్వాత, DHCPకి మరో 2 సమాచార సందేశాలు ఉన్నాయి. రెండవ దశలో DHCP OFFER నిబంధనలో స్వీకరించిన దానికంటే ఎక్కువ సమాచారం అవసరమైతే క్లయింట్ ద్వారా సమాచార సందేశం జారీ చేయబడుతుంది. DHCP ఆఫర్లో సర్వర్ తగినంత సమాచారాన్ని అందించనట్లయితే లేదా ఆఫర్ ప్యాకెట్లో ఉన్నదాని కంటే క్లయింట్కు మరింత సమాచారం అవసరమైతే, అది అదనపు DHCP సమాచారాన్ని అభ్యర్థిస్తుంది. క్లయింట్ సర్వర్కు పంపే మరో సందేశం ఉంది - ఇది DHCP విడుదల. క్లయింట్ దాని ప్రస్తుత IP చిరునామాను విడుదల చేయాలనుకుంటున్నట్లు ఇది మీకు తెలియజేస్తుంది.
అయినప్పటికీ, సర్వర్కు DHCP విడుదలను పంపడానికి క్లయింట్కు సమయం వచ్చేలోపు వినియోగదారు నెట్వర్క్ నుండి డిస్కనెక్ట్ చేయడం చాలా తరచుగా జరుగుతుంది. మీరు కంప్యూటర్ను ఆఫ్ చేసినప్పుడు ఇది జరుగుతుంది, మేము దీన్ని చేస్తాము. ఈ సందర్భంలో, నెట్వర్క్ క్లయింట్ లేదా కంప్యూటర్, ఉపయోగించిన చిరునామాను విడుదల చేయడానికి సర్వర్కు తెలియజేయడానికి సమయం లేదు, కాబట్టి DHCP విడుదల అవసరమైన దశ కాదు. IP చిరునామాను పొందేందుకు అవసరమైన దశలు: DHCP ఆవిష్కరణ, DHCP ఆఫర్, DHCP అభ్యర్థన మరియు DHCP హ్యాండ్షేక్.
DNCP పూల్ను సృష్టించేటప్పుడు DHCP సర్వర్ని ఎలా కాన్ఫిగర్ చేయాలో తదుపరి పాఠాలలో ఒకదానిలో నేను మీకు చెప్తాను. పూలింగ్ చేయడం ద్వారా 192.168.1.1 నుండి 192.168.1.254 పరిధిలో IP చిరునామాలను కేటాయించమని మీరు సర్వర్కు చెప్పాలని మేము సూచిస్తున్నాము. అందువలన, DHCP సర్వర్ ఒక పూల్ను సృష్టిస్తుంది, దానిలో 254 IP చిరునామాలను ఉంచుతుంది మరియు ఈ పూల్ నుండి మాత్రమే నెట్వర్క్లోని క్లయింట్లకు చిరునామాలను కేటాయించగలదు. కాబట్టి ఇది వినియోగదారు చేయగల అడ్మినిస్ట్రేటివ్ సెట్టింగ్ లాంటిది.
ఇప్పుడు TCP ప్రసారాన్ని చూద్దాం. చిత్రంలో చిత్రీకరించిన "టెలిఫోన్" మీకు తెలిసి ఉందో లేదో నాకు తెలియదు, కానీ మేము చిన్నప్పుడు ఒకరితో ఒకరు మాట్లాడుకోవడానికి స్ట్రింగ్ ద్వారా కనెక్ట్ చేయబడిన ఈ టిన్ డబ్బాలను ఉపయోగించాము.
దురదృష్టవశాత్తు, నేటి తరం అటువంటి "విలాసాలను" కొనుగోలు చేయదు. నా ఉద్దేశ్యం, ఈ రోజు పిల్లలు ఒక సంవత్సరం వయస్సు నుండి టీవీ ముందు ఉంటారు, వారు PSP ఆడతారు మరియు బహుశా ఇది చర్చనీయాంశంగా ఉంటుంది, కానీ మనకి మంచి బాల్యం ఉందని నేను అనుకుంటున్నాను, మేము నిజంగా బయటికి వెళ్లి ఆటలు ఆడాము మరియు నేటి పిల్లలను సోఫా నుండి దూరంగా లాగలేరు .
నా కొడుక్కి ఒక సంవత్సరం మాత్రమే మరియు అతను ఐప్యాడ్కి అడిక్ట్ అయ్యాడని నేను ఇప్పటికే చూస్తున్నాను, అంటే అతను ఇంకా చాలా చిన్నవాడు, కాని నేటి పిల్లలు ఎలక్ట్రానిక్ గాడ్జెట్లను ఎలా హ్యాండిల్ చేయాలో తెలిసి ఇప్పటికే పుట్టారని నేను అనుకుంటున్నాను. కాబట్టి, చిన్నప్పుడు మనం ఆడుకునేటప్పుడు డబ్బాలకు రంధ్రాలు చేసి, వాటిని తీగతో కట్టి, ఒక డబ్బాలో ఏదైనా చెప్పినప్పుడు, ఆ వ్యక్తి చెప్పేది మరొక వైపు వినగలదని నేను చెప్పాలనుకుంటున్నాను. అతనికి, కేవలం డబ్బాను అతని చెవిలో పెట్టడం ద్వారా . కనుక ఇది నెట్వర్క్ కనెక్షన్కి చాలా పోలి ఉంటుంది.
ఈ రోజు, TCP బదిలీలు కూడా వాస్తవ డేటా బదిలీ ప్రారంభమయ్యే ముందు తప్పనిసరిగా కనెక్షన్ని కలిగి ఉండాలి. మేము మునుపటి పాఠాలలో చర్చించినట్లుగా, TCP అనేది కనెక్షన్-ఓరియెంటెడ్ ట్రాన్స్మిషన్ అయితే UDP అనేది కనెక్షన్-ఓరియెంటెడ్ ట్రాన్స్మిషన్. నేను బంతిని విసిరే చోట UDP అని మీరు చెప్పవచ్చు మరియు మీరు దానిని పట్టుకోగలరో లేదో చూడటం మీ ఇష్టం. మీరు దీన్ని చేయడానికి సిద్ధంగా ఉన్నారా లేదా అనేది నా సమస్య కాదు, నేను అతనిని విడిచిపెట్టబోతున్నాను.
TCP అంటే మీరు ఒక వ్యక్తితో మాట్లాడటం మరియు మీరు బంతిని విసరబోతున్నారని ముందుగానే హెచ్చరించడం వంటిది, కాబట్టి మీరు ఒక బంధాన్ని ఏర్పరుచుకుంటారు, ఆపై మీరు బంతిని విసిరారు, తద్వారా మీ భాగస్వామి దానిని పట్టుకోవడానికి సిద్ధంగా ఉంటారు. కాబట్టి TCP వాస్తవానికి కనెక్షన్ని నిర్మిస్తుంది మరియు అసలు ప్రసారం చేయడం ప్రారంభిస్తుంది.
ఇది అటువంటి కనెక్షన్ను ఎలా సృష్టిస్తుందో చూద్దాం. కనెక్షన్ని సృష్టించడానికి ఈ ప్రోటోకాల్ 3-వే హ్యాండ్షేక్ని ఉపయోగిస్తుంది. ఇది చాలా సాంకేతిక పదం కాదు, కానీ ఇది TCP కనెక్షన్ని వివరించడానికి చాలా కాలంగా ఉపయోగించబడింది. పంపే పరికరం ద్వారా 3-మార్గం హ్యాండ్షేక్ ప్రారంభించబడుతుంది, క్లయింట్ SYN ఫ్లాగ్తో కూడిన ప్యాకెట్ను సర్వర్కు పంపుతుంది.
ముందుభాగంలో ఉన్న అమ్మాయి, ఎవరి ముఖం మనం చూడగలదో, అది పరికరం A అని, మరియు ముఖం కనిపించని బ్యాక్గ్రౌండ్లో ఉన్న అమ్మాయి పరికరం B అని అనుకుందాం. అమ్మాయి A అమ్మాయి Bకి SYN ప్యాకెట్ని పంపుతుంది మరియు ఆమె ఇలా చెప్పింది: “గ్రేట్, ఎవరు- అప్పుడు అతను నాతో కమ్యూనికేట్ చేయాలనుకుంటున్నాడు. కాబట్టి, నేను కమ్యూనికేట్ చేయడానికి సిద్ధంగా ఉన్నానని నేను సమాధానం చెప్పాలి! ఇది ఎలా చెయ్యాలి? ఒకరు కేవలం మరొక SYN ప్యాకెట్ను తిరిగి పంపవచ్చు మరియు అసలు SYN ప్యాకెట్ యొక్క రసీదుని సూచించే ACKని పంపవచ్చు. కానీ ACKలను విడిగా పంపే బదులు, సర్వర్ SYN మరియు ACKని కలిగి ఉన్న ఒక సాధారణ ప్యాకెట్ను ఏర్పరుస్తుంది మరియు దానిని నెట్వర్క్ ద్వారా ప్రసారం చేస్తుంది.
కాబట్టి ఈ సమయంలో, పరికరం A SYN ప్యాకెట్ను పంపింది మరియు SYN/ACK ప్యాకెట్ను తిరిగి పొందింది. ఇప్పుడు పరికరం A తప్పనిసరిగా పరికరం Bని ACK ప్యాకెట్ని పంపాలి, అంటే, కమ్యూనికేషన్ని స్థాపించడానికి పరికరం B నుండి సమ్మతిని పొందినట్లు నిర్ధారించండి. ఈ విధంగా, రెండు పరికరాలు SYN మరియు ACK ప్యాకెట్లను అందుకున్నాయి మరియు ఇప్పుడు మేము కనెక్షన్ స్థాపించబడిందని చెప్పగలం, అంటే, TCP ప్రోటోకాల్ ఉపయోగించి 3-దశల హ్యాండ్షేక్ పూర్తయింది.
తరువాత మనం TCP విండోస్ టెక్నాలజీని పరిశీలిస్తాము. సరళంగా చెప్పాలంటే, ఇది TCP/IPలో పంపినవారు మరియు స్వీకరించేవారి సామర్థ్యాలను చర్చించడానికి ఉపయోగించే పద్ధతి.
విండోస్లో మనం పెద్ద ఫైల్ను 2 GB పరిమాణంలో ఒక డ్రైవ్ నుండి మరొక డ్రైవ్కు బదిలీ చేయడానికి ప్రయత్నిస్తున్నామని చెప్పండి. బదిలీ ప్రారంభంలోనే, ఫైల్ బదిలీకి సుమారు 1 సంవత్సరం పడుతుందని సిస్టమ్ మాకు తెలియజేస్తుంది. కానీ కొన్ని సెకన్ల తర్వాత సిస్టమ్ తనను తాను సరిదిద్దుకుంటుంది మరియు ఇలా చెబుతుంది: "ఓహ్, ఒక్క నిమిషం ఆగండి, ఇది సుమారు 6 నెలలు పడుతుంది, ఒక సంవత్సరం కాదు." మరికొంత సమయం గడిచిపోతుంది మరియు Windows ఇలా చెబుతుంది: "నేను 1 నెలలో ఫైల్ను బదిలీ చేయగలనని అనుకుంటున్నాను." దీని తర్వాత "1 రోజు", "6 గంటలు", "3 గంటలు", "1 గంట", "20 నిమిషాలు", "10 నిమిషాలు", "3 నిమిషాలు" సందేశం వస్తుంది. వాస్తవానికి, మొత్తం ఫైల్ బదిలీ ప్రక్రియ కేవలం 3 నిమిషాలు మాత్రమే పడుతుంది. ఇది ఎలా జరిగింది? ప్రారంభంలో, మీ పరికరం మరొక పరికరంతో కమ్యూనికేట్ చేయడానికి ప్రయత్నించినప్పుడు, అది ఒక ప్యాకెట్ను పంపుతుంది మరియు నిర్ధారణ కోసం వేచి ఉంటుంది. పరికరం నిర్ధారణ కోసం చాలా కాలం వేచి ఉంటే, అది ఇలా అనుకుంటుంది: "నేను ఈ వేగంతో 2 GB డేటాను బదిలీ చేయవలసి వస్తే, దానికి 2 సంవత్సరాలు పడుతుంది." కొంత సమయం తర్వాత, మీ పరికరం ACKని అందుకుంటుంది మరియు ఇలా అనుకుంటుంది, “సరే, నేను ఒక ప్యాకెట్ పంపాను మరియు ACKని అందుకున్నాను, అందువల్ల గ్రహీత 1 ప్యాకెట్ని అందుకోవచ్చు. ఇప్పుడు నేను అతనికి ఒకటికి బదులుగా 10 ప్యాకేజీలను పంపడానికి ప్రయత్నిస్తాను. పంపినవారు 10 ప్యాకెట్లను పంపుతారు మరియు కొంత సమయం తర్వాత స్వీకరించే పరికరం నుండి ACK నిర్ధారణను అందుకుంటారు, అంటే స్వీకర్త తదుపరి, 11వ ప్యాకెట్ కోసం వేచి ఉన్నారని అర్థం. పంపినవారు ఇలా అనుకుంటున్నారు: "అద్భుతంగా ఉంది, గ్రహీత ఒకేసారి 10 ప్యాకెట్లను హ్యాండిల్ చేసాడు కాబట్టి, ఇప్పుడు నేను అతనికి పదికి బదులుగా 100 ప్యాకెట్లను పంపడానికి ప్రయత్నిస్తాను." అతను 100 ప్యాకెట్లను పంపాడు మరియు గ్రహీత వాటిని అందుకున్నట్లు ప్రతిస్పందించాడు మరియు ఇప్పుడు 101 ప్యాకెట్ల కోసం ఎదురు చూస్తున్నాడు. అందువలన, కాలక్రమేణా, ప్రసారం చేయబడిన ప్యాకెట్ల సంఖ్య పెరుగుతుంది.
దీని వలన మీరు ఫైల్ కాపీ సమయంలో మొదట పేర్కొన్న దానితో పోల్చితే వేగంగా తగ్గుదలని చూస్తున్నారు - ఇది పెద్ద మొత్తంలో డేటాను బదిలీ చేయగల సామర్థ్యాన్ని పెంచడం వల్ల వస్తుంది. అయినప్పటికీ, ప్రసార పరిమాణంలో మరింత పెరుగుదల అసాధ్యం అయినప్పుడు ఒక పాయింట్ వస్తుంది. మీరు 10000 ప్యాకెట్లను పంపారని అనుకుందాం, కానీ రిసీవర్ పరికరం బఫర్ 9000ని మాత్రమే ఆమోదించగలదు. ఈ సందర్భంలో, రిసీవర్ ACKని పంపుతుంది: "నేను 9000 ప్యాకెట్లను అందుకున్నాను మరియు ఇప్పుడు 9001ని స్వీకరించడానికి సిద్ధంగా ఉన్నాను." దీని నుండి, స్వీకరించే పరికరం యొక్క బఫర్ సామర్థ్యం 9000 మాత్రమే అని పంపినవారు నిర్ధారించారు, అంటే ఇక నుండి నేను ఒకేసారి 9000 ప్యాకెట్ల కంటే ఎక్కువ పంపను. ఈ సందర్భంలో, పంపినవారు 9000 ప్యాకెట్ల భాగాలలో మిగిలిన డేటాను బదిలీ చేయడానికి పట్టే సమయాన్ని త్వరగా లెక్కిస్తారు మరియు 3 నిమిషాలు ఇస్తుంది. ఈ మూడు నిమిషాలు అసలు ప్రసార సమయం. అదే TCP విండో చేస్తుంది.
పంపే పరికరం చివరికి అసలు నెట్వర్క్ కెపాసిటీ ఏమిటో అర్థం చేసుకునే ట్రాఫిక్ థ్రోట్లింగ్ మెకానిజమ్లలో ఇది ఒకటి. స్వీకరించే పరికరం యొక్క సామర్థ్యం ఏమిటో వారు ముందుగానే ఎందుకు అంగీకరించలేరు అని మీరు ఆశ్చర్యపోవచ్చు? వాస్తవం ఏమిటంటే ఇది సాంకేతికంగా అసాధ్యం ఎందుకంటే నెట్వర్క్లో వివిధ రకాల పరికరాలు ఉన్నాయి. మీరు ఐప్యాడ్ని కలిగి ఉన్నారని మరియు ఇది iPhone కంటే భిన్నమైన డేటా బదిలీ/రిసీవర్ వేగాన్ని కలిగి ఉందని అనుకుందాం, మీరు వివిధ రకాల ఫోన్లను కలిగి ఉండవచ్చు లేదా మీకు చాలా పాత కంప్యూటర్ ఉండవచ్చు. అందువల్ల, ప్రతి ఒక్కరికి వేర్వేరు నెట్వర్క్ బ్యాండ్విడ్త్ ఉంటుంది.
అందువల్ల TCP విండోస్ టెక్నాలజీ అభివృద్ధి చేయబడింది, డేటా ట్రాన్స్మిషన్ తక్కువ వేగంతో లేదా కనీస సంఖ్యలో ప్యాకెట్ల ప్రసారంతో ప్రారంభమైనప్పుడు, క్రమంగా ట్రాఫిక్ "విండో" పెరుగుతుంది. మీరు ఒక ప్యాకెట్, 5 ప్యాకెట్లు, 10 ప్యాకెట్లు, 1000 ప్యాకెట్లు, 10000 ప్యాకెట్లను పంపుతారు మరియు నిర్దిష్ట వ్యవధిలో పంపిన ట్రాఫిక్ యొక్క గరిష్ట పరిమాణాన్ని “ఓపెనింగ్” చేరుకునే వరకు నెమ్మదిగా ఆ విండోను మరింత ఎక్కువగా తెరవండి. అందువలన, విండోస్ భావన TCP ప్రోటోకాల్ యొక్క ఆపరేషన్లో భాగం.
తరువాత మనం అత్యంత సాధారణ పోర్ట్ సంఖ్యలను పరిశీలిస్తాము. మీరు 1 ప్రధాన సర్వర్, బహుశా డేటా సెంటర్ను కలిగి ఉన్నప్పుడు క్లాసిక్ పరిస్థితి. ఇది ఫైల్ సర్వర్, వెబ్ సర్వర్, మెయిల్ సర్వర్ మరియు DHCP సర్వర్లను కలిగి ఉంటుంది. ఇప్పుడు, క్లయింట్ కంప్యూటర్లలో ఒకటి చిత్రం మధ్యలో ఉన్న డేటా సెంటర్ను సంప్రదించినట్లయితే, అది క్లయింట్ పరికరాలకు ఫైల్ సర్వర్ ట్రాఫిక్ను పంపడం ప్రారంభిస్తుంది. ఈ ట్రాఫిక్ ఎరుపు రంగులో చూపబడింది మరియు నిర్దిష్ట సర్వర్ నుండి నిర్దిష్ట అప్లికేషన్ కోసం నిర్దిష్ట పోర్ట్లో ప్రసారం చేయబడుతుంది.
నిర్దిష్ట ట్రాఫిక్ ఎక్కడికి వెళ్లాలో సర్వర్కి ఎలా తెలుసు? అతను దీన్ని డెస్టినేషన్ పోర్ట్ నంబర్ నుండి నేర్చుకుంటాడు. మీరు ఫ్రేమ్ను చూస్తే, ప్రతి డేటా బదిలీలో డెస్టినేషన్ పోర్ట్ నంబర్ మరియు సోర్స్ పోర్ట్ నంబర్ ప్రస్తావన ఉన్నట్లు మీరు చూస్తారు. నీలం మరియు ఎరుపు ట్రాఫిక్ మరియు నీలం ట్రాఫిక్ వెబ్ సర్వర్ ట్రాఫిక్ అని మీరు చూడవచ్చు, రెండూ వేర్వేరు సర్వర్లను ఇన్స్టాల్ చేసిన ఒకే భౌతిక సర్వర్కు వెళ్తాయి. ఇది డేటా సెంటర్ అయితే, అది వర్చువల్ సర్వర్లను ఉపయోగిస్తుంది. కాబట్టి ఎరుపు ట్రాఫిక్ ఆ IP చిరునామాతో ఎడమ ల్యాప్టాప్కు తిరిగి వెళ్లాలని వారికి ఎలా తెలుసు? పోర్ట్ నంబర్ల కారణంగా వారికి ఇది తెలుసు. మీరు “TCP మరియు UDP పోర్ట్ల జాబితా” అనే వికీపీడియా కథనాన్ని సూచిస్తే, అది అన్ని ప్రామాణిక పోర్ట్ నంబర్లను జాబితా చేసినట్లు మీరు చూస్తారు.
మీరు ఈ పేజీని క్రిందికి స్క్రోల్ చేస్తే, ఈ జాబితా ఎంత పెద్దదో మీరు చూడవచ్చు. ఇది సుమారు 61 సంఖ్యలను కలిగి ఉంది. 000 నుండి 1 వరకు ఉన్న పోర్ట్ నంబర్లను అత్యంత సాధారణ పోర్ట్ నంబర్లుగా పిలుస్తారు. ఉదాహరణకు, పోర్ట్ 1024/TCP ftp ఆదేశాలను పంపడానికి, పోర్ట్ 21 ssh కోసం, పోర్ట్ 22 టెల్నెట్ కోసం, అంటే ఎన్క్రిప్ట్ చేయని సందేశాలను పంపడానికి. చాలా ప్రజాదరణ పొందిన పోర్ట్ 23 HTTP ద్వారా డేటాను తీసుకువెళుతుంది, అయితే పోర్ట్ 80 HTTP యొక్క సురక్షిత సంస్కరణకు సమానమైన HTTPS ద్వారా గుప్తీకరించిన డేటాను కలిగి ఉంటుంది.
కొన్ని పోర్ట్లు TCP మరియు UDP రెండింటికీ అంకితం చేయబడ్డాయి మరియు కొన్ని కనెక్షన్ TCP లేదా UDP అనేదానిపై ఆధారపడి విభిన్న విధులను నిర్వహిస్తాయి. కాబట్టి, అధికారికంగా TCP పోర్ట్ 80 HTTP కోసం ఉపయోగించబడుతుంది మరియు అనధికారికంగా UDP పోర్ట్ 80 HTTP కోసం ఉపయోగించబడుతుంది, కానీ వేరే HTTP ప్రోటోకాల్ కింద - QUIC.
అందువల్ల, TCPలోని పోర్ట్ నంబర్లు ఎల్లప్పుడూ UDPలో చేసిన పనిని చేయడానికి ఉద్దేశించబడవు. మీరు ఈ జాబితాను హృదయపూర్వకంగా నేర్చుకోవాల్సిన అవసరం లేదు, గుర్తుంచుకోవడం అసాధ్యం, కానీ మీరు కొన్ని ప్రసిద్ధ మరియు అత్యంత సాధారణ పోర్ట్ నంబర్లను తెలుసుకోవాలి. నేను చెప్పినట్లుగా, ఈ పోర్ట్లలో కొన్ని అధికారిక ప్రయోజనాన్ని కలిగి ఉన్నాయి, ఇది ప్రమాణాలలో వివరించబడింది మరియు కొన్ని Chromium విషయంలో వలె అనధికారిక ప్రయోజనం కలిగి ఉంటాయి.
కాబట్టి, ఈ పట్టిక అన్ని సాధారణ పోర్ట్ నంబర్లను జాబితా చేస్తుంది మరియు నిర్దిష్ట అప్లికేషన్లను ఉపయోగిస్తున్నప్పుడు ట్రాఫిక్ను పంపడానికి మరియు స్వీకరించడానికి ఈ నంబర్లు ఉపయోగించబడతాయి.
ఇప్పుడు మనకు తెలిసిన తక్కువ సమాచారం ఆధారంగా నెట్వర్క్లో డేటా ఎలా కదులుతుందో చూద్దాం. కంప్యూటర్ 10.1.1.10 ఈ కంప్యూటర్ను లేదా 30.1.1.10 చిరునామాను కలిగి ఉన్న ఈ సర్వర్ని సంప్రదించాలని అనుకుందాం. ప్రతి పరికరం యొక్క IP చిరునామా క్రింద దాని MAC చిరునామా ఉంటుంది. నేను చివరి 4 అక్షరాలు మాత్రమే ఉన్న MAC చిరునామా యొక్క ఉదాహరణను ఇస్తున్నాను, కానీ ఆచరణలో ఇది 48 అక్షరాలతో 12-బిట్ హెక్సాడెసిమల్ సంఖ్య. ఈ సంఖ్యలలో ప్రతి ఒక్కటి 4 బిట్లను కలిగి ఉన్నందున, 12 హెక్సాడెసిమల్ అంకెలు 48-బిట్ సంఖ్యను సూచిస్తాయి.
మనకు తెలిసినట్లుగా, ఈ పరికరం ఈ సర్వర్ని సంప్రదించాలనుకుంటే, 3-మార్గం హ్యాండ్షేక్ యొక్క మొదటి దశను ముందుగా చేయాలి, అంటే SYN ప్యాకెట్ను పంపడం. ఈ అభ్యర్థన చేసినప్పుడు, కంప్యూటర్ 10.1.1.10 సోర్స్ పోర్ట్ నంబర్ను నిర్దేశిస్తుంది, ఇది Windows డైనమిక్గా సృష్టిస్తుంది. Windows యాదృచ్ఛికంగా 1 మరియు 65,000 మధ్య పోర్ట్ సంఖ్యను ఎంచుకుంటుంది. కానీ 1 నుండి 1024 పరిధిలోని ప్రారంభ సంఖ్యలు విస్తృతంగా తెలిసినందున, ఈ సందర్భంలో సిస్టమ్ 25000 కంటే ఎక్కువ సంఖ్యలను పరిగణనలోకి తీసుకుంటుంది మరియు యాదృచ్ఛిక మూల పోర్ట్ను సృష్టిస్తుంది, ఉదాహరణకు, సంఖ్య 25113.
తరువాత, సిస్టమ్ ప్యాకెట్కి గమ్యస్థాన పోర్ట్ను జోడిస్తుంది, ఈ సందర్భంలో అది పోర్ట్ 21, ఎందుకంటే ఈ FTP సర్వర్కు కనెక్ట్ చేయడానికి ప్రయత్నిస్తున్న అప్లికేషన్ FTP ట్రాఫిక్ను పంపాలని తెలుసు.
తరువాత, మా కంప్యూటర్ ఇలా చెబుతుంది, “సరే, నా IP చిరునామా 10.1.1.10, మరియు నేను IP చిరునామా 30.1.1.10ని సంప్రదించాలి.” SYN అభ్యర్థనను రూపొందించడానికి ఈ రెండు చిరునామాలు కూడా ప్యాకెట్లో చేర్చబడ్డాయి మరియు కనెక్షన్ ముగిసే వరకు ఈ ప్యాకెట్ మారదు.
నెట్వర్క్లో డేటా ఎలా కదులుతుందో ఈ వీడియో నుండి మీరు అర్థం చేసుకోవాలని నేను కోరుకుంటున్నాను. అభ్యర్థనను పంపుతున్న మన కంప్యూటర్ సోర్స్ IP చిరునామా మరియు గమ్యస్థాన IP చిరునామాను చూసినప్పుడు, గమ్యస్థాన చిరునామా ఆ స్థానిక నెట్వర్క్లో లేదని అర్థం చేసుకుంటుంది. ఇవన్నీ /24 IP చిరునామాలు అని చెప్పడం మర్చిపోయాను. కాబట్టి మీరు /24 IP చిరునామాలను పరిశీలిస్తే, కంప్యూటర్లు 10.1.1.10 మరియు 30.1.1.10 ఒకే నెట్వర్క్లో లేవని మీరు గ్రహించవచ్చు. అందువల్ల, అభ్యర్థనను పంపే కంప్యూటర్ ఈ నెట్వర్క్ను విడిచిపెట్టడానికి, అది తప్పనిసరిగా 10.1.1.1 గేట్వేని సంప్రదించాలని అర్థం చేసుకుంటుంది, ఇది రౌటర్ ఇంటర్ఫేస్లలో ఒకదానిలో కాన్ఫిగర్ చేయబడింది. ఇది 10.1.1.1కి వెళ్లాలని మరియు దాని MAC చిరునామా 1111కి తెలుసునని దానికి తెలుసు, కానీ గేట్వే 10.1.1.1 యొక్క MAC చిరునామా తెలియదు. అతను ఏమి చేస్తున్నాడు? ఇది నెట్వర్క్లోని అన్ని పరికరాలను స్వీకరించే ప్రసార ARP అభ్యర్థనను పంపుతుంది, అయితే IP చిరునామా 10.1.1.1 ఉన్న రూటర్ మాత్రమే దానికి ప్రతిస్పందిస్తుంది.
రూటర్ దాని AAAA MAC చిరునామాతో ప్రతిస్పందిస్తుంది మరియు మూలం మరియు గమ్యం MAC చిరునామాలు రెండూ కూడా ఈ ఫ్రేమ్లో ఉంచబడతాయి. ఫ్రేమ్ సిద్ధమైన తర్వాత, CRC డేటా సమగ్రత తనిఖీ, ఇది లోపాలను గుర్తించడానికి చెక్సమ్ను కనుగొనే అల్గారిథమ్, నెట్వర్క్ నుండి నిష్క్రమించే ముందు నిర్వహించబడుతుంది.
సైక్లిక్ రిడెండెన్సీ CRC అంటే SYN నుండి చివరి MAC చిరునామా వరకు ఈ మొత్తం ఫ్రేమ్ హ్యాషింగ్ అల్గారిథమ్ ద్వారా అమలు చేయబడుతుంది, MD5 అని చెప్పండి, ఫలితంగా హాష్ విలువ వస్తుంది. హాష్ విలువ లేదా MD5 చెక్సమ్, ఫ్రేమ్ ప్రారంభంలో ఉంచబడుతుంది.
FCS అనేది ఫ్రేమ్ చెక్ సీక్వెన్స్, నాలుగు-బైట్ CRC విలువ అయినందున నేను దానిని FCS/CRC అని లేబుల్ చేసాను. కొంతమంది వ్యక్తులు FCS హోదాను ఉపయోగిస్తారు మరియు కొందరు CRC హోదాను ఉపయోగిస్తున్నారు, కాబట్టి నేను రెండు హోదాలను చేర్చాను. కానీ ప్రాథమికంగా ఇది కేవలం ఒక హాష్ విలువ. నెట్వర్క్ ద్వారా స్వీకరించబడిన మొత్తం డేటా లోపాలు లేవని నిర్ధారించుకోవడం అవసరం. అందువల్ల, ఈ ఫ్రేమ్ రౌటర్కు చేరుకున్నప్పుడు, రూటర్ చేసే మొదటి పని చెక్సమ్ను లెక్కించి, అందుకున్న ఫ్రేమ్ని కలిగి ఉన్న FCS లేదా CRC విలువతో పోల్చడం. ఈ విధంగా అతను నెట్వర్క్లో అందుకున్న డేటా లోపాలను కలిగి లేదని తనిఖీ చేయవచ్చు, దాని తర్వాత అతను ఫ్రేమ్ నుండి చెక్సమ్ను తీసివేస్తాడు.
తర్వాత, రౌటర్ MAC చిరునామాను చూసి, "సరే, MAC చిరునామా AAAA అంటే ఫ్రేమ్ నాకు సంబోధించబడింది" అని చెబుతుంది మరియు MAC చిరునామాలను కలిగి ఉన్న ఫ్రేమ్లోని భాగాన్ని తొలగిస్తుంది.
గమ్యం IP చిరునామా 30.1.1.10ని చూస్తే, ఈ ప్యాకెట్ తనకు ఉద్దేశించబడలేదని మరియు రౌటర్ ద్వారా మరింత ముందుకు వెళ్లాలని అతను అర్థం చేసుకుంటాడు.
ఇప్పుడు రౌటర్ 30.1.1.10 చిరునామాతో ఉన్న నెట్వర్క్ ఎక్కడ ఉందో చూడాల్సిన అవసరం ఉందని "ఆలోచిస్తుంది". మేము ఇంకా రౌటింగ్ యొక్క పూర్తి కాన్సెప్ట్ను కవర్ చేయలేదు, కానీ రూటర్లకు రూటింగ్ టేబుల్ ఉందని మాకు తెలుసు. ఈ పట్టిక చిరునామా 30.1.1.0తో నెట్వర్క్ కోసం ఎంట్రీని కలిగి ఉంది. మీకు గుర్తున్నట్లుగా, ఇది హోస్ట్ IP చిరునామా కాదు, కానీ నెట్వర్క్ ఐడెంటిఫైయర్. రూటర్ 30.1.1.0 ద్వారా వెళ్లడం ద్వారా 24/20.1.1.2 చిరునామాను చేరుకోవచ్చని రూటర్ "అనుకుంటుంది".
మీరు అడగవచ్చు, అతనికి ఇది ఎలా తెలుసు? మీరు నిర్వాహకులుగా స్థిరమైన మార్గాన్ని కాన్ఫిగర్ చేసినట్లయితే, ఇది రూటింగ్ ప్రోటోకాల్ల నుండి లేదా మీ సెట్టింగ్ల నుండి ఇది తెలుస్తుందని గుర్తుంచుకోండి. ఏ సందర్భంలోనైనా, ఈ రూటర్ యొక్క రూటింగ్ టేబుల్ సరైన ఎంట్రీని కలిగి ఉంది, కాబట్టి ఈ ప్యాకెట్ను 20.1.1.2కి పంపాలని దానికి తెలుసు. రూటర్కి ఇప్పటికే గమ్యం MAC చిరునామా తెలిసిందని భావించి, మేము ప్యాకెట్ని ఫార్వార్డ్ చేయడాన్ని కొనసాగిస్తాము. అతనికి ఈ చిరునామా తెలియకపోతే, అతను మళ్లీ ARPని ప్రారంభిస్తాడు, రూటర్ యొక్క MAC చిరునామా 20.1.1.2ని అందుకుంటాడు మరియు ఫ్రేమ్ను పంపే ప్రక్రియ మళ్లీ కొనసాగుతుంది.
కనుక ఇది ఇప్పటికే MAC చిరునామా తెలుసని మేము ఊహిస్తాము, అప్పుడు మనకు BBB సోర్స్ MAC చిరునామా మరియు CCC గమ్యం MAC చిరునామా ఉంటాయి. రూటర్ మళ్లీ FCS/CRCని లెక్కిస్తుంది మరియు ఫ్రేమ్ ప్రారంభంలో ఉంచుతుంది.
ఇది నెట్వర్క్ ద్వారా ఈ ఫ్రేమ్ను పంపుతుంది, ఫ్రేమ్ రూటర్ 20.1.12కి చేరుకుంటుంది, ఇది చెక్సమ్ను తనిఖీ చేస్తుంది, డేటా పాడైపోలేదని నిర్ధారించుకుంటుంది మరియు FCS/CRCని తొలగిస్తుంది. ఇది MAC చిరునామాలను "కత్తిరించి", గమ్యాన్ని చూసి, అది 30.1.1.10 అని చూస్తుంది. ఈ చిరునామా తన ఇంటర్ఫేస్కు కనెక్ట్ చేయబడిందని అతనికి తెలుసు. అదే ఫ్రేమ్ ఫార్మేషన్ ప్రక్రియ పునరావృతమవుతుంది, రూటర్ మూలం మరియు గమ్యం MAC చిరునామా విలువలను జోడిస్తుంది, హ్యాషింగ్ చేస్తుంది, ఫ్రేమ్కు హాష్ను జోడించి నెట్వర్క్ అంతటా పంపుతుంది.
మా సర్వర్, చివరకు SYN అభ్యర్థనను స్వీకరించిన తర్వాత, హ్యాష్ చెక్సమ్ను తనిఖీ చేస్తుంది మరియు ప్యాకెట్లో లోపాలు లేకుంటే, అది హాష్ను తొలగిస్తుంది. అప్పుడు అతను MAC చిరునామాలను తీసివేసి, IP చిరునామాను చూసి, ఈ ప్యాకెట్ అతనిని సంబోధించిందని తెలుసుకుంటాడు.
ఆ తర్వాత, ఇది OSI మోడల్ యొక్క మూడవ లేయర్కు సంబంధించిన IP చిరునామాలను కత్తిరించి పోర్ట్ నంబర్లను చూస్తుంది.
అతను పోర్ట్ 21ని చూస్తాడు, అంటే FTP ట్రాఫిక్, SYNని చూస్తాడు మరియు ఎవరైనా అతనితో కమ్యూనికేట్ చేయడానికి ప్రయత్నిస్తున్నారని అర్థం చేసుకుంటాడు.
ఇప్పుడు, హ్యాండ్షేక్ గురించి మనం నేర్చుకున్న దాని ఆధారంగా, సర్వర్ 30.1.1.10 ఒక SYN/ACK ప్యాకెట్ని సృష్టించి, దానిని తిరిగి కంప్యూటర్ 10.1.1.10కి పంపుతుంది. ఈ ప్యాకెట్ను స్వీకరించిన తర్వాత, పరికరం 10.1.1.10 ఒక ACKని సృష్టిస్తుంది, SYN ప్యాకెట్ వలె నెట్వర్క్ ద్వారా పాస్ చేస్తుంది మరియు సర్వర్ ACKని స్వీకరించిన తర్వాత, కనెక్షన్ ఏర్పాటు చేయబడుతుంది.
మీరు తెలుసుకోవలసిన ఒక విషయం ఏమిటంటే, ఇదంతా సెకను కంటే తక్కువ వ్యవధిలో జరుగుతుంది. ఇది చాలా చాలా వేగవంతమైన ప్రక్రియ, నేను వేగాన్ని తగ్గించడానికి ప్రయత్నించాను, తద్వారా మీకు ప్రతిదీ స్పష్టంగా ఉంటుంది.
ఈ ట్యుటోరియల్లో మీరు నేర్చుకున్నది మీకు ఉపయోగకరంగా ఉంటుందని నేను ఆశిస్తున్నాను. మీకు ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి నాకు ఇక్కడ వ్రాయండి [ఇమెయిల్ రక్షించబడింది] లేదా ఈ వీడియో కింద ప్రశ్నలు వేయండి.
తదుపరి పాఠంతో ప్రారంభించి, నేను YouTube నుండి 3 అత్యంత ఆసక్తికరమైన ప్రశ్నలను ఎంచుకుంటాను, ప్రతి వీడియో చివరిలో నేను సమీక్షిస్తాను. ఇక నుండి నాకు "అగ్ర ప్రశ్నలు" విభాగం ఉంటుంది కాబట్టి నేను మీ పేరుతో ఒక ప్రశ్నను పోస్ట్ చేస్తాను మరియు దానికి ప్రత్యక్షంగా సమాధానం ఇస్తాను. ఇది ప్రయోజనకరంగా ఉంటుందని నేను భావిస్తున్నాను.
మాతో ఉన్నందుకు ధన్యవాదాలు. మీరు మా కథనాలను ఇష్టపడుతున్నారా? మరింత ఆసక్తికరమైన కంటెంట్ని చూడాలనుకుంటున్నారా? ఆర్డర్ చేయడం ద్వారా లేదా స్నేహితులకు సిఫార్సు చేయడం ద్వారా మాకు మద్దతు ఇవ్వండి, మీ కోసం మేము కనిపెట్టిన ఎంట్రీ-లెవల్ సర్వర్ల యొక్క ప్రత్యేకమైన అనలాగ్పై Habr వినియోగదారులకు 30% తగ్గింపు:
VPS (KVM) E5-2650 v4 (6 కోర్లు) 10GB DDR4 240GB SSD 1Gbps వేసవి వరకు ఉచితం ఆరు నెలలు లేదా అంతకంటే ఎక్కువ కాలం చెల్లించేటప్పుడు, మీరు ఆర్డర్ చేయవచ్చు
Dell R730xd 2 రెట్లు తక్కువ? ఇక్కడ మాత్రమే
మూలం: www.habr.com