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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 12 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 12 Ιουνίου 2015

2 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

3 Αποστολή πακέτων δεδομένων Λειτουργία Ο αποστολέας λαμβάνει το μήνυμα από την εφαρμογή Δημιουργεί κομμάτια δεδομένων, τα πακέτα (packets), μήκους L bits Μεταδίδει το πακέτο στο δίκτυο πρόσβασης με ρυθμό μετάδοσης (transmission rate) R πακέτα, L bits το καθένα R: ρυθμός μετάδοσης μέσου Αποστολέας Καθυστέρηση μετάδοσης πακέτου Χρόνος μετάδοσης πακέτου L-bit στο μέσο = = L (bits) R (bits/sec) 3

4 Μεταγωγή πακέτου: αποθήκευση και προώθηση L bits ανά πακέτο πηγή R bps R bps προορισμός Χρειάζονται L/R seconds για τη μεταγωγή (push out) πακέτου L-bit σε μέσο R bps Ολόκληρο το πακέτο πρέπει να φτάσει στο δρομολογητή προτού μεταδοθεί στην επόμενη ζεύξη: αποθήκευση και προώθηση Καθυστέρηση 2L/R (χωρίς καθυστέρηση μεταγωγής) Παράδειγμα L = 7.5 Mbits R = 1.5 Mbps Καθυστέρηση = 5 sec 4

5 Μεταγωγή πακέτου: καθυστέρηση ουράς, απώλεια (1/2) A R = 100 Mb/s C B ουρά αναμονής εξερχόμενης ζεύξης R = 1.5 Mb/s D E Εάν ο ρυθμός άφιξης (σε bits) ξεπερνάει το ρυθμό μεταγωγής τα πακέτα θα μπούν σε ουρά αναμονής για τη μετάδοση τους στη ζεύξη πακέτα μπορεί να χαθούν αν γεμίσει η μνήμη (buffer) Για κάθε εξερχόμενη ζεύξη υπάρχει μια ουρά εξόδου 5

6 Μεταγωγή πακέτου: καθυστέρηση ουράς, απώλεια (2/2) Μεταφορά πακέτου (καθυστέρηση) A B Ουρά πακέτων (καθυστέρηση) Διαθέσιμοι buffers: μη διαθεσιμότητα οδηγεί σε απώλεια πακέτων 6

7 4 πηγές καθυστέρησης (1/2) A Μεταγωγή Μεταφορά / προώθηση B Επεξεργασία κόμβου Ουρά d nodal = d proc + d queue + d trans + d prop d proc : Καθυστέρηση επεξεργασίας κόμβου (nodal processing) Έλεγχος bit σφαλμάτων Καθορισμός εξερχόμενης ζεύξης Συνήθως < msec d queue : Καθυστέρηση ουράς (queueing delay) Αναμονή στην εξερχόμενη ζεύξη για μεταφορά Εξαρτάται από τη συμφόρηση 7

8 4 πηγές καθυστέρησης (2/2) A Μεταγωγή Μεταφορά / προώθηση B Επεξεργασία κόμβου Ουρά d nodal = d proc + d queue + d trans + d prop d trans : Καθυστέρηση μεταγωγής (transmission delay) Χρόνος για την έξοδο L: μήκος πακέτου (bits) R: εύρος ζεύξης (bps) d trans = L/R d trans και d prop πολύ διαφορετικά d prop : Καθυστέρηση μεταφοράς (propagation delay) d: μήκος φυσικής ζεύξης s: ταχύτητα μεταφοράς (~2x108 m/sec) d prop = d/s 8

9 Throughput (1/3) throughput: ρυθμός (bits/μονάδα χρόνου) μεταφοράς δεδομένων μεταξύ αποστολέα και παραλήπτη τρέχων: σε συγκεκριμένη χρονική στιγμή μέσο: για συγκεκριμένη διάρκεια Αποστολή server, with ροής δεδομένων file of F bits (bits) to send to client link Ζεύξη capacity που εξυπηρετεί R s bits/sec ροή με ρυθμό R s bits/sec Ζεύξη link capacity που εξυπηρετεί ροή R c bits/sec με ρυθμό R c bits/sec 9

10 Throughput (2/3) R s < R c Ποιο είναι το μέσω end-end throughput? R s bits/sec R c bits/sec R s > R c Ποιο είναι το μέσω end-end throughput? R s bits/sec R c bits/sec bottleneck link Ζεύξη σε ένα μονοπάτι end-end path που περιορίζει το ολικό throughput 10

11 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

12 Διαστρωμάτωση πρωτοκόλλων διαδικτύου (Internet protocol stack) Εφαρμογή (application): υποστηρίζει διαδικτυακές εφαρμογές Π.χ. FTP, SMTP, HTTP Μπορεί να είναι κατανεμημένο μεταξύ διαφορετικών συστημάτων Πακέτο = μήνυμα (message) Μεταφορά (transport): μεταφορά μηνυμάτων Π.χ. TCP, UDP Πακέτο = τεμάχιο (segment) Δικτύου (network): μεταφορά segments σε διευθύνσεις προορισμού (υπολογιστές) Π.χ. IP Πακέτο = datagram Ζεύξης (link): μεταφορά δεδομένων μεταξύ δικτυακών πόρων / κόμβων Π.χ. Ethernet, (WiFi), PPP Πακέτο = πλαίσιο (frame) application transport network link physical Φυσικού μέσου (physical): μεταφορά bits στο καλώδιο 12

13 Ενθυλάκωση Encapsulation (1/2) segment datagram frame message H l H n H n H t H t H t source M M M M application transport network link physical link physical switch H l H n H n H t H t H t M M M M destination application transport network link physical H l H n H n H t H t M M network link physical H n H t M router 13

14 Ενθυλάκωση Encapsulation (2/2) Σε κάθε επίπεδο υπάρχουν 2 είδη πεδίων: Κεφαλίδα (Header) Πακέτο από το προηγούμενο επίπεδο (payload field) Η ενθυλάκωση δεν είναι τόσο εύκολη Μεγάλα μηνύματα διασπώνται σε μικρότερα τμήματα επιπέδου μεταφοράς (segments) Απαιτείται επαναδημιουργία αυτών στον προορισμό 14

15 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

16 Διεργασίες Διεργασία (process): Το πρόγραμμα που εκτελείται σε κάποιον κόμβο (host) Σε έναν κόμβο, 2 διεργασίες επικοινωνούν μέσω interprocess communication (καθορίζεται από το ΛΣ) Διεργασίες σε διαφορετικούς κόμβους επικοινωνούν με ανταλλαγή μηνυμάτων (messages) clients, servers client process: η διεργασία που αρχίζει την επικοινωνία server process: η διεργασία που αναμένει επικοινωνία Οι εφαρμογές με αρχιτεκτονικές P2P έχουν διεργασίες client & διεργασίες server 16

17 Sockets (1/2) Κάθε διεργασία αποστέλλει / λαμβάνει μηνύματα μέσω του socket της (διεπαφή λογισμικού software interface) Το socket είναι ανάλογο της πόρτας Η διεργασία αποστολής ωθεί το μήνυμα στην πόρτα Η διεργασία αποστολής βασίζεται στην υποδομή μεταφοράς (transport) εκτός της πόρτας για να παραδώσει το μήνυμα στο socket (πόρτα) της διεργασίας λήψης application process socket application process Διαχειρίζονται από τον προγραμματιστή transport transport network link Internet network link Διαχειρίζονται από το ΛΣ physical physical 17

18 Sockets (2/2) Socket: interface μεταξύ επιπέδου εφαρμογής και επιπέδου μεταφοράς Πλευρά socket επιπέδου μεταφοράς ελέγχεται από το επίπεδο μεταφοράς Προγραμματιστής εφαρμογών ελέγχει την πλευρά του socket επιπέδου εφαρμογής Επιλογή πρωτοκόλλου Ορισμός παραμέτρων επιπέδου πρωτοκόλλου (μέγιστο buffer, μέγιστο μέγεθος segment) 18

19 Παράδειγμα UDP client Python socket library Δημιουργία UDP socket Λήψη input από το πληκτρολόγιο Προσθήκη server name, port στο message; Αποστολή στο socket Ανάγνωση απάντησης από το socket Εκτύπωση κειμένου και κλείσιμο socket Python UDPClient from socket import * servername = hostname serverport = clientsocket = socket(socket.af_inet, socket.sock_dgram) message = raw_input( Input lowercase sentence: ) clientsocket.sendto(message,(servername, serverport)) modifiedmessage, serveraddress = clientsocket.recvfrom(2048) print modifiedmessage clientsocket.close() 19

20 Παράδειγμα UDP server Python UDPServer Δημιουργία UDP socket Ανάθεση socket στο τοπικό port Διαρκές loop Ανάγνωση από το UDP socket και αποθήκευση στο message, λήψη διεύθυνσης client (IP και port) Αποστολή κεφαλαίων στον client from socket import * serverport = serversocket = socket(af_inet, SOCK_DGRAM) serversocket.bind(('', serverport)) print The server is ready to receive while 1: message, clientaddress = serversocket.recvfrom(2048) modifiedmessage = message.upper() serversocket.sendto(modifiedmessage, clientaddress) 20

21 Αλληλεπίδραση client/server socket με TCP server (εκτελείται στο hostid) Δημιουργία socket, port=x, για την εισερχόμενη αίτηση: serversocket = socket() client Αναμονή εισερχόμενης αίτησης σύνδεσης connectionsocket = serversocket.accept() Ανάγνωση αίτησης από connectionsocket TCP Δημιουργία σύνδεσης Δημιουργία socket, σύνδεση στο hostid, port=x clientsocket = socket() Αποστολή αίτησης με χρήση του clientsocket Απάντηση σε connectionsocket Κλείσιμο connectionsocket Ανάγνωση απάντησης από clientsocket Κλείσιμο clientsocket 21

22 Παράδειγμα TCP client Δημιουργία TCP socket για το server, απομακρυσμένη port Δε χρειάζεται η προσθήκη ονόματος server και port Python TCPClient from socket import * servername = servername serverport = clientsocket = socket(af_inet, SOCK_STREAM) clientsocket.connect((servername,serverport)) sentence = raw_input( Input lowercase sentence: ) clientsocket.send(sentence) modifiedsentence = clientsocket.recv(1024) print From Server:, modifiedsentence clientsocket.close() 22

23 Παράδειγμα TCP server Δημιουργία TCP socket καλωσορίσματος Ο server «ακούει» εισερχόμενες αιτήσεις TCP requests Διαρκές loop Ο server αναμένει accept() για εισερχόμενες αιτήσεις, και δημιουργεί νέο socket Ανάγνωση bytes από το socket (όχι τη διεύθυνση όπως στο UDP) Κλείσιμο σύνδεσης (όχι του socket καλωσορίσματος) Python TCPServer from socket import * serverport = serversocket = socket(af_inet,sock_stream) serversocket.bind((,serverport)) serversocket.listen(1) print The server is ready to receive while 1: connectionsocket, addr = serversocket.accept() sentence = connectionsocket.recv(1024) capitalizedsentence = sentence.upper() connectionsocket.send(capitalizedsentence) connectionsocket.close() 23

24 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

25 Πρωτόκολλο HTTP (1/2) HyperText Transfer Protocol Το πρωτόκολλο επιπέδου εφαρμογής του διαδικτύου Ακολουθεί το μοντέλο client/server client: Ο browser που ζητάει, λαμβάνει (μέσω του πρωτοκόλλου HTTP) και παρουσιάζει τα αντικείμενα server: Ο web server που αποστέλλει (μέσω του πρωτοκόλλου HTTP) αντικείμενα σε απάντηση των αιτημάτων PC με Firefox browser iphone με Safari browser server με Apache Web server 25

26 Πρωτόκολλο HTTP (2/2) Χρησιμοποιεί το TCP Ο client ξεκινάει τη σύνδεση TCP στο server, port 80 Ο server αποδέχεται τη σύνδεση TCP από τον client Μηνύματα HTTP (μηνύματα πρωτοκόλλου επιπέδου εφαρμογής) ανταλλάσσονται μεταξύ του browser (HTTP client) και του Web server (HTTP server) Η σύνδεση TCP κλείνει Το HTTP είναι stateless Ο server δεν διατηρεί πληροφορία σχετικά με προηγούμενα αιτήματα των clients (αν ξαναζητηθεί το ίδιο object o server το ξαναστέλνει) 26

27 Συνδέσεις HTTP Non-persistent HTTP Το πολύ 1 object αποστέλλεται πάνω από τη σύνδεση TCP Στη συνέχεια κλείνει η σύνδεση Η λήψη πολλών αντικειμένων απαιτεί πολλές συνδέσεις Persistent HTTP Πολλά objects μπορούν να αποσταλούν πάνω από 1 σύνδεση TCP μεταξύ client και server 27

28 Non-persistent HTTP: Χρόνος απόκρισης Round Trip Time (RTT) Ο χρόνος που χρειάζεται ένα μικρό πακέτο να φθάσει από το client στο server και να επιστρέψει στο client Χρόνος απόκρισης (response time) HTTP ( three-way handshake ) 1 RTT για την έναρξη της σύνδεσης TCP 1 RTT για το HTTP request και τη λήψη των πρώτων bytes του HTTP response Χρόνος μεταφοράς αρχείου Χρόνος απόκρισης non-persistent HTTP = 2RTT + χρόνος μεταφοράς αρχείου Έναρξη σύνδεσης TCP RTT Αίτηση αρχείου RTT Λήψη αρχείου χρόνος χρόνος Χρόνος μεταφοράς αρχείου 2-28

29 Persistent HTTP (1/2) Προβλήματα non-persistent HTTP Απαιτούνται 2 RTT για κάθε αντικείμενο (object) Πρόσθετος φόρτος στο ΛΣ για κάθε σύνδεση TCP Οι browsers συχνά «ανοίγουν» παράλληλες (5-10) συνδέσεις TCP για να λάβουν τα αναφερόμενα αντικείμενα Persistent HTTP O server αφήνει «ανοιχτή» τη σύνδεση αφού στείλει το response Επόμενα μηνύματα HTTP μεταξύ του ίδιου client/server στέλνονται μέσω της ίδιας σύνδεσης Ο client στέλνει requests όποτε βρίσκει κάποιο αναφερόμενο αντικείμενο Χρειάζεται 1 RTT για όλα τα αναφερόμενα αντικείμενα 29

30 Persistent HTTP (2/2) Αιτήσεις για αντικείμενα από ένα client μπορούν να γίνονται συνεχόμενα χωρίς αναμονή απαντήσεων από το server σχετικά με εκκρεμείς αιτήσεις (pipelining) Η σύνδεση κλείνει από το server όταν δε χρησιμοποιείται για κάποιο χρονικό διάστημα (μπορεί να καθοριστεί) Default για HTTP: Persistent με pipelining! 30

31 HTTP request message Υπάρχουν 2 τύποι μηνυμάτων HTTP messages: request, response HTTP request message ASCII Request line (εντολές GET, POST, HEAD) Header lines carriage return, line feed στην αρχή της γραμμής δηλώνει το τέλος των header lines!!! Χαρακτήρας carriage return (CR) Χαρακτήρας line-feed (LF) GET /index.html HTTP/1.1\r\n Host: www-net.cs.umass.edu\r\n User-Agent: Firefox/3.6.10\r\n Accept: text/html\r\n Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO ,utf-8;q=0.7\r\n Keep-Alive: 115\r\n Connection: keep-alive\r\n \r\n 31

32 HTTP response message Status line (πρωτόκολλο, κωδικός status, περιγραφή status) Header lines Δεδομένα (π.χ. αρχείο HTML) HTTP/ OK\r\n Date: Sun, 26 Sep :09:20 GMT\r\n Server: Apache/ (CentOS)\r\n Last-Modified: Tue, 30 Oct :00:02 GMT\r\n Accept-Ranges: bytes\r\n Content-Length: 2652\r\n Keep-Alive: timeout=10, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=iso \r\n \r\n data data data data data... 32

33 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

34 Διατήρηση κατάστασης χρήστηserver: Cookies client ebay 8734 cookie file ebay 8734 amazon εβδομάδα αργότερα: ebay 8734 amazon 1678 Τυπικό http request Τυπικό http response set-cookie: 1678 Τυπικό http request cookie: 1678 Τυπικό http response Τυπικό http request cookie: 1678 Τυπικό http response cookiespecific action server Amazon server δημιουργεί ID 1678 για το χρήστη Δημιουργία εγγραφής cookiespecific action πρόσβαση πρόσβαση Βάση δεδομένων 34

35 Web caches (proxy server) (1/2) Στόχος: ικανοποίηση αιτημάτων client χωρίς τη χρήση του αρχικού server Ο χρήστης θέτει στο browser: πρόσβαση στο διαδίκτυο μέσω cache Ο browser αποστέλλει όλα τα HTTP requests στο cache client proxy server Αρχικός server Αν υπάρχει το αντικείμενο στο cache: Το cache το στέλνει Αν δεν υπάρχει: Το cache το ζητάει από τον αρχικό server client Αρχικός server Το cache το στέλνει στο client 35

36 Conditional GET Στόχος: Μη αποστολή ενός object αν το cache έχει ενημερωμένη έκδοση Αποφεύγεται η καθυστέρηση μετάδοσης Μικρότερη χρήση του link Cache: δηλώνει ημερομηνία του αποθηκευμένου αντιγράφου στο HTTP request If-modified-since: <date> Server: το response δεν περιλαμβάνει ένα object εάν το αποθηκευμένο αντίγραφο είναι ενημερωμένο HTTP/ Not Modified client HTTP request If-modified-since: <date> HTTP response HTTP/ Not Modified HTTP request If-modified-since: <date> HTTP response HTTP/ OK <δεδομένα> server Το αντικείμενο δεν έχει αλλάξει πριν <date> Το αντικείμενο έχει αλλάξει μετά <date> 36

37 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

38 FTP: File Transfer Protocol Χρήστης FTP user interface FTP client Τοπικό σύστημα αρχείων Μεταφορά αρχείου FTP server Απομακρυσμένο σύστημα αρχείων Μεταφορά αρχείου από / προς απομακρυσμένο κόμβο Μοντέλο client/server client: αρχικοποιεί τη μεταφορά (είτε από είτε προς τον απομακρυσμένο κόμβο) server: remote απομακρυσμένο κόμβος ftp: RFC 959 ftp server: port 21 38

39 Διαχωρισμός συνδέσεων 2 συνδέσεις Ελέγχου (control) Δεδομένων (data) Διαδικασία Ο FTP client επικοινωνεί με τον FTP server στην πόρτα 21, χρησιμοποιώντας TCP Ο client εξουσιοδοτείται μέσω της σύνδεσης ελέγχου Ο client έχει πρόσβαση στο απομακρυσμένο σύστημα αρχείων, και αποστέλλει εντολές μέσω της σύνδεσης ελέγχου Όταν ο server λάβει εντολή μεταφοράς αρχείου, ο server ανοίγει τη δεύτερη σύνδεση TCP για μεταφορά δεδομένων προς το client FTP client TCP control connection, server port 21 Μετά τη μεταφορά ενός αρχείου ο server κλείνει τη σύνδεση δεδομένων Ο server ανοίγει νέα σύνδεση TCP για τη μεταφορά άλλου αρχείου Η σύνδεση ελέγχου (control connection) ονομάζεται out of band (το HTTP είναι in-band ) Ο FTP server διατηρεί καταστάσεις : τρέχων κατάλογος, εξουσιοδότηση χρήστη TCP data connection, server port 20 FTP server Η σύνδεση ελέγχου είναι persistent 39

40 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

41 Ηλεκτρονική αλληλογραφία Mail servers: Το mailbox περιλαμβάνει εισερχόμενα μηνύματα του χρήστη Το message queue περιλαμβάνει εξερχόμενα μηνύματα To πρωτόκολλο SMTP χρησιμοποιείται μεταξύ των mail servers για την αποστολή μηνυμάτων client: αποστολέας mail server server : παραλήπτης mail server mail server SMTP mail server user agent user agent SMTP SMTP user agent mail server user agent user agent user agent 41

42 SMTP Το SMTP χρησιμοποιεί persistent συνδέσεις Αποστολή όλων των μηνυμάτων στην ίδια σύνδεση TCP Το SMTP απαιτεί το μήνυμα (header & body) να είναι σε 7-bit ASCII Ο SMTP server χρησιμοποιεί CRLF.CRLF για τον ορισμό του τέλους του μηνύματος Σύγκριση με HTTP Και τα 2 έχουν ASCII εντολές/απαντήσεις και κωδικούς status HTTP: pull SMTP: push Το SMTP απαιτεί 7-βιτ ASCII Στο HTTP κάθε αντικείμενο «ενθυλακώνεται» στο δικό του response μήνυμα Στο SMTP πολλαπλά αντικείμενα αποστέλλονται σε πολλαπλά μηνύματα 42

43 Πρωτόκολλα πρόσβασης σε mail user agent SMTP SMTP πρωτόκολλο πρόσβασης (π.χ. POP, IMAP) user agent mail server αποστολέα mail server παραλήπτη SMTP: παράδοση στο server του παραλήπτη Πρωτόκολλα πρόσβασης (access) σε mail: ανάκτηση από το server POP: Post Office Protocol [RFC 1939]: εξουσιοδότηση, λήψη IMAP: Internet Mail Access Protocol [RFC 1730]: περισσότερες λειτουργίες (π.χ. διαχείριση αποθηκευμένων μηνυμάτων στο server) HTTP: gmail, Hotmail, Yahoo! Mail, κλπ 43

44 Πρωτόκολλα POP3 και IMAP POP3 2 τύποι λειτουργίας download and delete : Μη εφικτή ανάγνωση από άλλο client αν ανακτηθούν από το server download-and-keep : Αντίγραφα μηνυμάτων διατηρούνται σε διαφορετικούς clients Το POP3 δεν διατηρεί καταστάσεις (εκτός από πληροφορία για μηνύματα προς διαγραφή) IMAP Διατήρηση όλων των μηνυμάτων σε ένα σημείο: στο server Επιτρέπει στο χρήστη να οργανώνει τα μηνύματα σε φακέλους Διατηρεί την κατάσταση του χρήστη Ονόματα φακέλων, αντιστοίχηση μηνυμάτων σε φακέλους 44

45 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

46 Domain Name System (DNS) Άνθρωποι: πολλά αναγνωριστικά Όνομα, ΑΔΤ, ΑΔ, ΑΜΚΑ.. Δικτυακοί κόμβοι Διευθύνσεις IP (32 bit): χρησιμοποιούνται για να κατευθύνονται τα datagrams Ονόματα (π.χ. χρησιμοποιούνται από ανθρώπους Domain Name System: Κατανεμημένη βάση δεδομένων (distributed database) υλοποιημένη σε ιεραρχία πολλών name servers Πρωτόκολλο επιπέδου εφαρμογής (application-layer protocol): οι κόμβοι (name servers) επικοινωνούν για να καθορίσουν τα ονόματα (μετάφραση διεύθυνσης - ονόματος) Βασική λειτουργία του διαδικτύου που υλοποιείται ως πρωτόκολλο επιπέδου εφαρμογής Προσθέτει πολυπλοκότητα στις άκρες ( edge ) του δικτύου 46

47 DNS: Υπηρεσίες, δομή Υπηρεσίες DNS Μετάφραση ονόματος σε διεύθυνση IP Alias κόμβου Κανονικό (canonical), alias Alias mail server Κατανομή φόρτου (load distribution) Πολλαπλοί servers: πολλές διευθύνσεις IP αντιστοιχούν σε 1 όνομα (DNS rotation) Γιατί όχι ένα κεντρικό DNS? Δεν κλιμακώνεται! Μοναδικό σημείο σφαλμάτων (single point of failure) Όγκος κίνησης «Απομακρυσμένη» κεντρική βάση δεδομένων Υψηλό κόστος συντήρησης 47

48 Κατανεμημένη, ιεραρχική βάση δεδομένων Root DNS Servers Top-Level Domain com DNS servers org DNS servers edu DNS servers Authoritative yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers Ο client αναζητεί την IP του poly.edu umass.edu DNS servers DNS servers Ο client ρωτάει το root server για να βρει τον com DNS server Ο client ρωτάει τον com DNS server για να βρει τον amazon.com DNS server Ο client ρωτάει τον amazon.com DNS server για να βρει τη διεύθυνση IP του

49 Local DNS name server Δεν ανήκει αυστηρά στην ιεραρχία Κάθε πάροχος ISP έχει έναν Επίσης ονομάζεται default name server Όταν κάποιος κόμβος κάνει ερώτημα DNS, το ερώτημα αποστέλλεται στο local DNS server Έχει local cache από πρόσφατες αντιστοιχήσεις ονομάτωνδιευθύνσεων (μπορεί όμως να μην είναι ενημερωμένες!) Λειτουργεί ως proxy, προωθώντας ερωτήματα στην ιεραρχία 49

50 Παράδειγμα εύρεσης ονόματος Ο κόμβος στο cis.poly.edu ζητάει τη διεύθυνση IP του gaia.cs.umass.edu Επαναληπτικό ερώτημα (iterated query) Ο κάθε server απαντάει με το όνομα του server που πρέπει να επικοινωνήσει I don t know this name, but ask this server Local DNS server dns.poly.edu Κόμβος με αίτημα cis.poly.edu Root DNS server TLD DNS server 6 Authoritative DNS server dns.cs.umass.edu 50 gaia.cs.umass.edu

51 Παράδειγμα εύρεσης ονόματος Αναδρομικό ερώτημα (recursive query) Πρέπει ο name server να απαντήσει για το συγκεκριμένο ερώτημα Μεγάλος φόρτος στα υψηλά επίπεδα της ιεραρχίας? Local DNS server dns.poly.edu 1 Root DNS server TLD DNS server Κόμβος με αίτημα cis.poly.edu Authoritative DNS server dns.cs.umass.edu 51 gaia.cs.umass.edu

52 Caching, ανανέωση εγγραφών Όταν κάποιος name server ενημερωθεί για μια αντιστοίχηση, την αποθηκεύει (caches) Οι εγγραφές cache timeout (εξαφανίζονται) μετά από κάποιο χρονικό διάστημα (TTL) Οι TLD servers συνήθως αποθηκεύονται σε local name servers Δε χρησιμοποιούνται συχνά οι root name servers Οι εγγραφές μπορεί να μην είναι ενημερωμένες Αν ένας κόμβος αλλάξει διεύθυνση IP, δε θα είναι γνωστό μέχρι να λήξουν όλα τα TTLs Μηχανισμοί για ανανεώσεις έχουν προταθεί μέσω ενός προτύπου: RFC

53 Εγγραφές DNS DNS: Κατανεμημένη βάση αποθήκευσης Resource Records (RR) Μορφή RR: (name, value, type, ttl) type=a name = όνομα κόμβου value = διεύθυνση IP type=ns name = domain (π.χ. foo.com) value = όνομα authoritative name server για αυτό το domain (π.χ. dns.foo.com) type=cname name = alias όνομα για κάποιο κανονικό όνομα (π.χ. is really servereast.backup2.ibm.com) value = κανονικό όνομα type=mx name = alias όνομα value = όνομα mail server 53

54 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

55 P2P διαμοιρασμός αρχείων: BitTorrent (1/2) Τα αρχεία μοιράζονται σε κομμάτια των 256Kb Οι peers σε ένα torrent στέλνουν / λαμβάνουν κομμάτια αρχείων tracker: Εντοπίζει τους peers που συμμετέχουν σε ένα torrent torrent: Σύνολο peers που ανταλλάσσουν κομμάτια ενός αρχείου Η Alice φθάνει λαμβάνει λίστα των peers από τον tracker ξεκινάει την ανταλλαγή Κομματιών με peers στο torrent 55

56 P2P διαμοιρασμός αρχείων: BitTorrent (2/2) Peer συνδέονται / συμμετέχουν σε ένα torrent Δεν έχουν κομμάτια, μπορούν όμως να αποκτήσουν στο μέλλον από άλλους peers Εγγράφεται στον tracker ώστε να λάβει λίστα των peers, και συνδέεται σε κάποιους από αυτούς ( neighbors ) Όσο κατεβάζει κομμάτια, ο peer επίσης ανεβάζει σε άλλους peers Μπορεί να αλλάξει τους peers με τους οποίους ανταλλάσσει κομμάτια Δυναμική (churn): Οι peers μπορεί να συνδέονται / απο-συνδέονται 56

57 BitTorrent: ζήτηση και αποστολή κομματιών αρχείων Ζήτηση Κάθε στιγμή, διαφορετικοί peers έχουν διαφορετικά υποσύνολα των κομματιών ενός αρχείου Περιοδικά, η Alice ζητάει κάθε peer για τη λίστα των κομματιών τους Η Alice ζητάει τα κομμάτια που της λείπουν από άλλους peers, πρώτα τα σπανιότερα (rarest first) Αποστολή: tit-for-tat Η Alice στέλνει κομμάτια στους 4 peers που της στέλνουν στον υψηλότερο ρυθμό Οι άλλοι peers δεν λαμβάνουν αρχεία από την Alice (choked) Κάθε 10 secs επανεξετάζει τους 4 peers Κάθε 30 secs επιλέγει τυχαία κάποιον άλλο peer και αρχίζει να του στέλνει δεδομένα ( optimistically unchoke ) Ο νέος peer μπορεί να συμμετάσχει στους 4 «καλύτερους» 57

58 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

59 Επίπεδο μεταφοράς Πακέτα = segments TCP = segment UDP = datagram Οι routers δεν υλοποιούν πρωτόκολλα επιπέδου μεταφοράς Δρουν στα πεδία δικτύου (network fields) του πακέτου (datagram) χωρίς να εξετάζουν τα πεδία του επιπέδου μεταφοράς Επέκταση μεταφοράς δεδομένων μεταξύ κόμβων σε μεταφορά δεδομένων μεταξύ διεργασιών Multiplexing Demultiplexing 59

60 Multiplexing/demultiplexing multiplexing στον αποστολέα: Διαχείριση δεδομένων από πολλά sockets, προσθήκη transport header (χρήση κατά το demultiplexing) demultiplexing στον παραλήπτη: Χρήση πληροφορίας header για την παράδοση των ληφθέντων segments στο σωστό socket application application P3 transport network link P1 transport network link physical P2 application P4 transport network link socket process physical physical 60

61 Πως λειτουργεί το demultiplexing Ο host λαμβάνει IP datagrams Κάθε datagram έχει τη διεύθυνση IP της πηγής / αποστολέα (source) και του προορισμού / παραλήπτη (destination) Κάθε datagram μεταφέρει 1 segment επιπέδου μεταφοράς Κάθε segment έχει τον αριθμό θύρας (port) της πηγής και του προορισμού Ο host χρησιμοποιεί διευθύνσεις IP και αριθμό θύρας (port) ώστε να κατευθύνει τα segment στο 32 bits source port # dest port # Άλλα πεδία header Δεδομένα εφαρμογής (payload) Μορφή TCP/UDP segment κατάλληλο socket 61

62 Demultiplexing χωρίς σύνδεση (connectionless) Υπενθύμιση: Το socket έχει τον αριθμό του port του host: DatagramSocket mysocket1 = new DatagramSocket(12534); Όταν ο κόμβος λαμβάνει το UDP segment Ελέγχει τον αριθμό του port του παραλήπτη στο segment Οδηγεί το UDP segment στο socket με αυτό τον αριθμό port Υπενθύμιση: Κατά τη δημιουργία του datagram για την αποστολή σε ένα UDP socket, πρέπει να καθοριστεί Η διεύθυνση IP του προορισμού Ο αριθμός του port του προορισμού Τα IP datagrams με τον ίδιο αριθμό port προορισμού, αλλά με διαφορετικές IP διευθύνσεις αποστολής ή / και αριθμούς port αποστολής θα οδηγηθούν στο ίδιο socket στον 62 προορισμό

63 Demultiplexing χωρίς σύνδεση: Παράδειγμα DatagramSocket mysocket2 = new DatagramSocket (9157); application transport network link P3 physical DatagramSocket serversocket = new DatagramSocket (6428); application transport network link P1 physical DatagramSocket mysocket1 = new DatagramSocket (5775); application transport network link P4 physical source port: 6428 dest port: 9157 source port:? dest port:? source port: 9157 dest port: 6428 source port:? dest port:? Το port αποστολής παρέχει διεύθυνση επιστροφής 63

64 Demultiplexing με σύνδεση (connection-oriented) Το TCP socket χαρακτηρίζεται από 4 πεδία: Διεύθυνση IP αποστολής (source IP address) Αριθμό port αποστολής (source port number) Διεύθυνση IP προορισμού (destination IP address) Αριθμό port προορισμού (destination port number) demux: Ο παραλήπτης χρησιμοποιεί και τα 4 πεδία για να προωθήσει το segment στο κατάλληλο socket Ενας server host μπορεί να υποστηρίξει πολλαπλά TCP sockets ταυτόχρονα Κάθε socket χαρακτηρίζεται από τη δική του 4-άδα Οι Web servers έχουν διαφορετικά sockets για κάθε client που συνδέεται Οι non-persistent HTTP έχουν διαφορετικά sockets για κάθε αίτημα 64

65 Demultiplexing με σύνδεση: Παράδειγμα application P3 transport network link physical application P4 P5 transport network link physical P6 server: IP address B application P2 P3 transport network link physical host: IP address A source IP,port: B,80 dest IP,port: A,9157 source IP,port: A,9157 dest IP, port: B,80 3 segments, όλα με προορισμό τη διεύθυνση IP: B, port προορισμού: 80 είναι demultiplexed σε διαφορετικά sockets source IP,port: C,5775 dest IP,port: B,80 source IP,port: C,9157 dest IP,port: B,80 host: IP address C 65

66 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

67 UDP: User Datagram Protocol Μινιμαλιστικό πρωτόκολλο μεταφοράς του Διαδικτύου Υπηρεσία καλύτερης δυνατής προσπάθειας (best-effort service), τα UDP segments μπορεί να χαθούν ληφθούν από την εφαρμογή με λάθος σειρά Χωρίς σύνδεση (connectionless) Δεν γίνεται handshaking μεταξύ UDP sender και receiver Κάθε UDP segment το χειρίζεται το UDP ανεξάρτητα από τα άλλα Χρησιμότητα του UDP Δεν χρειάζεται να προηγηθεί εγκατάσταση σύνδεσης (που προσθέτει καθυστέρηση) Μικρή επικεφαλίδα segment Δεν παρέχει έλεγχο συμφόρησης: το UDP μπορεί να στείλει δεδομένα όσο γρήγορα μπορεί 67

68 rdt2.0: Λειτουργία χωρίς σφάλματα rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) Wait for call from above rdt_rcv(rcvpkt) && isack(rcvpkt) L Wait for ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) Wait for call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) 68

69 rdt2.0: Λειτουργία με σφάλματα rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) Wait for call from above rdt_rcv(rcvpkt) && isack(rcvpkt) L Wait for ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) Wait for call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) 69

70 Το rdt2.0 έχει ένα μεγάλο πρόβλημα! Τι συμβαίνει όταν υπάρχουν σφάλματα στα ACK/NAK? Περισσότερα ACK/NAK Πιο πολλά bit στο checksum για ανίχνευση και ανάκτηση από σφάλματα Αποστολή ξανά του πακέτου (επανάληψη) Διακοπή και αναμονή (stop and wait) Ο αποστολέας στέλνει ένα πακέτο και περιμένει Διαχείριση επαναλήψεων (duplicates) Ο αποστολέας ξαναστέλνει το πακέτο εάν υπάρχουν σφάλματα σε ACK/NAK Ο αποστολέας προσθέτει αύξοντα αριθμό (sequence number) σε κάθε πακέτο Ο παραλήπτης απορρίπτει (δεν προωθεί στην εφαρμογή) επαναλαμβανόμενα πακέτα απάντηση από τον παραλήπτη 70

71 rdt2.1: Σύνοψη Αποστολέας Προσθέτει αύξοντα αριθμό στο πακέτο Έλεγχος για εσφαλμένα ACK/NAK Διπλάσιος αριθμός καταστάσεων Κάθε κατάσταση πρέπει να θυμάται αν το αναμενόμενο πακέτο πρέπει να έχει Α/Α 0 ή 1 Παραλήπτης Πρέπει να ελέγχει αν το λαμβανόμενο πακέτο είναι επαναλαμβανόμενο Η κατάσταση υποδεικνύει αν το αναμενόμενο πακέτο έχει Α/Α 0 ή 1 Ο παραλήπτης δε γνωρίζει αν το τελευταίο του ACK/NAK έφθασε σωστά στον αποστολέα 71

72 rdt2.2: Ένα πρωτόκολλο NAK-free Ίδια λειτουργικότητα με το rdt2.1 Χρήση μόνο ACK Αντί για NAK, ο παραλήπτης στέλνει ACK για το τελευταίο πακέτο που έλαβε χωρίς σφάλματα Ο παραλήπτης πρέπει να εισάγει τον αύξοντα αριθμό του πακέτου για οποίο στέλνει το ACK Επαναλαμβανόμενα (duplicate) ACK στον αποστολέα οδηγούν στην ίδια ενέργεια όπως και στην περίπτωση του NAK: επαναποστολή του πακέτου 72

73 rdt3.0: Κανάλια με σφάλματα και απώλειες Προσθήκη στο rdt3.0 Τα κανάλια επικοινωνίας μπορούν να χάνουν πακέτα (δεδομένα, ACK) Τα checksum, Α/Α, ACK, και οι επαναποστολές βοηθούν αλλά δεν αρκούν Προσέγγιση: Ο αποστολέας περιμένει κάποιο εύλογο χρονικό διάστημα για ACK Eπαναποστολή αν δε λάβει ACK σε αυτό το διάστημα Εάν το πακέτο (ή το ACK) απλά καθυστερήσουν (δε χαθούν) Θα υπάρχει επανάληψη στην επαναποστολή, το οποίο όμως διαχειρίζεται από τους Α/Α Ο παραλήπτης πρέπει να καθορίζει τον Α/Α του πακέτου που γίνεται ACK Απαιτεί τη χρήση χρονομέτρου (countdown timer) 73

74 Απόδοση rdt3.0 Το rdt3.0 λειτουργεί σωστά αλλά έχει χαμηλή απόδοση Π.χ. πακέτο 8000 bit, 1 Gbps link, (RTT=30 ms) 15ms καθυστέρηση μεταφοράς (propagation delay) Τελευταίο bit στο κανάλι: D trans = L R 8000 bits = = 8 microsecs 10 9 bits/sec U sender : Χρησιμοποίηση (utilization) κλάσμα του χρόνου που ο αποστολέας απασχολείται με αποστολές πακέτων U sender = L / R RTT + L / R = = Άρα 1KB πακέτο κάθε 30 msec: 33kB/sec throughput σε link 1 Gbps To πρωτόκολλο περιορίζει τη χρήση των φυσικών πόρων! 74

75 rdt3.0: Λειτουργία stop-and-wait Μετάδοση πρώτου bit πακέτου, t = 0 Αποστολή τελευταίου bit, t = L / R Αποστολέας Παραλήπτης RTT Άφιξη πρώτου bit πακέτου Άφιξη τελευταίου bit, αποστολή ACK Άφιξη ACK, αποστολή επόμενου πακέτου, t = RTT + L / R U sender = L / R RTT + L / R = =

76 Pipelining: Αύξηση χρησιμοποίησης (utilization) Μετάδ. πρώτου bit πακέτου, t = 0 Αποστολή τελευταίου, t = L / R Αποστολέας Παραλήπτης RTT Άφιξη ACK, αποστολή επόμενου πακέτου, t = RTT + L / R Άφιξη πρώτου bit πακέτου Άφιξη τελευταίου bit, αποστολή ACK Άφιξη τελ. bit 2 ου πακέτου, ACK Άφιξη τελ. bit 3 ου πακέτου, ACK Pipelining 3-πακέτων αυξάνει τη χρησιμοποίηση x3 U sender = 3L / R RTT + L / R = =

77 Πρωτόκολλα pipelined ανάκτησης σφαλμάτων Go-back-N Ο αποστολέας μπορεί να έχει μέχρι N πακέτα χωρίς ACK στο pipeline Ο παραλήπτης στέλνει μόνο συσσωρευτικά (cumulative) ACK Δεν στέλνει ACK για πακέτο αν υπάρχει κενό Ο αποστολέας έχει χρονόμετρο για το παλαιότερο μήνυμα χωρίς ACK Όταν λήξει γίνεται επαναποστολή όλων των πακέτων χωρίς ACK Selective Repeat Ο αποστολέας μπορεί να έχει μέχρι N πακέτα χωρίς ACK στο Ο παραλήπτης στέλνει μεμονωμένα (individual) ACK για κάθε πακέτο Ο αποστολέας έχει χρονόμετρο κάθε μήνυμα χωρίς ACK Όταν λήξει γίνεται επαναποστολή μόνο για το πακέτο χωρίς ACK 77

78 Go-Back-N: Αποστολέας Κεφαλίδα (header) πακέτου με Α/Α k-bit Παράθυρο που επιτρέπει μέχρι N, διαδοχικά πακέτα χωρίς ACK ACK(n): ACK για όλα τα πακέτα με Α/Α (συμπεριλαμβανομένου) n - cumulative ACK Μπορεί να λάβει επαναλαμβανόμενα ACK Χρονόμετρο για το παλαιότερο μήνυμα που μεταδίδεται timeout(n): επαναποστολή πακέτου n και όλων με μεγαλύτερο 78 Α/Α στο παράθυρο

79 Εφαρμογή GBN Παράθυρο απ. (N=4) Αποστολέας Αποστολή pkt0 Αποστολή pkt1 Αποστολή pkt2 Αποστολή pkt3 Αναμονή (wait) Λήψη ack0, απ. pkt4 Λήψη ack1, απ. pkt5 Αγνοεί επαναλαμβανόμενο ACK pkt 2 timeout Αποστολή pkt2 Αποστολή pkt3 Αποστολή pkt4 Αποστολή pkt5 X loss Παραλήπτης Λήψη pkt0, αποστολή ack0 Λήψη pkt1, αποστολή ack1 Λήψη pkt3, απόρριψη, επαναποστολή ack1 Λήψη pkt4, απόρριψη, επαναποστολή ack1 Λήψη pkt5, απόρριψη, επαναποστολή ack1 Λήψη pkt2, παραδ., απ. ack2 Λήψη pkt3, παραδ., απ. ack3 Λήψη pkt4, παραδ., απ. ack4 Λήψη pkt5, παραδ., απ. 79 ack5

80 Selective repeat Ο παραλήπτης μεμονωμένα στέλνει ACK για όλα τα πακέτα που έλαβε σωστά Αποθηκεύει (buffer) τα πακέτα, αν χρειάζεται, ώστε να τα παραδώσει στη σωστή σειρά στο επάνω επίπεδο Ο αποστολέας ξαναστέλνει μόνο τα πακέτα για τα οποία δεν έχει λάβει ACK Ο αποστολέας έχει χρονόμετρο για κάθε πακέτο χωρίς ACK Το παράθυρο του αποστολέα N διαδοχικών Α/Α Περιορίζει τον αριθμό των Α/Α των πακέτων που έχουν σταλεί χωρίς ACK 80

81 Selective repeat: Παράθυρα αποστολέα, παραλήπτη (1/2) 81

82 Εφαρμογή selective repeat Παράθυρο απ. (N=4) Αποστολέας Αποστολή pkt0 Αποστολή pkt1 Αποστολή pkt2 Αποστολή pkt3 Αναμονή (wait) Λήψη ack0, απ. pkt4 Λήψη ack1, απ. pkt5 Καταγραφή λήψης ack3 pkt 2 timeout Αποστολή pkt2 Καταγραφή λήψης ack4 Καταγραφή λήψης ack5 X loss Παραλήπτης Λήψη pkt0, απ. ack0 Λήψη pkt1, απ. ack1 Λήψη pkt3, buffer, απ. ack3 Λήψη pkt4, buffer, απ. ack4 Λήψη pkt5, buffer, απ. ack5 Λήψη pkt2; παράδοση pkt2, pkt3, pkt4, pkt5; απ. ack2 Τι συμβαίνει όταν φθάνει το ack2? 82

83 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

84 Δομή TCP segment URG: επείγοντa δεδομένα (γενικά δεν χρησιμ.) ACK: Αριθμός έγκυρου ACK PSH: Άμεση προώθηση δεδομένων (γενικά δεν χρησιμ.) RST, SYN, FIN: Εγκατάσταση σύνδεσης (εντολές εγκατάστασης, τερματισμού) Internet checksum (όπως στο UDP) 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R checksum S F Receive window Urg data pnter Επιλογές(variable length) Δεδομένα εφαρμογής (μεταβλητό μήκος) Μέτρηση με βάση τα bytes των δεδομένων (όχι τα segments!) Αριθμός bytes που ο παραλήπτης διατίθεται να παραλάβει 84

85 Α/Α και ACKs στο TCP (1/2) Αύξοντες αριθμοί Αριθμός του byte stream του πρώτου byte στα δεδομένα του segment Acknowledgements Α/Α του επόμενου byte που αναμένεται από την άλλη πλευρά Συσσωρευτικό (cumulative) ACK source port # dest port # sequence number acknowledgement number rwnd checksum Απεστάλη με ACK urg pointer Μέγεθος παραθύρου N Εύρος Α/Α αποστολέα Απεστ., όχι ακόμα ACK source port # dest port # sequence number acknowledgement number rwnd A checksum Διαθέσιμο αλλά όχι ακόμα απεστ. urg pointer Μη διαθέσιμο 85

86 Α/Α και ACKs στο TCP (2/2) Κόμβος A Κόμβος B Ο χρήστης πληκτρολογεί C Ο κόμβος στέλνει ACK για τη λήψη του αναπαραχθέντος C Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Seq=43, ACK=80 Ο κόμβος στέλνει ACK για τη λήξη του C, αναπαράγει και στέλνει πίσω το C Απλό σενάριο telnet 86

87 TCP Round Trip Time και Timeout Ανάθεση τιμής στο timeout interval: EstimatedRTT συν περιθώριο ασφαλείας Μεγάλη μεταβλητότητα στο EstimatedRTT -> μεγαλύτερο περιθώριο ασφαλείας Υπολογισμός τυπικής απόκλισης του SampleRTT από το EstimatedRTT DevRTT = (1-)*DevRTT + * SampleRTT-EstimatedRTT (typically, = 0.25) Τίθεται η τιμή του χρονικού διαστήματος TimeoutInterval = EstimatedRTT + 4*DevRTT 87

88 Γρήγορη επαναποστολή (fast retransmit) TCP (1/2) Συχνά ο χρόνος για το timeout είναι μεγάλος Προκαλείται μεγάλη καθυστέρηση πριν ξαναγίνει αποστολή του πακέτου που έχει χαθεί Ανίχνευση segments που έχουν χαθεί μέσω επαναλαμβανόμενων ACK Ο αποστολέας συχνά στέλνει πολλά segments διαρκώς Αν χαθεί κάποιο segment θα υπάρχουν πολλά επαναλαμβανόμενα ACKs TCP fast retransmit Εάν ο αποστολέας λάβει 3 ACK για τα ίδια δεδομένα (τριπλά επαναλαμβανόμενα ACK) ( triple duplicate ACKs ), ξαναστέλνει το segment χωρίς ACK με το μικρότερο Α/Α Πιθανότατα αυτό το segment είχε χαθεί οπότε δε χρειάζεται να περιμένει το timeout 88

89 timeout Γρήγορη επαναποστολή (fast retransmit) TCP (2/2) Κόμβος A Κόμβος B Seq=92, 8 bytes δεδομένων Seq=100, 20 bytes δεδομένων X ACK=100 ACK=100 ACK=100 ACK=100 Seq=100, 20 bytes of data Γρήγορη επαναποστολή αφού ο αποστολέας λάβει τριπλό επαναλαμβανόμενο ACK 89

90 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

91 TCP 3-way handshake Κατάσταση client Ακούει επιλογή αρχ. Α/Α, x αποστολή TCP SYN msg Αποστολή SYN λήψη SYNACK(x) ESTAB δείχνει ότι ο server είναι live; αποστολή ACK για το SYNACK; το segment μπορεί να λαμβάνει δεδομένα client-προς-server SYNbit=1, Seq=x SYNbit=1, Seq=y ACKbit=1; ACKnum=x+1 ACKbit=1, ACKnum=y+1 επιλογή αρχ. Α/Α, y αποστολή TCP SYNACK μην., ACK για το SYN Κατάσταση server λήψη ACK(y) δείχνει ότι ο client είναι live Ακούει Λήψη SYN ESTAB 91

92 Κλείσιμο σύνδεσης TCP Κατάσταση client ESTAB FIN_WAIT_1 FIN_WAIT_2 TIMED_WAIT clientsocket.close() Δεν μπορεί να στέλνει αλλά μπορεί να λαμβάνει Περιμένει το server να «κλείσει» Αναμονή χρόνου για 2*μέγιστο χρόνου ζωής segment FINbit=1, seq=x ACKbit=1; ACKnum=x+1 FINbit=1, seq=y ACKbit=1; ACKnum=y+1 Μπορεί ακόμα να στέλνει δεδομένα Δεν μπορεί να στέλνει δεδομένα Κατάσταση server ESTAB CLOSE_WAIT LAST_ACK CLOSED CLOSED 92

93 Έλεγχος ροής (flow control) TCP Ο παραλήπτης δημοσιεύει ελεύθερο χώρο στο buffer συμπεριλαμβάνοντας την τιμή rwnd στο header TCP του segment παραλήπτη-προς-αποστολέα Το μέγεθος του RcvBuffer ορίζεται μέσω επιλογών του socket (default=4096 bytes) Πολλά ΛΣ αυτό-προσαρμόζουν το RcvBuffer Ο αποστολέας περιορίζει το μέγεθος των δεδομένων χωρίς ACK ( inflight ) μέσω της τιμής rwnd του παραλήπτη Εγγυάται ότι ο buffer του παραλήπτη δεν θα υπερχειλίσει RcvBuffer rwnd προς τις διεργασίες εφαρμογής buffered δεδομένα ελεύθερος χώρος buffer TCP segment payloads buffering στην πλευρά του παραλήπτη 93

94 cwnd: Μέγεθος παραθύρου TCP αποστολέα χρόνος Έλεγχος συμφόρησης TCP: Πρόσθετη αύξηση / πολλαπλασιαστική μείωση Προσέγγιση: Ο αποστολέας αυξάνει το ρυθμό μεταγωγής (transmission rate) μέγεθος παραθύρου cwnd, εξετάζοντας το αξιοποιήσιμο bandwidth, μέχρι να συμβούν απώλειες Πρόσθετη αύξηση (additive increase): αύξηση cwnd κατά 1 MSS κάθε RTT μέχρι να εντοπιστεί απώλεια Πολλαπλασιαστική μείωση (multiplicative decrease): μείωση του cwnd στη μέση μετά την απώλεια Οδοντωτή συμπεριφορά AIMD: εξέταση bandwidth πρόσθετη αύξηση παραθύρου. μέχρι την απώλεια (μείωση παραθύρου στο μισό) 94

95 Λεπτομέρειες ελέγχου συμφόρησης TCP Τελευταίο byte που έγινε ACK Χώρος Α/Α αποστολέα cwnd Απεστάλη, όχι ακόμα ACK Τελευταίο byte που εστάλη Ο αποστολέας περιορίζει τη μέταδοση LastByteSent- LastByteAcked < cwnd Ρυθμός αποστολής TCP Αποστολή cwnd bytes, αναμονή RTT για τα ACK, αποστολή περισσότερων bytes rate ~ cwnd RTT bytes/sec Το cwnd είναι δυναμικό, βάσει των αντιληφθέντων συμφορήσεων 95

96 RTT Αργή έναρξη TCP Όταν αρχίζει η σύνδεση, ο ρυθμός αυξάνεται γεωμετρικά μέχρι την πρώτη απώλεια Αρχικά cwnd = 1 MSS Διπλασιασμός cwnd κάθε RTT Γίνεται αυξάνοντας το cwnd σε κάθε ληφθέν ACK Κόμβος A Κόμβος B χρόνος 96

97 Γρήγορη αντίδραση: Ανίχνευση και αντίδραση σε απώλειες Απώλεια που υποδεικνύεται από timeout Το cwnd ορίζεται σε 1 MSS Το παράθυρο μεγαλώνει γεωμετρικά (όπως στην αργή έναρξη) μέχρι κάποιο όριο, μετά αυξάνει γραμμικά Απώλεια που υποδεικνύεται από 3 διπλά ACK: TCP RENO Τα διπλά ACK δείχνουν ότι το δίκτυο μπορεί να παραδίδει κάποια segments Το cwnd μειώνεται στο μισό και μετά αυξάνει γραμμικά Το TCP Tahoe πάντα θέτει το cwnd σε 1 (timeout ή 3 διπλά ACK) 97

98 TCP: Αλλαγή από αρχή έναρξη σε αποφυγή συμφόρησης Η γεωμετρική αύξηση αλλάζει σε γραμμική όταν το cwnd λαμβάνει το 1/2 της τιμής του πριν το timeout Υλοποίηση Μεταβλητή ssthresh Σε γεγονός απώλειας, το ssthresh ορίζεται σε 1/2 της τιμής του cwnd πριν την απώλεια 98

99 TCP throughput Το μέσο throughput εξαρτάται από το μέγεθος του παραθύρου και το RTT Αγνοεί την αργή έναρξη, υποθέτει ότι πάντα υπάρχουν δεδομένα προς αποστολή W: μέγεθος παραθύρου (σε bytes) όταν συμβαίνει απώλεια Μέσο μέγεθος παραθύρου (αριθμός bytes που έχουν αποστ. χωρίς ACK) είναι το ¾ W Μέσο throughput είναι 3/4W ανά RTT Μέσο TCP throughput = 3 4 W W RTT bytes/sec W/2 99

100 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

101 2 βασικές λειτουργίες του επιπέδου δικτύου Αλγόριθμος δρομολόγησης Τοπικός πίνακας προώθησης Τιμή header Link εξόδου Ο αλγόριθμος δρομολόγησης καθορίζει το ολικό (end-end) μονοπάτι στο δίκτυο Ο πίνακας προώθησης καθορίζει την τοπική προώθηση ανά router Τιμή στο header του πακέτου που λαμβάνεται

102 Πίνακας προώθησης datagram Αλγόριθμος δρομολόγησης Τοπικός πίνακας προώθησης Διευθ. προορισμού Εξερχ. link address-range 1 address-range 2 address-range 3 address-range δισεκ. IP διευθύνσεις, οπότε αντί να υπάρχει λίστα με ξεχωριστές διευθύνσεις προορισμού, υπάρχει λίστα με εύρος (range) διευθύνσεων (συνάθροιση εγγραφών του πίνακα) Η IP διεύθυνση προορισμού στο header του εισερχόμενου πακέτου

103 Longest prefix matching longest prefix matching - ταίριασμα μεγαλύτερου προθέματος Στην αναζήτηση εγγραφής στον πίνακα προώθησης για συγκεκριμένη διεύθυνση προορισμού, γίνεται χρήση της διεύθυνσης με το μεγαλύτερο πρόθεμα που ταιριάζει στη διεύθυνση προορισμού Παραδείγματα: Εύρος διευθύνσεων προορισμού *** ********* ********* *** ********* διαφορετικά ΔΠ: ΔΠ: Διεπαφή link Ποια διεπαφή? 103

104 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

105 Αρχικτεκτονική router 2 βασικές λειτουργίες Εκτέλεση αλγορίθμων δρομολόγησης Προώθηση datagrams από εισερχόμενο σε εξερχόμενο link υπολογ. πινάκων προώθησης, πληροφ. στις πόρτες εισόδου Επεξεργαστής δρομολόγησης δρομολόγηση, διαχείριση επίπεδο ελέγχου (software) επίπεδο προώθησης δεδομένων (hardware) Μηχανισμός μεταγωγής υψηλής ταχύτητας Πόρτες εισόδου router Πόρτες εξόδου router 105

106 Μηχανισμός μεταγωγής Μεταφορά πακέτων από το buffer της εισόδου στο κατάλληλο buffer εξόδου Ρυθμός μεταγωγής: ρυθμός στον οποίο πακέτα μπορούν να μεταφέρονται από τις εισόδους στις εξόδους Συχνά μετράται ως πολλαπλάσιο του ρυθμού της σύνδεσης εισόδου / εξόδου N είσοδοι: επιθυμητός ρυθμός μεταγωγής N φορές το ρυθμό της σύνδεσης 3 τύποι μηχανισμών μεταγωγής memory memory bus crossbar 106

107 Λειτουργίες πόρτας εισόδου Τερματισμός γραμμής Πρωτόκολλο επιπέδου σύνδεσης (λήψη) Αναζήτηση, προώθηση ουρά Μηχανισμός μεταγωγής Φυσικό επίπεδο: υποδοχή bit Επίπεδο σύνδεσης: π.χ. Ethernet Αποκεντρικοποιημένη μεταγωγή: Βάσει του προορισμού του datagram, γίνεται αναζήτηση πόρτας εξόδου με χρήση του πίνακα προώθησης στη μνήμη της πόρτας εισόδου ( ταίριασμα και ενέργεια ) Στόχος: Ολοκλήρωση επεξεργασίας πόρτας εισόδου στην ταχύτητα της σύνδεσης Ουρές: Αν τα datagrams φθάνουν πιο γρήγορα από 107 το ρυθμό προώθησης στο μηχανισμό μεταγωγής

108 Ουρές πόρτας εισόδου Όταν ο μηχανισμός είναι πιο αργός από το συνδυασμό των πορτών εισόδου, ουρές μπορεί να δημιουργηθούν στις πόρτες εισόδου Καθυστέρηση και απώλειες λόγω υπερχείλισης του buffer εισόδου! Παρεμπόδιση Head-of-the-Line (HOL): ένα datagram στην αρχή της ουράς δεν επιτρέπει άλλα (που είναι στην ουρά) να προχωρήσουν Μηχαν. μεταγωγής Μηχαν. μεταγωγής Σύνδεση πόρτας εξόδου: μόνο 1 κόκκινο datagram μπορεί να μεταφερθεί (το χαμηλότερο κόκκινο παρεμποδίζεται) 1 «χρόνος πακέτου» μετά: το πράσινο πακέτο αντιμετωπίζει παρεμπόδιση HOL 108

109 Πόρτες εξόδου Μηχανισμός μεταγωγής datagram buffer ουρές Πρωτόκολλο επιπέδου σύνδεσης (αποστολή) Τερματισμός γραμμής Απαιτείται buffering Datagram όταν datagrams (πακέτα) μπορούν φθάνουν να χαθούν από το μηχανισμό μεταγωγής λόγω συμφόρησης, πιο γρήγορα έλλειψης από το buffers ρυθμό μετάδοσης H χρονοδρομολόγηση Δρομολόγηση (scheduling) προτεραιότητας επιτρέπει ποίος την επιλογή μεταξύ των λαμβάνει datagrams την καλύτερη που είναι απόδοση, στην ουρά για μετάδοση ουδετερότητα δικτύου 109

110 Ουρές πόρτας εξόδου Μηχαν. μεταγωγής Μηχαν. μεταγωγής σε t, περισσότερα πακέτα από είσοδο προς έξοδο 1 «χρόνος πακέτου» μετά Βuffering όταν ο ρυθμός αφίξεων στο μηχανισμό ξεπερνάει την ταχύτητα της σύνδεσης εξόδου Ουρές (καθυστέρηση) και απώλειες λόγω υπερχείλισης του buffer της πόρτας εξόδου! 110

111 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

112 Μορφή IP datagram Αρ. έκδοσης πρωτοκόλλου IP Μήκος header (bytes) τύπος δεδομένων Μέγιστος αριθμός εναπομεινάντων αλλαγών (μειώνεται σε κάθε router) Πρωτόκ. επάνω επιπέδου για παράδοση του payload (6: TCP, 17: UDP) Πόσο είναι το overhead? 20 bytes TCP 20 bytes IP = 40 bytes + overhead επιπέδου εφαρμογής ver head. len type of service 16-bit identifier time to upper live layer 32 bits flgs length fragment offset header checksum 32 bit source IP address 32 bit destination IP address options (if any) δεδομένα (μεταβλητού μήκους, συνήθως ένα TCP ή UDP segment) Συνολικό μήκος datagram (συνήθως 1500 bytes) για κατακερματισμό/ συναρμολόγηση Π.χ. timestamp, μονοπάτι, συγκεκριμένη λίστα routers, κλπ 112

113 Κατακερματισμός, συναρμολόγηση IP (1/2) Οι συνδέσεις δικτύου έχουν MTU το μεγαλύτερο δυνατό frame επιπέδου σύνδεσης Διαφορετικοί τύποι σύνδεσης, διαφορετικά MTU Ένα μεγάλο IP datagram χωρίζεται ( κατακερματίζεται ) στο δίκτυο 1 datagram γίνεται πολλά datagrams Συναρμολογείται μόνο στον τελικό προορισμό IP header bits χρησιμοποιούνται για τον προσδιορισμό και τη σειρά άλλων σχετικών κατακερματισμένων fragments Συναρμολόγηση Κατακερματισμός: Είσοδος: 1μεγάλο datagram Έξοδος: 3 μικρότερα datagrams 113

114 Κατακερματισμός, συναρμολόγηση IP (2/2) Παράδειγμα 4000 byte datagram MTU = 1500 bytes length =4000 ID =x fragflag =0 offset =0 1 μεγάλο datagram γίνεται πολλά μικρότερα datagrams 1480 bytes στο data field length =1500 ID =x fragflag =1 offset =0 offset = 1480/8 (κομμάτια των 8 bytes) length =1500 length =1040 ID =x ID =x fragflag =1 fragflag =0 offset =185 offset =

115 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

116 Διευθυνσιοδότηση IP: CIDR (1/2) CIDR: Classless InterDomain Routing Το subnet κομμάτι της διεύθυνσης είναι αυθαίρετου μήκους Μορφή διεύθυνσης: a.b.c.d/x, όπου x (prefix) είναι ο αριθμός των bits στο κομμάτι subnet της διεύθυνσης subnet part host part /23 116

117 DHCP: Dynamic Host Configuration Protocol Στόχος: Οι host μπορούν δυναμικά να λαμβάνουν τις IP διευθύνσεις τους από το δίκτυο όταν συνδέονται σε αυτό Μπορούν να ανανεώνουν τη «μίσθωση» της διεύθυνσης σε χρήση Επιτρέπει επαναχρησιμοποίηση διευθύνσεων (χρήση διεύθυνσης μόνο κατά τη διάρκεια της σύνδεσης) Υποστήριξη «κινητών» χρηστών Σύνοψη DHCP Ο host αναμεταδίδει μήνυμα DHCP discover [προαιρετικό] Ο DHCP server απαντά με μήνυμα DHCP offer [προαιρετικό] Ο host ζητάει διεύθυνση IP address με μήνυμα DHCP request Ο DHCP στέλνει τη διεύθυνση με μήνυμα DHCP ack 117

118 Ιεραρχική διευθυνσιοδότηση Επιτρέπει τη δημοσίευση πληροφοριών δρομολόγησης Οργανισμός /23 Οργανισμός /23 Οργανισμός /23 Οργανισμός /23. Fly-By-Night-ISP Στείλε μου τα πάντα με διευθύνσεις που αρχίζουν με /20 Internet ISPs-R-Us Στείλε μου τα πάντα με διευθύνσεις που αρχίζουν με /16 118

119 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

120 NAT: Network Address Translation 2: Ο ΝAT router αλλάζει τη διεύθυνση πηγής του datagram από , 3345 σε , 5001, και ανανεώνει τον πίνακα 2 Πίνακας αντιστοίχισης NAT Διευθ. στο WAN Διευθ. στο LAN , , 3345 S: , 5001 D: , S: , 3345 D: , : host στέλνει datagram στο , S: , 80 D: , : Λήψη απάντησης με διεύθυνση προορισμού: , 5001 S: , 80 D: , : Ο ΝAT router αλλάζει τη διεύθυνση προορισμού του datagram από , 5001 σε ,

121 Πρόβλημα πρόσβασης (1/3) Ο client θέλει να συνδεθεί στο server με διεύθυνση Η διεύθυνση του server ( ) είναι τοπική στο LAN (ο πελάτης δεν μπορεί να τη χρησιμοποιήσει ως διεύθυνση προορισμού) Μόνο μια εξωτερικά εμφανής διεύθυνση «NAT»: με τυχαίες πόρτες! Λύση 1: Στατική ρύθμιση NAT για την προώθηση (στο server) αιτήσεων εισερχόμενων συνδέσεων σε συγκεκριμένη πόρτα πελάτης? NAT router Π.χ. ( , πόρτα 2500) πάντα προωθούνται στη πόρτα

122 Πρόβλημα πρόσβασης (2/3) Λύση 2: Πρωτόκολλο Universal Plug and Play (UPnP) Internet Gateway Device (IGD). Επιτρέπει στο host με διεύθυνση «NAT» να: Μαθαίνει τη δημόσια (public) διεύθυνση IP ( ) Προσθήκη / διαγραφή αντιστοιχίσεων πόρτας (στους χρόνους lease) Πρόκειται για αυτόματη ρύθμιση στατικού χάρτη πόρτας NAT NAT router IGD

123 Πρόβλημα πρόσβασης (3/3) Λύση 3: Διαβίβαση (χρησιμοποιείται στο Skype) Ο client με διεύθυνση NAT εγκαθιδρύει σύνδεση με το διαβιβαστή Ο εξωτερικός client συνδέεται στο διαβιβαστή Ο διαβιβαστής γεφυρώνει πακέτα μεταξύ συνδέσεων client 2. Η σύνδεση στο διαβιβαστή αρχικοποιείται από τον client 3. Εγκαθίδρυση διαβίβασης 1. Η σύνδεση στο διαβιβαστή αρχικοποιείται από τον host με διεύθυνση NAT NAT router 123

124 ICMP: Internet Control Message Protocol Χρησιμοποιείται από τους hosts και τους routers για να επικοινωνούν πληροφορία στο επίπεδο δικτύου Αναφορά σφαλμάτων: απρόσιτος host, δίκτυο, πόρτα, πρωτόκολλο Αίτηση / απάντηση ηχούς (χρησιμοποιείται από το ping) Επίπεδο δικτύου «πάνω» από το IP Μηνύματα ICMP μεταφέρονται σε IP datagrams ICMP μήνυμα: τύπος, κωδικός και πρώτα 8 bytes του IP datagram που δημιουργούν το σφάλμα Τύπος Κωδικός Περιγραφή 0 0 απάντηση ηχούς (ping) 3 0 απρόσιτο δίκτυο προορισμού 3 1 απρόσιτος host προορισμού 3 2 απρόσιτο πρωτόκολλο προρ. 3 3 απρόσιτη πόρτα προορισμού 3 6 άγνωστο δίκτυο προορισμού 3 7 άγνωστος host προορισμού 4 0 σταμάτημα πηγής (congestion control δε χρησιμ.) 8 0 αίτηση ηχούς (ping) 9 0 διαφήμιση διαδρομής 10 0 εύρεση router 11 0 λήξη TTL 12 0 κακό IP header 124

125 Traceroute και ICMP Η πηγή στέλνει UDP segments στον προορισμό Το πρώτο σύνολο έχει TTL =1 Το δεύτερο έχει TTL=2, κλπ Τυχαίος αριθμός πόρτας Όταν το ν datagram φθάσει στον ν router Ο router απορρίπτει τα datagrams Αποστέλλει ICMP μηνύματα (τύπος 11, κωδικός 0) Τα ICMP μηνύματα περιλαμβάνουν το όνομα του router και τη διεύθυνση IP Όταν φθάνουν τα μηνύματα ICMP, η πηγή καταγράφει τα RTTs Κριτήρια τερματισμού Ένα UDP segment φθάνει τελικά στο host προορισμού Ο προορισμός επιστρέφει μήνυμα ICMP απρόσιτη πόρτα (τύπος 3, κωδικός 3) Η πηγή σταματάει 3 probes 3 probes 3 probes 125

126 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

127 Μορφή IPv6 datagram priority (traffic class): προσδιορισμός προτεραιοτήτων μεταξύ των datagrams στη «ροή» (μηνύματα με συγκεκριμένη συμπεριφορά) flow label: προσδιορισμός datagrams στην ίδια «ροή» next header: προσδιορισμός πρωτοκόλλου επάνω επιπέδου για τη διαχείριση των δεδομένων ver pri flow label payload len next hdr hop limit διεύθυνση πηγής (128 bits) διεύθυνση προορισμού (128 bits) δεδομένα 32 bits 127

128 Μετάβαση από το IPv4 στο IPv6 Δε γίνεται αλλαγή όλων των routers ταυτόχρονα Δεν υπάρχουν «αργίες» Πως θα λειτουργεί το δίκτυο με μικτούς IPv4 και IPv6 routers? Σήραγγες (tunneling): Το IPv6 datagram μεταφέρεται ως στο IPv4 datagram μεταξύ των IPv4 routers IPv4 header fields IPv4 source, dest addr IPv6 header fields IPv6 source dest addr UDP/TCP payload IPv4 payload IPv6 datagram IPv4 datagram 128

129 Tunneling Λογική οπτική: A IPv6 B IPv6 Σήραγγα IPv4 που συνδέει IPv6 routers E IPv6 F IPv6 Φυσική οπτική: A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 ροή: X πηγή: A προορ.: F δεδομένα πηγή:b προορ.: E ροή: X πηγή: A προορ.: F πηγή:b προορ.: E ροή: X πηγή: A προορ.: F ροή: X πηγή: A προορ.: F δεδομένα δεδομένα δεδομένα A-σε-B: IPv6 B-σε-C: IPv6 μέσα σε IPv4 B-σε-C: IPv6 μέσα σε IPv4 E-σε-F: IPv6 129

130 Κατηγοριοποίηση αλγορίθμων δρομολόγησης Παγκόσμια / αποκεντρικοποιημένη πληροφορία Παγκόσμια Όλοι οι routers έχουν πληροφορία για την τοπολογία και τις συνδέσεις αλγόριθμοι link state (Distance-Vector) Αποκεντρικοποιημένη Ο router γνωρίζει τους φυσικά συνδεδεμένους γείτονες και τα κόστη των συνδέσεων με αυτούς Επαναληπτική διαδικασία επεξεργασίας και ανταλλαγής πληροφορίας με τους γείτονες αλγόριθμοι distance vector (Bellman- Ford) Στατική / δυναμική Στατική Οι routes αλλάζουν με αργό ρυθμό Δυναμική Οι routes αλλάζουν με πιο γρήγορο ρυθμό Περιοδικές ανανεώσεις Βάσει των αλλαγών στα κόστη των συνδέσεων 130

131 Σύγκριση αλγορίθμων LS και DV Πολυπλοκότητα μηνύματος LS: με n κόμβους, E συνδέσεις, O(nE) μηνύματα DV: ανταλλαγή μόνο μεταξύ γειτόνων Ο χρόνος σύγκλισης διαφέρει Ταχύτητα σύγκλισης LS: Αλγόριθμος O(n2) απαιτεί O(nE) μηνύματα Μπορεί να υπάρχουν ταλαντώσεις DV: Ο χρόνος σύγκλισης διαφέρει Μπορεί να υπάρξουν loops δρομολόγησης Πρόβλημα μετρήματος ως το άπειρο Ευρωστία: Τι συμβαίνει αν δε λειτουργεί σωστά ο router? LS DV Ο κόμβος μπορεί να διαφημίσει λάθος κόστος σύνδεσης Κάθε κόμβος υπολογίζει μόνο το δικό του πίνακα Ο κόμβος μπορεί να διαφημίσει λάθος κόστος μονοπατιού Ο πίνακας κάθε κόμβου χρησιμοποιείται από τους άλλους Τα σφάλματα διαδίδονται 131 στο δίκτυο

132 Ιεραρχική δρομολόγηση Συνάθροιση router σε περιοχές, αυτόνομα συστήματα (ΑΣ) Οι router στο ίδιο ΑΣ έχουν το ίδιο πρωτόκολλο δρομολόγησης εντός-ασ πρωτόκολλο δρομολόγησης Οι router σε διαφορετικά ΑΣ εκτελούν διαφορετικά πρωτόκολλα εντός-aσ Gateway router Στο τελικό σημείο του δικού του ΑΣ Έχει σύνδεση με router σε ένα άλλο ΑΣ 132

133 Διασυνδεδεμένα ΑΣ 3c 3a 3b AΣ3 1a 1c 1d 1b Εντός-ΑΣ αλγόριθμος δρομολ. AΣ1 Πίνακας προώθησης 2a Εκτός-AΣ αλγόριθμος δρομολ. 2c AΣ2 2b Ο πίνακας προώθησης ρυθμίζεται τόσο με εντός όσο και με εκτός ΑΣ αλγορίθμους δρομολόγησης Οι εντός-aσ θέτουν εγγραφές για εσωτερικούς προορισμούς Οι εκτός για εξωτερικούς 133

134 Εντός-ΑΣ δρομολόγηση Γνωστό και ως interior gateway protocols (IGP) Τα πιο διαδεδομένα πρωτόκολλα για εντός-ασ δρομολόγηση RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) 134

135 RIP (Routing Information Protocol) Στο BSD-UNIX distribution το 1982 Αλγόριθμος distance vector Μετρική απόστασης: αριθμός στάσεων (μέγιστο = 15), κάθε σύνδεση έχει κόστος 1 Τα διανύσματα ανταλλάσσονται με τους γείτονες κάθε 30 sec (διαφήμιση) Κάθε διαφήμιση: λίστα με μέχρι 25 υποδίκτυα προορισμού z u A C B D v y w x Από router A σε υποδίκτυα προορισμού υποδίκτυο στάσεις u 1 v 2 w 2 x 3 y 3 z 2 135

136 Παράδειγμα RIP Διαφήμιση A-σε-D Προορ. Επομ. Στάσεις w - 1 x - 1 z C w x y A D B z C Πίνακας δρομολόγησης στο router D Υποδίκτυο προορισμού Επόμενος router Αρ. στάσεων μέχρι προορισμό w A 2 y B 2 z B A 5 7 x

137 RIP: Αποτυχία σύνδεσης, διόρθωση Αν δεν υπάρχει διαφήμιση μετά από 180 sec --> γείτονας/σύνδεση θεωρούνται νεκρά Οι διαδρομές μέσω του γείτονα ακυρώνονται Νέες διαφημίσεις στέλνονται στους γείτονες Οι γείτονες στη συνέχεια στέλνουν νέες διαφημίσεις (εάν έχουν αλλάξει οι πίνακες) Οι αποτυχίες συνδέσεων διαδίδονται γρήγορα σε όλο το δίκτυο Αντίστροφη προσέγγιση χρησιμοποιείται για την αποφυγή ping-pong loops (άπειρη απόσταση = 16 στάσεις) 137

138 OSPF (Open Shortest Path First) open : δημόσια διαθέσιμο Χρησιμοποιεί αλγόριθμο link state Προώθηση πακέτων LS Πίνακας τοπολογίας σε κάθε κόμβο Η διαδρομή υπολογίζεται με τον αλγόριθμο Dijkstra Η διαφήμιση OSPF έχει μια εγγραφή ανά γείτονα Οι διαφημίσεις κατακλύζουν ολόκληρο το ΑΣ Σε μηνύματα OSPF απευθείας πάνω από το IP (και όχι με TCP ή UDP) 138

139 Ιεραρχικό OSPF (1/2) Συνοριακοί router περιοχής Ραχοκοκαλιά Συνοριακοί router Router ραχοκοκαλιάς Περιοχή 3 Περιοχή 1 Περιοχή 2 Εσωτερικοί router 139

140 Ιεραρχικό OSPF (2/2) Ιεραρχία 2 επιπέδων: τοπική περιοχή, ραχοκοκαλιά (backbone) Διαφημίσεις link-state μόνο στην τοπική περιοχή Κάθε κόμβος έχει λεπτομερή τοπολογία περιοχής και γνωρίζει μόνο την κατεύθυνση (συντομότερο μονοπάτι) προς δίκτυα σε άλλες περιοχές Συνοριακοί router περιοχής: συνοψίζουν τις αποστάσεις προς δίκτυα στις περιοχές τους και διαφημίζουν προς άλλους συνοριακούς router περιοχής Router ραχοκοκαλιάς (backbone): εκτελούν δρομολόγηση OSPF που περιορίζεται στο backbone Συνοριακοί router: συνδέονται σε router άλλων ΑΣ 140

141 Δρομολόγηση εκτός-ασ: BGP BGP (Border Gateway Protocol): Το de facto πρωτόκολλο δρομολόγησης μεταξύ domain η κόλλα που διατηρεί το Internet Το BGP προσφέρει σε κάθε ΑΣ έναν τρόπο ώστε να: ebgp: λαμβάνει προσβασιμότητα υποδικτύων από γειτονικά ΑΣ ibgp: διαδίδει πληροφορίες προσβασιμότητας σε όλους τους εσωτερικούς router Καθορίζει καλές διαδρομές προς άλλα δίκτυα βάσει της πληροφορίας προβασιμότητας και πολιτικών Επιτρέπει σε ένα υποδίκτυο (subnet) να διαφημίζει την ύπαρξη του στο υπόλοιπο Internet! 141

142 Βασικά στοιχεία BGP BGP session: 2 BGP routers ( peers ) ανταλλάσσουν μηνύματα BGP Διαφημίζουν μονοπάτια σε prefixes (άρα subnet ή πολλά subnets) διαφορετικών δικτύων προορισμού (πρωτόκολλο διανύσματος μονοπατιού - path vector ) Ανταλλάσσονται με συνδέσεις TCP Όταν το ΑΣ3 διαφημίζει ένα prefix στο ΑΣ1 Το ΑΣ3 υπόσχεται να προωθεί datagrams προς αυτό το prefix Το ΑΣ3 μπορεί να συναθροίσει prefixes στη διαφήμιση του άλλα δίκτυα 3b 3c ΑΣ3 3a 1a AΣ1 BGP μήνυμα 1c 1d 1b 2a AΣ2 2c 2b άλλα δίκτυα 142

143 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

144 Που υλοποιείται το επίπεδο ζεύξης Σε κάθε κόμβο Υλοποιείται στον adaptor (network interface card - NIC) ή σε ένα τσιπ Κάρτα Ethernet, κάρτα , τσιπ Ethernet Υλοποιεί το επίπεδο ζεύξης και το φυσικό επίπεδο Συνδέεται με τα system buses του κόμβου Συνδυασμός hardware, software, firmware application transport network link link physical cpu controller physical transmission memory Κάρτα δικτύου bus κόμβου (π.χ. PCI) 144

145 Πρωτόκολλα πολλαπλής πρόσβασης Ένα κοινόχρηστο κανάλι εκπομπής 2 ή περισσότερες ταυτόχρονες μεταδόσεις από κόμβους: παρεμβολή Συμβαίνουν συγκρούσεις (collision) εάν ο κόμβος λάβει 2 ή περισσότερα σήματα την ίδια στιγμή Πρωτόκολλο πολλαπλής πρόσβασης Κατανεμημένος αλγόριθμος που καθορίζει πως οι κόμβοι μοιράζονται το κοινόχρηστο κανάλι π.χ. καθορίζει ποιος κόμβος μπορεί να μεταδώσει Η επικοινωνία για την κατανομή του καναλιού πρέπει να χρησιμοποιεί το ίδιο το κανάλι! Δεν υπάρχει κανάλι out-of-band για συντονισμό 145

146 Πρωτόκολλα MAC: Εισαγωγή 3 κύριες κατηγορίες Διαχωρισμός καναλιού Το κανάλι χωρίζεται σε μικρότερα κομμάτια (περιόδους χρόνου, συχνότητα, κώδικα) Διάθεση κομματιών σε κόμβους για αποκλειστική χρήση Τυχαία πρόσβαση Το κανάλι δε διαχωρίζεται, συμβαίνουν συγκρούσεις Επιτρέπει ανάκτηση από συγκρούσεις Εκ περιτροπής Οι κόμβοι εκ περιτροπής μεταδίδουν αλλά αυτοί που αποστέλλουν περισσότερα μπορούν να λάβουν μεγαλύτερες περιόδους 146

147 Πρωτόκολλα τυχαίας πρόσβασης Όταν κάποιος κόμβος έχει πακέτο προς αποστολή Μετάδοση στο μέγιστο ρυθμό R του καναλιού Δεν υπάρχει συντονισμός μεταξύ των κόμβων πιο πριν Όταν 2 ή περισσότεροι κόμβοι αποστέλλουν συμβαίνουν συγκρούσεις Το πρωτόκολλο MAC τυχαίας πρόσβασης καθορίζει πως να Εντοπίζονται οι συγκρούσεις Γίνεται ανάκτηση από συγκρούσεις (π.χ. μέσω καθυστερήσεων στις επαναποστολές) Παραδείγματα πρωτοκόλλων slotted ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA 147

148 Carrier Sense Multiple Access (CSMA) CSMA: «άκου» πριν μεταδόσεις Εάν το κανάλι είναι ανενεργό: μετάδοση ολόκληρου του frame Εάν το κανάλι είναι απασχολημένο: καθυστέρηση μετάδοσης Ανθρώπινη αναλογία: μη διακόπτεις τους άλλους! 148

149 CSMA/Collision Detection (1/2) CSMA/CD: ανιχνεύεις από τους κόμβους όπως στο CSMA Οι συγκρούσεις ανιχνεύονται σε μικρό χρονικό διάστημα Οι συγκρουόμενες μεταδόσεις αναβάλλονται, μειώνοντας τη «σπατάλη» του καναλιού Ανίχνευση συγκρούσεων Εύκολο σε ενσύρματα LAN: μέτρηση ισχύος σήματος, σύγκριση σημάτων που μεταδόθηκαν και ελήφθησαν Δύσκολο σε ασύρματα LAN: η ισχύς του σήματος που λαμβάνεται κατακλύζεται από την ισχύ της τοπικής μετάδοσης Ανθρώπινη αναλογία: ο ευγενικός συνομιλητής 149

150 CSMA/Collision Detection (2/2) Χωρική διάταξη κόμβων 150

151 Ethernet αλγόριθμος CSMA/CD Το NIC λαμβάνει datagram από το επίπεδο δικτύου και δημιουργεί frame Εάν το NIC εντοπίσει ανενεργό το κανάλι ξεκινάει τη μετάδοση του frame. Εάν το NIC εντοπίσει το κανάλι απασχολημένο, περιμένει μέχρι το κανάλι να είναι ανενεργό και τότε μεταδίδει. Εάν το NIC μεταδώσει ολόκληρο το frame χωρίς να εντοπίσει μια άλλη μετάδοση, το NIC ολοκληρώνει για αυτό το frame! Εάν το NIC εντοπίσει μια άλλη μετάδοση καθώς μεταδίδει, αναστέλλει την αποστολή και στέλνει σήμα εμπλοκής Μετά την αναστολή, το NIC μπαίνει σε κατάσταση binary (εκθετικού) backoff Μετά την σύγκρουση m, το NIC επιλέγει K τυχαία από το διάστημα {0,1,2,, 2 m -1}. Το NIC περιμένει χρόνο K 512 bit και επιστρέφει στο βήμα 2 Μεγαλύτερο διάστημα backoff εάν υπάρχουν πολλές συγκρούσεις 151

152 MAC πρωτόκολλα εκ περιτροπής Πρωτόκολλα διαχωρισμού καναλιού Διαμοιρασμός καναλιού αποδοτικά και δίκαια σε υψηλό φόρτο Μη αποδοτικό σε χαμηλό φόρτο: καθυστέρηση στην πρόσβαση στο κανάλι, 1/N bandwidth ανατίθεται ακόμα και μόνο σε 1 ενεργό κόμβο! Πρωτόκολλα τυχαίας πρόσβασης Αποδοτικό σε χαμηλό φόρτο: ένας μόνο κόμβος μπορεί να αξιοποιήσει πλήρως το κανάλι Υψηλός φόρτος: επιπλέον «κόστος» συγκρούσεων Πρωτόκολλα εκ περιτροπής Αναζητούν το καλύτερο από τα παραπάνω (με polling ή tokens)! 152

153 Σημερινή διάλεξη Αποστολή πακέτων δεδομένων, καθυστερήσεις Επίπεδο μεταφοράς (συν) Πρωτόκολλο TCP Διαστρωμάτωση πρωτοκόλλων διαδικτύου TCP 3-way handshake Έλεγχος ροής / συμφόρησης Επίπεδο εφαρμογής Επίπεδο δικτύου Διεργασίες, Sockets Αρχικτεκτονική router Πρωτόκολλο HTTP IP datagram Cookies, Caches Διευθυνσιοδότηση FTP: File Transfer Protocol NAT: Network Address Translation Ηλεκτρονική αλληλογραφία IPv6 datagram Domain Name System (DNS) Δρομολόγηση BitTorrent Επίπεδο ζεύξης Επίπεδο μεταφοράς Πρωτόκολλα MAC Multiplexing / demultiplexing Carrier Sense Multiple Access (CSMA) UDP: User Datagram Protocol Address Resolution Protocol (ARP) Reliable data transfer Ethernet GBN/Selective Repeat IEEE : Πολλαπλή πρόσβαση

154 Address Resolution Protocol (ARP) Ερώτηση: πώς καθορίζεται η διεύθυνση MAC μιας διεπαφής γνωρίζοντας τη διεύθυνση IP του? F7-2B LAN A-2F-BB AD D7-FA-20-B0 Πίνακας ARP: κάθε κόμβος (host, router) στο LAN έχει πίνακα Αντιστοιχίσεων IP/MAC διευθύνσεων για κάποιους κόμβους του LAN: < IP address; MAC address; TTL> TTL (Time To Live): χρόνος μετά τον οποίο η αντιστοίχιση δεν ισχύει (συνήθως 20 λεπτά) C-C4-11-6F-E

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 5 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 3 Απριλίου 2015 Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 6 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 24 Απριλίου 2015 Σημερινή διάλεξη Σύνοψη 5ης διάλεξης Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 8 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 15 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 7ης διάλεξης Επίπεδο μεταφοράς Αξιόπιστη μεταφορά δεδομένων

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 9 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 22 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 8ης διάλεξης Επίπεδο μεταφοράς Συμφόρηση: Αρχές ελέγχου

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 7 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 8 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 6ης διάλεξης Επίπεδο μεταφοράς Κανάλι με σφάλματα και

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 4 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 27 Μαρτίου 2015 Σημερινή διάλεξη Σύνοψη 3ης διάλεξης Επίπεδο εφαρμογής Πρωτόκολλα πρόσβασης

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 3 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 20 Μαρτίου 2015 Σημερινή διάλεξη Σύνοψη 2ης διάλεξης Επίπεδο εφαρμογής Πρωτόκολλο HTTP Συνδέσεις

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer) Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Επισκόπηση του επιπέδου μεταφοράς Υπηρεσίες επιπέδου μεταφοράς Επίπεδο μεταφοράς έναντι επιπέδου

Διαβάστε περισσότερα

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

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

Διαβάστε περισσότερα

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 11: Στρώμα μεταφοράς

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 11: Στρώμα μεταφοράς Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 11: Στρώμα μεταφοράς Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Επίπεδο εφαρμογής To Σύστημα Ονομασίας Τομέων DNS Δίκτυα Υπολογιστών Επίπεδο εφαρμογής To Σύστημα Ονομασίας Τομέων DNS Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Τι είναι το DNS (Domain Name System) Αντιστοίχιση ονομάτων: η κύρια υπηρεσία του DNS

Διαβάστε περισσότερα

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής ίκτυα Η/Υ Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα Μοντέλο TCP/IP πολλές πολλοί N A N B Ενότητα E PC A PC B PC D PC E E A E B

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας ίκτυα Η/Υ Μοντέλο TCP/IP Ενότητα E ρ. Ε. Μάγκος Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα πολλές πολλοί N A N

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

Διαβάστε περισσότερα

How do loss and delay occur?

How do loss and delay occur? How do loss and delay occur? packets queue in router buffers packet arrival rate to link (temporarily) exceeds output link capacity packets queue, wait for turn packet being transmitted (delay) A B packets

Διαβάστε περισσότερα

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

Διαβάστε περισσότερα

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

Διαβάστε περισσότερα

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

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Μεταφοράς Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Μεταφοράς Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών Ιστοσελίδα

Διαβάστε περισσότερα

Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;

Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή; ΤCP protocol Άσκηση 1 Είναι το ίδιο να αυξάνεται το congestion window κατά μία μονάδα μετά τη λήψη από κάθε ΑCK πακέτου με το να αυξάνεται σε κάθε RTT; Αν δεν είναι το ίδιο σε ποια περίπτωση επιτυγχάνεται

Διαβάστε περισσότερα

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 12: Στρώμα μεταφοράς

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 12: Στρώμα μεταφοράς Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 12: Στρώμα μεταφοράς Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών Ι

Δίκτυα Επικοινωνιών Ι Δίκτυα Επικοινωνιών Ι Ενότητα 3: Επίπεδο Μεταφοράς Διδάσκων: Λάζαρος Μεράκος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήμιο Αθηνών Δίκτυα Επικοινωνιών Ι Τμήμα Πληροφορικής και

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών. Ενότητα 3: Επίπεδο Μεταφοράς

Δίκτυα Επικοινωνιών. Ενότητα 3: Επίπεδο Μεταφοράς Δίκτυα Επικοινωνιών Ενότητα 3: Επίπεδο Μεταφοράς Άννα Τζανακάκη και Λάζαρος Μεράκος Τµήµα Φυσικής και Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών Δίκτυα Επικοινωνιών

Διαβάστε περισσότερα

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός Εισαγωγή Επανάληψη ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Στερεάς Ελλάδας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Computer Networking: A Top Down Approach

Διαβάστε περισσότερα

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

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών Στρώμα Μεταφοράς (2) Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών Στρώμα Μεταφοράς (2) Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών TCP

Διαβάστε περισσότερα

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

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Εφαρμογής Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Εφαρμογής Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών Ιστοσελίδα

Διαβάστε περισσότερα

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec). Άσκηση Υπολογίστε τον συνολικό χρόνο που απαιτείται για την μετάδοση ενός αρχείου 500KB πάνω από μια ζεύξη (Link), στις παρακάτω περιπτώσεις, θεωρώντας πως η καθυστέρηση μιας κατεύθυνσης (one way delay)

Διαβάστε περισσότερα

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

Μάθημα 6: Αρχιτεκτονική TCP/IP Μάθημα 6: Αρχιτεκτονική TCP/IP 6.1 Συσχέτιση OSI και TCP/IP Η αρχιτεκτονική TCP/IP ακολουθεί ένα πρότυπο διαστρωμάτωσης παρόμοιο με το μοντέλο OSI. Η αντιστοιχία φαίνεται στο σχήμα 6.1. Η ονομασία της

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 Μηχανισμοί πρωτοκόλλων προσανατολισμένων σε σύνδεση Λογική σύνδεση

Διαβάστε περισσότερα

Πρωτόκολλο TCP Διάλεξη Ι

Πρωτόκολλο TCP Διάλεξη Ι Πρωτόκολλο TCP Διάλεξη Ι Εισαγωγή Οι υπηρεσίες μεταβίβασης δεδομένων ανάμεσα σε δύο επικοινωνούντες πόρους κατατάσσονται σε δύο κατηγορίες: Connectionless ή datagram Connection-oriented Οι υπηρεσίες της

Διαβάστε περισσότερα

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Ηλεκτρονικού Ταχυδρομείου - SMTP Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Ηλεκτρονικού Ταχυδρομείου - SMTP Δρ. Απόστολος Γκάμας Διδάσκων (407/80) gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 1 Ηλεκτρονικό

Διαβάστε περισσότερα

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

Εργαστήριο Δικτύων Υπολογιστών Εργαστήριο Δικτύων Υπολογιστών 2 η Διάλεξη: TCP/UDP Δικτυακά πρωτόκολλα / εφαρμογές Ports Unix δικτυακές εντολές Transmission Control Protocol - TCP Πρωτόκολλο Mεταφοράς RFC 793 [Postel 1981] Xρησιμοποιεί

Διαβάστε περισσότερα

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

Χρήση βασικών εργαλείων συλλογής πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βελτίστου Σχεδιασμού Δικτύων Τηλεματικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΔΊΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΏΝ ΔΊΚΤΥΑ ΥΠΟΛΟΓΙΣΤΏΝ ΚΑΙ ΣΤΡΏΜΑ ΜΕΤΑΦΟΡΆΣ ΔΙΔΆΣΚΟΝΤΕΣ: ΔΡ. ΕΥΓΕΝΊΑ ΑΔΑΜΟΠΟΎΛΟΥ, ΔΡ. ΚΏΣΤΑΣ ΔΕΜΈΣΤΙΧΑΣ

ΔΊΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΏΝ ΔΊΚΤΥΑ ΥΠΟΛΟΓΙΣΤΏΝ ΚΑΙ ΣΤΡΏΜΑ ΜΕΤΑΦΟΡΆΣ ΔΙΔΆΣΚΟΝΤΕΣ: ΔΡ. ΕΥΓΕΝΊΑ ΑΔΑΜΟΠΟΎΛΟΥ, ΔΡ. ΚΏΣΤΑΣ ΔΕΜΈΣΤΙΧΑΣ ΔΊΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΏΝ ΔΊΚΤΥΑ ΥΠΟΛΟΓΙΣΤΏΝ ΚΑΙ ΣΤΡΏΜΑ ΜΕΤΑΦΟΡΆΣ ΔΙΔΆΣΚΟΝΤΕΣ: ΔΡ. ΕΥΓΕΝΊΑ ΑΔΑΜΟΠΟΎΛΟΥ, ΔΡ. ΚΏΣΤΑΣ ΔΕΜΈΣΤΙΧΑΣ ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών Ιστοσελίδα

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151) Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151) 2 Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΙΑΛΕΞΗ (WIRESHARK ΠΡΩΤΟΚΟΛΛΑ ΕΦΑΡΜΟΓΗΣ) Υπεύθυνος καθηγητής: Άγγελος Ρούσκας Βοηθός: Υ.Δ. Ευθύμης Οικονόμου 1 Περιεχόμενα παρουσίασης HTTP συνέχεια

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11. Κεφάλαιο 2 Αξιοπιστία...25. Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11. Κεφάλαιο 2 Αξιοπιστία...25. Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης... Περιεχόμενα Εισαγωγή...7 Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11 Κεφάλαιο 2 Αξιοπιστία...25 Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...65 Κεφάλαιο 4 Μεταγωγή Δεδομένων και Δρομολόγηση...

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 2 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 13 Μαρτίου 2015 Σημερινή διάλεξη Σύνοψη 1ης διάλεξης Διαδίκτυο Ασφάλεια Επίπεδο εφαρμογής

Διαβάστε περισσότερα

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία Improving the performance of TCP in the case of packet reordering Στρατάκη Μαρία Γενικές Πληροφορίες για το TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) Χωρίζουν τα δεδομένα σε τμήματα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 3 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ ΠΡΩΤΟΚΟΛΛΟ ΕΛΕΓΧΟΥ

Διαβάστε περισσότερα

Συνδεσιστρεφής. Υπηρεσίες επιπέδου µεταφοράς Πολύπλεξη και αποπολύπλεξη Ασυνδεσιστρεφής. µεταφορά: TCP

Συνδεσιστρεφής. Υπηρεσίες επιπέδου µεταφοράς Πολύπλεξη και αποπολύπλεξη Ασυνδεσιστρεφής. µεταφορά: TCP Επίπεδο Μεταφοράς Περίγραµµα Υπηρεσίες επιπέδου µεταφοράς Πολύπλεξη και αποπολύπλεξη Ασυνδεσιστρεφής µεταφορά: UDP Αρχές αξιόπιστης µεταφοράς δεδοµένων Συνδεσιστρεφής µεταφορά: TCP δοµή segment αξιόπιστη

Διαβάστε περισσότερα

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

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 Το δίκτυο ARPANET ήταν ένα δίκτυο μεταγωγής πακέτων που χρηματοδοτήθηκε από το υπουργείο άμυνας των Η.Π.Α. στα τέλη της δεκαετίας του '60. 2 / 26 Από την αρχή κύριος

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης

Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής (1) Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης Απρόκλητο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ηλεκτρονικό Ταχυδρομείο - SMTP Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ηλεκτρονικό Ταχυδρομείο - SMTP Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Τηλεπικοινωνιών Ευάγγελος Α. Κοσμάτος Αρχιτεκτονική Ηλεκτρονικού Ταχυδρομείου

Διαβάστε περισσότερα

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

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

Διαβάστε περισσότερα

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

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

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 1 1. Ποια είναι τα επίπεδα που χρησιμοποιεί το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI); i. Φυσικό Επίπεδο ii. επίπεδο Ζεύξης ή Σύνδεσης Δεδομένων iii.

Διαβάστε περισσότερα

Εξοικείωση με τις εντολές ipconfig και ping

Εξοικείωση με τις εντολές ipconfig και ping Διαχείριση Δικτύων Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Εργαστηριακή Άσκηση Εξοικείωση με τις εντολές ipconfig και ping Σημείωση : Η άσκηση αναφέρεται σε εντολές των Windows. Υπάρχουν παρόμοιες

Διαβάστε περισσότερα

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

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών Ι

Δίκτυα Επικοινωνιών Ι Δίκτυα Επικοινωνιών Ι Ενότητα 2: Επίπεδο Εφαρμογής Διδάσκων: Νάσος Βάιος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήμιο Αθηνών Δίκτυα Επικοινωνιών Ι Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM Παραδείγµατα δικτυακών τεχνολογιών Ethernet Internet ATM Τοπικά δίκτυα (LANs) Τα πιο απλά δίκτυα Κάθε υπολογιστής έχει όνοµα διεύθυνση δικτύου (Internet) διεύθυνση τοπικού δικτύου (Ethernet) alice 28 35

Διαβάστε περισσότερα

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

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ ΘΕΜΑΤΑ & ΑΝΤΗΣΕΙΣ ΠΑΝΕΛΛΗΝΙΩΝ ΔΙΚΤΥΑ 2017 A1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας στο τετράδιό σας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη λέξη Σωστό, αν η πρόταση είναι

Διαβάστε περισσότερα

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δίκτυα Υπολογιστών Στόχοι 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας Πανεπιστήμιο Πειραιά To Μοντέλο OSI pdemest@unipi.gr ιάρθρωση Το μοντέλο αναφοράς OSI Επίπεδα Πρωτόκολλα, κατανομή πρωτοκόλλων σε στοιχεία δικτύου Αντιστοιχία τστοχα μοντέλων OSI και Internet Ανάλυση Επιπέδων

Διαβάστε περισσότερα

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

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7] Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε

Διαβάστε περισσότερα

Επίπεδο Μεταφοράς (Transport Layer)

Επίπεδο Μεταφοράς (Transport Layer) Επίπεδο Μεταφοράς (Transport Layer) Περίληψη Ο ρόλος του επιπέδου µεταφοράς Τα στοιχεία του πρωτοκόλλου µεταφοράς Τα πρωτόκολλα µεταφοράς του Διαδικτύου UDP (User Datagram Protocol) RPC (Remote Procedure

Διαβάστε περισσότερα

Λογισμικό Δικτύων Πέτρος Λάμψας 2007

Λογισμικό Δικτύων Πέτρος Λάμψας 2007 Λογισμικό Δικτύων Πέτρος Λάμψας 2007 Στόχοι της Ενότητας Η παρουσίαση των λειτουργιών που εκτελούνται από λογισμικό στις επικοινωνίες δεδομένων Η παρουσίαση του τρόπου με τον οποίο δομείται σε τμήματα

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

Διαβάστε περισσότερα

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση

Διαβάστε περισσότερα

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

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο Βασικές Υπηρεσίες Διαδικτύου Επικοινωνίες Δεδομένων Μάθημα 2 ο Μεταφορά αρχείων (File Transfer Protocol, FTP) user at host FTP user interface FTP client local file system file transfer FTP server remote

Διαβάστε περισσότερα

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

Τεχνολογίες ιαδικτύου Τεχνολογίες ιαδικτύου Εισαγωγή Αρχιτεκτονική, Πρωτόκολλα και Πρότυπα Βασικών Υπηρεσιών Ιστορικά Στοιχεία ARPANET Ο «παππούς» των δικτύων Αναπτύχθηκε από την DARPA στα τέλη του 60 Το 83 διασπάται σε MILNET

Διαβάστε περισσότερα

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

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού Μεταφορά αρχείων Πρωτόκολλο FTP Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού Είναι ανεξάρτητο του λειτουργικού συστήματος και του

Διαβάστε περισσότερα

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

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από

Διαβάστε περισσότερα

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

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών. Ενότητα 4: Μετάδοση δεδομένων από το στρώμα μεταφοράς. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.

Δίκτυα Υπολογιστών. Ενότητα 4: Μετάδοση δεδομένων από το στρώμα μεταφοράς. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ. Δίκτυα Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 4: Μετάδοση δεδομένων από το στρώμα μεταφοράς Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

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

ιαδικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port

Διαβάστε περισσότερα

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

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης. Εργαστηριακή Άσκηση 3 Σκοπός της τρίτης σειράς ασκήσεων είναι η γνωριµία µε τον αναλυτή πρωτοκόλλων Wireshark. Το πρόγραµµα Wireshark είναι ένας ανιχνευτής πακέτων (packet sniffer) και διατίθεται ως ανοιχτό

Διαβάστε περισσότερα

Διάρθρωση. Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο. Επικοινωνία από άκρο σε άκρο. Διάρθρωση

Διάρθρωση. Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο. Επικοινωνία από άκρο σε άκρο. Διάρθρωση Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο Ευάγγελος Παπαπέτρου Τμ Μηχ Η/Υ & Πληροφορικής, Παν Ιωαννίνων 1 Το Επίπεδο Μεταφοράς 2 Το πρωτόκολλο UDP 3 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606:

Διαβάστε περισσότερα

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα

Διαβάστε περισσότερα

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

Προγραμματισμός Ιστοσελίδων (Web Design) Προγραμματισμός Ιστοσελίδων (Web Design) Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Τηλεπικοινωνιών Ευάγγελος Α. Κοσμάτος Ορισμός Web Ο Παγκόσμιος Ιστός (World Wide Web) ή απλά Web αποτελεί

Διαβάστε περισσότερα

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2 Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 o Ένα πακέτο ανώτερου επιπέδου τεμαχίζεται σε 10 πλαίσια, κάθε ένα από τα οποία έχει πιθανότητα 80 τοις εκατό να φτάσει χωρίς σφάλμα. Αν το πρωτόκολλο συνδέσου μετάδοσης δεδομένων

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ (23-26) Π. Φουληράς ΔΙΚΤΥΑ (23-26) Π. Φουληράς Μηχανισμός Αναφοράς Σφαλμάτων (ICMP) Πρωτόκολλο Μηνυμάτων Ελέγχου Διαδικτύου (Internet Control Message Protocol) Απαραίτητο για κάθε τυπική υλοποίηση του IP Το ότι το IP προσφέρει

Διαβάστε περισσότερα

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη

HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη Deadline πρώτης ϕάσης : 13 Δεκεμβρίου 2016, 23:59 * Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα :) Γενική περιγραϕή Στο οικοσύστημα του

Διαβάστε περισσότερα

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας, Κέρκυρα Παρασκευή 10 NOE 2006 ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Α Ίδιο τοπικό

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2013-2014 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 Λύσεις Πρώτης Προόδου (συνολικά 100 μονάδες) 1. Αντιπαραθέσετε

Διαβάστε περισσότερα

ΠΡΩΤΟΚΟΛΛΟ TCP/IP ΜΑΚΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ

ΠΡΩΤΟΚΟΛΛΟ TCP/IP ΜΑΚΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ ΠΡΩΤΟΚΟΛΛΟ TCP/IP ΜΑΚΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ Εισαγωγή ΑRPANET (1969) Τεχνική Μεταγωγής Πακέτων INTERNETTING PROJECT (1973) Σύνδεση διαφορετικών δικτύων Πρωτόκολλα IP, TCP (Κανόνες Ανταλλαγής Δεδομένων) Προσθήκη

Διαβάστε περισσότερα

2 η Σειρά Ασκήσεων Data Link Layer

2 η Σειρά Ασκήσεων Data Link Layer HY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2017-2018 Διδάσκουσα: Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστημίου Κρήτης 2 η Σειρά Ασκήσεων Data Link Layer Άσκηση 1 Αναφέρεται τα 4 επιθυμητά

Διαβάστε περισσότερα

Πρωτόκολλο TCP Διάλεξη ΙΙI

Πρωτόκολλο TCP Διάλεξη ΙΙI Πρωτόκολλο TCP Διάλεξη ΙΙI Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων

Διαβάστε περισσότερα

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

ΗΜΥ 654: ίκτυα Υπολογιστών Τελική Εξέταση 8 εκεµβρίου 2004 Η εξέταση αποτελείται από δύο µέρη. Απαντήστε όλες τις ερωτήσεις του Μέρους Ι και 3 από

ΗΜΥ 654: ίκτυα Υπολογιστών Τελική Εξέταση 8 εκεµβρίου 2004 Η εξέταση αποτελείται από δύο µέρη. Απαντήστε όλες τις ερωτήσεις του Μέρους Ι και 3 από ΗΜΥ 654: ίκτυα Υπολογιστών Τελική Εξέταση 8 εκεµβρίου 004 Η εξέταση αποτελείται από δύο µέρη. Απαντήστε όλες τις ερωτήσεις του Μέρους Ι και από τις 6 ερωτήσεις του Μέρους ΙΙ Πάντοτε οι απαντήσεις σας θα

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ (Kεφ. 17) TCP Υπηρεσίες TCP Μορφή Επικεφαλίδας TCP Μηχανισµοί TCP Πολιτικές Υλοποίησης TCP Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 11: Sockets Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα