నోడ్-టు-నోడ్ కాపీ (NNCP) విడుదల, స్టోర్-అండ్-ఫార్వర్డ్ మోడ్లో అమలు చేయడానికి ఫైల్లు, ఇమెయిల్ మరియు ఆదేశాలను సురక్షితంగా బదిలీ చేయడానికి యుటిలిటీల సమితి. POSIX-అనుకూల ఆపరేటింగ్ సిస్టమ్లపై ఆపరేషన్కు మద్దతు ఇస్తుంది. యుటిలిటీలు గోలో వ్రాయబడ్డాయి మరియు GPLv3 లైసెన్స్ క్రింద పంపిణీ చేయబడతాయి.
ఈ యుటిలిటీలు సురక్షితమైన ఫైర్-అండ్-ఫర్గాట్ ఫైల్ బదిలీలు, ఫైల్ అభ్యర్థనలు, ఇమెయిల్ మరియు కమాండ్ ఎగ్జిక్యూషన్ అభ్యర్థనల కోసం స్టాటిక్ రూటింగ్తో చిన్న పీర్-టు-పీర్ ఫ్రెండ్-టు-ఫ్రెండ్ నెట్వర్క్లను (డజన్ల కొద్దీ నోడ్లు) నిర్మించడంలో సహాయపడటానికి రూపొందించబడ్డాయి. అన్ని ట్రాన్స్మిట్ చేయబడిన ప్యాకెట్లు ఎండ్-టు-ఎండ్ ఎన్క్రిప్ట్ చేయబడతాయి మరియు పీర్ల తెలిసిన పబ్లిక్ కీలను ఉపయోగించి స్పష్టంగా ప్రామాణీకరించబడతాయి. ఆనియన్ ఎన్క్రిప్షన్ (టోర్ లాగా) అన్ని ఇంటర్మీడియట్ ప్యాకెట్లకు వర్తించబడుతుంది. ప్రతి నోడ్ క్లయింట్ లేదా హోస్ట్గా పనిచేయగలదు. సర్వర్ మరియు పుష్ మరియు పోల్ ప్రవర్తన నమూనాలను ఉపయోగించండి.
NNCP, పైన పేర్కొన్న ఎన్క్రిప్షన్ మరియు ప్రామాణీకరణతో పాటు, ఫ్లాపీ-నెట్వర్క్లు మరియు అసురక్షిత స్థానిక మరియు పబ్లిక్ నెట్వర్క్ల నుండి భౌతికంగా వేరుచేయబడిన (ఎయిర్-గ్యాప్డ్) కంప్యూటర్లకు అవుట్-ఆఫ్-ది-బాక్స్ మద్దతును అందించడం ద్వారా UUCP మరియు FTN (FidoNet టెక్నాలజీ నెట్వర్క్) పరిష్కారాల నుండి భిన్నంగా ఉంటుంది. NNCP ప్రస్తుత ఇమెయిల్ సేవలతో సులభమైన ఏకీకరణను (UUCP వంటివి) కూడా కలిగి ఉంటుంది. సర్వర్లు, పోస్ట్ఫిక్స్ మరియు ఎగ్జిమ్ వంటివి.
NNCP కోసం అప్లికేషన్ యొక్క సాధ్యమైన ప్రాంతాలలో ఇంటర్నెట్కు శాశ్వత కనెక్షన్ లేని పరికరాలకు మెయిల్ పంపడం/స్వీకరించడం, అస్థిర నెట్వర్క్ కనెక్షన్ ఉన్న పరిస్థితుల్లో ఫైల్లను బదిలీ చేయడం, ఫిజికల్ మీడియాలో చాలా పెద్ద మొత్తంలో డేటాను సురక్షితంగా బదిలీ చేయడం, దీని నుండి రక్షించబడిన ఐసోలేటెడ్ డేటా ట్రాన్స్మిషన్ నెట్వర్క్లను సృష్టించడం వంటివి ఉన్నాయి. MitM దాడులు, నెట్వర్క్ సెన్సార్షిప్ మరియు నిఘాను దాటవేయడం. ప్యాకెట్ నెట్వర్క్ ద్వారా లేదా భౌతిక మాధ్యమం ద్వారా డెలివరీ చేయబడిందా అనే దానితో సంబంధం లేకుండా, డిక్రిప్షన్ కీ గ్రహీత చేతిలో మాత్రమే ఉంటుంది కాబట్టి, ప్యాకేజీని అడ్డగించినప్పటికీ, మూడవ పక్షం కంటెంట్లను చదవలేరు. ప్రతిగా, డిజిటల్ సంతకం ప్రమాణీకరణ మరొక పంపినవారి ముసుగులో కల్పిత సందేశాన్ని సృష్టించడాన్ని అనుమతించదు.
NNCP 8.8.0 యొక్క ఆవిష్కరణలలో, మునుపటి వార్తలతో పోలిస్తే (వెర్షన్ 5.0.0):
- BLAKE2b హాష్కు బదులుగా, BLAKE3 హాష్ని ఉపయోగించే MTH: Merkle Tree-ఆధారిత హ్యాషింగ్, ఫైల్ల సమగ్రతను తనిఖీ చేయడానికి ఉపయోగించబడుతుంది. డౌన్లోడ్ చేస్తున్న సమయంలోనే, భవిష్యత్తులో చదవాల్సిన అవసరం లేకుండానే ప్యాకెట్లోని గుప్తీకరించిన భాగం యొక్క సమగ్రతను లెక్కించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. ఇది సమగ్రత తనిఖీల యొక్క అపరిమిత సమాంతరతను కూడా అనుమతిస్తుంది.
- డేటా పరిమాణం ముందుగా తెలియనప్పుడు కొత్త ఎన్క్రిప్టెడ్ ప్యాకెట్ ఫార్మాట్ పూర్తిగా స్ట్రీమింగ్-ఫ్రెండ్లీగా ఉంటుంది. ప్రామాణీకరించబడిన పరిమాణంతో బదిలీ పూర్తయిన సంకేతీకరణ నేరుగా ఎన్క్రిప్టెడ్ స్ట్రీమ్లోకి వెళుతుంది. గతంలో, బదిలీ చేయబడిన డేటా యొక్క పరిమాణాన్ని తెలుసుకోవడానికి, దానిని తాత్కాలిక ఫైల్లో సేవ్ చేయడం అవసరం. కాబట్టి “nncp-exec” ఆదేశం పూర్తిగా అనవసరమైనందున “-use-tmp” ఎంపికను కోల్పోయింది.
- BLAKE2b KDF మరియు XOF ఫంక్షన్లు BLAKE3 ద్వారా భర్తీ చేయబడ్డాయి, ఉపయోగించిన క్రిప్టోగ్రాఫిక్ ప్రిమిటివ్ల సంఖ్యను తగ్గించడానికి మరియు కోడ్ను సులభతరం చేయడానికి.
- "ff02::4e4e:4350" చిరునామాకు మల్టీకాస్టింగ్ ద్వారా స్థానిక నెట్వర్క్లోని ఇతర నోడ్లను గుర్తించడం ఇప్పుడు సాధ్యమవుతుంది.
- మల్టీక్యాస్ట్ గ్రూపులు కనిపించాయి (ఫిడోనెట్ ఎకో కాన్ఫరెన్స్లు లేదా యూజ్నెట్ న్యూస్ గ్రూప్లకు సారూప్యంగా), ఒక ప్యాకెట్ బహుళ గ్రూప్ సభ్యులకు డేటాను పంపడానికి అనుమతిస్తుంది, ఇక్కడ ప్రతి ఒక్కటి ప్యాకెట్ను మిగిలిన సంతకందారులకు ప్రసారం చేస్తుంది. మల్టీక్యాస్ట్ ప్యాకెట్ను చదవడానికి కీ పెయిర్ గురించి తెలుసుకోవడం అవసరం (మీరు ఖచ్చితంగా సమూహంలో సభ్యుడిగా ఉండాలి), కానీ రిలే చేయడం ఏ నోడ్ ద్వారా అయినా చేయవచ్చు.
- ప్యాకెట్ రసీదు యొక్క స్పష్టమైన నిర్ధారణకు ఇప్పుడు మద్దతు ఉంది. పంపినవారు పంపిన తర్వాత ప్యాకెట్ను తొలగించకపోవచ్చు, రిసీవర్ నుండి ప్రత్యేక ACK ప్యాకెట్ను అందుకునే వరకు వేచి ఉండండి.
- Yggdrasil ఓవర్లే నెట్వర్క్కు అంతర్నిర్మిత మద్దతు: ఆన్లైన్ డెమోన్లు థర్డ్-పార్టీ Yggdrasil అమలులను ఉపయోగించకుండా మరియు వర్చువల్ నెట్వర్క్ ఇంటర్ఫేస్లో IP స్టాక్తో పూర్తిగా పని చేయకుండా పూర్తి స్థాయి స్వతంత్ర నెట్వర్క్ పార్టిసిపెంట్లుగా పని చేయగలవు.
- నిర్మాణాత్మక స్ట్రింగ్లకు బదులుగా (RFC 3339), లాగ్ రెక్ఫైల్ ఎంట్రీలను ఉపయోగిస్తుంది, దానితో GNU Recutils వినియోగాలను ఉపయోగించవచ్చు.
- ఐచ్ఛికంగా, ఎన్క్రిప్టెడ్ ప్యాకెట్ హెడర్లను "hdr/" సబ్డైరెక్టరీలోని ప్రత్యేక ఫైల్లలో నిల్వ చేయవచ్చు, ZFS వంటి పెద్ద బ్లాక్ పరిమాణాలతో ఫైల్ సిస్టమ్లలో ప్యాకెట్ జాబితా పునరుద్ధరణ కార్యకలాపాలను గణనీయంగా వేగవంతం చేస్తుంది. మునుపు, ప్యాకెట్ హెడర్ని తిరిగి పొందాలంటే డిఫాల్ట్గా డిస్క్ నుండి 128KiB బ్లాక్ని మాత్రమే చదవాలి.
- కొత్త ఫైల్ల కోసం తనిఖీ చేయడం ఐచ్ఛికంగా kqueueని ఉపయోగించవచ్చు మరియు కెర్నల్ సబ్సిస్టమ్లను inotify చేయవచ్చు, తక్కువ సిస్టమ్ కాల్లను చేస్తుంది.
- యుటిలిటీలు తక్కువ ఓపెన్ ఫైల్లను ఉంచుతాయి మరియు వాటిని తక్కువ తరచుగా మూసివేస్తాయి మరియు మళ్లీ తెరవబడతాయి. పెద్ద సంఖ్యలో ప్యాకేజీలతో, గతంలో గరిష్ట సంఖ్యలో ఓపెన్ ఫైల్లపై పరిమితిని అమలు చేయడం సాధ్యమైంది.
- అనేక బృందాలు ప్యాకేజీలను డౌన్లోడ్ చేయడం/అప్లోడ్ చేయడం, కాపీ చేయడం మరియు ప్రాసెస్ చేయడం (టాస్) వంటి కార్యకలాపాల పురోగతి మరియు వేగాన్ని చూపించడం ప్రారంభించాయి.
- “nncp-file” ఆదేశం ఒకే ఫైల్లను మాత్రమే కాకుండా, డైరెక్టరీలను కూడా పంపగలదు, ఫ్లైలో వాటి కంటెంట్లతో పాక్స్ ఆర్కైవ్ను సృష్టిస్తుంది.
- ప్రత్యేక nncp-toss డెమోన్ని అమలు చేయకుండా, ప్యాకేజీ విజయవంతంగా డౌన్లోడ్ చేయబడిన తర్వాత ఆన్లైన్ యుటిలిటీలు ఐచ్ఛికంగా వెంటనే టాసింగ్కు కాల్ చేయవచ్చు.
- మరొక పాల్గొనేవారికి ఆన్లైన్ కాల్ ఐచ్ఛికంగా టైమర్ ట్రిగ్గర్ చేయబడినప్పుడు మాత్రమే కాకుండా, స్పూల్ డైరెక్టరీలో అవుట్గోయింగ్ ప్యాకెట్ కనిపించినప్పుడు కూడా జరుగుతుంది.
- మునుపు మద్దతు ఉన్న FreeBSD మరియు GNU/Linuxతో పాటు, NetBSD మరియు OpenBSD OS కింద కార్యాచరణను నిర్ధారిస్తుంది.
- "nncp-daemon" UCSPI-TCP ఇంటర్ఫేస్తో పూర్తిగా అనుకూలంగా ఉంది. పేర్కొన్న ఫైల్ డిస్క్రిప్టర్కు లాగిన్ చేయగల సామర్థ్యంతో కలిపి (ఉదాహరణకు "NNCPLOG=FD:4"ని సెట్ చేయడం ద్వారా), ఇది డెమోన్టూల్స్-వంటి యుటిలిటీల క్రింద అమలు చేయడానికి పూర్తిగా అనుకూలమైనది.
- ప్రాజెక్ట్ అసెంబ్లీ పూర్తిగా రీడో సిస్టమ్కు బదిలీ చేయబడింది.
మూలం: opennet.ru
