Πανεπιστήμιο Δυτικής Αττικής Τμ. Μηχ/κων Πληροφορικής και Υπολογιστών Τεχνολογίες Δικτύων και Υπολογιστών Επίπεδο 7 - «πρωτόκολλα επιπέδου εφαρμογής» Διδάσκων: Επ. Καθ. Παναγιώτης Α. Καρκαζής
Επίπεδο εφαρμογής Βασικές αρχές δικτυακών εφαρμογών WEB, HTTP SNMP, POP3, IMAP DNS Πολυμέσα Server Farms Content Delivery Networks
Αρχιτεκτονικές εφαρμογών I Client server Server Ένας host πάντα ενεργός μόνιμη IP address Κλιμάκωση με τη χρήση data centers Clients Επικοινωνούν με το server Δεν είναι πάντα συνδεδεμένοι Μπορεί να έχουν δυναμικές IP διευθύνσεις Δεν επικοινωνούν απευθείας με άλλους clients
Αρχιτεκτονικές εφαρμογών II Peer to peer Δεν υπάρχει always-on server Αυθαίρετα end systems επικοινωνούν απευθείας Οι peers απαιτούν υπηρεσίες από άλλους peers, παρέχουν αντίστοιχα υπηρεσία σε άλλους peers Δυνατότητα επεκτασιμότητας νέοι peers αυξάνουν τις δυνατότητες υπηρεσιών, αλλά και τις απαιτήσεις Οι peers συνδέονται σποραδικά και αλλάζουν IP διευθύνσεις Πολύπλοκη διαχείριση
Αρχιτεκτονικές εφαρμογών II Peer to peer architecture
Απαιτήσεις εφαρμογών
Domain Name System Κατανεμημένη βάση δεδομένων που υλοποιείται σε ιεραρχία πολλών εξυπηρετών ονομάτων (name servers) Πρωτόκολλο επιπέδου εφαρμογής για να επικοινωνούν υπολογιστές, δρομολογητές, εξυπηρετητές ονομάτων για επίλυση (resolution) ονομάτων (μετάφραση διεύθυνσης/ονόματος)
Generic top-level domains
DNS record
Επαναληπτικό ερώτημα Ο εξυπηρετητής που ρωτήθηκε απαντά με το όνομα του εξυπηρετητή που πρέπει να ερωτηθεί 2 root DNS server 3 4 5 TLD DNS server local DNS server dns.poly.edu 1 8 7 6 requesting host cis.poly.edu authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu
Αναδρομικό ερώτημα Εναποθέτει το βάρος της μετάφρασης ονόματος στον εξυπηρετητή που ρωτήθηκε local DNS server dns.poly.edu 1 2 8 7 root DNS server 6 5 3 4 TLD DNS server requesting host cis.poly.edu authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu
Ασφάλεια και DNS Κακόβουλες επιθέσεις DDoS on root servers on TLD servers Redirection Man in the middle DNS poisoning
Web και HTTP Μία ιστοσελίδα αποτελείται από αντικείμενα (objects) Το αντικείμενο μπορεί να είναι αρχείο HTML, εικόνα JPEG, Java applet, αρχείο ήχου,... Η σελίδα Web αποτελείται από ένα βασικό αρχείο HTML που περιλαμβάνει διάφορα αντικείμενα στα οποία γίνεται αναφορά Κάθε αντικείμενο διευθυνσιοδοτείται με ένα URL www.someschool.edu/somedept/pic.gif όνομα υπολογιστή όνομα διαδρομής
Web architecture
Κλήση url Ενέργειες κατά την φόρτωση μιας σελίδας: 1. Ο browser καθορίζει το URL 2. Browser ζητά από τον DNS την IP του server 3. Λαμβάνει την απάντηση από τον DNS 4. Ο browser δημιουργεί μια σύνδεση TCP 5. Στέλνει ένα HTTP request για την σελίδα 6. Ο server αποστέλλει την σελίδα μέσω ενός HTTP response 7. Ο browser επαναλαμβάνει την διαδικασία και για αλλά URLs 8. Ο browser παρουσιάζει την σελίδα στην οθόνη 9. Τερματίζονται οι συνδέσεις TCP
Web server
Συνδέσεις HTTP Non- persistent Στέλνεται τo πολύ ένα αντικείμενο πάνω από μία σύνδεση TCP η σύνδεση μετά κλείνει η λήψη πολλαπλών αντικειμένων απαιτεί πολλαπλές συνδέσεις Persistent Πολλαπλά αντικείμενα μπορεί να σταλούν πάνω από την ίδια σύνδεση TCP μεταξύ πελάτη και εξυπηρετητή
Συνδέσεις HTTP Μultiple connections and sequential requests A persistent connection and sequential requests A persistent connection and pipelined requests
Μήνυμα αίτησης δύο είδη HTTP μηνυμάτων : αίτηση (request) απόκριση (response) μήνυμα HTTP αίτησης : ASCII (μορφή αναγνώσιμη από τον άνθρωπο) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed)
HTTP methods
HTTP Κωδικοί σφαλμάτων
HTTP Headers I
HTTP Headers II
HTTP Cashing
Στατικές σελίδες Ι
Στατικές σελίδες ΙΙ
HTML
Δυναμικές σελίδες javascript PHP
Javascript vs PHP (a)server-side scripting with PHP (b)client-side scripting with JavaScript
Τεχνολογίες Web
Cookies Όταν ένας client ζητήσει μια ιστοσελίδα, ο server μπορεί να παράσχει πρόσθετες πληροφορίες μαζί με την απαιτούμενη σελίδα. Αυτές οι πληροφορίες μπορεί να περιλαμβάνουν ένα cookie, το οποίο είναι ένα μικρό (το πολύ 4 KB) αρχείo Όταν ένα πρόγραμμα περιήγησης στέλνει ένα αίτημα για μια σελίδα Web συμπεριλαμβάνει στο μήνυμα αίτησης.
Ηλεκτρονικό ταχυδρομείο Συστατικά μέρη: User agents Mail servers Simple Mail Transfer Protocol
SMTP Χρησιμοποιεί TCP για την αξιόπιστη μεταφορά μηνυμάτων από τον πελάτη στον εξυπηρέτη, θύρα 25 Απευθείας μεταφορά: από τον εξυπηρετητή αποστολέα προς τον εξυπηρετητή παραλήπτη Τρεις φάσεις της μεταφοράς χειραψία (χαιρετισμός) μεταφορά μηνυμάτων τερματισμός Αλληλεπίδραση εντολής/απόκρισης εντολές: κείμενο ASCII απόκριση: κωδικός κατάστασης και φράση Τα μηνύματα πρέπει να είναι σε 7-bit ASCII
Πρωτόκολλα προσπέλασης Πρωτόκολλο προσπέλασης ταχυδρομείου (mail access protocol): ανάκτηση από τον εξυπηρετητή POP: Post Office Protocol [RFC 1939]: εξουσιοδότηση και «κατέβασμα» ( download ) IMAP: Internet Mail Access Protocol [RFC 1730]: περισσότερες δυνατότητες, συμπεριλαμβανομένης της διαχείρισης αποθηκευμένων μηνυμάτων στον εξυπηρετητή HTTP: Gmail, Hotmail, Yahoo! Mail, κτλ.
FTP Μεταφορά αρχείων από/προς απομακρυσμένους Η/Υ Μοντέλο Client - Server Διακριτές συνδέσεις για ανταλλαγή δεδομένων και εντολών
FTP Control tcp connection (port 21) Data tcp connection (port 20) O FTP εξυπηρετητής καταστάσεις ftp://[<user>[:<password>]@]<host>[:<port>]/<url-path> TCP control connection port 21 FTP client TCP data connection port 20 FTP server
FTP Transfer Mode client FTP Server client FTP Server 2834 connect accept 21 2834 connect accept 21 active mode 2835 passive mode request passive mode 3848 2835 2835 connect data transfer 20 20 2835 2835 connect data transfer 3848 3848 2834 disconnect accept 21 2834 disconnect accept 21 Active Mode Passive Mode
Data connection Ενεργή λειτουργία: ο client στέλνει στον server την διεύθυνση IP και τον αριθμό θύρας στον οποίο θα ακούσει ο client και ο server εγκαθιστά την TCP σύνδεση Παθητική λειτουργία: ο client αποστέλλει εντολή PASV στον server και λαμβάνει ως αντάλλαγμα μια διεύθυνση IP και έναν αριθμό θύρας. Ο client τις χρησιμοποιεί για να εγκαταστήσει την TCP σύνδεση για την μεταφορά των δεδομένων
Πολυμέσα Streaming Audio and Video Digital audio Digital video Streaming stored media Streaming live media Real-time conferencing
Ψηφιακός ήχος (a) Αναλογικό σήμα (b) Ψηφιακό σήμα διακριτού χρόνου (c) Quantized (4bits)
Ψηφιακό Video I JPEG Encoding
Ψηφιακό Video II
Ψηφιακό Video III One block of the Y matrix. The DCT coefficients
Computation of the quantized DCT coefficients
Quantitated values transmition
MPEG video Το πρότυπο MPEG αποτελείται από τριών ειδών frames Intracoded: Περιέχει συμπιεσμένη εικόνα Predictive: Περιέχει τις αλλαγές, ανά block, από το προηγούμενο frame Bidirectional: Περιέχει τις αλλαγές, ανά block, μεταξύ του προηγούμενου και του επόμενου frame
Αναπαραγωγή αποθηκευμένου υλικού Ι Αναπαραγωγή μετά από την λήψη του media υλικού
Αναπαραγωγή αποθηκευμένου υλικού ΙΙ Ταυτόχρονη λήψη και αναπαραγωγή του media υλικού
Media player Παρέχει την διεπαφή με τον χρήστη (UI) Χειρίζεται τα λάθη κατά την μετάδοση Αποσυμπιέζει το υλικό Εφαρμόζει μηχανισμούς βελτίωσης της ποιότητας υπηρεσίας (π.χ. αντιμετωπίζει τις επιπτώσεις του jitter)
Media player Παρέχει την διεπαφή με τον χρήστη (UI) Χειρίζεται τα λάθη κατά την μετάδοση Αποσυμπιέζει το υλικό Εφαρμόζει μηχανισμούς βελτίωσης της ποιότητας υπηρεσίας (π.χ. αντιμετωπίζει τις επιπτώσεις του jitter)
Real Time Streaming Protocol RTSP
Live Streaming
Τηλεδιάσκεψη - VoIP
H.323 protocol stack
Λογικά κανάλια επικοινωνίας
SIP commands
SIP with proxy server
H.232 vs SIP
Server Farms
Web proxies
Content Delivery Networks I
Content Delivery Networks II
Πλεονεκτήματα CDN Βελτίωση των χρόνων φόρτωσης ιστότοπων Μείωση του κόστους εύρους ζώνης Αύξηση της διαθεσιμότητας περιεχομένου Βελτίωση της ασφάλειας του ιστότοπου
Βιβλιογραφία Βιβλίο TANENBAUM ANDREW, Δίκτυα επικοινωνιών Κεφάλαιο Κεφάλαιο 7