«ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΠΡΩΤΟΚΟΛΛΟΥ ΔΙΑΔΙΚΤΥΟΥ ΣΤΙΣ ΔΙΑΣΤΗΜΙΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "«ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΠΡΩΤΟΚΟΛΛΟΥ ΔΙΑΔΙΚΤΥΟΥ ΣΤΙΣ ΔΙΑΣΤΗΜΙΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ»"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΣΟΥΦΡΙΛΑ Α. ΠΑΝΑΓΙΩΤΗ Αριθμός Μητρώου: 6373 «ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΠΡΩΤΟΚΟΛΛΟΥ ΔΙΑΔΙΚΤΥΟΥ ΣΤΙΣ ΔΙΑΣΤΗΜΙΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ» Επιβλέπων: Δ. ΣΕΡΠΑΝΟΣ Αριθμός Διπλωματικής Εργασίας: ΠΑΤΡΑ-ΟΚΤΩΒΡΙΟΣ

2 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΠΡΩΤΟΚΟΛΛΟΥ ΔΙΑΔΙΚΤΥΟΥ ΣΤΙΣ ΔΙΑΣΤΗΜΙΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΣΟΥΦΡΙΛΑ Α. ΠΑΝΑΓΙΩΤΗ Αριθμός Μητρώου:6373 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Ο Διευθυντής του τομέα Δ. Σερπάνος Ε.Χούσος Καθηγητής Καθηγητής 2

3 Αριθμός Διπλωματικής Εργασίας: Θέμα: «ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΠΡΩΤΟΚΟΛΛΟΥ ΔΙΑΔΙΚΤΥΟΥ ΣΤΙΣ ΔΙΑΣΤΗΜΙΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ» Φοιτητής: Σουφρίλας Α.Παναγιώτης (Α.Μ 6373) Περίληψη Στην παρούσα διπλωματική εργασία παρουσιάζεται μια νέα αρχιτεκτονική δικτύων που ονομάζεται DTN,για δίκτυα τα οποία αντιμετωπίζουν δυσκολίες στην επικοινωνία και στη συνδεσιμότητα των κόμβων τους. Τα δίκτυα αυτά αντιμετωπίζουν τέτοιες δυσκολίες λόγω του δυσμενoύς περιβάλλοντος στο οποίο βρίσκονται,όπως για παράδειγμα ένα δίκτυο στο διάστημα. Έτσι προχωρήσαμε στο σχεδιασμό ενός δικού μας DTN δικτύου που ονομάζεται planet-ece επιλέγοντας την DTN2 υλοποίηση του πρωτοκόλλoυ bundle για τους κόμβους μας καθώς είναι ιδανικότερη για όποιον θέλει να πειραματιστεί. Η ανάπτυξη αυτού του δικτύου έγινε με σκοπό να ερευνηθούν θέματα όπως της διαχείρισης ενός τέτοιου δικτύου (network management) και της ασφάλειας του (security).βασιζόμενοι τώρα στο εγκατεστημένο πια DTN δίκτυό μας planet-ece και αφού έχει ελεγχθεί η σωστή του λειτουργία, το επόμενο βήμα ήταν να υλοποιηθεί ένας μηχανισμός παρακολούθησης (moniroting), ο οποίος θα μας επιτρέπει να εποπτεύουμε την κατάσταση του δικτύου και της ανταλλασόμενης κίνησης σε επίπεδο DTN. Έπειτα προχωρήσαμε στην υλοποίηση ενός συστήματος παρακολούθησης έξυπνων καμερών μέσω του DTN δικτύου μας planet-ece. Σε αυτή την υλοποίηση λοιπόν, αξιολογούμε την ασφάλεια και τη συμπεριφορά του συστήματος, εστιάζοντας στην επικοινωνία μέσω του δικτύου DTN με σκοπό να εκτιμήσουμε πώς συμπεριφέρεται ένα τέτοιο δίκτυο σε διάφορες πιθανές καταστάσεις, από γεγονότα και δικτυακή διαθεσιμότητα, με ή χωρίς ασφάλεια και σε σύγκριση με υπάρχουσες μεθόδους επικοινωνίας. Abstract This thesis presents a new network architecture called DTN, for networks with difficulties in communication and connectivity. These networks are facing such difficulties due to extreme environmental surroundings, such as a network in space. So we proceeded to design our own DTN network called planet-ece selecting DTN2 implementation of Bundle Protocol for our nodes because is ideal for anyone who wants to experiment. The development of this network was designed to investigate issues such as management of such a network and security. Based now to our installed DTN network named planet-ece and after having verified the correct function, the next step was to implement a monitoring mechanism, which will allow us to monitor the network status and traffic in a DTN level. Then we proceeded to implement a secure DTN-based smart camera surveillance system through our DTN network planet-ece. In this implementation, therefore, we evaluate the safety and behavior of the system, focusing on communication via the DTN network in order to appreciate how such a system behaves in different possible situations, events and network availability, with or without security and in comparison with existing methods of communication. 3

4 ΠΕΡΙΕΧΟΜΕΝΑ...4 ΚΕΦΑΛΑΙΟ 1 : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΔΙΚΤΥΩΝ ΑΝΕΚΤΩΝ ΣΕ ΚΑΘΥΣΤΕΡΗΣΕΙΣ Κόμβοι και τερματικά σημεία Ανταλλαγή μηνυμάτων χρησιμοποιώντας λειτουργία Store-and -Forward Late binding Anycast and Multicast Κατηγορίες προτεραιότητας Επιλογές μεταφοράς Administrative records Δρομολόγηση και προώθηση Τύποι συνδέσεων Χρονοσφραγίδες και χρονικός συγχρονισμός DTN gateways...16 ΚΕΦΑΛΑΙΟ 2 : BUNDLE PROTOCOL SPECIFICATION Αρχιτεκτονική υλοποίησης κόμβων bundle Bundle Format Επεξεργασία των Bundles Administrative Records Δημιουργία των Administrative Records Reception of Custody Signals...36 ΚΕΦΑΛΑΙΟ 3 : ΑΣΦΑΛΕΙΑ ΔΙΚΤΥΩΝ DTN Bundle Security Protocol Specification Security Blocks Parameters and Result Fields Security Processing Canonicalization of Bundles Bundles Received from Other Nodes Bundle Fragmentation and Reassembly Attack Models Mandatory Ciphersuites Key management...49 ΚΕΦΑΛΑΙΟ 4 : ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΕΝΟΣ DTN ΔΙΚΤΥΟΥ Ανάλυση του DTN δικτύου PLANET-ECE Ανταλλαγή εσωτερικής κίνησης Ανταλλαγή εξωτερικής κίνησης Επικοινωνία με διακοπές...57 ΚΕΦΑΛΑΙΟ 5 : ΕΠΟΠΤΕΙΑ ΕΝΟΣ DTN ΔΙΚΤΥΟΥ Μέθοδος υλοποίησης εποπτικού μηχανισμού Ανάλυση των scripts συγκέντρωσης παραμέτρων του δικτύου Απεικόνιση παραμέτρων δικτύου DTN Ανάλυση των αποτελεσμάτων

5 ΚΕΦΑΛΑΙΟ 6 : ΑΣΦΑΛΕΙΑ ΣΤΗΝ ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ DTN ΔΙΚΤΥΟY ΜΕ ΣΥΣΤΗΜΑ ΕΞΥΠΝΩΝ ΚΑΜΕΡΩΝ Αρχιτεκτονική του συστήματος Χαρακτηριστικά smart cameras Υλοποίηση συστήματος και ασφάλεια Πειραματική διαδικασία Παράμετροι και Μετρήσεις Ανάλυση των αποτελεσμάτων...88 ΚΕΦΑΛΑΙΟ 7 : ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ...90 ΒΙΒΛΙΟΓΡΑΦΙΑ

6 ΚΕΦΑΛΑΙΟ 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΔΙΚΤΥΩΝ ΑΝΕΚΤΩΝ ΣΕ ΚΑΘΥΣΤΕΡΗΣΕΙΣ Το υπάρχον μοντέλο TCP/IP στο οποίο βασίζεται το Internet παρέχει end-to-end επικοινωνία, δηλαδή οι κόμβοι ενός δικτύου μπορούν να στέλνουν πακέτα σε οποιονδήποτε άλλον κόμβο στο δίκτυο χωρίς να χρειάζεται οι ενδιάμεσοι κόμβοι του δικτύου να κρατούν πληροφορίες για την κατάσταση της μετάδοσης. Το Internet Protocol (IP) είναι υπεύθυνο για τη δρομολόγηση πακέτων (datagrams) απο την πηγή των δεδομένων (end) στον προορισμό τους (to end) διαμέσου ενός ή περισσοτέρων IP δικτύων.το Transfer Control Protocol (ΤCP) είναι υπεύθυνο για την ανίχνευση λαθών, επαναμετάδοση, ελεγχο συμφόρησης και έλεγχο ροής των δεδομένων. Οπότε οι δρομολογητές (routers) του δικτύου χρειάζεται να υποστηρίζουν μόνο το IP. Έτσι μόνο τα endpoints του δικτύου πρέπει να υποστηρίζουν το TCP [23]. Αυτό το μοντέλο όμως βασίζεται σε κάποιες παραδοχές που γίνονται προκειμένου να επιτευχθεί αυτή η επικοινωνία, οι οποίες είναι: 1)Υπάρχει ενα end-to-end μονοπάτι μεταξυ της πηγής των δεδομένων και του προορισμού. 2)Ο χρόνος για το round-trip (χρόνος για την αποστολή ενός πακέτου και αποστολής επιβεβαίωσης ότι αυτό το πακέτο παραλήφθηκε) μεταξύ κάθε ζεύγους κόμβων δεν είναι μεγάλος. 3)Η πιθανότητα απόρριψης του πακέτου είναι μικρή. 4)Όλοι οι τερματικοί σταθμοί του δικτύου υποστηρίζουν το TCP/IP και όλοι οι δρομολογητές το IP. 5)Η επιλογή ενός και μόνο μονοπατιού end-to-end είναι επαρκής για να διασφαλίσει επικοινωνία. 6)Οι μηχανισμοί ασφάλειας των τερματικών σταθμών είναι επαρκείς για την αντιμετώπιση τέτοιων προβλημάτων. Εάν όμως χρειαζόμαστε δίκτυο σε μη συνηθισμένα περιβάλλοντα, όπου επικρατούν συνθήκες, στις οποίες οι παραπάνω παραδοχές είναι εξαιρετικά δύσκολο ή και αδύνατο να υπάρχουν, τότε το μοντέλο ΤCP/IP δεν μπορεί να εξυπηρετήσει τις ανάγκες ενός τέτοιου δικτύου. Μερικά παραδείγματα τέτοιων δικτύων αναφέρονται παρακάτω: Επίγεια κινητά δίκτυα (Terrestrial Mobile Networks): Μερικά από αυτά τα δίκτυα μπορεί να παρουσιάζουν διακοπές στην επικοινωνία λόγω της κινητικότητας των κόμβων ή αλλαγές στην ισχύ του σήματος (π.χ παρεμβολές στη ραδιοσυχνότητα), ενώ σε άλλα τέτοιου είδους δίκτυα οι διακοπές μπορεί να είναι περιοδικές, οπότε και προβλέψιμες. Έτσι ένας κόμβος που κινείται σε ένα τέτοιο περιβάλλον θα πρέπει να έχει τη δυνατότητα να αποθηκεύει τα μηνύματα που δέχεται έτσι ώστε να μπορεί να τα προωθήσει εάν χρειάζεται σε άλλους κόμβους, μόλις το επιτρέψουν οι συνθήκες (π.χ βρεθεί εντός εμβέλειας για να επικοινωνήσει με μακρινούς κόμβους μέσω ραδιοσυχνοτήτων). 6

7 Εξωτικά δίκτυα (Exotic Media Networks):H κατηγορία αυτή περιλαμβάνει τις δορυφορικές επικοινωνίες, τις ραδιοφωνικές ή οπτικές ζεύξεις μεγάλων αποστάσεων (π.χ διαστημικές επικοινωνίες) και ακουστικές ζέυξεις στον αέρα ή στο νερό. Τα χαρακτηριστικά αυτών των δικτυακών συστημάτων μπορεί να είναι, οι μεγάλες καθυστερήσεις στην επικοινωνία, η περιοδική διακοπή της (π.χ λόγω πλανητικών τροχιών (διαστημικές επικοινωνίες), περάσματος ενός πλοίου (ζέυξεις στο νερό) ). Eπίσης λόγω περιβαλλοντικών συνθηκών (π.χ καιρός) μπορεί να υπάρχουν απεριοδικές διακοπές. Στρατιωτικά ad-hoc δίκτυα (Military ad-hoc networks): Eίναι κατηγορία των κινητών δικτύων,πρέπει να αλλάζουν συχνά τις ζεύξεις τους με συσκευές του δικτύου, με επιπρόσθετες δυσκολίες όμως διότι λειτουργούν και κάτω από αντίξοες συνθήκες, όπως αυτές ενός πολέμου. Χρειάζεται επίσης να είναι ιδιαίτερα ασφαλής η επικοινωνία μεταξύ των κόμβων του. Δίκτυα αισθητήρων/ενεργοποιητών (Sensor/Actuator Networks):Αυτά τα δίκτυα χαρακτηρίζονται από περιορισμένες δυνατότητες των τερματικών τους κόμβων (end nodes), όπως περιορισμένη ενέργεια,μνήμη,δυνατότητα επεξεργασίας δεδομένων. Όπως είδαμε και πιο πάνω από τα παραδείγματα, τα δίκτυα αυτά έχουν αρκετές ιδιαιτερότητες και δεν μπορούν να εξυπηρετήσουν τις ανάγκες τους με το υπάρχον μοντέλο του Internet. Χαρακτηρίζονται από καθυστερήσεις, περιορισμένο εύρος ζώνης, μεγάλη πιθανότητα λάθους,διακοπές επικοινωνίας μεταξύ των κόμβων,όχι σταθερά και μόνιμα μονοπάτια. Έτσι για να αντιμετωπιστούν αυτά τα προβλήματα προτείνεται μια αρχιτεκτονική για δίκτυα ανεκτικά σε καθυστερήσεις και διακοπές (delay-disruption tolerant networks-dtn),[1],[2]. Αυτή η αρχιτεκτονική λειτουργεί επάνω απο τις υπάρχουσες στοίβες πρωτοκόλλων των δικτύων και συγκεκριμένα επάνω απο τα πρωτόκολλα μεταφοράς (overlay architecture).αποτελεί εξέλιξη αυτής που είχε αρχικά σχεδιαστεί για το διαπλανητικό διαδίκτυο, ένα σύστημα δηλαδή που οραματίζεται να παρέχει υπηρεσίες σαν αυτές του επίγειου διαδικτύου στο διάστημα, ώστε να βοηθήσει στην εξερεύνησή του. Αντιμετωπίζει τις προκλήσεις των δικτύων που υποφέρουν από διακοπές στις συνδέσεις, από μεγάλες καθυστερήσεις όπως το διαδίκτυο στο διάστημα. Επίσης αντιμετωπίζει το πρόβλημα διαλειτουργικότητας μεταξύ δικτύων που υποστηρίζουν διαφορετικές στοίβες πρωτοκόλλων. Οι αρχές στις όποιες βασίζεται αυτή η αρχιτεκτονική έιναι συνοπτικά: Χρησιμοποίηση μηνυματων αυθαίρετου μεγέθους (συνήθως μεγάλα μηνύματα) που ονομάζονται bundles, ώστε να ενισχυθεί η ικανότητα του δικτύου να προγραμματίζει και να παίρνει σωστές αποφάσεις για την επιλογή της διαδρομής. Χρησιμοποίηση τέτοιου συντακτικού που υποστηρίζει ευρύ φάσμα ονοματοδοσίας και διευθυνσιοδότησης ώστε να ενισχυθεί η διαλειτουργικότητα μεταξύ διαφορετικών δικτύων,δηλαδή δικτύων που υποστηρίζουν ανόμοιες στοίβες πρωτοκόλλων. Χρήση αποθηκευτικού χώρου εντός του δικτύου για να υποστηριχθεί η λειτουργία αποθήκευσης των μηνυμάτων (store and forward) και έπειτα η διανομή τους μέσω πολλαπλών 7

8 διαδρομών. Έτσι δεν χρειάζεται να υπάρχει ένα end-to-end μονοπάτι. Παροχή μηχανισμών ασφάλειας με όσο γίνεται ταχύτερη απόρριψη της κίνησης. Παροχή μηχανισμών για επιλογές μεταφοράς και δήλωσης του χρόνου ζωής της μεταφερούμενης πληροφορίας,ώστε να γίνεται η κατα το δυνατόν καλύτερη μεταφορά της. Οι εφαρμογές θα πρέπει να ανταλλάσουν ελάχιστα round-trip μηνύματα. Οι εφαρμογές θα πρέπει να αντιμετωπίζουν τις επανεκκινήσεις και τις αποτυχίες ενώ υπάρχουν στο δίκτυο εκκρεμείς συναλλαγές. Οι εφαρμογές θα πρέπει να ενημερώνουν το δίκτυο για το χρόνο ζωής και τη σημαντικότητα της πληροφορίας η οποία είναι για μεταφορά. Βασισμένοι τώρα σε αυτές τις αρχές θα περιγράψουμε αναλυτικότερα την αρχιτεκτονική των DTN δικτύων. 1.1 Κόμβοι και τερματικά σημεία Ένα DTN [1],[2], δίκτυο αποτελείται από κόμβους (nodes) και τερματικά σημεία (endpoints). Τα τερματικά σημεία μπορεί να αποτελούνται και από πολλούς DTN κόμβους. Κάθε τερματικό σημείο και κάθε ένας κόμβος έχει μία ταυτότητα που πρέπει να έιναι μοναδική και ονομάζεται EID (Endpoint Identifier). Κάθε EID εκφράζεται συντακτικά ως URI (Uniform Resource Identifier) δηλαδή μια ακολουθία χαρακτήρων που χρησιμοποιείται για ονοματοδοσία και διευθυνσιοδότηση. Κάθε URI ενός EID ξεκινά με έναν συνδυασμό χαρακτήρων που εκφράζουν μια γενική οντότητα (Scheme name) και αυτό το μέρος αποτελεί το SSP (scheme specific part). Η γενική αυτή οντότητα αποτελεί την έννοια της περιοχής (region)-μια βασική έννοια της αρχιτεκτονικής DTN- που μέσα σε αυτή βρίσκονται κόμβοι και τερματικά σημεία. Έτσι ένα δίκτυο αποτελεί μια περιοχή (region) και διαφορετικά δίκτυα αποτελούν διαφορετικές περιοχές. 1.2 Ανταλλαγή μηνυμάτων χρησιμοποιώντας λειτουργία Store-and -Forward Έστω ότι έχουμε ενεργούς κόμβους DTN οι οποίοι τρέχουν DTN εφαρμογές. Όταν μια τέτοια εφαρμογή στέλνει μηνύματα αυθαιρέτου μεγέθους (ADU-Application data unit) αυτά μετατρέπονται από το επίπεδο bundle, που λειτουργεί πάνω από το επίπεδο μεταφοράς στη στοίβα πρωτοκόλλων, σε ένα ή περισσότερα πακέτα πληροφορίας που ονομάζονται bundles, τα οποία και προωθούνται από τους DTN κόμβους. Τα bundles περιέχουν δύο ή περισσότερα μπλοκ πληροφορίας που το καθένα περιέχει είτε 8

9 πληροφορίες της εφαρμογής (application data) είτε πληροφορίες που χρησιμοποιούνται ωστε τα πακέτα αυτά να φθάσουν στον προορισμό τους. Επίσης τα πακέτα αυτά (bundles) μπορούν να διαχωρίζονται σε περισσότερα κατα τη διάρκεια της μεταφοράς τους τα οποία είναι και αυτά bundles και μπορουν να συνενώνονται οπουδήποτε στο δίκτυο δημιουργώντας ένα νέο bundle. Ο προορισμός και η πηγή των πακέτων περιέχονται στα bundles και ταυτοποιούνται όπως είδαμε πιο πάνω από τα ΕID, τα οποία δείχνουν τον αυθεντικό κόμβο-πηγή της πληροφορίας και τον τελικό προορισμό αυτής που μπορεί να έιναι ένας ή περισσότεροι DTN κόμβοι. Στα IP δίκτυα που βασίζονται στη λειτουργία store-and-forward γίνεται η παραδοχή ότι η «αποθήκευση» δεν θα συνεχιστεί για περισσότερο από ένα μέτριο χρονικά διάστημα, δίαστημα δηλαδή σχετικό με την αναμονή εξυπηρέτησης και μεταφοράς των πακέτων από τον κόμβο. Αντίθετα, η αρχιτεκτονική DTN δεν αναμένει ότι οι συνδέσεις δικτύου είναι πάντοτε διαθέσιμες ή αξιόπιστες, και έτσι αναμένει ότι οι κόμβοι μπορούν να επιλέξουν να αποθηκεύουν τα πακέτα για κάποιο χρονικό διάστημα. Αναμένουμε ότι οι περισσότεροι DTN κόμβοι θα χρησιμοποιήσουν κάποια μορφή μόνιμης αποθήκευσης για αυτό το σκοπό- δίσκος, flash μνήμη, κλπ. - και ότι τα αποθηκευμένα bundles θα επιβιώσoυν σε τυχόν επανεκκίνηση του συστήματος. Τα πακέτα επίσης περιέχουν μια χρονοσφραγίδα (timestamp), έναν δείκτη δηλαδή "ζωής" του πακέτου (TTL), έναν προσδιοριστή υπηρεσίας, και ένα μήκος. Αυτές οι πληροφορίες παρέχουν μια εκ των προτέρων γνώση για το μέγεθος και τις απαιτήσεις των μεταφερούμενων πληροφοριών. Όταν υπάρχει ένα σημαντικό ποσό από ουρές δεδομένων, που μπορούν να εμφανιστούν στο δίκτυο,το πλεονέκτημα γνωρίζοντας τις πληροφορίες αυτές είναι σημαντικό για τον προγραμματισμό και την απόφαση επιλογής διαδρομής για τη μεταφορά της πληροφορίας. Έτσι συμπερασματικά βλέπουμε ότι η αρχιτεκτονική DTN έχει ως βασική την ιδέα ότι τα πακέτα προς μεταφορά (bundles) μπορούν να αποθηκευθούν σε κόμβους στο δίκτυο κατά τη μεταφορά τους, και να περιμένουν στην ουρά εξυπηρέτησης, μέχρι να βρεθεί ευκαιρία επικοινωνίας με άλλους κόμβους, προκειμένου να προωθηθούν. Για να γίνει όμως κάτι τέτοιο υπάρχουν κάποιες προυποθέσεις που αφορούν το δίκτυο, όπως: Υπάρχει αποθηκευτικός χώρος και είναι καλά κατανεμημένος στο δίκτυο. Η αποθήκευση είναι τέτοια ώστε να μπορεί να κρατήσει τα πακέτα μέχρι αυτά να μπορούν να διαβιβαστούν περαιτέρω. Αυτό το μοντέλο προώθησης (store and forward) συμφέρει από το να γίνονται συνεχείς προσπάθειες σύνδεσης από τους κόμβους. Τέλος πρέπει να τονιστεί ότι η μακροχρόνια αποθήκευση ως βασική πτυχή της αρχιτεκτονικής DTN, αναδεικνύει νέα προβλήματα όπως τη διαχείριση της συμφόρησης των δεδομένων και την ασφάλειά τους και μεγάλο μέρος της έρευνας στρέφεται πλέον επάνω σε αυτούς τους τομείς. 9

10 1.3 Late binding Αντιστοίχιση (binding) σημαίνει ερμηνεία του SSP ενός EID,δηλαδή αντιστοίχιση του ονόματος προορισμού ενός bundle σε διεύθυνση, έτσι ώστε να μεταφερθεί ένα μήνυμα προς έναν προορισμό. "Late binding" σημαίνει ότι η αντιστοίχιση του προορισμού ενός bundle σε ένα συγκεκριμένο σύνολο ή διευθύνσεις δεν είναι απαραίτητο ότι συμβαίνει στη πηγή του bundle. Επειδή ο προορισμός ΕΙD ερμηνεύεται σε κάθε hop, η αντιστοίχιση μπορεί να συμβεί στην πηγή, κατά τη διάρκεια της διαμετακόμισης, ή ενδεχομένως, στον προορισμό του bundle. Αυτό έρχεται σε αντίθεση με την nameto-address αντιστοίχιση των επικοινωνιών στο Διαδίκτυο όπου μια αναζήτηση DNS στην πηγή καθορίζει τη διεύθυνση IP του κόμβου προορισμού πριν σταλούν τα δεδομένα. Ένα τέτοιο γεγονός θα μπορούσε να θεωρηθεί early binding γιατί η μετάφραση του ονόματος σε διεύθυνση γίνεται πριν τα δεδομένα αποσταλλούν στο δίκτυο. 1.4 Anycast and Multicast Όπως προαναφέρθηκε, η EID μπορεί να αναφέρεται σε ένα τελικό σημείο που περιέχει έναν ή περισσότερους κόμβους DTN. Όταν γίνεται αναφορά σε μια ομάδα μεγέθους μεγαλύτερου του ενός κόμβου, η παράδοση μπορεί να είναι είτε anycast είται multicast. Για την anycast παράδοση, ένα bundle παραδίδεται σε έναν κόμβο ανάμεσα σε μια ομάδα πολλών κόμβων, ενώ για την multicast παράδοση παραδίδεται σε όλους αυτούς. Σε σχετικά δίκτυα χαμηλής καθυστέρησης, όπως το Διαδίκτυο, οι κόμβοι μπορούν να θεωρηθούν ως μέρος της ομάδας εάν έχουν εκφράσει ενδιαφέρον να γίνουν μέλη της «πρόσφατα». Ωστόσο σε μια ομάδα DTN, οι κόμβοι μπορεί να επιθυμούν να λαμβάνουν δεδομένα που αποστέλλονται σε μια ομάδα νωρίτερα από ό, τι όταν είναι πράγματι σε θέση να τα λάβουν. Πιο συγκεκριμένα, έστω ότι μια εφαρμογή εκφράζει την επιθυμία του να λαμβάνει δεδομένα που στελνονται στο EID htg στο χρόνο t. Πριν από αυτό, κατά το διάστημα [t0, t1], t> t 1, τα δεδομένα μπορεί να έχουν προκύψει για την ομάδα htg. Έτσι για να ληφθούν οποιαδήποτε από αυτά τα δεδομένα, πρέπει να έιναι διαθέσιμα για κάποιο χρονικό διάστημα ύστερα από τη διακοπή της αποστολής τους στην ομάδα. Έτσι, τα δεδομένα ενδέχεται να πρέπει να αποθηκεύονται μέσα στο δίκτυο προκειμένου να υποστηριχθεί αυτή η λειτουργία. 1.5 Κατηγορίες προτεραιότητας Η αρχιτεκτονική DTN έχει κατηγορίες προτεραιότητας για την παράδοση ADUs (Application Data Units). Οι προτεραιότητες αυτές που βρίσκονται μέσα στα bundle πακέτα διαφοροποιούν την κυκλοφορία με βάση την επιθυμία μιας εφαρμογής και επηρεάζουν την παράδοση των πακέτων. Έχουμε τρεις σχετικές κατηγορίες προτεραιότητας που συνεπάγεται συνήθως και κάποιος προγραμματισμός προτεραιότητας μεταξύ των bundles που περιλαμβάνονται στην ουρά του αποστολέα.αυτές είναι: 10

11 Μαζική-bulk Τα bundles αυτής της κατηγορίας θα πρέπει να αποσταλούν εφ' όσον όλα τα πακέτα των άλλων κατηγοριών για τον ίδιο προορισμό και που προέρχονται από την ίδια πηγή, έχουν αποσταλεί. Κανονική-normal Τα bundles αυτής της κατηγορίας αποστέλονται πριν από τα bulk bundles. Ταχεία-expedited Τα bundles αυτής της κατηγορίας αποστέλλονται πριν από όλες τις άλλες κατηγορίες προτεραιότητας. Οι εφαρμογές προσδιορίζουν τις κατηγορίες προτεραιότητας και τη διάρκεια ζωής των δεδομένων που στέλνουν. Οι πληροφορίες αυτές, σε συνδυασμό τον τρόπο επιλογής της προώθησης των μηνυμάτων από τους DTN κόμβους,και τους αλγόριθμους δρομολόγησης που είναι σε χρήση, επηρεάζουν τη γενικότερη συμπεριφορά της παράδοσης των ADU. Η κατηγορία προτεραιότητας ενός bundle ισχύει μόνο ανάμεσα σε bundles από την ίδια πηγή. Αυτό σημαίνει ότι ένα πακέτο με μεγάλη προτεραιότητα από μία πηγή δεν μπορεί να παραδοθεί πιο γρήγορα σε σχέση με ένα πακέτο μέσης προτεραιότητας, από μια διαφορετική πηγή. Αυτό σημαίνει ότι ένα πακέτο υψηλής προτεραιότητας από μια πηγή θα μετατρέπεται κατά προτίμηση σε πακέτο χαμηλότερης προτεραιότητας. Ανάλογα με την πολιτική προώθησης και προγραμματισμού ενός συγκεκριμένου κόμβου DTN, η προτεραιότητα μπορεί να ισχύει ή όχι. Έτσι, σε ορισμένους κόμβους DTN, bundles με υψηλή προτεραιότητα μπορεί πάντοτε να αποστέλλoνται εκ των προτέρων πριν από κάθε bulk bundles, ανεξάρτητα από την πηγή. 1.6 Επιλογές μεταφοράς Οι εφαρμογές όταν στέλνουν ένα πακέτο έχουν τη δυνατότητα επιλογής ανάμεσα σε 8 τρόπους μεταφοράς. Οι επιλογές αυτές μεταφέρονται σε κάθε bundle που παράγεται στο επίπεδο bundle και έιναι οι εξής: Custody Transfer Requested (επιμελής μεταφορά) Ζητείται από το επίπεδο bundle το οποίο και παράγει τα bundles να χρησιμοποιήσει αξιόπιστα πρωτόκολλα για τη μεταφορλα τους. Source Node Custody Acceptance Χρειάζεται να αποδεχθεί τη μεταφορά custody ο πηγαίος κόμβος. Δηλαδή εάν δεν είναι δυνατή η custody μεταφορά όταν ζητηθεί αυτή η επιλογή,τότε αποτυγχάνει η μεταφορά. Report when Bundle delivered Ζητείται να παραχθεί μια αναφορά όταν το πακέτο μεταφέρεται στον προορισμό του. 11

12 Report When Bundle Acknowledged by Application Ζητείται να παραχθεί μια αναφορά κατάστασης όταν το bundle παραληφθεί από μια εφαρμογή. Αυτό συμβαίνει μόνο αν το κάνει η παραλαμβάνουσα εφαρμογή και διαφέρει από την παραπάνω επιλογή αναφοράς παράδοσης. Report When Bundle Received Ζητείται αναφορά κατάστασης όταν κάθε απεσταλμένο bundle φθάνει σε έναν DTN κόμβο. Report When Bundle Custody Accepted Ζητείται μια αναφορά όταν έχει γίνει αποδεκτό το αίτημα για custody μεταφορά του bundle Report When Bundle Forwarded Ζητείται αναφορά διαβίβασης για κάθε σταλμένο bundle σε έναν κόμβο όταν αναχωρεί από αυτόν για περαίτερω προώθηση. Report When Bundle Deleted Ζητείται αναφορά διαγραφής όταν ένα σταλμένο σε έναν κόμβο bundle διαγράφεται. Οι τέσσερις πρώτες επιλογές παράδοσης έχουν σχεδιαστεί για τη συνήθη χρήση από εφαρμογές. Οι τελευταίες τέσσερις προορίζονται κυρίως για διαγνωστικούς σκοπούς και η χρήση τους μπορεί να περιοριστεί σε περιβάλλοντα που υφίστανται συμφόρηση ή επίθεση. Εάν υπάρχουν διαδικασίες ασφάλειας (όπως θα δούμε και σε επόμενο κεφάλαιο) τρείς ακόμα επιλογές μεταφοράς είναι διαθέσιμες: Confidentiality Required Απαιτείται η απεσταλμένη από την εφαρμογή πληροφορία να κρατιέται κρυφή εκτός της πηγής της και του προορισμού της. Authentication Required Απαιτείται όλα τα μη μεταβλητά πεδία (blocks) των απεσταλμένων bundles (δηλαδή,οι πληροφορίες εκείνες οι οποίες δεν αλλάζουν όταν το bundle διαβιβάζεται) να είναι κρυπτογραφικά ισχυρά. Error Detection Required Απαιτείται εάν υπάρξουν τροποποιήσεις των αμετάβλητων πεδίων (blocks) των απεσταλμένων bundles ανιχνεύονται με υψηλή πιθανότητα σε κάθε προορισμό. 1.7 Administrative records Χρησιμοποιούνται για την αναφορά πληροφοριών κατάστασης ή λαθών που σχετίζονται με το στρώμα bundle. Υπάρχουν δύο τύποι : αναφορά για την κατάσταση πακέτου (bundle status reports BSRs) και για custody σήματα. Στο IP ανταποκρίνονται (κατά προσέγγιση) σε μηνύματα του πρωτοκόλλου ICMP. Στο ICMP, ωστόσο,τα μηνύματα επιστρέφουν στην πηγή. Στο DTN,αντ 'αυτού κατευθύνονται στο EID που ζήτησε την αναφορά κατάστασης για τα bundles και στο EID του τρέχοντος custodian 12

13 κόμβου για σήματα custody, το οποίο EID μπορεί να είναι διαφορετικό από αυτό της πηγής των δεδομένων. Οι αναφορές αποστέλλονται ως bundles με EID πηγής του κόμβου του οοίου τις στέλνει. Σε ορισμένες περιπτώσεις, την άφιξη ενός ενιαίου bundle ή κομματιού (fragment) ενός μεγαλύτερου μπορεί να δημιουργήσει πολλαπλές αναφορές (π.χ., σε περίπτωση που το πακέτο είναι να αναπαραχθεί για διαβίβαση multicast). Οι ζητούμενες αναφορές που αποστέλλονται για την κατάσταση των bndles πακέτων BSRs έιναι περιληπτικά οι ακόλουθες (βλέπε επίσης επόμενο κεφάλαιο για περισσότερες λεπτομέρειες): - Bundle Reception - αποστέλλεται όταν ένα πακέτο που έχει την επιλογή Report When Bundle Received φθάνει σε έναν κόμβο DTN. H παραγωγή αυτού του μηνύματος μπορεί να περιορίζεται από την τοπική πολιτική του κόμβου. - Custody Acceptane - αποστέλλεται όταν ένας κόμβος έχει αποδεχθεί την Custody μεταφορά ενός bundle που περιέχει την επιλογή Custody Transfer Requested. Η παραγωγή αυτού του μηνύματος μπορεί να περιορίζεται από την τοπική πολιτική του κόμβου. - Bundle Forwarded - αποστέλλεται όταν ένα πακέτο που περιέχει την επιλογή Report When Bundle Forwarded ενώ έχει διαβιβαστεί σε έναν κόμβο DTN αναχωρεί από αυτόν για την περαιτέρω προώθησή του. Η παραγωγή αυτού του μηνύματος μπορεί να περιορίζεται από την τοπική πολιτική του κόμβου. - Bundle Deletion- αποστέλλεται από έναν κόμβο DTN όταν ένα πακέτο που περιέχει την επιλογή Report When Bundle Deleted απορρίπτεται. Αυτό μπορεί να συμβεί για διάφορους λόγους, όπως η εκπνοή του χρόνου ζωής του πακέτου. Η παραγωγή αυτού του μηνύματος μπορεί να περιορίζεται από την τοπική πολιτική του κόμβου, αλλά απαιτείται σε περιπτώσεις όπου η διαγραφή γίνεται σε ένα custody bundle. - Bundle Delivery - αποστέλλεται από τον τελικό παραλήπτη (κόμβο) των πακέτων όταν αυτά έχουν φθάσει σε αυτόν και περιέχουν την επιλογή Report when Bundle delivered. -Acknowledgement by application - αποστέλλεται από τον τελικό παραλήπτη (κόμβο) όταν ένα πλήρες ADU που περιλαμβάνεται στα σταλμένα πακέτα bundles με την επιλογή Report When Bundle Acknowledged by Application έχει υποβληθεί σε επεξεργασία από μια εφαρμογή. Αυτό συνεπάγεται κατά κανόνα ειδικές ενέργειες από την εφαρμογή. Εκτός από τις εκθέσεις κατάστασης, το σήμα custody ορίζεται για να δείχνει την κατάσταση μιας custody μεταφοράς. Αυτές αποστέλλονται στα custodian EID που περιέχονται στα πακέτα που φθάνουν: - Custody signal - δείχνει ότι η custody μεταφορά έγινε με επιτυχία.αυτό το σήμα εμφανίζεται ως Boolean δείκτης, και συνεπώς μπορεί να αναφέρεται είτε σε επιτυχημένη ή αποτυχημένη προσπάθεια custody μεταφοράς. 13

14 1.8 Δρομολόγηση και προώθηση Η αρχιτεκτονική DTN παρέχει ένα πλαίσιο για τη δρομολόγηση και την προώθηση στο στρώμα bundle για unicast, anycast, και multicast μηνύματα. Επειδή οι κόμβοι σε ένα δίκτυο DTN μπορούν να διασυνδεθούν χρησιμοποιώντας περισσότερους από έναν τύπους ελλοχεύουσας τεχνολογίας δικτύων (underlying network technology), ένα δίκτυο DTN περιγράφεται καλύτερα αφηρημένα χρησιμοποιώντας ένα γράφημα όπου οι κορυφές μπορούν να διασυνδεθούν με περισσότερες από μια άκρες (multigraph). Οι άκρες σε αυτό το γράφημα είναι, γενικά, χρονικά μεταβαλλόμενες όσον αφορά την καθυστέρηση, την ικανότητά τους και την κατεύθυνση λόγω της δυνατότητας της μονόδρομης σύνδεσης. Όταν μια άκρη έχει μηδενική ικανότητα, θεωρείται ότι δεν μπορεί να συνδεθεί,επομένως ως ικανότητα ενός κόμβου εννοούμε κατα πόσο αυτός μπορεί να συνδεθεί. Επειδή οι άκρες (κόμβοι) σε ένα γράφημα DTN μπορούν να έχουν σημαντική καθυστέρηση, πρέπει να διακρίνεται η αιτία στην οποία οφείλεται η καθυστέρηση αυτή, δηλαδή εάν είναι αδυναμία σύνδεσης ή απλα καθυστέρηση. Υιοθετούμε τη σύμβαση της έκφρασης ικανότητα σύνδεσης και καθυστέρηση ως λειτουργίες του χρόνου όπου ο χρόνος μετριέται στο σημέιο που εισέρχονται τα δεδομένα σε έναν κόμβο του δικτύου. Παραδείγματος χάριν έστω μια άκρη (κόμβος) που έχει συνδεσιμότητα Σ (τ) και την καθυστέρηση Κ(τ) στο χρόνο τ. Εάν Ν τα bits που εισέρχονται σε αυτήν την άκρη (κόμβο) στο χρόνο τ, θα ολοληρωθεί η αφιξή τους σε χρόνο τ + Κ (τ) + (1/Σ (τ))*ν. Υποθέτουμε οτι οι Σ(τ),Ν(τ) δεν αλλάζουν σημαντικά κατά τη διάρκεια του διαστήματος [τ, t+κ (τ) + (1/Σ (τ))*ν]. Επειδή οι άκρες (κόμβοι) μπορούν να ποικίλουν μεταξύ θετικής και μηδενικής ικανότητας, είναι πιθανόν να υπάρχει μια χρονική περίοδος κατά τη διάρκεια της οποίας η ικανότητα είναι αυστηρά θετική, και η καθυστέρηση και η ικανότητα μπορούν να θεωρούνται σταθερές. Αυτή η χρονική περίοδος καλείται «επαφή». Επιπλέον, η σύνδεση και το διάστηματος που διαρκεί αυτή είναι γνωστά ως «όγκος» μιας επαφής. Εάν οι επαφές και οι όγκοι τους είναι γνωστά, μπορούν να λαμβάνονται κατάλληλες αποφάσεις αποστολής και δρομολόγησης. Βέλτιστα βασιζόμενοι στο μέγεθος του όγκου μιας επαφής, απαιτείται η δυνατότητα να μπορούν να διαιρεθούν μεγάλα ADUs και bundles σε μικρότερες μονάδες δρομολόγησης. Αυτό παρέχεται από τη δυνατότητα τεμαχισμού (fragmentation). Η δρομολόγηση αναφέρεται στην εκτέλεση του αλγόριθμου για τον υπολογισμό των πορειών δρομολόγησης. Η προώθηση αναφέρεται στην κίνηση ενός bundle από έναν κόμβο DTN προς έναν άλλον κόμβο. H δρομολόγηση χρησιμοποιεί τη βάση πληροφοριών δρομολόγησης (routing information base - RIB).Η λειτουργία της προώθησης χρησιμοποιεί τη βάση πληροφοριών προώθησης (frowarding information base-fib),η οποία προκύπτει από τη δρομολόγηση. Η δομή της βάσης FIB και οι κανόνες για αυτήν είναι επιλογές υλοποίησης. Σε κάποια DTNs, η ανταλλαγή των πληροφοριών που χρησιμοποιείται για την αναβάθμιση της βάσης RIB μπορεί να πραγματοποιείται σε διαφορετικά μονοπάτια δικτύου από εκείνα που χρησιμοποιούνται για την ανταλλαγή πληροφοριών των εφαρμογών (application data). Τα bundles μπορούν να βρίσκονται στις σειρές αναμονής στους κόμβους για κάποιο χρονικό διάστημα. Για τη unicast ή anycast παράδοση, το χρονικό διάστημα αναμονής είναι αυτό μεταξύ της άφιξης ενός bundle σε έναν κόμβο και όταν αυτό μπορεί να προωθηθεί στον επόμενο κόμβο. Για την multicast παράδοση των bundles, αυτό θα μπορούσε να είναι σημαντικά μεγαλύτερο, μέχρι το χρόνο λήξης ενός bundle.αυτή η κατάσταση εμφανίζεται όταν χρησιμοποιείται η multicast διανομή με έναν τέτοιο τρόπο όπου οι κόμβοι που προσχωρούν σε μια ομάδα κόμβων μπορούν να λάβουν τις πληροφορίες που έχουν 14

15 σταλεί προηγουμένως στην ομάδα. Σε τέτοιες περιπτώσεις, μερικοί κόμβοι μπορούν να ενεργήσουν ως «archivers» και να παρέχουν τα αντίγραφα των bundles στους νέους συμμετέχοντες που έχουν ήδη παραδοθεί σε άλλους συμμετέχοντες. 1.9 Τύποι συνδέσεων Οι συνδέσεις ανάμεσα στους κόμβους του δικτύου χωρίζονται σε κατηγορίες ανάλογα με την προβλεψιμότητα τους και με τις ενέργειες που πρέπει να γίνουν ωστε αυτές να υπάρχουν. Έτσι έχουμε τους εξής τύπους : Persistent Contacts-Μόνιμες συνδέσεις Οι μόνιμες συνδέσεις είναι πάντα διαθέσιμες. Ένα παράδειγμα είναι οι always-on συνδέσεις, όπως η DSL του internet. On-Demand Contants-Κατα βούληση συνδέσεις Αυτές απαιτούν κάποια δράση προκειμένου να υφίστανται, αλλά στη συνέχεια λειτουργούν σαν μόνιμες συνδέσεις μέχρι να τερματισθούν. Παράδειγμα θα μπορούσε να αποτελεί η dial-up σύνδεση του internet (από τη πλευρά του dialer). Intermittent Scheduled Contacts-Διαλείποντες-Προγραμματισμένες συνδέσεις Αυτές οι συνδέσεις είναι προγραμματισμένες να γίνουν σε συγκεκριμένες χρονικές στιγμές και να διαρκέσουν συγκεκριμένο χρονικό διάστημα. Ένα παράδειγμα είναι οι προγραμματισμένη επαφή με έναν δορυφόρο ο οποίος βρίσκεται σε τροχιά γύρω από τη γη (low-earth orbitting satellite). Σε έναν κόμβο μπορεί να κατασκευασθεί μια λίστα επαφών με τον δορυφόρο, βασισμένη στον προγραμματισμό αυτού που αφορά τις ώρες θέασης, την ικανότητα σύνδεσής του και τις καθυστερήσεις. Για τα δίκτυα με σημαντικές καθυστερήσεις η έννοια της συγκεκριμένης στιγμής εξαρτάται από την καθυστέρηση. Για παράδειγμα, μια προγραμματισμένη σύνδεση μεταξύ Γης και Άρη δεν θα γινόταν την ίδια στιγμή σε κάθε μια από τις δύο θέσεις, αλλά θα αντισταθμιζόταν από την καθυστέρηση διάδοσης που έιναι μεγάλη και όχι αμελητέα. Intermittent - Opportunistic Contacts-Καιροσκοπικές συνδέσεις Οι καιροσκοπικές συνδέσεις δεν είναι προγραμματισμένες αλλά συμβαίνουν απροσδόκητα. Για παράδειγμα, ένα αεροπλάνο που πετάει και εκπέμπει σήμα δηλώνοντας έτσι τη διαθεσιμότητά του για επικοινωνία. Άλλο παράδειγμα είναι όταν βρεθεί κάποιoς με ένα κινητό εντός εμβέλειας κάποιου wi-fi modem/router και συνδεθεί στο δίκτυο αυτού, ενώ απομακρυνόμενος από αυτό όταν βρεθεί εκτός εμβέλειας χάνει την επαφή. Αυτές είναι συνδέσεις που διαρκούν για άγνωστο χρονικό διάστημα (όταν χαθεί ή τερματισθεί η σύνδεση). Intermittent - Predicted Contacts-Προβλεπόμενες συνδέσεις Είναι συνδέσεις που δεν βασίζονται σε ένα συγκεκριμένο πρόγραμμα, όπως οι προγραμματισμένες, 15

16 αλλά είναι πιθανές συνδέσεις βασισμένες στο ιστορικό των παρατηρούμενων επαφών και κάποιων άλλων πληροφοριών Χρονοσφραγίδες και χρονικός συγχρονισμός Η αρχιτεκτονική DTN εξαρτάται από το συγχρονισμό μεταξύ των κόμβων DTN για τέσσερις λόγους: τον χρονικό προσδιορισμό των bundles και των τεμαχίων τους, τη δρομολόγηση μεταξυ προγραμματισμένων ή προβλεπόμενων επαφών, τον υπολογισμο του χρόνου λήξης των bundles, και τη λήξη εγγραφής εφαρμογής. Ο προσδιορισμός και η λήξη των bundles υποστηρίζονται με την τοποθέτηση μιας χρονοσφραγίδας (timestamp) δημιουργίας και ενός χρόνου λήξης σε κάθε bundle. Μια λειτουργία που βασίζεται στο χρονικό προσδιορισμό των bundles είναι και αυτή της επανασυναρμολόγησης των σταλμένων σε τεμάχια bundles (refragmentation). Ο χρόνος χρησιμοποιείται επίσης με τις εγγραφές εφαρμογής.όταν μια εφαρμογή εκφράζει την επιθυμία της να λάβει ADUs, αυτή η εγγραφή διατηρείται μόνο για μια πεπερασμένη χρονική περίοδο, και μπορεί να καθοριστεί από την εφαρμογή DTN gateways Οι DTN πύλες [13], είναι κόμβοι που ενώνουν δύο διαφορετικά δίκτυα. Δηλαδή χρησιμοποιούνται ως σημεία διασύνδεσης μεταξύ δύο περιοχών που υποστηρίζουν διαφορετικά πρωτόκολλα δικτύου. Δύο κόμβοι βρίσκονται στην ίδια περιοχή δικτύου εάν επικοινωνούν χωρίς τη χρήση των DTN πυλών χρησιμοποιώντας κοινά πρωτόκολλα δικτύου. Οι πύλες λειτουργούν επάνω από το επίπεδο μεταφοράς στις στοίβες πρωτοκόλλων των δικτύων.είναι υπεύθυνες να αποθηκεύουν τα μηνύματα και να μπορουν να διαχειρίζονται τις διαφορετικές κωδικοποιήσεις των περιοχών που διασυνδέουν (region specific encodings),ώστε να γίνεται σωστή δρομολόγηση και προώθηση των ανταλλασόμενων μηνυμάτων.στην παρακάτω εικόνα βλέπουμε ένα παράδειγμα διασύνδεσης δικτύων που υποστηρίζουν διαφορετικές στοίβες πρωτοκόλλων χρησιμοποιώντας dtn πύλες. 16

17 17

18 ΚΕΦΑΛΑΙΟ 2 BUNDLE PROTOCOL SPECIFICATION Το πρωτόκολλο bundle BP (Bundle Protocol) [4], χρησιμοποιείται στην αρχιτεκτονική DTN, είναι end-to-end πρωτόκολλο και βρίσκεταιι στο επίπεδο εφαρμογών πάνω από το επίπεδο μεταφοράς στη στοίβα πρωτοκόλλων του μοντέλου OSI. Οι κύριες δυνατότητές του είναι: Custody-based αναμετάδοση. Αντιμετώπιση της διαλειπούσας συνδεσιμότητας. Εκτός από τη συνεχή λειτουργεί και σε προβλεπόμενη, προγραμματισμένη και τυχαία συνδεσιμότητα. Καθυστερημένη αντιστοίχιση του ονόματος του τελικού σημείου σε διεύθυνση δικτύου. Το BP χρησιμοποιεί τα υπάρχοντα πρωτόκολλα ενός διαδικτύου, δηλαδή εάν το υπάρχον δίκτυο είναι το internet θα χρησιμοποιήσει τα πρωτόκολλα του internet. Η διεπαφή ανάμεσα στο BP και το πρωτόκολλο δικτύου ονομάζεται convergence layer adapter. Στην εικόνα φαίνεται η θέση του BP στη στοίβα πρωτοκόλλων και 3 διαφορετικά πρωτόκολλα μεταφοράς και δικτύου (συμβολίζονται T1/N1, T2/N2, and T3/N3). BP app BP app v- +->>>>>>>>>>v-+ +->>>>>>>>>>v-+ +-^ BP v ^ BP v ^ BP v ^ BP v-+ +-^ v-+ +-^ v-+ +-^ Trans1 v + ^ T1/T2 v + ^ T2/T3 v ^ Trans v-+ +-^ v-+ +-^ v + +-^ Net1 v ^ N1/N2 v ^ N2/N3 v ^ Net v-+ +-^ v + +-^ v-+ +-^ >>>>>>>>^ >>>>>>>>>>^ >>>>>>>>^ <--- An internet ---> <--- An internet ---> Figure 1: The Bundle Protocol Sits at the Application Layer of the Internet Model 18

19 Το πακέτο που μεταφέρει τις πληροφορίες του BP ονομάζεται bundle και μπορεί να έχει δύο ή περισσότερα μπλοκ που το καθένα εξυπηρετεί διάφορους σκοπούς. Στο δίκτυο μπορούν να υπάρχουν ταυτόχρονα πολλά αντίγραφα του ίδιου bundle, είται στην τοπική μνήμη κάθε κόμβου είτε κατα τη διάρκεια μεταφοράς του bundle μεταξύ των κόμβων. Το μπλοκ ενός bundle που μεταφέρει τη πληροφορία μιας εφαρμογής όταν αυτή ζητήσει να σταλούν τα δεδομένα με το BP ονομάζεται payload μπλοκ και τα προς μεταφορά δεδομένα payload.ένας κόμβος ενός δικτύου που μπορεί να στέλνει και να δέχεται bundles ονομάζεται bundle κόμβος και αποτελείται από τρία στοιχεία, έναν bundle protocol agent, convergnence layer adapters και έναν application agent: Bundle Protocol Agent (BPA) Είναι το στοιχείο του κόμβου εκείνο που προσφέρει τις υπηρεσίες του BP και εκτελεί όλες τις διαδικασίες του πρωτοκόλλου. Η υλοποίηση του BPA μπορεί να ποικίλει σε κάθε κόμβο ξεχωριστά και να είναι είτε μια κοινή βιβλιοθήκη (shared library) που χρησιμοποιείται από κάθε κόμβο bundle σε έναν υπολογιστή, είτε ένας daemon είτε να υλοποιηθεί σε hardware. Convergence Layer Adapter (CLA) Είναι το στοιχείο του κόμβου εκείνο που στέλνει και δέχεται bundles για λογαριασμό του BPA χρησιμοποιώντας κάποιο πρωτόκολλο που υποστηρίζεται από το δίκτυο που βρίσκεταιι ο κόμβος. Application agent (ΑΑ) Είναι το στοιχείο του κόμβου εκείνο που χρησιμοποιεί τις υπηρεσίες του BP για την επικοινωνία με κάποιο σκοπό.ο ΑΑ με τη σειρά του αποτελείται από δύο στοιχεία, το administrative (διαχειριστικό) και το application specific.to application specific,κατασκευάζει, ζητάει τη διαβίβαση,αποδέχεται τη παράδοση και επεξεργάζεται τα δεδομένα της εφαρμογής. Η μόνη διασύνδεση μεταξύ του BPA και του application specific στοιχείου του ΑΑ είναι το BP. Το administrative στοιχείο του ΑΑ κατασκευάζει και ζητάει τη διαβίβαση των administrative records (αναφορές κατάστασης του bundle, μεταφορά custody),αποδέχεται την παράδοση και επεξεργάζεται τα σήματα custody που λαμβάνει. Επιπλέον στη διασύνδεση μεταξύ του BPA και του administrative στοιχείου του AA εκτός του BP, υπάρχει μια ιδιωτική διεπαφή ελέγχου που επιτρέπει σε κάθε πλευρά να κατευθύνει την άλλη ώστε να λάβει μέτρα υπό συγκεκριμένες συνθήκες. Στην περίπτωση ενός κόμβου που εξυπηρετεί απλά ως "router",ο ΑΑ μπορεί να μην έχει καθόλου το application specific μέρος του. 2.1 Αρχιτεκτονική υλοποίησης κόμβων bundle Οι κόμβοι bundle ενός DTN δικτύου μπορούν να υλοποιηθούν με διάφορες αρχιτεκτονικές όπως περιγράφεται παρακάτω: Bundle protocol application server Ένα εξυπηρετητής εφαρμογών του bundle πρωτοκόλλου αποτελεί έναν κόμβο bundle και τρέχει σαν διεργασία daemon σε κάθε υπολογιστή. Αυτός ο daemon περιέχει τον bundle protocol agent,όλους τους convergence layer προσαρμογείς και τα δύο μέρη του application agent (administrative,specific). 19

20 Το στοιχείο application-specific λειτουργεί ως εξυπηρετητής προσφέροντας τις υπηρεσίες του bundle πρωτοκόλλου για ένα τοπικό δίκτυο, ανταποκρίνεται δηλαδή σε απομακρυσμένες κλήσεις εφαρμογών του ίδιου ή άλλων υπολογιστών. Peer application nodes Οποιοσδήποτε αριθμός διαδικασιών των εφαρμογών του bundle πρωτοκόλλου, κάθε μία αποτελεί έναν ενιαίο κόμβο bundle, που εφαρμόζεται ως ad-hoc σε κάθε υπολογιστή. Η λειτουργικότητα του BPA, όλα τα CLA, καθώς και το administrative στοιχείο του ΑΑ παρέχεται από μια βιβλιοθήκη στην οποία κάθε κόμβος-διαδικασία συνδέεται δυναμικά κατά το χρόνο εκτέλεσης της.το στοιχείο applicationspecific του ΑΑ βρίσκεται σε κάθε διαδικασία-κόμβο. Sensor network nodes Κάθε κόμβος αυτού του δικτύου έιναι ένας bundle κόμβος.ο ΒPA, όλα τα CLA καθώς και το στοιχείο administrative του AA υλοποιούνται με ολοκληρωνένα κυκλώματα ειδικού σκοπού (ASICs), ενώ το application-specific στοιχείο του ΑΑ υλοποιείται με έναν προγραμματιζόμενο μικροελεγκτή. Όλα τα bundles σε ένα τέτοιο δίκτυο διαβιβάζονται από κάθε κόμβο σε μια προκαθορισμένη διαδρομή. Dedicated bundle router Κάθε υπολογιστής αποτελεί ένα ενιαίο κόμβο bundle που λειτουργεί αποκλειστικά ως διαβιβαστής bundle. Πολλές λειτουργίες του ΒPA, οι προσαρμογείς CLA, και το administrative στοιχείο του AA υλοποιούνται με ASICs, αλλά ορισμένες λειτουργίες υλοποιούνται με ταχύτατο επεξεργαστή που επιτρέπει εκ νέου προγραμματισμό εάν απαιτηθεί. Το στοιχείο application-specific του ΑΑ δεν υπάρχει. Παρέχουν μόνιμη αποθήκευση για τα bundles και υποστηρίζουν πολύπλοκους αλγόριθμους διαβίβασης. 2.2 Bundle Format Κάθε πακέτο bundle πρέπει να αποτελείται από τουλάχιστον δύο μπλοκ πληροφορίας. Το πρώτο στη σειρά μπλοκ ονομάζεται πρωτεύον (primary) και ένα bundle έχει μόνο ένα πρωτεύον μπλοκ. Άλλα μπλοκ πληροφορίας ακολουθούν από το πρωτεύον και το πολύ ένα μπλοκ πρέπει να είναι το payload. Το τελευταίο μπλοκ στη σειρά πρέπει να έχει την τιμή 1 στο flag "last block" (στα bit ελέγχου του μπλοκ, όπως θα δούμε παρακάτω), για κάθε άλλο μπλοκ αυτό το bit ελέγχου έχει την τιμή 0. Bundle Processing Control flags Τα bits ελέγχου επεξεργασίας κάθε bundle βρίσκονται στο πρωτεύον μπλοκ του πακέτου και είναι κωδικοποιημένα ως SDNV (self-delimiting numeric values). Ένα SDNV είναι μια τιμή κωδικοποιημένη σε Ν οκτάδες δυαδικών bit.η τελευταία οκτάδα αυτής της τιμής έχει στο περισσότερο σημαντικό ψηφίο (MSB) την τιμή 0, ενώ στις άλλες οκτάδες το MSB έχει την τιμή 1. Η τιμή που κωδικοποιείται ως SDNV είναι ένας μη προσημασμένος δυαδικός αριθμός που λαμβάνεται εάν συνενώσουμε τα 7 λιγότερο σημαντικά bits κάθε οκτάδας. Παραδείγματα: 20

21 0xABC : κωδικοπιείται ως { } { } = x1234 : = κωδικοποιείται ως { } { } = Τα bits ελέγχου επεξεργασίας λοιπόν σχηματίζουν μια τιμή που ορίζει το είδος της επεξεργασίας του πακέτου. Τα bits ελέγχου είναι 21 και αναπαριστουν τα εξής: Status Report Class of Svc. General Έχουμε τρεις 7 αδες απο bit που κάθε μία 7 αδα αναπαριστά μία ομάδα bit ελέγχου. Με την κωδικοποίηση SDNV προστίθεται ένα bit στην πιο σημαντική θέση, οπότε έχουμε 8 άδες από bit.οπότε συνολικά τα bits ελέγχου κωδικοποιημένα κατα SDNV έχουν μήκος 24 bit, τριών δηλαδή οκτάδων από bit (3 byte). Τα bits (general) στις θέσεις 0 έως 6 είναι flags που χαρακτηρίζουν το bundle ως εξής: 0 - Το Bundle είναι ένα τεμάχιο ενός μεγαλύτερου bundle (fragment). 1 - Τα δεδομένα του payload μπλοκ αποτελούν administrative record. 2 - Το Bundle δεν πρέπει να κατατμηθεί. 3 - Ζητείται custody μεταφορά. 4 - Το τελικό σημείο προορισμού είναι ένας και μόνο κόμβος. 5 - Ζητείται επιβεβαίωση μόλις το bundle παραληφθεί από κάποια εφαρμογή. 6 - Διατίθεται για μελλοντική χρήση. Τα bits (class of service) στις θέσεις 7 έως 13 χρησιμοποιούνται για να δείξουν την κατηγορία υπηρεσιών του bundle. Τα bits στις θέσεις 8 και 7 δηλώνουν την προτεραιότητα του bundle ως εξής: 00=bulk, 01=κανονική, 10 = ταχεία, 11 είναι δεσμευμένο για μελλοντική χρήση. Τα bits στις θέσεις 9 έως 13 προορίζονται για μελλοντική χρήση. Τα bits (status report) στις θέσεις 14 έως και 20 χρησιμοποιούνται για να ζητηθούν αναφορές για την κατάσταση του bundle ως εξής: 14 - Ζητείται αναφορά μόλις παραληφθεί το πακέτο. 21

22 15 - Ζητείται αναφορά αποδοχής custody Ζητείται αναφορά μόλις προωθηθεί το bundle Ζητείται αναφορά μόλις παραδοθεί το bundle Ζητείται αναφορά μόλις διαγραφεί το πακέτο Διατίθεται για μελλοντική χρήση Διατίθεται για μελλοντική χρήση. Εάν τα δεδομένα του payload αποτελούν administrative record,δηλαδή το bit στη θέση 1 των processing control flags έχει την τιμή 1, τότε όλα τα bits της αναφοράς κατάστασης (status report bits) και το bit για αίτηση custody μεταφοράς (bit 3), πρέπει να είναι 0.Εάν το bit για αίτηση custody μεταφοράς έιναι 1, τότε ο κόμβος που στέλνει το bundle πρέπει να ζητήσει αναφορά αποδοχής custody από τον κόμβο παραλήπτη,δηλαδή πρέπει και το bit 15 των processing control flags να είναι 1. Block Processing Control Flags Τα bits ελέγχου επεξεργασίας μπλοκ βρίσκονται σε κάθε μπλοκ του πακέτου εκτός του primary και είναι κωδικοποιημένα ως SDNV (self-delimiting numeric values). Τα bits ελέγχου επεξεργασίας είναι 7,σχηματίζουν μια τιμή που ορίζει το είδος της επεξεργασίας του πακέτου και αναπαριστουν τα εξής: Flags Το Block πρέπει να επαναληφθεί και σε κάθε τεμάχιo (fragment ) του bundle. 1 - Πρέπει να σταλεί αναφορά αν το μπλοκ δεν μπορεί να επεξεργασθεί. 2 - Πρέπει να διαγραφεί όλο το Bundle εάν το μπλοκ δεν μπορεί να επεξεργασθεί. 3 - Το μπλοκ είναι το τελευαίο μπλοκ του bundle. 4 - Να αφαιρεθεί το μπλοκ από το Bundle εάν δεν μπορεί να επεξεργασθεί. 5 - Το μπλοκ διαβιβάστηκε χωρίς επεξεργασία. 6 - Το μπλοκ περιέχει ένα πεδίο αναφοράς EID. Με την κωδικοποίηση SDNV προστίθεται ένα bit στην πιο σημαντική θέση, οπότε έχουμε μία 8 άδα από bit (1 byte).εάν τα bits ελέγχου επεξεργασίας του πρωτεύοντος μπλοκ δηλώνουν ότι τα δεδομένα του Bundle αποτελούν administrative record,τότε το bit 1 των processing flags όλων των άλλων μπλοκ πρέπει να είναι 0. Το bit 0 - Το Block πρέπει να επαναληφθεί και σε κάθε τεμάχιo (fragment ) -των processing flags όλων των μπλοκ που ακολουθούν το payload block πρέπει να είναι 0. Endpoint ID Οι προορισμοί των bundles είναι τελικά σημεία που προσδιορίζονται από τα EID. To EID είναι μια ακολουθία χαρακτήρων σε μορφή URI και υπάρχει μέσα σε κάθε πακέτο Bundle δηλώνοντας έτσι τον προορισμό του πακέτου.ως εκ τούτου το ΕΙD έχει την παρκάτω γενική δομή: 22

23 < scheme name > : < scheme-specific part, or "SSP" > Το μήκος του <scheme name> και του <SSP> δεν πρέπει να υπερβαίνει τα 1023 byte. Το <scheme name> ενός τελικού σημείου αποτελεί ένα σύνολο συντακτικών και σημασιολογικών κανόνων που εξηγεί πλήρως πώς να αναλύσει και να ερμηνεύσουν το SSP. Το σύνολο των επιτρεπόμενων schemes είναι απεριόριστο. Ένα <scheme name> ορίζεται και το ακόλουθο: o To dtn scheme,το οποίο στην ελάχιστη μορφή του,προσδιορίζει ένα μηδενικό τελικό σημείο (null endpoint) με την σύνταξη dtn:none. Formats of Bundle Blocks Οι μορφή των δύο βασικών μπλοκ ενός bundle, primary και payload φαίνεται παρακάτω: Primary Bundle Block Version Proc. Flags (*) Block length (*) Destination scheme offset (*) Destination SSP offset (*) Source scheme offset (*) Source SSP offset (*) Report-to scheme offset (*) Report-to SSP offset (*) Custodian scheme offset (*) Custodian SSP offset (*) Creation Timestamp time (*) Creation Timestamp sequence number (*) Lifetime (*) Dictionary length (*) Dictionary byte array (variable) [Fragment offset (*)] [Total application data unit length (*)]

24 Bundle Payload Block Block type Proc. Flags (*) Block length(*) / Bundle Payload (variable) / Figure 5: Bundle Block Formats (*) Σημειώσεις: Όλα τα πεδία είναι κωδικοποιημένα κατα SDNV σε οκταδες bit. Στην εικόνα για παράδειγμα το μήκος του πεδίου Processing flags είναι τριών byte και του πεδίου version ενός byte. Primary Bundle Block Τα πεδία του πρωτέυοντος μπλοκ ενός bundle είναι: Version: Πεδίο 1byte που δείχνει την έκδοση του bundle πρωτoκόλλου που κατασκεύασε αυτό το μπλοκ. Processing Control Flags: Το πεδίο αυτό περιέχει τα Bundle Processing Control flags που αναφέρθηκαν ανωτέρω. Block Length: Το πεδίο αυτό περιέχει τη συνολικό μήκος όλων των υπόλοιπων πεδίων του μπλοκ. Destination Scheme Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <scheme name> του ΕΙD του τελικού σημείου προορισμού, δηλαδή το τελικό σημείο που περιέχει τον κόμβο (ή κόμβους) στον οποίο πρέπει να παραδοθεί το πακέτο. Destination SSP Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <SSP> του EID του τελικού σημείου προορισμού του πακέτου. Source Scheme Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <scheme name> του EID του κόμβου που δημιούργησε το πακέτο. Source SSP Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <SSP> του EID του κόμβου που δημιούργησε το πακέτο. Report-to Scheme Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <scheme name> του EID στο οποίο πρέπει να διαβιβάζονται οι αναφορές παράδοσης και μεταφοράς του πακέτου. Report-to SSP Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <SSP> του EID στο οποίο πρέπει να διαβιβάζονται οι αναφορές παράδοσης και 24

25 μεταφοράς του πακέτου. Custodian Scheme Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <scheme name> του EID του πιο πρόσφατου κόμβου που αποδέχτηκε την custody μεταφορά. Custodian SSP Offset: Το πεδίο αυτό περιέχει το σημείου του λεξικού-πίνακα byte- στο οποίο περιέχεται το <SSP> του EID του πιο πρόσφατου κόμβου που αποδέχτηκε την custoody μεταφορά. Creation Timestamp: Η χρονοσφραγίδα είναι ένα ζευγάρι SDNVs. To πρώτo SDNV του timestamp είναι o χρόνος δημιουργίας του bundle, ενώ το δεύτερο είναι η ο αύξων αριθμός του χρόνου δημιουργίας του bundle. O χρόνος δημιουργίας είναι ο χρόνος κατά τον οποίο παρελήφθη ένα αίτημα μεταφοράς που οδήγησε στη δημιουργία του bundle και εκφράζεται σε δευτερόλεπτα από την αρχή του έτους 2000, σχετικά με την Συντονισμένη Παγκόσμια Ώρα (UTC) κλίμακα [UTC]. Ο αύξων αριθμός του χρόνου δημιουργίας είναι η τελευταία τιμή (από το χρόνο κατά τον το οποίο το αίτημα μεταφοράς ελήφθη) ενός μετρητή που να μηδενίζεται κάθε φορά που ο χρόνος αυξάνεται κατά ένα δευτερόλεπτο. Ενας Bundle Protocol Agent ενός κόμβου δεν πρέπει να δημιουργήσει ποτέ 2 διαφορετικά bundles με την ίδια χρονοσφραγίδα. Ο συνδυασμός του ΕID της πηγής της χρονοσφραγίδας δημιουργίας timestamp του bundle προσδιορίζουν μία αίτηση μεταφοράς bundle, επιτρέποντας έτσι να αναγνωριστεί από την εφαρμογή που το λαμβάνει. Lifetime: Το πεδίο αυτό δείχνει τη διάρκεια ζωής,δηλαδή τον χρόνο πέρα από τον οποίο το ωφέλιμο φορτίο του πακέτου δεν θα είναι πλέον χρήσιμο και κωδικοποιείται ως αριθμός των δευτερολέπτων μετά από το χρόνο δημιουργίας του bundle. Όταν η τρέχουσα ώρα είναι μεγαλύτερη από το χρόνο δημιουργίας συν τη διάρκεια ζωής,οι κόμβοι δεν χρειάζεται πλέον να διατηρούν ή να προωθούν το πακέτο, το bundle πρέπει να διαγράφεται από το δίκτυο. Dictionary Length: Το πεδίο αυτό περιέχει το μήκος του λεξικού (πίνακας byte). Dictionary: Το πεδίο αυτό είναι μια σειρά από bytes που περιέχει τα <scheme name> και τα <SSP> των EID που αναφέρθηκαν παραπάνω (Source,Destination,Report-to,Custodian). Το μήκος του είναι ίσo με τη τιμή του πεδίου Dictionary Length. Fragment Offset: Εάν η σημαίες ελέγχου επεξεργασίας του πρωτεύοντος μπλοκ υποδεικνύουν ότι το πακέτο είναι ένα θραύσμα (fragment), τότε το πεδίο Fragment Offset δείχνει το σημείο από την αρχή της ADU στο οποίο πρέπει να βρίσκονται τα bytes που αποτελούν το ωφέλιμο φορτίο (payload) αυτού του bundle. Αν όχι, τότε το Fragment Offset πεδίο παραλείπεται από το μπλοκ. Total Application Data Unit Length: Εάν οι σημαίες ελέγχου επεξεργασίας του πρωτεύοντος μπλοκ υποδεικνύουν ότι το πακέτο είναι ένα θραύσμα (fragment), τότε το πεδίο αυτό δείχνει το συνολικό μήκος των αρχικών δεδομένων ADU, των οποίων το ωφέλιμο φορτίο αυτού του bundle είναι ένα μέρος. Αν όχι, τότε πεδίο αυτό παραλείπεται από το μπλοκ. Canonical Bundle Block Format Κάθε άλλο μπλοκ εκτός του πρωτεύοντος αποτελείται από τα παρακάτω πεδία σε αυτή τη σειρά: Block type code: Είναι ένας μη προσημασμένος αριθμός 8 bit. Εάν η τιμή του είναι 1 τότε το μπλοκ 25

26 είναι το payload μπλοκ. Block processing control flags: περιέχει τα Block Processing Control Flags που αναφέρθηκαν ανωτέρω Block EID reference count and EID references: Το πεδίο αυτό δεν είναι απαραίτητο να υπάρχει και υπάρχει μόνο εφόσον υποδεικνύεται στο πεδίο dictionary του πρωτεύοντος μπλοκ και το bit-6 στα block processing flags του canonical block έιναι 1. Εάν υπάρχει περιέχει τόσο τον αριθμό των EID που φέρει όσο και τα EID. Block Data Length: Το πεδίο αυτό περιέχει τη συνολικό μήκος όλων των υπόλοιπων πεδίων του μπλοκ. Block-type-specific data : Το πεδίο αυτό αποτελείται από τα δεδομένα του μπλοκ και το μήκος του είναι ίσο με το μήκος που αναφέρεται απο το πεδίο block data length. Block type Block processing ctrl flags (SDNV) Block length (SDNV) / Block body data (variable) / Figure 6: Block Layout without EID Reference List Block Type Block processing ctrl flags (SDNV) EID Reference Count (SDNV) Ref_scheme_1 (SDNV) Ref_ssp_1 (SDNV) Ref_scheme_2 (SDNV) Ref_ssp_2 (SDNV) Block length (SDNV) / Block body data (variable) / Figure 7: Block Layout Showing Two EID References 26

27 Bundle Payload Block Το μπλοκ αυτό ακολουθεί τη μορφή του canonical block με τη διαφορά ότι πότε δεν έχει το πεδίο EID reference και περιέχει τα ακόλουθα πεδία: Block type Proc. Flags (*) Block length(*) / Bundle Payload (variable) / Το πεδίο bundle payload περιέχει τα δεδομένα της εφαρμογής που φέρει αυτό το bundle. Extention blocks Κάθε μπλοκ εκτός του payload και του primary θεωρείται extension block. 2.3 Επεξεργασία των Bundles Bundle Transmission Τα βήματα για τη μετάδοση του bundle είναι τα εξής: Βήμα 1: Εάν ζητείται custody μετάδοση για αυτό το πακέτο και, επιπλέον, απαιτείται αποδοχή αυτής της μετάδοσης από τον κόμβο πηγή, τότε είτε ο BPA πρέπει να αποδεχθεί τη custody μετάδοση ή το αίτημα δεν μπορεί να εκπληρωθεί και όλα τα υπόλοιπα βήματα αυτής της διαδικασίας πρέπει να παραλείπονται. Ο ΒPA δεν πρέπει να αποδέχεται την custody μετάδοση εάν οι συνθήκες για την αποδοχή της custody μετάδοσης δεν ικανοποιούνται. Εάν ο BPA αποδεχθεί τη custody μετάδοση η διαδικασία προχωράει με το βήμα 2. Βήμα 2: Αρχίζει η μετάδοση του bundle. Ένα εξερχόμενο bundle θα πρέπει να δημιουργηθεί σύμφωνα με τις παραμέτρους του αιτήματος μεταφοράς με την παράμετρο του τωρινού custodian EID να είναι dtn:none και με τον παραμένων περιορισμό η αποστολή εν αναμονή (dispatch pending). Το EID της πηγής θα πρέπει να είναι είτε ένα ΙD ενός endpoint στο οποίο βρίσκεται ο κόμβος πηγή είται το μηδενικό EID dtn:none. Βήμα 3:η επεξεργασία συνεχίζεται με την προώθηση του bundle. 27

28 Bundle Forwarding Τα βήματα κατα την προώθηση ενός bundle είναι τα εξής: Βήμα 1: Ο περιορισμός προώθηση εν αναμονή πρέπει να προστεθεί στο bundle και πρέπει να αφαιρεθεί ο περιορισμός αποστολή εν αναμονή. Βήμα 2: O Bundle Protocol Agent πρέπει να αποφασίσει εάν στείλει το πακέτο κατευθείαν στον προορισμό του, ή χρειάζεται να το στείλει σε άλλον κόμβο για την περαιτέρω προώθησή του.εφόσον βρεί κάποιον κόμβο να το προωθήσει πρέπει να επιλέξει κάποιο CLA ώστε να το χρησιμοποιήσει στην προώθηση.εάν ο BPA δεν μπορεί να επιλέξει κάποιο endpoint για να στείλει το πακέτο ή κάποιο CLA τότε η προώθηση ακυρώνεται. Βήμα 3: Εάν ακυρωθεί για οποιοδήποτε λόγο η διαδικασία τότε ακολουθείται η διαδικασία Forwarding Contraindicated (βλ. παρακάτω) και τα υπόλοιπα βήματα της παρούσας επεξεργασίας (bundle forwarding) παραλείπονται. Βήμα 4: Εάν το bit για custody μεταφορά στο πεδίο των Processing flags του bundle είναι 1, τότε ακολουθείται η διαδικασία της custody μεταφοράς (βλ. παρακάτω). Βήμα 5:Για κάθε endpoint που έχει επιλεγεί ώστε να προωθηθεί το πακέτο o BPA πρέπει να χρησιμοποιήσει της υπηρεσίες του εκάστοτε CLA ωστε να γίνει η αποστολή του.ο προσδιορισμός του χρόνου στον οποίο το πακέτο θα αποσταλεί από το κάθε CLA είναι θέμα υλοποίησης.η αλληλουχία των σταλμένων μπλοκ δεν πρέπει να αλλάζει καθώς το bundle μεταφέρεται.τα σταλμένα μπλοκ σε έναν κόμβο θα πρέπει να προωθούνται ακριβώς στην ίδια σειρά με την οποία παραλήφθηκαν.ενώ μπορεί να προστίθονται μπλοκ καθώς το πακέτο περνάει από ενδίαμεσους κόμβους, η διαγραφή μπλοκ που δεν έχουν τη σημαία Να αφαιρεθεί το μπλοκ από το Bundle εάν δεν μπορεί να επεξεργασθεί από το πακέτο προκαλέι πρόβλημα στην ασφάλεια. Βήμα 6: Όταν τα επιλεγμένα CLA ενημερώσουν τον BPA ότι έχουν συμπεριλάβει της πληροφορίες για την διαδικασία αποστολής του πακέτου: *Εάν η σημαία Ζητείται αναφορά μόλις προωθηθεί το bundle έχει την τιμή 1 τότε δημιουργείται μια αναφορά που αποστέλεται στο EID που τη ζήτησε. *Αφαιρείται ο περιορισμός προώθηση εν αναμονή. Forwarding Contraindicated Βήμα 1:O BPA θα πρέπει να αποφασίσει εάν θα δηλώσει αποτυχία προώθησης του πακέτου. Βήμα 2: Εάν δηλώσει αποτυχία τότε η διαδικασία Forwarding Failed (βλ.παρακάτω) ακολουθείται.διαφορετικά α)εάν έχει ζητηθεί μεταφορά custody θα πρέπει να ακολουθηθεί η custody μεταφορά (βλ.παρακάτω), β) όταν σε κάποια μελλοντική στιγμή σταματήσει η ακύρωση τότε η διαδικασία προώθησης συνεχίζεται από το βήμα 5 της αντίστοιχης διαδικασίας. 28

29 Forwarding Failed Βήμα 1: Εάν έχει ζητηθεί custody μεταφορά ο ΒPA στέλνει ένα σήμα αποτυχίας Failed στον current custodian κόμβο το οποίο περιέχει και τον λόγο τον οποίο ακυρώθηκε η προώθηση. Βήμα 2: Εάν ο κόμβος είναι μέλος του ΕΙD προορισμού του πακέτου τότε πρέπει να αφαιρεθεί ο περιορισμός αποστολή εν αναμονή.διαφορετικά το πακέτο πρέπει να ακολουθήσει η διαδικασία διαγραφής (βλ.παρακάτω). Custody Transfer Όταν ένας κόμβος αποδεχθεί την custody μεταφορά πρέπει να προστεθεί στο bundle ο περιορισμός custody accepted. Εάν έχει ζητηθεί αναφορά αποδοχής custody τότε αποστέλεται αυτή η αναφορά στο EID που τη ζήτησε.ο ΒPA στέλνει επίσης και ένα σήμα custody succeded στον current custodian και αλλάζει το current custodian EID στο αντίστοιχο πεδίο του πρωτεύοντος μπλοκ του bundle με το ΕΙD στο οποίο ανήκει. Επίσης μπορεί να θέσει και έναν μειωνούμενο μετρητή ο οποίος όταν μηδενίζεται ακολουθείται η διαδικασία custody transfer failure (βλ. Παρακάτω).Το bundle πρέπει επίσης να κρατείται σε μόνιμη αποθήκευση εφ'οσον είναι δυνατόν. Custody Transfer Success Όταν σε έναν κόμβο, ο οποίος έιναι custodian για ένα bundle, φθάνει σήμα custody Succeded θα πρέπει να γίνεται custody release του πακέτου από τον κόμβο, δηλαδή να αφαιρείται ο περιορισμός custody accepted και να καταστρέφεται ο μειωνούμενος μετρητής εάν υπάρχει. Custody Transfer Failure H custody μεταφορά αποτυγχάνει σε έναν custodian κόμβο εάν α)ο μετρητής custody του κόμβου μηδενίσει ή β)έχει ληφθεί αναφορά Failed σε αυτόν τον κόμβο από έναν άλλον κόμβο. Οι ενέργειες που θα κάνει ο κόμβος όταν αποτυγανει μια μεταφορά custody εξαρτάται από το λόγο αποτυχίας και είναι θέμα υλοποίησης. Μπορεί για παράδειγμα να πάρει την απόφαση να ξαναπροωθήσει το πακέτο από άλλη διαδρομή, διαλέγοντας άλλον κόμβο. Bundle Expiration Ένα bundle λήγει όταν η τρέχουσα ώρα είναι μεγαλύτερη από την ώρα δημιουργίας του πακέτου συν τη διάρκεια της ζωής του, όπως ορίζεται στο πρωτεύον μπλοκ του πακέτου. Το Bundle μπορεί να λήξει σε οποιοδποτε σημείο της επεξεργασίας του. Όταν λήξει, ο BPA πρέπει να διαγράψεi το πακέτο με τη διαδικασια διαγραφής για το λόγο που lifetime expired. 29

30 Bundle Reception Τα βήματα κατα την διαδικασία λήψης ενός bundle από έναν κόμβο Βήμα 1: Ο περιορισμός dispatch pending προστίθεται στο bundle. Βήμα 2: Εάν έχει ζητηθεί αναφορά οτί το πακέτο παραλήφθηκε τότε αυτή αποστέλλεται στον κόμβο που τη ζήτησε. Βήμα 3: Για κάθε extension block του bundle το οποίο ο ΒPA δεν μπορεί να επεξεργασθεί: *Εάν ζητείται αναφορά για αυτό το γεγονός τότε αποστέλλεται στο ΕΙD που τη ζήτησε. *Εάν τα flags δείχνουν ότι σε ένα τέτοιο γεγονός το πακέτο πρέπει να διαγραφεί η διαδικασία διαγραφής πρέπει να ακολουθήσει. *Εάν τα flags δείχνουν ότι σε ένα τέτοιο γεγονός το πακέτο δεν πρέπει να διαγραφεί αλλά πρέπει να αφαιρεθεί το μπλοκ απo το bundle τότε ο BPA το αφαιρεί *Όταν τα flags δεν δείχνουν τιποτα τότε ο BPA θέτει το flag Το μπλοκ διαβιβάστηκε χωρίς επεξεργασία ίσο με 1. Βήμα 4:Όταν έχει ζητηθεί custody transfer για το bundle και το πακέτο έχει ίδιο EID πηγής,χρόνο δημιουργίας,αριθμό τεμαχίου και μήκος payload με ένα άλλο bundle που δεν έχει αφαιρεθεί και έχει ακόμα τον περιορισμό custody accepted η custody μεταφορά πρέπει να καθυστερήσει στέλνοντας σήμα custoy Failed στον current custodian κόμβο και αφαιρώντας τον περιορισμό dispatch pending από το bundle. Διαφορετικά ακολουθεί το βήμα 5. Βήμα 5: Εάν ο προορισμός του πακέτου είναι το EID του κόμβου που το έλαβε, τότε ακολουθείται η διαδικασία Local Bundle Delivery. Εάν ο προορισμός του πακέτου έιναι διαφορετικός από το EID του κόμβου τότε ακολουθείται η διαδικασία προώθησης του πακέτου-bundle forwarding- όπως είδαμε παραπάνω. Local Bundle Delivery Τα βήματα που ακολουθούνται στην επεξεργασία ενός bundle όταν αυτό έχει προορισμό το EID του παρόντος κόμβου είναι: Βήμα 1:Εάν το bundle αποτελεί τεμάχιο fragment ενός μεγαλύτερου bundle τότε πρέπει πρώτα να ακολουθηθεί η διαδικασία συναρμολόγησης του bundle και έπειτα να προχωρήσει η παρούσα διαδικασία στο βήμα 2. Βήμα 2:Η παράδοση εξαρτάται από την κατάσταση της εφαρμογής του EID που είναι προορισμός του πακέτου.εάν αυτή είναι ενεργή τότε το πακέτο μεταφέρεται σε αυτή.εάν δεν είναι ενεργή τότε αναβάλλεται η μεταφορά του στην εφαρμογή μέχρι να γίνει ενεργή ή μέχρις ότου έρθει άλλο πακέτο που προορίζεται για αυτήν,είτε εγκαταλείπεται η μεταφορά. Βήμα 3: Εφ' οσον έχει παραδοθεί στην εφαρμογή το πακέτο εάν ζητείται αναφορά για την παράδοση του bundle τότε στέλνεται αυτή στο EID που τη ζήτησε. Να σημειωθεί οτι αυτή η αναφορά δείχνει ότι 30

31 το πακέτο παραδόθηκε στον AA (Application Agent) και όχι ότι έχει υποστεί επεξεργασία. Το ίδιο ισχύει και για την custody μεταφορά. Bundle fragmentation Όταν οι BPA ενός κόμβου θέλουν να μειώσουν το μέγεθος των μεταφερόμενων πακέτων τότε τεμαχίζουν το payload του bundle σε κομμάτια. Ο τεμαχισμός των πακέτων είναι χρήσιμος σε περιπτώσεις όπου υπάρχει επικοινωνία με διακοπές και δεν υπάρχει τόσο μεγάλης διάρκειας επικοινωνία ώστε να μεταφερθεί ένα μεγάλο πακέτο.αν έχουμε λοιπόν ένα payload των Μ bytes τότε τα νέα bundles που θα προκύψουν από τον τεμαχισμό του θα είναι Ν bytes και όλα μαζί θα έχουν συνολικό μέγεθος το μέγεθος του αρχικού.κάθε bundle που στο primary block του, δεν υποδεικνύει ότι δεν πρέπει να τεμαχιστεί, μπορεί να υποστεί τεμαχισμό οπουδήποτε στο δίκτυο κατα τη μεταφορά του.υπάρχουν όμως και κάποιοι περιορισμοί στον τεμαχισμό του payload,οι οποίοι είναι: Η αλληλουχία των payloads όλων των fragments πρέπει πάντα; να είναι πανομοιότυπη με το αρχικό payload. Τα processing flags των primary μπλοκ κάθε fragment πρέπει να δείχνουν ότι το πακέτο αποτελεί τεμάχιο ενός μεγαλύτερου πακέτου καθώς και τη σειρά στην οποία πρέπει να είναι για να σχηματιστεί το μεγαλύτερο payload (fragment offset) όπως και το συνολικό μήκος του payload. Όλα τα μπλοκ που προηγούνται και έπονται του payload του αρχικού bundle,όταν αυτό τεμαχιστεί πρέπει να υπάρχουν στο fragment με το μικρότερο offset. Εάν το μπιτ ενός μπλοκ το μπλοκ πρέπει να υπάρχει σε κάθε τεμάχιο είναι 1 τότε αυτό το μπλοκ επαναλαμβάνεται σε κάθε τεμάχιο, διαφορετικά επαναλαμβάνεται μόνο σε ένα. Η σειρά των μπλοκ σε κάθε fragment είναι η ίδια όπως στο αρχικό bundle. Application Data Unit Reassembly Εάν η αλληλουχία των payload που καταδεικνύεται από τα fragment offsets και τα μήκη των payloads - των fragments με την ίδια ΕID πηγής και τον ίδιο χρόνο δημιουργίας σχηματίζει μια σειρά από bytes το μήκος της οποίας είναι ίδιο με το συνολικό μήκος του data της εφαρμογής (αρχικό -συνολικό payload) τότε συναρμολογούνται και μπαίνουν στη σειρά τα payload των fragments και σχηματίζεται ένα bundle με payload το συνολικό ADU και αφαιρείται ο περιορισμός reassembly pending από κάθε fragment. Bundle Deletion Τα βήματα για την διαγραφή ενός bundle είναι τα εξής: Βήμα 1: Εάν ο περιορισμός custody accepted αποτρέπει την απόρριψη του πακέτου τότε γίνεται custody release όπως περιγράφηκε παραπάνω και στέλνεται αναφορά διαγραφής στον κόμβο που την έχει ζητήσει. Αναφορά διαγραφής στέλνεται επίσης και όταν ζητείται από τα processing flags του 31

32 πακέτου. Βήμα 2:Αφαιρούνται όλοι οι περιορισμοί του bundle αφαιρούνται. Βήμα 3:To πακέτο απορρίπτεται. Canceling a Transmission Όταν ζητηθεί η ακύρωση της μετάδοσης κάποιου πακέτου, τότε ο BPA πρέπει να διαγράψει το πακέτο για το λόγο trasmission cancelled ακολουθώντας τη διαδικασία της διαγραφής (bundle deletion). 2.4 Administrative Records Όπως είδαμε και σε ενότητα του προηγούμενου κεφαλαίου εξηγώντας τα administrative records, υπενθυμίζουμε ότι είναι δύο ειδών: αναφορές για την κατάσταση πακέτου (bundle status reports BSRs) και για custody σήματα. Κάθε administrative record αποτελείται απο έναν κωδικό 4 μπιτ που υποδεικνύει τον τύπο του,4 μπιτ τα οποία είναι administrative record flags και το περιεχόμενο του record το οποίο εξαρτάται από τον τύπο του. Value Meaning +=========+============================================ Bundle status report Custody signal (other) Reserved for future use Figure 8: Administrative Record Type Codes Value Meaning +=========+============================================ Record is for a fragment; fragment offset and length fields are present (other) Reserved for future use Figure 9: Administrative Record Flags Τα περιεχόμενα των administrative records εξηγούνται παρακάτω. 32

33 Bundle Status Reports (BSR) Oι ΒSR είναι αναφορές που περιέχουν πληροφορίες σχετικά με την κατάσταση του πακέτου και αποστέλλονται στο EID που τις ζήτησε.η δομή των αναφορών αυτών είναι η εξής: Status Flags Reason code Fragment offset (*) (if present) Fragment length (*) (if present) Time of receipt of bundle X (a DTN time, if present) Time of custody acceptance of bundle X (a DTN time, if present) Time of forwarding of bundle X (a DTN time, if present) Time of delivery of bundle X (a DTN time, if present) Time of deletion of bundle X (a DTN time, if present) Copy of bundle X's Creation Timestamp time (*) Copy of bundle X's Creation Timestamp sequence number (*) Length of X's source endpoint ID (*) Source endpoint ID of bundle X (variable) Figure 10: Bundle Status Report Format Oι χρόνοι είναι UTC εκφρασμένοι σε δευτερόλεπτα από την αρχή του έτους 2000.Τα status flags των BSR είναι ένα πεδίο ενός byte και οι τιμές του υποδεικνύουν τα εξής: Value Meaning +==========+============================================ Reporting node received bundle Reporting node accepted custody of bundle Reporting node forwarded the bundle Reporting node delivered the bundle Reporting node deleted the bundle Unused Unused Unused Figure 11: Status Flags for Bundle Status Reports 33

34 Το πεδίο reason code των BSR είναι ενός byte και εξηγεί το λόγο για τον οποίο τα status flag πήραν μία από τις παραπάνω τιμές: Value Meaning +=========+============================================+ 0x00 No additional information x01 Lifetime expired x02 Forwarded over unidirectional link x03 Transmission canceled x04 Depleted storage x05 Destination endpoint ID unintelligible x06 No known route to destination from here x07 No timely contact with next node on route x08 Block unintelligible (other) Reserved for future use Τα υπόλοιπα πεδία των BSR υποδεικνύουν: Figure 12: Status Report Reason Codes Fragment offset-length: Εάν δείχνεται στα administrastive record flags ότι το record αφορά fragment, τότε το offset και το μήκος του fragment μπαίνουν στα αντίστοιχα πεδία. Time of (receipt-custody-delivery-forwarding-deletion):εάν δείχνεται στα status flags οποιαδήποτε αντίστοιχη αναφορά, τότε υποδεικνύεται και η ώρα στο αντίστοιχο πεδίο των BSR. Creation Timestamp of Subject Bundle:Υποδεικνύεται η ώρα δημιουργίας του bundle που προκάλεσε την αναφορά. Length of Source Endpoint ID:Το μήκος του EID της πηγής του bundle που προκάλεσε τη δημιουργία της αναφοράς. Source Endpoint ID text:το EID της πηγής του bundle που προκάλεσε τη δημιουργία της αναφοράς. Custody Signals Τα custody σήματα είναι administrative records που επηρεάζουν τις λειτουργίες της custody μεταφοράς των bundle και αποστέλλονται στα ΕΙD που είναι οι current custodians των bundle.η δομή τους είναι η παρακάτω: 34

35 Status Fragment offset (*) (if present) Fragment length (*) (if present) Time of signal (a DTN time) Copy of bundle X's Creation Timestamp time (*) Copy of bundle X's Creation Timestamp sequence number (*) Length of X's source endpoint ID (*) Source endpoint ID of bundle X (variable) Τα πεδία υποδεικνύουν τα εξής: Figure 13: Custody Signal Format Status:Είναι πεδίο του ενός byte από τα οποία το ένα μπιτ δείχνει ότι "custody transfer succeeded" ακολουθούμενο από μια 7 μπιτ τιμή που δείχνει το reason code. Τα reason codes είναι τα εξής: Value Meaning +=========+============================================+ 0x00 No additional information x01 Reserved for future use x02 Reserved for future use x03 Redundant reception (reception by a node that is a custodial node for this bundle) x04 Depleted storage x05 Destination endpoint ID unintelligible x06 No known route to destination from here x07 No timely contact with next node on route x08 Block unintelligible (other) Reserved for future use Figure 14: Custody Signal Reason Codes 35

36 Τα υπόλοιπα πεδία δείχνουν τα εξής: Fragment offset-length: Εάν δείχνεται στα administrastive record flags ότι το record αφορά fragment, τότε το offset και το μήκος του fragment μπαίνουν στα αντίστοιχα πεδία. Time of signal:δείχνεται ο χρόνος που δημιουργήθηκε το signal. Creation Timestamp of Subject Bundle:Υποδεικνύεται η ώρα δημιουργίας του bundle που προκάλεσε το σήμα. Length of Source Endpoint ID:Το μήκος του EID της πηγής του bundle που προκάλεσε το σήμα. Source Endpoint ID text:το EID της πηγής του bundle που προκάλεσε το σήμα. 2.5 Δημιουργία των Administrative Records Για την δημιουργία των administrative records τα οποία παράγονται από το administrative στοιχείο του ΑΑ (application agent) κατευθυνόμενο από τον ΒPA ακολουθείται η παρακάτω διαδικασία: Βήμα 1:Κατασκευάζεται το administrative record.εάν το bundle στο οποίο αναφέρεται το record είναι fragment τότε το fragment flag των administrative record flags πρέπει να είναι 1 και τα πεδία fragment offset kai length πρέπει να πάρουνε τιμές. Βήμα 2:Ζητείται από τον BPA η αποστολή ενός bundle που ως payload έχει το administrative record. 2.6 Reception of Custody Signals Για κάθε λαμβανόμενο custody σήμα με το flag custody transfer succeded να είναι 1, το administrative στοιχείο του ΑΑ κατευθύνει τον BPA να ακολουθήσει τη διαδικασία Custody Transfer Success που είδαμε παραπάνω.εάν το flag είναι 0 τότε ο BPA ακολουθεί τη διαδικασία Custody Transfer Failure που είδαμε παραπάνω. 36

37 ΚΕΦΑΛΑΙΟ 3 ΑΣΦΑΛΕΙΑ ΔΙΚΤΥΩΝ DTN Όπως είδαμε το πρωτόκολλο bundle λειτουργεί επάνω από τα πρωτόκολλα μεταφοράς του δικτύου (convergence layers) και ως εκ τούτου και επάνω από τα πρωτόκολλα του δικτύου (network-specific layers) καθιστόντας δυνατή την επικοινωνία μεταξύ εφαρμογών διαφορετικών δικτύων τα οποία εκτείνονται σε ένα DTN. Το απαιτητικό περιβάλλον των υποκείμενων δικτύων στα οποία λειτουργεί το bundle protocol καθιστά σημαντικό για το DTN να προστατεύεται από μη εξουσιοδοτημένη χρήση και οι προκλήσεις είναι μεγάλες σε τέτοια περιβάλλοντα όσον αφορά τους μηχανισμούς που χρειάζονται για την ασφάλεια του πρωτoκόλλου.επιπλέον τα DTNs μπορεί πολύ πιθανόν να αναπτυχθούν σε περιβάλλοντα όπου τμήμα του δικτύου μπορεί να βρεθεί σε κίνδυνο θέτοντας έτσι θέματα ασφαλείας που σχετίζονται με την εμπιστευτικότητα,την ακεραιότητα και τη διαθεσιμότητα. Για την ασφάλεια λοιπόν του πρωτοκόλλου ορίζεται το bundle security protocol (BSP) [11], το οποίο παρέχει στο bundle protocol υπηρεσίες για την ακεραιότητα των δεδομένων και την εμπιστευτικότητα.διαφορετικές επεξεργασίες ασφαλείας ισχύουν για διαφορετικού τύπου μπλοκ ενός bundle,όπως για παράδειγμα ενός payload μπλοκ και ενός extension μπλοκ. Το BSP ισχύει για τους κόμβους οι οποίοι το υλοποιούν και λέγονται security-aware κόμβοι. Σε ένα DTN δίκτυο ενδέχεται να υπάρχουν και κόμβοι που δεν υλοποιούν το BSP, όλοι όμως οι κόμβοι μπορούν να επικοινωνούν με τη διαφορά ότι οι λειτουργίες ασφαλείας γίνονται μόνο στους security-aware κόμβους. Ένας κόμβος που προσθέτει ένα μπλοκ ασφαλείας στο bundle λέγεται security-source,ενώ όταν ένας κόμβος επεξεργάζεται ένα τέτοιο μπλοκ λέγεται security-destination, ενώ το μονοπάτι διαμέσου securityaware κόμβων από τον security-source στον security-destination λέγεται security-path. 3.1 Bundle Security Protocol Specification Ένα πακέτο bundle μπορεί να έχει πολλαπλά μπλοκ ασφαλείας.h security-source ενός μπλοκ ασφαλείας ενός bundle μπορεί να είναι ίδια ή διαφορετική από την security-source ενός άλλου μπλοκ ασφαλείας του ίδιου bundle.το ίδιο ισχύει και για τον security-destination κόμβο.έτσι και τα securitypath διαφορετικών μπλοκ ασφαλείας μπορεί να είναι διαφορετικά μεταξύ τους.για παράδειγμα, έστω το παρακάτω δίκτυο: BN1 v ^ BN2 v ^ BN3 v ^ BN v-+ +-^ v-+ +-^ v-+ +-^ T1 v + ^ T1/T2 v + ^ T2/T3 v ^ T v-+ +-^ v-+ +-^ v + +-^ N1 v ^ N1/N2 v ^ N2/N3 v ^ N v-+ +-^ v + +-^ v-+ +-^ >>>>>>>>^ >>>>>>>>>>^ >>>>>>>>^ <-- An Internet ---> <--- An Internet ---> 37

38 BN = "Bundle Node" as defined in the Bundle Protocol Specification Figure 1: Bundle Nodes Sit at the Application layer of the Internet Model Αν το πακέτο που προέρχεται από τον κόμβο BN1 έχει μπλοκ ασφαλείας από το BN1 που προορίζεται για επεξεργασία στο BN3, και ο BN2 προσθέτει ένα άλλο μπλοκ ασφαλείας με securitydestination τον BN4, τα security-paths των δύο μπλοκ δεν συμπίπτουν απολύτως. Οι κόμβοι που δεν υλοποιούν την ασφάλεια (non security-aware) προωθούν τα πακέτα χωρίς να αλλάξουν τα μπλοκ ασφάλειας του, εκτός και αν τα processing flags των μπλοκ επιτάσσουν κάτι διαφορετικό.εάν ένα δίκτυο έχει και τέτοιους κόμβους θα πρέπει τα proc.flags των security μπλοκ να διαμορφώνονται έτσι ώστε τα μπλοκ να μην απορρίπτονται επειδή δεν μπορούν να επεξεργαστούν σε αυτούς. 3.2 Security Blocks Υπάρχουν 4 τύποι μπλοκ ασφαλείας που μπορεί να έχει ένα bundle, το Bundle Authentication Block (BAB), το Payload Integrity Block (PIB), το Payload Confidentiality Block (PCB), και το Extension Security Block (ESB). Κάθε τέτοιο μπλοκ χρησιμοποιεί το Canonical Bundle Block Format (βλ. Bundle Protocol Specification.κεφ.2) που όπως είδαμε έχει τα παρακάτω πεδία: o Block-type code o Block processing control flags o Block EID-reference list (OPTIONAL) o Block data length o Block-type-specific data fields Block-type code Τα block-type codes για τα security block είναι τα εξής: BundleAuthenticationBlock - BAB: 0x02 PayloadIntegrityBlock - PIB: 0x03 PayloadConfidentialityBlock - PCB: 0x04 ExtensionSecurityBlock - ESB: 0x09 Block Processing Control Flags 38

39 Είναι τα ίδια όπως σε όλα τα μπλοκ εκτός του πρωτεύοντος. Block EID-reference list (OPTIONAL) Περιέχουν τον security-source και τον security-destination.εάν αυτά τα πεδία παραλείπονται τότε θεωρούντα ως security-source και security-destination η πηγή και ο προορισμός του πακέτου. Block data length Παρουσιάζει το μήκος όλων των υπόλοιπων πεδίων του μπλοκ (όπωςγίνεται σε κάθε μπλοκ). Block-type-specific data fields Σε αυτό το πεδίο περιέχονται τα παρακάτω: Ciphersuite ID Ciphersuite flags Correlator (optional)-χρησιμοποιείται όταν το bundle είναι fragmented Ciphersuite parameters length-data (optional) Security result length-data (optional) **Cipheruite ID: Περιέχεται το ID του ciphersuite που χρησιμοποιείται **Cipheruite flags:το πεδίο αυτό αποτελείται από 7 bit reserved src dest parm corr res Figure 3: Ciphersuite Flags bit0:δείχνει εάν υπάρχουν ή όχι τα πεδία security result length-data bit1:δείχνει εάν υπάρχει ή όχι ο correlator bit2:δείχνει εάν υπάρχουν ή όχι τα πεδία ciphersuite length-data bit3:δείχνει εάν υπάρχει security-destination bit4:δείχνει εάν υπάρχει security-source bit5-6:για μελλοντική χρήση **Correlator: Χρησιμοποιείται για να συνδέει σχετικά στιγμιότυπα ενός μπλοκ ασφαλείας **Ciphersuite parameters length:περιέχει το μήκος του πεδίου parameters data **Ciphersuite parameters data : Περιέχονται οι παράμετροι που χρησιμοποιούνται με το ciphersuite, 39

40 όπως ένα αναγνωριστικό κλειδί, ένας initialization vector κλπ. **Security result length:περιέχει το μήκος του πεδίου security result data. **Security result data : Περιέχονται τα αποτελέσματα των υπολογισμών από το ciphersuite, όπως signature, MAC, ένα κρυπτογραφημένο κλειδί. Οπότε ένα μπλοκ security έχει την παρακάτω δομή : type flags (SDNV) EID-ref list(comp) length (SDNV) ciphersuite (SDNV) ciphersuite flags (SDNV) correlator (SDNV) params len(sdnv) ciphersuite params data res-len (SDNV) security-result data Bundle Authentication Block (BAB) Το μπλοκ αυτό χρησιμοποιείται για να διασφαλίσει την αυθεντικότητα και την ακεραιότητα του πακέτου (authenticity and integrity), κατά μήκος ενός hop από τον κόμβο που το προωθεί στον ενδιάμεσο παραλήπτη του. Όταν υπάρχει ένα μόνο μπλοκ BAB στο bundle τότε: To block type code πεδίο πρέπει να έχει την τιμή 2. Τα processing flags παίρνουν τιμές ανάλογες της τοπικής πολιτικής του κόμβου (local policy). To ciphersuite ID πρέπει να τεκμηριώνεται σαν ένα hop-by-hop authentication-ciphersuite που χρειάζεται ένα μόνο μπλοκ bab. To πεδίο correlator δεν υπάρχει. Υπάρχουν τα ciphersuite-parameters εάν διευκρινίζονται από το ciphersuite. Μπορεί να υπάρχουν τα ΕΙD για το security-source και destination. Τα security results πρέπει να υπάρχουν εφόσον έχει γίνει η επεξεργασία και οι υπολογισμοί από το ciphersuite. Όταν υπάρχουν δύο μπλοκ BAB τότε : Tο πρώτο μπλοκ είναι μπροστά από το payload του bundle και έχει τη δομή που περιγράφηκε παραπάνω εκτός της τιμής του Ciphersuite ID που πρέπει να δείχνει ότι χρειάζεται δύο μπλοκ bab.επιπροσθέτως υπάρχει το πεδίο correlator ενώ τα πεδία των security results παραείπονται. Το δέυτερο μπλοκ βρίσκεται μετά το payload έχει και αυτό το πεδίο correlator που έχει την ίδια τιμή με αυτή του πρώτου μπλοκ και πρέπει να περιέχει και τα πεδία security 40

41 results.οποιοδήποτε άλλο προαιρετικό πεδίο δεν πρέπει να υπάρχει σε αυτό το μπλοκ και αυτό το μπλοκ πρέπει να είναι το τελευταίο του bundle. Payload Integrity Block (PIB) Το μπλοκ αυτό χρησιμοποιείται για να διασφαλίσει την αυθεντικότητα και την ακεραιότητα του payload του πακέτου (authenticity and integrity), από το security-source στον security-destination κόμβο. To block type code πεδίο πρέπει να έχει την τιμή 3. Τα processing flags παίρνουν τιμές ανάλoγες της τοπικής πολιτικής του κόμβου (local policy). To ciphersuite ID πρέπει να τεκμηριώνεται σαν ένα end-to-end authentication-ciphersuite To πεδίο correlator δεν υπάρχει εάν δεν υπάρχει άλλο PIB στο πακέτο. Υπάρχουν τα ciphersuite-parameters εάν διευκρινίζονται από το ciphersuite. Μπορεί να υπάρχουν τα ΕΙD για το security-source και destination. Τα security results πρέπει να υπάρχουν εφόσον έχει γίνει η επεξεργασία και οι υπολογισμοί από το ciphersuite και δεν υπάρχει άλλο PIB. Εάν υπάρχει άλλο PIB τότε ακολoυθείται ίδια διαδικασία όπως και στο BAB. Payload Confidentiality Block (PCB) Το μπλοκ αυτό χρησιμοποιείται για να διασφαλίσει την εμπιστευτικότητα του payload του πακέτου.o κόμβος που στέλνει το πακέτο χρησιμοποιεί ένα confidentiality ciphersuite για να κρυπτογραφήσει το ωφέλιμο φορτίο χρησιμοποιώντας ένα τυχαίο κλειδί κρυπτογράφησης (Βundle Εncrypted Κey) και ένα information key που τοποθετείται στο πεδίο security parameters του PCB για τη μεταφορά του κρυπτογραφημένου BEK με κάποιο γνωστό δημόσιο κλειδί. Σε περίπτωση που ούτε ο προορισμός ούτε ο security-destination επιλύουν το κλειδί για την αποκρυπτογράφηση, το information key μπορεί επίσης να χρησιμοποιηθεί για να δείχνει τo κλειδί αποκρυπτογράφησης με τo οποίo το ΒΕΚ μπορεί να ανακτηθεί.έτσι μετά την επεξεργασία του ciphersuite προκύπτουν το κρυπτογραφημένο payload που αντικαθιστά το κανονικό και τα security results (κρυπτογραφημένο κλειδί, κλπ) που τοποθετούνται PCB.Συνιστάται επίσης να χρησιμοποιούνται και μηχανισμοί για την ακεραιότητα των δεδομένων σε συνδυασμό με την εμπιστευτικότητα και όχι ciphersuites που υλοποιούν μόνο την κρυπτογράφηση τους. To PCB παίρνει τις παρακάτω τιμές: To block type code πεδίο πρέπει να έχει την τιμή 4. Τα processing flags παίρνουν τιμές ανάλoγες της τοπικής πολιτικής του κόμβου (local policy). To ciphersuite ID πρέπει να τεκμηριώνεται σαν ένα confidentiality-ciphersuite. To πεδίο correlator δεν υπάρχει εάν δεν υπάρχει άλλο PCB στο πακέτο.εάν υπάρχει και άλλο PCB τότε το information key τοποθετείται στο πρώτο μπλοκ. Υπάρχουν τα ciphersuite-parameters. Μπορεί να υπάρχουν τα ΕΙD για το security-source και destination. 41

42 Τα security results, όπως το κρυπτογραφημένο BEK,πρέπει να υπάρχουν εφόσον έχει γίνει η επεξεργασία και οι υπολογισμοί από το ciphersuite. Στον προορισμό του bundle ακολουθείται η αντίστροφη διαδικασία.το payload αποκρυπτογραφείται χρησιμοποιώντας τις πληροφορίες του PCB και συμπεριλαμβανομένης και της επαλήθευσης παίρνει τη θέση του κρυπτογραφημένου payload στο bundle. Extension Security Block To μπλοκ αυτό χρησιμοποιείται για να διασφαλίσει την εμπιστευτικότητα για τα μπλοκ εκτός του payload και του πρωτεύοντος (primary) ενός bundle.ο μηχανισμοί προστασίας των ESBs είναι παρόμοιοι με με αυτούς των άλλων μπλοκ ασφαλείας με δύο όμως βασικές διαφορές: Χρησιμοποιείται διαφορετικό κλειδί (όχι το ίδιο του PCB για παράδειγμα). Το μπλοκ δεν κρυπρογραφείται με το payload. O κόμβος που στέλνει το πακέτο χρησιμοποιεί ένα confidentiality ciphersuite για να κρυπτογραφήσει το extension block του bundle χρησιμοποιώντας ένα τυχαίο κλειδί κρυπτογράφησης (Βundle Εncrypted Κey) και ένα information key που τοποθετείται στο πεδίο security parameters του PCB για τη μεταφορά του κρυπτογραφημένου BEK με κάποιο γνωστό δημόσιο κλειδί. Σε περίπτωση που ούτε ο προορισμός ούτε ο security-destination επιλύουν το κλειδί για την αποκρυπτογράφηση, το information key μπορεί επίσης να χρησιμοποιηθεί για να δείχνει τo κλειδί αποκρυπτογράφησης με τo οποίo το ΒΕΚ μπορεί να ανακτηθεί.έτσι μετά την επεξεργασία προκύπτει το ESB που περιέχει στα security results τα κρυπτογραφημένα δεδομένα του αρχικού μπλοκ και αντικαθιστά το αρχικό μπλοκ.συνιστάται επίσης να χρησιμοποιούνται και μηχανισμοί για την ακεραιότητα των δεδομένων σε συνδυασμό με την εμπιστευτικότητα και όχι ciphersuites που υλοποιούν μόνο την κρυπτογράφηση τους. To ΕSB παίρνει τις παρακάτω τιμές: To block type code πεδίο πρέπει να έχει την τιμή 9. Τα ciphersuite flags δείχνουν ποια πεδία υπάρχουν στο μπλοκ. To ciphersuite ID πρέπει να τεκμηριώνεται σαν ένα confidentiality-ciphersuite. Υπάρχουν τα ciphersuite-parameters. Μπορεί να υπάρχουν τα ΕΙD για το security-source και destination. Τα security results, όπως το κρυπτογραφημένο BEK,πρέπει να υπάρχουν εφόσον έχει γίνει η επεξεργασία και οι υπολογισμοί από το ciphersuite. Στον προορισμό του bundle ακολουθείται η αντίστροφη διαδικασία.το ΕSB αποκρυπτογραφείται και αντικαθιστάται από τα αποκρυπτογραφημένα δεδομένα. 42

43 3.3 Parameters and Result Fields Διάφορα ciphersuites περιλαμβάνουν διάφορα στοιχεία στα πεδία των security results και parameters.κάθε στοιχείο περιλαμβάνει 3 τιμές: type-length-value.το πεδίο type είναι ενός byte και οι τιμές του αντιπροσωπεύουν τα εξής: 0: reserved 1: initialization vector (IV) 2: reserved 3: key-information 4: fragment-range (offset and length as a pair of SDNVs) 5: integrity signature 6: unassigned 7: salt 8: PCB integrity check value (ICV) 9: reserved 10: encapsulated block 11: block type of encapsulated block : reserved : private use : reserved Το πεδίο length δείχνει πόσα bytes είναι η τιμή (value) που ακολουθεί και η τιμή έχει την πληροφορία του στοιχείου. Οι παρακάτω διευκρινίσεις ισχύουν για τα στοιχεία που χρησιμοποιούνται σε όλα τα ciphersuites: -IV:τυχαία τιμή από 8 μέχρι 16 bytes -Key-information:κλειδί το οποίο έχει προκύψει από την κρυπτογράφηση του τυχαίου κλειδιου με το οποίο έχει κρυπτογραφηθεί η πληροφορία με ένα π.χ δημόσιο κλειδί. -Fragment-range:τιμή 2 bytes (offset -length) που δείχνει το μήκος του payload που προστατεύεται. -integrity signature:αποτέλεσμα των BAB,PIB ciphersuites. -salt:σαν το IV που χρησιμοποιείται από ορισμένα ciphersuite. -ICV:αποτέλεσμα confidentiality ciphersuit που χρησιμοποιείται στον προορισμό για να διαπιστωθεί αν άλλαξε η μεταφερόμενη πληροφορία. -encapsulated block:περιέχει το κρυπτογραφημένο μπλοκ. -block type of encapsulated block:περιέχει τον τύπο του μπλοκ που έχει γίνει encapsulated σε ένα ΕSB. Policy 3.4 Security Processing Όλοι οι κόμβοι χρειάζεται να έχουν τη δική τους πολιτική όσον αφορά την ασφάλεια των πακέτων bundles.h πολιτική αυτή πρέπει να καθορίζει τι γίνεται, με τα πακέτα που έχουν ως προορισμό τον 43

44 κόμβο, με τα πακέτα που δημιουργούνται στον κόμβο και αποστέλλονται και με τα πακέτα που φθάνουν σε αυτόν και πρωοθούνται περαιτέρω σε άλλους κόμβους. Θα πρέπει δηλαδή να καθορίσουν αν τα πακέτα που λαμβάνουν πρέπει να έχουν κάποιο security block (ΒΑΒ,PIB,PCB,ESB) και αν δεν το έχουν να τα απορρίπτουν.επίσης και στα πακέτα που στέλνονται πρέπει να καθοριστεί ποια μπλοκ ασφαλείας θα υπάρχουν (ΒΑΒ,PIB,PCB,ESB). Processing Order of Security Blocks Γενικά, η επεξεργασία των πακέτων ασφαλείας στον προορισμό τους, θα πρέπει να γίνεται με την αντίστροφη σειρά της επεξεργασίας που έγινε στην πηγή τους.υπάρχουν ωστόσο μερικές διαφοροποιήσεις και εξαιρέσεις που επισημαίνονται παρακάτω: Η σειρά των payload,primary,pcb,pib μπλοκ διατηρείται σε οποιονδήποτε κόμβο security-aware ή όχι.για οποιαδήποτε άλλα extension block και ΕSB αυτό δεν ισχύει.τα security blocks προστίθονται και αφαιρούνται από ένα bundle με LIFO (last in-first out) με τον δείκτη της στοίβας να είναι αμέσως μετά το primary block.όταν προστίθεται κάποιο security block προστίθεται αμέσως μετά το primary block.όταν λαμβάνεται το bundle από κάποιο κόμβο αυτός επεξεργάζεται πρώτα τα security μπλοκ από την κορυφή της στοίβας και μόλις τελειώσει προχωράει στα επόμενα μέχρις ότου να μείνουν μόνο τα primary και payload block.για παράδειγμα, έστω ότι έχουμε ένα bundle με την εξής σειρά των μπλοκ primary-bab-pib-pcb-payload ταξιδεύοντας από έναν κόμβο με προορισμό έναν άλλον που ανάμεσά τους υπάρχει και ένας ενδιάμεσος κόμβος.όταν φθάσει το πακέτο στον μεσαίο κόμβο τότε αυτός επεξεργαζεται το BAB το επικυρώνει και το αφαιρεί από τη στοίβα.τα πακέτα όμως PCB,PIB έχοντας προορισμό τον παρακάτω κόμβο δεν μπορούν να επεξεργαστούν και να αφαιρεθούν από τον ενδιάμεσο.ύστερα ξεκινάει η αποστολή του πακέτου με τα 4 εναπομείναντα μπλοκ, εκτός και αν η πολιτική του κόμβου για τα εξερχόμενα πακέτα (outbound policy) επιτάσσει να προστεθεί και άλλο security block (αμέσως μετά το primary), που έστω αυτό είναι ένα PIB σαν πιστοποίηση ότι το bundle πέρασε από τον κόμβο.έτσι στον κόμβο προορισμού φθάνει το πακέτο με σειρά μπλοκ primary-pib- PIB-PCB-payload.Επεξεργάζεται πρώτα το PIB του ενδιάμεσου κόμβου ύστερα το PIB της πηγής και τελευταίο το PCB που επιτρέπει την αποκρυπτογράφηση του payload ώστε το bundle να γίνει delivered σε κάποια εφαρμογή (βλ. Κεφ.2). Στην πραγματικότητα όμως οι ενέργειες κατά την επεξεργασία ενός bundle με security blocks χωρίζονται σε δυο κατηγορίες:αυτές που είναι πλήρως αναστρέψιμες,όπως το να προστεθεί ένα PIB (signature) που δεν επηρεάζει το περιεχόμενο του bunlde (payload), και αυτές που επηρεάζουν το περιεχόμενο,όπως η κρυπτογράφηση του payload το οποίο χρειάζεται τις πληροφορίες του PCB για να αποκρυπτογραφηθεί. Αν και περιγράψαμε τη σειρά των μπλοκ ασφαλείας σαν μια στοίβα υπάρχουν κάποια μπλοκ που τοποθετούνται μετά το payload του bundle και έτσι δεν είναι στη στοίβα.για παράδειγμα το ΒΑΒ ciphersuite ενδέχεται να χρειάζεται ένα δεύτερο correlated block αμέσως μετά το payload που περιέχει το security result.οπότε τα μόνα μπλοκ που πρέπει να μπαίνουν μετά το payload είναι αυτά που ορίζονται από το κάθε ciphersuite. 3.5 Canonicalization of Bundles Για να ελεγχθεί η υπογραφή (signature) ή η MAC σε ένα bundle, τα ίδια ακριβώς bits στην ίδια ακριβώς σειρά πρέπει να εισάγονται στον υπολογισμό κατά την επαλήθευση, όπως εισήχθησαν κατά 44

45 τον αρχικό υπολογισμό της αρχικής υπογραφής ή της MAC.Για να γίνει αυτό χρησιμοποιούνται τα 2 είδη αλγορίθμων στα ciphersuites. Strict Canonicalization Αυτός ο αλγόριθμος δεν επιτρέπει καμία αλλαγή στο bundle από τον security-source στον securitydestination και χρησιμοποιείται κυρίως από τα BAB ciphersuites.εννοιολογικά, δένει όλα τα μπλοκ με τη σειρά που παρουσιάζονται, αλλά παραλείπει όλα τα security-result πεδία στα μπλοκ ασφαλείας αυτού του ciphersuite.δηλαδή όταν ένα BAB ciphersuite χρησιμοποιεί αυτόν τον αλγόριθμο παραλείπονται όλα τα security-result πεδία στα BAB μπλοκ. Mutable Canonicalization Ο αλγόριθμος αυτός χρησιμοποιείται για να προστατέψει μέρη του bundle που δεν πρέπει να αλλάξουν κατά τη μεταφορά του.η βασική προσέγγιση είναι να καθοριστεί μια κανονικoποιημένη μορφή του primary μπλοκ και να συνδεθεί με τα security blocks (PIBs και PCBs μόνο) και το payload μπλοκ στη σειρά που θα διαβιβαστούν. Αυτός ο αλγόριθμος αγνοεί όλα τα άλλα μπλοκ, συμπεριλαμβανομένων των ESBs, διότι δεν μπορεί να προσδιορίζεται κατά πόσον ή όχι θα αλλάζουν, καθώς το bundle μεταφέρεται στο δίκτυο. Εν ολίγοις, αυτή η κανονικοποίηση προστατεύει το ωφέλιμο φορτίο (payload), τα μπλοκ ασφαλείας που σχετίζοντα με αυτό (PIB,PCB) και μέρος του primary μπλοκ. 3.6 Bundles Received from Other Nodes Όπως είδαμε κάθε κόμβος καθορίζει την πολιτική της ασφάλειας που ακολουθεί.εάν ένα πακέτο που φθάνει σε έναν κόμβο δεν έχει BAB και η πολιτική του κόμβου δεν επιτάσσει να υπάρχει το μπλοκ αυτό στο bundle,τότε η επεξεργασία του BAB παραλείπεται και συνεχίζεται η επεξεργασία του bundle.το ίδιο γίνεται και αν το πακέτο έχει BAB αλλά η πολιτική του κόμβου δεν επιτάσσει να υπάρχει.εάν πρέπει να υπάρχει BAB και το πακέτο δεν έχει, θα πρέπει να απορρίπτεται και να σταματάει η περαιτέρω επεξεργασία.το ίδιο πρέπει να γίνεται αν υπάρχει BAB αλλά o securitydestination του μπλοκ είναι διαφορετκός του παρόντος κόμβου.εάν είναι ίδιος ο destination με τον κόμβο ή δεν υπάρχει destination,τότε γίνεται ο ελέγχος των security-results και αν αποτύχει το πακέτο απορρίπτεται,ενώ αν γίνει η επαλήθευση προχωράει η επεξεργασία του πακέτου.τα BABs των προηγούμενων κόμβων πρέπει να αφαιρούνται και να προστίθονται BABs του παρόντος κόμβου εάν έχει τέτοια πολιτική, πρωτού ξεκινήσει η περαιτέρω πρωόθηση του πακέτου. Εάν ένα bundle που φθάνει σε έναν κόμβο έχει PCB και ο κόμβος είναι ο προορισμός του πακέτου (είτε αυτό διευκρινίζεται στο security-destination πεδίο του μπλοκ,είτε είναι ο προορισμός του πακέτου και δεν υπάρχει πεδίο στο μπλοκ PCB), ο κόμβος πρέπει να αποκρυπτογραφήσει τα σχετικά μέρη του bundle (payload) με το κατάλληλο ciphersuite χρησιμοποιώντας τα στοιχεία του μπλοκ.εάν αυτό γίνει με επιτυχία το PCB διαγράφεται, εάνόμως αποτύχει η αποκρυπτογράφηση τότε όλο το bundle πρέπει να απορριφθεί και να παραχθεί μιία αναφορά bundle deletion status report (βλ.κεφ 2) δείχνοντας ότι απέτυχε η αποκρυπτογράφηση. Εάν ένα bundle που φθάνει σε έναν κόμβο έχει ένα ή περισσότερα PΙB και ο κόμβος είναι ο PIBπροορισμός (είτε αυτό διευκρινίζεται στο security-destination πεδίο του μπλοκ,είτε είναι ο προορισμός 45

46 του πακέτου και δεν υπάρχει πεδίο στο μπλοκ PIB), ο κόμβος πρέπει να επαληθεύσει με το κατάλληλο ciphersuite την τιμή των security-results του μπλοκ.εάν αυτό γίνει με επιτυχία το PIB διαγράφεται και συνεχίζεται η επεξεργασία του πακέτου με forwarding ή delivery (βλ.κεφ 2). Εάν όμως αποτύχει ο έλεγχος και η επεξεργασία του bundle πρέπει να συνεχίσει αναλόγως με την πολιτική ασφαλείας του κόμβου.εάν ο κόμβος δεν είναι ο προορσιμός του πακέτου τότε μπορεί να προσπαθήσει να κάνει τον παραπάνω έλεγχο και αν αυτός αποτύχει τότε όλο το bundle πρέπει να απορριφθεί και να παραχθεί σχετική αναφορά. Εάν ένα bundle που φθάνει σε έναν κόμβο έχει ESB και ο κόμβος είναι ο προορισμός του πακέτου (είτε αυτό διευκρινίζεται στο security-destination πεδίο του μπλοκ,είτε είναι ο προορισμός του πακέτου και δεν υπάρχει πεδίο στο μπλοκ ESB), ο κόμβος πρέπει να αποκρυπτογραφήσει με το κατάλληλο ciphersuite τα δεδομένα μπλοκ.εάν αυτό γίνει με επιτυχία το αποκρυπτογραφημένο μπλοκ παίρνει τη θέση του ESB στη σειρά των μπλοκ και το ESB διαγράφεται. Εάν όμως αποτύχει η αποκρυπτογράφηση των περιεχομένων του μπλοκ τότε όλο το bundle πρέπει να απορριφθεί και να παραχθεί μιία αναφορά bundle deletion status report δείχνοντας ότι απέτυχε η αποκρυπτογράφηση. 3.7 Bundle Fragmentation and Reassembly Εάν ένα bundle πρέπει να υποστεί fragmentation και έχει security blocks τότε πρέπει να ακολουθηθεί η διαδικασία που αναφέρεται στο κεφάλαιο 2.Υφίσταται fragmentation μόνο το payload του bundle και όχι τα security blocks.οι απαιτήσεις της πολιτικής ασφαλείας για ένα bundle πρέπει να εφαρμόζονται χωριστά σε όλα τα πακέτα που προέρχονται από ένα γεγονός κατακερματισμού.εάν το αρχικό bundle περιείχε ένα ή περισσότερα PCB, τότε κάθε PCB που περιέχει ένα βασικό στοιχείο key-information πρέπει να έχει το flag "replicate in every fragment ", και έτσι να επαναλαμβάνεται σε κάθε θραύσμα (fragment). Αυτό γίνεται για να εξασφαλιστεί ότι η κανονική μπλοκ-ακολουθία μπορεί να ανακτηθεί κατά τη συναρμολόγηση.αν το αρχικό πακέτο περιείχε PIB, τότε στιγμιότυπα του PIB πρέπει να περιλαμβάνονται στα fragments. 3.8 Attack Models Η ανθεκτικότητα στο κρυπτογραφικές επιθέσεις εξαρτάται από τους αλγόριθμους που έχουν επιλεγεί για την προστασία των δεδομένων και για τη μεταφορά των κλειδιών. Τα υποχρεωτικά ciphersuites που περιγράφονται παρακάτω κάνουν χρήση AES, RSA, και SHA αλγορίθμων με τρόπους που πιστεύεται ότι είναι ασφαλείς κατά ciphertext-only, chosen-ciphertext, known-plaintext, και chosenplaintext επιθέσεων. 3.9 Mandatory Ciphersuites Υπάρχει ένα mandatory ciphersuite για χρήση με καθένα από τα security blocks BAB, PIB, PCB, και ESB. To BAB ciphersuite βασίζεται σε shared secrets χρησιμοποιώντας HMAC [19],το PIB ciphersuite βασίζεται στη χρήση ψηφιακών υπογραφών (digital signatures) RSA με SHA-256 [21].Τα 46

47 ciphersuites PCB και ESB βασίζονται στη χρήση του RSA [18], για τη μεταφορά των κλειδιών και στον AES [17], για την κρυπτογράφηση.tα ciphersuites χρησιμοποιούν τους μηχανισμούς που ορίζονται στο Cryptographic Message Syntax (CMS) [20], για τη συσκευασία των κλειδιών, τις υπογραφές, κλπ. ΒΑΒ-ΗΜΑC Το ciphersuite αυτό έχει τα εξής χαρακτηριστικά: -H τιμή του ciphersuite ID είναι 1. -Χρησιμοποιεί τον αλγόριθμο strict canonicalization ο οποίος περιγράφηκε πιο πάνω. -Η παραλλαγή του HMAC που χρησιμοποιεί έιναι η HMAC-SHA1. -Χρησιμοποιεί δύο στιγμιότυπα του BAB.Τοποθετεί το πρώτο στιγμιότυπο αμέσως μετά το primary block και το δεύτερο (correlated) μετά από όλα τα μπλοκ του bundle,δηλαδή κανονικά το bab θα είναι το δεύτερο και τελευταίο μπλοκ του bundle. -Το security result που τοποθετείται στο bab είναι το αποτέλεσμα των υπολογισμών του HMAC- SHA1 που παίρνει ως είσοδο το αποτέλεσμα του strict canonicalization αλγορίθμου.και τα δύο στιγμιότυπα του bab πρέπει να έχουν τοποθετηθεί πριν το canonicalization ώστε να υποδεχθούν το security-result. -Λόγω της απουσίας του στοιχείου key-information ο παραλήπτης αναμένεται να βρεί το σωστό κλειδί βασισμένος στην απεσταλμένη ταυτότητα που μπορεί να είναι γνωστή από το security-source πεδίο του bab ή από προηγούμενο μπλοκ του πακέτου (primary). PIB-RSA-SHA256 Το ciphersuite αυτό έχει τα εξής χαρακτηριστικά: -H τιμή του ciphersuite ID είναι 2. -Χρειάζεται ένα PIB. -Χρησιμοποιεί τον αλγόριθμο mutable canonicalization για το κάθε μπλοκ ο οποίος περιγράφηκε πιο πάνω και το αποτέλεσμα της κανονικοποίησης (SignedData) είναι η είσοδος για την διαδικασία υπογραφής. -H διαδικασία υπογραφής χρησιμοποιεί τον αλγόριθμο RSA με SHA256 -Το security result που τοποθετείται στο μπλοκ, είναι το SignatureValue, το αποτέλεσμα δηλαδή της διαδικασίας υπογραφής και το στοιχείο key-information.. -Εάν το bundle που έχει γίνει signed αποτελεί fragment πρέπει να δείχνει ποια bytes έχουν γίνει signed. PCB-RSA-AES128-PAYLOAD-PIB-PCB Το ciphersuite αυτό έχει τα εξής χαρακτηριστικά: -H τιμή του ciphersuite ID είναι 3. -Κρυπτογραφεί τα PIBs,PCBs, και τo payload. -To μέγεθος του κλειδιού είναι 128 bits. -H κρυπτογράφηση γίνεται χρησιμοποιώντας τον αλγόριθμο AES με ένα μυστικό κλειδί 16 byte,έναν τυχαίο initialization vector (IV) 8 byte,μια τυχαία τιμή 4 byte salt και ένα plaintext. 47

48 -H αποκρυπτογράφηση έχει εξόδους τα κρυπτογραφημένα δεδομένα (ciphertext) και ένα authentication tag γνωστό και ως integrity check value (ICV) 16 byte που χρησιμοποιείται για να πιστοποιηθεί αν άλλαξαν ή όχι τα προστατευόμενα δεδομένα. -Αντικαθιστά το payload με το κρυπτογραφημένο payload. -Χρειάζεται ένα μόνο PCB. -To PCB περιέχει τα security parameters (key-information,salt,iv,fragment offset) και το security result ICV.Εάν υπάρχουν και άλλα PCB τότε το πρώτο περιέχει τα προαναφερθέντα συν μια τιμή correlator και τα υπόλοιπα PCBs περιέχουν τον ίδιο correlator και μόνο τις παραμέτρους IV και στα result το encapsulated block. -Εάν το bundle που έχει κρυπτογραφηθεί αποτελεί fragment πρέπει να δείχνει ποια bytes είναι κρυπτογραφημένα και θα πρέπει πρώτα να γίνει reassembly και ύστερα αποκρυπτογράφηση. -Μόνο τα bytes του πεδίου payload του μπλοκ payload κρυπτογραφούνται και όχι τα άλλα πεδία του payload block και το ciphertext αντικαθιστά τα payload bytes. -Για την προστασία των PIB,PCB αυτά αντικαθιστώνται από PCB και είναι ενσωματωμένα μμέσα σε αυτά (encapsulated). ESB-RSA-AES128-EXT Το ciphersuite αυτό έχει τα εξής χαρακτηριστικά: -H τιμή του ciphersuite ID είναι 4. -Κρυπτογραφεί μπλοκ εκτός των primary,payload,pcbs,pibs,δηλαδή κρυπτογραφεί τα extension blocks. -To μέγεθος του κλειδιού είναι 128 bits. -H κρυπτογράφηση γίνεται χρησιμοποιώντας τον αλγόριθμο AES με ένα μυστικό κλειδί 16 byte,έναν τυχαίο initialization vector (IV) 8 byte,μια τυχαία τιμή 4 byte salt και ένα plaintext. -H αποκρυπτογράφηση έχει εξόδους τα κρυπτογραφημένα δεδομένα (ciphertext) και ένα authentication tag γνωστό και ως integrity check value (ICV) 16 byte που χρησιμοποιείται για να πιστοποιηθεί αν άλλαξαν ή όχι τα προστατευόμενα δεδομένα. -Αντικαθιστά το extension block με το ESB. 48

49 -To ESB περιέχει τα security parameters (key-information,salt,iv,block type (optional)) και το security result το ενσωματωμένο (encapsulated block).εάν υπάρχουν και άλλα ESB τότε το πρώτο περιέχει τα προαναφερθέντα συν μια τιμή correlator και τα υπόλοιπα ESBs περιέχουν τον ίδιο correlator και μόνο τις παραμέτρους IV,block type και στα result το encapsulated block Key management H διαχείριση των κλειδιών σε DTNs αναγνωρίζεται ως ένα δύσκολο θέμα και δεν έχουν βρεθεί λύσεις. Ωστόσο, μόνο και μόνο για να υποστηριχθεί η παρούσα υλοποίηση ασφάλειας για την εφαρμογή δοκιμών, οι υλοποιήσεις DTN θα πρέπει να υποστηρίζουν: -Τη χρήση των γνωστών RSA δημόσιων κλειδιών για όλα τα ciphersuites. -Long-term pre-shared-symmetric keys για το BAB-HMAC ciphersuite. 49

50 ΚΕΦΑΛΑΙΟ 4 ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΕΝΟΣ DTN ΔΙΚΤΥΟΥ Μέχρι σήμερα υπάρχουν δύο υλοποιήσεις DTN κόμβων οι οποίες υποστηρίζονται από τον οργανισμό DTNRG (Delay Tolerant Network Research Group) [6], της IRTF (Internet Research Task Force) [22].Αυτές οι υλοποιήσεις ονομάζονται DTN2 και ΙΟΝ (Interplanetary Overlay Network) [9]. H DTN2 υλοποιεί το Bundle Protocol ενώ η ION εκτός του Bundle Protocol υλοποιεί και τα LTP (Licklider Transmission Protocol) [5],CCSDS File Delivery Protocol (CFDP) [13],AMS (Asynchronous Message Service). 4.1 Ανάλυση του DTN δικτύου PLANET-ECE Στον σχεδιασμό του δικού μας DTN δικτύου που ονομάζεται planet-ece επιλέξαμε την DTN2 υλοποίηση για τους κόμβους μας καθώς είναι ιδανικότερη για όποιον θέλει να πειραματιστεί με το bundle protocol. Η ανάπτυξη αυτού του δικτύου έγινε με σκοπό να ερευνηθούν θέματα όπως της διαχείρισης ενός τέτοιου δικτύου (network management) και της ασφάλειας του (security). Για την υλοποίηση του δικτύου δημιουργήσαμε 3 κόμβους στους οποίους εγκαταστήσαμε το λογισμικό της DTN2 υλοποίησης, επιλέγοντας οι κόμβοι μας να είναι σε virtual machines παρά σε φυσικά μηχανήματα ώστε να έχουμε ένα εύκολα διαχειρίσιμο και ευέλικτο περιβάλλον και χωρίς να θυσιαστεί κάποια λειτουργία των κόμβων.έτσι για την εγκατάσταση του DTN δικτύου ακολουθήθηκαν τα παρακάτω βήματα: Εγκαταστήσαμε σε ένα host μηχάνημα με επεξεργαστή Intel Pentium 4 συχνότητας 3 GHZ και μνήμη RAM 3GB το λειτουργικό Linux-Ubuntu έκδοσης 9.04 και το λογισμικό της Oracle Virtual Box για τη δημιουργία εικονικών μηχανών. Δημιουργήσαμε με το λογισμικό Virtual Box, 3 εικονικές μηχανές με μέγεθος εικονικού δίσκου 8 GB και μνήμη RAM 384 MB η κάθε μία.σε αυτές τις μηχανές εγκαταστήσαμε το ίδιο λειτουργικό με το host μηχάνημα Linux-Ubuntu έκδοσης Εγκαταστήσαμε στις εικονικές μηχανές τα λογισμικά DTN2 και oasys και διάφορα άλλα λογισμικά και βιβλιοθήκες που απαιτήθηκαν κατά τη διάρκεια της εγκατάστασης των DTN2 και oasys. Το λογισμικό DTN2 χρησιμοποιεί την αρχιτεκτονική Bundle protocol application server για την υλοποίηση του κόμβου, τρέχει δηλαδή σαν διεργασία daemon σε κάθε υπολογιστή (βλ. Κεφ. 2 σελ. 13). Ρύθμιση του δικτύου των εικονικών μηχανών μέσω του virtual box ώστε όλες οι εικονικές μηχανές να επικοινωνούν τόσο μεταξύ τους όσο και με το host μηχάνημα και το διαδίκτυο.αυτό επιτεύχθηκε με την ενεργοποίηση της επιλογής προσαρμογέα δικτύου bridged adapter σε κάθε μία από τις μηχανές. Ρύθμιση των ip διευθύνσεων των μηχανών ώστε να έχουν σταθερή ip.αυτό επιτεύχθηκε 50

51 αλλάζοντας στο αρχείο /etc/network/interfaces κάθε μηχανής τις default τιμές και βάζοντας τις επιθυμητές ip διευθύνσεις, την μάσκα υποδικτύου, και την gateway. Αλλαγή των ρυθμίσεων των dtn κόμβων.κάθε dtn κόμβος στην υλοποίηση με το λογισμικό DTN2 περιέχει ένα αρχείο με όνομα dtn.conf στο οποίο περιέχονται οι διάφορες ρυθμίσεις των κόμβων.έτσι αλλάξαμε το αρχείο αυτό σε κάθε κόμβο προσαρμόζοντάς το στις απαιτήσεις του δικτύου μας ως εξής: 1. Ρυθμίσαμε το EID κάθε κόμβου και έτσι είχαμε 3 EID, ένα για κάθε κόμβο:dtn://planet.ece.1.dtn/,dtn://planet.ece.2.dtn/ και dtn://planet.ece.3.dtn/. 2. Σε κάθε κόμβο ως convergence layer του bundle protocol επιλέξαμε το πρωτόκολλο tcp. 3. Η πόρτα στην οποία ακούει κάθε κόμβος για εισερχόμενα bundles ρυθμίστηκε να είναι η πόρτα Κάθε κόμβος έχει και μια διεπαφή εντολών με την οποία συνδέεται ο χρήστης και δίνει διάφορες εντολές στον daemon για να τον ρυθμίσει ή για να δεί την κατάσταση του κόμβου. Η default διεύθυνση της διεπαφής είναι (localhost) αλλά ρυθμίστηκε σε κάθε κόμβο να είναι η ip του καθενός κόμβου ώστε να μπορούν να δοθούν εντολές και απομακρυσμένα. 5. Ρυθμίσαμε την τοποθεσία του δίσκου στην οποία θα αποθηκεύονται τα bundles. 6. Ρυθμίσαμε σε κάθε κόμβο τα link με τους άλλους κόμβους του δικτύου.έτσι έχουμε έναν μεσαίο κόμβο που συνδέεται με δύο link με τους άλλους δύο κόμβους και οι δύο κόμβοι συνδέονται μόνο με τον μεσαίο (βλ. Φωτ. Τοπολογία δικτύου).τα link ορίσαμε να είναι κατηγορίας ONDEMAND (βλ. Κεφ. 2 σελ 9). 7. Ρυθμίστηκέ το routing σε κάθε κόμβο ώστε να καθοριστεί η διαδρομή της κίνησης σύμφωνα με την τοπολογία του δικτύου. Δημιουργία shell scripts στις μηχανές ώστε οι dtn daemon να αρχίζουν με την εκκίνηση των μηχανών και να δημιουργούνται log files τα οποία αποθηκέυονται στις μηχανές.αυτό επιτεύχθηκε με τη δημιουργία shell scripts τα οποία εκκινούσαν τον daemon και τοποθετήθηκαν στον φάκελο /etc/init.d/ κάθε μηχανής ώστε να εκτελούνται στο startup των μηχανών. Έτσι δημιουργήθηκε το dtn δίκτυο planet-ece, η τοπολογία του οποίου φαίνεται στην εικόνα. Τοπολογία δικτύου planet-ece 51

52 4.2 Ανταλλαγή εσωτερικής κίνησης Αφού έγινε η εγκατάσταση του dtn δικτύου μας planet-ece αρχίσαμε να ανταλλάσουμε κίνηση μεταξύ των κόμβων για να επιβεβαιώσουμε τη σωστή λειτουργία του. Για να γίνει η ανταλλαγή της κίνησης χρησιμοποιήθηκαν DTN εφαρμογές που περιέχονται στην υλοποίηση DTN2 και είναι οι εξής: -dtnsend -dtnping -dtncp -dtnrecv -dtncat -dtncpd -dtnperf -dtntunnel -dtntest -dtnsource -dtnsink Από αυτές τις εφαρμογές οι πιο βασικές που χρησιμοποιήθηκαν στις ανταλλαγές είναι οι dtnsend,dtnrecv,dtnping. Dtnping Με αυτή την εφαρμογή η οποία παίρνει ως ορίσματα το EID προορισμού, τον ενδιάμεσο χρόνο μεταξύ των αποστολών και τον χρόνο expiration του ping bundle στέλνονται 20 bytes στο EID προορισμού.δοκιμάζοντάς το από όλα τα μηχανήματα προς κάθε άλλο μηχάνημα επιβεβαιώσαμε τη σωστή λειτουργία τόσο των κόμβων όσο και των link αλλά και του routing configuration. Dtnsend Αυτή η εφαρμογή παίρνει ως ορίσματα τα EID προορισμού, πηγής,το είδος του payload που μπορεί να είναι κάποιο μήνυμα κειμένου ή κάποιο αρχείο, custody μεταφορά και άλλα που αφορούν τόσο το fragmentation του bundle όσο και τα reports που ζητούνται.έτσι αυτή η εφαρμογή μας επέτρεψε να στείλουμε bundles διαφόρων μεγεθών που κυμαίνονταν από μερικά Kbytes μέχρι και 700 Mbytes ελέγχοντας έτσι την ορθή λειτουργία του δικτύου. Dtnrecv Με αυτή την εφαρμογή μπορούσαμε να ελέγξουμε στους κόμβους προορισμού τα bundles που έφθαναν. Επίσης εκτός από τη χρησιμοποίηση αυτών των εφαρμογών με κατάλληλες εντολές στο command prompt του dtn daemon μπορούσαμε να ελέγξουμε τη λίστα των bundles που έφθαναν,αποστέλλονταν ή πρωοθούνταν από τον κόμβο.αυτό γινόταν με τη σύνδεση στην console command του daemon με τη 52

53 χρήση του προγράμματος telnet και ύστερα την πληκτρολόγηση της εντολής bundle list. Έτσι με τη χρησιμοποίηση των παραπάνω εργαλείων και ύστερα από πολλές δοκιμές και συνδυασμούς επιβεβαιώσαμε την ορθή λειτουργία του dtn δικτύου μας. 4.3 Ανταλλαγή εξωτερικής κίνησης Όπως είδαμε η ανταλλαγή bundles μεταξύ των κόμβων του δικτύου μας ήταν επιτυχής.το επόμενο βήμα ήταν να μπορέσουμε να ανταλλάξουμε κίνηση σε επίπεδο bundle με κόμβους οι οποίοι δεν ανήκουν στο δίκτυο μας. Υπάρχει μια παγκόσμια συλλογή από επίγειους κόμβους DTN που υποστηρίζεται από τον οργανισμό DTNRG και ονομάζεται DTN-bone [7]. Πολλοί οργανισμοί που ασχολούνται με το DTN και έχουν δημιουργήσει κόμβους μπορούν να συνδεθούν στο DTN-bone με σκοπό τον πειραματισμό και την έρευνα στον τομέα αυτό. Στο εγκατεστημένο πλέον δίκτυό μας planet-ece θέλοντας να το συνδέσουμε στο DTN-bone έπρεπε να γίνουν κάποιες περαιτέρω ρυθμίσεις στους κόμβους του προκειμένου να επιτευχθεί η ανταλλαγή της κίνησης.έτσι κάναμε τις απαραίτητες αλλαγές στο dtn.conf αρχείο κάθε κόμβου οι οποίες ήταν: 1. Προσθήκη των link των κόμβων του DTN-bone στον μεσαίο κόμβο ο οποίος έχει EID dtn://planet-ece.1.dtn 2. Ρύθμιση του routing σε όλους τους κόμβους ώστε να εξωτερικέυεται η κίνηση των πακέτων με προορισμό τους DTN-bone κόμβους μέσω του μεσαίου κόμβου. Με αυτές λοιπόν τις αλλαγές στο δίκτυό μας ο μεσαίος κόμβος planet-ece.1 λειτουργεί ως gateway του dtn δικτύου μας με τα άλλα DTN δίκτυα τα οποία είναι συνδεδεμένα στο DTN-bone.Έτσι η νέα τοπολογία του δικτύου μας planet-ece φαίνεται στην παρακάτω εικόνα. Τοπολογία δικτύου planet-ece 53

54 Μερικοί κόμβοι και τα χαρακτηριστικά τους, οι οποίοι είναι συνδεδεμένοι μέχρι σήμερα στο dtnbone δείχνονται παρακάτω: Ohio University Node DNS name or IP address: iongateway.dtnbone.ocp.ohiou.edu ION 1.2 CL: TCP, LTP via UDP Ports 1113/udp ltp-deepspace 4556/tcp dtn-bundle-tcp (ION TCP) CBHE (ipn:) node number: 200 Node DNS name or IP address: quest.its.ohiou.edu ION nightly build DTN2 available CL: UDP, stcp, TCP, LTP via UDP Ports 1113/udp ltp-deepspace 4556/udp dtn-bundle-udp 4556/tcp dtn-bundle-tcp (ION TCP) CBHE (ipn:) node number: 102 Shawnee State University Node DNS name or IP address: shawneeursamajor.org -> Implementation: DTN2 -> CL: TCP, UDP Port: 4556 EID: dtn://earth.dtn Testbed Gateway For: dtn://earth_sat.dtn dtn://moon.dtn dtn://moon_sat.dtn dtn://mars.dtn dtn://mars_sat.dtn dtn://jupiter.dtn dtn://jupiter_sat.dtn 54

55 NASA Glenn Research Center Node: DTN2 ver 2.6 Port 5017; CL: TCP, UDP dtn://unit017.dtn/ ION ver 1.0r203 Port 4556; CL: "s-tcp" ipn:17.1 (not queued) or ipn:17.2 (queued) Viagénie Node DNS name or IP address: reeves.viagenie.ca DTN2 UDP, TCP (Internet Draft version, standard port numbers) IBR, TU Braunschweig Geographic Location: Brunswiek, Germany, OH: , Node DNS name or IP address: dtnbucket.ibr.cs.tu-bs.de ( ) Implementation: IBR-DTN 0.6 EID: dtn://dtnbucket.ibr.cs.tu-bs.de CL: TCP, UDP 4556/tcp 4556/udp Comnet, TKK Geographic location: Espoo, Finland , Node DNS name or IP address: shrek.netlab.hut.fi ΕΙD: dtn://dtnbone.comnet.tkk.fi CL: DTN2 TCP (Internet Draft version) on Standard ports 55

56 Χρησιμοποιώντας τώρα τις διάφορες εφαρμογές ανταλλάξαμε κίνηση σε επίπεδο bundle με τους περισσότερους από τους κόμβους, ελέγχοντας έτσι τη σωστή λειτουργία του δικτύου μας όταν επικοινωνεί με άλλα δίκτυα. Παρακάτω παρατίθενται το αποτέλεσμα ενδεικτικού πειράματος ανταλλαγής ping bundle με τον κόμβο του Comnet,TKK χρησιμοποιώντας την εφαρμογή dtnping: dtnping dtn://dtnbone.comnet.tkk.fi.dtn/ping source_eid [dtn://planet.ece.1.dtn/ping.5024] dtn_register succeeded, regid 974 PING [dtn://dtnbone.comnet.tkk.fi.dtn/ping] (expiration 30)... bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=0, time=402 ms bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=1, time=217 ms bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=2, time=216 ms bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=3, time=218 ms bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=4, time=221 ms bundle deleted at [dtn://dtnbone.comnet.tkk.fi] (block unintelligible): seqno=5, time=222 ms Στο παραπάνω πείραμα βλέπουμε εκτός του ότι υπάρχει αμφίδρομη επικοινωνία μεταξύ του κόμβου μας dtn://planet.ece.1 και του dtn://dtnbone.comnet.tkk.fi αλλά και ότι στάλθηκε status report διαγραφής από τον κόμβο dtn://dtnbone.comnet.tkk.fi του απεσταλμένου μας ping bundle με την αιτιολογία (reason code) block unintelligible. Επίσης εκτός της ανταλλαγής ping bundles επιτεύχθηκε και ανταλλαγή με μεγαλύτερου μεγέθους bundles.ενδεικτικά παρουσιάζoνται παρακάτω στατιστικά ανταλλαγής bundles του κόμβου μας με EID dtn://planet.ece.1.dtn με τους κόμβους του DTN-bone.Τα στατιστικά δείχνoυν την κίνηση bundle στο link μεταξύ του κόμβου μας και των άλλων κόμβων, και αυτό γίνεται πληκτρολογώντας την εντολή link stats <name of link> στην console command του dtn daemon του εκάστοτε κόμβου ο οποίος στο παράδειγμά μας είναι ο dtn://planet.ece.1.dtn: 56

57 Κίνηση στο link με τον κόμβο του Viagénie: link stats link_viagenie 1 contact_attempts -- 1 contacts bundles_transmitted bytes_transmitted -- 0 bundles_queued -- 0 bytes_queued -- 0 bundles_inflight -- 0 bytes_inflight -- 0 bundles_cancelled uptime throughput_bps -- 0 bundles_deferred Κίνηση στο link με τον κόμβο του Comnet, TKK : link stats link_tkk 1 contact_attempts -- 1 contacts bundles_transmitted bytes_transmitted -- 0 bundles_queued -- 0 bytes_queued -- 0 bundles_inflight -- 0 bytes_inflight -- 0 bundles_cancelled uptime throughput_bps -- 0 bundles_deferred Βλέπουμε έτσι ότι υπήρχε επιτυχής ανταλλαγή bundles μεταξύ του δικού μας δικτύου planet-ece και άλλων οργανισμών που εγκατέστησαν κόμβους DTN. Έτσι επιβεβαιώθηκε η σωστή λειτουργία του δικτύου μας σχετικά με την αμφίδρομη επικοινωνία με κόμβους εκτός αυτού. 4.4 Επικοινωνία με διακοπές Οι κόμβοι του δικτύου μας planet-ece βρίσκονται σε ένα περιβάλλον τοπικού δικτύου.το περιβάλλον όμως αυτό δεν αντιμετωπίζει δυσκολίες διακοπτόμενης επικοινωνίας μεταξύ των κόμβων του δικτύου όπως συμβαίνει σε ένα DTN (Delay Tolerant Network).Για να προσομοιωθεί λοιπόν το δίκτυό μας στην αρχιτεκτονική DTN θα πρέπει να εφαρμοσθεί ένα σενάριο διακοπών στην επικοινωνία μεταξύ των κόμβων μας. Το σενάριο που εφαρμόσθηκε για τον σκοπό αυτό είναι η περιοδική ενεργοποίηση και απενεργοποίηση των δύο link του δικτύου μας (βλ. Εικ. Τοπολογία δικτύου), ώστε να διακόπτεται και να αποκαθιστάται περιοδικά η επικοινωνία μεταξύ των τριών κόμβων, προσομοιώνοντας έτσι ένα περιβάλον DTN διαστημικής επικοινωνίας.για την υλοποίηση αυτού του σεναρίου χρησιμοποιήθηκε η διεργασία cron του Linux στο host μηχάνημα η οποία επιτρέπει την εκτέλεση διεργασιών σε κάποια καθορισμένη ώρα.έτσι δημιουργήσαμε μια διεργασία cron στο host μηχάνημα, για τη διαχείριση των link των κόμβων του δικτύου μας, ο τρόπος λειτουργίας της οποίας είναι ως εξής: Για το link μεταξύ του κόμβου planet.ece.1.dtn και planet.ece.2.dtn: Τις ώρες 00:00,8:00,16:00, γίνεται σύνδεση με τις console command των παραπάνω dtn κόμβων και εκτελούνται σε αυτές εντολές για να απενεργοποιηθεί το link μεταξύ των κόμβων. Η σύνδεση στην console command πραγματοποιείται με το πρόγραμμα netcat το οποίο μας επιτρέπει να γράψουμε πληροφορίες διαμέσου συνδέσεων δικτύου. Οι πληροφορίες που 57

58 θέλουμε να γράψουμε στην console command είναι οι επιθυμητές εντολές οι οποίες βρίσκονται σε αρχείο στο host μηχάνημα και το οποίο χρησιμοποιείται από το netcat. Οι εντολές αυτές είναι link close <name of link>. Τις ώρες 4:00,12:00,20:00, γίνεται σύνδεση με τις console command των παραπάνω dtn κόμβων και εκτελούνται σε αυτές εντολές για να ενεργοποιηθεί το link μεταξύ των κόμβων. Η σύνδεση στην console command πραγματοποιείται με το πρόγραμμα netcat η λειτουργία του οποίου εξηγήθηκε παραπάνω. Οι εντολές αυτές είναι link open <name of link>. Για το link μεταξύ του κόμβου planet.ece.1.dtn και planet.ece.3.dtn: Τις ώρες 00:00,12:00, γίνεται σύνδεση με τις console command των παραπάνω dtn κόμβων και εκτελούνται σε αυτές εντολές για να απενεργοποιηθεί το link μεταξύ των κόμβων. Η σύνδεση στην console command πραγματοποιείται με το πρόγραμμα netcat η λειτουργία του οποίου εξηγήθηκε παραπάνω. Οι εντολές αυτές είναι link close <name of link>. Τις ώρες 6:00,18:00, γίνεται σύνδεση με τις console command των παραπάνω dtn κόμβων και εκτελούνται σε αυτές εντολές για να ενεργοποιηθεί το link μεταξύ των κόμβων. Η σύνδεση στην console command πραγματοποιείται με το πρόγραμμα netcat η λειτουργία του οποίου εξηγήθηκε παραπάνω. Οι εντολές αυτές είναι link open <name of link>. Έτσι με την παραπάνω υλοποίηση του σεναρίου διαλειπούσας συνδεσιμότητας επιτεύχθηκε: Για το link μεταξύ του κόμβου planet.ece.1.dtn και planet.ece.2.dtn: 8 άωρη περιοδικότητα απενεργοποίησης/ενεργοποίησης του link (4 ώρες up, 4 ώρες down),δηλαδή η επικοινωνία μεταξύ των κόμβων διακόπτεται 3 φορές την ημέρα για 4 ώρες και αποκαθιστάται 3 φορές την ημέρα για 4 ώρες. Για το link μεταξύ του κόμβου planet.ece.1.dtn και planet.ece.3.dtn: 12 άωρη περιοδικότητα απενεργοποίησης/ενεργοποίησης του link (6 ώρες up, 6 ώρες down),δηλαδή η επικοινωνία μεταξύ των κόμβων διακόπτεται 2 φορές την ημέρα για 6 ώρες και αποκαθιστάται 2 φορές την ημέρα για 6 ώρες. Συμπερασματικά μπορούμε να ισχυριστούμε ότι, με το παραπάνω σενάριο προσομοιώνεται η λειτουργία ενός DTN δικτύου, το οποίο αντιμετωπίζει προβλήματα διακοπών στην επικοινωνία μεταξύ των κόμβων του, παρέχοντάς μας έτσι ένα αρκετά πιο αληθοφανές δίκτυο DTN, αφού υπάρχουν χρονικές περιόδοι στο δίκτυο, κατα τις οποίες α) και τα δύο link λειτουργούν, β) μόνο ένα link λειτουργεί, γ) κανένα link δεν λειτουργεί, επιτρέποντας έτσι τον περαιτέρω πειραματισμό και την μελέτη αυτών των δικτύων,όπως θα δούμε και στα επόμενα κεφάλαια. 58

59 ΚΕΦΑΛΑΙΟ 5 ΕΠΟΠΤΕΙΑ ΕΝΟΣ DTN ΔΙΚΤΥΟΥ Βασιζόμενοι τώρα στο εγκατεστημένο πια DTN δίκτυό μας planet-ece και αφού έχει ελεγχθεί η σωστή του λειτουργία, το επόμενο βήμα ήταν να υλοποιηθεί ένας μηχανισμός παρακολούθησης (moniroting) [15], ο οποίος θα μας επιτρέπει να εποπτεύουμε την κατάσταση του δικτύου και της ανταλλασόμενης κίνησης σε επίπεδο DTN. Μια προσπάθεια που γίνεται επάνω σε αυτό τον τομέα είναι το πρωτόκολλο DING (Diagnostic Interplanetary Network Gateway) [8].To DING χρησιμοποιεί ένα περιγραφικό μοντέλο διανομής των πληροφοριών, προκειμένου να αντιμετωπίσει τις δυσκολίες επικοινωνίας και σύνδεσης του DTN που καθιστούν ανίκανο το SNMP [24],για την αντιμετώπισή τους. Ο σκοπός της δουλειάς μας είναι η εφαρμογή μηχανισμών παρακολούθησης δικτύου στο επίπεδο Bundle και τα κάτω στρώματα που δεν καλύπτονται από τις υφιστάμενες προσεγγίσεις. Ενώ το DING είναι ένα γενικό πρωτόκολλο για την παρακολούθηση DTN δικτύων που θα υλοποιηθούν στο μέλλον, η προσέγγισή μας επικεντρώνεται ειδικά στην υλοποίηση DTN2 του πρωτοκόλλου Bundle και παρέχει έναν αξιόπιστο μηχανισμό που μπορεί να χρησιμοποιηθεί για την παρακολούθηση και την αξιολόγηση των επιδόσεων των DTN2 δικτύων. Το πρώτο όμως βήμα που έπρεπε να γίνει προχωρόντας σε αυτή την υλοποίηση ήταν η επιλογή των παραμέτρων του δικτύου οι οποίες είναι χρήσιμο να εποπτεύονται.παρακάτω παρουσιάζoνται οι ομάδες παραμέτρων, οι οποίες επιλέχθηκαν θεωρόντας τες σημαντικές για την απεικόνιση της κατάστασης του δικτύου: DTN nodes uptime: Αυτή η παράμετρος δείχνει εάν ένας κόμβος DTN είναι ενεργός ή όχι Bundle Traffic: Αυτή η ομάδα παραμέτρων μας δείχνει την κίνηση των bundle σε έναν κόμβο, δηλαδή τον αριθμό των bundles που λαμβάνει ένας κόμβος,προωθεί σε άλλους κόμβους ή μεταφέρει σε εφαρμογές του, εφ'οσον αυτός είναι ο κόμβος προορισμού (bundle delivery).επίσης μας δείχνει τον αριθμό των πακέτων που διαγράφονται, γίνονται expired,ή είναι custody bundles. Link Statistics:Αυτή η ομάδα παραμέτρων μας δείχνει την κατάσταση των link μεταξύ των κόμβων και περιλαμβάνει τον αριθμό των bundles που μεταφέρονται,την ταχύτητα μεταφοράς τους,τον αριθμό των συνολικών bytes που μεταφέρονται,τον αριθμό των ακυροθέντων προς μεταφορά πακέτων.επίσης σε αυτή την ομάδα παραμέτρων περιλαμβάνεται και η παράμετρος link uptime η οποία μας δείχνει εάν είναι ενεργό ή όχι το link. 5.1 Μέθοδος υλοποίησης εποπτικού μηχανισμού Ύστερα από τον καθορισμό των παραμέτρων που θέλουμε να ελέγχουμε, έπρεπε να καθοριστεί η μέθοδος με την οποία θα μπορέσουμε να τις αποκτήσουμε καθώς όπως προαναφέρθηκε δεν υπάρχει 59

60 αντίστοιχος μηχανισμός στην υλοποίηση DTN2. Η μέθοδος που ακολουθήθηκε ήταν να επεξεργάζονται διάφορα αρχεία log, τα οποία παράγονται από το λογισμικό DTN2 και κατ' όπιν τα αποτελέσματα της επεξεργασίας να αποθηκεύονται σε αρχεία τα οποία θα διαμορφώνονται κατάλληλα ώστε να υπάρχουν συγκεντρωμένες οι παράμετροι που μας ενδιαφέρουν. Για τη δημιουργία των αρχείων τα οποία θα περιέχουν τις κατάλληλες πληροφορίες για τις παραμέτρους του δικτύου έγιναν οι παρακάτω ενέργειες: Δημιουργία 2 shell scripts στον μεσαίο κόμβο του δικτύου μας με EID dtn://planet.ece.1.dtn, ώστε να αποστέλλονται ping bundles στους άλλους δύο κόμβους συνεχώς και με ενδιάμεσο χρόνο αποστολής μεταξύ 2 ping να έχει επιλεγεί το 1 λεπτό.αυτή η ενέργεια μας διασφαλίζει μια συνεχή λειτουργία του δικτύου καθώς η αποστολή των πακέτων ping απασχολεί συνεχώς τους κόμβους και τα αμφίδρομα link του planet-ece.το αποτέλεσμα της διαδικασίας αποθηκεύεται σε αρχεία dtnpinglogfiles ενώ τα scripts αρχίζουν να λειτουργόυν από τη στιγμή που ο κόμβος μπαίνει σε λειτουργία (startup). Δημιουργία shell scripts στο host μηχάνημα με σκοπό την συγκέντρωση των πληροφοριών που μας ενδιαφέρουν και την τοποθέτησή τους σε κατάλληλα διαμορφωμένα αρχεία.συγκεκριμένα δημιουργήθηκαν 4 τέτοια scripts με ονόματα bundlestat,dtndup,link_tcpscr,link2scr τα οποία συγκεντρώνουν τις ομάδες παραμέτρων για τις οποίες μιλήσαμε ώς εξής: -Το script bundlestat συγκεντρώνει την ομάδα παραμέτρων Bundle Traffic. -To script dtndup συγκενρώνει την ομάδα παραμέτρων DTN nodes uptime. -To script link_tcpscr συγκεντρώνει την ομάδα παραμέτρων Link statistics για το link1 του δικτύου μας (βλ. Εικ. Τοπολογία δικτύου). -To script link2scr συγκεντρώνει την ομάδα παραμέτρων Link statistics για το link2 του δικτύου μας (βλ. Εικ. Τοπολογία δικτύου). Τα παραπάνω scripts καλούνται, οπότε και αρχίζουν να λειτουργούν, από άλλα 4 shell startup scripts τα οποία αρχίζουν να λειτουργούν κατά την εκκίνηση του host μηχανήματος. 5.2 Ανάλυση των scripts συγκέντρωσης παραμέτρων του δικτύου Ας εξετάσουμε τώρα αναλυτικότερα τον τρόπο λειτουργίας των παραπάνω scripts για το καθένα ξεχωριστά: dtndup script Η διαδικασία συλλογής της ομάδας παραμέτρων DTN nodes uptime σε αυτό το script χρησιμοποιεί τα παρακάτω βήματα: 1. Χρησιμοποιείται ένας βρόγχος (loop) μεγάλου μετρητή μέσα στον οποίο εκτελούνται οι παρακάτω ενέργειες. 60

61 2. Ύστερα από την είσοδο στον βρόγχο καλείται η διαδικασία sleep του linux με παράμετρο χρόνου σε δευτερόλεπτα που αντιστοιχούν σε κάτι λιγότερο από 5 λεπτά.αυτό έχει ως αποτέλεσμα το script να μην εκτελεί καμία ενέργεια αυτό το χρονικό διάστημα. 3. Ύστερα πραγματοποιούνται 3 συνδέσεις χρησιμοποιώντας το εργαλείο netcat του Linux-την λειτουργία του οποίου εξηγήσαμε παραπάνω- στις 3 console command των τριών κόμβων χρησιμοποιώντας την ip διέυθυνση του καθενός και την πόρτα στην οποία ακούει η console command των dtn daemon. 4. Εφόσον πραγματοποιηθεί η σύνδεση,γράφεται έπειτα στις console command των κόμβων,μέσω του netcat,η επιθυμητή εντολή η οποία έχει γραφεί σε αρχείο στο host μηχάνημα.η εντολή αυτή είναι η gettimeofday. 5. Η εντολή αυτή έχει ως αποτέλεσμα να επιστρέφεται στην οθόνη η ώρα σε format secs.usec. 6. Το αποτέλεσμα της εντολής αυτής αποθηκεύεται σε αρχείο στο host μηχάνημα για κάθε κόμβο χωριστά. Δηλαδή έχουμε 3 τέτοια αρχεία τα οποία δείχνουν το αποτέλεσμα της εντολής για κάθε έναν κόμβο. 7. Έπειτα ελέγχουμε τα 3 αρχεία χωριστά για να εξετάσουμε εάν έχουν τα αποτελέσματα της παραπάνω διαδικασίας. Εάν υπάρχει κάποιο αποτέλεσμα (το οποίο είναι αριθμός) σε κάποιο αρχείο τότε αποθηκεύεται σε μια μεταβλητή η τιμή 1.Οπότε έχουμε 3 μεταβλητές για τα τρία ξεχωριστά αρχεία. Εάν δεν υπάρχει αποτέλεσμα σε κάποιο αρχείο τότε η αντίστοιχη μεταβλητή του αρχείου παίρνει την τιμή 0. Για να γίνει η παραπάνω διαδικασία χρησιμοποιούνται σε συνδυασμό τα προγράμματα wc και grep του Linux με την κατάλληλη παραμετροποίησή τους.έτσι ύστερα από αυτόν τον έλεγχο έχουμε 3 αριθμητικές μεταβλητές με δύο πιθανές τιμές, 0 ή Τέλος, οι τιμές των μεταβλητών εγγράφονται σε ξεχωριστό εννιαίο αρχείο με όνομα nodesup σε κατάλληλη μορφή ώστε η κάθε τιμή να αντιστοιχεί στον κόμβο, τον οποίο και αντιπροσωπεύει. 9. Η διαδικασία έπειτα ξαναρχίζει από το βήμα 2 αφού περάσει τον έλεγχο του βρόγχου. Έτσι η εκτέλεση αυτού του script έχει ως αποτέλεσμα τη δημιουργία ενός τελικού αρχείου με όνομα nodesup στο οποίο είναι συγκεντρωμένες οι προαναφερθείσες τιμές.το αρχείο αυτό αλλάζει κάθε 5 λεπτά περίπου έχοντας τις ανανεωμένες τιμές οι οποίες δείχνουν την κατάσταση των κόμβων, εάν δηλαδή είναι ενεργοί ή όχι. Εάν κάποιος κόμβος έχει αριθμητική 1 τότε είναι ενεργός, ενώ εάν η αριθμητική τιμή του κόμβου είναι 0 σημαίνει ότι ο κόμβος αυτός είναι ανενεργός.ένα παράδειγμα τελικού αρχείου είναι το παρακάτω: nodesup file: 1 left 1 middle 1 right bundlestat script Η διαδικασία συλλογής της ομάδας παραμέτρων Bundle Traffic σε αυτό το script χρησιμοποιεί τα παρακάτω βήματα: 1. Αρχικοποιούνται 10 μεταβλητές με την τιμή 0 τις οποίες θα ονομάσουμε δευτερεύουσες. 61

62 2. Χρησιμοποιείται ένας βρόγχος (loop) μεγάλου μετρητή μέσα στον οποίο εκτελούνται οι παρακάτω ενέργειες. 3. Ύστερα από την είσοδο στον βρόγχο καλείται η διαδικασία sleep του linux με παράμετρο χρόνου σε δευτερόλεπτα που αντιστοιχούν σε κάτι λιγότερο από 5 λεπτά.αυτό έχει ως αποτέλεσμα το script να μην εκτελεί καμία ενέργεια αυτό το χρονικό διάστημα. 4. Ύστερα πραγματοποιείται σύνδεση χρησιμοποιώντας το εργαλείο netcat του Linux στην console command του dtn daemon του μεσαίου κόμβου (planet.ece.1) χρησιμοποιώντας την ip διέυθυνση και την πόρτα στην οποία ακούει. 5. Εφόσον πραγματοποιηθεί η σύνδεση,γράφεται έπειτα στη console command του κόμβου,μέσω του netcat,η επιθυμητή εντολή η οποία έχει γραφεί σε αρχείο στο host μηχάνημα.η εντολή αυτή είναι η bundle stats. 6. Η εντολή αυτή έχει ως αποτέλεσμα να επιστρέφονται στην οθόνη πληροφορίες για τα bundle του κόμβου με την παρακάτω μορφή : Bundle Statistics: 0 pending -- 0 custody received delivered generated transmitted expired -- 0 duplicate deleted -- 0 injected Ενδεικτικό output της εντολής bundle stats 7. Το αποτέλεσμα της εντολής αυτής αποθηκεύεται σε αρχείο στο host μηχάνημα. 8. Στη συνέχεια ακολουθεί επεξεργασία του αρχείου αυτού με το πρόγραμμα sed του Linux μετατρέποντας το περιεχόμενό του σε μια πιο ευανάγνωστη μορφή αρχείου κειμένου και αποθηκεύουμε το αποτέλεσμα της μετατροπής σε ένα άλλο αρχείο.το νέο αυτό αρχείο περιέχει 10 γραμμές κάθε μία από τις οποίες αποτελείται από την περιγραφή της κατάστασης των bundles ακολουθούμενη από τον αριθμό τους.έτσι το νέο αρχείο περιέχει το επεξεργασμένο output της εντολής στη παρακάτω μορφή: 0 pending 0 custody 344 received 37 delivered 169 generated 161 transmitted 317 expired 0 duplicate 515 deleted 0 injected 9. Έπειτα ελέγχουμε το νέο αρχείο που προέκυψε για να εξετάσουμε εάν υπάρχουν τα αποτελέσματα της παραπάνω διαδικασίας.ελέγχουμε έτσι εάν υπάρχει κάποιο αποτέλεσμα σε κάθε γραμμή του αρχείου.εάν υπάρχει τότε φιλτράρουμε από την κάθε γραμμή τον αριθμό και το αποθηκεύουμε σε μια μεταβλητή.οπότε έχουμε 10 μεταβλητές για τις 10 ξεχωριστές γραμμές, διαφορετικές από εκείνες που αρχικοποιήθηκαν. Εάν δεν υπάρχει αποτέλεσμα σε κάποια γραμμή τότε η αντίστοιχη μεταβλητή της γραμμής παίρνει την τιμή 0. Για να γίνει η παραπάνω διαδικασία χρησιμοποιείται το πρόγραμμα grep του Linux με την κατάλληλη παραμετροποίησή του.έτσι ύστερα από αυτόν τον έλεγχο έχουμε 10 αριθμητικές μεταβλητές με ακέραιες τιμές. 62

63 10. Ύστερα ορίζονται άλλες 10 μεταβλητές, που θα τις ονομάσουμε πρωτεύουσες, οι οποίες παίρνουν ως τιμές την διαφορά των τιμών τών μεταβλητών που αντιστοιχούν σε κάθε γραμμή από το βήμα 9 με τις τιμές των δευτερευουσών μεταβλητών. 11. Οι δευτερεύουσες μεταβλητές ύστερα παίρνουν ώς τιμές αυτές που περιέχονται στις μεταβλητές γραμμών. 12. Τέλος, οι τιμές των πρωτευουσών μεταβλητών εγγράφονται σε ξεχωριστό εννιαίο αρχείο με όνομα bundlestats_f σε κατάλληλη μορφή ώστε η κάθε τιμή να αντιστοιχεί στην κατάλληλη παράμετρο των bundle στατιστικών. 13. Η διαδικασία έπειτα ξαναρχίζει από το βήμα 3 αφού περάσει τον έλεγχο του βρόγχου. Έτσι η εκτέλεση αυτού του script έχει ως αποτέλεσμα τη δημιουργία ενός τελικού αρχείου με όνομα bundlestats_f στο οποίο είναι συγκεντρωμένες οι προαναφερθείσες τιμές των παραμέτρων Bundle Traffic.Το αρχείο αυτό αλλάζει κάθε 5 λεπτά περίπου έχοντας τις ανανεωμένες τιμές οι οποίες δείχνουν τα στατιστικά των bundles του μεσαίου κόμβου. Οι δευτερεύουσες μεταβλητές χρησιμοποιούνται για να κρατάνε τις προηγούμενες τιμές του αποτελέσματος της εντολής που περνάμε στην κονσόλα του daemon διότι αυτή η εντολή μας δείχνει τα στατιστικά μέχρι την στιγμή στην οποία τα ζητάμε.εμείς θέλοντας να έχουμε ανανεωμένα στατιστικά ώστε κάθε 5 λεπτά να γνωρίζουμε τα στοιχεία για την κίνηση των bundles σε αυτό το διάστημα χρόνου κάνουμε δημιουργήσαμε τα βήματα 9,10,11 στο παρών script.τέλος ένα παράδειγμα τελικού αρχείου είναι το παρακάτω: bundlestats_f file: 0 custody 10 received 20 delivered 0 generated 10 transmitted 5 expired 0 duplicate 5 deleted 0 injected link_tcpscr script Η διαδικασία συλλογής της ομάδας παραμέτρων Link statistics σε αυτό το script χρησιμοποιεί τα παρακάτω βήματα: 1. Αρχικοποιούνται 5 μεταβλητές με την τιμή 0 τις οποίες θα ονομάσουμε δευτερεύουσες. 2. Χρησιμοποιείται ένας βρόγχος (loop) μεγάλου μετρητή μέσα στον οποίο εκτελούνται οι παρακάτω ενέργειες. 3. Ύστερα από την είσοδο στον βρόγχο καλείται η διαδικασία sleep του linux με παράμετρο χρόνου σε δευτερόλεπτα που αντιστοιχούν σε κάτι λιγότερο από 5 λεπτά.αυτό έχει ως αποτέλεσμα το script να μην εκτελεί καμία ενέργεια αυτό το χρονικό διάστημα. 4. Ύστερα πραγματοποιούνται 2 συνδέσεις χρησιμοποιώντας το εργαλείο netcat του Linux στις 3 console command των 2 κόμβων του link1 (planet.ece.1,planet.ece.2) χρησιμοποιώντας την ip 63

64 διέυθυνση του καθενός και την πόρτα στην οποία ακούει η console command των dtn daemon. 5. Εφόσον πραγματοποιηθεί η σύνδεση,γράφεται έπειτα στις console command των κόμβων,μέσω του netcat,η επιθυμητή εντολή η οποία έχει γραφεί σε αρχείο στο host μηχάνημα.η εντολή αυτή είναι η link stats link_tcp. 6. Η εντολή αυτή έχει ως αποτέλεσμα να επιστρέφονται πληροφορίες για τo link του κόμβου.οπότε έχουμε 2 αποτελέσματα καθώς έχουμε εκτελέσει την εντολή στους δύο κόμβους.ενδεικτικό αποτέλεσμα της εντολής : 1 contact_attempts -- 1 contacts bundles_transmitted bytes_transmitted -- 0 bundles_queued -- 0 bytes_queued -- 0 bundles_inflight -- 0 bytes_inflight -- 0 bundles_cancelled uptime -- 0 bundles_deferred 7. Τα αποτελέσματα της εντολής αυτής αποθηκεύονται σε 2 αρχεία στο host μηχάνημα, ένα για κάθε κόμβο. 8. Στη συνέχεια ακολουθεί επεξεργασία των αρχείων αυτών με το πρόγραμμα sed του Linux μετατρέποντας το περιεχόμενό τους σε μια πιο ευανάγνωστη μορφή αρχείου κειμένου και αποθηκεύουμε το αποτέλεσμα της μετατροπής σε 2 άλλα αρχεία, ένα για κάθε κόμβο.τα νέα αυτά αρχεία περιέχουν το καθένα γραμμές κάθε μία από τις οποίες αποτελείται από την περιγραφή της κατάστασης των bundle στο link ακολουθούμενη από τον αριθμό τους.έτσι τα νέα αρχεία περιέχουν το επεξεργασμένο output της εντολής στη παρακάτω μορφή: 9. Έπειτα ελέγχουμε τα 2 νέα αρχεία που προέκυψαν για να εξετάσουμε εάν υπάρχουν τα αποτελέσματα της παραπάνω διαδικασίας.ελέγχουμε έτσι εάν υπάρχει κάποιο αποτέλεσμα σε κάθε γραμμή καθενός από τα 2 αρχεία.εάν υπάρχει τότε φιλτράρουμε τον αριθμό από τις γραμμές που μας ενδιαφέρουν και το αποθηκεύουμε σε μια μεταβλητή.οι γραμμές που μας ενδιαφέρουν είναι οι εξής: α) ο αριθμός των bundles που μεταφέρονται (bundles transmitted), β) ο αριθμός των συνολικών bytes που μεταφέρονται (bytes transmitted), γ) ο αριθμός των ακυροθέντων προς μεταφορά πακέτων (cancelled bundles). Οπότε έχουμε μεταβλητές για τις ξεχωριστές γραμμές κάθε αρχείου. Εάν δεν υπάρχει αποτέλεσμα σε κάποια γραμμή τότε η αντίστοιχη μεταβλητή της γραμμής παίρνει την τιμή 0. Για να γίνει η παραπάνω διαδικασία χρησιμοποιείται το πρόγραμμα grep του Linux με την κατάλληλη παραμετροποίησή του.έτσι ύστερα από αυτόν τον έλεγχο έχουμε 10 αριθμητικές μεταβλητές με ακέραιες τιμές. 10. Έπειτα ορίζονται νέες μεταβλητές που θα τις ονομάσουμε αθροιστικές, οι οποίες περιέχουν το άθροισμα των τιμών των προηγούμενων μεταβλητών.to άθροισμα γίνεται μεταξύ 2 μεταβλητών οι οποίες περιέχουν τιμές για τα ίδια στοιχεία του link, εκπροσωπόντας η καθεμία το δικό της κόμβο (1 link, 2 άκρα (κόμβοι)). 11. Ύστερα ορίζονται άλλες μεταβλητές, που θα τις ονομάσουμε πρωτεύουσες, οι οποίες παίρνουν ως τιμές την διαφορά των τιμών των αθροιστικών μεταβλητών από το βήμα 10 με τις τιμές των δευτερευουσών μεταβλητών. 12. Οι δευτερεύουσες μεταβλητές ύστερα παίρνουν ώς τιμές αυτές που περιέχονται στις αθροιστικές μεταβλητές. 13. Τέλος, οι τιμές των πρωτευουσών μεταβλητών εγγράφονται σε ξεχωριστό εννιαίο αρχείο με όνομα link_tcp_f σε κατάλληλη μορφή ώστε η κάθε τιμή να αντιστοιχεί στην κατάλληλη παράμετρο των Link στατιστικών. 14. Η διαδικασία έπειτα ξαναρχίζει από το βήμα 3 αφού περάσει τον έλεγχο του βρόγχου. 64

65 Έτσι η εκτέλεση αυτού του script έχει ως αποτέλεσμα τη δημιουργία ενός τελικού αρχείου με όνομα link_tcp_stats_f στο οποίο είναι συγκεντρωμένες οι προαναφερθείσες τιμές των παραμέτρων Link Statistics.Το αρχείο αυτό αλλάζει κάθε 5 λεπτά περίπου έχοντας τις ανανεωμένες τιμές οι οποίες δείχνουν τα στατιστικά του link μεταξύ των κόμβων planet.ece.1,planet.ece.2. Οι δευτερεύουσες μεταβλητές χρησιμοποιούνται για να κρατάνε τις προηγούμενες τιμές των αθροιστικών μεταβλητών.οι αθροιστικές μεταβλητές χρησιμοποιούνται ώστε να έχουμε τη συνολική κίνηση του link, διότι η εντολή που περνάμε στον καθένα κόμβο μας δείχνει τι μεταφέρει ο κόμβος στο link αυτό.καθώς όμως το link είναι αμφίδρομο θα πρέπει,για να έχουμε ολοκληρωμένα στατιστικά, να αθροίζουμε τα αποτελέσματα και των 2 κόμβων.εμείς θέλουμε να έχουμε ανανεωμένα στατιστικά ώστε κάθε 5 λεπτά να γνωρίζουμε τα στατιστικά στοιχεία του link σε αυτό το διάστημα χρόνου.για το σκοπό αυτό γίνονται τα βήματα 10,11,12 στο παρών script.τέλος ένα παράδειγμα τελικού αρχείου είναι το παρακάτω: link_tcp_stats_f file: 10 bundles_transmitted 1395 bytes_transmitted 0 bundles_cancelled 0 bundles_deferred 1 uptime link2scr script Το script αυτό λειτουργεί ακριβώς όπως το link_tcpscr με τη διαφορά ότι συλλέγει στατιστικά για το δεύτερο link του δικτύου μας, το οποίο συνδέει τους κόμβους planet.ece.1,planet.ece.3. Oπότε αλλάζουν οι ip διευθύνσεις, το όνομα του link, για το πέρασμα των εντολών και τα τελικά αποτελέσματα του script αποθηκεύονται σε διαφορετικά αρχεία από αυτά του προηγούμενου script. Συνοψίζοντας, με την εκτέλεση των scripts έχουμε 4 τελικά αρχεία τα οποία περιέχουν τα στατιστικά που μας ενδιαφέρουν για την παρακολούθηση και την αξιολόγηση του δικτύου μας.αυτά τα αρχεία ανανεώνονται κάθε 5 λεπτά περιέχοντας ανανεωμένα στατιστικά.τα 4 αυτά αρχεία είναι: 1. Το αρχείο bundlestats_f με στατιστικά των bundle στο μεσαίο κομβο planet.ece.1 2. Το αρχείο nodesup με το uptime των 3 dtn κόμβων. 3. Το αρχείο link_tcp_stats_f με τα στατιστικά του link μεταξύ των κόμβων planet.ece.1,planet.ece Το αρχείο link2_stats_f με τα στατιστικά του link μεταξύ των κόμβων planet.ece.1,planet.ece Απεικόνιση παραμέτρων δικτύου DTN Εφ' όσον συγκεντρώσαμε τις παραμέτρους του δικτύου που μας ενδιαφέρουν θέλουμε τώρα να τις απεικονίσουμε σε γραφήματα ώστε να ελέγχουμε και να παρακολουθούμε ευκολότερα το δίκτυό μας. Για τη διαδικασία της απεικόνισης των παραμέτρων παρακολούθησης του δικτύου, χρησιμοποιήσαμε το λογισμικό παρακολούθησης Munin [10]. Το λογισμικό Munin είναι ένα open-source εργαλείο για την εποπτεία των πόρων ενός δικτύου. Μπορεί να δημιουργήσει γραφήματα με την επεξεργασία 65

66 κατάλληλων αρχείων και να τα απεικονίσει σε ένα πρόγραμμα περιήγησης στο Web μέσω του web server Apache.Αναλυτικότερα η διαδικασία που ακολουθήθηκε για την απεικόνιση των παραμέτρων έχει ως εξής: Εγκατάσταση του προγράμματος παραγωγής γραφημάτων Μunin στο host μηχάνημα.to λογισμικό αυτό παράγει γραφήματα χρησιμοποιώντας ειδικά scripts που ονομάζονται muninplugins τα οποία δέχονται τιμές από κατάλληλα διαμορφωμένα αρχεία. Δημιουργία ειδικών scripts munin-plugins χρησιμοποίωντας bash scripting γλώσσα.δημιουργήθηκαν τόσα script όσοι είναι και οι παράμετροι του δικτύου που θέλουμε να παρακολουθήσουμε.η λειτουργία των munin-plugins έχει ως εξής: 1. Επιλέγεται το είδος των τιμών οι οποίες πρέπει να απεικονισθούν στα γραφήματα. 2. Η τιμές αυτές κατ οπιν φιλτράρονται από τα 4 αρχεία μας στα οποία υπάρχουν οι παράμετροι του δικτύου και τοποθετούνται σε μεταβλητές. 3. Ύστερα επεξεργάζονται εάν χρειάζεται οι μεταβλητές αυτές κατάλληλα, ανάλογα με την παράμετρο που αντιπροσωπεύουν.το είδος τις επεξεργασίας που γίνεται είναι αριθμητικές πράξεις καθότι όλες οι τιμές είναι ακέραιοι αριθμοί.ένα παράδειγμα όπου χρειάστηκε η περαιτέρω επεξεργασία είναι στο script για την παραγωγή γραφήματος το οποίο δείχνει την ταχύτητα των links σε bits per second (bps) και η διαδικασία έχει ώς εξής: Σε αυτό λοιπόν το script φιλτραρίστηκε η τιμή της παραμέτρου bytes_transmitted του link (από το link1 για παράδειγμα) και πέρασε σε μια μεταβλητή.ύστερα αυτή η τιμή, η οποία αντιπροσωπεύει τα bytes που πέρασαν από το link τα τελευταία 5 λεπτα, διαιρέθηκε με τον αριθμό 300 ο οποίος αντιπροσωπεύει τα δευτερόλεπτα 5 λεπτών.έτσι προέκυψε ένα νέο αποτέλεσμα, δηλαδή η επιθυμητή τιμή της ταχύτητας του link σε bps. 4. Τα αποτελέσματα της επεξεργασίας αν έχει γίνει ή εάν δεν έχει γίνει, τότε οι τιμές των μεταβλητών που περιέχουν απευθείας τις τιμές από τα αρχεία μας, αποτελούν τις επιθυμητές τιμές προς απεικόνιση. 5. Υπάρχει επίσης δυνατότητα επιλογής χρώματος στα γραφήματα,είδος γραμμής, πάχος κλπ. 6. Η τιμή προς απεικόνιση και οι επιλογές απεικόνισης που έχουν γίνει δίνονται ύστερα στο πρόγραμμα παραγωγής γραφημάτων rrdtool. Έτσι ύστερα από την εκτέλεση των plugins έχουμε την παραγωγή των γραφημάτων που θέλουμε.τα plugins εκτελούνται κάθε 5 λεπτά, οπότε έχουμε ανανέωση των γραφημάτων με τα νέα δεδομένα που προκύπτουν στο δίκτυο.τα γραφήματα που παράγονται είναι για ποικίλα χρονικά διαστήματα.οπότε κάθε γράφημα το οποίο μπορεί να απεικονίζει μία η περισσότερες παραμέτρους,τις απεικονίζει σε 4 χρονικά διαστήματα: ημέρας,εβδομάδας,μήνα χρόνου. Τα γραφήματα αυτά κατόπιν, τοποθετούνται σε μια δυναμική ιστοσελίδα την οποία παράγει το λογισμικό munin και η οποία ανανεώνεται αυτόματα κάθε 5 λεπτά. 66

67 Έγινε ρύθμιση της ιστοσελίδας έτσι ώστε να δείχνονται κατάλληλα τα γραφήματα. Έγινε ρύθμιση του Apache server του host μηχανήματος προκειμένου η ιστοσελίδα η οποία περιέχει τα γραφήματα να είναι προσβάσιμη μέσω του διαδίκτυο. Έτσι υλοποιήθηκε και ο μηχανισμός απεικόνισης γραφημάτων για την παρακολούθηση του του δικτύου μας planet-ece.τα γραφήματα βοηθάνε στην εύκολη παρακολούθηση της κατάστασης του δικτύου.από το μηχανισμό αυτόν παράγονται 4 ομάδες γραφημάτων, μία για τα στατιστικά των bundles (bundle traffic) στον κόμβο planet.ece.1,μία για την κατάσταση των κόμβων (DTN nodes uptime),και μία ομάδα για κάθε ένα από τα 2 link του δικτύου.κάθε ομάδα τώρα περιέχει γραφήματα που απεικονίζουν τις παραμέτρους της.όλα τα γραφήματα είναι προσβάσιμα και βρίσκονται στον ιστότοπο που δημιουργήσαμε παρουσιάζονται παρακάτω μερικά από αυτά: Εδώ βλέπουμε το γράφημα ημέρας της παραμέτρου node uptime του planet.ece.1 το οποίο μας πληροφορεί για τη διαθεσιμότητα λειτουργίας του dtn κόμβου (αν είναι up ή down) σε διάστημα μιας ημέρας. 67

68 Εδώ βλέπουμε το γράφημα εβδομάδας της παραμέτρου node uptime του planet.ece.2 το οποίο μας πληροφορεί για τη διαθεσιμότητα λειτουργίας του dtn κόμβου (αν είναι up ή down) σε διάστημα μιας εβδομάδας. Εδώ βλέπουμε το γράφημα μήνα της παραμέτρου node uptime του planet.ece.3 το οποίο μας πληροφορεί για τη διαθεσιμότητα λειτουργίας του dtn κόμβου (αν είναι up ή down) σε διάστημα ενός μήνα. 68

69 Εδώ βλέπουμε το γράφημα 1 χρόνου της παραμέτρου node uptime του planet.ece.1 το οποίο μας πληροφορεί για τη διαθεσιμότητα λειτουργίας του dtn κόμβου (αν είναι up ή down) σε διάστημα ενός χρόνου. Εδώ βλέπουμε το γράφημα 1 χρόνου των παραμέτρων received,delivered,transmitted bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν received,delivered,transmitted στον dtn κόμβου σε διάστημα ενός χρόνου. 69

70 Εδώ βλέπουμε το γράφημα ημέρας των παραμέτρων received,delivered,transmitted bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν received,delivered,transmitted στον dtn κόμβο σε διάστημα μίας ημέρας. Εδώ βλέπουμε το γράφημα μιας εβδομάδας των παραμέτρων generated,injected bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν generated,injected στον dtn κόμβο σε διάστημα μιάς εβδομάδας. 70

71 Εδώ βλέπουμε το γράφημα ενός χρόνου των παραμέτρων generated,injected bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν generated,injected στον dtn κόμβο σε διάστημα ενός χρόνου. Εδώ βλέπουμε το γράφημα ημέρας των παραμέτρων expired,deleted bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν expired,deleted στον dtn κόμβο σε διάστημα μίας ημέρας. 71

72 Εδώ βλέπουμε το γράφημα xχρόνου των παραμέτρων expired,deleted bundles του planet.ece.1 το οποίο μας πληροφορεί για τα bundles που έγιναν expired,deleted στον dtn κόμβο σε διάστημα ενός χρόνου.. Εδώ βλέπουμε το γράφημα της διαθεσιμότητας του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας ημέρας. 72

73 Εδώ βλέπουμε το γράφημα της διαθεσιμότητας του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας ημέρας. Εδώ βλέπουμε το γράφημα της διαθεσιμότητας του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας εβδομάδας. 73

74 Εδώ βλέπουμε το γράφημα της διαθεσιμότητας του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας εβφομάδας. Εδώ βλέπουμε το γράφημα των μεταφερόμενων bytes μέσω του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας ημέρας. 74

75 Εδώ βλέπουμε το γράφημα των μεταφερόμενων bytes μέσω του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας ημέρας. Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας ημέρας. 75

76 Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας ημέρας. Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας εβδομάδας. 76

77 Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας εβδομάδας. Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link1 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα ενός χρόνου. 77

78 Εδώ βλέπουμε το γράφημα τoυ througput σε bps του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα ενός χρόνου. Εδώ βλέπουμε το γράφημα των μεταφερόμενων bundles μέσω του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα μιας ημέρας. 78

79 Εδώ βλέπουμε το γράφημα των μεταφερόμενων bundles μέσω του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα μιας ημέρας. Εδώ βλέπουμε το γράφημα των μεταφερόμενων bytes μέσω του link μεταξύ το κόμβου planet.ece.1 και planet.ece.2 σε διάστημα ενός χρόνου. 79

80 Εδώ βλέπουμε το γράφημα των μεταφερόμενων bundles μέσω του link2 μεταξύ το κόμβου planet.ece.1 και planet.ece.3 σε διάστημα ενός χρόνου. 5.4 Ανάλυση των αποτελεσμάτων Η επιλογή των παραμέτρων του δικτύου και τα scripts που αναπτύχθηκαν για την παρακολουθησή του φαίνεται να παρέχουν έναν αρκετά αξιόπιστο μηχανισμό, αφού έχει δοκιμαστεί για διάστημα άνω του ενός χρόνου στο δίκτυο DTN του εργαστηρίου μας panet-ece και τα αποτελέσματα ελιναι ικανοποιητικά. Τα στατιστικά για τη λειτουργία των dtn κόμβων είναι ιδιαίτερης σημασίας καθώς αυτή η παράμετρος node uptime μας δείχνει πότε λειτουργεί και πότε όχι καθένας από τους κόμβους του δικτύου μας.οι κόμβοι ενδέχεται είτε να είναι σε λειτουργία είτε όχι, λόγω κάποιου προβλήματος. Τα links μεταξύ των κόμβων μπορούν επίσης είτε να είναι διαθέσιμα είτε όχι, για λόγους όπως αδυναμία σύνδεσης,περιοδική διαθεσιμότητα σύνδεσης λόγω κίνησης των κόμβων κ.α.η παράμετρος που μας δείχνει τη διαθεσιμότητα των link μεταξύ των κόμβων είναι η link uptime.αυτές λοιπόν οι δύο παράμετροι node και link uptime σε συνδυασμό, βοηθούν στην κατανόηση της κατάστασης του δικτύου και της συμπεριφοράς της κίνησης και στον εντοπισμό των αιτιών για προβλήματα που παρουσιάζονται στο δίκτυο. O μηχανισμός μας προσφέρει τη δυνατότητα παρακολούθησης στο δίκτυο τόσο της κίνησης σε επίπεδο bundle όσο και σε επίπεδο δεδομένων.τα πακέτα bundles διαφέρουν σε μέγεθος το έυρος των οποίων μπορεί να κυμαίνεται από 30 bytes όπως ένα ping bundle έως εκατοντάδες megabytes.αυτό έχει ως αποτέλεσμα ότι ούτε η κίνηση σε επίπεδο bundle ούτε η κίνηση σε επίπεδο δεδομένων από μόνες τους μπορούν να περιγράψουν τα χαρακτηριστικά της κίνησης.στην πράξη οι δύο προσεγγίσεις 80

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

Διαβάστε περισσότερα

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος

Διαβάστε περισσότερα

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ημέχρι τώρα περιγραφή των πρωτοκόλλων TCP/IP αποδεικνύει, ότι το πρωτόκολλο IP είναι υπεύθυνο για τη μεταφορά των αυτοδύναμων πακέτων στον προορισμό, που δηλώνεται από τη διεύθυνση προορισμού, αλλά δεν

Διαβάστε περισσότερα

Νέες Επικοινωνιακές Τεχνολογίες

Νέες Επικοινωνιακές Τεχνολογίες Νέες Επικοινωνιακές Τεχνολογίες Λύσεις Θεμάτων http://nop33.wordpress.com Τι ορίζουμε ως Τοπικό Δίκτυο Υπολογιστών; Ποια είναι τα βασικά χαρακτηριστικά των Τοπικών Δικτύων; Ποιες οι βασικές τοπολογίες

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Ενότητα 1 Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Εύρος Ζώνης και Ταχύτητα Μετάδοσης Η ταχύτητα µετάδοσης [εύρος ζώνης (banwidth)] των δεδοµένων αποτελεί ένα δείκτη επίδοσης των δικτύων και συνήθως

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 8ο Δικτύωση TCP/IP Μιχαηλίδης Παναγιώτης Περιεχόμενα Δικτύωση TCP/IP Τι είναι το TCP/IP; Επίπεδα, διευθύνσεις, ΝΑΤ Πρωτόκολλα: ARP, DHCP TCP/IP H πιο κοινή

Διαβάστε περισσότερα

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά

Διαβάστε περισσότερα

Δίκτυα Η/Υ στην Επιχείρηση

Δίκτυα Η/Υ στην Επιχείρηση Δίκτυα Η/Υ στην Επιχείρηση Δικτυακά πρωτόκολλα και εφαρμογές, Δρομολόγηση Γκάμας Βασίλειος, Εργαστηριακός Συνεργάτης Μοντέλο πελάτη-εξυπηρετητή Προκειμένου να χρησιμοποιήσουμε μια υπηρεσία του Internet

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δίκτυα Υπολογιστών Στόχοι 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

Διαβάστε περισσότερα

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7] Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό.

Διαβάστε περισσότερα

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

Διαβάστε περισσότερα

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1 ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελών ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 2ο Βελών - 1ο Τ.Ε.Ε. Κατερίν Καθηγητής Πληροφορικής ΠΕ20 2-1 Τεχνολογίες Μεταγωγής Δεδομένων Δίκτυα Μεταγωγής Βελών Βελών Δίκτυα Μεταγωγής Δίκτυα Μεταγωγής

Διαβάστε περισσότερα

1.1 Επαναλήπτες (repeaters ή regenerators)

1.1 Επαναλήπτες (repeaters ή regenerators) 1.1 Επαναλήπτες (repeaters ή regenerators) Οι επαναλήπτες λειτουργούν στο φυσικό επίπεδο του OSI μοντέλου. Χρησιμεύουν για την ενίσχυση των σημάτων που μεταφέρονται στο δίκτυο. Ένα σήμα μπορεί να ταξιδέψει

Διαβάστε περισσότερα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

Εισαγωγή στο διαδίκτυο

Εισαγωγή στο διαδίκτυο Εισαγωγή στο διαδίκτυο Στόχοι κεφαλαίου Περιγραφή των κύριων θεμάτων σχετικά με τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών δικτύων Περιγραφή των

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

Διαβάστε περισσότερα

HY-335 : Δίκτυα Υπολογιστών

HY-335 : Δίκτυα Υπολογιστών W N net works R E O T HY-335 : Δίκτυα Υπολογιστών K Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χειμερινό εξάμηνο 20010-2011 Θέματα προς συζήτηση Είδη πολυπλεξίας Μεταγωγή Καθυστερήσεις

Διαβάστε περισσότερα

Επίπεδο δικτύου IP διευθυνσιοδότηση

Επίπεδο δικτύου IP διευθυνσιοδότηση Επίπεδο δικτύου IP διευθυνσιοδότηση (πες μου την IP σου να σου πω ποιος είσαι) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής

Διαβάστε περισσότερα

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7 Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις που θα συναντήσετε στο κεφάλαιο 7. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται στο IP Fragmentation,

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΟΡΥΦΟΡΙΚΩΝ ΙΚΤΥΩΝ Ε ΟΜΕΝΩΝ ΙΡ ΜΕΣΩ ΤΗΣ ΟΡΥΦΟΡΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΤΗΣ ΕΑΒ

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΟΡΥΦΟΡΙΚΩΝ ΙΚΤΥΩΝ Ε ΟΜΕΝΩΝ ΙΡ ΜΕΣΩ ΤΗΣ ΟΡΥΦΟΡΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΤΗΣ ΕΑΒ ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΟΡΥΦΟΡΙΚΩΝ ΙΚΤΥΩΝ Ε ΟΜΕΝΩΝ ΙΡ ΜΕΣΩ ΤΗΣ ΟΡΥΦΟΡΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΤΗΣ ΕΑΒ AWMN - YME ( 2012 ) Ηλεκτρονικές επικοινωνίες Εναλλακτικά δίκτυα διασύνδεσης υποδομών Ομιλητής ΕΑΒ : Αγγελής

Διαβάστε περισσότερα

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου ρ Κωνσταντίνος Σ Χειλάς Ethernet Ένα πλαίσιο (frame) Ethernet 00 d0 06 99 18 28 00 02 b3 0b 86 08 00 45 00 Η επικεφαλίδα του IP 0 ToS 0 ToS 00

Διαβάστε περισσότερα

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1 Δίκτυα ATM Εισαγωγή Εικονικά κυκλώματα Πακέτα και κελιά Δρομολόγηση και προώθηση Ιεραρχία πρωτοκόλλων Επίπεδα προσαρμογής Ποιότητα υπηρεσίας Υποστήριξη IP Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες

Διαβάστε περισσότερα

Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής ΔΙΑΔΙΚΤΥΑ ΜΕ TCP / IP. Βίτσας Βασίλειος

Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής ΔΙΑΔΙΚΤΥΑ ΜΕ TCP / IP. Βίτσας Βασίλειος ΔΙΑΔΙΚΤΥΑ ΜΕ TCP / IP Βίτσας Βασίλειος Αρχιτεκτονική και φιλοσοφία του Internet Ένα διαδίκτυο TCP/IP παρέχει 3 είδη υπηρεσιών Η διάταξη τους είναι ιεραρχική Ασυνδεσμικό σύστημα παράδοσης ΗυπηρεσίαIP ορίζεται

Διαβάστε περισσότερα

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3.

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3. Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET Εφαρµογές - Ιούλιος 09 1 Εισαγωγή στην τεχνολογία TCP/IP Τεχνολογία TCP/IP TCP/IP Πρωτόκολλα TCP/IP ή τεχνολογία TCP/IP ή τεχνολογία ιαδικτύου (Internet)( ιαδίκτυο

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Subnetting-VLSM-Troubleshooting IP Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

Διαβάστε περισσότερα

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα Περιεχόµενα Εισαγωγή Επικοινωνία εδοµένων Αναλογική vs. Ψηφιακή Μετάδοση ιαµόρφωση σήµατος Κανάλια επικοινωνίας Κατεύθυνση και ρυθµοί µετάδοσης Ασύγχρονη

Διαβάστε περισσότερα

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας. ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ Το επίπεδο δικτύου ασχολείται με τη μεταφορά πακέτων από την προέλευσή τους μέχρι τον προορισμό τους. Επιλέγει τις κατάλληλες διαδρομές από τους διάφορους δρομολογητές ώστε ένα πακέτο να

Διαβάστε περισσότερα

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5) ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 30/11/2014 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ, Α. ΙΛΕΡΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν γράφοντας δίπλα στο

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

7.1.1 Επίπεδο δικτύου Γενικές Αρχές

7.1.1 Επίπεδο δικτύου Γενικές Αρχές Κεφάλαιο 7 3 κατώτερα επίπεδα OSI 7.1.1 Επίπεδο δικτύου Γενικές Αρχές Σελ. 220-224 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Επικοινωνία σταθμών

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11. Κεφάλαιο 2 Αξιοπιστία...25. Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11. Κεφάλαιο 2 Αξιοπιστία...25. Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης... Περιεχόμενα Εισαγωγή...7 Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11 Κεφάλαιο 2 Αξιοπιστία...25 Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...65 Κεφάλαιο 4 Μεταγωγή Δεδομένων και Δρομολόγηση...

Διαβάστε περισσότερα

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

Διαβάστε περισσότερα

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

Διαβάστε περισσότερα

Πρωτόκολλο TCP Διάλεξη ΙΙI

Πρωτόκολλο TCP Διάλεξη ΙΙI Πρωτόκολλο TCP Διάλεξη ΙΙI Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής ίκτυα Η/Υ Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα Μοντέλο TCP/IP πολλές πολλοί N A N B Ενότητα E PC A PC B PC D PC E E A E B

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΘΕΜΑ 1 ΑΠΑΝΤΗΣΕΙΣ Α. Να χαρακτηρίσετε κάθε μία από τις παρακάτω προτάσεις με Σωστό (Σ) ή Λάθος (Λ). 1. Στο μοντέλο

Διαβάστε περισσότερα

IPv6. Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών

IPv6. Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών IPv6 Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών Περίληψη Έννοιες Διευθυνσιοδότηση Neighbor/Router Discovery Header Fields Security Headers Περίληψη/Ερωτήσεις Βασικές Έννοιες Protocol Επίσημη περιγραφή (συμφωνίες)

Διαβάστε περισσότερα

ΔΙΚΤΥΑ (20-22) Π. Φουληράς

ΔΙΚΤΥΑ (20-22) Π. Φουληράς ΔΙΚΤΥΑ (20-22) Π. Φουληράς Αυτοδύναμα Πακέτα IP και η Προώθησή τους Για να αντιμετωπισθεί η πιθανή ετερογένεια διαφόρων δικτύων που συνδέονται μέσω ενός δρομολογητή, ορίσθηκε μία μορφή πακέτων ανεξάρτητη

Διαβάστε περισσότερα

Τεχνολογίες ιαδικτύου

Τεχνολογίες ιαδικτύου Τεχνολογίες ιαδικτύου Εισαγωγή Αρχιτεκτονική, Πρωτόκολλα και Πρότυπα Βασικών Υπηρεσιών Ιστορικά Στοιχεία ARPANET Ο «παππούς» των δικτύων Αναπτύχθηκε από την DARPA στα τέλη του 60 Το 83 διασπάται σε MILNET

Διαβάστε περισσότερα

7.5 Διευθυνσιοδότηση 7.6.1. Διεύθυνση Ελέγχου Προσπέλασης στο Μέσο

7.5 Διευθυνσιοδότηση 7.6.1. Διεύθυνση Ελέγχου Προσπέλασης στο Μέσο Κεφάλαιο 7 7.5 Διευθυνσιοδότηση 7.6.1. Διεύθυνση Ελέγχου Προσπέλασης στο Μέσο Σελ. 247-249 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Διευθυνσιοδότηση

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα

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

Εργαστήριο Δικτύων Υπολογιστών Εργαστήριο Δικτύων Υπολογιστών 2 η Διάλεξη: TCP/UDP Δικτυακά πρωτόκολλα / εφαρμογές Ports Unix δικτυακές εντολές Transmission Control Protocol - TCP Πρωτόκολλο Mεταφοράς RFC 793 [Postel 1981] Xρησιμοποιεί

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Αυτόνομα Συστήματα (ΑΣ)

Αυτόνομα Συστήματα (ΑΣ) Δρομολόγηση ΙI Αυτόνομα Συστήματα (ΑΣ) Αυτόνομο σύστημα ονομάζουμε εκείνο που έχει τα εξής χαρακτηριστικά: Είναι ένα σύνολο δρομολογητών και δικτύων υπό τη διαχείριση ενός και μόνο οργανισμού Αποτελείται

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

Εισαγωγή στο πως λειτουργεί το διαδίκτυο Εισαγωγή στο πως λειτουργεί το διαδίκτυο (και τι θα δούμε στο εργαστήριο δικτύων) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διαδίκτυο - ένα δίκτυο δεδομένων Σημαντικό

Διαβάστε περισσότερα

8 η ιάλεξη: σε δίκτυα δεδομένων

8 η ιάλεξη: σε δίκτυα δεδομένων Εργαστήριο ικτύων Υπολογιστών 8 η ιάλεξη: Βασικές αρχές δρομολόγησης Βασικές αρχές δρομολόγησης σε δίκτυα δεδομένων ρομολόγηση (Routing) Μεταφορά μηνυμάτων μέσω του διαδικτύου από μία πηγή σε ένα προορισμό

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 4ο Βελώνης - 1ο Τ.Ε.Ε. Κατερίνης Καθηγητής Πληροφορικής ΠΕ20 4-1 ΟΙ ΔΙΕΥΘΥΝΣΕΙΣ ΤΟΥ INTERNET IP Διευθύνσεις, Συμβολικές Διευθύνσεις, DNS http://www.uth.gr/main/help/help-desk/internet/internet1.html

Διαβάστε περισσότερα

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ ΤΑΞΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Α.1. 3 η ΤΑΞΗ ΕΠΑ.Λ. (Α Β ΟΜΑ Α) ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ Ηµεροµηνία: Κυριακή 8 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Να γράψετε στο τετράδιο σας τον αριθµό κάθε µίας από τις παρακάτω

Διαβάστε περισσότερα

ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS)

ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS) ΟΜΑΔΑ ΦΟΙΤΗΤΩΝ: Μιχαηλίνα Αργυρού Κασιανή Πάρη ΕΠΛ 476: ΚΙΝΗΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ (MOBILE NETWORKS) Δρ. Χριστόφορος Χριστοφόρου Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής WiMAX (Worldwide Interoperability

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Η τεχνολογία ΤCΡ/ΙΡ χρησιμοποιεί διευθύνσεις 32 bit, προκειμένου να προσδιορίσει ένα υπολογιστή σε ένα δίκτυο αλλά και το ίδιο το δίκτυο. TCP/IP Εφαρμογής Εφαρμογής TCP-Μεταφοράς TCP-Μεταφοράς IP-Δικτύου

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

Διαβάστε περισσότερα

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 12: Διαφοροποιημένες Υπηρεσίες διαδικτύου MPLS Φώτης Βαρζιώτης

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 12: Διαφοροποιημένες Υπηρεσίες διαδικτύου MPLS Φώτης Βαρζιώτης 1 Ελληνική ημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 12: Διαφοροποιημένες Υπηρεσίες διαδικτύου MPLS Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Όπως έχουμε ήδη αναφέρει, τα δίκτυα τεχνολογίας / χρησιμοποιούν διεύθυνση 32 bits, προκειμένου να δρομολογήσουν ένα αυτοδύναμο πακέτο στο προορισμό του. Κατά σύμβαση έχει επικρατήσει οι διευθύνσεις να

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Μοντέλα υπηρεσιών του επιπέδου δικτύου Προώθηση έναντι δρομολόγησης (forwarding vs routing) IP: Πρωτόκολλο

Διαβάστε περισσότερα

Εγγυημένη ποιότητα υπηρεσίας

Εγγυημένη ποιότητα υπηρεσίας Εγγυημένη ποιότητα υπηρεσίας Απαιτήσεις ποιότητας υπηρεσίας Μηχανισμοί κατηγοριοποίησης Χρονοπρογραμματισμός Μηχανισμοί αστυνόμευσης Ενοποιημένες υπηρεσίες Διαφοροποιημένες υπηρεσίες Τεχνολογία Πολυμέσων

Διαβάστε περισσότερα

γ. Αυθεντικότητα (authentication) δ. Εγκυρότητα (validity) Μονάδες 5

γ. Αυθεντικότητα (authentication) δ. Εγκυρότητα (validity) Μονάδες 5 ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΠΑΡΑΣΚΕΥΗ 13 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής <paskalis@di.uoa.gr> Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Υποστήριξη Κινητικότητας στο Internet Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Mobile IP Ιστορικό Το πρωτόκολλο Internet σχεδιάστηκε για στατικούς υπολογιστές.

Διαβάστε περισσότερα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1 Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1 Ενότητα 8: Εισαγωγή στα Δίκτυα Δρ. Φραγκούλης Γεώργιος Τμήμα Ηλεκτρολογίας Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Βασικές Έννοιες Πληροφορικής

Βασικές Έννοιες Πληροφορικής Βασικές Έννοιες Πληροφορικής 1. Τι είναι ο Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι οποιαδήποτε συσκευή μεγάλη ή μικρή που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με

Διαβάστε περισσότερα

Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3

Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3 Καθυστέρησησεδίκτυα µεταγωγήςπακέτων 2 ο Φροντιστήριο ΗΥ 335 Οι 4 συνιστώσες της καθυστέρησης πακέτων 2 Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο ΕΠΛ 012 Δίκτυα Τπολογιστών & Διαδίκτυο Βιβλιογραφία: Nell Dale & John Lewis, Computer Science Illuminated, 2 nd Edition, 2005 Θέματα Η ανάγκη για δίκτυα Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων

Διαβάστε περισσότερα

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 2 ΙΟΥΝΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΙΚΤΥΑ

Διαβάστε περισσότερα

SIMATIC MANAGER SIMATIC MANAGER

SIMATIC MANAGER SIMATIC MANAGER 1 Προγραμματισμός του PLC. 1. Γενικά Μια προσεκτική ματιά σε μια εγκατάσταση που θέλουμε να αυτοματοποιήσουμε, μας δείχνει ότι αυτή αποτελείται από επιμέρους τμήματα τα οποία είναι συνδεδεμένα μεταξύ τους

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

Κεφάλαιο 7. 7.1 7.4 -> Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ. 220-241

Κεφάλαιο 7. 7.1 7.4 -> Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ. 220-241 Κεφάλαιο 7 7.1 7.4 -> Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ. 220-241 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Δεδομένα

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή 1. Δημιουργία Αίτησης Εισαγωγής Μεταπτυχιακού / Διδακτορικού Φοιτητή 1.1 Συμπλήρωση Αίτησης Εισαγωγής Φοιτητή από την Δικτυακή Πύλη 1.1.1. Σκοπός Οι

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΣΟΜΟΙΩΣΗ ΕΞΕΤΑΣΗΣ 19.5.013 ΘΕΜΑ 1 Ένα δίκτυο κινητής τηλεφωνίας τεχνολογίας GSM, με μέγεθος συστάδας (cluster) κυψελών επαναληψιμότητας συχνοτήτων 1, είναι εγκατεστημένο σε μια γεωγραφική περιοχή και

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Επικοινωνιακό υποδίκτυο ονομάζεται το σύνολο των κόμβων που παρεμβάλλονται κατά την αποστολή ενός πακέτου από τη πηγή στο προορισμό. Το επικοινωνιακό υποδίκτυο μπορεί να βασίζεται είτε στη φιλοσοφία των

Διαβάστε περισσότερα

ΚΕΦ. 2 - Η Λειτουργία των Δικτύων

ΚΕΦ. 2 - Η Λειτουργία των Δικτύων ΚΕΦ. 2 - Η Λειτουργία των Δικτύων 2.1 Ethernet 2.2 Internet 2.3 Asynchronous Transfer Mode 2.4 Η αρχιτεκτονική του Δικτύου Δίκτυα Επικ. - Κεφ. 2A (Καθ. Ι. Σταυρακάκης, Τμήμα Πληροφ. & Τηλεπικ., Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση από Πάνω

Διαβάστε περισσότερα

.1 Βασικές Έννοιες Δικτύωσης. .2 Δίκτυα Άμεσου Συνδέσμου. .3 Δίκτυα Μεταγωγής και Διαδίκτυα. .4 Δικτύωση: συνολική θεώρηση

.1 Βασικές Έννοιες Δικτύωσης. .2 Δίκτυα Άμεσου Συνδέσμου. .3 Δίκτυα Μεταγωγής και Διαδίκτυα. .4 Δικτύωση: συνολική θεώρηση Δίκτυα Υπολογιστών Βασικές Αρχές Δικτύωσης 1 Βασικές Έννοιες Δικτύωσης 2 Δίκτυα Άμεσου Συνδέσμου Ευάγγελος Παπαπέτρου 3 Τμ Μηχ Η/Υ & Πληροφορικής, Παν Ιωαννίνων 4 Δικτύωση: συνολική θεώρηση 5 ΕΠαπαπέτρου

Διαβάστε περισσότερα