Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής
Σκοποί ενότητας Αρχιτεκτονική Πρωτόκολλα Πρότυπα Βασικών Υπηρεσιών 2
Περιεχόμενα ενότητας Ιστορικά Στοιχεία Οικογένεια Πρωτοκόλλων TCP/IP IP Διευθύνσεις Subnet Mask Domain Name Service IPv6 Client Server Μοντέλο HTTP HTTP Media Types Δομή Web Browser 3
Ιστορικά Στοιχεία ARPANET Ο «παππούς» των δικτύων Αναπτύχθηκε από την DARPA στα τέλη του 60 Το 83 διασπάται σε MILNET και ARPANET NSFNET Δίκτυο τριών επιπέδων (Backbone, μεσαίου επιπέδου, Campus) Σημαντικές Ημερομηνίες Πρώτη Έκδοση HTTP 1991 MOSAIC 1993 4
Ιστορικά Στοιχεία Εφαρμογής Παρουσίασης Συνόδου Μεταφοράς Δικτύου Σύνδεσης Φυσικό Εφαρμογής Παρουσίασης Συνόδου Μεταφοράς Δικτύου Σύνδεσης Φυσικό 5
Οικογένεια Πρωτοκόλλων TCP/IP Εφαρμογές SMTP, Telnet, FTP, Gopher Μεταφορά TCP UDP Διαδίκτυο IP ICMP ARP RARP Υλικό και Διεπαφή Δικτύου Ethernet, Token-Ring, FDDI, X.25, Wireless, Async, ATM, SNA Εφαρμογές:Echo, Ping, Traceroute, Whois, FTP, E-mail (SMTP, POP3, IMAP), TELNET, HTTP 6
UDP TCP Οικογένεια Πρωτοκόλλων TCP/IP Απλό πρωτόκολλο του επιπέδου μεταφοράς Υπηρεσία Χωρίς Σύνδεση Χωρίς Έλεγχο Λαθών Υπηρεσία Με Σύνδεση Υπάρχει Έλεγχος Λαθών και Επαναμετάδοση Αξιοπιστία Full Duplex επικοινωνία 7
IP Οικογένεια Πρωτοκόλλων TCP/IP Η καρδιά της οικογένειας πρωτοκόλλων Μεταφορά Δεδομένων σε hosts διαφορετικών δικτύων Προσφέρει Δρομολόγηση και Έλεγχο Λαθών Τρόπος Λειτουργίας Σπάσιμο σε αυτοδύναμα πακέτα Μετάδοσή τους στο δίκτυο Επανασυναρμολόγησηστον προορισμό 8
IP Διευθύνσεις Μοναδικοίαριθμοί 32-bit Δίνονται από το InterNIC Γενική Μορφή:x.x.x.x(x: 0-255) Τα πρώτα bits της διεύθυνσης δηλώνουν την κατηγορία δικτύου Υπάρχουν 5 κατηγορίες δικτύων Class A-E 9
IP Διευθύνσεις 10
IP Διευθύνσεις 11
Διαχείριση Hostid IP Διευθύνσεις 12
Subnet Mask 32-bit αριθμός Ψηφίο "1" για το network ID και το subnet ID Ψηφίο "0" για το host ID 13
Subnet Mask Απότην IP και το Subnet Mask, ένας υπολογιστής καθορίζει αν η πληροφορία προορίζεται για υπολογιστή στο: Υποδίκτυό του Διαφορετικό Υποδίκτυο, αλλά ίδιο Δίκτυο Διαφορετικό Δίκτυο Ουσιαστικά το χρησιμοποιεί για να αναγνωρίσει το όριο μεταξύ του SubnetIDκαι του HostID 14
Subnet Mask 15
Domain Name Service ΑντιστοίχησηIP σε ονόματα Π.χ. 150.140.141.181 diogenis.ceid.upatras.gr Μοναδικά, Ιεραρχία ΔιαχείρισηΟνομάτων InterNic CENTR GR -HOSTMASTER 16
IPv6 Το υπάρχον IPv4 αποδεικνύεται ανεπαρκές Νέο πρωτόκολλο: IPv6 Μέγεθος διευθύνσεων 128 bit Μορφή διευθύνσεων: x : x : x : x : x : x : x : x (όπου x hex number) Π.χ.: FEDC:BA98:4798:8798:FEDC:BA98:78D9:3425 Κατηγορίες Διευθύνσεων Unicast Anycast Multicast 17
Client Server Μοντέλο ΒασικόςΤύπος Δικτυακών Εφαρμογών Η σχέση Client καιserver μπορεί να είναι many-tomany Ένας server εξυπηρετεί ταυτόχρονα πολλούς clients Ένας client μπορεί να συνδεθεί ταυτόχρονα σε πολλούς server Web Clients Web Browsers MS IExplorer, Mozilla, Netscape, Opera Web Servers MS IIS, Apache 18
Client Server Μοντέλο ΒασικόςΤύπος Δικτυακών Εφαρμογών Η σχέση Client καιserver μπορεί να είναι many-tomany Ένας server εξυπηρετεί ταυτόχρονα πολλούς clients Ένας client μπορεί να συνδεθεί ταυτόχρονα σε πολλούς server Web Clients Web Browsers MS IExplorer, Mozilla, Netscape, Opera Web Servers MS IIS, Apache 19
HTTP Μοντέλο Αίτησης / Απόκρισης Αιτήσεις: Ξεκινούν από τον πελάτη Μπορεί να υπάρχουν ενδιάμεσοι κόμβοι Request V User Agent Origin Server V Response Responce Request V User Agent Origin Server V Response 20
HTTP Uniform Resource Identifier Είναι απλά δομημένες σειρές χαρακτήρων που ορίζουν είτε μέσω ονόματος, είτε μέσω διεύθυνσης, είτε μέσω άλλων χαρακτηριστικών ένα πόρο HTTP URL Χρησιμοποιείται για τον εντοπισμό πόρων στο http http_url= http: // host [ : port ] [ abs_path[? query ] ] Π.χ http://gigas.ceid.upatras.gr/activities/index.html 21
HTTP ΤύποιΜηνυμάτων HTTP-message = Request Response ; HTTP/1.1 message Και οι δύο τύποι μηνύματος αποτελούνται από: Μια αρχική γραμμή Μηδέν οι περισσότερες γραμμές επικεφαλίδων (header lines) Μια κενή γραμμή που αποτελεί την διαχωριστική γραμμή (CRLF) Μια προαιρετική γραμμή που αποτελεί το σώμα του μηνύματος και μπορεί να περιέχει ένα αρχείο, δεδομένα αναζήτησης κ.α. Αυτά είναι και τα πραγματικά δεδομένα 22
HTTP ΜέθοδοιRequest GET GET http://www.w3.org/pub/www/theproject.html HTTP/1.1 HEAD POST OPTIONS PUT DELETE TRACE CONNECT 23
HTTP Response Η πρώτη γραμμή: Γραμμή κατάστασης 3 πεδία Protocol version, Status-Code,Reason-Phrase HTTP/1.1 200 ΟΚ Status Codes Informational 1xx Successful 2xx Redirection 3xx Client Error 4xx Server Error 5xx 24
HTTP Η εικόνα ανήκει στο διδάσκοντα 25
HTTP Media Types Ορίζονταιαπό το RFC1590 Πρόκειται για επέκταση των MIME Types Τα mime types χρησιμοποιούνται από το SMTP, για τον καθορισμό του τύπου δεδομένων που μεταφέρονται Υπάρχουν 6 τύποι δεδομένων Text Image Audio Application Structured Message 26
Δομή Web Browser Graphical User Interface Driver HTML Interpreter Optional Interpreter T R a n s p o r t L a y e r HTTP Client FTP Client Mail Client Controller Or Dispatcher 27
Τέλος Ενότητας
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 29
Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 30
Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Ιωάννης Γαροφαλάκης, 2015. «Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1093/. 31
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 32