OpenBSD-ის გუნდმა ოფიციალურად გამოუშვა openrsync — ფაილების სინქრონიზაციის პოპულარული ინსტრუმენტის rsync-ის საკუთარი რეალიზაცია. პროექტი, რომელიც თავდაპირველად RPKI-ვალიდატორის, rpki-client-ის ნაწილი იყო, ახლა OpenBSD-ის ოპერაციული სისტემის ბაზისურ კომპონენტად იქცა.

ტექნიკური თავსებადობა და ფუნქციონალი

მიუხედავად იმისა, რომ openrsync-ი წარმოადგენს ახალ დამოუკიდებელ პროგრამულ უზრუნველყოფას, ის სრულად თავსებადია თანამედროვე rsync-ის სტანდარტებთან. ტესტირების პროცესში გამოყენებული იყო rsync 3.1.3 ვერსია, თუმცა ინსტრუმენტი მხარს უჭერს 27-ე პროტოკოლის ნებისმიერ მხარდამჭერ სისტემას.

პროექტი ვრცელდება BSD (ISC) ლიცენზიით, რაც მას უფრო მოქნილს ხდის დეველოპერებისთვის. მნიშვნელოვანია აღინიშნოს, რომ ინსტრუმენტი არ ცვლის არსებულ rsync-ს, ამიტომ სისტემაში ორივე მათგანის ერთდროულად გამოყენება დაუსაბუთებელი კონფლიქტების გარეშეა შესაძლებელი.

როგორ მუშაობს ალგორითმი?

openrsync-ის ალგორითმი ორი ძირითადი კომპონენტისგან შედგება: გამგზავნი (sender) და მიმღები (receiver). პროცესი იწყება ფაილების სიისა და მეტამონაცემების გაზიარებით, რის შემდეგაც ორივე მხარე დამოუკიდებლად ახარისხებს მონაცემებს.

  • ბლოკების გაცვლა: ეს არის rsync-ის ალგორითმის მთავარი მამოძრავებელი ძალა. მიმღები მხარე ამოწმებს ფაილებს ფიქსირებული ზომის ბლოკებად.
  • ჰეშირების მექანიზმი: თითოეული ბლოკი ორჯერ გადის ჰეშირებას: ჯერ სწრაფი Adler-32 ტიპის 4-ბაიტიანი ჰეშით, შემდეგ კი უფრო ნელი, 16-ბაიტიანი MD4 ჰეშით.
  • ეფექტურობა: ბლოკის ზომა დინამიურად განისაზღვრება ფაილის საერთო ზომის მიხედვით, რაც ოპტიმიზაციას უკეთებს ქსელურ ტრაფიკს.

დეველოპერებს, რომლებსაც სურთ პროექტში ჩართვა ან პატჩების გაგზავნა, შეუძლიათ გამოიყენონ ოფიციალური OpenBSD-ის tech@openbsd.org საფოსტო მისამართი. პროექტის დაფინანსებაში მონაწილეობა მიიღეს ისეთმა ორგანიზაციებმა, როგორებიცაა NetNod, IIS.SE, SUNET და 6connect.