ΤΕΙ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Εργαστηριακές ασκήσεις του µαθήµατος «ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ» Αιγάλεω, 2007
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 1 ΗΜΙΟΥΡΓΙΑ ΣΕΛΙ ΩΝ HTML 1. Ορισµός HTML σελίδων Οι HTML σελίδες είναι απλά κείµενα (γνωστά και ως ASCII αρχεία) τα οποία µπορούν να δηµιουργηθούν χρησιµοποιώντας οποιονδήποτε κειµενογράφο (π.χ., Emacs, vi σε µηχανήµατα UNIX, SimpleText σε Macintosh ή Notepad σε περιβάλλον Windows. Μπορεί ακόµα να χρησιµοποιηθεί επεξεργαστής κειµένου αποθηκεύοντας το αρχείο ως «text only with line breaks». 2. Επεξήγηση Tags Ένα στοιχείο είναι µία στοιχειώδης συνιστώσα της δοµής ενός κειµένου. Μερικά παραδείγµατα στοιχείων είναι heads, tables, paragraphs, and lists. Τα HTML tags χρησιµοποιούνται για τα δηλώσουµε τα στοιχεία του κειµένου στον browser. Τα στοιχεία µπορούν να περιλαµβάνουν απλό κείµενο, άλλα στοιχεία ή και τα δύο. Τα HTML tags αποτελούνται από το σύµβολο (<) στα αριστερά, το όνοµα του tag και το σύµβολο (>) στα δεξιά. Τα tags εµφανίζονται συνήθως κατά ζεύγη (π.χ., <H1> και </H1>), για την αρχική και τελική εντολή. Το tag τέλους είναι ακριβώς ίδιο µε το αρχικό tag µε την διαφορά ότι προηγείται µία πλάγια γραµµή (/) του κειµένου µεταξύ των παρενθέσεων. Ορισµένα από τα πιο ευρέως χρησιµοποιούµενα tags περιγράφονται στην επόµενη ενότητα. Σηµειώνεται, ότι η HTML δεν ξεχωρίζει, εκτός από ελάχιστες εξαιρέσεις, τα κεφαλαία από τα µικρά γράµµατα.. Έτσι, το tag <title> είναι ισοδύναµο µε το <TITLE> ή και το <TiTlE>. Πρεπει να τονιστεί επίσης ότι όλοι οι World Wide Web browsers δεν υποστηρίζουν όλα τα tags. Εάν αυτό συµβαίνει τότε το συγκεκριµένο tag, απλά, θα αγνοηθεί, ενώ το κείµενο ανάµεσα στο ζεύγος των µη υποστηριζόµενων tags θα εµφανιστεί κανονικά. 3. Μία απλή σελίδα HTML Κάθε HTML σελίδα πρέπει να περιέχει ένα συγκεκριµένο σύνολο από HTML tags. Έτσι, κάθε σελίδα αποτελείται από την επικεφαλίδα (head) και το κυρίως κείµενο (body text). Η επικεφαλίδα περιέχει τον τίτλο (title) και ο κυρίως σώµα περιέχει το βασικό κείµενο και περιλαµβάνει παραγράφους, λίστες και άλλα στοιχεία. Ένα απλό HTML κείµενο φαίνεται στη συνέχεια. <html> <head> 2 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 <TITLE>A Simple HTML Example</TITLE> </head> <body> <H1>HTML is Easy To Learn</H1> <P>Welcome to the world of HTML. This is the first paragraph. While short it is still a paragraph!</p> <P>And this is the second paragraph.</p> </body> </html> Τα στοιχεία που χρειάζονται είναι τα <html>, <head>, <title>, και <body> tags (και τα αντίστοιχα τελικά tags). 4. Εφαρµογή βασικών tags Όπως αναφέραµε και στο αρχικό µάθηµα, η HTML είναι απλή. Απλά ορίζουµε το είδος της διαµόρφωσης που θέλουµε να έχουµε για το κείµενό µας. Για αυτή τη διαµόρφωση χρησιµοποιούµε ειδικά tags. Στον πίνακα δίδονται τα βασικότερα, Τα tags πρέπει να µπουν και στην αρχή και στο τέλος, διαφορετικά επιδρούν σε όλο το κείµενο που ακολουθεί. Η αρχή καθορίζεται από το <tag> και το τέλος της από το </tag>. Tag Σηµασία Σύνταξη Αποτέλεσµα Β Έντονα γράµµατα <B>Παράδειγµα</Β> Παράδειγµα Ι Πλάγια γράµµατα <Ι>Παράδειγµα</Ι> Παράδειγµα U Υπογραµµισµένα γράµµατα <U>Παράδειγµα</U> Παράδειγµα CENTER Κείµενο στο κέντρο της σελίδας <CENTER>Παράδειγµα </CENTER> Παράδειγµα TT Γράµµατα Γραφοµηχανής <TT>Παράδειγµα</TT> Παράδειγµα Sup Εκθέτης Παράδειγµα<Sup>2</SUP> Παράδειγµα 2 Sub είκτης Παράδειγµα<Sub>2</Sub> Παράδειγµα 2 ΕΜ Έµφαση <ΕΜ>Παράδειγµα</ΕΜ> Παράδειγµα BLINK Κείµενο που αναβοσβήνει(!) <BLINK>Παράδειγµα</BLINK> Παράδειγµα Σηµειώνεται επίσης ότι οποιοσδήποτε συνδυασµός των παραπάνω είναι εφικτός. Αν, για παράδειγµα, θέλουµε και έντονα, αλλά και πλάγια γράµµατα απλά χρησιµοποιούµε και τα δύο ή περισσότερα στυλ. Έτσι, γράφουµε: 3 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 <Β><Ι><BLINK>Παράδειγµα</BLINK></I></B > Εφαρµογή: Επαναλάβατε το κείµενο του παραδείγµατος της προηγούµενης ενότητας, αλλά χρησιµοποιώντας διαφορετικά είδη διαµόρφωσης. 5. Εφαρµογή tags διαµόρφωσης παραγράφου Το πώς µπορούµε να διαχειριστούµε µεµονωµένες λέξεις, ή και γράµµατα το είδαµε στην προηγούµενη ενότητα. Ας δούµε τώρα τί µπορούµε να κάνουµε για ολόκληρες παραγράφους. Θα ξεκινήσουµε από τα απλά, δηλαδή, από το πως µπορούµε να αλλάξουµε γραµµές. Υπάρχουν δύο τρόποι. Ο πρώτος είναι να ορίσουµε ότι το κείµενο από εδώ και κάτω βρίσκεται σε άλλη γραµµή. Ο δεύτερος τρόπος είναι να αλλάξει παράγραφος. Και τα δύο έχουν σχεδόν το ίδιο αποτέλεσµα. Αλλά, στους νέους browsers κι ειδικά στον Explorer, η διαφορά τους είναι κάτι παραπάνω από εµφανής. Αν θέλουµε να αλλάξουµε τη γραµµή (αλλά να µείνουµε στην ίδια παράγραφο, χρησιµοποιούµε το <BR>, ενώ αν θέλουµε να αλλάξουµε παράγραφο χρησιµοποιούµε το <P>. Κάτι που είναι ενδιαφέρον είναι η χρήση του tag τέλους. Το <BR> απλά δεν έχει. To </P> είναι χρήσιµο όταν χρησιµοποιούµε πλήρη στοίχιση ή όταν έχουµε Style Sheets, ώστε να µπορούµε να κρατάµε στο ελάχιστο τις διαφορές ανάµεσα στους παλιούς και νέους browsers. Αν γράψουµε: Εδώ είναι ένα παράδειγµα για το πως εργάζεται το "<ΒR>" <ΒΡ>Η γραµµή που διαβάζετε άλλαξε γιατί χρησιµοποιήσαµε το <BR> Θα πάρουµε τελικά: Εδώ είναι ένα παράδειγµα για το πως εργάζεται το "<ΒR>" Η γραµµή που διαβάζετε άλλαξε γιατί χρησιµοποιήσαµε το <BR> Υπάρχουν όµως, κι άλλοι τρόποι µορφοποίησης του κειµένου. Ένας καλός τρόπος είναι η χρήση επικεφαλίδων, τα γνωστά κι ως Headings. Υπάρχουν 6 τύποι επικεφαλίδων. Τα Heading 1 ως Heading 6. Είναι προφανές ότι αντιστοιχούν σε επικεφαλίδες από το 1 ως το 6. ηλαδή, µπορούµε να έχουµε µία κύρια και 5 υπό-κεφαλίδες. Επικεφαλίδα Συµβολισµός Σύνταξη Επικεφαλίδα 1 Η1 <H1>Παράδειγµα</Η1> Επικεφαλίδα 2 Η2 <H2>Παράδειγµα</Η2> Επικεφαλίδα 3 Η3 <H3>Παράδειγµα</Η3> Επικεφαλίδα 4 Η4 <H4>Παράδειγµα</Η4> 4 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 Επικεφαλίδα 5 Η5 <H5>Παράδειγµα</Η5> Επικεφαλίδα 6 Η6 <H6>Παράδειγµα</Η6> ιαµορφωµένο Κείµενο Το <PRE> tag (το οποίο αντιστοιχεί στο "preformatted") χρησιµοποιείται για τη διατήρηση της στίχισης του κειµένου που περικλείεται µεταξύ των tags αρχής και τέλους. Για παράδειγµα οι γραµµές: <PRE> Welcome to the world of HTML. This is the first paragraph. While short it is still a paragraph!</pre> θα παρουσιαστούν ως: Welcome to the world of HTML. This is the first paragraph. While short it is still a paragraph! Εφαρµογή: Επαναλάβατε το κείµενο του παραδείγµατος της πρώτης ενότητας, αλλά χρησιµοποιώντας όσο το δυνατόν περισσότερα tags διαµόρφωσης παραγράφου. 5 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 6. Εφαρµογή tag λίστας Στον παρακάτω πίνακα φαίνονται µερικά από τα tags που χρησιµοποιούνται για την απεικόνιση κειµένου σε µορφή λίστας. Tags Σηµασία Περιγραφή <LI> Λίστα ηλώνει κείµενο ως λίστα. Βλέπε και ορισµό <OL>, </OL>. <OL>, </OL> Αριθµηµένη λίστα <OL> <LI> Item number one. <LI> Item number two. <LI> Item number three. </OL> Το αποτέλεσµα θα είναι το ακόλουθο: 1. Item number one. 2. Item number two. <UL>, </UL> Μη αριθµηµένη λίστα <UL> 3. Item number three. <LI> First item <LI> Second item <LI> Third item </UL> Το αποτέλεσµα θα είναι το ακόλουθο: First item Second item Third item <DT> Ορος Το tag χρησιµοποιείται για να χωρέσει σε µία γραµµή της Web σελίδας. Βλέπε επίσης τον ορισµό <DL>, </DL>. <DD> Ορισµός Το tag αυτό δέχεται µία πλήρη παράγραφο ή κείµενο, το οποίο είναι στοιχισµένο κάτω από το <DT>. Βλέπε επίσης τον ορισµό <DL>, </DL> Description. <DL>, </DL> Λίστα ορισµών Αυτό επιτρέπει δύο επίπεδα όρων το <DT> και <DD>. Χρησιµοποιείται όταν υπάρχουν µία λίστα µία περισσότερους από έναν ορισµούς 6 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 Όλα τα παραπάνω tags µπορούν να είναι φωλιασµένα (nested) όπως φαίνεται στο παρακάτω παράδειγµα. <HTML> <HEAD> <TITLE>List Tag Examples</TITLE> </HEAD> <BODY> The following is an example of nesting the different list tags: <OL> <LI>Introduction <LI>Chapter One <UL> <LI>Section 1.1 <LI>Section 1.2 <LI>Section 1.3 </UL> <LI>Chapter Two </OL> Computer Terms <DL> <DT>CPU <DD>Central Processing Unit. This is the "brain" of a computer, where instructions created by the computer system software and application software are carried out. <DT>Hard Drive <DD>Sometimes called fixed drive, this is a device (generally mounted inside a computer's case) with spinning magnetic plates that is designed to store computer data. When a file is "saved" to the hard drive, it is available for accessing at a later time. </DL> </BODY> </HTML> Εφαρµογή: Επαυξήστε το παράδειγµα της πρώτης ενότητας, χρησιµοποιώντας tag λίστας. 7. Ασκηση στη διάρκεια του εργαστηρίου Με βάση τη θεωρία των παραπάνω ενοτήτων το µέλος κάθε οµάδας να φτιάξει τη σελίδα του εργαστηρίου, η οποία να περιέχει: 1. Μια παράγραφο που να περιγράφει τη θέση της αίθουσας (µε την αντίστοιχη επικεφαλίδα). 2. Μια αριθµηµένη λίστα µε τα µαθήµατα που διεξάγονται στην αίθουσα αυτή. 3. Μια µη αριθµηµένη λίστα µε τους διδάσκοντες και εργαστηριακούς υπεύθυνους. 4. Μια οριζόντια γραµµή. 5. Μια παράγραφο για το εργαστήριο τηλεµατικών που σε υποπαραγράφους να περιγράφεται το αντικείµενο του εργαστηρίου, το πλήθος και η φύση των ασκήσεων και ο τρόπος βαθµολόγησης. 7 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 To αρχείο που θα φτιάξετε να το αποθηκεύσετε στο σκληρό δίσκο, στο directory (κατάλογο) :my documents χρησιµοποιώντας ως όνοµα αρχείου τα ονόµατα των σπουδαστών που συµµετέχουν στην κατασκευή του και την ηµεροµηνία. Παράδειγµα: Αν τη σελίδα φτιάχνουν οι Γεωργιάδης και Παπαδόπουλος στις 20 Μαρτίου του 2001, τότε το όνοµα του αρχείου είναι: Γεωργιαδης_Παπαδοπουλος_20_03_01.html. Άσκηση προς παράδοση Κάθε φοιτητής να παραδώσει µια σελίδα html που να δίνει το βιογραφικό του ή άλλα προσωπικά στοιχεία. Η σελίδα θα βαθµολογηθεί µε βάση τα tags που χρησιµοποιεί δηλαδή όσο µεγαλύτερη ποικιλία χρησιµοποιηθεί, τόσο µεγαλύτερος βαθµός επιτυγχάνεται. 8. Οι πίνακες στην html Μπορείτε να προσθέσετε έναν πίνακα (table) σε µια σελίδα html χρησιµοποιώντας το tag <table>. Το tag <TD> </TD> ορίζει την αρχή και το τέλος κάθε στοιχείου του πίνακα, ενώ το <ΤR> oρίζει την αρχή µιάς γραµµής. Το <ΤΗ> δηµιουργεί τις επικεφαλίδες του πίνακα. Αλλα χρήσιµα tags για τη δηµιουργία πινάκων είναι: Τag Λειτουργία Border Καθορίζει την ύπαρξη πλαισίου γύρω από τα στοιχεία του πίνακα Cellpadding Ορίζει το κενό γύρω από τα στοιχεία του πίνακα Bgcolor Align Ορίζει το χρώµα στο φόντο του πίνακα Ορίζει τη στίχηση στα κελιά του πίνακα Παράδειγµα <table border cellpadding=2> <TH align =center> name</th> <TH align =center> weight</th> <TR> <TD> anna</td> <TD> 55 kgr</td> <TR> <TD> litsa</td> <TD> 90 kgr</td> </table> Εφαρµογή Με βάση το πιο πάνω παράδειγµα, φτιάξτε έναν πίνακα µε τη βαθµολογία 5 φοιτητών. Ενας από αυτούς να έχει βαθµό 10 και να φαίνεται µε κόκκινα γράµµατα. 8 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.1 Τι γίνεται αν δεν βάλλετε border; 9. ΠΑΡΑΡΤΗΜΑ Στην ενότητα αυτή παρατίθεται ένα παράδειγµα σελίδας ΗΤΜL. </head> <P> <B>My first HTML Page</B> </P> <a href="../circle.html">examples</a> <HR> <A href="http://www.teipir.gr ">TEI PEIRAIA</a> <HR> <UL> <LI><A HREF="#xtocid5001"><b>Part 1: Why Java's Important</b></A> </UL> <PRE> <center> <img src="../circleeqn1.gif" width=265 height=35 border=0> </center> </PRE> <h2><a NAME="xtocid5001">Part 1: Why Java's important</a></h2> <P>Java has caused more excitement than any development on the Internet since Mosaic. Everyone, it seems, is talking about it. Unfortunately very few people seem to know anything about it. This tutorial is designed to change that.</p> </HTML> 9 από 66
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 2 ΗΜΙΟΥΡΓΙΑΣ ΣΕΛΙ ΩΝ HTML (συνέχεια) 1. Αναφορές Για να γίνουν οι HTML σελίδες πιο χρήσιµες στο World Wide Web προσθέτουµε hypertext συνδέσµους (links). Οι σύνδεσµοι αυτοί είναι σύντοµες αναφορές σε επόµενες σελίδες. Ο χρήστης µπορεί να επιλέξει το σύνδεσµο, και να µεταφερθεί στη σελίδα. Tags Σηµασία Περιγραφή Το βασικό tag για τη δηµιουργία hypertext και αντίστοιχων <A>, </A> Anchor Tag συνδέσµων είναι το <A>, ή anchor tag, και χρησιµοποιείται ως ακολούθως: <A HREF="URL">Text describing link</a> Το HREF είναι µια µεταβλητή του tag <A>, και βασικά περιγράφει ή ορίζει την νέα θέση που θα µεταφερθούµε µε το την επιλογή του συνδέσµου. Παράδειγµα: Έστω ο σύνδεσµος "My Favorite Links", και µέσω αυτού θέλουµε να µεταβούµε στη νέα σελίδα που ορίζεται από τη διεύθυνση URL http://links.com: <A HREF="http://links.com"> My Favorite Links</A> Ο σύνδεσµος θα εµφανίζεται µε διαφορετικό χρώµα υποδεικνύοντας ότι ο χρήστης µπορεί να αλληλεπιδράσει σε αυτό. Εκτός από αναφορές σε άλλες σελίδες, µε συνδέσµους <A Σύνδεσµος µπορούµε να αναφερόµαστε και σε άλλα τµήµατα του NAME >, παραγράφου ίδιου κειµένου που βρισκόµαστε. Αυτό πραγµατοποιείται </A> ως ακολούθως (βλέπε και παράδειγµα παραρτήµατος). <A HREF="#section_name">Link description</a> <A NAME="section_name">Beginning of new section</a> Εφαρµογή: Χρησιµοποιείστε σε ένα παράδειγµα τους συνδέσµους αναφοράς σε άλλες σελίδες ή και σε τµήµατα του ίδιου κειµένου. Αυτή η ιδιότητα επιτρέπει στο χρήστη να στείλει ένα e-mail mailto: e-mail µέσω του internet λογαριασµού. Αυτό µπορεί να χρησιµοποιηθεί ως ακολούθως: <A HREF="mailto:e-mail address">send me e-mail</a> Μία διεύθυνση e-mail έχει την εξής µορφή: support@teipir.gr Άρα ο σύνδεσµος θα είναι ο ακόλουθος: <A HREF="mailto:support@teipir.gr ">Mail me</a>
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.2 2. Εισαγωγή γραφικών 2.1. Εισαγωγή εικόνων Οι περισσότεροι Web browsers µπορούν να απεικονίσουν εικόνες οι οποίες είναι σε X Bitmap (XBM), GIF, or JPEG κωδικοποίηση. Κάθε εικόνα απαιτεί περισσότερο χρόνο για να «φορτωθεί» και γενικά µειώνει την ταχύτητα απεικόνισης της σελίδας. Η εντολή για να συµπεριλάβουµε εικόνες σε ένα κείµενο είναι η εξής: <IMG SRC=ImageName> όπου where ImageName είναι η διεύθυνση του αρχείου της εικόνας (βλέπε και παράδειγµα παραρτήµατος). 2.1.1. Χαρακτηριστικά µεγέθους εικόνων Για να δηλώσουµε το µέγεθος της εικόνας πρέπει να προσθέσουµε δύο ιδιότητες µετά το <IMG> tag Ύψος (HEIGHT) και Πλάτος (WIDTH) Αυτό επιτρέπει στον browser την αποθήκευση του κατάλληλου χώρου (σε pixels) για την εικόνα. Εφαρµογή: Εφαρµόστε σε ένα παράδειγµα τους συνδέσµους εισαγωγής εικόνων (και ορισµού µεγέθους εικόνας). Στην ίδια σελίδα έναν σύνδεσµος µέσω του οποίου επιτρέπεται αποστολή e-mail θα πρέπει να παρέχεται. 3. Άλλες δυνατότητες 3.1. Οριζόντιες γραµµές Το <HR> tag παράγει µία οριζόντια γραµµή κατά πλάτος του παραθύρου του browser. Μία οριζόντια γραµµή επιτρέπει το διαχωρισµό σηµαντικών τµηµάτων του κειµένου. Η σύνταξη είναι η εξής: <HR SIZE=4 WIDTH="50%"> 3.2. Σχολιασµός κειµένων Σχόλια σε µία html σελίδα συµπεριλαµβάνονται ως εξής: <!-- your comments here --> Το θαυµαστικό και οι παύλες πρέπει να χρησιµοποιούνται ακριβώς όπως φαίνονται. 11 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.2 3.3. Σύνδεσµος σε video Με τον ίδιο τρόπο που συνδέεται µια σελίδα html µε µια άλλη, µπορεί να δηµιουργηθεί σύνδεσµος σε αρχείο video, οπότε από αυτό το σύνδεσµο ενεργοποιείται το media player. 4. Εφαρµογή Με βάση τη θεωρία των παραπάνω ενοτήτων κάθε οµάδα να εµπλουτίσει τη σελίδα του εργαστηρίου µε: Ένα σύνδεσµο σε άλλο αρχείο html το οποίο να περιέχει τις βαθµολογίες των φοιτητών σε ένα µάθηµα. Ένα σύνδεσµο σε εικόνα Ένα σύνδεσµο σε κάποιο σηµείο του κειµένου (π.χ. στην αρχή της σελίδας) Ένα σύνδεσµο σε mail. Άσκηση για παράδοση Να εµπλουτίσετε την προσωπική σας σελίδα (αποτέλεσµα της πρώτης εργαστηριακής άσκησης) µε συνδέσµους σε άλλη σελίδα και άλλα σηµεία της ίδια καθώς και µε εικόνες. Παράρτηµα Στη συνέχεια παρατίθενται κάποια επιπλέον tags για µεγαλύτερο εύρος επιλογών. Tag Attribute Function <FONT>...</FONT> <BASEFONT> SIZE="..." Controls the appearance of the enclosed text. The size of the font, from 1 to 7. Default is 3. Can also be specified as a value relative to the current size; for example, +2. COLOR="..." Changes the color of the text. FACE="..." Name of font to use if it can be found on the user's system. Multiple font names can be separated by commas, and the first font on the list that can be found will be used. Sets the default size of the font for the current page. SIZE="..." The default size of the font, from 1 to 7. 12 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.2 Tag Attribute Tag Function <EM>...</EM> <STRONG>...</STR ONG> <B>...</B> <I>...</I> <TT>...</TT> <PRE>...</PRE> <BIG>...</BIG> <SMALL>...</SMAL L> <SUB>...</SUB> <SUP>...</SUP> <STRIKE>...</STRI KE> <DIV>...</DIV> ALIGN="..." Emphasis (usually italic). Stronger emphasis (usually bold). Boldface text. Italic text. Typewriter (monospaced) font. Preformatted text (exact line endings and spacing will be preserved--usually rendered in a monospaced font). Text is slightly larger than normal. Text is slightly smaller than normal. Subscript. Superscript. Puts a strikethrough line in text. A region of text to be formatted Align text to CENTER, LEFT, or RIGHT. (May also be used with <P>, <H1>, <H2>, <H3>, and so on.) Επίσης µπορείτε να χρωµατίσετε το background γραφοντας στην αρχή, όχι απλώς <body> αλλά <body bgcolor= red > 13 από 66
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 Εισαγωγή Α. Μέρος Ο στόχος της παρούσας εργαστηριακής άσκησης είναι η αφοµοίωση του τρόπου λειτουργίας των πρωτοκόλλων του διαδικτύου µε τη βοήθεια εκπαιδευτικού προγράµµατος. Εκτέλεση της άσκησης Κάνετε double-click στο εικονίδιο IP_training στο desktop. Οσο κινείστε στους διάφορους συνδέσµους, όταν υπάρχει εικόνα µε κίνηση, στην επιλογή διαλέγω open this file from its current location. Προχωρώντας από το σύνδεσµο routed protocols στον internet protocols, εµφανίζεται µια οθόνη µε πολλές επιλογές. Η κίνησή σας σε αυτές θα πρέπει να είναι προσεκτική, γιατί ακολουθούν ερωτήσεις.
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 Τα πρωτόκολλα του διαδικτύου Με βάση τα όσα πληροφορείστε στο Link internet protocols overview/internet protocols suite, απαντήστε στις παρακάτω ερωτήσεις: 1. Το πρωτόκολλο SMTP (Simple Mail Transport Protocol) είναι ένα από τα πρωτόκολλα που χρησιµοποιούνται για την ανταλλαγή µηνυµάτων ηλεκτρονικού ταχυδροµείου (e-mail). Ποιών επιπέδων λειτουργίες υλοποιεί; Ποια πρωτόκολλα χρησιµοποιούνται κατά την αποστολή ενός τέτοιου µηνύµατος (email); 2. Σε ποιο επίπεδο του OSI αντιστοιχεί το IP και το ICMP; Το πρωτόκολλο IP Γυρίστε πίσω χρησιµοποιώντας στο toolbar το back και προχωρήστε στο internet protocol overview. Ποιες είναι οι δύο βασικές λειτουργίες του IP; Η επικεφαλίδα που χρησιµοποιεί το πρωτόκολλο ΙΡ φαίνεται στο ακόλουθο σχήµα. 15 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 0...3 4.7 8... 15 16 18 19..23 24 31 VERS HLEN SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA... Εικόνα 1: Η µορφή ενός πακέτου δεδοµένων σύµφωνα µε το πρωτόκολλο ΙΡ Πηγαίνοντας πίσω, και επιλέγοντας IP packet format, απαντήστε: Ποιο το ελάχιστο και ποιο το µέγιστο µέγεθος της επικεφαλίδας ενός πακέτου IP; Ποιο το ελάχιστο και ποιο το µέγιστο µέγεθος ενός πακέτου IP; Πώς γίνεται αντιληπτή η εσφαλµένη µετάδοση ψηφίων της επικεφαλίδας ενός πακέτου IP και τι εξυπηρετεί αυτή; To πρωτόκολλο IP υποστηρίζει κατάτµηση (fragmentation) και επανένωση (re-assembly). Όταν ο παραλήπτης λάβει ένα πακέτο IP µε βάση ποια πεδία της επικεφαλίδας θα κάνει τη συνένωση; Με βάση τις πληροφορίες που βρίσκετε στα «IP address classes» και «IP subnet addressing» προχωρήστε στις ακόλουθες ερωτήσεις: Πόσες κλάσεις διευθύνσεων διακρίνει το ΙΡ και ποιες οι διαφορές τους; Προχωρώντας από την κλάση Α προς την C, ο αριθµός των ξενιστών (host) αυξάνει; Ti εξυπηρετεί το subnet addressing ; Προχωρήστε στο «IP routing». Με βάση ποιο πεδίο της επικεφαλίδας γίνεται η δροµολόγηση στο διαδίκτυο; Ποιες οι ενέργειες ενός δροµολογητή ΙΡ, όταν παραλάβει ένα πακέτο ΙΡ; Με βάση την αντίστοιχη παράγραφο των σηµειώσεων της Θεωρίας σας (κεφάλαιο 3): Περιγράψτε τις διαδικασίες της άµεσης και έµµεσης δροµολόγησης. Ποια η έννοια του default routing (πάγια δροµολόγηση); Πως σχηµατίζεται ο πίνακας δροµολόγησης; Περιγράψτε τα πιθανά σενάρια δροµολόγησης µεταξύ ενός ξενιστή (host) στην Ελλάδα και ενός εξυπηρετητή (server) στην Αµερική; Ποιες κατηγορίες δροµολογητών ενδέχεται να προωθήσουν τα πακέτα κατά τη δροµολόγησή τους προς τον τελικό προορισµό τους; Πρωτόκολλο Επίλυσης ιευθύνσεων ARP (Address Resolution Protocol) Προχωρώντας στο αντίστοιχο σύνδεσµο, απαντήστε: Ποια η λειτουργία του address resolution protocol και πώς επιτυγχάνεται; Ποιου επιπέδου πρωτόκολλο είναι το MAC; 16 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 Πρωτόκολλο µηνυµάτων ελέγχου του διαδικτύου (Internet Control Message Protocol) Για εξοικείωση µε το πρωτόκολλο µηνυµάτων ελέγχου του διαδικτύου, (Internet Control Message Protocol), προχωρήστε στο αντίστοιχο σύνδεσµο και αµέσως µετά απαντήστε στις παρακάτω ερωτήσεις. Ποια λειτουργία επιτελεί το πρωτόκολλο ICMP; Περιέχουν δεδοµένα χρήστη τα µηνύµατα ICMP; Ποιος δηµιουργεί τέτοια µηνύµατα και ποιος δηµιουργεί πακέτα ΙP; Για ποιο λόγο ενδέχεται να µην µπορεί να σταλεί ένα πακέτο σε ένα συγκεκριµένο προορισµό; Πως γνωστοποιείται αυτό στον αποστολέα; Τι πληροφορία παρέχουν τα µηνύµατα echo request and reply και το time exceeded ; Βρίσκεστε σε ένα τυχαίο σηµείο του διαδικτύου και παρατηρείτε πακέτα να περνούν από µπροστά σας. Πως θα διακρίνετε ένα µήνυµα ICMP από ένα πακέτο δεδοµένων (Συµβουλευθείτε τις σηµειώσεις της θεωρίας, σελίδα 42); Ασκήσεις πολλαπλής επιλογής Προχωρήστε στις internet protocols exercises και απαντήστε τις 4 πρώτες ερωτήσεις πολλαπλών επιλογών. Όταν η απάντησή σας είναι λανθασµένη, δείτε το «review. Το πρωτόκολλο TCP (transmission control protocol) Προχωρήστε στο σύνδεσµο TCP overview. Ποιες οι βασικές λειτουργίες του πρωτοκόλλου (TCP); Πώς ορίζεται µια TCP σύνδεση; Στη συνέχεια φαίνεται η µορφή ενός TCP πακέτου. 0 4 10 16 24 31 SOURCE PORT DESTINATION PORT SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER 4x5=20 bytes HLEN RESERVED U A P S R C S Y G K H N CHECKSUM F I N OPTIONS (IF ANY) WINDOW URGENT POINTER PADDING 4xN bytes N=0-10 DATA... Εικόνα 2 Η µορφή του πακέτου στο TCP Source/ Destination Port (16 bits): The source/destination port number. Sequence Number (32 bits): The sequence number of the first data octet in this segment (except when SYN is present). If SYN is present the sequence number is the Initial Sequence Number (ISN) and the first data octet is ISN+1. 17 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 Acknowledgment Number (32 bits): If the ACK control bit is set this field contains the value of the next sequence number the sender of the segment is expecting to receive. Once a connection is established this is always sent. Data Offset (4 bits): The number of 32 bit words in the TCP Header. This indicates where the data begins. The TCP header (even one including options) is an integral number of 32 bits long. Reserved (6 bits): Reserved for future use. Must be zero. Control Bits (6 bits): URG: Urgent Pointer field significant ACK: Acknowledgment field significant PSH: Push Function RST: Reset the connection SYN: Synchronize sequence numbers FIN: No more data from sender Window (16 bits): The number of data octets beginning with the one indicated in the acknowledgment field, which the sender of this segment is willing to accept. Checksum (16 bits): The checksum field is the 16 bit one's complement of the one's complement sum of all 16-bit words in the header and text. If a segment contains an odd number of header and text octets to be checksummed, the last octet is padded on the right with zeros to form a 16-bit word for checksum purposes. The pad is not transmitted as part of the segment. While computing the checksum, the checksum field itself is replaced with zeros. Ποια πεδία της επικεφαλίδας προσδιορίζουν τη σύνδεση στην οποία ανήκει ένα πακέτο; Τα πακέτα που ανήκουν σε µια σύνδεση ΤCP πρέπει να παραδοθούν από το TCP στρωµα του προορισµού στο ανώτερο στρώµα µε σειρά ίδια µε αυτή της αποστολής. ηλαδή ο προορισµός πρέπει να παραλάβει τα πακέτα µε τη σειρά που τα εξέπεµψε η πηγή. Πώς γίνεται αυτό, όταν η δροµολόγηση στο IP δεν εγγυάται ότι τα πακέτα δεν θα ακολουθήσουν τον ίδιο δρόµο; Ποια µηνύµατα ανταλλάσσονται για την εγκατάσταση µιας σύνδεσης; (σύναψη τριµερούς συµφωνίας). Host A connection request (SYN) connection granted (SYN/ACK) ack Host B Host A segments (SN) acks (SN+1) Host B time time Normal TCP connection establishment time time Normal TCP connection progress Εικόνα 3 18 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 Όταν λέµε ότι η πηγή στέλνει ένα µήνυµα connection request, αυτό σηµαίνει ότι η πηγή δηµιουργεί ένα TCP πακέτο µε συγκεκριµένες τιµές σε κάποια πεδία της επικεφαλίδας έτσι ώστε όταν λάβει το πακέτο ο προορισµός να το ερµηνεύσει ως connection request. Ποια είναι τα πεδία που εµπλέκονται σε αυτή τη διαδικασία; Υπάρχει η έννοια της σύνδεσης στο IP; Το TCP παρέχει αξιόπιστη ανταλλαγή δεδοµένων. Ποιος µηχανισµός προβλέπεται για να αντιλαµβάνεται η πηγή την επιτυχηµένη παράδοση δεδοµένων; Η χρήση παραθύρου επηρεάζει την αξιοπιστία της ανταλλαγής των δεδοµένων; Αν όχι, τι επηρεάζει και γιατί χρησιµοποιείται; Για ποιους λόγους µπορεί να «χαθεί» ένα πακέτο; Όταν έχουν σταλεί και έχουν ληφθεί σωστά 10 πακέτα και το τελευταίο έχει αριθµό Χ, το µήνυµα επιβεβαίωσης (acknowledgement) τι αριθµό θα περιέχει; Το TCP κάνει έλεγχο ροής. Τι είναι ο έλεγχος ροής και τι ο έλεγχος συµφόρησης; Ποιος ελέγχει τη ροή και ποιος «µετράει» τη συµφόρηση; Πώς ο µηχανισµός συροµένου παραθύρου κάνει έλεγχο ροής; Ποιά είναι η διαδοχή ανταλλαγής µηνυµάτων όταν το µέγεθος του παραθύρου είναι ένα; Πώς ο µηχανισµός συροµένου παραθύρου κάνει έλεγχο ροής και πώς έλεγχο συµφόρησης Ποια πεδία χρησιµοποιούνται για την εκτέλεση των παραπάνω λειτουργιών; Ποιο πεδίο της επικεφαλίδας ενός δεδοµενογράµµατος (TCP datagram) ρυθµίζει το παράθυρο; Το πρωτόκολλο UDP Προχωρήστε στον αντίστοιχο σύνδεσµο. Παρατηρείστε την επικεφαλίδα στο UDP. Εχει περισσότερα ή λιγότερα πεδία από αυτή του TCP; Εχοντας κατά νου ότι όλες οι λειτουργίες κάθε πρωτοκόλλου χρησιµοποιούν πεδία της επικεφαλίδας, τι µπορούµε να πούµε για τις λειτουργίες του UDP σε σύγκριση µε αυτές του TCP; Εάν παραλείψουµε κάποιες λειτουργίες σε ένα στρώµα, ποιες θα είναι οι επιπτώσεις; Εφαρµογές στο internet Παραθέστε 3 γνωστές εφαρµογές και τα πρωτόκολλα επιπέδου εφαρµογής που τα στηρίζουν. Ασκήσεις πολλαπλής επιλογής Προχωρήστε στις internet protocols exercises και απαντήστε τις υπόλοιπες ερωτήσεις πολλαπλών επιλογών. Όταν η απάντησή σας είναι λανθασµένη, δείτε το review. Εργασία: Να παραδώσετε γραπτά τις απαντήσεις στις παρακάτω ερωτήσεις. 19 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 Στο παρακάτω σχήµα φαίνονται οι σταθµοί Α,Β,C και D καθώς και οι δροµολογητές (routers) R1, R2. 1. Πώς δροµολογούνται τα πακέτα µε πηγή τον Α και προορισµό τον Β; 2. Πώς δροµολογούνται τα πακέτα µε πηγή τον Α και προορισµό τον C; 3. Πώς δροµολογούνται τα πακέτα µε πηγή τον Α και προορισµό τον D; 4. Τα πακέτα που γεννιόνται από τον C πώς δροµολογούνται; (Για την απάντηση στις ερωτήσεις να ανατρέξετε στις Σελίδες 23-25 σηµειώσεων θεωρίας). 1. Ποια η διαφορά έµµεσης και άµεσης δροµολόγησης; 2. Πως καταλαβαίνει µια µηχανή ότι ο προορισµός των πακέτων της βρίσκεται στο ίδιο φυσικό δίκτυο; 3. Τι κάνει ένας δροµολογητής µόλις λάβει ένα πακέτο; 4. Τι είναι ο πίνακας δροµολόγησης; 5. Υπάρχει περίπτωση δυο γραµµές του πίνακα αυτού να έχουν την ίδια τιµή στη δεύτερη στήλη; 6. Ο πίνακας αυτός περιέχει όλες τις δυνατές διευθύνσεις; 7. Τι γίνεται αν ένα πακέτο έχει διεύθυνση προορισµού η οποία δεν υπάρχει στον πίνακα δροµολόγησης; Απορρίπτουµε το πακέτο; 8. Πως βοηθάει η ιεραρχική οργάνωση των διευθύνσεων στη µείωση του µεγέθους των πινάκων δροµολόγησης; 20 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.3 9. Υπάρχει περίπτωση ένα πακέτο να προορίζεται σε ένα δροµολογητή; Τι πληροφορία µπορεί να περιέχει αυτό; 10. Υπάρχει περίπτωση ένας δροµολογητής να καταστρέψει ένα πακέτο; Αν ναι, γιατί; 11. Ποια η λειτουργία των πρωτοκόλλων ARP kai ICMP; Τι σχέση έχουν αυτά τα πρωτόκολλα µε τη δροµολόγηση του IP; 12. Ποιές οι βασικές λειτουργίες του πρωτοκόλλου TCP; 13. Ποιές είναι οι βασικές διαφορές µεταξύ IP και TCP πρωτοκόλλου; 14. Πώς λειτουργεί ο µηχανισµός κινούµενου παραθύρου και γιατί χρησιµοποιείται; 15. Ποιά είναι η διαδοχή ανταλλαγής µηνυµάτων όταν το µέγεθος του παραθύρου είναι ένα; 16. Εξηγείστε πώς το παράθυρο ολίσθησης του TCP χρησιµοποιείται για έλεγχο ροής; 17. Εξηγείστε πώς το παράθυρο ολίσθησης του TCP χρησιµοποιείται για έλεγχο συµφόρησης; 18. Ποιά µηνύµατα ανταλλάσονται κατά την εγκατάσταση σύνδεσης TCP; 19. Ποιά µηνύµατα ανταλλάσονται κατά τον τερµατισµό σύνδεσης TCP; 21 από 66
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΕΡΓΑΛΕΙΑ ΙΑΓΝΩΣΗΣ ΚΑΙ ΠΡΟΣΤΑΣΙΑΣ ΤΩΝ WINDOWS (IPCONFIG-PING-TRACERT-NETSTATS-FIREWALLS) Για να επικοινωνεί ένας υπολογιστής στο ιαδίκτυο απαιτείται να του διατεθεί µια διεύθυνση IP των 32-bit και να προσδιορισθούν οι µάσκες, η διεύθυνση της πύλης διόδευσης (gateway) kai DNS. Η ανάθεση των διευθύνσεων IP γίνεται από µια κεντρική αρχή υπεύθυνη για την διαχείριση αυτών των διευθύνσεων, ώστε είναι µονοσήµαντα ορισµένες. Αυτή είναι η IANA/ICAN, Internic, που διαθέτει διευθύνσεις σε µια δενδρική ιεραρχία που οδηγεί στους από εθνικούς φορείς και από εκεί στους διαχειριστές δικτύου των οργανισµών, πανεπιστηµίων, εταιρειών φθάνοντας στους χρήστες των µηχανηµάτων. Η ανάθεση γίνεται είτε αυτοµατοποιηµένα µε χρήση του πρωτοκόλλου DHCP (Dynamic Host Configuration Protocol) ή χειροκίνητα από το αντίστοιχο κέντρο λειτουργίας δικτύου. Εργαστηριακό µέρος. Στο περιβάλλον Microsoft Windows 2000 των υπολογιστών του εργαστηρίου ο ορισµός της διεύθυνσης ΙΡ µπορεί να γίνει είτε άµεσα µε εισαγωγή αυτού µέσω των διαθέσιµων ρυθµίσεων δικτύου, που παρέχει το λειτουργικό σύστηµα (Start->Settings->Control Panel-> Network), είτε αυτοµατοποιηµένα, όπως προαναφέραµε µε χρήση του πρωτοκόλλου DHCP (Dynamic Host Configuration Protocol) από τον αντίστοιχο εξυπηρετητή (server). Μπορείτε να ελέγξετε τις δικτυακές ρυθµίσεις του υπολογιστή σας χρησιµοποιώντας την εφαρµογή ipconfig (η εφαρµογή αυτή διατίθεται και από τα περισσότερα λειτουργικά συστήµατα UNIX, FreeBSD, Linux κλπ. ενώ η αντίστοιχή της είναι η winipcfg σε περιβάλλον Windows 95/98/2000/XP) σε περιβάλλον εντολής (command mode). Για να δείτε τις δικτυακές ρυθµίσεις του υπολογιστή σας δώστε την εντολή ipconfig στο παράθυρο εντολών, που ανοίγει µέσω του µενού εφαρµογών: Start -> Programs -> Accessories -> Command Prompt (εναλλακτικά Start -> Run -> Open: cmd) Ένα παράδειγµα του αποτελέσµατος στη οθόνη εξόδου από την εκτέλεσης της εντολής ipconfig ακολουθεί. C:\>ipconfig Windows 2000 IP Configuration Ethernet adapter Local Area Connection: C:\> Connection-specific DNS Suffix. : IP Address............ : 172.16.180.10 Subnet Mask........... : 255.255.192.0 Default Gateway......... : 172.16.230.1 Σχήµα 1: λίστα εξόδου από την εκτέλεσης της εντολής ipconfig
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 Ζητούµενο 1. ώστε την διεύθυνση ΙΡ του υπολογιστή που χρησιµοποιήσατε για την εκτέλεση της άσκησης σε δεκαδική αναπαράσταση τεσσάρων αριθµών -στη συνήθη µορφή αναπαράστασης δηλαδήκαθώς και την ισοδύναµη ψηφιακή της των 32-bit. Η χρήση της «πόρτας» στο TCP και UDP Όπως αναφέραµε και προηγουµένως η ανταλλαγή πακέτων δεδοµένων για επικοινωνία µέσω του ιαδικτύου βασίζεται στην αναγραφή των ΙΡ διευθύνσεων πηγής και προορισµού. Οι διευθύνσεις αυτές αντιστοιχούν στους φυσικούς τερµατικούς κόµβους του δικτύου οι οποίοι αποτελούν µηχανές εκτέλεσης των τηλεπικοινωνιακών πρωτοκόλλων (συνηθέστερα ηλεκτρονικοί υπολογιστές αλλά όλο και συχνότερα ποικίλες ηλεκτρονικές/ψηφιακές µηχανές τηλεπικοινωνιών, ψυχαγωγίας κλπ.). Οι µηχανές αυτές έχουν στη µέγιστη πλειοψηφία τους σήµερα την ικανότητα εκτέλεσης περισσοτέρων της µίας διακτυακών εφαρµογών ταυτόχρονα µε αποτέλεσµα να εµφανίζεται η ανάγκη πολύπλεξης και αποπολύπλεξης πακέτων δεδοµένων από τις διαφορετικές εφαρµογές πάνω από την ίδια δικτυακή σύνδεση της µηχανής και βεβαίως µε χρήση από όλες τις εφαρµογές της µοναδικής διεύθυνσης ΙΡ, που αντιστοιχεί στη µηχανή. Υπεύθυνα για την διαχείριση της λειτουργίας της πολύπλεξης και αποπολύπλεξης όπως έχουµε δει είναι τα πρωτόκολλα του στρώµατος µεταφοράς (transport layer) τα οποία στην περίπτωση του ιαδικτύου είναι τα TCP (Transmission Control Protocol) και UDP (Unreliable Delivery Protocol). Το TCP (όπως και το UDP) επιτρέπει σε πολλές εφαρµογές να επικοινωνούν ταυτόχρονα, αναλαµβάνοντας να αποπλέκει (demultiplex) τα πακέτα TCP (UDP) και να τα στέλνει στις κατάλληλες εφαρµογές µε βάση τις συνδέσεις νοητών κυκλωµάτων. Οι συνδέσεις (connections) χαρακτηρίζονται από ένα ζεύγος σηµείων τερµατισµού (end-points). Μέσα στην ίδια µηχανή, σε κάθε θύρα αντιστοιχίζεται και ένας διαφορετικός µικρός ακέραιος που αναφέρεται ως αριθµός θύρας πρωτοκόλλου (protocol port numbers) στο TCP (UDP). Με αυτό τον τρόπο οι συνδέσεις ακόµα και αν έχουν τον ίδιο τελικό προορισµό µπορούν να διακριθούν και το λογισµικό του πρωτοκόλλου να τοποθετήσει στη σωστή ουρά (µε την οποία είναι εφοδιασµένη κάθε θύρα) τα αφικνούµενα πακέτα δηλ. τα datagrams. Eποµένως το πρωτόκολλο ΤCP επιτρέπει πολλαπλές συνδέσεις στην ίδια µηχανή να µοιράζονται την ίδια θύρα TCP (UDP). Εφόσον µια σύνδεση είναι ένα νοητό (ή εικονικό) κύκλωµα µεταξύ δύο εφαρµογών θα ήταν λογικό να υποθέσουµε πως οι εφαρµογές χρησιµοποιούνται σαν σηµεία τερµατισµού από το πρωτόκολλο TCP (UDP). Αντίθετα όµως το ΤCP χρησιµοποιεί σαν endpoints ένα ζεύγος ακεραίων της µορφής (host,port) όπου host είναι η IP διεύθυνση µια µηχανής και port είναι µια θύρα TCP (UDP) για τη µηχανή αυτή. Για παράδειγµα το σηµείο τερµατισµού (128.10.2.3,25) καθορίζει την θύρα 25 του TCP (UDP) στη µηχανή που έχει IP διεύθυνση 128.10.2.3. Για παράδειγµα τα προγράµµατα που διαβάζουν τα ηλεκτρονικά ταχυδροµεία (electronic mail) χρησιµοποιούν µία µόνο τοπική θύρα (την 25) για να δέχονται ταυτόχρονα τα µηνύµατα απ όλες τις συνδέσεις.. Το FTP χρησιµοποιεί την πόρτα 21 κτλ. Βεβαίως είναι και εδώ προφανές πως ηεπίλυση προβληµάτων συµβατότητας απαιτεί διαχείριση των αριθµών πόρτας (και αντιστοίχιση αυτών σε εφαρµογές) από µια κεντρική διεθνή αρχή συντονισµού του ιαδικτύου, η οποία είναι στην περίπτωση αυτή η ΙΑΝΑ. Επειδή το πρωτόκολλο TCP (UDP) είναι προσανατολισµένο σε συνδέσεις (connection oriented) απαιτεί να συµφωνήσουν τόσο ο πόµπος όσο και ο δέκτης, πριν αποκατασταθεί η σύνδεση. Για να γίνει αυτό, το πρόγραµµα εφαρµογής στην µία άκρη εκτελεί µια συνάρτηση 23 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 «παθητικού ανοίγµατος» (passive open) επικοινωνώντας µε το λειτουργικό σύστηµα, δηλώνοντας ότι αποδέχεται µια εισερχόµενη κλήση. Εκείνη τη στιγµή το λειτουργικό διαθέτει µια θύρα TCP (UDP) την οποία θα χρησιµοποιεί το σηµείο τερµατισµού (end-point) αυτής της σύνδεσης. Το πρόγραµµα εφαρµογής από την άλλη πλευρά επικοινωνεί µε το δικό του λειτουργικό σύστηµα χρησιµοποιώντας µια αίτηση «ενεργού ανοίγµατος» (active open) για να εγκαταστήσει µια σύνδεση. Στη συνέχεια τα δύο τµήµατα των λειτουργικών συστηµάτων, που είναι υπέυθυνα για την υλοποίηση του πρωτοκόλλου TCP (UDP), επικοινωνούν και επιβεβαιώνουν την εγκατάσταση της σύνδεσης. Αφού εγκατασταθεί η σύνδεση τα δύο προγράµµατα µπορούν ν αρχίσουν την µεταφορά δεδοµένων, ένω το πρωτόκολλο TCP (UDP) και στις δύο πλευρές ανταλλάσσει µηνύµατα που εγγυώνται την αξιόπιστη µεταφορά των δεδοµένων. Εργαστηριακό µέρος. Μία πολύ χρήσιµη εφαρµογή για τον έλεγχο των εγκατεστηµένων συνδέσεων σε έναν δικτυωµένο υπολογιστή είναι η εφαρµογή netstat (η εφαρµογή αυτή διατίθεται και από τα περισσότερα λειτουργικά συστήµατα UNIX, FreeBSD, Linux κλπ.). Ένα παράδειγµα του αποτελέσµατος στη οθόνη εξόδου από την εκτέλεσης της εντολής netstat -help (πάντα σε περιβάλλον εντολής -command mode) ακολουθεί (η παράµετρος -help εκτυπώνει πληροφορίες σχετικά µε την λειτουργία και τις παραµέτρους της εντολής). Z:\>netstat -help Displays protocol statistics and current TCP/IP network connections. NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] -a Displays all connections and listening ports. -e Displays Ethernet statistics. This may be combined with the s option. -n Displays addresses and port numbers in numerical form. -p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP. If used with the -s option to display per-protocol statistics, proto may be TCP, UDP, or IP. -r Displays the routing table. -s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the -p option may be used to specify a subset of the default. interval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once. Σχήµα 2: λίστα εξόδου από την εκτέλεσης της εντολής netstat Μία άλλη πολύ χρήσιµη εφαρµογή για τον έλεγχο της κατάστασης των διαφόρων «µονοπατιών» µέσα από το ιαδίκτυο προς διάφορους προορισµούς συνδέσεων σε έναν δικτυωµένο υπολογιστή είναι η εφαρµογή traceroute (η εφαρµογή αυτή διατίθεται από τα 24 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 περισσότερα λειτουργικά συστήµατα UNIX, FreeBSD, Linux κλπ.), ενώ στο περιβάλλον Microsoft Windows διατίθεται ως tracert. Ένα παράδειγµα του αποτελέσµατος στη οθόνη εξόδου από την εκτέλεσης της εντολής tracert (πάντα σε περιβάλλον εντολής -command mode) ακολουθεί (η εντολή χωρίς επιπλέον παραµέτρους εκτυπώνει πληροφορίες σχετικά µε την λειτουργία και τις παραµέτρους της εντολής). Z:\>tracert Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name Options: -d Do not resolve addresses to hostnames. -h maximum_hops Maximum number of hops to search for target. -j host-list Loose source route along host-list. -w timeout Wait timeout milliseconds for each reply. Στο επόµενο σχήµα αποτυπώνεται το αποτέλεσµα στη οθόνη του υπολογιστή από την εκτέλεση της εντολής tracert από έναν υπολογιστή του ΤΕΙ Πειραιά για την ανίχνευση της διαδροµής µέσω του ιαδικτύου προς έναν εξυπηρετητή (server) της εφαρµογής µεταφοράς αρχείων (FTP) εγκατεστηµένο στο Εθνικό Μετσόβιο Πολυτεχνείο. Τέλος µία βασική εφαρµογή για τον έλεγχο της κατάστασης των διαφόρων ξενιστών (host) µέσα στο ιαδίκτυο είναι η εφαρµογή ping (η εφαρµογή αυτή διατίθεται οµοίως και από τα περισσότερα λειτουργικά συστήµατα UNIX, FreeBSD, Linux κλπ.). Ένα παράδειγµα του αποτελέσµατος στη οθόνη εξόδου από την εκτέλεσης της εντολής ping (πάντα σε περιβάλλον εντολής -command mode) ακολουθεί (η εντολή χωρίς επιπλέον παραµέτρους εκτυπώνει πληροφορίες σχετικά µε την λειτουργία και τις παραµέτρους της εντολής). 25 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 Z:\>ping Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] [-k host-list]] [-w timeout] destination-list Options: -t Ping the specified host until stopped. To see statistics and continue - type Control Break; To stop - type Control-C. -a Resolve addresses to hostnames. -n count Number of echo requests to send. -l size Send buffer size. -f Set Don't Fragment flag in packet. -i TTL Time To Live. -v TOS Type Of Service. -r count Record route for count hops. -s count Timestamp for count hops. -j host-list Loose source route along host-list. -k host-list Strict source route along host-list. -w timeout Timeout in milliseconds to wait for each reply. Στο επόµενο σχήµα αποτυπώνεται το αποτέλεσµα στη οθόνη του υπολογιστή από την εκτέλεση της εντολής ping, όπως και στο προηγούµενο παράδειγµα, από έναν υπολογιστή του ΤΕΙ Πειραιά για την ανίχνευση της κατάστασης του προηγούµενου εξυπηρετητή. Ζητούµενο 2. ιαπιστώστε ότι ο εξυπηρετητής ΤΕΙ Πειραιά µε DNS διεύθυνση www.teipir.gr είναι ενεργός και αναφέρατε το αποτέλεσµα της εφαρµογής που χρησιµοποιήσατε. Από το πρόγραµµα πλοήγησης (web browser π.χ. Internet Explorer) του υπολογιστή σας επισκεφθείτε την κεντρική σελίδα του ΤΕΙ Πειραιά στη διεύθυνση www.teipir.gr. Με 26 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 χρήση της εφαρµογής netstat διαπιστώστε ποιο πρωτόκολλο χρησιµοποιεί η συγκεκριµένη εφαρµογή και σε ποια πόρτα απαντά ο εξυπηρετητής του ΤΕΙ Πειραιά. Ποια είναι η ΙΡ διεύθυνση του παραπάνω εξυπηρετητή σε αναπαράσταση δεκαεξαδικών ψηφίων; Κλείστε το πρόγραµµα πλοήγησης. ΤΕΙΧΗ ΠΡΟΣΤΑΣΙΑΣ ΜΕ ΧΡΗΣΗ ΦΙΛΤΡΩΝ (FIREWALLS) Η χρήση των παραπάνω εφαρµογών ήδη αναδεικνύει το πρόβληµα ελέγχου πρόσβασης σε συγκεκριµένους υπολογιστές συνδεδεµένους στο ιαδίκτυο, που υποστηρίζουν τα παραπάνω πρωτόκολλα και παρέχουν τις παραπάνω υπηρεσίες, από µη εξουσιοδοτηµένους χρήστες ή από χρήστες που κακόβουλα και µε εσκεµµένη παραποίηση των πρωτοκόλλων µπορούν να προκαλέσουν δυσλειτουργία συγκεκριµένων ξενιστών (host) ή/και δροµολογητών. Οι πιθανές αιτίες πρόκλησης ανεπιθύµητων καταστάσεων µε εκµετάλλευση συγκεκριµένων καταστάσεων στην εξέλιξη επικοινωνιών µε χρήση διαφόρων πρωτοκόλλων είναι πάρα πολλές και συνεχώς ανακαλύπτονται καινούριες καθώς εξελίσσονται τα πρωτόκολλα και οι εφαρµογές καθώς και οι δυνατότητες των υπολογιστών και των δικτυακών συστηµάτων. Για τον έλεγχο της πρόσβασης σε συγκεκριµένα υποδίκτυα ή δικτυωµένους υπολογιστές απαιτείται η εφαρµογή συγκεκριµένων φίλτρων πακέτων δεδοµένων, τα οποία µε βάση συγκεκριµένα κριτήρια απαγορεύουν τη διέλευση συγκεκριµένων πακέτων δεδοµένων από και προς συγκεκριµένους υπολογιστές. Οι εφαρµογές αυτές των φίλτρων µπορούν να γίνουν είτε απ ευθείας στους ξενιστές/υπολογιστές, που αποτελούν τερµατικούς κόµβους του δικτύου (όπως και η εφαρµογή που θα χρησιµοποιήσετε στο εργαστήριο), είτε σε ενδιάµεσους δροµολογητές εξοπλισµένους µε τις κατάλληλες εφαρµογές για την εκτέλεση αυτής της λειτουργίας απόρριψης πακέτων δεδοµένων κάτω από συγκεκριµένες συνθήκες, που έχει επιλέξει ο διαχειριστής του δικτύου. Στους υπολογιστές του εργαστηρίου σας θα χρησιµοποιηθεί µια παρόµοια εφαρµογή η οποία παρέχει και ένα φιλικό προς τον χρήστη περιβάλλον ρυθµίσεων του υπολογιστή για την εισαγωγή κανόνων άνευ όρων είτε υπό συνθήκη αποδοχής/απόρριψης πακέτων που λαµβάνονται/αποστέλλονται µέσω του δικτύου στο οποίο συνδέεται ο υπολογιστής. Επίσης η συγκεκριµένη εφαρµογή παρέχει και ευκολίες παρακολούθησης των ενεργών συνδέσεων του υπολογιστή, αναγνώριση διευθύνσεων DNS και γνωστών εφαρµογών, ενδείξεις συναγερµού κατά την απόρριψη πακέτων, καταχώρηση στατιστικών στοιχείων κ.λ.π. Εργαστηριακό µέρος. Εκκινήστε την εφαρµογή στον υπολογιστή σας από το µενού επιλογής προγραµµάτων του λειτουργικού συστήµατος εφαρµόζοντας µε την παρακάτω ακολουθία: Start -> Programs -> Tiny Personal Firewall -> Personal Firewall Engine Start -> Programs -> Tiny Personal Firewall -> Personal Firewall Status Ένα παράδειγµα από την οθόνη, όπου έχει ανοίξει η συγκεκριµένη εφαρµογή φαίνεται στην εικόνα που ακολουθεί. Στο συγκεκριµένο παράθυρο της εφαρµογής παρουσιάζεται ένας συνοπτικός πίνακας ενεργών συνδέσεων µε πληροφορίες (ανά στήλες) για το πρωτόκολλο που χρησιµοποιείται, την κατάσταση, τις διευθύνσεις των κόµβων που επικοινωνούν, πλήθος δεδοµένων που έχουν ανταλλαγεί κ.λ.π. Μέσω των διαθέσιµων ρυθµίσεων µπορείτε επίσης να ρυθµίσετε και να ταξινοµήσετε τον τρόπο αναπαράστασης των πληροφοριών αυτών. 27 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 Ακολουθώντας αντίστοιχα την παρακάτω ακολουθία θα ανοίξετε το παράθυρο εισαγωγής των ρυθµίσεων της εφαρµογής: Start -> Programs -> Tiny Personal Firewall -> Personal Firewall Administration Πατώντας το κουµπί µε την επιλογή Advanced θα οδηγηθείτε στο παράθυρο επιλογής ρυθµίσεων και εισαγωγής κανόνων απόρριψης πακέτων. Ένα παράδειγµα από την οθόνη, όταν εκτελεστούν τα παραπάνω φαίνεται στην εικόνα που ακολουθεί. 28 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 Ζητούµενο 3: ηµιουργήστε (πατώντας το πλήκτρο ADD στο προηγούµενο παράθυρο της εφαρµογής) ένα νέο κανόνα τον οποίο θα ονοµάσετε TEST_DENY_ICMP_OUT, οποίος θα απαγορεύει την αποστολή µηνυµάτων σύµφωνα προς το πρωτόκολλο ICMP από τον υπολογιστή σας προς οποιοδήποτε προορισµό. Οι ρυθµίσεις για τη εφαρµογή του κανόνα ακολουθούν στη συνέχεια καθώς και παράδειγµα από την οθόνη, όπου αυτές εισάγονται φαίνεται στην εικόνα που ακολουθεί. Description: TEST_DENY_ICMP_OUT Protocol: ICMP Direction: Outgoing Set ICMP -> Select all Action: Deny 29 από 66
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.4 Επιλέξτε τις επιλογές: Log when this rule match Display alert when this rule match οκιµάστε ξανά την εντολή ping ftp.ntua.gr. Τι παρατηρείτε; Ζητούµενο 4: Τροποποιήστε τον κανόνα TEST_DENY_ICMP_OUT, ώστε να απαγορεύει µόνο τα πακέτα ICMP προς τον εξυπηρετητή ftp.ntua.gr (θυµηθείτε ότι µπορείτε να χρησιµοποιείστε την εφαρµογή tracert ή την netstat µε την κατάλληλη παράµετρο). οκιµάστε την εντολή ping www.ntua.gr και δώστε το αποτέλεσµα εξόδου στην οθόνη σας. Ανοίξτε την εφαρµογή «ξεφυλλίσµατος Παγκόσµιου Ιστού» (web browser) σε µια διεύθυνση της επιλογής σας. Ποιο πρωτόκολλο στρώµατος µεταφοράς χρησιµοποιείται για την επικοινωνία µε τον διακοµιστή (server); Εντοπίστε τον αριθµό πόρτας, που χρησιµοποιεί η εφαρµογή, για να συνδεθεί στον διακοµιστή που εξυπηρετεί την ιστοσελίδα που επιλέξατε και δηµιουργήστε έναν νέο κανόνα, που να απαγορεύει την έξοδο πακέτων µε αυτό τον αριθµό πόρτας προορισµού στην επικεφαλίδα. Τροποποιήστε τον κανόνα που δηµιουργήσετε ώστε να αποτρέπει την πρόσβαση µόνο στον δικτυακό τόπο www.ntua.gr. οκιµάστε σαν διεύθυνση της εφαρµογής «ξεφυλλίσµατος» (browser) την ftp://ftp.ntua.gr. Τι παρατηρείτε; 30 από 66
Εργαστηριακή Άσκηση 5 Χρήση Sniffer για την αναγνώριση της δικτυακής κίνησης Στην άσκηση αυτή θα χρησιµοποιήσουµε ένα sniffer για να συλλάβουµε (capture) πακέτα από ένα τοπικό δίκτυο Ethernet και να εξετάσουµε την δοµή τους. 5. Α. Θεωρητικό µέρος Οι sniffer είναι προγράµµατα τα οποία µπορούν και συλλαµβάνουν πακέτα στο δίκτυο µε σκοπό την ανάλυση της κίνησης του δικτύου και την αναγνώριση πιθανών προβληµατικών περιοχών στο δίκτυο. Για παράδειγµα, φανταστείτε ότι ένα κοµµάτι του δικτύου έχει χαµηλή απόδοση και τα πακέτα παραδίδονται στο κοµµάτι εκείνο µε πολύ µεγάλη καθυστέρηση. Με έναν sniffer είναι δυνατή η ανάλυση της κίνησης και ο εντοπισµός του προβλήµατος. Σε περίπτωση που κάποιος χρήστης καταναλώνει µεγάλο µέρος των δικτυακών πόρων, θα ανιχνευθεί µεγάλο ποσοστό πακέτων µε προορισµό ή πηγή τον χρήστη αυτό. Στην άσκησή µας θα χρησιµοποιήσουµε ένα sniffer ο οποίος δίδεται δωρεάν στο διαδίκτυο είναι ο Ethereal (http://www.ethereal.com). Θα χρησιµοποιήσουµε το παραπάνω πρόγραµµα για αναλύσουµε κάποια πακέτα τα οποία είναι έτοιµα και κατόπιν θα δούµε µε ποιόν τρόπο συλλαµβάνουµε πακέτα από το δίκτυο. Τα παραπάνω προϋποθέτουν καλή γνώση των πρωτοκόλλων µετάδοσης στα δίκτυα υπολογιστών. Παρακάτω κάνουµε µια απλή αναφορά στα πιο χρήσιµα από αυτά. Στα πιο συχνά χρησιµοποιούµενα πρωτόκολλα στις διαδικτυακές εφαρµογές περιλαµβάνονται: Address Resolution Protocol (ARP) Internet Control Message Protocol (ICMP) Internet Protocol (IP) Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Το Address Resolution Protocol (ARP) χρησιµοποιείται για να µετατρέπει τις διευθύνσεις του επιπέδου IP σε διευθύνσεις του φυσικού επιπέδου (Ethernet, Token ring ) χωρίς αυτό το πρωτόκολλο η δροµολόγηση θα ήταν αδύνατη! Εκτός από το ARP υπάρχει και το RARP (Reverse ARP) το οποίο κάνει την ακριβώς αντίθετη δουλειά. Περισσότερες πληροφορίες για το ARP θα βρείτε στο φυλλάδιο της θεωρίας των τηλεµατικών εφαρµογών και στο RFC 826 (http://www.ietf.org/rfc/rfc0826.txt). Το Internet Control Message Protocol (ICMP) είναι ένα πρωτόκολλο το οποίο παρέχει µηνύµατα ελέγχου τα οποία ανταλλάσσονται µεταξύ δύο ή περισσοτέρων υπολογιστών στο δίκτυο για την κοινοποίηση της κατάστασής τους. Το πρωτόκολλο ICMP είναι πολύ σηµαντικό για την έγκαιρη διάγνωση προβληµάτων στο δίκτυο. Περισσότερες πληροφορίες θα βρείτε στο φυλλάδιο της θεωρίας των τηλεµατικών εφαρµογών Ι και για το ICMP βρείτε στο RFC 792 (http://www.ietf.org/rfc/rfc0792.txt).
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΙΑ ΙΚΤΥΑΚΑ ΠΡΩΤΟΚΟΛΛΑ Ασκ.5 Το Internet Protocol (IP) είναι το πρωτόκολλο του οποίου η δουλειά είναι η µεταφορά και παράδοση των πακέτων στον προορισµό. Περισσότερες πληροφορίες για το IP θα βρείτε στο φυλλάδιο της θεωρίας των ιαδικτυακών Πρωτοκόλλων και στο RFC 791 (http://www.ietf.org/rfc/rfc0791.txt) Το Transmission Control Protocol (TCP) είναι ένα πρωτόκολλο το οποίο είναι υπεύθυνο για τον έλεγχο ροής και τη διόρθωση λαθών καθώς και για την πολύπλεξη των πακέτων που γεννιούνται από διάφορες εφαρµογές. Για περισσότερες πληροφορίες δείτε το φυλλάδιο της θεωρίας και το RFC 793 (http://www.ietf.org/rfc/rfc0793.txt) Το User Datagram Protocol (UDP) είναι ένα πρωτόκολλο το οποίο δεν χρησιµοποιεί συνδέσεις όπως το TCP. Είναι πολύ απλούστερο πρωτόκολλο και χρησιµοποιείται όταν διόρθωση λαθών και έλεγχος ροής δεν απαιτούνται από την εφαρµογή. Περισσότερες πληροφορίες θα βρείτε στη θεωρία και στο RFC 768 (http://www.ietf.org/rfc/rfc0768.txt). Πέρα από τα βασικά πρωτόκολλα υπάρχουν και πρωτόκολλα ανώτερου επιπέδου, (κατά ΟSI). Mερικά από αυτά αναφέρονται στο κεφάλαιο 7 της θεωρίας και είναι: HTTP Hypertext Transfer Protocol (http://www.ietf.org/rfc/rfc2068.txt) FTP File Transfer Protocol (http://www.ietf.org/rfc/rfc0765.txt) SMTP Simple Mail Transfer {Protocol (http://www.ietf.org/rfc/rfc0821.txt) DNS Domain Name System (http://www.ietf.org/rfc/rfc1034.txt) και (http://www.ietf.org/rfc/rfc1035.txt) Telnet (http://www.ietf.org/rfc/rfc0854.txt) Καθώς και µερικά πιο καινούργια πρωτόκολλα όπως: Secure Shell Protocol (SSH) (http://www.ietf.org/html.charters/secsh-charter.html) IPSec (IP Security) (http://www.ietf.org/rfc/rfc2401.txt) IPv6 (http://www.ietf.org/rfc/rfc2460.txt) Β. Εργαστηριακό µέρος (Οι απαντήσεις στις παρακάτω ερωτήσεις να παραδοθούν γραπτά.) Ανοίξτε το Ethereal. Ανοίξτε το αρχείο simpletcp (File open και στο menu επιλογών διαλέγω το simpletcp). Παρατηρείτε ένα πακέτο tcp. 1. Τι πακέτο είναι; Αναφέρετε τη στοίβα πρωτοκόλλων από την οποία προέκυψε. 2. Aναφέρετε σε τι είδους τοπικό δίκτυο γεννήθηκε (Ethernet, FDDI, Token ring, ) 3. Πατήστε το + δίπλα από το πεδίο Frame και δείτε και καταγράψτε την ηµεροµηνία που στάλθηκε καθώς και το µήκος του πακέτου. 4. Πατήστε πάνω στο πεδίο Ethernet και δείτε στο από κάτω παράθυρο µαρκαρισµένη την επικεφαλίδα του. Μπορείτε να αναγνωρίσετε τα στοιχεία της; Τι στοιχεία εξάγουµε από αυτή; 5. Πατήστε το + πάνω στο πεδίο Internet Protocol. είτε την διεύθυνση προορισµού και την διεύθυνση αποστολέα. Με γνώµονα την δοµή του πακέτου που αναφέρεται πιο πάνω προσπαθήστε να αναγνωρίσετε τα στοιχεία του. Κατόπιν πατήστε το + δίπλα από το πεδίο και επιβεβαιώστε τα αποτελέσµατα. 32 από 66