93
Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #7: Επίπεδο Εφαρμογών (Application layer). Εργαστηριακές ασκήσεις στο εργαλείο προσομοίωσης δικτύων OPNET Γαβαλάς Δαμιανός [email protected] Εαρινό εξάμηνο

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Embed Size (px)

DESCRIPTION

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη # 7: Επίπεδο Εφαρμογών ( Application layer). Εργαστηριακές ασκήσεις στο εργαλείο προσομοίωσης δικτύων OPNET. Γαβαλάς Δαμιανός [email protected]. Εαρινό εξάμηνο. Περίληψη διάλεξης. Γενικές αρχές και κατηγορίες δικτυακών εφαρμογών - PowerPoint PPT Presentation

Citation preview

Page 1: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)Διάλεξη #7: Επίπεδο Εφαρμογών (Application layer). Εργαστηριακές ασκήσεις στο εργαλείο προσομοίωσης δικτύων OPNET

Γαβαλάς Δαμιανός[email protected]Εαρινό εξάμηνο

Page 2: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Περίληψη διάλεξης

Γενικές αρχές και κατηγορίες δικτυακών εφαρμογών

Ο ρόλος του Επιπέδου Εφαρμογών (Application Layer)

Πρωτόκολλα Επιπέδου Εφαρμογών HTTP FTP SMTP DNS

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

Page 3: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)
Page 4: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Το μοντέλο αναφοράς OSI (Open Systems Interconnection)

Τα πακέτα

στο επίπεδο δικτύου

ονομάζονται

datagrams

Τα πακέτα

στο data link layer ονομάζον

ται πλαίσια (frames)

Τα πακέτα

στο επίπεδο

μεταφοράς

ονομάζονται

segments

Page 5: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Το μοντέλο αναφοράς TCP/IP

Page 6: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Παραδείγματα δικτυακών εφαρμογών

E-mail Web Instant messaging (π.χ. chat) Remote login P2P file sharing Multi-user network games Audio και video Streaming Internet telephony Real-time video conference

Page 7: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία δικτυακών εφαρμογών

Ανάπτυξη προγραμμάτων που:

τρέχουν σε διαφορετικά συστήματα

επικοινωνούν μέσω ενός δικτύου

π.χ., Web: Το λογισμικό του Web server επικοινωνεί με το λογισμικό ενός browser

Το επίπεδο εφαρμογών ΔΕΝ αφορά συσκευές του πυρήνα (core) των δικτύων, π.χ. routers

Αυτές οι συσκευές δεν λειτουργούν στο επίπεδο μεταφοράς

Ένας τέτοιος σχεδιασμός επιτρέπει τη γρήγορη ανάπτυξη εφαρμογών

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 8: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αρχιτεκτονικές δικτυακών εφαρμογών Αρχιτεκτονικές δικτυακών εφαρμογών

Client-server (μοντέλο πελάτη – διακομιστή)

Peer-to-peer (P2P) (μοντέλο διομότιμης επικοινωνίας)

Hybrid of client-server and P2P (υβριδικό μοντέλο πελάτη – διακομιστή και διομότιμης επικοινωνίας)

Page 9: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αρχιτεκτονική client-server

Διακομιστής (server): Ένας κόμβος που είναι

πάντα ‘ανοικτός’ (always-on host)

Σταθερή IP διεύθυνση Πολλαπλοί servers

(server farms) για καλύτερη κλιμάκωση

Πελάτες (clients): Επικοινωνούν με

servers Δεν είναι πάντοτε on ή

συνδεδεμένοι Μπορεί να έχουν

δυναμικές IP διευθύνσεις

Δεν επικοινωνούν απ’ ευθείας μεταξύ τους

Page 10: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αμιγής P2P αρχιτεκτονική

Δεν υπάρχει κάποιος ‘always-on’ server

Αυθαίρετη απευθείας επικοινωνία τελικών κόμβων (end systems)

Οι επικοινωνούντες ομότιμοι κόμβοι (peers) δεν είναι πάντα συνδεδεμένοι ούτε έχουν απαραίτητα σταθερή IP διεύθυνση

Παράδειγμα: Gnutella

Αυτή η αρχιτεκτονική προσφέρει πολύ καλή κλιμάκωση (Highly scalable)

Είναι όμως δύσκολη στη διαχείριση (difficult to manage)

Page 11: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Υβριδική αρχιτεκτονική client-server και P2P Napster

H μεταφορά αρχείων είναι P2P Η αναζήτηση αρχείων είναι κεντρική (centralized):

Οι Peers καταγράφουν το περιεχόμενό τους σε έναν κεντρικό server

Οι Peers εκτελούν ερωτήματα στον κεντρικό server για να εντοπίσουν περιεχόμενο που τους ενδιαφέρει

Instant messaging Online Chat μεταξύ των χρηστών με P2P Ο εντοπισμός της τοποθεσίας του χρήστη γίνεται

κεντρικά: Ο χρήστης καταγράφει την IP διεύθυνσή του σε ένα κεντρικό

server όταν συνδέεται online Ο χρήστης βρίσκει μέσω του κεντρικού server τις IP

διευθύνσεις των φίλων του

Page 12: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Επικοινωνία μεταξύ διεργασιών (Processes communication) Διεργασία (Process):

πρόγραμμα που τρέχει σε έναν Η/Υ

Μέσα στον ίδιο H/Y, δύο διεργασίες μπορούν να επικοινωνήσουν χρησιμοποιώντας inter-process communication (ορίζεται από το λειτουργικό σύστημα)

Διεργασίες που τρέχουν σε διαφορετικούς Η/Υ επικοινωνούν με την ανταλλαγή μηνυμάτων (messages)

Client process: η διεργασία που αρχίζει μια επικοινωνίαServer process: η διεργασία που περιμένει διεργασίες πελατών να έρθουν σε επαφή μαζί της

Page 13: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διευθυνσιοδότηση διεργασιών (Addressing processes)

Μια διεργασία πρέπει να έχει ένα αναγνωριστικό (διεύθυνση) για να λάβει μηνύματα Κάθε κόμβος έχει μια μοναδική 32-bit IP διεύθυνση Ερώτηση: αρκεί η IP διεύθυνση του Η/Υ όπου τρέχει μια διεργασία ως διεύθυνση της διεργασίας; Απάντηση: Όχι, πολλές διεργασίες μπορεί να εκτελούνται ταυτόχρονα στον ίδιο Η/Υ

Η διεύθυνση μια διεργασίας περιλαμβάνει την IP διεύθυνση του Η/Υ και τον αριθμό θύρας (port number) που σχετίζεται με τη διεργασία Παραδείγματα port numbers:

HTTP server: 80 Mail server: 25

Page 14: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ένα πρωτόκολλο του Application layer ορίζει:

Τον τύπο των μηνυμάτων που ανταλλάσσονται, π.χ., request & response μηνύματαΣύνταξη των μηνυμάτων: ποια πεδία περιλαμβάνουν, πως απεικονίζονται τα πεδίαΣημασία της πληροφορίας που ενσωματώνεται σε κάθε πεδίοΚανόνες σχετικά με το πότε και πως οι διεργασίες στέλνουν και αποκρίνονται σε μηνύματα

Δημόσια (Public-domain) πρωτόκολλα:Ορίζονται σε RFCs (Requests for Comments)Επιτρέπουν τη διαλειτουργικότηταπ.χ., HTTP, SMTP

Ιδιωτικά (Proprietary) πρωτόκολλα:π.χ., KaZaA

Page 15: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Απαιτήσεις κοινών εφαρμογών από την υπηρεσία μεταφοράς (Transport service)

Application

file transfere-mail

Web documentsreal-time audio/video

stored audio/videointeractive gamesinstant messaging

Data loss

no lossno lossno lossloss-tolerant

loss-tolerantloss-tolerantno loss

Bandwidth

elasticelasticelasticaudio: 5kbps-1Mbpsvideo:10kbps-5Mbpssame as above few kbps upelastic

Time Sensitive

όχιόχιόχιναι, 100’s msec

ναι, λίγα secsναι, 100’s msecναι

Elastic: όσο bandwidth περισσέψει

Loss-tolerant: ανεκτικότητα σε απώλειες

Page 16: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Πρωτόκολλα μεταφοράς (transport protocols) στο InternetTCP: Με σύνδεση (connection-

oriented): απαιτείται εγκατάσταση σύνδεσης μεταξύ των διεργασιών πελάτη και διακομιστή

Αξιόπιστη μεταφορά (reliable transport) μεταξύ της διεργασίας-αποστολέα και της διεργασίας-παραλήπτη

Έλεγχος ροής (flow control): ο αποστολέας δεν κατακλύζει τον παραλήπτη με πολλά δεδομένα

Έλεγχος συμφόρησης (congestion control): ο αποστολέας δεν υπερφορτώνει το δίκτυο

Δεν παρέχει: εγγυήσεις για χρονισμό (timing) και χρήση του ελάχιστου δυνατού bandwidth

UDP: Γρήγορη αλλά

αναξιόπιστη μεταφορά δεδομένων ανάμεσα σε επικοινωνούντες διεργασίες

Δεν παρέχει: εγκατάσταση σύνδεσης, αξιοπιστία, έλεγχο ροής, έλεγχο συμφόρησης, εγγυήσεις για χρονισμό (timing) και χρήση του ελάχιστου δυνατού bandwidth

Page 17: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εφαρμογές Internet: πρωτόκολλα του Application και Transport layer

Application

e-mailremote terminal access

Web file transfer

streaming multimedia

Internet telephony

Applicationlayer protocol

SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]ιδιωτικό(π.χ. RealNetworks)ιδιωτικό(π.χ., Dialpad)

Underlyingtransport protocol

TCPTCPTCPTCPTCP ή UDP

τυπικά UDP

Page 18: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Σύνοψη του HTTP (HyperText Markup Language)

Πρωτόκολλο του Web, λειτουργεί στο application layer

Μοντέλο client/server client: ένας browser που

στέλνει αιτήσεις, λαμβάνει και εμφανίζει Web αντικείμενα

server: Web server που στέλνει αντικείμενα σε απόκριση εισερχόμενων αιτήσεων

HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 Web αντικείμενα: HTML, JPEG,

Java applet, audio, video files Κάθε web αντικείμενο έχει μια

URL διεύθυνση:

PC runningExplorer

Server running

Apache Webserver

Mac runningNavigator

HTTP request

HTTP request

HTTP response

HTTP response

www.someschool.edu/someDept/pic.gif

host name path name

Page 19: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Σύνοψη του HTTP

Χρησιμοποιεί TCP: Ο client στέλνει μια

αίτηση για TCP σύνδεση με το server, στην port 80

Ο server δέχεται την TCP σύνδεση από τον client

HTTP μηνύματα (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)

TCP connection closed

Το HTTP είναι ‘αμνήμων’ (“stateless”)

Ο server δεν διατηρεί πληροφορία σχετικά με προηγούμενες αιτήσεις πελατών

Page 20: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

HTTP συνδέσεις

Όχι-επίμονο (Non-persistent) HTTP

Το πολύ ένα web αντικείμενο μπορεί να σταλεί πάνω από κάθε TCP σύνδεση

π.χ. για να «κατεβεί» μια web σελίδα με 10 εικόνες θα χρειαστούν 11 TCP συνδέσεις (εγκατάσταση και τερματισμός)

Το HTTP/1.0 χρησιμοποιεί non-persistent HTTP

Επίμονο (Persistent) HTTPΠολλά web αντικείμενα μπορούν μέσω μίας μόνο TCP σύνδεσης σε έναν web browserΤο HTTP/1.1 χρησιμοποιεί persistent συνδέσεις

Page 21: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

HTTP request μήνυμα

Δύο τύποι HTTP μηνυμάτων: request, response HTTP request μήνυμα:

ASCII (μορφή αναγνώσιμη από ανθρώπους)

GET /somedir/page.html HTTP/1.1Host: www.someschool.edu User-agent: Mozilla/4.0Connection: close Accept-language:fr

(extra carriage return, line feed)

request line(GET, POST,

HEAD εντολές)

header lines

Carriage return, line feed

indicates end of message

Page 22: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

HTTP request μήνυμα: γενική μορφή

Page 23: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

HTTP response μήνυμα

HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ...

status line(protocol

status codestatus phrase)

header lines

data, e.g., requestedHTML file

ΗΤΤP status code

Page 24: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

HTTP response status codes

200 OK request succeeded, requested object later in this

message

301 Moved Permanently requested object moved, new location specified later

in this message (Location:)

400 Bad Request request message not understood by server

404 Not Found requested document not found on this server

505 HTTP Version Not Supported

In first line in server->client response message.A few sample codes:

Page 25: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αποθηκεύοντας στοιχεία για τη διάδραση χρηστών με server: cookies

Πολλά μεγάλα Web sites χρησιμοποιούν cookiesΤέσσερα στοιχεία:

1) cookie header γραμμή στο HTTP response μήνυμα

2) cookie header line στο HTTP request μήνυμα

3) Το cookie file διατηρείται στον Η/Υ του χρήστη και το διαχειρίζεται ο browser του χρήστη

4) Αποθήκευση δεδομένων στη βάση δεδομένων του Web site

Παράδειγμα: Ο Τάκης συνδέεται στο

Internet πάντα από τον ίδιο Η/Υ

Επισκέπτεται ένα συγκεκριμένο e-commerce site για πρώτη φορά

Όταν οι αρχικές HTTP αιτήσεις φθάνουν στο site, το site δημιουργεί ένα μοναδικό ID και το αποθηκεύει στη ΒΔ του

Page 26: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Λειτουργία των Cookies

client server

usual http request msgusual http response

+Set-cookie: 1678

usual http request msg

cookie: 1678usual http response

msg

usual http request msg

cookie: 1678usual http response msg

cookie-specificaction

cookie-spectificaction

servercreates ID

1678 for user

entry in backend

database

access

acce

ss

Cookie file

amazon: 1678ebay: 8734

Cookie file

ebay: 8734

Cookie file

amazon: 1678ebay: 8734

μια βδομάδα αργότερα:

Page 27: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Χρήσεις των cookies

Εξουσιοδότηση πρόσβασης (authorization) Καλάθια αγορών (shopping carts) Προτάσεις (recommendations) .......

Page 28: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσωρινή αποθήκευση Web αντικειμένων: web caches (proxy server)

Ο browser στέλνει όλα τα HTTP requests σε ένα ενδιάμεσο (cache) Αν το αιτούμενο

αντικείμενο υπάρχει στο cache, το cache θα το επιστρέψει

Διαφορετικά, το cache θα προωθήσει την αίτηση στον (origin) που θα επιστρέψει το αντικείμενο στον client

Στόχος: να ικανοποιήσουμε τις αιτήσεις των clients χωρίς απαραίτητα τη βοήθεια του web server που αποθηκεύει το αιτούμενο περιεχόμενο

client

Proxyserver

client

HTTP request

HTTP request

HTTP response

HTTP response

HTTP request

HTTP response

origin server

origin server

Ερώτηση: ποια είναι τα πλεονεκτήματα και ποια τα προβλήματα που εντοπίζετε σε αυτή τη μέθοδο;

Page 29: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσωρινή αποθήκευση Web αντικειμένων: web caches (proxy server) To Cache (proxy server)

λειτουργεί ως client και server

Γιατί Web caching? Μειώνει το χρόνο

απόκρισης για την εξυπηρέτηση client requests

Μειώνει την κίνηση (traffic) στο access link του οργανισμού

originservers

Internet

Δίκτυοοργανισμού 10 Mbps LAN

1.5 Mbps access link

cacheοργανισμού

Μειονεκτήματα: Τα cached αντικείμενα

μπορεί να έχουν στο μεταξύ ενημερωθεί στον origin server

Απαιτείται (μεγάλος) αποθηκευτικός χώρος στον proxy server

Page 30: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Υπο συνθήκη (Conditional) GET

O cache συχνά ενημερώνει το περιεχόμενό του

Στόχος: ο server αν μη στείλει το αντικείμενο αν το cache έχει μία πρόσφατη έκδοσή του

Cache: Ορίζεται η ημερομηνία του cached copy στο HTTP requestIf-modified-since: <date>

Server: το response δεν περιέχει δεδομένα (το αντικείμενο) αν το αντικείμενο δεν έχει τροποποιηθεί από τότε που έγινε cached:HTTP/1.0 304 Not Modified

cache server

HTTP request msgIf-modified-since:

<date>

HTTP responseHTTP/1.0

304 Not Modified

To αντικείμενοδεν έχει

τροποποιηθεί

HTTP request msgIf-modified-since:

<date>

HTTP responseHTTP/1.0 200 OK

<data>

To αντικείμενοέχει

τροποποιηθεί

Page 31: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

FTP: File Transfer Protocol (Πρωτόκολλο Μεταφοράς Αρχείων)

Μεταφορά αρχείων από/προς ένα απομακρυσμένο Η/Υ (FTP server)

client/server μοντέλο client: αρχίζει τη διαδικασία της μεταφοράς

(από/προς τον FTP server) server: o απομακρυσμένος Η/Υ

ftp: RFC 959 Ο ftp server είναι λογισμικό που «τρέχει» στην

port 21

file transfer FTPserver

FTPuser

interface

FTPclient

local filesystem

remote filesystem

user at host

Page 32: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

FTP: ξεχωριστές συνδέσεις για μεταφορά εντολών και για μεταφορά αρχείων

Ο FTP client ανοίγει μια TCP σύνδεση με την εφαρμογή FTP server στην port 21

Ο Client περνάει από μια διαδικασία εξουσιοδότησης πρόσβασης (Login)

Ο Client μπορεί να επισκοπήσει (browse) τους απομακρυσμένους φακέλους στέλνοντας FTP εντολές μέσα από την ίδια TCP σύνδεση

Όταν ο server δέχεται μία εντολή για μεταφορά αρχείου, ο server ανοίγει μία “FTP data” TCP σύνδεση με τον client

Μετά την ολοκλήρωση της μεταφοράς κάθε αρχείου, ο server κλείνει την “FTP data” σύνδεση

Ξεχωριστές FTP data συνδέσεις για κάθε μεταφορά αρχείου

FTPclient

FTPserver

TCP control connection

port 21

TCP data connectionport 20

Page 33: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

FTP εντολές, αποκρίσεις

Δείγματα εντολών: Στέλνονται ως ASCII

κείμενο πάνω από τη “σύνδεση ελέγχου”

USER username PASS password LIST επιστρέφει τη

λίστα των αρχείων του τρέχοντος φακέλου

RETR filename ανακτάει (get) ένα αρχείο

STOR filename ανεβάζει (put) ένα αρχείο στον FTP server

Δείγματα κωδικών που επιστρέφει ο FTP server:

status code και κείμενο (όπως στο HTTP)

331 Username OK, password required

125 data connection already open; transfer starting

425 Can’t open data connection

452 Error writing file

Page 34: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Electronic Mail

Τρία κύρια συστατικά: user agents (πράκτορες

χρηστών) mail servers simple mail transfer protocol

(SMTP)

User Agent Πρόγραμμα για την σύνταξη,

επεξεργασία, ανάγνωση, διαχείριση μηνυμάτων

π.χ., Eudora, Outlook, Netscape Messenger

Εξερχόμενα και εισερχόμενα μηνύματα αποθηκεύονται στον mail server

user mailbox

outgoing message queue

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 35: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Electronic Mail: mail servers

Mail Servers Το mailbox αποθηκεύει

εισερχόμενα μηνύματα για τους χρήστες

Ουρά μηνυμάτων (message queue) εξερχόμενων emails

To SMTP πρωτόκολλο διευθετίζει την αποστολή email μηνυμάτων μεταξύ mail servers

Ισχύει το client/server μοντέλο: client: ο αποστολέας mail

server “server”: ο αποδέκτης

mail server

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 36: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Electronic Mail: SMTP [RFC 2821]

Χρησιμοποιεί TCP για την αξιόπιστη μεταφορά email μηνυμάτων από ένα client σε ένα server, port 25

Απευθείας μεταφορά από τον αποστολέα στον αποδέκτη mail server

Τρεις φάσεις μεταφοράς Χειραψία (handshaking) Μεταφορά μηνυμάτων Τερματισμός σύνδεσης

Αλληλεπίδραση εντολή/απόκριση (command/response interaction) Εντολές: ASCII text Αποκρίσεις: status code και κείμενο

Page 37: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Σενάριο: Η Αλίκη στέλνει email στον Bob1) Η Αλίκη χρησιμοποιεί τον

User Agent (UA) για να συντάξει το μήνυμα προς τον (“to”) [email protected]

2) Ο UA της Αλίκης στέλνει το μήνυμα στον mail server της. Το μήνυμα τοποθετείται στην ουρά μηνυμάτων (message queue)

3) Ο mail server της Αλίκης (Client) ανοίγει μια TCP σύνδεση με τον mail server του Bob

4) O SMTP client στέλνει το μήνυμα ης Αλίκης μέσω της TCP σύνδεσης

5) Ο mail server του Bob τοποθετεί το εισερχόμενο μήνυμα στο προσωπικό του mailbox

6) Ο Bob κατεβάζει και διαβάζει το μήνυμα χρησιμοποιώντας τον user agent του

useragent

mailserver

mailserver user

agent

1

2 3 4 56

Page 38: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δείγμα SMTP διάδρασης

S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... 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

Page 39: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

SMTP: τελικά σχόλια

Το SMTP χρησιμοποιεί persistent συνδέσεις (μεταφορά πολλών αντικειμένων πάνω από την ίδια σύνδεση)

Το SMTP απαιτεί το μήνυμα (header & body) σε 7-bit ASCII

Ο SMTP server ψάχνει τους χαρακτήρες CRLF.CRLF για να εντοπίσει το τέλος του μηνύματος

Σύγκριση με HTTP: HTTP: pull SMTP: push

Και τα δύο χρησιμοποιούν ASCII command/response συναλλαγές, status codes

HTTP: κάθε αντικείμενο ενσωματώνεται σε ξεχωριστό response μήνυμα

SMTP: πολλαπλά αντικείμενα μπορούν να σταλούν σε ένα multipart μήνυμα

Page 40: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μορφή Mail μηνύματος

SMTP: πρωτόκολλο για ανταλλαγή emails

RFC 822: πρότυπο που ορίζει τη μορφή (format) των μηνυμάτων

header lines, e.g., To: From: Subject:

body το “μήνυμα”, μόνο ASCII

χαρακτήρες

header

body

blankline

Page 41: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μορφή mail μηνύματος: πολυμεσικές επεκτάσεις (multimedia extensions)

MIME: multimedia mail extension, RFC 2045, 2056 Πρόσθετες γραμμές στην κεφαλίδα του μηνύματος

δηλώνουν τον MIME τύπο περιεχομένου

From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg

base64 encoded data ..... ......................... ......base64 encoded data

multimedia δεδομένα,τύπος, υπο-τύπος,

δηλώσεις παραμέτρων

Μέθοδος κωδικοποίησηςδεδομένων

MIME version

κωδικοποιημένα δεδομένα

Page 42: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Πρωτόκολλα πρόσβασης σε mail servers (Mail access protocols)

Ο ρόλος του SMTP είναι η παράδοση / αποθήκευση μηνυμάτων στον mail server του παραλήπτηΟ ρόλος του Mail access protocol: ανάκτηση μηνυμάτων από τον server

POP: Post Office Protocol [RFC 1939] Εξακρίβωση ταυτότητας (authorization) μεταξύ user agent

<--> server και download IMAP: Internet Mail Access Protocol [RFC 1730]

Περισσότερες λειτουργίες (πιο πολύπλοκο) Χειρισμός αποθηκευμένων μηνυμάτων στο server

HTTP: Hotmail , Yahoo! Mail, etc.

useragent

sender’s mail server

useragent

SMTP SMTP accessprotocol

receiver’s mail server

Page 43: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

POP3 protocol

Φάση εξακρίβωσης ταυτότητας

εντολές client: user: ορίζει το

username pass: password

Αποκρίσεις του server +OK -ERR

Φάση συναλλαγής, client: list: list message numbers retr: retrieve message by

number dele: delete quit

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

S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

Page 44: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ρυθμίσεις email

Page 45: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS: Domain Name System (Σύστημα Ονομάτων Περιοχής)

Άνθρωποι: πολλά ‘αναγνωριστικά’:

Αριθμός ταυτότητας, όνομα, αριθμός διαβατηρίου, ...

Internet κόμβοι, routers: IP address (32 bit) –

χρησιμοποιούνται για την διευθυνσιοδότηση των IP datagrams

“όνομα”, π.χ., ww.yahoo.com – χρησιμοποιείται από ανθρώπους

Ερώτηση: αντιστοίχηση μεταξύ IP διευθύνσεων και ονομάτων;;;

Domain Name System: Κατανεμημένη βάση

δεδομένων υλοποιείται ως μία ιεραρχία πολλών name servers

Είναι ένα application-layer πρωτόκολλο με το ρόλο να διευθετήζει την επικοινωνία μεταξύ κόμβων, routers, name servers για την επίλυση (resolve) ονομάτων (διεύθυνση/όνομα μετάφραση)

Page 46: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS

Γιατί όχι κεντρικό DNS;;; μοναδικό σημείο αποτυχίας (single point of failure) μεγάλος όγκος κίνησης (traffic volume) μακρινή απόσταση ως την κεντρική ΒΔ & απόκριση (distant centralized database)

δεν έχει καλή κλιμάκωση (low scalability)

DNS υπηρεσίες Μετάφραση Hostname σε IP διεύθυνση Κατανομή φόρτου (Load distribution)

Πολλαπλοί πανομοιότυποι Web servers: σύνολο IP διευθύνσεων για ένα όνομα

Page 47: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

poly.eduDNS servers

umass.eduDNS servers

yahoo.comDNS servers

amazon.comDNS servers

pbs.orgDNS servers

Κατανεμημένη, Ιεραρχική Database

Ένας Client θέλει την IP του www.amazon.com; 1η μέθοδος:

Ο Client στέλνει ένα ερώτημα (queries) έναν root server για να βρει τον com DNS server

Ο Client στέλνει ένα ερώτημα στον com DNS server για να βρει τον amazon.com DNS server

Ο Client στέλνει ένα ερώτημα στον amazon.com DNS server για να βρει την IP address του www.amazon.com

Page 48: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS: Root name servers

Ο τοπικός name server έρχεται σε επαφή με τον root name server root name server:

έρχεται σε επαφή με τον κατάλληλο (authoritative) name server αν το όνομα που ζητείται δεν είναι γνωστό

Βρίσκει την αντιστοίχηση Επιστρέφει την αντιστοίχηση στον τοπικό name

server

13 root name servers παγκοσμίως

b USC-ISI Marina del Rey, CAl ICANN Los Angeles, CA

e NASA Mt View, CAf Internet Software C. Palo Alto, CA (and 17 other locations)

i Autonomica, Stockholm (plus 3 other locations)

k RIPE London (also Amsterdam, Frankfurt)

m WIDE Tokyo

a Verisign, Dulles, VAc Cogent, Herndon, VA (also Los Angeles)d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MDj Verisign, ( 11 locations)

Page 49: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

TLD και Authoritative Servers

Top-level domain (TLD) servers: υπεύθυνοι για com, org, net, edu, etc, και όλα τα top-level domains χωρών uk, fr, ca, jp. Network solutions maintains servers for com TLD Educause for edu TLD

Authoritative DNS servers: DNS servers των οργανισμών, παρέχουν hostname <--> IP αντιστοιχίσεις για τους servers του οργανισμού (π.χ., Web και mail). Μπορεί να διατηρούνται από τον οργανισμό ή

τον παροχέα υπηρεσιών

Page 50: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Τοπικός Name Server

Δεν ανήκει απαραίτητα στην ιεραρχία Κάθε ISP (εμπορικός ISP, εταιρία, παν/μιο)

διαθέτει ένα τοπικό DNS Αποκαλείται και “default name server”

Όταν ένας κόμβος εκτελεί ένα DNS ερώτημα, το ερώτημα στέλνεται στον τοπικό DNS server Λειτουργεί ως ενδιάμεσος (proxy), προωθεί το

ερώτημα στην ιεραρχία

Page 51: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

τοπικός DNS serverdns.poly.edu

1

23

4

5

6

authoritative DNS serverdns.cs.umass.edu

78

TLD DNS server

Παράδειγμα

Ο κόμβος cis.poly.edu θέλει να βρει την IP διεύθυνση του gaia.cs.umass.edu

Page 52: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

local DNS serverdns.poly.edu

1

2

45

6

authoritative DNS serverdns.cs.umass.edu

7

8

TLD DNS server

3

Αναδρομικά ερωτήματα (recursive queries)

Αναδρομικό (iterative) ερώτημα: Μεταφέρει το βάρος της επίλυσης του ονόματος από τον τοπικό στους root και TLD servers μεγάλος φόρτος!

Επαναληπτικό (recusrsive) ερώτημα: Ο name server με τον οποίο ήρθαμε σε επαφή απαντάει με την IP που αντιστοιχεί στο όνομα που στείλαμε Αν δεν το ξέρει: “Δεν ξέρω αυτό το όνομα, αλλά ρώτησε αυτό το name server”

Page 53: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Παράδειγμα εκτέλεσης ερωτήματος με αναδρομή (recursive)

Page 54: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS: προσωρινή αποθήκευση (caching) και ενημέρωση (updating) εγγραφών

Μόλις κάποιος name server μάθει κάποια νέα αντιστοίχηση, την αποθηκεύει (caches) Οι cache εγγραφές λήγουν (timeout) μετά από

κάποιο χρόνο Οι IP διευθύνσεις των TLD servers είναι τυπικά

αποθηκευμένες στους τοπικούς name servers Έτσι οι τοπικοί name servers δεν επισκέπτονται συχνά

τους root name servers

Page 55: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS εγγραφές (records)

DNS: κατανεμημένη αποθήκευση resource records (RR) σε ΒΔ

Type=NS name είναι περιοχή (e.g.

foo.com) value είναι IP διεύθυνση

του authoritative name server αυτής της περιοχής

μορφή RR: (name, value, type, ttl)

Type=A name είναι όνομα κόμβου

(hostname) value είναι IP διεύθυνση

Type=CNAME name είναι ψευδο-όνομα (alias)

για κάποιο «κανονικό» (αληθινό) όνομα

www.ibm.com είναι στην πραγματικότητα

servereast.backup2.ibm.com value είναι το αληθινό όνομα

Type=MX value είναι το όνομα του

mailserver που συσχετίζεται με το name

ttl: time to live (μετά από πόσο χρόνο θα λήξει η

εγγραφή)

Page 56: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS πρωτόκολλο: μηνύματα

DNS πρωτόκολλο: query και reply μηνύματα, και τα δύο με την ίδια μορφή μηνύματος (format)

Κεφαλίδα μηνύματος identification: 16-bit α/α (#) για ερώτημα, η απάντηση στην ερώτηση χρησιμοποιεί τον ίδιο # Flags (σημαίες):

query ή reply ζητείται αναδρομή

(recursion) recursion διαθέσιμη η απάντηση είναι

authoritative

Page 57: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

DNS πρωτόκολλο: μηνύματα

Όνομα, τύπος πεδίωνγια ένα ερώτημα

RRs σε απάντησηερωτήματος

εγγραφές γιαauthoritative servers

επιπλέον “βοηθητική”πληροφορία που μπορεί

να χρησιμοποιηθεί

Page 58: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εισαγωγή εγγραφών στο DNS

Παράδειγμα: μόλις δημιουργήσαμε την εταιρία “Network Utopia”

Θέλουμε να καταγράψουμε το όνομα networkuptopia.com σε κάποιον DNS (registrar) Πρέπει να παρέχουμε στον registrar τα

ονόματα και IP διευθύνσεις του authoritative name server (primary and secondary)

O Registrar εισάγει RRs (resource records) στον “com TLD server”:

(networkutopia.com,dns1.networkutopia.com,NS)(dns1.networkutopia.com, 212.212.212.1, A)

Type: domai

n

Type: host

Page 59: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)
Page 60: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

OPNET

Εργαλείο προσομοίωσης δικτύων (network simulation tool) Γιατί χρειάζονται τα εργαλεία προσομοίωσης δικτύων;

Προσμοιώνουν τον πραγματικό κόσμο στην οθόνη του υπολογιστή

Για ακαδημαϊκούς σκοπούς Δυνατότητα σχεδιασμού δικτύων (network models) με ρεαλιστικά μέσα

μετάδοσης, δικτυακές συσκευές, δικτυακά πρωτόκολλα Βοηθούν στην κατανόηση της λειτουργίας των δικτύων και των επιπτώσεων

της αύξησης του αριθμού χρηστών ή της δικτυακής κίνησης (traffic) Επιλογή στατιστικών (από όλο το δίκτυο ή μια συγκεκριμένη συσκευή) που θα

συλλεχθούν από την προσομοίωση «Τρέξιμο» προσομοίωσης, επισκόπηση και κατανόηση παραγόμενων

στατιστικών Για τους διαχειριστές δικτύων

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

Ανάλυση απαιτήσεων χρηστών, εφαρμογών και (σε συνδυασμό με μια ανάλυση κόστους) προσομοίωση δικτυακών λύσεων και επιλογή εκείνης με το καλύτερο λόγο «value for money»

Αντίστοιχα, προσομοίωση δικτυακών λύσεων για επέκταση (upgrade) υφιστάμενων λύσεων

Page 61: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μεθοδολογία Προσομοίωσης

Αναλυτική παρουσίαση της μεθοδολογίας που ακολουθείται

Συνοπτική παρουσίαση της μεθοδολογίας που ακολουθείται

Page 62: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μικρής κλίμακας τοπικά δίκτυα

Η σημερινή εργαστηριακή άσκηση στο OPNET

επικεντρώνει στην επέκταση του δικτύου μικρής

κλίμακας που δημιουργήσαμε στο προηγούμενο

μάθημα

Στο τέλος της άσκησης θα έχουμε:

δημιουργήσει μια νέα δικτυακή τοπολογία (σενάριο)

που θα αποτελεί επέκταση της προηγούμενης

συλλέξει στατιστικές μετρήσεις για την απόδοση

του (νέου) δικτύου

συγκρίνει τις μετρήσεις αυτές μεταξύ των δύο

‘όψεων’ του δικτύου (σεναρίου)

Page 63: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία νέου project

H σχεδίαση γίνεται στον Project Editor που εμφανίζεται εξ’ ορισμού με τη δημιουργία ενός project

H δημιουργία ενός μοντέλου δικτύου (network model) προϋποθέτει τη δημιουργία ενός σεναρίου που ενσωματώνεται σε ένα project

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

Σε κάθε ένα από τα σενάρια αυτά εξετάζεται διαφορετική προσέγγιση του δικτύου

Τα βασικά χαρακτηριστικά καθορίζονται μέσω του Startup Wizard

Page 64: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Project Editor window

Page 65: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Project Editor buttons

Page 66: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία ενός δικτύου: Τοπολογία – Χρήση του Rapid Configuration wizard Δημιουργεί ένα δίκτυο επιλέγοντας:

Την τοπολογία του δικτύου Τους τύπους των κόμβων του δικτύου

Κόμβος (node): συμβολίζει ένα πραγματικό δικτυακό αντικείμενο που μπορεί να μεταδίδει και να λαμβάνει δεδομένα

Συνδέσεις (links): Επικοινωνιακό μέσο που διασυνδέει κόμβους μεταξύ τους.

Page 67: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: Rapid Configuration wizard Επιλέξτε Topology Rapid Configuration Star

Προσδιορίστε τα node models και link models του δικτύου. Τα models ακολουθούν το παρακάτω σχήμα ονομασίας:

<protocol1>_..._<protocoln>_<function>_<mod> <protocol> ορίζει το πρωτόκολλο(α) που

υποστηρίζονται από το μοντέλο <function>: συντόμευση της γενικής λειτουργίας του

μοντέλου <mod>: δείχνει το επίπεδο κληρονομικότητας

(derivation) του μοντέλου

Page 68: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: Rapid Configuration wizard

Page 69: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: Rapid Configuration wizard

Page 70: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: προσθήκη server Έχοντας δημιουργήσει τη γενική δικτυακή τοπολογία,

πρέπει να προσθέσουμε ένα διακομιστή (server) Θα χρησιμοποιήσουμε τη 2η μέθοδο δημιουργίας δικτυακών

αντικειμένων: θα «τραβήξουμε» αντικείμενα από την παλέτα αντικειμένων (object palette) στο χώρο εργασίας (workspace)

Αν δεν είναι ήδη ανοικτή, ανοίξτε την object palette με κλικ στο αντίστοιχο πλήκτρο

Τραβήξτε το Sm_Int_server αντικείμενο στο workspace. Στη συνέχεια πρέπει να συνδέσουμε το server στο

υπόλοιπο δίκτυο με ένα 10BaseT link Κάνετε κλικ στο 10BaseT link object στην παλέτα Κάνετε ένα κλικ στο server και ένα στο switch (στο κέντρο

του star) ώστε να σχεδιασθεί ένα link που θα συνδέει τα δύο αντικείμενα

Page 71: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: ορισμός traffic Τέλος, πρέπει να προστεθούν αντικείμενα (configuration

objects) για τον προσδιορισμό της δικτυακής κίνησης που προέρχεται από εφαρμογές (application traffic).

Η κίνηση του δικτύου προστίθεται μέσω αντικειμένων διαμόρφωσης της παλέτας αντικειμένων Αντικείμενο καθορισμού εφαρμογών (application definition

object): εφαρμογές που «τρέχουν» στο δίκτυο (π.χ. e-mail) και συχνότητα με την οποία στέλνουν / ζητούν δεδομένα

Αντικείμενο καθορισμού προφίλ χρηστών (profile definition objects):

Είδος των εφαρμογών που χρησιμοποιεί (π.χ. light database access)

Συχνότητα με την οποία καλεί τη συγκεκριμένη εφαρμογή

Page 72: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: ορισμός traffic Στα πλαίσια αυτής της άσκησης, εισάγουμε από την

παλέτα αντικειμένων (object palette): ένα application definition object με τις προκαθορισμένες

ρυθμίσεις (default configurations) των standard applications

ένα profile definition object με ένα προφίλ που μοντελοποιεί πρόσβαση σε βάση δεδομένων

Page 73: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Profile definition object

Η δημιουργία του δικτύου έχει πλέον ολοκληρωθεί και είμαστε έτοιμοι για τη συλλογή στατιστικών

Page 74: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: συλλογή στατιστικών Μπορούμε να συλλέξουμε στατιστικά για μεμονωμένα

αντικείμενα του δικτύου (object statistics) ή για ολόκληρο το δίκτυο (global statistics)

Τα στατιστικά επιλέγονται για κάθε σενάριο ξεχωριστά και αφορούν μόνο το σενάριο για το οποίο έχουν επιλεχθεί

Μας ενδιαφέρει να συλλέξουμε στατιστικά που θα απαντούν ερωτήματα όπως: Θα αντέξει ο server τον επιπλέον φόρτο από ένα δεύτερο

δίκτυο; Η συνολική καθυστέρηση (total delay) στο δίκτυο θα είναι

αποδεκτή όταν εγκατασταθεί το 2ο δίκτυο; Για να απαντηθούν αυτές οι ερωτήσεις πρέπει να έχουμε

εικόνα της παρούσας κατάστασης του δικτύου (πριν επεκταθεί)

Χρειαζόμαστε ένα object statistic (Server Load) και ένα global statistic (Ethernet delay)

Page 75: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: συλλογή στατιστικών To Server load είναι ένα

βασικό στατιστικό που αντανακλά την απόδοση όλου του δικτύου

Right-click στον server node (node_31) Choose Individual Statistics

Page 76: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δημιουργία του δικτύου: συλλογή στατιστικών Συλλογή στατιστικών για τη

συνολική καθυστέρηση στο δίκτυο

Right-click στον κενό χώρο του workspace Choose Individual Statistics

Page 77: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

«Τρέξιμο» προσομοίωσης

Επιλέξτε Simulation Configure Discrete Event Simulation… ή κάνετε κλικ στο “configure / run simulation” πλήκτρο

Πληκτρολογείστε Duration: 0,5 για να προσομοιώσετε μισή ώρα δικτυακής λειτουργίας

Πατήστε ‘Run’ για να ξεκινήσει η προσομοίωση

Page 78: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

«Τρέξιμο» προσομοίωσης

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

Για πόσο χρόνο

εκτελείται ηπροσομοίωσ

η

Προσομοιωμένος χρόνος δικτυακής

λειτουργίας

Page 79: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Επισκόπηση αποτελεσμάτων

Right-click στον κενό χώρο του workspace View Results

Στην κορύφωσή του (peak) ο φόρτος (load) του server είναι λιγότερο από 6000 bits/second Αφού το δίκτυο σταθεροποιηθεί, η μέγιστη καθυστέρηση είναι περίπου 0.4 msec

Αυτές οι τιμές θα συγκριθούν με την εικόνα του δικτύου μετά την αναβάθμισή του

Page 80: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: δημιουργία διπλότυπου σεναρίου Ανάγκη για:

Μελέτη εναλλακτικών περιπτώσεων Σχεδιασμός νέας τοπολογίας Επέκταση υπάρχουσας υποδομής Διερεύνηση ‘what-if’ σεναρίων

Το νέο (αναβαθμισμένο) δίκτυο υλοποιείται στο OPNET ως διαφορετικό σενάριο, δημιουργώντας διπλότυπο (duplicate) του σεναρίου που ήδη υπάρχει

Page 81: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου

Έχουμε δημιουργήσει ένα αρχικό (baseline) δίκτυο και συλλέξαμε στατιστικά για αυτό

Είμαστε έτοιμοι να το αναβαθμίσουμε και να επιβεβαιώσουμε ότι εξακολουθεί να λειτουργεί ικανοποιητικά με επιπλέον φόρτο

Για να εκτελέσουμε σύγκριση μεταξύ των δύο μορφών του ίδιου δικτύου, καλό είναι να αποθηκεύουμε το αρχικό ως ένα σενάριο και το αναβαθμισμένο ως άλλο σενάριο Θα αντιγράψουμε το αρχικό σενάριο και θα κάνουμε

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

Επιλέξτε Scenarios Duplicate Scenario... Κρατήστε το ίδιο όνομα σεναρίου, προσθέτοντας τη λέξη

expansion στο τέλος Επιλέξτε OK.

Page 82: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου

Η αναβάθμιση αφορά επέκταση του υφιστάμενου δικτύου σε ένα δεύτερο όροφο

Ο δεύτερος όροφος θα έχει όμοια τοπολογία με τον πρώτο, μόνο που δεν θα έχει ξεχωριστό server

Επιλέξτε Topology Rapid Configuration

Επιλέξτε Star και δώσετε τις ρυθμίσεις που φαίνονται στη διπλανή εικόνα

Page 83: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: συνένωση των δικτύων των δύο ορόφων Αν δεν είναι ήδη ανοικτή, ανοίξτε την παλέτα

αντικειμένων (object palette) Εισάγετε στο workspace έναν Cisco 2514

δρομολογητή (router) ανάμεσα στα δύο δίκτυα Συνδέστε τον Cisco router με τους 3Com switches

(που βρίσκονται στο κέντρο κάθε star) με ένα 10BaseT link

Κλείστε την object palette Αποθηκεύστε το project επιλέγοντας File Save

Page 84: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: τελική τοπολογία & εκτέλεση της προσομοίωσης Επιλέξτε Simulation

Configure Discrete Event Simulation και

επιβεβαιώστε ότι η τιμή του Duration είναι 0,5 hours

Πατήστε ‘Run’ για να «τρέξει» η προσομοίωση

Page 85: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: Επισκόπηση αποτελεσμάτων Right-click στον κενό χώρο του workspace View

Results

Page 86: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: Σύγκριση αποτελεσμάτων των δύο σεναρίων Right-click στον κενό χώρο του workspace Compare

Results

Page 87: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αναβάθμιση του δικτύου: Ποιοτική αξιολόγηση αποτελεσμάτων Παρότι ο μέσος φόρτος (average

load) του server είναι υψηλότερος στο αναβαθμισμένο δίκτυο, όπως αναμενόταν, δεν αυξάνεται σταθερά με την πάροδο του χρόνου, δείχνοντας ότι το δίκτυο παραμένει σταθερό

Το δεύτερο γράφημα δείχνει ότι δεν υπάρχει σημαντική διαφορά στην καθυστέρηση του δικτύου (Ethernet delay). Ο φόρτος του server έχει αυξηθεί, όχι όμως και η καθυστέρηση

Page 88: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μέτρηση χρήσης (utilization) της CPU του server και εξερχόμενου traffic από τον database server Προσθέστε ένα ακόμα

στατιστικό: τη μέτρηση της χρήσης του επεξεργαστή (CPU) του server Θα πρέπει να ορίσετε το

στατιστικό αυτό και στα δύο σενάρια και ξανατρέξετε και τις δύο προσομοιώσεις

Για να «μετακινηθείτε» ανάμεσα σε διαφορετικά σενάρια επιλέξτε Scenarios Switch to scenario

Ομοίως, προσθέστε ένα στατιστικό για τη μέτρηση της κίνησης (traffic, bytes/sec) που προέρχεται από τον Database server (που είναι εγκατεστημένος στον server του δικτύου)

CPU Utilization

Page 89: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσθήκη νέας κίνησης (traffic) στο δίκτυο Δημιουργήστε ένα διπλότυπο του τελευταίου

σεναρίου Σε αυτό το νέο σενάριο θα προσομοιώσουμε τη

λειτουργία του δικτύου με προσθήκη νέων εφαρμογών που θα δημιουργούν επιπλέον κίνηση (traffic) στο δίκτυο και φόρτο στον server

Προσθήκη νέων εφαρμογών: Right-click στο Profile Definition object Edit

Attributes

Page 90: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσθήκη νέας κίνησης (traffic) στο δίκτυο Επιλέγουμε (...) και Edit

Page 91: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσθήκη νέας κίνησης (traffic) στο δίκτυο Στη συνέχεια αλλάζουμε τη λίστα των εφαρμογών

που περιέχονται στο συγκεκριμένο profile: Επιλέγουμε (...) και Edit

Page 92: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσθήκη νέας κίνησης (traffic) στο δίκτυο Στη συνέχεια αλλάζουμε τη λίστα των εφαρμογών

που περιέχονται στο συγκεκριμένο profile: Αντί ‘Database Access (Light)’ επιλέγουμε ‘Database

Access (Heavy)’

Page 93: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Προσθήκη νέας κίνησης (traffic) στο δίκτυο Δηλώστε ότι ο server

μπορεί να εκτελεί και τη νέα υπηρεσία:

Right-click στο server Edit attributes Application:

Supported Services = All

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