Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.5: Πρωτόκολλο ΙΡ
Βασικά χαρακτηριστικά Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου του μοντέλου TCP/IP. Βασίζεται στα αυτοδύναμα πακέτα (datagrams). Τα αυτοδύναμα πακέτα μεταφέρονται ανεξάρτητα το ένα από το άλλο Το IP δεν εξασφαλίζει αξιόπιστη μετάδοση. !To πρωτόκολλο TCP είναι υπεύθυνο για την αξιοπιστία
Τρόπος λειτουργίας Το TCP ή UDP δίνει στο ΙΡ ένα τμήμα (segment). Το ΤCP ή UDP δίνει επίσης στο IP τη διεύθυνση IP προορισμού, το μόνο στοιχείο που έχει ενδιαφέρον για το IP. !Το ΙΡ δεν ενδιαφέρεται για το περιεχόμενο-δεδομένα των τμημάτων ή για το αν έχουν σχέση μεταξύ τους.
Τρόπος λειτουργίας (συνέχεια) Όταν το ΙΡ λαμβάνει κάποιο τμήμα από το επίπεδο μεταφοράς, προσθέτει τη δική του επικεφαλίδα και προκύπτει το αυτοδύναμο πακέτο IP (IP datagram). Ένα αυτοδύναμο πακέτο IP έχει μέγιστο μέγεθος 64ΚΒ. Τέλος, το ΙΡ βρίσκει την κατάλληλη διαδρομή για να προωθήσει ξεχωριστά το κάθε αυτοδύναμο πακέτο στον προορισμό και παραδίδει το πακέτο αυτό στον προορισμό.
Προώθηση-ενθυλάκωση των δεδομένων στο μοντέλο TCP/IP Τελικός Υπολογιστής (host) αποστολέας Δεδομένα ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ (FTP, SMTP ΚΛΠ) ΕΠΙΠΕΔΟ ΜΕΤΑΦΟΡΑΣ (TCP, UDP) Επικεφαλίδα TCP (ή UDP) Δεδομένα Τμήμa (segment) ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ Επικεφαλίδα IP Επικεφαλίδα TCP (ή UDP) Δεδομένα Αυτοδύναμο πακέτο ΙΡ (datagram) ΕΠΙΠΕΔΟ ΠΡΟΣΒΑΣΗΣ ΔΙΚΤΥΟΥ (π.χ. Ethernet) Επικεφαλίδα Ethernet Επικεφαλίδα IP Επικεφαλίδα TCP (ή UDP) Δεδομένα Πλαίσιο(frame)
Προώθηση των αυτοδύναμων πακέτων IP Υπάρχει περίπτωση το αυτοδύναμο πακέτο IP να είναι μεγαλύτερο σε μέγεθος από το μέγεθος του πακέτου που μπορεί να υποστηρίξει το φυσικό δίκτυο. (!ΜΤU=Maximum Transmission Unit, 1500 bytes για Εthernet, 576 bytes για ορισμένα ΔΕΠ). Τότε το IP σπάει το αυτοδύναμο πακέτο σε περισσότερα τμήματα, τα κομμάτια(fragments). Η διάσπαση του αυτοδύναμου πακέτου IP σε κομμάτια γίνεται στον 1ο δρομολογητή που διαπιστώνει ότι δεν μπορεί να προωθήσει το πακέτο IP λόγω μεγέθους. Τα κομμάτια είναι κι αυτά αυτοδύναμα πακέτα που το καθένα ακολουθεί το δικό του δρόμο. Όλα τα κομμάτια συναρμολογούνται στον προορισμό και σχηματίζουν το αρχικό αυτοδύναμο πακέτο. Στη συναρμολόγηση αυτή βοηθάει το πεδίο Αναγνώριση της επικεφαλίδας του αυτοδύναμου πακέτου ΙP. Όλα τα κομμάτια που ανήκουν στο ίδιο αυτοδύναμο πακέτο IP έχουν ίδια τιμή στο πεδίο Αναγνώριση.
Δομή ενός αυτοδύναμου πακέτου IP
Επικεφαλίδα IP Σταθερό τμήμα (με μέγεθος 20 bytes=5x4 bytes) Μεταβλητό τμήμα (μπορεί να μην υπάρχει)
Α. Πεδία στο σταθερό τμήμα της επικεφαλίδας Έκδοση - Έχει μέγεθος 4 bits. - Δείχνει την έκδοση του πρωτοκόλλου ΙΡ (IPv4 ή IPv6) στην οποία ανήκει το αυτοδύναμο πακέτο. - Είναι σημαντικό όλοι οι διαχειριστές του πακέτου να ακολουθούν την ίδια έκδοση.
Μήκος Επικεφαλίδας - Έχει μέγεθος 4 bits. - Δείχνει πόσο μέγεθος έχει η επικεφαλίδα ενός αυτοδύναμου πακέτου IP. - Το μετρά σε λέξεις των 32 bits. - Αν δεν υπάρχει το μεταβλητό τμήμα της επικεφαλίδας στο αυτοδύναμο πακέτο IP, τότε η τιμή που παίρνει το Μήκος Επικεφαλίδας είναι: 5.
Είδος Εξυπηρέτησης (ΤΟS=Type Of Service) - Έχει μέγεθος 8 bits. - Προσδιορίζει τι είδους εξυπηρέτηση ζητάει ο αποστολέας για το συγκεκριμένο πακέτο (ως προς την αξιοπιστία, ρυθμοαπόδοση, καθυστέρηση). Π.χ. αν πρέπει να φτάσει γρήγορα ανεξαρτήτως ποιότητας εξυπηρέτησης ή αν πρέπει να φτάσει σωστά ανεξαρτήτου χρόνου.
Συνολικό Μήκος - Έχει μέγεθος 16 bits. - Μετρά το συνολικό μέγεθος του πακέτου (επικεφαλίδα + δεδομένα) σε bytes. - Η μέγιστη τιμή που μπορεί να πάρει είναι 65536 bytes (64ΚΒ). - Αν το πακέτο σπάσει σε κομμάτια τότε το πεδίο παίρνει σαν τιμή το μέγεθος του κάθε κομματιού και όχι όλου του πακέτου.
Αναγνώριση - Έχει μέγεθος 16 bits. - Είναι το πεδίο της επικεφαλίδας που βοηθά το ΙΡ να καταλάβει ποιο κομμάτι (fragment) ανήκει σε ποιο αυτοδύναμο πακέτο (datagram). - Όλα τα κομμάτια του ίδιου αυτοδύναμου πακέτου έχουν σε αυτό το πεδίο την ίδια τιμή (τον ίδιο αριθμό). Π.χ. ένα αυτοδύναμο πακέτο μεγέθους 1000 bytes δεδομένων με τιμή Αναγνώριση=15 σπάει σε δύο κομμάτια (fragment1, fragment2) των 500 bytes δεδομένων => τα fragment1 και fragment2 έχουν στην επικεφαλίδα Αναγνώριση=15
- Το πεδίο έχει μέγεθος 1 bit. (!Είναι σημαία) DF (Don’t Fragment)=Ένδειξη απαγόρευσης διάσπασης πακέτου - Το πεδίο έχει μέγεθος 1 bit. (!Είναι σημαία) - Χρησιμοποιείται όταν ένα αυτοδύναμο πακέτο IP δεν πρέπει να σπάσει σε μικρότερα κομμάτια επειδή ο παραλήπτης αδυνατεί να συναρμολογήσει τα κομμάτια. - Αν DF=1 το αυτοδύναμο πακέτο IP απαγορεύεται να σπάσει σε κομμάτια. Αν DF=0 το αυτοδύναμο πακέτο IP μπορεί να σπάσει σε κομμάτια. - Αν ένα αυτοδύναμο πακέτο IP πρέπει να μεταδοθεί χωρίς να σπάσει τότε είτε αναζητείται εναλλακτική κατάλληλη διαδρομή είτε απορρίπτεται.
MF (More Fragments)=Ένδειξη ύπαρξης περισσότερων κομματιών - Τα πεδίο αυτό έχει μέγεθος 1 bit. - Βοηθά το πρωτόκολλο ΙΡ να καταλάβει αν το πακέτο που έλαβε είναι αυτοδύναμο πακέτο ή κομμάτι. - Αν MF=1 σημαίνει είναι κομμάτι. Όλα τα κομμάτια (fragments) στα οποία έχει διασπασθεί ένα αυτοδύναμο πακέτο έχουν MF=1, εκτός από το τελευταίο που έχει MF=0. Αν MF=0 τότε: 1) Είναι το τελευταίο όλων των κομματιών ενός αυτοδύναμου πακέτου ή 2) είναι αυτοδύναμο πακέτο που δεν έσπασε. (εξαρτάται κι από άλλα πεδία )
Δείκτης Εντοπισμού Τμήματος (Δ.Ε.Τ.) (OFFSET) - Έχει μέγεθος 13 bits. - Δείχνει τη θέση στην οποία πρέπει να τοποθετηθεί ένα κομμάτι για να συναρμολογηθεί όλο το αυτοδύναμο πακέτο IP. - Μετριέται σε οκτάδες οκτάδων (οκτάδες από bytes). - Για να βρούμε την τιμή του πρέπει να διαιρέσουμε με το 8 το συνολικό μέγεθος δεδομένων που έχει μεταδοθεί μέχρι στιγμής.
Π.χ.: Ένα αυτοδύναμο πακέτο IP μεγέθους 1400 bytes δεδομένων σπάει σε 3 κομμάτια, για να μεταδοθεί, ως εξής: 1ο κομμάτι: 600 bytes (δεδομένων) 2ο κομμάτι: 600 bytes (δεδομένων) 3ο κομμάτι: 200 bytes (δεδομένων) Στην επικεφαλίδα του 1ου κομματιού είναι: Δ.Ε.Τ.= 0 Στην επικεφαλίδα του 2ου κομματιού είναι: Δ.Ε.Τ.= 75 (600/8) Στην επικεφαλίδα του 3ου κομματιού είναι: Δ.Ε.Τ.=150 (1200/8) !1200=600+600
Χρόνος Ζωής (TTL-Time To Live) - Έχει μέγεθος 8 bits (παίρνει τιμές 0-255). - Είναι μετρητής που δείχνει πόσο θα επιβιώσει ένα πακέτο. - Κάθε φορά που το πακέτο περνά από ένα δρομολογητή η τιμή του πεδίου μειώνεται τουλάχιστον κατά 1. - Αν Χρόνος Ζωής=0 τότε το πακέτο απορρίπτεται γιατί θεωρείται είτε πως έχει μπλεχτεί σε κυκλική πορεία (loop) στο δίκτυο, είτε πως έχει χαθεί και καθυστερεί λόγω λανθασμένης διαδρομής ή διεύθυνσης.
Αριθμός Πρωτοκόλλου - Έχει μέγεθος 8 bits. - Πληροφορεί το πρωτόκολλο ΙΡ του παραλήπτη σε ποιο πρωτόκολλο του επιπέδου μεταφοράς πρέπει να παραδώσει το πακέτο. - Οι τιμές που μπορεί να πάρει το πεδίο αυτό είναι μεταξύ των άλλων: 6 (για το TCP), 17 (για το UDP)
Άθροισμα Ελέγχου - Έχει μέγεθος 16 bits. - Είναι πεδίο που επιτρέπει στο ΙΡ του παραλήπτη να ελέγξει αν η επικεφαλίδα ενός πακέτου είναι σωστή. - Ο έλεγχος ορθότητας της επικεφαλίδας είναι σημαντικός γιατί η επικεφαλίδα τροποποιείται κάθε φορά που περνά από κάποιο δρομολογητή αυξάνοντας έτσι την πιθανότητα να συμβεί κάποιο σφάλμα.
Διεύθυνση Πηγής -Έχει μέγεθος 32 bits. -Δείχνει τη Διεύθυνση IP του αποστολέα. - Είναι απαραίτητη για να μπορεί ο παραλήπτης να γνωρίζει ποιος στέλνει το πακέτο. Διεύθυνση Προορισμού - Έχει μέγεθος 32 bits. - Δείχνει τη Διεύθυνση IP του παραλήπτη. - Είναι απαραίτητη για να γνωρίζουν οι δρομολογητές προς τα πού κατευθύνεται το πακέτο.
Β. Πεδία στο μεταβλητό τμήμα της επικεφαλίδας ΙΡ επιλογές Το πεδίο ΙΡ επιλογές χρησιμοποιείται για ειδικές λειτουργίες του πρωτοκόλλου IP (π.χ. σε περιπτώσεις όπως η καταγραφή της διαδρομής του πακέτου, σε θέματα ασφάλειας κ.λ.π.) Συμπλήρωση Χρησιμοποιείται ώστε το μέγεθος της επικεφαλίδας να είναι πάντα πολλαπλάσιο των 32 bits. Είναι μία ακολουθία από 0.