2 Το πρωτόκολλο Διαδικτύου (Internet Protocol-IP)

Το πρωτόκολλο IP είναι μη προσανατολισμένο προς σύνδεση. Κάθε πακέτο του αποτελεί μια διαφορετική οντότητα.

Το IP δεν ενδιαφέρεται για το αν ένα πακέτο θα φτάσει στον προορισμό του ή αν τα πακέτα θα φτάσουν στη σωστή σειρά ή αν έχουν χαθεί στην πορεία. Οι έλεγχοι αυτοί γίνονται από πρωτόκολλα  υψηλότερου επιπέδου, όπως το TCP.

Το πρωτόκολλο ΙΡ είναι ένα πρωτόκολλο βέλτιστης προσπάθειας (best effort service). Η έκδοση που χρησιμοποιείται τώρα είναι το ΙΡ v4.

2.1 Το πακέτο IP (ΙΡ packet or datagram)

Ένα πακέτο IP αποτελείται από την IP επικεφαλίδα και τα ΙΡ δεδομένα και μπορεί να είναι το πολύ 64 Kbytes. Η επικεφαλίδα μπορεί να είναι το πολύ 20 bytes ενώ τα υπόλοιπα χωρίζονται στην επικεφαλίδα TCP (20 bytes) και στα δεδομένα.

Το πακέτο IP αποτελείται από τα παρακάτω πεδία:

2.2 Η διευθυνσιοδότητη ΙΡ (IP addressing)

Κάθε υπολογιστής που βρίσκεται στο διαδίκτυο πρέπει να έχει μια μοναδική διεύθυνση, η οποία ονομάζεται διεύθυνση IP. Το μήκος μια διεύθυνσης IP είναι 32 bits Μια τυπική IP διεύθυνση είναι της μορφής: 216.27.61.137 και λέμε ότι είναι σε δεκαδική μορφή με τελείες (dotted decimal format). Οι υπολογιστές όμως επικοινωνούν μεταξύ τους με δυαδική μορφή. Η ίδια διεύθυνση σε δυαδική μορφή θα είναι: 11011000.00011011.00111101.10001001.

Οι τέσσερις δυαδικοί αριθμοί ονομάζονται οκτάδες (octets) διότι αποτελούνται από οκτώ δυαδικά ψηφία. Αν προσθέσουμε όλες τις θέσεις παίρνουμε 32 bits για αυτό και λέμε ότι το μήκος μιας διεύθυνσης IP  είναι 32 bit.

Επειδή σε κάθε θέση μπορώ να έχω είτε 1 είτε 0, οι δυνατοί συνδυασμοί για κάθε οκτάδα είναι 28=256. Άρα η κάθε οκτάδα μπορεί να έχει τιμή από 0 ως 255. Για 4 οκτάδες έχουμε 232 δυνατές τιμές δηλαδή περίπου 4,3 δισεκατομύρια διευθύνσεις.

Η διεύθυνση 0.0.0.0 κρατιέται για το προεπιλεγμένο δίκτυο και η 255.255.255.255 για broadcasts.

Οι οκτάδες χρησιμοποιούνται για να δημιουργήσουν Τάξεις (Classes) για τις ΙΡ διευθύνσεις που μπορούν να δοθούν σε μία επιχείρηση ανάλογα με το μέγεθος και τις ανάγκες της.

Οι οκτάδες χωρίζονται σε δύο τμήματα: net και host. Το τμήμα net περιλαμβάνει πάντα την πρώτη οκτάδα. Χρησιμοποιείται για την ταυτότητα του δικτύου στο οποίο ανήκει ένας υπολογιστής. Το Host δείχνει την ταυτότητα του ίδιου του υπολογιστή στο δίκτυο. Το τμήμα Host περιλαμβάνει πάντα την τελευταία οκτάδα.

Υπάρχουν 5 τάξεις ΙΡ και κάποιες επιπλέον ειδικές διευθύνσεις.

2.3 Διευθυνσιοδότηση με Υποδίκτυα (Subnet Addressing)

Το πρόβλημα που υπάρχει με το διαμοιρασμό των διευθύνσεων ΙΡ είναι ότι ένας μεγάλος οργανισμός που έχει για παράδειγμα ένα δίκτυο Class B μπορεί να έχει μέχρι 64000 hosts οι οποίοι θα είναι πρακτικά αδύνατο να ελεγχθούν από τον διαχειριστή δικτύου. Επίσης, μπορεί να έχει πολλά τοπικά δίκτυα συνδεδεμένα μεταξύ τους με αποτέλεσμα να απαιτούνται παρά πολλές διαφορετικές διευθύνσεις ΙΡ.

Για την επίλυση του παραπάνω προβλήματος δημιουργήθηκε το subnet addressing.

Η ιδέα για τη διευθυνσιοδότηση με υποδίκτυα (subnet addressing ή subnetting) προϋποθέτει την προσθήκη ενός επιπέδου μεταξύ net id και host id το οποίο και ονομάζεται subnet. Το subnet αγνοεί το δίκτυο που βρίσκεται εκτός του οργανισμού. Δηλαδή ένας εξωτερικός host βλέπει μόνο την αρχική δομή της διεύθυνσης με δύο επίπεδα, ενώ στο εσωτερικό ο network administrator μπορεί να επιλέγει οποιονδήποτε συνδυασμό μήκους για τα πεδία subnet id και host id.

Για να γίνει κατανοητή η διευθυνσιοδότηση με υποδίκτυα, ας σκεφτούμε για παράδειγμα ένα site το οποίο έχει για παράδειγμα μια Class B IP διεύθυνση άλλα βρίσκεται σε παραπάνω από ένα φυσικά δίκτυα. Μόνο οι τοπικές πύλες γνωρίζουν ότι υπάρχουν πολλαπλά φυσικά δίκτυα και τον τρόπο με τον οποίο πρέπει να δρομολογηθεί η κυκλοφορία για αυτά. Οι πύλες αυτές σε άλλα συστήματα δρομολογούν την κίνηση σαν να υπάρχει μόνο ένα φυσικό δίκτυο.

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

Στο παραπάνω σχήμα το site που βλέπουμε χρησιμοποιεί μια διεύθυνση Class B (128.10.0.0) για δύο δίκτυα. Εκτός από την πύλη G οι υπόλοιπες πύλες δρομολογούν σαν να υπάρχει μόνο ένα φυσικό δίκτυο. Όταν ένα πακέτο φτάσει στην πύλη G, πρέπει να σταλεί από το κατάλληλο φυσικό δίκτυο στον προορισμό του. Για να γίνει αποτελεσματική επιλογή του δικτύου, το τοπικό site χρησιμοποιεί το τρίτο ψηφίο της διεύθυνσης για να ξεχωρίσει τα δύο δίκτυα. Οι διευθύνσεις 128.10.1.Χ αντιστοιχούν στο δίκτυο 1 και οι 128.10.2.Χ αντιστοιχούν στο δίκτυο 2.