Майкрософт HTTP/3-д хэрэглэгддэг QUIC протоколын хэрэгжилтийг нээлээ

Microsoft зарласан номын сангийн кодыг нээх тухай msquic сүлжээний протоколыг хэрэгжүүлснээр ЧАНАР. Код нь C дээр бичигдсэн ба тараасан MIT лицензийн дагуу. Номын сан нь хөндлөн платформ бөгөөд зөвхөн Windows дээр төдийгүй Линукс дээр ашиглах боломжтой Шанель эсвэл TLS 1.3-д зориулсан OpenSSL. Цаашид бусад платформуудыг дэмжихээр төлөвлөж байна.

Номын сан нь HTTP болон SMB QUIC дээр. Энэ кодыг Windows-ийн дотоод стек болон .NET Core-д HTTP/3-г хэрэгжүүлэхэд мөн ашигладаг. MsQuic номын сангийн хөгжүүлэлтийг бүхэлд нь GitHub дээр олон нийтийн үнэлгээ, татах хүсэлт, GitHub асуудлуудыг ашиглан хийх болно. 4000 гаруй тестийн багцад үүрэг, татах хүсэлт бүрийг шалгадаг дэд бүтцийг бэлтгэсэн. Хөгжлийн орчныг тогтворжуулсны дараа гуравдагч талын хөгжүүлэгчдийн өөрчлөлтийг хүлээн авахаар төлөвлөж байна.

MsQuic-ийг сервер болон үйлчлүүлэгч үүсгэхэд аль хэдийн ашиглаж болох боловч IETF-ийн тодорхойлолтод тодорхойлсон бүх функцууд одоогоор боломжгүй байна. Жишээлбэл, 0-RTT, үйлчлүүлэгчийн шилжилт хөдөлгөөн, Path MTU Discovery эсвэл Server Preferred Address Control-д дэмжлэг байхгүй. Хэрэгжүүлсэн боломжуудын дотроос оновчлол нь хамгийн их дамжуулах чадвар, хамгийн бага саатал, асинхрон оролт/гаралтын дэмжлэг, RSS (хүлээн авах талдаа масштаб), оролт, гаралтын UDP урсгалыг нэгтгэх чадвартай болохыг тэмдэглэжээ. MsQuic хэрэгжүүлэлт нь Chrome болон Edge хөтчийн туршилтын хувилбаруудтай нийцэж байгаа эсэхийг шалгасан.

HTTP/3 нь QUIC протоколыг HTTP/2-ийн тээвэрлэлт болгон ашиглахыг стандартчилдаг гэдгийг санаарай. Протокол ЧАНАР (Quick UDP Internet Connections) нь Google-ээс 2013 оноос хойш Вэбд зориулсан TCP+TLS хослолыг өөр хувилбар болгон хөгжүүлж, TCP-д холболт хийх урт тохируулга, тохиролцох хугацаатай холбоотой асуудлыг шийдэж, өгөгдөл дамжуулах явцад пакет алга болох үед саатлыг арилгадаг. QUIC нь UDP протоколын өргөтгөл бөгөөд олон холболтын олон талт холболтыг дэмждэг бөгөөд TLS/SSL-тэй дүйцэхүйц шифрлэлтийн аргуудыг өгдөг.

Үндсэн Онцлог QUIC:

  • TLS-тэй төстэй өндөр хамгаалалттай (үндсэндээ QUIC нь TLS 1.3-ийг UDP дээр ашиглах боломжийг олгодог);
  • Урсгалын бүрэн бүтэн байдлыг хянах, пакет алдагдахаас урьдчилан сэргийлэх;
  • Холболтыг нэн даруй үүсгэх чадвар (0-RTT, ойролцоогоор 75% тохиолдолд холболтын тохиргооны багцыг илгээсний дараа өгөгдлийг шууд дамжуулах боломжтой) ба хүсэлт илгээх болон хариу хүлээн авах хооронд хамгийн бага саатал гаргах боломжтой (RTT, хоёр талын аялалын хугацаа);
    Майкрософт HTTP/3-д хэрэглэгддэг QUIC протоколын хэрэгжилтийг нээлээ

  • Пакетыг дахин дамжуулахдаа ижил дарааллын дугаарыг ашиглахгүй байх нь хүлээн авсан пакетуудыг тодорхойлоход хоёрдмол байдлаас зайлсхийж, хугацаа хэтрэхээс сэргийлдэг;
  • Пакет алдагдах нь зөвхөн түүнтэй холбоотой урсгалын дамжуулалтад нөлөөлж, одоогийн холболтоор дамждаг зэрэгцээ урсгалд өгөгдөл дамжуулахыг зогсоохгүй;
  • Алдагдсан пакетуудыг дахин дамжуулахтай холбоотой саатлыг багасгах алдаа засах функцууд. Алдагдсан пакет өгөгдлийг дахин дамжуулах шаардлагатай нөхцөл байдлыг багасгахын тулд багцын түвшинд алдаа засах тусгай кодыг ашиглах.
  • Криптографийн блокийн хил нь QUIC багцын хил хязгаартай нийцдэг бөгөөд энэ нь дараагийн пакетуудын агуулгыг тайлахад пакет алдагдлын нөлөөллийг бууруулдаг;
  • TCP дарааллыг блоклоход асуудал байхгүй;
  • Мобайл үйлчлүүлэгчдэд дахин холболт хийхэд шаардагдах хугацааг багасгасан холболтын танигчийг дэмжих;
  • Холболтын түгжрэлийг хянах дэвшилтэт механизмуудыг холбох боломж;
  • Пакетуудыг оновчтой хурдаар илгээж, ачаалал ихсэх, пакет алдагдахаас урьдчилан сэргийлэхийн тулд чиглэл тус бүрээр дамжуулах чадварыг таамаглах арга техникийг ашигладаг;
  • Мэдэгдэхүйц өсөлт TCP-тэй харьцуулахад гүйцэтгэл ба дамжуулах чадвар. YouTube гэх мэт видео үйлчилгээний хувьд QUIC нь видео үзэх үед няцаах ажиллагааг 30%-иар бууруулдаг болохыг харуулсан.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх