EIGRP - Μελέτη και υλοποίηση (Bachelor thesis)

Καραχάτζης, Παρασκευάς


Full metadata record
DC FieldValueLanguage
dc.contributor.authorΚαραχάτζης, Παρασκευάςel
dc.date.accessioned2022-08-09T10:35:41Z-
dc.date.available2022-08-09T10:35:41Z-
dc.identifier.urihttp://195.251.240.227/jspui/handle/123456789/15117-
dc.descriptionΠτυχιακή εργασία - Σχολή μηχανικών - Τμήμα μηχανικών υπολογιστών και ηλεκτρονικών συστημάτων , 2016 α.α 7599el
dc.rightsDefault License-
dc.subjectΓλώσσα προγραμματισμούel
dc.subjectEIGRPen
dc.subjectC language programen
dc.subjectC γλώσσα προγραμματισμούel
dc.subjectΠρωτόκολλοel
dc.subjectProtocolen
dc.titleEIGRP - Μελέτη και υλοποίησηel
heal.typebachelorThesis-
heal.type.enBachelor thesisen
heal.generalDescriptionΠτυχιακή εργασίαel
heal.classificationEIGRP (Πρωτόκολλο δικτύου υπολογιστών)el
heal.classificationEIGRP (Computer network protocol)en
heal.identifier.secondaryα.α 7599-
heal.dateAvailable2022-08-09T10:36:41Z-
heal.languageel-
heal.accessfree-
heal.recordProviderΣχολή μηχανικών / τμήμα μηχανικών υπολογιστών και ηλεκτρονικών συστημάτωνel
heal.publicationDate2016-04-19-
heal.bibliographicCitationΚαραχάτζης, Π. (2016). EIGRP - Μελέτη και υλοποίηση. Θεσσαλονίκη: Διεθνές Πανεπιστήμιο Ελλάδος.el
heal.abstractΣτην πτυχιακή εργασία με θέμα την μελέτη και υλοποίηση του πρωτοκόλλου EIGRP ασχολούμαστε με την δημιουργία μιας εφαρμογής δρομολόγησης. Αυτή η εφαρμογή δρομολόγησης είναι υπεύθυνη για την διαχείριση του πίνακα δρομολόγησης και την εύρεση γειτόνων. Σκοπός του πρωτοκόλλου δρομολόγησης 2 από 58 Πτυχιακή εργασία του φοιτητή Καραχατζή Παρασκευά είναι η εύρεση και εγκατάσταση της βέλτιστης διαδρομής για κάθε προορισμό στο δίκτυο. Έτσι ώστε να μην χρειάζεται ο διαχειριστής του δικτύου να περνάει τις διαδρομές στους πίνακες δρομολόγησης με το χέρι, για να μπορούν να επικοινωνήσουν οι συσκευές σε ένα δίκτυο. Αρχικά πρέπει να αναφέρουμε ότι η εφαρμογή είναι ένα routing daemon για το πρωτόκολλο EIGRP που είναι ένα Distance Vector πρωτόκολλο δρομολόγησης ιδιοκτησία της CISCO. Υλοποιήθηκε σε λειτουργικό σύστημα Debian OS (Kernel Linux 3.2.0), χρησιμοποιώντας C για γλώσσα προγραμματισμού καθώς και το packaging του. Πρέπει να τονιστεί ότι η βασική έκδοση του πρωτοκόλλου δόθηκε το 2013 με την μορφή Informational RFC. Αρχικά οι αλγόριθμοι δρομολόγησης χωρίζονται σε διάφορα είδη με βάση τον τρόπο λειτουργίας τους. Για την ανάπτυξη της εφαρμογής χρειάστηκαν οι αλγόριθμοι διανυσμάτων απόστασης και κατάστασης συνδέσεων καθώς το πρωτόκολλο EIGRP δανείζετε χαρακτηριστικά και των δύο. Επίσης, το πρωτόκολλο EIGRP σε αντίθεση με τα άλλα πρωτόκολλα δρομολόγησης δεν χρησιμοποιεί τα πρωτοκολλά TCP ή UDP για την μεταφορά δεδομένων αλλά έχει υλοποιήσει το δικό του πρωτόκολλο RTP(Reliable Transport Protocol), το οποίο συνδυάζει αξιοπιστία και ταχύτητα. Επίσης, το πρωτόκολλο EIGRP χαρακτηρίζει τις διαδρομές με τις καταστάσεις PASSIVE και ACTIVE. Όταν το δρομολόγιο είναι σε κατάσταση PASSIVE προωθεί πακέτα για τον προορισμό ενώ όταν βρίσκετε στην κατάσταση ACTIVE ψάχνει να βρει ένα καινούργιο δρομολόγιο γιατί το προηγούμενο δεν είναι πια εφικτό. Για να θεωρηθεί ότι μια διαδρομή είναι έγκυρη, πρέπει η αναφερόμενη απόσταση του γείτονα που την έστειλε να είναι μικρότερη από την ελάχιστη απόσταση που γνωρίζει ο δρομολογητής. Αυτό ονομάζετε Feasible Condition. Όταν η διαδρομή ενός γείτονα ικανοποιεί αυτήν την προϋπόθεση ο γείτονας ονομάζετε feasible successor. Από όλους τους feasible successor θα επιλεχθεί ένας successor μέσο του οποίου θα γίνετε η προώθηση πακέτων. Το DUAL Finite State Machine χρησιμοποιείτε για την διαχείριση και τον υπολογισμό των διαδρομών. Είναι ένας από τους μηχανισμούς στον οποίον οφείλει την ταχύτητα του το πρωτόκολλο EIGRP. Αυτό επιτυγχάνετε υπολογίζοντας τα δρομολόγια ξεχωριστά το καθένα καθώς και στο ότι αν και το πρωτόκολλο EIGRP είναι πρωτόκολλο διανύσματος απόστασης εμπεριέχει ένα πίνακα τοπολογίας από τον οποίο μπορεί να ανατρέξει πληροφορίες για την εύρεση καινούργιας διαδρομής. Για την απόκτηση των απαραίτητων δεδομένων για τον υπολογισμό των διαδρομών το DUAL Finite State Machine χρησιμοποιεί τα πακέτα UPDATE, QUERY και REPLY. Η κεφαλίδα των πακέτων είναι μικρή και πέρα από τα βασικά στοιχεία για την επικοινωνία εμπεριέχει και το πρωτόκολλο RTP (Reliable Transport Protocol). Στο σύνολο των πακέτων επικοινωνίας του πρωτοκόλλου EIGRP εμπεριέχονται πέρα από τα 3 από 58 Πτυχιακή εργασία του φοιτητή Καραχατζή Παρασκευά προαναφερόμενα πακέτα και τα παρακάτω. Το πακέτο HELLO το οποίο έχει διάφορες χρίσεις όπου η πιο γνωστή είναι για την διαφήμιση του δρομολογητή στους γείτονες του. Το πακέτο SIA-QUERY το οποίο στέλνετε όταν δεν ληφθεί απάντηση από ένα QUERY. Και το πακέτο SIA-REPLY που είναι η απάντηση σε στο πακέτο SIA-QUERY. Επίσης, οι διαδρομές διαιρούνται σε internal και external. Τα internal είναι διαδρομές που προέρχονται από το πρωτόκολλο EIGRP ενώ οι external διαδρομές έχουν γνωστοποιηθεί από άλλα πρωτόκολλα δρομολόγησης. Ακόμα για να γλυτώσει την αποστολή πολλαπλών ίδιων πακέτο το πρωτόκολλο EIGRP στέλνει πακέτα multicast. Παρόλα αυτά αυτό δημιουργεί προβλήματα καθώς η αποστολή των πακέτων πρέπει να γίνετε σε σειρά, ωστόσο έχει αναπτυχθεί και ο μηχανισμός για την αντιμετώπιση αυτού του προβλήματος. Καλό θα ήταν να αναφερθεί ότι όταν μια διαδρομή μεταβεί σε ACTIVE κατάσταση ενεργοποιείτε ένας μηχανισμός ο οποίος έχει σκοπό να μην επιτρέψει στην διαδρομή να μείνει σε ACTIVE κατάσταση για πάντα λόγο προβλήματος. Αναγκαίο είναι δυο δρομολογητές για να ανταλλάξουν πληροφορίες μεταξύ τους πρέπει να γίνουν πρώτα γείτονές στέλνοντας κάποια πακέτα. Για να πληρούν τις προϋποθέσεις για να είναι γείτονες πρέπει η Κ μεταβλητές να είναι όμοιες. Οι Κ μεταβλητές είναι τα βάρη για των υπολογισμό της απόστασης των διαδρομών. Για των υπολογισμό τις απόστασης χρησιμοποιείτε είτε ο κλασσικός τύπος είτε o Wide Metric τύπος. Πιο συγκεκριμένα τα Wide Metric δημιουργήθηκαν από το πρόβλημα που προέκυψε από την εμφάνιση καρτών δικτύου μεγαλύτερου εύρους ζώνης των 10 Gbps. Τέλος, η μεταφορά των πληροφοριών μέσα στα πακέτο γίνετε μέσω των TLV τα οποία είναι παρόμοια με δομές που κρατάν δεδομένα. Για την ανάπτυξη του κώδικα χρησιμοποιήθηκε το Incremental μοντέλο. Οι βασικότεροι κίνδυνοι τις εφαρμογής ήταν η εύρεση των μηχανισμών ή εργαλείων για την επικοινωνία της εφαρμογής με τον πυρήνα ή άλλες εφαρμογές. Έτσι για την υλοποίηση τις εφαρμογής χρησιμοποιήθηκαν τα δυο πρωτόκολλα, telnet και netlink. Οι βιβλιοθήκες τους βρέθηκαν από την κοινότητα του Debian και υπάρχουν σε πακέτα στο repository. Για την συγγραφή , μεταγλώττιση, αποσφαλμάτωση και την δημιουργία του πακέτου χρησιμοποιήθηκαν τα προγράμματα gedit, gcc, gdb, Valgrind, Wireshark και το πακέτο debhelper. Ακόμα σημαντικό ρόλο έπαιξαν οι Cisco δρομολογητές.el
heal.abstractThis thesis is deals with the study and implementation of the EIGRP protocol routing protocol. The purpose of a routing protocol is to keep track of the changes of the network topology and adjust the routes to the destination networks, on top of discovering these networks. EIGRP is a distance vector routing protocol, 4 από 58 Πτυχιακή εργασία του φοιτητή Καραχατζή Παρασκευά property of Cisco. At 2013 Cisco released an Informational RFC describing the basic version of the EIGRP protocol. The program was developed using C as a programming language and it is used as a daemon. There are two basic categories of routing algorithms based on how they work. Even though EIGRP is described as a distance vector routing protocol, it uses features of link-state protocols as well. Also unlike other routing protocols it does not use TCP or UDP to transport packets through the network but it has implemented a transport layer protocol called RTP (Reliable Transport Protocol) which is a mix of both TCP and UDP and offers both speed and reliability. The routes are defined as either in PASSIVE state or ACTIVE state. When a route is in PASSIVE state the router will forward packet to that destination in contrast when the route goes into ACTIVE state it will stop forwarding packets and start searching for a new valid route. A valid route is considered a route that meets the Feasible Condition. This condition is met when the advertized distance from the destination is less than the feasible distance the router learned since the last time the route went into ACTIVE state. The routes that meet this condition are called feasible successor. Each route can have multiple feasible successor but one of them will be chosen as the successor which will be the neighbor that the packets will be forwarded to. We should also mention that when a router changes to ACTIVE state a mechanism is trigger to limit the time the route stays in the ACTIVE state. Both the DUAL algorithm and state machine provide fast convergence time by recalculated only the affected routes while also providing loop free paths. And by using the topology table the protocol can recalculate the route without having to change the state of the route. The information needed by the DUAL algorithm is conveyed with the packets UPDATE, QUERY and REPLY. On top of these EIGRP also uses the packets HELLO, SIA-QUERY and SIA REPLY. The data transferred in these packets are encapsulated into TLV which are similar to structures and allow different types of data to be transferred using the same packet. Also routes are distinguished as internal and external routes. Internal routes are the routes created or found by the EGRP protocol while external routes are those that were discovered from other sources such as static routes and other routing protocols. To reduce traffic at the network the EIGRP protocol will send multicast packets whenever such an option is available. Even though this has created a problem since the packets much to read in order, the solution to this problem is also implemented. Lastly the calculation of the route metric can be done by either the classic formula or the wide metric formula. Wide metrics where introduced as the classic formula could not keep up with the fast network interfaced. Because EIGRP uses the inverted bandwidth of the link to 5 από 58 Πτυχιακή εργασία του φοιτητή Καραχατζή Παρασκευά calculate the bandwidth based on a theoretical maximum bandwidth, all the network interfaces that pass this limits have trouble calculating a correct or more likely an accurate metric. To solve this problem wide metrics were introduced solving this problem and most importantly are compatible with the classic metrics. For the development of the code the incremental model was used. It allows easy debugging as the parts that are made on each iteration are functional. At the same time is allows the programmer to break down the problem into smaller pieces and work them stage by stage. The drawback of this model is that you can not calculate the cost of the project, which in this case is the time consumed to develop the software. The program uses two more protocols telnet and netlink to interact with other parts of the system and the user. Both their libraries were found at the Debian repository and are contributed by the community. Software used for the project are gedit, gcc, gdb, valgrind, wireshark and the libraries from the debhelper package. Lastly an important role was played by the Cisco routers at the end of each iteration for debugging.en
heal.advisorNameΨαρράς , Νικόλαοςel
heal.committeeMemberNameΨαρράς, Νικόλαοςel
heal.academicPublisherΣχολή μηχανικών / Τμήμα μηχανικών υπολογιστών και ηλεκτρονικών συστημάτωνel
heal.academicPublisherIDihu-
heal.numberOfPages58-
heal.fullTextAvailabilitytrue-
heal.type.elΠροπτυχιακή/Διπλωματική εργασίαel
Appears in Collections:Πτυχιακές Εργασίες

Files in This Item:
File Description SizeFormat 
Karaxatzis_Paraskevas.pdfΚαραχάτζης Παρασκευάς πτυχιακή 415.62 kBAdobe PDFView/Open



 Please use this identifier to cite or link to this item:
http://195.251.240.227/jspui/handle/123456789/15117
  This item is a favorite for 0 people.

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.