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

Σχετικά έγγραφα
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

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

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

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

Transmission Control Protocol. Transmission Control Protocol

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

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

Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP

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

ΑΝΑΛΥΣΗ TCP ΚΙΝΗΣΗΣ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ TCPTRACE.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Το Πρωτόκολλο TCP (Transmission Control Protocol)

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

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

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

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

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

Λουκάς Ελευθέριος

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

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

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

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

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

Κεφάλαιο 4ο ΕΠΙΠΕΔΟ ΜΕΤΑΦΟΡΑΣ

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

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

Έλεγχος συµφόρησης µε το Πρωτόκολλο TCP

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

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

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

Μηχανισμοί Λογικής σύνδεσης. Διάρθρωση. Δομή πλαισίου. Καθορισμός ορίων πλαισίου

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

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

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

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

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Υπηρεσίες δικτύου και πρωτόκολλα για πολυμεσικές επικοινωνίες

ΤΟ ΠΡΩΤΟΚΟΛΛΟ TCP (ΤRANSMISSION CONTROL PROTOCOL)

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

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

ΤΟ ΠΡΩΤΟΚΟΛΛΟ TCP (ΤRANSMISSION CONTROL PROTOCOL)

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

Μελέτη του πρωτοκόλλου SCTP και ανάπτυξη σχετικών opensource προγραµµάτων

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

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

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

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

ΣΕΜΙΝΑΡΙΟ ΔΙΚΤΥΩΝ ΜΑΡΤΙΟΣ ΜΑΙΟΣ 2010 ΔΙΟΡΓΑΝΩΣΗ ΑΜΠΑΡΙΩΤΗΣ ΑΠΟΣΤΟΛΟΣ ΓΙΑΜΜΑΚΗΣ ΓΙΑΝΝΗΣ ΛΕΒΑΝΤΗΣ ΟΔΥΣΣΕΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ΜΑΡΙΟΣ ΨΙΑΧΟΣ ΧΡΗΣΤΟΣ

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

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

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

Δίκτυα Απευθείας Ζεύξης

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

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ SNMP

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

Εργαστηριακή Άσκηση 7 Πρωτόκολλα TCP και UDP

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

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

ΕΡΓΑΣΤΗΡΙΟ V IP ΔΙΕΥΘΥΝΣΕΙΣ

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

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

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

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

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

Εισαγωγή στο TCP/IP. Π. Γαλάτης

Εργαστήριο Wireshark: TCP

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Έλεγχος και Αποφυγή Συμφόρησης στο TCP. Δίκτυα Υπολογιστών

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

Εργαστηριακή Άσκηση 7 Πρωτόκολλα TCP και UDP

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

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 3 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ <sideris@epp.teiher.gr> <https://eclass2.teicrete.gr/courses/tp182/> ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ

ΠΡΩΤΟΚΟΛΛΟ ΕΛΕΓΧΟΥ ΜΕΤΑΔΟΣΗΣ (TRANSMISSION CONTROL PROTOCOL-TCP) 2

Γενικά (1) Προτυποποίηση το Σεπτέμβρη του 1981 (RFC 793). Σκοπός: Υπηρεσίες αξιόπιστης μετάδοσης δεδομένων μεταξύ διεργασιών που εδρεύουν σε απομακρυσμένους υπολογιστές. 3

Γενικά (2) Παρέχει: Έλεγχο για αλλοίωση επικεφαλίδας. Έλεγχο ρυθμού ροής/συμφόρησης. Υπηρεσίες σύνδεσης/τερματισμού. Αξιόπιστη μετάδοση. Δεν παρέχει: Ασφάλεια (π.χ. Κρυπτογράφηση payload) 4

TCP Επικεφαλίδα (1) Πηγή: http://www.faqs.org/rfcs/rfc793.html 5

TCP Επικεφαλίδα (2) Source/Destination (16 bits): Η θύρα του αποστολέα/παραλήπτη. Sequence number (32 bits): Ο αριθμός ακολουθίας του πρώτου byte δεδομένων σε ένα TCP τμήμα. Acknowledgment number(32 bits):υποδεικνύει την επόμενη ακολουθία από bytes που περιμένει ο αποστολέας του TCP μηνύματος. Data Offset(4 bits): Ο αριθμός των 32-bit λέξεων στη TCP επικεφαλίδα. Reserved (6 bits): Δεσμευμένο για μελλοντική χρήση. Control Bits (6 bits): Flags που αξιοποιούνται κατά τη TCP λειτουργία(syn, FIN, ACK, RST, URG, PSH). 6

TCP Επικεφαλίδα (3) Window (16 bits): Ο αριθμός των bytes που μπορεί να δεχθεί ο αποστολέας του TCP μηνύματος. Checksum (16 bits): Χρησιμοποιείται για τον έλεγχο αλλοίωσης του TCP μηνύματος. Urgent Pointer (16 bits): Υποδεικνύει τη θέση των δεδομένων μετά από τη urgent πληροφορία. Options (μεταβλητό): Επιπλέον επιλογές για το TCP πρωτόκολλο. Padding (μεταβλητό): Χρησιμοποιείται για τη αναγωγή της TCP επικεφαλίδας σε λέξεις των 32 bit. Μετά και αυτό το πεδίο ακολουθούν τα δεδομένα (payload). 7

TCP Λειτουργία Εγκατάστασης Σύνδεσης Κατά τη διάρκεια εγκατάστασης της σύνδεσης ανταλλάσσονται τα ISN καθώς και διάφοροι άλλοι παράμετροι όπως το MSS. Host A Host B SYN SN: 5001 SYN/ACK SN:9502 ACK:5002 ACK ACK:9503 Three way handshake & Initial Sequence Number (ISN ) 8

TCP Λειτουργία Απόλυσης Σύνδεσης Host A Host B FIN ACK FIN ACK TCP απόλυση σύνδεσης 9

Ερωτήσεις (Μπλιάχ!!) Τι τιμές πρέπει να έχουν τα SN και ACK στο παρακάτω σχήμα; Host A Host B SYN SN:? SYN/ACK SN:9998 ACK:8999 ACK ACK:? 10

Μηχανισμός Επιβεβαιώσεων στο TCP Οι επιβεβαιώσεις στο TCP εξασφαλίζουν την αξιόπιστη μετάδοση. Πώς; Ο παραλήπτης επιβεβαιώνει στο αποστολέα τα bytes που έχει λάβει. Για λόγους ταχύτητας ένα ack μπορεί να επιβεβαιώνει μια ομάδα από byte. Ο μηχανισμός των επιβεβαιώσεων δουλεύει συνήθως συσσωρευτικά. Το ACK με τιμή 2344 επιβεβαιώνει την ορθή λήψη των bytes 1-2343. Υπάρχει και ο μηχανισμός επιλεκτικών επιβεβαιώσεων (SACK). 11

TCP Sliding Window (1) Για τη μεταφορά των δεδομένων αξιοποιείται η τεχνική κυλιόμενου παράθυρου. Οι υπολογιστές για κάθε TCP κίνηση κρατάνε πληροφορίες για τα bytes που στέλνουνε και ta bytes που δέχονται. Δείκτες αποστολής: SND.UNA: Δείχνει το SN του πρώτου byte από τα συνολικά bytes που έχουν σταλθεί αλλά δεν έχουν ακόμα επιβεβαιωθεί. SND.NXT: Δείχνει το SN του επόμενου byte που πρόκειται να μεταδοθεί. SND.WND: Το μέγεθος του παράθυρου αποστολής. 12

TCP Sliding Window (2) Δείκτες λήψης: RCV.NXT: Δείχνει το SN του επόμενου byte που αναμένεται να ληφθεί. RCV.WND: Το μέγεθος του παράθυρου λήψης. Πεδία της TCP επικεφαλίδας που χρησιμοποιούνται από τους δείκτες: Sequence Number (SN) Acknowledgement Number (ACK) Window Η τιμή που έχει από ποιους δείκτες χρησιμοποιείται; 13

TCP Sliding Window (3) HOST A SETUP: ISN=3000, WND=200 SND.NXT:3001 SND.UNA:3001 SND.WND:300 RCV.NXT:6001 RCV.WND:200 C.WND:300 HOST B SETUP: ISN=6000, WND=300 SND.NXT:6001 SND.UNA:6001 SND.WND:200 RCV.NXT:3001 RCV.WND:300 C.WND:200 SND.NXT:3051 SND.UNA:3001 SND.WND:300 RCV.NXT:6001 RCV.WND:200 C.WND:250 Host A Length: 50 SN:3001 ACK:6001 Host B SND.NXT:6001 SND.UNA:6001 SND.WND:200 RCV.NXT:3051 RCV.WND:300 C.WND:200 SND.NXT:3051 SND.UNA:3051 SND.WND:300 RCV.NXT:6151 RCV.WND:200 C.WND:300 Length: 150 SN:6001 ACK:3051 SND.NXT:? SND.UNA:? SND.WND:? RCV.NXT:? RCV.WND:? C.WND;? 14

TCP Sliding Window (4) SND.NXT:3071 SND.UNA:3051 SND.WND:300 RCV.NXT:6151 RCV.WND:200 C.WND:280 Host A Length: 20 SN:3051 ACK:6151 Host B SND.NXT:6151 SND.UNA:6151 SND.WND:200 RCV.NXT:3071 RCV.WND:300 C.WND:200 SND.NXT:3071 SND.UNA:3071 SND.WND:300 RCV.NXT:6351 RCV.WND:200 C.WND:300 Υποθέστε ότι το μήνυμα ήταν 300 bytes. Γιατί δε τα έστειλε όλα; Length: 200 SN:6151 ACK:3071 SND.NXT:6351 SND.UNA:6151 SND.WND:200 RCV.NXT:3071 RCV.WND:300 C.WND:? SND.NXT:3071 SND.UNA:3071 SND.WND:300 RCV.NXT:6351 RCV.WND:200 C.WND:300 Length: 0 SN:- ACK:6351 SND.NXT:6351 SND.UNA:6351 SND.WND:200 RCV.NXT:3071 RCV.WND:300 C.WND:200 15

TCP Sliding Window (5) SND.NXT:3071 SND.UNA:3071 SND.WND:300 RCV.NXT:6451 RCV.WND:200 C.WND:300 Host A Length: 100 SN:6351 ACK:3071 Host B SND.NXT:6451 SND.UNA:6351 SND.WND:200 RCV.NXT:3071 RCV.WND:300 C.WND:100 SND.NXT:3071 SND.UNA:3071 SND.WND:300 RCV.NXT:6351 RCV.WND:200 C.WND:300 Length: 0 SN:- ACK:6451 SND.NXT:6451 SND.UNA:6451 SND.WND:200 RCV.NXT:3071 RCV.WND:300 C.WND:200 16

TCP μηχανισμός επανεκπομπών Κάθε tcp segment που εκπέμπεται αντιγράφεται σε μια ουρά. Για κάθε ένα από τα αντιγραμμένα segments εκκινεί ένα χρονόμετρο (timer). Εάν δε ληφθεί ack μέχρι να λήξει ο timer, το segment θεωρείται χαμένο και επανεκπέμπεται. Εάν το ack ληφθεί πρίν λήξει ο timer το segment αφαιρείται από την ουρά. 17

TCP χρονόμετρα επανεκπομπής Ο υπολογισμός βασίζεται στο μέσο RTT της κάθε TCP σύνδεσης. Περιγράφεται αναλυτικά στο RFC 2988. Για το υπολογισμό του μέσου RTT χρησιμοποιείται η εξής σχέση: New RTT = (a * Old RTT) + ( (1-a) * Newest RTT Measurement). Προβλήματα: Αμφισημία επιβεβαιώσεων. Λύση: Αλγόριθμος Karn. Απεμπλοκή RTT με χρονόμετρα επανεκπομπής σε περίπτωση απωλειών. 18

TCP έλεγχος ρυθμού ροής Ο έλεγχος ρυθμού ροής επιτυγχάνεται με το πεδίο Window ενός TCP segment. Η τιμή σε αυτό το πεδίο υποδεικνύει το αριθμό των bytes που μπορεί να ληφθεί χωρίς να γίνει υπερχείλιση στο buffer δεδομενων του παραλήπτη. Με άλλα λόγια: Μικρό window μικρός ρυθμός ροής. Μεγάλο window μεγάλος ρυθμός ροής. Η ειδική τιμή 0 στο window σταματάει τη μετάδοση δεδομένων. Ο ρυθμός ροής επιβεβαιώσεων επηρεάζει το ρυθμό ροής δεδομένων; 19

TCP & Διαχείριση συμφόρησης Οι μηχανισμοί διαχείρισης συμφόρησης περιγράφονται στο RFC 2581. Είναι οι: Slow start (Αργής Αρχής). Congestion Avoidance (Αποφυγής Συμφόρησης). Fast Retransmit (Γρήγορης Επανεκπομπής). Fast Recovery (Γρήγορης Επανάκτησης). 20

TCP Slow Start Μετά την εγκατάσταση της σύνδεσης: Ο αποστολέας στέλνει ένα tcp segment μεγέθους MSS. Μόλις πάρει επιβεβαίωση αυξάνει την ποσότητα των μεταδιδόμενων bytes κατά 1 MSS. Αυτό συνεχίζεται για κάθε επιβεβαίωση που δέχεται. Πότε σταματάμε; Όταν φτάσουμε τη τιμή του window του παραλήπτη. Εάν ανιχνευτεί συμφόρηση 21

TCP congestion avoidance Όταν ανιχνευτεί συμφόρηση: Το παράθυρο εκπομπής μειώνεται στο μισό του μεγέθους των δεδομένων που είναι ανεπιβεβαίωτα. πχ. Εάν ο αποστολέας έχει στείλει 1000 bytes και δεν έχει πάρει επιβεβαίωση το νέο παράθυρο εκπομπής είναι 500. Εκκινεί από τη αρχή το slow start μέχρι να φτάσει το νεό παράθυρο εκπομπής. Απο εκεί και μετά το παράθυρο εκπομπής αυξάνει γραμμικά μέχρι να γίνει ίσο με το window του παραλήπτη (1 MSS ανά RTT). 22

TCP Fast Retransmit Υποθέστε ότι ένας αποστολέας στέλνει τα segments 2,3,4,5,6 με χρονική διαφορά t. Υποθέστε ότι ο παραλήπτης παίρνει το 2 και το επιβεβαιώνει. Έπειτα παίρνει το 4. Μπορεί να στείλει πίσω ένα ack που να λέει περιμένω το 3. Έπειτα παίρνει το 5. Μπορεί να στείλει πίσω ένα ack που να λέει περιμένω το 3. Έπειτα παίρνει το 6 Μπορεί να στείλει πίσω ένα ack που να λέει περιμένω το 3. Ο αποστολέας μπορεί να συνάγει ότι το 3 έχει χαθεί και το ξαναστέλνει χωρίς να περιμένει τη λήξη του χρονόμετρου επανεκπομπής. 23

TCP Fast Recovery Όταν έχει fast retransmit μειώνουμε πάλι το παράθυρο εκπομπής στο μισό των ανεπιβεβαιώτων δεδομένων. Δεν εκκινείται όμως το slow start. Βάση αυτής της τιμής στέλνουμε δεδομένα αυξάνοντας γραμμικά το παράθυρο εκπομπής μέχρι να φτάσουμε το window του παραλήπτη. 24

ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΔΙΚΤΥΟΥ ΕΚΔΟΣΗΣ 6 (INTERNET PROTOCOL version 6-IPv6) 25

Εισαγωγή Γιατί Ipv6; Οι διευθύνσεις στο IPv4 δεν είναι αρκετές για να καλύψουν όλες τις δικτυακές συσκευές. Η χρήση προσωρινών λύσεων όπως το NAT επιβαρύνουν τη λειτουργία δρομολογητών. Δεν έχει εγγενής υποστήριξη λειτουργιών για QoS, Security και mobility. Περιγράφεται στο RFC 2460 26

IPv6 Επικεφαλίδα (1) Πηγή: http://www.ietf.org/rfc/rfc2460.txt 27

IPv6 Επικεφαλίδα (2) Version(4 bit): Έκδοση του πρωτοκόλλου (τιμή 6) Traffic Class (8 bit): Χρησιμοποιείται για QoS. Flow Label(20 bit): Mαρκάρισμα ροών. Payload Length (16 bit): Μέγεθος ωφέλιμου φορτίου. Next Header (8 bit): Καθορίζει την επικεφαλίδα που ακολουθεί Hop Limit (8 bit): Ανάλογο του TTL στο Ipv4. Source/Destination Address (128 bit): Οι διευθύνσεις αποστολέα/παραλήπτη αντίστοιχα. 28

IPv6 Επικεφαλίδα (3) Σταθερή επικεφαλίδα μεγέθους 40 bytes σε αντίθεση με το IPv4 που κυμαίνεται από 20-60 bytes. Τα πεδία Traffic Class και Flow Label δίνουν τη δυνατότητα χρήσης και καλύτερης αξιοποίησης QoS μηχανισμών (DiffServ). Η αξιοποίηση του πεδίου next header μειώνει το φόρτο εργασίας στους δρομολογητές καθώς δε χρειάζεται να επεξεργαστούν αυτά τα πεδία εάν δεν είναι απαραίτητο. Για το checksum (που υπήρχε στο IPv4) τι έχετε να πείτε; 29

IPv6 διευθύνσεις (1) Unicast: Αντιπροσωπεύει μία δικτυακή διεπαφή. Anycast: Αντιπροσωπεύει ένα σύνολο από δικτυακές διεπαφές. Ένα πακέτο που αποστέλλεται σε μια διεύθυνση anycast παραδίδεται στη διεργασία της κοντινότερης διεπαφής. Multicast: Αντιπροσωπεύει ένα σύνολο από δικτυακές διεπαφές. Ένα πακέτο που αποστέλλεται σε μια διεύθυνση multicast παραδίδεται σε όλες τις διεπαφές που προσδιορίζονται από την διεύθυνση αυτή. 30

IPv6 Επικεφαλίδα (3) Σταθερή επικεφαλίδα μεγέθους 40 bytes σε αντίθεση με το IPv4 που κυμαίνεται από 20-60 bytes. Τα πεδία Traffic Class και Flow Label δίνουν τη δυνατότητα χρήσης και καλύτερης αξιοποίησης QoS μηχανισμών (DiffServ). Η αξιοποίηση του πεδίου next header μειώνει το φόρτο εργασίας στους δρομολογητές καθώς δε χρειάζεται να επεξεργαστούν αυτά τα πεδία εάν δεν είναι απαραίτητο. Για το checksum (που υπήρχε στο IPv4) τι έχετε να πείτε; 31

IPv6 διευθύνσεις (1) Unicast: Αντιπροσωπεύει μία δικτυακή διεπαφή. Anycast: Αντιπροσωπεύει ένα σύνολο από δικτυακές διεπαφές. Ένα πακέτο που αποστέλλεται σε μια διεύθυνση anycast παραδίδεται στη διεργασία της κοντινότερης διεπαφής. Multicast: Αντιπροσωπεύει ένα σύνολο από δικτυακές διεπαφές. Ένα πακέτο που αποστέλλεται σε μια διεύθυνση multicast παραδίδεται σε όλες τις διεπαφές που προσδιορίζονται από την διεύθυνση αυτή. 32

IPv6 διευθύνσεις (2) Πάράδειγμα IPv6 διεύθυνσης: 2001:db8:100:f101:210:a4ff:fee3:9566/64 Τα πρώτα 64 bits ορίζουν το δίκτυο ενώ τελευταία 64 τον υπολογιστή. Είδη διευθύνσεων: Link local Address: Ξεκινάνε με fe8x:(αυτή χρησιμοποιείται συνήθως), fe9x:, feax:, febx:. Unique Local IPv6 Unicast Addresses: Ξεκινάνε με fcxx:(αυτή χρησιμοποιείται συνήθως), fdxx:. Global IPv6 Unicast Addresses: Ξεκινάνε με 2xxx:(αυτή χρησιμοποιείται συνήθως), 3xxx:. 33

IPv6 διευθύνσεις (3) Είδη διευθύνσεων: 6Bone test Address: Ξεκινάνε με 3ffe:. IPv6 Multicast Addresses: Ξεκινάνε με ffxy: ffx1: τα πακέτα δε φεύγουν από το κόμβο. ffx2: τα πακέτα δε προωθούνται από τους δρομολογητές. ffxe: παγκόσμιες. 34

Παράδειγμα IPv6 σε υπολογιστή (1) 35

Παράδειγμα IPv6 σε υπολογιστή (2) 36

ΒΙΒΛΙΟΓΡΑΦΙΑ "Δίκτυα Υπολογιστών", A.S. Tanenbaum, Εκδόσεις Παπασωτηρίου, 3η έκδοση. The TCP/IP GUIDE 2003-2005 Charles M. Kozierok. All Rights Reserved. http://www.tcpipguide.com/free/index.htm IPv6 tutorial: http://tldp.org/howto/html_single/linux+ipv6-howto/ RFCs http://www.ietf.org/rfc.html 37