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

Σχετικά έγγραφα
Τεχνολογίες ιαδικτύου

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

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

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

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

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

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

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

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

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

Network Address Translation (NAT)

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

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

Εργαστήριο Wireshark: DNS

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

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

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

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

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

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

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών Επίπεδο εφαρμογής To Σύστημα Ονομασίας Τομέων DNS

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ

ικτυακές εφαρµογές: ορολογία Κεφάλαιο 2

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

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

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

Δίκτυα Υπολογιστών Ενότητα 3: Domain Name System - DNS

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

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

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

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

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

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

Κεφάλαιο 2. ηµιουργία δικτυακής εφαρµογής

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Δίκτυα Υπολογιστών Επίπεδο Εφαρμογής Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ

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

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

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

Εισαγωγή στο διαδίκτυο

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

Αριστοµένης Μακρής Εργαστήρια Η/Υ

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

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

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

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

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

Επικοινωνία. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (E) Επικοινωνία 1

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία WWW / Πρωτόκολλο HTTP / Ρύθμιση Apache Web Server

Το πρωτόκολλο ΗΤΤΡ (HyperText Transfer Protocol)

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

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

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

Εργαστήριο Wireshark: HTTP

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο

Ενότητα 8. Εισαγωγή στην Πληροφορική. Internet: Τότε και Τώρα. Κεφάλαιο 8Α. Τρόπος Λειτουργίας Internet. Χειµερινό Εξάµηνο

ιαχείριση Πληροφοριών στο ιαδίκτυο

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Εργαστήριο Ethereal: ICMP

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

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

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

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

1 η Διάλεξη: Εισαγωγή στο Διαδίκτυο

To λεξικό του Internet

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #3 Στρώµα ικτύου:ip Πρωτόκολλο και Πρωτόκολλα ροµολόγησης

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

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

ΤΕΙ ΗΠΕΙΡΟΥ. ΜΑΘΗΜΑ: Πρωτόκολλα Επικοινωνίας ιαδικτύου. Εξάµηνο: 3ον. Κεφάλαιο 8 ον : ΕπίπεδοΕφαρµογής (Application Layer) Στεργίου Ελευθέριος

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

Επίπεδο δικτύου IP διευθυνσιοδότηση

Δίκτυα Η/Υ στην Επιχείρηση

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

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

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

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

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

Εισαγωγή στην Πληροφορική

7.2 Τεχνολογία TCP/IP

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

Transcript:

Υπολογιστές και ίκτυα Η/Υ http://www.net.uom.gr

Βιβλίο για ίκτυα Η/Υ Computer Networking, A Top-Down Approach Featuring the Internet, 2nd edition J. Kurose, K. Ross ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 2

Κεφάλαιο 2 Application Layer Περιεχόµενα και Σκοπός Application Layer (Επίπεδο Εφαρµογών) Εφαρµογές ικτύων Ο λόγος ύπαρξης δικτύων Αρχές Πρωτόκολλα Προγραµµατισµός Socket API Java ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 3

Αρχές Πρωτοκόλλων ιεργασίες (Processes) και όχι προγράµµατα επικοινωνούν Επικοινωνία µέσω µηνυµάτων Επικοινωνία µεταξύ εφαρµογών γίνεται στο Επίπεδο Εφαρµογών ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 4

Αρχές Πρωτοκόλλων -2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 5

Αρχές Πρωτοκόλλων -3 ιαφορά µεταξύ Network Application και Application- Layer Protocols Αυτά τα πρωτόκολλα καθορίζουν: Τον τύπο των ανταλλασσοµένων µηνυµάτων (π.χ., µηνύµατα αίτησης και απόκρισης Την σύνταξη των διαφόρων τύπων µηνυµάτων, όπως τα πεδία και τον τρόπο διάκρισης µεταξύ τους Τον νόηµα των πεδίων Κανόνες καθορισµού για το πότε και πώς µία διεργασία αποστέλλει και αποκρίνεται σε µηνύµατα ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 6

Πλευρές Πελάτη και Εξυπηρέτη ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 7

Επικοινωνία ιεργασιών Κλασσικός τρόπος µε αποστολή / λήψη µηνυµάτων µε την χρήση sockets Είναι οι πύλες µεταξύ εφαρµογών και του ιαδικτύου ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 8

ιευθυνσιοδότηση ιεργασιών Για κάθε διεργασία απαιτούνται δύο στοιχεία: Host Address (συνήθως IP) Process Identity at the host (συνήθως Port Number) User Agent: Η διεπαφή µεταξύ χρήστη και δικτυακής εφαρµογής Π.χ. Ένας browser (Internet Explorer) για το Web ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 9

Είδη Υπηρεσιών για Εφαρµογές Η µεταφορά µέσω δικτύου γίνεται από το λογισµικό του Επιπέδου Μεταφοράς Υπάρχουν πολλοί τύποι µε διαφορετικά είδη σχετικών υπηρεσιών Η επιλογή εξαρτάται από τις συγκεκριµένες ανάγκες της κάθε εφαρµογής: Αξιόπιστη Μεταφορά εδοµένων Bandwidth Timing (ευαισθησία σε χρονισµό) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 10

Είδη Υπηρεσιών για Εφαρµογές -2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 11

Υπηρεσίες Πρωτοκόλλων Μεταφοράς του ιαδικτύου Υπάρχουν δύο πρωτόκολλα: TCP (Transport Control Protocol) Connection-Oriented Υπηρεσία Αξιόπιστη Υπηρεσία Μεταφοράς Μηχανισµός Ελέγχου Συµφόρησης Όχι Εγγύηση: Ελάχιστος Ρυθµός Εκποµπής Ελάχιστο Μέγεθος Καθυστέρησης ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 12

Υπηρεσίες Πρωτοκόλλων Μεταφοράς του ιαδικτύου -2 Και το δεύτερο: UDP (User Datagram Protocol) Connectionless Lightweight (όχι handshaking) Μη Αξιόπιστο δεν υπάρχει εγγυηµένη παράδοση δεδοµένων, ούτε καν µε την ορθή σειρά Κανείς µηχανισµός Ελέγχου Συµφόρησης Καλύτερο για Εφαρµογές Πραγµατικού Χρόνου ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 13

Υπηρεσίες Πρωτοκόλλων Μεταφοράς του ιαδικτύου -2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 14

HTTP Ορολογία Web Page Αποτελείται από objects Object Ένα αρχείο (HTML, JPEG, κλπ) προσπελάσιµο µέσω ενός µοναδικού URL URL (Uniform Resource Locator) Μία διεύθυνση µε δύο τµήµατα: ιεύθυνση Host ιεύθυνση Object στον Host Π.χ. http://www.net.uom.gr/gr_index.html ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 15

HTTP - 2 Ορολογία (συνέχεια): Browser User Agent και στην πράξη ο πελάτης για το Web Web Server Ο Εξυπηρέτης για το Web Περιέχει Objects Υλοποιεί το τµήµα Εξυπηρέτη για το πρωτόκολλο HTTP HTTP HyperText Transfer Protocol Από το 1998 η έκδοση 1.1 Χρησιµοποιεί το TCP και όχι το UDP Stateless Πρωτόκολλο (ο εξυπηρέτης δεν διατηρεί πληροφορίες κατάστασης για τους πελάτες) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 16

HTTP - 3 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 17

Τύποι Σύνδεσης µε HTTP Nonpersistent (παράδειγµα σ. 91-92) Ξεχωριστή TCP σύνδεση για κάθε Object της ιστοσελίδας Εξ ορισµού τρόπος λειτουργίας HTTP 1.0 Persistent Μία TCP σύνδεση µεταξύ συγκεκριµένου πελάτη και εξυπηρέτη Αποδοτικότερος τρόπος Παραλλαγές: Χωρίς ιοχέτευση (without Pipelining) Καινούργια Αίτηση µόλις ληφθεί απόκριση σε προηγούµενη Αίτηση Με ιοχέτευση (with Pipelining) Καινούργια Αίτηση χωρίς να περιµένει απόκριση Εξ ορισµού τρόπος λειτουργίας HTTP 1.1 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 18

Τύποι Σύνδεσης µε HTTP - 2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 19

HTTP: Μορφή Μηνυµάτων Αίτησης Τυπικό Μήνυµα Request Request Line Η πρώτη γραµµή Τρία πεδία Method υνατές τιµές: GET (συνηθέστερη), POST, HEAD Method για HTTP 1.1 Επιπλέον όπως: PUT, DELETE URL HTTP version Header Lines Οι λοιπές ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 20

HTTP: Μορφή Μηνυµάτων Αίτησης 2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 21

HTTP: Μορφή Μηνυµάτων Απόκρισης Στο Παράδειγµα αυτό έχουµε: Μία Status Line Έξι Header Lines Entity Body ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 22

Μορφή Μηνυµάτων Απόκρισης -2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 23

Μορφή Μηνυµάτων Απόκρισης -3 Συνηθισµένοι Κωδικοί Κατάστασης σε Μηνύµατα Απόκρισης: 200 ΟK 301 Moved Permanently Το λογισµικό του πελάτη θα ανακτήσει αυτόµατα το νέο URL 400 Bad Request 404 Not Found 505 HTTP Version Not Supported Για παράδειγµα: Συνδεθείτε µέσω telnet µε το macedonia.uom.gr και πληκτρολογήστε: telnet macedonia.uom.gr 80 GET /~pfoul/index.html HTTP/1.0 ύο φορές το πλήκτρο <CR> οκιµάστε το ίδιο, αλλά µε HEAD αντί για GET ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 24

Εξουσιοδότηση Πώς γίνεται µέσω HTTP: Πελάτης στέλνει απλή αίτηση στον Εξυπηρέτη Ο Εξυπηρέτης αποκρίνεται µε ένα µήνυµα κενού σώµατος και κωδικό κατάστασης 401 (Authorization Required) Συµπεριλαµβάνεται η κεφαλίδα WWW-Authenticate: µε την οποία καθορίζει πώς γίνεται η ταυτοποίηση συνήθως µε ένα username και password Αυτά µπαίνουν σε µία cache του browser ώστε να αποστέλλονται αυτόµατα για κάθε object που ζητείται ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 25

Cookies RFC 2109 Έχουν τέσσερα βασικά στοιχεία: Μία γραµµή κεφαλίδας cookie στο µήνυµα απόκρισης του Εξυπηρέτη Μία αντίστοιχη γραµµή στην αίτηση Ένα αρχείο στον Η/Υ του χρήστη που διαχειρίζεται ο τοπικός browser Μία βάση δεδοµένων στον Εξυπηρέτη ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 26

Cookies - 2 Πώς χρησιµοποιούνται Ο Εξυπηρέτης δηµιουργεί µετά από αίτηση έναν µοναδικό αριθµό και αντίστοιχη καταχώρηση στην ειδική βάση δεδοµένων Αποκρίνεται µε µήνυµα που περιέχει την γραµµή: Set-cookie: <µοναδικός αριθµός> Ο browser δηµιουργεί ένα αρχείο cookie µε τον αριθµό αυτό και το όνοµα του host (Εξυπηρέτης) Κάθε φορά πρώτα ελέγχουν αν υπάρχει σχετικό αρχείο (o browser) ή καταχώριση στην βάση δεδοµένων (ο Εξυπηρέτης) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 27

Conditional GET Web caching Χρήσιµη τεχνική για µείωση χρόνου και δικτυακών πόρων Ενηµέρωση αποθηκευµένης πληροφορίας προβληµατική (εν τω µεταξύ ίσως έχει αλλάξει) Λύση ο µηχανισµός Conditional GET Παράδειγµα: CLIENT SERVER SERVER 1η φορά Επόµενες φορές CLIENT ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 28

FTP ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 29

FTP 2 FTP = File Transfer Protocol Χρησιµοποιεί 2 παράλληλες συνδέσεις TCP Control Connection Data Connection Out-of-band, ενώ HTTP in-band ιατηρεί την κατάσταση (State), ενώ HTTP stateless ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 30

E-mail στο ιαδίκτυο ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 31

SMTP: Simple Mail Transfer Protocol οκιµάστε το: telnet macedonia.uom.gr 25 Είναι ένα πρωτόκολλο Push (ο Εξυπηρέτης σπρώχνει το αρχείο στον γειτονικό Εξυπηρέτη) Το HTTP είναι πρωτόκολλο Pull (ο Πελάτης τραβάει το αρχείο από τον Εξυπηρέτη) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 32

SMTP: Simple Mail Transfer Protocol 2 Χρησιµοποιεί την θύρα 25 Παράδειγµα (S = Server, C = Client) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 33

Μορφές E-Mail και MIME Αρχικά το SMTP (RFC 822) ήταν αρκετό Ικανοποιητικό για µηνύµατα µε απλό κείµενο MIME (Multipurpose Internet Mail Extensions) επεκτάσεις για οποιοδήποτε περιεχόµενο RFC 2045 και RFC 2046 ύο οι κύριες επιπλέον κεφαλίδες Content-Type: <type>/<subtype> Content-Transfer-Encoding: ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 34

Μορφές E-Mail και MIME - Παράδειγµα Βασικοί τύποι περιεχόµενου (υψηλότερο επίπεδο): text text/plain; charset= ISO-8859-1. image image/gif application application/msword Multipart multipart/mixed ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 35

Πρωτόκολλα Προσπέλασης Mail POP3 (Post Office Protocol, version 3) Θύρα 110 IMAP (Internet Mail Access Protocol) Προσφέρει δηµιουργία αποµακρυσµένων καταλόγων Λήψη τµήµατος µηνύµατος (π.χ., µόνον κεφαλίδων) HTTP Πανεπιστήµιο Μακεδονίας IMAP µε web interface ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 36

DNS DNS = Domain Name System Υπηρεσία Καταλόγου του ιαδικτύου Υπηρεσίες που παρέχει: Μετάφραση <Συµβολικό Όνοµα Η/Υ> ιεύθυνση IP Host Aliasing (συνώνυµα) Mail Server Aliasing Κατανοµή Φόρτου Εργασίας (DNS Rotation) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 37

DNS Πώς λειτουργεί Ένας κεντρικός Εξυπηρέτης; εν είναι καλή ιδέα, επειδή: Αποτελεί µοναδικό σηµείο αποτυχίας Όγκος κυκλοφορίας Αποµακρυσµένος για µεγάλο ποσοστό πελατών ιαχείριση (τεράστια βάση δεδοµένων, ασφάλεια, κλπ) Ιεραρχική οµή Τρεις κατηγορίες: Local Name Servers Root Name Servers Authoritative Name Servers Καταµερισµός σε Domains ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 38

DNS Πώς λειτουργεί (2) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 39

DNS Πώς λειτουργεί (3) Οι αιτήσεις DNS µπορούν να γίνουν: Αναδροµικά (Recursively) Όπως στα προηγούµενα παραδείγµατα Επαναληπτικά (Iteratively) Πελάτης Εξυπηρέτης1, Πελάτης Εξυπηρέτης2, κλπ Συνήθως γίνονται αναδροµικά, εκτός από τον Local Name Server προς τον Root (επαναληπτικά), λόγω µεγάλου φόρτου του τελευταίου DNS Caching Συνηθισµένη τεχνική για µεγαλύτερη απόδοση ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 40

DNS Πώς λειτουργεί (4) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 41

DNS Records Κάθε DNS record αποτελείται από 4 πεδία: <Name, Value, Type, TTL> TTL = Time To Live (γήρανση) Type Εάν Type=A, τότε Name το hostname και Value η IP διεύθυνση Εάν Type=NS, τότε Name το domain και Value το hostname ή ο authoritative name server για το domain Εάν Type=CNAME, τότε Name το alias hostname και Value το canonical hostname Εάν Type=MX, τότε Name το alias hostname και Value το canonical hostname του mail server ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 42

DNS Μορφή Μηνυµάτων (σ. 132) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 43

Socket Programming µε TCP 1 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 44

Socket Programming µε TCP 2 Πρώτα ξεκινά η εφαρµογή που παίζει τον ρόλο του Εξυπηρέτη Ο Πελάτης εκκινεί µία σύνδεση TCP προς τον Εξυπηρέτη µέσω µίας socket Απαιτείται ο καθορισµός IP διεύθυνσης και αριθµού θύρας της εφαρµογής στον Εξυπηρέτη 3-way handshake (TCP) και η σύνδεση TCP έχει δηµιουργηθεί Συνήθως σε καινούργια socket του Εξυπηρέτη, ώστε η αρχική να είναι διαθέσιµη για να ακούσει καινούργια αίτηση Πελάτη ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 45

Socket Programming µε TCP 3 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 46

Socket Programming µε TCP 4 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 47

Socket Programming µε TCP 5 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 48

Socket Programming µε TCP 6 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 49

Socket Programming µε TCP 7 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 50

Socket Programming µε UDP 1 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 51

Socket Programming µε UDP 2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 52

Socket Programming µε UDP 3 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 53

Socket Programming µε UDP 4 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 54

Socket Programming µε UDP 5 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 55

Ένας απλός Web Server 1 Βασικές Λειτουργίες που υποστηρίζει: έχεται µόνον µία αίτηση HTTP Επεξεργάζεται την αίτηση HTTP Λαµβάνει το αιτούµενο αρχείο από το σύστηµα αρχείων του ηµιουργεί ένα απαντητικό µήνυµα HTTP, αποτελούµενο από το ζητηθέν αρχείο µαζί µε κάποιες γραµµές κεφαλίδων (header lines) Αποστέλλει την απόκριση απ ευθείας στον Πελάτη Χρησιµοποιεί το port 6789 Π.χ., http://localhost:6789/somefile.html ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 56

Ένας απλός Web Server 2 ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 57

Content Distribution Προβλήµατα βραδείας µεταφοράς web objects λόγω: Bottleneck (λαιµός φιάλης) σε κάποιο τµήµα της διαδροµής που έχει χαµηλή ταχύτητα Κάποιο τµήµα της διαδροµής παρουσιάζει υψηλή συµφόρηση απορρίπτοντας πακέτα Ο Εξυπηρέτης web είναι υπερφορτωµένος µε αιτήσεις Όρος CDN (Content Distribution Network) Αντιγραφή περιεχοµένου σε πολλαπλούς εξυπηρέτες Παροχή σε πελάτες τρόπου για καθορισµό των εξυπηρετών που µπορούν να παράσχουν το αιτούµενο περιεχόµενο µε την µέγιστη ταχύτητα Όροι Content Provider και Origin Server ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 58

Content Distribution Λύση 1 Web Caching Web Cache = Proxy Server ικτυακή οντότητα που ικανοποιεί αιτήσεις HTTP εκ µέρους του αρχικού εξυπηρέτη (origin server) Πλήρως αυτοµατοποιηµένη ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 59

Content Distribution Λύση 1(β) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 60

Content Distribution Λύση 1(γ) Cooperative Caching Πολλές Web Caches σε διάφορα µέρη του ιαδικτύου συνεργαζόµενες ιάφορες µορφές οργάνωσης: Ιεραρχική Clusters (π.χ. στο ίδιο LAN) Πώς επιλέγεται κάποια από όλες; hash routing Τεχνική και οργάνωση που χρησιµοποιούν η Netscape και η Microsoft Υπάρχει και ειδικό πρωτόκολλο CARP (Content Array Routing Protocol) για µεγάλα συστήµατα ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 61

Content Distribution Λύση 2 CDNs (Content Distribution Networks) Πελάτες είναι αυτοί που έχουν δεδοµένα (π.χ. Yahoo) και θέλουν να τα διαµοιράσουν µέσω του Web µε µικρή χρονική καθυστέρηση Ο φορέας CDN παρέχει την υπηρεσία ως εξής: Εγκαθιστά πολλαπλούς εξυπηρέτες CDN στο ιαδίκτυο Αυτόµατα αντιγράφει το επιθυµητό περιεχόµενο στους εξυπηρέτες CDN Για κάθε αίτηση αυτόµατα βρίσκει είτε τον πλησιέστερο εξυπηρέτη CDN, είτε εκείνον µε την λιγότερη συµφόρηση ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 62

Content Distribution Λύση 2(β) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 63

Content Distribution Λύση 2(γ) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 64

Content Distribution Λύση 3 Peer-to-Peer File Sharing Η/Υ ανακτούν αρχεία απ ευθείας από αποµακρυσµένους Η/Υ Πρόβληµα: Πώς βρίσκει κανείς πού βρίσκεται το επιθυµητό περιεχόµενο; Λύσεις: Κεντρικό Directory (Napster) Single Point of Failure Performance Bottleneck Copyright Infringement (Αγωγές ευκολότερες εναντίον µίας εταιρείας) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 65

Content Distribution Λύση 3(α) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 66

Content Distribution Λύση 3(β) εύτερη Λύση: Αποκεντρωµένο Directory Απαιτείται όµως τουλάχιστον ένας κόµβος εκκίνησης (bootstrapping node) που να είναι πάντα ενεργός για εκλογή group nodes και ενηµέρωσή του για τους υπόλοιπους Ιεραρχική δοµή Πολυπλοκότερο πρωτόκολλο ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 67

Content Distribution Λύση 3(β) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 68

Content Distribution Λύση 3(γ) Τρίτη Λύση: Query Flooding (Gnutella): Το overlay network είναι επίπεδο και όχι ιεραρχικό Κάθε κόµβος πρέπει να επικοινωνήσει αρχικά µε τον bootstrapping node Κάθε κόµβος γνωρίζει όλους τους γείτονές του εν χρησιµοποιεί directories για αναζήτηση της επιθυµητής πληροφορίας, αλλά query flooding (µε κάποιο πεπερασµένη προκαθορισµένη ακτίνα) Επίσης πολύπλοκο εν είναι scalable ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 69

Content Distribution Λύση 3(γ) ρ. Παναγιώτης Ε. Φουληράς 2003/2004 σ. 70