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

Σχετικά έγγραφα
Πρωτόκολλα Διαδικτύου

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

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

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

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

Network Address Translation (NAT)

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

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

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

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

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

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

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

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

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

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

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

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

DNS. Όλες οι άλλες υπηρεσίες του Διαδικτύου, (WWW και ) χρησιμοποιούν το DNS

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

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

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών Ενότητα 3: Domain Name System - DNS

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

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

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

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

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

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

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

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

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

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

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

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Domain Name Service

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

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

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

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

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

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

6.2 Υπηρεσίες Διαδικτύου

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

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

Δίκτυα Η/Υ στην Επιχείρηση

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

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

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΣΑΒΒΑΤΟ 16 ΙΟΥΝΙΟΥ 2018

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

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

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

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

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

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

Εργαστηριακή Άσκηση 5

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο

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

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

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ 1 στα Δίκτυα Υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

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

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο

Φύλλο Εργασίας 1 ου Κεφαλαίου

Δίκτυα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΤΕΙ Πειραιά, Τμήμα Ηλεκτρονικής. Δίκτυα P2P. Χαράλαμπος Ζ. Πατρικάκης

Εισαγωγή στο διαδίκτυο

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

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

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

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

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

Κάντε κλικ για έναρξη

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

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

Transcript:

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 2

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

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

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

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

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

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

BitTorrent: tit-for-tat 1. Η Alice επιλέγει ( optimistically unchokes ) τον Bob 2. Η Alice γίνεται ένας από τους 4 καλύτερους peers του Bob; Ο Bob απαντάει 3. Ο Bob γίνεται ένας από τους 4 καλύτερους peers της Alice Υψηλότερος ρυθμός «ανεβάσματος»: εύρεση καλύτερων peers, γρηγορότερη λήψη αρχείου! 9

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 10

Απλή βάση δεδομένων Απλή βάση με ζευγάρια (key, value) Π.χ. key: όνομα; value: ΑΜΚΑ Key Value John Washington 132-54-3570 Diana Louise Jones 761-55-3791 Xiaoming Liu 385-41-0902 Rakesh Gopal 441-89-1956 Linda Cohen 217-66-5609. Lisa Kobayashi 177-23-0199 Π.χ. key: τίτλος ταινίας; value: διεύθυνση IP 11

Hash Table Πιο κατάλληλη η εύρεση και αναζήτηση σε αριθμητικές αναπαραστάσεις των κλειδιών hash: συνάρτηση πολλά-προς-ένα key = hash(αρχικό key) Original Key Key Value John Washington 8962458 132-54-3570 Diana Louise Jones 7800356 761-55-3791 Xiaoming Liu 1567109 385-41-0902 Rakesh Gopal 2360012 441-89-1956 Linda Cohen 5430938 217-66-5609. Lisa Kobayashi 9290124 177-23-0199 Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 12

Distributed Hash Table (DHT) Κατανομή ζευγαριών (key, value) σε εκατομμύρια peers Τα ζευγάρια κατανέμονται εξίσου στους peers Κάθε peer μπορεί να αναζητήσει (query) τη βάση για κάποιο key Η βάση δεδομένων επιστρέφει το value για αυτό το key Για την επίλυση του ερωτήματος, μικρός αριθμός μηνυμάτων ανταλλάσσεται μεταξύ των peers Κάθε peer γνωρίζει μόνο για ένα μικρό αριθμό άλλων peers Ιδανικό για peers που (απο-) συνδέονται Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 13

Ανάθεση ζευγαριών key-value σε peers Κανόνας: ανάθεση ζευγαριού key-value στον peer που έχει το κοντινότερο (closest) ID Κοντινότερο είναι ο πρώτος (άμεσος) διάδοχος (immediate successor) του key Π.χ. ID στο εύρος {0,1,2,3,,63} Έστω 8 peers: 1,12,13,25,32,40,48,60 Για key = 51, ανάθεση στον peer 60 Για key = 60, ανάθεση στον peer 60 Για key = 61, ανάθεση στον peer 1 Πώς θα καθορίζεται όμως o «κοντινότερος» peer? Μπορεί ο κάθε peer να διατηρεί πληροφορία αναφορικά με όλους τους peers Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 14

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 15

Κυκλικό DHT Κάθε peer ξέρει μόνο τον πρώτο (άμεσο) διάδοχο και προκάτοχο του 1 60 12 13 48 25 40 32 Πρωτόκολλα Διαδικτύου, 5η Διάλεξη overlay network 16

Επίλυση ερωτήματος (query) value 1 12 Ποιο είναι το value για το κλειδί 53? 60 13 48 Μέσο όρο O(N) μηνυμάτων για την επίλυση του ερωτήματος σε N peers 25 40 32 Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 17

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 18

Κυκλικό DHT με συντομεύσεις 60 48 40 value 1 32 Κάθε peer έχει πληροφορία για τις διευθύνσεις IP των διαδόχων, προκατόχων και συντομεύσεων του Μείωση μηνυμάτων από 6 σε 3 Είναι πιθανός ο ορισμός συντομεύσεων για με O(log N) γείτονες, O(log N) μηνύματα 19 12 25 Ποιο είναι το value για το κλειδί 53? 13

Έλευση / φυγή peer (1/2) 1 Διαδικασία 15 3 Κάθε peer γνωρίζει τις διευθύνσεις των 2 διαδόχων του 12 5 4 Κάθε peer ελέγχει περιοδικά τους διαδόχους του για να επαληθεύσει τη λειτουργία τους 10 8 Αν φύγει ο πρώτος διάδοχος, επιλέγεται ο επόμενος ως πρώτος Παράδειγμα: Ο peer 5 φεύγει Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 20

Έλευση / φυγή peer (2/2) 15 12 10 1 3 4 Διαδικασία Κάθε peer γνωρίζει τις διευθύνσεις των 2 διαδόχων του Κάθε peer ελέγχει περιοδικά τους διαδόχους του για να επαληθεύσει τη λειτουργία τους Αν φύγει ο πρώτος διάδοχος, επιλέγεται ο επόμενος ως πρώτος 8 Παράδειγμα: Ο peer 5 φεύγει Ο peer 4 ανακαλύπτει τη φυγή του peer 5 και κάνει τον 8 πρώτο του διάδοχο Ο 4 ζητάει από τον 8 τον πρώτο του διάδοχο ώστε να τον κάνει δεύτερο διάδοχό του 21

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 22

Προγραμματισμός sockets (1/2) Στόχος: Υλοποίηση εφαρμογών που επικοινωνούν με χρήση sockets Socket: Η «πόρτα» μεταξύ των διεργασιών και του πρωτοκόλλου μεταφοράς application process socket application process Διαχειρίζονται από τον προγραμματιστή transport transport network link Internet network link Διαχειρίζονται από το ΛΣ physical physical 23

Προγραμματισμός sockets (2/2) Υπάρχουν 2 τύποι socket για 2 υπηρεσίες μεταφοράς UDP: μη αξιόπιστο datagram TCP: αξιόπιστο, byte stream-oriented Παράδειγμα Ένας client διαβάζει μια γραμμή χαρακτήρων (δεδομένα) από το πληκτρολόγιο και τα στέλνει στο server Ο server λαμβάνει τα δεδομένα και μετατρέπει τα γράμματα σε κεφαλαία Ο server στέλνει τα τροποποιημένα δεδομένα στο client Ο client λαμβάνει τα τροποποιημένα δεδομένα και τα εμφανίζει στην οθόνη Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 24

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 25

Προγραμματισμός sockets με UDP UDP: Χωρίς σύνδεση μεταξύ client & server Δεν υπάρχει διαδικασία handshaking πριν την αποστολή δεδομένων Ο αποστολέας επισυνάπτει τη διεύθυνση IP και τον αριθμό του port του παραλήπτη σε κάθε πακέτο Ο παραλήπτης εξάγει τη διεύθυνση IP και τον αριθμό του port από το πακέτο που λαμβάνει Οπτική από την εφαρμογή Το UDP παρέχει ένα μη αξιόπιστο τρόπο μεταφοράς ομάδων δεδομένων (groups) bytes ( datagrams ) μεταξύ του client και του server Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 26

Αλληλεπίδραση client/server socket με UDP server (εκτελείται στο serverip) Δημιουργία socket, port= x: serversocket = socket(af_inet,sock_dgram) Ανάγνωση UDP segment από serversocket client Δηγμιουργία socket: clientsocket = socket(af_inet,sock_dgram) Δημιουργία datagram με server IP και port=x; αποστολή datagram μέσω clientsocket Απάντηση στο serversocket δηλώνοντας τη διεύθυνση του client, αριθμό port Ανάγνωση datagram από clientsocket Κλείσιμο clientsocket 27

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

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 30

Προγραμματισμός sockets με TCP Ο client πρέπει να επικοινωνήσει με το server Το server process πρέπει ήδη να εκτελείται Ο server πρέπει να έχει ήδη δημιουργήσει μια πόρτα που θα περιμένει / καλωσορίσει την επικοινωνία του client Ο client επικοινωνεί με το server Όταν λάβει κάποια επικοινωνία από το client, ο server TCP δημιουργεί ένα νέο socket ώστε το server process να επικοινωνήσει με το συγκεκριμένο client Επιτρέπει στο server να επικοινωνεί με πολλαπλούς clients Δημιουργώντας ένα TCP socket, καθορίζοντας τη διεύθυνση IP, και το port του server process Οι αριθμοί των port χρησιμοποιούνται για να διαφοροποιούνται οι clients Όταν ο client δημιουργήσει το socket Το client TCP δημιουργεί τη σύνδεση με το server TCP Οπτική από την εφαρμογή To TCP παρέχει αξιόπιστη, σε σειρά μεταφορά ροής δεδομένων (byte-stream) μεταξύ client και server

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

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

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 35

Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Παρέχουν επικοινωνία με τη μορφή λογικής σύνδεσης μεταξύ των διεργασιών που δημιουργούν οι εφαρμογές που τρέχουν σε διαφορετικούς hosts Τα πρωτόκολλα μεταφοράς τρέχουν σε τερματικά συστήματα Αποστέλλουσα πλευρά: Χωρίζει τα μηνύματα της εφαρμογής σε τμήματα (segments) και τα προωθεί στο επίπεδο δικτύου Λαμβάνουσα πλευρά: Επανασυναρμολογεί τα segments μηνύματα και τα προωθεί στο επίπεδο εφαρμογών Πάνω από πρωτόκολλα μεταφοράς διαθέσιμα στις εφαρμογές Internet: TCP και UDP application transport network data link physical application transport network data link physical 36

Επίπεδο μεταφοράς vs. δικτύου Επίπεδο δικτύου: Επικοινωνία μεταξύ hosts Επίπεδο μεταφοράς: Λογική επικοινωνία μεταξύ διεργασιών Βασίζεται και επεκτείνει τις υπηρεσίες επιπέδου δικτύου Ανάλογα με το πρωτόκολλο θα «προσφέρει» κάποιου είδους «εγγυήσεις» για τη ροή των πακέτων που στέλνονται μεταξύ δύο διεργασιών μέσω δικτύου Αναλογία νοικοκυριού 12 παιδία στο σπίτι της Ann στέλνουν γράμματα σε 12 παιδιά στο σπίτι του Bill: hosts = σπίτια processes = παιδιά app messages = γράμματα σε φακέλους transport protocol = Ann και Bill σε δωμάτια του σπιτιού network-layer protocol = ΕΛΤΑ Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 37

Πρωτόκολλα μεταφοράς διαδικτύου (Internet) UDP: Αναξιόπιστη, χωρίς εγγύηση στη σειρά παράδοσης των πακέτων Δεν βελτιώνει τον best-effort χαρακτήρα του IP!!!! TCP: Αξιόπιστη, με εγγύηση στη σειρά παράδοσης των πακέτων Έλεγχος συμφόρησης Έλεγχος ροής Εγκαθίδρυση σύνδεσης Προσοχή: Το διαδίκτυο ΔΕΝ δίνει εγγυήσεις καθυστέρησης ή bandwidth! Είναι best-effort application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 38

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 40

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

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 43

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

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

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 46

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

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

Demultiplexing με σύνδεση: Παράδειγμα (2/2) application P3 transport network link physical application P4 transport network link physical threaded server server: IP address B application P2 transport network link physical P3 host: IP address A source IP,port: B,80 dest IP,port: A,9157 source IP,port: A,9157 dest IP, port: B,80 source IP,port: C,5775 dest IP,port: B,80 source IP,port: C,9157 dest IP,port: B,80 host: IP address C Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 49

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 50

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

UDP Segment source port # dest port # length 32 bits Δεδομένα εφαρμογής (payload) checksum Μορφή UDP segment Μήκος, σε bytes του UDP segment, μαζί με την επικεφαλίδα Χρήση UDP Εφαρμογές Streaming multimedia apps DNS SNMP Αξιόπιστη μεταφορά με UDP Προσθήκη τεχνικών στο επίπεδο εφαρμογής Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 52

Σημερινή διάλεξη Σύνοψη 4ης διάλεξης Επίπεδο εφαρμογής Distributed Hash Table Κυκλικό DHT Κυκλικό DHT με συντομεύσεις Προγραμματισμός sockets Προγραμματισμός sockets με UDP Προγραμματισμός sockets με TCP Επίπεδο μεταφοράς Υπηρεσίες και πρωτόκολλα επιπέδου μεταφοράς Επίπεδο μεταφοράς vs. Δικτύου Πρωτόκολλα μεταφοράς διαδικτύου (Internet) Multiplexing/demultiplexing Demultiplexing χωρίς σύνδεση Demultiplexing με σύνδεση UDP UDP Checksum Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 53

UDP checksum Στόχος: Ανίχνευση λαθών (π.χ. ανεστραμμένα bits) στο μεταδιδόμενο segment λόγω θορύβου και παρεμβολών στη σύνδεση ή προβλημάτων στους δρομολογητές Αναγκαιότητα: Παρότι τα χαμηλότερα επίπεδα έχουν τεχνικές για ανίχνευση λαθών γίνεται από το UDP γιατί δεν υπάρχει εγγύηση ότι όλες οι συνδέσεις (links) μεταξύ αποστολέα & παραλήπτη χρησιμοποιούν πρωτόκολλο ανίχνευσης λάθους Αποστολέας Χειρίζεται τα περιεχόμενα του segment (συμπεριλαμβανομένων των πεδίων του header) ως ακολουθία ακεραίων 16-bit Checksum: συμπλήρωμα ως προς 1 του αθροίσματος των περιεχομένων του segment Τοποθετεί την τιμή του checksum στο πεδίο checksum του UDP Παραλήπτης Υπολογίζει το checksum του λαμβανόμενου segment Ελέγχει εάν η υπολογισθείσα τιμή του checksum ισούται με την τιμή στο πεδίο checksum NO ανίχνευση λάθους YES καμία ανίχνευση σφάλματος 54

Παράδειγμα Internet checksum Παράδειγμα: πρόσθεση δύο ακεραίων 16-bit 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound sum checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Σημείωση: Όταν προσθέτουμε αριθμούς ένα κρατούμενο από το πιο σημαντικό bit πρέπει να προστεθεί στο αποτέλεσμα Πρωτόκολλα Διαδικτύου, 5η Διάλεξη 55