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

Μέγεθος: 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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

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

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

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

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

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Μήνυμα μήκους

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

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

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

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

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

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 2 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΔΙΚΤΥΟΥ

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

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

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

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

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

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

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

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

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

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

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

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

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

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

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

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

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

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

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

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

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

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

LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ)

LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ) ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6 LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ) Αυτή η ενότητα του δευτέρου κεφαλαίου περιέχει τα ακόλουθα: - που βρίσκεται το επίπεδο δικτύου - ποιός είναι ο ρόλος του - ποιά

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΙΑ ΙΚΤΥΩΣΗΣ (Kεφ. 15) ΑΡΧΕΣ ΙΑ ΙΚΤΥΩΣΗΣ ΙΑ ΙΚΤΥΩΣΗ ΜΕ ΥΠΗΡΕΣΙΑ ΧΩΡΙΣ ΣΥΝ ΕΣΗ ΠΡΩΤΟΚΟΛΛΟ ΙΑ ΙΚΤΥΟΥ (ΙΡ) Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William

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

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

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

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

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

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

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

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

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

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΙΑ ΙΚΤΥΩΣΗΣ (Kεφ. 15) IPV6 ΠΟΛΛΑΠΛΗ ΑΠΟΣΤΟΛΗ ΙΡ ΠΡΟΒΛΗΜΑΤΑ επί του κεφ. 15 Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ -

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

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

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

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 5/03/204 Συμπληρωματικές Διαφάνειες Νίκος Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου 2 ΟΣΣ/5.03.204/Ν.Δημητρίου 3 ΟΣΣ/5.03.204/Ν.Δημητρίου 4 Θεωρία Aloha/Slotted

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία Improving the performance of TCP in the case of packet reordering Στρατάκη Μαρία Γενικές Πληροφορίες για το TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) Χωρίζουν τα δεδομένα σε τμήματα

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

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από

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

7.5 Πρωτόκολλο IP. & Ερωτήσεις

7.5 Πρωτόκολλο IP. & Ερωτήσεις 7.5 Πρωτόκολλο IP & Ερωτήσεις 1. ε ποιο επίπεδο του μοντέλου TCP/IP ανήκει το IP πρωτόκολλο; Εξασφαλίζει αξιόπιστη μετάδοση, και αν όχι ποιο πρωτόκολλο είναι υπεύθυνο για την αξιοπιστία; 2. Τι χρειάζεται

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

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

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

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η Δίκτυα Η/Υ Θεωρία Διάλεξη 2η Kάρτες Δικτύωσης (NIC-Network Interface Controller) Βασικές εντολές δρομολόγησης και ανίχνευσης Η κάρτα δικτύου συνδέει τον υπολογιστή στο τοπικό δίκτυο παράγει και λαμβάνει

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

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

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

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

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα : Στρώμα Ζεύξης στα Δίκτυα ΗΥ- Ethernet MAC Στρώμα Σαββαΐδης Στυλιανός

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

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

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

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

Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων)

Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων) Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων) Επιμέλεια : Χ. Πατρικάκης (βασισμένο στην ιδέα του Norman Pendegraft. 2003: The TCP/IP game, Current issues in IT education, Tanya McGill (Ed.). IGI Publishing,

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Το πρωτόκολλο Διαδικτυου (Internet Protocol, ) είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/. Η λειτουργία του βασίζεται στην ιδέα των αυτοδύναμων πακέτων (datagrams), τα οποία μεταφέρονται

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση

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

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

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

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing): Δρομολόγηση Ι Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Για να διεκπεραιωθεί η μεταφορά των πακέτων από την πηγή στον προορισμό μεταξύ των κόμβων του επικοινωνιακού υποδικτύου απαιτείται η

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

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

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

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

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

Κατανόηση των βασικών σημείων των διευθύνσεων TCP/IP και της

Κατανόηση των βασικών σημείων των διευθύνσεων TCP/IP και της Page 1 of 8 Αναγν. άρθρου: 164015 - Τελευταία αναθεώρηση: Τρίτη, 29 Μαΐου 2007 - Αναθεώρηση: 4.2 Κατανόηση των βασικών σημείων των διευθύνσεων TCP/IP και της δημιουργίας υποδικτύων Συμβουλή συστήματος

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2013-2014 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 Λύσεις Πρώτης Προόδου (συνολικά 100 μονάδες) 1. Αντιπαραθέσετε

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

ΜΗΧΑΝΙΣΜΟΙ ΠΟΙΟΤΗΤΑΣ ΥΠΗΡΕΣΙΑΣ ΣΕ ΔΙΚΤΥΑ

ΜΗΧΑΝΙΣΜΟΙ ΠΟΙΟΤΗΤΑΣ ΥΠΗΡΕΣΙΑΣ ΣΕ ΔΙΚΤΥΑ ΜΗΧΑΝΙΣΜΟΙ ΠΟΙΟΤΗΤΑΣ ΥΠΗΡΕΣΙΑΣ ΣΕ ΔΙΚΤΥΑ Ενότητα # 3: Integrated Services (IntServ) II Καθηγητής Χρήστος Ι. Μπούρας Τμήμα Μηχανικών Η/Υ & Πληροφορικής, Πανεπιστήμιο Πατρών email: bouras@cti.gr, site: http://ru6.cti.gr/ru6/bouras

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

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

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

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

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ (Kεφ. 17) TCP Υπηρεσίες TCP Μορφή Επικεφαλίδας TCP Μηχανισµοί TCP Πολιτικές Υλοποίησης TCP Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William

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

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

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

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

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

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

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

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

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

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

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

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

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

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

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

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

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

Τρίτη Πρόοδος [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 Σύνδεση από σημείο

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής Στο σημερινό μάθημα ασχολούμαστε με τις έννοιες: Τεχνικές Μεταγωγής o Μεταγωγή κυκλώματος o Μεταγωγή μηνύματος o Μεταγωγή

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

Άσκηση 1 η Τοπικά Δίκτυα Δεδομένων (LANs)

Άσκηση 1 η Τοπικά Δίκτυα Δεδομένων (LANs) Άσκηση 1 η Τοπικά Δίκτυα Δεδομένων (LANs) 1. Σκοπός της άσκησης Η τεχνική CSMA εφαρμόζεται σήμερα στα περισσότερα ενσύρματα πολλαπλής πρόσβασης τοπικά δίκτυα - μικρής έκτασης - ως η οικονομικότερη και

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

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

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

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

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

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

ΔΙΚΤΥΑ (15-17) Π. Φουληράς ΔΙΚΤΥΑ (15-17) Π. Φουληράς Χαρακτηριστικά Δικτύου: Ιδιοκτησία, Υπόδειγμα Υπηρεσίας, και Απόδοση Ιδιωτικά Δίκτυα Κλασσικό Παράδειγμα τα LAN Μεγάλες εταιρείες όμως και σε επίπεδο WAN Αγοράζουν υλικό διασύνδεσης

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

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

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναμεταδότες, Γέφυρες, Μεταγωγείς, δρομολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,

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

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

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

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

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

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

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

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

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας Πανεπιστήμιο Πειραιά To Μοντέλο OSI pdemest@unipi.gr ιάρθρωση Το μοντέλο αναφοράς OSI Επίπεδα Πρωτόκολλα, κατανομή πρωτοκόλλων σε στοιχεία δικτύου Αντιστοιχία τστοχα μοντέλων OSI και Internet Ανάλυση Επιπέδων

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

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

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

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

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

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ 7.1-7.2

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

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

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

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

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση. ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ / Γ- ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 21-02- 2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α. A1. Να γράψετε το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη

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

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

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

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

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

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

- Δομή πλαισίου Ethernet - Πλαίσια Ethernet μεγάλου μεγέθους (Jumbo frames)

- Δομή πλαισίου Ethernet - Πλαίσια Ethernet μεγάλου μεγέθους (Jumbo frames) 2.4.2 Διευθύνσεις Ελέγχου πρόσβασης στο Μέσο (MAC) - Δομή πλαισίου Ethernet - Πλαίσια Ethernet μεγάλου μεγέθους (Jumbo frames) 1 / 37 Φυσική διεύθυνση Κάθε κόμβος σε ένα δίκτυο Ethernet έχει μια φυσική

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

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

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

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

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

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM Παραδείγµατα δικτυακών τεχνολογιών Ethernet Internet ATM Τοπικά δίκτυα (LANs) Τα πιο απλά δίκτυα Κάθε υπολογιστής έχει όνοµα διεύθυνση δικτύου (Internet) διεύθυνση τοπικού δικτύου (Ethernet) alice 28 35

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

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

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

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

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

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