HY-335a Project: microtcp, μία lightweight TCP βιβλιοθήκη. Deadline πρώτης ϕάσης : 19/11/ :59
|
|
- Έρις Τιμοθέα Φωτόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 HY-335a Project: microtcp, μία lightweight TCP βιβλιοθήκη Deadline πρώτης ϕάσης : 19/11/ :59
2 Γενική περιγραϕή Στο οικοσύστημα του Internet of Things (IoT) υπάρχει μια ευρεία γκάμα από δικτυακές συσκευές. Πολλές από αυτές έχουν ελάχιστο μέγεθος και λειτουργούν με μπαταρίες. Για αυτόν τον λόγο, οι υπολογιστικοί τους πόροι είναι αρκετά περιορισμένοι. Στις περισσότερες περιπτώσεις, η υλοποίηση ολόκληρου του TCP πρωτοκόλλου είναι αδύνατη και η μεταϕορά της πληροϕορίας γίνεται με UDP. Υπάρχουν όμως εϕαρμογές που απαιτούν αξιόπιστη επικοινωνία και μεταϕορά δεδομένων. Ο σκοπός του project είναι η υλοποίηση μιας βιβλιοθήκης η οποία θα παρέχει μια απλή έκδοση του TCP. Παρόλα αυτά, θα είναι ικανή να παρέχει αξιόπιστη επικοινωνία μεταξύ συσκευών με περιορισμένους υπολογιστικούς πόρους χρησιμοποιώντας το διαθέσιμο UDP πρωτόκολλο μεταϕοράς. 1. Δομή του project - Προθεσμίες To project αποτελείται από 2 ϕάσεις. Στην πρώτη ϕάση ζητείται να υλοποιήσετε την δομή των microtcp πακέτων, το 3-way handshake (χειραψία) το finalize (τερματισμό) της microtcp σύνδεσης καθώς και την απλή μεταϕορά δεδομένων (χωρίς re-transmissions, flow control, κτλ). Επίσης, θα υλοποιήσετε ένα εργαλείο μεταϕοράς αρχείων με TCP το οποίο θα χρησιμοποιήσετε στο τέλος του μαθήματος για την σύγκριση της απόδοσης της υλοποίησή σας, τόσο σε σχέση με την πλήρη υλοποίηση του TCP, όσο και με υλοποιήσεις άλλων ομάδων. Στην δεύτερη ϕάση θα πρέπει να υλοποιήσετε την βασική λειτουργία του TCP η οποία περιλαμβάνει τους μηχανισμούς για acknowledgements, retransmissions, error checking, TCP windowing, Congestion control και Slow start. Η προθεσμία παράδοσης της πρώτης ϕάσης είναι 19 Νοεμβρίου, ενώ η εξέταση αυτής της ϕάσης θα γίνει τις ημέρες Νοεμβρίου. Η προθεσμία παράδοσης της δεύτερης ϕάσης είναι 22 Δεκεμβρίου, ενώ η εξέταση αυτής της ϕάσης θα γίνει τις ημέρες Ιανουαρίου. Απαγορεύεται να αλλάξετε τα συμβόλαια των συναρτήσεων που σας έχουν δοθεί και το structure του header (microtcp_header_t) που σας δίνονται. Η αλλαγή τους θα σημαίνει και τον μηδενισμό του project. Παρόλα αυτά είναι επιθυμητές οι αλλαγές/προσθήκες στα υπόλοιπα structs. 1
3 2. Αναλυτική περιγραϕή 2.1 Δομή Κώδικα Στο θα βρείτε ένα μέρος έτοιμου κώδικα που θα πρέπει να χρησιμοποιήσετε. Υπάρχουν σχόλια στον κώδικα που αναϕέρουν που ακριβώς πρέπει να κάνετε αλλαγές με δικό σας κώδικα. Ο υπάρχων κώδικας δομείται ως εξής : 1. Φάκελος lib: Περιέχει την δομή και τις συναρτήσεις της microtcp βιβλιοθήκης. 2. Φάκελος test: Περιέχει το εργαλείο μέτρησης του bandwidth τόσο με χρήση της κανονικής TCP υλοποίησης όσο και της microtcp. Επίσης στον ϕάκελο αυτό θα βρείτε έναν έτοιμο traffic generator που θα χρησιμοποιήσετε για πειράματα, καθώς και το αρχείο traffic_generator_client.c του οποίου τον κώδικα θα πρέπει να συμπληρώσετε. Στον ίδιο ϕάκελο θα βρείτε και άλλα δύο αρχεία test_microtcp_server.c και test_microtcp_client.c. Αυτά γίνονται αυτόματα compile από το buid system και μπορείτε να τα χρησιμοποιήσετε για να test κατά την διάρκεια της υλοποίησής σας. 3. Φάκελος utils: Περιέχει χρήσιμες συναρτήσεις. Σε αυτή την ϕάση περιέχει την συνάρτηση υπολογισμού του checksum. Για το compile και την παραγωγή του εκτελέσιμου μπορείτε να χρησιμοποιήσετε το cmake ( Το εργαλείο αυτό παράγει αυτόματα τα κατάλληλα makefiles σε ένα ξεχωριστό ϕάκελο ώστε ο ϕάκελος με τον πηγαίο κώδικα να παραμένει καθαρός από ενδιάμεσα αρχεία. Για να γίνει αυτό μέσα στο ϕάκελο με τον source code δημιουργείστε ένα ϕάκελο με το όνομα build. Μέσα σε αυτόν το ϕάκελο τρέξτε την εντολή cmake όπως ϕαίνεται στο παρακάτω παράδειγμα : mkdir build cd build cmake.. Μετά από αυτό μπορείτε να κάνετε compile δίνοντας την εντολή : make Τα παραγόμενα εκτελέσιμα βρίσκονται πλέον μέσα στο directory test του build directory. Κατά την παράδοση της εργασίας σας δεν παραδίδετε τον ϕάκελο build. Το ίδιο πρέπει να κάνετε και όταν ανταλλάσετε κώδικα με τα άλλα άτομα της ομάδας σας. Σαν γενικός κανόνας, το build directory έχει νόημα μόνο για το μηχάνημα που κάνει compile. 2
4 2.2 Δομή microtcp πακέτων Η δομή κάθε microtcp πακέτου βασίζεται αρκετά στην δομή των TCP πακέτων με την διαϕορά ότι ο header κάθε microtcp πακέτου είναι πιο απλός και σταθερού μεγέθους. Ο header έχει την εξής μορϕή : Bit-0 Bit-16 Bit-31 Control Sequence Number ACK Number Data Length Future use field 0 Future use field 1 Future use field 2 CRC32 Checksum Window 1. Sequence Number, 32bit: Το πεδίο αυτό περιέχει το sequence number του πακέτου. Αρχικά κατά την έναρξη μιας microtcp σύνδεσης επιλέγεται ένας τυχαίος αριθμός. Μετά από κάθε επιτυχημένη μετάδοση, ο αριθμός αυτός αυξάνεται κατά τον αριθμό των bytes που στάλθηκαν επιτυχημένα. 2. Acknowledgment Number, 32bit: Το πεδίο αυτό περιέχει το sequence number που περιμένει ο αποστολέας να λάβει στο επόμενο πακέτο. 3. Control, 16bit: Σε αυτό το πεδίο περιέχεται η πληροϕορία για τον τύπο του κάθε πακέτου καθώς και κάποια flags που θα χρησιμοποιηθούν κυρίως στην επόμενη ϕάση. Bit 0 Bit-12 Bit-13 Bit 14 Bit-15 0 ACK RST SYN FIN ACK: Αν είναι 1, το Acknowledgment Number θα πρέπει να ληϕθεί υπόψιν. Στην ουσία μόνο το πρώτο πακέτο μιας TCP σύνδεσης δεν κάνει 1 αυτό το bit. Μετά το πρώτο SYN πακέτο, όλα τα υπόλοιπα θα πρέπει να έχουν το ACK bit 1. RST: Αν είναι 1, η σύνδεση θα πρέπει να γίνει reset. SYN: Synchronize sequence numbers. Χρησιμοποιείται για να δηλώσει την έναρξη μιας νέας σύνδεσης. Θα πρέπει να σταλθεί 1, μόνο μια ϕορά 3
5 από κάθε πλευρά κατά το πρώτο πακέτο. Στις υπόλοιπες περιπτώσεις θα πρέπει να είναι 0. FIN: Αν είναι 1, δηλώνει πως ο αποστολέας δεν έχει άλλα δεδομένα να στείλει. Χρησιμοποιείται για τον τερματισμό μιας σύνδεσης. 4. Window 16bit: Το window ορίζει τον αριθμό των bytes που είναι πρόθυμος να λάβει ο αποστολέας αυτού του πακέτου. 5. Data Length, 32bit: Το μέγεθος των δεδομένων του τρέχοντος πακέτου σε bytes. Προσοχή σε αυτόν τον αριθμό δεν θα πρέπει να προσμετρούνται τα bytes του header. 6. Future use 0, 32bit: Θα χρησιμοποιηθεί στην επόμενη ϕάση. Σε αυτή τη ϕάση θα πρέπει να είναι Future use 1, 32bit: Θα χρησιμοποιηθεί στην επόμενη ϕάση. Σε αυτή τη ϕάση θα πρέπει να είναι Future use 2, 32bit: Θα χρησιμοποιηθεί στην επόμενη ϕάση. Σε αυτή τη ϕάση θα πρέπει να είναι CRC32 Checksum 32bit: Περιέχει το CRC32 checksum του header και των δεδομένων του κάθε πακέτου. Για τον υπολογισμό του CRC32, υπάρχει υλοποιημένη η συνάρτηση crc32(const uint8_t *buf, size_t len) στο αρχείο utils/crc32.h. Ο υπολογισμός του checksum γίνεται ως εξής : Όλα τα πεδία του header συμπληρώνονται με την κατάλληλη πληροϕορία και τα δεδομένα τοποθετούνται ακριβώς μετά τον header. Η μνήμη των πεδίων που δεν χρησιμοποιούνται καθώς και τα 32-bits του CRC32 checksum πεδίου θα πρέπει να είναι 0. Η συνάρτηση crc32() εϕαρμόζεται από το πρώτο byte του πακέτου μέχρι το τελευταίο συμπεριλαμβανομένων των data bytes. Τα 32-bits που επιστρέϕει η συνάρτηση τοποθετούνται κατάλληλα στο αντίστοιχο πεδίο. Κατά το receive, ο receiver εξάγει το checksum και το αποθηκεύει κατάλληλα 4
6 τοπικά. Στο checksum πεδίο τοποθετεί μηδενικά bits και εϕαρμόζει την ίδια crc32() συνάρτηση όπως ακριβώς έκανε ο sender. Αν το checksum πεδίο που λήϕθηκε είναι ίδιο με αυτό που υπολογίστηκε από την συνάρτηση crc32(), το πακέτο περιέχει σωστά δεδομένα και μπορεί να συνεχιστεί η επεξεργασία του. Διαϕορετικά το πακέτο θεωρείται κατεστραμμένο. 3. Ζητούμενα Α Φάσης Στο αρχείο lib/microtcp.c θα βρείτε μια σειρά από συναρτήσεις που θα πρέπει να υλοποιήσετε. Η ονοματολογία τους σχετίζεται αρκετά με τις αντίστοιχες συναρτήσεις του TCP και η λειτουργικότητά τους θα πρέπει να είναι αντίστοιχη. microtcp_sock_t microtcp_socket(int domain, int type, int protocol); Η συνάρτηση αυτή δημιουργεί και επιστρέϕει ένα socket microtcp socket σε αντιστοιχία με την συνάρτηση socket(). Με την δημιουργία του socket το state της microtcp σύνδεσης θα πρέπει να ορίζεται ως UKNOWN. Σε περίπτωση λάθους κατάλληλο πεδίο του microtcp_sock_t θα πρέπει να ορίζεται κατάλληλα. int microtcp_bind( microtcp_sock_t *socket, const struct sockaddr *address, socklen_t address_len); Η συνάρτηση αυτή θα πρέπει να υλοποιεί ακριβώς την ίδια λειτουργικότητα με την bind(). int microtcp_accept( microtcp_sock_t *socket, struct sockaddr *address, socklen_t address_len); Η συνάρτηση αυτή μπλοκάρει έως ότου ένας client συνδεθεί στο microtcp socket που έχει ανοίξει ο server. Σε περίπτωση επιτυχίας, η microtcp_accept() επιστρέϕει 0 θέτοντας το πεδίο state του socket την τιμή ESTABLISHED. Σε περίπτωση λάθους επιστρέϕει -1 θέτοντας στο πεδίο state του socket την τιμή INVALID. Μετά την επιτυχημένη κλήση της συνάρτησης αυτής, στην επόμενη ϕάση ο client και ο server μπορούν να ανταλλάξουν δεδομένα. int microtcp_connect( microtcp_sock_t *socket, const struct sockaddr *address, socklen_t address_len); 5
7 Η microtcp_connect() συνδέεται σε ένα microtcp socket το οποίο περιμένει για συνδέσεις έχοντας καλέσει την microtcp_accept(). Η εγκαθίδρυση της σύνδεσης επιτυγχάνεται χρησιμοποιώντας την τεχνική 3-way handshake που περιγράϕεται παρακάτω. Μια επιτυχημένη κλήση της microtcp_connect() επιστρέϕει 0, θέτοντας στο πεδίο state του socket που πήρε ως παράμετρο, την τιμή ESTABLISHED. Σε περίπτωση λάθους, επιστρέϕει -1 και θέτει το state πεδίο του socket σε INVALID. ssize_t microtcp_send ( microtcp_sock_t *socket, const void *buffer, size_t length, int flags); Η συνάρτηση αυτή στέλνει τα δεδομένα του buffer χρησιμοποιώντας UDP. Ο αριθμός των bytes που πρέπει να σταλθούν καθορίζεται από την παράμετρο length. Για αυτή την ϕάση η λειτουργικότητά της είναι ιδιαίτερα απλή. Στέλνει τα δεδομένα με UDP χρησιμοποιώντας την sendto() συνάρτηση αναθέτοντας σωστά sequence numbers στο κατάλληλο πεδίο του πακέτου. Παράλληλα ανανεώνει και τα στατιστικά της σύνδεσης (packets sent, bytes sent). Η microtcp_send() επιστρέϕει των αριθμό των bytes που στάλθηκαν. ssize_t microtcp_recv ( microtcp_sock_t *socket, void *buffer, size_t length, int flags) Η συνάρτηση αυτή είναι υπεύθυνη για την λήψη δεδομένων από το δίκτυο. Τα δεδομένα αποθηκεύονται στην μνήμη που δείχνει η παράμετρος buffer, ενώ ο μέγιστος αριθμός bytes που μπορεί να ληϕθούν καθορίζεται από την παράμετρο length. Η συνάρτηση αυτή δεν πραγματοποιεί κάποια δυναμική δέσμευση μνήμης. Είναι ευθύνη του caller να δεσμεύσει αρκετή μνήμη και να την αναθέσει κατάλληλα στον buffer pointer. Σε αυτή την ϕάση η συνάρτηση αυτή απλά θα λαμβάνει τα δεδομένα και θα ελέγχει αν τυχόν χάθηκαν δεδομένα, χρησιμοποιώντας κατάλληλα την πληροϕορία του sequence number που υπάρχει σε κάθε πακέτο που λαμβάνει. Επιπλέον ανανεώνει κατάλληλα τις μεταβλητές των στατιστικών της σύνδεσης (packet received, packets lost, inter-arrivals κτλ). int microtcp_shutdown( microtcp_sock_t *socket, int how) Η συνάρτηση αυτή τερματίζει την σύνδεση μεταξύ server και client. Σε περίπτωση επιτυχίας επιστρέϕει 0, ενώ αντίθετα σε περίπτωση αποτυχίας -1. Και στις δύο περιπτώσεις, τροποποιεί κατάλληλα το πεδίο state του socket. Η τεχνική για τον τερματισμό της σύνδεσης περιγράϕεται παρακάτω αναλυτικά. Η παράμετρος how έχει την ίδια σημασία με αυτή που περιγράϕεται στην POSIX shutdown() και για ευκολία μπορεί να αγνοηθεί. 6
8 Επιπλέον, με τον τερματισμό της σύνδεσης θα πρέπει να εκτυπώνονται τα στατιστικά της με την εξής μορϕή : Packets received : xxxx Packets sent : xxxx Packets lost : xxxx Packet loss ratio : xxxx % Packet inter - arrival RX Min Max Mean Std : xxxx Packet inter - arrival TX Min Max Mean Std : xxxx Way handshake s = sizeof(microtcp_header_t) microtcp_connect() SYN, seq=n microtcp_accpept() SYN, ACK, seq=m, ack=n+s ACK, seq=n+s, ack=m+s Με το 3-way handshake γίνεται η εγκαθίδρυση της σύνδεσης. Για να γίνει αυτό ο client και ο server πρέπει να ανταλλάξουν πακέτα με τα κατάλληλα sequence numbers. 7
9 Το πρώτο πακέτο που στέλνει ο client είναι το SYN (Synchronize) πακέτο, το οποίο περιέχει το sequence number Ν που διάλεξε τυχαία. Όπως περιγράϕτηκε και προηγουμένως, το SYN πακέτο δηλώνεται θέτοντας σε 1 το κατάλληλο bit στο control πεδίου του header. Ο server λαμβάνει το SYN πακέτο και αποθηκεύει το sequence number του client. Έπειτα διαλέγει τυχαία ένα δικό του sequence number Μ και στέλνει ένα πακέτο SYN+ACK πίσω στον client, το οποίο περιέχει στο πεδίο Sequence Number τον αριθμό M και στο πεδίο ACK Number τον αριθμό N+s. To SYN+ACK πακέτο δηλώνεται θέτοντας σε 1 τα αντίστοιχα bits στο control πεδίου του header. O client λαμβάνει το SYN+ACK πακέτο, αποθηκεύει το sequence number M του server και στέλνει ένα ACK με ACK number Μ+s. Με το τέλος της διαδικασίας η σύνδεση θεωρείται εγκαθιδρυμένη. Το s αντιστοιχεί στον αριθμό των bytes που στάλθηκαν. Κατά το 3-way handshake το κάθε microtcp πακέτο περιέχει μόνο τους headers του, συνεπώς το s θα είναι ίσο με sizeof(microtcp_header_t). Σημείωση : Κατά την διάρκεια της χειραψίας, υπάρχει πάντα η περίπτωση κάποιο πακέτο να χαθεί ή να περιέχει λάθος δεδομένα. Ο έλεγχος τέτοιων περιπτώσεων θα γίνει στην επόμενη ϕάση. 3.2 Connection termination microtcp_shutdown() FIN, ACK, seq=x ACK, ack=x+s FIN, ACK, seq=y ACK, seq=x+s, ack=y+s Για τον τερματισμό μιας microtcp σύνδεσης ακολουθείται μια παρόμοια διαδικασία 8
10 με το 3-way handshake. Έστω S o κόμβος που θέλει να τερματήσει την σύνδεση και D ο άλλος συμμετέχων την σύνδεσης. Ο S στέλνει ένα FIN πακέτο, δηλώνοντας στον D πως επιθυμεί την διακοπή της σύνδεσης. Ο D απαντάει στο FIN πακέτο με ένα ACK και θέτει την σύνδεση σε state CLOSING_BY_PEER. Μόλις ο S λάβει το ACK, θέτει την σύνδεση σε state CLOSING_BY_HOST. O D εκτελεί όποιες λειτουργίες έχουν απομείνει και στέλνει ένα FIN πακέτο στον S. Μόλις λάβει το FIN πακέτο ο S, απαντάει στον D με ένα ACK και θέτει το state της σύνδεσής του σε CLOSED. Όταν αντίστοιχα λάβει ο D το ACK, θέτει το state της σύνδεσής του και αυτός σε CLOSED. Σημείωση : Σε μια microtcp σύνδεση, όπως και στο κανονικό TCP, οποιοσδήποτε από τους δύο peers της σύνδεσης μπορεί να ξεκινήσει το shutdown. 3.3 Στατιστικά σύνδεσης Ο κάθε peer της σύνδεσης για κάθε πακέτο που λαμβάνει ή στέλνει, και για όλη την διάρκεια της σύνδεσης, ανανεώνει τα στατιστικά της, τροποποιώντας τα κατάλληλα πεδία της δομής microtcp_sock_t. Πιο συγκεκριμένα, τα πεδία αυτά είναι : packets_sent: Ο αριθμός των πακέτων που έχει σταλθεί packets_received: Ο αριθμός των πακέτων που έχει ληϕθεί packets_lost: Ο αριθμός των πακέτων που χάθηκαν κατά την λήψη rx_min_inter: O μικρότερος χρόνος μεταξύ δύο αϕίξεων πακέτων rx_max_inter: O μεγαλύτερος χρόνος μεταξύ δύο αϕίξεων πακέτων rx_mean_inter: O μέσος χρόνος μεταξύ δύο αϕίξεων πακέτων tx_min_inter: O μικρότερος χρόνος μεταξύ δύο αποστολών πακέτων tx_max_inter: O μεγαλύτερος χρόνος μεταξύ δύο αποστολών πακέτων tx_mean_inter: O μέσος χρόνος μεταξύ δύο αποστολών πακέτων 3.4 Ανάλυση στατιστικών σύνδεσης Στον ϕάκελο test θα βρείτε το εργαλείο traffic_generator το οποίο παράγει πακέτα με ένα inter-arrival που ακολουθεί poisson κατανομή. Η μέση τιμή της κατανομής σε milliseconds δίνεται σαν παράμετρος κατα την εκτέλεση, με το όρισμα -i. Το traffic_generator λειτουργεί ως server, οπότε χρειάζεται και μία port στην οποία θα περιμένει κάποιον client. Την port μπορείτε να την ορίσετε με την παράμετρο -p. 9
11 Για παράδειγμα, η εκτέλεση traffic_generator -p i 100 θα δημιουργήσει ένα micro_tcp server που τρέχει στην port και περιμένει έναν client να συνδεθεί. Μόλις ο client συνδεθεί, θα αρχίσει να στέλνει πακέτα προς τον client, των οποίων το inter-arrival ακολουθεί Poisson κατανομή με μέση τιμή 100 ms. Εσείς θα πρέπει να υλοποιήσετε τον client στο αρχείο traffic_generator_client.c που υπάρχει στον ϕάκελο test. Εκεί Θα πρέπει να καταγράψετε τους inter-arrival χρόνους των πακέτων. Μετά χρησιμοποιώντας οποιοδήποτε εργαλείο της αρεσκείας σας (πχ Octave, GNUplot, matplotlib, Matlab) κάντε plot το ιστόγραμμα και την CDF των inter-arrivals. Θα πρέπει τα γραϕήματά σας να δείχνουν μια κατανομή που να έχει τα χαρακτηριστικά της κίνησης που στέλνει ο traffic generator (είδος κατανομής, μέση τιμή). Πιο συγκεκριμένα μαζί με τον κώδικα της πρώτης ϕάσης θα πρέπει να παραδώσετε και τα αντίστοιχα plots για τρεις διαϕορετικές μετρήσεις. Για την πρώτη τρέξτε το εργαλείο traffic_generator με μέση τιμή 100ms, για την δεύτερη 250ms, ενώ για την τρίτη 750ms. 3.5 Bandwidth Test Σαν μέρος του project είναι και η υλοποίηση ενός εργαλείου μέτρησης του bandwidth που επιτυγχάνεται μεταξύ ενός server και ενός client τόσο με την χρήση του microtcp όσο και με το κανονικό TCP. Στο αρχείο test/bandwidth_test.c θα πρέπει να υλοποιήσετε τις απαραίτητες συναρτήσεις που ζητούνται. Το πρόγραμμα παίρνει ως παράμετρο ένα όνομα αρχείου, το πρωτόκολλο μεταϕορά (TCP ή microtcp) καθώς και αν θα λειτουργήσει ως server ή client. Ο client θα πρέπει να στείλει σωστά το αρχείο στον server και στο τέλος να εκτυπώνει την διάρκεια της μεταϕοράς και το συνολικό bandwidth που επιτεύχθηκε. Όπως θα διαπιστώσετε, το μεγαλύτερο μέρος του εργαλείου σας δίνεται ήδη υλοποιημένο. Θα πρέπει να συμπληρώσετε κατάλληλα την συνάρτηση server_microtcp() και client_microtcp(). Μπορείτε να βασιστείτε στις υλοποιημένες συναρτήσεις server_tcp() και client_tcp() Σημείωση : Η πλήρης υλοποίηση του εργαλείου δεν είναι απαραίτητη για την πρώτη ϕάση, αλλά συνιστάται ιδιαίτερα να υλοποιήσετε το μεγαλύτερό του μέρος ώστε να είστε σε θέση να λάβετε feedback στην εξέταση της πρώτης ϕάσης. 10
HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη
HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη Deadline πρώτης ϕάσης : 13 Δεκεμβρίου 2016, 23:59 * Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα :) Γενική περιγραϕή Στο οικοσύστημα του
HY-335a Project: microtcp 1, μία lightweight TCP βιβλιοθήκη
HY-335a Project: microtcp 1, μία lightweight TCP βιβλιοθήκη Deadline δεύτερης ϕάσης : 14 Ιανουαρίου 2017 1 Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα Γενική περιγραϕή Στο οικοσύστημα του Internet
Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals
Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013
Πρωτόκολλο TCP Διάλεξη Ι
Πρωτόκολλο TCP Διάλεξη Ι Εισαγωγή Οι υπηρεσίες μεταβίβασης δεδομένων ανάμεσα σε δύο επικοινωνούντες πόρους κατατάσσονται σε δύο κατηγορίες: Connectionless ή datagram Connection-oriented Οι υπηρεσίες της
CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο
CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο Project Phase 1 ΗΥ - 335α Χειμερινό εξάμηνο 2012-2013 Διδάσκουσα: Παπαδοπούλη Μαρία Υπεύθυνος βοηθός: Σουρλίγκας Μανώλης, surligas@csd.uoc.gr
4.1.1 Πρωτόκολλο TCP - Δομή πακέτου
4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής
Εργαστήριο Δικτύων Υπολογιστών
Εργαστήριο Δικτύων Υπολογιστών 2 η Διάλεξη: TCP/UDP Δικτυακά πρωτόκολλα / εφαρμογές Ports Unix δικτυακές εντολές Transmission Control Protocol - TCP Πρωτόκολλο Mεταφοράς RFC 793 [Postel 1981] Xρησιμοποιεί
Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής
Επίπεδο Μεταφοράς (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς(Transport layer) Επίπεδο εφαρμογής (Application layer): Συντονισμός
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 3 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ ΠΡΩΤΟΚΟΛΛΟ ΕΛΕΓΧΟΥ
Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer)
Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Επισκόπηση του επιπέδου μεταφοράς Υπηρεσίες επιπέδου μεταφοράς Επίπεδο μεταφοράς έναντι επιπέδου
Πρωτόκολλα Διαδικτύου
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 8 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 15 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 7ης διάλεξης Επίπεδο μεταφοράς Αξιόπιστη μεταφορά δεδομένων
Ειδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 11: Sockets Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Πρωτόκολλα Διαδικτύου
Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται
Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1
I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία
Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε
Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1
I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία
Υποδοχείς (Sockets) Προγραμματισμός II 1
Υποδοχείς (Sockets) Προγραμματισμός II 1 lalis@inf.uth.gr Υποδοχείς Ειδικές δομές διαδιεργασιακής επικοινωνίας Προσπελάζονται μέσω περιγραφέων αρχείων μπορεί να χρησιμοποιηθούν οι read, write, close μπορεί
Κεφάλαιο 7.3. Πρωτόκολλο TCP
Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες
Λουκάς Ελευθέριος
Λουκάς Ελευθέριος eloukas05@aueb.gr Σκοπός Δ. Εργασίας Πορεία προς τη Λύση Multi Service Link Layer (MSLL) MSLL Πρωτόκολλα Πλήρους Ανάκαμψης MSLL Πρωτόκολλα Περιορισμένης Ανάκαμψης Σενάρια Προσομοίωσης
Υπολογιστές και ίκτυα Η/Υ.
Υπολογιστές και ίκτυα Η/Υ http://www.net.uom.gr Βιβλίο για ίκτυα Η/Υ Computer Networking, A Top-Down Approach Featuring the Internet, 2nd edition J. Kurose, K. Ross ρ. Παναγιώτης Ε. Φουληράς 2003/2004
Λειτουργικά Συστήματα
Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
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) Χωρίζουν τα δεδομένα σε τμήματα
Προγραμματισμός με BSD Sockets σε περιβάλλον Linux
Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Απρίλιος 2016 Περίγραμμα παρουσίασης 1 Εισαγωγή 2 Δικτυακά
Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP
Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών
Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,
ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP
ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec
2η Προγραµµατιστική Εργασία
Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων
Δίκτυα και Διαδίκτυο
Μανώλης Κοσμίδης Dipl. Electrical & Computer Engineering, MEng E-commerce & Computer Systems, MEdu Management and Leadership Δίκτυα και Διαδίκτυο Βασικές έννοιες δικτύων 1 Τι είναι δίκτυο Ένα δίκτυο υπολογιστών
Δίκτυα Επικοινωνιών ΙΙ: Network Programming Εισαγωγή, TCP, UDP, Ports
Δίκτυα Επικοινωνιών ΙΙ: Network Programming Εισαγωγή, TCP, UDP, Ports Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Transmission Control Protocol - TCP Πρωτόκολλο
Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)
TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr
Δίκτυα Υπολογιστών Επίπεδο Μεταφοράς Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ
Επίπεδο Μεταφοράς Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ Σελ 1 Ιεραρχίες Πρωτοκόλλων σελ 2 Ιεραρχίες Πρωτοκόλλων Πρωτόκολλο είναι ένα σύνολο κανόνων που απαιτούνται για να επιτύχουμε την ανταλλαγή
Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);
7.5. Πρωτόκολλο IP Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναμα πακέτα που μεταφέρονται ανεξάρτητα
Δίκτυα και Internet στο επιχειρηµατικό περιβάλον
Δίκτυα και Internet στο επιχειρηµατικό περιβάλον Πρώτη οµάδα ασκήσεων Οδηγίες Η εργασία αυτή είναι ατοµική. Μπορείτε να µιλήσετε µε άλλους φοιτητές για να ανταλλάξετε ιδέες. Αν κάποιος συµφοιτητής σας
Εγχειρίδιο Συναρτήσεων. Socket *sopen(const int type, const int protocol, const char *host, const char *service)
Socket *sopen(const int type, const int protocol, const char *host, const char *service) Στην περίπτωση ενός client, δημιουργεί μια νέα σύνδεση και κατασκευάζει μια δομή Socket που σχετίζεται με αυτή Σε
Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;
ΤCP protocol Άσκηση 1 Είναι το ίδιο να αυξάνεται το congestion window κατά μία μονάδα μετά τη λήψη από κάθε ΑCK πακέτου με το να αυξάνεται σε κάθε RTT; Αν δεν είναι το ίδιο σε ποια περίπτωση επιτυγχάνεται
Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP
Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως
7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.
7.4 Πρωτόκολλο UDP & Ερωτήσεις 1. ε ποιες περιπτώσεις χρησιμοποιείται το πρωτόκολλο UDP, εναλλακτικά του TCP; 2. ε τι είδους εφαρμογές χρησιμοποιείται συνήθως το πρωτόκολλο UDP; Να δώσετε παράδειγμα μιας
Διάρθρωση. Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο. Επικοινωνία από άκρο σε άκρο. Διάρθρωση
Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο Ευάγγελος Παπαπέτρου Τμ Μηχ Η/Υ & Πληροφορικής, Παν Ιωαννίνων 1 Το Επίπεδο Μεταφοράς 2 Το πρωτόκολλο UDP 3 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606:
Μέθοδοι Ελέγχου Σφαλμάτων
Μέθοδοι Ελέγχου Σφαλμάτων Έλεγχος Ισοτιμίας (Parity Check) Άθροισμα Ελέγχου (Checksum) Έλεγχος κυκλικού πλεονασμού (CRC- Cyclic Redundancy Check) Μερικά μπορεί να μεταφερθούν λάθος, πχ λόγω θορύβου Θα
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ.
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ. Υποδείξεις απαντήσεων/λύσεων στις ερωτήσεις, ασκήσεις και δραστηριότητες του τετραδίου μαθητή, Κεφ.1
Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής (1) Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης Απρόκλητο
LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ)
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6 LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ) Αυτή η ενότητα του δευτέρου κεφαλαίου περιέχει τα ακόλουθα: - που βρίσκεται το επίπεδο δικτύου - ποιός είναι ο ρόλος του - ποιά
Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet
Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου ρ Κωνσταντίνος Σ Χειλάς Ethernet Ένα πλαίσιο (frame) Ethernet 00 d0 06 99 18 28 00 02 b3 0b 86 08 00 45 00 Η επικεφαλίδα του IP 0 ToS 0 ToS 00
Το λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.
Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση
ιαδίκτυα & Ενδοδίκτυα Η/Υ
ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ (Kεφ. 17) TCP Υπηρεσίες TCP Μορφή Επικεφαλίδας TCP Μηχανισµοί TCP Πολιτικές Υλοποίησης TCP Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William
Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες
0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε
Εργαστηριακή Άσκηση 7 Πρωτόκολλα TCP και UDP
Εργαστηριακή Άσκηση 7 Πρωτόκολλα TCP και UDP Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξέταση των ιδιοτήτων των πρωτοκόλλων μεταφοράς TCP και UDP του Internet. Πληροφορίες για τα πρωτόκολλα αυτά
(C) 2010 Pearson Education, Inc. All rights reserved.
Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.
Επίπεδο Μεταφοράς (Transport Layer)
Επίπεδο Μεταφοράς (Transport Layer) Περίληψη Ο ρόλος του επιπέδου µεταφοράς Τα στοιχεία του πρωτοκόλλου µεταφοράς Τα πρωτόκολλα µεταφοράς του Διαδικτύου UDP (User Datagram Protocol) RPC (Remote Procedure
3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου
3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα
Δίκτυα Απευθείας Ζεύξης
Δίκτυα Απευθείας Ζεύξης Επικοινωνία μεταξύ δύο υπολογιστώνοιοποίοιείναι απευθείας συνδεδεμένοι. Περίληψη Ζεύξεις σημείου προς σημείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση σφαλμάτων
Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας
Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής ίκτυα Η/Υ Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα Μοντέλο TCP/IP πολλές πολλοί N A N B Ενότητα E PC A PC B PC D PC E E A E B
Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών Στρώμα Μεταφοράς (2) Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας
Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών Στρώμα Μεταφοράς (2) Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών TCP
Στρατηγικές Ασφάλειας
Στρατηγικές Ασφάλειας Ασφάλεια Πληροφοριακών Συστημάτων. Διδάσκων: Σ. Κοντογιάννης Least/(Most) Privileges Defense in Depth Συγκεντρωτική Στρατηγική Weakest Link Strategy Fail Safe Stance Fail Safe Stance
Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2015 2016 Ι. Ιωαννίδης Άσκηση 3: Αποθήκευση κατά στήλες Προθεσμία: 25 Ιανουαρίου 2016, 11:59μμ Ο σκοπός της εργασίας
Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap
Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...
Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ
MusicOnCloud: Μια cloud-based υπηρεσία online streaming μουσικής
MusicOnCloud: Μια cloud-based υπηρεσία online streaming μουσικής ΗΥ - 335α Χειμερινό εξάμηνο 2014-2015 Διδάσκουσα: Παπαδοπούλη Μαρία Υπεύθυνος βοηθός: Σουρλίγκας Μανώλης surligas@csd.uoc.gr 7 Δεκεμβρίου
Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας
Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία
ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ
ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΘΕΜΑ 1 ΑΠΑΝΤΗΣΕΙΣ Α. Να χαρακτηρίσετε κάθε μία από τις παρακάτω προτάσεις με Σωστό (Σ) ή Λάθος (Λ). 1. Στο μοντέλο
Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol
Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 Μηχανισμοί πρωτοκόλλων προσανατολισμένων σε σύνδεση Λογική σύνδεση
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη
14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης
14. Δικτύωση με Java Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δημιουργείτε έναν ελάχιστο εξυπηρέτη TCP/IP σε Java Να δημιουργείτε έναν ελάχιστο εξυπηρετούμενο TCP/IP σε Java Να κατανοείτε πώς υλοποιούνται
Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον
Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010
Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ
Κεφάλαιο 4ο ΕΠΙΠΕΔΟ ΜΕΤΑΦΟΡΑΣ
Εισαγωγή Κεφάλαιο 4ο ΕΠΙΠΕΔΟ ΜΕΤΑΦΟΡΑΣ Στα προηγούμενα κεφάλαια μελετήθηκαν πώς μεταφέρονται τα δεδομένα από διεπαφή σε διεπαφή για να φτάσουν στο προορισμό τους. Επειδή το επίπεδο δικτύου από τη φύση
Εργαστήριο Ethereal: ICMP
Εργαστήριο Ethereal: ICMP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε µερικά
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου* Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό
Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview
Εργαστήριο Λειτουργικών Συστημάτων Minix Overview Σύνοψη 5ης ιάλεξης Λειτουργικό Σύστημα Minix Οργάνωση του Λειτουργικού Συστήματος Οργάνωση πηγαίου κώδικα Minix recompilation Σύνοψη Μαθήματος Σύνοψη Μαθήματος
HY-486 Αρχές Κατανεμημένου Υπολογισμού
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Τρίτη 2/5 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε
FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων
FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων Το File Transfer Protocol (FTP), (Πρωτόκολλο Μεταφοράς Αρχείων) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν
Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4
Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Μεταγωγή (Switching)
Μεταγωγή (Switching) Πως σχηματίζουμε διαδίκτυα Περίληψη Μεταγωγή Κυκλωμάτων (Circuit switching) Μεταγωγή Πακέτων (Packet switching) Μεταγωγή Εικονικών Κυκλωμάτων (Virtual circuit switching) Λειτουργία
ιαδικτυακές Εφαρµογές
ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port
Το λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα
Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά
Πρωτόκολλα Ασφάλειας Επιπέδου Internet (sec) Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά Το μοντέλο του Internet 2/37 Σχέσεις πρωτοκόλλων ασφαλείας και / στοίβας PGP. SET........ SSL
Πρωτόκολλο TCP Διάλεξη ΙΙI
Πρωτόκολλο TCP Διάλεξη ΙΙI Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων
Μηχανισμοί Λογικής σύνδεσης. Διάρθρωση. Δομή πλαισίου. Καθορισμός ορίων πλαισίου
Δίκτυα Υπολογιστών Ι Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων 4 Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΜΥΥ703: Δίκτυα Υπολογιστών
MYY703: Δίκτυα Υπολογιστών I Εργαστήρια
MYY703: Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 1 η Εισαγωγή στον Network Simulator (Ns-2) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Η άσκηση
Επίπεδο δικτύου IP Forwading κτλ
Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):
ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP
ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή
ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες
ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 5/03/204 Συμπληρωματικές Διαφάνειες Νίκος Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου 2 ΟΣΣ/5.03.204/Ν.Δημητρίου 3 ΟΣΣ/5.03.204/Ν.Δημητρίου 4 Θεωρία Aloha/Slotted
7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ
Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα
Το λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την
Χρήση βασικών εργαλείων συλλογής πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βελτίστου Σχεδιασμού Δικτύων Τηλεματικής
Πρωτόκολλο ICMP (Internet Control Message Protocol)
Εργαστήριο Δικτύων Ι Εργαστηριακές Σημειώσεις Τεχνικός Δικτύων & Τηλεπικοινωνιών Ρίγγας Δηµήτρης Δ.Ι.Ε.Κ. Κέρκυρας, 2014 Πρωτόκολλο ICMP (Internet Control Message Protocol) Τι είναι το ICMP Το πρωτόκολλο
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό bytes
ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών
ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διδάσκων: Απόστολος Γκάμας (Διδάσκων ΠΔ 407/80) Ενδεικτική Λύση 3 ης Εργαστηριακής
Πρωτόκολλα Διαδικτύου
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 9 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 22 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 8ης διάλεξης Επίπεδο μεταφοράς Συμφόρηση: Αρχές ελέγχου
Πρωτόκολλα Διαδικτύου
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 7 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 8 Μαΐου 2015 Σημερινή διάλεξη Σύνοψη 6ης διάλεξης Επίπεδο μεταφοράς Κανάλι με σφάλματα και
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας
Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4
Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 1 Διαχείριση εργασιών fork(), exit(), exec() (βλ 2 ο Φροντ.) Επικοινωνία διεργασιών signals (βλ 2 ο Φροντ.) sockets και client/server,
Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;
ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ
ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ Στόχος και Περίγραμμα της Ενότητας 12 Στόχος της παρουσίασης Παρουσίαση της βασικής ιδέα και απλών παραδειγμάτων που δίνουν στο Arduino τη δυνατότητα να επικοινωνήσει με οποιαδήποτε
Πρωτόκολλα Διαδικτύου
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 6 η Διάλεξη Δημοσθένης Κυριαζής Παρασκευή 24 Απριλίου 2015 Σημερινή διάλεξη Σύνοψη 5ης διάλεξης Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα
ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ SNMP
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2011 2012 Καθηγητές Μ. Χατζόπουλος, Δ. Γουνόπουλος Άσκηση 1 Παράδοση 4 Μαϊου Σκοπός της εργασίας αυτής είναι η κατανόηση