Ερώτηση 2.6 Υποθέστε ότι θέλετε να κάνετε μια συναλλαγή από έναν απομακρυσμένο πελάτη προς έναν εξυπηρέτη, όσο το δυνατόν ταχύτερα. Θα χρησιμοποιούσατε UDP ή TCP; Γιατί;
Ερώτηση 2.10 Τι σημαίνει το πρωτόκολλο χειραψίας;
Ερώτηση 2.11 Γιατί τα HTTP, FTP, SMTP, POP3, εκτελούνται επάνω στο TCP και όχι επάνω στο UDP;
Ερώτηση 2.12 Φανταστείτε έναν ιστότοπο ηλεκτρονικού εμπορίου που θέλει να κρατά μια καταγραφή αγορών για καθ’ έναν από τους πελάτες του. Περιγράψτε πως μπορεί να γίνει αυτό με cookies.
Ερώτηση 2.13 Περιγράψτε πως το Web caching μπορεί να μειώσει την καθυστέρηση κατά την λήψη ενός αιτούμενου αντικειμένου. Θα μειώσει το Web caching την καθυστέρηση για όλα τα αντικείμενα που ζητούνται από έναν χρήστη ή μόνον για μερικά από το αντικείμενα; Γιατί;
Ερώτηση 2.15 Γιατί λέγετε ότι το FTP στέλνει πληροφορίες ελέγχου “εξωζωνικά”;
Ερώτηση 2.16 Υποθέστε ότι η Alice με έναν λογαριασμό e-mail στο Web (π.χ. Hotmail ή gmail) στέλνει ένα μήνυμα στον Bob, ο οποίος προσπελαύνει το ταχυδρομείο του από τον δικό του εξυπηρέτη ταχυδρομείου που χρησιμοποιεί POP3. Συζητήστε πως το μήνυμα φτάνει από τον υπολογιστή της Alice στον υπολογιστή του Bob. Βεβαιωθείτε ότι αναφέρετε την σειρά των πρωτοκόλλων επιπέδου εφαρμογής που χρησιμοποιούνται για μεταφορά του μηνύματος ανάμεσα στους δύο υπολογιστές.
Πρόβλημα 2.3 Θεωρείστε έναν πελάτη HTTP που θέλει να επαναφέρει ένα έγγραφο Web από ένα δεδομένο URL. Η διεύθυνση IP του HTTP εξυπηρέτη είναι αρχικά άγνωστη. Το έγγραφο Web στο URL έχει μια ενσωματωμένη εικόνα GIF, που βρίσκεται στον ίδιο εξυπηρέτη με το αρχικό έγγραφο. Ποια πρωτόκολλα επιπέδου μεταφοράς και εφαρμογής εκτός του HTTP χρειάζονται σ’αυτό το σενάριο;
Πρόβλημα 2.4 Θεωρείστε την παρακάτω συμβολοσειρά χαρακτήρων ASCII, που συνελήφθησαν όταν το πρόγραμμα περιήγησης έστειλε ένα μήνυμα HTTP GET (δηλ. αυτό είναι ένα πραγματικό περιεχόμενο ενός μηνύματος HTTP GET).
Πρόβλημα 2.4 GET /cs453/index.html HTTP/1.1<cr><lf>Host: gaia.cs.umass.edu<cr><lf>User-Agent: Mozilla/5.0 (Windows;U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) <cr><lf>Accept:ext/xml,application/xml.application/xhtml+xml,text/html;q=0.9,text/plain;q-0.8,image/png,*/*;q=0.5<cr><lf>Accept-Language: en-us,en;q=0.5<cr><lf>Accept-Encoding: zip,deflate<cr><lf>Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7<cr><lf>Keep-Alive: 300<cr><lf>Connection:keep-alive<cr><lf><cr><lf>
Πρόβλημα 2.4 Απαντήστε στις παρακάτω ερωτήσεις, δηλώνοντας σε ποιό σημείο μέσα στο μήνυμα HTTP GET βρήκατε την απάντηση. Ποιο είναι το URL του εγγράφου που ζητείται από το πρόγραμμα περιήγησης; Ποια έκδοση του HTTP εκτελεί το πρόγραμμα περιήγησης; Η σύνδεση του προγράμματος περιήγησης είναι παραμένουσα ή μή παραμένουσα; Ποιά είναι η διεύθυνση IP του υπολογιστή, στον οποίο εκτελείται το πρόγραμμα περιήγησης;
Πρόβλημα 2.5 Το παρακάτω κείμενο δείχνει μια απάντηση που στέλνεται από τον εξυπηρέτη ως απάντηση στο μήνυμα HTTP GET της προηγούμενης ερώτησης. Απαντήστε στις παρακάτω ερωτήσεις, δηλώνοντας σε ποιό σημείο μέσα στο παρακάτω μήνυμα βρήκατε την απάντηση
Πρόβλημα 2.5 HTTP/1.1 200 OK<cr><lf>Date: Tue, 07 Mar 2006 12:39:45GMT<cr><lf>Server: Apache/2.0.52 (Fedora)<cr><lf>Last-Modified: Sat, 10 Dec2005 18:27:46GMT<cr><lf>ETag: “526c3-f22-a88a4c80”<cr><lf>Accept-Ranges: bytes<cr><lf>Content-Length: 3874<cr><lf>Keep-Alive: timeout=max=100<cr><lf>Connection: Keep-Alive<cr><lf>Content-Type: text/html; charset=ISO-8859-1<cr><lf><cr><lf><!doctype html public “-//w3c//dtd html 4.0 transitional//en”><lf><html><lf><head><lf> <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8850-1”><lf> <metaname=“GENERATOR” content=“Mozilla/4.79 [en] (Windows NT 5.0; U) Netscape]”><lf> <title>CMPSCI 453 / 591 / NTU-ST550A Spring 2005 homepage</title><lf></head><lf><much more document text following here (not shown)>
Πρόβλημα 2.5 Απαντήστε στις παρακάτω ερωτήσεις: Μπόρεσε ο εξυπηρέτης να βρεί επιτυχώς το έγγραφο ή όχι; Ποιά ώρα δώθηκε η απάντηση για το έγγραφο; Πότε τροπόποιήθηκε το έγγραφο για τελευταία φορά; Πόσα bytes υπάρχουν στο έγγραφο που επιστρέφεται; Συμφώνησε ο εξυπηρέτης για μια παραμένουσα σύνδεση;
Πρόβλημα 2.7 Υποθέστε ότι μέσα στο πρόγραμμα περιήγησης Web κάνετε κλικ σε ένα δεσμό για να πάρετε μια ιστοσελίδα. Υποθέστε ότι η διεύθυνση IP για το σχετικό URL δεν βρίσκετε στην cache στον τοπικό σας υπολογιστή, οπότε είναι απαραίτητη μια αναζήτηση DNS προκειμένου να πάρετε την διεύθυνση IP. Υποθέστε ότι γίνεται αναζήτησε σε n εξυπηρέτες DNS πριν πάρει ο υπολογιστής σας την διεύθυνση IP από το DNS.
Πρόβλημα 2.7 Οι διαδοχικές επισκέψεις γίνονται σε RTT: RTT1, …, RTTn. Ακόμη, υποθέστε ότι η ιστοσελίδα που σχετίζεται με την ζεύξη περιέχει ακριβώς ένα ακτικείμενο, μια μικρή ποσότητα κειμένου HTML. Έστω ότι το RTT0 συμβολίζει το RTT ανάμεσα στον τοπικό υπολογιστή και στον εξυπηρέτη που περιέχει το αντικείμενο. Υποθέτοντας μηδενικό χρόνο μετάδοσης του αντικείμενου, πόσος χρόνος διαρρέει απ΄την στιγμή που ο πελάτης κάνει κλικ στην ζεύξη μέχρι τη στιγμή που λαμβάνει το αντικείμενο;
Πρόβλημα 2.8 Αναφερόμενοι στο Πρόβλημα 7, υποθέστε ότι το αρχείο HTML κατατάσει τρία πολύ μικρά αντικείμενα στον ίδιο εξυπηρέτη. Αγνοώντας τους χρόνους μετάδοσης, πόσος χρόνος ρέει με: μη παραμένουσες συνδέσεις HTTP χωρίς παράλληλες συνδέσεις HTTP; μη παραμένουσες συνδέσεις HTTP με παράλληλες συνδέσεις HTTP; παραμένουσες συνδέσεις HTTP;
Ερώτηση 3.3 Θεωρείστε μια σύνδεση TCP ανάμεσα στον υπολογιστή Α και στον υπολογιστή Β. Υποθέστε ότι τα τμήματα TCP που ταξιδεύουν από τον υπολογιστή Α στον υπολογιστή Β έχουν αριθμό θύρας προέλευσης Χ και αριθμό θύρας προορισμού Y. Ποιοί είναι οι αριθμοί θύρας προορισμού και προέλευσης για τα τμήματα που ταξιδεύουν από τον υπολογιστή Β στον υπολογιστή Α.
Ερώτηση 3.4 Περιγράψτε γιατί ένας προγραμματιστής εφαρμογών μπορεί να επιλέξει να εκτελεί μια εφαρμογή επάνω σε UDP αντί του TCP.
Ερώτηση 3.7 Υποθέστε ότι μια διεργασία στον υπολογιστή C έχει μια UPD socket με αριθμό θύρας 6789. Υποθέστε ότι οι υπολογιστές Α και Β στέλνουν ένα τμήμα UDP στο C με αριθμό θύρας προορισμού 6789. Θα κατευθυνθούν και τα δύο αυτά τμήματα στην ίδια socket του υπολογιστή C; Αν ναι, πως θα γνωρίζει η διεργασία C ότι αυτά τα δύο τμήματα προέρχονται από δύο διαφορετικούς υπολογιστές;
Ερώτηση 3.8 Υποθέστε ότι ένας εξυπηρέτης Web εκτελείται στον υπολογιστή C στην θύρα 80. Υποθέστε ότι αυτός ο εξυπηρέτης Web χρησιμοποιεί παραμένουσες συνδέσεις και δέχεται αιτήσεις από δύο διαφορετικούς υπολογιστές Α και Β. Στέλνονται όλες οι αιτήσεις μέσω της ίδιας socket του υπολογιστή C; Αν μεταφέρονται μέσω διαφορετικών socket, έχουν και οι δύο θύρες αριθμό θύρας 80; Εξηγήστε την απάντηση σας.
Ερώτηση 3.11 Υποθέστε ότι η καθυστέρηση διαδρομής μετ’ επιστροφής ανάμεσα στον αποστολέα και τον παραλήπτη είναι σταθερή και γνωστή στον αποστολέα. Θα ήταν απαραίτητος ένας χρονομετρητής στο πρωτόκολλο rdt 3.0, υποθέτοντας ότι μπορεί να χαθούν πακέτα; Εξηγήστε την απάντηση σας.
Πρόβλημα 3.3 Τα UDP και TCP χρησιμοποιούν 1-συμπλήρωμα για το άθροισμα ελέγχου τους. Υποθέστε ότι έχετε τα παρακάτω byte: 01010101, 011100000, 01001100. Ποιο είναι το 1-συμπλήρωμα του αθροίσματος αυτών των byte; Πώς ο δέκτης ανιχνεύει σφάλματα με το 1-συμπλήρωμα; Είναι πιθανόν ένα σφάλμα ενός bit να περάσει απαρατήρητο; Ένα σφάλμα 2-bit;
Πρόβλημα 3.4 Υποθέστε ότι έχετε τα εξής 2 byte: 00110100 και 01101001. Ποιό είναι το 1-συμπλήρωμα αυτών; Υποθέστε ότι έχετε τα εξής δύο byte: 11110101 και 00101001. Ποιό είναι το 1-συμπλήρωμα αυτών των δύο byte; Για τα byte του πρώτου μέρους δώστε ένα παράδειγμα όπου 1 bit αντιστρέφεται σε καθένα από τα 2 byte και παρά ταύτα το 1-συμπλήρωμα δεν αλλάζει.
Πρόβλημα 3.5 Υποθέστε ότι ο δέκτης UDP υπολογίζει το άθροισμα ελέγχου Διαδικτύου για το λαμβανόμενο τμήμα UDP και βρίσκει ότι ταιριάζει με την τιμή που μεταφέρθηκε στο πεδίο αθροίσματος ελέγχου. Μπορεί ο δέκτης να είναι απολύτως σίγουρος ότι δεν έχουν εμφανιστεί σφάλματα bit; Εξηγήστε την απάντηση σας.
Πρόβλημα 3.21 Απαντήστε σωστό ή λάθος: Με το πρωτόκολλο επιλεκτικής επανάληψης, είναι δυνατόν ο αποστολέας να λάβει ένα ACK για ένα πακέτο που είναι εκτός του τρέχοντος παραθύρου; Με το πρωτόκολλο GBN, είναι δυνατόν ο αποστολέας να δεχθεί ένα ACK για ένα πακέτο που είναι εκτός του τρέχοντος παραθύρου;
Πρόβλημα 3.27 Θεωρείστε την διαδικασία TCP για εκτίμηση του RTT. Υποθέστε ότι α=0,1. Ας συμβολίσουμε με SampleRTT1 το πιο πρόσφατο δείγμα RTT, SampleRTT2 το επόμενο πιο πρόσφατο δείγμα RTT κ.ο.κ Για δεδομένη σύνδεση RTT, υποθέστε ότι έχουν επιστραφεί τέσσερις επιβεβαιώσεις με αντίστοιχα δείγματα RTT. Εκφράστε την EstimatedRTT με βάση τα τέσσερα δείγματα RTT. Γενικεύστε τον τύπο σας για n δείγματα χρόνων διαδρομής μετ’ επιστροφής.
Πρόβλημα 4.8 Θεωρείστε ένα δίκτυο δεδομενογράμματος χρησιμοποιώντας μια διεύθυνση υπολογιστή 32-bit. Υποθέστε ότι ένας δρομολογητής έχει τέσσερις ζεύξεις, με αριθμούς από 0 έως 3 και ότι τα πακέτα θα προωθούνται στις διασυνδέσεις ζεύξεων ως εξής:
Πρόβλημα 4.8 11100000 00000000 00000000 00000000 έως 0 11100000 11111111 11111111 11111111 11100001 00000000 00000000 00000000 έως 1 11100001 00000000 11111111 11111111 11100001 00000001 00000000 00000000 έως 2 11100001 11111111 11111111 11111111 αλλιώς 3
Πρόβλημα 4.8 α. Δώστε έναν πίνακα προώθησης που έχει τέσσερεις καταχωρίσεις, χρησιμοποιεί ταίριασμα μεγαλύτερου προθέματος και προωθεί πακέτα στις σωστές διασυνδέσεις ζεύξεων. β. Περιγράψτε πως ο πίνακας προώθησης σας καθορίζει την κατάλληλη διασύνδεση ζεύξης για δεδομενογράμματα με διευθύνσεις προορισμού: 11001000 10010001 01010001 01010101 11100001 00000000 11000011 00111100 11100001 10000000 00010001 01110111
Πρόβλημα 4.9 Θεωρείστε ένα δίκτυο δεδομενογράμματος που χρησιμοποιεί διευθύνσεις υπολογιστών 8-bit. Υποθέστε ότι ένας δρομολογητής χρησιμοποιεί ταίριασμα μεγαλύτερου προθέματος και έχει τον παρακάτω πίνακα προώθησης: Πρόθεμα Διασύνδεση 00 0 01 1 10 2 11 3 Για κάθε μία από τις τέσσερις διασυνδέσεις, δώστε μια σχετική περιοχή διευθύνσεων υπολογιστή προορισμού και τον αριθμό των διευθύνσεων μέσα στην περιοχή.
Πρόβλημα 4.10 Θεωρείστε ένα δίκτυο δεδομενογράμματος που χρησιμοποιεί διευθύνσεις υπολογιστών 8-bit. Υποθέστε ότι ένας δρομολογητής χρησιμοποιεί ταίριασμα μεγαλύτερου προθέματος και έχει τον παρακάτω πίνακα προώθησης: Πρόθεμα Διασύνδεση 1 0 11 1 111 2 αλλιώς 3 Για κάθε μία από τις τέσσερις διασυνδέσεις, δώστε μια σχετική περιοχή διευθύνσεων υπολογιστή προορισμού και τον αριθμό των διευθύνσεων μέσα στην περιοχή.
Πρόβλημα 4.11 Θεωρείστε έναν δρομολογητή που συνδέει τρία υποδίκτυα: Υποδίκτυο 1, Υποδίκτυο 2 και Υποδίκτυο 3. Υποθέστε ότι όλες οι διασυνδέσεις σε καθένα από τα τρία υποδίκτυα απαιτείται να έχουν το πρόθεμα 223.1.17/24. Επίσης υποθέστε ότι το Υποδίκτυο 1 απαιτείται να υποστηρίζει μεχρι 125 διασυνδέσεις και τα Υποδίκτυα 2 και 3 απαιτείται να υποστηρίζουν, το καθένα, μέχρι 60 διασυνδέσεις. Δώστε τρεις διευθύνσεις δικτύων (της μορφής a.b.c.d/x) που ικανοποιούν αυτούς τους περιορισμούς.
Πρόβλημα 4.14 Θεωρείστε ένα υποδίκτυο με πρόθεμα 101.101.101.64/26. Δώστε ένα παράδειγμα διεύθυνσης IP (της μορφής xxx.xxx.xxx.xxx) που μπορεί να εκχωρηθεί σε αυτό το δίκτυο. Υποθέστε ότι ένας ISP κατέχει το μπλοκ διευθύνσεων της μορφής 101.101.128/17. Υποθέστε ότι θέλει να δημιουργήσει τέσσερα υποδίκτυα απ’ αυτό το μπλοκ, όπου το κάθε μπλοκ να έχει τον ίδιο αριθμό διευθύνσεων IP. Ποιά είναι τα προθέματα (της μορφής a.b.c.d/x) για καθένα από τα τέσσερα υποδίκτυα;
Πρόβλημα 4.18 Θεωρήστε την διαμόρφωση δικτύου της Εικόνας 4.22. Υποθέστε ότι ο ISP αντί αυτής της διαμόρφωσης, εκχωρεί στον δρομολογητή την διεύθυνση 126.13.89.67 και ότι η διεύθυνση δικτύου του οικιακού δικτύου είναι 192.168/16. α. Εκχωρήστε διευθύνσεις σε όλες τις διασυνδέσεις του οικακού δικτύου. β. Υποθέστε ότι κάθε υπολογιστής έχει δύο διασυνδέσεις TCP, όλες στην θύρα 80 του υπολογιστή 128.119.40.86. Δώστε τις έξι αντίστοιχες καταχωρίσεις μέσα στον πίνακα μετάφρασης NAT.
Πρόβλημα 4.22 Θεωρείστε το δίκτυο του προβλήματος. Με το δηλωμένο κόστος ζεύξεων, χρησιμοποιείστε τον αλγόριθμο βραχύτερης διαδρομής του Dijkstra ώστε να υπολογίσετε την βραχύτερη διαδρομή από τον x προς όλους τους κόμβους του δικτύου. Δείξτε πως εργάζεται ο αλγόριθμος υπολογίζοντας έναν πίνακα παρόμοιο με τον Πίνακα 4.3.
Πρόβλημα 4.23 Θεωρείστε το δίκτυο του προβλήματος 4.22. Χρησιμοποιώντας τον αλγόριθμο του Dijkstra και δείχνοντας την εργασία σας μ’έναν πίνακα παρόμοιο του Πίνακα 4.3. Υπολογίστε την βραχύτερη διαδρομή από τον s προς όλους τους κόμβους του δικτύου. Υπολογίστε την βραχύτερη διαδρομή από τον t προς όλους τους κόμβους του δικτύου. Υπολογίστε την βραχύτερη διαδρομή από τον u προς όλους τους κόμβους του δικτύου.
Πρόβλημα 4.23 Υπολογίστε την βραχύτερη διαδρομή από τον v προς όλους τους κόμβους του δικτύου. Υπολογίστε την βραχύτερη διαδρομή από τον w προς όλους τους κόμβους του δικτύου. Υπολογίστε την βραχύτερη διαδρομή από τον y προς όλους τους κόμβους του δικτύου. Υπολογίστε την βραχύτερη διαδρομή από τον z προς όλους τους κόμβους του δικτύου.