{"id":86559,"date":"2020-06-26T19:42:13","date_gmt":"2020-06-26T17:42:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12"},"modified":"2020-06-26T19:42:13","modified_gmt":"2020-06-26T17:42:13","slug":"uchebnik-po-simulyatoru-seti-ns-3-glavy-12","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12","title":{"rendered":"Guida al simulatore di rete ns-3. Capitoli 1, 2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 &quot;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nsnam.org\/docs\/release\/3.30\/tutorial\/ns-3-tutorial.pdf\">ns-3 Tutorial Release ns-3.29<\/a><\/noindex>&quot; \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0435\u0439 ns-3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Guida al simulatore di rete ns-3. Capitoli 1, 2\" src=\"\/wp-content\/uploads\/2020\/06\/cddee391ba8763baab6eaa185e081bf6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Questo documento \u00e8 una traduzione del documento originale in inglese, scritto in <noindex><a rel=\"nofollow\" href=\"http:\/\/docutils.sourceforge.net\/rst.html\">reStructuredText<\/a><\/noindex> per <noindex><a rel=\"nofollow\" href=\"http:\/\/sphinx.pocoo.org\/\">Sphinx<\/a><\/noindex> e si trova nella directory <em>doc\/tutorial<\/em> del codice sorgente ns-3.<\/p>\n<p><\/p>\n<p>1 Introduzione<br \/>\n1.1 Su ns-3<br \/>\n1.2 Per gli utenti di ns-2<br \/>\n1.3 Partecipazione al progetto<br \/>\n1.4 Organizzazione della guida<br \/>\n2 Fonti di informazione<br \/>\n2.1 Rete<br \/>\n2.2 Git<br \/>\n2.3 WAF<br \/>\n2.4 Ambiente di sviluppo<br \/>\n2.5 Programmazione dei socket<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/497318\/\">capitolo 3<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/497478\/\">capitolo 4<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/498372\/\">capitolo 5<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/500170\/\">capitolo 6<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/507472\/\">capitolo 7<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/507770\/\">capitoli 8, 9<\/a><\/noindex><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/508218\/\">Scarica la traduzione in un unico file pdf<\/a><\/noindex><\/p>\n<p><\/p>\n<p>La documentazione principale per il progetto ns-3 \u00e8 disponibile in cinque forme:<\/p>\n<p><\/p>\n<ul>\n<li>Documentazione dell'API del simulatore: ns-3 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nsnam.org\/doxygen\/index.html\">Doxygen<\/a><\/noindex>.<\/li>\n<li>Guida, tutorial e libreria di modelli per <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nsnam.org\/documentation\/latest\/\">l'ultima versione<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nsnam.org\/ns-3-dev\/documentation\/\">albero di sviluppo<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.nsnam.org\/wiki\/Main_Page\">Wiki<\/a><\/noindex> ns-3.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<h2 id=\"glava-1\">Capitolo 1<\/h2>\n<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"predislovie\">Prefazione<\/h3>\n<p><\/p>\n<p>Il simulatore ns-3 \u00e8 un simulatore di rete basato su eventi discreti, progettato principalmente per la ricerca e l'uso in contesti educativi. Il progetto che sviluppa ns-3 \u00e8 iniziato nel 2006 ed \u00e8 un progetto open-source.<\/p>\n<p><\/p>\n<p>Lo scopo di questa guida \u00e8 presentare ns-3 ai nuovi utenti in modo sistematico e strutturato. A volte i principianti trovano difficile ottenere le informazioni necessarie e trasformarle in una simulazione funzionante. In questa guida implementeremo diversi esempi di simulazione, mostrando e spiegando nel corso del percorso i concetti chiave e le caratteristiche.<\/p>\n<p><\/p>\n<p>Procedendo, presenteremo la documentazione completa su ns-3 e forniremo link al codice sorgente per coloro che sono interessati a una comprensione approfondita del funzionamento del sistema.<\/p>\n<p><\/p>\n<p>All'inizio vale la pena notare alcuni punti chiave:<\/p>\n<p><\/p>\n<ul>\n<li>ns-3 ha un codice sorgente aperto, il progetto mira a mantenere un ambiente aperto in cui i ricercatori possano contribuire e condividere i loro sviluppi software.<\/li>\n<li>ns-3 non \u00e8 un'estensione retrocompatibile di ns-2, \u00e8 un nuovo simulatore. Entrambi i simulatori sono scritti in C++, ma ns-3 \u00e8 un nuovo simulatore che non supporta le API di ns-2.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"11-o-ns-3\">1.1 Su ns-3<\/h3>\n<p><\/p>\n<p>Il simulatore ns-3 \u00e8 stato progettato per fornire una piattaforma aperta e scalabile per la modellazione di reti, la ricerca di rete e l'istruzione. In breve, ns-3 offre modelli di come sono implementate e funzionano le reti a pacchetto e fornisce all'utente un motore di simulazione per eseguire esperimenti simulativi. Le ragioni per utilizzare ns-3 possono includere situazioni in cui \u00e8 necessario condurre una ricerca che risulta difficile o impossibile da svolgere su un sistema reale, la possibilit\u00e0 di studiare il comportamento di un sistema in un ambiente controllato e riproducibile, e la comprensione di come funzionano le reti. <\/p>\n<p><\/p>\n<p>Gli utenti noteranno che il set di modelli fornito da ns-3 \u00e8 focalizzato sulla modellazione del funzionamento dei protocolli Internet e delle reti, ma ns-3 non \u00e8 limitato solo ai sistemi Internet; alcuni utenti utilizzano ns-3 per modellare sistemi non basati su tecnologie Internet.<\/p>\n<p><\/p>\n<p>Esistono molti strumenti di modellazione di reti. Di seguito sono riportate alcune caratteristiche distintive di ns-3 rispetto ad altri strumenti.<\/p>\n<p><\/p>\n<ul>\n<li>ns-3 \u00e8 stato progettato come un insieme di librerie che possono essere combinate tra loro e con altre librerie software esterne. Mentre alcune piattaforme di simulazione offrono agli utenti un ambiente integrato con un'interfaccia grafica che gestisce l'intero lavoro, ns-3 \u00e8 pi\u00f9 modulare in questo senso. Con ns-3 possono essere utilizzati diversi animatori esterni, strumenti per l'analisi dei dati e la visualizzazione. Tuttavia, gli utenti devono aspettarsi di lavorare nella riga di comando e con strumenti di sviluppo software in C++ e\/o Python.<\/li>\n<li>ns-3 \u00e8 principalmente utilizzato su sistemi Linux o macOS, anche se esiste supporto per sistemi BSD, cos\u00ec come per piattaforme Windows capaci di compilare codice per Linux, come Windows Subsystem for Linux o Cygwin. La versione nativa per Windows, Visual Studio, non \u00e8 attualmente supportata, anche se gli sviluppatori stanno lavorando per implementare questa funzionalit\u00e0. Gli utenti Windows possono anche utilizzare una macchina virtuale con Linux.<\/li>\n<li>ns-3 non \u00e8 un prodotto ufficialmente supportato da alcuna azienda. Il supporto per ns-3 \u00e8 fornito con il massimo impegno sul forum degli utenti di ns-3 (ns-3-users@googlegroups.com).<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"12-dlya-polzovateley-ns-2\">1.2 Per gli utenti di ns-2<\/h3>\n<p><\/p>\n<p>Per chi \u00e8 familiare con ns-2 (lo strumento popolare che ha preceduto ns-3), il cambiamento pi\u00f9 evidente passando a ns-3 \u00e8 il cambio del linguaggio degli script. I programmi in ns-2 sono scritti in OTcl, e i risultati delle simulazioni possono essere visualizzati utilizzando l'animatore di rete nam. In ns-2 non \u00e8 possibile avviare una simulazione esclusivamente da C++ (cio\u00e8 come programma main() senza alcun OTcl). Inoltre, alcuni componenti di ns-2 sono scritti in C++, mentre altri in OTcl. In ns-3, il simulatore \u00e8 scritto interamente in C++ con collegamenti Python opzionali. Pertanto, gli script di simulazione possono essere scritti sia in C++ che in Python. Sono disponibili nuovi animatori e visualizzatori e continuano a essere sviluppati. Poich\u00e9 ns-3 genera file di tracciamento pacchetti pcap, anche altre utility possono essere utilizzate per analizzare le tracce. In questa guida, ci concentreremo prima sugli script implementati in C++ e sull'interpretazione dei risultati attraverso l'analisi dei file di tracciamento.<\/p>\n<p><\/p>\n<p>Tuttavia, ci sono anche somiglianze (ad esempio, entrambi gli strumenti si basano su oggetti C++, parte del codice di ns-2 \u00e8 stata portata in ns-3). Man mano che procediamo, cercheremo di evidenziare le differenze tra ns-2 e ns-3.<\/p>\n<p><\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0447\u0430\u0441\u0442\u043e \u0441\u043b\u044b\u0448\u0438\u043c: &quot;\u0414\u043e\u043b\u0436\u0435\u043d \u043b\u0438 \u044f \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ns-2 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 ns-3?&quot; \u041f\u043e \u043c\u043d\u0435\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0430, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a ns-2 (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u0430 \u0438 \u0437\u043d\u0430\u043d\u0438\u044f ns-2, \u043b\u0438\u0431\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 ns-2), \u0442\u043e \u0441 ns-3 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<p><\/p>\n<ul>\n<li>ns-3 \u00e8 attivamente supportato con una mailing list degli utenti attiva e reattiva, mentre ns-2 \u00e8 supportato solo superficialmente e non ha visto cambiamenti significativi nel suo albero principale di codice da oltre dieci anni.<\/li>\n<li>ns-3 offre funzionalit\u00e0 non disponibili in ns-2, come un ambiente di esecuzione del codice di implementazione (che consente agli utenti di eseguire codice reale nel simulatore).<\/li>\n<li>ns-3 offre un livello di astrazione di base inferiore rispetto a ns-2, consentendo una migliore corrispondenza con il modo in cui interagiscono i sistemi reali. Alcune limitazioni riscontrate in ns-2 (come il supporto corretto per diversi tipi di interfacce su un nodo) sono state risolte in ns-3.<\/li>\n<\/ul>\n<p><\/p>\n<p>Grazie alla sua lunga storia, ns-2 dispone di un set di moduli supportati pi\u00f9 diversificato rispetto a ns-3. Tuttavia, ns-3 presenta modelli pi\u00f9 dettagliati in diversi ambiti di ricerca popolari (inclusi complessi modelli LTE e WiFi), e il suo supporto per il codice di implementazione consente una vasta gamma di modelli ad alta precisione. Gli utenti potrebbero rimanere sorpresi nel scoprire che l'intero stack di rete Linux pu\u00f2 essere incapsulato in un nodo ns-3 utilizzando il framework di esecuzione diretta del codice (DCE). I modelli di ns-2 possono talvolta essere portati su ns-3, specialmente se implementati in C++.<\/p>\n<p><\/p>\n<p>Se hai dei dubbi, un buon consiglio sarebbe di dare un'occhiata a entrambi gli emulatori (e ad altri emulatori), in particolare ai modelli disponibili per la tua ricerca, ma tieni presente che il tuo risultato potrebbe essere migliore utilizzando uno strumento che attualmente \u00e8 attivamente in fase di sviluppo e supporto (ns-3).<\/p>\n<p><\/p>\n<h3 id=\"13-uchastie-v-proekte\">1.3 Partecipazione al progetto<\/h3>\n<p><\/p>\n<p>ns-3 \u00e8 un simulatore scientifico-educativo per la comunit\u00e0 di ricerca. Si basa sui contributi attuali della comunit\u00e0 nello sviluppo di nuovi modelli, nella risoluzione dei problemi o nel supporto di quelli esistenti e nella condivisione dei risultati. Esiste una certa politica che, speriamo, incoragger\u00e0 le persone a contribuire a ns-3, come gi\u00e0 fanno per ns-2:<\/p>\n<p><\/p>\n<ul>\n<li>Licenza open source basata su compatibilit\u00e0 con la licenza GNU GPLv2.<\/li>\n<li>wiki.<\/li>\n<li>Pagina <noindex><a rel=\"nofollow\" href=\"http:\/\/www.pocoo.org\/\">Codice dei contributori<\/a><\/noindex>, simile alla popolare pagina per ns-2.<\/li>\n<li>Utilizzo di GitLab.com, compreso il sistema di tracciamento degli errori:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.gitlab.com\/nsnam\">https:\/\/www.gitlab.com\/nsnam<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>\u041c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0434\u0430\u0436\u0435 \u0432\u044b \u0447\u0438\u0442\u0430\u0435\u0442\u0435 \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0432\u044b, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u043d\u0435\u0441\u0442\u0438 \u0432 \u043d\u0435\u0433\u043e \u0441\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434. \u041d\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0432\u043a\u043b\u0430\u0434\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0443\u0445\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0447\u0442\u043e \u0434\u043b\u044f \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0446\u0435\u043d\u043d\u044b \u0432\u0430\u0448 \u043e\u0442\u0437\u044b\u0432 \u0434\u0430\u0436\u0435 \u043e \u0432\u0430\u0448\u0435\u043c \u0440\u0430\u043d\u043d\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 ns-3 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, &quot;\u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b \u043f\u043e\u043d\u044f\u0442\u0435\u043d &#8230;&quot;), \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u043a\u043e\u0434\u0435 \u0438 \u0442.\u0434\u2026 \u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u043b\u0438\u0431\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 (\u0444\u043e\u0440\u043a) \u043d\u0430 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gitlab.com\/nsnam\">https:\/\/www.gitlab.com\/nsnam<\/a><\/noindex> con le tue correzioni e creare una pull request, oppure aprire un ticket nel nostro tracker e aggiungere un patch.<\/p>\n<p><\/p>\n<h3 id=\"14-organizaciya-rukovodstva\">1.4 Organizzazione della guida<\/h3>\n<p><\/p>\n<p>Questa guida presume che i nuovi utenti possano iniziare a muoversi, ad esempio, seguendo questo percorso:<\/p>\n<p><\/p>\n<ul>\n<li>Provare a scaricare e compilare una copia;<\/li>\n<li>Provare a eseguire alcuni esempi di programmi;<\/li>\n<li>Osservare i risultati della simulazione e provare a modificarli.<br \/>\nIn definitiva, abbiamo cercato di organizzare l'esposizione in base a questi passaggi.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"glava-2\">Capitolo 2<\/h2>\n<p><\/p>\n<h2 id=\"istochniki-informacii\">Fonti di informazione<\/h2>\n<p><\/p>\n<h3 id=\"21-set\">2.1 Rete<\/h3>\n<p><\/p>\n<p>Ci sono diverse risorse importanti di cui ogni utente di ns-3 dovrebbe essere a conoscenza. Il sito web principale \u00e8 disponibile all'indirizzo: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nsnam.org\">https:\/\/www.nsnam.org<\/a><\/noindex><br \/>\ne fornisce accesso alle informazioni di base sul sistema ns-3. La documentazione dettagliata \u00e8 disponibile sul sito web principale all'indirizzo: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nsnam.org\/documentation\/\">https:\/\/www.nsnam.org\/documentation\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nella stessa pagina web puoi anche trovare documenti relativi all'architettura del sistema.<\/p>\n<p><\/p>\n<p>Esiste una pagina wiki che integra il sito web principale di ns-3, che puoi trovare all'indirizzo: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nsnam.org\/wiki\/\">https:\/\/www.nsnam.org\/wiki\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>L\u00ec troverai risposte alle domande pi\u00f9 frequenti per utenti e sviluppatori, oltre a guide per la risoluzione dei problemi, codice di terze parti, documenti, ecc.<br \/>\nIl codice sorgente pu\u00f2 essere trovato e visualizzato su GitLab.com:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/nsnam\/\">https:\/\/gitlab.com\/nsnam\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nel repository con il nome <em>ns-3-dev<\/em> si trova l'attuale albero di sviluppo. Le versioni passate e i repository sperimentali degli sviluppatori del nucleo possono essere trovati anche su Mercurial nel vecchio sito del progetto all'indirizzo:<br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/code.nsnam.org\">http:\/\/code.nsnam.org<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"22-git\">2.2 Git<\/h3>\n<p><\/p>\n<p>I sistemi software complessi necessitano di un modo per gestire l'organizzazione e le modifiche al codice sorgente e alla documentazione. Ci sono molti modi per raggiungere questo obiettivo, e potresti aver sentito parlare di alcuni dei sistemi comunemente utilizzati a tal fine. Fino a poco tempo fa, il progetto ns-3 utilizzava Mercurial come sistema di gestione del codice sorgente, ma a dicembre 2018 abbiamo effettuato il passaggio a Git. Anche se non \u00e8 necessario conoscere molto di Git per leggere questo manuale, ti incoraggiamo a familiarizzare con esso e ad utilizzarlo per accedere al codice sorgente. GitLab.com offre risorse per acquisire le competenze di base all'indirizzo: <noindex><a rel=\"nofollow\" href=\"https:\/\/git-scm.com\/book\/ru\/v2\">https:\/\/git-scm.com\/book\/ru\/v2<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"23-waf\">2.3 WAF<\/h3>\n<p><\/p>\n<p>Dopo aver scaricato il codice sorgente sul tuo computer, per ottenere un programma funzionante dovrai compilarlo. Come nel caso della gestione del codice sorgente, ci sono molti strumenti disponibili per eseguire questa funzione. Probabilmente, il pi\u00f9 noto di questi strumenti \u00e8 make. Sebbene questo strumento sia il pi\u00f9 conosciuto, va notato che risulta essere il pi\u00f9 complesso da utilizzare in un sistema molto grande e configurabile. Questo ha portato allo sviluppo di molte alternative. Recentemente, sono stati sviluppati sistemi utilizzando il linguaggio Python.<\/p>\n<p><\/p>\n<p>Nel progetto ns-3 viene utilizzato il sistema di build Waf. Si tratta di una nuova generazione di sistemi di build basati su Python. Per costruire il sistema esistente ns-3, non avrai bisogno di conoscere Python.<\/p>\n<p><\/p>\n<p>Per coloro che sono interessati ai dettagli sull'uso di Waf, \u00e8 disponibile un libro all'indirizzo:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/waf.io\/book\/\">https:\/\/waf.io\/book\/<\/a><\/noindex><br \/>\ne il codice attuale:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/ita1024\/waf\/\">https:\/\/gitlab.com\/ita1024\/waf\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"24-sreda-razrabotki\">2.4 Ambiente di sviluppo<\/h3>\n<p><\/p>\n<p>Come gi\u00e0 accennato, gli script in ns-3 vengono eseguiti in C++ o Python. La maggior parte dell'API di ns-3 \u00e8 disponibile in Python, ma i modelli sono comunque scritti in C++. Questo manuale presuppone che tu sia familiare con la programmazione orientata agli oggetti in C++. Nel corso dell'illustrazione, dedicheremo del tempo a rivedere i concetti pi\u00f9 avanzati e forse alcune caratteristiche del linguaggio che potrebbero risultare sconosciute, come le idiomie e i modelli di design. Non vogliamo che questo manuale si trasformi in un tutorial su C++, quindi ci aspettiamo una conoscenza di base del linguaggio. Ci sono numerose risorse riguardo a C++ disponibili online o in stampa.<\/p>\n<p><\/p>\n<p>Se sei alle prime armi con C++, prima di continuare, apprendi le basi del linguaggio utilizzando un manuale o un sito web dedicato all'insegnamento o a ricette gi\u00e0 pronte. Ad esempio, uno come questo: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ashtanyuk\/CPP-2018\">https:\/\/github.com\/ashtanyuk\/CPP-2018<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Su Linux, il sistema ns-3 utilizza diversi componenti dagli strumenti del progetto GNU. Gli strumenti sono un insieme di strumenti di programmazione disponibili in questo ambiente software. Per una rapida panoramica di ci\u00f2 che viene incluso negli strumenti GNU, vedi. <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/GNU_toolchain\">http:\/\/en.wikipedia.org\/wiki\/GNU_toolchain<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Il simulatore ns-3 utilizza gcc, GNU binutils e gdb. Tuttavia, non utilizziamo n\u00e9 make n\u00e9 autotools degli strumenti GNU per costruire il progetto. Per queste funzioni utilizziamo Waf.<\/p>\n<p><\/p>\n<p>Su macOS viene utilizzato il set di strumenti Xcode. Agli utenti di ns-3 su Mac viene vivamente consigliato di installare Xcode e i pacchetti degli strumenti da linea di comando dall'Apple App Store, e per ulteriori informazioni, visitare la pagina wiki di installazione di ns-3: (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nsnam.org\/wiki\/Installation\">https:\/\/www.nsnam.org\/wiki\/Installation<\/a><\/noindex>).<\/p>\n<p><\/p>\n<p>In genere, l'autore di ns-3 lavora in ambienti Linux o Unix-like. Per coloro che lavorano su Windows, ci sono ambienti che simulano in vari gradi l'ambiente Linux. Per tali utenti, il progetto ns-3 in passato (ma non attualmente) supportava lo sviluppo in un ambiente Cygwin. Per dettagli sul download e informazioni aggiuntive su Cygwin e ns-3, visitare la pagina wiki di ns-3:<br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.cygwin.com\/\">http:\/\/www.cygwin.com\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>MinGW non \u00e8 attualmente ufficialmente supportato. Un'altra alternativa a Cygwin \u00e8 l'installazione di un ambiente virtuale, come VMware server, dove installare Linux.<\/p>\n<p><\/p>\n<h3 id=\"25-programmirovanie-soketov\">2.5 Programmazione dei socket<\/h3>\n<p><\/p>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 API-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441\u043e\u043a\u0435\u0442\u043e\u0432 \u0411\u0435\u0440\u043a\u043b\u0438 (Berkeley Sockets). \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 \u0441\u043e\u043a\u0435\u0442\u0430\u0445, \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 API \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u043b\u0443\u0447\u0430\u044f\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u043e\u0431\u0437\u043e\u0440\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u043e\u0432 TCP\/IP \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c: &quot;TCP\/IP Sockets in C&quot;, Donahoo and Calvert.<\/p>\n<p><\/p>\n<p>Esiste un sito web correlato che contiene la fonte degli esempi del libro, che puoi trovare all'indirizzo:<br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/cs.baylor.edu\/~donahoo\/practical\/CSockets\/\">http:\/\/cs.baylor.edu\/~donahoo\/practical\/CSockets\/<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Se comprendi i primi quattro capitoli del libro (o per coloro che non hanno accesso a una copia del libro, i client e i server echo mostrati sul sito web nel link sopra), questo sar\u00e0 sufficiente per comprendere il tutorial. Esiste un libro simile<br \/>\n&quot;Multicast Sockets, Multicast Sockets&quot;, Makofske \u0438 Almeroth.<\/p>\n<p><\/p>\n<p>Tratta argomenti che potrebbero esserti utili se desideri studiare nel pacchetto esempi di multicast.<\/p>\n<p><\/p>\n<p>Continuazione: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/497318\/\">capitolo 3<\/a><\/noindex><\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/497106\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 &quot;ns-3 Tutorial Release ns-3.29&quot; \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0435\u0439 ns-3. \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 reStructuredText \u0434\u043b\u044f Sphinx \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 doc\/tutorial \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 ns-3. 1 \u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 1.1 \u041e ns-3 1.2 \u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 ns-2 1.3 \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 1.4 \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 2 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86560,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86559","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 &quot;ns-3 Tutorial Release ns-3.29&quot; \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0435\u0439 ns-3. \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 reStructuredText \u0434\u043b\u044f Sphinx \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 doc\/tutorial \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 ns-3. 1 \u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 1.1 \u041e ns-3 1.2 \u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 ns-2 1.3 \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 1.4 \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 2\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0447\u0435\u0431\u043d\u0438\u043a \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0438 ns-3. \u0413\u043b\u0430\u0432\u044b 1,2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 &quot;ns-3 Tutorial Release ns-3.29&quot; \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0435\u0439 ns-3. \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 reStructuredText \u0434\u043b\u044f Sphinx \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 doc\/tutorial \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 ns-3. 1 \u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 1.1 \u041e ns-3 1.2 \u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 ns-2 1.3 \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 1.4 \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 2\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-26T17:42:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-26T17:42:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Manuale per il simulatore di rete ns-3. Capitoli 1,2 | ProHoster","description":"Questo articolo apre una serie di pubblicazioni con la traduzione del manuale \"ns-3 Tutorial Release ns-3.29\" per il simulatore di reti ns-3. Questo documento \u00e8 una traduzione del documento originale in inglese, scritto in reStructuredText per Sphinx e conservato nella directory doc\/tutorial del codice sorgente di ns-3. 1 Prefazione 1.1 Su ns-3 1.2 Per gli utenti di ns-2 1.3 Partecipazione al progetto 1.4 Organizzazione del manuale 2","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0447\u0435\u0431\u043d\u0438\u043a \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0438 ns-3. \u0413\u043b\u0430\u0432\u044b 1,2 | ProHoster","og:description":"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 &quot;ns-3 Tutorial Release ns-3.29&quot; \u043f\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u0441\u0435\u0442\u0435\u0439 ns-3. \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 reStructuredText \u0434\u043b\u044f Sphinx \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 doc\/tutorial \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 ns-3. 1 \u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 1.1 \u041e ns-3 1.2 \u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 ns-2 1.3 \u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 1.4 \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 2","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/uchebnik-po-simulyatoru-seti-ns-3-glavy-12","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-26T17:42:13+00:00","article:modified_time":"2020-06-26T17:42:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86559","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:48:32","updated":"2022-09-30 06:25:10"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/86559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=86559"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/86559\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/86560"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=86559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=86559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=86559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}