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

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

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

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

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

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

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

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

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

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

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

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

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

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

Network Address Translation (NAT)

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer)

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

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

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

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

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

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

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Σχεδίαση και Ανάπτυξη Ιστότοπων

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

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 11: RTSP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών»

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

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

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

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

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

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

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

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

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

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

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

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

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

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

Ροή πολυμέσων. Εισαγωγή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές μέσων Το πρωτόκολλο RTSP

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

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

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

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

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

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 4 Επικοινωνίες και Δίκτυα. Μάκης Σταματελάτος

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

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Υπηρεσίες δικτύου και πρωτόκολλα για πολυμεσικές επικοινωνίες

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

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

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

Συστήματα Πολυμέσων. Ενότητα 17: Διανομή Πολυμέσων - Πρωτόκολλα πραγματικού χρόνου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

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

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Ειδικά Θέματα Προγραμματισμού

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

Επικοινωνία Client/Server

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

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

Φύλλο Κατανόησης 1.8

Νέες Επικοινωνιακές Τεχνολογίες

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

Transcript:

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

Περίγραμμα ενότητες που εξετάζονται Αρχές δικτυακών εφαρμογών. Αρχιτεκτονικές. Μοντέλα υπηρεσιών επιπέδου μεταφοράς Μοντέλο πελάτη εξυπηρετητή (client-server) Μοντέλο ομότιμων (peer-to-peer) Επικοινωνία εφαρμογών. Διεπαφές (sockets) Διεργασίες (process) Διεθυνσιοδότηση διεργασιών Χαρακτηριστικά υπηρεσιών επιπέδου μεταφοράς. Πρωτόκολλα επιπέδου εφαρμογών. http:pixabay.com 2

Κάποιες γνωστές δικτυακές εφαρμογές Ηλεκτρονικό ταχυδρομείο (e-mail). Παγκόσμιος Ιστός (world wide web -www). Κοινωνική δικτύωση (social networking). Ροές αποθηκευμένου βίντεο (streaming stored video clips). Διαδικτυακή τηλεφωνία (voice over IP). Ροές ζωντανές μεταδόσεων (real-time media stream delivery). Τηλεσυνδιάσκεψη πραγματικού χρόνου (real-time video conferencing). Δικτυακά παιχνίδια πολλών χρηστών (multi-user network games). Κοινή χρήση αρχείων μεταξύ ομότιμων(p2p file sharing). Στιγμιαία μηνύματα (instant messaging, chatting). 3

Δημιουργώντας μια δικτυακή εφαρμογή Ανάπτυξη προγραμμάτων που εκτελούνται σε (διαφορετικά) τερματικά συστήματα (hosts), επικοινωνούν πάνω από τη υποδομή του δικτύου (π.χ. το λογισμικό του εξυπηρετητή web επικοινωνεί με το λογισμικό του browser). Δεν υπάρχει ανάγκη να γραφεί λογισμικό για συσκευές του πυρήνα του δικτύου. Οι συσκευές του πυρήνα του δικτύου δεν τρέχουν εφαρμογές του χρήστη. Το ότι οι εφαρμογές βρίσκονται στα τερματικά συστήματα επιτρέπει την ταχεία ανάπτυξη και διάδοσή τους. application transport network data link physical application transport network data link physical application transport network data link physical 4

Αρχιτεκτονικές δικτυακών εφαρμογών Η αρχιτεκτονική μιας εφαρμογής σχεδιάζεται από κάποια ομάδα ανάπτυξης του λογισμικού. Οι εφαρμογές στηρίζονται στη σταθερή αρχιτεκτονική του δικτύου (5ο επίπεδο) που προσφέρει ένα συγκεκριμένο σύνολο υπηρεσιών. Σήμερα χρησιμοποιούνται κυρίως δυο αρχιτεκτονικές ανάπτυξης εφαρμογών δικτύου: Πελάτη-εξυπηρετητή (client-server) Μεταξύ ομότιμων (peer-to-peer -P2P) Υπάρχουν όμως και εφαρμογές που χρησιμοποιούν και τις δύο αυτές αρχιτεκτονικές ταυτόχρονα (υβριδική αρχιτεκτονική) π.χ. οι εφαρμογές ανταλλαγής άμεσων μηνυμάτων (instant messaging), η εφαρμογή skype κλπ. 5

Αρχιτεκτονική πελάτη-εξυπηρετητή Εξυπηρετητής (server): Εξυπηρετεί αιτήσεις πελατών για υπηρεσίες. Πρόκειται για ένα διαρκώς ενεργό τερματικό σύστημα (host) που συνήθως ανήκει στο φορέα που παρέχει την υπηρεσία. Με μόνιμη γνωστή διεύθυνση (IP address). Ομάδες εξυπηρετητών (server farms, datacenters) για κλιμάκωση. Πελάτες (clients): Επικοινωνούν με τον εξυπηρετητή και αιτούνται υπηρεσίες. Ενδεχομένως έχουν διακοπτόμενη σύνδεση. Ενδεχομένως έχουν δυναμική διεύθυνση IP. Δεν επικοινωνούν απευθείας μεταξύ τους. Γνωστές εφαρμογές: www, e-mail client/server 6

Αρχιτεκτονική αμιγώς μεταξύ ομότιμων (pure P2P) Δεν στηρίζεται σε αποκλειστικούς servers. Δεν υπάρχει κάποιος διαρκώς ενεργός εξυπηρετητής, αλλά τυχαία τερματικά συστήματα που επικοινωνούν απευθείας μεταξύ τους (ομότιμα). Δεν ανήκουν στον πάροχο της υπηρεσίας. Οι ομότιμοι αιτούνται υπηρεσιών από τους ομότιμους τους και παρέχουν σε αυτούς υπηρεσίες όταν τους ζητηθεί. Διακοπτόμενη σύνδεση των ομότιμων και αλλαγή των διευθύνσεων IP. Υψηλή δυνατότητα κλιμάκωσης. Νέοι χρήστες ενδυναμώνουν τη υπηρεσία, αλλά δημιουργούν και νέες απαιτήσεις (αυτόκλιμάκωση, self-scalability). Μικρότερο κόστος. peer-peer 7

Προκλήσεις των P2P Δυσκολίες στη διαχείριση, αλλά και στον έλεγχο περιεχομένου. Ο τρόπος λειτουργίας τους δεν είναι συμβατός με αυτό των ISPs. Μεταφέρουν την κίνηση στα τερματικά συστήματα όπου συνήθως εξυπηρετούνται από τις ασύμμετρες ζεύξεις των ISPs. Μπορεί να προκαλέσουν προβλήματα ασφάλειας λόγω της κατανεμημένης και ανοικτής φύσης τους. Η επιτυχία των μελλοντικών P2P εφαρμογών εξαρτάται από αν καταφέρουν να πείσουν τους χρήστες τους να παρέχουν εθελοντικά πόρους (εύρος ζώνης, αποθηκευτικούς χώρους, υπολογιστική ισχύ). http:pixabay.com 8

Επικοινωνία διεργασιών Διεργασία (process) Ένα πρόγραμμα που εκτελείται («τρέχει») σε ένα υπολογιστή. Μέσα στον ίδιο υπολογιστή (host), δύο διεργασίες επικοινωνούν χρησιμοποιώντας κάποια διαδιεργασιακή (inter-process) επικοινωνία, η οποία ορίζεται από το λειτουργικό σύστημα. Οι διεργασίες σε διαφορετικούς υπολογιστές στο δίκτυο, επικοινωνούν μεταξύ τους ανταλλάσσοντας μηνύματα (messages). Διεργασία πελάτης Μια διεργασία που ξεκινά την επικοινωνία Διεργασία εξυπηρετητής Μια διεργασία που αναμένει να επικοινωνήσουν μαζί της Εφαρμογές με αρχιτεκτονικές P2P έχουν ταυτόχρονα και διεργασίες πελάτες και διεργασίες εξυπηρετητές. 9

Τα sockets Στο δίκτυο οι περισσότερες εφαρμογές αποτελούνται από ζεύγη διεργασιών που επικοινωνούν μεταξύ τους ανταλλάσοντας μηνύματα. Κάθε μήνυμα από και προς το επίπεδο εφαρμογής θα πρέπει να περάσει από τα υποκείμενα επίπεδα. Μέρος κάθε διεργασίας (υπό-διεργασία) αναλαμβάνει την αποστολή και τη λήψη των μηνυμάτων (προς και από το επίπεδο μεταφοράς). Αυτό επιτυγχάνεται με μια διεπαφή προγραμματισμού εφαρμογών (API- Application Programming Interface) που καλείται socket. socket H διεπαφή της διεργασίας ανάμεσα στην εφαρμογή και το δίκτυο (επίπεδο μεταφοράς). 10

Πως γίνεται η διαδικασία με τα sockets Μια διεργασία στέλνει/λαμβάνει μηνύματα στο/από το socket της: Η διεργασία αποστολέας στέλνει μήνυμα προς το socket. Η υποδομή του επιπέδου μεταφοράς παίρνει το μήνυμα από το socket αποστολής και το στέλνει στο socket της διεργασίας προορισμού. Η διεργασία λήψης παραλαμβάνει το μήνυμα από το socket προορισμού και το παραδίδει στην εφαρμογή. Η όλη διαδικασία στηρίζεται στη ύπαρξη της υπηρεσίας μεταφοράς που υλοποιείται με κάποιο πρωτόκολλο. Εφαρμογής διεργασία socket application process Ελέγχεται από τον προγραμματιστή Μεταφοράς transport δικτύου ζεύξης Internet network link Ελέγχεται από το Λειτουργικό σύστημα φυσικό physical 11

Socket: μεταξύ εφαρμογής και επιπέδου μεταφοράς Ο προγραμματιστής ελέγχει πλήρως την εφαρμογή, αλλά έχει μικρό έλεγχο στη υπηρεσία μεταφοράς. Είναι αυτός που επιλέγει το πρωτόκολλο μεταφοράς. Ενδεχομένως να έχει τη δυνατότητα ρύθμισης ορισμένων παραμέτρων. Συνήθως παρέχονται περισσότερα από ένα πρωτόκολλα μεταφοράς. Όταν αναπτύσσεται μια εφαρμογή επιλέγεται ένα από τα διαθέσιμα πρωτόκολλα. Υπολογιστής ή εξυπηρετητής Ελέγχεται από τον προγραμματιστή TCP TCP Ελέγχεται από το Λειτουργικό σύστημα 12

Διευθυνσιοδότηση διεργασιών Σε μια αποστολή μηνύματος για να λάβει μια διεργασία ένα μήνυμα θα πρέπει να έχει κάποιο αναγνωριστικό (identifier). Θα μπορούσαμε να χρησιμοποιήσουμε την μοναδική 32-bit διεύθυνση IP που έχει ο υπολογιστής προορισμού Όμως αρκεί η ΙΡ διεύθυνση του υπολογιστή προορισμού, όπου τρέχει η διεργασία λήψης, για την αναγνώριση αυτής της διεργασίας? Όχι! Διότι σ ένα υπολογιστή μπορεί να «τρέχουν» πολλές διεργασίες δικτυακών εφαρμογών. Πρέπει με κάποιο τρόπο να καθοριστεί η ταυτότητα της διεργασίας που αφορά στην σύνδεση μας. Αυτό καθίσταται δυνατόν με έναν αριθμό θύρας (port number) που ορίζεται στον υπολογιστή προορισμού. 13

Ταυτότητα μιας διεργασίας (identifier) Για να προσδιοριστεί μια διεργασία, η ταυτότητα της περιλαμβάνει τόσο τη διεύθυνση IP όσο και τον αριθμό θύρας (port number) που σχετίζεται με τη διεργασία στον υπολογιστή. Σε δημοφιλείς δικτυακές εφαρμογές έχουν εκχωρηθεί συγκεκριμένοι αριθμοί θυρών. Δείτε το: http://en.wikipedia.org/wiki/list_of_tcp_and_udp_port_numbers Παραδείγματα αριθμών θύρας: Εξυπηρετητής HTTP: 80 Εξυπηρετητής e-mail: 25 Για να σταλεί ένα HTTP μήνυμα στον εξυπηρετητή web http://www.teicrete.gr θα πρέπει να δοθούν τα στοιχεία που χαρακτηρίζουν την διεργασία υποδοχής: Διεύθυνση IP: 147.95.40.60 Αριθμός θύρας: 80 14

Τι υπηρεσίες μεταφοράς απαιτούν οι εφαρμογές Αξιόπιστη μεταφορά (ακεραιότητα) δεδομένων: κάποιες εφαρμογές (π.χ. ήχου, video), ανέχονται κάποιες απώλειες (losstolerant applications), άλλες εφαρμογές (π.χ. e-mail, www, μεταφορά αρχείου) απαιτούν 100% αξιόπιστη μεταφορά δεδομένων (reliable data transfer). Διεκπεραιωτική ικανότητα (εγγύηση για ρυθμό μετάδοσης): κάποιες εφαρμογές (ιδιαίτερα οι πολυμεσικές) απαιτούν κάποιο ελάχιστο throughput για να είναι «αποτελεσματικές» (bandwidth sensitive), άλλες εφαρμογές «βολεύονται» με όσο throughput πάρουν (ελαστικές elastic) π.χ. e-mail, www κλπ. Χρονισμός (εγγύηση για χρόνο άφιξης): κάποιες εφαρμογές (πραγματικού χρόνου, π.χ. VoIP, διαδραστικά παιχνίδια) απαιτούν χαμηλή καθυστέρηση για να είναι «αποτελεσματικές». Ασφάλεια: Κρυπτογράφηση (encryption), ακεραιότητα δεδομένων (data integrity). 15

Απαιτήσεις επιλεγμένων εφαρμογών Εφαρμογή Απώλεια δεδομένων Throughput Ευαισθησία ως προς το χρόνο Μεταφορά αρχείου Όχι απώλειες ελαστική όχι e-mail Όχι απώλειες ελαστική όχι Έγγραφα Web Όχι απώλειες ελαστική όχι Ήχος/ βίντεο πραγματικού χρόνου Αποθηκευμένος ήχος/βίντεο Διαδραστικά παιχνίδια Ανοχή στις απώλειες Ανοχή στην απώλειες Ανοχή στην απώλειες ήχος: 5kbps-1Mbps, βίντεο:10kbps-5mbps ήχος: 5kbps-1Mbps, βίντεο:10kbps-5mbps ως λίγα kbps ναι, 100-δες msec ναι, λίγα secs ναι, 100-δες msec Στιγμιαία μηνύματα Όχι απώλειες ελαστική ναι και όχι 16

Υπηρεσίες του επιπέδου μεταφοράς Για την εξυπηρέτηση των εφαρμογών το επίπεδο μεταφοράς του Διαδικτύου διαθέτει υπηρεσίες που βασίζονται σε 2 κυρίως πρωτόκολλα: το TCP και το UDP Μια από τις πρώτες αποφάσεις των προγραμματιστών διαδικτυακών εφαρμογών είναι να επιλέξουν ένα από τα δύο αυτά πρωτόκολλα. Αυτά παρέχουν διαφορετικό σύνολο υπηρεσιών στις εφαρμογές που τα καλούν. https://en.wikipedia.org/ 17

Υπηρεσίες του TCP Συνδεσιστρεφής (connection-oriented) υπηρεσία: απαιτείται αρχικοποίηση (setup) μεταξύ διεργασιών πελάτη και εξυπηρετητή διαδικασία χειραψίας. Αξιόπιστη μεταφορά δεδομένων μεταξύ διεργασιών αποστολής και λήψης. Περιλαμβάνει μηχανισμό ελέγχου ροής (flow control): ο αποστολέας δεν υπερφορτώνει τον παραλήπτη. Κάνει έλεγχο συμφόρησης (congestion control): επιβράδυνση αποστολής πακέτων όταν το δίκτυο είναι υπερφορτωμένο. Δεν παρέχει: εγγυήσεις ως προς χρόνο, εγγυήσεις ελάχιστου throughput (διεκπεραιωτική ικανότητα), ασφάλεια (εκτός αν εμπλουτιστεί με το SSL - Secure Socket Layer). 18

Υπηρεσίες του UDP Ασυνδεσιστρεφής (connection-less) υπηρεσία: δεν υπάρχει διαδικασία «χειραψίας» πριν την ανταλλαγή μηνυμάτων. Αναξιόπιστη μεταφορά δεδομένων μεταξύ διεργασίας αποστολής και λήψης. Δεν παρέχει εγγυήσεις : άφιξης των μηνυμάτων, ούτε καν με την σωστή σειρά! Επίσης δεν παρέχει: αρχικοποίηση σύνδεσης, αξιοπιστία, έλεγχο ροής, έλεγχο συμφόρησης, εγγύηση ως προς το χρόνο ή το throughput Είναι όμως απλό και «ελαφρύ» πρωτόκολλο. 19

Ποιες υπηρεσίες δεν παρέχονται Ούτε το TCP ούτε το UDP δεν παρέχουν: Εγγυήσεις διεκπεραιωτικής ικανότητας. Υπηρεσίες χρονισμού (μεταφορά σε συγκεκριμένο χρόνο). Γενικότερα, το Διαδίκτυο δεν παρέχει εγγυήσεις χρονισμού και διεκπεραιωτικής ικανότητας. Όμως εφαρμογές που είναι ευαίσθητες στη διεκπεραιωτική ικανότητα και στο χρονισμό, όπως οι εφαρμογές πραγματικού χρόνου (video, ήχος), φιλοξενούνται στο Διαδίκτυο. Πως; Έχουν σχεδιαστεί για μπορούν να αντιμετωπίσουν αυτή την έλλειψη των εγγυήσεων (χρήση ειδικών τεχνικών). Συχνά χρησιμοποιούν το UDP πρωτόκολλο επειδή είναι ελαστικές στις απώλειες (ή χρησιμοποιούν εφεδρικά το TCP). 20

Δημοφιλείς εφαρμογές και πρωτόκολλα Εφαρμογή Ηλεκτρονικό ταχυδρομείο E-mail Απομακρυσμένη προσπέλαση τερματικού Πρωτόκολλο εφαρμογής SMTP [RFC 2821] Telnet [RFC 854] Πρωτόκολλο μεταφοράς TCP TCP Μεταφορά αρχείων FTP [RFC 959] TCP Πολυμέσα συνεχούς ροής Τηλεφωνία Διαδικτύου HTTP (π.χ. Youtube), RTP[RFC 1889] SIP, RTP, ιδιοταγές (π.χ. Skype) TCP ή UDP τυπικά UDP Δημοφιλείς εφαρμογές, πρωτόκολλα επιπέδου εφαρμογής και πρωτόκολλα επιπέδου μεταφοράς. 21

Πρωτόκολλα επιπέδου εφαρμογής Ένα πρωτόκολλο επιπέδου εφαρμογής (application-layer protocol) προδιαγράφει πως οι διεργασίες μιας κατανεμημένης εφαρμογής που εκτελούνται σε διαφορετικούς υπολογιστές ανταλλάσουν μεταξύ τους μηνύματα. Πρόκειται απλά για ένα συστατικό μιας δικτυακής εφαρμογής. Για παράδειγμα η εφαρμογή web περιλαμβάνει: ένα πρότυπο για μορφοποίηση εγγράφων (HTML), πρόγραμμα περιήγησης web (πχ firefox, chrome, internet explorer), εξυπηρετητή web (πχ apache) και ένα πρωτόκολλο επιπέδου εφαρμογής (HTTP) που ορίζει την μορφή και την αλληλουχία των μηνυμάτων που ανταλλάσσονται μεταξύ του περιηγητή web και του εξυπηρετητή web. 22

Τι ορίζει ένα πρωτόκολλο επιπέδου εφαρμογής Τους τύπους των μηνυμάτων που ανταλλάσσονται: π.χ. αιτήσεων, αποκρίσεων Την σύνταξη διαφόρων τύπων μηνυμάτων: τα πεδία στα μηνύματα & πως αυτά διαχωρίζονται/απεικονίζονται. Την σημασιολογία των πεδίων, δηλαδή: τη σημασία της πληροφορίας μέσα στα πεδία Κανόνες για το πότε και πώς οι διεργασίες ανταλλάσσουν μηνύματα. Πρωτόκολλα δημόσιας χρήσης (πχ HTTP, SMTP) που: ορίζονται στα RFCs επιτρέπουν τη διαλειτουργικότητα (interoperability). Ιδιοταγή (proprietary) πρωτόκολλα: Τα περισσότερα πρωτόκολλα είναι ανοικτά. Υπάρχουν όμως και ιδιόκτητα πρωτόκολλα εταιρειών που δεν διατίθενται δημόσια (κλειστά, πχ Skype). 23