Βασικές Έννοιες

1.1 Εισαγωγή

Η επικοινωνία δεδομένων έχει αναχθεί σε πρωταρχικής σημασίας κομμάτι της πληροφορικής. Δίκτυα εγκατεστημένα σε όλο το κόσμο, χρησιμοποιούνται για την συλλογή και διανομή δεδομένων πάνω σε ποικίλα θέματα. Από καιρό έχει κατανοηθεί η αναγκαιότητα διασύνδεσης όλων αυτών των επιμέρους δικτύων σε ένα ευρύτερο σύνολο, διευκολύνοντας και επιταχύνοντας την επικοινωνία. Οι προσπάθειες της κατασκευής αυτού του υπέρ – δικτύου ήταν επιτυχημένες και το αποτέλεσμα ήταν αυτό που σήμερα ξέρούμε σαν Internet. Το Internet (ή Διαδίκτυο) παρουσιάζει μεγάλη αποδοχή, πράγμα που οδηγεί στην συνεχή εξέλιξη και αναδιαμόρφωση του.

Ένα από τα μεγαλύτερα προβλήματα που έπρεπε να λυθούν ώστε το Διαδίκτυο να γίνει πραγματικότητα, ήταν η ύπαρξη πολλών τεχνολογιών δικτύων, καθεμιά από τις οποίες εξυπηρετεί μια συγκεκριμένη ομάδα ανθρώπων. Οι χρήστες του δικτύου διαλέγουν την τεχνολογία που είναι κατάλληλη για τις επικοινωνιακές τους ανάγκες. Η χρήση μίας και μόνο τεχνολογίας για την δημιουργία ενός παγκόσμιου δικτύου είναι αδύνατη, γιατί δεν υπάρχει τεχνολογία που να ικανοποιεί όλες τις απαιτήσεις. Για παράδειγμα, μερικοί χρήστες χρειάζονται δίκτυα υψηλών ταχυτήτων που καλύπτουν μικρές αποστάσεις. Για άλλους πάλι, πιο εξαπλωμένα δίκτυα, χαμηλών ταχυτήτων είναι πιο χρήσιμα.



Το Διαδίκτυο, παρ' όλα αυτά, καταφέρνει να συνενώσει όλες αυτές τις διαφορετικές τεχνολογίες, παρέχοντας ένα σύνολο συμβάσεων. Κρύβει τις λεπτομέρειες της υποκείμενης δικτυακής τεχνολογίας και επιτρέπει σε υπολογιστές από όλο τον κόσμο να βρίσκονται σε επαφή ανεξάρτητα από το δίκτυο στο οποίο συνδέονται. Το Διαδίκτυο βασίζεται σε μια συλλογή από τυποποιήσεις που καλούνται πρωτόκολλα. Τα πρωτόκολλα (π.χ. TCP και IP) παρέχουν τους κανόνες για την επικοινωνία. Περιέχουν τις λεπτομέρειες των ανταλλασσόμενων μηνυμάτων, περιγράφουν πως ανταποκρίνεται ο υπολογιστής όταν λαμβάνει κάποιο μήνυμα και ορίζει πως διαχειρίζεται ο υπολογιστής της καταστάσεις λάθους. Κατά μία έννοια, τα πρωτόκολλα είναι για την επικοινωνία ότι είναι οι αλγόριθμοι για τον προγραμματισμό. Ένας αλγόριθμος επιτρέπει την κατανόηση της λογικής του προγράμματος, χωρίς να χρειάζεται να ξέρει την δομή και κατασκευή της CPU. Ομοίως, ένα πρωτόκολλο επιτρέπει στον χρήστη να καταλάβει τα δεδομένα μιας χωρίς να έχει γνώση του δικτυακού υλικού.

1.2 Αρχιτεκτονική του Διαδικτύου

Το Διαδίκτυο αποτελεί παράδειγμα συστήματος τύπου open system interconnection. Καλείται ανοιχτό σύστημα (open system), γιατί σε αντίθεση με προηγούμενα επικοινωνιακά συστήματα ανεπτυγμένα από ιδιωτικές εταιρίες, η περιγραφή του είναι δημόσια διαθέσιμη. Έτσι, οποιοσδήποτε μπορεί να γράψει λογισμικό που να συμβαδίζει με τις προδιαγραφές του συστήματος.

Σαν τέτοιο σύστημα, το Διαδίκτυο μπορεί να συγκριθεί με το μοντέλο OSI (Open System Interconnection). Στο παραπάνω σχήμα βλέπουμε την δομή του Διαδικτύου σε σχέση με την αντίστοιχη δομή του OSI μοντέλου. Παρατηρούμε πως η αρχιτεκτονική του Διαδικτύου έχει λιγότερα επίπεδα από αυτή του OSI και τα δεδομένα από το επίπεδο εφαρμογής (application) ως το επίπεδο φυσικής πρόσβασης (network access).

Στο επίπεδο της φυσικής πρόσβασης (network access) ανήκουν τα πρωτόκολλα LAN όπως Ethernet, Token Ring, FDDI και πρωτόκολλα WAN όπως X.25, Frame Relay, SLIP, PPP που επιτρέπουν την φυσική διασύνδεση, την πρόσβαση στο μέσο και τον έλεγχο της ζεύξης.

Στο επίπεδο δικτύου (network) χρησιμοποιείται το πρωτόκολλο IP, του οποίου τα πακέτα δρομολογούνται με ειδικές συσκευές, τους δρομολογητές (routers).

Στο επίπεδο μεταφορά (transport) χρησιμοποιείται το πρωτόκολλο TCP και δευτερευόντως το UDP.

Στο επίπεδο εφαρμογών (application) ανήκουν μεταξύ άλλων και τα πρωτόκολλα FTP, Telnet, SMTP, HTTP για την παροχή διάφορων υπηρεσιών όπως την μεταφορά αρχείων, την πρόσβαση σε υπολογιστές, ηλεκτρονικό ταχυδρομείο και το Web.

 

1.3 Τα Επίπεδα του Διαδικτύου

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

1.3.1 Επίπεδο Φυσικής Πρόσβασης

Σε αυτό το επίπεδο ανήκουν οι εκάστοτε δικτυακές τεχνολογίες όπως Ethernet, FDDI και Token Ring. Το επίπεδο ασχολείται με την μετάδοση των bit μέσω διάφορων μέσων και αναλυτικότερα με τα ηλεκτρικά, μηχανικά και λειτουργικά χαρακτηριστικά των διασυνδέσεων. Επίσης ασχολείται με τον τρόπο που γίνεται η πρόσβαση στο φυσικό μέσον και καθορίζει τους κανόνες επικοινωνίας στο τοπικό δίκτυο.

1.3.2 Επίπεδο Δικτύου (IP πρωτόκολλο)

Η μετάδοση στο IP (Internet Protocol) γίνεται με την τεχνική των datagrams. Το κάθε datagram (πακέτο) φθάνει στον παραλήπτη διασχίζοντας ένα η περισσότερα διασυνδεόμενα IP δίκτυα, χωρίς να εξαρτάται από άλλα προηγούμενα ή επόμενα πακέτα.

Το IP, σαν πρωτόκολλο του τρίτου επιπέδου, δεν ασχολείται με τις φυσικές συνδέσεις ή τον έλεγχο των ενδιάμεσων ζεύξεων μεταξύ των κόμβων του δικτύου. Αυτά είναι αρμοδιότητα των χαμηλότερων επιπέδων. Στην ουσία ασχολείται με την διευθυνσιοδότητη, τον τεμαχισμό και την επανασυγκόληση των πακέτων. Το πρωτόκολλο IP δεν είναι αξιόπιστης μεταφοράς (reliable transfer) καθώς δεν εξασφαλίζει την σίγουρη παράδοση των πακέτων με τεχνικές επανεκπομπής και έλεγχο ροής. Επιπλέον είναι connectionless γιατί δεν απαιτεί την αποκατάσταση σύνδεσης μεταξύ των δύο σημείων πριν την ανταλλαγή δεδομένων. Τα IP πακέτα μπορεί να ακολουθήσουν διαφορετικές διαδρομές και να φθάσουν με λανθασμένη σειρά στον αποδέκτη. Προβλήματα σαν αυτό αναλαμβάνουν να διορθώσουν το πρωτόκολλο TCP του ανωτέρου επιπέδου.

Δρομολόγηση

Τα IP πακέτα διασχίζουν το Διαδίκτυο από δρομολογητή σε δρομολογητή με κατεύθυνση τον τελικό αποδέκτη. Κάθε δρομολογητής διατηρεί πίνακες δρομολόγησης βάσει των οποίων το κάθε πακέτο αποστέλλεται στον επόμενο δρομολογητή που θα αναλάβει να το προωθήσει προς τον αποδέκτη του. Ο καθορισμός του επόμενου δρομολογητή γίνεται με την ανάγνωση της IP διευθύνσεως του παραλήπτη. Ανάλογα με το δίκτυο στο οποίο βρίσκεται ο παραλήπτης, επιλέγεται από τον πίνακα δρομολόγησης διαδεχόμενος router.

Όταν ένα πακέτο φθάσει σε ένα δρομολογητή αποθηκεύεται προσωρινά σε μία ουρά (queue). Τα IP πακέτα επεξεργάζονται με την σειρά άφιξης τους. Κατά την επεξεργασίας τους, διαβάζεται η διεύθυνση του τελικού παραλήπτη. Εάν υπάρχει μποτιλιάρισμα στο δίκτυο, τότε η ουρά των πακέτων μέσα στον δρομολογητή μπορεί να γίνει μεγάλη, αυξάνοντας έτσι τις καθυστερήσεις μετάδοσης. Σε περίπτωση που η ουρά γίνει τόσο μεγάλη που να ξεπερνά τις χωρητικές δυνατότητες του δρομολογητή, τα πακέτα απορρίπτονται και χάνονται.

Διευθυνσιοδότηση

Καθ' ότι το Διαδίκτυο είναι μια εικονική κατασκευή που εφαρμόζεται λογισμικά, οι σχεδιαστές του είναι ελεύθεροι να διαλέξουν σχήμα διευθυνσιοδότησης που να μην σχετίζεται με κανένα υπάρχον δικτυακό υλικό. Το IP λειτουργεί με βάσει ένα νέο σετ διευθύνσεων που είναι ανεξάρτητο από τις υποκείμενες δικτυακές διευθύνσεις των υπολογιστών. Οι νέες αυτές διευθύνσεις καλούνται Internet Addresses ή IP διευθύνσεις.

Οι IP διευθύνσεις είναι φτιαγμένες έτσι ώστε να διευκολύνουν την δρομολόγηση. Κάθε IP πακέτο περιέχει την διεύθυνση του αποστολέα και του παραλήπτη, κάθε μια από τις οποίες έχει μήκος 32 bits. Μια IP διεύθυνση αποτελείται από δύο μέρη: το netid και το hostid. Το netid προσδιορίζει το δίκτυο στο οποίο βρίσκεται ο υπολογιστής, ενώ το hostid προσδιορίζει τον υπολογιστή. Ανάλογα με το μήκος της διευθύνσεως που αφιερώνεται σε κάθε τμήμα αυτής, οι διευθύνσεις διακρίνονται σε τρεις κλάσεις δικτύων:

Κλάση Α: 8 bit διεύθυνση δικτύου / 24 bit διεύθυνση υπολογιστή

Κλάση Β: 16 bit διεύθυνση δικτύου / 16 bit διεύθυνση υπολογιστή

Κλάση Γ: 24 bit διεύθυνση δικτύου / 8 bit διεύθυνση υπολογιστή

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

Στην πράξη η απομνημόνευση των 32 bits είναι εξαιρετικά δύσκολη. Γι' αυτό έχει επινοηθεί η αναπαράσταση της διεύθυνσης με την χρήση δεκαδικών αριθμών. Η διεύθυνση διαχωρίζεται με τελείες σε τέσσερα πεδία των οκτώ bit. Κάθε πεδίο μετατρέπεται στο ισοδύναμο δεκαδικό αριθμό, όπως φαίνεται στο παρακάτω παράδειγμα.

Internet Control Message Protocol (ICMP)

Ένα άλλο πρωτόκολλο αυτού του επιπέδου είναι το Internet Control Message Protocol (ICMP). Το ICMP δρα βοηθητικά, παράγοντας και διαχειρίζοντας μηνύματα λάθους για το πακέτο πρωτοκόλλων TCP/IP. Επιτρέπει στους δρομολογητές να επιστρέφουν μηνύματα λάθους σε άλλους δρομολογητές ή υπολογιστές. Για παράδειγμα, εάν ζητηθεί η σύνδεση με υπολογιστή που δεν υπάρχει ή δεν είναι διαθέσιμος προς το παρών, το ICMP σε κάποιον router θα επιστρέψει στον αποστολέα του αρχικού μηνύματος ένα μήνυμα με περιεχόμενο "host unreachable". Επιπλέον, το ICMP μπορεί να χρησιμοποιηθεί για την συλλογή πληροφοριών για ένα δίκτυο και για σκοπούς debugging. Περαιτέρω και πιο αναλυτικές λεπτομέρειες για το ICMP υπάρχουν στο RFC 792.

 

1.3.3 Επίπεδο Μεταφοράς

Transmission Control Protocol (TCP)

Το TCP (Transmission Control Protocol) είναι ένα connection-oriented πρωτόκολλο του επιπέδου μεταφοράς, που είναι υπεύθυνο για την εξασφάλιση αξιόπιστης επικοινωνίας μεταξύ δυο ακραίων υπολογιστών, διαμέσου ενός ή περισσοτέρων δικτύων.

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

Όπως προαναφέραμε, το IP είναι connectionless πρωτόκολλο. Τις ελλείψεις του IP αναλαμβάνει να καλύψει το TCP: εξασφαλίζει την παράδοση των πακέτων με την σωστή σειρά, ελέγχει την ροή των δεδομένων, διασφαλίζει την αξιοπιστία της σύνδεσης καθώς επίσης ξεκινά και τερματίζει τις συνδέσεις μεταξύ δύο εφαρμογών μέσα στο δίκτυο. Πρωτόκολλα εφαρμογών όπως το FTP για την μεταφορά τον αρχείων και το SMTP για το ηλεκτρονικό ταχυδρομείο, στηρίζονται στις υπηρεσίες που προσφέρει το TCP.

Το TCP παραλαμβάνει δεδομένα από την εφαρμογή, τα τεμαχίζει σε τμήματα που δεν υπερβαίνουν τα 64 Κbyte και τα στέλνει στον ανταποκριτή του. Κατά την παραλαβή των πακέτων, ο αποδέκτης επιστρέφει μήνυμα που επιβεβαιώνει την παραλαβή τους. Σε περίπτωση που ο αποστολέας δεν λάβει επιβεβαιωτικό μήνυμα μέσα σε συγκεκριμένο χρονικό διάστημα από την αποστολή του πακέτου, συμπεραίνει ότι το πακέτο δεν παραλήφθηκε και το ξαναστέλνει. Τα πακέτα στέλνονται υπό την μορφή stream, εγκαθιστώντας έτσι μια εικονική σύνδεση μεταξύ των δύο άκρων.

Το TCP έχει τις εξής λειτουργίες:

Προκειμένου να επικοινωνήσει το TCP με το ανώτερο επίπεδο εφαρμογών χρησιμοποιείται η έννοια της πόρτας (port). Πόρτα είναι ένας ακέραιος που βρίσκεται στο πεδίο της επικεφαλίδας του πακέτου TCP και της οποίας η τιμή αντιπροσωπεύει την εφαρμογή που χρησιμοποιεί την σύνδεση. Για τις πλέον συνηθισμένες εφαρμογές του Internet προτείνονται οι εξής τιμές:

FTP = 21

TELNET = 23

SMTP = 25

HTTP = 80

Ο συνδυασμός της διεύθυνσης IP με τον αριθμό της πόρτας του TCP ονομάζεται socket και χαρακτηρίζει με μοναδικό τρόπο την συγκεκριμένη εφαρμογή που τρέχει σε ένα σύστημα. Ένα ζευγάρι από socket χαρακτηρίζει μοναδικά την επικοινωνία μεταξύ των δύο εφαρμογών σε διαφορετικά συστήματα υπολογιστών.

Πιο αναλυτικές και τεχνικές λεπτομέρειες για το TCP μπορούν να βρεθούν στο RFC 793.

User Datagram Protocol (UDP)

Το UDP είναι πρωτόκολλο του επιπέδου μεταφοράς όπως το TCP με την διαφορά ότι είναι connectionless. Είναι εξαιρετικά απλό στην υλοποίηση του, άλλα σε αντίθεση με το TCP, δεν προσφέρει μηχανισμούς επανεκπομπής, αξιοπιστίας και έλεγχου ροής. Μερικές από τις εφαρμογές που στηρίζονται στο UDP είναι η NFS (Network File System) για διαχείριση αρχείων δικτύου και η TFTP (Trivial File Transfer Protocol) για την μεταφορά αρχείων. Οι ίδιες οι εφαρμογές πρέπει να φροντίζουν για τις λειτουργίες που δεν είναι σε θέση να προσφέρει το UDP.

Το UDP περιγράφεται στο RFC 768.

1.3.4 Επίπεδο Εφαρμογών

Σε αυτό το επίπεδο ανήκουν οι υπηρεσίες του Διαδικτύου. Θα περιγράψουμε τις σημαντικότερες και τις πιο συχνά χρησιμοποιούμενες.

Telnet

Το Telnet (ή remote login) είναι μια από τις βασικότερες υπηρεσίες του Διαδικτύου που επιτρέπει σε κάποιον χρήστη να έχει πρόσβαση τερματικού σε ένα μακρινό server. Το Telnet λειτουργεί μεταφέροντας τις εντολές που πληκτρολογεί ο χρήστης στον υπολογιστή του στον απομακρυσμένο υπολογιστή με τον οποίο συνδέεται. Παρ' όλο που στην πραγματικότητα ο χρήστης "μιλάει" με τον υπολογιστή του, το πρόγραμμα καταφέρνει και δίνει την ψευδαίσθηση στον χρήστη ότι επικοινωνεί με τον απομακρυσμένο υπολογιστή.

File Transfer Protocol (FTP)

Το FTP ήταν η πρώτη υπηρεσία για την ανάκτηση και μεταφορά πληροφορίας και αρχείων που χρησιμοποιήθηκε στο Διαδίκτυο. Η βασική λειτουργία του είναι η αξιόπιστη μεταφορά αρχείων από υπολογιστή σε υπολογιστή και επιτρέπει στους χρήστες να στήνουν μια σύνδεση ελέγχου μεταξύ του FTP client και του FTP server. Η σύνδεση αυτή τους επιτρέπει να ψάχνουν στους καταλόγους του server και να μεταφέρουν τα αρχεία που επιθυμούν από τον server προς τον δικό τους υπολογιστή. Για την μεταφορά των αρχείων δημιουργείται αυτόματα από ο FTP μια νέα ανεξάρτητη σύνδεση.

Domain Name Service (DNS)

Η υπηρεσία DNS χρησιμοποιείται από τους χρήστες του Διαδικτύου για την αντικατάσταση των αριθμητικών IP διευθύνσεων με εύχρηστα ονόματα (domain names). Συγκεκριμένα, το DNS προσφέρει υπηρεσίες μετάφρασης μεταξύ ονομάτων και IP διευθύνσεων. Κάθε υπολογιστής και δρομολογητής στο Διαδίκτυο διαθέτει ένα όνομα. Η ονοματολογία του Διαδικτύου έχει σαν χαρακτηριστικό την ιεράρχηση των ονομάτων. Κατατάσσονται ανάλογα με το εύρος του δικτύου που περιγράφουν και το όνομα ενός μηχανήματος αποτελείται από τόσα επιμέρους ονόματα όσα χρειάζεται για να προσδιοριστεί πλήρως. Τα επιμέρους ονόματα δικτύων διαχωρίζονται μεταξύ τους με τελείες. Για παράδειγμα, το όνομα saturn.islab.demokritos.gr αντιπροσωπεύει τον υπολογιστή με το όνομα saturn που βρίσκεται στο τοπικό δίκτυο islab.demokritos.gr. Το islab.demokritos.gr ανήκει με την σειρά του στο ευρύτερο δίκτυο epmhs.gr, το οποίο ανήκει στην περιοχή gr, δηλαδή στην Ελλάδα.

Σε ένα δίκτυο που εξυπηρετεί αρκετούς υπολογιστές κάτω από το ίδιο όνομα δικτύου πρέπει να λειτουργεί ένας DNS server που θα παρέχει πληροφορίες για τους υπολογιστές που ανήκουν στο δίκτυο του. Για κάθε επίπεδο αυτής της ιεράρχησης υπάρχει τουλάχιστον ένας DNS server που γνωστοποιεί το όνομα του στον server του αμέσως ανώτερου επιπέδου. Αυτό επαναλαμβάνεται έως ότου να καλυφθεί όλη ιεραρχία ονομάτων.

Η υπηρεσία του DNS χρησιμοποιείται αυτοματοποιημένα και από τις υπόλοιπες εφαρμογές του Διαδικτύου. Όποτε απευθύνεται στον DNS server ερώτημα για κάποιον υπολογιστή από οποιαδήποτε υπηρεσία, αυτός συμβουλεύεται τους πίνακες καταχωρήσεων που διαθέτει και δίνει απάντηση για την IP διεύθυνση που αντιστοιχεί στο όνομα του ζητούμενου υπολογιστή. Σε περίπτωση που ερωτηθεί για υπολογιστή για τον οποίο δεν έχει καταχώρηση, τότε παραπέμπει την αίτηση σε DNS server υψηλότερου επιπέδου.

Ηλεκτρονικό Ταχυδρομείο (E-mail)

Το ηλεκτρονικό ταχυδρομείο επιτρέπει την αποστολή μηνυμάτων μεταξύ των χρηστών του Διαδικτύου. Οι διευθύνσεις του ηλεκτρονικού ταχυδρομείου βασίζονται στις διευθύνσεις του Internet και έχουν την μορφή "user@domain", όπου user το όνομα του χρήστη και domain το όνομα του υπολογιστή.

Παρακάτω φαίνεται πως μεταφέρονται τα ηλεκτρονικά μηνύματα. Ο User Agent (UA) είναι το πρόγραμμα client στον υπολογιστή του χρήστη που αναλαμβάνει την διαχείριση και ανάκτηση του ταχυδρομείου. Με την βοήθεια αυτού του προγράμματος ο χρήστης γράφει τα μηνύματα του, τα στέλνει, παραλαμβάνει άλλα μηνύματα και τα διαβάζει. Ο Mail Transfer Agent (MTA) παραλαμβάνει τα μηνύματα από τον UA και τα προωθεί στον επόμενο MTA μέχρι να βρεθεί ο MTA που έχει άμεση σύνδεση με τον υπολογιστή του χρήστη. Ο τελευταίος MTA επικοινωνεί με τον UA του παραλήπτη για την παράδοση των μηνυμάτων. Το σύνολο των MTA καλείται Message Transfer System (MTS).

Η επικοινωνία από ΜΤΑ σε ΜΤΑ γίνεται με χρήση του πρωτοκόλλου SMTP (Simple Mail Transfer Protocol, ενώ η επικοινωνία του UA με τον ΜΤΑ γίνεται με χρήση των πρωτοκόλλων POP (Post Office Protocol) και IMAP (Internet Message Access Protocol). Τα ίδια τα μηνύματα συντάσσονται με βάσει το πρωτόκολλο MIME (Multipurpose Internet Mail Extensions) ή με το RFC822.

Το παραπάνω σύστημα παράδοσης του ηλεκτρονικού ταχυδρομείου επιτρέπει το ηλεκτρονικό ταχυδρομικό του χρήστη να βρίσκεται σε κάποιον server και έτσι δεν είναι απαραίτητο να είναι εν λειτουργία ο υπολογιστή του αποδέκτη κατά την αποστολή του μηνύματος. Ο αποδέκτης θα παραλάβει τα μηνύματα του όταν ανοίξει τον υπολογιστή του και συνδεθεί με τον server (MTA).

World Wide Web (WWW)

Είναι από τις τελευταίες και πιο γρήγορα αναπτυσσόμενες υπηρεσίες του Διαδικτύου. Το World Wide Web (WWW) επιτρέπει την πρόσβαση και την ανάκτηση κάθε είδους πληροφορίας, μέσα από ένα σύνθετο περιβάλλον γραφικών, κειμένου και φωτογραφιών. Το WWW αποτελείται από υπολογιστές που διανείμουν την πληροφορία, τους servers και από υπολογιστές που αναζητούν πληροφορίες εκ μέρους των χρηστών, τους clients. Οι πρώτοι τρέχουν ειδικά προγράμματα που καλούνται Web servers, ενώ οι δεύτεροι τρέχουν τους Web browsers, client προγράμματα που διατίθονται δωρεάν από πολλές εταιρίες.

Η πληροφορία αποθηκεύεται στους Web servers (συνήθως ένας αφιερωμένος υπολογιστής ταυτίζεται με το λογισμικό που τρέχει) υπό μορφή ηλεκτρονικών σελίδων. Η γλώσσα που χρησιμοποιείται για την σύνταξη των σελίδων αυτών είναι η HTML (Hyper Text Mail Language). Τα περιεχόμενα της μπορεί να είναι δεδομένα κειμένου, γραφικά, εικόνες, σύνδεσμοι και τώρα τελευταία με την ανάπτυξη της Java, αλληλεπιδραστικές διεργασίες (interactive sessions). Επίσης, με την χρήση του πρωτοκόλλου ΜΙΜΕ που αναφέραμε παραπάνω, μπορεί να προστεθεί στις σελίδες κινούμενη εικόνα, ήχος και κινούμενα γραφικά.

Η θέση μιας σελίδας στο Διαδίκτυο καθώς και το πρωτόκολλο που χρειάζεται για να την ανοίξει κάποιος προσδιορίζεται από το λεγόμενο URL (Uniform Resource Locator). Το URL προσδιορίζει επιπλέον το όνομα του αρχείου και του καταλόγου στον Web server. Τα πρωτόκολλα που χρησιμοποιούνται για το άνοιγμα των ηλεκτρονικών σελίδων και γενικότερα για την επικοινωνία μεταξύ του Web server και του Web browser, είναι κυρίως το HTTP (Hyper Text Transfer Protocol). Άλλα πρωτόκολλα που μπορούν να χρησιμοποιηθούν είναι το FTP και το GOPHER.

Η μορφή του URL είναι:

<protocol>://<hostname>:<port><directory><filename>

όπου <protocol> είναι το χρησιμοποιούμενο πρωτόκολλο, <hostname> το όνομα του Web server, <port> η χρησιμοποιούμενη πόρτα επικοινωνίας (συχνά παραλείπεται και χρησιμοποιείται η προκαθορισμένη τιμή που είναι 80), <directory> ο κατάλογος στον Web server που περιέχει το ζητούμενο αρχείο και τέλος <filename> το όνομα του αρχείου – ηλεκτρονική σελίδα που ζητήθηκε.

Τα περιεχόμενα της ηλεκτρονικής σελίδας μπορεί να είναι στατικά ή να δημιουργούνται δυναμικά με την εκτέλεση ενός προγράμματος στην μεριά τους server. Ένα τυποποιημένο μέσο για την γραφή τέτοιων προγραμμάτων είναι το CGI (Common Gateway Interface).


4.1 Η Προσέγγιση

4.1.1 Γενικά

Για την κατάταξη των νέων πρωτοκόλλων και συστημάτων που, είναι απαραίτητη η υιοθέτηση ενός μοντέλου, σαν αυτό του OSI, που θα βοηθήσει στην κατανόηση της λειτουργικότητας των και της συσχέτισης τους τόσο μεταξύ τους, όσο και με τα πρωτόκολλα του Internet. Η προσέγγιση μας βασίστηκε στο πολυεπίπεδο μοντέλο που ακολουθεί και προσομοιάζει τα επίπεδα του Διαδικτύου.

4.1.2 Το Μοντέλο

 

5.

APPLICATIONS

4.

INTERNET SERVICES

3.

HIGHER INTERNET PROTOCOLS

2.

TCP/IP

1.

NETWORK ACCESS

4.1.3 Σύντομη Περιγραφή του Μοντέλου

Στο πρώτο επίπεδο του μοντέλου ασφαλείας, περιλαμβάνονται οι τεχνικές ασφάλισης του ηλεκτρικού σήματος. Οι τεχνικές αυτές έχουν να κάνουν με την κωδικοποίηση των bits για μετάδοση στο μέσο, την πολυπλεξία λογικών καναλιών με την χρήση διαφορετικών συχνοτήτων και τα bits ισοτιμίας. Οι τεχνικές διαφέρουν ανάλογα με την τεχνολογία τοπικών δικτύων που χρησιμοποιείται (Ethernet, Token Ring, FDDI), ενώ παρόμοιες μέθοδοι εφαρμόζονται και από τα modem στις dial-up συνδέσεις. Συγκεκριμένα, η λειτουργία των modem βασίζεται σε πρωτόκολλα που καθορίζουν τους αλγόριθμους που υλοποιούνται σε τσιπ σιλικόνης. Σε αυτό το επίπεδο ανήκουν και οι περιπτώσεις της hardware κρυπτογραφίας και στεγανογραφίας.

Στο επίπεδο TCP/IP κατατάσσονται τα συστήματα που εξασφαλίζουν την επικοινωνία με τα πρωτοκόλλα TCP και IP. Παράδειγμα συστήματων αυτού του επιπέδου είναι IPSec και το NAT.

Στο αμέσως πιο πάνω επίπεδο, στο επίπεδο HIGHER INTERNET PROTOCOLS βρίσκουμε το SSL, πρωτόκολλο που στοχεύει στην διασφάλιση του πακέτου TCP/IP και των εφαρμογών που χρησιμοποιούν το TCP/IP. Το SSL προσθέτει δύο νέα επίπεδα στο OSI μοντέλο, γεγονός που το τοποθετεί ένα επίπεδο πάνω από το IPSec.

Στο επίπεδο των υπηρεσιών του Διαδικτύου ανήκουν όλα τα συστήματα που αποτελούν προεκτάσεις των υπαρχόντων πρωτοκόλλων υπηρεσιών, προσθέτοντας χαρακτηριστικά ασφαλείας. Οι υπηρεσίες που διασφαλίζονται είναι το ηλεκτρονικό ταχυδρομείο, το World Wide Web, το DNS και το remote login. Παράδειγμα αυτών των συστημάτων είναι το S/MIME, το PEM, το S/HTTP.

Τέλος, στο επίπεδο των εφαρμογών κατατάσσονται πιο ολοκληρωμένα συστήματα, που πολλές φορές χρησιμοποιούν πρωτόκολλα από το παρακάτω επίπεδο. Καλύπτουν πληθώρα αναγκών και συνήθως αναπτύσσονται από οργανισμούς για εσωτερική χρήση. Η επιτυχία του κάθε συστήματος καθορίζει της αποδοχή του από την κοινότητα του Διαδικτύου. Μερικά από αυτά είναι το Kerberos, το S/KEY, το RADIUS, ενώ υπάρχουν και πιο γενικές έννοιες όπως αυτή των Firewalls. Στα δύο τελευταία επίπεδα του μοντέλου ασφαλείας ανήκουν και τα περισσότερα από τα νέα πρωτόκολλα.

Στις σελίδες που ακολουθούν, θα επιχειρήσουμε να παρουσιάσουμε τα υπάρχοντα δικτυακά συστήματα ασφαλείας και συγχρόνως να τα κατατάξουμε σύμφωνα με το παραπάνω μοντέλο. Λόγω της φύσης των τεχνικών που χρησιμοποιούνται στο πρώτο επίπεδο, η οποίες εξαρτούνται από την εκάστοτε τεχνολογία δικτύων, δεν θα αναφερθούμε καθόλου σε αυτό. Οι τεχνικές αυτές έχουν να κάνουν περισσότερο με τα χαρακτηριστικά της σύνδεσης και δεν έχουν γίνει προσπάθειες για την περαιτέρω διασφάλιση τους. Ακόμα, οι περιπτώσεις της hardware κρυπτογραφίας και στεγανογραφίας, δεν εφαρμόζεται παρά σε ελάχιστες, εξειδικευμένες καταστάσεις, όπως στις στρατιωτικές και κυβερνητικές επικοινωνίες.

Βασικές Έννοιες