మైక్రోసాఫ్ట్ HTTP/3లో ఉపయోగించిన QUIC ప్రోటోకాల్ అమలును ప్రారంభించింది

మైక్రోసాఫ్ట్ ప్రకటించింది లైబ్రరీ కోడ్ తెరవడం గురించి msquic నెట్‌వర్క్ ప్రోటోకాల్ అమలుతో ఆ సి. కోడ్ C మరియు లో వ్రాయబడింది ద్వారా పంపిణీ చేయబడింది MIT లైసెన్స్ కింద. లైబ్రరీ క్రాస్-ప్లాట్‌ఫారమ్ మరియు Windowsలో మాత్రమే కాకుండా Linux ఉపయోగించి కూడా ఉపయోగించవచ్చు స్కానెల్ లేదా TLS 1.3 కోసం OpenSSL. భవిష్యత్తులో, ఇది ఇతర ప్లాట్‌ఫారమ్‌లకు మద్దతు ఇవ్వడానికి ప్రణాళిక చేయబడింది.

HTTP మరియు SMB QUIC పైన. అంతర్గత Windows స్టాక్‌లో మరియు .NET కోర్‌లో HTTP/3ని అమలు చేయడానికి కూడా కోడ్ ఉపయోగించబడుతుంది. పబ్లిక్ పీర్ రివ్యూ, పుల్ రిక్వెస్ట్‌లు మరియు GitHub ఇష్యూలను ఉపయోగించి MsQuic లైబ్రరీ అభివృద్ధి పూర్తిగా GitHubలో నిర్వహించబడుతుంది. 4000 కంటే ఎక్కువ పరీక్షల సెట్‌లో ప్రతి కమిట్ మరియు పుల్ అభ్యర్థనను తనిఖీ చేసే మౌలిక సదుపాయాలు సిద్ధం చేయబడ్డాయి. అభివృద్ధి వాతావరణాన్ని స్థిరీకరించిన తర్వాత, మూడవ పక్ష డెవలపర్‌ల నుండి మార్పులను ఆమోదించడానికి ప్రణాళిక చేయబడింది.

MsQuic ఇప్పటికే సర్వర్‌లు మరియు క్లయింట్‌లను సృష్టించడానికి ఉపయోగించబడుతుంది, అయితే IETF స్పెసిఫికేషన్‌లో నిర్వచించిన అన్ని కార్యాచరణలు ప్రస్తుతం అందుబాటులో లేవు. ఉదాహరణకు, 0-RTT, క్లయింట్ మైగ్రేషన్, పాత్ MTU డిస్కవరీ లేదా సర్వర్ ప్రాధాన్య చిరునామా నియంత్రణకు మద్దతు లేదు. అమలు చేయబడిన లక్షణాలలో, గరిష్ట నిర్గమాంశ మరియు కనిష్ట జాప్యాలు, అసమకాలిక ఇన్‌పుట్/అవుట్‌పుట్‌కు మద్దతు, RSS (రిసీవ్ సైడ్ స్కేలింగ్) మరియు ఇన్‌పుట్ మరియు అవుట్‌పుట్ UDP స్ట్రీమ్‌లను కలపగల సామర్థ్యం కోసం ఆప్టిమైజేషన్ గుర్తించబడింది. MsQuic అమలు Chrome మరియు Edge బ్రౌజర్‌ల ప్రయోగాత్మక సంస్కరణలతో అనుకూలత కోసం పరీక్షించబడింది.

HTTP/3 కోసం QUIC ప్రోటోకాల్‌ను రవాణాగా ఉపయోగించడాన్ని HTTP/2 ప్రామాణికం చేస్తుందని గుర్తుంచుకోండి. ప్రోటోకాల్ ఆ సి (త్వరిత UDP ఇంటర్నెట్ కనెక్షన్‌లు) 2013 నుండి Google ద్వారా వెబ్ కోసం TCP+TLS కలయికకు ప్రత్యామ్నాయంగా అభివృద్ధి చేయబడింది, TCPలో కనెక్షన్‌ల కోసం సుదీర్ఘ సెటప్ మరియు చర్చల సమయాల్లో సమస్యలను పరిష్కరిస్తుంది మరియు డేటా బదిలీ సమయంలో ప్యాకెట్లు పోయినప్పుడు ఆలస్యాన్ని తొలగిస్తుంది. QUIC అనేది UDP ప్రోటోకాల్ యొక్క పొడిగింపు, ఇది బహుళ కనెక్షన్‌ల మల్టీప్లెక్సింగ్‌కు మద్దతు ఇస్తుంది మరియు TLS/SSLకి సమానమైన ఎన్‌క్రిప్షన్ పద్ధతులను అందిస్తుంది.

ప్రధాన особенности క్విక్:

  • TLS మాదిరిగానే అధిక భద్రత (ముఖ్యంగా QUIC UDP కంటే TLS 1.3ని ఉపయోగించగల సామర్థ్యాన్ని అందిస్తుంది);
  • ప్రవాహ సమగ్రత నియంత్రణ, ప్యాకెట్ నష్టాన్ని నివారించడం;
  • తక్షణమే కనెక్షన్‌ని ఏర్పాటు చేయగల సామర్థ్యం (0-RTT, దాదాపు 75% కేసులలో కనెక్షన్ సెటప్ ప్యాకెట్‌ని పంపిన వెంటనే డేటాను ప్రసారం చేయవచ్చు) మరియు అభ్యర్థనను పంపడం మరియు ప్రతిస్పందనను స్వీకరించడం (RTT, రౌండ్ ట్రిప్ సమయం) మధ్య కనీస ఆలస్యాన్ని అందించడం;
    మైక్రోసాఫ్ట్ HTTP/3లో ఉపయోగించిన QUIC ప్రోటోకాల్ అమలును ప్రారంభించింది

  • ప్యాకెట్‌ను తిరిగి ప్రసారం చేసేటప్పుడు అదే క్రమ సంఖ్యను ఉపయోగించకపోవడం, అందుకున్న ప్యాకెట్‌లను గుర్తించడంలో సందిగ్ధతను నివారిస్తుంది మరియు గడువు ముగిసే సమయాలను తొలగిస్తుంది;
  • ప్యాకెట్ యొక్క నష్టం దానితో అనుబంధించబడిన స్ట్రీమ్ యొక్క డెలివరీని మాత్రమే ప్రభావితం చేస్తుంది మరియు ప్రస్తుత కనెక్షన్ ద్వారా ప్రసారం చేయబడిన సమాంతర స్ట్రీమ్‌లలో డేటా డెలివరీని ఆపదు;
  • కోల్పోయిన ప్యాకెట్‌ల పునఃప్రసారం కారణంగా ఆలస్యాన్ని తగ్గించే ఎర్రర్ దిద్దుబాటు లక్షణాలు. పోగొట్టుకున్న ప్యాకెట్ డేటా యొక్క పునఃప్రసారం అవసరమయ్యే పరిస్థితులను తగ్గించడానికి ప్యాకెట్ స్థాయిలో ప్రత్యేక ఎర్రర్ కరెక్షన్ కోడ్‌లను ఉపయోగించడం.
  • క్రిప్టోగ్రాఫిక్ బ్లాక్ సరిహద్దులు QUIC ప్యాకెట్ సరిహద్దులతో సమలేఖనం చేయబడ్డాయి, ఇది తదుపరి ప్యాకెట్ల కంటెంట్‌లను డీకోడింగ్ చేయడంపై ప్యాకెట్ నష్టాల ప్రభావాన్ని తగ్గిస్తుంది;
  • TCP క్యూ నిరోధించడంలో సమస్యలు లేవు;
  • కనెక్షన్ ఐడెంటిఫైయర్‌కు మద్దతు, ఇది మొబైల్ క్లయింట్‌ల కోసం రీకనెక్షన్‌ని ఏర్పాటు చేయడానికి పట్టే సమయాన్ని తగ్గిస్తుంది;
  • అధునాతన కనెక్షన్ రద్దీ నియంత్రణ విధానాలను కనెక్ట్ చేసే అవకాశం;
  • ప్యాకెట్లు సరైన ధరల వద్ద పంపబడుతున్నాయని నిర్ధారించడానికి ప్రతి-దిశ నిర్గమాంశ అంచనా పద్ధతులను ఉపయోగిస్తుంది, అవి రద్దీగా మారకుండా మరియు ప్యాకెట్ నష్టాన్ని కలిగించకుండా చేస్తుంది;
  • గ్రహించదగినది వృద్ధి TCPతో పోలిస్తే పనితీరు మరియు నిర్గమాంశ. YouTube వంటి వీడియో సేవల కోసం, QUIC వీడియోలను చూసేటప్పుడు రీబఫరింగ్ కార్యకలాపాలను 30% తగ్గించగలదని చూపబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి