
Reticulum เป็นสแต็คเครือข่ายที่ใช้การเข้ารหัสสำหรับการสร้างเครือข่ายในพื้นที่และพื้นที่กว้างพร้อมฮาร์ดแวร์ที่พร้อมใช้งาน มันสามารถทำงานได้แม้จะมีเวลาแฝงที่สูงมากและแบนด์วิดท์ต่ำมาก Reticulum ช่วยให้คุณสร้างเครือข่ายในพื้นที่กว้างด้วยเครื่องมือนอกชั้นวางและเสนอการเข้ารหัสและการเชื่อมต่อแบบครบวงจรการไม่เปิดเผยตัวตนของผู้ริเริ่มการกำหนดค่าการเข้ารหัสแบบหลายครั้งที่ได้รับการสนับสนุนการเข้ารหัสแบบหลายครั้ง
วิสัยทัศน์ของ reticulum คือการอนุญาตให้ทุกคนเป็นผู้ให้บริการเครือข่ายของตัวเองและเพื่อให้ราคาถูกและครอบคลุมพื้นที่กว้างใหญ่ด้วยเครือข่ายอิสระที่เชื่อมต่อและเป็นอิสระมากมาย Reticulum ไม่ใช่ เครือข่าย เดียว มันเป็น เครื่องมือ ในการสร้าง เครือข่ายหลายพันแห่ง เครือข่ายที่ไม่มีการฆ่าสวิตช์การเฝ้าระวังการเซ็นเซอร์และการควบคุม เครือข่ายที่สามารถทำงานร่วมกันได้อย่างอิสระเชื่อมโยงและยกเลิกการเชื่อมโยงซึ่งกันและกันและไม่จำเป็นต้องมีการกำกับดูแลส่วนกลาง เครือข่ายสำหรับมนุษย์ เครือข่ายสำหรับประชาชน
Reticulum เป็นสแต็กเครือข่ายที่สมบูรณ์และไม่พึ่งพาเลเยอร์ IP หรือสูงกว่า แต่เป็นไปได้ที่จะใช้ IP เป็นผู้ให้บริการพื้นฐานสำหรับ reticulum ดังนั้นจึงเป็นเรื่องเล็กน้อยที่ Tunnel reticulum ผ่านอินเทอร์เน็ตหรือเครือข่าย IP ส่วนตัว
ไม่มีการพึ่งพาสแต็คเครือข่ายแบบดั้งเดิมทำให้ค่าใช้จ่ายสูงกว่าที่ใช้ในการใช้สแต็กเครือข่ายที่สร้างขึ้นโดยตรงบนหลักการเข้ารหัสช่วยให้ความยืดหยุ่นและการทำงานที่มั่นคงแม้ในเครือข่ายที่เปิดกว้างและไม่น่าเชื่อถือ
ไม่จำเป็นต้องมีโมดูลเคอร์เนลหรือไดรเวอร์ Reticulum ทำงานอย่างสมบูรณ์ใน Userland และสามารถทำงานบนระบบใด ๆ ที่ใช้งานได้จริงที่ใช้ Python 3
เอกสารฉบับเต็มสำหรับ reticulum มีอยู่ที่ markqvist.github.io/reticulum/manual/
นอกจากนี้คุณยังสามารถดาวน์โหลดคู่มือ reticulum เป็น PDF หรือเป็น e-book ในรูปแบบ epub
สำหรับข้อมูลเพิ่มเติมดู reticulum.network และส่วนคำถามที่พบบ่อยของวิกิ
ในขณะที่ Reticulum เป็นสแต็คเครือข่ายที่โดดเด่นและใช้งานได้อย่างเต็มที่การปรับปรุงและการเพิ่มเติมจำนวนมากกำลังดำเนินการอย่างแข็งขันและวางแผนไว้สำหรับอนาคต
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับทิศทางและอนาคตของ reticulum โปรดดูแผนงานการพัฒนา
หากคุณต้องการทราบอย่างรวดเร็วว่า reticulum สามารถทำได้อย่างรวดเร็วลองดูที่ทรัพยากรต่อไปนี้
ในทางปฏิบัติสื่อใด ๆ ที่สามารถรองรับช่องทางครึ่งดูเพล็กซ์อย่างน้อยที่มีปริมาณงานมากกว่า 5 บิตต่อวินาทีและ MTU 500 ไบต์ วิทยุข้อมูล, โมเด็ม, วิทยุ LORA, สายอนุกรม, Axe.25 TNCs, โหมดดิจิตอลวิทยุสมัครเล่น, อุปกรณ์ WiFi และอุปกรณ์อีเธอร์เน็ต, ลิงก์ออปติคัลพื้นที่ว่างและระบบที่คล้ายกันเป็นตัวอย่างของประเภทของอุปกรณ์ทางกายภาพที่สามารถใช้งานได้
อินเทอร์เฟซที่ใช้โอเพ่นซอร์ส LORA ที่เรียกว่า RNODE ได้รับการออกแบบมาโดยเฉพาะสำหรับใช้กับ reticulum เป็นไปได้ที่จะสร้างตัวเองหรือสามารถซื้อเป็นตัวรับส่งสัญญาณที่สมบูรณ์ซึ่งต้องการการเชื่อมต่อ USB กับโฮสต์
Reticulum ยังสามารถห่อหุ้มผ่านเครือข่าย IP ที่มีอยู่ได้ดังนั้นจึงไม่มีอะไรหยุดยั้งคุณจากการใช้มันผ่าน Ethernet Wired, เครือข่าย WiFi ในพื้นที่ของคุณหรืออินเทอร์เน็ตที่มันจะทำงานได้เช่นกัน ในความเป็นจริงหนึ่งในจุดแข็งของ reticulum คือวิธีที่ช่วยให้คุณเชื่อมต่อสื่อต่าง ๆ เข้ากับตาข่ายที่กำหนดค่าตัวเองยืดหยุ่นและเข้ารหัสได้โดยใช้ส่วนผสมของโครงสร้างพื้นฐานที่มีอยู่
ตัวอย่างเช่นมีความเป็นไปได้ที่จะตั้งค่า Raspberry Pi ที่เชื่อมต่อกับทั้งวิทยุ LORA, Radio TNC Radio Packet และเครือข่าย WiFi เมื่อมีการกำหนดค่าอินเทอร์เฟซแล้ว reticulum จะดูแลส่วนที่เหลือและอุปกรณ์ใด ๆ ในเครือข่าย WiFi สามารถสื่อสารกับโหนดบนด้านวิทยุ LORA และแพ็คเก็ตของเครือข่ายและในทางกลับกัน
วิธีที่ดีที่สุดในการเริ่มต้นกับสแต็คเครือข่าย reticulum ขึ้นอยู่กับสิ่งที่คุณต้องการทำ สำหรับรายละเอียดและตัวอย่างทั้งหมดให้ดูที่ส่วนที่เริ่มต้นอย่างรวดเร็วของคู่มือ reticulum
ในการติดตั้ง reticulum และยูทิลิตี้ที่เกี่ยวข้องในระบบของคุณวิธีที่ง่ายที่สุดคือผ่าน pip จากนั้นคุณสามารถเริ่มโปรแกรมใด ๆ ที่ใช้ reticulum หรือเริ่ม reticulum เป็นบริการระบบด้วยยูทิลิตี้ RNSD
pip install rns หากคุณใช้ระบบปฏิบัติการที่บล็อกการติดตั้งแพ็คเกจผู้ใช้ปกติผ่าน pip คุณสามารถส่งคืน pip เป็นพฤติกรรมปกติได้โดยการแก้ไขไฟล์ ~/.config/pip/pip.conf และเพิ่มคำสั่งต่อไปนี้ในส่วน [global] :
[global]
break-system-packages = true
หรือคุณสามารถใช้เครื่องมือ pipx เพื่อติดตั้ง reticulum ในสภาพแวดล้อมที่แยกได้:
pipx install rnsเมื่อเริ่มต้นครั้งแรก reticulum จะสร้างไฟล์การกำหนดค่าเริ่มต้นโดยให้การเชื่อมต่อขั้นพื้นฐานกับเพื่อนร่วมงาน reticulum อื่น ๆ ที่อาจเข้าถึงได้ในท้องถิ่น ไฟล์กำหนดค่าเริ่มต้นมีตัวอย่างบางส่วนและการอ้างอิงสำหรับการสร้างการกำหนดค่าที่ซับซ้อนมากขึ้น
หากคุณมี pip เวอร์ชันเก่าในระบบของคุณคุณอาจต้องอัปเกรดก่อนด้วย pip install pip --upgrade หากคุณยังไม่ได้ติดตั้ง pip คุณสามารถติดตั้งได้โดยใช้แพ็คเกจจัดการระบบของระบบของคุณด้วย sudo apt install python3-pip หรือคล้ายกัน
สำหรับตัวอย่างรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการขยายการสื่อสารผ่านสื่อจำนวนมากเช่นวิทยุแพ็คเก็ตหรือ LORA พอร์ตอนุกรมหรือลิงก์ IP ที่รวดเร็วและอินเทอร์เน็ตโดยใช้อินเทอร์เฟซ UDP และ TCP ลองดูที่ส่วนอินเทอร์เฟซที่รองรับของคู่มือ reticulum
Reticulum มียูทิลิตี้ที่มีประโยชน์มากมายสำหรับการจัดการเครือข่ายสถานะการดูและข้อมูลและงานอื่น ๆ ของคุณ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับโปรแกรมเหล่านี้ในส่วนโปรแกรมยูทิลิตี้ที่รวมอยู่ในคู่มือ reticulum
rnsd สำหรับใช้งาน reticulum เป็นบริการที่มีให้บริการเสมอrnstatus ซึ่งแสดงข้อมูลเกี่ยวกับอินเทอร์เฟซrnpath ให้คุณดูและแก้ไขตารางเส้นทางrnprobe สำหรับการตรวจสอบการเชื่อมต่อไปยังปลายทางrncp ทำให้ง่ายต่อการถ่ายโอนไฟล์ระหว่างระบบrnid ให้คุณจัดการข้อมูลประจำตัวและการเข้ารหัส/ถอดรหัสไฟล์rnx ให้คุณเรียกใช้คำสั่งและโปรแกรมและดึงเอาท์พุทจากระบบระยะไกล เครื่องมือทั้งหมดรวมถึง rnx และ rncp ทำงานได้อย่างน่าเชื่อถือและดีกว่าลิงก์แบนด์วิดท์ต่ำมากเช่น LORA หรือวิทยุแพ็คเก็ต สำหรับเปลือกหอยระยะไกลที่มีคุณสมบัติเต็มรูปแบบผ่าน reticulum ให้ดูที่โปรแกรม RNSH
Reticulum ใช้ช่วงของประเภทอินเทอร์เฟซทั่วไปที่ครอบคลุมฮาร์ดแวร์การสื่อสารส่วนใหญ่ที่ reticulum สามารถทำงานได้ หากฮาร์ดแวร์ของคุณไม่รองรับการใช้โมดูลอินเทอร์เฟซแบบกำหนดเองนั้นง่ายมาก
คำขอดึงสำหรับอินเทอร์เฟซที่กำหนดเองได้รับการยอมรับอย่างสุดซึ้งหากพวกเขามักจะมีประโยชน์และได้รับการทดสอบอย่างดีในการใช้งานจริง
ปัจจุบันรองรับอินเทอร์เฟซในตัวต่อไปนี้:
Reticulum ตั้งเป้าหมายซองจดหมายประสิทธิภาพที่ใช้งานได้กว้าง มาก แต่ให้ความสำคัญกับฟังก์ชั่นและประสิทธิภาพการทำงานของสื่อแบนด์วิดท์ต่ำ เป้าหมายคือการจัดหาซองจดหมายประสิทธิภาพแบบไดนามิกจาก 250 บิตต่อวินาทีถึง 1 กิกะบิตต่อวินาทีในฮาร์ดแวร์ปกติ
ปัจจุบันซองประสิทธิภาพที่ใช้งานได้นั้นอยู่ที่ประมาณ 150 บิตต่อวินาทีถึง 40 เมกะบิตต่อวินาทีโดยมีสื่อทางกายภาพเร็วกว่าที่ไม่อิ่มตัว ประสิทธิภาพเกินระดับปัจจุบันมีไว้สำหรับการอัพเกรดในอนาคต แต่ไม่ได้จัดลำดับความสำคัญสูง ณ เวลานี้
ปัจจุบัน Reticulum ควรได้รับการพิจารณาซอฟต์แวร์เบต้า คุณสมบัติโปรโตคอลหลักทั้งหมดมีการใช้งานและใช้งานได้ แต่การเพิ่มเติมอาจเกิดขึ้นเมื่อมีการสำรวจการใช้งานในโลกแห่งความเป็นจริง จะมีข้อบกพร่อง API และรูปแบบลวดถือได้ว่าค่อนข้างเสถียรในขณะนี้ แต่สามารถเปลี่ยนแปลงได้หากรับประกัน
การติดตั้งแพ็คเกจ rns เริ่มต้นต้องใช้การอ้างอิงที่ระบุไว้ด้านล่าง ระบบและการแจกแจงเกือบทั้งหมดมีแพ็คเกจที่พร้อมใช้งานสำหรับการพึ่งพาเหล่านี้และเมื่อติดตั้งแพ็คเกจ rns ด้วย pip พวกเขาจะถูกดาวน์โหลดและติดตั้งเช่นกัน
ในระบบที่ผิดปกติมากขึ้นและในบางกรณีที่หายากอาจไม่สามารถติดตั้งหรือรวบรวมหนึ่งหรือมากกว่าหนึ่งโมดูลข้างต้น ในสถานการณ์เช่นนี้คุณสามารถใช้แพ็คเกจ rnspure แทนซึ่งไม่จำเป็นต้องมีการพึ่งพาภายนอกสำหรับการติดตั้ง โปรดทราบว่าเนื้อหาของแพ็คเกจ rns และ rnspure นั้น เหมือนกัน ความแตกต่างเพียงอย่างเดียวคือแพ็คเกจ rnspure ไม่จำเป็นต้องมีการพึ่งพาสำหรับการติดตั้ง
ไม่ว่าจะติดตั้ง reticulum และเริ่มต้นอย่างไรมันจะโหลดการพึ่งพาภายนอกเฉพาะในกรณีที่ จำเป็น และ มีอยู่ หากตัวอย่างเช่นคุณต้องการใช้ reticulum ในระบบที่ไม่สามารถรองรับ pyserial ได้เป็นไปได้อย่างสมบูรณ์แบบที่จะทำเช่นนั้นโดยใช้แพ็คเกจ rnspure แต่ reticulum จะไม่สามารถใช้อินเทอร์เฟซที่ใช้อนุกรม โมดูลอื่น ๆ ที่มีอยู่ทั้งหมดจะยังคงโหลดเมื่อจำเป็น
โปรดทราบ! หากคุณใช้แพ็คเกจ rnspure เพื่อเรียกใช้ reticulum บนระบบที่ไม่รองรับ PYCA/Cryptography เป็นสิ่งสำคัญที่คุณต้องอ่านและเข้าใจส่วนการเข้ารหัสดั้งเดิมของเอกสารนี้
หากคุณแค่ต้องการเริ่มต้นการทดลองโดยไม่ต้องสร้างเครือข่ายทางกายภาพใด ๆ คุณสามารถเข้าร่วม RNS Development TestNet ได้
TestNet เป็นเพียงเครือข่ายที่ไม่เป็นทางการสำหรับการทดสอบและการทดลอง มันจะเพิ่มขึ้นตลอดเวลาและทุกคนสามารถเข้าร่วมได้ แต่ก็หมายความว่าไม่มีการรับประกันความพร้อมใช้งานของบริการ
มันอาจจะไปโดยไม่พูด แต่ อย่าใช้จุดเข้าใช้ TestNet เป็นอินเตอร์เฟส hardcoded หรือเริ่มต้นในแอปพลิเคชันใด ๆ ที่คุณจัดส่งไปยังผู้ใช้ เมื่อจัดส่งแอปพลิเคชันแนวทางปฏิบัติที่ดีที่สุดคือการจัดหาโซลูชันการเชื่อมต่อเริ่มต้นของคุณเองหากจำเป็นและใช้งานได้หรือในกรณีส่วนใหญ่เพียงแค่ปล่อยให้ผู้ใช้อยู่ในเครือข่ายที่เชื่อมต่อกับและอย่างไร
TestNet ดำเนินการ reticulum เวอร์ชันล่าสุด (มักจะไม่นานก่อนที่จะเปิดตัวสาธารณะ) บางครั้ง reticulum รุ่นทดลองอาจถูกนำไปใช้กับโหนดบน TestNet ซึ่งหมายความว่าอาจเกิดพฤติกรรมแปลก ๆ หากไม่มีสิ่งใดที่ทำให้คุณกลัวคุณสามารถเข้าร่วม TestNet ผ่าน TCP หรือ I2P เพียงเพิ่มหนึ่งในอินเทอร์เฟซต่อไปนี้ในไฟล์กำหนดค่า reticulum ของคุณ:
# TCP/IP interface to the RNS Amsterdam Hub
[[RNS Testnet Amsterdam]]
type = TCPClientInterface
enabled = yes
target_host = amsterdam.connect.reticulum.network
target_port = 4965
# TCP/IP interface to the BetweenTheBorders Hub (community-provided)
[[RNS Testnet BetweenTheBorders]]
type = TCPClientInterface
enabled = yes
target_host = reticulum.betweentheborders.com
target_port = 4242
# Interface to Testnet I2P Hub
[[RNS Testnet I2P Hub]]
type = I2PInterface
enabled = yes
peers = g3br23bvx3lq5uddcsjii74xgmn6y5q325ovrkq2zw2wbzbqgbuq.b32.i2p
TestNet ยังมีโหนดเครือข่าย Nomad จำนวนหนึ่งและโหนดการแพร่กระจาย LXMF
คุณสามารถช่วยสนับสนุนการพัฒนาอย่างต่อเนื่องของระบบการสื่อสารแบบเปิดฟรีและส่วนตัวโดยการบริจาคผ่านช่องทางใดช่องทางหนึ่งต่อไปนี้:
84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73
35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH
คุณสมบัติบางอย่างในแผนงานการพัฒนามีความสำคัญต่อคุณหรือองค์กรของคุณหรือไม่? ทำให้พวกเขาเป็นจริงอย่างรวดเร็วโดยสนับสนุนการดำเนินการของพวกเขา
Reticulum ใช้ชุดการเข้ารหัสที่มีประสิทธิภาพแข็งแกร่งและผ่านการทดสอบอย่างดีพร้อมการใช้งานที่มีอยู่อย่างกว้างขวางซึ่งสามารถใช้ได้ทั้งในซีพียูที่มีวัตถุประสงค์ทั่วไปและไมโครคอนโทรลเลอร์ ดั้งเดิมที่ใช้คือ:
ในการกำหนดค่าการติดตั้งเริ่มต้น X25519 , Ed25519 และ AES-128-CBC ดั้งเดิมมีให้โดย OpenSSL (ผ่านแพ็คเกจ PYCA/Cryptography) ฟังก์ชั่นการแฮช SHA-256 และ SHA-512 จัดทำโดย Hashlib Python มาตรฐาน HKDF , HMAC , Token Primitives และฟังก์ชั่น PKCS7 padding นั้นมีให้โดยการใช้งานภายในต่อไปนี้เสมอ:
Reticulum ยังรวมถึงการดำเนินการอย่างสมบูรณ์ของดั้งเดิมที่จำเป็นทั้งหมดใน Pyr Python หาก OpenSSL & PYCA ไม่สามารถใช้งานได้ในระบบเมื่อ reticulum เริ่มต้นขึ้น reticulum จะใช้ primitives pure-python ภายในแทน ผลที่ตามมาเล็กน้อยของสิ่งนี้คือการแสดงโดยแบ็กเอนด์ OpenSSL นั้นเร็วขึ้น มาก อย่างไรก็ตามผลลัพธ์ที่สำคัญที่สุดคือการสูญเสียความปลอดภัยที่อาจเกิดขึ้นโดยใช้ดั้งเดิมที่ไม่ได้เห็นการตรวจสอบการทดสอบและการตรวจสอบจำนวนเท่ากันในระดับเดียวกัน
หากคุณต้องการใช้ primitives pure-python ภายใน ขอแนะนำอย่างยิ่ง ว่าคุณมีความเข้าใจที่ดีเกี่ยวกับความเสี่ยงที่ก่อให้เกิดท่านี้และตัดสินใจอย่างชาญฉลาดว่าความเสี่ยงเหล่านั้นเป็นที่ยอมรับหรือไม่
Reticulum เป็นซอฟต์แวร์ที่ค่อนข้างเล็กและควรได้รับการพิจารณาเช่นนี้ ในขณะที่มันถูกสร้างขึ้นด้วยการเข้ารหัสที่ดีที่สุดในใจที่สำคัญที่สุดในใจมัน ยังไม่ ได้รับการตรวจสอบความปลอดภัยจากภายนอกและอาจมีความเป็นส่วนตัวหรือข้อบกพร่องที่ทำลายความปลอดภัย หากคุณต้องการช่วยเหลือหรือช่วยสนับสนุนการตรวจสอบโปรดติดต่อ
Reticulum สามารถมีอยู่ได้เพียงเพราะ Mountain of Open Source ทำงานอยู่ด้านบนของการมีส่วนร่วมของทุกคนที่เกี่ยวข้องและทุกคนที่สนับสนุนโครงการตลอดหลายปีที่ผ่านมา สำหรับทุกคนที่ช่วยขอบคุณมาก
จำนวนโมดูลและโครงการอื่น ๆ เป็นส่วนหนึ่งหรือใช้โดย reticulum ขอขอบคุณผู้เขียนและผู้มีส่วนร่วมของโครงการต่อไปนี้: