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

Σχετικά έγγραφα
Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ηλεκτρονικό Ταχυδρομείο - SMTP

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

6.2 Υπηρεσίες Διαδικτύου

Network Address Translation (NAT)

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Ηλεκτρονικού Ταχυδρομείου - SMTP

Κεφάλαιο 2 Επίπεδο Εφαρμογής

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Προγραμματισμός Ιστοσελίδων (Web Design)

Υπολογιστές και ίκτυα Η/Υ.

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Ιόνιο Πανεπιστήµιο. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα Θ. Υπηρεσίες Internet. ρ. Ε. Μάγκος

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Εργαλεία ανάπτυξης εφαρμογών internet Ι

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα εφαρμογής. Δίκτυα Υπολογιστών

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού

Βασίλειος Κοντογιάννης ΠΕ19

Τεχνολογίες ιαδικτύου

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

Πρωτόκολλα Διαδικτύου

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Πρωτόκολλα Διαδικτύου

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Δίκτυα Θεωρία

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

Βασικές Έννοιες Web Εφαρμογών

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

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

Δίκτυα Θεωρία

Εισαγωγή στους Υπολογιστές

Περιεχόμενα. Πρόλογος... xiii

Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151)

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος

7.2.2 Σχέση OSI και TCP/IP

Θέματα Προγραμματισμού Διαδικτύου Εισαγωγή - Πρωτόκολλα

Το διαδίκτυο είναι ένα δίκτυο που αποτελείτε από πολλά μικρότερα δίκτυα υπολογιστών.

Εργαστηριακή Άσκηση 5

Επίπεδο δικτύου IP Forwading κτλ

Client server Peer-to-peer (Οµότιµα ίκτυα)

DNS. Όλες οι άλλες υπηρεσίες του Διαδικτύου, (WWW και ) χρησιμοποιούν το DNS

Συνεχής ροή πολυµέσων

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Πρωτόκολλα Διαδικτύου. Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ : ΜΗΧΑΝΙΣΜΟΙ ΣΥΛΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΔΙΑΔΥΚΤΙΟ (COOKIES)

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Διαδικτυακές Υπηρεσίες

Πρωτόκολλα Διαδικτύου

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Μάθημα 6: Αρχιτεκτονική TCP/IP

Δίκτυα Υπολογιστών. Ενότητα 3: Εφαρμογές, υπηρεσίες και παγκόσμιος ιστός. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Σηµειώσεις για τα πρωτόκολλα στρώµατος εφαρµογής: HTTP, FTP, , DNS

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Κάντε κλικ για έναρξη

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Postfix SMTP Server, Courier IMAP, POP3 σε Ubuntu Linux

Κεφάλαιο Πρωτόκολλα εφαρμογής Γενικές Αρχές Βασικές και προηγμένες υπηρεσίες Διαδικτύου Σελ

Internet Τοπικό δίκτυο LAN Δίκτυο Ευρείας Περιοχής WAN Διαδίκτυο Πρόγραμμα Πλοήγησης φυλλομετρητής Πάροχοι Υπηρεσιών Internet URL HTML links

ιαδικτυακές Εφαρµογές

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Εργαστήριο Δικτύων Υπολογιστών

Δίκτυα Υπολογιστών I

Γκέγκα Ευρώπη Κωστοπούλου Ειρήνη

Transcript:

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

Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses e-mail επικοινωνίας: eadam@cn.ntua.gr cdemest@cn.ntua.gr

Βιβλιογραφία 3 J. Kurose and K. Ross, Computer Networking A top down approach, Pearson, 6 th edition, 2013

Στρώμα Εφαρμογής Εισαγωγή 4 Υλοποίηση δικτυακών εφαρμογών (network applications ή apps) υπηρεσίες στρώματος μεταφοράς στις οποίες βασίζεται η υλοποίηση μιας δικτυακής εφαρμογής μοντέλο πελάτη- εξυπηρετητή (client-server) μοντέλο ομότιμων σταθμών (peer-to-peer P2P) Πρωτόκολλα στρώματος εφαρμογής HTTP FTP SMTP/POP3/IMAP (e-mail) DNS

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

Δημιουργία δικτυακής εφαρμογής 6 Για τη δημιουργία μιας δικτυακής εφαρμογής, πρέπει να γραφτούν προγράμματα (λογισμικό) που να: τρέχουν σε διαφορετικούς τερματικούς σταθμούς επικοινωνούν μέσω δικτύου n π.χ., το λογισμικό ενός εξυπηρετητή Ιστού (Web server) επικοινωνεί με αυτό ενός Web browser Δεν χρειάζεται να γραφτεί λογισμικό για τους ενδιάμεσους κόμβους του δικτύου οι συσκευές αυτές δεν εκτελούν εφαρμογές των χρηστών application transport network data link physical application transport network data link physical application transport network data link physical

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

Αρχιτεκτονική πελάτη- εξυπηρετητή 8 Εξυπηρετητής (server) πρόκειται για σταθμό (host) που είναι μονίμως ενεργός διαθέτει μόνιμη διεύθυνση χρησιμοποιούνται data centers αναλόγως με την απαιτούμενη κλιμάκωση Πελάτες (clients) επικοινωνούν με τον εξυπηρετητή δεν χρειάζεται να είναι μονίμως ενεργοί μπορεί να έχουν δυναμικές διευθύνσεις δεν επικοινωνούν απευθείας μεταξύ τους client/server

Αρχιτεκτονική ομότιμων σταθμών (P2P) 9 Δεν υφίσταται μονίμως ενεργός εξυπηρετητής Οι τερματικοί σταθμοί επικοινωνούν απευθείας μεταξύ τους και ονομάζονται ομότιμοι σταθμοί ή ομότιμοι κόμβοι (peers) Οι ομότιμοι σταθμοί: αιτούνται υπηρεσίες από άλλους ομότιμους σταθμούς, ενώ επίσης παρέχουν υπηρεσίες σε άλλους ομότιμους σταθμούς n Κλιμακωσιμότητα: η είσοδος νέων ομότιμων σταθμών αυξάνει όχι μόνο τις αιτήσεις για υπηρεσίες αλλά και τις δυνατότητες για εξυπηρέτηση (χωρητικότητα) δεν είναι μονίμως συνδεδεμένοι και αλλάζουν διευθύνσεις n πολύπλοκη διαχείριση peer-peer

Επικοινωνία διεργασιών 10 Διεργασία (process): πρόγραμμα υπό εκτέλεση σε έναν σταθμό υπολογιστικό σύστημα εντός του ίδιου σταθμού, η επικοινωνία μεταξύ διεργασιών καθορίζεται από το λειτουργικό σύστημα σε διαφορετικούς σταθμούς, η επικοινωνία μεταξύ διεργασιών γίνεται με ανταλλαγή μηνυμάτων Διεργασίες πελάτη και εξυπηρετητή διεργασία πελάτη: διεργασία που εκκινεί την επικοινωνία διεργασία εξυπηρετητή: διεργασία που περιμένει να επικοινωνήσουν μαζί της οι πελάτες σε μια P2P αρχιτεκτονική, κάθε ομότιμος σταθμός μπορεί να τρέχει τόσο διεργασίες πελάτη όσο και διεργασίες εξυπηρετητή την ίδια στιγμή

Sockets 11 Μια διεργασία στέλνει/λαμβάνει μηνύματα προς/από το socket της Το socket είναι λοιπόν το «άκρο» στην επικοινωνία μέσω δικτύου μιας διεργασίας με μια άλλη (που βρίσκεται σε διαφορετικό σταθμό) application process socket application process controlled by app developer transport network link physical Internet transport network link physical controlled by OS

Διευθυνσιοδότηση των sockets 12 Για να λάβει μηνύματα, μια διεργασία πρέπει να έχει ένα μοναδικό αναγνωριστικό Τι μπορεί να χρησιμοποιηθεί ως μοναδικό αναγνωριστικό Κάθε σταθμός στο Internet διαθέτει μία τουλάχιστον μοναδική διεύθυνση IP μήκους 32 bits Ερ. Επαρκεί αυτή η διεύθυνση για τη μοναδική ταυτοποίηση της διεργασίας? Απ. Όχι, αφού πολλές διεργασίες μπορεί να τρέχουν στον ίδιο σταθμό Για το λόγο αυτό, κάθε διεργασία ταυτοποιείται με το συνδυασμό της διεύθυνσης IP του σταθμού και ενός αριθμού θύρας (port number) Παραδείγματα αριθμών θυρών: n Εξυπηρετητής HTTP: 80 n Εξυπηρετητής e-mail: 25 Για την αποστολή ενός HTTP μηνύματος στον εξυπηρετητή Ιστού www.ntua.gr χρησιμοποιούνται n IP διεύθυνση: 147.102.222.213 n Αριθμός θύρας: 80

Πρωτόκολλα στρώματος εφαρμογής 13 Ένα πρωτόκολλο στρώματος εφαρμογής καθορίζει: τους τύπους των μηνυμάτων που ανταλλάσσονται n π.χ. μήνυμα αίτησης (request), απόκρισης (response) κλπ. το συντακτικό των μηνυμάτων n τι πεδία πρέπει να περιλαμβάνει ένα μήνυμα και πώς διαχωρίζονται τα πεδία τη σημασιολογία των μηνυμάτων n σημασία καθενός από τα πεδία ενός μηνύματος τους κανόνες για το πότε και πώς οι διεργασίες στέλνουν ή απαντάνε σε μηνύματα Ανοιχτά πρωτόκολλα έναντι κλειστών πρωτοκόλλων Ανοιχτά (open): n ορίζονται σε πρότυπα (RFCs) n επιτρέπουν τη διαλλειτουργικότητα n π.χ. HTTP, SMTP Κλειστά ιδιόκτητα (proprietary): n π.χ. Skype

14 Υπηρεσίες που προσφέρει το υποκείμενο στρώμα μεταφοράς σε μια εφαρμογή Αξιοπιστία μεταφοράς δεδομένων μερικές εφαρμογές (π.χ. μεταφορά αρχείων, Web browsing) απαιτούν 100% αξιόπιστη μεταφορά δεδομένων άλλες εφαρμογές (π.χ. video streaming) μπορούν να ανεχθούν ορισμένες απώλειες και αλλοιώσεις Διεκπεραιωτικότητα (throughput) μερικές εφαρμογές (π.χ. πολυμέσων) έχουν κάποιες ελάχιστες απαιτήσεις throughput προκειμένου να παραμένουν χρηστικές άλλες εφαρμογές (οι λεγόμενες ελαστικές εφαρμογές) κάνουν απλώς χρήση οποιουδήποτε επιπέδου throughput είναι εφικτό εκείνη τη στιγμή Συγχρονισμός (timing) Μερικές εφαρμογές (π.χ. τηλεφωνία μέσω Διαδικτύου, παιχνίδια μέσω Διαδικτύου) έχουν κάποιες ελάχιστες απαιτήσεις καθυστέρησης (delay) προκειμένου να παραμένουν χρηστικές Ασφάλεια κρυπτογράφηση ακεραιότητα δεδομένων

15 Απαιτήσεις δημοφιλών εφαρμογών από το υποκείμενο στρώμα μεταφοράς εφαρμογή file transfer e-mail Web documents real-time live audio/video stored audio/video interactive games text messaging απώλεια δεδομένων καμία ανοχή καμία ανοχή καμία ανοχή ανεκτική ανεκτική ανεκτική καμία ανοχή throughput ελαστική ελαστική ελαστική audio: 5kbps-1Mbps video:10kbps-5mbps ομοίως με από πάνω λίγα kbps παραπάνω ελαστική ευαισθησία στο χρόνο όχι όχι όχι ναι, 100 s msec ναι, μερικά secs ναι, 100 s msec ναι και όχι

Πρωτόκολλα στρώματος μεταφοράς και υπηρεσίες που προσφέρουν 16 TCP Transmission Control Protocol αξιόπιστη μεταφορά δεδομένων μεταξύ αποστολέα και παραλήπτη έλεγχος ροής δεδομένων έλεγχος συμφόρησης δεν προσφέρει: συγχρονισμό, ελάχιστο εγγυημένο throughput, ασφάλεια connection-oriented: ακολουθείται μια διαδικασία εγκατάστασης σύνδεσης μεταξύ των διεργασιών του πελάτη και του εξυπηρετητή UDP User Datagram Protocol μη αξιόπιστη μεταφορά δεδομένων μεταξύ αποστολέα και παραλήπτη δεν προσφέρει: αξιοπιστία, έλεγχο ροής, έλεγχο συμφόρησης, ελάχιστο εγγυημένο throughput, ασφάλεια, εγκατάσταση σύνδεσης Ερ. Πού χρησιμεύει τότε το UDP? Απ. Καλύτερη επίδοση στο συγχρονισμό (απαιτήσεις καθυστέρησης)

17 Δικτυακές εφαρμογές: Αντίστοιχα πρωτόκολλα εφαρμογής και μεταφοράς εφαρμογή e-mail remote 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) υποκείμενο πρωτόκολλο μεταφοράς TCP TCP TCP TCP TCP ή UDP TCP ή UDP

Αυξάνοντας την ασφάλεια του 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 συνδέσεων

Ο Παγκόσμιος Ιστός και το HTTP 19 Μία σελίδα στον Παγκόσμιο Ιστό (Web page) είναι ένα αρχείο HTML το οποίο περιλαμβάνει αναφορές προς διάφορα αντικείμενα (όπως εικόνες, αρχεία ήχου, Java applets κ.λπ.) Κάθε αντικείμενο έχει μία διεύθυνση (URL: Uniform Resource Locator) η οποία χρησιμοποιείται για να γίνει αναφορά σε αυτό, π.χ. www.ntua.gr/somedept/pic.gif host name path name

Επισκόπηση του πρωτοκόλλου HTTP 20 HTTP (Hypertext Transfer Protocol) Πρωτόκολλο του στρώματος εφαρμογής για τον Παγκόσμιο Ιστό Μοντέλο πελάτη/εξυπηρετητή n πελάτης: συνήθως, κάποιος browser (φυλλομετρητής) που αιτείται, λαμβάνει (μέσω του πρωτοκόλλου HTTP) και απεικονίζει αντικείμενα Web n εξυπηρετητής: ο εξυπηρετητής (Web server) αποστέλλει αντικείμενα σε απάντηση των αιτήσεων PC που τρέχει Firefox browser κινητό τηλ. που τρέχει Safari browser server που τρέχει Apache Web server

Επισκόπηση του πρωτοκόλλου HTTP 21 Το HTTP χρησιμοποιεί για πρωτόκολλο μεταφοράς το TCP ο πελάτης (κάποιος browser) εκκινεί την εγκατάσταση σύνδεσης (δημιουργεί ένα socket) με τον εξυπηρετητή (στη θύρα 80 του τελευταίου) ο εξυπηρετητής αποδέχεται τη σύνδεση με τον πελάτη μέσα από αυτήν τη σύνδεση, ανταλλάσσονται στο στρώμα εφαρμογής μηνύματα τύπου HTTP μεταξύ του πελάτη και του εξυπηρετητή στο τέλος, η TCP σύνδεση κλείνει Το HTTP είναι stateless πρωτόκολλο ο εξυπηρετητής δε διατηρεί πληροφορίες σχετικά με παρελθόντα αιτήματα του πελάτη n αντίθετα, το FTP είναι stateful πρωτόκολλο

Τύποι HTTP συνδέσεων 22 non-persistent HTTP (μη- εμμένον) αποστέλλεται το πολύ ένα αντικείμενο πάνω από την TCP σύνδεση n κατόπιν, η σύνδεση απολύεται συνεπώς, η μεταφορά πολλών αντικειμένων απαιτεί πολλαπλές συνδέσεις TCP persistent HTTP (εμμένον) πολλά αντικείμενα μπορούν να σταλούν πάνω από μία μοναδική TCP σύνδεση μεταξύ πελάτη και εξυπηρετητή

Non-persistent HTTP 23 Έστω ότι ο χρήστης πληκτρολογεί το 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

Non-persistent HTTP 24 time 5. Ο HTTP client λαμβάνει το response μήνυμα που περιέχει το HTML αρχείο, το οποίο και πρέπει να απεικονίσει. Καθώς επεξεργάζεται το προς απεικόνιση αρχείο HTML, βρίσκει αναφορές προς 10 αντικείμενα τύπου εικόνας. 6. Τα βήματα 1-5 επαναλαμβάνονται για καθένα από τα 10 αντικείμενα- εικόνες 4. Ο HTTP server κλείνει την TCP σύνδεση.

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 + χρόνος μετάδοσης του αρχείου initiate TCP connection RTT request file RTT file received time time time to transmit file

Persistent HTTP vs. non-persistent HTTP 26 non-persistent HTTP χρειάζονται 2RTT (+ το χρόνο μετάδοσης) για τη μεταφορά κάθε αντικειμένου επιβάρυνση του Λειτουργικού Συστήματος με το άνοιγμα νέας TCP σύνδεσης για κάθε αντικείμενο στην πράξη, οι περισσότεροι browsers ανοίγουν παράλληλες συνδέσεις TCP για να κατεβάσουν τα διάφορα αντικείμενα μιας σελίδας n έτσι μειώνεται το συνολικό response time για όλη τη σελίδα persistent HTTP ο εξυπηρετητής αφήνει ανοιχτή τη σύνδεση HTTP μόλις αποστείλει μια απάντηση τα επόμενα HTTP μηνύματα μεταξύ πελάτη/ εξυπηρετητή στέλνονται μέσα από την ανοιχτή αυτή σύνδεση ο πελάτης στέλνει request μόλις συναντήσει αναφορά προς ένα αντικείμενο χρειάζεται 1 RTT (+ το χρόνο μετάδοσης) για κάθε αντικείμενο, καθώς δεν ανοιγοκλείνουν TCP συνδέσεις

HTTP request μήνυμα 27 Όπως είδαμε, το HTTP χρησιμοποιεί δύο τύπους μηνυμάτων: HTTP request (αίτηση) και HTTP response (απάντηση) HTTP request ASCII μορφή (αναγνώσιμη από τον άνθρωπο) request line (GET, POST, HEAD εντολές) header lines carriage return και line feed στην αρχή μιας γραμμής υποδηλώνει το πέρας των header lines carriage-return χαρακτήρας line-feed χαρακτήρας GET /index.html HTTP/1.1\r\n Host: www-net.cs.umass.edu\r\n User-Agent: Firefox/3.6.10\r\n Accept: text/html,application/xhtml+xml\r\n Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n Keep-Alive: 115\r\n Connection: keep-alive\r\n \r\n

HTTP request μήνυμα 28 method sp URL sp version cr lf header field name value ~ ~ cr lf request line header lines header field name value cr lf cr lf entity body ~ ~ body Σύμβολα: sp = space, cr = carriage return, lf = line feed χαρακτήρες

Αποστολή δεδομένων φόρμας 29 Τα δεδομένα που ένας χρήστης συμπληρώνει σε μια Web φόρμα συμπεριλαμβάνονται σε ένα HTTP request μήνυμα το οποίο στέλνεται στον εξυπηρετητή Η αποστολή μπορεί να γίνει με έναν από τους εξής δύο τρόπους Μέθοδος POST n Τα δεδομένα που έχει συμπληρώσει ο χρήστης ενσωματώνονται στο σώμα (body) του request μηνύματος Μέθοδος GET n Τα δεδομένα αυτά ενσωματώνονται στο πεδίο URL του request line www.somesite.com/animalsearch.asp?animal=monkeys&food=banana

Μέθοδοι HTTP 30 HTTP/1.0 GET POST HEAD n ζητείται από τον εξυπηρετητή να μη συμπεριλάβει το αναφερόμενο αντικείμενο εντός του response HTTP/1.1 GET, POST, HEAD PUT n ανεβάζει στη διεύθυνση που υποδεικνύει το πεδίο URL της γραμμής request το αρχείο του οποίου τα περιεχόμενα βρίσκονται στο σώμα (body) του μηνύματος DELETE n ζητείται η διαγραφή του αρχείου που υποδεικνύει το πεδίο URL της γραμμής request

HTTP response μήνυμα 31 status line (protocol status code και status phrase) header lines data, π.χ. HTML αρχείο HTTP/1.1 200 OK\r\n Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n Server: Apache/2.0.52 (CentOS)\r\n Last-Modified: Tue, 30 Oct 2007 17:00:02 GMT\r\n ETag: "17dc6-a5c-bf716880"\r\n Accept-Ranges: bytes\r\n Content-Length: 2652\r\n Keep-Alive: timeout=10, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=iso-8859-1\r\n \r\n data data data data data...

HTTP response μήνυμα Κωδικοί Κατάστασης 32 Ο κωδικός κατάστασης (status code) σε ένα μήνυμα HTTP response τοποθετείται στην πρώτη γραμμή του μηνύματος Παραδείγματα κωδικών 200 OK n επιτυχής αίτηση, το ζητούμενο αντικείμενο περιλαμβάνεται μέσα στο μήνυμα 301 Moved Permanently n το ζητούμενο αντικείμενο έχει μεταφερθεί, η νέα του διεύθυνση περιλαμβάνεται μέσα στο μήνυμα 400 Bad Request n το μήνυμα αίτησης δεν έγινε κατανοητό από τον εξυπηρετητή 404 Not Found n το ζητούμενο αντικείμενο δε βρέθηκε στον εξυπηρετητή 505 HTTP Version Not Supported

Διατήρηση κατάστασης Cookies 33 Όπως είδαμε, το HTTP είναι stateless πρωτόκολλο Για να διατηρούν πληροφορίες κατάστασης, πολλοί ιστότοποι (Web sites) χρησιμοποιούν τα λεγόμενα 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 μια εγγραφή στη ΒΔ του με αυτό το αναγνωριστικό

34 Διατήρηση κατάστασης Cookies client server ebay 8734 cookie file ebay 8734 amazon 1678 usual http request msg usual http response set-cookie: 1678 Amazon server creates ID 1678 for user create entry backend database usual http request msg cookie: 1678 usual http response msg cookiespecific action access Μια εβδομάδα αργότερα: ebay 8734 amazon 1678 usual http request msg cookie: 1678 usual http response msg cookiespecific action access

Διατήρηση κατάστασης Cookies 35 Χρησιμότητα των cookies εξουσιοδότηση χρήστη ηλεκτρονικά καλάθια αγορών παροχή συστάσεων (recommendations) προς το χρήστη κατάσταση συνόδου του χρήστη (Web e-mail) Ιδιωτικότητα τα cookies επιτρέπουν στα sites να μάθουν πολλά για το χρήστη και τις συνήθειές του

Web cache Proxy εξυπηρετητής 36 Ο μηχανισμός Web cache (λανθάνουσα μνήμη Παγκόσμιου Ιστού) υλοποιείται με τη χρήση διακομιστή μεσολάβησης (proxy server) Ο χρήστης ρυθμίζει τον browser του να χρησιμοποιεί Web cache (δηλ. να χρησιμοποιεί proxy server) Ο browser στέλνει όλα τα HTTP request μηνύματα στη συγκεκριμένη Web cache αν το ζητούμενο αντικείμενο βρίσκεται στην cache, τότε η cache επιστρέφει το αντικείμενο διαφορετικά, η cache ζητά το αντικείμενο από τον εξυπηρετητή που κανονικά το φιλοξενεί (origin server) και, κατόπιν, επιστρέφει το αντικείμενο αυτό στον πελάτη, αφού το αποθηκεύσει και τοπικά client client proxy server origin server origin server

Web cache Proxy εξυπηρετητής 37 Έτσι, η Web cache ενεργεί τόσο ως πελάτης όσο και ως εξυπηρετητής ως πελάτης για τον origin server ως εξυπηρετητής για τον browser του χρήστη Εγκατάσταση και χρήση Web cache ενδέχεται να γίνεται σε διάφορα ιδρύματα, όπως Πανεπιστήμια, μεγάλες εταιρείες κ.λπ. Χρησιμότητα της Web cache μείωση του χρόνου απάντησης (response time) στα αιτήματα των πελατών μείωση της κίνησης στη ζεύξη πρόσβασης στο Internet του ιδρύματος

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 + «αμελητέα» δίκτυο ιδρύματος Public Internet 1.54 Mbps ζεύξη πρόσβασης 100 Μbps LAN origin servers

Web cache Παράδειγμα 39 Λύση 1: αναβάθμιση της ζεύξης πρόσβασης από 1.54 Mbps σε 15.4 Mbps (10πλασια χωρητικότητα) Συνήθως πρόκειται για δαπανηρή αναβάθμιση Συνέπειες Χρησιμοποίηση στο LAN = 1.5% n ίδια με προηγουμένως Χρησιμοποίηση στη ζεύξη πρόσβασης = 9.9% n μικρή χρησιμοποίηση, άρα αμελητέα καθυστέρηση Συνολική καθυστέρηση = καθυστέρηση Internet + καθυστέρηση πρόσβασης + καθυστέρηση LAN = 2 sec + «αμελητέα» + «αμελητέα» = 2 sec περίπου δίκτυο ιδρύματος Public Internet 15.4 Mbps ζεύξη πρόσβασης 100 Μbps LAN origin servers

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 sec n Η λύση αυτή έχει καλύτερη επίδοση από την προηγούμενη! δίκτυο ιδρύματος Public Internet 1.54 Mbps ζεύξη πρόσβασης 100 Μbps LAN origin servers Cache ιδρύματος

FTP File Transfer Protocol 41 χρήστης FTP user interface FTP client μεταφορά αρχείου FTP server τοπικό σύστημα αρχείων Μεταφορά αρχείων από/προς έναν απομακρυσμένο υπολογιστή Μοντέλο client/server (πελάτη/εξυπηρετητή) client: η πλευρά που εκκινεί τη μεταφορά (είτε προς είτε από αυτήν) server: ο απομακρυσμένος host Ο ftp server «ακούει» (περιμένει) στη θύρα (port) 21

FTP Συνδέσεις ελέγχου 42 & δεδομένων Ο ftp client επικοινωνεί με τον ftp server στη θύρα 21, μέσω του πρωτοκόλλου TCP Γίνεται πιστοποίηση/εξουσιοδότηση του client κατά τη διάρκεια της σύνδεσης ελέγχου Ο client βλέπει τη λίστα αρχείων του server και στέλνει εντολές μέσω της σύνδεσης ελέγχου Μόλις ο server δεχτεί εντολή για μεταφορά αρχείου, τότε ανοίγει 2 η σύνδεση TCP με τον client, τη σύνδεση δεδομένων, με σκοπό τη μεταφορά του αρχείου Μόλις ολοκληρωθεί η μεταφορά ενός αρχείου, ο server απολύει τη σύνδεση δεδομένων FTP client TCP σύνδεση ελέγχου, server port 21 TCP σύνδεση δεδομένων, server port 20 FTP server Αν είναι επιθυμητή η μεταφορά ενός 2 ου αρχείου ο server ανοίγει νέα TCP σύνδεση δεδομένων O ftp server διατηρεί την «κατάσταση» δηλαδή την εξουσιοδότηση του χρήστη που πραγματοποιήθηκε στην αρχή

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

Ηλεκτρονικό Ταχυδρομείο (E-mail) 44 Τρία βασικά «συστατικά»: Οι user agents mail server user agent outgoing message queue user mailbox user agent Οι mail servers Το πρωτόκολλο SMTP (Simple Mail Transfer Protocol) SMTP mail server SMTP SMTP user agent mail server user agent user agent user agent

Ηλεκτρονικό Ταχυδρομείο 45 User Agents Χρησιμοποιούνται για τη σύνθεση, επεξεργασία, ανάγνωση μηνυμάτων (emails)... π.χ. Outlook, Thunderbird, Mac OS Mail app Τα εισερχόμενα/εξερχόμενα μηνύματα για ένα χρήστη αποθηκεύονται στο mail server που εξυπηρετεί το χρήστη mail server SMTP mail server user agent SMTP SMTP user agent outgoing message queue mail server user mailbox user agent user agent user agent user agent

Ηλεκτρονικό Ταχυδρομείο 46 Mail Servers mailbox: περιλαμβάνει τα εισερχόμενα μηνύματα για έναν χρήστη ουρά μηνυμάτων: λίστα εξερχόμενων μηνυμάτων προς αποστολή Το SMTP πρωτόκολλο χρησιμοποιείται μεταξύ mail servers για την αποστολή μηνυμάτων ως client ενεργεί ο mail server αποστολής ως server ενεργεί ο mail server λήψης mail server SMTP mail server user agent SMTP SMTP user agent outgoing message queue mail server user mailbox user agent user agent user agent user agent

Ηλεκτρονικό Ταχυδρομείο - SMTP 47 To SMTP χρησιμοποιεί το πρωτόκολλο TCP για να μεταφέρει αξιόπιστα ηλεκτρονικά μηνύματα από τον client στο server, χρησιμοποιώντας τη θύρα 25 Απευθείας μετάδοση: ο server αποστολέας στέλνει στον παραλήπτη server Τρεις φάσεις μεταφοράς: χειραψία μεταφορά μηνυμάτων απόλυση Μηχανισμός εντολών/αποκρίσεων (όπως και στα HTTP, FTP) εντολές: κείμενο ASCII απόκριση: κωδικός κατάστασης + λεκτική απάντηση

Σενάριο: Η Άννα στέλνει e-mail στο Βασίλη 48 1. Η Άννα μέσω του user agent της γράφει ένα μήνυμα για το Βασίλη με διεύθυνση αποστολέα vassilis@ntua.gr 2. O user agent της Άννας στέλνει το μήνυμα στον mail server της Το μήνυμα αυτό τοποθετείται στην ουρά μηνυμάτων 3. Η client πλευρά του SMTP ανοίγει TCP σύνδεση με τον mail server του Βασίλη 4. Ο SMTP client αποστέλλει το μήνυμα μέσω TCP σύνδεσης 5. Ο mail server του Βασίλη τοποθετεί το μήνυμα στο mailbox του Βασίλη 6. Ο Βασίλης χρησιμοποιεί τον user agent του για να ανακτήσει και να διαβάσει το μήνυμα 1user agent mail server 2 3 4 Ο mail server της Άννας mail server 5 Ο mail server του Βασίλη 6 user agent

Παράδειγμα SMTP επικοινωνίας πελάτη εξυπηρετητή 49 S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... 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

Δοκιμάστε το SMTP 50 πληκτρολογήστε στη γραμμή εντολών: telnet cn.ntua.gr25 δείτε την απόκριση 220 από τον server δοκιμάστε τις εντολές HELO, MAIL FROM, RCPT TO, DATA, QUIT Με αυτόν τον τρόπο μπορείτε να στείλετε email χωρίς τη χρήση email client

Σύγκριση SMTP - ΗΤΤP 51 Σύγκριση του SMTP με HTTP: Το SMTP χρησιμοποιεί persistent συνδέσεις Το HTTP μπορεί να χρησιμοποιεί είτε persistent είτε non-persistent συνδέσεις HTTP: pull πρωτόκολλο, διότι ο χρήστης- πελάτης κατεβάζει την πληροφορία από τον server όταν και όποτε το επιθυμεί SMTP: push πρωτόκολλο, διότι ο server αποστολέας ανεβάζει το μήνυμα στο server παραλήπτη Και τα δύο έχουν αλληλεπίδραση τύπου εντολής/απόκρισης, με κωδικούς κατάστασης Και τα δύο χρησιμοποιούν το TCP ως πρωτόκολλο μεταφοράς ΗΤΤP: Κάθε αντικείμενο ενσωματώνεται στο δικό του μήνυμα απόκρισης SMTP: Πολλαπλά αντικείμενα μπορούν να σταλούν στο ίδιο μήνυμα

Δομή μηνυμάτων ηλεκτρονικού ταχυδρομείου 52 SMTP: πρωτόκολλο για την ανταλλαγή email μηνυμάτων RFC 822: πρότυπο για τη δομή μηνυμάτων κειμένου περιεχόμενο επικεφαλίδας: To: From: Subject: n Προσοχή: Τα πεδία της επικεφαλίδας διαφέρουν από τις SMTP εντολές MAIL FROM, RCPT TO header body κενή γραμμή body: το «μήνυμα» μας n ASCII χαρακτήρες μόνο

Πρωτόκολλα πρόσβασης στο ηλεκτρονικό ταχυδρομείο 53 user agent SMTP SMTP mail access protocol (e.g., POP, IMAP) user agent mail server αποστολέα mail server παραλήπτη SMTP: παράδοση/αποθήκευση στο server του παραλήπτη Πρωτόκολλο πρόσβασης για την ανάκτηση από το server POP: Post Office Protocol (RFC 1939): authorization, download IMAP: Internet Mail Access Protocol (RFC 1730): περισσότερα χαρακτηριστικά, συμπεριλαμβανομένου του χειρισμού των αποθηκευμένων μηνυμάτων στο server HTTP: gmail, Yahoo Mail, κ.λπ.

Πρωτόκολλο POP3 54 φάση authorization εντολές client user: declare username pass: password αποκρίσεις server +OK -ERR φάση transaction, client list: list message numbers retr: retrieve message by number dele: delete quit S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on 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

POP3 vs IMAP 55 POP3 υποστήριξη download&delete mode υποστήριξη download&keep mode οι πληροφορίες κατάστασης δεν διατηρούνται μεταξύ των sessions (συνόδων) IMAP διατηρεί όλα τα μηνύματα σε ένα μέρος: στο server επιτρέπει στο χρήστη να οργανώνει τα μηνύματα σε φακέλους οι πληροφορίες κατάστασης διατηρούνται μεταξύ των sessions (συνόδων) ονόματα των φακέλων και αντιστοίχιση message ID s με ονόματα φακέλων

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