Προγραµµατισµός ικτύων Ε-01
|
|
- Ξενία Μητσοτάκης
- 7 χρόνια πριν
- Προβολές:
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(¤ttime)); 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(¤ttime))); 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η Προγραµµατιστική Εργασία
Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων
Διαβάστε περισσότεραΝτίρλης Νικόλαος- ΕΤΥ 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) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 2 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΔΙΚΤΥΟΥ
Διαβάστε περισσότεραΕπαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. 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 Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως
Διαβάστε περισσότεραΥποδοχείς (Sockets) Προγραμματισμός II 1
Υποδοχείς (Sockets) Προγραμματισμός II 1 lalis@inf.uth.gr Υποδοχείς Ειδικές δομές διαδιεργασιακής επικοινωνίας Προσπελάζονται μέσω περιγραφέων αρχείων μπορεί να χρησιμοποιηθούν οι read, write, close μπορεί
Διαβάστε περισσότεραΔίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4
Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΠρογραμματισμός με BSD Sockets σε περιβάλλον Linux
Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Απρίλιος 2016 Περίγραμμα παρουσίασης 1 Εισαγωγή 2 Δικτυακά
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ: 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 σου να σου πω ποιος είσαι) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 6 o ΑΝΑΛΥΣΗ ΠΑΚΕΤΩΝ ΣΕ ΙΚΤΥΑ IP
ΕΡΓΑΣΤΗΡΙΟ 6 o ΑΝΑΛΥΣΗ ΠΑΚΕΤΩΝ ΣΕ ΙΚΤΥΑ IP ίκτυα Datagram Υπάρχουν δύο µέθοδοι µεταγωγής πακέτων. Η πιο κοινή είναι η µέθοδος datagram κατά την οποία τα πακέτα ενός µηνύµατος φτάνουν στον προορισµό τους
Διαβάστε περισσότεραΒασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1
Βασικά Θέματα Επικοινωνίας Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Πρωτόκολλο επικοινωνίας Η/Υ Προσδιορίζει τους κανόνες που διέπουν την επικοινωνία ανάμεσα στα εμπλεκόμενα μέρη τα μηνύματα και (εν μέρει)
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 8η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...
Διαβάστε περισσότεραΕΑΠ/ΠΛΗ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 για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):
Διαβάστε περισσότερα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 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης 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) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν µεταξύ τους Πως συνδέονται ανοµοιογενή δίκτυα µεταξύ τους Εικονικά κυκλώµατα συνδεδεµένα σε σειρά ιαδικτύωση
Διαβάστε περισσότεραΕγχειρίδιο Συναρτήσεων. 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, έχουν ως εξής: Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων διευθύνσεων
Άσκηση 1 Ethernet protocol Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Πωλήσεων Τμήμα Ανάπτυξης Προϊόντων Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΗΜΙΟΥΡΓΙΑ ΔΙΕΡΓΑΣΙΑΣ WEB-SERVER ΜΕ ΝΗΜΑΤΑ (THREADS) ΣΕ LINUX ΚΑΛΟΠΗΤΑΣ ΚΩΝΣΤΑΝΤΙΝΟΣ - 4190 ΣΒΕΝΤΖΟΥΡΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ - 4086 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΞΑΝΘΗΣ
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)
Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Μοντέλα υπηρεσιών του επιπέδου δικτύου Προώθηση έναντι δρομολόγησης (forwarding vs routing) IP: Πρωτόκολλο
Διαβάστε περισσότεραIPv6. Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών
IPv6 Ιατρέλλης Όμηρος Καθηγητής Εφαρμογών Περίληψη Έννοιες Διευθυνσιοδότηση Neighbor/Router Discovery Header Fields Security Headers Περίληψη/Ερωτήσεις Βασικές Έννοιες Protocol Επίσημη περιγραφή (συμφωνίες)
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 7η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...
Διαβάστε περισσότεραΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών
ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Παράδοση πακέτων IP Για να παραδοθεί ένα πακέτο IP εμπλέκονται δύο διαφορετικές διεργασίες: 1. Προώθηση: Πώς θα μεταφερθεί το πακέτο από τη διεπαφή εισόδου
Διαβάστε περισσότεραΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Παράδοση πακέτων IP Για να παραδοθεί ένα πακέτο IP εμπλέκονται δύο διαφορετικές διεργασίες: 1. Προώθηση: Πώς θα μεταφερθεί το πακέτο από τη διεπαφή εισόδου
Διαβάστε περισσότεραΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.
ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ Το επίπεδο δικτύου ασχολείται με τη μεταφορά πακέτων από την προέλευσή τους μέχρι τον προορισμό τους. Επιλέγει τις κατάλληλες διαδρομές από τους διάφορους δρομολογητές ώστε ένα πακέτο να
Διαβάστε περισσότεραΔιαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)
Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά
Διαβάστε περισσότεραΕπικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1
Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο
Διαβάστε περισσότεραΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών
ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Δίκτυα Υπολογιστών Εισαγωγή To IP (Internet Protocol) είναι το πρωτόκολλο του στρώματος δικτύου στο διαδίκτυο Η τρέχουσα έκδοση είναι η 4 (IPv4) Ορίζεται στο
Διαβάστε περισσότεραΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα δικτύου στο Internet. Δίκτυα Υπολογιστών
ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Στρώμα δικτύου στο Internet Δίκτυα Υπολογιστών Εισαγωγή To IP (Internet Protocol) είναι το πρωτόκολλο του στρώματος δικτύου στο διαδίκτυο Η τρέχουσα έκδοση είναι η 4 (IPv4) Ορίζεται στο
Διαβάστε περισσότεραΕργαστήριο Ethereal: IP
Εργαστήριο Ethereal: IP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε το πρωτόκολλο
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 4η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...
Διαβάστε περισσότεραΣχήμα 4.1. Δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology)
Λειτουργίες του Network Layer - Δρομολόγηση Στο ακόλουθο σχήμα φαίνεται ένα δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology), όπως είναι για παράδειγμα ένα δίκτυο ευρείας περιοχής WAN (Wide Area Network).
Διαβάστε περισσότερα4.1.1 Πρωτόκολλο TCP - Δομή πακέτου
4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής
Διαβάστε περισσότεραΤο Επίπεδο Δικτύου του Internet
Το Επίπεδο Δικτύου του Internet Ε Εξάμηνο, Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Στερεάς Ελλάδας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Computer Networking: A Top Down Approach Featuring the Internet,
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP
Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότερα3. Ανάλυση Πακέτων σε Δίκτυα
3. Ανάλυση Πακέτων σε Δίκτυα Σκοπός του Εργαστηρίου: Η εξοικείωση με την έννοια της ενθυλάκωσης (encapsulation) στα δικτυακά πρωτόκολλα μέσω της χρήσης ενός προγράμματος ανάλυσης πρωτοκόλλων (protocol
Διαβάστε περισσότεραΕργαστήριο Ethereal: ICMP
Εργαστήριο Ethereal: ICMP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε µερικά
Διαβάστε περισσότεραΕργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
Διαβάστε περισσότεραΕπικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1
Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)
Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Μοντέλα υπηρεσιών του επιπέδου δικτύου Προώθηση έναντι δρομολόγησης (forwarding vs routing) IP: Πρωτόκολλο
Διαβάστε περισσότεραιαδίκτυα & Ενδοδίκτυα Η/Υ
ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΙΑ ΙΚΤΥΩΣΗΣ (Kεφ. 15) IPV6 ΠΟΛΛΑΠΛΗ ΑΠΟΣΤΟΛΗ ΙΡ ΠΡΟΒΛΗΜΑΤΑ επί του κεφ. 15 Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ -
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 3η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...
Διαβάστε περισσότεραΣύντομη παρουσίαση των εργαλείων/εντολών 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 Εισαγωγή στην τεχνολογία 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 βιβλιοθήκη Deadline δεύτερης ϕάσης : 14 Ιανουαρίου 2017 1 Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα Γενική περιγραϕή Στο οικοσύστημα του Internet
Διαβάστε περισσότερα7.9 ροµολόγηση. Ερωτήσεις
7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ : Εισαγωγή στην IPv6 τεχνολογία
Δίκτυα Επικοινωνιών ΙΙ : Εισαγωγή στην IPv6 τεχνολογία Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Περιεχόμενα Αναφορά στις βασικές αρχές του IPv6 Περιορισμοί
Διαβάστε περισσότεραΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP
ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές
Διαβάστε περισσότεραΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013
Διαβάστε περισσότερα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).
Επίπεδοδικτύου: Internet To βασικό πρωτόκολλο του διαδικτύου! Επίπεδο ικτύου: Internet σε ένα LAN δεν χρειάζεται δροµολόγηση. Χρησιµοποιώντας το κοινό µέσο χρησιµοποιεί τις λεγόµενες Φυσικές διευθύνσεις.
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 1η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Γενικά Υλη Βαθµολόγηση
Διαβάστε περισσότεραΔΙΚΤΥΑ (23-26) Π. Φουληράς
ΔΙΚΤΥΑ (23-26) Π. Φουληράς Μηχανισμός Αναφοράς Σφαλμάτων (ICMP) Πρωτόκολλο Μηνυμάτων Ελέγχου Διαδικτύου (Internet Control Message Protocol) Απαραίτητο για κάθε τυπική υλοποίηση του IP Το ότι το IP προσφέρει
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 2η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Λεπτοµέρειες πρωτοκόλλων
Διαβάστε περισσότεραΕπίπεδο Δικτύου: Διαδικτύωση
Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει
Διαβάστε περισσότεραΙόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο 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]
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΖητήματα Σχεδίασης Λογισμικού Εξυπηρετητή
Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Ταυτόχρονοι και Επαναληπτικοί Εξυπηρετητές Επαναληπτικός εξυπηρετητής: επεξεργάζεται μόνο μία αίτηση τη φορά. Ταυτόχρονος
Διαβάστε περισσότερα7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ
Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα
Διαβάστε περισσότεραΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ
ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ
Διαβάστε περισσότεραΔίκτυα Επικοινωνίας Υπολογιστών Ενότητα 8: Στρώμα δικτύου
Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 8: Στρώμα δικτύου Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση
Διαβάστε περισσότερα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 Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΤο Επίπεδο Δικτύου του Internet
Το Επίπεδο Δικτύου του Internet Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Computer Networking: A Top Down Approach Featuring the
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing
ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 67 Περιεχόμενα ΕΙΣΑΓΩΓΗ. 69 ΜΕΡΟΣ Α: To Icmp Πρωτόκολλο.... 70 Γενικά. 70 Το Icmp Echo Πακέτο. 72 Το Icmp Destination Unreachable Πακέτο. 75 ΜΕΡΟΣ
Διαβάστε περισσότεραα) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.
Εργαστηριακή Άσκηση 3 Σκοπός της τρίτης σειράς ασκήσεων είναι η γνωριµία µε τον αναλυτή πρωτοκόλλων Wireshark. Το πρόγραµµα Wireshark είναι ένας ανιχνευτής πακέτων (packet sniffer) και διατίθεται ως ανοιχτό
Διαβάστε περισσότεραΚ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ
σελίδα 1 Κ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ Περιεχόµενα Αναφορά στις αλλαγές που επιφέρει το IPv6 στην ανάπτυξη δικτυακών εφαρµογών
Διαβάστε περισσότεραΚινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα: Δίκτυα Η/Υ Στρώμα Δικτύου Σαββαΐδης Στυλιανός Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δυναμική Κατανομή Μνήμης Δυναμική εκχώρηση μνήμης Σωρός Συναρτήσεις malloc(), calloc(), realloc(), free() Δυναμικές δομές
Διαβάστε περισσότεραΕργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον
Διαβάστε περισσότεραΠρωτόκολλα Διαδικτύου Μέρος 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.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν
Διαβάστε περισσότερα4 η ιάλεξη: Signals UDP Sockets
Εργαστήριο ικτύων Υπολογιστών 4 η ιάλεξη: ικτυακός Προγραμματισμός Signals UDP Sockets TCP sockets και signals Όταν σε ένα TCP server κάνουμε fork (γεννάμε διεργασίες-παιδιά servers για να εξυπηρετήσουμε
Διαβάστε περισσότεραΕργαστηριακή Άσκηση 5 Πρωτόκολλο IP
Εργαστηριακή Άσκηση 5 Πρωτόκολλο IP Ο σκοπός αυτού του εργαστηρίου είναι η σε μεγαλύτερο βάθος εξέταση των ιδιοτήτων του πρωτοκόλλου IP. Θα παρατηρήσετε τα πακέτα IP που παράγονται κατά την εκτέλεση εντολών
Διαβάστε περισσότεραΙόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο 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/2017 23:59 Γενική περιγραϕή Στο οικοσύστημα του Internet of Things (IoT) υπάρχει μια ευρεία γκάμα από δικτυακές συσκευές.
Διαβάστε περισσότεραΥποστήριξη Κινητικότητας στο 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 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις
Διαβάστε περισσότεραοµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές.
οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές. ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Παράδειγµα Πρόβληµα: Να γράψετε
Διαβάστε περισσότεραικτύωσησε Java Κατανεµηµένα Συστήµατα 08-1
ικτύωσησε Java ιευθύνσεις IP Υποδοχές ρεύµατος Σειριακοποίηση αντικειµένων Υποδοχές δεδοµενογραφηµάτων Υποδοχές πολυεκποµπής Οµοιόµορφοι Εντοπιστές Πόρων Κατανεµηµένα Συστήµατα 08-1 Υποδοχές σε C ικτύωσησε
Διαβάστε περισσότεραΈλεγχος της σύνδεσης του υπολογιστή σας
Έλεγχος της σύνδεσης του υπολογιστή σας Για να συμμετέχει ο υπολογιστής μας σε ένα τοπικό δίκτυο εκτός από τη φυσική σύνδεση με το υπάρχον φυσικό μέσο χρειάζεται να ρυθμίσουμε τις δικτυακές παραμέτρους
Διαβάστε περισσότεραΕργαστήριο «Δίκτυα Υπολογιστών Ι»
1 Εργαστήριο «Δίκτυα Υπολογιστών Ι» Άσκηση 1 η Τμήμα Mηχ. Πληροφορικής & Υπολογιστών Παν. Δυτικής Αττικής Ημερομηνία έκδοσης: 3/10/2018 Επιμέλεια: Ιωάννης Ξυδάς, Αντώνης Μπόγρης Υλοποίηση ενός Τοπικού
Διαβάστε περισσότεραΔίκτυα Επικοινωνίας και Υπολογιστών
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Δίκτυα Επικοινωνίας και Υπολογιστών Ενότητα 6β : Διαδικτύωση, Έννοιες, Αρχιτεκτονική και Πρωτόκολλα Γούδος Σωτήριος Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΔιαμόρφωση και έλεγχος του δικτύου
Εργαστήριο 8 ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ Διαμόρφωση και έλεγχος του δικτύου Στόχος Ο στόχος αυτού του εργαστηρίου είναι η κατανόηση και εξοικείωση με τα εργαλεία διαμόρφωσης
Διαβάστε περισσότεραΠρωτόκολλο TCP Διάλεξη Ι
Πρωτόκολλο TCP Διάλεξη Ι Εισαγωγή Οι υπηρεσίες μεταβίβασης δεδομένων ανάμεσα σε δύο επικοινωνούντες πόρους κατατάσσονται σε δύο κατηγορίες: Connectionless ή datagram Connection-oriented Οι υπηρεσίες της
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής (1) Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης Απρόκλητο
Διαβάστε περισσότερα