Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από πολλούς διαφορετικούς κατασκευαστές, που τρέχουν εντελώς διαφορετικά λειτουργικά συστήματα, να επικοινωνούν ο ένας με τον άλλο. H χρήση του έχει υπερβεί τις αρχικές προβλέψεις. Αυτό που άρχισε στα τέλη της δεκαετίας του 60, κατέληξε στο πιο ευρύτατα διαδεδομένο τύπο δικτύωσης ανάμεσα σε υπολογιστές. Είναι ένα ανοικτό σύστημα με την έννοια του ότι οι ορισμοί των πρωτοκόλλων που αποτελούν την σουίτα αυτή (όπως και οι διάφορες υλοποιήσεις του) είναι ανοικτές στο κοινό με μικρές ή καθόλου αλλαγές. Το TCP/IP αποτελεί την βάση αυτού που αποκαλούμε παγκόσμιο διαδίκτυο, ή απλά διαδίκτυο (Internet), ένα ευρείας περιοχής δίκτυο (WAN) με μέλη πάνω από ένα εκατομμύριο υπολογιστές διάσπαρτους σε όλη την υδρόγειο. Το πιο κατάλληλο όνομα για την ομάδα των πρωτοκόλλων που περιγράφουμε είναι "Σουίτα Πρωτοκόλλων Διαδικτύου". Το Transmission Control Protocol (TCP) και το Internet Protocol (IP) είναι δύο από αυτά τα πρωτόκολλα. Επειδή αυτά τα δύο είναι πιο γνωστά ονομάζουμε όλη την σουίτα TCP/IP. Κάποια από αυτά παρέχουν χαμηλού επιπέδου λειτουργίες που χρησιμοποιούνται από πολλές εφαρμογές, όπως είναι το IP, το TCP και το UDP. Κάποια άλλα είναι πρωτόκολλα για συγκεκριμένες λειτουργίες, όπως μεταφορά αρχείων μεταξύ υπολογιστών, αποστολή ηλεκτρονικού ταχυδρομείου, κ.α. 1.1 Διαστρωμάτωση (Layering) Τα δικτυακά πρωτόκολλα είναι συνήθως ανεπτυγμένα σε στρώματα, καθένα από τα οποία είναι υπεύθυνο για διαφορετικό κομμάτι των επικοινωνιών. Μια σουίτα πρωτοκόλλων, όπως το TCP/IP, είναι ο συνδυασμός διαφορετικών πρωτοκόλλων σε διαφορετικά στρώματα. Το TCP/IP θεωρείται συνήθως ένα σύστημα με τέσσερα στρώματα, όπως φαίνεται και στο Σχήμα 1. Σχήμα 1. Τα τέσσερα επίπεδα του TCP/IP πρωτοκόλλου Κάθε ένα στρώμα έχει διαφορετική ευθύνη. 1. Το στρώμα της σύνδεσης (link-layer), που μερικές φορές καλείται στρώμα δεδομένων-
σύνδεσης ή διασύνδεση δικτύου, φυσιολογικά περιλαμβάνει τον οδηγό της συσκευής (driver) και την αντίστοιχη κάρτα δικτυακής διασύνδεσης στον υπολογιστή (network interface). Μαζί (driver και network interface) χειρίζονται όλες τις λεπτομέρειες που αφορούν την φυσική διασύνδεση του υπολογιστή με το μέσω διάδοσης (π.χ. καλώδιο). 2. Το δικτυακό επίπεδο (network layer), χειρίζεται την δρομολόγηση των πακέτων, μέσα στο δίκτυο. Το ΙΡ (Internet Protocol), ICMP( Internet Control Management Protocol) και IGMP (Internet Group Management Protocol), παρέχουν το επίπεδο δικτύου στην σουίτα του TCP/ IP. 3. Το επίπεδο μεταφοράς (transport layer) παρέχει μια ροή δεδομένων ανάμεσα σε δύο υπολογιστές, για το επίπεδο εφαρμογών (application layer) που βρίσκεται πάνω από αυτό. Στο TCP/IP υπάρχουν δύο πάρα πολύ διαφορετικά πρωτόκολλα: το TCP (Transmition Control Protocol) και το UDP (User Datagram Protocol). Το TCP παρέχει ένα αξιόπιστο τρόπο ροής δεδομένων από τον ένα υπολογιστή στον άλλο. Ασχολείται με θέματα όπως τον χωρισμό των δεδομένων που έρχονται από μια εφαρμογή σε κατάλληλου μεγέθους κομμάτια για το στρώμα δικτύου, να επιβεβαιώνει τα πακέτα που λαμβάνει, και άλλα. Επειδή αυτή η αξιόπιστη ροή δεδομένων παρέχεται από το επίπεδο μεταφοράς, το επίπεδο εφαρμογών μπορεί να αγνοεί όλες αυτές τις λεπτομέρειες. Το UDP, από την άλλη μεριά, παρέχει μια πολύ πιο απλή υπηρεσία στο επίπεδο εφαρμογών. Απλά στέλνει τα πακέτα των δεδομένων που καλούνται datagrams από τον ένα υπολογιστή στον άλλο, αλλά δεν υπάρχει καμιά εγγύηση ότι τα datagrams φτάνουν στην άλλη άκρη. Οποιαδήποτε αξιοπιστία στην μεταφορά πρέπει να επιβληθεί από το επίπεδο εφαρμογών. 4. Το επίπεδο εφαρμογών (application layer) χειρίζεται τις λεπτομέρειες μια συγκεκριμένης εφαρμογής. Υπάρχουν πολλές συνηθισμένες TCP/IP εφαρμογές που λειτουργούν σε αυτό το επίπεδο όπως: Telnet για απομακρυσμένη πρόσβαση. FTP, Tο πρωτόκολλο μεταφοράς δεδομένων. SMTP, το πρωτοκόλλου για το ηλεκτρονικό ταχυδρομείο. SNMP, το Simple Network Management Protocol.
2. Περιγραφή Μοντέλου Το δίκτυο που αρχικά θα πρέπει να υλοποιηθεί και μελετηθεί είναι το ίδιο με αυτό της προηγούμενης άσκησης, και το οποίο αποτελείται από 2 σταθμούς εργασίας (Users) και έναν Εξυπηρετητή (Server), που επικοινωνούν με την τεχνική CSMA/CD. Το εύρος ζώνης του είναι 10Mbps. Ονομάστε τους σταθμούς εργασίας User 1 και User 2 τον Server σαν Server 1 (όπως στο σχήμα 2). Σχήμα 2. Τοπικό δίκτυο LAN Παράμετροι του Server Name: Server 1 Type: Processing Node Parameters: Default Παράμετροι των Users Name: User 1, User 2 Type: Processing Node Parameters: Default Παράμετροι του LAN Name: LAN Type: CSMA/CD Parameters: 802.3 Ethernet 10BASE5 3. Επικοινωνία Δικτύου Κάθε σταθμός εργασίας (User) θα δημιουργεί ένα μήνυμα (communication message) που θα έχει προορισμό μόνο τον Server. Το μήνυμα αυτό θα αντιπροσωπεύει μία "αίτηση μεταφοράς αρχείου" (File transfer request) από τον Server προς τον αντίστοιχο User. Όταν ο Server λάβει την αίτηση, θα πρέπει να απαντήσει σε αυτή με κάποιο "αρχείο απάντησης" (Response message) που θα απευθύνεται στον αντίστοιχο User. Το δίκτυο λοιπόν θα πρέπει να περιλαμβάνει: Αίτηση μεταφοράς αρχείου (Communication message)
Message Name: Msg 1, Msg 2. Scheduled by: Iteration time. Interarrival time: 1.0 (First and Last arrivals = None). Message size calc: Probability distribution. Probability Distribution: 1000. Destinations: Random list (επιλέξτε μόνο τον Server 1 ως προορισμό). Packet/Protocol: TCP/IP MicrosoftV1.0. Αφήστε όλες τις άλλες παραμέτρους όπως έχουν με τις Default values. Αρχείο απάντησης (Response message) Response Name: Server Resp (επιλέξτε και την παράμετρο "Suppress Warning about *". Message size cal: Probability distribution. Probability Distribution: 10.000. Packet/Protocol: TCP/IP MicrosoftV1.0. Αφήστε όλες τις άλλες παραμέτρους όπως έχουν με τις Default values. 4. Δημιουργία Αναφοράς (Report) Ανοίξτε το Report Menu και επιλέξτε Select Report. Κάντε τις παρακάτω ρυθμίσεις: Για τα Links επιλέξτε (ON κατάσταση) το "Channel utilization" και το "Collision Stats". Για τις Αιτήσεις Μεταφοράς Αρχείου και τα Αρχεία Απάντησης επιλέξτε το "Message delivered" και "Message Delay". Για τα Nodes (User και Server) επιλέξτε το "Received Message Counts".
5. Ερωτήσεις 1. Εξομοιώνοντας το δίκτυο που δημιουργήσατε για 1 λεπτό, δείτε την αναφορά "Stat1.rpt". Διαβάστε προσεχτικά τα αποτελέσματα της εξομοίωσης που δείχνει αυτή η αναφορά. Πόσες αιτήσεις αρχείου έκανε κάθε User προς τον Server και πόσα αρχεία απάντησης έστειλε ο Server σε κάθε User ξεχωριστά,; (5%) User 1 προς Server: User 2 προς Server: Server προς User 1: Server προς User 2: Server προς User 1 και User2:
2. Το πρωτόκολλο επικοινωνίας που έχετε επιλέξει είναι το TCP/IP MicrosoftV1.0. Μελετήστε προσεχτικά τις παραμέτρους αυτού του πρωτοκόλλου. Παρατηρήστε ότι, το πρωτόκολλο αυτό (για Default τιμές) ορίζει ως Packet size τα 1460Bytes, προσθέτοντας πάντα σε αυτά 40Bytes ως Over Head (OH) πληροφορία. Παρατηρήστε επίσης, ότι το δίκτυό σας χρησιμοποιεί ως πρωτόκολλο ελέγχου κίνησης την τεχνική TCP/IP Window (με window size 3). Μελετήστε την κάρτα επιλογής των παραμέτρων Open/Close για το TCP/IP MicrosoftV1.0 πρωτόκολλο. Βάσει αυτών των επιλογών υπολογίστε πόσα Packets ή Frames έστειλε κάθε User στον Server, και πόσα έστειλε ο Server σε κάθε χρήστη ξεχωριστά. Υπολογίστε τον συνολικό αριθμό Frames που πέρασαν μέσα από τον Ethernet. Πόσο είναι το Utilisation του δικτύου, και το Throughput του κάθε χρήστη; Πόσα Collisions Episodes έγιναν στο δίκτυο; (5%) Packets/Frames που έστειλε ο User 1 στον Server: Packets/Frames που έστειλε ο User 2 στον Server: Packets/Frames που έστειλε ο Serverστον User 1: Packets/Frames που έστειλε ο Server στον User 2: Συνολικός αριθμός Frames/Packets: Utilisation δικτύου: Throughput για User 1: Throughput για User 2: Collision Episodes:
3. Αλλάξτε το Packet size σε 2920Bytes, και απαντήστε στα παρακάτω. (5%) Packets/Frames που έστειλε ο User 1 στον Server: Packets/Frames που έστειλε ο User 2 στον Server: Packets/Frames που έστειλε ο Serverστον User 1: Packets/Frames που έστειλε ο Server στον User 2: Συνολικός αριθμός Frames/Packets: Utilisation δικτύου: Throughput για User 1: Throughput για User 2: Collision Episodes:
4. Κρατώντας το Packet size στα 1460Bytes, απενεργοποιήστε τις επιλογές Open και Close, και απαντήστε στα παρακάτω. (5%) Packets/Frames που έστειλε ο User 1 στον Server: Packets/Frames που έστειλε ο User 2 στον Server: Packets/Frames που έστειλε ο Serverστον User 1: Packets/Frames που έστειλε ο Server στον User 2: Συνολικός αριθμός Frames/Packets: Utilisation δικτύου: Throughput για User 1: Throughput για User 2: Collision Episodes:
5. Αλλάξτε το Flow Control Method πρώτα σε Sliding window και έπειτα σε Fixed window και επαναλάβετε όλα τα παραπάνω ερωτήματα κρατώντας το Packet size στα 1460Bytes. (10%) Packets/Frames που έστειλε ο User 1 στον Server: Packets/Frames που έστειλε ο User 2 στον Server: Packets/Frames που έστειλε ο Serverστον User 1: Packets/Frames που έστειλε ο Server στον User 2: Συνολικός αριθμός Frames/Packets: Utilisation δικτύου: Throughput για User 1: Throughput για User 2: Collision Episodes:
6. Επαναλάβετε την εξομοίωσή με 3, 4 και 5 συνολικά Users στο δίκτυο (προσθέτοντας σταδιακά 1, 2 και τέλος 3 χρήστες), ίδιους με αυτούς που δημιουργήσατε στην αρχή της άσκησης, οι οποίοι να ζητούν το ίδιο αρχείο από τον Server. Αναφερθείτε και σχολιάστε τι συμβαίνει σχετικά με το Utilisation του δικτύου, το Throughput του κάθε χρήστη, και τον αριθμό των collision episodes. Σχεδιάστε την γραφική παράσταση αυτών, σε συνάρτηση με τον αριθμό των ενεργών User που έχει κάθε φορά το μοντέλο σας. (10%) Utilisation δικτύου με: 3 Users: 4 Users: 5 Users: Throughput με 3 χρήστες: User 1 User 2 User 3 Throughput με 4 χρήστες: User 1 User 2 User 3 User 4 Throughput με 5 χρήστες: User 1 User 2 User 3 User 4 User 5 Collision Episodes με: 3 Users: 4 Users: 5 Users: 7. Σχολιάστε τα συμπεράσματά σας όσον αφορά την λειτουργία και απόδοση αυτών των παραμέτρων του TCP/IP πρωτοκόλλου. (10%) Η σωστή και τεκμηριωμένη εξήγηση των αποτελεσμάτων βαθμολογείται με 35%, η ολική παρουσία της εργασίας σας βαθμολογείται με 10%, η χρήση και αναφορά σε εξωτερικές πηγές πληροφορίας (π.χ. βιβλία, Journals, Journals, Conference proceedings, κτλ.) με 5%. Για κάθε εβδομάδα καθυστερημένης παράδοσης η εργασία βαθμολογείται με -20%.