Δίκτυα’Επικοινωνιών–Δίκτυα’...

56
Δίκτυα Επικοινωνιών – Δίκτυα Υπολογιστών και Στρώμα Εφαρμογής Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «ΤεχνοΟικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών

Transcript of Δίκτυα’Επικοινωνιών–Δίκτυα’...

Page 1: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δίκτυα  Επικοινωνιών – Δίκτυα  Υπολογιστών  και  Στρώμα  ΕφαρμογήςΔιδάσκοντες:  Δρ.  Ευγενία  Αδαμοπούλου,  Δρ.  Κώστας  Δεμέστιχας

ΔΠΜΣ  «Τεχνο-­‐Οικονομικά  Συστήματα»Τεχνολογία  Πληροφορίας  και  Τηλεπικοινωνιών

Page 2: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ιστοσελίδα  Μαθήματος

¨ http://people.cn.ntua.gr/jenny/index.php/courses

¨ e-mail επικοινωνίας:  ¤ [email protected]¤ [email protected]

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

2

Page 3: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Βιβλιογραφία

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

3

¨ J. Kurose and K. Ross, “Computer Networking – A top down approach”, Pearson, 6th edition, 2013

Page 4: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Στρώμα  Εφαρμογής  – Εισαγωγή

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

4

¨ Υλοποίηση  δικτυακών  εφαρμογών  (network applications ή  apps)¤ υπηρεσίες  στρώματος  μεταφοράς  στις  οποίες  βασίζεται  η  υλοποίηση  μιας  δικτυακής  εφαρμογής

¤ μοντέλο  πελάτη-­‐εξυπηρετητή  (client-server)¤ μοντέλο  ομότιμων  σταθμών  (peer-to-peer – P2P)

¨ Πρωτόκολλα  στρώματος  εφαρμογής¤ HTTP¤ FTP¤ SMTP/POP3/IMAP (e-mail)¤ DNS

Page 5: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δικτυακές  Εφαρμογές –Παραδείγματα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

5

¨ Ηλεκτρονικό  ταχυδρομείο  (e-mail)¨ Web¨ απομακρυσμένη  πρόσβαση  (remote login)¨ P2P διαμοιρασμός  αρχείων¨ video streaming (YouTube, Netflix, κ.λπ.)¨ Voice over IP – VoIP (π.χ.  Skype)¨ Internet Relay Chat (IRC)  ή  άλλες  εφαρμογές  text

messaging¨ social networking

Page 6: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δημιουργία  δικτυακής  εφαρμογής

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

6

¨ Για  τη  δημιουργία  μιας  δικτυακής  εφαρμογής,  πρέπει  να  γραφτούν  προγράμματα  (λογισμικό)  που  να:¤ τρέχουν  σε  διαφορετικούς  

τερματικούς  σταθμούς¤ επικοινωνούν  μέσω  δικτύου

n π.χ.,  το  λογισμικό  ενός  εξυπηρετητή  Ιστού  (Web server)  επικοινωνεί  με  αυτό  ενός  Web browser

¨ Δεν  χρειάζεται  να  γραφτεί  λογισμικό  για  τους  ενδιάμεσους  κόμβους   του  δικτύου¤ οι  συσκευές  αυτές  δεν  εκτελούν  

εφαρμογές  των  χρηστών

applicationtransportnetworkdata  linkphysical

applicationtransportnetworkdata  linkphysical

applicationtransportnetworkdata  linkphysical

Page 7: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Αρχιτεκτονικές  Δικτυακών  Εφαρμογών

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

7

¨ Τυπικές  επιλογές  αρχιτεκτονικής  των  δικτυακών  εφαρμογών¤ μοντέλο  πελάτη-­‐εξυπηρετητή   (client-server)¤ μοντέλο  ομότιμων  σταθμών   (peer-to-peer – P2P)

Page 8: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Αρχιτεκτονική  πελάτη-­‐εξυπηρετητή

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

8

¨ Εξυπηρετητής   (server)¤ πρόκειται  για  σταθμό  (host)  που  

είναι  μονίμως  ενεργός¤ διαθέτει  μόνιμη  διεύθυνση¤ χρησιμοποιούνται  data centers

αναλόγως  με  την  απαιτούμενη  κλιμάκωση

¨ Πελάτες  (clients)¤ επικοινωνούν  με  τον  εξυπηρετητή¤ δεν  χρειάζεται  να  είναι  μονίμως  

ενεργοί¤ μπορεί  να  έχουν  δυναμικές  

διευθύνσεις¤ δεν  επικοινωνούν  απευθείας  

μεταξύ  τους

client/server

Page 9: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Αρχιτεκτονική  ομότιμων  σταθμών  (P2P)

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

9

¨ Δεν  υφίσταται  μονίμως  ενεργός  εξυπηρετητής

¨ Οι  τερματικοί  σταθμοί  επικοινωνούν  απευθείας  μεταξύ  τους  και  ονομάζονται  ομότιμοι  σταθμοί  ή  ομότιμοι  κόμβοι  (peers)

¨ Οι  ομότιμοι  σταθμοί:  ¤ αιτούνται  υπηρεσίες  από  άλλους  

ομότιμους  σταθμούς,  ενώ  επίσης  παρέχουν  υπηρεσίες  σε  άλλους  ομότιμους  σταθμούςn Κλιμακωσιμότητα:  η  είσοδος  νέων  

ομότιμων  σταθμών  αυξάνει  όχι  μόνο  τις  αιτήσεις  για  υπηρεσίες  αλλά  και  τις  δυνατότητες  για  εξυπηρέτηση  (χωρητικότητα)

¤ δεν  είναι  μονίμως  συνδεδεμένοι  και  αλλάζουν  διευθύνσειςn πολύπλοκη  διαχείριση

peer-­peer

Page 10: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Επικοινωνία  διεργασιών

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

10

¨ Διεργασία  (process):  πρόγραμμα  υπό  εκτέλεση  σε  έναν  σταθμό  – υπολογιστικό  σύστημα¤ εντός  του  ίδιου  σταθμού, η  επικοινωνία  μεταξύ  διεργασιών  καθορίζεται  από  το  λειτουργικό  σύστημα

¤ σε  διαφορετικούς  σταθμούς,  η  επικοινωνία  μεταξύ  διεργασιών  γίνεται  με  ανταλλαγή  μηνυμάτων

¨ Διεργασίες  πελάτη  και  εξυπηρετητή¤ διεργασία  πελάτη:  διεργασία  που  εκκινεί  την  επικοινωνία¤ διεργασία  εξυπηρετητή:  διεργασία  που  περιμένει  να  επικοινωνήσουν  μαζί  της  οι  πελάτες

¤ σε  μια  P2P αρχιτεκτονική,  κάθε  ομότιμος  σταθμός  μπορεί  να  τρέχει  τόσο  διεργασίες  πελάτη  όσο  και  διεργασίες  εξυπηρετητή  την  ίδια  στιγμή

Page 11: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Sockets

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

11

¨ Μια  διεργασία  στέλνει/λαμβάνει  μηνύματα  προς/από  το  socket της

¨ Το  socket είναι  λοιπόν  το  «άκρο»  στην  επικοινωνία  μέσω  δικτύου  μιας  διεργασίας  με  μια  άλλη  (που  βρίσκεται  σε  διαφορετικό  σταθμό)

Internet

controlledby  OS

controlled  byapp  developer

transport

application

physicallink

network

process

transport

application

physicallink

network

processsocket

Page 12: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Διευθυνσιοδότηση  των  sockets

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

12

¨ Για  να  λάβει  μηνύματα,  μια  διεργασία  πρέπει  να  έχει  ένα  μοναδικό  αναγνωριστικό¤ Τι  μπορεί  να  χρησιμοποιηθεί  ως  μοναδικό  αναγνωριστικό

¨ Κάθε  σταθμός  στο  Internet διαθέτει  μία  τουλάχιστον  μοναδική  διεύθυνση  IP μήκους  32  bits

¨ Ερ. Επαρκεί  αυτή  η  διεύθυνση  για  τη  μοναδική  ταυτοποίηση  της  διεργασίας?¤ Απ. Όχι,  αφού  πολλές  διεργασίες  μπορεί  να  τρέχουν  στον  ίδιο  σταθμό

¨ Για  το  λόγο  αυτό,  κάθε  διεργασία  ταυτοποιείται με  το  συνδυασμό  της  διεύθυνσης  IP του  σταθμού  και  ενός  αριθμού  θύρας  (port number)¤ Παραδείγματα  αριθμών  θυρών:  

n Εξυπηρετητής  HTTP:  80n Εξυπηρετητής  e-mail: 25

¤ Για  την  αποστολή  ενός  HTTP μηνύματος  στον  εξυπηρετητή  Ιστού  www.ntua.grχρησιμοποιούνταιn IP διεύθυνση:  147.102.222.213n Αριθμός  θύρας:  80

Page 13: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Πρωτόκολλα στρώματος  εφαρμογής

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

13

¨ Ένα  πρωτόκολλο  στρώματος  εφαρμογής   καθορίζει:¤ τους  τύπους  των  μηνυμάτων  που  ανταλλάσσονται

n π.χ.  μήνυμα  αίτησης  (request),  απόκρισης  (response) κλπ.¤ το  συντακτικό  των  μηνυμάτων

n τι  πεδία  πρέπει  να  περιλαμβάνει  ένα  μήνυμα  και  πώς  διαχωρίζονται  τα  πεδία¤ τη  σημασιολογία  των  μηνυμάτων

n σημασία  καθενός  από  τα  πεδία  ενός  μηνύματος¤ τους  κανόνες  για  το  πότε  και  πώς  οι  διεργασίες  στέλνουν  ή  απαντάνε  σε  

μηνύματα¨ Ανοιχτά πρωτόκολλα  έναντι   κλειστών  πρωτοκόλλων

¤ Ανοιχτά  (open):n ορίζονται  σε  πρότυπα  (RFCs)n επιτρέπουν  τη  διαλλειτουργικότηταn π.χ.  HTTP, SMTP

¤ Κλειστά  – ιδιόκτητα  (proprietary):  n π.χ.  Skype

Page 14: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Υπηρεσίες  που  προσφέρει  το  υποκείμενο  στρώμα  μεταφοράς  σε  μια  εφαρμογή

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

14

¨ Αξιοπιστία  μεταφοράς  δεδομένων¤ μερικές  εφαρμογές  (π.χ.  μεταφορά  αρχείων,  Web browsing) απαιτούν  100%  

αξιόπιστη  μεταφορά  δεδομένων¤ άλλες  εφαρμογές  (π.χ.  video streaming)  μπορούν  να  ανεχθούν  ορισμένες  

απώλειες  και  αλλοιώσεις¨ Διεκπεραιωτικότητα (throughput)

¤ μερικές  εφαρμογές  (π.χ.  πολυμέσων)  έχουν  κάποιες  ελάχιστες  απαιτήσεις  throughput προκειμένου  να  παραμένουν  χρηστικές

¤ άλλες  εφαρμογές  (οι  λεγόμενες  ελαστικές  εφαρμογές)  κάνουν  απλώς  χρήση  οποιουδήποτε  επιπέδου  throughput είναι  εφικτό  εκείνη  τη  στιγμή

¨ Συγχρονισμός  (timing)¤ Μερικές  εφαρμογές  (π.χ.  τηλεφωνία  μέσω  Διαδικτύου,  παιχνίδια  μέσω  

Διαδικτύου) έχουν  κάποιες  ελάχιστες  απαιτήσεις  καθυστέρησης  (delay)  προκειμένου  να  παραμένουν  χρηστικές  

¨ Ασφάλεια¤ κρυπτογράφηση¤ ακεραιότητα  δεδομένων

Page 15: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Απαιτήσεις  δημοφιλών  εφαρμογών  από  το  υποκείμενο  στρώμα  μεταφοράς

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

15

εφαρμογή

file  transfere-­mail

Web  documentsreal-­time  liveaudio/video

stored  audio/videointeractive  gamestext  messaging

απώλεια  δεδομένωνκαμία  ανοχήκαμία  ανοχήκαμία  ανοχήανεκτική

ανεκτικήανεκτικήκαμία  ανοχή

throughput

ελαστικήελαστικήελαστικήaudio:  5kbps-­1Mbpsvideo:10kbps-­5Mbpsομοίως  με  από  πάνωλίγα  kbps  παραπάνωελαστική

ευαισθησία  στο  χρόνοόχιόχιόχιναι,  100’s  msec

ναι,  μερικά  secsναι,  100’s  msecναι  και  όχι

Page 16: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Πρωτόκολλα  στρώματος  μεταφοράς  και  υπηρεσίες  που  προσφέρουν

¨ αξιόπιστη  μεταφορά  δεδομένων  μεταξύ  αποστολέα  και  παραλήπτη

¨ έλεγχος  ροής  δεδομένων¨ έλεγχος  συμφόρησης¨ δεν προσφέρει:  συγχρονισμό,  

ελάχιστο  εγγυημένο  throughput,  ασφάλεια

¨ connection-oriented: ακολουθείται  μια  διαδικασία  εγκατάστασης  σύνδεσης  μεταξύ  των  διεργασιών  του  πελάτη  και  του  εξυπηρετητή

¨ μη αξιόπιστη  μεταφορά  δεδομένων  μεταξύ  αποστολέα  και  παραλήπτη

¨ δεν προσφέρει:  αξιοπιστία,  έλεγχο  ροής,  έλεγχο  συμφόρησης,   ελάχιστο  εγγυημένο   throughput,  ασφάλεια,  εγκατάσταση  σύνδεσης

¨ Ερ. Πού  χρησιμεύει   τότε  το  UDP?¤ Απ. Καλύτερη  επίδοση  στο  

συγχρονισμό  (απαιτήσεις  καθυστέρησης)

16

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

TCP –Transmission Control Protocol

UDP –User Datagram Protocol

Page 17: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δικτυακές  εφαρμογές:  Αντίστοιχα  πρωτόκολλα  εφαρμογής  και  μεταφοράς

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

17

εφαρμογή

e-­mailremote  terminal  access

Web  file  transfer

streaming  multimedia

Internet  telephony

πρωτόκολλοστρώματος  εφαρμογήςSMTP  [RFC  2821]Telnet  [RFC  854]HTTP  [RFC  2616]FTP  [RFC  959]HTTP  (e.g.,  YouTube),  RTP  [RFC  1889]SIP,  RTP,  proprietary(π.χ. Skype)

υποκείμενοπρωτόκολλο  μεταφοράςTCPTCPTCPTCPTCP  ή  UDP

TCP  ή  UDP

Page 18: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Αυξάνοντας  την  ασφάλεια  του  TCP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

18

¨ Τα  πρωτόκολλα  TCP και  UDP¤ δεν προσφέρουν  κρυπτογράφηση

n τα  δεδομένα  των  χρηστών  (π.χ.  passwords)  αποστέλλονται  μέσα  από  το  socket και  μεταφέρονται  στο  Internet ως  έχουν

¨ Το  πρωτόκολλο  SSL (Secure Sockets Layer)¤ προσφέρει  κρυπτογραφημένη  σύνδεση  TCP (encryption)¤ ακεραιότητα  των  δεδομένων (data integrity)¤ πιστοποίηση  του  άλλου  άκρου  επικοινωνίας   (authentication)

¨ Το  SSL είναι  πρωτόκολλο  στρώματος  εφαρμογής,όπως  και  ο  απόγονός  του,  το  TLS (Transport Layer Security)¤ Οι  εφαρμογές  χρησιμοποιούν  SSL (ή  TLS) βιβλιοθήκες,  προκειμένου  να  κρυπτογραφήσουν  τα  δεδομένα  των  TCP συνδέσεων

Page 19: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ο  Παγκόσμιος  Ιστός  και  το  HTTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

19

¨ Μία  σελίδα  στον  Παγκόσμιο  Ιστό  (Web page)  είναι  ένα  αρχείο  HTML το  οποίο  περιλαμβάνει  αναφορές  προς  διάφορα  αντικείμενα  (όπως  εικόνες,  αρχεία  ήχου,  Java applets κ.λπ.)

¨ Κάθε  αντικείμενο  έχει  μία  διεύθυνση (URL: Uniform Resource Locator) η  οποία  χρησιμοποιείται  για  να  γίνει  αναφορά  σε  αυτό,  π.χ.

www.ntua.gr/someDept/pic.gif

host  name path name

Page 20: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Επισκόπηση  του  πρωτοκόλλου  HTTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

20

¨ HTTP (Hypertext Transfer Protocol)¤ Πρωτόκολλο  του  στρώματος  εφαρμογής  για  τον  Παγκόσμιο   Ιστό

¤ Μοντέλο  πελάτη/εξυπηρετητήn πελάτης:  συνήθως,  κάποιος  

browser (φυλλομετρητής) που  αιτείται,  λαμβάνει  (μέσω  του  πρωτοκόλλου  HTTP) και  απεικονίζει  αντικείμενα  Web

n εξυπηρετητής:  ο  εξυπηρετητής  (Web server)  αποστέλλει  αντικείμενα  σε  απάντηση  των  αιτήσεων  

PC  που  τρέχειFirefox  browser

server  που  τρέχειApache  Webserver

κινητό  τηλ. που  τρέχειSafari  browser

Page 21: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Επισκόπηση  του  πρωτοκόλλου  HTTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

21

¨ Το  HTTP χρησιμοποιεί  για  πρωτόκολλο  μεταφοράς  το  TCP¤ ο  πελάτης  (κάποιος  browser)  εκκινεί   την  εγκατάσταση   σύνδεσης  (δημιουργεί   ένα  socket)  με  τον  εξυπηρετητή   (στη  θύρα  80 του  τελευταίου)

¤ ο  εξυπηρετητής  αποδέχεται  τη  σύνδεση  με  τον  πελάτη¤ μέσα  από  αυτήν  τη  σύνδεση,  ανταλλάσσονται  στο  στρώμα  εφαρμογής  μηνύματα  τύπου  HTTP μεταξύ  του  πελάτη και  του  εξυπηρετητή

¤ στο  τέλος,  η  TCP σύνδεση  κλείνει¨ Το  HTTP είναι  stateless πρωτόκολλο

¤ ο  εξυπηρετητής  δε  διατηρεί  πληροφορίες  σχετικά  με  παρελθόντα  αιτήματα  του  πελάτηn αντίθετα,  το  FTP είναι  stateful πρωτόκολλο

Page 22: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Τύποι  HTTP συνδέσεων

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

22

¨ non-persistent HTTP (μη-­‐εμμένον)¤ αποστέλλεται   το  πολύ  ένα  αντικείμενο   πάνω  από  την  

TCP σύνδεσηn κατόπιν,  η  σύνδεση  απολύεται

¤ συνεπώς,  η  μεταφορά  πολλών  αντικειμένων   απαιτεί  πολλαπλές   συνδέσεις  TCP

¨ persistent HTTP (εμμένον)¤ πολλά  αντικείμενα   μπορούν  να  σταλούν  πάνω  από  μία  μοναδική  TCP σύνδεση  μεταξύ  πελάτη  και  εξυπηρετητή

Page 23: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Non-persistent HTTP23

¨ Έστω  ότι  ο  χρήστης  πληκτρολογεί  το  URL http://www.ntua.gr/index.html¤ Η  σελίδα  αυτή  περιέχει  κείμενο  και  πολλές  εικόνες  (10  εικόνες)

1a. Ο  HTTP client εκκινεί  τηνεγκατάσταση  σύνδεσης  TCP με  τονHTTP server στη  διεύθυνσηwww.ntua.gr και  στη  θύρα 80.

2. Ο  HTTP client αποστέλλει  ένα  HTTP request μήνυμα μέσα  από  την  TCP σύνδεση. Το  μήνυμα  υποδεικνύει  ότι  ο  πελάτης  επιθυμεί  να  του  σταλεί  το  αντικείμενο  index.html

1b. Ο  HTTP server στη  διεύθυνση  www.ntua.gr αναμένει στη  θύρα80 για  TCP συνδέσεις. Αποδέχεται  τη  σύνδεση,  ειδοποιώντας  τον  πελάτη.

3. O HTTP server λαμβάνει  το request μήνυμα, σχηματίζει  ένα response μήνυμα που  περιέχει  το  ζητούμενο  αντικείμενο, και το  στέλνει  μέσα  από  την  TCP σύνδεση.

time

Page 24: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Non-persistent HTTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

24

5. Ο  HTTP client λαμβάνει  το  response μήνυμα που  περιέχει  το  HTML αρχείο, το  οποίο  και  πρέπει  να  απεικονίσει. Καθώς  επεξεργάζεται  το  προς  απεικόνιση  αρχείο  HTML, βρίσκει  αναφορές  προς 10 αντικείμενα  τύπου  εικόνας.

6. Τα  βήματα  1-5 επαναλαμβάνονται  για  καθένα  από  τα  10  αντικείμενα-­‐εικόνες

4. Ο  HTTP server κλείνει  την  TCP σύνδεση.

time

Page 25: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Non-persistent HTTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

25

¨ RTT (Round-Trip Time):  χρόνος  για  ένα  μικρό  πακέτο  να  φτάσει  από  τον  πελάτη  στον  εξυπηρετητή  και  πίσω

¨ HTTP response time αποτελείται  από:  ¤ 1  RTT για  την  εκκίνηση  της  TCP

σύνδεσης¤ 1  RTT για  να  σταλεί  το  HTTP

request και  να  φτάσουν  πίσω  τα  πρώτα  bytes του  HTTP response

¤ χρόνος  μετάδοσης  του  αρχείου  (αναλόγως  της  ταχύτητας  μετάδοσης)

¤ non-persistent HTTP response time =  2RTT + χρόνος  μετάδοσης  του  αρχείου

time  to  transmit  file

initiate  TCPconnection

RTTrequestfile

RTT

filereceived

time time

Page 26: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Persistent HTTP vs. non-persistent HTTP

¨ non-persistent HTTP¤ χρειάζονται  2RTT (+  το  χρόνο  

μετάδοσης)  για  τη  μεταφορά  κάθε  αντικειμένου

¤ επιβάρυνση  του  Λειτουργικού  Συστήματος  με  το  άνοιγμα  νέας  TCP σύνδεσης  για  κάθε  αντικείμενο

¤ στην  πράξη,  οι  περισσότεροι  browsers ανοίγουν  παράλληλες  συνδέσεις  TCP για  να  κατεβάσουν  τα  διάφορα  αντικείμενα  μιας  σελίδαςn έτσι  μειώνεται  το  συνολικό  

response time για  όλη  τη  σελίδα

¨ persistent HTTP¤ ο  εξυπηρετητής  αφήνει  

ανοιχτή  τη  σύνδεση  HTTP μόλις  αποστείλει  μια  απάντηση

¤ τα  επόμενα  HTTP μηνύματα  μεταξύ  πελάτη/  εξυπηρετητή  στέλνονται  μέσα  από  την  ανοιχτή  αυτή  σύνδεση

¤ ο  πελάτης  στέλνει  request μόλις  συναντήσει  αναφορά  προς  ένα  αντικείμενο

¤ χρειάζεται  1  RTT (+  το  χρόνο  μετάδοσης)  για  κάθε  αντικείμενο,  καθώς  δεν  ανοιγοκλείνουν  TCP συνδέσεις

26

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

Page 27: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

HTTP request μήνυμα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

27

¨ Όπως  είδαμε,  το  HTTP χρησιμοποιεί   δύο  τύπους  μηνυμάτων:  HTTP request (αίτηση) και HTTP response (απάντηση)

¨ HTTP request¤ ASCII μορφή  (αναγνώσιμη  από  τον  άνθρωπο)

request  line(GET,  POST,  HEAD  εντολές)

headerlines

carriage  return καιline  feed  στην  αρχή  μιας  γραμμής  υποδηλώνει το  πέραςτων  header  lines

GET /index.html HTTP/1.1\r\nHost: www-net.cs.umass.edu\r\nUser-Agent: Firefox/3.6.10\r\nAccept: text/html,application/xhtml+xml\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7\r\nKeep-Alive: 115\r\nConnection: keep-alive\r\n\r\n

carriage-­return  χαρακτήραςline-­feed  χαρακτήρας

Page 28: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

HTTP request μήνυμα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

28

¨ Σύμβολα:  sp = space, cr = carriage return, lf = line feedχαρακτήρες

requestline

headerlines

body

method sp sp cr lfversionURL

cr lfvalueheader  field  name

cr lfvalueheader  field  name

~~ ~~

cr lf

entity  body~~ ~~

Page 29: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Αποστολή  δεδομένων  φόρμας

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

29

¨ Τα  δεδομένα  που  ένας  χρήστης  συμπληρώνει  σε  μια  Web φόρμα  συμπεριλαμβάνονται  σε  ένα  HTTP request μήνυμα  το  οποίο  στέλνεται  στον  εξυπηρετητή

¨ Η  αποστολή  μπορεί  να  γίνει  με  έναν  από  τους  εξής  δύο  τρόπους¤ Μέθοδος  POST

n Τα  δεδομένα  που  έχει  συμπληρώσει  ο  χρήστης  ενσωματώνονται  στο  σώμα  (body) του  request μηνύματος

¤ Μέθοδος  GETn Τα  δεδομένα  αυτά  ενσωματώνονται  στο  πεδίο URL του  request

linewww.somesite.com/animalsearch.asp?animal=monkeys&food=banana

Page 30: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Μέθοδοι  HTTP

¨ HTTP/1.0¤ GET¤ POST¤ HEAD

n ζητείται  από  τον  εξυπηρετητή  να  μη  συμπεριλάβει  το  αναφερόμενο  αντικείμενο  εντός  του  response

¨ HTTP/1.1¤ GET, POST, HEAD¤ PUT

n ανεβάζει  στη  διεύθυνση  που  υποδεικνύει  το  πεδίο  URL της  γραμμής  request το  αρχείο  του  οποίου  τα  περιεχόμενα  βρίσκονται  στο  σώμα  (body) του  μηνύματος

¤ DELETEn ζητείται  η  διαγραφή  του  αρχείου  που  υποδεικνύει  το  πεδίο  URL της  γραμμής  request

30

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

Page 31: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

HTTP response μήνυμα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

31

status  line(protocolstatus  code και  status  phrase)

headerlines

data,  π.χ.HTML  αρχείο

HTTP/1.1 200 OK\r\nDate: Sun, 26 Sep 2010 20:09:20 GMT\r\nServer: Apache/2.0.52 (CentOS)\r\nLast-Modified: Tue, 30 Oct 2007 17:00:02

GMT\r\nETag: "17dc6-a5c-bf716880"\r\nAccept-Ranges: bytes\r\nContent-Length: 2652\r\nKeep-Alive: timeout=10, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/html; charset=ISO-8859-

1\r\n\r\ndata data data data data ...

Page 32: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

HTTP response μήνυμα  –Κωδικοί  Κατάστασης

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

32

¨ Ο  κωδικός  κατάστασης   (status code) σε  ένα  μήνυμα  HTTP response τοποθετείται  στην  πρώτη  γραμμή  του  μηνύματος

¨ Παραδείγματα  κωδικών¤ 200  OK

n επιτυχής  αίτηση,  το  ζητούμενο  αντικείμενο  περιλαμβάνεται  μέσα  στο  μήνυμα

¤ 301 Moved Permanentlyn το  ζητούμενο  αντικείμενο  έχει  μεταφερθεί,  η  νέα  του  διεύθυνση  περιλαμβάνεται  μέσα  στο  μήνυμα

¤ 400 Bad Requestn το  μήνυμα  αίτησης  δεν  έγινε  κατανοητό  από  τον  εξυπηρετητή

¤ 404 Not Foundn το  ζητούμενο  αντικείμενο  δε  βρέθηκε  στον  εξυπηρετητή

¤ 505 HTTP Version Not Supported

Page 33: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Διατήρηση  κατάστασης  –Cookies

¨ Συνιστώσες1. Μια  header line τύπου  cookie

στο  HTTP response μήνυμα2. Μια  header line τύπου  cookie

στο  επόμενο  HTTP request μήνυμα

3. Ένα  αρχείο  cookie που  διατηρείται  στον  υπολογιστή  του  χρήστη  και  το  διαχειρίζεται  ο  browser του  χρήστη

4. Μια  Βάση  Δεδομένων  (ΒΔ)  στην  πλευρά  του  site

¨ Παράδειγμα¤ Έστω  ένας  χρήστης  που  μπαίνει  

στο  Internet πάντα  από  το  ίδιο  PC

¤ Ο  χρήστης  αυτός  επισκέπτεται  για  πρώτη  φορά  ένα  site ηλεκτρονικών  αγορών

¤ Όταν  τα  αρχικά  HTTP requests φτάσουν  στο  site, αυτό  δημιουργεί:  n ένα  μοναδικό  αναγνωριστικό  (ID)n μια  εγγραφή  στη  ΒΔ  του  με  αυτό  

το  αναγνωριστικό

33

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

¨ Όπως  είδαμε,  το HTTP είναι  stateless πρωτόκολλο¨ Για  να  διατηρούν  πληροφορίες  κατάστασης,  πολλοί  ιστότοποι (Web sites)  

χρησιμοποιούν  τα  λεγόμενα  cookies

Page 34: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Διατήρηση  κατάστασης  –Cookies

34

client server

usual  http  response  msg

usual  http  response  msg

cookie  file

Μια  εβδομάδα  αργότερα:  

usual  http  request  msgcookie:  1678 cookie-­

specificaction

access

ebay  8734 usual  http  request  msg Amazon  servercreates  ID1678  for  user create

entryusual  http  response  set-­cookie:  1678ebay  8734

amazon  1678

usual  http  request  msgcookie:  1678 cookie-­

specificaction

accessebay  8734amazon  1678

backenddatabase

Page 35: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Διατήρηση  κατάστασης  –Cookies

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

35

¨ Χρησιμότητα  των  cookies¤ εξουσιοδότηση   χρήστη¤ ηλεκτρονικά   καλάθια   αγορών¤ παροχή  συστάσεων   (recommendations)    προς  το  χρήστη

¤ κατάσταση   συνόδου  του  χρήστη  (Web e-mail)¨ Ιδιωτικότητα

¤ τα  cookies επιτρέπουν  στα  sites να  μάθουν  πολλά  για  το  χρήστη και  τις  συνήθειές   του

Page 36: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Web cache – Proxy εξυπηρετητής

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

36

¨ Ο  μηχανισμός  Web cache (λανθάνουσα  μνήμη  Παγκόσμιου   Ιστού) υλοποιείται  με  τη  χρήση  διακομιστή   μεσολάβησης  (proxy server)

client

proxyserver

client origin  server

origin  server

¨ Ο χρήστης  ρυθμίζει  τον  browser του  να  χρησιμοποιεί  Web cache(δηλ.  να  χρησιμοποιεί  proxy server)

¨ Ο browser στέλνει  όλα  τα  HTTP request μηνύματα  στη  συγκεκριμένη  Web cache¤ αν  το  ζητούμενο  αντικείμενο  

βρίσκεται  στην  cache, τότε  η  cache επιστρέφει  το  αντικείμενο

¤ διαφορετικά,  η  cache ζητά  το  αντικείμενο  από  τον  εξυπηρετητή  που  κανονικά  το  φιλοξενεί  (origin server)  και,  κατόπιν,  επιστρέφει  το  αντικείμενο  αυτό  στον  πελάτη,  αφού  το  αποθηκεύσει  και  τοπικά

Page 37: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Web cache – Proxy εξυπηρετητής

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

37

¨ Έτσι,  η  Web cache ενεργεί  τόσο  ως  πελάτης  όσο  και  ως  εξυπηρετητής¤ ως  πελάτης  για  τον  origin server¤ ως  εξυπηρετητής  για  τον  browser του  χρήστη

¨ Εγκατάσταση  και  χρήση  Web cache ενδέχεται  να  γίνεται  σε  διάφορα  ιδρύματα,  όπως  Πανεπιστήμια,  μεγάλες  εταιρείες  κ.λπ.

¨ Χρησιμότητα  της  Web cache¤ μείωση  του  χρόνου  απάντησης   (response time)  στα  αιτήματα  των  πελατών

¤ μείωση  της  κίνησης  στη  ζεύξη  πρόσβασης  στο  Internet του  ιδρύματος

Page 38: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Web cache – Παράδειγμα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

38

¨ Υποθέσεις¤ Μέσο  μέγεθος  αντικειμένου:  100 Kbit =  0.1  Mbit¤ Μέσος  ρυθμός  αιτήσεων  από  τους  browsers (όλους  

μαζί)  του  ιδρύματος  προς  τους  origin  servers:  15  αιτήσεις/sec

¤ Μέσος  ρυθμός  μετάδοσης  προς  τους  browsers:  0.1*15  =  1.5  Mbps

¤ RTT  από  το  δρομολογητή  του  ιδρύματος  μέχρι  οποιονδήποτε  origin  server  =  2  sec

¨ Συνέπειες¤ Χρησιμοποίηση  (ή  ένταση  κίνησης)  στο  LAN  =  1.5Mbps  

/ 100Mbps =  1.5%n Μικρή  χρησιμοποίηση,  άρα  αμελητέα  καθυστέρηση

¤ Χρησιμοποίηση  στη  ζεύξη  πρόσβασης  =  99%n Πολύ  κοντά  στο  100%,  άρα  μεγάλη  καθυστέρηση  (βλ.  

queuing  delay),  της  τάξης  των  λεπτών¤ Συνολική  καθυστέρηση  =  καθυστέρηση  Internet  +  

καθυστέρηση  πρόσβασης  +  καθυστέρηση  LAN =    2  sec  +  minutes  +  «αμελητέα»

originservers

PublicInternet

δίκτυοιδρύματος

100 Μbps LAN

1.54 Mbps ζεύξη πρόσβασης

Page 39: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Web cache – Παράδειγμα

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

39

¨ Λύση  1: αναβάθμιση   της  ζεύξης  πρόσβασης  από  1.54  Mbps  σε  15.4  Mbps  (10πλασια χωρητικότητα)¤ Συνήθως  πρόκειται  για  δαπανηρή  

αναβάθμιση¨ Συνέπειες

¤ Χρησιμοποίηση  στο  LAN  =  1.5%n ίδια  με  προηγουμένως

¤ Χρησιμοποίηση  στη  ζεύξη  πρόσβασης  =  9.9%n μικρή  χρησιμοποίηση,  άρα  αμελητέα  καθυστέρηση

¤ Συνολική  καθυστέρηση  =  καθυστέρηση  Internet  +  καθυστέρηση  πρόσβασης  +  καθυστέρηση  LAN  =    2  sec  +  «αμελητέα»  +  «αμελητέα»  =  2  sec  περίπου

originservers

PublicInternet

δίκτυοιδρύματος

100 Μbps LAN

15.4 Mbps ζεύξη πρόσβασης

Page 40: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Web cache – Παράδειγμα40

¨ Λύση  2: προσθήκη  Web  cache  στο  τοπικό  δίκτυο¤ Έχει  κόστος  και  αυτή  η  λύση¤ Έστω  ότι  η  πιθανότητας  επιτυχίας  (hit  rate)  της

cache  είναι  0.4  (συνήθεις  τιμές:  0.2  έως  0.7)¨ Συνέπειες

¤ 40%  των  αιτήσεων  θα  ικανοποιούνται  σχεδόν  αμέσως (έστω  σε  10msec)

¤ 60%  των  αιτήσεων  θα  ικανοποιούνται  από  τους  αρχικούς  server

¤ Ρυθμός  δεδομένων  προς  browsers  στη  ζεύξη  πρόσβασης:  0.6*1.5Μbps  =  0.9Mbps

¤ Η  χρησιμοποίηση  της ζεύξης  πρόσβασης  περιορίζεται  στο  0.9/1.54  =  58% με  αποτέλεσμα  αμελητέες  καθυστερήσεις  (έστω  10  msec)

¤ Συνολική  μέση  καθυστέρηση  =  καθυστέρηση  Internet  +  καθυστέρηση  πρόσβασης  +  καθυστέρηση  LAN  =  0.6*2.01  sec  +  0.4*0.01sec  =  1.21  secn Η  λύση  αυτή  έχει  καλύτερη  επίδοση  από  την  

προηγούμενη!

originservers

PublicInternet

δίκτυοιδρύματος

100 Μbps LAN

1.54 Mbps ζεύξη πρόσβασης

Cacheιδρύματος

Page 41: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

FTP – File Transfer Protocol

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

41

¨ Μεταφορά  αρχείων  από/προς  έναν  απομακρυσμένο  υπολογιστή¨ Μοντέλο  client/server (πελάτη/εξυπηρετητή)

¤ client: η  πλευρά  που  εκκινεί  τη  μεταφορά  (είτε  προς  είτε  από  αυτήν)¤ server: ο  απομακρυσμένος  host

¨ Ο ftp server «ακούει»   (περιμένει)  στη  θύρα  (port) 21

μεταφορά  αρχείου

FTPserver

FTPuser

interface

FTPclient

τοπικό  σύστημα  αρχείων

χρήστης

Page 42: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

FTP – Συνδέσεις  ελέγχου&  δεδομένων

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

42

¨ Ο  ftp client επικοινωνεί  με  τον  ftp serverστη  θύρα  21,  μέσω  του  πρωτοκόλλου  TCP

¨ Γίνεται  πιστοποίηση/εξουσιοδότηση  του  client κατά  τη  διάρκεια  της  σύνδεσης  ελέγχου

¨ Ο  client βλέπει  τη  λίστα  αρχείων  του  server και  στέλνει  εντολές  μέσω  της  σύνδεσης  ελέγχου

¨ Μόλις  ο  server δεχτεί  εντολή  για  μεταφορά  αρχείου,  τότε  ανοίγει  2ησύνδεση  TCP με  τον  client, τη  σύνδεση  δεδομένων,  με  σκοπό  τη  μεταφορά  του  αρχείου

¨ Μόλις  ολοκληρωθεί  η  μεταφορά  ενός  αρχείου,  ο  server απολύει  τη  σύνδεση  δεδομένων

FTPclient

FTPserver

TCP  σύνδεση  ελέγχου,server  port  21

TCP  σύνδεση  δεδομένων,server  port  20

¨ Αν  είναι  επιθυμητή  η  μεταφορά  ενός  2ου αρχείου  ο  server ανοίγει  νέα  TCP σύνδεση  δεδομένων

¨ O ftp server διατηρεί  την  «κατάσταση»  δηλαδή  την  εξουσιοδότηση  του  χρήστη  που  πραγματοποιήθηκε  στην  αρχή

Page 43: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

FTP – Παραδείγματα  εντολών  &  αποκρίσεων

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

43

Εντολές¨ στέλνονται  σαν  ASCII  κείμενο  

μέσω  της  σύνδεσης   ελέγχου¨ USER  username¨ PASS  password¨ LIST επιστρέφει   τη  λίστα  

αρχείων  στο  τρέχον  directory¨ RETR  filename ανακτά  ένα  

αρχείο¨ STOR  filename αποθηκεύει  

ένα  αρχείο  στον  server

Αποκρίσεις¨ κωδικός   κατάστασης   και  

λεκτική  περιγραφή  ¨ 331  Username  OK,  password  

required¨ 125  data  connection  already  

open;  transfer  starting¨ 425  Can’t  open  data  connection¨ 452  Error  writing  file

Page 44: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ηλεκτρονικό  Ταχυδρομείο (E-mail)44

¨ Τρία  βασικά  «συστατικά»:¤ Οι  user agents¤ Οι  mail servers¤ Το  πρωτόκολλο  

SMTP (Simple Mail Transfer Protocol)

user  mailbox

outgoing  message  queue

mailserver

mailserver

mailserver

SMTP

SMTP

SMTP

useragent

useragent

useragent

useragent

useragent

useragent

Page 45: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ηλεκτρονικό  ΤαχυδρομείοUser Agents

45

¨ Χρησιμοποιούνται   για  τη  σύνθεση,   επεξεργασία,  ανάγνωση  μηνυμάτων  (e-mails)...¤ π.χ.  Outlook, Thunderbird,

Mac OS Mail app¨ Τα  

εισερχόμενα/εξερχόμενα  μηνύματα  για  ένα  χρήστη  αποθηκεύονται   στο  mail serverπου  εξυπηρετεί   το  χρήστη

user  mailbox

outgoing  message  queue

mailserver

mailserver

mailserver

SMTP

SMTP

SMTP

useragent

useragent

useragent

useragent

useragent

useragent

Page 46: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ηλεκτρονικό  ΤαχυδρομείοMail Servers

46

¨ mailbox: περιλαμβάνει   τα  εισερχόμενα  μηνύματα  για  έναν  χρήστη

¨ ουρά  μηνυμάτων:  λίστα  εξερχόμενων  μηνυμάτων  προς  αποστολή

¨ Το  SMTP πρωτόκολλο  χρησιμοποιείται  μεταξύ  mail servers για  την  αποστολή  μηνυμάτων¤ ως  client ενεργεί ο  mail

server αποστολής¤ ως  server ενεργεί  ο  mail

server λήψης

user  mailbox

outgoing  message  queue

mailserver

mailserver

mailserver

SMTP

SMTP

SMTP

useragent

useragent

useragent

useragent

useragent

useragent

Page 47: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ηλεκτρονικό  Ταχυδρομείο  -­‐ SMTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

47

¨ To SMTP χρησιμοποιεί   το  πρωτόκολλο  TCP για  να  μεταφέρει  αξιόπιστα  ηλεκτρονικά   μηνύματα  από  τον  client στο  server,χρησιμοποιώντας   τη  θύρα  25

¨ Απευθείας   μετάδοση:  ο  server αποστολέας  στέλνει  στον  παραλήπτη  server

¨ Τρεις  φάσεις  μεταφοράς:¤ χειραψία¤ μεταφορά  μηνυμάτων¤ απόλυση

¨ Μηχανισμός  εντολών/αποκρίσεων   (όπως  και  στα  HTTP, FTP)¤ εντολές:  κείμενο  ASCII¤ απόκριση:  κωδικός  κατάστασης  + λεκτική  απάντηση

Page 48: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Σενάριο:  Η  Άννα  στέλνει  e-mail στο  Βασίλη

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

48

1. Η  Άννα  μέσω  του  user agent της  γράφει  ένα  μήνυμα  για  το  Βασίλη  με  διεύθυνση  αποστολέα  [email protected]

2. O user agent της  Άννας  στέλνει  το  μήνυμα  στον  mail server της  – Το  μήνυμα  αυτό  τοποθετείται  στην  ουρά  μηνυμάτων

3. Η  client πλευρά  του  SMTP ανοίγει  TCP σύνδεση  με  τον  mail server του  Βασίλη4. Ο  SMTP client αποστέλλει  το  μήνυμα  μέσω  TCP σύνδεσης5. Ο  mail server του  Βασίλη  τοποθετεί  το  μήνυμα  στο  mailbox του  Βασίλη6. Ο  Βασίλης  χρησιμοποιεί  τον  user agent του  για  να  ανακτήσει  και  να  διαβάσει  

το  μήνυμα

useragent

mailserver

mailserver

1

2 3 4

5

6

Ο  mail  server της  Άννας Ο  mail  server του  Βασίλη

useragent

Page 49: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Παράδειγμα  SMTP επικοινωνίας  πελάτη  – εξυπηρετητή  

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

49

S:  220  hamburger.eduC:  HELO  crepes.frS:  250    Hello  crepes.fr,  pleased  to  meet  you  C:  MAIL  FROM:  <[email protected]>  S:  250  [email protected]...   Sender  ok  C:  RCPT  TO:  <[email protected]>  S:  250  [email protected] ...  Recipient  ok  C:  DATA  S:  354  Enter  mail,  end  with  "."  on  a  line  by  itself  C:  Do  you  like  ketchup?  C:  How  about  pickles?  C:  .  S:  250  Message  accepted  for  delivery  C:  QUIT  S:  221  hamburger.edu closing  connection

Page 50: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δοκιμάστε  το  SMTP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

50

¨ πληκτρολογήστε  στη  γραμμή  εντολών:telnet cn.ntua.gr 25¨ δείτε  την  απόκριση  220  από  τον  server¨ δοκιμάστε  τις  εντολές  HELO, MAIL FROM, RCPT TO,

DATA, QUIT

¨ Με  αυτόν  τον  τρόπο  μπορείτε  να  στείλετε  email χωρίς  τη  χρήση  email client

Page 51: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Σύγκριση  SMTP -­‐ ΗΤΤP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

51

¨ Σύγκριση  του  SMTP με  HTTP:¤ Το  SMTP χρησιμοποιεί  persistent συνδέσεις¤ Το  HTTP μπορεί  να  χρησιμοποιεί  είτε  persistent είτε  non-persistent συνδέσεις

¤ HTTP: pull πρωτόκολλο,  διότι  ο  χρήστης-­‐πελάτης  κατεβάζει  την  πληροφορία  από  τον  server όταν  και  όποτε  το  επιθυμεί

¤ SMTP: push πρωτόκολλο,  διότι  ο  server αποστολέας  ανεβάζει  το  μήνυμα  στο  server παραλήπτη

¤ Και  τα  δύο  έχουν  αλληλεπίδραση  τύπου  εντολής/απόκρισης,  με  κωδικούς  κατάστασης

¤ Και  τα  δύο  χρησιμοποιούν  το  TCP ως  πρωτόκολλο  μεταφοράς

¤ ΗΤΤP: Κάθε  αντικείμενο  ενσωματώνεται  στο  δικό  του  μήνυμα  απόκρισης¤ SMTP: Πολλαπλά  αντικείμενα  μπορούν  να  σταλούν  στο  ίδιο  μήνυμα

Page 52: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Δομή  μηνυμάτων  ηλεκτρονικού  ταχυδρομείου

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

52

¨ SMTP: πρωτόκολλο  για  την  ανταλλαγή  email μηνυμάτων

¨ RFC 822: πρότυπο  για  τη  δομή  μηνυμάτων  κειμένου

¨ περιεχόμενο  επικεφαλίδας:¤ To:¤ From:¤ Subject:

n Προσοχή:  Τα  πεδία  της  επικεφαλίδας  διαφέρουν  από  τις  SMTP εντολέςMAIL FROM, RCPT TO

¨ body:¤ το  «μήνυμα»  μας

n ASCII χαρακτήρες  μόνο

header

body

κενή  γραμμή

Page 53: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Πρωτόκολλα  πρόσβασης  στο  ηλεκτρονικό  ταχυδρομείο

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

53

¨ SMTP: παράδοση/αποθήκευση  στο  server του  παραλήπτη¨ Πρωτόκολλο  πρόσβασης  για  την  ανάκτηση  από  το  server

¤ POP: Post Office Protocol (RFC 1939): authorization, download¤ IMAP: Internet Mail Access Protocol (RFC 1730): περισσότερα  χαρακτηριστικά,   συμπεριλαμβανομένου   του  χειρισμού  των  αποθηκευμένων   μηνυμάτων  στο  server

¤ HTTP: gmail, Yahoo Mail, κ.λπ.

mail  server αποστολέα

SMTP SMTPmail  accessprotocol

mail  server παραλήπτη

(e.g.,  POP,  IMAP)

useragent

useragent

Page 54: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Πρωτόκολλο  POP3

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

54

C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents>S: . C: dele 1 C: retr 2 S: <message 1 contents>S: . C: dele 2 C: quit S: +OK POP3 server signing off

S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

• φάση  authorization• εντολές  client

• user: declare username• pass: password

• αποκρίσεις  server• +OK• -ERR

• φάση  transaction, client• list: list message numbers• retr: retrieve message by number• dele: delete• quit

Page 55: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

POP3 vs IMAP

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

55

POP3¨ υποστήριξη  

“download&delete” mode

¨ υποστήριξη  “download&keepmode”

¨ οι  πληροφορίες  κατάστασης  δεν  διατηρούνται  μεταξύ  των  sessions (συνόδων)

IMAP¨ διατηρεί  όλα  τα  μηνύματα  

σε  ένα  μέρος:  στο  server¨ επιτρέπει  στο  χρήστη  να  

οργανώνει  τα  μηνύματα  σε  φακέλους

¨ οι  πληροφορίες  κατάστασης  διατηρούνται  μεταξύ  των  sessions (συνόδων)¤ ονόματα  των  φακέλων  και  αντιστοίχιση  message ID’s με  ονόματα  φακέλων

Page 56: Δίκτυα’Επικοινωνιών–Δίκτυα’ Υπολογιστών’και’Στρώμα’ …people.cn.ntua.gr/jenny/images/MyData/dialekseis2016/dialeksi7.pdf ·

Ευχαριστώ  για  την  προσοχή  σας!

Τεχνολογία  Πληροφορίας  και  Επικοινωνιών  -­‐ Ε.  Αδαμοπούλου,  Κ.  Δεμέστιχας

56