Η Microsoft κυκλοφόρησε τον πηγαίο κώδικα για το MsQuic, ένα πρωτόκολλο δικτύου που χρησιμοποιείται για το HTTP3

Λογότυπο της Microsoft

Προγραμματιστές της Microsoft ανακοίνωσε την κυκλοφορία του πηγαίου κώδικα της βιβλιοθήκης MsQuic με την εφαρμογή του πρωτοκόλλου δικτύου QUIC. Η βιβλιοθήκη είναι πλατφόρμας και μπορεί να χρησιμοποιηθεί όχι μόνο σε Windows, αλλά και σε Linux χρησιμοποιώντας Schannel ή OpenSSL για TLS 1.3Επιπλέον, οι εργασίες συνεχίζουν να επεκτείνουν την υποστήριξη για άλλες πλατφόρμες στο μέλλον.

Η βιβλιοθήκη βασίζεται στον κώδικα προγράμματος οδήγησης msquic.sys παρέχεται στον πυρήνα των Windows 10 (Εσωτερική προεπισκόπηση) για να εγγυηθεί τη λειτουργία των πρωτοκόλλων HTTP και SMB μέσω QUIC. Η συμπερίληψη κώδικα χρησιμοποιείται για την εφαρμογή HTTP / 3 στην εσωτερική στοίβα των Windows και στον .NET Core.

Η ανάπτυξη της βιβλιοθήκης MsQuic θα γίνει εξ ολοκλήρου στο GitHub με τη χρήση δημόσιων κριτικών, αιτημάτων έλξης και ζητημάτων GitHub. Έχει προετοιμαστεί μια υποδομή που επαληθεύει κάθε αίτημα δέσμευσης και ανάληψης σε ένα σύνολο περισσότερων από 4000 δοκιμών. Μετά τη σταθεροποίηση του περιβάλλοντος ανάπτυξης, έχει προγραμματιστεί να αποδεχτεί αλλαγές από εξωτερικούς προγραμματιστές.

Σχετικά με το MsQuic

msquic μπορεί να χρησιμοποιηθεί για τη δημιουργία διακομιστών και πελατών, αλλά δεν είναι διαθέσιμη όλες οι λειτουργίες που ορίζονται στην προδιαγραφή IETF. Για παράδειγμα, δεν υπάρχει υποστήριξη για 0-RTT, μετεγκατάσταση πελάτη, Path MTU Discovery ή έλεγχο προτιμώμενης διεύθυνσης διακομιστή.

Μεταξύ των λειτουργιών που εφαρμόστηκαν, επισημαίνεται η βελτιστοποίηση για μέγιστη απόδοση και ελάχιστη καθυστέρηση, υποστήριξη για το I/ O ασύγχρονο, RSS (Λήψη πλευρικής κλιμάκωσης), η ικανότητα να συνδυάστε ροές εισόδου και εξόδου UDP. Η εφαρμογή MsQuic έχει δοκιμαστεί για συμβατότητα με τους πειραματικούς κλάδους του προγράμματος περιήγησης Chrome και Edge.

ο δυνατότητα δημιουργίας σύνδεσης με στιγμιαίαe (0-RTT, σε περίπου 75% των περιπτώσεων, τα δεδομένα μπορούν να μεταδοθούν αμέσως μετά την αποστολή του πακέτου ρύθμισης σύνδεσης) και εγγυώνται ελάχιστες καθυστερήσεις μεταξύ της αποστολής ενός αιτήματος και της λήψης μιας απάντησης (RTT, χρόνος μετ 'επιστροφής).

Επίσης έχει εργαλεία διόρθωσης σφαλμάτων που ελαχιστοποιούν τις καθυστερήσεις λόγω της αναμετάδοσης χαμένων πακέτων.

Η χρήση ειδικών κωδικών διόρθωσης σφαλμάτων σε επίπεδο πακέτου για τη μείωση καταστάσεων που απαιτούν αναμετάδοση χαμένων δεδομένων πακέτων ήεκμάθηση της τεχνικής για την πρόβλεψη εύρους ζώνης προς κάθε κατεύθυνση για να εξασφαλιστεί η βέλτιστη ένταση παράδοσης συσκευασίας, εμποδίζοντας το να φτάσει σε κατάσταση συμφόρησης στην οποία παρατηρείται απώλεια πακέτων.

Από τα άλλα χαρακτηριστικά QUIC κλειδί:

  • Υψηλή ασφάλεια, παρόμοια με την TLS (στην πραγματικότητα, το QUIC παρέχει τη δυνατότητα χρήσης του TLS 1.3 μέσω UDP).
  • Έλεγχος ακεραιότητας ροής που αποτρέπει την απώλεια πακέτων.
  • Μη χρήση του ίδιου αριθμού ακολουθίας κατά την αναμετάδοση ενός πακέτου, το οποίο αποφεύγει την ασάφεια στον προσδιορισμό των ληφθέντων πακέτων και εξαλείφει τα χρονικά όρια.
  • Η απώλεια ενός πακέτου επηρεάζει την παράδοση μόνο της ροής που σχετίζεται με αυτό και δεν σταματά την παράδοση δεδομένων σε παράλληλες ροές που μεταδίδονται μέσω της τρέχουσας σύνδεσης.
  • Τα όρια των κρυπτογραφικών μπλοκ ευθυγραμμίζονται με τα όρια πακέτων QUIC, μειώνοντας την επίδραση της απώλειας πακέτου στην αποκωδικοποίηση του περιεχομένου των επόμενων πακέτων.
  • Δεν υπάρχουν προβλήματα με τον αποκλεισμό της ουράς TCP.
  • Υποστήριξη για αναγνωριστικό σύνδεσης, το οποίο μειώνει το χρόνο για την πραγματοποίηση επανασύνδεσης για φορητούς πελάτες.
  • Έχει τη δυνατότητα σύνδεσης προηγμένων μηχανισμών για τον έλεγχο της συμφόρησης σύνδεσης.
  • Διαθέτει αξιοσημείωτη απόδοση και κέρδη απόδοσης έναντι του TCP. Για υπηρεσίες βίντεο όπως το YouTube, το QUIC επέδειξε μείωση κατά 30% στις λειτουργίες εκ νέου αποθήκευσης κατά την παρακολούθηση βίντεο.

Τελικά για όσους ενδιαφέρονται να μάθουν περισσότερα γι 'αυτό Σχετικά με το MsQuic ή θέλετε να ρίξετε μια ματιά στον πηγαίο κώδικα, πρέπει να γνωρίζετε ότι ο κώδικας είναι γραμμένος σε C, είναι πολλαπλής πλατφόρμας, γενικού σκοπού, διανέμεται με την άδεια MIT και ο κωδικός που κυκλοφόρησε φιλοξενείται στο GitHub.

πηγή: https://techcommunity.microsoft.com


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.