Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προσομοίωση Δικτύων 1 - Εισαγωγή

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προσομοίωση Δικτύων 1 - Εισαγωγή"— Μεταγράφημα παρουσίασης:

1 Προσομοίωση Δικτύων 1 - Εισαγωγή
Δελτούζος Κωνσταντίνος Δρ. Ηλεκτρολόγος Μηχανικός και Τεχνολογίας Υπολογιστών

2 Στόχοι του εργαστηρίου
Γνωριμία με τα πιο διαδεδομένα λογισμικά προσομοίωσης δικτύων Μελέτη δικτυακών και επικοινωνιακών θεμάτων μέσα από σενάρια προσομοίωσης Μελέτη/ανάλυση μετρικών απόδοσης δικτύων

3 Τεχνικοί στόχοι Σχεδίαση και ανάπτυξη έγκυρων προγραμμάτων προσομοίωσης Εξοικείωση με τα βασικά μέρη ενός σεναρίου εξομοίωσης Εξάσκηση τόσο σε σενάρια ενσύρματων όσο και ασύρματων δικτύων Εξάσκηση στον προγραμματισμό και στην αποσφαλμάτωση σχετικών προγραμμάτων

4 Χρονοδιάγραμμα 1η εβδομάδα: Εισαγωγικό μάθημα
2η – 6η εβδομάδα: Εργαστηριακές ασκήσεις προσομοίωσης δικτύων 7η εβδομάδα: Πρόοδος στην ενδιάμεση ύλη Προαιρετική Μετράει 40% του τελικού βαθμού

5 Χρονοδιάγραμμα 8η -12η εβδομάδα: Εργαστηριακές ασκήσεις προσομοίωσης δικτύων 13η εβδομάδα: Τελική εξέταση Αν ο φοιτητής έχει συμμετάσχει στην πρόοδο: Τελικός βαθμός = (βαθμός προόδου) Χ (βαθμός εξέτασης) Χ 0.6 Αλλιώς μετράει 100% ο βαθμός της τελικής εξέτασης

6 Γενικά

7 Γιατί χρησιμοποιούμε προσομοιωτές δικτύων;
Τα δίκτυα είναι ένας από τους μεγαλύτερους ερευνητικούς κλάδους στην επιστήμη των υπολογιστών. Δυστυχώς, η έρευνα και ο πειραματισμός σε πραγματικά δίκτυα είναι ανέφικτος Περιορισμένοι πόροι Χρονοβόρα παραμετροποίηση (Ρύθμιση συστημάτων, εγκατάσταση τοπολογίας κ.λ.π.) Κλιμάκωση (Scalability)

8 Γιατί χρησιμοποιούμε προσομοιωτές δικτύων;
Μέσω ενός προσομοιωτή, τα παραπάνω προβλήματα αντιμετωπίζονται αποτελεσματικά. Χωρίς κανένα κόστος, δίνεται η δυνατότητα στον ερευνητή να πειραματιστεί μέσω προσομοιώσεων των δικτύων. Η συλλογή δεδομένων γίνεται ευκολότερη. Αξιόπιστη αναπαράσταση του πραγματικού περιβάλλοντος.

9 Διαδεδομένοι προσομοιωτές δικτύων
Γνωρίζετε κανέναν; NS (Network Simulator) NS-2 NS-3 OPNET Modeler / Riverbed Modeler OMNeT++ (Objective Modular Network Testbed in C++)

10 Τι κοινά έχουν; Ορισμός τοπολογίας δικτύου Ορισμός κίνησης στο δίκτυο
Προσομοίωση διακριτών γεγονότων

11 NS

12 Τι είναι ο NS? Η διαδικασία πειραμάτων στον NS διαχωρίζεται σε 3 στάδια: Preprocess Execution Post Process NS code execution

13 Τι είναι ο NS? Προσομοιωτής δικτύου διακριτών γεγονότων
Στόχος: Η δημιουργία μίας επεκτάσιμης πλατφόρμας ανοιχτού κώδικα στα πλαίσια της έρευνας και της εκπαίδευσης.

14 Εξάπλωση του NS O ns είναι πια ένας από τους πιο διαδεδομένους προσομοιωτές δικτύων. Κύριοι παράγοντες: Ανοιχτού κώδικα (Open Source) Επεκτασιμότητα (Extensibility )

15 NS-2 Ο κυρίαρχος προσομοιωτής δικτύων ΕΛ/ΛΑΚ
Ευρύτατη χρήση σε Ερευνητικό και Ακαδημαϊκό τομέα για πάνω από μία 10ετία Επέκταση και συντήρηση από μεγάλη κοινότητα έως σήμερα Ισχυρό λογισμικό με πολλές δυνατότητες προσομοίωσης

16 NS-2 History Απόγονος του NS-1 (Real Network Simulator) - 1989
Ευρεία επέκταση μέσω χρηματοδοτούμενων έργων (DARPA, VINT, Xerox PARC, USC/ISI) Πρώτη stable έκδοση και συνεχής επέκταση από την κοινότητα έως σήμερα Νεότερη έκδοση ο ns-2.35, Νοέμβρης 2011

17 NS2 - Today Ίσως ο πιο ώριμος προσομοιωτής με τις περισσότερες επεκτάσεις Αποτελείται από 300,000 γραμμές κώδικα στον πυρήνα του και άλλες τόσες υπολογίζονται σε επεκτάσεις Εκτέλεση δυνατή σε περιβάλλοντα GNU/Linux, FreeBSD, Solaris, Mac OS X και Windows (Cygwin) Χρήση σύμφωνα με τη GNU General Public License

18 NS-2 - Features Μερικές από τις δυνατότητες του NS-2:
Πρωτόκολλα δικτύων - (TCP, UDP, HTTP, routing αλγόριθμοι ..) Traffic Models - (CBR, VBR, Web ..) Error Models - (Uniform, bursty ..) Radio propagation, Mobility και Energy models Wireless networks (Ad Hoc, WLAN, Hybrid ..) Ενσωμάτωση με εξωτερικά εργαλεία (Visualization, Generators ..) Πληθώρα επεκτάσεων (Multimedia streaming, Satellite, Underwater, Urban city simulation ..)

19 NS-2 - Overview Υλοποιημένος σε 2 γλώσσες:
C++ : Back-end λειτουργίες με υψηλή ταχύτητα εκτέλεσης. Υλοποίηση αντικειμένων και μεθόδων στο επίπεδο του πυρήνα. OTcl: Front-end λειτουργίες και σύνταξη σεναρίων. Αποτελεί μικρό τμήμα του πυρήνα.

20 NS-2 - Σενάρια Δημιουργία σεναρίων με Tcl
Γραφικό περιβάλλον για την παραμετροποίηση υπάρχει μόνο σε contributed κώδικα Εύκολος αυτοματισμός εκτέλεσης πολλών πειραμάτων με εξωτερικά scripts Εκτέλεση στη κονσόλα με την εντολή ./ns

21 NS-2 - Εγκατάσταση (1) Ο NS-2 βρίσκεται:
Λήψη επιθυμητής έκδοσης και αποσυμπίεση Τελευταία έκδοση ο ns-allinone-2.35.tar.gz Βήματα για Unix Based συστήματα: tar -xzf ns-allinone-2.35.tar.gz cd ns-allinone-2.35 ./install

22 NS-2 - Εγκατάσταση (2) Μετά την ολοκλήρωση της εγκατάστασης πρέπει να προσθέσουμε κάποια path ώστε να είναι εκτελέσιμη η εντολή ns

23 NS-2 - File Dirs NS-2 - Home Directory

24 NS-2 - Nam Nam: Εργαλείο γραφικής απεικόνισης δικτύων

25 NS-2 - First Tcl script (1)

26 NS-2 - First Tcl script (2)
Βασικά τμήματα κώδικα πειραμάτων

27 NS-2 - First Tcl script (3)

28 NS-2 – Support Google groups
/ns-users NS-2 Mailing lists lists.html Infinite tutorials και blogs

29 NS-3 Διάδοχος του NS-2. Σταδιακά γίνεται μετάβαση του κοινού από τον NS-2 στον NS-3. Ραγδαία ανάπτυξη του έργου Με κάθε νέα έκδοση δίνονται πολλές περισσότερες δυνατότητες Η αρχιτεκτονική του κάνει πολύ εύκολη την επέκταση

30 NS-3 Ανάπτυξη από την αρχή, δεν βασίστηκε στον προκάτοχό του
Ανάπτυξη από την αρχή, δεν βασίστηκε στον προκάτοχό του Γραμμένος εξολοκλήρου σε C++. Εκτός από C++ περιέχει και δεσμούς με την Python Τα προγράμματα προσομοίωσης καλούνται είτε μέσω των εκτελέσιμων, είτε μέσω εντολών Python Συνολικά αποτελείται από περίπου 350,000 γραμμές κώδικα.

31 NS-3 Πρώτη έκδοση 3.1, Ιούνιος 2008 Νέα έκδοση ανά 3 μήνες.
Τελευταία έκδοση 3.26

32 Στόχοι του NS3 Μεγαλύτερη συμβολή στην έρευνα δικτύων
Ευέλικτο API χαμηλού επιπέδου Τμηματοποίηση (modularity) Κλιμάκωση Υλοποίηση σύγχρονων μοντέλων δικτύων

33 Δυνατότητες (1)

34 Δυνατότητες (2) Υποστήριξη των περισσότερων αρχιτεκτονικών
Υποστήριξη των περισσότερων αρχιτεκτονικών Ποικιλία πρωτοκόλλων και σχεδιασμών σε όλα τα επίπεδα του μοντέλου OSI Έμφαση σε ασύρματα δίκτυα και LTE

35 Συμβατότητα Άμεση συμβατότητα
Linux FreeBSD OS X Για Windows, η συμβατότητα είναι εφικτή με την χρήση άλλων εργαλείων, όπως το Cygwin (

36 Σύγκριση με άλλα προιόντα
Αντίθετα με την πλειοψηφία των υπόλοιπων προσομοιωτών, o ns-3 χειρίζεται μέσω εντολών στην κονσόλα Τα σενάρια (πειράματα) γράφονται απευθείας σε C++ και Python Δεν χρησιμοποιείται κάποια γραφική διεπαφή (GUI) για την δημιουργία σεναρίων

37 Διεξαγωγή πειραμάτων Δημιουργία σεναρίων (ns-3 scripts)
Μεγαλύτερο μέρος του κώδικα περιγραφικό. Εμπλουτίζεται από κομμάτια κώδικα για την συλλογή των δεδομένων, και όπου χρειάζεται, μπορούν να γίνουν επιπλέον ενέργειες.

38 Λήψη NS-3 Λήψη από: Ή μέσω terminal: wget tar.bz2 tar xjf ns-allinone-3.20.tar.bz2 Μετάβαση στο φάκελο του ns-3.xx, που βρίσκεται μέσα στον αποσυμπιεσμένο φάκελο.

39 Λήψη NS-3 Εναλλακτική λύση #1: Λήψη του κώδικα από το development repository Γίνεται με χρήση Mercurial hg clone Δεν περιέχονται βοηθητικές εφαρμογές, όπως το netanim

40 Λήψη NS-3 Λήψη του κώδικα για το Bake από το development repository
Γίνεται με χρήση Mercurial hg clone Ρύθμιση έκδοσης προς λήψη ./bake.py configure -e ns-3.21 Έλεγχος dependencies ./bake.py check Λήψη ./bake.py download

41 Εγκατάσταση NS-3 Waf: Python script για την εκτέλεση διάφορων λειτουργιών στον ns-3 Full build ./waf Ρυθμίσεις παραμέτρων εγκατάστασης ./waf configure ./waf configure --enable-examples --enable-tests Μεταγλώττιση κώδικα ./waf build Καθαρισμός Project ./waf clean

42 Εγκατάσταση NS-3 Make: Kλασικό εργαλείο για μεταγλώττιση C/C++ projects Full build make Ρυθμίσεις παραμέτρων εγκατάστασης make configure Μεταγλώττιση κώδικα make install Καθαρισμός Project make clean

43 Εγκατάσταση NS-3 Build.py: Python script as well
./build.py --enable-examples --enable-tests Bake ./bake.py build

44 Ρύθμιση παραμέτρων εγκατάστασης

45 NS-3 Compilation

46 NS-3 - Πρώτο Σενάριο

47 Εκτέλεση σεναρίου Τα σενάρια ΠΡΕΠΕΙ να τοποθετούνται στον φάκελο 'scratch' του ns-3 Για την εκτέλεση του πειράματος ./waf --run <file> <file>: Το όνομα του αρχείου, χωρίς την κατάληξη .cc

48 PyViz Ο προκαθορισμένος τρόπος εκτέλεσης δεν έχει γραφικά. Το πρόγραμμα εκτελείται στην κονσόλα και τα μηνύματα και τα γεγονότα εμφανίζονται στον χρήστη με κείμενο. Ωστόσο, υπάρχει και γραφική εκτέλεση με την χρήση του PyViz. Εντολή: ./waf --run <file> --vis

49 PyViz

50 NetAnim Εναλλακτικό εργαλείο για visualization.
Διαθέτει περισσότερες δυνατότητες από το PyViz. Δεν εκτελεί το πείραμα σε πραγματικό χρόνο. Απαιτεί το trace file του πειράματος, το οποίο έχει εκτελεστεί εκ των προτέρων.

51 NetAnim

52 NS-3 - Support https://groups.google.com/forum/#!forum/ns-3-users
Google groups Mailing list Infinite tutorials και blogs

53 Ερωτήσεις; Contact: deltouzos@upatras.gr
Τέλος Παρουσίασης Ερωτήσεις; Contact:


Κατέβασμα ppt "Προσομοίωση Δικτύων 1 - Εισαγωγή"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google