Προγραµµατισµός ικτύων Ε-01

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

Download "Προγραµµατισµός ικτύων Ε-01"

Transcript

1 Προγραµµατισµός ικτύων Ε-01 9η ιάλεξη ιδάσκων: Νίκος Ντάρµος [ Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων

2 Στο σηµερινό µάθηµα... Broadcast/multicast. SCTP multihoming/multistreaming. RAW sockets. (datalink).

3 Broadcasting Multicasting SCTP multihoming/multistreaming Broadcast & Multicast

4 Broadcasting Multicasting SCTP multihoming/multistreaming Εισαγωγή Ως τώρα είδαµε µεθόδους unicast επικοινωνίας: Ενας αποστολέας επικοινωνεί µε έναν παραλήπτη. Ωστόσο δεν αρκεί αυτό για όλες τις εφαρµογές. «Ανακάλυψη πόρων» (resource discovery): ARP, DHCP. Αποστολή πληροφοριών προς όλους τους υπολογιστές ενός υποδικτύου: NTP, routed. Ταυτόχρονη αποστολή δεδοµένων προς ένα σύνολο πελατών: Ϲωντανή ϱοή πολυµεσικού περιεχοµένου. Επικοινωνία ενός µε όλους broadcast. Επικοινωνία ενός µε πολλούς multicast. Μπορεί να υλοποιηθεί στο επίπεδο διαδικτύου και παρακάτω ή στο επίπεδο εφαρµογής (application-level broadcast/multicast). Εδώ ασχολούµαστε µε την 1 η περίπτωση. Επικοινωνία ενός µε τουλάχιστον έναν από πολλούς anycast.

5 Broadcasting Multicasting SCTP multihoming/multistreaming Broadcasting

6 Broadcasting Multicasting SCTP multihoming/multistreaming Broadcasting Broadcast: ταυτόχρονη επικοινωνία ενός αποστολέα µε όλους τους κόµβους ενός υποδικτύου. Γιατί είναι διαφορετικό από ταυτόχρονη αποστολή σε N διαφορετικές συνδέσεις, σε δίκτυο N κόµβων; 1 «Σπατάλη» πόρων δικτύου. 2 Κι αν δεν ξέρουµε τη διεύθυνση του παραλήπτη; Υποστηρίζεται µόνο από το UDP και sockets τύπου SOCK_DGRAM και SOCK_RAW. εν υποστηρίζεται από το IPv6.

7 Broadcasting Multicasting SCTP multihoming/multistreaming Broadcasting Υπάρχουν 4 «είδη» broadcast: 1 Broadcast κατευθυνόµενο προς ένα συγκεκριµένο υποδίκτυο. ιεύθυνση παραλήπτη: <διεύθυνση δικτύου>.<διεύθυνση υποδικτύου>.255. Το πιο κοινό είδος broadcast σήµερα. Πολλές ϕορές τα άλλα µεταφράζονται σε αυτό. 2 Broadcast κατευθυνόµενο προς όλα τα υποδίκτυα ενός δικτύου. ιεύθυνση παραλήπτη: <διεύθυνση δικτύου> Χρησιµοποιείται ελάχιστα έως καθόλου. 3 Broadcast κατευθυνόµενο προς ένα ολόκληρο δίκτυο. ιεύθυνση παραλήπτη: <διεύθυνση δικτύου>.255 Για δίκτυα χωρίς υποδίκτυα. Πρακτικά δεν υπάρχουν εδώ και αρκετό καιρό. 4 Broadcast περιορισµένης προώθησης. ιεύθυνση παραλήπτη: Χρησιµοποιείται όταν δεν υπάρχουν καθόλου ϱυθµίσεις δικτύου (π.χ. κατά το DHCP/BOOTP).

8 Broadcasting Multicasting SCTP multihoming/multistreaming Broadcasting Για να αποστείλουµε δεδοµένα µε broadcast πρέπει: 1 Να ενεργοποιήσουµε την επιλογή SO_BROADCAST επιπέδου υλοποίησης sockets (SOL_SOCKET). 2 Να ορίσουµε ως διεύθυνση παραλήπτη την κατάλληλη διεύθυνση broadcast και τον αριθµό ϑύρας στον οποίο ϑα περιµένουν οι πελάτες τα δεδοµένα. Ορισµένα λειτουργικά συστήµατα δεν επιτρέπουν τον κατακερµατισµό broadcast πακέτων. Οπως και στην περίπτωση «µεγάλων» datagrams, επιστρέφεται σφάλµα EMSGSIZE. Για µεταφερσιµότητα, το µέγεθος του datagram πρέπει να είναι 1472 bytes. Τα πακέτα broadcast δεν προωθούνται πέρα από τα όρια του δικτύου στο οποίο δηµιουργούνται.

9 Broadcasting Multicasting SCTP multihoming/multistreaming Multicasting

10 Broadcasting Multicasting SCTP multihoming/multistreaming Multicasting Multicast: ταυτόχρονη επικοινωνία ενός αποστολέα µε ένα σύνολο κόµβων δικτύου. Γιατί είναι διαφορετικό από ταυτόχρονη αποστολή σε N διαφορετικές συνδέσεις (multi-unicast); Υποστηρίζεται µόνο από το UDP και sockets τύπου SOCK_DGRAM και SOCK_RAW. Και το SCTP προσφέρει «multicasting» αλλά ανάµεσα σε ένα Ϲεύγος κόµβων µόνο. Υποστηρίζεται τόσο από το IPv4 όσο και από το IPv6. εν υπάρχει περιορισµός προώθησης στο διαδίκτυο (πρέπει όµως να είναι κατάλληλα ϱυθµισµένοι οι δροµολογητές ή χρήση του MBone). εν υπάρχει πρόβληµα µε τον κατακερµατισµό των πακέτων.

11 Broadcasting Multicasting SCTP multihoming/multistreaming Multicasting Ορίζονται «ειδικού τύπου» διευθύνσεις για επικοινωνία µε multicasting. Η ανάθεση γίνεται από την IANA. IPv4: /4. IPv6: ff00::/8. http: // Η διεύθυνση αναλύεται σε τµήµατα: IPv4: 4 bits «πρόθεµα δικτύου». 28 bits «αναγνωριστικό οµάδας» (group id). Κατά την µετατροπή σε διευθύνσεις Ethernet χρησιµοποιούνται µόνο τα 23 λιγότερο σηµαντικά από τα 28 bits µε πρόθεµα 01:00:5e δεν έχουµε 1-προς-1 αντιστοιχία. IPv6: 8 bits «πρόθεµα δικτύου». 4 bits επιλογών. 4 bits «scope» διευθύνσεων (πόσο «µακριά» ϑα ϕτάσει κάθε πακέτο multicast). 112 bits «αναγνωριστικό οµάδας». Κατά την µετατροπή σε διευθύνσεις Ethernet χρησιµοποιούνται µόνο τα 32 λιγότερο σηµαντικά από τα 112 bits µε πρόθεµα 33:33 δεν έχουµε 1-προς-1 αντιστοιχία.

12 Broadcasting Multicasting SCTP multihoming/multistreaming Multicasting Ορίζονται 5 επιλογές sockets (setsockopt(2)/getsockopt(2)): IP_ADD_MEMBERSHIP/IPV6_ADD_MEMBERSHIP: προσθήκη της διεργασίες στην οµάδα. IP_DROP_MEMBERSHIP/IPV6_DROP_MEMBERSHIP: αφαίρεση της διεργασίας από την οµάδα. IP_MULTICAST_IF/IPV6_MULTICAST_IF: επιλογή της διεπαφής δικτύου από την οποία ϑα στέλνονται πακέτα (δείτε τις getifaddrs(3)/freeifaddrs(3) και if_nametoindex(3)). IP_MULTICAST_TTL/IPV6_MULTICAST_HOPS: επιλογή µέγιστου ορίου ϐηµάτων για την προώθηση τον εξερχόµενων πακέτων. IP_MULTICAST_LOOP/IPV6_MULTICAST_LOOP: επιλογή παράδοσης εξερχόµενων δεδοµένων και στην διεργασία αποστολέα. Οι πρώτες δύο επιλογές επηρεάζουν την παραλαβή ενώ οι επόµενες τρεις την αποστολή πακέτων. Για να στείλει µία διεργασία ένα πακέτο multicast αρκεί απλά να επιλέξει την κατάλληλη διεύθυνση παραλήπτη. Ο πυρήνας ϑα επιλέξει αυτόµατα την διεπαφή, ϑα ϑέσει όριο ϐηµάτων =1 και ϑα παραδώσει τα δεδοµένα και στη διεργασία αποστολέα. Για να λάβει µία διεργασία δεδοµένα από multicasting πρέπει: 1 Να «εγγραφεί» στην κατάλληλη «multicast οµάδα». 2 Να δηµιουργήσει ένα UDP socket και να το κάνει bind(2) στην κατάλληλη ϑύρα.

13 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming

14 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming Το πρωτόκολλο µεταφοράς SCTP προσφέρει επίσης κάποιου είδους «multicasting» µέσω της υποστήριξης multihoming. Multihoming: Κάθε άκρο σύνδεσης («συσχέτιση» association) µπορεί να έχει παραπάνω από µία διευθύνσεις, καθεµιά εκ των οποίων να αντιστοιχεί σε διαφορετική διεπαφή δικτύου, υλοποίηση επιπέδου διασύνδεσης, ϕυσικό δίκτυο, κτλ. Κάθε πακέτο στέλνεται από µία διεπαφή του αποστολέα προς µια διεπαφή του παραλήπτη. Αν η αποστολή αποτύχει, το πρωτόκολλο δοκιµάζει το επόµενο Ϲεύγος διεπαφών, κοκ. Ετσι κάθε πακέτο µπορεί να ακολουθήσει εντελώς διαφορετική διαδροµή και η σύνδεση να είναι αξιόπιστη ακόµα κι αν κάποιες από τις ϕυσικές συνδέσεις χαθούν! Το πρωτόκολλο µεταφοράς SCTP προσφέρει επίσης υποστήριξη για multistreaming. Multistreaming: Κάθε σύνδεση ανάµεσα σε δύο κόµβους µπορεί να αποτελείται από περισσότερες της µίας ϱοές δεδοµένων. Παράδειγµα: µία ϱοή για δεδοµένα ελέγχου, µία ϱοή για αιτήσεις, µία ϱοή για απαντήσεις. Το πρωτόκολλο διαχειρίζεται την σειριοποίηση, το buffering, την αποστολή και την ανασύνθεση της πληροφορίας.

15 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming Για να αποκτήσουµε πρόσβαση στις δυνατότητες αυτές του SCTP παρέχονται ειδικές συναρτήσεις. int sctp_bindx(int s, struct sockaddr *addrs, int num, int type): Προσθέτει ή αφαιρεί µία λίστα από num διευθύνσεις που ϐρίσκονται στον πίνακα addrs, στις ήδη υπάρχουσες για το socket s, ανάλογα µε το αν το τελευταίο όρισµα είναι SCTP_BINDX_ADD_ADDR ή SCTP_BINDX_DEL_ADDR. int sctp_connectx(int s, struct sockaddr *addrs, int num, sctp_assoc_t *sa): λειτουργεί όπως και η connect(2) µε τη διαφορά ότι υποστηρίζει σύνδεση και στις num διευθύνσεις του πίνακα addrs στο socket s. Αν επιτύχει, το πεδίο sa ϑα έχει το αναγνωριστικό της SCTP «συσχέτισης» (association). int sctp_opt_info(int s, sctp_assoc_t, int opt, void *arg, socklen_t *size): αντίστοιχη της getsockopt(2) για το SCTP, αν η getsockopt(2) δεν υποστηρίζει το SCTP.

16 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming Για την αποστολή και λήψη δεδοµένων πάνω από τέτοιες «συσχετίσεις» SCTP παρέχονται οι συναρτήσεις: ssize_t sctp_send(int sd, const void *msg, size_t len, const struct sctp_sndrcvinfo *sinfo, int flags) ssize_t sctp_sendx(int sd, const void *msg, size_t len, struct sockaddr *addrs, int addrcnt, const struct sctp_sndrcvinfo *sinfo, int flags) size_t sctp_sendmsg(int s, const void *msg, size_t len, const struct sockaddr *to, socklen_t tolen, uint32_t ppid, uint32_t flags, uint16_t stream_no, uint32_t timetolive, uint32_t context) ssize_t sctp_sendmsgx(int s, const void *msg, size_t len, const struct sockaddr *to, int addrcnt, uint32_t ppid, uint32_t flags, uint16_t stream_no, uint32_t timetolive, uint32_t context) ssize_t sctp_recvmsg(int s, void *msg, size_t len, struct sockaddr * restrict from, socklen_t * restrict fromlen, struct sctp_sndrcvinfo *sinfo, int *flags)

17 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming Η δοµή sctp_sndrcvinfo είναι ως εξής: struct sctp_sndrcvinfo { u_int16_t sinfo_stream; /* Stream number */ u_int16_t sinfo_ssn; /* Stream Sequence Number (ordered recv only) */ u_int16_t sinfo_flags; /* Message flags */ u_int32_t sinfo_ppid; /* Opaque PPID field */ u_int32_t sinfo_context; /* context field */ u_int32_t sinfo_timetolive; /* TTL for PR-SCTP (send only) */ u_int32_t sinfo_tsn; /* Transport sequence number (recv only) */ u_int32_t sinfo_cumtsn; /* Cumul. ACK point (recv only) */ sctp_assoc_t sinfo_assoc_id; /* Association id of the peer */ }; Προσοχή: Το SCTP είναι αρκετά «νέο» πρωτόκολλο και δεν υποστηρίζεται πλήρως από όλα τα συστήµατα. Συµβουλευτείτε τα man pages του συστήµατός σας!

18 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming παράδειγµα (1/2) 1 static const int LOCALTIME_STREAM = 0; 2 static const int GMT_STREAM = 1; 3 static const int MAX_BUFFER = 255; 4 5 int main(int argc, char ** argv) 6 { 7 int sd, cd, ret; 8 struct addrinfo *info, *cur, hints; 9 char buffer[max_buffer+1]; 10 time_t currenttime; memset(&hints, 0, sizeof(hints)); 13 hints.ai_family = AF_INET; 14 hints.ai_flags = AI_ADDRCONFIG AI_PASSIVE; 15 hints.ai_socktype = SOCK_STREAM; 16 if ((ret = getaddrinfo(null, argv[1], &hints, &info)) < 0) { 17 fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret)); 18 return 1; 19 } sd = socket(af_inet, SOCK_STREAM, IPPROTO_SCTP); 22 for (cur = info; cur; cur = cur->ai_next) 23 if ((ret = sctp_bindx(sd, (struct sockaddr *)cur->ai_addr, 1, SCTP_BINDX_ADD_ADDR)) < 0) 24 perror("sctp_bindx"); 25 listen(sd, 5);

19 Broadcasting Multicasting SCTP multihoming/multistreaming SCTP multihoming/multistreaming παράδειγµα (2/2) 27 while (1) { 28 cd = accept(sd, NULL, NULL); 29 currenttime = time(null); /* Send local time on stream 0 (local time stream) */ 32 snprintf(buffer, MAX_BUFFER, "%s\n", ctime(&currenttime)); 33 if ((ret = sctp_sendmsg(cd, buffer, strlen(buffer), NULL, 0, 0, 0, LOCALTIME_STREAM, 0, 0 )) < 0) 34 perror("sctp_sendmsg"); /* Send GMT on stream 1 (GMT stream) */ 37 snprintf(buffer, MAX_BUFFER, "%s\n", asctime(gmtime(&currenttime))); 38 if ((ret = sctp_sendmsg(cd, buffer, strlen(buffer), NULL, 0, 0, 0, GMT_STREAM, 0, 0 )) < 0) 39 perror("sctp_sendmsg"); close(cd); 42 } 43 close(sd); 44 freeaddrinfo(info); 45 return 0; 46 }

20 Επικοινωνίες χαµηλού επιπέδου

21 ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping RAW sockets

22 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Πώς µπορούµε να στείλουµε πακέτα πρωτοκόλλων της οικογένειας IP εκτός των TCP/UDP/SCTP; Π.χ.: πώς υλοποιείται το ping (ICMP); Π.χ.: µπορούµε να κατασκευάσουµε ένα πακέτο όπως ακριβώς το ϑέλουµε εµείς; Π.χ.: ϑα µπορούσαµε να επεκτείνουµε τα υπάρχοντα πρωτόκολλα (π.χ. ICMP) µε νέου τύπου πακέτα, χωρίς να παρέµβουµε στον πυρήνα; Το BSD sockets API προσφέρει τον τύπο sockets SOCK_RAW ο οποίος επιτρέπει πρόσβαση στη δοµή και τις κεφαλίδες των πακέτων. Χρησιµοποιούνται όταν ϑέλουµε: Να επικοινωνήσουµε µέσω των πρωτοκόλλων ICMPv4, IGMPv4 και ICMPv6. Να υλοποιήσουµε λειτουργικότητα νέων πρωτοκόλλων πάνω από το IP τα οποία όµως δεν γνωρίζει ο πυρήνας. Να κατασκευάσουµε εκ του µηδενός τα πακέτα µας, συµπεριλαµβανοµένης της κεφαλίδας IP. Είναι διαθέσιµα µόνο στον superuser (root).

23 ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping ηµιουργία

24 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping ηµιουργία ηµιουργούµε ένα RAW socket µε: int sd = socket(af_inet, SOCK_RAW, IPPROTO_XXX); όπου IPPROTO_XXX κάποιος από τους υπάρχοντες τύπους πρωτοκόλλων. Για να επεξεργαστούµε την κεφαλίδα IP πρέπει να ενεργοποιήσουµε την επιλογή IP_HDRINCL, διαφορετικά η κεφαλίδα συµπληρώνεται από τον πυρήνα του λειτουργικού συστήµατος: int on = 1; setsockopt(sd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)); Σε επίπεδα κάτω του διαδικτύου δεν υπάρχει η έννοια της ϑύρας. Η bind(2) ϑέτει µόνο την IP διεύθυνση από την οποία ϑα στέλνονται τα πακέτα αν δεν είναι ενεργοποιηµένη η επιλογή IP_HDRINCL (διαφορετικά ο πυρήνας επιλέγει αυτόµατα) Η connect(2) ϑέτει µόνο την IP διεύθυνση προς την οποία ϑα στέλνονται τα πακέτα (οπότε µπορούµε να χρησιµοποιούµε write(2) ή send(2) αντί για sendto(2) ή sendmsg(2)).

25 ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Αποστολή/λήψη δεδοµένων

26 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Αποστολή δεδοµένων Για την αποστολή δεδοµένων χρησιµοποιούµε είτε τις sendto(2)/sendmsg(2), είτε τις write(2)/writev(2)/send(2) αν έχουµε πρώτα καλέσει connect(2). Αν δεν έχουµε ενεργοποιήσει την επιλογή IP_HDRINCL, τα δεδοµένα που δίνουµε στις κλήσεις αυτές πρέπει να είναι αυτά που ϑα τοποθετηθούν αµέσως µετά την κεφαλίδα IP. Αν έχουµε ενεργοποιήσει την επιλογή IP_HDRINCL, τα δεδοµένα που δίνουµε στις κλήσεις αυτές πρέπει να συµπεριλαµβάνουν και την κεφαλίδα IP. Αν τα πακέτα υπερβαίνουν σε µέγεθος το MTU του δικτύου, ο πυρήνας αναλαµβάνει τον κατακερµατισµό τους. Σε κάθε περίπτωση, είναι ευθύνη του προγραµµατιστή τα δεδοµένα να υλοποιούν τη δοµή του πρωτοκόλλου που χρησιµοποιείται.

27 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Αποστολή δεδοµένων Αν κατασκευάζουµε την κεφαλίδα IP: Το πεδίο identification παίζει το ϱόλο «ϑύρας». Μπορεί να τεθεί στην τιµή 0, οπότε το συµπληρώνει ο πυρήνας, ή σε κάποια άλλη τιµή που γνωρίζουµε εµείς. Το πεδίο header checksum υπολογίζεται από τον πυρήνα. Ωστόσο είναι ευθύνη του προγραµµατιστή να υπολογίσει τα checksums των κεφαλίδων των υπόλοιπων πρωτοκόλλων (π.χ. ICMP, IGMP κτλ.) Το byte ordering εξαρτάται από το λειτουργικό σύστηµα. Στο Linux, στο OpenBSD και στο NetBSD, όλα τα πεδία είναι σε network byte order. Στα υπόλοιπα BSD-derived συστήµατα (π.χ. FreeBSD, DragonflyBSD) όλα τα πεδία είναι σε network byte order, εκτός από τα total length και fragment offset που είναι σε host byte order. Κεφαλίδα πακέτου IPv Version IHL Type of Service (TOS) Total Length Identification D M Fragment offset F F Time to live (TTL) Protocol Header checksum Source address Destination address Options Padding

28 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Αποστολή δεδοµένων Για πρωτόκολλα της οικογένειας IPv6 (π.χ. ICMPv6): Ολα τα πεδία είναι σε network byte order. εν ορίζεται η επιλογή IP_HDRINCL. Οι επιλογές και τα διάφορα πεδία της κεφαλίδας είναι προσβάσιµα µέσω επιλογών sockets ή δεδοµένων ελέγχου (ϐλπ. sendmsg(2)). Για να διαβάσουµε ή να γράψουµε πλήρες πακέτο, πρέπει να κατεβούµε στο επίπεδο διασύνδεσης. Για πακέτα ICMPv6 το checksum υπολογίζεται πάντα από τον πυρήνα. Για τα υπόλοιπα πρωτόκολλα, µπορούµε να επιλέξουµε να υπολογίζει το σύστηµα τα checksums µε την επιλογή IPV6_CHECKSUM: int offset = 2; // Σε ποιο σηµείο ϑα αποθηκευθεί το checksum. setsockopt(sd, IPPROTO_IPV6, IPV6_CHECKSUM, &offset, sizeof(int));

29 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Λήψη δεδοµένων Κατά την λήψη δεδοµένων, ο πυρήνας είναι υπεύθυνος για την ανασύνθεση κατακερµατισµένων πακέτων. Για να παραδοθεί ένα πακέτο σε ένα RAW socket, υπάρχουν οι εξής κανόνες: Το πακέτο δεν πρέπει να είναι TCP ή UDP. Για να χειριστούµε την κεφαλίδα τέτοιων πακέτων πρέπει να κατεβούµε στο επίπεδο διασύνδεσης. Σχεδόν όλα τα ICMP πακέτα παραδίδονται, αφού ο πυρήνας ολοκληρώσει την επεξεργασία τους. Σε BSD-derived συστήµατα, δεν παραδίδονται πακέτα τύπου echo-request, timestamp-request, netmask-request. Παραδίδονται όλα τα πακέτα IGMP, αφού ο πυρήνας ολοκληρώσει την επεξεργασία τους. Παραδίδονται όλα τα πακέτα IP τα οποία έχουν κάποια τιµή που δεν γνωρίζει ο πυρήνας στο πεδίο protocol.

30 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Λήψη δεδοµένων Αν υπάρχουν περισσότερα από ένα RAW sockets ανοιχτά σε ένα σύστηµα, τότε για κάθε εισερχόµενο πακέτο IP ο πυρήνας ελέγχει όλα τα sockets αυτά και το πακέτο παραδίδεται σε όλα τα κατάλληλα τέτοια sockets. Για να είναι ένα RAW socket «κατάλληλο», πρέπει: 1 Αν έχει οριστεί κάποιο πρωτόκολλο για το socket (3ο όρισµα της socket(2)), το εισερχόµενο πακέτο να είναι του ίδιου πρωτοκόλλου. 2 Αν έχει οριστεί τοπική διεύθυνση IP για το socket (µε χρήση της bind(2)), το εισερχόµενο πακέτο να έχει την ίδια διεύθυνση παραλήπτη. 3 Αν έχει οριστεί αποµακρυσµένη διεύθυνση IP για το socket (µε χρήση της connect(2)), το εισερχόµενο πακέτο να έχει την ίδια διεύθυνση αποστολέα. Αν κατά τη δηµιουργία του socket δεν ορίσαµε τίποτα από τα παραπάνω, τότε αυτό λαµβάνει ένα αντίγραφο κάθε πακέτου IP που ο πυρήνας παραδίδει σε RAW sockets.

31 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Λήψη δεδοµένων Για πρωτόκολλα οικογένειας IPv4, το πακέτο που παραδίδεται στην εφαρµογή συµπεριλαµβάνει και την κεφαλίδα IP. Για πρωτόκολλα οικογένειας IPv6, το πακέτο δεν συµπεριλαµβάνει την κεφαλίδα και τις κεφαλίδες επέκτασης. Για το byte ordering ισχύει ότι και στην περίπτωση αποστολής δεδοµένων. Στα BSD-derived συστήµατα και το πεδίο identification είναι σε host byte order.

32 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Λήψη δεδοµένων Καθώς στο IPv6 το πρωτόκολλο ICMPv6 εµπεριέχει και τη λειτουργικότητα των ARP και IGMPv6, απαιτείται κάποιος µηχανισµός επιλογής των πακέτων που ενδιαφέρουν την εφαρµογή. Ετσι, καθορίζεται ένα «ϕίλτρο» τύπου struct icmp6_filter για sockets αυτού του είδους. Ορίζεται και ελέγχεται µε κλήσεις των setsockopt(2) και getsockopt(2) στο επίπεδο IPPROTO_ICMPV6 και για την επιλογή ICMP6_FILTER. Για τη διαχείριση του ϕίλτρου ορίζονται οι εξής µακροεντολές: void ICMP6_FILTER_SETPASSALL(filt); void ICMP6_FILTER_SETBLOCKALL(filt); void ICMP6_FILTER_SETPASS(msgtype, filt); void ICMP6_FILTER_SETBLOCK(msgtype, filt); void ICMP6_FILTER_WILLPASS(msgtype, filt); void ICMP6_FILTER_WILLBLOCK(msgtype, filt); όπου filt ένας δείκτης σε δοµή struct icmp6_filter και msgtype ακέραιος (0 255) που δηλώνει τον τύπο µηνύµατος ICMP.

33 ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Επιλογές

34 RAW sockets ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Επιλογές Εκτός από την επιλογή IP_HDRINCL, ορίζονται επίσης οι παρακάτω (επιπέδου IPPROTO_IP), οι οποίες όµως δε µπορούν να χρησιµοποιηθούν παράλληλα µε την IP_HDRINCL: IP_OPTIONS: επιτρέπει την διαχείριση των επιλογών της κεφαλίδας IP. IP_TOS: επιτρέπει την διαχείριση του πεδίου «type of service». IP_TTL: επιτρέπει την διαχείριση του ελάχιστου «time to live» που πρέπει να έχει ένα πακέτο για να γίνει αποδεκτό. IP_DONTFRAG: επιτρέπει την διαχείριση του πεδίου «don t fragment». IP_RECVDSTADDR: Ϲητά την επιστροφή της διεύθυνσης παραλήπτη στα δεδοµένα ελέγχου της recvmsg(2). IP_RECVIF: Ϲητά την επιστροφή των στοιχείων της διεπαφής δικτύου από την οποία έγινε λήψη του πακέτου στα δεδοµένα ελέγχου της recvmsg(2). IP_RECTTL: Ϲητά την επιστροφή της τιµής του πεδίου TTL στα δεδοµένα ελέγχου της recvmsg(2).

35 ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping Παράδειγµα: ping

36 RAW sockets παράδειγµα: ping (1/4) ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping 1 unsigned short ip_cksum(unsigned short *buf, int len); 2 void _terminate(struct addrinfo **info, char **buf, int *sd, int ret) { 3 if (*sd >= 0) { close(*sd); *sd = -1; } 4 if (*buf) { free(*buf); *buf = NULL; } 5 if (*info) { freeaddrinfo(*info); *info = NULL; } 6 exit(ret); 7 } 8 #define terminate(ret) _terminate(&info, &recvbuf, &sd, ret) 9 10 int main(int argc, char ** argv) { 11 int sd, ret, ttl, maxp, ip_hlen, packet_id, replied, timedout, sockerrno; 12 char *recvbuf = NULL; 13 socklen_t sslen; 14 struct sockaddr_storage ss; 15 struct addrinfo hints, *info = NULL; 16 struct ip *ip_ptr; 17 struct icmp *icmp_ptr; 18 struct timeval tv; if (argc!= 2) { 21 fprintf(stderr, "Usage: %s <hostname>\n", argv[0]); 22 return 1; 23 } sd = socket(af_inet, SOCK_RAW, IPPROTO_ICMP); 26 sockerrno = errno; 27 setuid(getuid()); /* No root rights needed after this */ 28 if (sd < 0) { 29 sockerrno = ret; 30 perror("socket"); 31 terminate(1); 32 }

37 RAW sockets παράδειγµα: ping (2/4) ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping 34 memset(&hints, 0, sizeof(hints)); 35 hints.ai_family = AF_INET; 36 hints.ai_socktype = SOCK_STREAM; 37 hints.ai_flags = AI_ADDRCONFIG AI_CANONNAME; 38 if ((ret = getaddrinfo(argv[1], NULL, &hints, &info)) < 0) { 39 fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret)); 40 terminate(1); 41 } ttl = 20; /* Look at most 20 hops away */ 44 setsockopt(sd, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl)); 45 tv.tv_sec = 2; tv.tv_usec = 0; /* Wait for up to 2 */ 46 setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); 47 maxp = IP_MAXPACKET + 128; 48 setsockopt(sd, SOL_SOCKET, SO_RCVBUF, &maxp, sizeof(maxp)); packet_id = getpid() & 0xFFFF; 51 icmp_ptr = (struct icmp *)calloc(1, sizeof(struct icmp)); 52 icmp_ptr->icmp_type = ICMP_ECHO; 53 icmp_ptr->icmp_code = 0; 54 icmp_ptr->icmp_id = packet_id; 55 icmp_ptr->icmp_seq = 0; 56 icmp_ptr->icmp_data[0] = \0 ; 57 icmp_ptr->icmp_cksum = ip_cksum((unsigned short *)icmp_ptr, sizeof(*icmp_ptr)); 58 ret = sendto(sd, icmp_ptr, sizeof(*icmp_ptr), 0, info->ai_addr, info->ai_addrlen); 59 free(icmp_ptr); 60 if (ret < 0) { 61 perror("sendto"); 62 terminate(1); 63 } recvbuf = (char *)malloc(maxp);

38 RAW sockets παράδειγµα: ping (3/4) ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping 67 for (timedout = replied = 0;!timedout &&!replied; ) { 68 sslen = sizeof(struct sockaddr_storage); 69 ret = recvfrom(sd, recvbuf, maxp, 0, (struct sockaddr *)&ss, &sslen); 70 if (ret < 0) { 71 if (errno == EWOULDBLOCK) { 72 timedout = 1; 73 break; 74 } 75 if (errno == EINTR) 76 continue; 77 perror("recvfrom"); 78 terminate(1); 79 } ip_ptr = (struct ip *)recvbuf; 82 ip_hlen = ip_ptr->ip_hl << 2; 83 icmp_ptr = (struct icmp *)((char *)ip_ptr + ip_hlen); 84 if ((maxp - ip_hlen) < 8) { 85 fprintf(stderr, "No space for ICMP header\n"); 86 terminate(1); 87 } 88 if (icmp_ptr->icmp_type == ICMP_ECHOREPLY) { 89 if (icmp_ptr->icmp_id == packet_id) 90 replied = 1; 91 } else { 92 ip_ptr = (struct ip *)icmp_ptr->icmp_data; 93 icmp_ptr = (struct icmp *)(ip_ptr + 1); 94 if (ip_ptr->ip_p == IPPROTO_ICMP && icmp_ptr->icmp_type == ICMP_ECHO && icmp_ptr->icmp_id == packet_id) 95 replied = -1; 96 } 97 }

39 RAW sockets παράδειγµα: ping (4/4) ηµιουργία Αποστολή/λήψη δεδοµένων Επιλογές Παράδειγµα: ping 99 printf("%s (%s) %s\n", argv[1], info->ai_canonname, replied == 1? "is alive" : (replied == -1? " unreachable" : "timed out")); 100 terminate(0); 101 } unsigned short ip_cksum(unsigned short *buf, int len) { 104 unsigned short *w = buf; 105 int sum = 0; 106 for (; len > 1; len -= 2) 107 sum += *w++; 108 if (len == 1) 109 sum += (unsigned short)(*(unsigned char *)w); 110 return ~(unsigned short)(((sum >> 16) + (sum & 0xFFFF)) + (sum >> 16)); 111 }

40 BPF DLPI SOCK_PACKET libpcap

41 BPF DLPI SOCK_PACKET libpcap Πολλές προχωρηµένες λειτουργίες απαιτούν απευθείας πρόσβαση στο επίπεδο διασύνδεσης. Συνήθως χρησιµοποιείται όταν: Θέλουµε να εξετάσουµε τις κεφαλίδες και την δοµή πακέτων στα οποία δεν έχουµε πρόσβαση µέσω RAW sockets. Θέλουµε να έχουµε πρόσβαση σε όλα τα πακέτα που διαχειρίζεται το επίπεδο διασύνδεσης. Αν παράλληλα ενεργοποιήσουµε την λειτουργία «promiscuous» της διεπαφής δικτύου, µπορούµε να αποκτήσουµε πρόσβαση σε όλα τα πακέτα που κυκλοφορούν στο δίκτυο. Ο πυρήνας δεν παρέχει υποστήριξη για κάποια δικτυακή λειτουργία που χρειαζόµαστε και µπορούµε να την υλοποιήσουµε σε userspace. Σε συστήµατα UNIX υπάρχουν 3 κύρια «πρότυπα» πρόσβασης στο επίπεδο διασύνδεσης: BSD Packet Filter (BPF). SVR4 Data Link Provider Interface (DLPI). Linux SOCK_PACKET.

42 BPF DLPI SOCK_PACKET libpcap BPF

43 BPF DLPI SOCK_PACKET libpcap BPF Το BPF υλοποιείται εξολοκλήρου στον πυρήνα του λειτουργικού. Πριν σταλεί οποιοδήποτε πακέτο και αµέσως αφού παραληφθεί κάποιο νέο, το σύστηµα δίνει αντίγραφό του στο BPF. Οι εφαρµογές αποκτούν πρόσβαση σε αυτό «ανοίγοντας» (open(2)) ένα νέο ειδικό αρχείο /dev/bpfx, όπου X ακέραιος (π.χ. /dev/bpf1). Αν το αρχείο υπάρχει ήδη, η κλήση αποτυγχάνει µε σφάλµα EBUSY. Η εφαρµογή µπορεί να ορίσει ϕίλτρα για τα πακέτα που την ενδιαφέρουν. Παρέχονται σχετικές επιλογές της ioctl(2). Το ϕιλτράρισµα γίνεται εξολοκλήρου στον πυρήνα. Για κάθε πακέτο που ταιριάζει στο ϕίλτρο, η εφαρµογή µπορεί να ορίσει να παραδίδεται σε αυτή µόνο ένα τµήµα του (capture length). Ο πυρήνας κρατά τα σχετικά πακέτα σε buffer και τα παραδίδει στην εφαρµογή όταν γεµίσει ο buffer ή όταν παρέλθει ένα χρονικό όριο που αυτή έχει ϑέσει. Αν και συνήθως αποκτούµε πρόσβαση στο BPF για ανάγνωση πακέτων (π.χ. tcpdump), µπορούµε επίσης και να γράψουµε πακέτα µε αποτέλεσµα το σύστηµα να τα στείλει στο δίκτυο. Γιατί το χρειαζόµαστε αυτό αφού έχουµε RAW sockets;

44 BPF DLPI SOCK_PACKET libpcap DLPI

45 BPF DLPI SOCK_PACKET libpcap DLPI Υλοποιήθηκε από την AT&T και υποστηρίζεται σε συστήµατα SVR4. Η ϐασική ιδέα λειτουργίας είναι η ίδια µε αυτή του BPF. Οι εφαρµογές αποκτούν πρόσβαση σε αυτό «ανοίγοντας» το αρχείο που αντιστοιχεί στην διεπαφή δικτύου και χρησιµοποιώντας κατόπιν µία κλήση συστήµατος για να το «προσαρτήσουν» (DL_ATTACH_REQUEST). Εξαιτίας της σχεδίασής του, το DLPI είναι αρκετά πιο αργό (3 µε 20 ϕορές) σε σχέση µε το BPF.

46 BPF DLPI SOCK_PACKET libpcap SOCK_PACKET

47 BPF DLPI SOCK_PACKET libpcap SOCK_PACKET Στο Linux µπορούµε να αποκτήσουµε πρόσβαση στο επίπεδο διασύνδεσης χρησιµοποιώντας ένα socket τύπου SOCK_PACKET. Το 3ο όρισµα της socket(2) καθορίζει το είδος των πακέτων που ϑέλουµε να λαµβάνουµε. Παράδειγµα: sd = socket(af_inet, SOCK_PACKET, htons(eth_p_all)); sd = socket(af_inet, SOCK_PACKET, htons(eth_p_ip)); sd = socket(af_inet, SOCK_PACKET, htons(eth_p_ipv6)); sd = socket(af_inet, SOCK_PACKET, htons(eth_p_arp)); Μπορούµε επίσης να ϑέσουµε την διεπαφή δικτύου σε κατάσταση λειτουργίας «promiscuous», χρησιµοποιώντας το flag IFF_PROMISC µε την επιλογή SIOCSIFFLAGS της ioctl(2). Σε σχέση µε τα BPF και DLPI: Η µέθοδος αυτή δεν προσφέρει κάποιου είδους ϕιλτράρισµα ή buffering στα πακέτα. εν µπορούµε να καθορίσουµε τη διεπαφή δικτύου από την οποία µας ενδιαφέρουν τα πακέτα. Επιστρέφεται ωστόσο ως sa_data από τις recvfrom(2) και recvmsg(2).

48 BPF DLPI SOCK_PACKET libpcap libpcap

49 BPF DLPI SOCK_PACKET libpcap libpcap Η ϐιβλιοθήκη αυτή υποστηρίζει όλες τις προηγούµενες µεθόδους και κάποιες ακόµα... Σχεδόν «ανεξάρτητη πλατφόρµας». Υποστηρίζει µόνο ανάγνωση πακέτων από το επίπεδο διασύνδεσης. Ωστόσο η προσθήκη υποστήριξης εγγραφής ϑεωρείται «εύκολη». Για να τη χρησιµοποιήσουµε: Αρχικά «ανοίγουµε» ένα ειδικό «αρχείο συσκευής», µε χρήση των pcap_create(3) ή pcap_open_live(3). Αρχικοποιούµε και ενεργοποιούµε το ϕίλτρο για τα εισερχόµενα πακέτα µε χρήση των pcap_compile(3) και pcap_setfilter(3) αντίστοιχα. ιαβάζουµε πακέτα µε χρήση των pcap_next(3) ή pcap_next_ex(3). είτε το για περισσότερες πληροφορίες.

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

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

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

2η Προγραµµατιστική Εργασία

2η Προγραµµατιστική Εργασία Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων

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

Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4

Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 1 Διαχείριση εργασιών fork(), exit(), exec() (βλ 2 ο Φροντ.) Επικοινωνία διεργασιών signals (βλ 2 ο Φροντ.) sockets και client/server,

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

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

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

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

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

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

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

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. 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

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

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

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

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

Υποδοχείς (Sockets) Προγραμματισμός II 1

Υποδοχείς (Sockets) Προγραμματισμός II 1 Υποδοχείς (Sockets) Προγραμματισμός II 1 lalis@inf.uth.gr Υποδοχείς Ειδικές δομές διαδιεργασιακής επικοινωνίας Προσπελάζονται μέσω περιγραφέων αρχείων μπορεί να χρησιμοποιηθούν οι read, write, close μπορεί

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Προγραμματισμός με BSD Sockets σε περιβάλλον Linux

Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Απρίλιος 2016 Περίγραμμα παρουσίασης 1 Εισαγωγή 2 Δικτυακά

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

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,

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

Επίπεδο δικτύου IP διευθυνσιοδότηση

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

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

ΕΡΓΑΣΤΗΡΙΟ 6 o ΑΝΑΛΥΣΗ ΠΑΚΕΤΩΝ ΣΕ ΙΚΤΥΑ IP

ΕΡΓΑΣΤΗΡΙΟ 6 o ΑΝΑΛΥΣΗ ΠΑΚΕΤΩΝ ΣΕ ΙΚΤΥΑ IP ΕΡΓΑΣΤΗΡΙΟ 6 o ΑΝΑΛΥΣΗ ΠΑΚΕΤΩΝ ΣΕ ΙΚΤΥΑ IP ίκτυα Datagram Υπάρχουν δύο µέθοδοι µεταγωγής πακέτων. Η πιο κοινή είναι η µέθοδος datagram κατά την οποία τα πακέτα ενός µηνύµατος φτάνουν στον προορισµό τους

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

Βασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1

Βασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1 Βασικά Θέματα Επικοινωνίας Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Πρωτόκολλο επικοινωνίας Η/Υ Προσδιορίζει τους κανόνες που διέπουν την επικοινωνία ανάμεσα στα εμπλεκόμενα μέρη τα μηνύματα και (εν μέρει)

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 8η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...

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

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες

ΕΑΠ/ΠΛΗ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

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet) ιαδίκτυα και το ιαδίκτυο (Internetworking and the 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) Socket *sopen(const int type, const int protocol, const char *host, const char *service) Στην περίπτωση ενός client, δημιουργεί μια νέα σύνδεση και κατασκευάζει μια δομή Socket που σχετίζεται με αυτή Σε

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

Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων διευθύνσεων

Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων διευθύνσεων Άσκηση 1 Ethernet protocol Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Πωλήσεων Τμήμα Ανάπτυξης Προϊόντων Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΗΜΙΟΥΡΓΙΑ ΔΙΕΡΓΑΣΙΑΣ WEB-SERVER ΜΕ ΝΗΜΑΤΑ (THREADS) ΣΕ LINUX ΚΑΛΟΠΗΤΑΣ ΚΩΝΣΤΑΝΤΙΝΟΣ - 4190 ΣΒΕΝΤΖΟΥΡΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ - 4086 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΞΑΝΘΗΣ

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

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Μοντέλα υπηρεσιών του επιπέδου δικτύου Προώθηση έναντι δρομολόγησης (forwarding vs routing) IP: Πρωτόκολλο

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

IPv6. Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών

IPv6. Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών IPv6 Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών Περίληψη Έννοιες Διευθυνσιοδότηση Neighbor/Router Discovery Header Fields Security Headers Περίληψη/Ερωτήσεις Βασικές Έννοιες Protocol Επίσημη περιγραφή (συμφωνίες)

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 7η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...

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

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

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Παράδοση πακέτων IP Για να παραδοθεί ένα πακέτο IP εμπλέκονται δύο διαφορετικές διεργασίες: 1. Προώθηση: Πώς θα μεταφερθεί το πακέτο από τη διεπαφή εισόδου

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

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Παράδοση πακέτων IP Για να παραδοθεί ένα πακέτο IP εμπλέκονται δύο διαφορετικές διεργασίες: 1. Προώθηση: Πώς θα μεταφερθεί το πακέτο από τη διεπαφή εισόδου

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

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

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

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

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

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

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

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

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

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Δίκτυα Υπολογιστών Εισαγωγή To IP (Internet Protocol) είναι το πρωτόκολλο του στρώματος δικτύου στο διαδίκτυο Η τρέχουσα έκδοση είναι η 4 (IPv4) Ορίζεται στο

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

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

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Δίκτυα Υπολογιστών Εισαγωγή To IP (Internet Protocol) είναι το πρωτόκολλο του στρώματος δικτύου στο διαδίκτυο Η τρέχουσα έκδοση είναι η 4 (IPv4) Ορίζεται στο

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

Εργαστήριο Ethereal: IP

Εργαστήριο Ethereal: IP Εργαστήριο Ethereal: IP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε το πρωτόκολλο

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 4η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...

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

Σχήμα 4.1. Δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology)

Σχήμα 4.1. Δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology) Λειτουργίες του Network Layer - Δρομολόγηση Στο ακόλουθο σχήμα φαίνεται ένα δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology), όπως είναι για παράδειγμα ένα δίκτυο ευρείας περιοχής WAN (Wide Area Network).

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

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

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

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

Το Επίπεδο Δικτύου του Internet

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

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

Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP

Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

3. Ανάλυση Πακέτων σε Δίκτυα

3. Ανάλυση Πακέτων σε Δίκτυα 3. Ανάλυση Πακέτων σε Δίκτυα Σκοπός του Εργαστηρίου: Η εξοικείωση με την έννοια της ενθυλάκωσης (encapsulation) στα δικτυακά πρωτόκολλα μέσω της χρήσης ενός προγράμματος ανάλυσης πρωτοκόλλων (protocol

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

Εργαστήριο Ethereal: ICMP

Εργαστήριο Ethereal: ICMP Εργαστήριο Ethereal: ICMP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε µερικά

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

Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος

Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

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

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Μοντέλα υπηρεσιών του επιπέδου δικτύου Προώθηση έναντι δρομολόγησης (forwarding vs routing) IP: Πρωτόκολλο

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΙΑ ΙΚΤΥΩΣΗΣ (Kεφ. 15) IPV6 ΠΟΛΛΑΠΛΗ ΑΠΟΣΤΟΛΗ ΙΡ ΠΡΟΒΛΗΜΑΤΑ επί του κεφ. 15 Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ -

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 3η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...

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

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

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

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

Ζητήματα Σχεδίασης Λογισμικού Πελάτη

Ζητήματα Σχεδίασης Λογισμικού Πελάτη Ζητήματα Σχεδίασης Λογισμικού Πελάτη Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Αναγνώριση Τοποθεσίας Εξυπηρετητή Για την αναγνώριση της διεύθυνσης και της θύρας ενός εξυπηρετητή ο πελάτης μπορεί να

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

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3.

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3. Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET Εφαρµογές - Ιούλιος 09 1 Εισαγωγή στην τεχνολογία TCP/IP Τεχνολογία TCP/IP TCP/IP Πρωτόκολλα TCP/IP ή τεχνολογία TCP/IP ή τεχνολογία ιαδικτύου (Internet)( ιαδίκτυο

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

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

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

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

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

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

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

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

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

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

HY-335a Project: microtcp 1, μία lightweight TCP βιβλιοθήκη HY-335a Project: microtcp 1, μία lightweight TCP βιβλιοθήκη Deadline δεύτερης ϕάσης : 14 Ιανουαρίου 2017 1 Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα Γενική περιγραϕή Στο οικοσύστημα του Internet

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

Δίκτυα Επικοινωνιών ΙΙ : Εισαγωγή στην IPv6 τεχνολογία

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

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

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

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

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

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

OSI και TCP/IP. Εισαγωγή στα Δίκτυα υπολογιστών και τεχνολογίες διαδικτύου

OSI και TCP/IP. Εισαγωγή στα Δίκτυα υπολογιστών και τεχνολογίες διαδικτύου 2 η Multimedia Διάλεξη: OSI και TCP/IP Copyright 2011 Medialab 2 η Multimedia διάλεξη με θέμα: OSI και TCP/IP OSI Model Overview Επισκόπηση του μοντέλου OSI. OSI Model Overview Το μοντέλο OSI δημιουργήθηκε

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ.

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ. ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ. Υποδείξεις απαντήσεων/λύσεων στις ερωτήσεις, ασκήσεις και δραστηριότητες του τετραδίου μαθητή, Κεφ.1

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

ARP (Address Resolution Protocol).

ARP (Address Resolution Protocol). Επίπεδοδικτύου: Internet To βασικό πρωτόκολλο του διαδικτύου! Επίπεδο ικτύου: Internet σε ένα LAN δεν χρειάζεται δροµολόγηση. Χρησιµοποιώντας το κοινό µέσο χρησιµοποιεί τις λεγόµενες Φυσικές διευθύνσεις.

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 1η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Γενικά Υλη Βαθµολόγηση

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

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

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

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

Προγραµµατισµός ικτύων Ε-01

Προγραµµατισµός ικτύων Ε-01 Προγραµµατισµός ικτύων Ε-01 2η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Λεπτοµέρειες πρωτοκόλλων

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

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

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

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο 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

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή

Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Ταυτόχρονοι και Επαναληπτικοί Εξυπηρετητές Επαναληπτικός εξυπηρετητής: επεξεργάζεται μόνο μία αίτηση τη φορά. Ταυτόχρονος

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

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

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 8: Στρώμα δικτύου

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

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

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

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

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

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Το Επίπεδο Δικτύου του Internet

Το Επίπεδο Δικτύου του Internet Το Επίπεδο Δικτύου του Internet Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Computer Networking: A Top Down Approach Featuring the

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

ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing

ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 67 Περιεχόμενα ΕΙΣΑΓΩΓΗ. 69 ΜΕΡΟΣ Α: To Icmp Πρωτόκολλο.... 70 Γενικά. 70 Το Icmp Echo Πακέτο. 72 Το Icmp Destination Unreachable Πακέτο. 75 ΜΕΡΟΣ

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

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

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

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

Κ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ

Κ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ σελίδα 1 Κ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ Περιεχόµενα Αναφορά στις αλλαγές που επιφέρει το IPv6 στην ανάπτυξη δικτυακών εφαρµογών

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

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα: Δίκτυα Η/Υ Στρώμα Δικτύου Σαββαΐδης Στυλιανός Τμήμα Ηλεκτρονικών Μηχανικών

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δυναμική Κατανομή Μνήμης Δυναμική εκχώρηση μνήμης Σωρός Συναρτήσεις malloc(), calloc(), realloc(), free() Δυναμικές δομές

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

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

4 η ιάλεξη: Signals UDP Sockets

4 η ιάλεξη: Signals UDP Sockets Εργαστήριο ικτύων Υπολογιστών 4 η ιάλεξη: ικτυακός Προγραμματισμός Signals UDP Sockets TCP sockets και signals Όταν σε ένα TCP server κάνουμε fork (γεννάμε διεργασίες-παιδιά servers για να εξυπηρετήσουμε

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

Εργαστηριακή Άσκηση 5 Πρωτόκολλο IP

Εργαστηριακή Άσκηση 5 Πρωτόκολλο IP Εργαστηριακή Άσκηση 5 Πρωτόκολλο IP Ο σκοπός αυτού του εργαστηρίου είναι η σε μεγαλύτερο βάθος εξέταση των ιδιοτήτων του πρωτοκόλλου IP. Θα παρατηρήσετε τα πακέτα IP που παράγονται κατά την εκτέλεση εντολών

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

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

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

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

HY-335a Project: microtcp, μία lightweight TCP βιβλιοθήκη. Deadline πρώτης ϕάσης : 19/11/ :59

HY-335a Project: microtcp, μία lightweight TCP βιβλιοθήκη. Deadline πρώτης ϕάσης : 19/11/ :59 HY-335a Project: microtcp, μία lightweight TCP βιβλιοθήκη Deadline πρώτης ϕάσης : 19/11/2017 23:59 Γενική περιγραϕή Στο οικοσύστημα του Internet of Things (IoT) υπάρχει μια ευρεία γκάμα από δικτυακές συσκευές.

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

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής <paskalis@di.uoa.gr> Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής <paskalis@di.uoa.gr> Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Υποστήριξη Κινητικότητας στο Internet Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Mobile IP Ιστορικό Το πρωτόκολλο Internet σχεδιάστηκε για στατικούς υπολογιστές.

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις

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

οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές.

οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές. οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές. ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Παράδειγµα Πρόβληµα: Να γράψετε

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

ικτύωσησε Java Κατανεµηµένα Συστήµατα 08-1

ικτύωσησε Java Κατανεµηµένα Συστήµατα 08-1 ικτύωσησε Java ιευθύνσεις IP Υποδοχές ρεύµατος Σειριακοποίηση αντικειµένων Υποδοχές δεδοµενογραφηµάτων Υποδοχές πολυεκποµπής Οµοιόµορφοι Εντοπιστές Πόρων Κατανεµηµένα Συστήµατα 08-1 Υποδοχές σε C ικτύωσησε

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

Έλεγχος της σύνδεσης του υπολογιστή σας

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

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

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Εργαστήριο «Δίκτυα Υπολογιστών Ι» 1 Εργαστήριο «Δίκτυα Υπολογιστών Ι» Άσκηση 1 η Τμήμα Mηχ. Πληροφορικής & Υπολογιστών Παν. Δυτικής Αττικής Ημερομηνία έκδοσης: 3/10/2018 Επιμέλεια: Ιωάννης Ξυδάς, Αντώνης Μπόγρης Υλοποίηση ενός Τοπικού

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

Δίκτυα Επικοινωνίας και Υπολογιστών

Δίκτυα Επικοινωνίας και Υπολογιστών ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Δίκτυα Επικοινωνίας και Υπολογιστών Ενότητα 6β : Διαδικτύωση, Έννοιες, Αρχιτεκτονική και Πρωτόκολλα Γούδος Σωτήριος Άδειες Χρήσης Το παρόν

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

Διαμόρφωση και έλεγχος του δικτύου

Διαμόρφωση και έλεγχος του δικτύου Εργαστήριο 8 ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ Διαμόρφωση και έλεγχος του δικτύου Στόχος Ο στόχος αυτού του εργαστηρίου είναι η κατανόηση και εξοικείωση με τα εργαλεία διαμόρφωσης

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

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

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

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

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

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

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