Followers

IRO & OGE Dj KAS

Τετάρτη, 18 Μαρτίου 2009

Εισαγωγή στο TCP/IP



Εισαγωγή στο TCP/IP
Το TCP/IP είναι το πρωτόκολλο επικοινωνίας που χρησιμοποιείται στο Internet. Ένα πρωτόκολλο επικοινωνίας υπολογιστών (computer communication protocol) είναι μια περιγραφή των κανόνων που πρέπει να ακολουθούν οι υπολογιστές για να μπορούν να επικοινωνούν μεταξύ τους.

Τι Είναι το TCP/IP
Το TCP/IP είναι το πρωτόκολλο επικοινωνίας (communication protocol) για την επικοινωνία ανάμεσα σε υπολογιστές που είναι συνδεδεμένοι στο παγκόσμιο δίκτυο υπολογιστών Internet (Διαδίκτυο). Τα αρχικά TCP/IP αναφέρονται σε δύο από τα σημαντικότερα πρωτόκολλα που χρησιμοποιούνται στο Internet, δηλ. στο TCP και στο IP, και όχι σ’ όλα τα πρωτόκολλα του Internet.
Τα αρχικά του TCP/IP σημαίνουν Transmission Control Protocol/Internet Protocol, δηλ. Πρωτόκολλο Ελέγχου Εκπομπής/Πρωτόκολλο του Internet. Το πρότυπο (standard) ορίζει το πώς οι ηλεκτρονικές συσκευές, όπως είναι οι υπολογιστές, θα πρέπει να συνδέονται στο Internet και πώς θα πρέπει να μεταδίδονται τα δεδομένα ανάμεσά τους.
Μέσα στο TCP/IP υπάρχουν πολλά πρωτόκολλα για τον χειρισμό της επικοινωνίας των δεδομένων (data communication) :
Το TCP (Transmission Control Protocol), για επικοινωνία ανάμεσα σε εφαρμογές (applications).
Το UDP (User Datagram Protocol), για απλή επικοινωνία ανάμεσα σε εφαρμογές (applications).
Το IP (Internet Protocol), για επικοινωνία ανάμεσα σε υπολογιστές.
Το ICMP (Internet Control Message Protocol), για λάθη και στατιστικές.
Το DHCP (Dynamic Host Configuration Protocol), για δυναμική διευθυνσιοδότηση (dynamic addressing).

Το Πρωτόκολλο TCP
Το πρωτόκολλο TCP προορίζεται για επικοινωνία ανάμεσα σε εφαρμογές (applications). Όταν μια εφαρμογή θελήσει να επικοινωνήσει με μια άλλη εφαρμογή μέσω του TCP, στέλνει μια αίτηση επικοινωνίας (communication request). Αυτή η αίτηση θα πρέπει να σταλεί σε μια συγκεκριμένη διεύθυνση. Αφού καθιερωθεί μια χειραψία (handshake) ανάμεσα στις δύο εφαρμογές, το TCP θα καθιερώσει μια ταυτόχρονη αμφίπλευρη (full-duplex) επικοινωνία ανάμεσα στις δύο εφαρμογές.
Η ταυτόχρονη αμφίπλευρη (full-duplex) επικοινωνία θα καταλάβει τη γραμμή επικοινωνίας ανάμεσα στους δύο υπολογιστές μέχρι αυτή να κλείσει από μια από τις δύο εφαρμογές. Το πρωτόκολλο UDP είναι πολύ παρόμοιο με το TCP με τη διαφορά ότι είναι πιο απλό και λιγότερο αξιόπιστο (reliable).

Το Πρωτόκολλο IP
Το πρωτόκολλο IP προορίζεται για επικοινωνία ανάμεσα σε υπολογιστές. Το IP είναι ένα connection-less (χωρίς σύνδεση) πρωτόκολλο επικοινωνίας (communication protocol). Αυτό σημαίνει ότι δεν καταλαμβάνει τη γραμμή επικοινωνίας ανάμεσα σε δύο επικοινωνούντες υπολογιστές. Μ’ αυτόν τον τρόπο το IP ελαττώνει την ανάγκη για γραμμές δικτύωσης. Έτσι, η κάθε γραμμή θα μπορεί να χρησιμοποιηθεί για επικοινωνία ανάμεσα σε πολλούς διαφορετικούς υπολογιστές την ίδια στιγμή.
Με το IP, τα μηνύματα (ή και άλλα δεδομένα) διασπώνται σε μικρά ανεξάρτητα πακέτα (packets) και στέλνονται ανάμεσα στους υπολογιστές μέσω του Internet. Το IP είναι υπεύθυνο για τη δρομολόγηση (routing) του κάθε πακέτου μέχρι αυτό να φθάσει στον τελικό του προορισμό. Η επικοινωνία μέσω του IP είναι σαν να στέλνουμε ένα μακρυσκελές γράμμα σαν ένα μεγάλο πλήθος από μικρές καρτ ποστάλ, όπου η καθεμία θα βρει τον δικό της (συχνά διαφορετικό) δρόμο (διαδρομή) μέχρι τον παραλήπτη.

Οι Δρομολογητές (Routers) του IP
Όταν ένα πακέτο του IP στέλνεται από έναν υπολογιστή, αυτό φθάνει σ’ έναν IP δρομολογητή (router). Ο IP δρομολογητής είναι υπεύθυνος για τη δρομολόγηση (routing) του πακέτου μέχρι τον τελικό του προορισμό, είτε απευθείας είτε μέσω ενός άλλου δρομολογητή.
Η διαδρομή (path) που θα ακολουθήσει ένα πακέτο μπορεί να είναι διαφορετική από αυτήν που θα ακολουθήσουν άλλα πακέτα του ίδιου μηνύματος. Ο δρομολογητής είναι υπεύθυνος για τη σωστή διευθυνσιοδότηση των πακέτων (addressing) ανάλογα και με τον όγκο της κυκλοφορίας, τα τυχόν λάθη που θα λάβουν χώρα στο δίκτυο ή και από άλλες παραμέτρους.

Το Πρωτόκολλο TCP/IP
Το πρωτόκολλο TCP/IP αποτελείται από τα πρωτόκολλα TCP και το IP, τα οποία συνεργάζονται μεταξύ τους. Το TCP φροντίζει για την επικοινωνία ανάμεσα στο λογισμικό της εφαρμογής μας, δηλ. τον φυλλομετρητή μας, και το λογισμικό του δικτύου μας.
Το IP φροντίζει για την επικοινωνία με τους άλλους υπολογιστές. Το TCP είναι υπεύθυνο για τη διάσπαση των δεδομένων σε IP πακέτα πριν αυτά αποσταλούν καθώς και για την αντίστοιχη συναρμολόγησή τους όταν αυτά φθάσουν στον προορισμό τους. Το IP είναι υπεύθυνο για την αποστολή των πακέτων στον παραλήπτη (receiver). Το TCP/IP χρησιμοποιεί 32 bits ή 4 αριθμούς με τιμές ανάμεσα στο 0 και τα 255 για να αποδώσει μια διεύθυνση (address) σ’ έναν υπολογιστή.

Οι IP Διευθύνσεις
Ο κάθε υπολογιστής θα πρέπει να διαθέτει μια IP διεύθυνση πριν μπορέσει να συνδεθεί στο Internet και το κάθε IP πακέτο (packet) θα πρέπει να διαθέτει μια διεύθυνση (address) πριν μπορέσει να αποσταλεί σ’ έναν άλλον υπολογιστή.
Για παράδειγμα, η παρακάτω IP διεύθυνση 194.63.237.7 ανήκει στο site dide.flo.sch.gr. Ένα άλλο παράδειγμα IP διεύθυνσης είναι το εξής : 83.235.160.51. Το TCP/IP χρησιμοποιεί 4 ακέραιους αριθμούς για να αποδώσει μια διεύθυνση σ’ έναν υπολογιστή. Έτσι, ο κάθε υπολογιστής θα πρέπει να διαθέτει μια μοναδική διεύθυνση με 4 ακέραιους αριθμούς. Οι αριθμοί αυτοί έχουν πάντα τιμές ανάμεσα στο 0 και το 255. Οι διευθύνσεις γράφονται με τους 4 αριθμούς χωρισμένους με τελείες, ως εξής : 193.106.1.51.
Το TCP/IP χρησιμοποιεί διευθυνσιοδότηση (addressing) των 32 bits. Ένα byte στους υπολογιστές είναι ίσο με 8 bits. Έτσι, το TCP/IP χρησιμοποιεί 4 bytes. Ένα byte μπορεί να περιέχει 256 διαφορετικές τιμές, που προκύπτουν από τις επαναληπτικές διατάξεις των 2 πραγμάτων ανά 8, δηλ. συνολικό πλήθος τιμών 28 = 256.
Οι αριθμοί αυτοί είναι οι εξής :
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
...
11111111

Τα Domain Names
Επειδή είναι πολύ δύσκολο να θυμόμαστε τους αριθμούς και η χρήση των ονομάτων είναι σαφώς ευκολότερη, τα ονόματα που χρησιμοποιούνται και που αντιστοιχούν στις διευθύνσεις TCP/IP αποκαλούνται domain names (ονόματα χώρου ή ονόματα περιοχής). Για παράδειγμα, το flash.gr είναι ένα domain name (όνομα χώρου). Όταν αποκτάμε πρόσβαση σ’ έναν δικτυακό τόπο (Web site), όπως είναι το http://www.flash.gr, για παράδειγμα, το όνομα αυτό μεταφράζεται (αντιστοιχείται) σε μια σειρά από αριθμούς από μια διαδικασία που αποκαλείται DNS (Domain Name Server) ή σύστημα ονοματοδοσίας.
Σ’ όλο τον κόσμο, υπάρχει ένας μεγάλος αριθμός από DNS servers που είναι συνδεδεμένοι στο Internet. Οι DNS servers είναι υπεύθυνοι για τη μετάφραση των domain names σε αντίστοιχες διευθύνσεις του TCP/IP καθώς και για την αλληλοενημέρωσή τους με τις καινούργιες καταχωρήσεις ή και τις τροποποιήσεις και διαγραφές των domain names. Όταν καταχωρείται στο μητρώο (registered) ένα καινούργιο domain name μαζί με μια διεύθυνση TCP/IP, οι DNS servers σ’ όλο τον κόσμο ενημερώνονται με τα καινούργια στοιχεία.

Το TCP/IP – Μια Οικογένεια από Πρωτόκολλα
Το TCP/IP αποτελεί μια μεγάλη συλλογή από πολλά διαφορετικά πρωτόκολλα επικοινωνίας, τα οποία βασίζονται στα δύο σημαντικότερα και αρχικά πρωτόκολλα, το TCP και το IP.
TCP – Transmission Control Protocol
Το πρωτόκολλο TCP χρησιμοποιείται για τη μετάδοση των δεδομένων από μια εφαρμογή (application) στο δίκτυο. Το TCP είναι υπεύθυνο για τη διάσπαση των δεδομένων σε μικρότερα IP πακέτα (packets) πριν αυτά αποσταλούν καθώς και για την αντίστοιχη συναρμολόγηση των πακέτων όταν αυτά φθάσουν στον προορισμό τους.
IP – Internet Protocol
Το πρωτόκολλο IP φροντίζει για την επικοινωνία με τους άλλους υπολογιστές και είναι υπεύθυνο για την αποστολή και τη λήψη (δρομολόγηση) των πακέτων δεδομένων μέσω του Internet.
HTTP – Hyper Text Transfer Protocol
Το πρωτόκολλο HTTP φροντίζει για την επικοινωνία ανάμεσα σ’ έναν Web server και έναν Web browser (φυλλομετρητή). Χρησιμοποιείται για την αποστολή των αιτήσεων (requests) από έναν Web client (browser) σ’ έναν Web server καθώς και για την επιστροφή του περιεχομένου (Web content), δηλ. των ιστοσελίδων (Web pages), από τον server πίσω στον χρήστη (client).
HTTPS – Secure HTTP
Το πρωτόκολλο HTTPS φροντίζει για την ασφαλή επικοινωνία ανάμεσα σ’ έναν Web server και έναν Web browser. Χειρίζεται τυπικά τις συναλλαγές που γίνονται με πιστωτικές κάρτες (credit card transactions) καθώς και μ' άλλα ευαίσθητα δεδομένα.
SSL – Secure Sockets Layer
Το πρωτόκολλο SSL χρησιμοποιείται για την κωδικοποίηση (κρυπτογράφηση – encryption) των δεδομένων για να είναι έτσι ασφαλής η μεταφορά τους.
SMTP – Simple Mail Transfer Protocol
Το πρωτόκολλο SMTP χρησιμοποιείται για την αποστολή των μηνυμάτων ηλεκτρονικού ταχυδρομείου (e-mails) από τον χρήστη σ’ έναν e-mail server.
IMAP – Internet Message Access Protocol
Το πρωτόκολλο IMAP χρησιμοποιείται για την αποθήκευση (storing) και την ανάκτηση (retrieving) των μηνυμάτων ηλεκτρονικού ταχυδρομείου (e-mails).
POP – Post Office Protocol
Το πρωτόκολλο POP χρησιμοποιείται για το κατέβασμα (downloading) των μηνυμάτων ηλεκτρονικού ταχυδρομείου (e-mails) από έναν e-mail server στον προσωπικό υπολογιστή (personal computer) του χρήστη.
FTP – File Transfer Protocol
Το πρωτόκολλο FTP φροντίζει για την αποστολή των αρχείων (ανέβασμα – upload και κατέβασμα – download) ανάμεσα σε υπολογιστές και κυρίως ανάμεσα σ’ έναν FTP server και έναν απλό προσωπικό υπολογιστή.
NTP – Network Time Protocol
Το πρωτόκολλο NTP χρησιμοποιείται για τον συγχρονισμό της ώρας (του ρολογιού) ανάμεσα στους υπολογιστές.
DHCP – Dynamic Host Configuration Protocol
Το πρωτόκολλο DHCP χρησιμοποιείται για την κατανομή των δυναμικών IP διευθύνσεων στους υπολογιστές ενός δικτύου (network).
SNMP – Simple Network Management Protocol
Το πρωτόκολλο SNMP χρησιμοποιείται για τη διοίκηση (administration) των δικτύων υπολογιστών (computer networks).
LDAP – Lightweight Directory Access Protocol
Το πρωτόκολλο LDAP χρησιμοποιείται για τη συλλογή πληροφοριών σχετικά με χρήστες (users) και διευθύνσεις e-mail από το Internet.
ICMP – Internet Control Message Protocol
Το πρωτόκολλο ICMP φροντίζει για την αντιμετώπιση των λαθών (error handling) στο δίκτυο (network).
ARP – Address Resolution Protocol
Το πρωτόκολλο ARP χρησιμοποιείται από το IP για να βρεθεί η διεύθυνση υλικού (hardware address) μιας κάρτας δικτύου υπολογιστή που βασίζεται στην IP διεύθυνση.
RARP – Reverse Address Resolution Protocol
Το πρωτόκολλο RARP χρησιμοποιείται από το IP για να βρεθεί η IP διεύθυνση που βασίζεται στη διεύθυνση υλικού (hardware address) μιας κάρτας δικτύου υπολογιστή.
BOOTP – Boot Protocol
Το πρωτόκολλο BOOTP χρησιμοποιείται για το ξεκίνημα των υπολογιστών από το δίκτυο (network).
PPTP – Point to Point Tunneling Protocol
Το πρωτόκολλο PPTP χρησιμοποιείται για την εγκαθίδρυση μιας σύνδεσης (tunnel) ανάμεσα σε ιδιωτικά δίκτυα (private networks).
TCP/IP Email
Το email αποτελεί έναν από τους σημαντικότερους χρήστες του TCP/IP. Όταν γράφουμε ένα email, δεν χρησιμοποιούμε το TCP/IP, αλλά ένα πρόγραμμα email όπως είναι το Lotus Notes ή το Outlook ή το Outlook Express της Microsoft ή το Netscape Messenger ή το Netscape Communicator ή το ThunderBird της Mozilla ή και το Eudora. Ένα email πρόγραμμα χρησιμοποιεί τα εξής διαφορετικά πρωτόκολλα του TCP/IP :
Στέλνει τα μηνύματά μας (emails) με το πρωτόκολλο SMTP.
Κατεβάζει (download) τα μηνύματά μας (emails) από έναν email server με το πρωτόκολλο POP.
Μπορεί να συνδεθεί σ’ έναν email server με το πρωτόκολλο IMAP.
SMTP – Simple Mail Transfer Protocol
Το πρωτόκολλο SMTP χρησιμοποιείται για την αποστολή των e-mails. Στην ουσία φροντίζει για την αποστολή των μηνυμάτων μας σ’ έναν άλλον υπολογιστή. Κανονικά το email μας στέλνεται σ’ έναν email server (SMTP server) και από εκεί σ’ έναν άλλον server ή και σ’ άλλους servers, μέχρι να φθάσει στον τελικό του προορισμό. Το SMTP μπορεί μόνο να στείλει απλό κείμενο. Δεν μπορεί να μεταδώσει εικόνα (picture) ή ήχο (sound) ή κινούμενη εικόνα (movie).

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου