ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1



Σχετικά έγγραφα
Εργαστηριακή Άσκηση 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα: «Δίκτυα Υπολογιστών I»

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I»

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα: Δίκτυα Υπολογιστών I

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 7 ρομολόγηση ιανύσματος Αποστάσεων

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 2

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια

Εργαστήριο Δικτύων. 6 η Διάλεξη: Network Simulator NS

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 6 Δρομολόγηση Διανύσματος Αποστάσεων

Εργαστήριο μαθήματος Δίκτυα Υπολογιστών Ι

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 9 Επαναληπτικά Θέματα στη Μελέτη Πρωτοκόλλων με το NS2

Εργαστηριακή Άσκηση 4

Τί είναι ο Network Simulator-2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 4

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 5

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 6 Επίδοση Τοπικών ικτύων IEEE 802.3

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 4

Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών ΙI»

Δίκτυα Υπολογιστών Εργαστήρια

Ns-allinone. Currently the package contains:

Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler

Επικοινωνιακή Διάταξη Σημείου-προς-Σημείο

Χρόνοι Μετάδοσης και Διάδοσης

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Δίκτυα Ι. Πρόγραμμα Προπτυχιακών Σπουδών Τμήμα Ψηφιακών Συστημάτων. Καθ. Π. Δεμέστιχας Δρ. Κ. Τσαγκάρης Δ. Καρβουνάς

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΣΧΕΔΙΑΣΜΟΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΗ ΧΡΗΣΗ "ΠΡΟΤΥΠΟΥ ΙΣΤΟΣΕΛΙΔΑΣ" (TEMPLATE) ΣΤΟ ΠΡΟΓΡΑΜΜΑ MICROSOFT OFFICE SHAREPOINT DESIGNER 2007

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δίκτυο Άμεσης Σύνδεσης με Έλεγχο Πρόσβασης στο Μέσο


ΣΧΕΔΙΑΣΜΟΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΗ ΧΡΗΣΗ ΠΡΟΤΥΠΟΥ ΙΣΤΟΣΕΛΙΔΑΣ (TEMPLATE) ΣΤΟ ΠΡΟΓΡΑΜΜΑ MICROSOFT OFFICE SHAREPOINT DESIGNER 2007

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. «Μελέτη συστήματος αναμονής M/M/1 με χρήση του Network Simulator-2»

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Δίκτυα Υπολογιστών I Εργαστήρια

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Δίκτυα Υπολογιστών Ι. Εγκατάσταση του Network Simulator-2 σε περιβάλλον Cygwin. Δ. Καρβουνάς, Δρ. Κ. Τσαγκάρης, Καθηγ. Π.

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Οδηγός Εισαγωγή Χρηστών σε LDAP Server με χρήση. LdapAdmin TEMPLATE

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

6. Ethernet. 6.1 Εισαγωγή

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

WORDPRESS. Εικόνα 1. Πατώντας στη «Σύνδεση» γράψτε το Username (όνομα χρήστη) και το Password (συνθηματικό) (εικόνα 2) που σας έδωσε ο διαχειριστής

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

2014 Παρίσης Κ., Καθηγητής

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Οδηγίες Χρήσης της MySQL

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

Αλλαγή προσανατολισμού εγγράφου σε κατακόρυφο ή οριζόντιο, αλλαγή μεγέθους σελίδας

1. Το ηλεκτρικό ρεύμα και τα ηλεκτρικά κυκλώματα

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 5 Επίδοση Τοπικών ικτύων 802.3

Αναπαραγωγή με αρχεία ήχου

Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών. Βαρτζιώτης Φώτης. ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΔΙΚΤΥΩΝ ] Εργαστήριο 2

ΟΔΗΓΙΕΣ ΧΕΙΡΙΣΜΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ DYMO LABEL V.8

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Ο στόχος του εργαστηρίου είναι να παρουσιάσει τις δύο βασικές καταστάσεις λειτουργίας ενός ασύρματου τοπικού δικτύου (ad hoc και υποδομής).

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Tee.

Σελίδα.1/1

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Συστήματα Μικροεπεξεργαστών

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

SAP Οδηγός για τους Υπογράφοντες του DocuSign

Δημιουργία τομής σε εξάρτημα

8. Προσομοίωση Λειτουργίας Ασύρματων Δικτύων Υποδομής

Μεταγωγή Τοπικής Κλίμακας

Οδηγίες για τη Χρήση του Google Drive

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ Η/Υ. Υλοποίηση Γέφυρας με την Χρήση Σημείου Πρόσβασης

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

7. Hubs ή Switches? 7.1 Εισαγωγή

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 WEBPHONE

ΓΕΝΙΚΟ ΝΟΣΟΚΟΜΕΙΟ ΡΟΔΟΥ ΤΜΗΜΑ ΟΡΓΑΝΩΣΗΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΝΟΣΗΛΕΙΑΣ ΑΣΘΕΝΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΚΔΟΣΗ 1.0

SPSS Statistical Package for the Social Sciences

Δίκτυα Υπολογιστών II Εργασία 1 η

Εγκατάσταση του 1992 OpenHome

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

Transcript:

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 1 1. Εισαγωγή στο Network Simulator v2 (NS2) Το NS2 (Network Simulator version 2) είναι ένα πρόγραμμα για προσομοιώσεις δικτύων που διατίθεται δωρεάν. Ο δικτυακός τόπος της ομάδας εξέλιξης του NS είναι http://www.isi.edu/nsnam/ns/. Η ιστοσελίδα αυτή περιέχει βοήθεια σχετικά με το NS καθώς και τον πηγαίο κώδικά του. Οι οδηγίες χρήσεως του NS βρίσκονται στο φάκελο που βρίσκεται το εκτελέσιμο αρχείο του NS και είναι ένα αρχείο pdf με όνομα ns_doc.pdf. Το εκτελέσιμο αρχείο του NS είναι το ns.exe. Άλλα βοηθητικά προγράμματα που θα χρησιμοποιηθούν είναι το Network Animator (nam.exe) και το Xgraph (xgraph.exe). Το πρώτο χρησιμοποιείται για την γραφική απεικόνιση μιας προσομοίωσης ενώ το δεύτερο για τη δημιουργία γραφικών παραστάσεων. Η διάταξη του δικτύου που θέλουμε να προσομοιώσουμε καθώς και όλα τα υπόλοιπα πρέπει να οριστούν σε ένα αρχείο κειμένου. Η γλώσσα που χρησιμοποιείται είναι η Tcl. Μπορείτε να αρχίσετε το NS από ένα παράθυρο εντολών (command prompt) και να τρέξετε τα αρχεία με την εντολή ns αρχείο_tcl υποθέτοντας ότι είσαστε στον κατάλογο (directory) που βρίσκεται το αρχείο και ότι το αρχείο_tcl είναι το όνομα του κειμένου σε γλώσσα Tcl που περιγράφει την προσομοίωση. Τα αποτελέσματα της προσομοίωσης θα είναι είτε αρχεία που προορίζονται για χρήση στο NAM και το όνομά τους θα έχει τη μορφή όνομα_αρχείου.nam είτε αρχεία που προορίζονται για χρήση στο Χgraph (όνομα_αρχείου.tr). Μπορεί επίσης να είναι κείμενο που θα εμφανίζεται στο command prompt και θα δίνει τα αποτελέσματα των ζητούμενων μετρήσεων. Η εικόνα του Σχ. 1 δείχνει τις βασικές λειτουργίες του Network Animator, ενώ η εικόνα του Σχ. 2 δείχνει μια γραφική παράσταση χρησιμοποιώντας το Xgraph. Μπορείτε να σώσετε τις γραφικές παραστάσεις του Xgraph πατώντας Print Screen, ανοίγοντας το Word και κάνοντας Paste την εικόνα. Σχήμα 1 Βασικές λειτουργίες του Network Animator (NAM) 1

Σχήμα 2 Γραφική παράσταση με τη χρήση του Xgraph 2. Το πρώτο Tcl script Γνωριμία με το ΝΑΜ Στην άσκηση αυτή θα γράψετε βήμα προς βήμα ένα Tcl script για NS, το οποίο προσομοιώνει μια απλή τοπολογία δικτύου. Θα μάθετε πώς εγκαθίστανται κόμβοι και ζεύξεις, πώς να στέλνετε δεδομένα από τον ένα κόμβο στον άλλον, πώς να παρακολουθείτε μια ουρά αναμονής και πώς να χρησιμοποιήσετε το NAM (Network Animator) για να αναπαραστήσετε γραφικά την προσομοίωση που κάνετε. 2.1 Πώς να αρχίσετε Μπορείτε να γράψετε τα Tcl scripts με οποιονδήποτε επεξεργαστή κειμένου, όπως το Notepad ή το Word. Για τη δημιουργία του αρχείου Tcl θα πρέπει να δημιουργήσετε πρώτα ένα αρχείο Notepad με κατάληξη *.tcl, όπου θα γράψετε το script σε γλώσσα Tcl, όπως περιγράφεται στη συνέχεια. Έπειτα για να το σώσετε θα πρέπει να κάνετε File Save (όχι Save As). Δηλαδή, αν θέλετε να ονομάσετε το αρχείο exercise1.tcl, πληκτρολογήστε στο Command Prompt notepad exercise1.tcl και πατήστε Enter. Δεν θα μπορέσετε να το μετονομάσετε (Rename) αργότερα. Ξεκινήστε γράφοντας ένα βασικό template, το οποίο μπορείτε να χρησιμοποιείτε για όλα τα αρχικά Tcl scripts. Αρχικά, πρέπει να δημιουργήσετε ένα αντικείμενο (object) προσομοίωσης, το οποίο πραγματοποιείται με την εντολή: set ns [new Simulator] Στη συνέχεια χρειάζεται να δώσετε εντολή να ανοιχτεί ένα αρχείο από το πρόγραμμα για να γραφτούν τα δεδομένα που πρόκειται να χρησιμοποιηθούν για το ΝΑΜ, δηλαδή τα trace data : set nf [open out.nam w] $ns namtrace-all $nf Η πρώτη γραμμή ανοίγει ένα αρχείο με όνομα out.nam για εγγραφή και του προσδίδει το file handle nf'. Στη δεύτερη γραμμή λέμε στο αντικείμενο της προσομοίωσης που δημιουργήθηκε προηγουμένως να γράφει όλα τα δεδομένα που έχουν σχέση με το ΝΑΜ σ αυτό το αρχείο. Το επόμενο βήμα έχει ως στόχο να προσθέσει μια διαδικασία finish η οποία κλείνει το αρχείο δεδομένων trace. 2

proc finish { { global ns nf $ns flush-trace close $nf exit 0 Ο ανωτέρω κώδικας θα σας είναι πιο σαφής αργότερα, αφού τον τρέξετε και δείτε τι κάνει. Η επόμενη γραμμή λέει στο αντικείμενο προσομοίωσης να εκτελέσει τη διαδικασία finish μετά από χρόνο προσομοίωσης 10.0 sec. Το NS σας παρέχει έναν πολύ απλό τρόπο να θέτετε τη σειρά των γεγονότων με την εντολή at. Τέλος, η τελευταία γραμμή κώδικα αρχίζει την προσομοίωση. $ns at 10.0 "finish" $ns run Αφού σώσετε το αρχείο, όπως περιγράφηκε παραπάνω, μπορείτε να το τρέξετε γράφοντας ns exercise1.tcl σε ένα παράθυρο εντολών. Αφού πραγματοποιηθεί η προσομοίωση, θα πρέπει να δημιουργηθεί ένα αρχείο.nam, στην περίπτωσή μας έχει όνομα out.nam, που θα έχει αποθηκευμένα τα δεδομένα της προσομοίωσης που είναι απαραίτητα για την γραφική απεικόνιση της. Αυτή μπορείτε να τη δείτε πληκτρολογώντας την εντολή nam out.nam στο παράθυρο εντολών. Θα πρέπει να ανοίξει ο Network Animator (NAM), αλλά δεν θα δείτε τίποτα παρά μια κενή εικόνα, διότι μέχρι τώρα δεν έχετε ορίζει objects (nodes, links, κλπ.) ή events, δηλαδή δεν υπάρχουν δεδομένα για να προσομοιωθούν. Θα ορίσουμε τα objects στην Eνότητα 2.2 και τα events στην Eνότητα 2.3. Θα πρέπει να χρησιμοποιήσετε τον κώδικα από αυτή την ενότητα ως αρχικό σημείο στις άλλες ενότητες παρακάτω. Σημείωση: Μην κλείνετε τα notepads. Πριν προσομοιώσετε το αρχείο *.tcl πρέπει κάθε φορά να το κάνετε Save. Για να εμφανιστεί ο κέρσορας στο Command Prompt, όταν είναι ανοιχτά το ΝΑΜ ή το Xgraph, πρέπει πρώτα να κλείσετε τα παράθυρά τους. Κλείστε τα μόνο πατώντας το X δεξιά επάνω στην μπάρα του παραθύρου, όχι από το μενού File. 2.2 Δύο κόμβοι και μία ζεύξη Στην ενότητα αυτή, πρόκειται να ορίσετε μια πολύ απλή τοπολογία με δύο κόμβους που συνδέονται με μία ζεύξη. Οι παρακάτω δύο γραμμές ορίζουν τους δύο κόμβους. (Σημείωση: Πρέπει να εισάγετε τον παρακάτω κώδικα πριν από τη γραμμή $ns at 10.0 "finish" ). set n0 [$ns node] set n1 [$ns node] Ένα αντικείμενο νέου κόμβου δημιουργείται με την εντολή $ns node. Ο ανωτέρω κώδικας δημιουργεί δύο κόμβους και τους αντιστοιχεί στα handles n0 and n1. Η επόμενη γραμμή κώδικα ορίζει τη ζεύξη που συνδέει τους δύο κόμβους. $ns duplex-link $n0 $n1 10Mb 10ms DropTail Η γραμμή αυτή λέει στο αντικείμενο της προσομοίωσης να συνδέσει τους κόμβους n0 και n1 με μια αμφίδρομη ζεύξη εύρους ζώνης 10Mbps, καθυστέρησης 10ms και της οποίας η ουρά αναμονής είναι DropTail. Τώρα μπορεί να σώσετε το αρχείο σας, File Save, και να τρέξετε το script πληκτρολογώντας ns exercise1.tcl. Αφού πραγματοποιηθεί η προσομοίωση, θα δημιουργηθεί ένα αρχείο με όνομα out.nam στον φάκελο που βρίσκεστε. Πληκτρολογήστε την εντολή nam out.nam στο παράθυρο εντολών και το ΝΑΜ θα αρχίσει αυτόματα, οπότε και θα πρέπει να δείτε ως έξοδο την εικόνα του Σχ. 3. 3

Σημείωση: Μην κλείνετε τα notepads. Πριν προσομοιώσετε το αρχείο *.tcl πρέπει κάθε φορά να το κάνετε Save. Για να εμφανιστεί ο κέρσορας στο Command Prompt, όταν είναι ανοιχτά το ΝΑΜ ή το Xgraph, πρέπει πρώτα να κλείσετε τα παράθυρά τους. Κλείστε τα μόνο πατώντας το X δεξιά επάνω στην μπάρα του παραθύρου, όχι από το μενού File. Στο τέλος του φυλλαδίου υπάρχει για συμβουλευτικό σκοπό, π.χ. σε περίπτωση λάθους κτλ, μια έκδοση του κώδικα αυτής της Άσκησης. Σχήμα 3 Αναπαράσταση δύο κόμβων και μιας ζεύξης στο NAM 2.3 Αποστολή δεδομένων Το παράδειγμα βέβαια δεν είναι πολύ ικανοποιητικό ακόμα, αφού μπορείτε να δείτε μόνο την τοπολογία χωρίς να συμβαίνει τίποτε άλλο. Έτσι, το επόμενο βήμα είναι να σταλούν δεδομένα από τον κόμβο n0 στον κόμβο n1. Στο NS, τα δεδομένα στέλνονται πάντα από έναν agent σε έναν άλλον. Έτσι, το επόμενο βήμα έχει ως στόχο να δημιουργήσει ένα agent object που στέλνει δεδομένα από τον κόμβο n0, και ένα άλλο agent object που λαμβάνει τα δεδομένα στον κόμβο n1. Ο παρακάτω κώδικας πρέπει να εισαχθεί μετά τις εντολές που βάλατε στην προηγούμενη ενότητα (Ενότητα 2.2). #Δημιουργία ενός UDP agent και «προσάρτησή» του στον κόμβο «n0» set udp0 [new Agent/UDP] $udp0 set packetsize_ 1500 $ns attach-agent $n0 $udp0 #Δημιουργία μιας πηγής κίνησης CBR και «τοποθέτησή» της στο «udp0» set cbr0 [new Application/Traffic/CBR] #Προσδιορισμός της κίνησης για τον κόμβο n0 $cbr0 set packetsize_ 1500 $cbr0 set interval_ 0.01 $cbr0 attach-agent $udp0 Οι γραμμές αυτές δημιουργούν έναν UDP agent και τον προσαρτούν στον κόμβο n0. Στη συνέχεια προσαρτούν μια γεννήτρια κίνησης σταθερού ρυθμού bit (CBR: constant bit rate) στον UDP agent. Το μέγεθος πακέτου, packetsize, τίθεται ίσο προς 1500 bytes και θα στέλνεται ένα πακέτο κάθε 0.01 sec. Μπορείτε να βρείτε σχετικές παραμέτρους για κάθε τύπο agent στο εγχειρίδιο του NS. Η επόμενη γραμμή κώδικα δημιουργεί έναν Sink Agent που δρα ως υποδοχέας της κίνησης και τον προσαρτά στον κόμβο n1. set sink [new Agent/LossMonitor] 4

$ns attach-agent $n1 $sink Οι δύο Agents πρέπει τώρα να συνδεθούν μεταξύ τους. $ns connect $udp0 $sink Στη συνέχεια θα πρέπει να πούμε στον CBR agent πότε να στείλει τα δεδομένα και πότε να σταματήσει. Οι παρακάτω γραμμές κώδικα πρέπει να τεθούν μόλις πριν την γραμμή $ns at 10.0 "finish". $ns at 1 "$cbr0 start" $ns at 9 "$cbr0 stop" Η εξήγηση των παραπάνω γραμμών είναι προφανής. Μπορείτε τώρα να σώσετε το αρχείο και να αρχίσετε πάλι την προσομοίωση. Όταν κάνετε κλικ στο κουμπί play του παραθύρου ΝΑΜ, θα δείτε ότι μετά 1 sec προσομοίωσης, ο κόμβος 0 αρχίζει να στέλνει πακέτα δεδομένων στον κόμβο 1, όπως φαίνεται στην εικόνα του Σχ. 4. Αν θέλετε να κάνετε πιο αργό το ΝΑΜ, χρησιμοποιείστε το Step, δηλαδή την μπάρα πάνω δεξιά. Προτείνουμε, στη συνέχεια, πειραματιστείτε με το ΝΑΜ και το Tcl script. Μπορείτε να κάνετε κλικ σε οποιοδήποτε πακέτο στο παράθυρο ΝΑΜ για να το παρακολουθήσετε, όπως επίσης να κάνετε κλικ απευθείας στη ζεύξη για να λάβετε μερικά στατιστικά. Σχήμα 4 Αναπαράσταση αποστολής κίνησης μεταξύ δύο κόμβων στο NAM 2.4 Ερωτήσεις Ποιος είναι ο ρυθμός μετάδοσης σε bit/sec; Ποιος είναι ο συνολικός αριθμός bytes και bits που μεταφέρθηκαν από την αρχή ως το τέλος της προσομοίωσης; Πόσα bytes υπάρχουν πάνω στη γραμμή ζεύξης κάθε στιγμή; Επιβεβαιώστε την απάντησή σας από το animation. Ποια είναι η απάντησή σας στο προηγούμενο ερώτημα, αν διπλασιαστεί η καθυστέρηση της ζεύξης; Επιβεβαιώστε την απάντησή σας από το animation. Εάν υποθέσουμε ότι σε κάθε πακέτο οι επικεφαλίδες του IP και του UDP μαζί έχουν μήκος 40 byte, ποιος είναι ο καθαρός ρυθμός μετάδοσης των δεδομένων σε bit/sec; Ποιες παράμετροι μπορεί να αλλαχθούν για να μεταβληθεί ο ρυθμός μετάδοσης και με ποιες εντολές επιτυγχάνονται αυτές οι αλλαγές; Αν επιθυμούμε να έχουμε καθαρό ρυθμό μετάδοσης δεδομένων ίσο με 1.2 Mbit/sec, μεταβάλλοντας κάθε φορά μία από τις ανωτέρω παραμέτρους, ποιες τιμές προτείνετε για κάθε μία; Ελέγξτε κάθε φορά αν οι απαντήσεις σας δίνουν ρυθμό μετάδοσης μικρότερο από τη χωρητικότητα της ζεύξης. Για ποιες τιμές των ανωτέρω παραμέτρων θα αρχίσει να παρατηρείται οριακά η απώλεια πακέτων; Επιβεβαιώστε την απάντησή σας τρέχοντας το tcl script και το animation. Σημείωση: Κλείσετε το ΝΑΜ, μόνο πατώντας το X δεξιά επάνω στην μπάρα του παραθύρου! 5

3. Μελέτη απλής τοπολογίας με το Xgraph Στην άσκηση αυτή θα χρησιμοποιήσετε το Xgraph για να δημιουργήσετε γραφικές παραστάσεις της κίνησης στο δίκτυο που ήδη μελετάτε. Οι παρακάτω εντολές θα πρέπει να προστεθούν στην αρχή του script, κάτω από την εντολή $ns namtrace-all $nf. Θα πρέπει κατ αρχήν να δημιουργηθεί ένα αρχείο όπου θα καταχωρηθούν όλα τα δεδομένα της προσομοίωσης σχετικά με το Xgraph : set f [open out.tr w] Επίσης χρειαζόμαστε μια διαδικασία (procedure) καταγραφής των δεδομένων της κίνησης: proc record { { global sink f set ns [Simulator instance] #Ορισμός της ώρας που η διαδικασία θα ξανακληθεί. set time 0.1 #Καταγραφή των bytes. set bw [$sink set bytes_] #Λήψη της τρέχουσας ώρας set now [$ns now] #Υπολογισμός του bandwidth και καταγραφή αυτού στο αρχείο puts $f "$now [expr (($bw/$time)*8)/1000000)]" #Κάνει την τιμή bytes_ 0 $sink set bytes_ 0 #Επαναπρογραμματισμός της διαδικασίας $ns at [expr $now+$time] "record" Επιπλέον, τροποποιήστε τις εντολές διαδικασίας κλεισίματος των αρχείων, ώστε να συμπεριλάβετε το κλείσιμο του ανοιχτού αρχείου για το Xgraph ως εξής: proc finish { { global ns nf f $ns flush-trace close $nf close $f exit 0 Τέλος, η επόμενη γραμμή κώδικα καλεί την διαδικασία καταγραφής της κίνησης και πρέπει να είναι η πρώτη από τις εντολές καθορισμού των γεγονότων (events). $ns at 0.0 "record" Αφού γράψετε τα παραπάνω, μπορείτε να τα σώσετε είτε στο ίδιο αρχείο είτε να ανοίξετε άλλο αρχείο με όνομα π.χ. exercise2.tcl, με τη διαδικασία που περιγράφηκε στην Ενότητα 2.1, και να σώσετε το script εκεί. Έπειτα για να το προσομοιώσετε, ανοίξτε ένα Command Prompt και πληκτρολογήστε ns exercise2.tcl ή όποιο άλλο όνομα έχετε δώσει στο αρχείο. Για να δείτε τα αποτελέσματα της προσομοίωσης σε γραφική παράσταση, πληκτρολογήστε xgraph out.tr. 6

3.1 Ερωτήσεις Μεταβάλλοντας την τιμή του μήκους του πακέτου διαπιστώστε και σχολιάστε πώς μεταβάλλεται η γραφική παράσταση της μεταφερόμενης κίνησης. Διατηρώντας σταθερό το μήκος πακέτου, μεταβάλλετε τον ρυθμό μετάδοσης. Τι παρατηρείτε στη γραφική παράσταση της μεταφερόμενης κίνησης και πώς το ερμηνεύετε; Αυξήστε την καθυστέρηση της γραμμής σύνδεσης των δυο κόμβων σε 0.5 δευτερόλεπτα. Τι παρατηρείτε στην γραφική παράσταση της μεταφερόμενης κίνησης; Επαναφέρετε την καθυστέρηση στην αρχική τιμή. Πώς επηρεάζει τη γραφική παράσταση ο χρόνος που επαναλαμβάνεται η διαδικασία record. Προτείνετε έναν κατάλληλο χρόνο για να επιτύχετε μια γραφική παράσταση στιγμιαίας κίνησης και μια μέσης. Η κίνηση μεταξύ των δυο κόμβων είναι σταθερής ροής (CBR). Αλλάξτε την κίνηση σε εκθετική θέτοντας Exponential όπου υπάρχει CBR. Εξηγήστε τη γραφική παράσταση της κίνησης. Για να βγάλετε σωστά συμπεράσματα, θα πρέπει να αυξήσετε τον χρόνο αποστολής της κίνησης, και φυσικά της προσομοίωσης, τουλάχιστον σε 15 δευτερόλεπτα και να ξανατρέξετε το script. Σημείωση: Μπορείτε να σώσετε τις γραφικές παραστάσεις πατώντας Print Screen. Ύστερα ανοίξτε το Word και κάντε Paste την εικόνα. Για συμβουλευτικούς λόγους καθώς και για επαλήθευση και διόρθωση τυχόν λαθών, ο κώδικας υπάρχει ολοκληρωμένος στο τέλος της άσκησης. Στο επόμενο εργαστήριο θα πρέπει να παραδώσετε μια αναφορά με απαντήσεις και σχόλια σχετικά με τις ερωτήσεις αυτής της Άσκησης. 7

set ns [new Simulator] Ολοκληρωμένος κώδικας για την Εργαστηριακή Άσκηση 1 # αρχείο γραφικής αναπαράστασης προσομοίωσης (NAM) set nf [open out.nam w] $ns namtrace-all $nf # αρχείο καταγραφής κίνησης set xf [open out.tr w] # διαδικασία καταγραφής proc record { { global sink xf set ns [Simulator instance] set time 0.1 set bw [$sink set bytes_] set now [$ns now] puts $xf "$now [expr ((($bw/$time)*8)/1000000)]" $sink set bytes_ 0 $ns at [expr $now+$time] "record" # διαδικασία τερματισμού proc finish { { global ns nf xf $ns flush-trace close $nf close $xf exit 0 set n0 [$ns node] set n1 [$ns node] $ns duplex-link $n0 $n1 10Mb 10ms DropTail set agent0 [new Agent/UDP] $agent0 set packetsize_ 1500 $ns attach-agent $n0 $agent0 set traffic0 [new Application/Traffic/CBR] $traffic0 set packetsize_ 1500 $traffic0 set interval_ 0.01 $traffic0 attach-agent $agent0 set sink [new Agent/LossMonitor] $ns attach-agent $n1 $sink $ns connect $agent0 $sink 8

$ns at 0.0 "record" $ns at 1.0 "$traffic0 start" $ns at 9.0 "$traffic0 stop" $ns at 10.0 "finish" $ns run 9