Tο TCP/IP είναι ένα σύνολο πρωτοκόλλων που αναπτύχθηκε ώστε να επιτρέπει στους υπολογιστές που είναι συνδεδεμένοι σε ένα δίκτυο να μοιράζονται τα αγαθά του δικτύου. Αναπτύχθηκε από μια ομάδα ερευνητών με αφορμή το δίκτυο ARPAnet, το οποίο και αποτελεί το πιο γνωστό TCP/IP δίκτυο. Κατ' αρχήν ας δώσουμε μερικούς βασικούς ορισμούς. Ενα πιο ακριβές όνομα για το σύνολο των πρωτοκόλλων που θα περιγράψουμε είναι "σουίτα Internet πρωτοκόλλων". Το TCP και το IP είναι δυο από τα πρωτόκολλα της σουίτας αυτής. Επειδή τα δυο αυτά πρωτόκολλα είναι τα πιο γνωστά, έχει επικρατήσει ο όρος TCP/IP ή IP/TCP για αναφορά σε όλη την οικογένεια, αν και μπορεί σε ορισμένες περιπτώσεις, να δημιουργήσει κάποιες παρεξηγήσεις. Για παράδειγμα, μπορεί να μιλάμε για το NFS σαν να βασίζεται στο TCP/IP, παρ' όλο που δεν χρησιμοποιεί καθόλου το TCP. (Χρησιμοποιεί βέβαια το IP, αλλά αντί του TCP χρησιμοποιεί άνα εναλλακτικό πρωτόκολλο, το UDP. Τα παραπάνω θα επεξηγηθούν στις επόμενες σελίδες). To Internet αποτελεί μια ομάδα δικτύων, συμπεριλαμβανομένου του Arpanet, NSFnet, περιφερειακών δκτύων, όπως το NYsernet, τοπικών δικτύων σε μια σειρά πανεπιστημίων και ερευνητικών κέντρων καθώς και ενός αριθμού στρατιωτικών δικτύων. Ο όρος "Internet" αφορά όλο αυτό το σύστημα δικτύων. Το υποσύνολο αυτών, που υπάγονται στο Υπουργείο Αμύνης, αναφέρεται σαν "DDN" (Defense Data Network). Το υποσύνολο αυτό περιλαμβάνει μερικα δίκτυα ερευνητικού προσανατολισμού, όπως το Arpanet, καθώς και μερικά αυστηρά στρατιωτικά δίκτυα. (Επειδή μεγάλο μέρος για την ανάπτυξη του Internet γίνεται μέσω του οργανισμού DDN, οι όροι Internet και DDN είναι πολλές φορές ισοδύναμοι). Όλα τα παραπάνω δίκτυα είναι συνδεδεμένα μεταξύ τους. Οι χρήστες μπορούν να στέλνουν μηνύματα μεταξύ τους, εκτός από την περίπτωση που υπάρχουν περιορισμοί ασφαλείας (ή άλλου είδους) στην πρόσβαση. Επίσημα τα πρωτόκολλα Internet αποτελούν απλώς τα standards που έχουν υιοθετηθεί από την κοινωνία του Internet, για εσωτερική χρήση.. Όπως και να ονομαστεί, το TCP/IP είναι μια οικογένεια πρωτοκόλλων. Μερικά από αυτά παρέχουν λειτουργίες "χαμηλού επιπέδου" που χρειάζονται σε πολλές εφαρμογές και συμπεριλαμβάνουν τα IP, TCP και UDP πρωτόκολλα (που θα περιγραφούν αργότερα με μεγαλύτερη λεπτομέρεια). ’λλα πρωτόκολλα διεξάγουν συγκεκριμένες εργασίες π.χ. μεταφορά αρχείων μεταξύ υπολογιστών, αποστολή ταχυδρομείου ή εύρεση όλων όσων έκαναν login σε κάποια συγκεκριμένη μηχανή. Αρχικά το TCP/IP χρησιμοποιούνταν ως επί το πλείστον μεταξύ mini computers ή mainframes. Οι μηχανές αυτές είχαν τους δικούς τους δίσκους και γενικά ήταν αυτάρκεις. Έτσι, οι κυριότερες "παραδοσιακές" υπηρεσίες του TCP/IP είναι:
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.1 ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ
To πρωτόκολλο μεταφοράς αρχείων(FTP)επιτρέπει στο χρήστη οποιουδήποτε υπολογιστή να πάρει(στείλει)αρχεία από(σε) έναν άλλο υπολογιστή. Ασφάλεια παρέχεται με την υποχρεωτική από το χρήστη εισαγωγή του user name και του password για τον άλλο υπολογιστή. Επίσης το πρωτόκολλο παρέχει ευκολίες για την επικοινωνία μηχανών με διαφορετικά σετ χαρακτήρων, συμβάσεις τέλους γραμμής (EOL) κ.λ.π. Το FTP είναι διαφορετικό από τα πιο πρόσφατα πρωτόκολλα "network file system" ή "netbios"που θα περιγραφούν παρακάτω.Στην ουσία,το FTP είναι ένα utility που εκτ- ελείται κάθε φορά που θέλουμε να προσπελάσουμε ένα αρχείο διαφορετικού συστήματος.
Χρησιμοποιείται για αντιγραφή αρχείου στο σύστημά μας. Μετά τη διαδικασία αυτή αυτή εργαζόμαστε με το τοπικό αντίγραφο (βλέπεRFC 959 για διευκρινίσεις στο FTP).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.2 REMOTE LOGIN
To πρωτόκολλο τερματικού (TELNET) επιτρέπει στον χρήστη την πρόσβαση (login) σε οποιοδήποτε άλλο υπολογιστή του δικτύου. Έτσι, ξεκινά μια συνεδρίαση εξ αποστάσεως, αφού προσδιοριστεί ο υπολογιστής στον οποίο θα γίνει η σύνδεση. Από τη στιγμή αυτή και μέχρι να τελειώσει η συνεδρίαση, οτιδήποτε πληκτρολογείται στέλνεται στον άλλο υπολογιστή. Σημειώστε, ότι στην πραγματικότητα οι εντολές στέλνονται στον δικό σας υπολογιστή, αλλά το πρόγραμμα telnet αναλαμβάνει να κάνει τον υπολογιστή σας αόρατο και κάθε χαρακτήρας που πληκτρολογείται στέλνεται άμεσα στο άλλο σύστημα. Γενικά, η σύνδεση με τον απομακρυσμένο υπολογιστή συμπεριφέρεται σαν μια dial-up σύνδεση, δηλ. το απομακρυσμένο σύστημα θα ζητήσει login-name και password με τον ίδιο τρόπο που θα ζήταγε από ένα χρήστη που θα είχε συνδεθεί μέσω modem. Όταν αποσυνδεθούμε από τον άλλο υπολογιστή (logout), το pq|cqalla telnet τελειώνει και συνεχίζουμε τις εργασίες στο δικό μας σύστημα. Για τη χρήση του telnet χρειαζόμαστε έναν εξομοιωτή για κάποιο κοινό τύπο τερματικού. (Βλέπε RFC RFC 854-855 για διευκρινίσεις στο telnet).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.3 ΤΑΧΥΔΡΟΜΕΙΟ ΜΕΣΩ ΥΠΟΛΟΓΙΣΤΗ
Το εργαλείο αυτό επιτρέπει την αποστολή μηνυμάτων από ένα χρήστη, στους χρήστες άλλων υπολογιστών. Αρχικά, υπήρχε η τάση χρησιμοποίησης μόνο ενός ή δυο συγκεκριμένων υπολογιστών. Σ αυτές τις μηχανές διατηρούνταν αρχεία ταχυδρομείου. Το σύστημα ταχυδρομείου του υπολογιστή είναι απλά ένας τρόπος να προσθέσει κάποιος χρήστης ένα μήνυμα στο αρχείο ταχυδρομείου ενός άλλου χρήστη. Εδώ, υπάρχουν κάποια προβλήματα σχετικά με το περιβάλλον στο οποίο χρησιμοποιούνται οι μικροϋπολογιστές. Το πιο σημαντικό είναι, ότι ένα micro δεν είναι κατάλληλο να λαμβάνει computer mail. Όταν στέλνεται μήνυμα μέσω ταχυδρομείου, το αντίστοιχο λογισμικό πρέπει να μπορεί να εγκαταστήσει επικοινωνία με τον υπολογιστή-παραλήπτη ώστε να σταλεί το μήνυμα. Εάν αυτός ο υπολογιστής-παραλήπτης είναι μικροϋπολογιστής, μπορεί εκείνη τη στιγμή ή να τρέχει κάποια άλλη εφαρμογή από αυτή του ταχυδρομείου, ή να γίνει ξαφνική διακοπή τροφοδοσίας. Για το σκοπό αυτό, την αλληλογραφία συνήθως χειρίζεται ένα μεγαλύτερο σύστημα, στο οποίο είναι πρακτικό να υπάρχει ένας εξυπηρετητής ταχυδρομείου που να τρέχει διαρκώς. Το λογισμικό ταχυδρομείου του μ/Υ αποτελεί τότε τη διασύνδεση με το χρήστη και λαμβάνει τα μηνύματα από τον εξυπηρετητή ταχυδρομείου. (Βλέπε RFC 821 και RFC 822 για διευκρινίσεις στο ηλεκτρονικό ταχυδρομείο. Βλέπε RFC 937 για το πρωτόκολλο που έχει σχεδιαστεί για χρήση από τους μ/Υ ώστε να είναι δυνατή η ανάγνωση μηνυμάτων από τον εξυπηρετητή). Αυτές οι υπηρεσίες πρέπει να υπάρχουν σε κάθε εφαρμογή του TCP/IP, εκτός από εφαρμογές προσανατολισμένες σε μ/Υ που θα μπορούσαν να μην υποστηρίζουν ηλεκτρονικό ταχυδρομείο. Αυτές οι παραδοσιακές εφαρμογές παίζουν ακόμα πολύ σημαντικό ρόλο στα δίκτυα που είναι βασισμένα στο TCP/IP. Παρ όλα αυτά, πρόσφατα ο τρόπος μς τον οποίο χρησιμοποιούνται τα δίκτυα, αλλάζει. Το παλιό μοντέλο δικτύων μεγάλων αυτάρκων υπολογιστών, καταργείται. Τώρα, πολλές εγκαταστάσεις έχουν διάφορα είδη υπολογιστών, συμπεριλαμβανομένων μ/Υ, σταθμών εργασίας, mini υπολογιστών και mainframes.Αυτοί οι υπολογιστές διεξάγουν ειδικές εργασίες. Αν και οι άνθρωποι είναι συνηθισμένοι να δουλεύουν σε ένα συγκεκριμένο υπολογιστή, ο υπολογιστής αυτός μπορεί να συνδεθεί σε άλλα συστήματα στο δίκτυο, για παροχή ειδικών υπηρεσιών. Αυτή η τακτική οδήγησε στο μοντέλο πελάτη-εξυπηρετητή γα τις υπηρεσίες των δικτύων. Ο εξυπηρετητής είναι ένα σύστημα που παρέχει μια ειδικευμένη υπηρεσία για το υπόλοιπο δίκτυο. Ο πελάτης είναι ένα άλλο σύστημα που χρησιμοποιεί την υπηρεσία αυτή. (ο εξυπηρετητής και ο πελάτης δεν χρειάζεται απαραίτητα να βρίσκονται σε διαφορετικούς υπολογιστές. Μπορεί να είναι διαφορετικά προγράμματα που τρέχουν στον ίδιο υπολογιστή). Παρακάτω αναφέρονται τα τυπικά είδη εξυπηρετητών που υπάρχουν σε ένα μοντέρνο δίκτυο. (Οι υπηρεσίες αυτές είναι διαθέσιμες μέσω του πλαισίου εργασίας του TCP/IP).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.4 ΥΠΗΡΕΣΙΑ ΣΥΣΤΗΜΑΤΩΝ ΑΡΧΕΙΟΥ (NETWORK FILE SYSTEMS-NFS)
Επιτρέπει σε ένα σύστημα να προσπελάσει αρχεία σε έναν άλλο υπολογιστή με έναν τρόπο πιο ολοκληρωμένο από ότι το FTP.Το σύστημα αρχείων δικτύου δίνει την ψευδαίσθηση ότι οι δίσκοι ή άλλες συσκευές ενός συστήματος είναι απευθείας συνδε- δεμένες σε άλλα συστήματα.Δεν είναι απαραίτητη η χρήση κάποιου ειδικού utility του δικτύου για την προσπέλαση ενός αρχείου από άλλο σύστημα. Ο υπολογιστής σας απλώς νομίζει ότι διαθέτει επιπλέον μονάδες δίσκου. Αυτές οι επιπλέον εικονικές μονάδες, αναφέρονται στους δίσκους ενός άλλου συστήματος. Η δυνατότητα αυτή είναι χρήσιμη για πολλούς διαφορετικούς σκοπούς. Επιτρέπει την εισαγωγή μεγάλων δίσκων σε λίγους μόνο υπολογιστές του δικτύου, αλλά ταυτόχρονα δίνει στους άλλους τη δυνατότητα πρόσβασης στο χώρο των δίσκων. Πέρα από τα προφανή οικονομικά πλεονεκτήματα, επιτρέπει σε άτομα που δουλεύουν σε διαφορετικούς υπολογιστές, να μοιράζονται κοινά αρχεία. Επίσης η συντήρηση των συστημάτων και το backup είναι ευκολότερα, εφόσον δεν χρειάζεται να γίνονται αντίγραφα από πολλές μηχανές. Ακόμα, πολλοί κατασκευαστές προσφέρουν τώρα υπολογιστές χωρίς δίσκους, πολύ υψηλών επιδόσεων, που είναι εξαρτημένοι από δίσκους προσαρτημένους σε κοινούς εξυπηρετητές αρχείων (Βλέπε RFC 1001 και RFC 1002 για περιγραφή του προσανατολισμένου σε PC NetBIOS πάνω στο TCP. Στην περιχή των minis και των σταθμών εργασίας χρησιμοποιείται συνήθως το Network File System της SUN. Διευκρινίσεις για το πρωτόκολλο είναι διαθέσιμες από τη Sun Microsystems).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.5 ΑΠΟΜΑΚΡΥΣΜΕΝΗ ΕΚΤΥΠΩΣΗ
Επιτρέπει την πρόσβαση σε εκτυπωτές άλλων υπολογιστών σαν να ήταν απευθείας συνδεδεμένοι στον δικό σας (Το πιο ευρέως διαδεδομένο πρωτόκολλο είναι το remote lineprinter protocol από την Βerkeley Unix. Δυστυχώς δεν υπάρχει έγγραφο σχετικό με το πρωτόκολλο αυτό, ο κώδικάς του όμως σε C είναι εύκολο να βρεθεί από την Berkeley).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.6 ΑΠΟΜΑΚΡΥΣΜΕΝΗ ΕΚΤΕΛΕΣΗ(RPC)
Επιτρέπει την εκτέλεση ενός συγκεκριμένου προγράμματος σε κάποιον άλλο υπολογιστή. Αυτό είναι χρήσιμο όταν το μεγαλύτερο μέρος της δουλειάς μπορεί να γίνει σε ένα μικρό υπολογιστή, αλλά μερικές εργασίες απαιτούν τους πόρους ενός μεγαλύτερου συστήματος. Υπάρχει ένας αριθμός διαφορετικών τύπων απομακρυσμένης εκτέλεσης. Για παράδειγμα, μπορεί να καθοριστεί ότι μια συγκεκριμένη εντολή ή σετ εντολών θα τρέχει σε ένα συγκεκριμένο υπολογιστή (πιο πολύπλοκες εκδόσεις επιλέγουν ένα σύστημα, το οποίο θα είναι ελεύθερο εκείνη τη στιγμή). Από την άλλη μεριά υπάρχουν συστήματα "remote procedure call" που επιτρέπουν σε ένα πρόγραμμα να καλέσει μια υπορουτίνα, που θα τρέξει σε έναν άλλο υπολογιστή. (Υπάρχουν πολλά πρωτόκολλα αυτού του είδους. Το Berkeley Unix περιλαμβάνει δυο εξυπηρετητές που εκτελούν απομακρυσμένες εντολές: τις rsh και rexec. Οι αντίστοιχες σελίδες man περιγράφουν το πρωτόκολλο που χρησιμοποιούν. Το s/w Tο s/w που διανέμεται στους χρήστες με το Berkeley 4.3 περιέχει ένα "κατανεμημένο φλοιό" που κατανέμει εργασίες σε ένα σύνολο από συστήματα ανά- λογα με το φορτίο τους. Οι απομακρυσμένοι μηχανισμοί κλήσης ρουτινών αποτελούν θέμα έρευνας επί σειράς ετών κι έτσι πολλοί οργανισμοί έχουν υλοποιήσει τέτοιες ευκολίες. Τα πιο ευρέως διαδεδομένα και εμπορικά υποστηριζόμενα πρωτόκολλα απομακρυσμένης κλήσης ρουτινών είναι το Courier της Xerox και το RPC της Sun. Έγγραφα για ταπρωτόκολλα της Xerox και της Sun είναι διαθέσιμα. Υπάρχει μια υλοποίηση του Courier στο TCP ως μέρος του s/w που διανέμεται στους χρήστες με την έκδοση Berkeley 4.3. Μια υλοποίηση του RPC εστάλη στο Usenet από τη Sun και είναιεπίσης μέρος του s/w Βerekley 4.3).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.7 NAME SERVERS
Σε μεγάλες εγκαταστάσεις υπάρχει ένα μεγάλο σύνολο ονομάτων προς επεξεργασία. Σ αυτό συμπεριλαμβάνονται ονόματα χρηστών και passwords, ονόματα και διευθύνσεις δικτύων, καθώς και ονόματα λογαριασμών. Είναι σίγουρα πολύ βαρετό να πρέπει όλοι οι υπολογιστές να ενημερώνονται για όλα αυτά τα δεδομένα. Έτσι, υπάρχουν ειδικές βάσεις δεδομένων που αποθηκεύονται σε ένα μικρό αριθμό συστημάτων και τα άλλα συστήματα έχουν πρόσβαση στα δεδομένα πάνω από το δίκτυο. (RFC 822 καιRFC 823 περιγράφουν το πρωτόκολλο του εξυπηρετητή ονομάτων που χρησιμοποιείται για να κρατάει τα ονόματα των roots και τις διευθύνσεις στο Internet. Οι name servers αποτελούν απαιτούμενο μέρος της υλοποίησης του TCP/IP. Το ΙEN 116 περιγράφει ένα παλαιότερο πρωτόκολλο για name servers που χρησιμοποιείται από μερικούς εξυπηρετητές τερματικών και από άλλα προϊόντα, για τον έλεγχο των host names. To σύστημα Yellow Pages της Sun είναι σχεδιασμένο σαν ένας γενικός μηχανισμός διαχείρησης ονομάτων χρηστών, ομάδων κοινής χρήσης αρχείων και άλλων βάσεων δεδομένων που χρησιμοποιείται συχνά από συστήματα Unix. Είναι εμπορικά ευρέως διαθέσιμο. Ο ορισμός του πρωτοκόλλου του είναι διαθέσιμος από τη Sun).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.8 ΕΞΥΠΗΡΕΤΗΤΕΣ ΤΕΡΜΑΤΙΚΩΝ
Σε πολλές εγκαταστάσεις δεν συνδέονται πλέον τερματικά απευθείας σε υπολογιστές. Αντ' αυτού συνδέονται σε εξυπηρετητές τερματικών. Ένας εξυπηρετητής τερματικού είναι απλά ένας μικρός υπολογιστής που γνωρίζει μόνο πως να τρέχει το telnet (ή κάποιο άλλο πρωτόκολλο για απομακρυσμένο login). Αν το τερματικό σας είναι συνδεδεμένο με κάποιον από αυτούς τους εξυπηρετητές, εσείς απλώς πληκτρολογείστε το όνομα του υπολογιστή που θέλετε και θα συνδεθείτε μαζί του. Γενικά, είναι δυνατό να υπάρχουν ενεργές συνδέσεις με περισσότερους από έναν υπολογιστές την ίδια στιγμή. Ο εξυπηρετητής τερματικού θα πρέπει να αλλάζει από τη μια σύνδεση στην άλλη γρήγορα, και να ειδοποιεί όταν κάποια έξοδος περιμένει σε μια σύνδεση (οι εξυπηρετητές τερματικού χρησιμοποιούν το πρωτόκολλο telnet που έχει ήδη αναφερθεί. Παρ' όλα αυτά οποιοσδήποτε πραγματικός εξυπηρετητής τερματικού πρέπει να μπορεί να υποστηρίζει name service και μια σειρά άλλων πρωτοκόλλων).
[TABLE OF TOPICS ] [TABLE OF INDEX ]
2.9 ΠΑΡΑΘΥΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΕΝΑ ΣΕ ΔΙΚΤΥΑ
Μέχρι πρόσφατα, τα υψηλών επιδόσεων προγράμματα γραφικών έπρεπε να εκτελούνται σε υπολογιστές με οθόνη bit-mapped γραφικών απ' ευθείας συνδεδεμένη σ' αυτούς. Τα παραθυρικά συστήματα σε δίκτυο επιτρέπουν σε ένα πρόγραμμα να χρησιμοποιήσει την οθόνη ενός διαφορετικού υπολογιστή. Τα full-scale παραθυρικά συστήματα δικτύου παρέχουν ένα interface που επιτρέπει την κατανομή των εργασιών στα συστήματα με τέτοιο τρόπο που να μπορούν να τις διαχειριστούν καλύτερα. (Το πιο γνωστό υλοποιημένο παραθυρικό σύστημα είναι το Χ. Περιγραφή του πρωτοκόλλου είναι διαθέσιμη από το Project Athena του MIT.Μια σειρά κατασκευαστών υποστηρίζουν επίσης το NeWS,ένα παραθυρικό σύστημα ορισμένο από τη Sun. Και τα δυο συστήματα έχουν σχεδιαστεί ώστε να χρησιμοποιούν το TCP/IP). Σημειώστε ότι μερικά από τα πρωτόκολλα που περιγράφησαν παραπάνω έχουν σχεδιαστεί από τη Berkeley, τη Sun, ή άλλους οργανισμούς. Έτσι, δεν είναι επίσημα μέρη της ομάδας πρωτοκόλλων του Internet. Παρ' όλα αυτά έχουν υλοποιηθεί χρησιμοποιώντας το TCP/IP. Εφόσον οι ορισμοί των πρωτοκόλλων δεν θεωρούνται απόρρητοι και αφού εμπορικά υποστηρίξιμες υλοποιήσεις είναι ευρέως διαθέσιμες, αυτά τα πρωτόκολλα μπορούν τελικά να θεωρηθούν μέρος της ομάδας του Internet. Η παραπάνω λίστα αποτελεί απλώς ένα δείγμα του είδους των υπηρεσιών που μπορούν να διατεθούν μέσω του TCP/IP, αν και περιέχει την πλειοψηφία των κύριων εφαρμογών. Τα άλλα κοινά χρησιμοποιούμενα πρωτόκολλα παρέχουν εξειδικευμένες ευκολίες για αποκόμιση πληροφοριών διαφόρων ειδών, όπως ποιός έχει μπεί στο σύστημα, τί ώρα, τί μέρα κ.λ.π. Παρ' όλα αυτά, αν χρειαστείτε κάποια υπηρεσία που δεν αναφέρεται εδώ, μπορείτε να κοιτάξετε στην πρόσφατη έκδοση των πρωτοκόλλων Internet (RFC 1011) που παραθέτει όλα τα διαθέσιμα πρωτόκολλα και επίσης να κοιτάξετε μερικές από τις κύριες TCP/IP υλοποιήσεις για να δείτε τι έχουν προσθέσει οι διάφοροι κατασκευαστές.
[TABLE OF TOPICS ] [TABLE OF INDEX ]